From 01175f85df1e8402ada5a30aacfeb18fa621e95e Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期三, 28 一月 2026 16:15:11 +0800
Subject: [PATCH] 委外加工出库单同步+PDA出库功能

---
 src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java |   27 +++++++++++++++++----------
 1 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
index 26b9fc8..eb55b3d 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
@@ -6,10 +6,7 @@
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
-import com.zy.asrs.entity.LocNormalLog;
-import com.zy.asrs.entity.LocNormal;
-import com.zy.asrs.entity.WaitPakin;
-import com.zy.asrs.entity.WaitPakinLog;
+import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.ERPselectParam;
 import com.zy.asrs.mapper.LocNormalMapper;
 import com.zy.asrs.mapper.OutStockMapper;
@@ -154,11 +151,11 @@
                     if (!Cools.isEmpty(oldLocList)) {
                         // erp鏇存柊
                         if (Cools.isEmpty(list.get(i).getSupplier())) {
-                            String maxKeySql = "select max(FInterID) as num from CPICMO";
+                            String maxKeySql = "select min(FInterID) as num from CPICMO";
                             List<ERPselectParam> maxKeyList = erpSqlServer.select(maxKeySql, ERPselectParam.class);
                             Integer maxKey = maxKeyList.get(0).getNum();
                             String ErpSql = "insert into CPICMO(FBrNo, FSourceBillNo, FBillNo, FTranType, FStatus, FMRP, FItemID, FQty, FCommitQty, FSourceEntryID, FClosed, FUnitID, FAuxCommitQty, FCancellation, FQtyFinish, FQtyScrap, FQtyLost, FAuxQtyFinish, FAuxQtyScrap, FAuxQtyLost, FMrpClosed, FBomInterID, FQtyPass, FAuxQtyPass, FQtyBack, FAuxQtyBack, FFinishTime, FReadyTIme, FPowerCutTime, FFixTime, FWaitItemTime, FWaitToolTime, FTaskID, FWorkTypeID, FCostObjID, FStockQty, FAuxStockQty, FSuspend, FReleasedQty, FReleasedAuxQty, FUnScheduledQty, FUnScheduledAuxQty, FSubEntryID, FScheduleID, FPlanOrderInterID, FProcessPrice, FProcessFee, FGMPBatchNo, FGMPCollectRate, FGMPItemBalance, FGMPBulkQty, FCustID, FMRPLockFlag, FHandworkClose, FInHighLimit, FInHighLimitQty, FInLowLimit, FInLowLimitQty, FChangeTimes, FCheckCommitQty, FAuxCheckCommitQty, FPlanConfirmed, FPlanMode, FMTONo, FPrintCount, FFinClosed, FStockFlag, FStartFlag, FVchBillNo, FVchInterID, FCardClosed, FHRReadyTime, FSourceTranType, FSourceInterId, FInterID, FAuxQty, FAuxInHighLimitQty, FAuxInLowLimitQty, Fnumber, FWorkShop) values (0, ''{6}'', '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, {5,number,#}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14036, '0', 0, 0, 14215, 0, '0', 0, 1059, 0, 0, 0, 0, {0,number,#}, {1,number,#}, {2,number,#}, {3,number,#}, ''{4}'', 11378)";
-                            ErpSql = MessageFormat.format(ErpSql, maxKey + 1, list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getMatnr(), list.get(i).getAnfme(), list.get(i).getMnemonic());
+                            ErpSql = MessageFormat.format(ErpSql, maxKey - 1, list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getMatnr(), list.get(i).getAnfme(), list.get(i).getMnemonic());
                             erpSqlServer.update(ErpSql);
                         }
                         Double updateAnfme = new Double(list.get(i).getAnfme().doubleValue());
@@ -183,11 +180,11 @@
                     } else {
                         // erp鏇存柊
                         if (Cools.isEmpty(list.get(i).getSupplier())) {
-                            String maxKeySql = "select max(FInterID) as num from CPICMO";
+                            String maxKeySql = "select min(FInterID) as num from CPICMO";
                             List<ERPselectParam> maxKeyList = erpSqlServer.select(maxKeySql, ERPselectParam.class);
                             Integer maxKey = maxKeyList.get(0).getNum();
                             String ErpSql = "insert into CPICMO(FBrNo, FSourceBillNo, FBillNo, FTranType, FStatus, FMRP, FItemID, FQty, FCommitQty, FSourceEntryID, FClosed, FUnitID, FAuxCommitQty, FCancellation, FQtyFinish, FQtyScrap, FQtyLost, FAuxQtyFinish, FAuxQtyScrap, FAuxQtyLost, FMrpClosed, FBomInterID, FQtyPass, FAuxQtyPass, FQtyBack, FAuxQtyBack, FFinishTime, FReadyTIme, FPowerCutTime, FFixTime, FWaitItemTime, FWaitToolTime, FTaskID, FWorkTypeID, FCostObjID, FStockQty, FAuxStockQty, FSuspend, FReleasedQty, FReleasedAuxQty, FUnScheduledQty, FUnScheduledAuxQty, FSubEntryID, FScheduleID, FPlanOrderInterID, FProcessPrice, FProcessFee, FGMPBatchNo, FGMPCollectRate, FGMPItemBalance, FGMPBulkQty, FCustID, FMRPLockFlag, FHandworkClose, FInHighLimit, FInHighLimitQty, FInLowLimit, FInLowLimitQty, FChangeTimes, FCheckCommitQty, FAuxCheckCommitQty, FPlanConfirmed, FPlanMode, FMTONo, FPrintCount, FFinClosed, FStockFlag, FStartFlag, FVchBillNo, FVchInterID, FCardClosed, FHRReadyTime, FSourceTranType, FSourceInterId, FInterID, FAuxQty, FAuxInHighLimitQty, FAuxInLowLimitQty, Fnumber, FWorkShop) values (0, ''{6}'', '0', 85, 0, 1052, 0, 0, 0, 0, 0, 250, {5,number,#}, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14036, '0', 0, 0, 14215, 0, '0', 0, 1059, 0, 0, 0, 0, {0,number,#}, {1,number,#}, {2,number,#}, {3,number,#}, ''{4}'', 11378)";
-                            ErpSql = MessageFormat.format(ErpSql, maxKey + 1, list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getMatnr(), list.get(i).getAnfme(), list.get(i).getMnemonic());
+                            ErpSql = MessageFormat.format(ErpSql, maxKey - 1, list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getAnfme(), list.get(i).getMatnr(), list.get(i).getAnfme(), list.get(i).getMnemonic());
                             erpSqlServer.update(ErpSql);
                         }
                         // 骞充粨鍏ュ簱閫昏緫
@@ -513,12 +510,18 @@
     }
 
     @Override
-    public List<LocNormal> queryLocNorlMatnr(String fbillNo) {
+    public List<LocNormal> queryLocNorlMatnr(String fbillNo, String mnemonic,String matnr) {
         List<OutStockBillEntry> matList = outStockMapper.queryMatnrWithBillNo(fbillNo);
         List<LocNormal> locNormal = new ArrayList<>();
         List<LocNormal> locNormalResult = new ArrayList<>();
         for (Integer i = 0; i < matList.size(); i++) {
-            locNormal = baseMapper.queryLocNorlMatnr(matList.get(i).getFnumber()) ;
+//            matnr = matList.get(i).getFnumber();
+//            if(matList.get(i).getFnumber().equals(matnr)){
+//                locNormal = baseMapper.queryLocNorlMatnr(matnr, mnemonic);
+//            }else {
+//                continue;
+//            }
+            locNormal = baseMapper.queryLocNorlMatnr(matList.get(i).getFnumber(), mnemonic) ;
             if (locNormal.size() > 0) {
                 for (LocNormal e:locNormal) {
                     LocNormal obj = new LocNormal();
@@ -546,4 +549,8 @@
         }
        return locNormalResult;
     }
+
+    public Integer getAllLocDetlData(List<LocNormal> list) {
+        return baseMapper.updateMatStatus(list);
+    }
 }

--
Gitblit v1.9.1