From deeea3d8de2d09fbeef300fcb6a790d72cfee42e Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期五, 26 八月 2022 15:30:03 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/BasSteService.java | 4 +
src/main/java/com/zy/core/thread/SteThread.java | 65 ++++++++++++---------
src/main/java/com/zy/core/model/protocol/SteProtocol.java | 7 ++
src/main/java/com/zy/asrs/controller/SteController.java | 15 ++++
src/main/java/com/zy/asrs/domain/vo/SteMsgTableVo.java | 2
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 18 +++---
src/main/webapp/views/ste.html | 33 ++++++++--
src/main/webapp/views/pipeline.html | 7 +-
src/main/java/com/zy/asrs/mapper/BasSteMapper.java | 4 +
src/main/java/com/zy/asrs/domain/vo/SteDataVo.java | 2
src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java | 9 ++
src/main/resources/mapper/BasSteMapper.xml | 12 +++
12 files changed, 123 insertions(+), 55 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/SteController.java b/src/main/java/com/zy/asrs/controller/SteController.java
index ba77109..7ff7b92 100644
--- a/src/main/java/com/zy/asrs/controller/SteController.java
+++ b/src/main/java/com/zy/asrs/controller/SteController.java
@@ -134,6 +134,7 @@
}
vo.setSpeed(steProtocol.getSpeed()); // 閫熷害
vo.setCloser(steProtocol.getCloser()); // 杩戠偣璺濈
+ vo.setPakMk(steProtocol.getPakMk()); // 浣滀笟鏍囪
}
return R.ok().add(list);
}
@@ -164,6 +165,7 @@
vo.setLev(basSte.getLev());
vo.setCrnNo(basSte.getCrnNo());
vo.setWorkNo(basSte.getWrkNo());
+ vo.setPakMk(basSte.getPakMk());
}
break;
}
@@ -178,7 +180,18 @@
if (basSte == null) {
return R.error();
}
-
+ // 鑾峰彇绌挎杞︿俊鎭�
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, vo.getSteNo());
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol != null) {
+ throw new CoolException(vo.getSteNo() + "鍙风┛姊溅涓嶅湪绾匡紝鏃犳硶淇濆瓨");
+ }
+ if (!Cools.isEmpty(vo.getRow(), vo.getBay(), vo.getLev())) {
+ if (!steThread.modifyPosHandle(vo.getRow(), vo.getBay(), vo.getLev())) {
+ throw new CoolException("鏈嶅姟鍣ㄩ敊璇�");
+ }
+ }
+ basSte.setPakMk(vo.getPakMk());
basSte.setWrkNo(vo.getWorkNo());
basSte.setCrnNo(vo.getCrnNo());
basSte.setUpdateTime(new Date());
diff --git a/src/main/java/com/zy/asrs/domain/vo/SteDataVo.java b/src/main/java/com/zy/asrs/domain/vo/SteDataVo.java
index 71ebde7..b0f70d8 100644
--- a/src/main/java/com/zy/asrs/domain/vo/SteDataVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/SteDataVo.java
@@ -22,4 +22,6 @@
private Integer crnNo;
+ private String pakMk;
+
}
diff --git a/src/main/java/com/zy/asrs/domain/vo/SteMsgTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SteMsgTableVo.java
index 414e6b5..0be072d 100644
--- a/src/main/java/com/zy/asrs/domain/vo/SteMsgTableVo.java
+++ b/src/main/java/com/zy/asrs/domain/vo/SteMsgTableVo.java
@@ -44,5 +44,7 @@
// 杩戠偣璺濈
public Double closer = 0.0D;
+ // 浣滀笟鏍囪
+ private String pakMk = "-";
}
diff --git a/src/main/java/com/zy/asrs/mapper/BasSteMapper.java b/src/main/java/com/zy/asrs/mapper/BasSteMapper.java
index f26536e..605f410 100644
--- a/src/main/java/com/zy/asrs/mapper/BasSteMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/BasSteMapper.java
@@ -10,6 +10,8 @@
@Repository
public interface BasSteMapper extends BaseMapper<BasSte> {
- int updatePos(@Param("row")Integer row, @Param("bay")Integer bay, @Param("lev")Integer lev);
+ int updatePos(@Param("steNo")Integer steNo, @Param("row")Integer row, @Param("bay")Integer bay, @Param("lev")Integer lev);
+
+ int updatePakMk(@Param("steNo")Integer steNo, @Param("pakMk")String pakMk);
}
diff --git a/src/main/java/com/zy/asrs/service/BasSteService.java b/src/main/java/com/zy/asrs/service/BasSteService.java
index bd599d0..e26fd21 100644
--- a/src/main/java/com/zy/asrs/service/BasSteService.java
+++ b/src/main/java/com/zy/asrs/service/BasSteService.java
@@ -7,6 +7,8 @@
BasSte findByCrnNo(Integer crnNo);
- int updatePos(Integer row, Integer bay, Integer lev);
+ Boolean updatePos(Integer steNo, Integer row, Integer bay, Integer lev);
+
+ Boolean updatePakMk(Integer steNo, String pakMk);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java
index 240ba59..5b3e947 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasSteServiceImpl.java
@@ -28,8 +28,13 @@
}
@Override
- public int updatePos(Integer row, Integer bay, Integer lev) {
- return this.baseMapper.updatePos(row, bay, lev);
+ public Boolean updatePos(Integer steNo, Integer row, Integer bay, Integer lev) {
+ return this.baseMapper.updatePos(steNo, row, bay, lev) > 0;
+ }
+
+ @Override
+ public Boolean updatePakMk(Integer steNo, String pakMk) {
+ return this.baseMapper.updatePakMk(steNo, pakMk) > 0;
}
}
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 f0ad4e0..9c430f5 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -547,7 +547,7 @@
SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
SteProtocol steProtocol = steThread.getSteProtocol();
if (steProtocol == null) { continue; }
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ if (steProtocol.isIdle()) {
// 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
if (wrkMastMapper.selectWorking(slave.getId()) != null) {
@@ -690,7 +690,7 @@
SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
SteProtocol steProtocol = steThread.getSteProtocol();
if (steProtocol == null) { continue; }
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ if (steProtocol.isIdle()) {
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
SteCommand steCommand = new SteCommand();
@@ -781,7 +781,7 @@
SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
SteProtocol steProtocol = steThread.getSteProtocol();
if (steProtocol == null) { continue; }
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ if (steProtocol.isIdle()) {
if (Utils.getGroupRow(locNo).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(locNo) && steProtocol.getLev() == Utils.getLev(locNo)) {
return steProtocol.getSteNo().intValue();
}
@@ -800,7 +800,7 @@
SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, basSte.getSteNo());
SteProtocol steProtocol = steThread.getSteProtocol();
if (steProtocol != null) {
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ if (steProtocol.isIdle()) {
return steThread;
}
}
@@ -816,7 +816,7 @@
SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
SteProtocol steProtocol = steThread.getSteProtocol();
if (steProtocol == null) { return; }
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ if (steProtocol.isIdle()) {
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
SteCommand steCommand = new SteCommand();
@@ -849,7 +849,7 @@
SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
SteProtocol steProtocol = steThread.getSteProtocol();
if (steProtocol == null) { return; }
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ if (steProtocol.isIdle()) {
// 鍫嗗灈鏈虹┖闂�
if (crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() == 0) {
LocMast locMast;
@@ -926,7 +926,7 @@
SteProtocol steProtocol = steThread.getSteProtocol();
if (steProtocol == null) { return; }
// 绌挎杞︾┖闂�
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ if (steProtocol.isIdle()) {
// 鍫嗗灈鏈虹┖闂�
if (crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() == 0) {
@@ -1009,7 +1009,7 @@
SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
SteProtocol steProtocol = steThread.getSteProtocol();
if (steProtocol == null) { continue; }
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ if (steProtocol.isIdle()) {
// 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
SteCommand steCommand = new SteCommand();
steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
@@ -1078,7 +1078,7 @@
SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
SteProtocol steProtocol = steThread.getSteProtocol();
if (steProtocol == null) { continue; }
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ if (steProtocol.isIdle()) {
// 绌挎杞﹂噸鏂板畾浣嶆帓鍒楀眰
if (!steThread.confirmPos()) {
log.error("{}鍙风┛姊溅閲嶆柊瀹氫綅澶辫触锛佷綔涓氬伐浣滄。浠诲姟鍙凤細{}", wrkMast.getSteNo(), wrkMast.getWrkNo());
diff --git a/src/main/java/com/zy/core/model/protocol/SteProtocol.java b/src/main/java/com/zy/core/model/protocol/SteProtocol.java
index 90f2103..bc4eb2f 100644
--- a/src/main/java/com/zy/core/model/protocol/SteProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/SteProtocol.java
@@ -217,6 +217,7 @@
*/
private String lastIo = "I";
+ private String pakMk = "-";
public BasSte toSqlModel(BasSte basSte){
if (alarm!=null) {
@@ -225,4 +226,10 @@
basSte.setWrkNo(taskNo);
return basSte;
}
+
+ // 鏄惁澶勪簬绌洪棽寰呭懡鐘舵��
+ public Boolean isIdle() {
+ return getStatusType().equals(SteStatusType.IDLE) && pakMk.equals("N");
+ }
+
}
diff --git a/src/main/java/com/zy/core/thread/SteThread.java b/src/main/java/com/zy/core/thread/SteThread.java
index 1ba98de..a2ad916 100644
--- a/src/main/java/com/zy/core/thread/SteThread.java
+++ b/src/main/java/com/zy/core/thread/SteThread.java
@@ -42,10 +42,6 @@
private short heartBeatVal = 1;
private boolean resetFlag = false;
- private Integer lastRow;
- private Integer lastBay;
- private Integer lastLev;
-
public SteThread(SteSlave slave) {
this.slave = slave;
}
@@ -186,6 +182,12 @@
// 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
BasSteService service = SpringUtils.getBean(BasSteService.class);
if (null != service) {
+ // 鍚屾pakMk
+ BasSte one = service.selectById(slave.getId());
+ if (one != null) {
+ steProtocol.setPakMk(one.getPakMk());
+ }
+
BasSte basSte = new BasSte();
basSte.setSteNo(slave.getId());
if (!service.updateById(steProtocol.toSqlModel(basSte))){
@@ -306,40 +308,45 @@
}
public void modifyPos(Integer row, Integer bay, Integer lev) {
- this.lastRow = row;
- this.lastBay = bay;
- this.lastLev = lev;
+ BasSteService service = SpringUtils.getBean(BasSteService.class);
+ if (!service.updatePos(this.slave.getId(), row, bay, lev)) {
+ log.error("鏇存柊{}鍙风┛姊溅瀹氫綅澶辫触 ===>> 鎺掞細銆恵}銆�, 鍒楋細銆恵}銆戯紝灞傦細銆恵}銆�", this.slave.getId(), row, bay, lev);
+ }
}
public boolean confirmPos() {
- if (this.lastRow != null && this.lastRow != 0) {
- if (this.lastBay != null && this.lastBay != 0) {
- if (this.lastLev != null && this.lastLev != 0) {
- BasSteService service = SpringUtils.getBean(BasSteService.class);
- BasSte basSte = service.selectById(slave.getId());
- if (basSte != null) {
- // 鏇存柊plc鏁版嵁鍧�
- short[] arr = new short[] {this.lastRow.shortValue(), this.lastBay.shortValue(), this.lastLev.shortValue()};
- OperateResult result = siemensS7Net.Write("V1002", arr);
- if (result.IsSuccess) {
- // 鏇存柊鏁版嵁搴�
- if (service.updatePos(this.lastRow, this.lastBay, this.lastLev) > 0) {
- this.lastRow = null;
- this.lastBay = null;
- this.lastLev = null;
- return true;
- } else {
- log.error("{}鍙风┛姊溅淇敼鏁版嵁搴撳畾浣嶅け璐ワ紒锛侊紒", slave.getId());
- }
- }
- }
-
+ BasSteService service = SpringUtils.getBean(BasSteService.class);
+ BasSte basSte = service.selectById(slave.getId());
+ if (basSte != null) {
+ // 鏇存柊plc鏁版嵁鍧�
+ short[] arr = new short[] {basSte.getRow().shortValue(), basSte.getBay().shortValue(), basSte.getLev().shortValue()};
+ OperateResult result = siemensS7Net.Write("V1002", arr);
+ if (result.IsSuccess) {
+ // 鏇存柊鏁版嵁搴�
+ if (service.updatePakMk(this.slave.getId(), "N")) {
+ return true;
+ } else {
+ log.error("{}鍙风┛姊溅淇敼鏁版嵁搴撳畾浣嶅け璐ワ紒锛侊紒", slave.getId());
}
}
}
return false;
}
+ public boolean modifyPosHandle(Integer row, Integer bay, Integer lev) {
+ short[] arr = new short[] {row.shortValue(), bay.shortValue(), lev.shortValue()};
+ OperateResult result = siemensS7Net.Write("V1002", arr);
+ if (!result.IsSuccess) {
+ return false;
+ }
+ BasSteService service = SpringUtils.getBean(BasSteService.class);
+ if (!service.updatePos(this.slave.getId(), row, bay, lev)) {
+ log.error("鏇存柊{}鍙风┛姊溅瀹氫綅澶辫触 ===>> 鎺掞細銆恵}銆�, 鍒楋細銆恵}銆戯紝灞傦細銆恵}銆�", this.slave.getId(), row, bay, lev);
+ return false;
+ }
+ return true;
+ }
+
@Override
public void close() {
siemensS7Net.ConnectClose();
diff --git a/src/main/resources/mapper/BasSteMapper.xml b/src/main/resources/mapper/BasSteMapper.xml
index f89586a..4b23fb9 100644
--- a/src/main/resources/mapper/BasSteMapper.xml
+++ b/src/main/resources/mapper/BasSteMapper.xml
@@ -31,7 +31,17 @@
<update id="updatePos">
update asr_bas_ste
set his_row = row, his_bay = bay,his_lev = lev,
- row = #{row}, bay = #{bay}, lev = #{lev}
+ row = #{row}, bay = #{bay}, lev = #{lev},
+ pak_mk = 'Y'
+ where 1=1
+ and ste_no = #{steNo}
+ </update>
+
+ <update id="updatePakMk">
+ update asr_bas_ste
+ set pak_mk = #{pakMk}
+ where 1=1
+ and ste_no = #{steNo}
</update>
</mapper>
diff --git a/src/main/webapp/views/pipeline.html b/src/main/webapp/views/pipeline.html
index 487bad6..997dc8d 100644
--- a/src/main/webapp/views/pipeline.html
+++ b/src/main/webapp/views/pipeline.html
@@ -84,7 +84,7 @@
</footer>
<div id="site-detl" style="display: none">
- <form>
+ <div>
<div class="form-item">
<label class="form-label">绔欏彿:</label>
<div class="form-input">
@@ -113,7 +113,7 @@
<button class="form-button" id="save">淇濆瓨</button>
<button class="form-button" id="cancel" style="background-color: #D0D0D0">鍙栨秷</button>
</div>
- </form>
+ </div>
</div>
</div>
@@ -326,6 +326,7 @@
staNo: $('#staNo').val(),
pakMk: $('#pakMk').val()
}, function (res) {
+ layer.close(layerDetl);
layer.msg("淇敼鎴愬姛",{icon: 1,});
})
})
@@ -338,4 +339,4 @@
})
</script>
-</html>
\ No newline at end of file
+</html>
diff --git a/src/main/webapp/views/ste.html b/src/main/webapp/views/ste.html
index 4555227..8628a2f 100644
--- a/src/main/webapp/views/ste.html
+++ b/src/main/webapp/views/ste.html
@@ -73,6 +73,7 @@
<th>鐩爣搴撲綅</th>
<th>閫熷害</th>
<th>杩戠偣璺濈</th>
+ <th>浣滀笟鏍囪</th>
</tr>
</thead>
<tbody>
@@ -133,7 +134,7 @@
</div>
<div id="ste-detl" style="display: none">
- <form>
+ <div>
<div class="form-item">
<label class="form-label">绌挎杞﹀彿:</label>
<div class="form-input">
@@ -155,26 +156,32 @@
<div class="form-item">
<label class="form-label">鍒�:</label>
<div class="form-input">
- <input id="bay" name="bay" type="text" class="layui-input" autocomplete="off">
+ <input id="bay" name="bay" type="number" class="layui-input" autocomplete="off">
</div>
</div>
<div class="form-item">
<label class="form-label">灞�:</label>
<div class="form-input">
- <input id="lev" name="lev" type="text" class="layui-input" autocomplete="off">
+ <input id="lev" name="lev" type="number" class="layui-input" autocomplete="off">
</div>
</div>
<div class="form-item">
<label class="form-label">鍫嗗灈鏈�:</label>
<div class="form-input">
- <input id="crnNo" name="crnNo" type="text" class="layui-input" autocomplete="off">
+ <input id="crnNo" name="crnNo" type="number" class="layui-input" autocomplete="off">
+ </div>
+ </div>
+ <div class="form-item">
+ <label class="form-label">浣滀笟鏍囪:</label>
+ <div class="form-input">
+ <input id="pakMk" name="pakMk" type="text" class="layui-input" autocomplete="off">
</div>
</div>
<div class="form-item form-button-container">
<button class="form-button" id="save">淇濆瓨</button>
<button class="form-button" id="cancel" style="background-color: #D0D0D0">鍙栨秷</button>
</div>
- </form>
+ </di>
</div>
</body>
</html>
@@ -217,16 +224,17 @@
}
}
+ var layerIdx;
$(document).on('click ','.pos-btn', function () {
let steNo = Number($(this).parent().attr("data-steNo"));
- layerDetl = layer.open({
+ layerIdx = layer.open({
type: 1,
title: false,
shadeClose: true,
offset: [$(this).offset().top + 30 + 'px', $(this).offset().left + 'px'],
anim: 5,
shade: [0],
- area: ['310px', '340px'],
+ area: ['310px', '370px'],
closeBtn: 0,
content: $("#ste-detl"),
success: function(layero, index){
@@ -237,6 +245,7 @@
$('#bay').val(res.data.bay);
$('#lev').val(res.data.lev);
$('#crnNo').val(res.data.crnNo);
+ $('#pakMk').val(res.data.pakMk);
})
},
end: function () {
@@ -246,6 +255,7 @@
$('#bay').val("");
$('#lev').val("");
$('#crnNo').val("");
+ $('#pakMk').val("");
}
})
})
@@ -258,9 +268,15 @@
bay: $('#bay').val(),
lev: $('#lev').val(),
crnNo: $('#crnNo').val(),
+ pakMk: $('#pakMk').val(),
}, function (res) {
- layer.msg("淇敼鎴愬姛",{icon: 1,});
+ layer.msg("淇敼鎴愬姛", {icon: 1,});
+ layer.close(layerIdx);
})
+ })
+
+ $(document).on('click ','#cancel', function () {
+ layer.close(layerIdx);
})
// 绌挎杞︿俊鎭〃鑾峰彇 ---- 琛ㄤ竴
@@ -327,6 +343,7 @@
setVal(tr.children("td").eq(6), table[i-1].locNo);
setVal(tr.children("td").eq(7), table[i-1].speed);
setVal(tr.children("td").eq(8), table[i-1].closer);
+ setVal(tr.children("td").eq(9), table[i-1].pakMk);
}
} else if (res.code === 403){
window.location.href = baseUrl+"/login";
--
Gitblit v1.9.1