From 04908371e0955028fadedfa73d94cbe270474344 Mon Sep 17 00:00:00 2001
From: yxFwq <1>
Date: 星期四, 31 七月 2025 15:19:13 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   43 +++++++++++++++++++++++++++++++++----------
 1 files changed, 33 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 344ba76..33c49a6 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -39,6 +39,10 @@
     // 搴撲綅鎺掑彿鍒嗛厤榛樿绫诲埆
     private static final int DEFAULT_ROW_NO_TYPE = 1;
 
+    public static final List<Integer> OVER_TORN_STA_NO_LIST = new ArrayList<Integer>() {{
+        add(126);add(131);add(310);add(312);
+    }};
+
     @Autowired
     private MatService matService;
     @Autowired
@@ -168,7 +172,7 @@
             }
             if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
                 LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
-                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo()));
+                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount(), param.getOrderNo() , paramLocDetl.getPio()));
             }
         }
 
@@ -215,6 +219,9 @@
                         .eq("stn_no", param.getOutSite())
                         .eq("crn_no", locMast.getCrnNo());
                 StaDesc staDesc = staDescService.selectOne(wrapper);
+                if (Cools.isEmpty(staDesc)) {
+                    throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
+                }
                 Integer sourceStaNo = staDesc.getCrnStn();
                 if (Cools.isEmpty(sourceStaNo)) {
                     throw new CoolException("妫�绱㈡簮绔欏け璐�");
@@ -286,6 +293,9 @@
                         .eq("stn_no", param.getOutSite())
                         .eq("crn_no", locMast.getCrnNo());
                 StaDesc staDesc = staDescService.selectOne(wrapper);
+                if (Cools.isEmpty(staDesc)) {
+                    throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
+                }
                 Integer sourceStaNo = staDesc.getCrnStn();
                 if (Cools.isEmpty(sourceStaNo)) {
                     throw new CoolException("妫�绱㈡簮绔欏け璐�");
@@ -341,7 +351,7 @@
                     WaitPakin waitPakin = new WaitPakin();
                     waitPakin.sync(locDetl);
                     waitPakin.setBatch(locDetl.getBatch());       //鏈ㄧ缂栫爜  //鎵规  鍞竴鍊�  绠卞彿
-                    waitPakin.setModel(locDetl.getModel());       //鍗峰彿  鍞竴鍊�
+                    waitPakin.setModel(locDetl.getModel());       //MES宸ヤ綔鍙�  鍞竴鍊�
                     waitPakin.setIoStatus("Y");     // 鍏ュ嚭鐘舵��
                     waitPakin.setAnfme(locDetl.getAnfme());  // 鏁伴噺
                     waitPakin.setStatus("Y");    // 鐘舵��
@@ -549,7 +559,7 @@
             wrkMast.setIoTime(now);
             wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
             wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
-            wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+            wrkMast.setIoPri(dto.getLocDetlDtos().get(0).getPio()); // 浼樺厛绾э細13
             wrkMast.setCrnNo(locMast.getCrnNo());
             wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
             wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
@@ -560,8 +570,8 @@
             wrkMast.setEmptyMk("N"); // 绌烘澘
             wrkMast.setLinkMis("N");
             wrkMast.setSheetNo("0");
-            if (staDesc.getStnNo()<118 || staDesc.getStnNo()>121){
-                wrkMast.setSheetNo("3");
+            if (!OVER_TORN_STA_NO_LIST.contains(staDesc.getStnNo())){
+                wrkMast.setSheetNo("2");
             }
             wrkMast.setBarcode(locMast.getBarcode());
             wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
@@ -778,6 +788,9 @@
                     .eq("stn_no", param.getOutSite())
                     .eq("crn_no", locMast.getCrnNo());
             StaDesc staDesc = staDescService.selectOne(wrapper);
+            if (Cools.isEmpty(staDesc)) {
+                throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
+            }
             Integer sourceStaNo = staDesc.getCrnStn();
             if (Cools.isEmpty(sourceStaNo)) {
                 throw new CoolException("妫�绱㈡簮绔欏け璐�");
@@ -789,7 +802,7 @@
             wrkMast.setIoTime(now);
             wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
             wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
-            wrkMast.setIoPri(15D);
+            wrkMast.setIoPri(12D);
             wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
             wrkMast.setStaNo(param.getOutSite()); // 鐩爣绔�
             wrkMast.setCrnNo(locMast.getCrnNo());
@@ -837,6 +850,9 @@
                         .eq("stn_no", param.getOutSite())
                         .eq("crn_no", locMast.getCrnNo());
                 StaDesc staDesc = staDescService.selectOne(wrapper);
+                if (Cools.isEmpty(staDesc)) {
+                    throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
+                }
                 Integer sourceStaNo = staDesc.getCrnStn();
                 if (Cools.isEmpty(sourceStaNo)) {
                     throw new CoolException("妫�绱㈡簮绔欏け璐�");
@@ -908,6 +924,9 @@
                         .eq("stn_no", param.getOutSite())
                         .eq("crn_no", locMast.getCrnNo());
                 StaDesc staDesc = staDescService.selectOne(wrapper);
+                if (Cools.isEmpty(staDesc)) {
+                    throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
+                }
                 Integer sourceStaNo = staDesc.getCrnStn();
                 if (Cools.isEmpty(sourceStaNo)) {
                     throw new CoolException("妫�绱㈡簮绔欏け璐�");
@@ -1086,6 +1105,9 @@
                     .eq("stn_no", param.getOutSite())
                     .eq("crn_no", locMast.getCrnNo());
             StaDesc staDesc = staDescService.selectOne(wrapper);
+            if (Cools.isEmpty(staDesc)) {
+                throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
+            }
             Integer sourceStaNo = staDesc.getCrnStn();
             if (Cools.isEmpty(sourceStaNo)) {
                 throw new CoolException("妫�绱㈡簮绔欏け璐�");
@@ -1263,7 +1285,7 @@
         wrkMast.setCrnEndTime(now);
         wrkMast.setModiTime(now);
         wrkMast.setModiUser(userId);
-        wrkMast.setSheetNo("3");
+        wrkMast.setSheetNo("2");
         // 瀹屾垚鎿嶄綔浜哄憳璁板綍
         wrkMast.setManuType("鎵嬪姩瀹屾垚");
         if (!wrkMastService.updateById(wrkMast)) {
@@ -1397,7 +1419,7 @@
     public void cancelWrkMast(String workNo, Long userId) {
         Date now = new Date();
         WrkMast wrkMast = wrkMastService.selectById(workNo);
-        if (Cools.isEmpty(wrkMast)){
+        if (Cools.isEmpty(wrkMast) || wrkMast.getWrkSts()>12 || (wrkMast.getWrkSts()>3 && wrkMast.getWrkSts()<5)){
             throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
         }
         if (Cools.isEmpty(wrkMast.getLocNo()) && Cools.isEmpty(wrkMast.getSourceLocNo())){
@@ -1408,8 +1430,9 @@
             try{
                 wrkMastService.deleteById(wrkMast.getWrkNo());
                 List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-                if (!wrkDetls.isEmpty()){
-                    wrkDetlService.deleteById(wrkMast.getWrkNo());
+                if (!wrkDetls.isEmpty()) {
+//                    wrkDetlService.deleteById(wrkMast.getWrkNo());
+                    wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
                 }
             }catch (Exception e){
                 throw new CoolException("鍙栨秷澶辫触锛屽紓甯�"+e);

--
Gitblit v1.9.1