From 089c397e3eff318d9cec8edacaf6d0f70165c38a Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 09 二月 2026 13:11:15 +0800
Subject: [PATCH] 入出库日志优化
---
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++------------
1 files changed, 39 insertions(+), 12 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 1a1a1d4..aeeef26 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -20,6 +20,7 @@
import com.zy.common.utils.Synchro;
import com.zy.system.entity.User;
import com.zy.system.service.SaasLogService;
+import lombok.Synchronized;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -665,7 +666,7 @@
orderService.checkComplete(order.getOrderNo());
SaasUtils.insertLog(0,jsonLocNo,jsonOrderDetl.getMatnr(), jsonOrderDetl.getAnfme(),user.getUsername(),
- null,null,null,null,null);
+ null,null,null,null,null,null,"璁㈠崟涓婃灦锛�"+jsonOrderDetl.getAnfme());
}
@@ -807,7 +808,7 @@
}
}
SaasUtils.insertLog(1,jsonLocNo,jsonOrderDetl.getMatnr(), jsonOrderDetl.getAnfme(),user.getUsername(),
- null,null,null,null,null);
+ null,null,null,null,null,null,"璁㈠崟涓嬫灦锛�" +jsonOrderDetl.getAnfme() );
}
return R.ok("涓嬫灦瀹屾垚");
@@ -1232,11 +1233,12 @@
plaService.updateById(pla);
SaasUtils.insertLog(0,locNo,pla.getBrand(),pla.getWeightAnfme(),user.getUsername(),
- null,pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop());
+ null,pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop(),null,"pla鍏ュ簱:" + pla.getWeightAnfme());
}
@Override
@Transactional
+ @Synchronized
public void plaPakout(String brand, String locNo, String batch, Integer packageNo, String orderNo, String plaQtyId, String wrkNo, Double anfme, boolean isReplace) {
Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo,brand);
@@ -1266,13 +1268,14 @@
manPakOut.setCount(manPakOut.getCount() + anfme);
if (manPakOut.getAnfme().equals(manPakOut.getCount())){
manPakOut.setStatus(1);
+ manPakOut.setUpdateTime(new Date());
manPakOutService.updateById(manPakOut);
}
//鏇存柊plaQty淇℃伅
plaQty.setPakoutTime(Utils.getDateStr(new Date()));
plaQtyService.updateById(plaQty);
-
+ double beforeWeightAnfme = pla.getWeightAnfme();
//鏇存柊pla鏄庣粏
pla.setWeightAnfme(pla.getWeightAnfme() - anfme);
pla.setQtyAnfme(pla.getQtyAnfme() - anfme);
@@ -1282,14 +1285,17 @@
}else {
pla.setStatus(GlobleParameter.PLA_STATUS_3);
}
+ log.info("pla鍑哄簱v1,璁㈠崟鍑哄簱锛屾洿鏂颁负寰呭嚭搴撴垨鍒欏叏閮ㄥ嚭搴擄紝pla:{},anfme:{}锛屾槸鍚︽浛鎹�:{}",pla,anfme,isReplace);
plaService.updateById(pla);
SaasUtils.insertLog(1,locNo,pla.getBrand(),anfme,null,null,
- pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop());
+ pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop(),null,"pla鍑哄簱鍓嶏細" + beforeWeightAnfme+",鍑哄簱锛�" + anfme);
//鏇存柊璁㈠崟鏄庣粏
Order order = orderService.selectByNo(orderNo);
OrderDetl orderDetl = orderDetlService.selectById(plaQty.getOrderDetlId());
-
+ if (orderDetl == null){
+ throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦ㄦ垨鑰呬笉鍖归厤");
+ }
orderDetl.setQty(orderDetl.getQty() + anfme);
orderDetlService.updateById(orderDetl);
@@ -1300,6 +1306,7 @@
@Override
public void plaPackOutWithoutOrder(String brand, String batch, Integer packageNo, Double anfme) {
Pla pla = plaService.selectByBatchAndPackageNo(batch, packageNo,brand);
+ double beforeWeightAnfme = pla.getWeightAnfme();
if(Cools.isEmpty(pla)){
throw new CoolException("褰撳墠鐗╂枡鏄庣粏涓嶅瓨鍦�");
}
@@ -1310,7 +1317,7 @@
throw new CoolException("褰撳墠鐗╂枡鍓╀綑搴撳瓨涓嶈冻");
}
-
+ log.info("鏃犺鍗曟嫞璐у嚭搴�,鏇存柊涓哄緟鍑哄簱鎴栧垯鍏ㄩ儴鍑哄簱锛宲la:{},anfme:{}",pla,anfme);
pla.setWeightAnfme(pla.getWeightAnfme() - anfme);
if(pla.getWeightAnfme() > 0){
pla.setStatus(GlobleParameter.PLA_STATUS_3);
@@ -1320,7 +1327,8 @@
plaService.updateById(pla);
- SaasUtils.insertLog(1,pla.getLocNo(),pla.getBrand(),anfme,null,null,pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop());
+ SaasUtils.insertLog(1,pla.getLocNo(),pla.getBrand(),anfme,null,null,
+ pla.getBatch(),pla.getPackageNo(),pla.getOwner(),pla.getWorkshop(),null,"pla鎵嬪姩鍑哄簱鍓�:" + beforeWeightAnfme +",鍑哄簱锛�" + anfme);
}
@@ -1339,7 +1347,7 @@
plaService.updateById(plaNew);
plaOld.setStatus(GlobleParameter.PLA_STATUS_1);
- plaOld.setQtyAnfme(plaOld.getQtyAnfme() - manPakOut.getCount());
+ plaOld.setQtyAnfme(0.0);
plaService.updateById(plaOld);
@@ -1354,6 +1362,7 @@
manPakOut.setMaktx(plaNew.getBrand());
manPakOut.setBatch(plaNew.getBatch());
manPakOut.setBarcode(plaNew.getPackageNo() + "");
+ manPakOut.setUpdateTime(new Date());
manPakOutService.updateById(manPakOut);
@@ -1374,16 +1383,34 @@
throw new CoolException("璇锋鏌ヨ緭鍏ョ殑搴撲綅鐮�");
}
plaEntityWrapper.eq("loc_no",barcode);
-
+ plaEntityWrapper.notLike("status","鍏ㄩ儴鍑哄簱");
}else {
throw new CoolException("鏉$爜淇℃伅鏈夎!");
}
-
-
List<Pla> plaList = plaService.selectList(plaEntityWrapper);
if (Cools.isEmpty(plaList)){
throw new CoolException("鏈煡璇㈠埌搴撳瓨鐗╂枡淇℃伅");
}
return plaList;
}
+
+ public boolean checkMaximum(String locNo, int packageNum){
+
+ Node node = nodeService.selectByUuid(locNo);
+ Node nodeParent = nodeService.selectById(node.getParentId());
+
+ if(Cools.isEmpty(nodeParent.getMajor())){
+ return true;
+ }
+
+ //褰撳墠搴撳瓨鍖呮暟
+ int count = plaService.selectCount(new EntityWrapper<Pla>().eq("loc_no", locNo)
+ .notIn("status", "鍏ㄩ儴鍑哄簱"));
+
+ if(nodeParent.getMajor() < count + packageNum){
+ return false;
+ }
+
+ return true;
+ }
}
--
Gitblit v1.9.1