From 46fc024595970335c4207c80729329abd90b0cc5 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期一, 08 十二月 2025 14:44:09 +0800
Subject: [PATCH] #

---
 src/main/webapp/static/js/basCrnp/basCrnp.js                  |    2 ++
 src/main/webapp/views/basCrnp/basCrnp.html                    |   12 ++++++++++++
 src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java |    4 +++-
 src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java   |   20 ++++++++++++++++++++
 src/main/java/com/zy/asrs/entity/BasCrnp.java                 |   14 ++++++++++++++
 src/main/resources/mapper/BasCrnpMapper.xml                   |    2 ++
 6 files changed, 53 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/BasCrnp.java b/src/main/java/com/zy/asrs/entity/BasCrnp.java
index 475a448..aee4fb8 100644
--- a/src/main/java/com/zy/asrs/entity/BasCrnp.java
+++ b/src/main/java/com/zy/asrs/entity/BasCrnp.java
@@ -93,6 +93,20 @@
     @TableField("out_station_list")
     private String outStationList;
 
+    /**
+     * 鏈�澶у叆搴撲换鍔℃暟
+     */
+    @ApiModelProperty(value= "鏈�澶у叆搴撲换鍔℃暟")
+    @TableField("max_in_task")
+    private Integer maxInTask;
+
+    /**
+     * 鏈�澶у嚭搴撲换鍔℃暟
+     */
+    @ApiModelProperty(value= "鏈�澶у嚭搴撲换鍔℃暟")
+    @TableField("max_out_task")
+    private Integer maxOutTask;
+
     public BasCrnp() {}
 
     public BasCrnp(Integer status,Integer wrkNo,String inEnable,String outEnable,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
diff --git a/src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java b/src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java
index 3e871b1..4cc6ef1 100644
--- a/src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/impl/ZySiemensCrnThread.java
@@ -124,7 +124,7 @@
         ZyCrnStatusEntity crnStatus = zyCrnConnectDriver.getStatus();
         if (crnStatus == null) {
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆戣鍙栧爢鍨涙満plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), deviceConfig.getDeviceNo(), deviceConfig.getIp(), deviceConfig.getPort()));
-            News.error("SiemensCrn"+" - 5"+" - 璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", deviceConfig.getDeviceNo(), deviceConfig.getIp(), deviceConfig.getPort());
+            News.error("SiemensCrn璇诲彇鍫嗗灈鏈簆lc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}]", deviceConfig.getDeviceNo(), deviceConfig.getIp(), deviceConfig.getPort());
             return;
         }
 
@@ -202,6 +202,8 @@
                 basCrnp.setStatus(1);
                 basCrnp.setInEnable("N");
                 basCrnp.setOutEnable("N");
+                basCrnp.setMaxInTask(5);
+                basCrnp.setMaxOutTask(5);
                 basCrnp.setCreateTime(new Date());
                 basCrnpService.insert(basCrnp);
             }
diff --git a/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java b/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
index 200259b..8cdbd4f 100644
--- a/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/CrnOperateProcessUtils.java
@@ -112,6 +112,16 @@
             return;
         }
 
+        List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+                .eq("crn_no", basCrnp.getCrnNo())
+                .eq("io_type", WrkIoType.IN.id)
+        );
+        // 妫�鏌ユ槸鍚﹁秴杩囨渶澶у叆搴撲换鍔℃暟
+        if(inWrkMasts.size() >= basCrnp.getMaxInTask()){
+            News.info("鍫嗗灈鏈�:{} 宸茶揪鏈�澶у叆搴撲换鍔℃暟锛屽綋鍓嶄换鍔℃暟:{}", basCrnp.getCrnNo(), inWrkMasts.size());
+            return;
+        }
+
         Integer crnNo = basCrnp.getCrnNo();
 
         for (StationObjModel stationObjModel : inStationList) {
@@ -199,6 +209,16 @@
             return;
         }
 
+        List<WrkMast> outWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+                .eq("crn_no", basCrnp.getCrnNo())
+                .eq("io_type", WrkIoType.OUT.id)
+        );
+        // 妫�鏌ユ槸鍚﹁秴杩囨渶澶у嚭搴撲换鍔℃暟
+        if(outWrkMasts.size() >= basCrnp.getMaxOutTask()){
+            News.info("鍫嗗灈鏈�:{} 宸茶揪鏈�澶у嚭搴撲换鍔℃暟锛屽綋鍓嶄换鍔℃暟:{}", basCrnp.getCrnNo(), outWrkMasts.size());
+            return;
+        }
+
         Integer crnNo = basCrnp.getCrnNo();
 
         List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
diff --git a/src/main/resources/mapper/BasCrnpMapper.xml b/src/main/resources/mapper/BasCrnpMapper.xml
index c584ec2..2d87eeb 100644
--- a/src/main/resources/mapper/BasCrnpMapper.xml
+++ b/src/main/resources/mapper/BasCrnpMapper.xml
@@ -17,6 +17,8 @@
         <result column="control_rows" property="controlRows" />
         <result column="in_station_list" property="inStationList" />
         <result column="out_station_list" property="outStationList" />
+        <result column="max_in_task" property="maxInTask" />
+        <result column="max_out_task" property="maxOutTask" />
 
     </resultMap>
 
diff --git a/src/main/webapp/static/js/basCrnp/basCrnp.js b/src/main/webapp/static/js/basCrnp/basCrnp.js
index 68888c0..aab4dc6 100644
--- a/src/main/webapp/static/js/basCrnp/basCrnp.js
+++ b/src/main/webapp/static/js/basCrnp/basCrnp.js
@@ -30,6 +30,8 @@
             ,{field: 'controlRows', align: 'center',title: '鎺у埗搴撲綅鎺掑彿'}
             ,{field: 'inStationList', align: 'center',title: '鍏ュ簱绔欏垪琛�'}
             ,{field: 'outStationList', align: 'center',title: '鍑哄簱绔欏垪琛�'}
+            ,{field: 'maxInTask', align: 'center',title: '鏈�澶у叆搴撲换鍔℃暟'}
+            ,{field: 'maxOutTask', align: 'center',title: '鏈�澶у嚭搴撲换鍔℃暟'}
             // ,{field: 'createBy', align: 'center',title: '鍒涘缓浜哄憳'}
             // ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿'}
             // ,{field: 'updateBy', align: 'center',title: '淇敼浜哄憳'}
diff --git a/src/main/webapp/views/basCrnp/basCrnp.html b/src/main/webapp/views/basCrnp/basCrnp.html
index d3054fe..19609e2 100644
--- a/src/main/webapp/views/basCrnp/basCrnp.html
+++ b/src/main/webapp/views/basCrnp/basCrnp.html
@@ -119,6 +119,18 @@
                     </div>
                 </div>
                 <div class="layui-form-item">
+                    <label class="layui-form-label">鏈�澶у叆搴撲换鍔℃暟: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="maxInTask" placeholder="璇疯緭鍏ユ渶澶у叆搴撲换鍔℃暟">
+                    </div>
+                </div>
+                <div class="layui-form-item">
+                    <label class="layui-form-label">鏈�澶у嚭搴撲换鍔℃暟: </label>
+                    <div class="layui-input-block">
+                        <input class="layui-input" name="maxOutTask" placeholder="璇疯緭鍏ユ渶澶у嚭搴撲换鍔℃暟">
+                    </div>
+                </div>
+                <div class="layui-form-item">
                     <label class="layui-form-label">澶囨敞: </label>
                     <div class="layui-input-block">
                         <input class="layui-input" name="memo" placeholder="璇疯緭鍏ュ娉�">

--
Gitblit v1.9.1