From 5d4bbdc4f5dd55b2094e3ffea73701db65f3dad1 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 22 八月 2024 11:34:26 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/HangZhouMes
---
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java | 13 +
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java | 36 +++
UI-Project/src/lang/zh.js | 20 ++
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java | 9
hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java | 3
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue | 407 ++++++++++++++++++++++++++++++++++-----------
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java | 21 ++
UI-Project/src/views/largescreen/largescreen.vue | 29 --
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml | 2
9 files changed, 405 insertions(+), 135 deletions(-)
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index ff52e1c..7c79146 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -247,6 +247,22 @@
intofurnace:'杩涚倝涓�',
beforefurnace:'杩涚倝鍓�',
outfurnace:'宸插嚭鐐夌幓鐠�',
+ print:'鎷胯蛋鎵撳嵃',
+ printing:'鎵撳嵃',
+ projectnumber:'璇疯緭鍏ュ伐绋嬪彿',
+ inquire:'鏌ヨ',
+ project:'宸ョ▼鍙�',
+ awayprocess:'鎷胯蛋宸ュ簭',
+ awayequipment:'鎷胯蛋璁惧',
+ awayteam:'鎷胯蛋鐝粍',
+ flowcard:'娴佺▼鍗�',
+ layer:'灞傚彿',
+ temperinglayout:'鐐夊彿',
+ temperingfeed:'鐗囧簭',
+ width:'瀹�',
+ height:'楂�',
+ thickness:'鍘�',
+ glasstakeout:'鐜荤拑鎷胯蛋娓呭崟',
},
reportWork:{
lowerbit:'涓嬬墖浣�',
@@ -424,7 +440,7 @@
customerName: '瀹㈡埛鍚嶇О',
project: '椤圭洰鍚嶇О',
are: '闈㈢Н',
- quantity: '鍖呰鏂瑰紡',
+ quantity: '鏁伴噺',
warehousing: '鐘舵��',
deliveryDate: '閫佽揣鏃堕棿',
notstocked: '鏈叆搴�',
@@ -485,5 +501,5 @@
presponsibleequipment :'璇烽�夋嫨璐d换璁惧',
remark :'澶囨敞',
premark :'璇疯緭鍏ュ娉�',
- },
+ }
}
\ No newline at end of file
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index 3d790cf..cee0727 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -1,34 +1,93 @@
<script setup>
import {Search} from "@element-plus/icons-vue";
import {reactive} from "vue";
-import {useRouter} from "vue-router"
import request from "@/utils/request"
-import { ref, onMounted, onBeforeUnmount } from 'vue';
+import { ref, onMounted, onBeforeUnmount,nextTick } from 'vue';
import { WebSocketHost ,host} from '@/utils/constants'
import { ElMessage, ElMessageBox } from 'element-plus'
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
import { useI18n } from 'vue-i18n'
+ import { useRouter } from 'vue-router'
const { t } = useI18n()
let language = ref(localStorage.getItem('lang') || 'zh')
const dialogFormVisible = ref(false)
const dialogFormVisiblea = ref(true)
const dialogFormVisibleb = ref(false)
-const blind = ref(false)
+const dialogFormVisiblec = ref(false)
+const blind1 = ref(false)
+const blind2 = ref(false)
+const blinda = ref(false)
+const blindb = ref(false)
+const dialogVisible = ref(false)
const width = ref();
const height = ref();
const adjustedRects1 = ref([]);
const adjustedRects2 = ref([]);
const adjustedRectsa = ref([]);
const adjustedRectsb = ref([]);
+const tableData = ref([])
+const engineerId = ref('')
+const router = useRouter()
const currentGlassId = ref(null);
const currenttemperingFeedSequence = ref(null);
+onMounted(async () => {
+ try {
+ const response = await request.post('/loadGlass/damage/selectDamagePrint', {
+ type: 9,
+ workingProcedure: '閽㈠寲',
+ })
+ if (response.code === 200) {
+ tableData.value = response.data
+ console.log(response.data);
+ } else {
+ ElMessage.warning(res.msg)
+ }
+ } catch (error) {
+ // console.error('Error fetching rects :', error);
+ }
+});
+const selectReportData = async () => {
+ let postData = {
+ type: 9,
+ workingProcedure: '閽㈠寲',
+ ...(engineerId.value !== '' && { engineerId: engineerId.value }),
+ };
+ const response = await request.post("/loadGlass/damage/selectDamagePrint", postData)
+ if (response.code === 200) {
+ tableData.value = response.data;
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+};
+const printing = async () => {
+ let postData = {
+ type: 9,
+ workingProcedure: '閽㈠寲',
+ ...(engineerId.value !== '' && { engineerId: engineerId.value }),
+ };
+ console.log(engineerId.value);
+
+ const response = await request.post("/loadGlass/damage/selectDamagePrintDetails", postData)
+ if (response.code === 200) {
+ dialogVisible.value = true;
+ tableData.value = response.data;
+ await nextTick();
+ window.print();
+} else {
+ ElMessage.error(response.message);
+ }
+};
+const printTable = () => {
+ // 杩欓噷鍙互娣诲姞涓�浜汣SS鏍峰紡鏉ヤ紭鍖栨墦鍗版晥鏋�
+ // 渚嬪锛屽彲浠ユ坊鍔犱竴涓殣钘忕殑鎵撳嵃鏍峰紡琛�
+ window.print();
+};
const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
-const handleMessage = (data) => {
-// 杩涚倝涓�
- if(data.intoGlass2!=null){
- adjustedRects2.value = data.intoGlass2[0].map(rect => {
- isActive: false
- const scaleFactor = 794.67/5087;
+const handleMessage = (data) => {
+ if (data.intoGlass2 && data.intoGlass2.length > 0) {
+ const newRects = data.intoGlass2[0].map(rect => {
+ const scaleFactor = 794.67/5087;
let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
let newX = rect.yCoordinate;
if (rect.width < rect.height) {
@@ -59,15 +118,20 @@
height: adjustedHeight,
widtha: rect.width,
heighta: rect.height,
- };
- });
- }else{
- adjustedRects1.value = ''
}
- if(data.intoGlass!=null){
- adjustedRects1.value = data.intoGlass[0].map(rect => {
- isActive: false
- const scaleFactor = 794.67/5087;
+ });
+ // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��
+ adjustedRects2.value = adjustedRects2.value.map(oldRect => {
+ const newRect = newRects.find(r => r.glassId === oldRect.glassId);
+ if (newRect) {
+ return { ...oldRect, ...newRect, isActive: oldRect.isActive };
+ }
+ return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍�
+ }).concat(newRects.filter(r => !adjustedRects2.value.some(o => o.glassId === r.glassId)));
+ }
+ if (data.intoGlass && data.intoGlass.length > 0) {
+ const newRects = data.intoGlass[0].map(rect => {
+ const scaleFactor = 794.67/5087;
let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
let newX = rect.yCoordinate;
if (rect.width < rect.height) {
@@ -98,16 +162,20 @@
height: adjustedHeight,
widtha: rect.width,
heighta: rect.height,
- };
- });
- }else{
- adjustedRects2.value = ''
}
- // 杩涚倝鍓�
- if(data.waitingGlass!=null){
- adjustedRectsa.value = data.waitingGlass[0].map(rect => {
- isActive: false
- const scaleFactor = 1621.78/5190;
+ });
+ // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��
+ adjustedRects1.value = adjustedRects1.value.map(oldRect => {
+ const newRect = newRects.find(r => r.glassId === oldRect.glassId);
+ if (newRect) {
+ return { ...oldRect, ...newRect, isActive: oldRect.isActive };
+ }
+ return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍�
+ }).concat(newRects.filter(r => !adjustedRects1.value.some(o => o.glassId === r.glassId)));
+ }
+ if (data.waitingGlass && data.waitingGlass.length > 0) {
+ const newRects = data.waitingGlass[0].map(rect => {
+ const scaleFactor = 1621.78/5190;
let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
let newX = rect.yCoordinate;
if (rect.width < rect.height) {
@@ -138,16 +206,20 @@
height: adjustedHeight,
widtha: rect.width,
heighta: rect.height,
- };
-});
- }else{
- adjustedRectsa.value = ''
- }
- // 宸插嚭鐐�
- if(data.outGlass!=null){
- adjustedRectsb.value = data.outGlass[0].map(rect => {
- isActive: false
- const scaleFactor = 1621.78/5190;
+ }
+ });
+ // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��
+ adjustedRectsa.value = adjustedRectsa.value.map(oldRect => {
+ const newRect = newRects.find(r => r.glassId === oldRect.glassId);
+ if (newRect) {
+ return { ...oldRect, ...newRect, isActive: oldRect.isActive };
+ }
+ return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍�
+ }).concat(newRects.filter(r => !adjustedRectsa.value.some(o => o.glassId === r.glassId)));
+ }
+ if (data.outGlass && data.outGlass.length > 0) {
+ const newRects = data.outGlass[0].map(rect => {
+ const scaleFactor = 1621.78/5190;
const scaleFactory = 550/2800;
let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta,newY;
let newX = rect.yCoordinate;
@@ -181,12 +253,18 @@
height: adjustedHeight,
widtha: rect.width,
heighta: rect.height,
- };
-});
- }else{
- adjustedRectsb.value = ''
- }
-};
+ }
+ });
+ // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��
+ adjustedRectsb.value = adjustedRectsb.value.map(oldRect => {
+ const newRect = newRects.find(r => r.glassId === oldRect.glassId);
+ if (newRect) {
+ return { ...oldRect, ...newRect, isActive: oldRect.isActive };
+ }
+ return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍�
+ }).concat(newRects.filter(r => !adjustedRectsb.value.some(o => o.glassId === r.glassId)));
+ }
+};
onMounted(() => {
initializeWebSocket(socketUrl, handleMessage);
});
@@ -219,70 +297,68 @@
return '#911005';
}
}
-// if (adjustedRectsb[0].engineerId != null) {
-// engineerIdDisplayb = adjustedRectsb[0].engineerId
-// }
-// if (adjustedRectsa[0].engineerId != null) {
-// engineerIdDisplaya = adjustedRectsa[0].engineerId
-// }
-// if (adjustedRects2[0].engineerId != null) {
-// engineerIdDisplay2 = adjustedRects2[0].engineerId
-// }
-// if (adjustedRects[0].engineerId != null) {
-// engineerIdDisplay = adjustedRects[0].engineerId
-// }
-function showDialog1(rect) {
+function showDialog1(rect) {
+ const index = adjustedRects1.value.findIndex(r => r.glassId === rect.glassId);
+ if (index !== -1) {
+ adjustedRects1.value[index].isActive = true;
+ }
currentGlassId.value = rect.glassId;
currenttemperingFeedSequence.value = rect.temperingFeedSequence;
- blind.value = true;
- adjustedRects1.value = adjustedRects1.value.map(rect =>
- rect.glass_id === glassId ? { ...rect, isActive: true } : rect
- );
+ blind1.value = true;
}
-function showDialog2(rect) {
+function showDialog2(rect) {
+ const index = adjustedRects2.value.findIndex(r => r.glassId === rect.glassId);
+ if (index !== -1) {
+ adjustedRects2.value[index].isActive = true;
+ }
currentGlassId.value = rect.glassId;
currenttemperingFeedSequence.value = rect.temperingFeedSequence;
- blind.value = true;
- adjustedRects2.value = adjustedRects2.value.map(rect =>
- rect.glass_id === glassId ? { ...rect, isActive: true } : rect
- );
+ blind2.value = true;
}
-function showDialoga(rect) {
+function showDialoga(rect) {
+ const index = adjustedRectsa.value.findIndex(r => r.glassId === rect.glassId);
+ if (index !== -1) {
+ adjustedRectsa.value[index].isActive = true;
+ }
currentGlassId.value = rect.glassId;
currenttemperingFeedSequence.value = rect.temperingFeedSequence;
- blind.value = true;
- adjustedRectsa.value = adjustedRectsa.value.map(rect =>
- rect.glass_id === glassId ? { ...rect, isActive: true } : rect
- );
+ blinda.value = true;
}
-function showDialogb(rect) {
+function showDialogb(rect) {
+ const index = adjustedRectsb.value.findIndex(r => r.glassId === rect.glassId);
+ if (index !== -1) {
+ adjustedRectsb.value[index].isActive = true;
+ }
currentGlassId.value = rect.glassId;
currenttemperingFeedSequence.value = rect.temperingFeedSequence;
- blind.value = true;
- adjustedRectsb.value = adjustedRectsb.value.map(rect =>
- rect.glass_id === glassId ? { ...rect, isActive: true } : rect
- );
+ blindb.value = true;
}
-const handleDialogClose = () => {
- adjustedRects1.value = adjustedRects1.value.map(rect => ({
- ...rect,
- isActive: false
- }));
- // adjustedRects2.value = adjustedRects2.value.map(rect => ({
- // ...rect,
- // isActive: false
- // }));
- // adjustedRectsa.value = adjustedRectsa.value.map(rect => ({
- // ...rect,
- // isActive: false
- // }));
- adjustedRectsb.value = adjustedRectsb.value.map(rect => ({
- ...rect,
- isActive: false
- }));
-}
+ const handleDialogClose1 = () => {
+ adjustedRects1.value.forEach(rect => {
+ rect.isActive = false;
+ });
+ blind1.value = false;
+};
+ const handleDialogClose2 = () => {
+ adjustedRects2.value.forEach(rect => {
+ rect.isActive = false;
+ });
+ blind2.value = false;
+};
+ const handleDialogClosea = () => {
+ adjustedRectsa.value.forEach(rect => {
+ rect.isActive = false;
+ });
+ blinda.value = false;
+};
+ const handleDialogCloseb = () => {
+ adjustedRectsb.value.forEach(rect => {
+ rect.isActive = false;
+ });
+ blindb.value = false;
+};
// 鐮存崯
-const handleDamage = async () => {
+const handleDamage1 = async () => {
try {
const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
glassId: currentGlassId.value,
@@ -293,7 +369,76 @@
})
if (response.code == 200) {
ElMessage.success(response.message);
- blind.value = false;
+ blind1.value = false;
+ updateRectColors();
+ } else {
+ // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+const handleDamage2 = async () => {
+ try {
+ const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+ glassId: currentGlassId.value,
+ // temperingFeedSequence: currenttemperingFeedSequence.value,
+ line: 4001,
+ status: 2,
+ workingProcedure: '閽㈠寲',
+ })
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ blind2.value = false;
+ updateRectColors();
+ } else {
+ // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+const handleDamagea = async () => {
+ try {
+ const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+ glassId: currentGlassId.value,
+ // temperingFeedSequence: currenttemperingFeedSequence.value,
+ line: 4001,
+ status: 2,
+ workingProcedure: '閽㈠寲',
+ })
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ blinda.value = false;
+ updateRectColors();
+ } else {
+ // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+const handleDamageb = async () => {
+ try {
+ const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+ glassId: currentGlassId.value,
+ // temperingFeedSequence: currenttemperingFeedSequence.value,
+ line: 4001,
+ status: 2,
+ workingProcedure: '閽㈠寲',
+ })
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ blindb.value = false;
updateRectColors();
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
@@ -312,9 +457,10 @@
</script>
<template>
<div style="margin-top: 10px;">
- <el-button style="margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true;dialogFormVisible = false;dialogFormVisibleb = false;" >{{ $t('processCard.beforefurnace') }}</el-button>
- <el-button style="margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisible = true;dialogFormVisiblea = false;dialogFormVisibleb = false;">{{ $t('processCard.intofurnace') }}</el-button>
- <el-button id="searchButton" type="success" @click="dialogFormVisibleb = true;dialogFormVisible = false;dialogFormVisiblea = false">{{ $t('processCard.outfurnace') }}</el-button>
+ <el-button style="margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true;dialogFormVisible = false;dialogFormVisibleb = false;dialogFormVisiblec = false;" >{{ $t('processCard.beforefurnace') }}</el-button>
+ <el-button style="margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisible = true;dialogFormVisiblea = false;dialogFormVisibleb = false;dialogFormVisiblec = false;">{{ $t('processCard.intofurnace') }}</el-button>
+ <el-button id="searchButton" type="success" @click="dialogFormVisibleb = true;dialogFormVisible = false;dialogFormVisiblea = false;dialogFormVisiblec = false;">{{ $t('processCard.outfurnace') }}</el-button>
+ <el-button id="searchButton" type="info" @click="dialogFormVisiblec = true;dialogFormVisibleb = false;dialogFormVisible = false;dialogFormVisiblea = false">{{ $t('processCard.print') }}</el-button>
<div v-if="dialogFormVisible" >
<el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading">
<div style="width: 49%;float: left;background-color: #f4f4f5;height: 550px;">
@@ -430,12 +576,72 @@
</div>
</el-card>
</div>
-
-<el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose">
- <el-button type="warning" plain :icon="Delete" @click="handleDamage" style="width: 140px;margin-left: 10px;">
+<div v-if="dialogFormVisiblec">
+ <!-- 鎵撳嵃 -->
+ <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading">
+ <div style="display: flex; flex-direction: row; align-items: center; margin-top: 5px;margin-left: 10px;">
+ <el-input :placeholder="$t('processCard.projectnumber')" v-model="engineerId" autocomplete="off" style="width: 300px;"/>
+ <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('processCard.inquire') }}</el-button>
+ <el-button type="info" style="margin-left: 10px;" @click="printing()">{{ $t('processCard.printing') }}</el-button>
+ </div>
+
+ <el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
+ <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+ <el-table
+ height="350"
+ ref="table"
+ :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
+ :data="tableData"
+ >
+ <el-table-column prop="engineerId" :label="$t('processCard.project')" width="200" align="center"/>
+ <el-table-column prop="workingProcedure" :label="$t('processCard.awayprocess')" align="center"/>
+ <el-table-column prop="deviceName" :label="$t('processCard.awayequipment')" align="center"/>
+ <el-table-column prop="teamsGroupsName" :label="$t('processCard.awayteam')" align="center"/>
+ </el-table>
+ </div>
+ </el-card>
+ </el-card>
+</div>
+<el-dialog v-model="blind1" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose1">
+ <el-button type="warning" plain :icon="Delete" @click="handleDamage1" style="width: 140px;margin-left: 10px;">
+ {{ $t('order.dilapidation') }}
+ </el-button>
+ </el-dialog>
+<el-dialog v-model="blind2" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose2">
+ <el-button type="warning" plain :icon="Delete" @click="handleDamage2" style="width: 140px;margin-left: 10px;">
+ {{ $t('order.dilapidation') }}
+ </el-button>
+ </el-dialog>
+<el-dialog v-model="blinda" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClosea">
+ <el-button type="warning" plain :icon="Delete" @click="handleDamagea" style="width: 140px;margin-left: 10px;">
+ {{ $t('order.dilapidation') }}
+ </el-button>
+ </el-dialog>
+<el-dialog v-model="blindb" top="30vh" width="15%" style="text-align: center;" @close="handleDialogCloseb">
+ <el-button type="warning" plain :icon="Delete" @click="handleDamageb" style="width: 140px;margin-left: 10px;">
{{ $t('order.dilapidation') }}
</el-button>
</el-dialog>
+ <el-dialog
+ v-model="dialogVisible"
+ width="100%"
+ :title="$t('processCard.glasstakeout')"
+ top="0vh"
+ >
+ <el-table
+ :data="tableData"
+ style="width: 100%;height: 860px"
+ >
+ <el-table-column prop="flowCardId" :label="$t('processCard.flowcard')" width="140" align="center"/>
+ <el-table-column prop="layer" :label="$t('processCard.layer')" align="center" width="80"/>
+ <el-table-column prop="engineerId" :label="$t('processCard.project')" align="center" width="110"/>
+ <el-table-column prop="temperingLayoutId" :label="$t('processCard.temperinglayout')" align="center" width="80"/>
+ <el-table-column prop="temperingFeedSequence" :label="$t('processCard.temperingfeed')" align="center" width="80"/>
+ <el-table-column prop="width" :label="$t('processCard.width')" align="center" width="80"/>
+ <el-table-column prop="height" :label="$t('processCard.height')" align="center" width="80"/>
+ <el-table-column prop="thickness" :label="$t('processCard.thickness')" align="center" width="80"/>
+ </el-table>
+ </el-dialog>
</div>
</template>
<style scoped>
@@ -509,7 +715,6 @@
}
#rect {
position: relative; /* 纭繚绠ご鍙互鐩稿浜庣煩褰㈠畾浣� */
- /* 鍏朵粬鏍峰紡 */
}
.centered-text {
/* 璁剧疆鏂囧瓧灞呬腑鏍峰紡 */
diff --git a/UI-Project/src/views/largescreen/largescreen.vue b/UI-Project/src/views/largescreen/largescreen.vue
index 0ac8dc0..5270e48 100644
--- a/UI-Project/src/views/largescreen/largescreen.vue
+++ b/UI-Project/src/views/largescreen/largescreen.vue
@@ -1,6 +1,6 @@
<template>
<el-card style="flex: 1;margin-left: 1px;margin-top: 10px;margin-right: 1px;" v-loading="loading">
- <el-scrollbar height="600px">
+ <el-scrollbar height="800px">
<div id="top" style="height: 150px;display: flex;">
<div class="echarts-container">
<div v-for="(processData, index) in processesData" :key="index" class="echarts-item">
@@ -46,32 +46,9 @@
<div class="moving-rect xiapianji5" v-show="xiapian5"></div>
<div class="moving-rect xiapianji6" v-show="xiapian6"></div>
</div>
-<!-- <div class="parter" style="margin-top: 10px;margin-left: 150px; height: 240px;width: 1000px;">
- <img src="../../assets/dpxsa.png" style="margin-left: -10px; width: 100%;height: 100%;" alt="Your Image">
- <div class="moving-rect vertical"></div>
- <div class="moving-rect all"></div>
- <div class="moving-rect horizontal"></div>
- <div class="moving-rect xiao"></div>
- <div class="moving-rect zhan"></div>
- <div class="moving-rect tu"></div>
- <div class="moving-rect zi"></div>
- <div class="moving-rect xia"></div>
- <div class="moving-rect zan"></div>
- <div class="moving-rect fa"></div>
- <div class="moving-rect hua"></div>
- <div class="moving-rect shui"></div>
-</div> -->
-<!-- <div id="centerright" style="margin-top: 10px;margin-left: 10px; height: 240px;width: 240px;background-color: #911005;">
- <el-table height="240" ref="table" width="340px"
- @selection-change="handleSelectionChange"
- :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
- <el-table-column prop="projectNo" align="center" :label="$t('large.projectnumber')" min-width="50" />
- <el-table-column prop="projectName" align="center" :label="$t('large.projectname')" min-width="50" />
- </el-table>
-</div> -->
</div>
-<div id="bottom" style="margin-top: 10px;height: 190px;background-color: #911005;">
-<el-table height="190" ref="table"
+<div id="bottom" style="margin-top: 10px;height: 190px;">
+<el-table height="390" ref="table"
@selection-change="handleSelectionChange"
:data="tableDatac" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
<el-table-column prop="orderId" align="center" :label="$t('large.orderId')" min-width="50" />
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
index d096488..fc36b35 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
@@ -3,6 +3,7 @@
import cn.hutool.core.date.DateTime;
import com.mes.damage.entity.Damage;
+import com.mes.damage.entity.DamagePrint;
import com.mes.damage.service.DamageService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
@@ -62,6 +63,18 @@
damageService.insertDamage(damage);
return Result.build(200,"鏂板鎴愬姛",1);
}
+ @ApiOperation("鎷胯蛋鏁版嵁鏌ヨ")
+ @PostMapping("/selectDamagePrint")
+ public Result selectDamagePrint(@RequestBody Damage damage) {
+ List<Damage> damage2=damageService.selectDamagePrint(damage);
+ return Result.build(200,"鏌ヨ鎴愬姛",damage2);
+ }
+ @ApiOperation("鎷胯蛋鎵撳嵃鏌ヨ")
+ @PostMapping("/selectDamagePrintDetails")
+ public Result selectDamagePrintDetails(@RequestBody Damage damage) {
+ List<DamagePrint> damage2=damageService.selectDamagePrintDetails(damage);
+ return Result.build(200,"鏌ヨ鎴愬姛",damage2);
+ }
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java
index a993bd7..a3782b3 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java
@@ -1,6 +1,7 @@
package com.mes.damage.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
+import com.github.yulichang.base.MPJBaseMapper;
import com.mes.damage.entity.Damage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -13,6 +14,6 @@
* @since 2024-06-13
*/
@DS("hangzhoumes")
-public interface DamageMapper extends BaseMapper<Damage> {
+public interface DamageMapper extends MPJBaseMapper<Damage> {
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
index 05d6b84..528b941 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
@@ -1,9 +1,12 @@
package com.mes.damage.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.github.yulichang.base.MPJBaseService;
import com.mes.damage.entity.Damage;
+import com.mes.damage.entity.DamagePrint;
import java.util.List;
+import java.util.Map;
/**
* <p>
@@ -13,7 +16,7 @@
* @author wu
* @since 2024-06-13
*/
-public interface DamageService extends IService<Damage> {
+public interface DamageService extends MPJBaseService<Damage> {
List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure);
@@ -32,4 +35,8 @@
* @param damageList
*/
void batchInsertDamage(List<Damage> damageList);
+
+ List<Damage> selectDamagePrint(Damage damage);
+
+ List<DamagePrint> selectDamagePrintDetails(Damage damage);
}
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 8f87d5a..c4debd3 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
@@ -1,8 +1,12 @@
package com.mes.damage.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.query.MPJQueryWrapper;
import com.mes.damage.entity.Damage;
+import com.mes.damage.entity.DamagePrint;
import com.mes.damage.mapper.DamageMapper;
import com.mes.damage.service.DamageService;
import com.mes.glassinfo.entity.GlassInfo;
@@ -10,11 +14,14 @@
import com.mes.work_assignment.entity.WorkAssignment;
import com.mes.work_assignment.mapper.WorkAssignmentMapper;
import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.sql.Timestamp;
import java.time.LocalDateTime;
+import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -28,12 +35,14 @@
* @since 2024-06-13
*/
@Service
-public class DamageServiceImpl extends ServiceImpl<DamageMapper, Damage> implements DamageService {
+public class DamageServiceImpl extends MPJBaseServiceImpl<DamageMapper, Damage> implements DamageService {
@Resource
GlassInfoMapper glassInfoMapper;
@Resource
WorkAssignmentMapper workAssignmentMapper;
+ @Autowired
+ private DamageMapper damageMapper;
/**
* 鏌ヨ鎶ュ伐淇℃伅
@@ -136,4 +145,29 @@
}
this.saveBatch(damageList);
}
+
+ @Override
+ public List<Damage> selectDamagePrint(Damage damage) {
+ QueryWrapper<Damage> wrapper = new QueryWrapper<>();
+ wrapper.select("working_procedure,engineer_id,teams_groups_name,device_name,count(glass_id)as glass_id")
+ .eq("type",damage.getType())
+ .eq("working_procedure",damage.getWorkingProcedure())
+ .groupBy("working_procedure,engineer_id,teams_groups_name,device_name");
+ if (damage.getEngineerId() != null) {
+ wrapper.eq("engineer_id", damage.getEngineerId());
+ }
+ return this.list(wrapper);
+ }
+
+ @Override
+ public List<DamagePrint> selectDamagePrintDetails(Damage damage) {
+ List<DamagePrint> listDamage=damageMapper.selectJoinList(DamagePrint.class,new MPJQueryWrapper<Damage>()
+ .select("b.flow_card_id,b.layer,t.engineer_id,b.tempering_layout_id,b.tempering_feed_sequence,t.glass_id,b.width,b.height,b.thickness")
+ .leftJoin("glass_info as b on t.glass_id=b.glass_id")
+ .eq("t.working_procedure",damage.getWorkingProcedure())
+ .eq("t.type",damage.getType())
+ .eq("t.engineer_id",damage.getEngineerId())
+ );
+ return listDamage;
+ }
}
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java
index ea60109..b4a5334 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java
@@ -12,6 +12,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
@@ -33,14 +36,28 @@
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
*/
- @Scheduled(fixedDelay = 2000)
+ @Scheduled(fixedDelay = 10000)
public void screenHome() {
JSONObject jsonObject = new JSONObject();
Reportingdamage reportingdamage = new Reportingdamage();
- reportingdamage.setReportingWorkTime("2024-05-11");
+ //reportingdamage.setReportingWorkTime("2024-05-11");
+ // 鑾峰彇褰撳墠鏃ユ湡
+ LocalDate today = LocalDate.now();
+ // 璁$畻鏈�杩戜竷澶╃殑寮�濮嬫棩鏈�
+ LocalDate startOfPeriod = today.minusDays(6); // 7澶╃殑鑼冨洿鍖呮嫭浠婂ぉ锛屾墍浠ュ噺鍘�6澶�
+ // 鏈�杩戜竷澶╃殑缁撴潫鏃ユ湡灏辨槸浠婂ぉ
+ LocalDate endOfPeriod = today;
+ // 鏍煎紡鍖栨棩鏈熶负瀛楃涓�
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ String startOfPeriodStr = startOfPeriod.format(formatter);
+ String endOfPeriodStr = endOfPeriod.format(formatter);
+ // 璁剧疆涓烘渶杩戜竷澶╃殑鏃堕棿鑼冨洿
+ reportingdamage.setReportingWorkTime(startOfPeriodStr + " to " + endOfPeriodStr);
+ //reportingdamage.setReportingWorkTime(startOfPeriodStr + " to " + endOfPeriodStr);
//鎵囧舰鍥惧悇璁惧鐨勫姞宸ョ牬鎹熸暟閲�
List<Reportingdamage> device = reportingWorkService.selectDamage(reportingdamage);
jsonObject.append("device", device);
+
//鑾峰彇娆$牬鏈ˉ淇℃伅
List<AwaitingRepair> awaitingRepairs = reportingWorkService.selectAwaitingRepair();
jsonObject.append("awaitingRepairs", awaitingRepairs);
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
index c8c24c9..5a02460 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
@@ -3,7 +3,7 @@
spring:
profiles:
- active: cz
+ active: prod
application:
name: unLoadGlass
--
Gitblit v1.8.0