diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsProductPutController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsProductPutController.java
index 40699b08..97db642e 100644
--- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsProductPutController.java
+++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsProductPutController.java
@@ -6,6 +6,7 @@ import javax.servlet.http.HttpServletResponse;
 
 import com.op.system.api.domain.wms.wmsReportWork;
 
+import com.op.wms.domain.WmsProductProductionRecords;
 import com.op.wms.domain.WmsProductPut;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
@@ -136,6 +137,11 @@ public class WmsProductPutController extends BaseController {
         String rlist = wmsProductPutService.addReportListSap(mesReportWork);
         return AjaxResult.success(rlist);
     }
-
-
+    //查询--成品生产记录
+    @GetMapping("/selectProductProductionRecords")
+    public TableDataInfo selectProductProductionRecords(WmsProductProductionRecords wmsProductProductionRecords) {
+        startPage();
+        List<WmsProductProductionRecords>       result= wmsProductPutService.selectProductProductionRecords(wmsProductProductionRecords);
+        return getDataTable(result);
+    }
 }
diff --git a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java
index 27fee112..1751ad7d 100644
--- a/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java
+++ b/op-modules/op-wms/src/main/java/com/op/wms/controller/WmsToWCSmissionController.java
@@ -631,9 +631,15 @@ public class WmsToWCSmissionController {
     //保存--成品生产记录
     @PostMapping("/finishedProductProductionRecords")
     public AjaxResult finishedProductProductionRecords(@RequestBody   ProOrderWorkorder proOrderWorkorder) {
-        List<ProOrderWorkorder> list = wmsProductPutService.listProOrderWorkorder(proOrderWorkorder);
-        return success(list);
+     Integer    result= wmsProductPutService.finishedProductProductionRecords(proOrderWorkorder);
+        return success(result);
     }
+//    //查询--成品生产记录
+//    @PostMapping("/selectProductProductionRecords")
+//    public AjaxResult selectProductProductionRecords(@RequestBody   WmsProductProductionRecords wmsProductProductionRecords) {
+//        List<WmsProductProductionRecords>       result= wmsProductPutService.selectProductProductionRecords(wmsProductProductionRecords);
+//        return success(result);
+//    }
     /**
      * 成品自动码垛完以后,RGV 接驳要入库的托盘,扫描 RFID 号,请求 WMS 获取入库托盘信息。
      * 触发时机:扫描 RFID 编码,进行入库
diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/ProOrderWorkorder.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/ProOrderWorkorder.java
index 66f67724..06478d04 100644
--- a/op-modules/op-wms/src/main/java/com/op/wms/domain/ProOrderWorkorder.java
+++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/ProOrderWorkorder.java
@@ -113,7 +113,11 @@ public class ProOrderWorkorder extends TreeEntity {
      */
     @Excel(name = "产线编码")
     private String prodLineCode;
-
+    /**
+     * 产线编码
+     */
+    @Excel(name = "产线名称")
+    private String prodLineName;
     /**
      * 工单生产日期
      */
@@ -179,6 +183,24 @@ public class ProOrderWorkorder extends TreeEntity {
      */
     @Excel(name = "产品类型")
     private String prodType;
+    @Excel(name = "托盘")
+    private String sn;
+
+    public String getProdLineName() {
+        return prodLineName;
+    }
+
+    public void setProdLineName(String prodLineName) {
+        this.prodLineName = prodLineName;
+    }
+
+    public String getSn() {
+        return sn;
+    }
+
+    public void setSn(String sn) {
+        this.sn = sn;
+    }
 
     /**
      * 是否为底层节点 1是 0不是
@@ -186,6 +208,16 @@ public class ProOrderWorkorder extends TreeEntity {
     @Excel(name = "是否为底层节点")
     private Integer endFlag;
 
+    private String quantity;
+
+    public String getQuantity() {
+        return quantity;
+    }
+
+    public void setQuantity(String quantity) {
+        this.quantity = quantity;
+    }
+
     public Integer getEndFlag() {
         return endFlag;
     }
diff --git a/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsProductProductionRecords.java b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsProductProductionRecords.java
new file mode 100644
index 00000000..c91f73e0
--- /dev/null
+++ b/op-modules/op-wms/src/main/java/com/op/wms/domain/WmsProductProductionRecords.java
@@ -0,0 +1,258 @@
+package com.op.wms.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.op.common.core.annotation.Excel;
+import com.op.common.core.web.domain.BaseEntity;
+
+
+import java.util.Date;
+
+public class WmsProductProductionRecords extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    private String id;
+
+
+    private String siteCode;
+    /**
+     * 生产工单号
+     */
+    @Excel(name = "生产工单号")
+    private String productOrder;
+
+    /**
+     * 产品名称
+     */
+    @Excel(name = "产品名称")
+    private String productName;
+
+    /**
+     * 产品编码
+     */
+    @Excel(name = "产品编码")
+    private String productCode;
+
+    /**
+     * 仓库编码
+     */
+    @Excel(name = "仓库编码")
+    private String whCode;
+
+    /**
+     * 库区编码
+     */
+    @Excel(name = "库区编码")
+    private String waCode;
+
+    /**
+     * 库位编码
+     */
+    @Excel(name = "库位编码")
+    private String wlCode;
+
+    /**
+     * 托盘号
+     */
+    @Excel(name = "托盘号")
+    private String sn;
+
+    /**
+     * 箱数
+     */
+    @Excel(name = "数量")
+    private String quantity;
+
+    /**
+     * 预留字段1
+     */
+    @Excel(name = "预留字段1")
+    private String userDefined1;
+
+    /**
+     * 预留字段2
+     */
+    @Excel(name = "预留字段2")
+    private String userDefined2;
+
+    /**
+     * 预留字段3
+     */
+    @Excel(name = "预留字段3")
+    private String userDefined3;
+
+    /**
+     * 预留字段4
+     */
+    @Excel(name = "预留字段4")
+    private String userDefined4;
+
+    /**
+     * 预留字段5
+     */
+    @Excel(name = "预留字段5")
+    private String userDefined5;
+    @Excel(name = "批次")
+    private String batchCode;
+    @Excel(name = "产线名称")
+    private String lineName;
+    @Excel(name = "产线编号")
+    private String lineCode;
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "日期")
+    private Date productDate;
+
+    public String getSiteCode() {
+        return siteCode;
+    }
+
+    public void setSiteCode(String siteCode) {
+        this.siteCode = siteCode;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getProductOrder() {
+        return productOrder;
+    }
+
+    public void setProductOrder(String productOrder) {
+        this.productOrder = productOrder;
+    }
+
+    public String getProductName() {
+        return productName;
+    }
+
+    public void setProductName(String productName) {
+        this.productName = productName;
+    }
+
+    public String getProductCode() {
+        return productCode;
+    }
+
+    public void setProductCode(String productCode) {
+        this.productCode = productCode;
+    }
+
+    public String getWhCode() {
+        return whCode;
+    }
+
+    public void setWhCode(String whCode) {
+        this.whCode = whCode;
+    }
+
+    public String getWaCode() {
+        return waCode;
+    }
+
+    public void setWaCode(String waCode) {
+        this.waCode = waCode;
+    }
+
+    public String getWlCode() {
+        return wlCode;
+    }
+
+    public void setWlCode(String wlCode) {
+        this.wlCode = wlCode;
+    }
+
+    public String getSn() {
+        return sn;
+    }
+
+    public void setSn(String sn) {
+        this.sn = sn;
+    }
+
+    public String getQuantity() {
+        return quantity;
+    }
+
+    public void setQuantity(String quantity) {
+        this.quantity = quantity;
+    }
+
+    public String getUserDefined1() {
+        return userDefined1;
+    }
+
+    public void setUserDefined1(String userDefined1) {
+        this.userDefined1 = userDefined1;
+    }
+
+    public String getUserDefined2() {
+        return userDefined2;
+    }
+
+    public void setUserDefined2(String userDefined2) {
+        this.userDefined2 = userDefined2;
+    }
+
+    public String getUserDefined3() {
+        return userDefined3;
+    }
+
+    public void setUserDefined3(String userDefined3) {
+        this.userDefined3 = userDefined3;
+    }
+
+    public String getUserDefined4() {
+        return userDefined4;
+    }
+
+    public void setUserDefined4(String userDefined4) {
+        this.userDefined4 = userDefined4;
+    }
+
+    public String getUserDefined5() {
+        return userDefined5;
+    }
+
+    public void setUserDefined5(String userDefined5) {
+        this.userDefined5 = userDefined5;
+    }
+
+    public String getBatchCode() {
+        return batchCode;
+    }
+
+    public void setBatchCode(String batchCode) {
+        this.batchCode = batchCode;
+    }
+
+    public String getLineName() {
+        return lineName;
+    }
+
+    public void setLineName(String lineName) {
+        this.lineName = lineName;
+    }
+
+    public String getLineCode() {
+        return lineCode;
+    }
+
+    public void setLineCode(String lineCode) {
+        this.lineCode = lineCode;
+    }
+
+    public Date getProductDate() {
+        return productDate;
+    }
+
+    public void setProductDate(Date productDate) {
+        this.productDate = productDate;
+    }
+}
diff --git a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsProductPutRecordsMapper.java b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsProductPutRecordsMapper.java
index 4189eade..6d9eb8ae 100644
--- a/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsProductPutRecordsMapper.java
+++ b/op-modules/op-wms/src/main/java/com/op/wms/mapper/WmsProductPutRecordsMapper.java
@@ -2,6 +2,7 @@ package com.op.wms.mapper;
 
 import java.util.List;
 
+import com.op.wms.domain.WmsProductProductionRecords;
 import com.op.wms.domain.WmsProductPutRecords;
 
 /**
@@ -58,4 +59,8 @@ public interface WmsProductPutRecordsMapper {
      * @return 结果
      */
     public int deleteWmsProductPutRecordsByIds(String[] ids);
+
+    Integer insertProductProductionRecord(WmsProductProductionRecords wmsProductProductionRecords);
+
+    List<WmsProductProductionRecords> selectProductProductionRecords(WmsProductProductionRecords wmsProductProductionRecords);
 }
diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java
index 114b75f0..6535ef55 100644
--- a/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java
+++ b/op-modules/op-wms/src/main/java/com/op/wms/service/IWmsProductPutService.java
@@ -134,4 +134,8 @@ public interface IWmsProductPutService {
     List<BaseEquipment> selectBaseEquipmentList(BaseEquipment baseEquipment);
 
     List<ProOrderWorkorder> listProOrderWorkorder(ProOrderWorkorder proOrderWorkorder);
+
+    Integer finishedProductProductionRecords(ProOrderWorkorder proOrderWorkorder);
+
+    List<WmsProductProductionRecords> selectProductProductionRecords(WmsProductProductionRecords wmsProductProductionRecords);
 }
diff --git a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java
index b81c5963..7db9a07a 100644
--- a/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java
+++ b/op-modules/op-wms/src/main/java/com/op/wms/service/impl/WmsProductPutServiceImpl.java
@@ -997,6 +997,36 @@ public class WmsProductPutServiceImpl implements IWmsProductPutService {
         return workorderList;
     }
 
+    @Override
+    public Integer finishedProductProductionRecords(ProOrderWorkorder proOrderWorkorder) {
+        DynamicDataSourceContextHolder.push("ds_" + proOrderWorkorder.getFactoryCode());
+        WmsProductProductionRecords wmsProductProductionRecords=new WmsProductProductionRecords();
+        wmsProductProductionRecords.setSiteCode(proOrderWorkorder.getFactoryCode());
+        wmsProductProductionRecords.setId(IdUtils.fastSimpleUUID());
+        wmsProductProductionRecords.setSn(proOrderWorkorder.getSn());
+        wmsProductProductionRecords.setQuantity(proOrderWorkorder.getQuantity());
+        wmsProductProductionRecords.setBatchCode(proOrderWorkorder.getBatchCode());
+        wmsProductProductionRecords.setProductOrder(proOrderWorkorder.getWorkorderCodeSap());
+        wmsProductProductionRecords.setProductCode(proOrderWorkorder.getProductCode());
+        wmsProductProductionRecords.setProductName(proOrderWorkorder.getProductName());
+        wmsProductProductionRecords.setProductDate(new Date());
+        wmsProductProductionRecords.setLineName(proOrderWorkorder.getProdLineName());
+        wmsProductProductionRecords.setLineCode(proOrderWorkorder.getProdLineCode());
+        wmsProductProductionRecords.setCreateBy(proOrderWorkorder.getCreateBy());
+        wmsProductProductionRecords.setCreateTime(new Date());
+       Integer    result= wmsProductPutRecordsMapper.insertProductProductionRecord(wmsProductProductionRecords);
+        return result;
+    }
+
+    @Override
+    @DS("#header.poolName")
+    public List<WmsProductProductionRecords> selectProductProductionRecords(WmsProductProductionRecords wmsProductProductionRecords) {
+     //   DynamicDataSourceContextHolder.push("ds_" + wmsProductProductionRecords.getSiteCode());
+
+        List<WmsProductProductionRecords>   records=    wmsProductPutRecordsMapper.selectProductProductionRecords(wmsProductProductionRecords);
+        return records;
+    }
+
     @Override
     public List<WmsRuturnPutEmbryo> FinishedProductSalesReturn(WmsRuturnPutEmbryo wmsRuturnPutEmbryo) {
         DynamicDataSourceContextHolder.push("ds_" + wmsRuturnPutEmbryo.getFactoryCode());
diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutRecordsMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutRecordsMapper.xml
index 35e85c6b..c1791b42 100644
--- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutRecordsMapper.xml
+++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutRecordsMapper.xml
@@ -139,4 +139,106 @@
             #{id}
         </foreach>
     </delete>
+    <insert id="insertProductProductionRecord">
+        insert into wms_product_production_records
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="productOrder != null">product_order,</if>
+            <if test="productName != null">product_name,</if>
+            <if test="productCode != null">product_code,</if>
+            <if test="whCode != null">wh_code,</if>
+            <if test="waCode != null">wa_code,</if>
+            <if test="wlCode != null">wl_code,</if>
+            <if test="sn != null">sn,</if>
+
+            <if test="userDefined1 != null">user_defined1,</if>
+            <if test="userDefined2 != null">user_defined2,</if>
+            <if test="userDefined3 != null">user_defined3,</if>
+            <if test="userDefined4 != null">user_defined4,</if>
+            <if test="userDefined5 != null">user_defined5,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="batchCode != null">batch_code,</if>
+            <if test="quantity != null">quantity,</if>
+            <if test="lineName != null">lineName,</if>
+            <if test="lineCode != null">lineCode,</if>
+            <if test="productDate != null">product_date,</if>
+            <if test="siteCode != null">siteCode,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="productOrder != null">#{productOrder},</if>
+            <if test="productName != null">#{productName},</if>
+            <if test="productCode != null">#{productCode},</if>
+            <if test="whCode != null">#{whCode},</if>
+            <if test="waCode != null">#{waCode},</if>
+            <if test="wlCode != null">#{wlCode},</if>
+            <if test="sn != null">#{sn},</if>
+
+            <if test="userDefined1 != null">#{userDefined1},</if>
+            <if test="userDefined2 != null">#{userDefined2},</if>
+            <if test="userDefined3 != null">#{userDefined3},</if>
+            <if test="userDefined4 != null">#{userDefined4},</if>
+            <if test="userDefined5 != null">#{userDefined5},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="batchCode != null">#{batchCode},</if>
+            <if test="quantity != null">#{quantity},</if>
+            <if test="lineName != null">#{lineName},</if>
+            <if test="lineCode != null">#{lineCode},</if>
+            <if test="productDate != null">#{productDate},</if>
+            <if test="siteCode != null">#{siteCode},</if>
+        </trim>
+    </insert>
+    <select id="selectProductProductionRecords"     resultType="com.op.wms.domain.WmsProductProductionRecords">
+
+        SELECT
+            id,
+            product_order   AS  productOrder,
+            product_name    AS  productName,
+            product_code    AS  productCode,
+            wh_code AS  whCode,
+            wa_code AS  waCode,
+            wl_code AS  wlCode,
+            sn,
+            user_defined1   AS  userDefined1,
+            user_defined2   AS  userDefined2,
+            user_defined3   AS  userDefined3,
+            user_defined4   AS  userDefined4,
+            user_defined5   AS  userDefined5,
+            create_by   AS createBy,
+            create_time AS createTime,
+            update_by   AS updateBy,
+            batch_code  AS batchCode,
+            quantity,
+            lineName,
+            lineCode  ,
+            product_date    AS productDate,
+            siteCode,
+            update_time AS updateTime
+        FROM
+            wms_product_production_records
+        <where>
+            <if test="id != null  and id != ''">and id = #{id}</if>
+            <if test="productOrder != null  and productOrder != ''">and product_order     like concat('%', #{productOrder},
+                '%')</if>
+            <if test="productName != null  and productName != ''">and product_name   like concat('%', #{productName},
+                '%') </if>
+            <if test="productCode != null  and productCode != ''">and product_code    like concat('%', #{productCode},
+                '%')</if>
+            <if test="sn != null  and sn != ''">and sn = #{sn}</if>
+            <if test="createBy != null  and createBy != ''">and create_by = #{createBy}</if>
+            <if test="batchCode != null  and batchCode != ''">and batch_code    like concat('%', #{batchCode},
+                '%')</if>
+            <if test="quantity != null  and quantity != ''">and quantity = #{quantity}</if>
+            <if test="lineName != null  and lineName != ''">and lineName = #{lineName}</if>
+            <if test="lineCode != null  and lineCode != ''">and lineCode = #{lineCode}</if>
+            <if test="productDate != null  ">and    product_date= #{productDate}</if>
+            <if test="siteCode != null  and siteCode != ''">and siteCode = #{siteCode}</if>
+        </where>
+    </select>
 </mapper>