From 3de79aa249b8bbe672a6483815b3cd057d9d3b6c Mon Sep 17 00:00:00 2001
From: xumiao <1365304440@qq.com>
Date: Mon, 31 Oct 2022 18:10:01 +0800
Subject: [PATCH] 金蝶回传测试

---
 src/main/java/com/huaheng/api/jindie/InvokeHelper.java                             |  52 ++++++++++++++++++++++++++++------------------------
 src/main/java/com/huaheng/api/jindie/domain/purchaseReturn/PurchaseReturnSave.java |  10 ++++++++++
 src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java                          | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java    |  16 ++++++++++++++++
 src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java    |  28 ++++++++++++++++++++++++++++
 src/main/resources/mybatis/shipment/ShipmentDetailMapper.xml                       |   4 ++--
 6 files changed, 209 insertions(+), 26 deletions(-)

diff --git a/src/main/java/com/huaheng/api/jindie/InvokeHelper.java b/src/main/java/com/huaheng/api/jindie/InvokeHelper.java
index c6da1ef..42a2c5f 100644
--- a/src/main/java/com/huaheng/api/jindie/InvokeHelper.java
+++ b/src/main/java/com/huaheng/api/jindie/InvokeHelper.java
@@ -19,6 +19,7 @@ import com.huaheng.common.exception.service.ServiceException;
 import com.huaheng.common.support.Convert;
 import com.huaheng.common.utils.DateUtils;
 import com.huaheng.common.utils.StringUtils;
+import com.huaheng.framework.aspectj.lang.annotation.ApiLogger;
 import com.huaheng.pc.config.location.domain.Location;
 import com.huaheng.pc.config.location.service.LocationService;
 import com.huaheng.pc.config.supplier.domain.Supplier;
@@ -211,15 +212,15 @@ public class InvokeHelper {
 
     /**
      * 直接调拨单保存
-     * @param code  WMS自己单据编号
+     * @param referCode  ERP单号
      * @param FSrcStockId   调出仓库编码
      * @param FDestStockId    调入仓库编码
      * @throws Exception
      */
     @Transactional(rollbackFor = Exception.class)
-    public void allocateSave(String code,String FSrcStockId,String FDestStockId) throws Exception {
-        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getCode, code));
-        List<ShipmentDetail> shipmentDetails = shipmentDetailService.list(new LambdaQueryWrapper<ShipmentDetail>().eq(ShipmentDetail::getShipmentCode, code));
+    public void allocateSave(String referCode,String FSrcStockId,String FDestStockId) throws Exception {
+        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getReferCode, referCode));
+        List<ShipmentDetail> shipmentDetails = shipmentDetailService.list(new LambdaQueryWrapper<ShipmentDetail>().eq(ShipmentDetail::getReferCode, referCode));
 
         Allocate allocate = newInstanceAllocateBatchSave();
 
@@ -256,12 +257,12 @@ public class InvokeHelper {
         shipmentHeader.setUserDef1(id.toString());
         shipmentHeader.setUserDef2(number);
         shipmentHeaderService.updateById(shipmentHeader);
-        System.out.println("allocateSave:"+"单号"+code+"成功!");
+        System.out.println("allocateSave:"+"单号"+referCode+"成功!");
     }
 
     //直接调拨单提交
-    public void allocateSubmit(String code) throws Exception {
-        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getCode, code));
+    public void allocateSubmit(String referCode) throws Exception {
+        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getReferCode, referCode));
         PurchasePush purchasePush=new PurchasePush();
         purchasePush.setFormid("STK_TransferDirect");
         PurchasePushData purchasePushData = new PurchasePushData();
@@ -269,12 +270,12 @@ public class InvokeHelper {
         purchasePush.getData().setIds(shipmentHeader.getUserDef1());
         JSONObject jsonObject = (JSONObject) JSONObject.toJSON(purchasePush);
         Invoke(JinDieApiUri.ALLOCATE_SUBMIT.getApiUri(), jsonObject);
-        System.out.println("allocateSubmit:"+"单号"+code+"成功!");
+        System.out.println("allocateSubmit:"+"单号"+referCode+"成功!");
     }
 
     //直接调拨单审核
-    public void allocateAudit(String code) throws Exception {
-        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getCode, code));
+    public void allocateAudit(String referCode) throws Exception {
+        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getReferCode, referCode));
         PurchasePush purchasePush=new PurchasePush();
         purchasePush.setFormid("STK_TransferDirect");
         PurchasePushData purchasePushData = new PurchasePushData();
@@ -282,7 +283,7 @@ public class InvokeHelper {
         purchasePush.getData().setIds(shipmentHeader.getUserDef1());
         JSONObject jsonObject = (JSONObject) JSONObject.toJSON(purchasePush);
         Invoke(JinDieApiUri.ALLOCATE_AUDIT.getApiUri(), jsonObject);
-        System.out.println("allocateAudit:"+"单号"+code+"成功!");
+        System.out.println("allocateAudit:"+"单号"+referCode+"成功!");
     }
 
     /**
@@ -291,9 +292,9 @@ public class InvokeHelper {
      */
 
     //采购退货单保存
-    public void purchase_return_save(String code) throws Exception {
-        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getCode, code));
-        List<ShipmentDetail> shipmentDetails = shipmentDetailService.list(new LambdaQueryWrapper<ShipmentDetail>().eq(ShipmentDetail::getShipmentCode, code));
+    public void purchase_return_save(String referCode) throws Exception {
+        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getReferCode, referCode));
+        List<ShipmentDetail> shipmentDetails = shipmentDetailService.list(new LambdaQueryWrapper<ShipmentDetail>().eq(ShipmentDetail::getReferCode, referCode));
 
         PurchaseReturnSave purchaseReturnSave = newInstancePurchaseReturnSave();
 
@@ -303,22 +304,25 @@ public class InvokeHelper {
         purchaseReturnSave.getData().getModel().setFId(shipmentHeader.getUserDef1());
 
         shipmentDetails.forEach((shipmentDetail)->{
-            if(StringUtils.isNotEmpty(shipmentHeader.getUserDef1())&&StringUtils.isNotEmpty(shipmentHeader.getUserDef2())&&StringUtils.isNotEmpty(shipmentDetail.getUserDef1())){
+            //if(StringUtils.isNotEmpty(shipmentHeader.getUserDef1())&&StringUtils.isNotEmpty(shipmentHeader.getUserDef2())&&StringUtils.isNotEmpty(shipmentDetail.getUserDef1())){
                 PurchaseReturnSave.DataDTO.ModelDTO.FPURMRBENTRYDTO fpurmrbentrydto = new PurchaseReturnSave.DataDTO.ModelDTO.FPURMRBENTRYDTO();
-                fpurmrbentrydto.setFEntryID(shipmentDetail.getUserDef1());
+                PurchaseReturnSave.DataDTO.ModelDTO.FPURMRBENTRYDTO.FMaterialIdDTO fMaterialIdDTO = new PurchaseReturnSave.DataDTO.ModelDTO.FPURMRBENTRYDTO.FMaterialIdDTO();
+                fpurmrbentrydto.setFEntryID(shipmentDetail.getLineId());
                 fpurmrbentrydto.setFrmrealqty(shipmentDetail.getShipQty());
+                fMaterialIdDTO.setFNumber(shipmentDetail.getMaterialCode());
+                fpurmrbentrydto.setFMaterialId(fMaterialIdDTO);
                 fpurmrbentrydtos.add(fpurmrbentrydto);
                 purchaseReturnSave.getData().getModel().setFpurmrbentry(fpurmrbentrydtos);
-            }
+           // }
         });
         JSONObject jsonObject = (JSONObject) JSONObject.toJSON(purchaseReturnSave);
         Invoke(JinDieApiUri.PURCHASE_RETURN_SAVE.getApiUri(), jsonObject);
-        System.out.println("PURCHASE_RETURN_SAVE:"+"单号"+code+"成功!");
+        System.out.println("PURCHASE_RETURN_SAVE:"+"单号"+referCode+"成功!");
     }
 
     //采购退货单提交
-    public void purchase_return_submit(String code) throws Exception {
-        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getCode, code));
+    public void purchase_return_submit(String referCode) throws Exception {
+        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getReferCode, referCode));
         PurchasePush purchasePush=new PurchasePush();
         purchasePush.setFormid("PUR_MRB");
         PurchasePushData purchasePushData = new PurchasePushData();
@@ -326,12 +330,12 @@ public class InvokeHelper {
         purchasePush.getData().setIds(shipmentHeader.getUserDef1());
         JSONObject jsonObject = (JSONObject) JSONObject.toJSON(purchasePush);
         Invoke(JinDieApiUri.PURCHASE_RETURN_SUBMIT.getApiUri(), jsonObject);
-        System.out.println("PURCHASE_RETURN_SUBMIT:"+"单号"+code+"成功!");
+        System.out.println("PURCHASE_RETURN_SUBMIT:"+"单号"+referCode+"成功!");
     }
 
     //采购退货单审核
-    public void purchase_return_audit(String code) throws Exception {
-        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getCode, code));
+    public void purchase_return_audit(String referCode) throws Exception {
+        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(new LambdaQueryWrapper<ShipmentHeader>().eq(ShipmentHeader::getReferCode, referCode));
         PurchasePush purchasePush=new PurchasePush();
         purchasePush.setFormid("PUR_MRB");
         PurchasePushData purchasePushData = new PurchasePushData();
@@ -339,7 +343,7 @@ public class InvokeHelper {
         purchasePush.getData().setIds(shipmentHeader.getUserDef1());
         JSONObject jsonObject = (JSONObject) JSONObject.toJSON(purchasePush);
         Invoke(JinDieApiUri.PURCHASE_RETURN_AUDIT.getApiUri(), jsonObject);
-        System.out.println("PURCHASE_RETURN_AUDIT:"+"单号"+code+"成功!");
+        System.out.println("PURCHASE_RETURN_AUDIT:"+"单号"+referCode+"成功!");
     }
 
     //仓位值查询:用于直接调拨单
diff --git a/src/main/java/com/huaheng/api/jindie/domain/purchaseReturn/PurchaseReturnSave.java b/src/main/java/com/huaheng/api/jindie/domain/purchaseReturn/PurchaseReturnSave.java
index 7d4be18..2a90fa7 100644
--- a/src/main/java/com/huaheng/api/jindie/domain/purchaseReturn/PurchaseReturnSave.java
+++ b/src/main/java/com/huaheng/api/jindie/domain/purchaseReturn/PurchaseReturnSave.java
@@ -1,6 +1,7 @@
 package com.huaheng.api.jindie.domain.purchaseReturn;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.huaheng.api.jindie.domain.purchase.PurchaseBatchSave;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
@@ -40,6 +41,15 @@ public class PurchaseReturnSave {
                 private String fEntryID;
                 @JsonProperty("FRMREALQTY")
                 private BigDecimal frmrealqty;
+                @JsonProperty("FMaterialId")
+                private FMaterialIdDTO fMaterialId;
+
+                @NoArgsConstructor
+                @Data
+                public static class FMaterialIdDTO {
+                    @JsonProperty("FNumber")
+                    private String fNumber;
+                }
             }
         }
     }
diff --git a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
index 015cb47..d4f64c1 100644
--- a/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
+++ b/src/main/java/com/huaheng/pc/monitor/job/task/RyTask.java
@@ -39,8 +39,17 @@ import com.huaheng.pc.monitor.job.service.IJobLogService;
 import com.huaheng.pc.monitor.operlog.service.IOperLogService;
 import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader;
 import com.huaheng.pc.receipt.receiptContainerHeader.service.ReceiptContainerHeaderService;
+import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
+import com.huaheng.pc.receipt.receiptDetail.service.ReceiptDetailService;
+import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
+import com.huaheng.pc.receipt.receiptHeader.service.ReceiptHeaderService;
 import com.huaheng.pc.shipment.shipmentContainerHeader.domain.ShipmentContainerHeader;
 import com.huaheng.pc.shipment.shipmentContainerHeader.service.ShipmentContainerHeaderService;
+import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
+import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailService;
+import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
+import com.huaheng.pc.shipment.shipmentHeader.mapper.ShipmentHeaderMapper;
+import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService;
 import com.huaheng.pc.system.config.domain.Config;
 import com.huaheng.pc.system.config.mapper.ConfigMapper;
 import com.huaheng.pc.system.config.service.IConfigService;
@@ -52,6 +61,7 @@ import com.huaheng.pc.task.taskHeader.service.WorkTaskService;
 import org.jfree.data.gantt.TaskSeries;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.io.BufferedReader;
@@ -109,6 +119,14 @@ public class RyTask extends BaseController {
     private ConfigMapper configMapper;
     @Resource
     private ISnapshotInventoryHeaderService snapshotInventoryHeaderService;
+    @Resource
+    private ReceiptHeaderService receiptHeaderService;
+    @Resource
+    private ReceiptDetailService receiptDetailService;
+    @Resource
+    private ShipmentHeaderService shipmentHeaderService;
+    @Resource
+    private ShipmentDetailService shipmentDetailService;
 
     public void truncateTable(String params) {
         System.out.println("===============================清除日志===========" + params);
@@ -350,6 +368,113 @@ public class RyTask extends BaseController {
         return bResult;
     }
 
+    // 采购入库单回传
+    @Transactional(rollbackFor = Exception.class)
+    public void purchaseEnterReturn() throws Exception {
+        synchronized (this){
+            LambdaQueryWrapper<ReceiptHeader> lambdaQueryWrapper=Wrappers.lambdaQuery();
+            lambdaQueryWrapper.eq(ReceiptHeader::getCompanyCode,"WB")
+                    .eq(ReceiptHeader::getWarehouseCode,"CS0001")
+                    .eq(ReceiptHeader::getReceiptType,"SLTZ")
+                    .eq(ReceiptHeader::getFirstStatus,QuantityConstant.RECEIPT_HEADER_POSTING)
+                    .eq(ReceiptHeader::getLastStatus,QuantityConstant.RECEIPT_HEADER_POSTING)
+                    .eq(ReceiptHeader::getCreatedBy,"ERP")
+                    .orderByAsc(ReceiptHeader::getId)
+                    .last("limit 1");
+            ReceiptHeader receiptHeader = receiptHeaderService.getOne(lambdaQueryWrapper);
+            if(receiptHeader != null){
+                String referCode = receiptHeader.getReferCode();
+                if(receiptHeader.getUserDef1()==null&&receiptHeader.getUserDef2()==null){
+                    invokeHelper.push(referCode);
+                }
+                List<ReceiptDetail> receiptDetails = receiptDetailService.list(new LambdaQueryWrapper<ReceiptDetail>().eq(ReceiptDetail::getReceiptId, receiptHeader.getId()));
+                if(CollectionUtils.isNotEmpty(receiptDetails)){
+                    List<String> userDef1s = receiptDetails.stream().map(t -> t.getUserDef1()).collect(Collectors.toList());
+                    if(userDef1s.contains(null)){
+                        invokeHelper.select(referCode);
+                    }else {
+                        invokeHelper.save(referCode);
+                        invokeHelper.submit(referCode);
+                        invokeHelper.audit(referCode);
+                        receiptHeader.setFirstStatus(QuantityConstant.RECEIPT_HEADER_RETURN);
+                        receiptHeader.setLastStatus(QuantityConstant.RECEIPT_HEADER_RETURN);
+                        receiptHeaderService.updateById(receiptHeader);
+                        receiptDetails.forEach(receiptDetail -> {
+                            receiptDetail.setProcessStamp(QuantityConstant.RECEIPT_HEADER_RETURN.toString());
+                            receiptDetailService.updateById(receiptDetail);
+                        });
+                    }
+                }
+            }
+        }
+    }
+
+    //生产领料单回传
+    @Transactional(rollbackFor = Exception.class)
+    public void produceOutReturn() throws Exception {
+        synchronized (this){
+            LambdaQueryWrapper<ShipmentHeader> lambdaQueryWrapper=Wrappers.lambdaQuery();
+            lambdaQueryWrapper.eq(ShipmentHeader::getCompanyCode,"WB")
+                    .eq(ShipmentHeader::getWarehouseCode,"CS0001")
+                    .eq(ShipmentHeader::getShipmentType,"CGTL")
+                    .eq(ShipmentHeader::getFirstStatus,QuantityConstant.SHIPMENT_HEADER_COMPLETED)
+                    .eq(ShipmentHeader::getLastStatus,QuantityConstant.SHIPMENT_HEADER_COMPLETED)
+                    .eq(ShipmentHeader::getCreatedBy,"ERP")
+                    .orderByAsc(ShipmentHeader::getId)
+                    .last("limit 1");
+            ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(lambdaQueryWrapper);
+            if(shipmentHeader != null){
+                String referCode = shipmentHeader.getReferCode();
+                if(shipmentHeader.getUserDef1()==null&&shipmentHeader.getUserDef2()==null){
+                    invokeHelper.allocateSave(referCode,shipmentHeader.getFSrcStockId(),shipmentHeader.getFDestStockId());
+                }else {
+                    invokeHelper.allocateSubmit(referCode);
+                    invokeHelper.allocateAudit(referCode);
+                    shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_RETURN);
+                    shipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_RETURN);
+                    shipmentHeaderService.updateById(shipmentHeader);
+                    List<ShipmentDetail> shipmentDetails = shipmentDetailService.list(new LambdaQueryWrapper<ShipmentDetail>().eq(ShipmentDetail::getShipmentId, shipmentHeader.getId()));
+                    shipmentDetails.forEach(shipmentDetail -> {
+                        shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_RETURN);
+                        shipmentDetailService.updateById(shipmentDetail);
+                    });
+                }
+            }
+        }
+    }
+
+    //采购推料单回传
+    @Transactional(rollbackFor = Exception.class)
+    public void purchaseOutReturn() throws Exception {
+        synchronized (this){
+            LambdaQueryWrapper<ShipmentHeader> lambdaQueryWrapper=Wrappers.lambdaQuery();
+            lambdaQueryWrapper.eq(ShipmentHeader::getCompanyCode,"WB")
+                    .eq(ShipmentHeader::getWarehouseCode,"CS0001")
+                    .eq(ShipmentHeader::getShipmentType,"CGTL")
+                    .eq(ShipmentHeader::getFirstStatus,QuantityConstant.SHIPMENT_HEADER_COMPLETED)
+                    .eq(ShipmentHeader::getLastStatus,QuantityConstant.SHIPMENT_HEADER_COMPLETED)
+                    .eq(ShipmentHeader::getCreatedBy,"ERP")
+                    .orderByAsc(ShipmentHeader::getId)
+                    .last("limit 1");
+            ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(lambdaQueryWrapper);
+            if(shipmentHeader != null){
+                String referCode = shipmentHeader.getReferCode();
+                invokeHelper.purchase_return_save(referCode);
+                invokeHelper.purchase_return_submit(referCode);
+                invokeHelper.purchase_return_audit(referCode);
+                shipmentHeader.setFirstStatus(QuantityConstant.SHIPMENT_HEADER_RETURN);
+                shipmentHeader.setLastStatus(QuantityConstant.SHIPMENT_HEADER_RETURN);
+                shipmentHeaderService.updateById(shipmentHeader);
+                List<ShipmentDetail> shipmentDetails = shipmentDetailService.list(new LambdaQueryWrapper<ShipmentDetail>().eq(ShipmentDetail::getShipmentId, shipmentHeader.getId()));
+                shipmentDetails.forEach(shipmentDetail -> {
+                    shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_RETURN);
+                    shipmentDetailService.updateById(shipmentDetail);
+                });
+            }
+        }
+    }
+
+
 
     /**
      * 快照定时任务
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java
index ffe369b..e6c5ef6 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java
@@ -139,6 +139,14 @@ public class ShipmentDetail implements Serializable {
     private String pickLocs;
 
     /**
+     * 行Id
+     */
+    @TableField(value = "lineId")
+    @ApiModelProperty(value="行Id")
+    private String lineId;
+
+
+    /**
      * 属性1
      */
     @TableField(value = "attribute1")
@@ -1049,4 +1057,12 @@ public class ShipmentDetail implements Serializable {
     public void setCompanyName(String companyName) {
         this.companyName = companyName;
     }
+
+    public String getLineId() {
+        return lineId;
+    }
+
+    public void setLineId(String lineId) {
+        this.lineId = lineId;
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java
index f2da9cd..bf86566 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentHeader.java
@@ -343,6 +343,34 @@ public class ShipmentHeader implements Serializable {
     private Integer version;
 
     /**
+     * 调出仓库编码
+     */
+    @TableField(value = "FSrcStockId")
+    @ApiModelProperty(value = "调出仓库编码")
+    private String FSrcStockId;
+
+    /**
+     * 调出仓位编码
+     */
+    @TableField(value = "FSrcStockLocId")
+    @ApiModelProperty(value = "调出仓位编码")
+    private String FSrcStockLocId;
+
+    /**
+     * 调入仓库编码
+     */
+    @TableField(value = "FDestStockId")
+    @ApiModelProperty(value = "调入仓库编码")
+    private String FDestStockId;
+
+    /**
+     * 调入仓位编码
+     */
+    @TableField(value = "FDestStockLocId")
+    @ApiModelProperty(value = "调入仓位编码")
+    private String FDestStockLocId;
+
+    /**
      * 自定义字段1
      */
     @TableField(value = "userDef1")
diff --git a/src/main/resources/mybatis/shipment/ShipmentDetailMapper.xml b/src/main/resources/mybatis/shipment/ShipmentDetailMapper.xml
index bc9e33c..8fecf66 100644
--- a/src/main/resources/mybatis/shipment/ShipmentDetailMapper.xml
+++ b/src/main/resources/mybatis/shipment/ShipmentDetailMapper.xml
@@ -144,7 +144,7 @@ ORDER BY
     materialCode, materialName, materialSpec, materialUnit, shipQty, allocationRule,
     replenishmentRule, pickLocs, attribute1, attribute2, attribute3, attribute4, batch,
     lot, projectNo, manufactureDate, expirationDate, agingDate, inventorySts, dockLoc,
-    packingClass, waveId, created, createdBy, lastUpdatedBy
+    packingClass, waveId, created, createdBy, lastUpdatedBy , lineId
     )
     values
     <foreach collection="shipmentDetails" item="item" index="index" separator=",">
@@ -155,7 +155,7 @@ ORDER BY
       #{item.pickLocs}, #{item.attribute1}, #{item.attribute2}, #{item.attribute3}, #{item.attribute4}, #{item.batch},
       #{item.lot}, #{item.projectNo}, #{item.manufactureDate}, #{item.expirationDate}, #{item.agingDate},
       #{item.inventorySts}, #{item.dockLoc},#{item.packingClass}, #{item.waveId}, #{item.created}, #{item.createdBy},
-      #{item.lastUpdatedBy}
+      #{item.lastUpdatedBy},#{item.lineId}
     )
     </foreach>
   </insert>
--
libgit2 0.22.2