From 9e5f9371ed18a317eb5fcbbd94bc174837e561a3 Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期三, 26 六月 2024 19:35:43 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/SiteController.java     |   29 +
 src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java     |   92 ++++++
 src/main/webapp/views/ste.html                               |  223 +++++++-------
 src/main/java/com/zy/asrs/domain/vo/SteDataVo.java           |   27 +
 src/main/java/com/zy/asrs/domain/param/SteModeParam.java     |   19 +
 src/main/java/com/zy/core/thread/SiemensCrnThread.java       |    3 
 src/main/java/com/zy/core/thread/SteThread.java              |    2 
 src/main/java/com/zy/asrs/controller/SteController.java      |  304 ++++++++++++++++++++
 src/main/java/com/zy/asrs/domain/vo/SteMsgTableVo.java       |   50 +++
 src/main/java/com/zy/core/MainProcess.java                   |   69 ++--
 src/main/java/com/zy/asrs/domain/param/SteOperatorParam.java |   32 ++
 src/main/java/com/zy/core/thread/SiemensDevpThread.java      |   24 +
 src/main/resources/application.yml                           |    4 
 13 files changed, 720 insertions(+), 158 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index f61ccff..d71cb10 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -2,16 +2,21 @@
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.annotations.ManagerAuth;
+import com.core.common.Cools;
 import com.core.common.R;
 import com.zy.asrs.domain.vo.PlcErrorTableVo;
 import com.zy.asrs.domain.vo.SiteTableVo;
+import com.zy.asrs.domain.vo.SteDataVo;
 import com.zy.asrs.entity.BasDevp;
+import com.zy.asrs.entity.BasSte;
 import com.zy.asrs.service.BasDevpService;
+import com.zy.asrs.service.BasSteService;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.DevpSlave;
+import com.zy.core.model.SteSlave;
 import com.zy.core.model.Task;
 import com.zy.core.model.protocol.StaProtocol;
 import com.zy.core.properties.SlaveProperties;
@@ -33,6 +38,8 @@
 @RequestMapping("/site")
 public class SiteController {
 
+    @Autowired
+    private BasSteService basSteService;
     @Autowired
     private SlaveProperties slaveProperties;
     @Autowired
@@ -201,5 +208,27 @@
         return R.error("plc宸叉帀绾�");
     }
 
+    @GetMapping("/detl/{steNo}")
+    public R steDetl(@PathVariable("steNo") Integer steNo){
+        SteDataVo vo = new SteDataVo();
+        for (SteSlave ste : slaveProperties.getSte()) {
+            if (steNo.equals(ste.getId())) {
+                vo.setSteNo(ste.getId());
+                BasSte basSte = basSteService.selectById(ste.getId());
+                if (!Cools.isEmpty(basSte)) {
+                    vo.setRow(basSte.getRow());
+                    vo.setBay(basSte.getBay());
+                    vo.setLev(basSte.getLev());
+                    vo.setCrnNo(basSte.getCrnNo());
+                    vo.setWorkNo(basSte.getWrkNo());
+                    vo.setPakMk(basSte.getPakMk());
+                }
+                break;
+            }
+        }
+        return R.ok().add(vo);
+    }
+
+
 
 }
diff --git a/src/main/java/com/zy/asrs/controller/SteController.java b/src/main/java/com/zy/asrs/controller/SteController.java
new file mode 100644
index 0000000..190ce4c
--- /dev/null
+++ b/src/main/java/com/zy/asrs/controller/SteController.java
@@ -0,0 +1,304 @@
+package com.zy.asrs.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.annotations.ManagerAuth;
+import com.core.common.BaseRes;
+import com.core.common.Cools;
+import com.core.common.R;
+import com.core.exception.CoolException;
+import com.zy.asrs.domain.enums.CrnStatusType;
+import com.zy.asrs.domain.param.SteModeParam;
+import com.zy.asrs.domain.param.SteOperatorParam;
+import com.zy.asrs.domain.vo.SteDataVo;
+import com.zy.asrs.domain.vo.SteMsgTableVo;
+import com.zy.asrs.domain.vo.SteStateTableVo;
+import com.zy.asrs.entity.BasSte;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.BasSteService;
+import com.zy.asrs.service.WrkMastService;
+import com.zy.core.News;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.cache.OutputQueue;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.SteTaskModeType;
+import com.zy.core.model.SteSlave;
+import com.zy.core.model.Task;
+import com.zy.core.model.command.SteCommand;
+import com.zy.core.model.protocol.SteProtocol;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.properties.SystemProperties;
+import com.zy.core.thread.SteThread;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 绌挎杞︽帴鍙�
+ * Created by vincent on 2022/3/14
+ */
+@Slf4j
+@RestController
+@RequestMapping("/ste")
+public class SteController {
+
+    @Autowired
+    private SlaveProperties slaveProperties;
+    @Autowired
+    private BasSteService basSteService;
+    @Autowired
+    private WrkMastService wrkMastService;
+
+    @PostMapping("/table/ste/state")
+    @ManagerAuth(memo = "绌挎杞︿俊鎭〃")
+    public R steStateTable(){
+        List<SteStateTableVo> list = new ArrayList<>();
+        List<BasSte> stes = basSteService.selectList(new EntityWrapper<BasSte>().orderBy("ste_no"));
+        for (BasSte basSte : stes) {
+            // 琛ㄦ牸琛�
+            SteStateTableVo vo = new SteStateTableVo();
+            vo.setSteNo(basSte.getSteNo());   //  绌挎杞﹀彿
+            list.add(vo);
+            // 鑾峰彇绌挎杞︿俊鎭�
+            SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, basSte.getSteNo());
+            if (steThread == null) {
+                continue;
+            }
+            SteProtocol steProtocol = steThread.getSteProtocol();
+            if (steProtocol == null) {
+                continue;
+            }
+            vo.setTaskNo(steProtocol.getTaskNo().intValue());  //  浠诲姟鍙�
+            vo.setStatusVal(steProtocol.getMode().intValue());  // 鍦ㄧ嚎鐘舵��
+            vo.setStatusType(steProtocol.mode == 0 ? "绂荤嚎" : "鍦ㄧ嚎");   //  妯″紡鐘舵��
+            if (!Cools.isEmpty(steProtocol.getStatus())) {
+                vo.setStatus(steProtocol.getStatusType().desc);     //  鐘舵��
+            }
+            if (!Cools.isEmpty(steProtocol.getLoad())) {
+                vo.setLoading(steProtocol.getLoad()==1?"鉁�":"脳");  //  鏈夌墿
+            }
+            if (!Cools.isEmpty(steProtocol.getWaiting())) {
+                vo.setWaiting(steProtocol.getWaiting()?"鉁�":"脳");
+            }
+            vo.setRow(steProtocol.getRow());
+            vo.setBay(steProtocol.getBay());
+            vo.setLev(steProtocol.getLev());
+            vo.setCharge(steProtocol.getCharge() + "%");
+            if (!Cools.isEmpty(steProtocol.getLoca())) {
+                vo.setLoca(steProtocol.getLocaType().desc);
+            }
+            vo.setSpeed(steProtocol.getSpeed());
+            vo.setCloser(steProtocol.getCloser());
+            if (!Cools.isEmpty(steProtocol.getPos())) {
+                vo.setPos(steProtocol.getPos()==0?"浣庝綅":"楂樹綅");
+            }
+            if (!Cools.isEmpty(steProtocol.getTrack())) {
+                vo.setTrack(steProtocol.getTrack()==0?"鉁�":"脳");
+            }
+            if (!Cools.isEmpty(steProtocol.getChargeStatus())) {
+                vo.setChargeStatus(steProtocol.getChargeStatus()==1?"鉁�":"脳");
+            }
+            if (!Cools.isEmpty(steProtocol.getAlarm())) {
+                vo.setAlarm1(String.valueOf(steProtocol.getAlarm()));
+            }
+            if (!Cools.isEmpty(steProtocol.getAlarm0())) {
+                vo.setAlarm2(String.valueOf(steProtocol.getAlarm0()));
+            }
+        }
+        return R.ok().add(list);
+    }
+
+    @PostMapping("/table/ste/msg")
+    @ManagerAuth(memo = "绌挎杞︽暟鎹〃")
+    public R steMsgTable(){
+        List<SteMsgTableVo> list = new ArrayList<>();
+        List<BasSte> stes = basSteService.selectList(new EntityWrapper<BasSte>().orderBy("ste_no"));
+        for (BasSte basSte : stes) {
+            // 琛ㄦ牸琛�
+            SteMsgTableVo vo = new SteMsgTableVo();
+            vo.setSteNo(basSte.getSteNo());   //  绌挎杞﹀彿
+            list.add(vo);
+            // 鑾峰彇绌挎杞︿俊鎭�
+            SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, basSte.getSteNo());
+            if (steThread == null) {
+                continue;
+            }
+            SteProtocol steProtocol = steThread.getSteProtocol();
+            if (steProtocol == null) {
+                continue;
+            }
+
+            vo.setWorkNo(steProtocol.getTaskNo().intValue());  //  浠诲姟鍙�
+            if (steProtocol.getTaskNo() > 0) {
+                WrkMast wrkMast = wrkMastService.selectById(steProtocol.getTaskNo());
+                if (wrkMast != null) {
+                    vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc());   //  妯″紡鐘舵��
+                    vo.setSourceStaNo(wrkMast.getSourceStaNo$());    //  婧愮珯
+                    vo.setStaNo(wrkMast.getStaNo$());   //  鐩爣绔�
+                    vo.setSourceLocNo(wrkMast.getSourceLocNo());    //  婧愬簱浣�
+                    vo.setLocNo(wrkMast.getLocNo());    //  鐩爣搴撲綅
+                }
+            } else {
+                vo.setStatus(steProtocol.mode == 1? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc());   //  妯″紡鐘舵��
+            }
+            vo.setSpeed(steProtocol.getSpeed());  // 閫熷害
+            vo.setCloser(steProtocol.getCloser());  // 杩戠偣璺濈
+            vo.setPakMk(steProtocol.getPakMk());    // 浣滀笟鏍囪
+        }
+        return R.ok().add(list);
+    }
+
+    @PostMapping("/output/ste")
+    @ManagerAuth
+    public R steOutput(){
+        StringBuilder str = new StringBuilder();
+        String s;
+        int i = 0;
+        while((s = OutputQueue.STE.poll()) != null && i <=10) {
+            str.append("\n").append(s);
+            i++;
+        }
+        return R.ok().add(str.toString());
+    }
+
+    @GetMapping("/detl/{steNo}")
+    public R steDetl(@PathVariable("steNo") Integer steNo){
+        SteDataVo vo = new SteDataVo();
+        for (SteSlave ste : slaveProperties.getSte()) {
+            if (steNo.equals(ste.getId())) {
+                vo.setSteNo(ste.getId());
+                BasSte basSte = basSteService.selectById(ste.getId());
+                if (!Cools.isEmpty(basSte)) {
+                    vo.setRow(basSte.getRow());
+                    vo.setBay(basSte.getBay());
+                    vo.setLev(basSte.getLev());
+                    vo.setCrnNo(basSte.getCrnNo());
+                    vo.setWorkNo(basSte.getWrkNo());
+                    vo.setPakMk(basSte.getPakMk());
+                }
+                break;
+            }
+        }
+        return R.ok().add(vo);
+    }
+
+    @PostMapping("/detl/update")
+    @ManagerAuth
+    public R steUpdate(SteDataVo vo){
+        BasSte basSte = basSteService.selectById(vo.getSteNo());
+        if (basSte == null) {
+            return R.error();
+        }
+        // 鑾峰彇绌挎杞︿俊鎭�
+        SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, vo.getSteNo());
+        SteProtocol steProtocol = steThread.getSteProtocol();
+        if (steProtocol == null) {
+           throw new CoolException(vo.getSteNo() + "鍙风┛姊溅涓嶅湪绾匡紝鏃犳硶淇濆瓨");
+        }
+        if (!Cools.isEmpty(vo.getRow(), vo.getBay(), vo.getLev())) {
+            if (!steThread.modifyPosHandle(vo.getRow(), vo.getBay(), vo.getLev())) {
+                throw new CoolException("鏈嶅姟鍣ㄩ敊璇�");
+            }
+        }
+        SteCommand steCommand = new SteCommand();
+        steCommand.setTaskNo(vo.getWorkNo());
+        if (MessageQueue.offer(SlaveType.Ste, vo.getSteNo(), new Task(2, steCommand))) {
+        } else {
+            throw new CoolException("鍛戒护涓嬪彂澶辫触");
+        }
+        basSte.setRow(vo.getRow());
+        basSte.setBay(vo.getBay());
+        basSte.setLev(vo.getLev());
+
+        basSte.setPakMk(vo.getPakMk());
+        basSte.setWrkNo(vo.getWorkNo());
+        basSte.setCrnNo(vo.getCrnNo());
+        basSte.setUpdateTime(new Date());
+        if (!basSteService.updateById(basSte)) {
+            throw new CoolException("淇敼澶辫触");
+        }
+        return R.ok();
+    }
+
+
+    /****************************************************************/
+    /************************** 鎵嬪姩鎿嶄綔 ******************************/
+    /****************************************************************/
+
+    @PostMapping("/mode/switch")
+    @ManagerAuth
+    public R crnDemo(SteModeParam param) throws InterruptedException {
+        if (Cools.isEmpty(param.getSteNo())){
+            return R.error();
+        }
+        if (Cools.isEmpty(param.getPassword())){
+            return R.error("璇疯緭鍏ュ彛浠�");
+        }
+        if (!param.getPassword().equals(SystemProperties.WCS_PASSWORD)){
+            return R.error("鍙d护閿欒");
+        }
+        Thread.sleep(200L);
+        for (SteSlave steSlave : slaveProperties.getSte()) {
+            if (steSlave.getId().equals(param.getSteNo())) {
+                // 鑾峰彇绌挎杞︿俊鎭�
+                SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steSlave.getId());
+                SteProtocol steProtocol = steThread.getSteProtocol();
+                if (steProtocol == null) { continue; }
+                SteCommand steCommand = new SteCommand();
+                steCommand.setSteNo(param.getSteNo()); // 绌挎杞︾紪鍙�
+                if (MessageQueue.offer(SlaveType.Ste, param.getSteNo(), new Task(2, steCommand))) {
+                    return R.ok();
+                } else {
+                    throw new CoolException("鍛戒护涓嬪彂澶辫触");
+                }
+            }
+        }
+        return R.ok();
+    }
+
+    @ManagerAuth(memo = "鎵嬪姩鎿嶄綔")
+    @PostMapping("/operator/ste")
+    public R steOperator(SteOperatorParam param){
+        if (Cools.isEmpty(param.getSteNo(), param.getSteTaskMode())) {
+            return R.parse(BaseRes.PARAM);
+        }
+
+        for (SteSlave ste : slaveProperties.getSte()) {
+            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+            if (param.getSteNo().equals(ste.getId())) {
+                SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
+                if (steThread == null) {
+                    throw new CoolException("绌挎杞︿笉鍦ㄧ嚎");
+                }
+                SteProtocol steProtocol = steThread.getSteProtocol();
+                if (steProtocol == null) {
+                    throw new CoolException("绌挎杞︿笉鍦ㄧ嚎");
+                }
+                SteTaskModeType steTaskModeType = SteTaskModeType.get(param.getSteTaskMode());
+                SteCommand steCommand = new SteCommand();
+                steCommand.setSteNo(ste.getId()); // 绌挎杞︾紪鍙�
+                if (param.getSteTaskMode() == 16) {
+                    steCommand.setComplete(true);
+                } else {
+                    if (steTaskModeType == null) {
+                        throw new CoolException("浠诲姟绫诲瀷閿欒");
+                    }
+                    steCommand.setTaskNo(param.getTaskNo()); // 宸ヤ綔鍙�
+                    steCommand.setTaskMode(steTaskModeType);
+                }
+                if (MessageQueue.offer(SlaveType.Ste, ste.getId(), new Task(2, steCommand))) {
+                    return R.ok();
+                } else {
+                    throw new CoolException("鍛戒护涓嬪彂澶辫触");
+                }
+            }
+        }
+        return R.error();
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/domain/param/SteModeParam.java b/src/main/java/com/zy/asrs/domain/param/SteModeParam.java
new file mode 100644
index 0000000..b15331d
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/SteModeParam.java
@@ -0,0 +1,19 @@
+package com.zy.asrs.domain.param;
+
+import lombok.Data;
+
+/**
+ * 鍫嗗灈鏈烘紨绀烘搷浣滃叆鍙�
+ * Created by vincent on 2020-06-03
+ */
+@Data
+public class SteModeParam {
+
+    private Integer steNo;
+
+    // 瀵嗙爜鍙d护
+    private String password;
+
+    private Boolean opt;
+
+}
diff --git a/src/main/java/com/zy/asrs/domain/param/SteOperatorParam.java b/src/main/java/com/zy/asrs/domain/param/SteOperatorParam.java
new file mode 100644
index 0000000..41be54d
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/param/SteOperatorParam.java
@@ -0,0 +1,32 @@
+package com.zy.asrs.domain.param;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2020-06-02
+ */
+@Data
+public class SteOperatorParam {
+
+    // 绌挎杞﹀彿
+    private Integer steNo;
+
+    // 鍛戒护绫诲瀷
+    private Short steTaskMode;
+
+    // 浠诲姟鍙�
+    private Integer taskNo = 0;
+
+    // 鐩爣搴撲綅-鎺�
+    private Short row;
+
+    // 鐩爣搴撲綅-鍒�
+    private Short bay;
+
+    // 鐩爣搴撲綅-灞�
+    private Short lev;
+
+    // 鎵�灞炲爢鍨涙満
+    private Integer crnNo;
+
+}
diff --git a/src/main/java/com/zy/asrs/domain/vo/SteDataVo.java b/src/main/java/com/zy/asrs/domain/vo/SteDataVo.java
new file mode 100644
index 0000000..b0f70d8
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/vo/SteDataVo.java
@@ -0,0 +1,27 @@
+package com.zy.asrs.domain.vo;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2020-06-02
+ */
+@Data
+public class SteDataVo {
+
+    // 绌挎杞﹀彿
+    private Integer steNo;
+
+    // 宸ヤ綔鍙�
+    private Integer workNo;
+
+    private Integer row;
+
+    private Integer bay;
+
+    private Integer lev;
+
+    private Integer crnNo;
+
+    private String pakMk;
+
+}
diff --git a/src/main/java/com/zy/asrs/domain/vo/SteMsgTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SteMsgTableVo.java
new file mode 100644
index 0000000..0be072d
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/vo/SteMsgTableVo.java
@@ -0,0 +1,50 @@
+package com.zy.asrs.domain.vo;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2020-06-02
+ */
+@Data
+public class SteMsgTableVo {
+
+    // 绌挎杞﹀彿
+    private Integer steNo;
+
+    // 宸ヤ綔鍙�
+    private Integer workNo = 0;
+
+    // 鐘舵��
+    private String status = "-";
+
+    // 婧愮珯
+    private String sourceStaNo = "-";
+
+    // 鐩爣绔�
+    private String staNo = "-";
+
+    // 婧愬簱浣�
+    private String sourceLocNo = "-";
+
+    // 鐩爣搴撲綅
+    private String locNo = "-";
+
+    // 寮傚父
+    private String error = "";
+
+    // 鍘熺偣
+    private String origin = "";
+
+    // 鍛戒护
+    private String command = "";
+
+    // 閫熷害
+    private Double speed = 0.0D;
+
+    // 杩戠偣璺濈
+    public Double closer = 0.0D;
+
+    // 浣滀笟鏍囪
+    private String pakMk = "-";
+
+}
diff --git a/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java
new file mode 100644
index 0000000..17e499a
--- /dev/null
+++ b/src/main/java/com/zy/asrs/domain/vo/SteStateTableVo.java
@@ -0,0 +1,92 @@
+package com.zy.asrs.domain.vo;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2020-06-02
+ */
+@Data
+public class SteStateTableVo {
+
+    // 绌挎杞﹀彿
+    private Integer steNo;
+
+    // 鍦ㄧ嚎鐘舵��
+    private Integer statusVal;
+
+    // 妯″紡
+    private String statusType = "-";
+
+    // 鐘舵��
+    private String status = "-";
+
+    // 鏈夌墿
+    private String loading = "-";
+
+    /**
+     * 浠诲姟鍙�
+     */
+    public Integer taskNo;
+
+    // 姝e湪鎵ц浠诲姟
+    private String execute;
+
+    // 浠诲姟瀹屾垚锛岀瓑寰匴CS纭
+    private String waiting;
+
+    // 鎺�
+    private Short row;
+
+    // 鍒�
+    private Short bay;
+
+    // 灞�
+    private Short lev;
+
+    // 寮傚父鐮�1
+    private String alarm1 = "-";
+
+    // 寮傚父鐮�2
+    private String alarm2 = "-";
+
+    /**
+     * 鐢垫睜鐢甸噺
+     */
+    public String charge = "-";
+
+    /**
+     * 鐢垫睜棣堢數
+     */
+    public String feed = "-";
+
+    /**
+     * 褰撳墠浣嶇疆     1锛岃繎鐐癸紝2杩滅偣锛�3A鐐癸紝4B鐐�
+     */
+    public String loca = "-";
+
+    /**
+     * 杩戠偣璺濈
+     */
+    public Double closer;
+
+    /**
+     * 褰撳墠閫熷害
+     */
+    public Double speed;
+
+    /**
+     * 楂樹綆浣� 0锛屼綆浣嶏紝1楂樹綅
+     */
+    public String pos = "-";
+
+    /**
+     * 鍦ㄨ建閬撲笂 0涓嶅湪锛�1鍦�
+     */
+    public String track = "-";
+
+    /**
+     * 鍏呯數鐘舵��
+     */
+    public String chargeStatus = "-";
+
+}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index a0ff888..03664b2 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -57,41 +57,42 @@
                     // 鍏ュ嚭搴撴ā寮忓垏鎹㈠嚱鏁�
 //                    mainService.ioConvert();
                     // 鍏ュ簱  ===>> 鍏ュ簱绔欏埌鍫嗗灈鏈虹珯锛屾牴鎹潯鐮佹壂鎻忕敓鎴愬叆搴撳伐浣滄。
-                    mainService.generateStoreWrkFile(); // 缁勬墭
-                    mainService.generateStoreWrkFileSingle(); // 缁勬墭  鍙屽伐浣嶅崟浼�   灏忔枡绠�
-                    mainService.generateStoreWrkFileLarge(); // 缁勬墭  鍙屽伐浣嶅崟浼�   澶ф枡绠�
-                    mainService.generateStoreWrkFile0(); // WMS鍏ュ簱
-                    // 鍑哄簱  ===>>  鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
-                    mainService.crnStnToOutStn();
-                    // 鍑哄簱  ===>>  鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯  宸ヤ綅2
-                    mainService.crnStnToOutStnTwo();
-                    // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
-                    mainService.crnIoExecute();
-                    // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂  鍙屽伐浣嶅爢鍨涙満
-                    mainService.crnIoExecuteTwo();
-                    // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂  鍙屽伐浣嶅爢鍨涙満  鎷嗗垎鎵ц浠诲姟涓嬪彂
-                    mainService.crnIoExecuteTwoExecute(i);//Execute
-                    if (i%2==0){
-                        // 鍏ュ簱  ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
-                        mainService.storeFinished();
-                    }else {
-                        // 鍏ュ簱  ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�  宸ヤ綅2
-                        mainService.storeFinishedTwo();
-                    }
 
-
-//                    // 寮傚父淇℃伅璁板綍
-//                    mainService.recErr();
-                    // 鍏ュ簱  ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱
-                    mainService.storeEmptyPlt();
-                    // 鍏ュ簱  ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱  鍙屽伐浣嶅崟浼�   灏忔枡绠�
-                    mainService.storeEmptyPltSingle();
-                    // 鍏ュ簱  ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱  鍙屽伐浣嶅崟浼�   澶ф枡绠�
-                    mainService.storeEmptyPltLarge();
-                    // 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
-                    mainService.ledExecute();
-                    // 鍏朵粬   ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
-                    mainService.ledReset();
+//                    mainService.generateStoreWrkFile(); // 缁勬墭
+//                    mainService.generateStoreWrkFileSingle(); // 缁勬墭  鍙屽伐浣嶅崟浼�   灏忔枡绠�
+//                    mainService.generateStoreWrkFileLarge(); // 缁勬墭  鍙屽伐浣嶅崟浼�   澶ф枡绠�
+//                    mainService.generateStoreWrkFile0(); // WMS鍏ュ簱
+//                    // 鍑哄簱  ===>>  鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯
+//                    mainService.crnStnToOutStn();
+//                    // 鍑哄簱  ===>>  鍫嗗灈鏈哄嚭搴撶珯鍒板嚭搴撶珯  宸ヤ綅2
+//                    mainService.crnStnToOutStnTwo();
+//                    // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
+//                    mainService.crnIoExecute();
+//                    // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂  鍙屽伐浣嶅爢鍨涙満
+//                    mainService.crnIoExecuteTwo();
+//                    // 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂  鍙屽伐浣嶅爢鍨涙満  鎷嗗垎鎵ц浠诲姟涓嬪彂
+//                    mainService.crnIoExecuteTwoExecute(i);//Execute
+//                    if (i%2==0){
+//                        // 鍏ュ簱  ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
+//                        mainService.storeFinished();
+//                    }else {
+//                        // 鍏ュ簱  ===>> 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�  宸ヤ綅2
+//                        mainService.storeFinishedTwo();
+//                    }
+//
+//
+////                    // 寮傚父淇℃伅璁板綍
+////                    mainService.recErr();
+//                    // 鍏ュ簱  ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱
+//                    mainService.storeEmptyPlt();
+//                    // 鍏ュ簱  ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱  鍙屽伐浣嶅崟浼�   灏忔枡绠�
+//                    mainService.storeEmptyPltSingle();
+//                    // 鍏ュ簱  ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱  鍙屽伐浣嶅崟浼�   澶ф枡绠�
+//                    mainService.storeEmptyPltLarge();
+//                    // 鍑哄簱  ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
+//                    mainService.ledExecute();
+//                    // 鍏朵粬   ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
+//                    mainService.ledReset();
 
                     /************************************JAR璋冨害************************************/
                     //JarWrkMastExecute浠诲姟瀹屾垚
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index 0929642..902fb2b 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -194,6 +194,9 @@
      */
     private void readStatus(){
         try {
+            if (true){
+                return;
+            }
             OperateResultExOne<byte[]> result = new OperateResultExOne<byte[]>();
             if (slave.getId()>2 && slave.getId()<6){
                 result = siemensNet.Read("DB101.0", (short) 66);
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 3850d4e..76c9777 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -292,6 +292,7 @@
                 staProtocol.setBarcodeErr(status[6]);// 鎵爜澶辫触
             }
         }
+
         if (slave.getId()==2){
             Thread.sleep(200);
             int[] staNosRgv = {623,624,625,626};
@@ -305,21 +306,26 @@
                         staProtocol.setSiteId(siteId);
                         station.put(siteId, staProtocol);
                     }
-                    staProtocol.setEndRow(siemensS7Net.getByteTransform().TransInt16(result.Content, 0));     // 灏忚溅鐩爣浣�
+                    try{
+                        staProtocol.setEndRow(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 0));     // 灏忚溅鐩爣浣�
 
-                    staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(result.Content, 2));   // 鐩爣绔�
+                        staProtocol.setNowRow(siemensS7Net.getByteTransform().TransInt16(resultRgv.Content, 2));   // 鐩爣绔�
 
-                    boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, 4, 1);
-                    staProtocol.setRGV1(status[0]);  // 鑷姩
-                    staProtocol.setRGV2(status[1]);  // 鏈夌墿
-                    staProtocol.setRGV3(status[2]); // 鍙叆
-                    staProtocol.setRGV4(status[3]);//
-                    staProtocol.setRGV5(status[4]);  //
-                    staProtocol.setRGV6(status[5]);  // 婊℃墭鐩�
+                        boolean[] status = siemensS7Net.getByteTransform().TransBool(resultRgv.Content, 4, 1);
+                        staProtocol.setRGV1(status[0]);  // 鑷姩
+                        staProtocol.setRGV2(status[1]);  // 鏈夌墿
+                        staProtocol.setRGV3(status[2]); // 鍙叆
+                        staProtocol.setRGV4(status[3]);//
+                        staProtocol.setRGV5(status[4]);  //
+                        staProtocol.setRGV6(status[5]);  // 婊℃墭鐩�
+                    }catch (Exception e){
+                        System.out.println(e.getMessage());
+                    }
                 }
             }
         }
 
+
         //鏉$爜鎵弿鍣�
         Thread.sleep(200);
         OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB101.840",(short)(barcodeSize*8));
diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java
index 4483c28..223aa17 100644
--- a/src/main/java/com/zy/core/thread/SteThread.java
+++ b/src/main/java/com/zy/core/thread/SteThread.java
@@ -123,7 +123,7 @@
      */
     private void readStatus(){
         try {
-            OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) 22);
+            OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) 27);
             if (result.IsSuccess) {
                 if (null == steProtocol) {
                     steProtocol = new SteProtocol();
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 99572e0..b722f2b 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -553,14 +553,14 @@
   # ste1
   ste[0]:
     id: 1
-    ip: 10.10.10.10
+    ip: 10.10.10.170
     port: 502
     rack: 0
     slot: 0
   # ste2
   ste[1]:
     id: 2
-    ip: 10.10.10.10
+    ip: 10.10.10.175
     port: 502
     rack: 0
     slot: 0
\ No newline at end of file
diff --git a/src/main/webapp/views/ste.html b/src/main/webapp/views/ste.html
index 441dacf..72eb83f 100644
--- a/src/main/webapp/views/ste.html
+++ b/src/main/webapp/views/ste.html
@@ -13,135 +13,134 @@
     <script type="text/javascript" src="../static/js/common.js"></script>
 </head>
 <body>
-    <div style="padding: 10px;height: 100%;float: left;width: 6%">
-        <div class="button-window"></div>
-    </div>
-    <div style="height: 100%;padding-left: 6%">
-        <div style="padding: 10px;height: 100%">
-            <!-- 鏃ュ織鐩戞帶鏉� -->
-            <div class="log-board">
-                <div class="command-log">
-                    <div data-steNo="1" class="ste-command-item">
-                        <label>1#</label>
-                        <button class="demoBtn pos-btn">鏁版嵁缁存姢</button>
-<!--                        <button id="mode-1" class="demoBtn mode-btn" > - </button>-->
-                    </div>
-                    <div data-steNo="2" class="ste-command-item">
-                        <label>2#</label>
-                        <button class="demoBtn pos-btn">鏁版嵁缁存姢</button>
-<!--                        <button id="mode-2" class="demoBtn mode-btn" > - </button>-->
-                    </div>
-                    <div data-steNo="3" class="ste-command-item">
-                        <label>3#</label>
-                        <button class="demoBtn pos-btn">鏁版嵁缁存姢</button>
-<!--                        <button id="mode-3" class="demoBtn mode-btn" > - </button>-->
-                    </div>
+<div style="padding: 10px;height: 100%;float: left;width: 6%">
+    <div class="button-window"></div>
+</div>
+<div style="height: 100%;padding-left: 6%">
+    <div style="padding: 10px;height: 100%">
+        <!-- 鏃ュ織鐩戞帶鏉� -->
+        <div class="log-board">
+            <div class="command-log">
+                <div data-steNo="1" class="ste-command-item" style="margin-top: 30px">
+                    <label>1#</label>
+                    <button class="demoBtn pos-btn">鏁版嵁缁存姢</button>
+                    <!--                        <button id="mode-1" class="demoBtn mode-btn" > - </button>-->
                 </div>
-                <!-- 鍫嗗灈鏈虹姸鎬佷綅淇℃伅 -->
-                <div class="ste-state">
-                    <table id="ste-state-table">
-                        <thead>
-                            <tr>
-                                <th>绌挎杞�</th>
-                                <th>妯″紡</th>
-                                <th>鐘舵��</th>
-                                <th>鏈夌墿</th>
-                                <th>鍦ㄨ建</th>
-                                <th>鐢甸噺</th>
-                                <th>鎺�</th>
-                                <th>鍒�</th>
-                                <th>灞�</th>
-                                <th>绛夊緟WCS纭</th>
-                                <th>瀹氫綅</th>
-                                <th>鍏呯數鐘舵��</th>
-                                <th>鎶ヨ淇℃伅1</th>
-                                <th>鎶ヨ淇℃伅2</th>
-                            </tr>
-                        </thead>
-                        <tbody>
-                        </tbody>
-                    </table>
+                <div data-steNo="2" class="ste-command-item" style="margin-top: 30px">
+                    <label>2#</label>
+                    <button class="demoBtn pos-btn">鏁版嵁缁存姢</button>
+                    <!--                        <button id="mode-2" class="demoBtn mode-btn" > - </button>-->
+                </div>
+                <div data-steNo="3" class="ste-command-item" style="margin-top: 30px">
+                    <label>3#</label>
+                    <button class="demoBtn pos-btn">鏁版嵁缁存姢</button>
+                    <!--                        <button id="mode-3" class="demoBtn mode-btn" > - </button>-->
                 </div>
             </div>
-            <!-- 绌挎杞︾姸鎬� -->
-            <div class="ste-msg">
-                <table id="ste-msg-table">
+            <!-- 鍫嗗灈鏈虹姸鎬佷綅淇℃伅 -->
+            <div class="ste-state">
+                <table id="ste-state-table">
                     <thead>
-                        <tr>
-                            <th>绌挎杞�</th>
-                            <th>宸ヤ綔鍙�</th>
-                            <th>鐘舵��</th>
-                            <th>婧愮珯</th>
-                            <th>鐩爣绔�</th>
-                            <th>婧愬簱浣�</th>
-                            <th>鐩爣搴撲綅</th>
-                            <th>閫熷害</th>
-                            <th>杩戠偣璺濈</th>
-                            <th>浣滀笟鏍囪</th>
-                        </tr>
+                    <tr>
+                        <th>绌挎杞�</th>
+                        <th>妯″紡</th>
+                        <th>鐘舵��</th>
+                        <th>鏈夌墿</th>
+                        <th>鍦ㄨ建</th>
+                        <th>鐢甸噺</th>
+                        <th>鎺�</th>
+                        <th>鍒�</th>
+                        <th>灞�</th>
+                        <th>绛夊緟WCS纭</th>
+                        <th>瀹氫綅</th>
+                        <th>鍏呯數鐘舵��</th>
+                        <th>鎶ヨ淇℃伅1</th>
+                        <th>璁惧淇℃伅</th>
+                    </tr>
                     </thead>
                     <tbody>
                     </tbody>
                 </table>
             </div>
-            <!-- 鎵嬪姩鎿嶄綔 -->
-            <div class="ste-operation">
-                <!-- 閬僵灞� -->
-                <div class="ste-operation-shade">
+        </div>
+        <!-- 绌挎杞︾姸鎬� -->
+        <div class="ste-msg">
+            <table id="ste-msg-table">
+                <thead>
+                <tr>
+                    <th>绌挎杞�</th>
+                    <th>宸ヤ綔鍙�</th>
+                    <th>鐘舵��</th>
+                    <th>婧愮珯</th>
+                    <th>鐩爣绔�</th>
+                    <th>婧愬簱浣�</th>
+                    <th>鐩爣搴撲綅</th>
+                    <th>閫熷害</th>
+                    <th>杩戠偣璺濈</th>
+                    <th>浣滀笟鏍囪</th>
+                </tr>
+                </thead>
+                <tbody>
+                </tbody>
+            </table>
+        </div>
+        <!-- 鎵嬪姩鎿嶄綔 -->
+        <div class="ste-operation">
+            <!-- 閬僵灞� -->
+            <div class="ste-operation-shade">
                     <span class="ste-operation-shade-span">
                         WCS 绯荤粺杩愯涓紝璇峰仠姝㈠悗鎿嶄綔
                     </span>
-                </div>
-                <!-- 璁惧浠诲姟閫夋嫨 -->
-                <div class="task-select">
-                    <!-- 閫夋嫨 -->
-                    <div id="ste-select" class="operator-item">
-                        <span class="select-title">绌挎杞﹀彿</span>
-                        <div class="select-container">
-                            <label><input type="radio" name="steSelect" value="1" checked>&nbsp;1鍙风┛姊溅</label>
-                            <label><input type="radio" name="steSelect" value="2">&nbsp;2鍙风┛姊溅</label>
-                            <label><input type="radio" name="steSelect" value="3">&nbsp;3鍙风┛姊溅</label>
-                        </div>
+            </div>
+            <!-- 璁惧浠诲姟閫夋嫨 -->
+            <div class="task-select">
+                <!-- 閫夋嫨 -->
+                <div id="ste-select" class="operator-item">
+                    <span class="select-title">绌挎杞﹀彿</span>
+                    <div class="select-container">
+                        <label><input type="radio" name="steSelect" value="1" checked>&nbsp;1鍙风┛姊溅</label>
+                        <label><input type="radio" name="steSelect" value="2">&nbsp;2鍙风┛姊溅</label>
+                        <label><input type="radio" name="steSelect" value="3">&nbsp;3鍙风┛姊溅</label>
                     </div>
                 </div>
-                <!-- 璁惧浠诲姟鎿嶄綔 -->
-                <div class="task-operator">
-                    <fieldset>
-                        <legend>鎵嬪姩鎿嶄綔</legend>
-                        <div class="button-group">
-                            <button class="item" onclick="steOperator(99)">鑱旀満</button>
-                            <button class="item" onclick="steOperator(100)">鑴辨満</button>
-                            <button class="item" onclick="steOperator(1)">鍚戝彸鍑哄簱</button>
-                            <button class="item" onclick="steOperator(2)">鍚戝乏鍑哄簱</button>
-                            <button class="item" onclick="steOperator(3)">浠庡彸鍏ュ簱</button>
-                            <button class="item" onclick="steOperator(4)">浠庡乏鍏ュ簱</button>
-                            <button class="item" onclick="steOperator(5)">宸︾Щ搴�</button>
-                            <button class="item" onclick="steOperator(6)">鍙崇Щ搴�</button>
-                            <button class="item" onclick="steOperator(7)">鍘诲彸绔�</button>
-                            <button class="item" onclick="steOperator(8)">鍘诲乏绔�</button>
-                            <button class="item" onclick="steOperator(9)">鍙冲緟鏈�</button>
-                            <button class="item" onclick="steOperator(10)">宸﹀緟鏈�</button>
-<!--                            <button class="item" onclick="steOperator(11)">宸︽惉绉�</button>-->
-<!--                            <button class="item" onclick="steOperator(12)">鍙虫惉绉�</button>-->
-<!--                            <button class="item" onclick="steOperator(13)">宸﹀厖鐢�</button>-->
-<!--                            <button class="item" onclick="steOperator(14)">鍙冲厖鐢�</button>-->
-                            <button class="item" onclick="steOperator(20)">鏂紑鍏呯數妗�</button>
-                            <button class="item" onclick="steOperator(21)">灏忚溅鍏呯數缁撴潫</button>
-<!--                            <button class="item" onclick="steOperator(14)">宸︾洏鐐�</button>-->
-<!--                            <button class="item" onclick="steOperator(15)">鍙崇洏鐐�</button>-->
-                            <button class="item" onclick="steOperator(16)">浠诲姟瀹屾垚</button>
-
-                        </div>
-                    </fieldset>
-                </div>
-
             </div>
-            <!-- 绌挎杞︽棩蹇楄緭鍑� -->
-            <div class="ste-output-board">
-                <textarea id="ste-output"></textarea>
+            <!-- 璁惧浠诲姟鎿嶄綔 -->
+            <div class="task-operator">
+                <fieldset>
+                    <legend>鎵嬪姩鎿嶄綔</legend>
+                    <div class="button-group">
+<!--                        <button class="item" onclick="steOperator(99)">鑱旀満</button>-->
+<!--                        <button class="item" onclick="steOperator(100)">鑴辨満</button>-->
+<!--                        <button class="item" onclick="steOperator(1)">鍚戝乏鍑哄簱</button>-->
+<!--                        <button class="item" onclick="steOperator(2)">鍚戝彸鍑哄簱</button>-->
+<!--                        <button class="item" onclick="steOperator(3)">浠庡乏鍏ュ簱</button>-->
+<!--                        <button class="item" onclick="steOperator(4)">浠庡彸鍏ュ簱</button>-->
+<!--                        <button class="item" onclick="steOperator(5)">宸︾Щ搴�</button>-->
+<!--                        <button class="item" onclick="steOperator(6)">鍙崇Щ搴�</button>-->
+<!--                        <button class="item" onclick="steOperator(8)">鍘诲乏绔�</button>-->
+<!--                        <button class="item" onclick="steOperator(7)">鍘诲彸绔�</button>-->
+<!--                        <button class="item" onclick="steOperator(10)">宸﹀緟鏈�</button>-->
+<!--                        <button class="item" onclick="steOperator(9)">鍙冲緟鏈�</button>-->
+                        <!--                            <button class="item" onclick="steOperator(11)">宸︽惉绉�</button>-->
+                        <!--                            <button class="item" onclick="steOperator(12)">鍙虫惉绉�</button>-->
+<!--                        <button class="item" onclick="steOperator(13)">宸﹀厖鐢�</button>-->
+<!--                        <button class="item" onclick="steOperator(14)">鍙冲厖鐢�</button>-->
+<!--                        <button class="item" onclick="steOperator(17)">鏂紑鍏呯數</button>-->
+                        <!--                            <button class="item" onclick="steOperator(14)">宸︾洏鐐�</button>-->
+                        <!--                            <button class="item" onclick="steOperator(15)">鍙崇洏鐐�</button>-->
+<!--                        <button class="item" onclick="steOperator(16)">浠诲姟瀹屾垚</button>-->
+
+                    </div>
+                </fieldset>
             </div>
+
+        </div>
+        <!-- 绌挎杞︽棩蹇楄緭鍑� -->
+        <div class="ste-output-board">
+            <textarea id="ste-output"></textarea>
         </div>
     </div>
+</div>
 
     <div id="ste-detl" style="display: none">
         <div>
@@ -191,7 +190,7 @@
                 <button class="form-button" id="save">淇濆瓨</button>
                 <button class="form-button" id="cancel" style="background-color: #D0D0D0">鍙栨秷</button>
             </div>
-        </di>
+        </div>
     </div>
 </body>
 </html>

--
Gitblit v1.9.1