From 137ab94168623d78bbc369f41ddaaa6135e114a3 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期三, 15 五月 2024 09:55:21 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java | 1
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java | 77 ++++++----
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java | 109 ++++++---------
UI-Project/src/views/UnLoadGlass/Landingindication.vue | 50 ++++---
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 6
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java | 7
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java | 26 +++
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue | 13 +
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java | 2
UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue | 16 +-
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java | 70 +++++----
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java | 34 ++++
13 files changed, 246 insertions(+), 167 deletions(-)
diff --git a/UI-Project/src/views/UnLoadGlass/Landingindication.vue b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
index d43f129..ca6a564 100644
--- a/UI-Project/src/views/UnLoadGlass/Landingindication.vue
+++ b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
@@ -1,8 +1,9 @@
<template>
<div class="glass-rack">
- <div>
+ <div >
<svg width="500" height="500" xmlns="http://www.w3.org/2000/svg">
<g stroke="null" id="Layer_1">
+ <!-- 浣跨敤 v-for 寰幆娓叉煋鏁版嵁 -->
<g v-for="(rack, index) in racks" :key="index">
<rect
:x="rack.x"
@@ -33,19 +34,20 @@
<script setup>
import Swal from 'sweetalert2'
import request from "@/utils/request";
-
-// 鍒濆鍖栨暟鎹�
-let racks = [
+const racks = [
{ x: 50, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG123456' } },
+
{ x: 280, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 30, width: 20, fillColor: 'yellow', content: 'NG12345678' } },
+
{ x: 140, y: 420, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 30, width: 100, fillColor: 'yellow', content: 'NG1234561454' } }
+
];
-// 璁$畻鍏冪礌浣嶇疆鐨勫嚱鏁�
+
const calculateItemXPosition = (rack, item, index) => {
- if (index === 0) {
+ if (index === 0 ) {
return rack.x;
- } else if (index === 1) {
+ } else if (index === 1 ) {
return rack.x + rack.width - item.width;
} else {
return rack.x + (rack.width - item.width) / 2;
@@ -53,7 +55,7 @@
};
const calculateItemYPosition = (rack, item, index) => {
- if (index === 0) {
+ if (index === 0 ) {
return rack.y + (rack.height - item.height) / 2;
} else if (index === 1) {
return rack.y + (rack.height - item.height) / 2;
@@ -62,24 +64,29 @@
}
};
-// 鑾峰彇鏁版嵁骞舵洿鏂� racks 鏁扮粍
+
const fetchFlowCardId = async () => {
try {
const response = await request.get('unLoadGlass/downWorkStation/getwo');
+ console.log(response)
if (response.code === 200) {
+ console.log(response.data);
+ // 閬嶅巻鍝嶅簲鏁版嵁骞舵浛鎹acks鏁扮粍涓殑item灞炴��
response.data.forEach((itemData, index) => {
if (index < racks.length) {
const rack = racks[index];
const newItem = {
content: itemData.item.content,
fillColor: itemData.item.fillColor,
- width: itemData.item.width / 10000,
- height: itemData.item.height / 10000
+ width: itemData.item.width/10000,
+ height: itemData.item.height/10000
};
- // 鏇存柊 racks 鏁扮粍
- Vue.set(racks, index, { ...rack, item: newItem });
+ rack.item == newItem;
+
}
});
+
+ console.log(racks); // 鏌ョ湅鏇存柊鍚庣殑racks鏁扮粍
} else {
ElMessage.error(response.msg);
}
@@ -88,16 +95,17 @@
}
};
-// 鑾峰彇鏁版嵁骞舵洿鏂� racks 鏁扮粍
-fetchFlowCardId();
+fetchFlowCardId()
+// setTimeout(fetchFlowCardId(),1000);
+
-// 鏄剧ず鑷畾涔夎鎶�
+
const showCustomAlert = (content) => {
- var str = "鏋跺彿 : 111\n" +
+ var str="鏋跺彿 : 111\n" +
"闀� : 111\n" +
"瀹� : 111\n" +
- "鍘� : 111\n" +
- "鐜荤拑ID : 111\n" +
+ "鍘� : 111\n"+
+ "鐜荤拑ID : 111\n"+
"鑶滅郴 : 111\n";
Swal.fire({
@@ -109,11 +117,11 @@
});
};
-// 鏄剧ず鍏冪礌淇℃伅
const showRectInfo = (rectInfo) => {
const content = rectInfo.item.content;
showCustomAlert(content);
};
+
</script>
<style scoped>
@@ -136,4 +144,4 @@
padding: 10px;
font-size: 14px;
}
-</style>
+</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue b/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
index b340c83..1613c01 100644
--- a/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
+++ b/UI-Project/src/views/UnLoadGlass/Landingindicationtwo.vue
@@ -22,7 +22,7 @@
:height="rack.item.height"
:fill="rack.item.fillColor"
/>
- <text :x="rack.x + rack.width / 2" :y="rack.y - 10" text-anchor="middle">{{ index + 6 }}鍙峰伐浣�</text>
+ <text :x="rack.x + rack.width / 2" :y="rack.y - 10" text-anchor="middle">{{ index + 4 }}鍙峰伐浣�</text>
<text :x="rack.x + rack.width / 2" :y="rack.y + rack.height + 20" text-anchor="middle">{{ rack.item.content }}</text>
</g>
</g>
@@ -34,18 +34,16 @@
<script setup>
import Swal from 'sweetalert2'
-const racks = [
+let racks = [
{ x: 50, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 90, width: 10, fillColor: 'yellow', content: 'NG123456' } },
- { x: 50, y: 270, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 20, width: 10, fillColor: 'yellow', content: 'NG1234567' } },
{ x: 280, y: 100, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 30, width: 20, fillColor: 'yellow', content: 'NG12345678' } },
- { x: 280, y: 270, height: 100, width: 60, fillColor: '#6a6da9', item: { height: 35, width: 23, fillColor: 'yellow', content: 'NG123456910' } },
{ x: 140, y: 420, height: 60, width: 110, fillColor: '#6a6da9', item: { height: 30, width: 100, fillColor: 'yellow', content: 'NG1234561454' } }
];
-
+// 璁$畻鍏冪礌浣嶇疆鐨勫嚱鏁�
const calculateItemXPosition = (rack, item, index) => {
- if (index === 0 || index === 1) {
+ if (index === 0) {
return rack.x;
- } else if (index === 2 || index === 3) {
+ } else if (index === 1) {
return rack.x + rack.width - item.width;
} else {
return rack.x + (rack.width - item.width) / 2;
@@ -53,9 +51,9 @@
};
const calculateItemYPosition = (rack, item, index) => {
- if (index === 0 || index === 1) {
+ if (index === 0) {
return rack.y + (rack.height - item.height) / 2;
- } else if (index === 2 || index === 3) {
+ } else if (index === 1) {
return rack.y + (rack.height - item.height) / 2;
} else {
return rack.y + rack.height - item.height;
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index 6f605ad..faf1d53 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -9,6 +9,7 @@
import Landingindication from "./Landingindication.vue";
import Landingindicationtwo from "./Landingindicationtwo.vue";
import request from "@/utils/request";
+
const dialogFormVisiblea = ref(false)
@@ -121,7 +122,9 @@
if (response.code == 200) {
// 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
console.log('缁戝畾鎴愬姛');
+
ElMessage.success(response.message);
+ updatePageData();
dialogFormVisiblea.value = false;
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
@@ -134,6 +137,16 @@
};
+const updatePageData = () => {
+ // 鍋囪浣犵殑椤甸潰涓婃湁涓�涓悕涓� tableData 鐨� Vue 缁勪欢
+ // 浣犲彲浠ョ洿鎺ユ洿鏂� tableData 鐨勬暟鎹�
+ tableData.flowCardId = flowCardId.value;
+
+ // 浣跨敤 $forceUpdate() 寮哄埗鏇存柊缁勪欢
+ forceUpdate();
+};
+
+
const handleBindRack2 = (row) => {
workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
index 32c52a8..908468b 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
@@ -32,7 +32,12 @@
//寮�濮�/鏆傚仠浠诲姟
@Override
public boolean changeTask(String projectId, Integer state) {
- //浣跨敤projectId浣滀负鏉′欢淇敼state瀛楁
+ //鏆傚仠姝e湪杩涜宸ョ▼
+ LambdaUpdateChainWrapper<Engineering> pauseWrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
+ pauseWrapper.set(Engineering::getState,0);
+ pauseWrapper.eq(Engineering::getState,1);
+ pauseWrapper.update();
+ //浣跨敤projectId浣滀负鏉′欢寮�濮嬪伐绋�
LambdaUpdateChainWrapper<Engineering> wrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
wrapper.set(Engineering::getState,state);
wrapper.eq(Engineering::getEngineerId,projectId);
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java
index e5f3071..a130533 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/config/TokenWebSecurityConfig.java
@@ -72,6 +72,7 @@
.antMatchers("/webjars/**").permitAll()
.antMatchers("/v2/**").permitAll()
.antMatchers("/swagger-resources/**").permitAll()
+ .antMatchers("/**").permitAll()
.anyRequest().authenticated()
// 寮傚父澶勭悊鍣�
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java
index 0b8b082..1505d1b 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/common/filter/JwtAuthenticationTokenFilter.java
@@ -1,9 +1,18 @@
package com.mes.common.filter;
+import com.mes.common.utils.JwtUtil;
import com.mes.common.utils.RedisUtil;
+import com.mes.common.utils.UserInfoUtils;
+import com.mes.userinfo.entity.LoginUser;
import com.mes.userinfo.service.SysUserService;
+import io.jsonwebtoken.Claims;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
import org.springframework.web.filter.OncePerRequestFilter;
import javax.annotation.Resource;
@@ -12,6 +21,9 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
/**
* @Author : zhoush
@@ -31,39 +43,38 @@
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
//鑾峰彇token
String token = request.getHeader("token");
-//
-// if (!StringUtils.hasText(token)) {
-// //鏀捐
-// filterChain.doFilter(request, response);
-// return; // 姝ゅ鍔犱笂return濂藉鏄悗闈㈢粨鏋滆繑鍥炵殑鏃跺�欏氨涓嶄細鍐嶈蛋涓�閬嶆杩囨护鍣ㄧ殑鏂规硶浜�
-// }
-// //瑙f瀽token
-// String userid;
-// try {
-// Claims claims = JwtUtil.getClaimByToken(token);
-// userid = claims.getSubject();
-// } catch (Exception e) {
-// e.printStackTrace();
-// throw new RuntimeException("token闈炴硶");
-// }
-// //浠巖edis涓幏鍙栫敤鎴蜂俊鎭�
-// String redisKey = "login:" + userid;
-// LoginUser loginUser = redisUtil.getCacheObject(redisKey);
-// if (Objects.isNull(loginUser)) {
-// response.setHeader("token", "");
-// throw new RuntimeException("鐢ㄦ埛鏈櫥褰�");
-// }
-// //灏嗙敤鎴蜂俊鎭斁鍏ュ綋鍓嶇嚎绋�
-// UserInfoUtils.set(loginUser.getUser());
-// //瀛樺叆SecurityContextHolder锛屼互渚涘悗闈㈢殑杩囨护鍣ㄤ娇鐢�
-// List<String> permissionKeyList = sysUserService.getUserAuthorityInfo(Long.parseLong(userid));
-// List<GrantedAuthority> authorities = permissionKeyList.stream().
-// map(SimpleGrantedAuthority::new)
-// .collect(Collectors.toList());
-// UsernamePasswordAuthenticationToken authenticationToken =
-// new UsernamePasswordAuthenticationToken(loginUser, null, authorities);
-// SecurityContextHolder.getContext().setAuthentication(authenticationToken);
+ if (!StringUtils.hasText(token)) {
+ //鏀捐
+ filterChain.doFilter(request, response);
+ return; // 姝ゅ鍔犱笂return濂藉鏄悗闈㈢粨鏋滆繑鍥炵殑鏃跺�欏氨涓嶄細鍐嶈蛋涓�閬嶆杩囨护鍣ㄧ殑鏂规硶浜�
+ }
+ //瑙f瀽token
+ String userid;
+ try {
+ Claims claims = JwtUtil.getClaimByToken(token);
+ userid = claims.getSubject();
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException("token闈炴硶");
+ }
+ //浠巖edis涓幏鍙栫敤鎴蜂俊鎭�
+ String redisKey = "login:" + userid;
+ LoginUser loginUser = redisUtil.getCacheObject(redisKey);
+ if (Objects.isNull(loginUser)) {
+ response.setHeader("token", "");
+ throw new RuntimeException("鐢ㄦ埛鏈櫥褰�");
+ }
+ //灏嗙敤鎴蜂俊鎭斁鍏ュ綋鍓嶇嚎绋�
+ UserInfoUtils.set(loginUser.getUser());
+ //瀛樺叆SecurityContextHolder锛屼互渚涘悗闈㈢殑杩囨护鍣ㄤ娇鐢�
+ List<String> permissionKeyList = sysUserService.getUserAuthorityInfo(Long.parseLong(userid));
+ List<GrantedAuthority> authorities = permissionKeyList.stream().
+ map(SimpleGrantedAuthority::new)
+ .collect(Collectors.toList());
+ UsernamePasswordAuthenticationToken authenticationToken =
+ new UsernamePasswordAuthenticationToken(loginUser, null, authorities);
+ SecurityContextHolder.getContext().setAuthentication(authenticationToken);
//鏀捐
filterChain.doFilter(request, response);
}
-}
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index 0f0b2a6..500a02a 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -109,15 +109,15 @@
log.info("2銆佽繘鐗囧拰鍑虹墖閮界┖闂诧紝鎵ц鍑虹墖浠诲姟");
//鍔犵瀛愰噷闈㈡槸鍚︽湁鐜荤拑锛屾湁鍏堝嚭锛屾棤鐜荤拑鍏堣繘
int count = edgStorageCageDetailsService.count(new LambdaQueryWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN));
- if ("0".equals(out08Glassstate) && "0".equals(out10Glassstate) && count < 9) {
- inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
- } else {
+ if (("1".equals(out08Glassstate) || "1".equals(out10Glassstate)) && count > 0) {
boolean outFlase = outTo(Integer.parseInt(out08Glassstate),
Integer.parseInt(out10Glassstate), confirmationWrodAddress);
log.info("鍑虹墖浠诲姟鏄惁瀹屾垚锛歿},澶辫触涓旂幓鐠僫d:{}涓嶄负绌哄垯鎵ц杩涚墖浠诲姟", outFlase, glassIdeValue);
if (!outFlase && StringUtils.isNotBlank(glassIdeValue)) {
inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
}
+ } else {
+ inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
}
}
}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
index 9ed7dba..2ad66f4 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
@@ -1,22 +1,34 @@
package com.mes.common;
import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
+import com.mes.device.PlcParameterObject;
+import com.mes.tools.InitUtil;
import com.mes.tools.S7control;
-
-public class S7object {
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/9 15:13
+ * @Description:
+ */
+public class S7object extends Thread {
public S7control plccontrol; // PLC閫氳绫诲疄渚�
- private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
+ private EPlcType plcType = EPlcType.S1200; // 瑗块棬瀛怭LC绫诲瀷
private String ip = "192.168.10.1"; // plc ip鍦板潃
private int port = 102; // plc 绔彛鍙�
+
+ public PlcParameterObject PlcMesObject;
private static volatile S7object instance = null;
private S7object() {
if (plccontrol == null) {
plccontrol = new S7control(plcType, ip, port, 0, 0);
+
+ String PlcLoadGlass=S7object.class.getResource("/JsonFile/PlcLoadGlass.json").getPath();
+ //log.info(PLCAutoMes.class.getResource("").getPath());
+ PlcMesObject = InitUtil.initword(PlcLoadGlass);
}
}
@@ -31,4 +43,20 @@
}
return instance;
}
+
+ @Override
+ public void run() {
+ while (this != null) {
+ try {
+ Thread.sleep(100);
+
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+
+ byte[] getplcvlues= plccontrol.ReadByte(PlcMesObject.getPlcAddressBegin(),PlcMesObject.getPlcAddressLength());
+ PlcMesObject.setPlcParameterList(getplcvlues);
+
+ }
+ }
}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
index 4110f80..c8bce6f 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
@@ -59,26 +59,9 @@
upPattenUsageService.updateUpPattenUsageState(upPattenUsage, workId);
}
- }
- //鑾峰彇鏄惁鏈夋眹鎶�
- String loadStatus = plcParameterObject.getPlcParameter("PlcStatus").getValue();
- if (loadStatus != null) {
- log.info(loadStatus);
- if ("1".equals(loadStatus)) {
- log.info("鏀跺埌姹囨姤浠诲姟瀹屾垚");
- S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(), 1);
- } else if ("2".equals(loadStatus)) {
- log.info("鏀跺埌姹囨姤鏈畬鎴愪换鍔�");
- //鍑忓皯宸ヤ綅鏁伴噺,鎭㈠浠诲姟鐘舵��
- overTask(loadStatus,0);
- } else if ("3".equals(loadStatus)) {
- log.info("鏀跺埌姹囨姤鐜荤拑鐮存崯");
- overTask(loadStatus,0);
- } else if("0".equals(loadStatus)){
- log.info("鏀跺埌姹囨姤娓�0鐘舵��");
- //鍑忓皯宸ヤ綅鏁伴噺,瀹屾垚浠诲姟鐘舵��
- overTask(loadStatus,1);
- }
+ }else {
+ //璇锋眰瀛椾负闆舵椂锛屼换鍔″瓧娓呴浂
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlc").getAddress(), 0);
}
//鎵ц鍚庝紤鐪�300姣
//Thread.sleep(300);
@@ -86,16 +69,41 @@
e.printStackTrace();
}
}
- public void overTask(String loadStatus,int state) throws InterruptedException {
- UpPattenUsage upPattenUsage = upPattenUsageService.selectOverTask();
- if (upPattenUsage != null) {
- log.info("鏀跺埌姹囨姤娓厈}鐘舵��",loadStatus);
- //鍑忓皯宸ヤ綅鏁伴噺
- upWorkstationService.reduceWorkstationNumber(upPattenUsage.getState());
- //瀹屾垚涓婄墖琛ㄧ姸鎬�
- upPattenUsageService.updateUpPattenUsageState(upPattenUsage, 100);
- S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(), 0);
- }
- }
+
+ @Scheduled(fixedDelay = 300)
+ public void plcLoadGlassReport(){
+ //鑾峰彇鏄惁鏈夋眹鎶�
+ String loadStatus = plcParameterObject.getPlcParameter("PlcStatus").getValue();
+ if (loadStatus != null) {
+ log.info(loadStatus);
+ if ("1".equals(loadStatus)) {
+ log.info("鏀跺埌姹囨姤浠诲姟瀹屾垚");
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(), 1);
+ } else if ("2".equals(loadStatus)) {
+ log.info("鏀跺埌姹囨姤鏈畬鎴愪换鍔�");
+ //鍑忓皯宸ヤ綅鏁伴噺,鎭㈠浠诲姟鐘舵��
+ overTask(loadStatus,0);
+ } else if ("3".equals(loadStatus)) {
+ log.info("鏀跺埌姹囨姤鐜荤拑鐮存崯");
+ overTask(loadStatus,0);
+ } else if("0".equals(loadStatus)){
+ log.info("鏀跺埌姹囨姤娓�0鐘舵��");
+ //鍑忓皯宸ヤ綅鏁伴噺,瀹屾垚浠诲姟鐘舵��
+ overTask(loadStatus,100);
+ }
+ }
+ }
+
+ public void overTask(String loadStatus, int state) {
+ UpPattenUsage upPattenUsage = upPattenUsageService.selectOverTask();
+ if (upPattenUsage != null) {
+ log.info("鏀跺埌姹囨姤娓厈}鐘舵��", loadStatus);
+ //鍑忓皯宸ヤ綅鏁伴噺
+ upWorkstationService.reduceWorkstationNumber(upPattenUsage.getState());
+ //瀹屾垚涓婄墖琛ㄧ姸鎬�
+ upPattenUsageService.updateUpPattenUsageState(upPattenUsage, state);
+ S7object.getinstance().plccontrol.writetime(plcParameterObject.getPlcParameter("MesToPlcStatus").getAddress(), 0);
+ }
+ }
}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java
index f5358bf..6c44a7d 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java
@@ -3,7 +3,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.workstation.entity.UpWorkSequence;
import com.mes.workstation.entity.UpWorkstation;
-import io.lettuce.core.dynamic.annotation.Param;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java
new file mode 100644
index 0000000..ddac7f5
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/AppRunnerConfig.java
@@ -0,0 +1,26 @@
+package com.mes;
+
+import com.mes.common.S7object;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author SNG-012
+ */
+@Slf4j
+@Component
+@Order(1)
+
+public class AppRunnerConfig implements ApplicationRunner {
+
+
+ @Override
+ public void run(ApplicationArguments args) throws Exception {
+ log.info("鍚姩瀹屾垚");
+ S7object.getinstance().start();
+
+ }
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
index 211dc88..f94df84 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
@@ -33,7 +33,7 @@
@Service
public class DownStorageCageDetailsServiceImpl extends ServiceImpl<DownStorageCageDetailsMapper, DownStorageCageDetails> implements DownStorageCageDetailsService {
- @Autowired(required=false)
+ @Autowired(required = false)
private DownStorageCageMapper downStorageCageMapper;
@Autowired
private DownStorageCageDetailsMapper downStorageCageDetailsMapper;
@@ -41,6 +41,7 @@
private GlassInfoMapper glassInfoMapper;
@Autowired
private DownWorkstationMapper downWorkstationMapper;
+
@Override
public void addDownStorageCageDetails(DownStorageCageDetails details) {
this.save(details);
@@ -49,7 +50,7 @@
@Override
//淇敼鐞嗙墖绗煎唴淇℃伅 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
- public boolean updatedownStorageCageDetails(DownStorageCageDetails details){
+ public boolean updatedownStorageCageDetails(DownStorageCageDetails details) {
baseMapper.updateById(details);
return true;
}
@@ -73,27 +74,6 @@
);
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
// @Override
@@ -181,17 +161,14 @@
// }
-
-
@Override
- public List<DownStorageCageDetails> CacheOut1(int start,int end) {
-
+ public List<DownStorageCageDetails> CacheOut1(int start, int end) {
List<DownStorageCageDetails> cageDetails = downStorageCageDetailsMapper.selectList(null);
// Step 5: 鍒ゆ柇 down_storage_cage_details 缁撴灉鏁伴噺鏄惁涓�9锛屽鏋滄槸锛屽垯鎵ц鍙﹀涓�涓煡璇�
if (cageDetails.size() == 9) {
- log.info("婊′簡鐨勬椂鍊欙紝鎸夌収绗煎唴鐗堝浘id 鐗堝浘鐗囧簭鍑�");
+ log.info("1銆佺瀛愭弧浜嗙殑鏃跺�欙紝鎸夌収绗煎唴鐗堝浘id 鐗堝浘鐗囧簭鍑�");
List<DownWorkstation> workstationList = downWorkstationMapper.selectList(new QueryWrapper<DownWorkstation>().between("workstation_id", start, end));
@@ -199,59 +176,63 @@
for (DownWorkstation workstation : workstationList) {
flowCardIds.add(workstation.getFlowCardId());
}
+
+ if (flowCardIds.isEmpty()) {
+ log.error("鏈壘鍒板搴旂殑 flow_card_id");
+ return Collections.emptyList(); // 杩斿洖绌哄垪琛ㄦ垨鑰呮姏鍑哄紓甯革紝瑙嗘儏鍐佃�屽畾
+ }
LambdaQueryWrapper<DownStorageCageDetails> anotherQueryWrapper = Wrappers.lambdaQuery();
anotherQueryWrapper.orderByAsc(DownStorageCageDetails::getTemperingLayoutId);
anotherQueryWrapper.orderByDesc(DownStorageCageDetails::getTemperingFeedSequence);
- anotherQueryWrapper.in(DownStorageCageDetails::getFlowCardId,flowCardIds);
+ anotherQueryWrapper.in(DownStorageCageDetails::getFlowCardId, flowCardIds);
anotherQueryWrapper.last("LIMIT 1");
return downStorageCageDetailsMapper.selectList(anotherQueryWrapper);
- }else
- {
+ } else {
- // Step 1: 鏌ヨ DownWorkstation 琛ㄨ幏鍙栧搴� workstation_id 鐨� flow_card_id
- List<DownWorkstation> workstationList = downWorkstationMapper.selectList(new QueryWrapper<DownWorkstation>().between("workstation_id", start, end));
+ // Step 1: 鏌ヨ DownWorkstation 琛ㄨ幏鍙栧搴� workstation_id 鐨� flow_card_id
+ List<DownWorkstation> workstationList = downWorkstationMapper.selectList(new QueryWrapper<DownWorkstation>().between("workstation_id", start, end));
- List<String> flowCardIds = new ArrayList<>();
- for (DownWorkstation workstation : workstationList) {
- flowCardIds.add(workstation.getFlowCardId());
- }
+ List<String> flowCardIds = new ArrayList<>();
+ for (DownWorkstation workstation : workstationList) {
+ flowCardIds.add(workstation.getFlowCardId());
+ }
- LambdaQueryWrapper<GlassInfo> queryWrapper = Wrappers.lambdaQuery();
- queryWrapper.select(GlassInfo::getFlowCardId,
- GlassInfo::getGlassId,
- GlassInfo::getTemperingLayoutId,
- GlassInfo::getTemperingFeedSequence)
- .notInSql(GlassInfo::getGlassId, "SELECT glass_id FROM down_glass_info")
- .orderByAsc(GlassInfo::getTemperingLayoutId)
- .orderByDesc(GlassInfo::getTemperingFeedSequence)
- .last("LIMIT 1");
+ if (flowCardIds.isEmpty()) {
+ log.error("2銆佹湭鎵惧埌瀵瑰簲鐨� flow_card_id");
+ return Collections.emptyList(); // 杩斿洖绌哄垪琛ㄦ垨鑰呮姏鍑哄紓甯革紝瑙嗘儏鍐佃�屽畾
+ }
+ log.info("娴佺▼鍗�:{}", flowCardIds);
+ LambdaQueryWrapper<GlassInfo> queryWrapper2 = Wrappers.lambdaQuery();
+ queryWrapper2.select(GlassInfo::getFlowCardId,
+ GlassInfo::getGlassId,
+ GlassInfo::getTemperingLayoutId,
+ GlassInfo::getTemperingFeedSequence)
+ .notInSql(GlassInfo::getGlassId, "SELECT glass_id FROM down_glass_info")
+ .orderByAsc(GlassInfo::getTemperingLayoutId)
+ .orderByDesc(GlassInfo::getTemperingFeedSequence)
+ .last("LIMIT 1");
- // 鏌ヨ GlassInfo 琛�
- List<GlassInfo> glassInfos = glassInfoMapper.selectList(queryWrapper);
-
- // Step 3: 鏋勯�犳煡璇� down_storage_cage_details 琛ㄧ殑鏉′欢
- List<String> glassIds = glassInfos.stream().map(GlassInfo::getGlassId).collect(Collectors.toList());
- LambdaQueryWrapper<DownStorageCageDetails> cageDetailsQueryWrapper = Wrappers.lambdaQuery();
- cageDetailsQueryWrapper.in(DownStorageCageDetails::getGlassId, glassIds);
- cageDetailsQueryWrapper.in(DownStorageCageDetails::getFlowCardId, flowCardIds);
+ // 鏌ヨ GlassInfo 琛�
+ List<GlassInfo> glassInfos = glassInfoMapper.selectList(queryWrapper2);
+ if (glassInfos.isEmpty()) {
+ log.error("鏈壘鍒板搴旂殑鐜荤拑淇℃伅");
+ return Collections.emptyList(); // 杩斿洖绌哄垪琛ㄦ垨鑰呮姏鍑哄紓甯革紝瑙嗘儏鍐佃�屽畾
+ }
+ // Step 3: 鏋勯�犳煡璇� down_storage_cage_details 琛ㄧ殑鏉′欢
+ List<String> glassIds = glassInfos.stream().map(GlassInfo::getGlassId).collect(Collectors.toList());
+ LambdaQueryWrapper<DownStorageCageDetails> cageDetailsQueryWrapper = Wrappers.lambdaQuery();
+ cageDetailsQueryWrapper.in(DownStorageCageDetails::getGlassId, glassIds);
+ cageDetailsQueryWrapper.in(DownStorageCageDetails::getFlowCardId, flowCardIds);
log.info("鎸夌収娴佺▼鍗$殑鐗堝浘id 鐗堝浘鐗囧簭鍑�");
- // Step 4: 鏌ヨ down_storage_cage_details 琛ㄥ苟杩斿洖缁撴灉
- return downStorageCageDetailsMapper.selectList(cageDetailsQueryWrapper);
+ // Step 4: 鏌ヨ down_storage_cage_details 琛ㄥ苟杩斿洖缁撴灉
+ return downStorageCageDetailsMapper.selectList(cageDetailsQueryWrapper);
}
}
-
-
-
-
-
-
-
-
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
index 8ff0df5..820b173 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownCacheGlassTask.java
@@ -63,7 +63,7 @@
// @Value("${mes.threshold}")
private int threshold;
- // @Scheduled(fixedDelay = 1000)
+ //@Scheduled(fixedDelay = 1000)
public void plcdownGlassTask() {
// PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
// String taskRequestTypeValue = plcParameterObject.getPlcParameter("A06_request_word").getValue();
--
Gitblit v1.8.0