From b00eeab31bd13ba34a03301aa441b0751d6a93e4 Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期五, 19 十二月 2025 17:00:51 +0800
Subject: [PATCH] 第六排成品可以放第七排原材料

---
 src/main/java/com/zy/ints/controller/WaitMatinController.java |  118 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 93 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/zy/ints/controller/WaitMatinController.java b/src/main/java/com/zy/ints/controller/WaitMatinController.java
index 77b9c66..ac822f5 100644
--- a/src/main/java/com/zy/ints/controller/WaitMatinController.java
+++ b/src/main/java/com/zy/ints/controller/WaitMatinController.java
@@ -9,48 +9,78 @@
 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.LocDetl;
+import com.zy.asrs.entity.MatCode;
+import com.zy.asrs.service.MatCodeService;
+import com.zy.common.entity.KeyValueVo;
 import com.zy.common.web.BaseController;
 import com.zy.ints.entity.WaitMatin;
 import com.zy.ints.service.WaitMatinService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @RestController
 public class WaitMatinController extends BaseController {
 
     @Autowired
     private WaitMatinService waitMatinService;
+    @Autowired
+    private MatCodeService matCodeService;
 
     @RequestMapping(value = "/waitMatin/head/page/auth")
     @ManagerAuth
     public R headPage(@RequestParam(defaultValue = "1")Integer curr,
-                          @RequestParam(defaultValue = "10")Integer limit,
-                          @RequestParam Map<String, Object> param){
-        if (!Cools.isEmpty(param.get("modi_time"))){
-            String val = String.valueOf(param.get("modi_time"));
+                      @RequestParam(defaultValue = "10")Integer limit,
+                      @RequestParam Map<String, Object> param){
+        if (!Cools.isEmpty(param.get("appe_time"))){
+            String val = String.valueOf(param.get("appe_time"));
             if (val.contains(RANGE_TIME_LINK)) {
                 String[] dates = val.split(RANGE_TIME_LINK);
                 param.put("startTime", DateUtils.convert(dates[0]));
                 param.put("endTime", DateUtils.convert(dates[1]));
-                param.remove("modi_time");
+                param.remove("appe_time");
             }
         }
         return R.ok(waitMatinService.getHeadPage(toPage(curr, limit, param, WaitMatin.class)));
     }
 
+    @RequestMapping(value = "/waitMatin/detl/list/auth")
+    @ManagerAuth
+    public R detlPage(@RequestParam String billNo){
+        if (Cools.isEmpty(billNo)){
+            return R.parse(BaseRes.PARAM);
+        }
+        List<WaitMatin> waitMatins = waitMatinService.selectList(new EntityWrapper<WaitMatin>().eq("bill_no", billNo));
+        if (Cools.isEmpty(waitMatins)) {
+            return R.parse(BaseRes.EMPTY);
+        }
+        return R.ok().add(waitMatins);
+    }
 
 
+    /*************************************** xm-select ***********************************************/
 
-
-
-
-
+    // xm-select 鎼滅储鍟嗗搧鍒楄〃
+    @RequestMapping("/mat/all/get/kv")
+    @ManagerAuth
+    public R getMatDataKV(@RequestParam(required = false) String condition) {
+        Wrapper<MatCode> wrapper = new EntityWrapper<MatCode>()
+                .andNew().like("mat_no", condition).or().like("mat_name", condition)
+                .orderBy("appe_time", false);
+        List<MatCode> mats = matCodeService.selectPage(new Page<>(1, 30), wrapper).getRecords();
+        List<KeyValueVo> valueVos = new ArrayList<>();
+        for (MatCode mat : mats) {
+            KeyValueVo vo = new KeyValueVo();
+            vo.setName(mat.getMatNo() + " - " + mat.getMatName());
+            vo.setValue(mat.getMatNo());
+            valueVos.add(vo);
+        }
+        return R.ok().add(valueVos);
+    }
 
 
 
@@ -95,28 +125,66 @@
 
     @RequestMapping(value = "/waitMatin/add/auth")
     @ManagerAuth
-    public R add(WaitMatin waitMatin) {
-        waitMatinService.insert(waitMatin);
-        return R.ok();
+    @Transactional
+    public R add(@RequestBody List<WaitMatin> waitMatins) {
+        if (Cools.isEmpty(waitMatins)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        if (waitMatinService.selectCount(new EntityWrapper<WaitMatin>().eq("bill_no", waitMatins.get(0).getBillNo())) > 0) {
+            return R.error("鍗曟嵁缂栧彿宸插瓨鍦�");
+        }
+        int i = 1;
+        Date now = new Date();
+        for (WaitMatin waitMatin : waitMatins) {
+            waitMatin.setSeqNo(i);
+            waitMatin.setAppeTime(now);
+            waitMatin.setAppeUser(getUserId());
+            waitMatin.setModiTime(now);
+            waitMatin.setModiUser(getUserId());
+            if (!waitMatinService.insert(waitMatin)) {
+                throw new CoolException("娣诲姞鍗曟嵁鏄庣粏澶辫触");
+            }
+            i++;
+        }
+        return R.ok("娣诲姞鎴愬姛");
     }
 
-	@RequestMapping(value = "/waitMatin/update/auth")
+	@RequestMapping(value = "/waitMatin/modify/auth")
 	@ManagerAuth
-    public R update(WaitMatin waitMatin){
-        if (Cools.isEmpty(waitMatin) || null==waitMatin.getSeqNo()){
+    @Transactional
+    public R update(@RequestBody List<WaitMatin> waitMatins){
+        if (Cools.isEmpty(waitMatins)) {
+            return R.parse(BaseRes.PARAM);
+        }
+        Date now = new Date();
+        List<WaitMatin> oldWaitMatin = waitMatinService.selectList(new EntityWrapper<WaitMatin>().eq("bill_no", waitMatins.get(0).getBillNo()));
+        Date appeTime = oldWaitMatin!=null?oldWaitMatin.get(0).getAppeTime():now;
+        Long appeUser = oldWaitMatin!=null?oldWaitMatin.get(0).getAppeUser():getUserId();
+        if (!waitMatinService.delete(new EntityWrapper<WaitMatin>().eq("bill_no", waitMatins.get(0).getBillNo()))) {
             return R.error();
         }
-        waitMatinService.updateById(waitMatin);
-        return R.ok();
+        int i = 1;
+        for (WaitMatin waitMatin : waitMatins) {
+            waitMatin.setSeqNo(i);
+            waitMatin.setAppeTime(appeTime);
+            waitMatin.setAppeUser(appeUser);
+            waitMatin.setModiTime(now);
+            waitMatin.setModiUser(getUserId());
+            if (!waitMatinService.insert(waitMatin)) {
+                throw new CoolException("淇敼鍗曟嵁鏄庣粏澶辫触");
+            }
+            i++;
+        }
+        return R.ok("淇敼鎴愬姛");
     }
 
     @RequestMapping(value = "/waitMatin/delete/auth")
     @ManagerAuth
-    public R delete(@RequestParam(value="ids[]") Long[] ids){
-         for (Long id : ids){
-            waitMatinService.deleteById(id);
+    public R delete(@RequestParam String billNo){
+        if (!waitMatinService.delete(new EntityWrapper<WaitMatin>().eq("bill_no", billNo))) {
+            throw new CoolException("鍒犻櫎鍗曟嵁鏄庣粏澶辫触");
         }
-        return R.ok();
+        return R.ok("鍒犻櫎鎴愬姛");
     }
 
     @RequestMapping(value = "/waitMatin/export/auth")

--
Gitblit v1.9.1