From 7077d2aca171525b6f021cd3307788ac7c55dd14 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 21 六月 2021 17:19:27 +0800
Subject: [PATCH] 平仓日志功能(未完成)

---
 src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java |   96 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 96 insertions(+), 0 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 b4ca5b9..14e93b5 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
@@ -6,6 +6,7 @@
 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.LocNormal;
 import com.zy.asrs.entity.WaitPakin;
 import com.zy.asrs.entity.WaitPakinLog;
@@ -15,6 +16,8 @@
 import com.zy.asrs.service.LocNormalService;
 import com.zy.asrs.service.WaitPakinLogService;
 import com.zy.asrs.service.WaitPakinService;
+import com.zy.asrs.utils.VersionUtils;
+import com.zy.common.service.erp.ErpService;
 import com.zy.common.service.erp.ErpSqlServer;
 import com.zy.common.service.erp.entity.CPICMO;
 import com.zy.common.service.erp.entity.OutStockBillEntry;
@@ -41,6 +44,8 @@
     WaitPakinService waitPakinService;
     @Autowired
     WaitPakinLogService waitPakinLogService;
+    @Autowired
+    ErpService erpService;
 
     @Override
     public List<LocNormal> getLocNormalData() {
@@ -137,6 +142,81 @@
         }
     }
 
+    @Override
+    public void locNormalInSource(List<LocNormal> list) {
+        // 骞充粨鍏ュ簱鍚庢洿鏂颁腑闂磋〃鏁版嵁锛孎flag_finish鏀逛负1锛岃〃绀哄钩浠撳叆搴撴垚鍔�
+        if (list.size() > 0) {
+            for (Integer i = 0; i < list.size(); i++) {
+                List<LocNormal> addList = new ArrayList<>();
+                List<LocNormal> updateList = new ArrayList<>();
+                if (!Cools.isEmpty(list.get(i).getSupplier())) { // 瀛樺湪鍏ュ簱鍗曞彿鐨勬墠杩涜erp鏇存柊
+                    // 鍒ゆ柇鍘熷厛骞充粨鏄惁瀛樺湪鏈夎揣,濡傛灉鏈夎揣鏁伴噺杩涜绱姞
+                    LocNormal oldLocList = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("supplier", list.get(i).getSupplier()).and().eq("state", "1").eq("warehouse", list.get(i).getWarehouse()).and().eq("matnr", list.get(i).getMatnr()));
+                    if (!Cools.isEmpty(oldLocList)) {
+                        Double updateAnfme = new Double(list.get(i).getAnfme().doubleValue());
+                        // 骞充粨鍏ュ簱锛堟洿鏂帮級閫昏緫
+                        BigDecimal increaseAnfme = new BigDecimal(String.valueOf(list.get(i).getAnfme()));
+                        list.get(i).setAnfme(oldLocList.getAnfme().add(list.get(i).getAnfme()));
+                        updateList.add(list.get(i));
+                        if (baseMapper.pdaLocNormalUpdate(updateList) > 0) {
+                            // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
+                            custWaitPakinToLog(list.get(i), updateAnfme);
+                        }
+                        // erp鏇存柊 InStockbill鍜孖nStockBillEntry
+                        erpService.incrementPakIn(list.get(i).getSupplier(), list.get(i).getMatnr(), increaseAnfme.doubleValue());
+                    } else {
+                        // 骞充粨鍏ュ簱閫昏緫
+                        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());
+                        }
+                        // erp鏇存柊 InStockbill鍜孖nStockBillEntry
+                        erpService.incrementPakIn(list.get(i).getSupplier(), list.get(i).getMatnr(), list.get(i).getAnfme().doubleValue());
+                    }
+                } else {
+                    // 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());
+                        }
+                    }
+                }
+            }
+        }
+    }
     /**
      * 鎴愬搧鍏ュ簱鍗曟爣璁板畬鎴�
      */
@@ -167,6 +247,14 @@
                             // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
                             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());
+
                     } else {
                         // erp鏇存柊
                         updateCPICMO(list.get(i));
@@ -176,6 +264,14 @@
                             // cust_wait_pakin杞琧ust_wait_pakin_log锛屽苟鏇存柊鏁伴噺
                             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());
+
                     }
                 } else {
                     throw new CoolException("閫氱煡鍗曞彿涓嶅彲涓虹┖");

--
Gitblit v1.9.1