From cd081140a13db1714521802e625518e100ba7194 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 19 八月 2021 14:58:27 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java |  172 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 150 insertions(+), 22 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 14e93b5..20eacbe 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
@@ -1,18 +1,19 @@
 package com.zy.asrs.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
-import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.core.common.Cools;
 import com.core.exception.CoolException;
-import com.zy.asrs.entity.LocNoramlLog;
+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.param.ERPselectParam;
 import com.zy.asrs.mapper.LocNormalMapper;
 import com.zy.asrs.mapper.OutStockMapper;
+import com.zy.asrs.service.LocNormalLogService;
 import com.zy.asrs.service.LocNormalService;
 import com.zy.asrs.service.WaitPakinLogService;
 import com.zy.asrs.service.WaitPakinService;
@@ -46,6 +47,8 @@
     WaitPakinLogService waitPakinLogService;
     @Autowired
     ErpService erpService;
+    @Autowired
+    LocNormalLogService locNormalLogService;
 
     @Override
     public List<LocNormal> getLocNormalData() {
@@ -60,11 +63,35 @@
     @Override
     public void outLocNormal(String matnr, Long modiUser, Date modiTime, Integer id) {
         baseMapper.outLocNormal(matnr, modiUser, modiTime, id);
+        LocNormal data = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("id", id));
+        // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+        LocNormalLog locLog = new LocNormalLog();
+        VersionUtils.setLocNormalLog(locLog, data);
+        locLog.setAnfme(data.getAnfme().doubleValue());
+        locLog.setIoType(2);
+        locLog.setCreateTime(new Date());
+        locLog.setCreateUser(modiUser);
+        if (!locNormalLogService.insert(locLog)) {
+            String logStr = JSON.toJSONString(locLog);
+            log.info("骞充粨鍑哄簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
+        }
     }
 
     @Override
     public void removeLocNormal(String matnr, Long modiUser, Date modiTime, Integer id) {
         baseMapper.removeLocNormal(matnr, modiUser, modiTime, id);
+        LocNormal data = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("id", id));
+        // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+        LocNormalLog locLog = new LocNormalLog();
+        VersionUtils.setLocNormalLog(locLog, data);
+        locLog.setAnfme(data.getAnfme().doubleValue());
+        locLog.setIoType(4); // 鍒犻櫎
+        locLog.setCreateTime(new Date());
+        locLog.setCreateUser(modiUser);
+        if (!locNormalLogService.insert(locLog)) {
+            String logStr = JSON.toJSONString(locLog);
+            log.info("骞充粨搴撳瓨鍒犻櫎璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
+        }
     }
 
     @Override
@@ -88,6 +115,17 @@
                             // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
                             custWaitPakinToLog(list.get(i), updateAnfme);
                         }
+                        // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+                        LocNormalLog locLog = new LocNormalLog();
+                        VersionUtils.setLocNormalLog(locLog, list.get(i));
+                        locLog.setAnfme(updateAnfme);
+                        locLog.setIoType(1);
+                        locLog.setCreateTime(new Date());
+                        locLog.setCreateUser(list.get(i).getAppeUser());
+                        if (!locNormalLogService.insert(locLog)) {
+                            String logStr = JSON.toJSONString(locLog);
+                            log.info("骞充粨鍏ュ簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
+                        }
                     } else {
                         // erp鏇存柊
                         updateCPICMO(list.get(i));
@@ -97,6 +135,17 @@
                             // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
                             custWaitPakinToLog(list.get(i), list.get(i).getAnfme().doubleValue());
                         }
+                        // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+                        LocNormalLog locLog = new LocNormalLog();
+                        VersionUtils.setLocNormalLog(locLog, list.get(i));
+                        locLog.setAnfme(list.get(i).getAnfme().doubleValue());
+                        locLog.setIoType(1);
+                        locLog.setCreateTime(new Date());
+                        locLog.setCreateUser(list.get(i).getAppeUser());
+                        if (!locNormalLogService.insert(locLog)) {
+                            String logStr = JSON.toJSONString(locLog);
+                            log.info("骞充粨鍏ュ簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
+                        }
                     }
                 } else {
                     // throw new CoolException("閫氱煡鍗曞彿涓嶅彲涓虹┖"); 閫氱煡鍗曞彿绌虹殑鎯呭喌涓嬶紝寰�CPICMO琛ㄦ彃鍏ユ墜鍔ㄥ叆搴撴暟鎹�
@@ -105,14 +154,14 @@
                     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());
+                        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));
@@ -120,14 +169,25 @@
                             // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
 //                            custWaitPakinToLog(list.get(i), updateAnfme);
                         }
+                        // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+                        LocNormalLog locLog = new LocNormalLog();
+                        VersionUtils.setLocNormalLog(locLog, list.get(i));
+                        locLog.setAnfme(updateAnfme);
+                        locLog.setIoType(1);
+                        locLog.setCreateTime(new Date());
+                        locLog.setCreateUser(list.get(i).getAppeUser());
+                        if (!locNormalLogService.insert(locLog)) {
+                            String logStr = JSON.toJSONString(locLog);
+                            log.info("骞充粨鍏ュ簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
+                        }
                     } 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);
                         }
                         // 骞充粨鍏ュ簱閫昏緫
@@ -135,6 +195,17 @@
                         if (baseMapper.pdaLocNormalIn(addList) > 0) {
                             // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
 //                            custWaitPakinToLog(list.get(i), list.get(i).getAnfme().doubleValue());
+                        }
+                        // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+                        LocNormalLog locLog = new LocNormalLog();
+                        VersionUtils.setLocNormalLog(locLog, list.get(i));
+                        locLog.setAnfme(list.get(i).getAnfme().doubleValue());
+                        locLog.setIoType(1);
+                        locLog.setCreateTime(new Date());
+                        locLog.setCreateUser(list.get(i).getAppeUser());
+                        if (!locNormalLogService.insert(locLog)) {
+                            String logStr = JSON.toJSONString(locLog);
+                            log.info("骞充粨鍏ュ簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
                         }
                     }
                 }
@@ -162,6 +233,20 @@
                             // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
                             custWaitPakinToLog(list.get(i), updateAnfme);
                         }
+                        // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+                        LocNormalLog locLog = new LocNormalLog();
+                        VersionUtils.setLocNormalLog(locLog, list.get(i));
+                        if (Cools.isEmpty(locLog.getMemo())) {
+                            locLog.setMemo("鍘熸潗鏂�");
+                        }
+                        locLog.setAnfme(increaseAnfme.doubleValue());
+                        locLog.setIoType(1);
+                        locLog.setCreateTime(new Date());
+                        locLog.setCreateUser(list.get(i).getAppeUser());
+                        if (!locNormalLogService.insert(locLog)) {
+                            String logStr = JSON.toJSONString(locLog);
+                            log.info("骞充粨鏉愭枡鍏ュ簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
+                        }
                         // erp鏇存柊 InStockbill鍜孖nStockBillEntry
                         erpService.incrementPakIn(list.get(i).getSupplier(), list.get(i).getMatnr(), increaseAnfme.doubleValue());
                     } else {
@@ -170,6 +255,20 @@
                         if (baseMapper.pdaLocNormalIn(addList) > 0) {
                             // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
                             custWaitPakinToLog(list.get(i), list.get(i).getAnfme().doubleValue());
+                        }
+                        // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+                        LocNormalLog locLog = new LocNormalLog();
+                        VersionUtils.setLocNormalLog(locLog, list.get(i));
+                        locLog.setAnfme(list.get(i).getAnfme().doubleValue());
+                        if (Cools.isEmpty(locLog.getMemo())) {
+                            locLog.setMemo("鍘熸潗鏂�");
+                        }
+                        locLog.setIoType(1);
+                        locLog.setCreateTime(new Date());
+                        locLog.setCreateUser(list.get(i).getAppeUser());
+                        if (!locNormalLogService.insert(locLog)) {
+                            String logStr = JSON.toJSONString(locLog);
+                            log.info("骞充粨鏉愭枡鍏ュ簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
                         }
                         // erp鏇存柊 InStockbill鍜孖nStockBillEntry
                         erpService.incrementPakIn(list.get(i).getSupplier(), list.get(i).getMatnr(), list.get(i).getAnfme().doubleValue());
@@ -248,12 +347,16 @@
                             custWaitPakinToLog(list.get(i), updateAnfme);
                         }
                         // 鐢熸垚骞充粨鍑哄叆搴撹褰�
-                        LocNoramlLog log = new LocNoramlLog();
-                        VersionUtils.setLocNormalLog(log, list.get(i));
-                        log.setAnfme(updateAnfme);
-                        log.setIoType(1);
-                        log.setCreateTime(new Date());
-                        log.setCreateUser(list.get(i).getAppeUser());
+                        LocNormalLog locLog = new LocNormalLog();
+                        VersionUtils.setLocNormalLog(locLog, list.get(i));
+                        locLog.setAnfme(updateAnfme);
+                        locLog.setIoType(1);
+                        locLog.setCreateTime(new Date());
+                        locLog.setCreateUser(list.get(i).getAppeUser());
+                        if (!locNormalLogService.insert(locLog)) {
+                            String logStr = JSON.toJSONString(locLog);
+                            log.info("骞充粨鍏ュ簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
+                        }
 
                     } else {
                         // erp鏇存柊
@@ -265,13 +368,16 @@
                             custWaitPakinToLog(list.get(i), list.get(i).getAnfme().doubleValue());
                         }
                         // 鐢熸垚骞充粨鍑哄叆搴撹褰�
-                        LocNoramlLog log = new LocNoramlLog();
-                        VersionUtils.setLocNormalLog(log, list.get(i));
-                        log.setAnfme(list.get(i).getAnfme().doubleValue());
-                        log.setIoType(1);
-                        log.setCreateTime(new Date());
-                        log.setCreateUser(list.get(i).getAppeUser());
-
+                        LocNormalLog locLog = new LocNormalLog();
+                        VersionUtils.setLocNormalLog(locLog, list.get(i));
+                        locLog.setAnfme(list.get(i).getAnfme().doubleValue());
+                        locLog.setIoType(1);
+                        locLog.setCreateTime(new Date());
+                        locLog.setCreateUser(list.get(i).getAppeUser());
+                        if (!locNormalLogService.insert(locLog)) {
+                            String logStr = JSON.toJSONString(locLog);
+                            log.info("骞充粨鍏ュ簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
+                        }
                     }
                 } else {
                     throw new CoolException("閫氱煡鍗曞彿涓嶅彲涓虹┖");
@@ -366,10 +472,32 @@
         for (Integer i = 0; i < list.size(); i++) {
             if (list.get(i).getAnfme().equals(list.get(i).getAnfmeOut())) {
                 baseMapper.pdaLocNormalOut1(list.get(i).getId(), list.get(i).getMatnr(), list.get(i).getModiUser(), list.get(i).getModiTime(), list.get(i).getWarehouse());
+                // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+                LocNormalLog locLog = new LocNormalLog();
+                VersionUtils.setLocNormalLog(locLog, list.get(i));
+                locLog.setAnfme(list.get(i).getAnfmeOut().doubleValue());
+                locLog.setIoType(2);
+                locLog.setCreateTime(new Date());
+                locLog.setCreateUser(list.get(i).getAppeUser());
+                if (!locNormalLogService.insert(locLog)) {
+                    String logStr = JSON.toJSONString(locLog);
+                    log.info("骞充粨鍑哄簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
+                }
             }
             if (list.get(i).getAnfmeOut().compareTo(list.get(i).getAnfme()) == -1) {
                 BigDecimal diff = (list.get(i).getAnfme()).subtract(list.get(i).getAnfmeOut());
                 baseMapper.pdaLocNormalOut2(list.get(i).getId(), list.get(i).getMatnr(), diff, list.get(i).getModiUser(), list.get(i).getModiTime(), list.get(i).getWarehouse());
+                // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+                LocNormalLog locLog = new LocNormalLog();
+                VersionUtils.setLocNormalLog(locLog, list.get(i));
+                locLog.setAnfme((list.get(i).getAnfmeOut()).doubleValue());
+                locLog.setIoType(2);
+                locLog.setCreateTime(new Date());
+                locLog.setCreateUser(list.get(i).getAppeUser());
+                if (!locNormalLogService.insert(locLog)) {
+                    String logStr = JSON.toJSONString(locLog);
+                    log.info("骞充粨鍑哄簱璁板綍鎻掑叆澶辫触,鏁版嵁:" + logStr);
+                }
             }
         }
     }
@@ -385,12 +513,12 @@
     }
 
     @Override
-    public List<LocNormal> queryLocNorlMatnr(String fbillNo) {
+    public List<LocNormal> queryLocNorlMatnr(String fbillNo, String mnemonic) {
         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()) ;
+            locNormal = baseMapper.queryLocNorlMatnr(matList.get(i).getFnumber(), mnemonic) ;
             if (locNormal.size() > 0) {
                 for (LocNormal e:locNormal) {
                     LocNormal obj = new LocNormal();

--
Gitblit v1.9.1