From 3cc2632faea335273c67d8dbaf105ee49b2caa77 Mon Sep 17 00:00:00 2001
From: 18516761980 <56479841@qq.com>
Date: 星期六, 16 七月 2022 16:48:25 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 165 insertions(+), 13 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 b88ae34..9438b0d 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocNormalServiceImpl.java
@@ -1,20 +1,20 @@
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.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;
+import com.zy.asrs.service.LocNormalLogService;
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;
@@ -44,6 +44,8 @@
WaitPakinLogService waitPakinLogService;
@Autowired
ErpService erpService;
+ @Autowired
+ LocNormalLogService locNormalLogService;
@Override
public List<LocNormal> getLocNormalData() {
@@ -58,11 +60,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
@@ -86,6 +112,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));
@@ -95,6 +132,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琛ㄦ彃鍏ユ墜鍔ㄥ叆搴撴暟鎹�
@@ -103,14 +151,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));
@@ -118,14 +166,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);
}
// 骞充粨鍏ュ簱閫昏緫
@@ -133,6 +192,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);
}
}
}
@@ -149,24 +219,53 @@
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()));
+ 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);
}
+ // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+ 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(), list.get(i).getAnfme().doubleValue());
+ 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());
+ }
+ // 鐢熸垚骞充粨鍑哄叆搴撹褰�
+ 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());
@@ -244,6 +343,18 @@
// 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));
@@ -252,6 +363,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);
}
}
} else {
@@ -347,10 +469,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);
+ }
}
}
}
@@ -366,12 +510,16 @@
}
@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()) ;
+ if(matList.get(i).getFnumber().equals(matnr)){
+ locNormal = baseMapper.queryLocNorlMatnr(matnr, mnemonic);
+ }else {
+ continue;
+ }
if (locNormal.size() > 0) {
for (LocNormal e:locNormal) {
LocNormal obj = new LocNormal();
@@ -399,4 +547,8 @@
}
return locNormalResult;
}
+
+ public Integer getAllLocDetlData(List<LocNormal> list) {
+ return baseMapper.updateMatStatus(list);
+ }
}
--
Gitblit v1.9.1