From d7ec100166068db8197d218c57d2a6c86a5289a4 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 04 十一月 2025 14:10:42 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/controller/BasCrnpController.java |  114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 110 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/BasCrnpController.java b/src/main/java/com/zy/asrs/controller/BasCrnpController.java
index e95f0b7..5d7a53b 100644
--- a/src/main/java/com/zy/asrs/controller/BasCrnpController.java
+++ b/src/main/java/com/zy/asrs/controller/BasCrnpController.java
@@ -11,8 +11,16 @@
 import com.core.common.DateUtils;
 import com.core.common.R;
 import com.zy.asrs.entity.BasCrnp;
+import com.zy.asrs.entity.param.BasCrnpParam;
 import com.zy.asrs.service.BasCrnpService;
 import com.zy.common.web.BaseController;
+import com.zy.core.CrnThread;
+import com.zy.core.cache.CrnErrCache;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.CrnSlave;
+import com.zy.core.model.protocol.CrnProtocol;
+import com.zy.core.properties.SlaveProperties;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -23,6 +31,9 @@
 
     @Autowired
     private BasCrnpService basCrnpService;
+
+    @Autowired
+    private SlaveProperties slaveProperties;
 
     @RequestMapping(value = "/basCrnp/{id}/auth")
     @ManagerAuth
@@ -41,7 +52,11 @@
         EntityWrapper<BasCrnp> wrapper = new EntityWrapper<>();
         convert(param, wrapper);
         if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
-        return R.ok(basCrnpService.selectPage(new Page<>(curr, limit), wrapper));
+//        return R.ok(basCrnpService.selectPage(new Page<>(curr, limit), wrapper));
+        List<BasCrnp> basCrnpList = basCrnpService.selectList(wrapper);
+        Page<BasCrnp> page = new Page<BasCrnp>(0, 100).setRecords(basCrnpList);
+        page.setTotal(basCrnpList.size());
+        return R.ok(page);
     }
 
     private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
@@ -72,8 +87,98 @@
 	@ManagerAuth(memo = "鍫嗗灈鏈轰慨鏀�")
     public R update(BasCrnp basCrnp){
         if (Cools.isEmpty(basCrnp) || null==basCrnp.getCrnNo()){
-            return R.error();
+            return R.error("璇烽�夋嫨鍫嗗灈鏈哄啀鎿嶄綔").add("璇烽�夋嫨鍫嗗灈鏈哄啀鎿嶄綔");
         }
+        basCrnp.setModiUser(getUserId());
+        basCrnp.setModiTime(new Date());
+        basCrnpService.updateById(basCrnp);
+        return R.ok();
+    }
+
+    @RequestMapping(value = "/basCrnp/update/demo/auth")
+    @ManagerAuth(memo = "鍫嗗灈鏈轰慨鏀笵emo")
+    public R updateDemo(BasCrnpParam basCrnpParam){
+        if (Cools.isEmpty(basCrnpParam) || null==basCrnpParam.getCrnNo()){
+            return R.error("璇烽�夋嫨鍫嗗灈鏈哄啀鎿嶄綔").add("璇烽�夋嫨鍫嗗灈鏈哄啀鎿嶄綔");
+        }
+        BasCrnp basCrnp = basCrnpService.selectById(basCrnpParam.getCrnNo());
+        if (basCrnp == null) {
+            return R.error("鍫嗗灈鏈哄皻鏈湪鏁版嵁搴撹繘琛岀淮鎶わ紒").add("鍫嗗灈鏈哄皻鏈湪鏁版嵁搴撹繘琛岀淮鎶�");
+        }
+        if (basCrnpParam.getHpMk().equals("Y")){
+            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo());
+            if (crnThread == null) {
+                return R.error();
+            }
+            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+            if (crnProtocol == null) {
+                return R.error();
+            }
+
+
+
+            if (Cools.isEmpty(basCrnpParam.getLocMastDemoCount()) || basCrnpParam.getLocMastDemoCount()<1){
+                return R.error("璇疯緭鍏ユ祴璇曞簱浣嶆暟閲�").add("璇疯緭鍏ユ祴璇曞簱浣嶆暟閲�");
+            }
+            if (Cools.isEmpty(basCrnpParam.getLocMastDemo())){
+                return R.error("璇疯緭鍏ユ祴璇曞簱浣嶅垪琛�").add("璇疯緭鍏ユ祴璇曞簱浣嶅垪琛�");
+            } else {
+                String[] split = basCrnpParam.getLocMastDemo().split(";");
+                if (split.length!=basCrnpParam.getLocMastDemoCount()){
+                    return R.error("杈撳叆娴嬭瘯搴撲綅鍒楄〃鏁伴噺涓嶅尮閰�").add("杈撳叆娴嬭瘯搴撲綅鍒楄〃鏁伴噺涓嶅尮閰�");
+                }
+                basCrnpParam.setLocMastDemoList(new ArrayList<>(Arrays.asList(split)));
+            }
+
+            if (Cools.isEmpty(basCrnpParam.getStaOutDemo())){
+                return R.error("璇疯緭鍏ユ祴璇曞嚭搴撶珯").add("璇疯緭鍏ユ祴璇曞嚭搴撶珯");
+            } else {
+                CrnSlave crn = new CrnSlave();
+                for (CrnSlave crnSlave : slaveProperties.getCrn()) {
+                    if (crnSlave.getId().equals(crnProtocol.getCrnNo())){
+                        crn = new CrnSlave(crnSlave);
+                        break;
+                    }
+                }
+                if (Cools.isEmpty(crnProtocol.getLaneNo()) || crnProtocol.getLaneNo()==0){
+                    return R.error("鍫嗗灈鏈哄贩閬撳彿寮傚父").add("鍫嗗灈鏈哄贩閬撳彿寮傚父");
+                }
+
+                if (!crn.getId().equals(crnProtocol.getLaneNo())) {
+                    for (CrnSlave crnOther : slaveProperties.getCrn()) {
+                        if (crnOther.getId().equals(crnProtocol.getLaneNo())) {
+                            crn.updateCrnInStn(crnOther);
+                        }
+                    }
+                }
+                boolean sign = false;
+                for (CrnSlave.CrnStn crnStnInt : crn.getCrnInStn()){
+                    if (crnStnInt.getStaNo().equals(basCrnpParam.getStaIntDemo())) {
+                        sign = true;
+                        break;
+                    }
+                }
+                if (!sign){
+                    return R.error("鍏ュ簱绔欎笉鍦ㄥ爢鍨涙満宸烽亾").add("鍏ュ簱绔欎笉鍦ㄥ爢鍨涙満宸烽亾");
+                }
+                sign = false;
+                for (CrnSlave.CrnStn crnStnOut : crn.getCrnOutStn()){
+                    if (crnStnOut.getStaNo().equals(basCrnpParam.getStaOutDemo())) {
+                        sign = true;
+                        break;
+                    }
+                }
+                if (!sign){
+                    return R.error("鍑哄簱绔欎笉鍦ㄥ爢鍨涙満宸烽亾").add("鍑哄簱绔欎笉鍦ㄥ爢鍨涙満宸烽亾");
+                }
+            }
+            crnProtocol.setLocMastDemoCount(basCrnpParam.getLocMastDemoCount());
+            crnProtocol.setLocMastDemoList(basCrnpParam.getLocMastDemoList());
+            crnProtocol.setStaOutDemo(basCrnpParam.getStaOutDemo());
+            crnProtocol.setStaIntDemo(basCrnpParam.getStaIntDemo());
+        }
+        basCrnp.setHpMk(basCrnpParam.getHpMk());
         basCrnp.setModiUser(getUserId());
         basCrnp.setModiTime(new Date());
         basCrnpService.updateById(basCrnp);
@@ -109,9 +214,10 @@
     public R query(String condition) {
         EntityWrapper<BasCrnp> wrapper = new EntityWrapper<>();
         wrapper.like("crn_no", condition);
-        Page<BasCrnp> page = basCrnpService.selectPage(new Page<>(0, 10), wrapper);
+//        Page<BasCrnp> page = basCrnpService.selectPage(new Page<>(0, 10), wrapper);
+        List<BasCrnp> basCrnpList = basCrnpService.selectList(wrapper);
         List<Map<String, Object>> result = new ArrayList<>();
-        for (BasCrnp basCrnp : page.getRecords()){
+        for (BasCrnp basCrnp : basCrnpList){
             Map<String, Object> map = new HashMap<>();
             map.put("id", basCrnp.getCrnNo());
             map.put("value", basCrnp.getCrnNo());

--
Gitblit v1.9.1