From c422d0d7da0d26f39cd40f9070311ffbb2f9c009 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <xltys1995>
Date: 星期四, 27 八月 2020 18:32:03 +0800
Subject: [PATCH] #v2.0

---
 src/main/java/com/zy/core/model/protocol/StaProtocol.java   |    2 
 src/main/webapp/views/crn.html                              |   34 +++++-
 src/main/java/com/zy/asrs/utils/Utils.java                  |   22 ++++
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   13 +
 src/main/java/com/zy/asrs/domain/vo/CrnMsgTableVo.java      |   51 ++++++++++
 src/main/resources/mapper/WrkMastMapper.xml                 |    2 
 src/main/java/com/zy/asrs/controller/CrnController.java     |   16 ++
 src/main/java/com/zy/core/thread/CrnThread.java             |   85 +++++++++++-----
 src/main/java/com/zy/common/service/CommonService.java      |    2 
 src/main/java/com/zy/core/thread/DevpThread.java            |    7 +
 src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java    |    2 
 src/main/resources/application.yml                          |   55 ++++++++--
 12 files changed, 233 insertions(+), 58 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index f2b4615..73e1070 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -113,6 +113,7 @@
             vo.setLev(crnProtocol.getLevel());  //  灞�
             vo.setXOrigin(crnProtocol.getBay()==1?"鏄�":"鍚�");     //  璧拌鍘熺偣
             vo.setYOrigin(crnProtocol.getLevel()==1?"鏄�":"鍚�");     // 鍗囬檷鍘熺偣
+            vo.setForkOffset(crnProtocol.getForkPosType().desc);    // 璐у弶浣嶇疆
             vo.setXLocation(crnProtocol.getWalkPos() == 1?"鏄�":"鍚�");      // 璧拌瀹氫綅
             vo.setYLocation(crnProtocol.getLiftPosType().equals(CrnLiftPosType.NONE)?"鍚�":"鏄�");      // 鍗囬檷瀹氫綅
             vo.setStop(crnProtocol.getCrnTemp1().stop?"鏄�":"鍚�");       //  鎬ュ仠
@@ -156,6 +157,13 @@
             } else {
                 vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc());   //  妯″紡鐘舵��
             }
+            vo.setXspeed(crnProtocol.getXSpeed());  //  璧拌閫熷害锛坢/min)
+            vo.setYspeed(crnProtocol.getYSpeed());  //  鍗囬檷閫熷害锛坢/min)
+            vo.setZspeed(crnProtocol.getZSpeed());  //  鍙夌墮閫熷害锛坢/min)
+            vo.setXdistance(crnProtocol.getXDistance());  //  璧拌璺濈(Km)
+            vo.setYdistance(crnProtocol.getYDistance());  //  鍗囬檷璺濈(Km)
+            vo.setXduration(crnProtocol.getXDuration());    //  璧拌鏃堕暱(H)
+            vo.setYduration(crnProtocol.getYDuration());    //  鍗囬檷鏃堕暱(H)
             list.add(vo);
 
         }
@@ -395,15 +403,15 @@
                     throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎");
                 }
                 // 绌洪棽鍒ゆ柇
-                if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) {
+//                if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) {
                     if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) {
                         return true;
                     } else {
                         throw new CoolException("鍛戒护涓嬪彂澶辫触");
                     }
-                } else {
-                    throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ┖闂茬姸鎬�");
-                }
+//                } else {
+//                    throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ┖闂茬姸鎬�");
+//                }
             }
         }
         return false;
diff --git a/src/main/java/com/zy/asrs/domain/vo/CrnMsgTableVo.java b/src/main/java/com/zy/asrs/domain/vo/CrnMsgTableVo.java
index 25e5472..072c46c 100644
--- a/src/main/java/com/zy/asrs/domain/vo/CrnMsgTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/CrnMsgTableVo.java
@@ -1,6 +1,9 @@
 package com.zy.asrs.domain.vo;
 
+import com.zy.asrs.utils.Utils;
 import lombok.Data;
+
+import java.text.DecimalFormat;
 
 /**
  * Created by vincent on 2020-06-02
@@ -38,4 +41,52 @@
     // 鍛戒护
     private String command = "";
 
+    // 璧拌閫熷害锛坢/min)
+    private Float xspeed;
+
+    // 鍗囬檷閫熷害锛坢/min)
+    private Float yspeed;
+
+    // 鍙夌墮閫熷害锛坢/min)
+    private Float zspeed;
+
+    // 璧拌璺濈(Km)
+    private Float xdistance;
+
+    // 鍗囬檷璺濈(Km)
+    private Float ydistance;
+
+    // 璧拌鏃堕暱(H)
+    private Float xduration;
+
+    // 鍗囬檷鏃堕暱(H)
+    private Float yduration;
+
+    public void setXspeed(Float xspeed) {
+        this.xspeed = Utils.scale(xspeed);
+    }
+
+    public void setYspeed(Float yspeed) {
+        this.yspeed = Utils.scale(yspeed);
+    }
+
+    public void setZspeed(Float zspeed) {
+        this.zspeed = Utils.scale(zspeed);
+    }
+
+    public void setXdistance(Float xdistance) {
+        this.xdistance = Utils.scale(xdistance);
+    }
+
+    public void setYdistance(Float ydistance) {
+        this.ydistance = Utils.scale(ydistance);
+    }
+
+    public void setXduration(Float xduration) {
+        this.xduration = Utils.scale(xduration);
+    }
+
+    public void setYduration(Float yduration) {
+        this.yduration = Utils.scale(yduration);
+    }
 }
diff --git a/src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java b/src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java
index fac93ba..0c2c5d8 100644
--- a/src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/CrnStateTableVo.java
@@ -62,6 +62,4 @@
     // 寮傚父鐮�
     private String warnCode;
 
-
-
 }
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 5487306..240840c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -543,6 +543,8 @@
                 // 鍑哄簱 + 鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓細12.鍚婅溅鍑哄簱涓� ==> 14.鍑哄簱瀹屾垚
                 } else if (wrkMast.getWrkSts() == 12) {
                     wrkMast.setWrkSts(14L);
+                } else  {
+                    continue;
                 }
                 Date now = new Date();
                 wrkMast.setCrnEndTime(now);
@@ -550,9 +552,11 @@
                 // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
                 if (wrkMastMapper.updateById(wrkMast) > 0) {
                     // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------
-                    // 鍫嗗灈鏈哄浣�
-                    if (!MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(3, new CrnCommand()))) {
-                        log.error("鍫嗗灈鏈哄浣嶅懡浠や笅鍙戝け璐ワ紝宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+                    if (crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
+                        // 鍫嗗灈鏈哄浣�
+                        if (!MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(3, new CrnCommand()))) {
+                            log.error("鍫嗗灈鏈哄浣嶅懡浠や笅鍙戝け璐ワ紝宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+                        }
                     }
                 }
 
@@ -587,7 +591,7 @@
                 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                 StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo());
                 // 绔欑偣鏉′欢鍒ゆ柇
-                if (staProtocol.isAutoing() && staProtocol.isLoading() && !staProtocol.isInreq1()
+                if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
                         && staProtocol.isEmptyMk() && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk()) {
                     // 宸ヤ綔鍙�
                     int workNo = commonService.getWorkNo(0);
@@ -637,6 +641,7 @@
                         throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                     }
 
+                    staProtocol.setPakMk(false);
                 }
 
 
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
new file mode 100644
index 0000000..cc7426b
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -0,0 +1,22 @@
+package com.zy.asrs.utils;
+
+import com.core.common.Arith;
+
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
+
+/**
+ * Created by vincent on 2020/8/27
+ */
+public class Utils {
+
+    private static final DecimalFormat fmt = new DecimalFormat("##0.00");
+
+    public static float scale(Float f){
+        if (f == null || f == 0f || Float.isNaN(f)) {
+            return 0f;
+        }
+        return (float) Arith.multiplys(2, f, 1);
+    }
+
+}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index d1e5681..9ffa669 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -169,7 +169,7 @@
             }
             BasDevp staNo = basDevpService.selectById(staDesc.getCrnStn());
             int inQty = staNo.getInQty()==null?0:staNo.getInQty();
-            if (staNo.getInEnable().equals("Y") && staNo.getAutoing().equals("Y") && inQty<2) {
+            if (staNo.getAutoing().equals("Y") && inQty<2) {
                 // 鏌ユ壘搴撲綅
                 if (locMast == null) {
                     locMast = locMastService.queryFreeLocMast(curRow);
diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
index 4c141f2..4cc0e75 100644
--- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -41,7 +41,7 @@
     private boolean inreq1;
 
     // 閿佸畾鏍囪
-    private boolean pakMk;
+    private boolean pakMk = true;
 
     public BasDevp toSqlModel(){
         BasDevp basDevp = new BasDevp();
diff --git a/src/main/java/com/zy/core/thread/CrnThread.java b/src/main/java/com/zy/core/thread/CrnThread.java
index 73e2b60..d9ef282 100644
--- a/src/main/java/com/zy/core/thread/CrnThread.java
+++ b/src/main/java/com/zy/core/thread/CrnThread.java
@@ -12,6 +12,7 @@
 import com.zy.core.ThreadHandler;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
+import com.zy.core.enums.CrnStatusType;
 import com.zy.core.enums.CrnTaskModeType;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.CrnSlave;
@@ -35,6 +36,7 @@
     private MelsecMcNet melsecMcNet;
     private CrnSlave slave;
     private CrnProtocol crnProtocol;
+    private boolean resetFlag = false;
 
     public CrnThread(CrnSlave slave) {
         this.slave = slave;
@@ -178,13 +180,21 @@
 
         OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
 
+//        if (crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
+//            if (resetFlag) {
+//                if (melsecMcNet.Write("D2218", 1).IsSuccess) {
+//                    resetFlag = false;
+//                }
+//            }
+//        }
+
         // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
-        BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
-        BasCrnp basCrnp = new BasCrnp();
-        basCrnp.setCrnNo(slave.getId());
-        if (!basCrnpService.updateById(crnProtocol.toSqlModel(basCrnp))){
-            log.error("鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
-        }
+//        BasCrnpService basCrnpService = SpringUtils.getBean(BasCrnpService.class);
+//        BasCrnp basCrnp = new BasCrnp();
+//        basCrnp.setCrnNo(slave.getId());
+//        if (!basCrnpService.updateById(crnProtocol.toSqlModel(basCrnp))){
+//            log.error("鍫嗗灈鏈簆lc鏁版嵁搴撴洿鏂板け璐� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+//        }
 
     }
 
@@ -199,15 +209,33 @@
         command.setCrnNo(slave.getId());
         /* 鏂规硶 1 */
         do {
-            if (!melsecMcNet.Write("D2218", command.getAckFinish()).IsSuccess) { break; }
-            if (!melsecMcNet.Write("D2218", command.getAckFinish()).IsSuccess) { break; }
-            if (!melsecMcNet.Write("D2216", command.getTaskMode()).IsSuccess) { break; }
-            if (!melsecMcNet.Write("D2214", command.getSourcePosX()).IsSuccess) { break; }
-            if (!melsecMcNet.Write("D2212", command.getSourcePosY()).IsSuccess) { break; }
-            if (!melsecMcNet.Write("D2210", command.getSourcePosZ()).IsSuccess) { break; }
-            if (!melsecMcNet.Write("D2208", command.getDestinationPosX()).IsSuccess) { break; }
-            if (!melsecMcNet.Write("D2204", command.getDestinationPosY()).IsSuccess) { break; }
-            if (!melsecMcNet.Write("D2202", command.getDestinationPosZ()).IsSuccess) { break; }
+            if (command.getDestinationPosZ() != null) {
+                if (!melsecMcNet.Write("D2202", command.getDestinationPosZ()).IsSuccess) { break; }
+            }
+            if (command.getDestinationPosY() != null) {
+                if (!melsecMcNet.Write("D2204", command.getDestinationPosY()).IsSuccess) { break; }
+            }
+            if (command.getDestinationPosX() != null) {
+                if (!melsecMcNet.Write("D2208", command.getDestinationPosX()).IsSuccess) { break; }
+            }
+            if (command.getSourcePosZ() != null) {
+                if (!melsecMcNet.Write("D2210", command.getSourcePosZ()).IsSuccess) { break; }
+            }
+            if (command.getSourcePosY() != null) {
+                if (!melsecMcNet.Write("D2212", command.getSourcePosY()).IsSuccess) { break; }
+            }
+            if (command.getDestinationPosX() != null) {
+                if (!melsecMcNet.Write("D2214", command.getSourcePosX()).IsSuccess) { break; }
+            }
+            if (command.getTaskMode() != null) {
+                if (!melsecMcNet.Write("D2216", command.getTaskMode()).IsSuccess) { break; }
+            }
+            if (command.getTaskNo() != null) {
+                if (!melsecMcNet.Write("D2217", command.getTaskNo()).IsSuccess) { break; }
+            }
+            if (command.getAckFinish() != null) {
+                if (!melsecMcNet.Write("D2218", command.getAckFinish()).IsSuccess) { break; }
+            }
 
             System.out.println(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
             OutputQueue.CRN.offer(MessageFormat.format("銆恵0}銆慬id:{1}] >>>>> 鍛戒护涓嬪彂锛� {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command)));
@@ -262,7 +290,6 @@
         crnThread.connect();
         crnThread.readStatus();
         System.out.println(JSON.toJSONString(crnThread.crnProtocol));
-        Thread.sleep(3000L);
 
         // 1.鍏ュ簱 婧愬拰鐩爣閮藉彂
 //        CrnCommand command = new CrnCommand();
@@ -335,19 +362,19 @@
 //        command.setDestinationPosZ((short) 0);     // 鐩爣搴撲綅灞�
 //        crnThread.write(command);
 
-//        // 7.鍧愭爣绉昏   鐩爣鍙�   pass
-//        CrnCommand command = new CrnCommand();
-//        command.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
-//        command.setTaskNo((short) 0); // 宸ヤ綔鍙�
-//        command.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
-//        command.setTaskMode(CrnTaskModeType.OFFSET_MOVE); // 浠诲姟妯″紡
-//        command.setSourcePosX((short) 0);     // 婧愬簱浣嶆帓
-//        command.setSourcePosY((short) 0);     // 婧愬簱浣嶅垪
-//        command.setSourcePosZ((short) 0);     // 婧愬簱浣嶅眰
-//        command.setDestinationPosX((short) 2);     // 鐩爣搴撲綅鎺�
-//        command.setDestinationPosY((short) 1);     // 鐩爣搴撲綅鍒�
-//        command.setDestinationPosZ((short) 1);     // 鐩爣搴撲綅灞�
-//        crnThread.write(command);
+        // 7.鍧愭爣绉昏   鐩爣鍙�   pass
+        CrnCommand command = new CrnCommand();
+        command.setCrnNo(1); // 鍫嗗灈鏈虹紪鍙�
+        command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+        command.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
+        command.setTaskMode(CrnTaskModeType.OFFSET_MOVE); // 浠诲姟妯″紡
+        command.setSourcePosX((short) 0);     // 婧愬簱浣嶆帓
+        command.setSourcePosY((short) 0);     // 婧愬簱浣嶅垪
+        command.setSourcePosZ((short) 0);     // 婧愬簱浣嶅眰
+        command.setDestinationPosX((short) 1);     // 鐩爣搴撲綅鎺�
+        command.setDestinationPosY((short) 3);     // 鐩爣搴撲綅鍒�
+        command.setDestinationPosZ((short) 3);     // 鐩爣搴撲綅灞�
+        crnThread.write(command);
 
         // 鍙湁鍑虹幇鎸囧畾寮傚父鎵嶈繘琛屽浣�
 //        if (crnThread.crnProtocol.getCrnError2().leftTakeNoneErr
diff --git a/src/main/java/com/zy/core/thread/DevpThread.java b/src/main/java/com/zy/core/thread/DevpThread.java
index 6fcc130..362c164 100644
--- a/src/main/java/com/zy/core/thread/DevpThread.java
+++ b/src/main/java/com/zy/core/thread/DevpThread.java
@@ -128,6 +128,10 @@
                 staProtocol.setInEnable(result1.Content[(i-1)*8+2]); // 鍙叆
                 staProtocol.setOutEnable(result1.Content[(i-1)*8+3]);// 鍙嚭
                 staProtocol.setEmptyMk(result1.Content[(i-1)*8+4]);  // 绌烘澘淇″彿
+
+                if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
+                    staProtocol.setPakMk(true);
+                }
             }
         }
         if (result.IsSuccess && result1.IsSuccess) {
@@ -173,6 +177,9 @@
 //        status[4] = staProtocol.isEmptyMk();
 //        OperateResult write2 = siemensS7Net.Write("DB100." + ((staProtocol.getSiteId() - 1) + 40), status);     //  鐘舵��
         if (!write.IsSuccess || !write1.IsSuccess) {
+            if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) {
+                staProtocol.setPakMk(true);
+            }
             OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol)));
             log.error("鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
         } else {
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index ed9f104..c6631fa 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -22,8 +22,8 @@
 
 mybatis-plus:
   mapper-locations: classpath:mapper/*.xml
-  global-config:
-    field-strategy: 0
+#  global-config:
+#    field-strategy: 0
 
 logging:
   path: /stock/out/logs
@@ -36,7 +36,7 @@
 
 # 涓嬩綅鏈洪厤缃�
 wcs-slave:
-  # 鍫嗗灈鏈�
+  # 鍫嗗灈鏈�1
   crn[0]:
     id: 1
     ip: 192.168.3.39
@@ -48,17 +48,40 @@
     # 鍫嗗灈鏈哄叆搴撶珯鐐�
     crnInStn[0]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 5
+      staNo: 4
       row: 2
       bay: 1
       lev: 1
     # 鍫嗗灈鏈哄嚭搴撶珯鐐�
     crnOutStn[0]:
       devpPlcId: ${wcs-slave.devp[0].id}
-      staNo: 6
+      staNo: 2
       row: 1
       bay: 1
       lev: 1
+    # 鍫嗗灈鏈�2
+    #crn[1]:
+      id: 1
+      ip: 192.168.3.40
+      port: 5015
+      rack: 0
+      slot: 0
+      # 鍋忕Щ閲忥紝褰撳爢鍨涙満绔欑偣鍒楀彿=1鏃讹紝鍋忕Щ閲�=0
+      offset: 1
+      # 鍫嗗灈鏈哄叆搴撶珯鐐�
+      crnInStn[0]:
+        devpPlcId: ${wcs-slave.devp[0].id}
+        staNo: 8
+        row: 2
+        bay: 1
+        lev: 1
+      # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+      crnOutStn[0]:
+        devpPlcId: ${wcs-slave.devp[0].id}
+        staNo: 6
+        row: 1
+        bay: 1
+        lev: 1
   # 杈撻�佺嚎
   devp[0]:
     id: 1
@@ -66,16 +89,26 @@
     port: 6000
     rack: 0
     slot: 1
-    # 鍏ュ簱鍙�
+    # 鍏ュ簱鍙�1
     inSta[0]:
-      staNo: 2
+      staNo: 3
       barcode: ${wcs-slave.barcode[0].id}
-    # 绌烘澘鍏ュ簱鍙�
+    # 鍏ュ簱鍙�2
+    inSta[1]:
+      staNo: 7
+      barcode: ${wcs-slave.barcode[0].id}
+    # 绌烘澘鍏ュ簱鍙�1
     emptyInSta[0]:
-      staNo: 2
-    # 鍑哄簱鍙�
+      staNo: 3
+    # 绌烘澘鍏ュ簱鍙�2
+    emptyInSta[1]:
+      staNo: 7
+    # 鍑哄簱鍙�1
     outSta[0]:
-      staNo: 6
+      staNo: 1
+    # 鍑哄簱鍙�2
+    outSta[1]:
+      staNo: 5
     # 鎷f枡鍏ュ簱鍙�
     pickSta[0]:
       staNo: 2
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 11b4244..a203f45 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -84,7 +84,7 @@
     </select>
 
     <select id="selectPakInStep3" resultMap="BaseResultMap">
-        select top 1 from dbo.asr_wrk_mast where wrk_no=#{workNo}
+        select top 1 * from dbo.asr_wrk_mast where wrk_no=#{workNo}
     </select>
 
     <select id="selectPickStep" resultMap="BaseResultMap">
diff --git a/src/main/webapp/views/crn.html b/src/main/webapp/views/crn.html
index d93035d..1dc9e5a 100644
--- a/src/main/webapp/views/crn.html
+++ b/src/main/webapp/views/crn.html
@@ -47,6 +47,7 @@
                     <th>灞�</th>
                     <th>璧拌鍘熺偣</th>
                     <th>鍗囬檷鍘熺偣</th>
+                    <th>璐у弶浣嶇疆</th>
                     <th>璧拌瀹氫綅</th>
                     <th>鍗囬檷瀹氫綅</th>
                     <th>鎬ュ仠</th>
@@ -71,6 +72,13 @@
                 <th>婧愬簱浣�</th>
                 <th>鐩爣搴撲綅</th>
                 <th>寮傚父</th>
+                <th>璧拌閫熷害锛坢/min)</th>
+                <th>鍗囬檷閫熷害锛坢/min)</th>
+                <th>鍙夌墮閫熷害锛坢/min)</th>
+                <th>璧拌璺濈(Km)</th>
+                <th>鍗囬檷璺濈(Km)</th>
+                <th>璧拌鏃堕暱(H)</th>
+                <th>鍗囬檷鏃堕暱(H)</th>
             </tr>
         </thead>
         <tbody>
@@ -257,10 +265,11 @@
                         setVal(tr.children("td").eq(6), table[i-1].lev);
                         setVal(tr.children("td").eq(7), table[i-1].xorigin);
                         setVal(tr.children("td").eq(8), table[i-1].yorigin);
-                        setVal(tr.children("td").eq(9), table[i-1].xlocation);
-                        setVal(tr.children("td").eq(10), table[i-1].ylocation);
-                        setVal(tr.children("td").eq(11), table[i-1].stop);
-                        setVal(tr.children("td").eq(12), table[i-1].warnCode);
+                        setVal(tr.children("td").eq(9), table[i-1].forkOffset);
+                        setVal(tr.children("td").eq(10), table[i-1].xlocation);
+                        setVal(tr.children("td").eq(11), table[i-1].ylocation);
+                        setVal(tr.children("td").eq(12), table[i-1].stop);
+                        setVal(tr.children("td").eq(13), table[i-1].warnCode);
                     }
                 } else if (res.code === 403){
                     window.location.href = baseUrl+"/login";
@@ -294,7 +303,14 @@
                         setVal(tr.children("td").eq(4), table[i-1].staNo);
                         setVal(tr.children("td").eq(5), table[i-1].sourceLocNo);
                         setVal(tr.children("td").eq(6), table[i-1].locNo);
-                        setVal(tr.children("td").eq(6), table[i-1].error);
+                        setVal(tr.children("td").eq(7), table[i-1].error);
+                        setVal(tr.children("td").eq(8), table[i-1].xspeed);
+                        setVal(tr.children("td").eq(9), table[i-1].yspeed);
+                        setVal(tr.children("td").eq(10), table[i-1].zspeed);
+                        setVal(tr.children("td").eq(11), table[i-1].xdistance);
+                        setVal(tr.children("td").eq(12), table[i-1].ydistance);
+                        setVal(tr.children("td").eq(13), table[i-1].xduration);
+                        setVal(tr.children("td").eq(14), table[i-1].yduration);
                     }
                 } else if (res.code === 403){
                     window.location.href = baseUrl+"/login";
@@ -463,6 +479,7 @@
                 "       <td></td>\n" +
                 "       <td></td>\n" +
                 "       <td></td>\n" +
+                "       <td></td>\n" +
                 "     </tr>\n";
         }
         $('#crn-state-table tbody').after(html);
@@ -492,6 +509,13 @@
                 "       <td></td>\n" +
                 "       <td></td>\n" +
                 "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
+                "       <td></td>\n" +
                 "     </tr>\n";
         }
         $('#crn-msg-table tbody').after(html);

--
Gitblit v1.9.1