From 67826a2c51bbc013db409dd1a5e29dd4ba52fd72 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期二, 20 一月 2026 09:27:47 +0800
Subject: [PATCH] 初始化

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |  145 +++++++++++++++++++++++++----------------------
 1 files changed, 77 insertions(+), 68 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 6846da3..25a3c13 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -82,9 +82,6 @@
         if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
             throw new CoolException(BaseRes.PARAM);
         }
-//        if(param.getCombMats().size()>1){
-//            throw new CoolException("璇锋彁鍙栦竴涓晢鍝侊紝鎴栬�呭埛鏂伴噸鏂扮粍鎵橈紒");
-//        }
         // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
         if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
                 eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
@@ -94,10 +91,6 @@
         if (param.getBarcode().length() != 8) {
             throw new CoolException("鏉$爜闀垮害涓嶆槸8浣�===>>" + param.getBarcode());
         }
-//        if (param.getCombMats().size()>1){
-//            throw new CoolException("涓嶅厑璁告贩鏂�===>>" + param.getBarcode());
-//        }
-
         int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", param.getBarcode()));
         int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()));
         int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode()));
@@ -128,7 +121,7 @@
             for (DetlDto detlDto : detlDtos) {
                 Mat mat = matService.selectByMatnr(detlDto.getMatnr());
                 if (Cools.isEmpty(mat)) {
-                    throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+                    throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�---->" +  detlDto.getMatnr());
                 }
                 WaitPakin waitPakin = new WaitPakin();
                 waitPakin.sync(mat);
@@ -642,21 +635,27 @@
 
     @Override
     @Transactional
-    public void adjustNew(MobileAdjustParam param, Boolean re, Long userId) {
+    public void adjustNew(CombParam param, Boolean re, Long userId) {
         WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode()));
         if (Cools.isEmpty(wrkMast)) {
             throw new CoolException("鎵樼洏鐮�:" + param.getBarcode() + " 鏃犳湁鏁堝伐浣滄。");
         }
-
-
+        if (wrkMast.getWrkSts() != 14){
+             throw new CoolException("骞舵澘鏃犳晥锛屽伐浣滄。" + wrkMast.getWrkNo() + "鏈畬鎴愭垨宸插叆搴�");
+        }
+        if (wrkMast.getIoType() != 104) {
+            throw new CoolException("宸ヤ綔妗�:" + wrkMast.getWrkNo() + " 涓嶆槸骞舵澘绫诲瀷");
+        }
         List<CombParam.CombMat> combMats = param.getCombMats();
-        String recordRecordLog = "鎵樼洏鐮�" + param.getBarcode() + "鐩樼偣璁板綍锛�";
+        String recordRecordLog = "鎵樼洏鐮�" + param.getBarcode() + "骞舵澘璁板綍锛�";
         AdjDetl adjDetl = new AdjDetl();
         adjDetl.setAppeTime(new Date());
         adjDetl.setAppeUser(userId);
         adjDetl.setModiTime(new Date());
         adjDetl.setModiUser(userId);
-        adjDetl.setLocNo(wrkMast.getSourceLocNo());
+        adjDetl.setLocNo(wrkMast.getSourceLocNo()); // 搴撲綅
+        adjDetl.setBarcode( param.getBarcode()); //  鎵樼洏鐮�
+        adjDetl.setWorkNo(wrkMast.getWrkNo().toString()); //骞舵澘瀵瑰簲鐨勫伐浣滃彿
 
         for (CombParam.CombMat wrkDetl : combMats) {
             WrkDetl wrkDetlOld = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>()
@@ -667,84 +666,94 @@
 
 
             adjDetl.setMatnr(wrkDetl.getMatnr());
-//            adjDetl.setBatch(wrkDetl.getBatch());
-            adjDetl.setAdjQty(wrkDetl.getAnfme());
+            adjDetl.setBatch(wrkDetl.getBatch());
+            adjDetl.setAdjQty(wrkDetl.getAnfme()); //鍙樻洿鏁伴噺
 
             if (Cools.isEmpty(wrkDetlOld)) {
                 WrkDetl detl = new WrkDetl();
                 detl.sync(wrkDetl);
                 detl.setWrkNo(wrkMast.getWrkNo());
                 detl.setZpallet(wrkMast.getBarcode());
-                detl.setIoTime(new Date());
-                wrkDetlService.insert(detl);
+                detl.setIoTime(wrkMast.getIoTime()); //骞舵澘鏂板鐨勭墿鏂欎繚鎸佸師鏈夌墿鏂欑殑鏃堕棿
+                detl.setWeight(0.0); // 閲嶉噺 鍚庨潰濡傛灉闇�瑕� 鍐嶄慨鏀�
+                detl.setModiUser(userId); // 淇敼浜哄憳
+                detl.setAppeUser(userId); // 娣诲姞浜哄憳
+                wrkDetlService.insert(detl); // 鎻掑叆宸ヤ綔鏄庣粏
                 recordRecordLog = recordRecordLog + "\n" + "鏂板涓�鏉℃槑缁�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鏁伴噺锛�" + wrkDetl.getAnfme();
-                adjDetl.setOriQty(0.0);
+                adjDetl.setOriQty(0.0); // 鍘熸暟閲�
                 adjDetlService.insert(adjDetl);
 
-            } else if (wrkDetlOld.getAnfme() != wrkDetl.getAnfme()) {
+            }
+//            else if (wrkDetlOld.getAnfme() != wrkDetl.getAnfme()) {
+//                wrkDetlService.updateAnfme(wrkDetl.getAnfme() + wrkDetlOld.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+//                recordRecordLog = recordRecordLog + "\n" + "鏇存柊涓�鏉℃槑缁�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鍘熸暟閲忥細" + wrkDetlOld.getAnfme() + "\t鏂板鏁伴噺锛�" + wrkDetl.getAnfme();
+//                adjDetl.setOriQty(wrkDetlOld.getAnfme()); // 鍘熸暟閲�
+//                adjDetlService.insert(adjDetl);
+//
+//            }
+//            else if (wrkDetlOld.getAnfme() == wrkDetl.getAnfme()) {
+//                recordRecordLog = recordRecordLog + "\n" + "涓�鏉℃槑缁嗕繚鎸佷笉鍙�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鏁伴噺锛�" + wrkDetlOld.getAnfme();
+//                continue;
+//            }
+            else {
+//                throw new CoolException("鎵樼洏鐮�:" + param.getBarcode() + " 鏈煡寮傚父锛岃鑱旂郴绠$悊鍛�");
                 wrkDetlService.updateAnfme(wrkDetl.getAnfme() + wrkDetlOld.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
-                recordRecordLog = recordRecordLog + "\n" + "鏇存柊涓�鏉℃槑缁�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鍘熸暟閲忥細" + wrkDetlOld.getAnfme() + "\t鏂版暟閲忥細" + wrkDetl.getAnfme();
-                adjDetl.setOriQty(wrkDetlOld.getAnfme());
+                recordRecordLog = recordRecordLog + "\n" + "鏇存柊涓�鏉℃槑缁�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鍘熸暟閲忥細" + wrkDetlOld.getAnfme() + "\t鏂板鏁伴噺锛�" + wrkDetl.getAnfme();
+                adjDetl.setOriQty(wrkDetlOld.getAnfme()); // 鍘熸暟閲�
                 adjDetlService.insert(adjDetl);
-
-            } else if (wrkDetlOld.getAnfme() == wrkDetl.getAnfme()) {
-                recordRecordLog = recordRecordLog + "\n" + "涓�鏉℃槑缁嗕繚鎸佷笉鍙�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鏁伴噺锛�" + wrkDetlOld.getAnfme();
-                continue;
-            } else {
-                throw new CoolException("鎵樼洏鐮�:" + param.getBarcode() + " 鏈煡寮傚父锛岃鑱旂郴绠$悊鍛�");
             }
         }
         log.info(recordRecordLog);
     }
 
     @Override
-    public void combToWms(WaitPakin waitPakin) {
-        int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet", waitPakin.getBarcode()));
-        int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", waitPakin.getBarcode()));
-        WrkMast wrkMast = wrkMastService.selectByBarcode(waitPakin.getBarcode());
-        int countwait = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("zpallet", waitPakin.getBarcode()));
-        if (countLoc > 0 || (countWrk > 0 && wrkMast.getWrkSts() != 15)) {
-            throw new CoolException("缁勬墭妗�/宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + waitPakin.getBarcode());
+    public void inventory(CombParam combParam, Boolean aTrue, Long userId) {
+        WrkMast wrkMast = wrkMastService.selectByBarcode(combParam.getBarcode());
+        if (Cools.isEmpty(wrkMast)) {
+            throw new CoolException("鎵樼洏鐮�:" + combParam.getBarcode() + " 鏃犳湁鏁堝伐浣滄。");
+        }
+        if (wrkMast.getWrkSts() != 14) {
+            throw new CoolException("鐩樼偣鏃犳晥锛屽伐浣滄。" + wrkMast.getWrkNo() + "鏈畬鎴愭垨宸插叆搴�");
+        }
+        if (wrkMast.getIoType() != 107) {
+            throw new CoolException("宸ヤ綔妗�:" + wrkMast.getWrkNo() + " 涓嶆槸鐩樼偣绫诲瀷");
         }
 
-        Date now = new Date();
-        // 鐢熸垚鍏ュ簱閫氱煡妗�
-        List<DetlDto> detlDtos = new ArrayList<>();
-        Mat byId = matService.selectById(waitPakin.getModiUser());
-        DetlDto detlDto = new DetlDto(byId.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme(), waitPakin.getProType(), waitPakin.getTemp2(), waitPakin.getOutOrderNo());
-            detlDto.setMemo(detlDto.getMemo());
-            if (DetlDto.has(detlDtos, detlDto)) {
-                DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
-                assert one != null;
-                one.setAnfme(one.getAnfme() + detlDto.getAnfme());
-            } else {
-                detlDtos.add(detlDto);
+        List<CombParam.CombMat> combMats = combParam.getCombMats();
+        String recordRecordLog = "鎵樼洏鐮�" + combParam.getBarcode() + "鐩樼偣璁板綍锛�";
+
+        for (CombParam.CombMat wrkDetl : combMats) {
+            WrkDetl wrkDetlOld = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>()
+                            .eq("wrk_no", wrkMast.getWrkNo())
+                            .eq("matnr", wrkDetl.getMatnr())
+//                    .eq("batch",Cools.isEmpty(wrkDetl.getBatch())?"":wrkDetl.getBatch())
+            );
+
+            if (Cools.isEmpty(wrkDetlOld)) {
+                WrkDetl detl = new WrkDetl();
+                detl.sync(wrkDetl);
+                detl.setWrkNo(wrkMast.getWrkNo());
+                detl.setZpallet(wrkMast.getBarcode());
+                detl.setIoTime(wrkMast.getIoTime()); //鐩樼偣鏂板鐨勭墿鏂欎繚鎸佸師鏈夌墿鏂欑殑鏃堕棿
+                detl.setWeight(0.0); // 閲嶉噺 鍚庨潰濡傛灉闇�瑕� 鍐嶄慨鏀�
+                detl.setModiUser(userId); // 淇敼浜哄憳
+                detl.setAppeUser(userId); // 娣诲姞浜哄憳
+                wrkDetlService.insert(detl); // 鎻掑叆宸ヤ綔鏄庣粏
+                recordRecordLog = recordRecordLog + "\n" + "鏂板涓�鏉℃槑缁�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鏁伴噺锛�" + wrkDetl.getAnfme();
             }
 
-
-        for (DetlDto dto : detlDtos) {
-            Mat mat = matService.selectByMatnr(dto.getMatnr());
-            if (Cools.isEmpty(mat)) {
-                throw new CoolException(dto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+            // 鏇存柊鏁伴噺
+            else if (!wrkDetlOld.getAnfme().equals(wrkDetl.getAnfme())) {
+                wrkDetlService.updateInventoryAnfme(wrkDetl.getAnfme(), wrkMast.getWrkNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
+                recordRecordLog = recordRecordLog + "\n" + "鏇存柊涓�鏉℃槑缁�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鍘熸暟閲忥細" + wrkDetlOld.getAnfme() + "\t鏇存柊鏁伴噺锛�" + wrkDetl.getAnfme();
             }
-            WaitPakin waitPakin1 = new WaitPakin();
-            waitPakin1.sync(mat);
-            waitPakin1.setProType(dto.getProType());
-            waitPakin1.setTemp2(dto.getTemp2());
-            waitPakin1.setOutOrderNo(dto.getOutOrderNo());
-            waitPakin1.setBatch(dto.getBatch());
-            waitPakin1.setZpallet(waitPakin.getBarcode());   // 鎵樼洏鐮�
-            waitPakin1.setIoStatus("N");     // 鍏ュ嚭鐘舵��
-            waitPakin1.setAnfme(dto.getAnfme());  // 鏁伴噺
-            waitPakin1.setStatus("Y");    // 鐘舵��
-            waitPakin1.setAppeUser(waitPakin.getAppeUser());
-            waitPakin1.setAppeTime(now);
-            waitPakin1.setModiUser(waitPakin.getAppeUser());
-            waitPakin1.setModiTime(now);
-            waitPakin1.setMemo(detlDto.getMemo());
-            if (!waitPakinService.insert(waitPakin1)) {
-                throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+
+            // 鏁伴噺淇濇寔涓嶅彉
+            else if (wrkDetlOld.getAnfme().equals(wrkDetl.getAnfme())) {
+                recordRecordLog = recordRecordLog + "\n" + "涓�鏉℃槑缁嗕繚鎸佷笉鍙�:" + "\t鍟嗗搧缂栧彿锛�" + wrkDetl.getMatnr() + "\t鎵瑰彿锛�" + wrkDetl.getBatch() + "\t鏁伴噺锛�" + wrkDetlOld.getAnfme();
+                continue;
             }
         }
+        log.info(recordRecordLog);
     }
 }

--
Gitblit v1.9.1