From ebf0db91e09be33fcbfe97ed5b91965dc2e61dfd Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期四, 01 八月 2024 10:54:26 +0800
Subject: [PATCH] 1. 托盘管理 2. 入库通知档导入功能 3. 工作档明细 新增来源单据类型及单据编号 4. 库存明细统计表 增加一栏ERP数量(需跟ERP确认接口实现方式)。 5. 存货档案、单据管理、库存管理可以支持模糊搜索(各个单据界面)。
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkMastHandler.java | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 105 insertions(+), 15 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkMastHandler.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkMastHandler.java
index e9e63ee..35e5835 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkMastHandler.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/task/handler/WorkMastHandler.java
@@ -1,5 +1,6 @@
package com.zy.asrs.wms.task.handler;
+import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.zy.asrs.common.wms.entity.*;
import com.zy.asrs.common.wms.service.*;
@@ -12,6 +13,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -35,6 +37,8 @@
private WaitPakinService waitPakinService;
@Autowired
private OrderDetlService orderDetlService;
+ @Autowired
+ private BasZpalletService basZpalletService;
public ReturnT<String> start(WrkMast wrkMast) {
// 99.鍏ュ簱瀹屾垚
@@ -106,21 +110,21 @@
}
}
- // 鏇存柊鍏ュ簱閫氱煡妗� ioStatus ===>> Y
+ // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+ OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId);
+ if (orderDetl==null){
+ orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, hostId);
+ }
try {
-// Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
-// .eq("zpallet", wrkDetl.getZpallet())
-// .eq("matnr", wrkDetl.getMatnr())
-// .eq("anfme", wrkDetl.getAnfme());
-// if (Cools.isEmpty(wrkDetl.getBatch())) {
-// wrapper.eq("batch", wrkDetl.getBatch());
-// } else {
-// wrapper.isNull("batch").or().eq("batch", "");
-// }
-// WaitPakin setParam = new WaitPakin();
-// setParam.setIoStatus("Y");
-// setParam.setModiTime(now);
-// waitPakinService.update(setParam, wrapper);
+ if(!Cools.isEmpty(orderDetl)){
+ if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+ orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) {
+// exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+// wrkMast.getWrkNo(), wrkMast.getLocNo());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鍏ㄦ澘鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+ }
} catch (Exception ignore){}
}
@@ -131,6 +135,7 @@
locMast.setIoTime(now);
locMast.setModiTime(now);
locMast.setPic(wrkMast.getPic());
+ locMast.setFullPlt(wrkMast.getFullPlt());
if (!locMastService.updateById(locMast)) {
exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
}
@@ -151,6 +156,24 @@
exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
}
}
+
+ // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+ OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId);
+ if (orderDetl==null){
+ orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, hostId);
+ }
+ try {
+ if(!Cools.isEmpty(orderDetl)){
+ if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+ orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) {
+// exceptionHandle("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+// wrkMast.getWrkNo(), wrkMast.getLocNo());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鎷f枡鍏ュ簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
+ }
+ }
+ } catch (Exception ignore){}
+
}
// 淇敼搴撲綅鐘舵�� Q ====>> F
if (locMast.getLocSts().equals("Q")) {
@@ -315,7 +338,22 @@
exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 宸ヤ綔鏄庣粏妗d负绌猴紱[workNo={0}]", wrkMast.getWrkNo());
}
for (WrkDetl wrkDetl : wrkDetls101) {
- // todo:luxiaotao 3)淇敼鍑哄簱閫氱煡妗� status ==> Y
+ // 鏇存柊璁㈠崟瀹屾垚鏁伴噺
+ OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), hostId);
+ if (orderDetl==null){
+ orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), null, hostId);
+ }
+ try {
+ if(!Cools.isEmpty(orderDetl)){
+ if (!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
+ orderDetl.getBatch(), wrkDetl.getAnfme(), hostId)) {
+// exceptionHandle("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]",
+// wrkMast.getWrkNo(), wrkMast.getLocNo());
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg("鍏ㄦ澘鍑哄簱 ===>> 鏇存柊璁㈠崟瀹屾垚鏁伴噺澶辫触; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
+ }
+ }
+ } catch (Exception ignore){}
}
// 鍒犻櫎宸ヤ綔妗f簮搴撲綅鐨勫簱瀛樻槑缁�
if (!locDetlService.remove(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo, wrkMast.getSourceLocNo()).eq(LocDetl::getHostId, hostId))) {
@@ -353,6 +391,7 @@
// 淇敼宸ヤ綔涓绘。鐘舵��
wrkMast.setWrkSts(200L);//200.搴撳瓨鏇存柊瀹屾垚
wrkMast.setModiTime(now);
+ savePicInZpallet(wrkMast.getBarcode(),wrkMast.getPic(),wrkMast.getHostId());
if (!wrkMastService.updateById(wrkMast)) {
exceptionHandle("鏇存柊鍑哄簱瀹屾垚鐘舵�佸け璐�;[workNo={0}]", wrkMast.getWrkNo());
}
@@ -365,4 +404,55 @@
return SUCCESS;
}
+ /*
+ 淇濆瓨鍥剧墖鍒版墭鐩樼鐞嗛〉闈�
+ */
+ private void savePicInZpallet(String barcode, String pic, Long hostId){
+
+ if(Cools.isEmpty(pic)){
+ return;
+ }
+
+ BasZpallet basZpallet = basZpalletService.getOne(new LambdaQueryWrapper<BasZpallet>().eq(BasZpallet::getZpallet, barcode));
+ List<String> list = null;
+ if(Cools.isEmpty(basZpallet)){
+ basZpallet = new BasZpallet();
+ basZpallet.setHostId(hostId);
+ basZpallet.setCreateTime(new Date());
+ basZpallet.setModifyTime(new Date());
+
+ list = new ArrayList<>();
+ list.add(pic);
+ basZpallet.setPicture(JSON.toJSONString(list));
+
+ basZpalletService.save(basZpallet);
+
+ }else {
+ basZpallet.setHostId(hostId);
+ basZpallet.setModifyTime(new Date());
+
+ String picture = basZpallet.getPicture();
+ list = JSON.parseArray(picture, String.class);
+ if(list.size() >= 5){
+ list.remove(0);
+ }
+ list.add(pic);
+
+ basZpallet.setPicture(JSON.toJSONString(list));
+
+ basZpalletService.updateById(basZpallet);
+ }
+
+ }
+
+ public static void main(String[] args) {
+ String str = "['abc','bcd','cdg']";
+ List<String> list = JSON.parseArray(str, String.class);
+ System.out.println(list);
+ list.remove(0);
+ System.out.println(list);
+ list.add("aaa");
+ System.out.println(list);
+ }
+
}
--
Gitblit v1.9.1