From 6e781bc28dd55c4bb5c5652ead746d947b7aeafa Mon Sep 17 00:00:00 2001
From: 王佳豪 <g675230687@126.com>
Date: 星期六, 19 六月 2021 11:29:34 +0800
Subject: [PATCH] 1.原单入库生成单号传入erp

---
 src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java |  104 ++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 72 insertions(+), 32 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 3de54ca..b4ca5b9 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
@@ -9,6 +9,7 @@
 import com.zy.asrs.entity.LocNormal;
 import com.zy.asrs.entity.WaitPakin;
 import com.zy.asrs.entity.WaitPakinLog;
+import com.zy.asrs.entity.param.ERPselectParam;
 import com.zy.asrs.mapper.LocNormalMapper;
 import com.zy.asrs.mapper.OutStockMapper;
 import com.zy.asrs.service.LocNormalService;
@@ -93,7 +94,44 @@
                         }
                     }
                 } else {
-                    throw new CoolException("閫氱煡鍗曞彿涓嶅彲涓虹┖");
+                    // throw new CoolException("閫氱煡鍗曞彿涓嶅彲涓虹┖"); 閫氱煡鍗曞彿绌虹殑鎯呭喌涓嬶紝寰�CPICMO琛ㄦ彃鍏ユ墜鍔ㄥ叆搴撴暟鎹�
+                    // 鍒ゆ柇鍘熷厛骞充粨鏄惁瀛樺湪鏈夎揣,濡傛灉鏈夎揣鏁伴噺杩涜绱姞
+                    LocNormal oldLocList = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("matnr", list.get(i).getMatnr()).and().eq("warehouse", list.get(i).getWarehouse()).and().eq("mnemonic", list.get(i).getMnemonic()).and().eq("state", "1"));
+                    if (!Cools.isEmpty(oldLocList)) {
+                        // erp鏇存柊
+                        if (Cools.isEmpty(list.get(i).getSupplier())) {
+                            String maxKeySql = "select max(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());
+                            erpSqlServer.update(ErpSql);
+                        }
+//                        Double updateAnfme = new Double(list.get(i).getAnfme().doubleValue());
+                        // 骞充粨鍏ュ簱锛堟洿鏂帮級閫昏緫
+                        list.get(i).setAnfme(oldLocList.getAnfme().add(list.get(i).getAnfme()));
+                        updateList.add(list.get(i));
+                        if (baseMapper.withoutSupplierLocNormalUpdate(updateList) > 0) {
+                            // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
+//                            custWaitPakinToLog(list.get(i), updateAnfme);
+                        }
+                    } else {
+                        // erp鏇存柊
+                        if (Cools.isEmpty(list.get(i).getSupplier())) {
+                            String maxKeySql = "select max(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());
+                            erpSqlServer.update(ErpSql);
+                        }
+                        // 骞充粨鍏ュ簱閫昏緫
+                        addList.add(list.get(i));
+                        if (baseMapper.pdaLocNormalIn(addList) > 0) {
+                            // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
+//                            custWaitPakinToLog(list.get(i), list.get(i).getAnfme().doubleValue());
+                        }
+                    }
                 }
             }
         }
@@ -150,37 +188,39 @@
     /* cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺 */
     private boolean custWaitPakinToLog(LocNormal list, Double updateAnfme) {
         WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>().eq("supplier", list.getSupplier()).and().eq("matnr", list.getMatnr()));
-        WaitPakinLog waitPakinLog = new WaitPakinLog();
-        waitPakinLog.setAnfme(updateAnfme);
-        waitPakinLog.setMatnr(waitPakin.getMatnr());
-        waitPakinLog.setMaktx(waitPakin.getMaktx());
-        waitPakinLog.setLgnum(waitPakin.getLgnum());
-        waitPakinLog.setType(waitPakin.getType());
-        waitPakinLog.setMnemonic(waitPakin.getMnemonic());
-        waitPakinLog.setSupplier(waitPakin.getSupplier());
-        waitPakinLog.setWarehouse(waitPakin.getWarehouse());
-        waitPakinLog.setBrand(waitPakin.getBrand());
-        waitPakinLog.setAltme(waitPakin.getAltme());
-        waitPakinLog.setZpallet(waitPakin.getZpallet());
-        waitPakinLog.setBname(waitPakin.getBname());
-        waitPakinLog.setLocNo(waitPakin.getLocNo());
-        waitPakinLog.setStatus(waitPakin.getStatus());
-        waitPakinLog.setIoStatus(waitPakin.getIoStatus());
-        waitPakinLog.setMemo(waitPakin.getMemo());
-        waitPakinLog.setModiTime(waitPakin.getModiTime());
-        waitPakinLog.setModiUser(waitPakin.getModiUser());
-        waitPakinLog.setAppeTime(waitPakin.getAppeTime());
-        waitPakinLog.setAppeUser(waitPakin.getAppeUser());
-        // 杞叆搴撻�氱煡鍘嗗彶妗�
-        waitPakinLogService.insert(waitPakinLog);
-        // 淇敼鍏ュ簱鍚屽織妗g墿鏂欐暟閲�
-        Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>();
-        wrapper.eq("supplier", list.getSupplier())
-                .eq("matnr", list.getMatnr())
-                .isNull("zpallet");
-        WaitPakin pakin = new WaitPakin();
-        pakin.setAnfme(waitPakin.getAnfme() - updateAnfme);
-        waitPakinService.update(pakin, wrapper);
+        if(!Cools.isEmpty(waitPakin)){
+            WaitPakinLog waitPakinLog = new WaitPakinLog();
+            waitPakinLog.setAnfme(updateAnfme);
+            waitPakinLog.setMatnr(waitPakin.getMatnr());
+            waitPakinLog.setMaktx(waitPakin.getMaktx());
+            waitPakinLog.setLgnum(waitPakin.getLgnum());
+            waitPakinLog.setType(waitPakin.getType());
+            waitPakinLog.setMnemonic(waitPakin.getMnemonic());
+            waitPakinLog.setSupplier(waitPakin.getSupplier());
+            waitPakinLog.setWarehouse(waitPakin.getWarehouse());
+            waitPakinLog.setBrand(waitPakin.getBrand());
+            waitPakinLog.setAltme(waitPakin.getAltme());
+            waitPakinLog.setZpallet(waitPakin.getZpallet());
+            waitPakinLog.setBname(waitPakin.getBname());
+            waitPakinLog.setLocNo(waitPakin.getLocNo());
+            waitPakinLog.setStatus(waitPakin.getStatus());
+            waitPakinLog.setIoStatus(waitPakin.getIoStatus());
+            waitPakinLog.setMemo(waitPakin.getMemo());
+            waitPakinLog.setModiTime(waitPakin.getModiTime());
+            waitPakinLog.setModiUser(waitPakin.getModiUser());
+            waitPakinLog.setAppeTime(waitPakin.getAppeTime());
+            waitPakinLog.setAppeUser(waitPakin.getAppeUser());
+            // 杞叆搴撻�氱煡鍘嗗彶妗�
+            waitPakinLogService.insert(waitPakinLog);
+            // 淇敼鍏ュ簱鍚屽織妗g墿鏂欐暟閲�
+            Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>();
+            wrapper.eq("supplier", list.getSupplier())
+                    .eq("matnr", list.getMatnr())
+                    .isNull("zpallet");
+            WaitPakin pakin = new WaitPakin();
+            pakin.setAnfme(waitPakin.getAnfme() - updateAnfme);
+            waitPakinService.update(pakin, wrapper);
+        }
         return true;
     }
 

--
Gitblit v1.9.1