From 236edf0559e2d5a6031b1df56a69454baa0357e5 Mon Sep 17 00:00:00 2001
From: zzgtfwq <zzgtfwq>
Date: 星期二, 09 十二月 2025 14:26:44 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/entity/TaskWrk.java                  |   28 +++
 src/main/java/com/zy/asrs/utils/RouteUtils.java                |    4 
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java    |   82 ++++++----
 src/main/webapp/static/js/console.map.js                       |   32 +++
 src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java |   13 +
 src/main/resources/mapper/TaskWrkMapper.xml                    |    6 
 src/main/java/com/zy/asrs/entity/param/CarryParam.java         |   74 +++++++++
 src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java            |    2 
 src/main/java/com/zy/asrs/service/TaskWrkService.java          |    4 
 src/main/java/com/zy/core/MainProcess.java                     |    2 
 src/main/java/com/zy/core/thread/SiemensDevpThread.java        |   35 +++-
 src/main/resources/application.yml                             |  105 ++++++-------
 src/main/java/com/zy/asrs/utils/BarcodeUtils.java              |   70 +++-----
 13 files changed, 309 insertions(+), 148 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/TaskWrk.java b/src/main/java/com/zy/asrs/entity/TaskWrk.java
index e3e7153..869a185 100644
--- a/src/main/java/com/zy/asrs/entity/TaskWrk.java
+++ b/src/main/java/com/zy/asrs/entity/TaskWrk.java
@@ -1,10 +1,16 @@
 package com.zy.asrs.entity;
 
+import com.alibaba.fastjson.JSON;
 import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.enums.IdType;
 import com.baomidou.mybatisplus.annotations.TableField;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+
+import com.core.exception.CoolException;
+import com.zy.asrs.domain.enums.TaskStatusType;
+import com.zy.asrs.domain.enums.WorkNoType;
+import com.zy.asrs.service.DeviceErrorService;
 import org.springframework.format.annotation.DateTimeFormat;
 import com.core.common.SpringUtils;
 import com.zy.system.service.UserService;
@@ -176,6 +182,28 @@
 
     public TaskWrk() {}
 
+    public TaskWrk(WrkMast wrkMast) {
+        Date now = new Date();
+
+        taskNo = wrkMast.getWrkNo().toString();
+        wrkNo = wrkMast.getWrkNo();
+        status = TaskStatusType.RECEIVE.id;
+        createTime = now;
+        modiTime = now;
+        assignTime = now;
+        modiUser = wrkMast.getModiUser();
+        ioPri = 1;
+        ioType = 1;
+        barcode = wrkMast.getBarcode();
+        crnNo = wrkMast.getCrnNo();
+        wrkSts = 1;
+        startPoint = wrkMast.getSourceStaNo().toString()   ;//璧风偣
+        targetPoint = wrkMast.getStaNo().toString();//缁堢偣
+        originStartPoint = wrkMast.getSourceStaNo().toString();//鍘熷璧风偣
+        originTargetPoint = wrkMast.getStaNo().toString();//鍘熷缁堢偣
+        memo = wrkMast.getMemo();
+    }
+
     public TaskWrk(String taskNo,Integer status,Integer wrkNo,Date createTime,Integer ioType,String startPoint,String targetPoint,Long modiUser,Date modiTime,String memo,String barcode,Date assignTime,Date executeTime,Date completeTime,Date cancelTime,Integer wrkSts,Integer crnNo,Integer commandStep,Integer transferMark,String originStartPoint,String originTargetPoint,Integer ioPri,Double scWeight) {
         this.taskNo = taskNo;
         this.status = status;
diff --git a/src/main/java/com/zy/asrs/entity/param/CarryParam.java b/src/main/java/com/zy/asrs/entity/param/CarryParam.java
new file mode 100644
index 0000000..e287888
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/CarryParam.java
@@ -0,0 +1,74 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+@Data
+public class CarryParam {
+    //宸ヤ綔鍙�
+    private String taskNo;
+
+    //鍏ュ嚭搴撶被鍨�
+    private Integer ioType;
+
+    //浼樺厛绾�
+    private Integer taskPriority;
+
+    //瀹瑰櫒缂栫爜
+    private String barcode;
+
+    //璧风偣
+    private String startPoint;
+
+    //鐩爣鐐�
+    private String targetPoint;
+
+    //澶囨敞
+    private String meno;
+
+    public void updateLocNo(){
+        startPoint = getPut(startPoint);
+        targetPoint = getPut(targetPoint);
+    }
+    public void updateIoTyoe(Integer ioTypeOld){
+        switch (ioTypeOld){
+            case 1:
+                this.ioType = 2;
+                break;
+            case 2:
+                this.ioType = 3;
+                break;
+            case 3:
+                this.ioType = 1;
+                break;
+            default:
+                this.ioType = 3;
+        }
+    }
+
+    public String getPut(String point){
+        String[] split = point.split("-");
+        if (split.length == 5){
+//            String locNo = String.format("%02d", ) +
+//                    String.format("%03d", split[3]) +
+//                    String.format("%02d", split[4]);
+            return split[2]+"0"+split[3]+split[4];
+        } else {
+            return point;
+        }
+    }
+
+    public static String zerofill(String msg, Integer count){
+        if (msg.length() == count){
+            return msg;
+        } else if (msg.length() > count){
+            return msg.substring(0, 16);
+        } else {
+            StringBuilder msgBuilder = new StringBuilder(msg);
+            for (int i = 0; i<count-msg.length(); i++){
+                msgBuilder.insert(0,"0");
+            }
+            return msgBuilder.toString();
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java b/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
index 4271fca..d7e47a7 100644
--- a/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/TaskWrkMapper.java
@@ -10,4 +10,6 @@
 public interface TaskWrkMapper extends BaseMapper<TaskWrk> {
     TaskWrk selectByWrkNo(Integer wrkNo);
     TaskWrk selectByTaskNo(Integer taskNo);
+
+    int saveToHistory();//灏嗕换鍔¤浆鍘嗗彶鏃ュ織
 }
diff --git a/src/main/java/com/zy/asrs/service/TaskWrkService.java b/src/main/java/com/zy/asrs/service/TaskWrkService.java
index 06197f1..f52edf0 100644
--- a/src/main/java/com/zy/asrs/service/TaskWrkService.java
+++ b/src/main/java/com/zy/asrs/service/TaskWrkService.java
@@ -8,7 +8,9 @@
 
 public interface TaskWrkService extends IService<TaskWrk> {
 
-//    TaskWrk selectByWrkNo(Integer wrkNo);
+    TaskWrk selectByWrkNo(Integer wrkNo);
     TaskWrk selectByTaskNo(Integer taskNo);
+    int saveToHistory();//灏嗕换鍔¤浆鍘嗗彶鏃ュ織
+//    int saveToHistoryD(String taskNo);//灏嗕换鍔¤浆鍘嗗彶鏃ュ織
 
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index eca924f..10f6565 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.core.common.*;
 import com.core.exception.CoolException;
+import com.zy.asrs.controller.TaskWrkController;
 import com.zy.asrs.domain.enums.LedErrorAreaType;
 import com.zy.asrs.domain.enums.TaskStatusType;
 import com.zy.asrs.entity.*;
@@ -13,24 +14,19 @@
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.*;
 import com.zy.common.model.LocTypeDto;
-import com.zy.common.model.MatDto;
 import com.zy.common.model.SearchLocParam;
 import com.zy.common.model.StartupDto;
 import com.zy.common.service.CommonService;
-import com.zy.common.utils.CollectionUtils;
 import com.zy.common.utils.HttpHandler;
-import com.zy.common.utils.News;
 import com.zy.core.CrnThread;
 import com.zy.core.DevpThread;
 import com.zy.core.cache.*;
 import com.zy.core.enums.*;
 import com.zy.core.model.*;
 import com.zy.core.model.command.CrnCommand;
-import com.zy.core.model.command.LedCommand;
 import com.zy.core.model.protocol.*;
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.BarcodeThread;
-import com.zy.core.thread.LedThread;
 import com.zy.core.thread.RgvThread;
 import com.zy.core.thread.SiemensDevpThread;
 import com.zy.system.entity.license.LicenseVerify;
@@ -44,7 +40,6 @@
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
 
 /**
  * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
@@ -68,17 +63,11 @@
     @Autowired
     private LocMastService locMastService;
     @Autowired
-    private StaDescService staDescService;
-    @Autowired
     private BasCrnpService basCrnpService;
     @Autowired
     private BasDevpService basDevpService;
     @Autowired
     private LocDetlService locDetlService;
-    @Autowired
-    private BasErrLogService basErrLogService;
-    @Autowired
-    private BasCrnErrorMapper basCrnErrorMapper;
     @Autowired
     private WrkMastService wrkMastService;
     @Autowired
@@ -307,7 +296,7 @@
      */
     public synchronized void storeEmptyPlt() {
         for (DevpSlave devp : slaveProperties.getDevp()) {
-            if (devp.getId()==1) continue;
+//            if (devp.getId()==1) continue;
             // 閬嶅巻绌烘澘鍏ュ簱鍙�
             for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) {
                 // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭�
@@ -1246,14 +1235,39 @@
         for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
             try {
                 for (RgvSlave.RgvStn inSta : rgvSlave.getRgvInSta()) {
-                    boolean create = deviceDetectionCreate(inSta);
-                    if (create) {
-                        continue;
+                    WrkMast wrkMast = deviceDetectionCreate(inSta);
+                    if (!Cools.isEmpty(wrkMast)) {
+                        TaskWrk taskWrk = new TaskWrk(wrkMast);
+                        taskWrkService.insert(taskWrk);
                     }
                 }
             } catch (Exception e){
 
             }
+        }
+    }
+
+    public synchronized void taskCancel() {
+        try {
+            List<String> taskList = new ArrayList<>();
+            for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
+                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId());
+                TaskProtocolCache taskProtocolCache = rgvThread.getTaskProtocolCache();
+                ConcurrentHashMap<String, TaskProtocol> allTaskProtocol = taskProtocolCache.getAllTaskProtocol();
+                for (TaskProtocol taskProtocol : allTaskProtocol.values()){
+                    taskList.add(taskProtocol.getTaskNo().toString());
+                }
+            }
+            Wrapper<TaskWrk> wrkWrapper = new EntityWrapper<TaskWrk>().eq("status", 5);
+            for (String taskNo : taskList){
+                wrkWrapper.ne("task_no", taskNo);
+            }
+            int count = taskWrkService.selectCount(wrkWrapper);
+            if (count>0){
+                taskWrkService.delete(wrkWrapper);
+            }
+        } catch (Exception e){
+
         }
     }
     public synchronized void taskStart() {
@@ -1738,31 +1752,33 @@
         return true;
     }
 
-    public boolean deviceDetectionCreate(RgvSlave.RgvStn inSta) {
+    public WrkMast deviceDetectionCreate(RgvSlave.RgvStn inSta) {
         DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, inSta.getDevpPlcId());
         StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
         if (staProtocol == null) {
-            return false;
+            return null;
         }
+
         // 鍒ゆ柇鏄惁婊¤冻鍙栬揣鏉′欢
         if (staProtocol.isAutoing()
 //                && staProtocol.isLoading()
 //                && staProtocol.isStaOk()
                 && staProtocol.getWorkNo() != 0) {
-            TaskWrk taskWrk = taskWrkService.selectByTaskNo(staProtocol.getWorkNo());
-            if (Cools.isEmpty(taskWrk)){
+            WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
+            if (!Cools.isEmpty(wrkMast)){
                 if (inSta.getStaNo()==117 || inSta.getStaNo()==120 || inSta.getStaNo()==123
                         || inSta.getStaNo()==217 || inSta.getStaNo()==220 || inSta.getStaNo()==223){
-                    WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
-                    if (!Cools.isEmpty(wrkMast) && wrkMast.getIoType()<100){
-                        return true;
+                    if (wrkMast.getIoType()>100){
+                        return null;
                     }
-                } else {
-                    return true;
+                }
+                TaskWrk taskWrk = taskWrkService.selectByTaskNo(staProtocol.getWorkNo());
+                if (Cools.isEmpty(taskWrk)){
+                    return wrkMast;
                 }
             }
         }
-        return false;
+        return null;
     }
     public TaskWrk deviceDetection(RgvSlave.RgvStn inSta) {
 
@@ -2009,6 +2025,7 @@
                 issuedTake.setTaskNo(Long.valueOf(taskWrk.getWrkNo()));
                 issuedTake.setTaskStatus(2);
                 issuedTake.setTargetPositionStaNo(basDevpPositionSou.getDevNo());
+                issuedTake.setTargetPositionStaNoEnd(basDevpPositionSou.getDevNo$());
                 issuedTake.setTargetPositionStaNoPlcId(basDevpPositionSou.getPlcId());
                 issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus()));
                 issuedTake.setTargetPosition(basDevpPositionSou.getPlcPosition());
@@ -2019,6 +2036,7 @@
                 issuedPut.setTaskNo(Long.valueOf(taskWrk.getWrkNo()));
                 issuedPut.setTaskStatus(3);
                 issuedPut.setTargetPositionStaNo(basDevpPositionEnd.getDevNo());
+                issuedPut.setTargetPositionStaNoEnd(basDevpPositionEnd.getDevNo$());
                 issuedPut.setTargetPositionStaNoPlcId(basDevpPositionEnd.getPlcId());
                 issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus()));
                 issuedPut.setTargetPosition(basDevpPositionEnd.getPlcPosition());
@@ -2026,13 +2044,11 @@
                 issuedPut.setDirection(basDevpPositionEnd.getRgvSign()==1);
 
                 try{
-                    if (taskWrk.getIoType()==2 && basDevpPositionEnd.getRgvSign()==1){
-                        Date now = new Date();
-                        taskWrk.setStatus(TaskStatusType.OVER.id);
-                        taskWrk.setModiTime(now);//鏇存柊鏃堕棿
-                        taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿
-                        taskWrkService.updateById(taskWrk);
-                    }
+                    Date now = new Date();
+                    taskWrk.setStatus(TaskStatusType.OVER.id);
+                    taskWrk.setModiTime(now);//鏇存柊鏃堕棿
+                    taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿
+                    taskWrkService.updateById(taskWrk);
                 } catch (Exception e){
 
                 }
diff --git a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
index e4407e0..f2e6c72 100644
--- a/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/TaskWrkServiceImpl.java
@@ -9,13 +9,18 @@
 @Service("taskWrkService")
 public class TaskWrkServiceImpl extends ServiceImpl<TaskWrkMapper, TaskWrk> implements TaskWrkService {
 
-//    @Override
-//    public TaskWrk selectByWrkNo(Integer wrkNo) {
-//        return this.baseMapper.selectByWrkNo(wrkNo);
-//    }
+    @Override
+    public TaskWrk selectByWrkNo(Integer wrkNo) {
+        return this.baseMapper.selectByWrkNo(wrkNo);
+    }
 
     @Override
     public TaskWrk selectByTaskNo(Integer taskNo) {
         return this.baseMapper.selectByTaskNo(taskNo);
     }
+
+    @Override
+    public int saveToHistory() {
+        return this.baseMapper.saveToHistory();
+    }
 }
diff --git a/src/main/java/com/zy/asrs/utils/BarcodeUtils.java b/src/main/java/com/zy/asrs/utils/BarcodeUtils.java
index 9823ef5..236f0a7 100644
--- a/src/main/java/com/zy/asrs/utils/BarcodeUtils.java
+++ b/src/main/java/com/zy/asrs/utils/BarcodeUtils.java
@@ -4,50 +4,36 @@
 
 public class BarcodeUtils {
 
-    public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
-        add(1001);add(1002);add(1003);add(1004);add(1005);add(1006);add(1007);
-        add(1008);add(1009);add(1010);add(1011);add(1012);add(1013);add(1014);add(1015);
-        add(1016);add(1017);add(1018);add(1019);add(1020);add(1021);add(1022);add(1023);
-    }};
-
-    public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
-        add(1001);add(1002);add(1003);add(1004);add(1005);add(1006);add(1007);
-        add(1008);add(1009);add(1010);add(1011);add(1012);add(1013);add(1014);add(1015);
-        add(1016);add(1017);add(1018);add(1019);add(1020);add(1021);add(1022);add(1023);
-    }};
-
-    public static Integer getStaNo(Integer staNo) {
-        switch (staNo){
-            case 1021:
-                return 1020;
-            case 1012:
-                return 1014;
-            case 1005:
-                return 1004;
-            default:
-                return staNo;
-        }
-    }
-    public static Integer getStartStaNo(String staNo) {
-        switch (staNo){
-            case "1021":
-                return 1020;
-            case "1012":
-                return 1014;
-            case "1005":
-                return 1004;
-            default:
-                return Integer.getInteger(staNo);
-        }
-    }
+//    public static Integer getStaNo(Integer staNo) {
+//        switch (staNo) {
+//            case 1021:
+//                return 1020;
+//            case 1012:
+//                return 1014;
+//            case 1005:
+//                return 1004;
+//            default:
+//                return staNo;
+//        }
+//    }
     public static Integer getOutStaNo(String staNo) {
         switch (staNo){
-            case "1021":
-                return 1020;
-            case "1012":
-                return 1009;
-            case "1005":
-                return 1004;
+            case "101":
+            case "105":
+            case "109":
+            case "115":
+            case "201":
+            case "205":
+            case "209":
+            case "215":
+                return Integer.parseInt(staNo)+1;
+            case "119":
+            case "122":
+            case "125":
+            case "219":
+            case "222":
+            case "225":
+                return Integer.parseInt(staNo)-2;
             default:
                 return Integer.parseInt(staNo);
         }
diff --git a/src/main/java/com/zy/asrs/utils/RouteUtils.java b/src/main/java/com/zy/asrs/utils/RouteUtils.java
index 5d2d239..f76285d 100644
--- a/src/main/java/com/zy/asrs/utils/RouteUtils.java
+++ b/src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -308,7 +308,7 @@
     }
 
     public static Short CrnStaEnd(Integer endSta,Integer souSta) {
-        switch (endSta) {
+        switch (souSta) {
             case 103:
             case 107:
             case 111:
@@ -317,7 +317,7 @@
             case 207:
             case 211:
             case 213:
-                return (short)(endSta+1);
+                return (short)(souSta+1);
             default:
                 return endSta.shortValue();
         }
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index e974d59..5459597 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -92,6 +92,8 @@
                 mainService.taskCreate();
                 // 浠诲姟涓嬪彂
                 mainService.taskStart();
+                // 浠诲姟鍒犻櫎
+                mainService.taskCancel();
 
             } catch (Exception e) {
                 e.printStackTrace();
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 917d3da..ba4aeeb 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -55,6 +55,13 @@
         add(211);add(212);add(213);add(214);add(215);add(216);add(217);add(218);add(219);add(220);
         add(221);add(222);add(224);add(225);
     }};
+    public static final ArrayList<Integer> staNos1W = new ArrayList<Integer>() {{
+        add(118);add(121);add(124);
+    }};
+
+    public static final ArrayList<Integer> staNos2W = new ArrayList<Integer>() {{
+        add(218);add(221);add(224);
+    }};
     private boolean connectDev = false;
     public Long currentTimeMilliConnectDev= 0L;
 
@@ -80,6 +87,16 @@
                 return staNos1;
             case 2:
                 return staNos2;
+            default:
+                throw new CoolException("鏈嶅姟鍣ㄥ紓甯�");
+        }
+    }
+    private ArrayList<Integer> getStaNoW() {
+        switch (slave.getId()) {
+            case 1:
+                return staNos1W;
+            case 2:
+                return staNos2W;
             default:
                 throw new CoolException("鏈嶅姟鍣ㄥ紓甯�");
         }
@@ -320,24 +337,24 @@
                 }
             }
         }
-        int[] staW = new int[]{1004,1014,1020};
+        ArrayList<Integer> staW = getStaNoW();
 
         //鏉$爜
 //        Thread.sleep(50);
-        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB400.100.0",(short) (barcodeSize*8));
+        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.212",(short) (barcodeSize*8));
         if (result2.IsSuccess) {
             for (int i = 0; i < barcodeSize; i++) {
-                Integer siteId = staW[i]; // 绔欑偣缂栧彿
+                Integer siteId = staW.get(i); // 绔欑偣缂栧彿
                 StaProtocol staProtocol = station.get(siteId);
                 if (null == staProtocol) {
                     staProtocol = new StaProtocol();
                     station.put(siteId, staProtocol);
                 }
-                String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,6, "UTF-8");
-                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1);
+                String barcode = siemensS7Net.getByteTransform().TransString(result2.Content,i*8,8, "UTF-8");
+                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, i + 1+3*slave.getId());
                 if(!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
                     barcodeThread.setBarcode(barcode);
-                    if (!Cools.isEmpty(barcode) && !barcode.equals("000000")){
+                    if (!Cools.isEmpty(barcode) && !barcode.equals("00000000")){
                         staProtocol.setBarcodeNow(barcode);
                     } else if (Cools.isEmpty(barcode)){
                         staProtocol.setBarcodeNow("-");
@@ -350,10 +367,10 @@
         //鏉$爜
 //        Thread.sleep(50);
 
-        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB400.148.0",(short) (staW.length*4));
+        OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB101.200",(short) (staW.size()*4));
         if (result3.IsSuccess) {
-            for (int i = 0; i < staW.length; i++) {
-                Integer siteId = staW[i]; // 绔欑偣缂栧彿
+            for (int i = 0; i < staW.size(); i++) {
+                Integer siteId = staW.get(i); // 绔欑偣缂栧彿
                 StaProtocol staProtocol = station.get(siteId);
                 if (null == staProtocol) {
                     staProtocol = new StaProtocol();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 328b6cd..9fc2721 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -642,54 +642,54 @@
     # 鍏ュ簱鍙�1
     inSta[0]:
       staNo: 118
-      barcode: ${wcs-slave.barcode[1].id}
+      barcode: ${wcs-slave.barcode[0].id}
       backSta: 119
-      led: ${wcs-slave.led[1].id}
+      led: ${wcs-slave.led[0].id}
     inSta[1]:
       staNo: 121
-      barcode: ${wcs-slave.barcode[0].id}
+      barcode: ${wcs-slave.barcode[1].id}
       backSta: 122
       led: ${wcs-slave.led[1].id}
     inSta[2]:
       staNo: 124
-      barcode: ${wcs-slave.barcode[0].id}
+      barcode: ${wcs-slave.barcode[2].id}
       backSta: 125
-      led: ${wcs-slave.led[1].id}
+      led: ${wcs-slave.led[2].id}
     # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[0]:
       staNo: 118
       barcode: ${wcs-slave.barcode[0].id}
       backSta: 119
-      led: ${wcs-slave.led[1].id}
+      led: ${wcs-slave.led[0].id}
     # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[1]:
       staNo: 121
-      barcode: ${wcs-slave.barcode[0].id}
+      barcode: ${wcs-slave.barcode[1].id}
       backSta: 122
       led: ${wcs-slave.led[1].id}
     # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[2]:
       staNo: 124
-      barcode: ${wcs-slave.barcode[0].id}
+      barcode: ${wcs-slave.barcode[2].id}
       backSta: 125
-      led: ${wcs-slave.led[1].id}
+      led: ${wcs-slave.led[2].id}
     # 鎷f枡鍏ュ簱鍙�1
     pickSta[0]:
       staNo: 118
-      barcode: ${wcs-slave.barcode[2].id}
-      led: ${wcs-slave.led[5].id}
+      barcode: ${wcs-slave.barcode[0].id}
+      led: ${wcs-slave.led[0].id}
       backSta: 119
     # 鎷f枡鍏ュ簱鍙�1
     pickSta[1]:
       staNo: 121
-      barcode: ${wcs-slave.barcode[2].id}
-      led: ${wcs-slave.led[5].id}
+      barcode: ${wcs-slave.barcode[1].id}
+      led: ${wcs-slave.led[1].id}
       backSta: 122
     # 鎷f枡鍏ュ簱鍙�1
     pickSta[2]:
       staNo: 124
       barcode: ${wcs-slave.barcode[2].id}
-      led: ${wcs-slave.led[5].id}
+      led: ${wcs-slave.led[2].id}
       backSta: 125
     # 鍑哄簱鍙�1
     outSta[0]:
@@ -697,10 +697,10 @@
       led: ${wcs-slave.led[0].id}
     outSta[1]:
       staNo: 122
-      led: ${wcs-slave.led[0].id}
+      led: ${wcs-slave.led[1].id}
     outSta[2]:
       staNo: 125
-      led: ${wcs-slave.led[0].id}
+      led: ${wcs-slave.led[2].id}
   # 杈撻�佺嚎1
   devp[1]:
     id: 2
@@ -711,143 +711,136 @@
     # 鍏ュ簱鍙�1
     inSta[0]:
       staNo: 218
-      barcode: ${wcs-slave.barcode[1].id}
+      barcode: ${wcs-slave.barcode[3].id}
       backSta: 219
-      led: ${wcs-slave.led[1].id}
+      led: ${wcs-slave.led[3].id}
     inSta[1]:
       staNo: 221
-      barcode: ${wcs-slave.barcode[0].id}
+      barcode: ${wcs-slave.barcode[4].id}
       backSta: 222
-      led: ${wcs-slave.led[1].id}
+      led: ${wcs-slave.led[4].id}
     inSta[2]:
       staNo: 224
-      barcode: ${wcs-slave.barcode[0].id}
+      barcode: ${wcs-slave.barcode[5].id}
       backSta: 225
-      led: ${wcs-slave.led[1].id}
+      led: ${wcs-slave.led[5].id}
     # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[0]:
       staNo: 218
-      barcode: ${wcs-slave.barcode[0].id}
+      barcode: ${wcs-slave.barcode[3].id}
       backSta: 219
-      led: ${wcs-slave.led[1].id}
+      led: ${wcs-slave.led[3].id}
     # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[1]:
       staNo: 221
-      barcode: ${wcs-slave.barcode[0].id}
+      barcode: ${wcs-slave.barcode[4].id}
       backSta: 222
-      led: ${wcs-slave.led[1].id}
+      led: ${wcs-slave.led[4].id}
     # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[2]:
       staNo: 224
-      barcode: ${wcs-slave.barcode[0].id}
+      barcode: ${wcs-slave.barcode[5].id}
       backSta: 225
-      led: ${wcs-slave.led[1].id}
+      led: ${wcs-slave.led[5].id}
     # 鎷f枡鍏ュ簱鍙�1
     pickSta[0]:
       staNo: 218
-      barcode: ${wcs-slave.barcode[2].id}
-      led: ${wcs-slave.led[5].id}
+      barcode: ${wcs-slave.barcode[3].id}
+      led: ${wcs-slave.led[3].id}
       backSta: 219
     # 鎷f枡鍏ュ簱鍙�1
     pickSta[1]:
       staNo: 221
-      barcode: ${wcs-slave.barcode[2].id}
-      led: ${wcs-slave.led[5].id}
+      barcode: ${wcs-slave.barcode[4].id}
+      led: ${wcs-slave.led[4].id}
       backSta: 222
     # 鎷f枡鍏ュ簱鍙�1
     pickSta[2]:
       staNo: 224
-      barcode: ${wcs-slave.barcode[2].id}
+      barcode: ${wcs-slave.barcode[5].id}
       led: ${wcs-slave.led[5].id}
       backSta: 225
     # 鍑哄簱鍙�1
     outSta[0]:
       staNo: 219
-      led: ${wcs-slave.led[0].id}
+      led: ${wcs-slave.led[3].id}
     outSta[1]:
       staNo: 222
-      led: ${wcs-slave.led[0].id}
+      led: ${wcs-slave.led[4].id}
     outSta[2]:
       staNo: 225
-      led: ${wcs-slave.led[0].id}
+      led: ${wcs-slave.led[5].id}
 
 
   # 鏉$爜鎵弿浠�1
   barcode[0]:
     id: 1
-    ip: 10.10.10.121
+    ip: 10.10.10.221
     port: 51236
   # 鏉$爜鎵弿浠�2
   barcode[1]:
     id: 2
-    ip: 10.10.10.122
+    ip: 10.10.10.222
     port: 51236
   # 鏉$爜鎵弿浠�3
   barcode[2]:
     id: 3
-    ip: 10.10.10.123
+    ip: 10.10.10.223
     port: 51236
   # 鏉$爜鎵弿浠�1mat
   barcode[3]:
     id: 4
-    ip: 10.10.10.124
+    ip: 10.10.10.224
     port: 51236
   # 鏉$爜鎵弿浠�2mat
   barcode[4]:
     id: 5
-    ip: 10.10.10.125
+    ip: 10.10.10.225
     port: 51236
   # 鏉$爜鎵弿浠�3mat
   barcode[5]:
     id: 6
-    ip: 10.10.10.126
+    ip: 10.10.10.226
     port: 51236
    # LED1
   led[0]:
     id: 1
-    ip: 10.10.10.212
+    ip: 10.10.10.209
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
     staArr: 1036
   # LED2
   led[1]:
     id: 2
-    ip: 10.10.10.213
+    ip: 10.10.10.210
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
     staArr: 1041
   # LED3
   led[2]:
     id: 3
-    ip: 10.10.10.214
+    ip: 10.10.10.211
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
     staArr: 1103
   # LED4
   led[3]:
     id: 4
-    ip: 10.10.10.216
+    ip: 10.10.10.212
     port: 5005
     devpPlcId: ${wcs-slave.devp[0].id}
     staArr: 1047
   # LED4
   led[4]:
     id: 5
-    ip: 10.10.10.215
+    ip: 10.10.10.213
     port: 5005
     devpPlcId: ${wcs-slave.devp[1].id}
     staArr: 2037
   # LED5
   led[5]:
     id: 6
-    ip: 10.10.10.217
+    ip: 10.10.10.214
     port: 5005
     devpPlcId: ${wcs-slave.devp[1].id}
-    staArr: 4001
-  # LED6
-  led[6]:
-    id: 7
-    ip: 10.10.10.218
-    port: 5005
-    devpPlcId: ${wcs-slave.devp[1].id}
-    staArr: 4006
\ No newline at end of file
+    staArr: 4001
\ No newline at end of file
diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml
index 6c9dc99..10c55e6 100644
--- a/src/main/resources/mapper/TaskWrkMapper.xml
+++ b/src/main/resources/mapper/TaskWrkMapper.xml
@@ -42,4 +42,10 @@
           and "task_no" = #{taskNo}
     </select>
 
+    <insert id="saveToHistory">
+        insert into "SOURCE"."wcs_task_wrk_log"
+        select * from "SOURCE"."wcs_task_wrk"
+        where "STATUS"=5
+    </insert>
+
 </mapper>
diff --git a/src/main/webapp/static/js/console.map.js b/src/main/webapp/static/js/console.map.js
index f76ce2c..d3acd7a 100644
--- a/src/main/webapp/static/js/console.map.js
+++ b/src/main/webapp/static/js/console.map.js
@@ -289,7 +289,37 @@
             "width": 2900,
             "height": 600,
             "stns": [
-                { "type": "stn", "id": "site-125", "text": "125", "top": 416, "left": 1162, "width": 54, "height": 20 },
+                {"type": "track", "id": "lb_trCart21", "text": "", "top": 65, "left": 1000, "width": 6, "height": 560},
+                {"type": "track", "id": "lb_trCart22", "text": "", "top": 65, "left": 1020, "width": 6, "height": 560},
+                { "type": "stn", "id": "site-3", "text": "2", "top": 384, "left": 984, "width": 62, "height": 20 },
+                { "type": "stn", "id": "site-4", "text": "1", "top": 84, "left": 984, "width": 62, "height": 20 },
+
+                { "type": "stn", "id": "site-201", "text": "201", "top": 84, "left": 870, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-202", "text": "202", "top": 84, "left": 926, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-203", "text": "203", "top": 128, "left": 870, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-204", "text": "204", "top": 128, "left": 926, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-205", "text": "205", "top": 190, "left": 870, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-206", "text": "206", "top": 190, "left": 926, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-207", "text": "207", "top": 238, "left": 870, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-208", "text": "208", "top": 238, "left": 926, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-209", "text": "209", "top": 304, "left": 870, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-210", "text": "210", "top": 304, "left": 926, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-211", "text": "211", "top": 352, "left": 870, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-212", "text": "212", "top": 352, "left": 926, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-213", "text": "213", "top": 416, "left": 870, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-214", "text": "214", "top": 416, "left": 926, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-215", "text": "215", "top": 465, "left": 870, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-216", "text": "216", "top": 465, "left": 926, "width": 54, "height": 20 },
+
+                { "type": "stn", "id": "site-217", "text": "217", "top": 238, "left": 1050, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-218", "text": "218", "top": 238, "left": 1106, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-219", "text": "219", "top": 238, "left": 1162, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-220", "text": "220", "top": 304, "left": 1050, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-221", "text": "221", "top": 304, "left": 1106, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-222", "text": "222", "top": 304, "left": 1162, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-223", "text": "223", "top": 416, "left": 1050, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-224", "text": "224", "top": 416, "left": 1106, "width": 54, "height": 20 },
+                { "type": "stn", "id": "site-225", "text": "225", "top": 416, "left": 1162, "width": 54, "height": 20 },
             ],
             "barcode": []
         },

--
Gitblit v1.9.1