From 7354b5dd039dc7053f3a17f1d3a695f0628cd8da Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 18 十月 2024 08:54:23 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/thread/SiemensCrnThread.java | 8
src/main/webapp/static/js/console.js | 4
src/main/webapp/static/css/render.css | 2
src/main/webapp/static/js/console.map.js | 297 ++++++++++++++++++++++++++
src/main/java/com/zy/common/model/LocTypeDto.java | 10
src/main/java/com/zy/core/thread/SiemensDevpThread.java | 128 ++++++++---
src/main/resources/application.yml | 179 +++++++++++++++
7 files changed, 561 insertions(+), 67 deletions(-)
diff --git a/src/main/java/com/zy/common/model/LocTypeDto.java b/src/main/java/com/zy/common/model/LocTypeDto.java
index 38fb7d2..407062d 100644
--- a/src/main/java/com/zy/common/model/LocTypeDto.java
+++ b/src/main/java/com/zy/common/model/LocTypeDto.java
@@ -31,14 +31,10 @@
}
public LocTypeDto(StaProtocol staProtocol) {
-// if (staProtocol.isHigh() == staProtocol.isLow()) {
-// throw new CoolException("plc楂樹綆妫�娴嬪紓甯�");
-// }
- if (staProtocol.getSiteId() == 106 || staProtocol.getSiteId() == 159){
- this.locType1 = 2; // 楂樺簱浣�
- }else {
- this.locType1 = 1; // 浣庡簱浣�
+ if (staProtocol.locType.id.shortValue()!=1 && staProtocol.locType.id.shortValue()!=2 && staProtocol.locType.id.shortValue()!=3) {
+ throw new CoolException("plc楂樹綆妫�娴嬪紓甯�");
}
+ this.locType1 = staProtocol.locType.id.shortValue();
}
/**
diff --git a/src/main/java/com/zy/core/thread/SiemensCrnThread.java b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
index ede2985..15ce347 100644
--- a/src/main/java/com/zy/core/thread/SiemensCrnThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -185,8 +185,8 @@
// 澶嶄綅淇″彿
if (!Cools.isEmpty(crnProtocol.getStatusType()) && crnProtocol.getStatusType().equals(CrnStatusType.WAITING)) {
- News.error("---绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙颁俊鍙�:{}]==>> 鐘舵�佷负10锛岀瓑寰呯‘璁わ紒锛�",
- slave.getId(),crnProtocol.getTaskNo(), crnProtocol.getLoaded()==1 ? "鏈夌墿" : "鏃犵墿");
+// News.error("---绗竴姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}, 杞借揣鍙颁俊鍙�:{}]==>> 鐘舵�佷负10锛岀瓑寰呯‘璁わ紒锛�",
+// slave.getId(),crnProtocol.getTaskNo(), crnProtocol.getLoaded()==1 ? "鏈夌墿" : "鏃犵墿");
if (resetFlag) {
if(crnProtocol.getTaskNo()==9999){
backHpFlag = false;
@@ -196,8 +196,8 @@
crnCommand.setAckFinish((short)1);
if (write(crnCommand)) {
resetFlag = false;
- News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 澶嶄綅resetFlag鏍囪鎴愬姛{}锛侊紒",
- slave.getId(), wrkNo, resetFlag);
+// News.error("---绗簩姝ャ�乕鍫嗗灈鏈哄彿锛歿}, 宸ヤ綔鍙凤細{}]==>> 澶嶄綅resetFlag鏍囪鎴愬姛{}锛侊紒",
+// slave.getId(), wrkNo, resetFlag);
}
}
}
diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
index 9edf634..d29590c 100644
--- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -53,10 +53,13 @@
add(1000); add(1001); add(1002); add(1003); add(1004); add(1005); add(1006); add(1007); add(1008); add(1009); add(1010);
add(1011); add(1012); add(1013); add(1014); add(1015); add(1016); add(1017); add(1018); add(1019); add(1020); add(1021);
add(1022); add(1023); add(1024); add(1025); add(1026); add(1027); add(1028); add(1029); add(1030);
+ add(2000); add(2001); add(2002); add(2003); add(2004);add(2005); add(2006); add(2007);
// add(200);add(201);add(202);
}};
public static final ArrayList<Integer> staNos2 = new ArrayList<Integer>() {{
- add(1400);
+ add(1040);add(1041);add(1042);add(1043);add(1044);add(1045);add(1046);add(1047);
+ add(2010);add(2011);add(2012);add(2013);add(2014);add(2015);add(2016);add(2017);
+ add(3010);add(3011);add(3012);add(3013);add(3014);add(3015);add(3016);add(3017);
// add(200);add(201);add(202);
}};
@@ -125,7 +128,7 @@
// 鍐欐暟鎹� ID+鐩爣绔�
case 2:
writeD((StaProtocol)task.getData(),1);
- log.error("杈撻�佺嚎涓嬪彂鍛戒护锛�"+((StaProtocol) task.getData()).getWorkNo()+","+((StaProtocol) task.getData()).getStaNo());
+// log.error("杈撻�佺嚎涓嬪彂鍛戒护锛�"+((StaProtocol) task.getData()).getWorkNo()+","+((StaProtocol) task.getData()).getStaNo());
break;
default:
break;
@@ -307,55 +310,102 @@
}
private void writeD(StaProtocol staProtocol,Integer count)throws InterruptedException{
+
+ boolean reset = true;
if (null == staProtocol) {
return;
+ }
+ staProtocol = staProtocol.clone();
+ Integer oriWrkNo = staProtocol.getWorkNo();
+ short oriStaNo = staProtocol.getStaNo();
+ ArrayList<Integer> staNos = getStaNo();
+ int index = staNos.indexOf(staProtocol.getSiteId());
+
+
+ if(writeWrk(staProtocol,1)){
+
+ int whileCount = 0;
+ OperateResult write3 = siemensS7Net.Write("DB100." + (index*66+6), (short) 1);
+ if (write3.IsSuccess){
+ News.info("杈撻�佺嚎鍛戒护涓嬪彂[id:"+slave.getId()+"] >>>>>"+"["+1+"]");
+ Thread.sleep(100);
+ do {
+ OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100."+(index*66 +6), (short) 2);
+ short mk = siemensS7Net.getByteTransform().TransInt16(result2.Content, 0);
+ if (mk == 2){
+ OperateResult write5 = siemensS7Net.Write("DB100." + index*66, 0); // 宸ヤ綔鍙�
+ Thread.sleep(100);
+ OperateResult write6 = siemensS7Net.Write("DB100." + (index*66+4), (short) 0); // 鐩爣绔�
+ Thread.sleep(100);
+ OperateResult write4 = siemensS7Net.Write("DB100." + (index*66+6), (short) 0);
+ reset = false;
+ if (write4.IsSuccess && write5.IsSuccess && write6.IsSuccess){
+ News.info("杈撻�佺嚎鍛戒护涓嬪彂[id:"+slave.getId()+"] >>>>>"+"["+"0,0,0"+"]");
+ OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB100."+(index*66), (short) 8);
+ Integer wrkNo1 = siemensS7Net.getByteTransform().TransInt32(result1.Content, 0);
+ short staNo1 = siemensS7Net.getByteTransform().TransInt16(result1.Content, 4);
+ short mk1 = siemensS7Net.getByteTransform().TransInt16(result1.Content, 6);
+ if (wrkNo1 != 0 || staNo1 !=0 || mk1 !=0){
+ whileCount++;
+ News.info("澶嶄綅澶辫触,杈撻�佺嚎鍛戒护涓嬪彂[id:"+slave.getId()+"] >>>>>"+"["+"0,0,0"+"]");
+ }else {
+ News.info("杈撻�佺嚎澶嶄綅瀹屾垚");
+ break;
+ }
+
+ }
+ }else if (reset && mk == 0 ){
+ OperateResult write7 = siemensS7Net.Write("DB100." + (index*66+6), (short) 1);
+ News.info("鍥炶1澶辫触锛岃緭閫佺嚎鍛戒护涓嬪彂[id:"+slave.getId()+"] >>>>>"+"["+"1"+"]");
+ Thread.sleep(100);
+ whileCount++;
+ }else {
+ whileCount++;
+ }
+ }while (whileCount <10);
+ }
+ }else {
+ log.error("杈撻�佸懡浠や笅鍙戝け璐�"+JSON.toJSONString(staProtocol));
+ }
+
+
+
+ }
+
+ private boolean writeWrk(StaProtocol staProtocol,Integer count)throws InterruptedException {
+
+ if (null == staProtocol) {
+ return false;
}
Integer oriWrkNo = staProtocol.getWorkNo();
short oriStaNo = staProtocol.getStaNo();
ArrayList<Integer> staNos = getStaNo();
int index = staNos.indexOf(staProtocol.getSiteId());
-
- OperateResult write1 = siemensS7Net.Write("DB100." + index*66, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
- Thread.sleep(100);
- OperateResult write2 = siemensS7Net.Write("DB100." + (index*66+4), staProtocol.getStaNo()); // 鐩爣绔�
- if(write1.IsSuccess && write2.IsSuccess){
- OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100."+(index*66), (short) 6);
- Integer wrkNo = siemensS7Net.getByteTransform().TransInt32(result.Content, 0);
- short staNo = siemensS7Net.getByteTransform().TransInt16(result.Content, 4);
- if (!oriWrkNo.equals(wrkNo) || oriStaNo != staNo){
- if (count >= 5){
- log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), count);
- return;
- }
- count++;
- writeD(staProtocol,count);
- }
- int whileCount = 0;
- OperateResult write3 = siemensS7Net.Write("DB100." + (index*66+6), (short) 1);
- if (write3.IsSuccess){
- Thread.sleep(200);
- do {
- OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100."+(index*66 +6), (short) 2);
- short mk = siemensS7Net.getByteTransform().TransInt16(result2.Content, 0);
- if (mk == 2){
- OperateResult write5 = siemensS7Net.Write("DB100." + index*66, 0); // 宸ヤ綔鍙�
- OperateResult write6 = siemensS7Net.Write("DB100." + (index*66+4), (short) 0); // 鐩爣绔�
- OperateResult write4 = siemensS7Net.Write("DB100." + (index*66+6), (short) 0);
- if (write4.IsSuccess){
- OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol)));
- News.info("SiemensDevp"+" - 5"+" - 杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂锛� {}", slave.getId(), JSON.toJSON(staProtocol));
- break;
- }
- }else {
- whileCount++;
+ do {
+ log.info("杈撻�侀�掑綊娆℃暟:" + count);
+ OperateResult write1 = siemensS7Net.Write("DB100." + index * 66, staProtocol.getWorkNo()); // 宸ヤ綔鍙�
+ Thread.sleep(100);
+ OperateResult write2 = siemensS7Net.Write("DB100." + (index * 66 + 4), staProtocol.getStaNo()); // 鐩爣绔�
+ if (write1.IsSuccess && write2.IsSuccess) {
+ News.info("杈撻�佺嚎鍛戒护涓嬪彂[id:" + slave.getId() + "] >>>>>" + "[" + staProtocol.getWorkNo() + "," + staProtocol.getStaNo() + "]");
+ OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100." + (index * 66), (short) 6);
+ Integer wrkNo = siemensS7Net.getByteTransform().TransInt32(result.Content, 0);
+ short staNo = siemensS7Net.getByteTransform().TransInt16(result.Content, 4);
+ if (!oriWrkNo.equals(wrkNo) || oriStaNo != staNo) {
+ if (count >= 5) {
+ log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), count);
+ return false;
}
- }while (whileCount <5);
+ count++;
+ }else {
+ return true;
+ }
}
- }
+ }while (count <=5);
-
+ return true;
}
// 鏇存柊鍏ュ嚭搴撴ā寮�
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 95614e1..6f3a73b 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -61,6 +61,14 @@
row: 2
bay: 47
lev: 1
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�
+ crnInStn[1]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 2003
+ row: 3
+ bay: 47
+ lev: 2
+
# 鍫嗗灈鏈哄嚭搴撶珯鐐�
crnOutStn[0]:
devpPlcId: ${wcs-slave.devp[0].id}
@@ -68,6 +76,52 @@
row: 3
bay: 47
lev: 1
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[1]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 2003
+ row: 3
+ bay: 47
+ lev: 2
+ crnInStn[2]:
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staNo: 1043
+ row: 3
+ bay: 1
+ lev: 1
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[2]:
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staNo: 1043
+ row: 3
+ bay: 1
+ lev: 1
+ crnInStn[3]:
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staNo: 2013
+ row: 3
+ bay: 1
+ lev: 2
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[3]:
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staNo: 2013
+ row: 3
+ bay: 1
+ lev: 2
+ crnInStn[4]:
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staNo: 3013
+ row: 3
+ bay: 1
+ lev: 3
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[4]:
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staNo: 3013
+ row: 3
+ bay: 1
+ lev: 3
# 鍫嗗灈鏈�2
crn[1]:
id: 2
@@ -92,6 +146,62 @@
row: 6
bay: 47
lev: 1
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�
+ crnInStn[1]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 2004
+ row: 6
+ bay: 47
+ lev: 2
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[1]:
+ devpPlcId: ${wcs-slave.devp[0].id}
+ staNo: 2004
+ row: 6
+ bay: 47
+ lev: 2
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�
+ crnInStn[2]:
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staNo: 1044
+ row: 6
+ bay: 1
+ lev: 1
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[2]:
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staNo: 1044
+ row: 6
+ bay: 1
+ lev: 1
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�
+ crnInStn[3]:
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staNo: 2014
+ row: 6
+ bay: 1
+ lev: 2
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[3]:
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staNo: 2014
+ row: 6
+ bay: 1
+ lev: 2
+ # 鍫嗗灈鏈哄叆搴撶珯鐐�
+ crnInStn[4]:
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staNo: 3014
+ row: 6
+ bay: 1
+ lev: 3
+ # 鍫嗗灈鏈哄嚭搴撶珯鐐�
+ crnOutStn[4]:
+ devpPlcId: ${wcs-slave.devp[1].id}
+ staNo: 3014
+ row: 6
+ bay: 1
+ lev: 3
# 杈撻�佺嚎1
devp[0]:
@@ -105,6 +215,10 @@
staNo: 1001
backSta: 1000
led: ${wcs-slave.led[1].id}
+ inSta[1]:
+ staNo: 2001
+ backSta: 2000
+ led: ${wcs-slave.led[1].id}
# 绌烘澘鍏ュ簱鍙�1
emptyInSta[0]:
staNo: 1001
@@ -114,6 +228,12 @@
emptyInSta[1]:
staNo: 1025
backSta: 1000
+ led: ${wcs-slave.led[1].id}
+
+ # 绌烘澘鍏ュ簱鍙�1
+ emptyInSta[2]:
+ staNo: 2001
+ backSta: 200
led: ${wcs-slave.led[1].id}
# 鍑哄簱鍙�1
outSta[0]:
@@ -128,29 +248,68 @@
slot: 0
# 鍏ュ簱鍙�1
inSta[0]:
- staNo: 106
- backSta: 105
+ staNo: 1041
+ backSta: 1040
+ led: ${wcs-slave.led[1].id}
+ # 鍏ュ簱鍙�1
+ inSta[1]:
+ staNo: 2011
+ backSta: 2010
+ led: ${wcs-slave.led[1].id}
+ # 鍏ュ簱鍙�1
+ inSta[2]:
+ staNo: 3011
+ backSta: 3010
led: ${wcs-slave.led[1].id}
# 绌烘澘鍏ュ簱鍙�1
emptyInSta[0]:
- staNo: 106
- backSta: 105
+ staNo: 1041
+ backSta: 1040
+ led: ${wcs-slave.led[1].id}
+ # 绌烘澘鍏ュ簱鍙�1
+ emptyInSta[1]:
+ staNo: 2011
+ backSta: 2010
+ led: ${wcs-slave.led[1].id}
+ # 绌烘澘鍏ュ簱鍙�1
+ emptyInSta[2]:
+ staNo: 3011
+ backSta: 3010
led: ${wcs-slave.led[1].id}
# 鎷f枡鍏ュ簱鍙�1
pickSta[0]:
- staNo: 159
+ staNo: 1041
led: ${wcs-slave.led[5].id}
- backSta: 160
+ backSta: 1040
+ # 鎷f枡鍏ュ簱鍙�1
+ pickSta[1]:
+ staNo: 2011
+ led: ${wcs-slave.led[5].id}
+ backSta: 2010
+ # 鎷f枡鍏ュ簱鍙�1
+ pickSta[2]:
+ staNo: 3011
+ led: ${wcs-slave.led[5].id}
+ backSta: 3010
# 鍑哄簱鍙�1
outSta[0]:
- staNo: 100
+ staNo: 1040
led: ${wcs-slave.led[0].id}
outSta[1]:
- staNo: 152
+ staNo: 1042
led: ${wcs-slave.led[3].id}
outSta[2]:
- staNo: 156
- led: ${wcs-slave.led[4].id}
+ staNo: 2010
+ led: ${wcs-slave.led[3].id}
+ outSta[3]:
+ staNo: 2012
+ led: ${wcs-slave.led[3].id}
+ outSta[4]:
+ staNo: 3010
+ led: ${wcs-slave.led[3].id}
+ outSta[5]:
+ staNo: 3012
+ led: ${wcs-slave.led[3].id}
# LED1
led[0]:
diff --git a/src/main/webapp/static/css/render.css b/src/main/webapp/static/css/render.css
index 9876401..fe20724 100644
--- a/src/main/webapp/static/css/render.css
+++ b/src/main/webapp/static/css/render.css
@@ -93,7 +93,7 @@
.floorBtn {
position: absolute;
border-radius: 5px;
- left: 1750px;
+ left: 10px;
width: 90px;
height: 40px;
color: #ffffff;
diff --git a/src/main/webapp/static/js/console.js b/src/main/webapp/static/js/console.js
index e4b968c..570c792 100644
--- a/src/main/webapp/static/js/console.js
+++ b/src/main/webapp/static/js/console.js
@@ -129,9 +129,9 @@
let floor = areas[i].text
let barcodes = areas[i].barcode
floorId = areas[i].id
- var position = (i+1)*100
+ var position = (i+1)*100 +400
floorBtn =
- "<button class='floorBtn btn-16' onclick='changFloor("+i+")' style='top: "+position+"px;'>" + floor +"</button>"
+ "<button class='floorBtn btn-16' onclick='changFloor("+i+")' style='top: "+10+"px;left: "+position+"px;'>" + floor +"</button>"
if (mapInfo.areas[0].floors.length == 1) {
floorBtnss = ''
} else {
diff --git a/src/main/webapp/static/js/console.map.js b/src/main/webapp/static/js/console.map.js
index f199746..083ff4e 100644
--- a/src/main/webapp/static/js/console.map.js
+++ b/src/main/webapp/static/js/console.map.js
@@ -85,16 +85,16 @@
"text": "#16",
"top": 167,
"left": 1810,
- "width": 30,
- "height": 23
+ "width": 0,
+ "height": 0
}, {
"type": "rackDescs",
"id": "lb_desc2",
"text": "#1",
"top": 596,
"left": 1810,
- "width": 30,
- "height": 23
+ "width": 0,
+ "height": 0
}],
"crns": [{
"type": "track",
@@ -523,6 +523,295 @@
"height": 20
}
]
+ },{
+ "type": "floor",
+ "id": "page_floor2",
+ "text": "2F",
+ "top": 4,
+ "left": 22,
+ "width": 1819,
+ "height": 668,
+ "stns":[
+ {
+ "type": "stn",
+ "id": "site-2004",
+ "text": "2004",
+ "top": 300,
+ "left": 1510,
+ "width": 80,
+ "height": 19
+ },{
+ "type": "stn",
+ "id": "site-2006",
+ "text": "2006",
+ "top": 300,
+ "left": 1592,
+ "width": 80,
+ "height": 19
+ },{
+ "type": "stn",
+ "id": "site-2003",
+ "text": "2003",
+ "top": 239,
+ "left": 1510,
+ "width": 80,
+ "height": 19
+ },{
+ "type": "stn",
+ "id": "site-2005",
+ "text": "2005",
+ "top": 239,
+ "left": 1592,
+ "width": 80,
+ "height": 19
+ },{
+ "type": "track",
+ "id": "lb_track9",
+ "text": "",
+ "top": 180,
+ "left": 1680,
+ "width": 2,
+ "height": 500
+ }
+ ,{
+ "type": "track",
+ "id": "lb_track10",
+ "text": "",
+ "top": 180,
+ "left": 1720,
+ "width": 2,
+ "height": 500
+ }
+ ,{
+ "type": "stn",
+ "id": "site-2001",
+ "text": "2001",
+ "top": 239,
+ "left": 1756,
+ "width": 80,
+ "height": 19
+ },{
+ "type": "stn",
+ "id": "site-2000",
+ "text": "2000",
+ "top": 239,
+ "left": 1838,
+ "width": 80,
+ "height": 19
+ }
+ ,{
+ "type": "stn",
+ "id": "site-2007",
+ "text": "2007",
+ "top": 300,
+ "left": 1674,
+ "width": 80,
+ "height": 19
+ },{
+ "type": "stn",
+ "id": "site-2002",
+ "text": "2002",
+ "top": 350,
+ "left": 1756,
+ "width": 80,
+ "height": 19
+ },{
+ "type": "stn",
+ "id": "site-2015",
+ "text": "2015",
+ "top": 239,
+ "left": 365,
+ "width": 80,
+ "height": 19
+ }, {
+ "type": "stn",
+ "id": "site-2013",
+ "text": "2013",
+ "top": 239,
+ "left": 448,
+ "width": 80,
+ "height": 19
+ }, {
+ "type": "stn",
+ "id": "site-2016",
+ "text": "2016",
+ "top": 352,
+ "left": 365,
+ "width": 80,
+ "height": 19
+ }, {
+ "type": "stn",
+ "id": "site-2014",
+ "text": "2014",
+ "top": 352,
+ "left": 448,
+ "width": 80,
+ "height": 19
+ },{
+ "type": "track",
+ "id": "lb_track6",
+ "text": "",
+ "top": 180,
+ "left": 350,
+ "width": 2,
+ "height": 500
+ },{
+ "type": "track",
+ "id": "lb_track7",
+ "text": "",
+ "top": 180,
+ "left": 320,
+ "width": 2,
+ "height": 500
+ }, {
+ "type": "stn",
+ "id": "site-2017",
+ "text": "2017",
+ "top": 352,
+ "left": 282,
+ "width": 80,
+ "height": 19
+ },{
+ "type": "stn",
+ "id": "site-2010",
+ "text": "2010",
+ "top": 239,
+ "left": 118,
+ "width": 80,
+ "height": 19
+ }, {
+ "type": "stn",
+ "id": "site-2011",
+ "text": "2011",
+ "top": 239,
+ "left": 200,
+ "width": 80,
+ "height": 19
+ },{
+ "type": "stn",
+ "id": "site-2012",
+ "text": "2012",
+ "top": 400,
+ "left": 200,
+ "width": 80,
+ "height": 19
+ }
+ ],
+ "barcode":[
+ {
+ "type": "barcode",
+ "id": "barcode-1",
+ "text": "",
+ "top": 749,
+ "left": 470,
+ "width": 80,
+ "height": 20
+ },
+
+ ]
+ },{
+ "type": "floor",
+ "id": "page_floor3",
+ "text": "3F",
+ "top": 4,
+ "left": 22,
+ "width": 1819,
+ "height": 668,
+ "stns":[
+ {
+ "type": "stn",
+ "id": "site-3015",
+ "text": "3015",
+ "top": 239,
+ "left": 365,
+ "width": 80,
+ "height": 19
+ }, {
+ "type": "stn",
+ "id": "site-3013",
+ "text": "3013",
+ "top": 239,
+ "left": 448,
+ "width": 80,
+ "height": 19
+ }, {
+ "type": "stn",
+ "id": "site-3016",
+ "text": "3016",
+ "top": 352,
+ "left": 365,
+ "width": 80,
+ "height": 19
+ }, {
+ "type": "stn",
+ "id": "site-3014",
+ "text": "3014",
+ "top": 352,
+ "left": 448,
+ "width": 80,
+ "height": 19
+ },{
+ "type": "track",
+ "id": "lb_track6",
+ "text": "",
+ "top": 180,
+ "left": 350,
+ "width": 2,
+ "height": 500
+ },{
+ "type": "track",
+ "id": "lb_track7",
+ "text": "",
+ "top": 180,
+ "left": 320,
+ "width": 2,
+ "height": 500
+ }, {
+ "type": "stn",
+ "id": "site-3017",
+ "text": "3017",
+ "top": 352,
+ "left": 282,
+ "width": 80,
+ "height": 19
+ },{
+ "type": "stn",
+ "id": "site-3010",
+ "text": "3010",
+ "top": 239,
+ "left": 118,
+ "width": 80,
+ "height": 19
+ }, {
+ "type": "stn",
+ "id": "site-3011",
+ "text": "3011",
+ "top": 239,
+ "left": 200,
+ "width": 80,
+ "height": 19
+ },{
+ "type": "stn",
+ "id": "site-3012",
+ "text": "3012",
+ "top": 400,
+ "left": 200,
+ "width": 80,
+ "height": 19
+ }
+ ],
+ "barcode":[
+ {
+ "type": "barcode",
+ "id": "barcode-1",
+ "text": "",
+ "top": 749,
+ "left": 470,
+ "width": 80,
+ "height": 20
+ },
+
+ ]
}]
}]
}
\ No newline at end of file
--
Gitblit v1.9.1