From 431f88fdade07a22b636714f1690cee3a55668d0 Mon Sep 17 00:00:00 2001
From: cp <513960435@qq.com>
Date: 星期三, 30 十月 2024 13:35:56 +0800
Subject: [PATCH] 完善

---
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java |   93 ++++++++++++++++++++++++++++++----------------
 1 files changed, 61 insertions(+), 32 deletions(-)

diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
index 1637675..c2d6f71 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
@@ -9,6 +9,7 @@
 import com.zy.asrs.common.openapi.entity.param.CombParam;
 import com.zy.asrs.common.openapi.entity.param.WarehouseOutMergeBoardManyParam;
 import com.zy.asrs.common.openapi.entity.param.WarehouseOutPickMergeParam;
+import com.zy.asrs.common.web.BaseController;
 import com.zy.asrs.common.wms.entity.*;
 import com.zy.asrs.common.wms.mapper.LocDetlMapper;
 import com.zy.asrs.common.wms.service.*;
@@ -399,7 +400,7 @@
 
     @Override
     @Transactional
-    public R WarehouseOutV1(CombParam combParam, Long hostId) {
+    public R WarehouseOutV1(CombParam combParam, Long hostId,Long userId) {
         //鍒ゆ柇搴撲綅鐘舵��
         LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, combParam.getLocno()).eq(LocMast::getHostId,hostId).eq(LocMast::getWhsType,0L));
         if (Cools.isEmpty(locMast)){
@@ -427,8 +428,8 @@
             if (combMat.getAnfme() > locDetl.getAnfme()){
                 return R.error("鎷i�夋暟閲忛敊璇紝瓒呭嚭搴撳瓨鏁伴噺");
             }
-            if (!Cools.isEmpty(combParam.getOrderNo())){
-                Order order = orderService.selectByNo(combParam.getOrderNo(), hostId);
+            if (!Cools.isEmpty(combMat.getOrderNo())){
+                Order order = orderService.selectByNo(combMat.getOrderNo(), hostId);
                 if (Cools.isEmpty(order)){
                     continue;
                 }
@@ -443,7 +444,7 @@
                     throw new CoolException("鎷i�夋暟閲忓嚭閿�,璁㈠崟鍓╀綑鍑哄簱鏁伴噺灏忎簬宸插嚭搴撴暟閲忎笌灏嗘嫞閫夋暟閲忎箣鍜岋紒锛侊紒");
                 }
                 // 淇敼璁㈠崟鏄庣粏浣滀笟鏁伴噺
-                if (!orderDetlService.increaseWorkQtyByOrderNo(combParam.getOrderNo(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), hostId)) {
+                if (!orderDetlService.increaseWorkQtyByOrderNo(combMat.getOrderNo(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), hostId)) {
                     throw new CoolException("淇敼鍗曟嵁鏄庣粏宸ヤ綔鏁伴噺澶辫触");
                 }
                 // 淇敼璁㈠崟鏄庣粏瀹屾垚鏁伴噺
@@ -451,7 +452,7 @@
                     throw new CoolException("淇敼鍗曟嵁鏄庣粏瀹屾垚鏁伴噺澶辫触");
                 }
                 // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
-                orderService.checkComplete(combParam.getOrderNo(), hostId);
+                orderService.checkComplete(combMat.getOrderNo(), hostId);
             }
             try {
                 //澶勭悊搴撳瓨淇℃伅
@@ -461,8 +462,11 @@
                 adjDetl.setBatch(locDetl.getBatch());
                 adjDetl.setOriQty(locDetl.getAnfme());
                 adjDetl.setMemo("WarehouseOutV1-pick");
+                adjDetl.setModiUser(userId);
+                adjDetl.setAppeUser(userId);
+                adjDetl.setAppeTime(new Date());
                 adjDetl.setModiTime(new Date());
-
+                adjDetl.setOrderNo(combMat.getOrderNo());
                 if (combMat.getAnfme().equals(locDetl.getAnfme())){
                     adjDetl.setAdjQty(0D);
                     //搴撳瓨鐩哥瓑鍒犻櫎鏁版嵁
@@ -470,8 +474,8 @@
                     int count = locDetlService.count(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getLocNo,combParam.getLocno()).eq(LocDetl::getHostId, hostId));
                     if (count == 0){
                         LocMast locMast1 = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, combParam.getLocno()).eq(LocMast::getHostId, hostId));
-                        locMast1.setLocSts("O");
-                        locMastService.updateById(locMast1);
+//                        locMast1.setLocSts("O");
+//                        locMastService.updateById(locMast1);
                     }
                 } else {
                     BigDecimal subtract = BigDecimal.valueOf(locDetl.getAnfme()).subtract(BigDecimal.valueOf(combMat.getAnfme()));
@@ -492,7 +496,7 @@
 
     @Override
     @Transactional
-    public R WarehouseOutPickMergeV1(WarehouseOutPickMergeParam param, Long hostId) {
+    public R WarehouseOutPickMergeV1(WarehouseOutPickMergeParam param, Long hostId,Long userId) {
         //鍒ゆ柇搴撲綅鐘舵��
         LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, param.getLocNo()).eq(LocMast::getHostId,hostId).eq(LocMast::getWhsType,0L));
         if (Cools.isEmpty(locMast)){
@@ -541,6 +545,14 @@
             locDetl.setId(null);
             locDetl.setLocNo(param.getLocNo());
             locDetl.setBarcode(locMast.getBarcode());
+            Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr,locDetl.getMatnr()));
+            locDetl.setHostId(hostId);
+            locDetl.setMaktx(mat.getMaktx());
+            if(hostId==1){
+                locDetl.setOwner("瀹佹尝浠�");
+            }else{
+                locDetl.setOwner("鏂版槍浠�");
+            }
 
             String matKey = locDetl.getMatnr();
             if (!Cools.isEmpty(locDetl.getBatch())) {
@@ -604,7 +616,7 @@
                         continue;
                     }
                     if (orderDetl.getAnfme() < (orderDetl.getWorkQty() + orderDto.getAnfme())) {
-                        throw new CoolException("鎷i�夋暟閲忓嚭閿�,璁㈠崟鍓╀綑鍑哄簱鏁伴噺灏忎簬宸插嚭搴撴暟閲忎笌灏嗘嫞閫夋暟閲忎箣鍜岋紒锛侊紒");
+                        throw new CoolException("骞舵澘鏁伴噺鍑洪敊,璁㈠崟鍓╀綑鍑哄簱鏁伴噺灏忎簬宸插嚭搴撴暟閲忎笌灏嗗苟鏉挎暟閲忎箣鍜岋紒锛侊紒");
                     }
                     // 淇敼璁㈠崟鏄庣粏浣滀笟鏁伴噺
                     if (!orderDetlService.increaseWorkQtyByOrderNo(orderDto.getOrderNo(), locDetl.getMatnr(), locDetl.getBatch(), orderDto.getAnfme(), hostId)) {
@@ -616,34 +628,39 @@
                     }
                     // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
                     orderService.checkComplete(orderDto.getOrderNo(), hostId);
+
+                    try {
+                        //澶勭悊搴撳瓨淇℃伅
+                        AdjDetl adjDetl = new AdjDetl();
+                        adjDetl.setLocNo(locDetl.getLocNo());
+                        adjDetl.setMatnr(locDetl.getMatnr());
+                        adjDetl.setBatch(locDetl.getBatch());
+                        adjDetl.setOriQty(originAnfme);
+                        adjDetl.setAdjQty(locDetl.getAnfme());
+                        adjDetl.setMemo("WarehouseOutV1-pick");
+                        adjDetl.setModiUser(userId);
+                        adjDetl.setAppeUser(userId);
+                        adjDetl.setAppeTime(new Date());
+                        adjDetl.setModiTime(new Date());
+                        adjDetl.setOrderNo(order.getOrderNo());
+                        if (!adjDetlService.save(adjDetl)) {
+                            throw new CoolException("淇濆瓨搴撳瓨璋冩暣璁板綍澶辫触");
+                        }
+                    }catch (Exception e){
+                        e.printStackTrace();
+                        throw new CoolException("鏇存柊搴撳瓨鏁版嵁鍑洪敊" + e.getMessage());
+                    }
                 }
             }
 
-            try {
-                //澶勭悊搴撳瓨淇℃伅
-                AdjDetl adjDetl = new AdjDetl();
-                adjDetl.setLocNo(locDetl.getLocNo());
-                adjDetl.setMatnr(locDetl.getMatnr());
-                adjDetl.setBatch(locDetl.getBatch());
-                adjDetl.setOriQty(originAnfme);
-                adjDetl.setAdjQty(locDetl.getAnfme());
-                adjDetl.setMemo("WarehouseOutV1-pick");
-                adjDetl.setModiTime(new Date());
 
-                if (!adjDetlService.save(adjDetl)) {
-                    throw new CoolException("淇濆瓨搴撳瓨璋冩暣璁板綍澶辫触");
-                }
-            }catch (Exception e){
-                e.printStackTrace();
-                throw new CoolException("鏇存柊搴撳瓨鏁版嵁鍑洪敊" + e.getMessage());
-            }
         }
         return R.ok();
     }
 
     @Override
     @Transactional
-    public R WarehouseOutMergeBoardMany(WarehouseOutMergeBoardManyParam param, Long hostId) {
+    public R WarehouseOutMergeBoardMany(WarehouseOutMergeBoardManyParam param, Long hostId,Long userId) {
         WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode(), hostId);
         if (wrkMast == null) {
             throw new CoolException("宸ヤ綔妗d笉瀛樺湪");
@@ -663,7 +680,7 @@
         for (WrkDetl wrkDetl : wrkDetls) {
             String matKey = wrkDetl.getMatnr();
             if (!Cools.isEmpty(wrkDetl.getBatch())) {
-                matKey += "_" + wrkDetl.getBatch();
+                matKey += "_" + wrkDetl.getBatch() + "-" +wrkDetl.getOrderNo();
             }
 
             MergeBoardManyDto dto = new MergeBoardManyDto();
@@ -676,18 +693,25 @@
         for (OrderDetl orderDetl : param.getCombMats()) {
             String matKey = orderDetl.getMatnr();
             if (!Cools.isEmpty(orderDetl.getBatch())) {
-                matKey += "_" + orderDetl.getBatch();
+                matKey += "_" + orderDetl.getBatch() + "-" +orderDetl.getOrderNo();
             }
 
             MergeBoardManyDto dto = wrkData.get(matKey);
             if(dto == null){
                 WrkDetl wrkDetl = new WrkDetl();
                 wrkDetl.sync(orderDetl);
+                Mat mat=matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr,wrkDetl.getMatnr()));
+                wrkDetl.sync(mat);
                 wrkDetl.setId(null);
                 wrkDetl.setWrkNo(wrkMast.getWrkNo());
                 wrkDetl.setWrkMastId(wrkMast.getId());
+                wrkDetl.setZpallet(wrkMast.getBarcode());
                 wrkDetl.setIoTime(new Date());
-
+                wrkDetl.setHostId(hostId);
+                wrkDetl.setAppeUser(userId);
+                wrkDetl.setAppeTime(new Date());
+                wrkDetl.setModiUser(userId);
+                wrkDetl.setModiTime(new Date());
                 ArrayList<PickMergeOrderDto> orderDtos = new ArrayList<>();
                 orderDtos.add(new PickMergeOrderDto(orderDetl.getOrderNo(), orderDetl.getAnfme()));
 
@@ -700,8 +724,11 @@
                 List<PickMergeOrderDto> orders = dto.getOrders();
 
                 wrkDetl.setAnfme(wrkDetl.getAnfme() + orderDetl.getAnfme());
+                wrkDetl.setIoTime(new Date());
+                wrkDetl.setHostId(hostId);
+                wrkDetl.setModiUser(userId);
+                wrkDetl.setModiTime(new Date());
                 orders.add(new PickMergeOrderDto(orderDetl.getOrderNo(), orderDetl.getAnfme()));
-
                 dto.setWrkDetl(wrkDetl);
                 dto.setOrders(orders);
             }
@@ -750,6 +777,8 @@
                     }
                     // 淇敼璁㈠崟鐘舵�� 浣滀笟涓� ===>> 宸插畬鎴�
                     orderService.checkComplete(orderDto.getOrderNo(), hostId);
+
+
                 }
             }
         }

--
Gitblit v1.9.1