From 8cc26dd54779273f895a3cbc3f84c8933a02a0dc Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期三, 10 七月 2024 14:44:47 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes
---
hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java | 3
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml | 20
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java | 12
UI-Project/src/layout/MainErpView.vue | 15
UI-Project/src/views/User/rolelist.vue | 160 +------
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java | 12
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java | 37 -
UI-Project/src/views/Caching/cachingbefore.vue | 2
UI-Project/src/views/LoginView.vue | 8
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageFeedTaskMapper.java | 4
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java | 66 +-
UI-Project/src/views/UnLoadGlass/loadmachinerack.vue | 9
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 136 +++++-
UI-Project/src/views/User/permissions.vue | 32 +
UI-Project/src/views/User/userlist.vue | 28 +
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml | 8
UI-Project/src/views/largescreen/largescreen.vue | 255 ++++++++++++
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml | 7
UI-Project/src/views/UnLoadGlass/Landingindication.vue | 3
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 92 +++-
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java | 15
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java | 29 -
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 111 +++--
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml | 2
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java | 11
UI-Project/src/views/Slicecage/slicecage.vue | 71 --
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java | 2
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java | 2
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java | 7
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java | 4
UI-Project/src/router/index.js | 13
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java | 2
hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java | 8
37 files changed, 771 insertions(+), 427 deletions(-)
diff --git a/UI-Project/src/layout/MainErpView.vue b/UI-Project/src/layout/MainErpView.vue
index 85cd1aa..098140d 100644
--- a/UI-Project/src/layout/MainErpView.vue
+++ b/UI-Project/src/layout/MainErpView.vue
@@ -23,20 +23,17 @@
let token = userInfo; // 鎻愬彇 token
// 閫�鍑虹櫥褰曟柟娉�
function quit() {
- // removeToken()
+ // localStorage.removeItem('token');
+ store.$patch({
+ user: null,
+ })
router.push('/login')
}
// const quit = async () => {
// try {
-
-// const response = await request.get('/loadGlass/sys/user/logout', {
-// token: token,
-// user: null,
-// })
+// store.$patch({user: null})
+// const response = await request.post('/loadGlass/sys/user/logout')
// if (response.code === 200) {
-// // 鐧诲嚭鎴愬姛锛屾竻闄ゆ湰鍦板瓨鍌ㄧ殑 userInfo
-// localStorage.removeItem('userInfo');
-// // 鍙互鍦ㄨ繖閲岄噸缃簲鐢ㄧ姸鎬侊紝濡傚鑸埌鐧诲綍椤电瓑
// console.log('鐧诲嚭鎴愬姛');
// } else {
// // 澶勭悊閿欒鎯呭喌
diff --git a/UI-Project/src/router/index.js b/UI-Project/src/router/index.js
index 2beb066..030de26 100644
--- a/UI-Project/src/router/index.js
+++ b/UI-Project/src/router/index.js
@@ -246,6 +246,19 @@
}
]
},
+ /*----------- 澶у睆鏄剧ず ----------------*/
+ {
+ path: 'largescreen',
+ name: 'largescreen',
+ component: () => import('../views/largescreen/largescreen.vue'),
+ children:[
+ {
+ path: '/largescreen/largescreen',
+ name: 'largescreen',
+ component: () => import('../views/largescreen/largescreen.vue')
+ },
+ ]
+ },
/*----------- 绠$悊绯荤粺 ----------------*/
{
path: 'sys',
diff --git a/UI-Project/src/views/Caching/cachingbefore.vue b/UI-Project/src/views/Caching/cachingbefore.vue
index 9f4ed48..04a819f 100644
--- a/UI-Project/src/views/Caching/cachingbefore.vue
+++ b/UI-Project/src/views/Caching/cachingbefore.vue
@@ -48,7 +48,7 @@
} else {
ElMessage.error(response.message);
}
- row.enable_state = newState;
+ row.enable_state = newState;
};
const open = async(row) => {
try {
diff --git a/UI-Project/src/views/LoginView.vue b/UI-Project/src/views/LoginView.vue
index d84f329..7f7bb7d 100644
--- a/UI-Project/src/views/LoginView.vue
+++ b/UI-Project/src/views/LoginView.vue
@@ -48,6 +48,9 @@
//鐧婚檰鏂规硶
const submitForm = (formEl: FormInstance | undefined) => {
+ store.$patch({
+ user: null,
+ })
if (!formEl) return
formEl.validate((valid) => {
if (valid) {
@@ -161,15 +164,16 @@
<el-button :loading="loginLoadings"
type="primary"
native-type="submit"
+ style="width: 80px;"
@click="submitForm(ruleFormRef)"
@keyup.enter.native="keyDown(e)"
plain>{{ $t('login.login') }}
</el-button>
- <el-button :loading="registerLoadings"
+ <!-- <el-button :loading="registerLoadings"
type="primary"
@click="register"
plain>{{ $t('login.register') }}
- </el-button>
+ </el-button> -->
</el-form-item>
</div>
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 3035fa4..dc2e16a 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -20,6 +20,7 @@
const tableDatad = ref([])
const tableDataf = ref([])
const tableDatae = ref([])
+const carPosition = ref([])
const adjustedRects = ref([]);
const project = ref([]);
const adjustedRectsa = ref([]);
@@ -42,17 +43,11 @@
const temperingLayoutId = ref('');
const thickness = ref('');
const width = ref('');
-const carposition1 = ref(60);
-const carposition2 = ref(220);
-const carposition3 = ref(60);
-const carposition4 = ref(260);
const timers1 =ref(true);
const timers2 =ref(true);
const timers3 =ref(true);
const timers4 =ref(true);
const cellshow5=ref(false);
-const c1=ref(false);
-const c2=ref(false);
const cellshow1=ref(true);
const cellshow2=ref(true);
const cellshow3=ref(true);
@@ -471,47 +466,46 @@
tableData.value = data.bigStorageCageInfo[0]
tableDatab.value = data.temperingGlassInfoList[0]
tableDatae.value = data.bigStorageCageUsage[0]
- // adjustedRects.value = data.bigStorageCageInfo1[0]
- window.localStorage.setItem('length', data.bigStorageCageInfo1[0].length)
+ carPosition.value = data.carPostion[0]
+ console.log(carPosition.value);
+ window.localStorage.setItem('length', data.data.bigStorageCageInfos[0][1].length)
let length = window.localStorage.getItem('length')
- adjustedRects.value = data.bigStorageCageInfo1[0].map(rect => ({
+ adjustedRects.value = data.data.bigStorageCageInfos[0][1].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
- let small = data.bigStorageCageInfo1[0]
- console.log(small[0].bigStorageCageDetails);
-adjustedRectsa.value = data.bigStorageCageInfo2[0].map(rect => ({
+adjustedRectsa.value = data.bigStorageCageInfos[0][2].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
-adjustedRectsb.value = data.bigStorageCageInfo3[0].map(rect => ({
+adjustedRectsb.value = data.bigStorageCageInfos[0][3].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
-adjustedRectsc.value = data.bigStorageCageInfo4[0].map(rect => ({
+adjustedRectsc.value = data.bigStorageCageInfos[0][4].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
-adjustedRectsd.value = data.bigStorageCageInfo5[0].map(rect => ({
+adjustedRectsd.value = data.bigStorageCageInfos[0][5].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
-adjustedRectse.value = data.bigStorageCageInfo6[0].map(rect => ({
+adjustedRectse.value = data.bigStorageCageInfos[0][6].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
-adjustedRectsf.value = data.bigStorageCageInfo7[0].map(rect => ({
+adjustedRectsf.value = data.bigStorageCageInfos[0][7].map(rect => ({
...rect,
height: 20/length,
top: 29/length
}));
-adjustedRectsg.value = data.bigStorageCageInfo8[0].map(rect => ({
+adjustedRectsg.value = data.bigStorageCageInfos[0][8].map(rect => ({
...rect,
height: 20/length,
top: 29/length
@@ -623,7 +617,7 @@
<el-table height="100%" ref="table"
@selection-change="handleSelectionChange"
:data="tableDatad" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" :label="$t('searchOrder.intoglassid')" min-width="100" />
+ <el-table-column prop="bigStorageCageFeedTask.glassId" align="center" :label="$t('searchOrder.intoglassid')" min-width="120" />
<el-table-column prop="bigStorageCageFeedTask.targetSlot" align="center" :label="$t('searchOrder.targetlocation')" min-width="120" />
<!-- <el-table-column prop="task_type" align="center" label="浠诲姟绫诲瀷" min-width="120" />娌℃湁杩斿洖瀛楁 -->
<el-table-column prop="bigStorageCageFeedTask.taskState" align="center" :label="$t('searchOrder.taskstatus')" min-width="120">
@@ -635,9 +629,9 @@
<el-table-column prop="id" align="center" :label="$t('searchOrder.tabid')" min-width="150"/>
<el-table-column prop="deviceId" align="center" :label="$t('searchOrder.tid')" min-width="100"/>
<el-table-column prop="slot" align="center" :label="$t('searchOrder.gridnumber')" min-width="100"/>
- <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="100"/>
+ <el-table-column prop="glassId" align="center" :label="$t('searchOrder.glassID')" min-width="120"/>
<el-table-column prop="sequence" align="center" :label="$t('searchOrder.pieceingrid')" min-width="150"/>
- <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="100"/>
+ <el-table-column prop="flowCardId" align="center" :label="$t('searchOrder.cardnumber')" min-width="140"/>
<el-table-column prop="glassType" align="center" :label="$t('searchOrder.typeglass')" min-width="100"/>
<el-table-column prop="width" align="center" :label="$t('searchOrder.width')" min-width="100"/>
<el-table-column prop="height" align="center" :label="$t('searchOrder.height')" min-width="100"/>
@@ -667,17 +661,10 @@
</div>
<!-- // 鐖剁骇妗� -->
<div class="img-dlpl" >
- <div class="img-car1" :style="'z-index:999;left:247px;top:' + carposition1 + 'px;position:absolute;'">
+ <div class="img-car1" :style="'z-index:999;left:247px;top:' + 350*carPosition[0] + 'px;position:absolute;'">
<div v-show="cellshow1" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
</div>
- <div v-show="c1" class="img-car2" :style="'z-index:999;left:704px;top:' + carposition2 + 'px;position:absolute;'">
- <div v-show="cellshow2" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
- </div>
-
- <div v-show="c2" class="img-car3" :style="'z-index:999;left:247px;top:' + carposition3 + 'px;position:absolute;'">
- <div v-show="cellshow3" style="margin-top:10px;width:220px;height:5px;background-color:#409EFF;"></div>
- </div>
- <div class="img-car4" :style="'z-index:999;left:704px;top:' + carposition4 + 'px;position:absolute;'">
+ <div class="img-car4" :style="'z-index:999;left:704px;top:' + 350*carPosition[1] + 'px;position:absolute;'">
<div v-show="cellshow4" style="margin-top:10px;width:200px;height:5px;background-color:#409EFF;"></div>
</div>
<div style="position: relative;">
@@ -1263,30 +1250,6 @@
position:relative
}
.img-car1{
- background-image:url('../../assets/lp.png');
- position: absolute;
- background-repeat: no-repeat;
- background-attachment: local;
- min-height: 200px;
- width: 200px;
- max-width: 100%;
- background-size: 200px 70px;
- overflow: hidden;
- position:relative
-}
-.img-car2{
- background-image:url('../../assets/lpa.png');
- position: absolute;
- background-repeat: no-repeat;
- background-attachment: local;
- min-height: 200px;
- width: 200px;
- max-width: 100%;
- background-size: 200px 70px;
- overflow: hidden;
- position:relative
-}
-.img-car3{
background-image:url('../../assets/lp.png');
position: absolute;
background-repeat: no-repeat;
diff --git a/UI-Project/src/views/UnLoadGlass/Landingindication.vue b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
index 41a6a45..f478ff0 100644
--- a/UI-Project/src/views/UnLoadGlass/Landingindication.vue
+++ b/UI-Project/src/views/UnLoadGlass/Landingindication.vue
@@ -171,7 +171,8 @@
Swal.fire({
// title: '鐜荤拑淇℃伅',
- title: "$t('reportWork.glassinformation')",
+ title: this.$t('reportWork.glassinformation'),
+ // title: "$t('reportWork.glassinformation')",
html: tableContent,
customClass: {
popup: 'format-pre'
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index b41ed1c..bc48cb5 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -16,16 +16,14 @@
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
import { WebSocketHost ,host} from '@/utils/constants'
const dialogFormVisiblea = ref(false)
-
const dialogFormVisiblea2 = ref(false)
-
// 鏁版嵁
const loading = ref(false);
-
// 寮规鏄剧ず鎺у埗
const dialogFormVisible = ref(false);
// 琛ㄥ崟鏁版嵁
const workstationId = ref('');
+const selectedProjectNoa = ref(null); // 褰撳墠閫変腑鐨勮鑹�
const flowCardId = ref('');
const flowCardOptions = ref('[]');
const tableData = reactive([]);
@@ -33,9 +31,10 @@
const handleSelectionChange = () => {
// 澶勭悊琛ㄦ牸琛岄�夋嫨浜嬩欢
};
-
const handleBindRack = (row) => {
workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
+ console.log(row.flowCardId);
+ flowCardId.value = row.flowCardId;
// 鍙戣捣鎺ュ彛璇锋眰鑾峰彇娴佺▼鍗″彿
fetchFlowCardId();
dialogFormVisiblea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
@@ -195,6 +194,8 @@
<el-table-column prop="flowCardId" align="center" :label="$t('reportWork.cardnumber')" min-width="120" />
<el-table-column prop="totalquantity" align="center" :label="$t('reportWork.totalquantity')" min-width="120" />
<el-table-column prop="racksnumber" align="center" :label="$t('reportWork.beendropped')" min-width="120" />
+ <el-table-column prop="layer" align="center" label="灞傛暟" min-width="120" />
+ <el-table-column prop="artificialnumber" align="center" label="浜哄伐涓嬬墖鏁�" min-width="120" />
<el-table-column prop="work_state" align="center" :label="$t('reportWork.state')" min-width="120" />
<el-table-column prop="deviceId" align="center" :label="$t('reportWork.devicenumber')" min-width="120" />
<el-table-column
diff --git a/UI-Project/src/views/User/permissions.vue b/UI-Project/src/views/User/permissions.vue
index 740afff..b2f373d 100644
--- a/UI-Project/src/views/User/permissions.vue
+++ b/UI-Project/src/views/User/permissions.vue
@@ -75,6 +75,30 @@
// window.localStorage.setItem('slot', row.slot)
addb.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
};
+function closeDialog(row) {
+ add.value = false;
+ menuName.value = '';
+ listSort.value = '';
+ url.value = '';
+}
+function closeDialoga(row) {
+ adda.value = false;
+ menuName.value = '';
+ listSort.value = '';
+ url.value = '';
+}
+function closeDialogb(row) {
+ addb.value = false;
+ menuName.value = '';
+ listSort.value = '';
+ url.value = '';
+}
+function closeDialogc(row) {
+ addc.value = false;
+ menuName.value = '';
+ listSort.value = '';
+ url.value = '';
+}
// 娣诲姞涓�绾ц彍鍗�
const getTableRow = async () => {
try {
@@ -319,7 +343,7 @@
<el-button type="primary" @click="getTableRow">
{{ $t('customer.sure') }}
</el-button>
- <el-button @click="add = false">{{ $t('customer.cancel') }}</el-button>
+ <el-button @click="closeDialog">{{ $t('customer.cancel') }}</el-button>
</div>
</template>
</el-dialog>
@@ -376,7 +400,7 @@
<el-button type="primary" @click="getTableRowb">
{{ $t('customer.sure') }}
</el-button>
- <el-button @click="addb = false">{{ $t('customer.cancel') }}</el-button>
+ <el-button @click="closeDialogb">{{ $t('customer.cancel') }}</el-button>
</div>
</template>
</el-dialog>
@@ -419,7 +443,7 @@
<el-button type="primary" @click="getTableRowa">
{{ $t('customer.sure') }}
</el-button>
- <el-button @click="adda = false">{{ $t('customer.cancel') }}</el-button>
+ <el-button @click="closeDialoga">{{ $t('customer.cancel') }}</el-button>
</div>
</template>
</el-dialog>
@@ -462,7 +486,7 @@
<el-button type="primary" @click="getTableRowac">
{{ $t('customer.sure') }}
</el-button>
- <el-button @click="addc = false">{{ $t('customer.cancel') }}</el-button>
+ <el-button @click="closeDialogc">{{ $t('customer.cancel') }}</el-button>
</div>
</template>
</el-dialog>
diff --git a/UI-Project/src/views/User/rolelist.vue b/UI-Project/src/views/User/rolelist.vue
index d5fd898..78dfa0f 100644
--- a/UI-Project/src/views/User/rolelist.vue
+++ b/UI-Project/src/views/User/rolelist.vue
@@ -140,143 +140,25 @@
if (selectedOptions.value !== topLevelItems) {
selectedOptions.value = topLevelItems;
}
-
- const topLevelItemsWithChildren = topLevelItems; // 鍖呭惈椤剁骇鑿滃崟椤瑰強鍏跺瓙鑿滃崟椤圭殑鏁扮粍
- let selectedPath = [];
-
+ console.log(topLevelItems);
+ // selectedOptions.value = topLevelItems;
+const topLevelItemsWithChildren = topLevelItems; // 鍖呭惈椤剁骇鑿滃崟椤瑰強鍏跺瓙鑿滃崟椤圭殑鏁扮粍 聽
+ let selectedPath = [];
// 寰幆閬嶅巻 topLevelItemsWithChildren 鏁扮粍
for (let i = 0; i < topLevelItemsWithChildren.length; i++) {
- // 娣诲姞椤剁骇鑿滃崟椤圭殑 id
- selectedPath.push(topLevelItemsWithChildren[i].id);
-
- // 閬嶅巻璇ラ《绾ц彍鍗曢」鐨勫瓙鑿滃崟椤�
- if (topLevelItemsWithChildren[i].children && topLevelItemsWithChildren[i].children.length > 0) {
- for (let j = 0; j < topLevelItemsWithChildren[i].children.length; j++) {
- // 娣诲姞姣忎釜瀛愯彍鍗曢」鐨� id
- selectedPath.push(topLevelItemsWithChildren[i].children[j].id);
- }
- }
+ // 娣诲姞椤剁骇鑿滃崟椤圭殑 id
+ selectedPath.push(topLevelItemsWithChildren[i].id);
+ // 濡傛灉鏈夊瓙鑿滃崟椤癸紝娣诲姞绗竴涓瓙鑿滃崟椤圭殑 id
+ if (topLevelItemsWithChildren[i].children && topLevelItemsWithChildren[i].children.length > 0) {
+ for (let j = 0; j < topLevelItemsWithChildren[i].children.length; j++) {
+ // 灏嗘瘡涓瓙鑿滃崟椤圭殑 id 娣诲姞鍒� selectedPath 涓�
+ selectedPath.push(topLevelItemsWithChildren[i].children[j].id);
+ }
+ }
}
-
- console.log(selectedPath);
+ console.log(selectedPath);
selectedOptions.value = selectedPath;
}
-// function handleEdit(row) {
-// name.value = row.name;
-// adda.value = true;
-// window.localStorage.setItem('ids', row.id);
-// // 鏋勫缓鑿滃崟鏍�
-// const buildMenuTree = (menuList) => {
-// const parentIdMap = {};
-// const menuItemsById = {};
-// menuList.forEach(item => {
-// const parentId = item.parentId === 0 ? null : item.parentId;
-// const menuItem = {
-// id: item.id,
-// parentId: parentId,
-// menuName: item.menuName,
-// children: []
-// };
-// menuItemsById[item.id] = menuItem;
-
-// if (!parentIdMap[parentId]) {
-// parentIdMap[parentId] = [];
-// }
-// parentIdMap[parentId].push(menuItem);
-// });
-// // 鏋勫缓鐖跺瓙鍏崇郴
-// for (const parentId in parentIdMap) {
-// if (parentId !== 'null') {
-// parentIdMap[parentId].forEach(child => {
-// if (menuItemsById[parentId]) {
-// menuItemsById[parentId].children.push(child);
-// }
-// });
-// }
-// }
-// return parentIdMap[null] || [];
-// };
-// const options = buildMenuTree(row.menuList);
-// const selectedIds = row.menuList.filter(item => item.parentId === 0).map(item => item.id);
-// selectedOptions.value = selectedIds;
-// console.log(options); // 杈撳嚭鏁翠釜鑿滃崟鏍�
-// console.log(selectedIds); // 杈撳嚭搴旈粯璁ら�変腑鐨勮妭鐐笽D鏁扮粍
-// }
-// function handleEdit(row) {
-// name.value = row.name;
-// adda.value = true;
-// window.localStorage.setItem('ids', row.id);
-// // 鍒濆鍖� parentIdMap 鍜� menuItemsById
-// const parentIdMap = {};
-// const menuItemsById = {};
-// let topLevelItems = [];
-
-// // 鏋勫缓鏍戝舰缁撴瀯
-// row.menuList.forEach(item => {
-// const parentId = item.parentId === 0 ? null : item.parentId;
-// const menuItem = {
-// id: item.id,
-// parentId: parentId,
-// label: item.menuName, // 娉ㄦ剰锛歟l-cascader 浣跨敤 label 鑰屼笉鏄� menuName
-// value: item.id, // 閫氬父 value 鏄敮涓�鏍囪瘑绗�
-// children: []
-// };
-// menuItemsById[item.id] = menuItem;
-
-// if (!parentIdMap[parentId]) {
-// parentIdMap[parentId] = [];
-// }
-
-// if (parentId === null) {
-// topLevelItems.push(menuItem);
-// } else {
-// parentIdMap[parentId].push(menuItem);
-// }
-// });
-
-// // 鏋勫缓鐖跺瓙鍏崇郴
-// for (const parentId in parentIdMap) {
-// if (parentId !== 'null') {
-// parentIdMap[parentId].forEach(child => {
-// if (menuItemsById[parentId]) {
-// menuItemsById[parentId].children.push(child);
-// }
-// });
-// }
-// }
-
-// // 璁剧疆 options
-// options.value = topLevelItems;
-
-// // 鏋勫缓 selectedOptions
-// let selected = [];
-// // 鍋囪浣犳兂閫変腑鎵�鏈夎妭鐐癸紝浣犲彲浠ラ亶鍘� row.menuList 骞舵瀯寤鸿矾寰�
-// row.menuList.forEach(item => {
-// let path = [];
-// let currentParentId = item.parentId;
-// while (currentParentId !== null) {
-// const parentItem = menuItemsById[currentParentId];
-// if (parentItem) {
-// path.unshift(parentItem.value); // 浠庣埗鑺傜偣鍒板瓙鑺傜偣
-// currentParentId = parentItem.parentId;
-// } else {
-// break; // 濡傛灉鎵句笉鍒扮埗鑺傜偣锛屽垯鍋滄
-// }
-// }
-// // 娣诲姞褰撳墠鑺傜偣鐨� ID 鍒拌矾寰勬湯灏�
-// path.push(item.id);
-// // 濡傛灉璺緞涓嶄负绌猴紝鍒欐坊鍔犲埌 selectedOptions
-// if (path.length > 0) {
-// selected.push(path);
-// }
-// });
-
-// // 鏇存柊 selectedOptions
-// selectedOptions.value = selected;
-// console.log(selected);
-// console.log(topLevelItems);
-// // 娉ㄦ剰锛氱‘淇� selectedOptions 鍜� options 鏄搷搴斿紡鐨�
-// }
// 缂栬緫
const getTableRowa = async () => {
let ids = window.localStorage.getItem('ids')
@@ -325,6 +207,16 @@
console.error(error);
}
};
+function closeDialog(row) {
+ add.value = false;
+ name.value = '';
+ selectedOptions.value = '';
+}
+function closeDialoga(row) {
+ adda.value = false;
+ name.value = '';
+ selectedOptions.value = '';
+}
// 鍒犻櫎
const opena = async(row) => {
try {
@@ -420,7 +312,7 @@
<el-button type="primary" @click="getTableRow">
{{ $t('delivery.sure') }}
</el-button>
- <el-button @click="add = false"> {{ $t('delivery.cancel') }}</el-button>
+ <el-button @click="closeDialog"> {{ $t('delivery.cancel') }}</el-button>
</div>
</template>
</el-dialog>
@@ -460,7 +352,7 @@
<el-button type="primary" @click="getTableRowa">
{{ $t('delivery.sure') }}
</el-button>
- <el-button @click="adda = false">{{ $t('delivery.cancel') }}</el-button>
+ <el-button @click="closeDialoga">{{ $t('delivery.cancel') }}</el-button>
</div>
</template>
</el-dialog>
diff --git a/UI-Project/src/views/User/userlist.vue b/UI-Project/src/views/User/userlist.vue
index 8e97491..5d79a7b 100644
--- a/UI-Project/src/views/User/userlist.vue
+++ b/UI-Project/src/views/User/userlist.vue
@@ -13,7 +13,7 @@
const { t } = useI18n()
let language = ref(localStorage.getItem('lang') || 'zh')
// import LanguageMixin from './lang/LanguageMixin'
-const selectedProjectNoa = ref(''); // 褰撳墠閫変腑鐨勮鑹�
+const selectedProjectNoa = ref(null); // 褰撳墠閫変腑鐨勮鑹�
// const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃
const userName = ref('');
const password = ref('');
@@ -98,11 +98,29 @@
};
// 澶勭悊缂栬緫鎸夐挳鐐瑰嚮
function handleEdit(row) {
- userName.value = row.userName;
+ userName.value = row.userName;
+ if (row.roleList && row.roleList.length > 0) {
+ const firstRole = row.roleList[0];
+ selectedProjectNoa.value = firstRole.id; // 璁剧疆涓篒D锛岃�屼笉鏄痭ame
+ }
adda.value = true; // 鏄剧ず瀵硅瘽妗�
window.localStorage.setItem('id', row.id)
}
+
+function closeDialog(row) {
+ add.value = false;
+ userName.value = '';
+ nickName.value = '';
+ password.value = '';
+ selectedProjectNoa.value = '';
+}
+function closeDialoga(row) {
+ adda.value = false;
+ userName.value = '';
+ nickName.value = '';
+ password.value = '';
+}
// 娣诲姞
const getTableRow = async () => {
try {
@@ -127,7 +145,7 @@
tableData.value = response.data;
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
} catch (error) {
// 澶勭悊閿欒
@@ -277,7 +295,7 @@
<el-button type="primary" @click="getTableRow">
{{ $t('productStock.sure') }}
</el-button>
- <el-button @click="add = false">{{ $t('productStock.cancel') }}</el-button>
+ <el-button @click="closeDialog">{{ $t('productStock.cancel') }}</el-button>
</div>
</template>
</el-dialog>
@@ -324,7 +342,7 @@
<el-button type="primary" @click="getTableRowa">
{{ $t('productStock.sure') }}
</el-button>
- <el-button @click="adda = false">{{ $t('productStock.cancel') }}</el-button>
+ <el-button @click="closeDialoga">{{ $t('productStock.cancel') }}</el-button>
</div>
</template>
</el-dialog>
diff --git a/UI-Project/src/views/largescreen/largescreen.vue b/UI-Project/src/views/largescreen/largescreen.vue
new file mode 100644
index 0000000..a972dbe
--- /dev/null
+++ b/UI-Project/src/views/largescreen/largescreen.vue
@@ -0,0 +1,255 @@
+<template>
+ <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;" v-loading="loading">
+ <el-scrollbar height="600px">
+ <div id="app" style="margin-top: 20px;">
+ <div
+ :style="{ width: `${olWidth}px`, height: `${olHeight}px`,position: 'relative' }"
+ >
+ <div
+ v-for="(rect, index) in adjustedRects"
+ :key="rect.glass_id"
+ class="rect"
+ @click="showDialog(rect.glass_id)"
+ :style="{ position: 'absolute',
+ top: `${rect.y_axis}px`, left: `${rect.x_axis}px`, width: `${rect.width}px`, height: `${rect.height}px`,
+ backgroundColor: getRectColor(rect.glass_state)
+ }"
+ >
+ <!-- 绠ご -->
+ <!-- <div id="arrow"></div>
+ <div id="line"></div> -->
+ <!-- <div class="centered-text" >NG24030401B01</div> -->
+ <div class="centered-text">
+ <div>{{ rect.process_id }}</div>
+ <div style="margin-top: 50px;margin-left: -85px;">{{ rect.widtha }}*{{ rect.heighta }}</div>
+ </div>
+ </div>
+ <!-- 鐐瑰嚮寮瑰嚭 -->
+ <el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;">
+ <el-button type="warning" plain :icon="Delete" @click="handleDamage(currentGlassId)" style="width: 140px;margin-left: 10px;">
+ {{ $t('order.dilapidation') }}
+ </el-button>
+ <el-button type="danger" plain @click="handleManualTake(currentGlassId)" style="width: 140px;margin-top: 10px;">
+ <el-icon class="el-icon--right"><Upload /></el-icon>
+ {{ $t('order.Takeaway') }}</el-button>
+ </el-dialog>
+ </div>
+ </div>
+ </el-scrollbar>
+ </el-card>
+</template>
+<script setup lang="ts">
+import { Delete, Upload } from '@element-plus/icons-vue'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { ref, onMounted, onBeforeUnmount } from 'vue';
+import request from "@/utils/request"
+import { WebSocketHost ,host} from '@/utils/constants'
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
+ import { useI18n } from 'vue-i18n'
+ const { t } = useI18n()
+ let language = ref(localStorage.getItem('lang') || 'zh')
+const blind = ref(false)
+const olWidth = ref();
+const olHeight = ref();
+const process_id = ref(); // 鐢ㄤ簬瀛樺偍process_id鐨勫搷搴斿紡寮曠敤
+const glass_id = ref();
+// const rects = ref([]); // 鐢ㄤ簬瀛樺偍鐭╁舰鏁版嵁鐨勫搷搴斿紡寮曠敤
+const currentGlassId = ref(null); // 瀛樺偍褰撳墠鐐瑰嚮鐭╁舰鐨� glass_id
+const adjustedRects = ref([]);
+// const handleBind = (row) => {
+// blind.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+// };
+// 鏄剧ず瀵硅瘽妗嗗苟璁剧疆褰撳墠 glass_id
+function showDialog(glassId: number) {
+ currentGlassId.value = glassId;
+ blind.value = true;
+}
+onMounted(async () => {
+ try {
+ const response = await request.post('/cacheGlass/taskCache/currentCutTerritory'); // 鏇挎崲涓轰綘鐨凙PI绔偣
+ if (response.code === 200) {
+ // const process_id = response.data[0].process_id
+ const rawRects = response.data; // 璁剧疆鐭╁舰鏁版嵁
+ console.log(response.data);
+ const { olWidth: newolWidth, olHeight: newolHeight, process_id: newprocess_id ,glass_id:newglass_id } = response.data; // 鑾峰彇灏哄
+ olWidth.value = newolWidth; // 璁剧疆瀹瑰櫒瀹藉害
+ olHeight.value = newolHeight; // 璁剧疆瀹瑰櫒楂樺害
+ process_id.value = newprocess_id;
+ glass_id.value = newglass_id;
+
+ adjustedRects.value = rawRects.map(rect => ({
+ ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ x_axis: (rect.x_axis*100) * 0.003, // 灏唜鍊奸櫎浠�3
+ y_axis: (rect.y_axis*100) * 0.003,
+ width: (rect.width*100) * 0.002 ,
+ widtha: rect.width ,
+ heighta: rect.height ,
+ height:( rect.height*100) * 0.002 ,
+ glass_state: rect.glass_state
+ }));
+ console.log(adjustedRects.value);
+
+
+ // console.log( (rect.width*100) / 300 );
+ } else {
+ // console.error('Failed to fetch rectangles from API.');
+ console.error('Failed to fetch rects from API.');
+ }
+ } catch (error) {
+ // console.error('Error fetching rectangles :', error);
+ console.error('Error fetching rects :', error);
+ }
+});
+// 鐮存崯
+const handleDamage = async () => {
+ try {
+ var url="/cacheGlass/taskCache/identControls?identId="+currentGlassId.value+'&controlsId='+201;
+ console.log(url);
+ const response = await request.post(url)
+ // const response = await request.post('/cacheGlass/taskCache/identControls', {
+ // identId: currentGlassId.value,
+ // controlsId: 201,
+ // })
+ if (response.code == 200) {
+ // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+ ElMessage.success(response.message);
+ // window.location.reload()
+ blind.value = false;
+ updateRectStatus(currentGlassId.value, 201);
+ } else {
+ // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.msg);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+// // 浜哄伐鎷胯蛋
+const handleManualTake = async () => {
+ try {
+ var url="/cacheGlass/taskCache/identControls?identId="+currentGlassId.value+'&controlsId='+200;
+ console.log(url);
+ const response = await request.post(url)
+ // const response = await request.post('/cacheGlass/taskCache/identControls', {
+ // identId: currentGlassId.value,
+ // controlsId: 200,
+ // })
+ if (response.code == 200) {
+ // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
+ ElMessage.success(response.message);
+ // window.location.reload()
+ blind.value = false;
+ updateRectStatus(currentGlassId.value, 200);
+ } else {
+ // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.msg);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+function getRectColor(state: number): string {
+ switch (state) {
+ case 0:
+ return '#e1f3d8';
+ case 100:
+ return '#c8c9cc';
+ case 110:
+ return '#b3e19d';
+ case 120:
+ return '#f89898';
+ case 200:
+ return 'lightblue';
+ case 201:
+ return '#f3d19e';
+ default:
+ return '#911005'; // 榛樿棰滆壊
+ }
+}
+// 鏇存柊鐭╁舰鐘舵��
+function updateRectStatus(glassId: string, status: number) {
+ adjustedRects.value.forEach(rect => {
+ if (rect.glass_id === glassId) {
+ rect.glass_state = status; // 鏇存柊鐭╁舰鐨勭姸鎬�
+ }
+ });
+}
+const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+ // 鏇存柊 tableData 鐨勬暟鎹�
+
+ // adjustedRects.value = data.currentCutTerritory[0]
+ adjustedRects.value = data.currentCutTerritory[0].map(rect => ({
+ ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�
+ x_axis: (rect.x_axis*100) * 0.003, // 灏唜鍊奸櫎浠�3
+ y_axis: (rect.y_axis*100) * 0.003,
+ width: (rect.width*100) * 0.002 ,
+ widtha: rect.width ,
+ heighta: rect.height ,
+ height:( rect.height*100) * 0.002 ,
+ glass_state: rect.glass_state
+ }));
+ // console.log("鏇存柊鍚庢暟鎹�", tableData);
+
+};
+
+// 鍒濆鍖� WebSocket锛屽苟浼犻�掓秷鎭鐞嗗嚱鏁�
+
+onMounted(() => {
+ // fetchFlowCardId();
+ // fetchTableData(); // 鑾峰彇鏁版嵁
+ initializeWebSocket(socketUrl, handleMessage);
+});
+
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
+</script>
+
+<style scoped>
+.rect {
+ border: 1px solid black; /* 璁剧疆鐭╁舰鐨勮竟妗� */
+ /* background-color: lightblue; 璁剧疆鐭╁舰鐨勮儗鏅壊 */
+}
+.centered-text {
+ /* 璁剧疆鏂囧瓧灞呬腑鏍峰紡 */
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100%; /* 纭繚div鍗犳嵁鏁翠釜鐭╁舰鐨勯珮搴� */
+}
+#rect {
+ position: relative; /* 纭繚绠ご鍙互鐩稿浜庣煩褰㈠畾浣� */
+ /* 鍏朵粬鏍峰紡 */
+}
+
+#arrow {
+ position: absolute;
+ top: 70%; /* 绠ご浣嶄簬鐭╁舰涓棿 */
+ left: 200px; /* 绠ご鍦ㄧ煩褰㈠乏渚т竴浜涜窛绂� */
+ transform: translateY(-50%); /* 鍨傜洿灞呬腑 */
+ width: 0;
+ height: 0;
+ border-top: 10px solid transparent; /* 涓婅竟妗� */
+ border-bottom: 10px solid transparent; /* 涓嬭竟妗� */
+ border-right: 20px solid #911005; /* 鍙宠竟妗嗭紝褰㈡垚绠ご */
+ /* 鏍规嵁闇�瑕佽皟鏁磋竟妗嗗ぇ灏忓拰棰滆壊 */
+}
+
+#line {
+ position: absolute;
+ top: 70%; /* 鐩寸嚎浣嶄簬鐭╁舰涓棿 */
+ left: 210px; /* 鐩寸嚎鍦ㄧ澶村彸渚т竴浜涜窛绂� */
+ transform: translateY(-50%); /* 鍨傜洿灞呬腑 */
+ height: 2px; /* 鐩寸嚎鐨勯珮搴� */
+ width: 240px; /* 鐩寸嚎鐨勯暱搴︼紝鏍规嵁闇�瑕佽皟鏁� */
+ background-color: #911005; /* 鐩寸嚎鐨勯鑹� */
+}
+
+</style>
\ No newline at end of file
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
index 252da8f..3815029 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -90,21 +90,29 @@
* 2 鍗ц浆绔嬭繘鐗囧畬鎴�
* 3 澶ц溅杩涚墖瀹屾垚
* 4 澶х悊鐗囩杩涚墖瀹屾垚
+ * 5 澶х悊鐗囩杩涚墖澶辫触
+ * 6 澶х悊鐗囩杩涚墖鐮存崯
*/
public static final Integer BIG_STORAGE_IN_NEW = 1;
public static final Integer BIG_STORAGE_IN_UP = 2;
public static final Integer BIG_STORAGE_IN_CAR = 3;
public static final Integer BIG_STORAGE_IN_SLOT = 4;
+ public static final Integer BIG_STORAGE_IN_ERROR = 5;
+ public static final Integer BIG_STORAGE_IN_DAMAGE = 6;
public static final List<Integer> BIG_STORAGE_IN_UP_ALL = Arrays.asList(1, 2);
/**
* 鍗ц浆绔嬪嚭鐗囪姹�
* 1 浠诲姟鐢熸垚
* 2 鐜荤拑杩涘ぇ杞﹀畬鎴�
* 3 澶ц溅鍑虹墖瀹屾垚
+ * 4 澶х悊鐗囩杩涚墖澶辫触
+ * 5 澶х悊鐗囩杩涚墖鐮存崯
*/
public static final Integer BIG_STORAGE_OUT_NEW = 1;
public static final Integer BIG_STORAGE_OUT_CAR = 2;
public static final Integer BIG_STORAGE_OUT_SUCCESS = 3;
+ public static final Integer BIG_STORAGE_OUT_ERROR = 4;
+ public static final Integer BIG_STORAGE_OUT_DAMAGE = 5;
/**
* 鍗ц浆绔嬪嚭鐗囪姹�
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java
index 8eb6426..2d78544 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/Damage.java
@@ -32,7 +32,7 @@
/**
* 宸ュ簭
*/
- private Integer workingProcedure;
+ private String workingProcedure;
/**
* 鐜荤拑id
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
index 8d32fb0..b81f7b2 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -12,6 +12,7 @@
import com.mes.glassinfo.mapper.GlassInfoMapper;
import com.mes.work_assignment.entity.WorkAssignment;
import com.mes.work_assignment.mapper.WorkAssignmentMapper;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -82,21 +83,21 @@
LambdaQueryWrapper<GlassInfo> glassInfoSelectWrapper=new LambdaQueryWrapper<>();
glassInfoSelectWrapper.eq(GlassInfo::getGlassId,damage.getGlassId());
GlassInfo glassInfo=glassInfoMapper.selectOne(glassInfoSelectWrapper);
+ BeanUtils.copyProperties(glassInfo, damage);
LambdaQueryWrapper<WorkAssignment> workAssignmentSelectWrapper=new LambdaQueryWrapper<>();
workAssignmentSelectWrapper
.eq(WorkAssignment::getLine,damage.getLine())
.eq(WorkAssignment::getWorkProcesses,damage.getWorkingProcedure());
WorkAssignment workAssignment=workAssignmentMapper.selectOne(workAssignmentSelectWrapper);
+
damage.setTeamsGroupsName(workAssignment.getTeamsGroupsName());
damage.setDeviceName(workAssignment.getDeviceName());
-
- damage.setEngineerId(glassInfo.getEngineerId());
- damage.setTemperingLayoutId(glassInfo.getTemperingLayoutId());
damage.setProcessId(glassInfo.getFlowCardId());
damage.setOrderNumber(glassInfo.getGlassType());
damage.setTechnologyNumber(glassInfo.getLayer());
damage.setDamageTime(LocalDateTime.now());
+ damage.setType(2);
baseMapper.insert(damage);
}
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
index c143b88..7cf34f1 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -121,7 +121,8 @@
List<Map<String, Object>> result = glassInfos.stream()
.map(glassInfo -> {
Map<String, Object> map = new HashMap<>();
- map.put("flow_card_id", glassInfo.getFlowCardId()+" | "+glassInfo.getLayer());
+ map.put("flow_card_id", glassInfo.getFlowCardId());
+ map.put("Layer", glassInfo.getLayer());
// 濡傛灉杩樻湁鍏朵粬瀛楁闇�瑕佹坊鍔犲埌 map 涓紝鍦ㄨ繖閲岀户缁坊鍔�
return map;
})
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
index 810e146..1d660e3 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
@@ -4,6 +4,7 @@
import lombok.EqualsAndHashCode;
import java.io.Serializable;
+import java.util.Date;
/**
* <p>
@@ -31,7 +32,8 @@
private Integer status;
+ private Integer line;
-
+ private Date time;
}
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 715ba81..1ac00f6 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
@@ -66,14 +66,22 @@
@Value("${mes.sequence.order}")
private boolean sequenceOrder;
- @Value("${mes.firstLength}")
+ @Value("${mes.max.firstLength}")
private String firstLength;
- @Value("${mes.secondLength}")
+ @Value("${mes.max.secondLength}")
private String secondLength;
+
+ @Value("${mes.min.firstLength}")
+ private String minFirstLength;
+
+ @Value("${mes.min.secondLength}")
+ private String minSecondLength;
@Scheduled(fixedDelay = 1000)
public void plcHomeEdgTask() {
+ Date startDate = new Date();
+ log.info("鏈浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
String taskRequestTypeValue = plcParameterObject.getPlcParameter("A06_request_word").getValue();
String glassIdeValue = plcParameterObject.getPlcParameter("A05_scanning_ID").getValue();
@@ -118,6 +126,8 @@
inTo(glassIdeValue, confirmationWrodAddress, currentSlot);
}
}
+ Date endDate = new Date();
+ log.info("鏈浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
}
public void plcToHomeEdgTask() {
@@ -235,7 +245,7 @@
// 1.2.3銆佹寜鐓у嚭鐗囦俊鎭幓璇︽儏琛ㄦ煡璇㈡牸瀛愬湪绗煎瓙閲岄潰鍓╀綑鐩稿悓灏哄鐨勭幓鐠冩暟鎹笖浠ョ増鍥緄d銆佺増搴忓崌搴忔帓搴� 鍙栫涓�鍧楃幓鐠冨嚭鐗�
// 2銆佸鏋滄病鏈夊巻鍙插嚭鐗囦换鍔�
// 2.1銆佸嚭褰撳墠鐗堝浘id鏈�灏忕増搴忔渶灏忕殑鐜荤拑锛堥棶棰橈細涓ゆ潯绾块兘娌℃湁鍘嗗彶浠诲姟锛屽嚭鐗囨椂涓ゆ潯绾跨殑鐜荤拑灏哄鐩稿悓锛屾槸鍚︽壘灏哄涓嶅悓鐨勶級
- if (out08Glassstate == 2 && out10Glassstate == 2) {
+ if ((out08Glassstate == 2 && out10Glassstate == 2) || (out08Glassstate == 0 && out10Glassstate == 0)) {
log.info("A09銆丄10涓簕},{}闈炶嚜鍔ㄧ姸鎬侊紝鏃犳硶鍑虹墖");
return Boolean.FALSE;
}
@@ -257,10 +267,10 @@
EdgStorageCageDetails a10EdgGlass = queryGlassByTaskCache(Const.A10_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
endcell = queryLineByGlassInfo(a09EdgGlass, a10EdgGlass, glassInfo, out08Glassstate, out10Glassstate);
} else {
- //鍒ゆ柇涓ゆ潯绾挎槸鍚﹂兘绌洪棽
- endcell = out10Glassstate == 2 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
+ //鎸夌収鐘舵�佸垽鏂袱鏉$嚎璧伴偅鏉$嚎
+ endcell = computerLineByState(out08Glassstate, out10Glassstate);
- if ((out08Glassstate == 0 && out10Glassstate == 0) || (out08Glassstate == 1 && out10Glassstate == 1)) {
+ if (out08Glassstate == 1 && out10Glassstate == 1) {
EdgStorageCageDetails a09EdgGlass = queryGlassByTaskCache(Const.A09_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
EdgStorageCageDetails a10EdgGlass = queryGlassByTaskCache(Const.A10_OUT_TARGET_POSITION, Const.GLASS_CACHE_TYPE_OUT_ALL);
if (a09EdgGlass == null && a10EdgGlass == null) {
@@ -272,6 +282,10 @@
wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
"case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
"on t.glass_id = t1.glass_id and (t1.first_length <=" + firstLength + " and t1.second_length<=" + secondLength + ") ");
+ } else {
+ wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+ "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
+ "on t.glass_id = t1.glass_id and (t1.first_length >=" + minFirstLength + " and t1.second_length>=" + minSecondLength + ") ");
}
wrapper.last("order by count(t.glass_id) desc limit 2");
List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(wrapper);
@@ -280,9 +294,13 @@
.selectAll(GlassInfo.class).eq("t.glass_id", glassId);
// .inSql("t.engineer_id", "select engineer_id from engineering where state = 1");
if (endcell == Const.A10_OUT_TARGET_POSITION) {
- queryWrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
- "case when width < height then width else height end as second_length from glass_info) t1 " +
+ wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+ "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
"on t.glass_id = t1.glass_id and (t1.first_length <=" + firstLength + " and t1.second_length<=" + secondLength + ") ");
+ } else {
+ wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+ "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
+ "on t.glass_id = t1.glass_id and (t1.first_length >=" + minFirstLength + " and t1.second_length>=" + minSecondLength + ") ");
}
GlassInfo one = glassInfoService.getOne(queryWrapper);
if (one != null) {
@@ -467,18 +485,20 @@
*/
private Integer queryLineByGlassInfo(EdgStorageCageDetails a08EdgStorageCageDetails, EdgStorageCageDetails a10EdgStorageCageDetails,
EdgStorageCageDetails glassInfo, int out08Glassstate, int out10Glassstate) {
- boolean b08 = a08EdgStorageCageDetails != null && a08EdgStorageCageDetails.getHeight() == glassInfo.getHeight()
- && a08EdgStorageCageDetails.getWidth() == glassInfo.getWidth();
- boolean b10 = a10EdgStorageCageDetails != null && a10EdgStorageCageDetails.getHeight() == glassInfo.getHeight()
- && a10EdgStorageCageDetails.getWidth() == glassInfo.getWidth();
//瀛樺湪鍑虹墖浠诲姟 07涓虹┖
- if (b10) {
- return out10Glassstate == 2 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
+ if (out08Glassstate == 1 && out10Glassstate == 1) {
+ boolean b08 = a08EdgStorageCageDetails != null && a08EdgStorageCageDetails.getHeight() == glassInfo.getHeight()
+ && a08EdgStorageCageDetails.getWidth() == glassInfo.getWidth();
+ boolean b10 = a10EdgStorageCageDetails != null && a10EdgStorageCageDetails.getHeight() == glassInfo.getHeight()
+ && a10EdgStorageCageDetails.getWidth() == glassInfo.getWidth();
+ if (b08) {
+ return Const.A09_OUT_TARGET_POSITION;
+ }
+ if (b10) {
+ return Const.A10_OUT_TARGET_POSITION;
+ }
}
- if (b08) {
- return out08Glassstate == 2 ? Const.A10_OUT_TARGET_POSITION : Const.A09_OUT_TARGET_POSITION;
- }
- return out10Glassstate == 2 ? Const.A09_OUT_TARGET_POSITION : Const.A10_OUT_TARGET_POSITION;
+ return computerLineByState(out08Glassstate, out10Glassstate);
}
/**
@@ -494,10 +514,14 @@
wrapper.select("count(t.glass_id) as count, t.width, t.height")
.eq("t.state", Const.GLASS_STATE_IN)
.groupBy("t.width, t.height");
- if (endcell == Const.A09_OUT_TARGET_POSITION) {
+ if (endcell == Const.A10_OUT_TARGET_POSITION) {
wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
"case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
"on t.glass_id = t1.glass_id and (t1.first_length <=" + firstLength + " and t1.second_length<=" + secondLength + ") ");
+ } else {
+ wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
+ "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
+ "on t.glass_id = t1.glass_id and (t1.first_length >=" + minFirstLength + " and t1.second_length>=" + minSecondLength + ") ");
}
wrapper.last("order by count(t.glass_id) desc limit 2");
List<EdgStorageCageDetails> list = edgStorageCageDetailsService.list(wrapper);
@@ -587,7 +611,7 @@
boolean taskCacheStatus = saveTaskCache(glassInfo.getGlassId(), glassInfo.getSlot(), endcell, Const.GLASS_CACHE_TYPE_OUT);
log.info("6銆佹坊鍔犲嚭鐗囦换鍔℃槸鍚﹀畬鎴愶細{}", taskCacheStatus);
}
- boolean glassSizeStatus = saveGlassSize(glassInfo);
+ boolean glassSizeStatus = saveGlassSize(glassInfo, endcell);
log.info("7銆佹坊鍔犲嚭鐗囩幓鐠冨昂瀵镐俊鎭埌纾ㄨ竟鍓嶇幓鐠冭〃鏄惁瀹屾垚锛歿}", glassSizeStatus);
S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
log.info("8銆佸彂閫佺‘璁ゅ瓧宸插畬鎴�");
@@ -620,19 +644,42 @@
* 娣诲姞鐞嗙墖绗间换鍔�
*
* @param glassInfo
+ * @param endcell
* @return
*/
- private boolean saveGlassSize(EdgStorageCageDetails glassInfo) {
+ private boolean saveGlassSize(EdgStorageCageDetails glassInfo, int endcell) {
EdgGlassTaskInfo edgGlassTaskInfo = new EdgGlassTaskInfo();
BeanUtils.copyProperties(glassInfo, edgGlassTaskInfo);
edgGlassTaskInfo.setHeight((int) (glassInfo.getHeight() * ratio));
edgGlassTaskInfo.setWidth((int) (glassInfo.getWidth() * ratio));
edgGlassTaskInfo.setThickness((int) (glassInfo.getThickness() * ratio));
edgGlassTaskInfo.setStatus(Const.EDG_GLASS_BEFORE);
+ edgGlassTaskInfo.setLine(endcell);
+ edgGlassTaskInfo.setTime(new Date());
return edgGlassTaskInfoService.save(edgGlassTaskInfo);
}
-
+ /**
+ * 璁$畻鍑虹墖绾胯矾
+ * 宸叉帓闄ら兘涓�2 閮戒负0 鐨勬儏鍐�
+ *
+ * @param out08Glassstate
+ * @param out10Glassstate
+ * @return
+ */
+ private int computerLineByState(int out08Glassstate, int out10Glassstate) {
+ if (out08Glassstate == 0) {
+ if (out10Glassstate == 2) {
+ return Const.A09_OUT_TARGET_POSITION;
+ } else {
+ return Const.A10_OUT_TARGET_POSITION;
+ }
+ } else if (out08Glassstate == 1) {
+ return Const.A09_OUT_TARGET_POSITION;
+ } else {
+ return Const.A10_OUT_TARGET_POSITION;
+ }
+ }
@Scheduled(fixedDelay = 1000)
public void CacheGlassTasks() {
@@ -666,7 +713,6 @@
}
}
}
-
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
index 2a558ae..1abe8aa 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
@@ -13,8 +13,12 @@
mes:
threshold: 3
ratio: 10
- firstLength: 3500
- secondLength: 2500
+ max:
+ firstLength: 3500
+ secondLength: 2500
+ min:
+ firstLength: 600
+ secondLength: 350
sequence:
order: false
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
index bca9539..deed23a 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
@@ -41,14 +41,14 @@
@PostMapping("/insertBigStorageCageDetails")
public Result insertBigStorageCageDetails(@RequestBody BigStorageCageDetails bigStorageCageDetails) {
bigStorageCageDetailsService.insertBigStorageCageDetails(bigStorageCageDetails);
- return Result.build(200,"娣诲姞鎴愬姛",bigStorageCageService.querybigStorageCageDetail(0));
+ return Result.build(200,"娣诲姞鎴愬姛",bigStorageCageService.querybigStorageCageDetail());
}
@ApiOperation("鐞嗙墖绗艰鎯呭垹闄�")
@PostMapping("/deleteBigStorageCageDetails")
public Result deleteBigStorageCageDetails(@RequestBody BigStorageCageDetails bigStorageCageDetails) {
bigStorageCageDetailsService.deleteBigStorageCageDetails(bigStorageCageDetails);
- return Result.build(200,"鍒犻櫎鎴愬姛",bigStorageCageService.querybigStorageCageDetail(0));
+ return Result.build(200,"鍒犻櫎鎴愬姛",bigStorageCageService.querybigStorageCageDetail());
}
@ApiOperation("鐞嗙墖绗间换鍔$牬鎹�0/鎷胯蛋1")
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
index 1ac51f3..ab90c99 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
@@ -24,7 +24,7 @@
boolean outGlass();
- List<BigStorageCage> querybigStorageCageDetail(int deviceId);
+ List<BigStorageCage> querybigStorageCageDetailAll();
Map<Integer, List<BigStorageCage>> querybigStorageCageDetail();
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index aa3f45e..5b09ac0 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -27,6 +27,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -59,51 +60,79 @@
@Value("${mes.slotWidth}")
private Integer slotWidth;
- @Value("${mes.galssGap}")
- private Integer galssGap;
+ @Value("${mes.glassGap}")
+ private Integer glassGap;
/**
* 鏌ヨ杩�/鍑虹墖浠诲姟
*/
@Override
public List<BigStorageCageDetails> selectTask(int taskType) {
- return null;
-// if (taskType == 1) {
-// //杩涚墖浠诲姟鏁版嵁
-// LambdaQueryWrapper<BigStorageCageDetails> feedWrapper = new LambdaQueryWrapper<>();
-// feedWrapper.eq(BigStorageCageDetails::getState, Const.BIG_STORAGE_IN);
-// List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(feedWrapper);
-//
-// LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskWrapper = new LambdaQueryWrapper<>();
-// feedTaskWrapper.lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT);
-// List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(feedTaskWrapper);
-//
-// Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream()
-// .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task));
-//
-// for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
-// BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId());
-// bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask);
-// }
-// return bigStorageCageDetailsList;
-// } else {
-// //鍑虹墖浠诲姟鏁版嵁
-// LambdaQueryWrapper<BigStorageCageDetails> outWrapper = new LambdaQueryWrapper<>();
-// outWrapper.eq(BigStorageCageDetails::getState, Const.BIG_STORAGE_OUT);
-// List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(outWrapper);
-//
-// LambdaQueryWrapper<BigStorageCageOutTask> outTaskWrapper = new LambdaQueryWrapper<>();
-// outTaskWrapper.lt(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_SUCCESS);
-// List<BigStorageCageOutTask> bigStorageCageOutTaskList = bigStorageCageOutTaskMapper.selectList(outTaskWrapper);
-//
-// Map<String, BigStorageCageOutTask> listMap = bigStorageCageOutTaskList.stream()
-// .collect(Collectors.toMap(BigStorageCageOutTask::getGlassId, task -> task));
-// for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
-// BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId());
-// bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask);
-// }
-// return bigStorageCageDetailsList;
-// }
+ if (taskType == 1) {
+ //杩涚墖浠诲姟鏁版嵁
+ LambdaQueryWrapper<BigStorageCageDetails> feedWrapper = new LambdaQueryWrapper<>();
+ feedWrapper.eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN);
+ List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(feedWrapper);
+
+ LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskWrapper = new LambdaQueryWrapper<>();
+ feedTaskWrapper
+ .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
+ .isNotNull(BigStorageCageFeedTask::getTargetSlot);
+ List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(feedTaskWrapper);
+
+ Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream()
+ .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task));
+ Iterator<BigStorageCageDetails> iterator = bigStorageCageDetailsList.iterator();
+ while (iterator.hasNext()) {
+ BigStorageCageDetails bigStorageCageDetails = iterator.next();
+ BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId());
+ bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask);
+ if (bigStorageCageDetails.getBigStorageCageFeedTask() == null) {
+ iterator.remove();
+ }
+ }
+ LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskNoTargetWrapper = new LambdaQueryWrapper<>();
+ feedTaskNoTargetWrapper
+ .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
+ .isNull(BigStorageCageFeedTask::getTargetSlot);
+ List<BigStorageCageFeedTask> bigStorageCageFeedTaskNoTargetList = bigStorageCageFeedTaskMapper.selectList(feedTaskNoTargetWrapper);
+ for (BigStorageCageFeedTask bigStorageCageFeedTask:bigStorageCageFeedTaskNoTargetList
+ ) {
+ BigStorageCageDetails bigStorageCageDetails=new BigStorageCageDetails();
+ LambdaQueryWrapper<GlassInfo> glassInfoWrapper = new LambdaQueryWrapper<>();
+ glassInfoWrapper.eq(GlassInfo::getGlassId,bigStorageCageFeedTask.getGlassId());
+ GlassInfo glassInfo= glassInfoMapper.selectOne(glassInfoWrapper);
+ BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
+ bigStorageCageDetailsList.add(bigStorageCageDetails);
+ }
+ return bigStorageCageDetailsList;
+ } else {
+ //鍑虹墖浠诲姟鏁版嵁
+ LambdaQueryWrapper<BigStorageCageDetails> outWrapper = new LambdaQueryWrapper<>();
+ outWrapper.eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN);
+ List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(outWrapper);
+
+ LambdaQueryWrapper<BigStorageCageOutTask> outTaskWrapper = new LambdaQueryWrapper<>();
+ outTaskWrapper.lt(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_SUCCESS);
+ List<BigStorageCageOutTask> bigStorageCageOutTaskList = bigStorageCageOutTaskMapper.selectList(outTaskWrapper);
+
+ Map<String, BigStorageCageOutTask> listMap = bigStorageCageOutTaskList.stream()
+ .collect(Collectors.toMap(BigStorageCageOutTask::getGlassId, task -> task));
+ for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) {
+ BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId());
+ bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask);
+ }
+ Iterator<BigStorageCageDetails> iterator = bigStorageCageDetailsList.iterator();
+ while (iterator.hasNext()) {
+ BigStorageCageDetails bigStorageCageDetails = iterator.next();
+ BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId());
+ bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask);
+ if (bigStorageCageDetails.getBigStorageCageOutTask() == null) {
+ iterator.remove();
+ }
+ }
+ return bigStorageCageDetailsList;
+ }
}
/**
@@ -131,7 +160,7 @@
for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
) {
if (bigStorageCageDetails.getBigStorageCageFeedTask().getTaskState() == 0) {
- carWidth = carWidth - bigStorageCageDetails.getWidth() - galssGap;
+ carWidth = carWidth - bigStorageCageDetails.getWidth() - glassGap;
}
}
return carWidth;
@@ -187,7 +216,7 @@
if (glassInfo != null) {
BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
bigStorageCageDetails.setState(1);
- bigStorageCageDetails.setGap(galssGap);
+ bigStorageCageDetails.setGap(glassGap);
}
List<BigStorageCageDetails> bigStorageCageDetailsList = new ArrayList<>();
bigStorageCageDetailsList.add(bigStorageCageDetails);
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
index 4372aa0..7ce8d3f 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -237,29 +237,12 @@
//鏌ヨ澶х悊鐗囦俊鎭紝鍓嶇灞曠ず鐢�
@Override
- public List<BigStorageCage> querybigStorageCageDetail(int deviceId) {
- LambdaQueryWrapper<BigStorageCage> bigStorageCageWrapper = new LambdaQueryWrapper<>();
- LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper = new LambdaQueryWrapper<>();
- bigStorageCageDetailsWrapper
- .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
- .or()
- .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL);
- if (deviceId != 0) {
- bigStorageCageWrapper.eq(BigStorageCage::getDeviceId, deviceId);
- bigStorageCageDetailsWrapper.eq(BigStorageCageDetails::getDeviceId, deviceId);
- }
-
- List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectList(bigStorageCageWrapper);
- log.info("1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭畬鎴愶紝鑾峰彇鍒扮殑鏁版嵁{}", bigStorageCages.size());
-
- List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(bigStorageCageDetailsWrapper);
-
- Map<Integer, List<BigStorageCageDetails>> listMap = bigStorageCageDetailsList.stream().collect(Collectors.groupingBy(BigStorageCageDetails::getSlot));
- for (BigStorageCage bigStorageCage : bigStorageCages) {
- List<BigStorageCageDetails> bigStorageCageDetails = listMap.get(bigStorageCage.getSlot());
- bigStorageCage.setBigStorageCageDetails(bigStorageCageDetails);
- }
- return bigStorageCages;
+ public List<BigStorageCage> querybigStorageCageDetailAll() {
+ MPJLambdaWrapper<BigStorageCage> wrapper = new MPJLambdaWrapper<>();
+ wrapper.selectAll(BigStorageCage.class).selectCollection(BigStorageCageDetails.class, BigStorageCage::getBigStorageCageDetails)
+ .leftJoin(BigStorageCageDetails.class, on -> on.eq(BigStorageCageDetails::getSlot, BigStorageCage::getSlot)
+ .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL));
+ return bigStorageCageMapper.selectJoinList(BigStorageCage.class, wrapper);
}
//鏌ヨ澶х悊鐗囦俊鎭紝鍓嶇灞曠ず鐢�
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageFeedTaskMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageFeedTaskMapper.java
index 7c57951..6917e73 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageFeedTaskMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/mapper/BigStorageCageFeedTaskMapper.java
@@ -10,7 +10,7 @@
/**
* <p>
- * Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
* </p>
*
* @author zhoush
@@ -21,5 +21,5 @@
List<Integer> querySitToUpGlass();
- BigStorageDTO querySitToUpRemainWidth(@Param(value = "line") Integer line);
+ BigStorageDTO querySitToUpRemainWidth(@Param(value = "line") Integer line, @Param(value = "glassGap") Integer glassGap);
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java
index 03110f0..262cc3f 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java
@@ -7,13 +7,14 @@
import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author zhoush
@@ -22,9 +23,12 @@
@Service
public class BigStorageCageFeedTaskServiceImpl extends ServiceImpl<BigStorageCageFeedTaskMapper, BigStorageCageFeedTask> implements BigStorageCageFeedTaskService {
+ @Value("${mes.glassGap}")
+ private Integer glassGap;
+
@Override
- public void addFeedTask(BigStorageCageDetails slotInfo, Integer plcFeedReqLine, int taskType){
- BigStorageCageFeedTask bigStorageCageFeedTask=new BigStorageCageFeedTask();
+ public void addFeedTask(BigStorageCageDetails slotInfo, Integer plcFeedReqLine, int taskType) {
+ BigStorageCageFeedTask bigStorageCageFeedTask = new BigStorageCageFeedTask();
bigStorageCageFeedTask.setId(slotInfo.getId());
bigStorageCageFeedTask.setTaskState(0);
bigStorageCageFeedTask.setLine(plcFeedReqLine);
@@ -41,7 +45,7 @@
@Override
public BigStorageDTO querySitToUpRemainWidth(Integer line) {
- return baseMapper.querySitToUpRemainWidth(line);
+ return baseMapper.querySitToUpRemainWidth(line, glassGap);
}
@Override
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
index aa06134..4b45a49 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
@@ -32,44 +32,48 @@
@Resource
private TemperingGlassInfoService temperingGlassInfoService;
+ private JSONObject jsonObject = new JSONObject();
+ public void hangzhoumes() throws InterruptedException {
+ List<Double> carPostion=new ArrayList<>();
+ carPostion.add(0.25);
+ carPostion.add(0.5);
+ jsonObject.append("carPostion",carPostion);
+ //鐣岄潰灞曠ず绗煎瓙淇℃伅
+ jsonObject.append("bigStorageCageInfos", bigStorageCageService.querybigStorageCageDetail());
+
+ //杩涚墖浠诲姟鏁版嵁
+ List<BigStorageCageDetails> bigStorageCageDetailsFeedTask=bigStorageCageDetailsService.selectTask(1);
+ jsonObject.append("bigStorageCageDetailsFeedTask", bigStorageCageDetailsFeedTask);
+
+ //鍑虹墖浠诲姟鏁版嵁
+ List<BigStorageCageDetails> bigStorageCageDetailsOutTask=bigStorageCageDetailsService.selectTask(2);
+ jsonObject.append("bigStorageCageDetailsOutTask", bigStorageCageDetailsOutTask);
+
+ //鐞嗙墖绗间娇鐢ㄦ儏鍐�
+ List<Map<String, Object>> bigStorageCageUsage=bigStorageCageService.selectBigStorageCageUsage();
+ jsonObject.append("bigStorageCageUsage", bigStorageCageUsage);
+
+ //鐞嗙墖绗艰〃鏍间俊鎭�
+ jsonObject.append("bigStorageCageInfo", bigStorageCageService.querybigStorageCageDetailAll());
+
+ }
+
+ public void salve_hangzhoumes_1() throws InterruptedException {
+ //鍑虹墖闃熷垪
+ List<TemperingGlassInfo> temperingGlassInfoList= temperingGlassInfoService.list();
+ jsonObject.append("temperingGlassInfoList", temperingGlassInfoList);
+
+ }
/**
* fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
*/
@Scheduled(fixedDelay = 1000)
public void plcStorageCageTask() throws InterruptedException {
- JSONObject jsonObject = new JSONObject();
+ jsonObject = new JSONObject();
try {
- //鐣岄潰灞曠ず绗煎瓙淇℃伅
- jsonObject.append("bigStorageCageInfo1", bigStorageCageService.querybigStorageCageDetail(1));
- jsonObject.append("bigStorageCageInfo2", bigStorageCageService.querybigStorageCageDetail(2));
- jsonObject.append("bigStorageCageInfo3", bigStorageCageService.querybigStorageCageDetail(3));
- jsonObject.append("bigStorageCageInfo4", bigStorageCageService.querybigStorageCageDetail(4));
- jsonObject.append("bigStorageCageInfo5", bigStorageCageService.querybigStorageCageDetail(5));
- jsonObject.append("bigStorageCageInfo6", bigStorageCageService.querybigStorageCageDetail(6));
- jsonObject.append("bigStorageCageInfo7", bigStorageCageService.querybigStorageCageDetail(7));
- jsonObject.append("bigStorageCageInfo8", bigStorageCageService.querybigStorageCageDetail(8));
-
- //杩涚墖浠诲姟鏁版嵁
- List<BigStorageCageDetails> bigStorageCageDetailsFeedTask=bigStorageCageDetailsService.selectTask(1);
- jsonObject.append("bigStorageCageDetailsFeedTask", bigStorageCageDetailsFeedTask);
-
- //鍑虹墖浠诲姟鏁版嵁
- List<BigStorageCageDetails> bigStorageCageDetailsOutTask=bigStorageCageDetailsService.selectTask(2);
- jsonObject.append("bigStorageCageDetailsOutTask", bigStorageCageDetailsOutTask);
-
- //鐞嗙墖绗间娇鐢ㄦ儏鍐�
- List<Map<String, Object>> bigStorageCageUsage=bigStorageCageService.selectBigStorageCageUsage();
- jsonObject.append("bigStorageCageUsage", bigStorageCageUsage);
-
- //鍑虹墖闃熷垪
- List<TemperingGlassInfo> temperingGlassInfoList= temperingGlassInfoService.list();
- jsonObject.append("temperingGlassInfoList", temperingGlassInfoList);
-
- //鐞嗙墖绗艰〃鏍间俊鎭�
- jsonObject.append("bigStorageCageInfo", bigStorageCageService.querybigStorageCageDetail(0));
-
-
+ hangzhoumes();
+ salve_hangzhoumes_1();
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("slicecage");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index 9f6959b..7c427db 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -20,6 +20,8 @@
import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
import com.mes.common.S7object;
import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
import com.mes.device.PlcParameterObject;
import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
@@ -60,6 +62,8 @@
private EdgGlassTaskInfoService edgGlassTaskInfoService;
@Resource
private TemperingGlassInfoService temperingGlassInfoService;
+ @Resource
+ private DamageService damageService;
private static final String REQUEST_WORD = "1";
@@ -78,11 +82,13 @@
@Value("${mes.outCarMaxSize}")
private Integer outCarMaxSize;
- @Value("${mes.galssGap}")
- private Integer galssGap;
+ @Value("${mes.glassGap}")
+ private Integer glassGap;
@Scheduled(fixedDelay = 300)
public void plcToHomeEdgScan() {
+ Date startDate = new Date();
+ log.info("澶х悊鐗囩鎵爜浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
String d01Id = plcParameterObject.getPlcParameter("D01ID").getValue();
String d04Id = plcParameterObject.getPlcParameter("D04ID").getValue();
@@ -90,16 +96,15 @@
String d02State = plcParameterObject.getPlcParameter("D02ID").getValue();
String d03State = plcParameterObject.getPlcParameter("D03State").getValue();
String d05State = plcParameterObject.getPlcParameter("D05State").getValue();
+ String mesD01Value = plcParameterObject.getPlcParameter("MESToD01").getValue();
+ String mesD04Value = plcParameterObject.getPlcParameter("MESToD04").getValue();
String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress();
String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress();
String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
- if (!REQUEST_WORD.equals(d01ToMES)) {
- log.info("璇锋眰瀛椾负{}锛岀粨鏉熸湰娆℃壂鎻忚繘鍗ц浆绔嬩换鍔�", d01ToMES);
- return;
- }
+ String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue();
- log.info("1銆佽幏鍙杁01Id鎵弿ID涓猴細{};鑾峰彇d04Id鎵弿ID涓猴細{};", d01Id, d04Id);
- if (StringUtils.isBlank(d01Id) && StringUtils.isBlank(d04Id)) {
+ log.info("1銆佽幏鍙杁01Id鎵弿ID涓猴細{}锛岃姹傚瓧涓簕};鑾峰彇d04Id鎵弿ID涓猴細{}锛岃姹傚瓧涓簕};", d01Id, d01ToMES, d04Id, d04ToMES);
+ if (StringUtils.isBlank(d01ToMES) && StringUtils.isBlank(d04ToMES)) {
log.info("涓ゆ潯绾挎湭鏀跺埌杩涚墖浠诲姟锛岀粨鏉熸湰娆℃壂鎻忚繘鍗ц浆绔嬩换鍔�");
return;
}
@@ -107,31 +112,35 @@
log.info("涓ゆ潯绾垮崸杞珛鍧囧湪鎵ц浠诲姟锛岀粨鏉熸湰娆℃壂鎻忚繘鍗ц浆绔嬩换鍔�");
return;
}
-// Boolean flag01 = Boolean.FALSE;
-// Boolean flag04 = Boolean.FALSE;
- //鎸夌収绾胯矾鍙婄幓鐠僫d鑾峰彇鐩搁偦涓ゅ潡鐜荤拑 鍗ц浆绔嬩笂鐨勭幓鐠�
- if (StringUtils.isNotBlank(d01Id) && (StringUtils.isBlank(d02State) || !REQUEST_WORD.equals(d03State))) {
+ //鎸夌収绾胯矾鍙婄幓鐠僫d鑾峰彇鐩搁偦涓ゅ潡鐜荤拑 鍗ц浆绔嬩笂鐨勭幓鐠�: 鐘舵�佷负0涓嶆搷浣滐紙D01閫佺墖锛�0涓嶆搷浣滐紝1鍏佽閫佺墖锛夛紝璇锋眰瀛椾负1锛� 锛�02鐜荤拑id涓虹┖鎴栬�呭崸杞珛鏈惎鍔級
+ if (!REQUEST_WORD.equals(mesD01Value) && REQUEST_WORD.equals(d01ToMES) && (StringUtils.isBlank(d02State) || !REQUEST_WORD.equals(d03State))) {
judgeGlassTypeStatus(d01Id, Const.A09_OUT_TARGET_POSITION, mesD01Address);
}
- if (StringUtils.isNotBlank(d04Id) && !REQUEST_WORD.equals(d05State)) {
+// 鐘舵�佷负0涓嶆搷浣滐紙D01閫佺墖锛�0涓嶆搷浣滐紝1鍏佽閫佺墖锛夛紝璇锋眰瀛椾负1锛� 鍗ц浆绔嬫湭鍚姩
+ if (!REQUEST_WORD.equals(mesD04Value) && REQUEST_WORD.equals(d04ToMES) && !REQUEST_WORD.equals(d05State)) {
judgeGlassTypeStatus(d04Id, Const.A10_OUT_TARGET_POSITION, mesD04Address);
}
- log.info("缁撴潫鎵爜浠诲姟");
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩鎵爜浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
}
@Scheduled(fixedDelay = 300)
public void plcToHomeEdgFreeCarTask() {
+ Date startDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
String e01Status = plcParameterObject.getPlcParameter("E01State").getValue();
String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue();
String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue();
log.info("鎵ц绌鸿溅閫佺墖浠诲姟锛岃幏鍙栧埌鐨勫ぇ杞︾姸鎬佷负{}锛屽崸杞珛鐘舵�佸垎鍒负d03:{}锛宒05:{}", e01Status, d03ToMES, d05ToMES);
if (REQUEST_WORD.equals(e01Status)) {
- log.info("杩涚墖澶ц溅闈炵┖闂诧紝缁撴潫閫佺墖浠诲姟");
+ Date endDate = new Date();
+ log.info("杩涚墖澶ц溅闈炵┖闂诧紝缁撴潫閫佺墖浠诲姟锛屼换鍔$粨鏉熸椂闂达細{}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
if (!REQUEST_WORD.equals(d03ToMES) && !REQUEST_WORD.equals(d05ToMES)) {
- log.info("鍗ц浆绔嬫病鏈夐�佺墖璇锋眰锛岀粨鏉熼�佺墖浠诲姟");
+ Date endDate = new Date();
+ log.info("鍗ц浆绔嬫病鏈夐�佺墖璇锋眰锛岀粨鏉熼�佺墖浠诲姟锛屼换鍔$粨鏉熸椂闂达細{}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
LambdaQueryWrapper<BigStorageCageFeedTask> wrapper = new LambdaQueryWrapper<BigStorageCageFeedTask>()
@@ -142,14 +151,15 @@
if (CollectionUtils.isNotEmpty(feedTaskList)) {
if (feedTaskList.size() == 1) {
computeTargetByLine(feedTaskList.get(0).getLine());
- return;
} else {
//姣旇緝鏈�鏃╀竴鐗囦换鍔$殑鐗堝浘id鍙婄増搴� 姹傚嚭鍗ц浆绔嬬殑绾胯矾
Integer startLine = getStartLine();
// //璁$畻鐩爣鏍煎瓙锛屽彂閫佸惎鍔ㄤ换鍔�
computeTargetByLine(startLine);
- return;
}
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
+ return;
}
String d01Id = plcParameterObject.getPlcParameter("D01ID").getValue();
String d04Id = plcParameterObject.getPlcParameter("D04ID").getValue();
@@ -162,7 +172,8 @@
//鑾峰彇涓ゆ潯绾垮崸杞珛鏄惁鏈夌幓鐠冿紝涓斾换鍔$姸鎬侀兘涓�2
List<Integer> lineList = bigStorageCageFeedTaskService.querySitToUpGlass();
if (CollectionUtils.isEmpty(lineList)) {
- log.info("涓ゆ潯绾垮崸杞珛涓虹┖鎴栬�呮湁杩涚墖浠诲姟鏈畬鎴愶紝缁撴潫浠诲姟");
+ Date endDate = new Date();
+ log.info("涓ゆ潯绾垮崸杞珛涓虹┖鎴栬�呮湁杩涚墖浠诲姟鏈畬鎴愶紝缁撴潫浠诲姟锛屽ぇ鐞嗙墖绗肩┖杞﹁繘鐗囦换鍔$粨鏉熸椂闂达細{}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
Integer lineFirst = lineList.get(0);
@@ -179,6 +190,8 @@
computeTargetByLine(lineFirst);
}
}
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
//涓ゆ潯鍏堝潎鍙墽琛岃繘鐗囦换鍔★紝鍒ゆ柇涓ゆ潯绾挎槸鍚﹁繘鐗囪姹傛槸鍚﹂兘涓虹┖
@@ -187,6 +200,8 @@
Integer line = getStartLine();
//璁$畻浠诲姟琛ㄨ繘鐗囨牸瀛� 鍙戦�佽繘鐗囦换鍔�
computeTargetByLine(line);
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
} else if (StringUtils.isNotBlank(d01Id) && StringUtils.isNotBlank(d04Id)) {
// todo:涓や釜閮芥湁杩涚墖鐜荤拑
@@ -200,6 +215,8 @@
} else if (computeIsRun(Const.A10_OUT_TARGET_POSITION, d04Id)) {
computeTargetByLine(Const.A10_OUT_TARGET_POSITION);
} else {
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
} else {
@@ -209,11 +226,14 @@
//鑾峰彇杩涚墖璇锋眰鐜荤拑涓虹┖鐨勶紝璁$畻浠诲姟琛ㄨ繘鐗囨牸瀛� 鍙戦�佽繘鐗囦换鍔�
computeTargetByLine(outLine);
}
-
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
}
@Scheduled(fixedDelay = 300)
public void plcToHomeEdgOutTask() {
+ Date startDate = new Date();
+ log.info("澶х悊鐗囩绌鸿溅杩涚墖浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
String mesToPLCAddress = plcMesObject.getPlcParameter("MESToPLC").getAddress();
List<BigStorageCageOutTask> outingList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_NEW));
@@ -229,13 +249,17 @@
if (CollectionUtils.isNotEmpty(temperingGlassInfoList)) {
log.info("鏈夋鍦ㄥ嚭鐗囩殑閽㈠寲浠诲姟");
computeOutGlassInfo(temperingGlassInfoList, Boolean.TRUE, mesToPLCAddress);
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
//鏄惁鏈変汉宸ヤ笅鐗囦换鍔� 鏈夌洿鎺ュ嚭
List<BigStorageCageDetails> artificialList = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
.eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL).orderByDesc(BigStorageCageDetails::getWidth));
if (CollectionUtils.isNotEmpty(artificialList)) {
- computeOutGlassInfo(temperingGlassInfoList, Boolean.FALSE, mesToPLCAddress);
+ computeOutGlassInfo(artificialList, Boolean.FALSE, mesToPLCAddress);
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
//閽㈠寲浼樺厛锛氳幏鍙栫悊鐗囩 鐜荤拑灏忕墖 鐮存崯琛� 鏁伴噺 鍒ゆ柇绗煎唴鐗堝浘鏄惁鍒伴綈
@@ -253,6 +277,8 @@
.eq(GlassInfo::getEngineerId, temperingLayoutDTO.getEngineerId()));
temperingGlassInfoService.saveBatch(temperingGlassInfos);
computeOutGlassInfo(temperingGlassInfoList, Boolean.TRUE, mesToPLCAddress);
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
//鏈埌榻� 鎵ц鍐呴儴璋冨害浠诲姟
@@ -262,7 +288,7 @@
for (int i = 0; i < slotSequenceList.size() - 1; i++) {
SlotSequenceDTO first = slotSequenceList.get(i);
SlotSequenceDTO second = slotSequenceList.get(i + 1);
- int slotWidth = carWidth - first.getRemainWidth() - galssGap;
+ int slotWidth = carWidth - first.getRemainWidth() - glassGap;
if (first.getMinSequence() == second.getMaxSequence() + 1
&& second.getRemainWidth() > slotWidth) {
List<BigStorageCageDetails> list = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
@@ -272,12 +298,61 @@
bigStorageCageOutTaskService.saveBatch(outTasks);
S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
log.info("宸插悜plc鍙戦�佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{}", mesToPLCAddress);
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
return;
}
}
}
}
+ /**
+ * 澶勭悊鐮存崯琛ㄤ换鍔�
+ */
+ @Scheduled(fixedDelay = 300)
+ public void dealDamageTask() {
+ Date startDate = new Date();
+ log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
+ //鑾峰彇杩涚墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
+ List<BigStorageCageFeedTask> inDamageTaskInfoList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>()
+ .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
+ if (CollectionUtils.isNotEmpty(inDamageTaskInfoList)) {
+ bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
+ //todo:灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
+ for (BigStorageCageFeedTask bigStorageCageFeedTask:inDamageTaskInfoList
+ ) {
+ Damage damage=new Damage();
+ damage.setGlassId(bigStorageCageFeedTask.getGlassId());
+ damage.setLine(bigStorageCageFeedTask.getLine());
+ damage.setWorkingProcedure("鍐峰姞宸�");
+ damage.setRemark("");
+ damage.setStatus(2);
+ damageService.insertDamage(damage);
+ }
+ }
+ //鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
+ List<BigStorageCageOutTask> outDamageTaskInfoList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>()
+ .eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_DAMAGE));
+ if (CollectionUtils.isNotEmpty(outDamageTaskInfoList)) {
+ bigStorageCageOutTaskService.remove(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
+ List<String> glassIdList = outDamageTaskInfoList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
+ temperingGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassIdList));
+ //todo:灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
+ for (BigStorageCageOutTask bigStorageCageOutTask:outDamageTaskInfoList
+ ) {
+ Damage damage=new Damage();
+ damage.setGlassId(bigStorageCageOutTask.getGlassId());
+ damage.setLine(bigStorageCageOutTask.getEndSlot());
+ damage.setWorkingProcedure("鍐峰姞宸�");
+ damage.setRemark("");
+ damage.setStatus(2);
+ damageService.insertDamage(damage);
+ }
+ }
+ Date endDate = new Date();
+ log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
+ return;
+ }
/**
* 鎸夌収鐜荤拑id鍒ゆ柇鐜荤拑鐘舵�佸強鍗ц浆绔嬫槸鍚﹀彲鐩存帴鍚姩
@@ -303,10 +378,10 @@
Boolean flag = Boolean.TRUE;
//2銆佽幏鍙栧崸杞珛
- Integer widthFirst = edgGlassTaskInfoList.get(0).getWidth();
+ Integer widthFirst = Math.max(edgGlassTaskInfoList.get(0).getWidth() / 10, edgGlassTaskInfoList.get(0).getHeight() / 10);
if (edgGlassTaskInfoList.size() == 1) {
if (remainWidth >= widthFirst) {
- if (glassCount <= 5) {
+ if (glassCount < inCarMaxSize) {
addFeedTask(glassId, line, Const.BIG_STORAGE_IN_WAIT, widthFirst);
} else {
addFeedTask(glassId, line, Const.BIG_STORAGE_IN_RUN, widthFirst);
@@ -315,10 +390,10 @@
flag = Boolean.FALSE;
}
} else {
- Integer widthSecond = edgGlassTaskInfoList.get(1).getWidth();
+ Integer widthSecond = Math.max(edgGlassTaskInfoList.get(1).getWidth() / 10, edgGlassTaskInfoList.get(1).getHeight() / 10);
if (remainWidth >= widthFirst) {
- if (remainWidth - widthFirst - galssGap >= widthSecond) {
- if (glassCount <= inCarMaxSize - 1) {
+ if (remainWidth - widthFirst - glassGap >= widthSecond) {
+ if (glassCount < inCarMaxSize) {
addFeedTask(glassId, line, Const.BIG_STORAGE_IN_WAIT, widthFirst);
} else {
addFeedTask(glassId, line, Const.BIG_STORAGE_IN_RUN, widthFirst);
@@ -424,6 +499,7 @@
}
private void sendTaskListToPLC(List<BigStorageCageFeedTask> taskList, Integer line) {
+ log.info("閫佺墖浠诲姟鍙戦�佽繘鐗囩幓鐠冧俊鎭�");
S7control s7control = S7object.getinstance().plccontrol;
PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
String mesD03Address = plcMesObject.getPlcParameter("MESToD03").getAddress();
@@ -434,7 +510,7 @@
s7control.writeWord(plcMesObject.getPlcParameter("TargetAddToImport" + i).getAddress(), taskList.get(i - 1).getTargetSlot());
}
s7control.writeWord(outLine, 2);
- log.info("閫佺墖浠诲姟宸插彂閫佸畬鎴愶紝浠诲姟绾胯矾涓猴細{}锛屽惎鍔ㄥ湴鍧�涓簕}", line, outLine);
+ log.info("閫佺墖浠诲姟宸插彂閫佸畬鎴愶紝浠诲姟绾胯矾涓猴細{}锛屽惎鍔ㄥ湴鍧�涓簕},纭瀛椾负{}", line, outLine, 2);
}
private <T extends BigStorageCageBaseInfo> Boolean computeOutGlassInfo(List<T> list, Boolean isTempering, String mesToPLCAddress) {
@@ -446,7 +522,7 @@
if (bigStorageCageOutTaskList.size() > outCarMaxSize || e.getWidth() > remainWidth) {
break;
}
- remainWidth = remainWidth - (int) e.getWidth() - galssGap;
+ remainWidth = remainWidth - (int) e.getWidth() - glassGap;
if (isTempering) {
bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getSlot(), Const.TEMPERING_OUT_TARGET_POSITION,
(int) e.getWidth() * 10, 0, 0, 1));
@@ -483,7 +559,7 @@
List<Integer> slotList = list.stream().map(T::getSlot).distinct().collect(Collectors.toList());
//鑾峰彇寰呭嚭鍘荤殑鐜荤拑淇℃伅锛堢瓑涓嬭溅鍑哄幓鐨勭幓鐠冿級
Map<Integer, Double> slotRemainMap = list.stream().filter(e -> !taskGlassIds.contains(e.getGlassId()))
- .collect(Collectors.groupingBy(T::getSlot, Collectors.summingDouble(item -> item.getWidth() + galssGap)));
+ .collect(Collectors.groupingBy(T::getSlot, Collectors.summingDouble(item -> item.getWidth() + glassGap)));
if (CollectionUtils.isNotEmpty(slotRemainMap)) {
//鎸夌収鏍煎瓙鍙锋洿鏂板墿浣欏昂瀵�
slotRemainMap.forEach((e, v) -> {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
index 9fc2464..d4281e8 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
@@ -18,4 +18,4 @@
slotWidth: 5000 #澶ц溅瀹藉害
inCarMaxSize: 6 #杩涚墖澶ц溅鏈�澶у瓨鏀剧幓鐠冩暟閲�
outCarMaxSize: 1 #鍑虹墖澶ц溅鏈�澶у瓨鏀剧幓鐠冩暟閲�
- galssGap: 300 #鐜荤拑闂磋窛
\ No newline at end of file
+ glassGap: 300 #鐜荤拑闂磋窛
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
index a0a5902..2776022 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageFeedTaskMapper.xml
@@ -21,11 +21,21 @@
where t.total_count = t.real_count
</select>
<select id="querySitToUpRemainWidth" resultMap="bigStorageDTO">
- SELECT cast(5000 - sum(width + 20) as INT) as REMAIN_WIDTH,
- count(glass_id) as GLASS_COUNT
- FROM big_storage_cage_feed_task
- WHERE line = #{line}
- AND task_state in (1, 2)
+ SELECT CAST
+ (5000 - SUM(MAX_LENGTH + #{glassGap}) AS INT) AS REMAIN_WIDTH,
+ COUNT(GLASS_ID) AS GLASS_COUNT
+ FROM (
+ SELECT GLASS_ID,
+ CASE
+
+ WHEN WIDTH >= HEIGHT THEN
+ WIDTH
+ ELSE HEIGHT
+ END MAX_LENGTH
+ FROM BIG_STORAGE_CAGE_FEED_TASK
+ WHERE LINE = 2002
+ AND TASK_STATE IN (1, 2)
+ ) T
</select>
</mapper>
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
index f9deff8..3aba6ca 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -3,6 +3,8 @@
import com.mes.bigstorage.service.BigStorageCageDetailsService;
import com.mes.bigstorage.service.BigStorageCageService;
import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
import com.mes.job.PlcStorageCageTask;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
@@ -29,6 +31,8 @@
PlcStorageCageTask plcStorageCageTask;
@Autowired
BigStorageCageDetailsService bigStorageCageDetailsService;
+ @Autowired
+ DamageService damageService;
@Test
public void testFindPath() {
@@ -82,4 +86,15 @@
log.info("鑾峰彇澶х悊鐗囩淇℃伅锛歿}", bigStorageCageDetailsService.selectBigStorageCageDetails("P24060403|3|6"));
}
+ @Test
+ public void insertDamage() {
+ Damage damage=new Damage();
+ damage.setGlassId("P24060403|3|6");
+ damage.setLine(2001);
+ damage.setWorkingProcedure("鍐峰姞宸�");
+ damage.setRemark("");
+ damage.setStatus(2);
+ damageService.insertDamage(damage);
+
+ }
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java
index 670d12c..dd753b9 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7object.java
@@ -52,7 +52,9 @@
}
byte[] getplcvlues = plccontrol.readByte(PlcMesObject.getPlcAddressBegin(), PlcMesObject.getPlcAddressLength());
- PlcMesObject.setPlcParameterList(getplcvlues);
+ if (getplcvlues != null) {
+ PlcMesObject.setPlcParameterList(getplcvlues);
+ }
}
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
index 79f62f9..e2da1a1 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
@@ -81,7 +81,7 @@
/**
* 浠诲姟鐘舵�� 0 鏈紑濮� 1姝e湪杩涜 2瀹屾垚
*/
- private Integer taskStauts;
+ private Integer taskStatus;
/**
* 鍒涘缓鏃堕棿
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
index c66855e..17f9ba1 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
@@ -7,16 +7,15 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downglassinfo.entity.DownGlassTask;
-import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
import com.mes.downglassinfo.mapper.DownGlassTaskMapper;
import com.mes.downglassinfo.service.DownGlassInfoService;
import com.mes.downglassinfo.service.DownGlassTaskService;
-import com.mes.downworkstation.entity.DownWorkstation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@@ -36,7 +35,7 @@
@Autowired
private DownGlassInfoService downGlassInfoService; // MySQL Mapper
- @Autowired
+ @Resource
private DownGlassTaskMapper downGlassTaskMapper; // SQL Server Mapper
@Override
@@ -47,7 +46,7 @@
// Step 2: 浠� SQL Server 涓繃婊ゆ帀杩欎簺鐜荤拑 ID 骞舵煡璇换鍔�
QueryWrapper<DownGlassTask> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("task_stauts", 1)
+ queryWrapper.eq("task_status", 1)
.and(qw -> qw.eq("task_type", 2).or().eq("task_type", 3));
List<DownGlassInfo> excludedGlassIds = downGlassInfoService.list();
@@ -63,7 +62,7 @@
@Override
public void updateTaskState(String id) {
UpdateWrapper<DownGlassTask> updateWrapper = new UpdateWrapper<>();
- updateWrapper.set("task_stauts", 2).eq("id", id);
+ updateWrapper.set("task_status", 2).eq("id", id);
baseMapper.update(new DownGlassTask(), updateWrapper);
}
@@ -99,7 +98,7 @@
// 濡傛灉涓婚敭鍊间笉瀛樺湪锛屽垯杩涜鎻掑叆鎿嶄綔
DownGlassTask newDownGlassTask = new DownGlassTask();
BeanUtils.copyProperties(downGlassTask, newDownGlassTask);
- newDownGlassTask.setTaskStauts(1); // 榛樿浠诲姟鐘舵�佷负1
+ newDownGlassTask.setTaskStatus(1); // 榛樿浠诲姟鐘舵�佷负1
newDownGlassTask.setCreateTime(new Date());
int rows = baseMapper.insert(newDownGlassTask);
return rows > 0 ? rows : null;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
index 29c215b..a5a3a3c 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
@@ -71,7 +71,7 @@
*/
boolean DirectConnection(GlassInfo glassInfo);
- DownStorageCageDetails getGlassInfoMaxCount();
+ String getGlassInfoMaxCount(String glassId);
/**
* @param glassId
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 1b3d559..027a0a0 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
@@ -3,19 +3,14 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.github.yulichang.query.MPJLambdaQueryWrapper;
-import com.github.yulichang.query.MPJQueryWrapper;
-
-
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
+import com.github.yulichang.query.MPJLambdaQueryWrapper;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.common.config.Const;
import com.mes.downstorage.entity.DownStorageCage;
import com.mes.downstorage.entity.DownStorageCageDetails;
import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
-
import com.mes.downstorage.mapper.DownStorageCageMapper;
import com.mes.downstorage.service.DownStorageCageDetailsService;
import com.mes.downworkstation.entity.DownWorkstation;
@@ -198,8 +193,9 @@
}
@Override
- public DownStorageCageDetails getGlassInfoMaxCount() {
- return baseMapper.getGlassInfoMaxCount();
+ public String getGlassInfoMaxCount(String glassId) {
+ DownStorageCageDetails glassInfoMaxCount = baseMapper.getGlassInfoMaxCount();
+ return null == glassInfoMaxCount ? glassId : glassInfoMaxCount.getGlassId();
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
index d26eb0f..18577e6 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -4,6 +4,7 @@
import cn.smallbun.screw.core.util.CollectionUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mes.common.S7object;
import com.mes.common.config.Const;
import com.mes.device.PlcParameterObject;
@@ -81,7 +82,7 @@
@Scheduled(fixedDelay = 3000)
public void plcHomeEdgTask() {
- PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+ PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
String requestWord = plcParameterObject.getPlcParameter("requestWord").getValue();
String glassIdeValue = plcParameterObject.getPlcParameter("requestID").getValue();
//A08 A09琛ㄧず绾胯矾鐩稿悓 鍙仛绛変环 鏃犳暟鎹浆int寮傚父
@@ -92,7 +93,6 @@
String confirmationWrodValue = plcParameterObject.getPlcParameter("confirmationWord").getValue();
String confirmationWrodAddress = plcParameterObject.getPlcParameter("confirmationWord").getAddress();
String currentSlot = plcParameterObject.getPlcParameter("currentCell").getValue();
-
log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛歡06:{}銆乬08:{}銆乬11:{}銆乬13:{},褰撳墠鏍煎瓙鍙蜂负锛歿}",
@@ -145,8 +145,7 @@
//鐜荤拑灏哄鏄惁璧颁汉宸ヤ笅鐗�
if (glassInfo.getWidth() > maxWidth || glassInfo.getHeight() > maxHeight || glassInfo.getWidth() < minWidth || glassInfo.getHeight() < minHeight) {
log.info("璇ョ幓鐠冨昂瀵镐笉绗﹀悎瑕佹眰锛岄渶瑕佽蛋浜哄伐涓嬬墖鐩存帴杩涚墖");
- }
- else {
+ } else {
log.info("璇ョ幓鐠冨昂瀵搁潪浜哄伐涓嬬墖");
//鑾峰彇璇ョ幓鐠冪殑娴佺▼鍗℃槸鍚﹀凡缁戝畾鏋跺瓙
DownWorkstation one = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>()
@@ -161,7 +160,7 @@
if (!checkFlag && !isBind) {
log.info("璇ョ幓鐠冪殑娴佺▼鍗℃湭缁戝畾鏋跺瓙锛岃幏鍙栨槸鍚︽湁绌烘灦瀛�");
List<DownWorkstation> list = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>()
- .isNull(DownWorkstation::getFlowCardId));
+ .isNull(DownWorkstation::getFlowCardId).orderByDesc(DownWorkstation::getWorkstationId));
if (CollectionUtils.isNotEmpty(list)) {
log.info("鏈夌┖鏋跺瓙,灏嗘祦绋嬪崱涓庢灦瀛愬ソ缁戝畾锛屾墽琛岃繘鐗囦换鍔� 缁撴潫");
//缁戝畾娴佺▼鍗�
@@ -245,8 +244,8 @@
return Boolean.FALSE;
}
Boolean flag08 = "1".equals(out08Glassstate) ? Boolean.TRUE : Boolean.FALSE;
- if (!generateTaskByShelf(glassStatus11, flag08, glassStatus13, tempList, cageDetails)) {
- return generateTaskByShelf(glassStatus11, !flag08, glassStatus13, tempList, cageDetails);
+ if (!generateTaskByShelf(glassStatus06, glassStatus11, flag08, glassStatus13, tempList, cageDetails, glassId)) {
+ return generateTaskByShelf(glassStatus06, glassStatus11, !flag08, glassStatus13, tempList, cageDetails, glassId);
}
return Boolean.TRUE;
}
@@ -288,16 +287,16 @@
}
}
- private Boolean generateTaskByShelf(String glassStatus, Boolean flag08, String glassStatus13, List<DownStorageCageDetails> tempList, DownStorageCageDetails cageDetails) {
+ private Boolean generateTaskByShelf(String glassStatus06, String glassStatus11, Boolean flag08, String glassStatus13, List<DownStorageCageDetails> tempList, DownStorageCageDetails cageDetails, String glassId) {
//鑾峰彇2涓満姊拌噦鑼冨洿鍐呯殑鏋跺瓙缁戝畾鐨勬祦绋嬪崱淇℃伅
List<Integer> workList = new ArrayList();
if (flag08) {
- if (!"2".equals(glassStatus)) {
+ if (!"2".equals(glassStatus11)) {
workList.addAll(Const.G11_WORK_STATION);
}
} else {
- if (!"2".equals(glassStatus)) {
+ if (!"2".equals(glassStatus06)) {
workList.addAll(Const.G06_WORK_STATION);
}
}
@@ -306,7 +305,7 @@
//瀵圭鍐呯幓鐠冭繘琛岃繃婊わ紝浠呭嚭绗﹀悎閫昏緫鐨勭幓鐠�
if (CollectionUtils.isNotEmpty(workList)) {
List<DownWorkstation> downWorkstationList = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>()
- .eq(DownWorkstation::getEnableState, 0).in(DownWorkstation::getWorkstationId, workList));
+ .eq(DownWorkstation::getEnableState, Const.SLOT_ON).in(DownWorkstation::getWorkstationId, workList));
log.info("鏋跺瓙琚鐢紝鏃犳硶鍑虹墖钀芥灦");
if (CollectionUtils.isEmpty(downWorkstationList)) {
log.info("绗煎瓙琚鐢紝鏃犳硶璧版満姊拌噦涓嬬墖");
@@ -357,10 +356,8 @@
List<DownGlassInfoDTO> downGlassInfoDTOList = downGlassInfoService.queryWorkStationIsIn(Boolean.TRUE);
List<String> downGlassFlowList = downGlassInfoDTOList.stream().map(item -> item.getFlowCardId() + ":" + item.getLayer()).collect(Collectors.toList());
if (CollectionUtils.isEmpty(downGlassFlowList)) {
- //鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑
- DownStorageCageDetails downStorageCageDetails = downStorageCageDetailsService.getGlassInfoMaxCount();
- //缁戝畾娴佺▼鍗★紝鏇存柊鐜荤拑鐘舵�侊紝鐢熸垚鍑虹墖浠诲姟锛�
- tempGlassId = downStorageCageDetails.getGlassId();
+ //鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑id,鏃� 鍒欒繑鍥炴壂鎻忔壂鍒扮殑鐜荤拑id杩涜鍑虹墖
+ tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId);
isBind = Boolean.TRUE;
break loop;
}
@@ -371,9 +368,8 @@
// List<DownWorkstation> emptyShelfList = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>()
// .isNull(DownWorkstation::getFlowCardId));
if (isEmptyShelf) {
- DownStorageCageDetails downStorageCageDetails = downStorageCageDetailsService.getGlassInfoMaxCount();
- //缁戝畾娴佺▼鍗★紝鏇存柊鐜荤拑鐘舵�侊紝鐢熸垚鍑虹墖浠诲姟
- tempGlassId = downStorageCageDetails.getGlassId();
+ //鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑id,鏃� 鍒欒繑鍥炴壂鎻忔壂鍒扮殑鐜荤拑id杩涜鍑虹墖
+ tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId);
isBind = Boolean.TRUE;
break loop;
}
@@ -484,7 +480,8 @@
return Boolean.FALSE;
}
//鏇存柊钀芥灦鐜荤拑鏁伴噺
-
+ downWorkstationService.update(new UpdateWrapper<DownWorkstation>().eq("flow_card_id", downStorageCageDetails.getFlowCardId())
+ .eq("layer", downStorageCageDetails.getLayer()).setSql("racks_number = racks_number +1"));
//鐢熸垚浠诲姟淇℃伅
DownGlassInfo downGlassInfo = new DownGlassInfo();
BeanUtils.copyProperties(downStorageCageDetails, downGlassInfo);
@@ -506,7 +503,7 @@
downGlassTask.setHeight((int) glassInfo.getHeight());
downGlassTask.setFlowCardId(glassInfo.getFlowCardId());
downGlassTask.setLayer(glassInfo.getLayer());
- downGlassTask.setTaskStauts(0);
+ downGlassTask.setTaskStatus(0);
downGlassTask.setCreateTime(new Date());
downGlassTaskService.save(downGlassTask);
//鍚憄lc鍙戦�佸懡浠�
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json
index ac8379f..de826b1 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcdownGlass.json
@@ -12,7 +12,7 @@
{
"codeId": "requestID",
"addressIndex": "2",
- "addressLenght": "30"
+ "addressLenght": "20"
},
{
"codeId": "currentCell",
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
index 3fed3fc..317bde1 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
@@ -14,11 +14,10 @@
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mes:
- maxWidth: 2500 #涓嬬墖鐨勬渶澶у搴� 2500*2000
+ maxWidth: 2500 #涓嬬墖鐨勬渶澶у搴�
maxHeight: 2000 #涓嬬墖鐨勬渶澶ч珮搴�
- minWidth: 400 #涓嬬墖鐨勬渶灏忓搴�
- minHeight: 400 #涓嬬墖鐨勬渶灏忛珮搴�
-
+ minWidth: 400 #涓嬬墖鐨勬渶澶у搴�
+ minHeight: 400 #涓嬬墖鐨勬渶澶ч珮搴�
throughWidth: 3000
throughHeight: 2500
threshold: 5 #涓嬬墖鐨勬渶澶ч槇鍊�
--
Gitblit v1.8.0