From c832c7f5d6f8c015d609e044e902e070da5240b0 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期日, 24 九月 2023 14:22:57 +0800
Subject: [PATCH] 拣货单

---
 src/main/java/com/zy/asrs/controller/WrkMastController.java |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 104 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/WrkMastController.java b/src/main/java/com/zy/asrs/controller/WrkMastController.java
index af3c691..1d4ff1f 100644
--- a/src/main/java/com/zy/asrs/controller/WrkMastController.java
+++ b/src/main/java/com/zy/asrs/controller/WrkMastController.java
@@ -5,14 +5,16 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
-import com.zy.asrs.entity.WrkMast;
-import com.zy.asrs.service.WrkMastService;
-import com.zy.common.web.BaseController;
 import com.core.annotations.ManagerAuth;
 import com.core.common.BaseRes;
 import com.core.common.Cools;
 import com.core.common.DateUtils;
 import com.core.common.R;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.LocMast;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.*;
+import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -23,6 +25,8 @@
 
     @Autowired
     private WrkMastService wrkMastService;
+    @Autowired
+    private LocMastService locMastService;
 
     @RequestMapping(value = "/wrkMast/{id}/auth")
     @ManagerAuth
@@ -36,10 +40,12 @@
                   @RequestParam(defaultValue = "10")Integer limit,
                   @RequestParam(required = false)String orderByField,
                   @RequestParam(required = false)String orderByType,
+                  @RequestParam(required = false)String condition,
                   @RequestParam Map<String, Object> param){
         excludeTrash(param);
         EntityWrapper<WrkMast> wrapper = new EntityWrapper<>();
         convert(param, wrapper);
+        allLike(WrkMast.class, param.keySet(), wrapper, condition);
         if (!Cools.isEmpty(orderByField)){
             if (orderByField.endsWith("$")){
                 orderByField = orderByField.substring(0, orderByField.length()-1);
@@ -51,14 +57,15 @@
         return R.ok(wrkMastService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
-    private void convert(Map<String, Object> map, EntityWrapper wrapper){
+    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
         for (Map.Entry<String, Object> entry : map.entrySet()){
-            if (entry.getKey().endsWith(">")) {
-                wrapper.ge(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue())));
-            } else if (entry.getKey().endsWith("<")) {
-                wrapper.le(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue())));
+            String val = String.valueOf(entry.getValue());
+            if (val.contains(RANGE_TIME_LINK)){
+                String[] dates = val.split(RANGE_TIME_LINK);
+                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
+                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
             } else {
-                wrapper.like(entry.getKey(), String.valueOf(entry.getValue()));
+                wrapper.eq(entry.getKey(), val);
             }
         }
     }
@@ -74,16 +81,92 @@
         return R.ok();
     }
 
-	@RequestMapping(value = "/wrkMast/update/auth")
-	@ManagerAuth(memo = "宸ヤ綔妗d慨鏀�")
+    @RequestMapping(value = "/wrkMast/update/auth")
+    @ManagerAuth(memo = "宸ヤ綔妗d慨鏀�")
     public R update(WrkMast wrkMast){
         if (Cools.isEmpty(wrkMast) || null==wrkMast.getWrkNo()){
-            return R.error();
+            return R.error("宸ヤ綔鍙峰紓甯�");
+        }else if (wrkMast.getWrkSts()==null){
+            return R.error("淇敼鐘舵�佸紓甯�");
         }
-        wrkMast.setModiUser(getUserId());
-        wrkMast.setModiTime(new Date());
-        wrkMastService.updateById(wrkMast);
+        WrkMast wrkMast1=null;
+        try{
+            wrkMast1 = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkMast.getWrkNo()));
+            if (Cools.isEmpty(wrkMast1) || null==wrkMast1.getWrkNo()){
+                throw new CoolException("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"鎵�灞炲伐浣滄。鏌ヨ澶辫触");
+            }else if (wrkMast1.getWrkSts()==null){
+                throw new CoolException("宸ヤ綔鍙�"+wrkMast.getWrkNo()+"鎵�灞炲伐浣滄。鐘舵�佸紓甯�");
+            }
+        }catch (Exception e){
+            return R.error("澶辫触!!!璇峰皾璇曞埛鏂伴〉闈€��"+"寮傚父鍘熷洜锛�"+e);
+        }
+        if (wrkMast1.getWrkSts()-wrkMast.getWrkSts()==0){
+            return R.error("鎵�閫夌姸鎬佷笌姝ゅ伐浣滄。鐘舵�佷竴鑷达紝鏃犻渶淇敼");
+        }
+        if (juBge(wrkMast.getWrkSts(), wrkMast1)){
+            return R.error("淇敼鐘舵�佸け璐ワ紝璇疯鑼冩搷浣�");
+        }
+        wrkMast1.setModiUser(getUserId());
+        wrkMast1.setModiTime(new Date());
+        wrkMast1.setWrkSts(wrkMast.getWrkSts());
+        wrkMastService.updateById(wrkMast1);
         return R.ok();
+    }
+
+    public Boolean juBge(Long wrkSts1,WrkMast wrkMast1){
+        if (wrkSts1>20){
+            throw new CoolException("澶т簬20鐨勭姸鎬佷笉鑳借繘琛屼慨鏀癸紒锛侊紒");
+        }
+        switch (wrkMast1.getIoType()){
+            case 1:
+            case 10:
+            case 53:
+            case 54:
+            case 57:
+                if (wrkSts1>=1 && wrkSts1<=10){
+                    if (wrkSts1==10){
+                        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast1.getLocNo()));
+                        if (Cools.isEmpty(locMast) || locMast.getLocSts()==null){
+                            throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅紓甯歌缁存姢搴撲綅鏁版嵁");
+                        }
+                        if (locMast.getLocSts().equals("S")||locMast.getLocSts().equals("Q")){
+                            throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佷负"+locMast.getLocSts$()+"锛岃缁存姢搴撲綅鏁版嵁");
+                        }else if (locMast.getLocSts().equals("F")){
+                        }else {
+                            throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佸紓甯革紝璇风淮鎶ゅ簱浣嶆暟鎹�");
+                        }
+                    }
+                    return false;
+                }
+                return true;
+            case 101:
+            case 103:
+            case 104:
+            case 107:
+            case 110:
+                if (wrkSts1>=11 && wrkSts1<=18){
+                    if (wrkSts1==18){
+                        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast1.getSourceLocNo()));
+                        if (Cools.isEmpty(locMast) || locMast.getLocSts()==null){
+                            throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅紓甯歌缁存姢搴撲綅鏁版嵁");
+                        }
+                        if (locMast.getLocSts().equals("R")||locMast.getLocSts().equals("P")){
+                            throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佷负"+locMast.getLocSts$()+"锛岃缁存姢搴撲綅鏁版嵁");
+                        }else if (locMast.getLocSts().equals("O")){
+                        }else {
+                            throw new CoolException("宸ヤ綔鍙�"+wrkMast1.getWrkNo()+"宸ヤ綔妗f墍瀵瑰簲鐨勫簱浣嶅彿鐘舵�佸紓甯革紝璇风淮鎶ゅ簱浣嶆暟鎹�");
+                        }
+                    }
+                    return false;
+                }
+                return true;
+            case 11:
+                return false;
+            case 3:
+            case 6:
+            default:
+                return true;
+        }
     }
 
     @RequestMapping(value = "/wrkMast/delete/auth")
@@ -139,6 +222,9 @@
     @RequestMapping(value = "/wrkMast/add/pri/auth")
     @ManagerAuth(memo = "宸ヤ綔妗e鍔犱紭鍏堢骇")
     public R addPri(@RequestBody List<WrkMast> list) {
+        if (list.isEmpty()) {
+            return R.error("璇疯嚦灏戦�夋嫨涓�琛屾暟鎹�");
+        }
         for (WrkMast entity : list){
            entity.setIoPri(entity.getIoPri() + 1);
         }
@@ -149,6 +235,9 @@
     @RequestMapping(value = "/wrkMast/red/pri/auth")
     @ManagerAuth(memo = "宸ヤ綔妗i檷浣庝紭鍏堢骇")
     public R redPri(@RequestBody List<WrkMast> list) {
+        if (list.isEmpty()) {
+            return R.error("璇疯嚦灏戦�夋嫨涓�琛屾暟鎹�");
+        }
         for (WrkMast entity : list){
             entity.setIoPri(entity.getIoPri() - 1);
         }

--
Gitblit v1.9.1