From 97c788f31a57b4e8c3fc8091dc29aab598adeebb Mon Sep 17 00:00:00 2001
From: dubin <bindu_bean@163.com>
Date: 星期日, 04 一月 2026 08:07:00 +0800
Subject: [PATCH] #1
---
src/main/java/com/zy/common/model/MatDto.java | 14
src/main/java/com/zy/asrs/controller/SiteController.java | 37 +-
src/main/java/com/zy/core/thread/LedThread.java | 4
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 398 ++++++++++++++++++++++----------
src/main/java/com/zy/asrs/entity/WrkDetl.java | 16
src/main/resources/mapper/WrkMastMapper.xml | 2
src/main/webapp/static/js/console.map.js | 142 +++++++++++
src/main/java/com/zy/core/MainProcess.java | 2
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 64 ++++-
src/main/resources/application.yml | 24 +-
10 files changed, 520 insertions(+), 183 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java
index 9d1aeea..7926976 100644
--- a/src/main/java/com/zy/asrs/controller/SiteController.java
+++ b/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -14,6 +14,7 @@
import com.zy.core.enums.SlaveType;
import com.zy.core.model.DevpSlave;
import com.zy.core.model.Task;
+import com.zy.core.model.command.LiftCommand;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.DevpThread;
@@ -175,23 +176,27 @@
Map<Integer, StaProtocol> station = devpThread.getStation();
for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
if (siteId.equals(entry.getKey())) {
- StaProtocol staProtocol = entry.getValue();
- if (staProtocol == null) {
- continue;
- } else {
- staProtocol = staProtocol.clone();
- }
- if (workNo != null) {
- staProtocol.setWorkNo(workNo);
- }
- if (staNo != null) {
- staProtocol.setStaNo(staNo);
- }
- if (pakMk != null) {
- staProtocol.setPakMk(pakMk.equals("Y"));
- }
+// StaProtocol staProtocol = entry.getValue();
+// if (staProtocol == null) {
+// continue;
+// } else {
+// staProtocol = staProtocol.clone();
+// }
+// if (workNo != null) {
+// staProtocol.setWorkNo(workNo);
+// }
+// if (staNo != null) {
+// staProtocol.setStaNo(staNo);
+// }
+// if (pakMk != null) {
+// staProtocol.setPakMk(pakMk.equals("Y"));
+// }
+ LiftCommand command = new LiftCommand();
+ command.setWorkNo(Integer.valueOf(workNo));
+ command.setSourceStaNo(siteId);
+ command.setTargetStaNo(Integer.valueOf(staNo));
- boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, command));
if (result) {
return R.ok();
} else {
diff --git a/src/main/java/com/zy/asrs/entity/WrkDetl.java b/src/main/java/com/zy/asrs/entity/WrkDetl.java
index cb0dade..b428b45 100644
--- a/src/main/java/com/zy/asrs/entity/WrkDetl.java
+++ b/src/main/java/com/zy/asrs/entity/WrkDetl.java
@@ -424,14 +424,14 @@
return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
}
- public String getCstateid$() {
- KcztMapService service = SpringUtils.getBean(KcztMapService.class);
- KcztMap kcztMap = service.selectOne(new EntityWrapper<KcztMap>().eq("cstateid", this.cstateid));
- if (!Cools.isEmpty(kcztMap)){
- return String.valueOf(kcztMap.getVname());
- }
- return String.valueOf(this.cstateid);
- }
+// public String getCstateid$() {
+// KcztMapService service = SpringUtils.getBean(KcztMapService.class);
+// KcztMap kcztMap = service.selectOne(new EntityWrapper<KcztMap>().eq("cstateid", this.cstateid));
+// if (!Cools.isEmpty(kcztMap)){
+// return String.valueOf(kcztMap.getVname());
+// }
+// return String.valueOf(this.cstateid);
+// }
public void sync(Object source) {
Synchro.Copy(source, this);
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 e9dd9ac..13af51d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -36,6 +36,7 @@
import com.zy.core.thread.LedThread;
import com.zy.core.thread.SiemensDevpThread;
import com.zy.system.service.ConfigService;
+import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -43,6 +44,7 @@
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.*;
+import java.util.stream.Collectors;
/**
* 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
@@ -122,6 +124,11 @@
continue;
}
+ String barcode = barcodeThread.getBarcode();
+ if (Cools.isEmpty(barcode)){
+ continue;
+ }
+
if (staProtocol.isAutoing()
&& staProtocol.isInEnable()
&& !staProtocol.isEmptyMk()
@@ -129,10 +136,10 @@
&& staProtocol.isPakMk()) {
News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
- String barcode = barcodeThread.getBarcode();
+
if (!Cools.isEmpty(barcode)) {
News.info("" + mark + " - 1" + " - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
- if ("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode)) {
+ if ("NG".endsWith(barcode) || "No Read".equals(barcode) || "empty".equals(barcode)) {
News.info("" + mark + " - 2" + " - 鎵爜澶辫触1 ===>> {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{},绔欑偣:{}", inSta.getBarcode(), barcode, inSta.getStaNo());
// led 寮傚父鏄剧ず
if (ledThread != null) {
@@ -156,12 +163,12 @@
//杩囨护鍒ゆ柇锛岄槻姝㈡嫞鏂欏啀鍏ュ簱璐х墿锛岀粡杩囧叆搴撶珯鍐嶅叆搴撴椂锛岃閫�鍥炲埌閫�搴撶珯
WrkMast wrkMast1 = wrkMastMapper.selectPakInStepBarcode(barcode);
if (wrkMast1 != null) {
- if (wrkMast1.getIoType() == 103 || wrkMast1.getIoType() == 107 || wrkMast1.getIoType() == 104) {
+ if (wrkMast1.getIoType() == 103 || wrkMast1.getIoType() == 107 || wrkMast1.getIoType() == 104|| wrkMast1.getIoType() == 53 || wrkMast1.getIoType() == 57 || wrkMast1.getIoType() == 54) {
continue;
}
}
if (wrkMast != null) {
- News.error("" + mark + " - 4" + " - 宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+ News.error("" + mark + " - 4" + " - 宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 3.寮�濮嬫墽琛屽叆搴撲换鍔� 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
// led 寮傚父鏄剧ず
if (ledThread != null) {
@@ -220,6 +227,9 @@
barcodeThread.setBarcode("");
boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, command));
+ if (result) {
+ News.info("WCS--->PLC涓嬪彂浠诲姟鎴愬姛:{}",command.toString());
+ }
if (!result) {
throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
@@ -227,6 +237,7 @@
currentWrkMast.setWrkSts(3L);// 3.璁惧鎵ц涓�
currentWrkMast.setCrnStrTime(new Date());
wrkMastService.updateById(currentWrkMast);
+ Thread.sleep(3000); // 寤舵椂3S
} else {
News.error("" + mark + " - 5" + " - 璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
@@ -234,6 +245,19 @@
if (ledThread != null) {
String errorMsg = jsonObject.getString("msg");
MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
+ }
+
+ //鎵樼洏閫�鍥�
+// LiftCommand command = new LiftCommand();
+// command.setWorkNo(9998);
+// command.setSourceStaNo(inSta.getStaNo());
+// command.setTargetStaNo(inSta.getBackSta());
+ Integer back = 999;
+
+ barcodeThread.setBarcode("");
+ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(4, back));
+ if (!result) {
+ throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
}
}
@@ -293,17 +317,18 @@
continue;
}
- WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
+ WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
// WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
-// if (wrkMast == null) {
-// // 鏃犳嫞鏂欐暟鎹�
-// continue;
-// }
+ if (wrkMast == null) {
+ // 鏃犳嫞鏂欐暟鎹�
+ continue;
+ }
if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107)
|| Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
continue;
}
+
// 鑾峰彇鐩爣绔�
Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
@@ -348,7 +373,7 @@
param.setLocType1(locTypeDto.getLocType1());
String response = new HttpHandler.Builder()
.setUri(wmsUrl)
- .setPath("/rpc/pakin/pick/loc/v1")
+ .setPath("/rpc/pakin/loc/returnWarehouse")
.setJson(JSON.toJSONString(param))
.build()
.doPost();
@@ -361,12 +386,12 @@
continue;
}
- if(newWrkMast.getWrkSts() != 53 && newWrkMast.getWrkSts() != 57) {
+ if(newWrkMast.getIoType() != 53 && newWrkMast.getIoType() != 57) {
News.error("" + mark + " - 3" + " - 鎷i�夌洏鐐瑰洖搴撳伐浣滄。绫诲瀷寮傚父锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
continue;
}
- if (wrkMast.getWrkSts() != 2) {
+ if (newWrkMast.getWrkSts() != 2) {
News.error("" + mark + " - 3" + " - 鎷i�夌洏鐐瑰洖搴撳伐浣滄。鐘舵�佸紓甯革紒锛侊紒 [plc缂栧彿锛歿}]", devp.getId());
continue;
}
@@ -445,9 +470,9 @@
return;
}
- if (!staProtocol.isOutEnable()) {
- return;
- }
+// if (!staProtocol.isOutEnable()) {
+// return;
+// }
//妫�鏌ユ槸鍚︽湁姝e湪鎵ц鐨勪换鍔�
List<WrkMast> workingWrkMast = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", 3, 12));
@@ -494,9 +519,9 @@
continue;
}
- if (liftProtocol.getWorkNo() <= 0) {
- continue;
- }
+// if (liftProtocol.getWorkNo() <= 0) {
+// continue;
+// }
if (liftProtocol.getMode() != 1) {
continue;
@@ -506,23 +531,37 @@
continue;
}
- WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", liftProtocol.getWorkNo()));
- if (wrkMast == null) {
- continue;
- }
+// WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", liftProtocol.getWorkNo()));
+// if (wrkMast == null) {
+// continue;
+// }
- if (wrkMast.getWrkSts() == 3) {
- wrkMast.setWrkSts(4L);
- wrkMast.setCrnEndTime(new Date());
- wrkMast.setIoTime(new Date());
- wrkMastService.updateById(wrkMast);
- }else if (wrkMast.getWrkSts() == 12) {
- wrkMast.setWrkSts(14L);
- wrkMast.setCrnEndTime(new Date());
- wrkMast.setIoTime(new Date());
- wrkMastService.updateById(wrkMast);
- }else {
- News.error("鏈煡鐨勫伐浣滅姸鎬�");
+ List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", 3,12));
+ for (WrkMast wrkMast : wrkMastList) {
+ if (wrkMast.getWrkSts() == 3) {
+ String locNo = wrkMast.getLocNo();
+ Integer staNo = Utils.getStaNoByLocNo(locNo);
+ StaProtocol staProtocol = devpThread.getStation().get(staNo);
+ if (staProtocol.getWorkNo() <= 0 || !staProtocol.isLoading() || !staProtocol.isAutoing() || !Integer.valueOf(staProtocol.getWorkNo()).equals(wrkMast.getWrkNo())){
+ continue;
+ }
+ wrkMast.setWrkSts(4L);
+ wrkMast.setCrnEndTime(new Date());
+ //wrkMast.setIoTime(new Date());
+ wrkMastService.updateById(wrkMast);
+ }else if (wrkMast.getWrkSts() == 12) {
+ Integer targetStaNo = wrkMast.getStaNo();
+ StaProtocol staProtocol = devpThread.getStation().get(targetStaNo);
+ if (staProtocol.getWorkNo() <= 0 || !staProtocol.isLoading() || !staProtocol.isAutoing() || !Integer.valueOf(staProtocol.getWorkNo()).equals(wrkMast.getWrkNo())){
+ continue;
+ }
+ wrkMast.setWrkSts(14L);
+ wrkMast.setCrnEndTime(new Date());
+ //wrkMast.setIoTime(new Date());
+ wrkMastService.updateById(wrkMast);
+ }else {
+ News.error("鏈煡鐨勫伐浣滅姸鎬�");
+ }
}
}
}
@@ -659,8 +698,6 @@
DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, led.getDevpPlcId());
// 鍛戒护闆嗗悎
List<LedCommand> commands = new ArrayList<>();
-// // 宸ヤ綔妗i泦鍚�
-// List<WrkMast> wrkMasts = new ArrayList<>();
List<Integer> workNoList = new ArrayList<>();
for (Integer staNo : led.getStaArr()) {
// 鑾峰彇鍙夎溅绔欑偣
@@ -678,8 +715,7 @@
String barcode = null;
// 鑾峰彇宸ヤ綔妗f暟鎹�
- WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo());
-// if (null == wrkMast || wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) { continue; }
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no",staProtocol.getWorkNo()).in("io_type",101,103,104,107));
if (null == wrkMast) {
List<WrkMastLog> wrkMastLogs = wrkMastLogService.selectList(new EntityWrapper<WrkMastLog>()
.eq("wrk_no", staProtocol.getWorkNo())
@@ -751,63 +787,47 @@
ledCommand.setLocNo(locNo);
ledCommand.setStaNo(targetStaNo);
ledCommand.setBarcode(barcode);
-// ledCommand.setSourceStaNo(wrkMast.getSourceStaNo());
+
+ // 淇敼寮�濮嬶細澶勭悊澶氫釜wrkDetl锛屼笉鍚堝苟
if (ioType != 110 && ioType != 10) {
List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkNo);
if (!wrkDetls.isEmpty()) {
- WrkDetl wrkDetl = wrkDetls.get(0);
- double anfme = 0D;
- double weight = 0D;
- for (WrkDetl detl : wrkDetls) {
- anfme += detl.getAnfme();
- weight += detl.getWeight();
- wrkDetl.setAnfme(anfme);
- wrkDetl.setWeight(weight);
- }
-
+ // 鑾峰彇搴撳瓨淇℃伅
List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
.eq("loc_no", wrkMast.getSourceLocNo()));
double totalAnfme = 0D;
double totalWeight = 0D;
for (LocDetl locDetl : locDetls) {
totalAnfme += locDetl.getAnfme();
- totalWeight += locDetl.getWeight();
+// totalWeight += locDetl.getWeight();
}
- wrkDetl.setStockNum(totalAnfme);
- wrkDetl.setStockNum2(totalWeight);
- ledCommand.getMatDtos().add(new MatDto(
- wrkDetl.getMatnr()
- , wrkDetl.getMaktx()
- , wrkDetl.getAnfme()
- , wrkDetl.getWeight()
- , wrkDetl.getStockNum()
- , wrkDetl.getStockNum2()
- , wrkDetl.getSpecs()
- , wrkDetl.getSku()
- , wrkDetl.getZpallet()
- , wrkDetl.getModel()
- , wrkDetl.getSupp()
- , wrkDetl.getKpCstmrName()
- , wrkDetl.getOrderNo()
- , wrkDetl.getCstateid$()
- ));
-
- }else {
+ // 涓烘瘡涓猈rkDetl鍒涘缓鐙珛鐨凪atDto
+ for (WrkDetl wrkDetl : wrkDetls) {
+ // 娉ㄦ剰锛氳繖閲屼娇鐢ㄦ瘡涓獁rkDetl鐨勫師濮嬫暟鎹紝涓嶅悎骞�
+ ledCommand.getMatDtos().add(new MatDto(
+ wrkDetl.getMatnr()
+ , wrkDetl.getMaktx()
+ , wrkDetl.getAnfme() // 浣跨敤鍗曚釜鐗╂枡鐨勬暟閲忥紝涓嶇疮鍔�
+ , wrkDetl.getWeight() // 浣跨敤鍗曚釜鐗╂枡鐨勯噸閲忥紝涓嶇疮鍔�
+ , totalAnfme // 搴撳瓨鎬绘暟锛堣繖涓槸姝e父鐨勶級
+ , totalWeight // 搴撳瓨鎬婚噸閲忥紙杩欎釜鏄甯哥殑锛�
+ , wrkDetl.getSpecs()
+ , wrkDetl.getSku()
+ , wrkDetl.getZpallet()
+ , wrkDetl.getModel()
+ , wrkDetl.getSupp()
+ , wrkDetl.getKpCstmrName()
+ , wrkDetl.getOrderNo()
+ , wrkDetl.getBatch()
+// , wrkDetl.getCstateid$()
+ ));
+ }
+ } else {
List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectTodayByWrkNo(wrkNo);
- if(!wrkDetlLogs.isEmpty()) {
- WrkDetlLog wrkDetlLog = wrkDetlLogs.get(0);
-
- double anfme = 0D;
- double weight = 0D;
- for (WrkDetlLog detl : wrkDetlLogs) {
- anfme += detl.getAnfme();
- weight += detl.getWeight();
- wrkDetlLog.setAnfme(anfme);
- wrkDetlLog.setWeight(weight);
- }
-
+ if (!wrkDetlLogs.isEmpty()) {
+ // 鑾峰彇搴撳瓨淇℃伅
List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
.eq("loc_no", sourceLocNo));
double totalAnfme = 0D;
@@ -816,29 +836,33 @@
totalAnfme += locDetl.getAnfme();
totalWeight += locDetl.getWeight();
}
- wrkDetlLog.setStockNum(totalAnfme);
- wrkDetlLog.setStockNum2(totalWeight);
- ledCommand.getMatDtos().add(new MatDto(
- wrkDetlLog.getMatnr()
- , wrkDetlLog.getMaktx()
- , wrkDetlLog.getAnfme()
- , wrkDetlLog.getWeight()
- , wrkDetlLog.getStockNum()
- , wrkDetlLog.getStockNum2()
- , wrkDetlLog.getSpecs()
- , wrkDetlLog.getSku()
- , wrkDetlLog.getZpallet()
- , wrkDetlLog.getModel()
- , wrkDetlLog.getSupp()
- , wrkDetlLog.getKpCstmrName()
- , wrkDetlLog.getOrderNo()
- , wrkDetlLog.getCstateid$()
- ));
+ // 涓烘瘡涓猈rkDetlLog鍒涘缓鐙珛鐨凪atDto
+ for (WrkDetlLog wrkDetlLog : wrkDetlLogs) {
+ // 娉ㄦ剰锛氳繖閲屼娇鐢ㄦ瘡涓獁rkDetlLog鐨勫師濮嬫暟鎹紝涓嶅悎骞�
+ ledCommand.getMatDtos().add(new MatDto(
+ wrkDetlLog.getMatnr()
+ , wrkDetlLog.getMaktx()
+ , wrkDetlLog.getAnfme() // 浣跨敤鍗曚釜鐗╂枡鐨勬暟閲忥紝涓嶇疮鍔�
+ , wrkDetlLog.getWeight() // 浣跨敤鍗曚釜鐗╂枡鐨勯噸閲忥紝涓嶇疮鍔�
+ , totalAnfme // 搴撳瓨鎬绘暟
+ , totalWeight // 搴撳瓨鎬婚噸閲�
+ , wrkDetlLog.getSpecs()
+ , wrkDetlLog.getSku()
+ , wrkDetlLog.getZpallet()
+ , wrkDetlLog.getModel()
+ , wrkDetlLog.getSupp()
+ , wrkDetlLog.getKpCstmrName()
+ , wrkDetlLog.getOrderNo()
+ , wrkDetlLog.getBatch()
+// , wrkDetlLog.getCstateid$()
+ ));
+ }
}
}
-
}
+ // 淇敼缁撴潫
+
commands.add(ledCommand);
}
Set<Integer> workNos = new HashSet<>(workNoList);
@@ -848,29 +872,11 @@
if (CollectionUtils.equals(ledThread.getWorkNos(), workNos)) {
continue;
}
-// 鍛戒护涓嬪彂 -------------------------------------------------------------------------------
-// if (!commands.isEmpty()) {
-// if (led.getId() < 7) {
-// if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
-// News.error(""+mark+" - 2"+" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
-// continue;
-// } else {
-// ledThread.setLedMk(false);
-// }
-// } else {
-// if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) {
-// News.error(""+mark+" - 3"+" - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
-// continue;
-// } else {
-// ledThread.setLedMk(false);
-// }
-// }
-//
-// }
+
// 鍛戒护涓嬪彂 -------------------------------------------------------------------------------
if (!commands.isEmpty()) {
if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
- News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+ News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触--->鍑哄簱锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
continue;
} else {
ledThread.setLedMk(false);
@@ -918,10 +924,14 @@
for (Integer staNo : led.getStaArr()) {
// 鑾峰彇鍙夎溅绔欑偣
StaProtocol staProtocol = devpThread.getStation().get(staNo);
+ StaProtocol staProtocol1 = devpThread.getStation().get(122);
if (staProtocol == null) {
continue;
}
- if (staProtocol.getWorkNo() != 0 && staProtocol.isLoading()) {
+ if (staProtocol1 == null) {
+ continue;
+ }
+ if ((staProtocol.getWorkNo() != 0 && staProtocol.isLoading()) || (staProtocol1.getWorkNo() != 0 || staProtocol1.isLoading())) {
reset = false;
break;
}
@@ -932,7 +942,7 @@
if (reset && !ledThread.isLedMk()) {
ledThread.setLedMk(true);
if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) {
- News.error("" + mark + " - 1" + " - {}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+ News.error("" + mark + " - 1" + " - {}鍙稬ED鍛戒护涓嬪彂澶辫触--->澶嶄綅锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
} else {
}
@@ -940,4 +950,144 @@
}
News.infoNoLog("" + mark + " - 0" + " - 鎵ц瀹屾垚锛氬叾浠� ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅");
}
-}
+
+ public void ledExecuteIn(Integer mark) {
+ for (LedSlave led : slaveProperties.getLed()) {
+ // 鍛戒护闆嗗悎
+ List<LedCommand> commands = new ArrayList<>();
+ List<Integer> workNoList = new ArrayList<>();
+
+ // 鍏ュ簱宸ヤ綔妗� - 杩欓噷鍙兘闇�瑕佹坊鍔犳洿澶氭煡璇㈡潯浠讹紝纭繚鍙幏鍙栬LED瀵瑰簲鐨勫伐浣滄。
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+ .eq("wrk_sts", 3)
+ .in("io_type", 1, 53, 54, 57)
+ // 鍙兘闇�瑕佹坊鍔燣ED鍏宠仈鏉′欢锛屼緥濡傜珯鐐圭紪鍙风瓑
+ );
+
+ if (wrkMast == null) {
+ continue; // 娌℃湁宸ヤ綔妗o紝缁х画澶勭悊涓嬩竴涓狶ED
+ }
+
+ Integer wrkNo = wrkMast.getWrkNo();
+ Integer ioType = wrkMast.getIoType();
+ String sourceLocNo = wrkMast.getSourceLocNo();
+ String locNo = wrkMast.getLocNo();
+ Integer targetStaNo = wrkMast.getStaNo();
+ String barcode = wrkMast.getBarcode();
+
+ workNoList.add(wrkNo);
+
+ // 缁勮鍛戒护
+ LedCommand ledCommand = new LedCommand();
+ ledCommand.setWorkNo(wrkNo);
+ ledCommand.setIoType(ioType);
+
+ // 鍏ュ簱妯″紡 - 淇浜哻ase 54鍜�57鐨勬弿杩�
+ switch (ioType) {
+ case 1:
+ ledCommand.setTitle("鍏ㄦ澘鍏ュ簱");
+ break;
+ case 53:
+ ledCommand.setTitle("鎷f枡鍏ュ簱");
+ break;
+ case 54:
+ ledCommand.setTitle("骞舵澘鍏ュ簱"); // 淇锛氬簲璇ユ槸骞舵澘鍏ュ簱锛屼笉鏄洏鐐瑰叆搴�
+ break;
+ case 57:
+ ledCommand.setTitle("鐩樼偣鍏ュ簱"); // 淇锛氬簲璇ユ槸鐩樼偣鍏ュ簱锛屼笉鏄苟鏉垮叆搴�
+ break;
+ default:
+ // 鍙�夌殑閿欒澶勭悊
+ continue; // 璺宠繃涓嶆敮鎸佺殑ioType
+ }
+
+ ledCommand.setSourceLocNo(sourceLocNo);
+ ledCommand.setLocNo(locNo);
+ ledCommand.setStaNo(targetStaNo);
+ ledCommand.setBarcode(barcode);
+
+ List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkNo);
+
+ // 鍗充娇wrkDetls涓虹┖锛屼篃搴旇澶勭悊LED鍛戒护锛堝彲鑳芥煇浜涘叆搴撶被鍨嬩笉闇�瑕佺墿鏂欐槑缁嗭級
+ if (!wrkDetls.isEmpty()) {
+ // 鑾峰彇搴撳瓨淇℃伅
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+ .eq("loc_no", sourceLocNo)); // 浣跨敤sourceLocNo鑰屼笉鏄痺rkMast.getSourceLocNo()
+ double totalAnfme = 0D;
+ double totalWeight = 0D;
+ for (LocDetl locDetl : locDetls) {
+ totalAnfme += locDetl.getAnfme();
+ totalWeight += locDetl.getWeight(); // 濡傛灉鏁版嵁搴撴湁weight瀛楁锛屽簲璇ュ姞涓�
+ }
+
+ // 涓烘瘡涓猈rkDetl鍒涘缓鐙珛鐨凪atDto
+ for (WrkDetl wrkDetl : wrkDetls) {
+ ledCommand.getMatDtos().add(new MatDto(
+ wrkDetl.getMatnr(),
+ wrkDetl.getMaktx(),
+ wrkDetl.getAnfme(), // 浣跨敤鍗曚釜鐗╂枡鐨勬暟閲�
+ wrkDetl.getWeight(), // 浣跨敤鍗曚釜鐗╂枡鐨勯噸閲�
+ totalAnfme, // 搴撳瓨鎬绘暟
+ totalWeight, // 搴撳瓨鎬婚噸閲�
+ wrkDetl.getSpecs(),
+ wrkDetl.getSku(),
+ wrkDetl.getZpallet(),
+ wrkDetl.getModel(),
+ wrkDetl.getSupp(),
+ wrkDetl.getKpCstmrName(),
+ wrkDetl.getOrderNo(),
+ wrkDetl.getBatch()
+ ));
+ }
+ }
+
+ // 鍗充娇娌℃湁鐗╂枡鏄庣粏锛屼篃搴旇娣诲姞LED鍛戒护锛堟煇浜涘叆搴撶被鍨嬪彲鑳戒笉闇�瑕佹樉绀虹墿鏂欙級
+ commands.add(ledCommand);
+
+ Set<Integer> workNos = new HashSet<>(workNoList);
+ // 鑾峰彇LED绾跨▼
+ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId());
+
+ if (ledThread == null) {
+ News.error("鏈壘鍒癓ED绾跨▼锛歔id锛歿}]", led.getId());
+ continue;
+ }
+
+ // 鐩稿悓宸ヤ綔鍙烽泦鍚堝垯杩囨护
+ if (CollectionUtils.equals(ledThread.getWorkNos(), workNos)) {
+ continue;
+ }
+
+ // 鍛戒护涓嬪彂 -------------------------------------------------------------------------------
+ if (!commands.isEmpty()) {
+ if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) {
+ News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触--->鍏ュ簱锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort());
+ continue;
+ } else {
+ ledThread.setLedMk(false);
+ }
+ }
+
+ try {
+ // 淇敼涓绘。led鏍囪
+ // 娉ㄦ剰锛氳繖閲屽彧闇�瑕佹洿鏂板綋鍓嶅伐浣滄。锛屼笉闇�瑕佸惊鐜�
+ WrkMast wrkMastToUpdate = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkNo));
+ if (wrkMastToUpdate != null) {
+ wrkMastToUpdate.setOveMk("Y");
+ wrkMastToUpdate.setModiTime(new Date());
+ if (wrkMastMapper.updateById(wrkMastToUpdate) == 0) {
+ News.errorNoLog("" + mark + " - 4" + " - 鏇存柊宸ヤ綔妗eけ璐�");
+ throw new CoolException("鏇存柊宸ヤ綔妗eけ璐�");
+ }
+ }
+
+ // 鏇存柊绾跨▼褰撳墠宸ヤ綔鍙烽泦鍚�
+ ledThread.setWorkNos(workNos);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/zy/common/model/MatDto.java b/src/main/java/com/zy/common/model/MatDto.java
index 02eb13c..c36276a 100644
--- a/src/main/java/com/zy/common/model/MatDto.java
+++ b/src/main/java/com/zy/common/model/MatDto.java
@@ -20,7 +20,7 @@
private String specs;
// 鐗╂枡鏁伴噺
- private Double count;
+ private Double anfme;
// 搴撲綅鏁伴噺
private Double total;
@@ -49,17 +49,20 @@
//鍗曞彿
private String orderNo;
- private String cstateid;
+ //鎵瑰彿
+ private String batch;
+
+// private String cstateid;
public MatDto() {
}
- public MatDto(String matNo, String maktx, Double count, Double weight, Double total, Double totalWeight, String specs, String sku, String barcode, String model, String supp, String kpCstmrName, String orderNo, String cstateid) {
+ public MatDto(String matNo, String maktx, Double anfme, Double weight, Double total, Double totalWeight, String specs, String sku, String barcode, String model, String supp, String kpCstmrName, String orderNo, String batch) {
this.matnr = matNo;
this.maktx = maktx;
this.maknx = maktx;
this.specs = specs;
- this.count = count;
+ this.anfme = anfme;
this.weight = weight;
this.total = total;
this.totalWeight = totalWeight;
@@ -69,6 +72,7 @@
this.supp = supp;
this.kpCstmrName = kpCstmrName;
this.orderNo = orderNo;
- this.cstateid = cstateid;
+ this.batch = batch;
+// this.cstateid = cstateid;
}
}
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 26e29fb..895a849 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -54,6 +54,8 @@
// mainService.recCrnErr(3);
// 鍑哄簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
mainService.ledExecute(4);
+ // 鍏ュ簱 ===>> 宸ヤ綔妗d俊鎭啓鍏ed鏄剧ず鍣�
+ mainService.ledExecuteIn(6);
// 鍏朵粬 ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅
mainService.ledReset(5);
diff --git a/src/main/java/com/zy/core/thread/LedThread.java b/src/main/java/com/zy/core/thread/LedThread.java
index 6b8306b..17eb42b 100644
--- a/src/main/java/com/zy/core/thread/LedThread.java
+++ b/src/main/java/com/zy/core/thread/LedThread.java
@@ -122,7 +122,7 @@
if (!command.isEmptyMk()) {
for (MatDto matDto : command.getMatDtos()) {
//鍘绘帀灏忔暟鐐�
- String strQty = matDto.getCount().toString();
+ String strQty = matDto.getAnfme().toString();
int idx = strQty.lastIndexOf(".");
if(idx >= 0){
strQty.substring(0,idx);
@@ -214,7 +214,7 @@
if (!command.isEmptyMk()) {
for (MatDto matDto : command.getMatDtos()) {
sb.append("鐗╂枡缂栫爜锛�").append(matDto.getMatnr()).append("\n");
- sb.append("鏁伴噺锛�").append(matDto.getCount()).append("\n");
+ sb.append("鏁伴噺锛�").append(matDto.getAnfme()).append("\n");
sb.append("瑙勬牸锛�").append(matDto.getSpecs()).append("\n");
}
}
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index ee70d68..64d0eee 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -53,7 +53,7 @@
add(100);add(101);add(102);add(103);add(104);
add(105);add(106);add(107);add(108);add(109);
add(110);add(111);add(112);add(113);add(114);
- add(115);add(116);add(117);add(118);add(119);add(120);
+ add(115);add(116);add(117);add(118);add(119);add(120);add(122);
}};
public static final ArrayList<Integer> barcode1 = new ArrayList<Integer>() {{
@@ -132,6 +132,8 @@
break;
case 3:
writeIoMode((Integer) task.getData());
+ case 4:
+ writeBack((Integer) task.getData());
default:
break;
}
@@ -195,7 +197,7 @@
private void read() throws InterruptedException {
ArrayList<Integer> staNos = getStaNo();
int staNoSize = staNos.size();
- OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize * 13));
+ OperateResultExOne<byte[]> result = siemensS7Net.Read("DB301.0", (short) (staNoSize * 14));
if (result.IsSuccess) {
for (int i = 0; i < staNoSize; i++) {
Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
@@ -206,18 +208,31 @@
station.put(siteId, staProtocol);
}
staProtocol.setSiteId(siteId);
- staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, (i * 13))); // 宸ヤ綔鍙�
- staProtocol.setStaNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, (i * 13) + 4)); // 鐩爣绔�
- staProtocol.setLocHeight(siemensS7Net.getByteTransform().TransInt16(result.Content, (i * 13) + 8));//搴撲綅楂樺害
- staProtocol.setError(siemensS7Net.getByteTransform().TransInt16(result.Content, (i * 13) + 10)); // 鎶ヨ
+ staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, (i * 14))); // 宸ヤ綔鍙�
+ staProtocol.setStaNo((short) siemensS7Net.getByteTransform().TransInt32(result.Content, (i * 14) + 4)); // 鐩爣绔�
+ staProtocol.setLocHeight(siemensS7Net.getByteTransform().TransInt16(result.Content, (i * 14) + 8));//搴撲綅楂樺害
+ staProtocol.setError(siemensS7Net.getByteTransform().TransInt16(result.Content, (i * 14) + 10)); // 鎶ヨ
- boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, (i * 13) + 12, 1);
+ boolean[] status = siemensS7Net.getByteTransform().TransBool(result.Content, (i * 14) + 12, 1);
staProtocol.setAutoing(status[0]); // 鑷姩
staProtocol.setLoading(status[1]); // 鏈夌墿
staProtocol.setInEnable(status[2]); // 鍙叆
staProtocol.setOutEnable(status[3]);// 鍙嚭
staProtocol.setEmptyMk(status[4]); // 绌烘澘淇″彿
staProtocol.setFullPlt(status[5]); // 婊℃墭鐩�
+
+
+
+ //122 鎻愬崌鏈哄崟鐙鍙�
+ if (siteId == 122){
+ staProtocol.setSiteId(siteId);
+ OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB301.308", (short) 10);
+ OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB301.306", (short) 1);
+ staProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result3.Content, 6)); //宸ヤ綔鍙�
+ staProtocol.setAutoing(siemensS7Net.getByteTransform().TransInt16(result3.Content, 0) == 1); //鑷姩
+ boolean[] booleans = siemensS7Net.getByteTransform().TransBool(result4.Content, 0, 1);
+ staProtocol.setLoading(booleans[1]); //1 鏈夌墿 0 鏃犵墿
+ }
if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
staProtocol.setPakMk(true);
@@ -227,19 +242,19 @@
//浠诲姟淇℃伅鍙嶉
Thread.sleep(200);
- OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB101.400", (short) 10);
+ OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB301.308", (short) 10);
if (result3.IsSuccess) {
liftProtocol.setMode(siemensS7Net.getByteTransform().TransInt16(result3.Content, 0)); // 妯″紡
liftProtocol.setDeviceStatus(siemensS7Net.getByteTransform().TransInt16(result3.Content, 2)); // 璁惧鐘舵��
liftProtocol.setTaskStatus(siemensS7Net.getByteTransform().TransInt16(result3.Content, 4)); // 瀹屾垚淇″彿
liftProtocol.setWorkNo((short) siemensS7Net.getByteTransform().TransInt32(result3.Content, 6)); // 宸ヤ綔鍙�
- liftProtocol.setIoMode(siemensS7Net.getByteTransform().TransInt16(result3.Content, 10)); // 鍑哄叆搴撴ā寮�
+ liftProtocol.setIoMode(siemensS7Net.getByteTransform().TransInt16(result3.Content, 8)); // 鍑哄叆搴撴ā寮�
}
//娓╂箍搴︿俊鎭弽棣�
Thread.sleep(200);
ArrayList<Integer> temperatureList = getTemperature();
- OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB101.300", (short) (temperatureList.size() * 4));
+ OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB301.300", (short) (temperatureList.size() * 4));
if (result4.IsSuccess) {
for (int i = 0; i < temperatureList.size(); i++) {
Integer deviceId = temperatureList.get(i); // 缂栧彿
@@ -258,7 +273,7 @@
Thread.sleep(200);
ArrayList<Integer> barcodeList = getBarcode();
int barcodeSize = barcodeList.size();
- OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB103.0", (short) (barcodeSize * 8));
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB4.0", (short) (barcodeSize * 8));
if (result2.IsSuccess) {
for (int i = 0; i < barcodeSize; i++) {
String barcode = siemensS7Net.getByteTransform().TransString(result2.Content, i * 8, 8, "UTF-8");
@@ -286,7 +301,7 @@
deviceDataLogTime = System.currentTimeMillis();
}
- if (result.IsSuccess && result2.IsSuccess) {
+ if (result.IsSuccess && result2.IsSuccess && result3.IsSuccess && result4.IsSuccess) {
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
} else {
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
@@ -305,7 +320,7 @@
array[1] = liftCommand.getSourceStaNo();
array[2] = liftCommand.getTargetStaNo();
- OperateResult write = siemensS7Net.Write("DB100.0", array);
+ OperateResult write = siemensS7Net.Write("DB300.0", array);
if (!write.IsSuccess) {
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(liftCommand)));
@@ -326,7 +341,7 @@
short[] array = new short[1];
array[0] = ioMode.shortValue();
- OperateResult write = siemensS7Net.Write("DB100.12", array);
+ OperateResult write = siemensS7Net.Write("DB300.12", array);
if (!write.IsSuccess) {
OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ュ嚭鍏ュ簱妯″紡鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", DateUtils.convert(new Date()), slave.getId(), ioMode));
@@ -338,6 +353,27 @@
}
/**
+ * 鍐欏叆鍛戒护
+ */
+ private void writeBack(Integer back) {
+ if (null == back) {
+ return;
+ }
+ short[] array = new short[1];
+ array[0] = back.shortValue();
+
+ OperateResult write = siemensS7Net.Write("DB300.14", array);
+
+ if (!write.IsSuccess) {
+ OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ユ墭鐩橀��鍥炴暟鎹け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", DateUtils.convert(new Date()), slave.getId(), back));
+ News.error("SiemensDevp"+" - 4"+" - 鍐欏叆鎵樼洏閫�鍥炴暟鎹け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), back);
+ } else {
+ OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 鎵樼洏閫�鍥炲懡浠や笅鍙� [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), back));
+ News.info("SiemensDevp"+" - 5"+" - 鎵樼洏閫�鍥炲懡浠や笅鍙� [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), back);
+ }
+ }
+
+ /**
* 璁剧疆鍏ュ簱鏍囪
*/
@Override
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 1ac4329..1d6eec1 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -8,7 +8,7 @@
name: @pom.build.finalName@
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- url: jdbc:sqlserver://127.0.0.1:1433;databasename=shhtgcasrs
+ url: jdbc:sqlserver://127.0.0.1:52840;databasename=shhtgcasrs
username: sa
password: sa@123
mvc:
@@ -55,42 +55,42 @@
# 杈撻�佺嚎1
devp[0]:
id: 1
- ip: 172.17.60.100
+ ip: 172.168.61.123
port: 102
rack: 0
slot: 0
# 鍏ュ簱鍙�1
inSta[0]:
- staNo: 1009
+ staNo: 101
barcode: ${wcs-slave.barcode[0].id}
- backSta: 1008
+ backSta: 100
led: ${wcs-slave.led[0].id}
# 绌烘澘鍏ュ簱鍙�1
emptyInSta[0]:
- staNo: 1076
+ staNo: 101
barcode: ${wcs-slave.barcode[0].id}
- backSta: 1075
+ backSta: 100
led: ${wcs-slave.led[0].id}
# 鎷f枡鍏ュ簱鍙�1
pickSta[0]:
- staNo: 1059
+ staNo: 101
barcode: ${wcs-slave.barcode[0].id}
- backSta: 1059
+ backSta: 100
led: ${wcs-slave.led[0].id}
# 鍑哄簱鍙�1
outSta[0]:
- staNo: 102
+ staNo: 101
led: ${wcs-slave.led[0].id}
# 鏉$爜鎵弿浠�1
barcode[0]:
id: 1
- ip: 10.10.10.121
+ ip: 172.168.61.127
port: 51236
# LED1
led[0]:
id: 1
- ip: 127.0.0.1
+ ip: 172.168.61.201
port: 5005
devpPlcId: ${wcs-slave.devp[0].id}
- staArr: 1009
+ staArr: 101
crnId: 1
\ No newline at end of file
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index 06982a4..65d4464 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -87,7 +87,7 @@
select top 1 * from asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=2 and barcode=#{barcode} and (io_type=1 or io_type=10) order by io_pri desc,io_time,wrk_no ASC
</select>
<select id="selectPakInStepBarcode" resultMap="BaseResultMap">
- select top 1 * from dbo.asr_wrk_mast where barcode = #{barcode}
+ select top 1 * from dbo.asr_wrk_mast where barcode = #{barcode}
</select>
<select id="selectPakInStep11" resultMap="BaseResultMap">
diff --git a/src/main/webapp/static/js/console.map.js b/src/main/webapp/static/js/console.map.js
index b739aa7..5d03d9e 100644
--- a/src/main/webapp/static/js/console.map.js
+++ b/src/main/webapp/static/js/console.map.js
@@ -1 +1,141 @@
-mapInfo = {"mapName":"YTFLWCS","rackCount":16,"crnCount":4,"stbCount":16,"hpPosition":0,"minBayNo":2,"floors":1,"racks":[{"type":"rack","id":"rack23","top":558,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack26","top":631,"left":642,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack25","top":612,"left":642,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack24","top":577,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack19","top":469,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack22","top":539,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack21","top":519,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack20","top":488,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack4","top":122,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},{"type":"rack","id":"rack5","top":141,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},{"type":"rack","id":"rack111","top":49,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},{"type":"rack","id":"rack15","top":376,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack18","top":449,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack17","top":430,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack16","top":396,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack11","top":287,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack14","top":357,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack13","top":337,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack12","top":307,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack7","top":193,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack10","top":268,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack9","top":249,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack8","top":212,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},{"type":"rack","id":"rack2","top":83,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},{"type":"rack","id":"rack3","top":103,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},{"type":"rack","id":"rack6","top":174,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}],"crns":[{"type":"track","id":"lb_track8","text":"","top":76,"left":1327,"width":1,"height":93},{"type":"track","id":"lb_track7","text":"","top":75,"left":596,"width":733,"height":1},{"type":"track","id":"lb_track1","text":"","top":604,"left":593,"width":733,"height":1},{"type":"track","id":"lb_track2","text":"","top":513,"left":595,"width":733,"height":1},{"type":"crane","id":"crn-5","text":"5","top":507,"left":731,"width":67,"height":13},{"type":"crane","id":"crn-6","text":"6","top":597,"left":731,"width":67,"height":13},{"type":"crane","id":"crn-1","text":"1","top":162,"left":730,"width":67,"height":13},{"type":"track","id":"lb_track3","text":"","top":424,"left":593,"width":733,"height":1},{"type":"crane","id":"crn-2","text":"2","top":234,"left":741,"width":67,"height":13},{"type":"track","id":"lb_track4","text":"","top":333,"left":593,"width":733,"height":1},{"type":"crane","id":"crn-3","text":"3","top":325,"left":730,"width":67,"height":13},{"type":"track","id":"lb_track5","text":"","top":241,"left":595,"width":733,"height":1},{"type":"track","id":"lb_track6","text":"","top":168,"left":596,"width":733,"height":1},{"type":"crane","id":"crn-4","text":"4","top":417,"left":730,"width":67,"height":13}],"areas":[{"type":"Control_floor","id":"tabControl_floor1","text":"妤煎眰","top":41,"left":80,"width":1269,"height":781,"floors":[{"type":"floor","id":"page_floor1","text":"1F","top":4,"left":22,"width":1243,"height":773,"stns":[{"type":"stn","id":"site-1064","text":"1064","top":720,"left":769,"width":59,"height":20},{"type":"stn","id":"site-2003","text":"2003","top":456,"left":309,"width":37,"height":20},{"type":"stn","id":"site-2002","text":"2002","top":455,"left":221,"width":37,"height":20},{"type":"stn","id":"site-1004","text":"1004","top":334,"left":296,"width":37,"height":20},{"type":"stn","id":"site-1002","text":"1002","top":291,"left":296,"width":37,"height":20},{"type":"stn","id":"site-1006","text":"1006","top":312,"left":296,"width":37,"height":20},{"type":"stn","id":"site-1007","text":"1007","top":312,"left":258,"width":37,"height":20},{"type":"stn","id":"site-1003","text":"1003","top":312,"left":220,"width":37,"height":20},{"type":"stn","id":"site-1075","text":"1075","top":723,"left":406,"width":71,"height":20},{"type":"stn","id":"site-1076","text":"1076","top":701,"left":406,"width":71,"height":20},{"type":"stn","id":"site-1077","text":"1077","top":679,"left":406,"width":71,"height":20},{"type":"stn","id":"site-1078","text":"1078","top":657,"left":406,"width":71,"height":20},{"type":"stn","id":"site-1079","text":"1079","top":598,"left":406,"width":71,"height":57},{"type":"stn","id":"site-1047","text":"1047","top":578,"left":405,"width":93,"height":17},{"type":"stn","id":"site-1081","text":"1081","top":417,"left":405,"width":71,"height":158},{"type":"stn","id":"site-1034","text":"1034","top":398,"left":405,"width":95,"height":17},{"type":"stn","id":"site-1083","text":"1083","top":320,"left":405,"width":71,"height":75},{"type":"stn","id":"site-1084","text":"1084","top":198,"left":405,"width":71,"height":121},{"type":"stn","id":"site-1059","text":"1059","top":700,"left":480,"width":161,"height":20},{"type":"stn","id":"site-1018","text":"1018","top":178,"left":405,"width":95,"height":17},{"type":"stn","id":"site-1086","text":"1086","top":146,"left":406,"width":71,"height":30},{"type":"stn","id":"site-1087","text":"1087","top":125,"left":406,"width":71,"height":19},{"type":"stn","id":"site-1088","text":"1088","top":105,"left":406,"width":71,"height":19},{"type":"stn","id":"site-1074","text":"1074","top":678,"left":1141,"width":59,"height":20},{"type":"stn","id":"site-1073","text":"1073","top":657,"left":1141,"width":59,"height":20},{"type":"stn","id":"site-1071","text":"1071","top":678,"left":1017,"width":59,"height":20},{"type":"stn","id":"site-1072","text":"1072","top":657,"left":1079,"width":59,"height":20},{"type":"stn","id":"site-1070","text":"1070","top":657,"left":1017,"width":59,"height":20},{"type":"stn","id":"site-1069","text":"1069","top":657,"left":955,"width":59,"height":20},{"type":"stn","id":"site-1068","text":"1068","top":678,"left":893,"width":59,"height":20},{"type":"stn","id":"site-1067","text":"1067","top":657,"left":893,"width":59,"height":20},{"type":"stn","id":"site-1066","text":"1066","top":657,"left":831,"width":59,"height":20},{"type":"stn","id":"site-1065","text":"1065","top":700,"left":707,"width":59,"height":20},{"type":"stn","id":"site-1063","text":"1063","top":700,"left":769,"width":59,"height":20},{"type":"stn","id":"site-1062","text":"1062","top":678,"left":769,"width":59,"height":20},{"type":"stn","id":"site-1061","text":"1061","top":657,"left":769,"width":59,"height":20},{"type":"stn","id":"site-1058","text":"1058","top":721,"left":645,"width":59,"height":20},{"type":"stn","id":"site-1057","text":"1057","top":700,"left":645,"width":59,"height":20},{"type":"stn","id":"site-1056","text":"1056","top":678,"left":645,"width":59,"height":20},{"type":"stn","id":"site-1060","text":"1060","top":657,"left":707,"width":59,"height":20},{"type":"stn","id":"site-1055","text":"1055","top":657,"left":645,"width":59,"height":20},{"type":"stn","id":"site-1054","text":"1054","top":657,"left":574,"width":67,"height":20},{"type":"stn","id":"site-1053","text":"1053","top":657,"left":479,"width":91,"height":20},{"type":"stn","id":"site-1052","text":"1052","top":614,"left":573,"width":67,"height":17},{"type":"stn","id":"site-1051","text":"1051","top":597,"left":502,"width":67,"height":58},{"type":"stn","id":"site-1049","text":"1049","top":577,"left":571,"width":67,"height":17},{"type":"stn","id":"site-1048","text":"1048","top":578,"left":501,"width":67,"height":17},{"type":"stn","id":"site-1045","text":"1045","top":523,"left":571,"width":67,"height":17},{"type":"stn","id":"site-1044","text":"1044","top":506,"left":501,"width":67,"height":69},{"type":"stn","id":"site-1042","text":"1042","top":488,"left":571,"width":67,"height":17},{"type":"stn","id":"site-1041","text":"1041","top":466,"left":501,"width":67,"height":39},{"type":"stn","id":"site-1039","text":"1039","top":433,"left":571,"width":67,"height":17},{"type":"stn","id":"site-1038","text":"1038","top":418,"left":501,"width":67,"height":45},{"type":"stn","id":"site-1036","text":"1036","top":397,"left":571,"width":67,"height":17},{"type":"stn","id":"site-1035","text":"1035","top":398,"left":501,"width":67,"height":17},{"type":"stn","id":"site-1032","text":"1032","top":342,"left":571,"width":67,"height":17},{"type":"stn","id":"site-1031","text":"1031","top":322,"left":501,"width":67,"height":73},{"type":"stn","id":"site-1029","text":"1029","top":308,"left":571,"width":67,"height":17},{"type":"stn","id":"site-1028","text":"1028","top":280,"left":501,"width":67,"height":40},{"type":"stn","id":"site-1026","text":"1026","top":250,"left":571,"width":67,"height":17},{"type":"stn","id":"site-1025","text":"1025","top":248,"left":501,"width":67,"height":29},{"type":"stn","id":"site-1023","text":"1023","top":212,"left":571,"width":67,"height":17},{"type":"stn","id":"site-1022","text":"1022","top":198,"left":501,"width":67,"height":48},{"type":"stn","id":"site-1020","text":"1020","top":177,"left":571,"width":67,"height":17},{"type":"stn","id":"site-1019","text":"1019","top":178,"left":502,"width":67,"height":17},{"type":"stn","id":"site-1016","text":"1016","top":142,"left":571,"width":67,"height":17},{"type":"stn","id":"site-1015","text":"1015","top":129,"left":502,"width":67,"height":46},{"type":"stn","id":"site-1012","text":"1012","top":105,"left":502,"width":67,"height":23},{"type":"stn","id":"site-1008","text":"1008","top":82,"left":337,"width":67,"height":21},{"type":"stn","id":"site-1009","text":"1009","top":82,"left":406,"width":95,"height":21},{"type":"stn","id":"site-1010","text":"1010","top":82,"left":502,"width":67,"height":21},{"type":"stn","id":"site-1013","text":"1013","top":105,"left":571,"width":67,"height":17}]}]}]}
+mapInfo =
+ {"mapName":"YTFLWCS","rackCount":16,"crnCount":4,"stbCount":16,"hpPosition":0,"minBayNo":2,"floors":1,
+ "racks":[
+ // {"type":"rack","id":"rack23","top":558,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack26","top":631,"left":642,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack25","top":612,"left":642,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack24","top":577,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack19","top":469,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack22","top":539,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack21","top":519,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack20","top":488,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack4","top":122,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},
+ // {"type":"rack","id":"rack5","top":141,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},
+ // {"type":"rack","id":"rack111","top":49,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},
+ // {"type":"rack","id":"rack15","top":376,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack18","top":449,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack17","top":430,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack16","top":396,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack11","top":287,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack14","top":357,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack13","top":337,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack12","top":307,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack7","top":193,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack10","top":268,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack9","top":249,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack8","top":212,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31},
+ // {"type":"rack","id":"rack2","top":83,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},
+ // {"type":"rack","id":"rack3","top":103,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":61},
+ // {"type":"rack","id":"rack6","top":174,"left":641,"width":667,"height":18,"minBayNo":2,"maxBayNo":31}
+ ],
+ "crns":[
+ // {"type":"track","id":"lb_track8","text":"","top":76,"left":1327,"width":1,"height":93},
+ // {"type":"track","id":"lb_track7","text":"","top":75,"left":596,"width":733,"height":1},
+ // {"type":"track","id":"lb_track1","text":"","top":604,"left":593,"width":733,"height":1},
+ // {"type":"track","id":"lb_track2","text":"","top":513,"left":595,"width":733,"height":1},
+ // {"type":"crane","id":"crn-5","text":"5","top":507,"left":731,"width":67,"height":13},
+ // {"type":"crane","id":"crn-6","text":"6","top":597,"left":731,"width":67,"height":13},
+ // {"type":"crane","id":"crn-1","text":"1","top":162,"left":730,"width":67,"height":13},
+ // {"type":"track","id":"lb_track3","text":"","top":424,"left":593,"width":733,"height":1},
+ // {"type":"crane","id":"crn-2","text":"2","top":234,"left":741,"width":67,"height":13},
+ // {"type":"track","id":"lb_track4","text":"","top":333,"left":593,"width":733,"height":1},
+ // {"type":"crane","id":"crn-3","text":"3","top":325,"left":730,"width":67,"height":13},
+ // {"type":"track","id":"lb_track5","text":"","top":241,"left":595,"width":733,"height":1},
+ // {"type":"track","id":"lb_track6","text":"","top":168,"left":596,"width":733,"height":1},
+ // {"type":"crane","id":"crn-4","text":"4","top":417,"left":730,"width":67,"height":13}
+ ],
+ "areas":[{"type":"Control_floor","id":"tabControl_floor1","text":"妤煎眰","top":41,"left":80,"width":1269,"height":781,
+ "floors":[{"type":"floor","id":"page_floor1","text":"1F","top":4,"left":22,"width":1243,"height":773,
+ "stns":[
+ // {"type":"stn","id":"site-1064","text":"1064","top":720,"left":769,"width":59,"height":20},
+ // {"type":"stn","id":"site-2003","text":"2003","top":456,"left":309,"width":37,"height":20},
+ // {"type":"stn","id":"site-2002","text":"2002","top":455,"left":221,"width":37,"height":20},
+ // {"type":"stn","id":"site-1004","text":"1004","top":334,"left":296,"width":37,"height":20},
+ // {"type":"stn","id":"site-1002","text":"1002","top":291,"left":296,"width":37,"height":20},
+ // {"type":"stn","id":"site-1006","text":"1006","top":312,"left":296,"width":37,"height":20},
+ // {"type":"stn","id":"site-1007","text":"1007","top":312,"left":258,"width":37,"height":20},
+ // {"type":"stn","id":"site-1003","text":"1003","top":312,"left":220,"width":37,"height":20},
+ // {"type":"stn","id":"site-1075","text":"1075","top":723,"left":406,"width":71,"height":20},
+ // {"type":"stn","id":"site-1076","text":"1076","top":701,"left":406,"width":71,"height":20},
+ // {"type":"stn","id":"site-1077","text":"1077","top":679,"left":406,"width":71,"height":20},
+ // {"type":"stn","id":"site-1078","text":"1078","top":657,"left":406,"width":71,"height":20},
+ // {"type":"stn","id":"site-1079","text":"1079","top":598,"left":406,"width":71,"height":57},
+ // {"type":"stn","id":"site-1047","text":"1047","top":578,"left":405,"width":93,"height":17},
+ // {"type":"stn","id":"site-1081","text":"1081","top":417,"left":405,"width":71,"height":158},
+ // {"type":"stn","id":"site-1034","text":"1034","top":398,"left":405,"width":95,"height":17},
+ // {"type":"stn","id":"site-1083","text":"1083","top":320,"left":405,"width":71,"height":75},
+ // {"type":"stn","id":"site-1084","text":"1084","top":198,"left":405,"width":71,"height":121},
+ // {"type":"stn","id":"site-1059","text":"1059","top":700,"left":480,"width":161,"height":20},
+ // {"type":"stn","id":"site-1018","text":"1018","top":178,"left":405,"width":95,"height":17},
+ // {"type":"stn","id":"site-1086","text":"1086","top":146,"left":406,"width":71,"height":30},
+ // {"type":"stn","id":"site-1087","text":"1087","top":125,"left":406,"width":71,"height":19},
+ // {"type":"stn","id":"site-1088","text":"1088","top":105,"left":406,"width":71,"height":19},
+ // {"type":"stn","id":"site-1074","text":"1074","top":678,"left":1141,"width":59,"height":20},
+ // {"type":"stn","id":"site-1073","text":"1073","top":657,"left":1141,"width":59,"height":20},
+ // {"type":"stn","id":"site-1071","text":"1071","top":678,"left":1017,"width":59,"height":20},
+ // {"type":"stn","id":"site-1072","text":"1072","top":657,"left":1079,"width":59,"height":20},
+ // {"type":"stn","id":"site-1070","text":"1070","top":657,"left":1017,"width":59,"height":20},
+ {"type":"stn","id":"site-100","text":"100","top":657,"left":1017,"width":59,"height":20},
+ {"type":"stn","id":"site-101","text":"101","top":657,"left":955,"width":59,"height":20},
+ {"type":"stn","id":"site-103","text":"103","top":630,"left":955,"width":59,"height":20},
+ {"type":"stn","id":"site-105","text":"105","top":603,"left":955,"width":59,"height":20},
+ {"type":"stn","id":"site-107","text":"107","top":576,"left":955,"width":59,"height":20},
+ {"type":"stn","id":"site-109","text":"109","top":549,"left":955,"width":59,"height":20},
+ {"type":"stn","id":"site-111","text":"111","top":522,"left":955,"width":59,"height":20},
+ {"type":"stn","id":"site-113","text":"113","top":495,"left":955,"width":59,"height":20},
+ {"type":"stn","id":"site-115","text":"115","top":468,"left":955,"width":59,"height":20},
+ {"type":"stn","id":"site-117","text":"117","top":441,"left":955,"width":59,"height":20},
+ {"type":"stn","id":"site-119","text":"119","top":414,"left":955,"width":59,"height":20},
+ // {"type":"stn","id":"site-1068","text":"1068","top":678,"left":893,"width":59,"height":20},
+ {"type":"stn","id":"site-122","text":"122","top":657,"left":893,"width":59,"height":20},
+ {"type":"stn","id":"site-102","text":"102","top":657,"left":831,"width":59,"height":20},
+ {"type":"stn","id":"site-104","text":"104","top":630,"left":831,"width":59,"height":20},
+ {"type":"stn","id":"site-106","text":"106","top":603,"left":831,"width":59,"height":20},
+ {"type":"stn","id":"site-108","text":"108","top":576,"left":831,"width":59,"height":20},
+ {"type":"stn","id":"site-110","text":"110","top":549,"left":831,"width":59,"height":20},
+ {"type":"stn","id":"site-112","text":"112","top":522,"left":831,"width":59,"height":20},
+ {"type":"stn","id":"site-114","text":"114","top":495,"left":831,"width":59,"height":20},
+ {"type":"stn","id":"site-116","text":"116","top":468,"left":831,"width":59,"height":20},
+ {"type":"stn","id":"site-118","text":"118","top":441,"left":831,"width":59,"height":20},
+ {"type":"stn","id":"site-120","text":"120","top":414,"left":831,"width":59,"height":20},
+ // {"type":"stn","id":"site-1065","text":"1065","top":700,"left":707,"width":59,"height":20},
+ // {"type":"stn","id":"site-1063","text":"1063","top":700,"left":769,"width":59,"height":20},
+ // {"type":"stn","id":"site-1062","text":"1062","top":678,"left":769,"width":59,"height":20},
+ // {"type":"stn","id":"site-1061","text":"1061","top":657,"left":769,"width":59,"height":20},
+ // {"type":"stn","id":"site-1058","text":"1058","top":721,"left":645,"width":59,"height":20},
+ // {"type":"stn","id":"site-1057","text":"1057","top":700,"left":645,"width":59,"height":20},
+ // {"type":"stn","id":"site-1056","text":"1056","top":678,"left":645,"width":59,"height":20},
+ // {"type":"stn","id":"site-1060","text":"1060","top":657,"left":707,"width":59,"height":20},
+ // {"type":"stn","id":"site-1055","text":"1055","top":657,"left":645,"width":59,"height":20},
+ // {"type":"stn","id":"site-1054","text":"1054","top":657,"left":574,"width":67,"height":20},
+ // {"type":"stn","id":"site-1053","text":"1053","top":657,"left":479,"width":91,"height":20},
+ // {"type":"stn","id":"site-1052","text":"1052","top":614,"left":573,"width":67,"height":17},
+ // {"type":"stn","id":"site-1051","text":"1051","top":597,"left":502,"width":67,"height":58},
+ // {"type":"stn","id":"site-1049","text":"1049","top":577,"left":571,"width":67,"height":17},
+ // {"type":"stn","id":"site-1048","text":"1048","top":578,"left":501,"width":67,"height":17},
+ // {"type":"stn","id":"site-1045","text":"1045","top":523,"left":571,"width":67,"height":17},
+ // {"type":"stn","id":"site-1044","text":"1044","top":506,"left":501,"width":67,"height":69},
+ // {"type":"stn","id":"site-1042","text":"1042","top":488,"left":571,"width":67,"height":17},
+ // {"type":"stn","id":"site-1041","text":"1041","top":466,"left":501,"width":67,"height":39},
+ // {"type":"stn","id":"site-1039","text":"1039","top":433,"left":571,"width":67,"height":17},
+ // {"type":"stn","id":"site-1038","text":"1038","top":418,"left":501,"width":67,"height":45},
+ // {"type":"stn","id":"site-1036","text":"1036","top":397,"left":571,"width":67,"height":17},
+ // {"type":"stn","id":"site-1035","text":"1035","top":398,"left":501,"width":67,"height":17},
+ // {"type":"stn","id":"site-1032","text":"1032","top":342,"left":571,"width":67,"height":17},
+ // {"type":"stn","id":"site-1031","text":"1031","top":322,"left":501,"width":67,"height":73},
+ // {"type":"stn","id":"site-1029","text":"1029","top":308,"left":571,"width":67,"height":17},
+ // {"type":"stn","id":"site-1028","text":"1028","top":280,"left":501,"width":67,"height":40},
+ // {"type":"stn","id":"site-1026","text":"1026","top":250,"left":571,"width":67,"height":17},
+ // {"type":"stn","id":"site-1025","text":"1025","top":248,"left":501,"width":67,"height":29},
+ // {"type":"stn","id":"site-1023","text":"1023","top":212,"left":571,"width":67,"height":17},
+ // {"type":"stn","id":"site-1022","text":"1022","top":198,"left":501,"width":67,"height":48},
+ // {"type":"stn","id":"site-1020","text":"1020","top":177,"left":571,"width":67,"height":17},
+ // {"type":"stn","id":"site-1019","text":"1019","top":178,"left":502,"width":67,"height":17},
+ // {"type":"stn","id":"site-1016","text":"1016","top":142,"left":571,"width":67,"height":17},
+ // {"type":"stn","id":"site-1015","text":"1015","top":129,"left":502,"width":67,"height":46},
+ // {"type":"stn","id":"site-1012","text":"1012","top":105,"left":502,"width":67,"height":23},
+ // {"type":"stn","id":"site-1008","text":"1008","top":82,"left":337,"width":67,"height":21},
+ // {"type":"stn","id":"site-1009","text":"1009","top":82,"left":406,"width":95,"height":21},
+ // {"type":"stn","id":"site-1010","text":"1010","top":82,"left":502,"width":67,"height":21},
+ // {"type":"stn","id":"site-1013","text":"1013","top":105,"left":571,"width":67,"height":17}
+ ]}]}]}
--
Gitblit v1.9.1