Przeglądaj źródła

- 出库关单存储条码扫描记录;

Gizmo 2 lat temu
rodzic
commit
e06a440cd5

+ 1 - 1
warewms-ams/src/main/java/com/ruoyi/ams/asn/service/impl/WmsDocAsnHeaderServiceImpl.java

@@ -848,6 +848,6 @@ public class WmsDocAsnHeaderServiceImpl implements IWmsDocAsnHeaderService {
             }
         }
 
-        return AjaxResult.success("条码扫描记录表插入成功");
+        return AjaxResult.success("入库-条码扫描记录表插入成功");
     }
 }

+ 5 - 0
warewms-ams/src/main/java/com/ruoyi/ams/order/service/IWmsDocOrderHeaderService.java

@@ -239,4 +239,9 @@ public interface IWmsDocOrderHeaderService {
      * @param erpOrderLists
      */
     void addOrUpdateErp(List<ErpOrderList> erpOrderLists);
+
+    /**
+     * 在erp_barcodes中插入出库单扫描记录,其实是关联批次插入数据
+     */
+    AjaxResult synchronizeErpBarcodeList(String orderNo);
 }

+ 52 - 12
warewms-ams/src/main/java/com/ruoyi/ams/order/service/impl/WmsDocOrderHeaderServiceImpl.java

@@ -1,19 +1,16 @@
 package com.ruoyi.ams.order.service.impl;
 
-import java.math.BigDecimal;
-import java.util.*;
-
-import com.alibaba.fastjson.JSON;
 import com.ruoyi.ams.box.domain.WmsBoxInfo;
 import com.ruoyi.ams.box.mapper.WmsBoxInfoMapper;
 import com.ruoyi.ams.box.service.IWmsBoxInfoService;
 import com.ruoyi.ams.business.IBusinessService;
-import com.ruoyi.ams.config.domain.FlowConfigHeader;
 import com.ruoyi.ams.config.domain.dto.AgvCallDTO;
 import com.ruoyi.ams.config.domain.dto.LotattDTO;
 import com.ruoyi.ams.config.domain.vo.FlowConfigHeaderVO;
 import com.ruoyi.ams.config.service.IFlowConfigHeaderService;
+import com.ruoyi.ams.erp.domain.ErpBarcodes;
 import com.ruoyi.ams.erp.domain.ErpOrderList;
+import com.ruoyi.ams.erp.service.IErpBarcodesService;
 import com.ruoyi.ams.inv.domain.ActTransactionLog;
 import com.ruoyi.ams.inv.domain.InvLotAtt;
 import com.ruoyi.ams.inv.domain.InvLotLocId;
@@ -24,14 +21,15 @@ import com.ruoyi.ams.inv.service.IActTransactionLogService;
 import com.ruoyi.ams.inv.service.IInvLotLocIdService;
 import com.ruoyi.ams.order.domain.ActAllocationDetails;
 import com.ruoyi.ams.order.domain.WmsDocOrderDetails;
+import com.ruoyi.ams.order.domain.WmsDocOrderHeader;
 import com.ruoyi.ams.order.form.*;
 import com.ruoyi.ams.order.mapper.WmsDocOrderDetailsMapper;
+import com.ruoyi.ams.order.mapper.WmsDocOrderHeaderMapper;
 import com.ruoyi.ams.order.service.IActAllocationDetailsService;
+import com.ruoyi.ams.order.service.IWmsDocOrderHeaderService;
 import com.ruoyi.ams.order.vo.CheckOutVO;
 import com.ruoyi.ams.order.vo.PickingListVO;
 import com.ruoyi.ams.order.vo.StockOrderVO;
-import com.ruoyi.ams.task.domain.WcsTask;
-import com.ruoyi.ams.task.service.IWcsTaskService;
 import com.ruoyi.base.constant.Constant;
 import com.ruoyi.base.domain.BaseLocationInfo;
 import com.ruoyi.base.domain.vo.CodeSkuRelationshipVO;
@@ -44,16 +42,14 @@ import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.uuid.SnowflakeIdWorker;
-import org.springframework.aop.aspectj.AbstractAspectJAdvice;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.core.parameters.P;
 import org.springframework.stereotype.Service;
-import com.ruoyi.ams.order.mapper.WmsDocOrderHeaderMapper;
-import com.ruoyi.ams.order.domain.WmsDocOrderHeader;
-import com.ruoyi.ams.order.service.IWmsDocOrderHeaderService;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
+import java.util.*;
+
 /**
  * 出库单头Service业务层处理
  *
@@ -92,6 +88,8 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
     private IdSequenceUtils idSequenceUtils;
     @Autowired
     private IBaseLocationInfoService baseLocationInfoService;
+    @Autowired
+    private IErpBarcodesService erpBarcodesService;
 
     /**
      * 查询出库单头
@@ -823,4 +821,46 @@ public class WmsDocOrderHeaderServiceImpl implements IWmsDocOrderHeaderService {
         orderHeader.setCreateBy("ERP");
         wmsDocOrderHeaderMapper.insertWmsDocOrderHeader(orderHeader);
     }
+
+    @Override
+    public AjaxResult synchronizeErpBarcodeList(String orderNo) {
+
+        ErpBarcodes erpBarcodes;
+        WmsDocOrderHeader docOrderHeader = wmsDocOrderHeaderMapper.selectWmsDocOrderHeaderByOrderNo(orderNo);
+        List<ActAllocationDetails> allocationDetailsList = actAllocationDetailsService.queryAllocationDetailsByOrderNo(orderNo);
+        for (ActAllocationDetails actAllocationDetails : allocationDetailsList) {
+
+            //分配明细对应出库明细
+            WmsDocOrderDetails docOrderDetails = wmsDocOrderDetailsMapper.selectWmsDocOrderDetailsByNoLineNo(actAllocationDetails.getOrderNo(), actAllocationDetails.getLineNo());
+            //分配对应库存批次
+            InvLotAtt invLotAtt = invLotAttMapper.selectInvLotAttByLotnum(actAllocationDetails.getLotnum());
+
+            erpBarcodes = new ErpBarcodes();
+            //条码号
+            erpBarcodes.setBarcode(StringUtils.isEmpty(invLotAtt.getLotatt02()) ? invLotAtt.getSku() : invLotAtt.getLotatt02());
+            //ERP单号ORDER_NAME
+            erpBarcodes.setErpNo(docOrderHeader.getSoReference1());
+            //项次(ORDER_NO)
+            // TODO 待确认
+            erpBarcodes.setErpName(docOrderDetails.getdEdi01());
+            //ERP单据类型
+            // TODO 待确认
+            erpBarcodes.setErpType(docOrderHeader.gethEdi02());
+            //ERP出入库类型
+            // TODO 待确认
+            erpBarcodes.setType(docOrderHeader.gethEdi03());
+            //仓库编号
+            erpBarcodes.setStockId(String.valueOf(Constant.WAREHOUSE_ID));
+            //托盘号
+            erpBarcodes.setBoxNo(invLotAtt.getLotatt07());
+            //货架编号
+            BaseLocationInfo locationInfo = baseLocationInfoService.selectBaseLocationInfoById(actAllocationDetails.getLocationId());
+            erpBarcodes.setLocationNo(locationInfo.getLocationNo());
+            //批次号
+            erpBarcodes.setLotnum(invLotAtt.getLotnum());
+            erpBarcodes.setCreateBy("SYSTEM");
+            erpBarcodesService.insertErpBarcodes(erpBarcodes);
+        }
+        return AjaxResult.success("出库-条码扫描记录表插入成功");
+    }
 }