From a97c0e84c8d1f50aa65935643a580527f30b7ece Mon Sep 17 00:00:00 2001 From: 廖井涛 <2265517004@qq.com> Date: 星期二, 12 三月 2024 08:39:38 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override --- north-glass-erp/src/main/java/com/example/erp/controller/userInfo/SysMenuController.java | 8 north-glass-erp/src/main/resources/mapper/userInfo/SysMenuItem.xml | 1 north-glass-erp/northglass-erp/src/lang/en.js | 21 + north-glass-erp/src/main/java/com/example/erp/entity/pp/ReportingWorkDetail.java | 2 north-glass-erp/northglass-erp/src/main.js | 4 north-glass-erp/target/classes/mapper/pp/ReportingWork.xml | 41 ++ north-glass-erp/northglass-erp/src/lang/zh.js | 22 + north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java | 3 north-glass-erp/src/main/resources/mapper/userInfo/SysMenu.xml | 1 north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/SysMenuItemMapper.java | 2 north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/SysMenuMapper.java | 4 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportWorkService.java | 1 north-glass-erp/northglass-erp/package-lock.json | 82 ++++++ north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java | 22 + north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java | 2 north-glass-erp/src/main/resources/mapper/pp/ReportingWorkDetail.xml | 7 north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue | 206 ++++++++++++---- north-glass-erp/src/main/java/com/example/erp/controller/userInfo/SysMenuItemController.java | 14 north-glass-erp/src/main/java/com/example/erp/service/userInfo/SysMenuService.java | 4 north-glass-erp/target/classes/mapper/pp/ReportingWorkDetail.xml | 7 north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkDetailMapper.java | 1 north-glass-erp/target/classes/mapper/userInfo/SysMenuItem.xml | 1 north-glass-erp/northglass-erp/src/lang/index.js | 18 + north-glass-erp/.idea/dataSources.local.xml | 2 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java | 107 ++++++-- north-glass-erp/target/classes/mapper/userInfo/SysMenu.xml | 1 north-glass-erp/northglass-erp/package.json | 1 north-glass-erp/northglass-erp/src/layout/MainErpView.vue | 19 + north-glass-erp/src/main/java/com/example/erp/service/userInfo/SysMenuItemService.java | 4 north-glass-erp/northglass-erp/src/views/LoginView.vue | 25 + north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml | 41 ++ 31 files changed, 533 insertions(+), 141 deletions(-) diff --git a/north-glass-erp/.idea/dataSources.local.xml b/north-glass-erp/.idea/dataSources.local.xml index 0c4acb4..3fa20a7 100644 --- a/north-glass-erp/.idea/dataSources.local.xml +++ b/north-glass-erp/.idea/dataSources.local.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> - <component name="dataSourceStorageLocal" created-in="IU-232.8660.185"> + <component name="dataSourceStorageLocal" created-in="IU-232.9559.62"> <data-source name="@localhost [2]" uuid="165c5447-d19a-4aaf-af5f-cee92ae696c2"> <database-info product="MySQL" version="8.0.22" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0)" dbms="MYSQL" exact-version="8.0.22" exact-driver-version="8.0"> <extra-name-characters>#@</extra-name-characters> diff --git a/north-glass-erp/northglass-erp/package-lock.json b/north-glass-erp/northglass-erp/package-lock.json index dce25ad..fd36d91 100644 --- a/north-glass-erp/northglass-erp/package-lock.json +++ b/north-glass-erp/northglass-erp/package-lock.json @@ -17,6 +17,7 @@ "pinia-plugin-persistedstate": "^3.2.0", "sortablejs": "^1.15.1", "vue": "^3.3.4", + "vue-i18n": "^9.10.1", "vue-router": "^4.2.4", "vxe-table": "^4.5.15", "xe-utils": "^3.5.14", @@ -457,6 +458,38 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==" + }, + "node_modules/@intlify/core-base": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.10.1.tgz", + "integrity": "sha512-0+Wtjj04GIyglh5KKiNjRwgjpHrhqqGZhaKY/QVjjogWKZq5WHROrTi84pNVsRN18QynyPmjtsVUWqFKPQ45xQ==", + "dependencies": { + "@intlify/message-compiler": "9.10.1", + "@intlify/shared": "9.10.1" + }, + "engines": { + "node": ">= 16" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.10.1.tgz", + "integrity": "sha512-b68UTmRhgZfswJZI7VAgW6BXZK5JOpoi5swMLGr4j6ss2XbFY13kiw+Hu+xYAfulMPSapcHzdWHnq21VGnMCnA==", + "dependencies": { + "@intlify/shared": "9.10.1", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 16" + } + }, + "node_modules/@intlify/shared": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.10.1.tgz", + "integrity": "sha512-liyH3UMoglHBUn70iCYcy9CQlInx/lp50W2aeSxqqrvmG+LDj/Jj7tBJhBoQL4fECkldGhbmW0g2ommHfL6Wmw==", + "engines": { + "node": ">= 16" + } }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", @@ -1502,6 +1535,22 @@ "@vue/shared": "3.3.4" } }, + "node_modules/vue-i18n": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.10.1.tgz", + "integrity": "sha512-37HVJQZ/pZaRXGzFmmMomM1u1k7kndv3xCBPYHKEVfv5W3UVK67U/TpBug71ILYLNmjHLHdvTUPRF81pFT5fFg==", + "dependencies": { + "@intlify/core-base": "9.10.1", + "@intlify/shared": "9.10.1", + "@vue/devtools-api": "^6.5.0" + }, + "engines": { + "node": ">= 16" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, "node_modules/vue-router": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", @@ -1796,6 +1845,29 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==" + }, + "@intlify/core-base": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.10.1.tgz", + "integrity": "sha512-0+Wtjj04GIyglh5KKiNjRwgjpHrhqqGZhaKY/QVjjogWKZq5WHROrTi84pNVsRN18QynyPmjtsVUWqFKPQ45xQ==", + "requires": { + "@intlify/message-compiler": "9.10.1", + "@intlify/shared": "9.10.1" + } + }, + "@intlify/message-compiler": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.10.1.tgz", + "integrity": "sha512-b68UTmRhgZfswJZI7VAgW6BXZK5JOpoi5swMLGr4j6ss2XbFY13kiw+Hu+xYAfulMPSapcHzdWHnq21VGnMCnA==", + "requires": { + "@intlify/shared": "9.10.1", + "source-map-js": "^1.0.2" + } + }, + "@intlify/shared": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.10.1.tgz", + "integrity": "sha512-liyH3UMoglHBUn70iCYcy9CQlInx/lp50W2aeSxqqrvmG+LDj/Jj7tBJhBoQL4fECkldGhbmW0g2ommHfL6Wmw==" }, "@jridgewell/sourcemap-codec": { "version": "1.4.15", @@ -2488,6 +2560,16 @@ "@vue/shared": "3.3.4" } }, + "vue-i18n": { + "version": "9.10.1", + "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.10.1.tgz", + "integrity": "sha512-37HVJQZ/pZaRXGzFmmMomM1u1k7kndv3xCBPYHKEVfv5W3UVK67U/TpBug71ILYLNmjHLHdvTUPRF81pFT5fFg==", + "requires": { + "@intlify/core-base": "9.10.1", + "@intlify/shared": "9.10.1", + "@vue/devtools-api": "^6.5.0" + } + }, "vue-router": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", diff --git a/north-glass-erp/northglass-erp/package.json b/north-glass-erp/northglass-erp/package.json index 7a8a0c3..585a399 100644 --- a/north-glass-erp/northglass-erp/package.json +++ b/north-glass-erp/northglass-erp/package.json @@ -17,6 +17,7 @@ "pinia-plugin-persistedstate": "^3.2.0", "sortablejs": "^1.15.1", "vue": "^3.3.4", + "vue-i18n": "^9.10.1", "vue-router": "^4.2.4", "vxe-table": "^4.5.15", "xe-utils": "^3.5.14", diff --git a/north-glass-erp/northglass-erp/src/lang/en.js b/north-glass-erp/northglass-erp/src/lang/en.js new file mode 100644 index 0000000..40d012c --- /dev/null +++ b/north-glass-erp/northglass-erp/src/lang/en.js @@ -0,0 +1,21 @@ +export default { + login:{ + userErr:'Please enter your user id', + pwErr:'Please enter your password', + loginSuccessful:'User login successful', + connectErr:'server connection failed', + user:'user', + password:'pass', + + + SysName:'North Glass ERP System', + login:'login', + register:'register', + }, + main:{ + connectErr:'The server connection is abnormal. Please try again later', + titleFirst:"Welcome ", + titleLast:' to use North Glass ERP system锛�' + } + +} \ No newline at end of file diff --git a/north-glass-erp/northglass-erp/src/lang/index.js b/north-glass-erp/northglass-erp/src/lang/index.js new file mode 100644 index 0000000..4b4c72b --- /dev/null +++ b/north-glass-erp/northglass-erp/src/lang/index.js @@ -0,0 +1,18 @@ + +import { createI18n} from 'vue-i18n' +import zh from "./zh" +import en from "./en" + +let messages = { + zh:zh, + en: en +} + +const i18n = createI18n({ + locale: localStorage.getItem('lang') || 'en', // 璁剧疆褰撳墠璇█绫诲瀷 + legacy: false, // 濡傛灉瑕佹敮鎸乧ompositionAPI锛屾椤瑰繀椤昏缃负false; + globalInjection: true, // 鍏ㄥ眬娉ㄥ唽$t鏂规硶 + messages +}) + +export default i18n \ No newline at end of file diff --git a/north-glass-erp/northglass-erp/src/lang/zh.js b/north-glass-erp/northglass-erp/src/lang/zh.js new file mode 100644 index 0000000..79e13ce --- /dev/null +++ b/north-glass-erp/northglass-erp/src/lang/zh.js @@ -0,0 +1,22 @@ +export default { + login:{ + userErr:'璇疯緭鍏ヤ綘鐨勮处鍙�', + pwErr:'璇疯緭鍏ヤ綘鐨勫瘑鐮�', + loginSuccessful:'鐧婚檰鎴愬姛', + connectErr:'鏈嶅姟鍣ㄨ繛鎺ュけ璐�', + user:'鐢ㄦ埛', + password:'瀵嗙爜', + SysName:'鍖楃幓鑷姩鍖朎RP绠$悊绯荤粺', + login:'鐧婚檰', + register:'娉ㄥ唽', + }, + main:{ + connectErr:'鏈嶅姟鍣ㄨ繛鎺ュ紓甯革紝璇风◢鍚庡啀璇�', + titleFirst:"娆㈣繋 ", + titleLast:' 浣跨敤鍖楃幓ERP绯荤粺锛�' + }, + order:{ + + } + +} \ No newline at end of file diff --git a/north-glass-erp/northglass-erp/src/layout/MainErpView.vue b/north-glass-erp/northglass-erp/src/layout/MainErpView.vue index 7c492b9..7072d2d 100644 --- a/north-glass-erp/northglass-erp/src/layout/MainErpView.vue +++ b/north-glass-erp/northglass-erp/src/layout/MainErpView.vue @@ -1,12 +1,17 @@ <script setup> import { RouterLink,useRouter} from 'vue-router' import useUserInfoStore from '@/stores/userInfo' -import request from "@/utils/request"; -import {ElMessage} from "element-plus"; +import request from "@/utils/request" +import {ElMessage} from "element-plus" import {onMounted, reactive, ref, watch} from "vue" import deepClone from "@/utils/deepClone" import userInfo from '@/stores/userInfo' -import {Close, Grid, Histogram, MessageBox, SwitchButton} from "@element-plus/icons-vue"; +import {Close, Grid, Histogram, MessageBox, SwitchButton} from "@element-plus/icons-vue" +import { useI18n } from 'vue-i18n' +import i18n from "@/lang/index" +const lang = i18n.global.locale.value +//璇█鑾峰彇 +const { t } = useI18n() const store=userInfo() const router = useRouter() @@ -23,7 +28,7 @@ //鎻愬彇妯″潡鍒楄〃 let menuList=$ref([]) -request.get("/menu").then((res) => { +request.get(`/menu/getMenu/${lang}`).then((res) => { if(res.code==200){ menuList= deepClone(res.data) }else{ @@ -31,13 +36,13 @@ router.push("/login") } }).catch((e)=>{ - ElMessage.warning("鏈嶅姟鍣ㄨ繛鎺ュ紓甯革紝璇风◢鍚庡啀璇�") + ElMessage.warning(t('main.connectErr')) router.push("/login") }) //鑾峰彇鑿滃崟鍒楄〃 let menuItemList=$ref([]) -request.get("/menuItem").then((res) => { +request.get(`/menuItem/getMenuItem/${lang}`).then((res) => { if(res.code==200){ menuItemList= deepClone(res.data) }else{ @@ -83,7 +88,7 @@ <el-header > <div style="height: 100%;width: 100%;display: flex"> <img src="../assets/northGlass.ico" alt="" style="max-width: 100%;max-height: 100%"> - <h3 style="margin: 1rem ;font-weight: bold;width: 20vw;"> 娆㈣繋{{ user }}浣跨敤鍖楃幓ERP绯荤粺锛�</h3> + <h3 style="margin: 1rem ;font-weight: bold;width: 40vw;"> {{$t('main.titleFirst') + user + $t('main.titleLast')}}</h3> <span style="height: 70%;width: 78vw;margin-top: 1rem;" > <el-button class="sys-quit" @click="quit" type="info" round> diff --git a/north-glass-erp/northglass-erp/src/main.js b/north-glass-erp/northglass-erp/src/main.js index d366da6..779d678 100644 --- a/north-glass-erp/northglass-erp/src/main.js +++ b/north-glass-erp/northglass-erp/src/main.js @@ -10,6 +10,9 @@ import 'element-plus/dist/index.css' import VXETable from 'vxe-table' import 'vxe-table/lib/style.css' +import i18n from "@/lang" + + const app = createApp(App) const pinia = createPinia() @@ -20,5 +23,6 @@ app.use(ElementPlus,{ locale: zhCn, }) +app.use(i18n) app.mount('#app') diff --git a/north-glass-erp/northglass-erp/src/views/LoginView.vue b/north-glass-erp/northglass-erp/src/views/LoginView.vue index 154d12b..fd328cc 100644 --- a/north-glass-erp/northglass-erp/src/views/LoginView.vue +++ b/north-glass-erp/northglass-erp/src/views/LoginView.vue @@ -7,6 +7,9 @@ import request from '@/utils/request' import userInfo from '@/stores/userInfo' import { sendSock, createWebSocket, closeSock,global_callback1 } from "@/utils/webSocket" +import { useI18n } from 'vue-i18n' +//璇█鑾峰彇 +const { t } = useI18n() const store=userInfo() let ruleFormRef = ref<FormInstance>() @@ -24,7 +27,7 @@ const validateUser = (rule: any, value: any, callback: any) => { if (value === '') { - callback(new Error('璇疯緭鍏ヤ綘鐨勮处鍙�')) + callback(new Error(t('login.userErr'))) } else { callback() } @@ -32,7 +35,7 @@ const validatePass = (rule: any, value: any, callback: any) => { if (value === '') { - callback(new Error('璇疯緭鍏ヤ綘鐨勫瘑鐮�')) + callback(new Error(t('login.psErr'))) } else { callback() } @@ -55,14 +58,14 @@ store.$patch({user:res.data}) router.push('/main') - ElMessage.success(`鐧诲綍鎴愬姛`) + ElMessage.success(t('login.loginSuccessful')) } else { ElMessage.error(res['msg']) loginLoadings.value=false return false } }).catch(error => { - ElMessage.error("鏈嶅姟鍣ㄨ繛鎺ュけ璐�") + ElMessage.error(t('login.connectErr')) loginLoadings.value=false return false }) @@ -102,7 +105,7 @@ <img id="img-pic" src="@/assets/img.png" alt=""> </div> <div id="div-login"> - <h2>鍖楃幓鑷姩鍖朎RP绠$悊绯荤粺</h2> + <h2>{{$t('login.SysName')}}</h2> <el-form @submit.native.prevent ref="ruleFormRef" @@ -110,22 +113,22 @@ status-icon :rules="rules" > - <el-form-item label="鐢ㄦ埛锛�" prop="userId"> + <el-form-item :label="$t('login.user')+':'" prop="userId"> <el-input v-model="userForm.userId" type="text" autocomplete="off" :prefix-icon="Avatar" - placeholder="璇疯緭鍏ヤ綘鐨勮处鍙�" + :placeholder="$t('login.userErr')" /> </el-form-item> - <el-form-item label="瀵嗙爜锛�" prop="pass"> + <el-form-item :label="$t('login.password')+':'" prop="pass"> <el-input v-model="userForm.pass" type="password" autocomplete="off" :prefix-icon="Lock" - placeholder="璇疯緭鍏ヤ綘鐨勫瘑鐮�" + :placeholder="$t('login.pwErr')" /> </el-form-item> <el-form-item id="submitForm"> @@ -133,7 +136,7 @@ :loading="registerLoadings" type="primary" @click="register" - >娉ㄥ唽 + >{{$t('login.register')}} </el-button> <el-button :loading="loginLoadings" @@ -141,7 +144,7 @@ native-type="submit" @click="submitForm(ruleFormRef)" @keyup.enter.native="keyDown(e)" - >鐧诲綍 + >{{$t('login.login')}} </el-button> </el-form-item> diff --git a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue index f4fbfe0..2a58df2 100644 --- a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue +++ b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue @@ -1,6 +1,6 @@ <script setup> import {computed, nextTick, onMounted, reactive, ref, toRefs} from "vue"; -import {useRouter} from 'vue-router' +import {useRouter,useRoute} from 'vue-router' import request from "@/utils/request"; import {ElMessage} from "element-plus"; import {changeFilterEvent, filterChanged} from "@/hook" @@ -10,15 +10,16 @@ let brokenVisible = ref(false) const xGrid = ref() const brokenGrid =ref() -let router = useRouter() +const router = useRouter() +const route = useRoute() const user=userInfo() - //瀹氫箟琛ㄥご鏁版嵁 const titleUploadData = ref({ //娴佺▼鍗″彿 - processId: 'NG24030701B01/1', + processId: 'NG24030804A02/1', //閿�鍞崟鍙� orderId: '', + reviewedState:0, //鐢熶骇鍗曞彿 productionId: '', //璁惧绫诲瀷 @@ -75,6 +76,24 @@ }) + +onMounted(() =>{ + if(route.query.processId !== undefined && route.query.processId!=='' && route.query.processId!=null ){ + titleUploadData.value.processId = route.query.processId + } + //鍒ゆ柇鏄惁浼犲叆鎶ュ伐缂栧彿 + if(route.query.reportingWorkId!== undefined && route.query.reportingWorkId!=='' && route.query.reportingWorkId!=null){ + request.post(`reportingWork/selectUpdateReportingWork/${route.query.reportingWorkId}`).then(res=>{ + if(res.code === '200'){ + titleUploadData.value = res.data.reportingWork + console.log(res.data) + xGrid.value.reloadData(res.data.reportingWorkDetails) + } + }) + } +}) + + //琛ㄥ熬姹傚拰 const sumNum = (list, field) => { let count = 0 @@ -87,20 +106,6 @@ const optionVal = ref('') -const options = [ - { - value: '鍒囧壊', - label: '鍒囧壊', - }, - { - value: '纾ㄨ竟', - label: '纾ㄨ竟', - }, - { - value: '閽㈠寲', - label: '閽㈠寲', - }, -] //鐝 const classesVal = ref('鏃╃彮') @@ -205,12 +210,12 @@ showOverflow: "ellipsis", filterMethod: filterChanged }, - {field: 'quantity', title: '涓婂伐瀹屽伐鏁伴噺',}, + {field: 'quantity', title: '鍙姤鏁伴噺',}, { - field: 'completedQuantity', title: '瀹屽伐鏁伴噺', + field: 'completedQuantity', title: '瀹屽伐鏁伴噺',width: 120, editRender: { name: 'input', - attrs: {placeholder: ''}, + attrs: {placeholder: ''} }, }, @@ -246,8 +251,8 @@ // {code: 'sameDamage', name: '娆$牬鐩稿悓'}, // {code: 'sameOneCompletion', name: '瀹屽伐涓�鍒楃浉鍚�'}, // {code: 'sameOneDamage', name: '娆$牬涓�鍒楃浉鍚�'}, - {code: 'saveReportingWork', name: '淇濆瓨', status: 'primary', icon: 'vxe-icon-save'}, - {code: 'print_lck', name: '淇濆瓨骞跺鏍�', status: 'primary', icon: 'vxe-icon-save'}, + {code: 'saveReportingWork', name: '淇濆瓨', status: 'primary', icon: 'vxe-icon-save',disabled:true}, + {code: 'saveReportingWorkReview', name: '淇濆瓨骞跺鏍�', status: 'primary', icon: 'vxe-icon-save',disabled:true}, ], // import: false, // export: true, @@ -277,26 +282,21 @@ if ($grid) { switch (code) { case 'saveReportingWork': { - if($grid.getTableData().fullData.length===0){ - ElMessage.warning(`璇烽�夋嫨娴佺▼鍗℃暟鎹甡) - return false - } - const device = titleUploadData.value.deviceName - if(device === null || device === undefined || device === ''){ - ElMessage.error('璇烽�夋嫨鎶ュ伐璁惧锛�') - return - } - const teamsGroupsName = titleUploadData.value.teamsGroupsName - if(teamsGroupsName === null || teamsGroupsName === undefined || teamsGroupsName === ''){ - ElMessage.error('璇烽�夋嫨鎶ュ伐璁惧锛�') - return - } const errMap = await $grid.validate(true) if (errMap) { ElMessage.error(`鏍¢獙涓嶉�氳繃锛乣) return } - saveReportingWork() + saveReportingWork(0) + break + } + case 'saveReportingWorkReview': { + const errMap = await $grid.validate(true) + if (errMap) { + ElMessage.error(`鏍¢獙涓嶉�氳繃锛乣) + return + } + saveReportingWork(1) break } } @@ -481,6 +481,10 @@ const checkClose = async (done) => { + if(brokenGrid.value.getTableData().fullData.length===0){ + done() + return true + } const errMap = await brokenGrid.value.validate(true) if (errMap) { ElMessage.error(`鏍¢獙涓嶉�氳繃锛乣) @@ -493,7 +497,7 @@ }) let reportingWorkNum = isNaN(brokenRow.value.completedQuantity*1)?0:brokenRow.value.completedQuantity*1 - if(breakageQuantityCount+reportingWorkNum>brokenRow.value.quantity*1){ + if((breakageQuantityCount+reportingWorkNum>brokenRow.value.quantity*1) ){ ElMessage.warning(`鎹熻�楁暟:'${breakageQuantityCount}' 瀹屽伐鏁�:'${reportingWorkNum}'涔嬪拰${breakageQuantityCount+reportingWorkNum} 涓嶈兘澶т簬${brokenRow.value.quantity*1}`) @@ -507,7 +511,6 @@ } - //绗竴娆″姞杞芥暟鎹� request.post(`/reportingWork/selectProcess`).then((res) => { @@ -518,7 +521,22 @@ } }) -const saveReportingWork = () => { +const saveReportingWork = (type) => { + + if(xGrid.value.getTableData().fullData.length===0){ + ElMessage.warning(`璇烽�夋嫨娴佺▼鍗℃暟鎹甡) + return false + } + const device = titleUploadData.value.deviceName + if(device === null || device === undefined || device === ''){ + ElMessage.error('璇烽�夋嫨鎶ュ伐璁惧锛�') + return + } + const teamsGroupsName = titleUploadData.value.teamsGroupsName + if(teamsGroupsName === null || teamsGroupsName === undefined || teamsGroupsName === ''){ + ElMessage.error('璇烽�夋嫨鎶ュ伐璁惧锛�') + return + } titleUploadData.value.creator = user.user.userName titleUploadData.value.creatorId = user.user.userId @@ -534,17 +552,30 @@ const requestData = { title:titleUploadData.value, - detail:xGrid.value.getTableData().fullData + detail:xGrid.value.getTableData().fullData, + type:type//瀹℃牳鐘舵�� } + gridOptions.toolbarConfig.buttons[0].disabled=true + gridOptions.toolbarConfig.buttons[1].disabled=true request.post(`/reportingWork/saveReportingWork`,requestData).then(res =>{ if (res.code == 200){ ElMessage.success("鎶ュ伐鎴愬姛") - router.push({path:'/main/reportingWorks/AddReportingWork',query:{random:Math.random()}}) + router.push({path:'/main/reportingWorks/AddReportingWork',query:{processId:titleUploadData.value.processId,random:Math.random()}}) }else{ - ElMessage.error(res.msg) + const errorObj = JSON.parse(res.msg) + const msg = "搴忓彿锛�"+errorObj.orderNumber+'\n' + +'灏忕墖椤哄簭锛�'+errorObj.technologyNumber+'\n' + +"瀹為檯鍙姤宸ユ暟閲忥細"+errorObj.processNum+'<'+ + "鎶ュ伐鏁伴噺锛�"+errorObj.sumNum+'\n' + +"璇峰埛鏂扮晫闈㈤噸鏂版姤宸�" + + ElMessage.error(msg) } }).catch(err =>{ ElMessage.error(err.message) + }).finally(()=>{ + gridOptions.toolbarConfig.buttons[0].disabled=false + gridOptions.toolbarConfig.buttons[1].disabled=false }) } @@ -575,6 +606,51 @@ } }) +let loadingFlag = ref(false) +let disabledFlag = ref(true) +const reviewReportingWork = () => { + const processId = titleUploadData.value.processId + if (processId.indexOf("/") < 0) { + ElMessage.warning("璇疯緭鍏ユ纭牸寮忔祦绋嬪崱") + return + } + let indexOfChar = processId.indexOf("/") + let leftString = processId.slice(0, indexOfChar) + if (leftString.length !== 13) { + ElMessage.warning("璇疯緭鍏ユ纭綅鏁扮殑娴佺▼鍗�") + return + } +//宸ュ簭 + let process = titleUploadData.value.thisProcess + if (process === "" || process == null) { + ElMessage.warning("璇烽�夋嫨宸ュ簭") + return + } + if(titleUploadData.value.previousProcess===''){ + ElMessage.warning("绗竴閬撳伐搴忎笉闇�瑕佸鏍�") + return + } + const reportWork = { + process: titleUploadData.value.previousProcess, + processId:processId + } + loadingFlag.value= true + request.post("/reportingWork/reviewReportingWork",reportWork).then((res) =>{ + if(res.code === '200'){ + ElMessage.success("瀹℃牳鎴愬姛") + router.push({path:'/main/reportingWorks/AddReportingWork', + query:{ + processId:titleUploadData.value.processId, + random:Math.random() + } + }) + } + }).finally( + loadingFlag.value= false + ) + +} + //涓嬫媺娆鹃�夋嫨宸ュ簭鏃舵煡璇� const getWork = () => { @@ -594,7 +670,6 @@ //宸ュ簭 let process = titleUploadData.value.thisProcess if (process == "" || process == null) { - ElMessage.warning("璇烽�夋嫨宸ュ簭") return } @@ -610,6 +685,10 @@ request.post(`/reportingWork/addSelectLastWork/${processIdStr}/${technologyStr}/${process}`).then((res) => { if (res.code == 200) { + if(res.data.data===null){ + ElMessage.error("鏈煡璇㈠埌姝ゆ祦绋嬪崱鏁版嵁") + return + } //琛ㄥご璧嬪�� titleUploadData.value = res.data.data titleUploadData.value.processId = processId @@ -629,10 +708,18 @@ titleSelectJson.value.breakageType = res.data.breakageType //娆$牬鍘熷洜 titleSelectJson.value.breakageReason = res.data.breakageReason - //console.log(res.data) + if(titleUploadData.value.reviewedState==1){ + gridOptions.toolbarConfig.buttons[0].disabled=false + gridOptions.toolbarConfig.buttons[1].disabled=false + disabledFlag.value=true + }else { + gridOptions.toolbarConfig.buttons[0].disabled=true + gridOptions.toolbarConfig.buttons[1].disabled=true + disabledFlag.value=false + } + + //鍒ゆ柇鏃╂櫄鐝� titleUploadData.value.classes='鏃╃彮' - - titleUploadData.value.reportingWorkTime = formatCurrentTime() //缁戝畾涓嬫柟琛ㄦ牸 detail.value = res.data.Detail @@ -683,16 +770,20 @@ let hours = dateObj.getHours().toString().padStart(2, '0'); // 灏忔椂 let minutes = dateObj.getMinutes().toString().padStart(2, '0'); // 鍒嗛挓 let seconds = dateObj.getSeconds().toString().padStart(2, '0'); // 绉掓暟 - if(parseInt(hours)>=17)titleUploadData.value.classes='鏅氱彮' + if(parseInt(hours)>=17 && parseInt(hours)<8)titleUploadData.value.classes='鏅氱彮' return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; // 杩斿洖鏍煎紡鍖栧悗鐨勬椂闂村瓧绗︿覆 } -const ptypeChangeEvent = (row) => { - // for (let i = 0; i < row.length; i++){ - // - // let process=row[i].responsibleProcess - // } +const editClosedEvent = ({ row, column }) => { + if (column.property==='completedQuantity') { + xGrid.value.getTableData().fullData.forEach((item, index) =>{ + if(item.order_number===row.order_number){ + item.completedQuantity=row.completedQuantity + } + }) + } } + </script> <template> @@ -710,8 +801,8 @@ /> </el-select> - <el-button type="primary">瀹℃牳閫氳繃</el-button> - <el-button type="primary">瀹℃牳涓嶉�氳繃</el-button> + <el-button :disabled="disabledFlag" :loading="loadingFlag" @click="reviewReportingWork" type="primary">瀹℃牳閫氳繃</el-button> +<!-- <el-button type="primary">瀹℃牳涓嶉�氳繃</el-button>--> <label>娴佺▼鍗¢潰绉細xxx骞虫柟绫�</label> </div> @@ -774,7 +865,7 @@ <el-text>鍙姤宸ユ暟閲忥細</el-text> </el-col> <el-col :span="2"> - <el-text>{{ titleUploadData.flowCard.quantity }}</el-text> + <el-text>{{ titleUploadData.previousProcessQuantity }}</el-text> </el-col> <el-col :span="2"> @@ -856,6 +947,7 @@ v-bind="gridOptions" v-on="gridEvents" @filter-change="filterChanged" + @edit-closed="editClosedEvent" > diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java index d2efb21..b1653b4 100644 --- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java +++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java @@ -5,6 +5,8 @@ import com.example.erp.entity.pp.ReportingWork; import com.example.erp.exception.ServiceException; import com.example.erp.service.pp.ReportingWorkService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -12,9 +14,14 @@ import java.sql.Date; @RestController @RequestMapping("/reportingWork") +@Api(value="鎶ュ伐controller",tags={"鎶ュ伐鎺у埗鍣�"}) public class ReportingWorkController { - @Autowired + final ReportingWorkService reportingWorkService; + + public ReportingWorkController(ReportingWorkService reportingWorkService) { + this.reportingWorkService = reportingWorkService; + } @PostMapping ("/addSelectLastWork/{processIdStr}/{technologyStr}/{process}") @@ -29,10 +36,23 @@ return Result.seccess(reportingWorkService.SelectProcessSv()); } + @ApiOperation("鎶ュ伐鏂板") @PostMapping ("/saveReportingWork") public Result SaveReportingWork(@RequestBody Map<String,Object> reportingWork) { return Result.seccess(reportingWorkService.SaveReportingWorkSv(reportingWork)); } + @ApiOperation("鎶ュ伐瀹℃牳") + @PostMapping ("/reviewReportingWork") + public Result ReviewReportingWork(@RequestBody Map<String,String> reportingWork) { + return Result.seccess(reportingWorkService.ReviewReportingWorkSv(reportingWork)); + } + + @ApiOperation("鎶ュ伐淇敼鏌ヨ") + @PostMapping ("/selectUpdateReportingWork/{reportingWorkId}") + public Result SelectUpdateReportingWork(@PathVariable String reportingWorkId) { + return Result.seccess(reportingWorkService.selectUpdateReportingWorkSv(reportingWorkId)); + } + } diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/SysMenuController.java b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/SysMenuController.java index c4f7e29..e77246f 100644 --- a/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/SysMenuController.java +++ b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/SysMenuController.java @@ -6,6 +6,7 @@ import com.example.erp.tools.netty.MyChannelHandlerPool; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -18,12 +19,13 @@ private CacheUtil cacheUtil; @Autowired private SysMenuService sysMenuService; - @GetMapping - public Result getMenu(){ + @GetMapping("/getMenu/{lang}") + public Result getMenu(@PathVariable String lang){ + System.out.println(lang); MyChannelHandlerPool myChannelHandlerPool = new MyChannelHandlerPool(); //myChannelHandlerPool.sendMsg("123"); //MyChannelHandlerPool.channelGroup.writeAndFlush( new TextWebSocketFrame("123123")); - return Result.seccess(sysMenuService.getMenu()); + return Result.seccess(sysMenuService.getMenu(lang)); } } diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/SysMenuItemController.java b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/SysMenuItemController.java index a2bae8e..6ea6989 100644 --- a/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/SysMenuItemController.java +++ b/north-glass-erp/src/main/java/com/example/erp/controller/userInfo/SysMenuItemController.java @@ -4,16 +4,22 @@ import com.example.erp.service.userInfo.SysMenuItemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/menuItem") public class SysMenuItemController { - @Autowired + final SysMenuItemService sysMenuItemService; - @GetMapping - public Result getMenuItem(){ - return Result.seccess(sysMenuItemService.getMenuItem()); + + public SysMenuItemController(SysMenuItemService sysMenuItemService) { + this.sysMenuItemService = sysMenuItemService; + } + + @GetMapping("/getMenuItem/{lang}") + public Result getMenuItem(@PathVariable String lang){ + return Result.seccess(sysMenuItemService.getMenuItem(lang)); } } diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/pp/ReportingWorkDetail.java b/north-glass-erp/src/main/java/com/example/erp/entity/pp/ReportingWorkDetail.java index 6cac444..4268c23 100644 --- a/north-glass-erp/src/main/java/com/example/erp/entity/pp/ReportingWorkDetail.java +++ b/north-glass-erp/src/main/java/com/example/erp/entity/pp/ReportingWorkDetail.java @@ -59,7 +59,7 @@ //寰呰繑宸ユ暟閲� private Integer waitReworkQuantity; //杩斿伐瀹℃牳鐘舵�� - private Integer reviewerState; + private Integer reviewStatus; //杩斿伐瀹℃牳浜� private String reviewer; //杩斿伐鏃堕棿 diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java b/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java index 28c5ed8..1f73f53 100644 --- a/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java +++ b/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java @@ -10,7 +10,7 @@ import java.time.LocalDate; @Data -@TableName("`order`") +@TableName("sd.`order`") public class Order { @TableId(type = IdType.AUTO) diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java index 8f10826..1925556 100644 --- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java +++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java @@ -1,5 +1,6 @@ package com.example.erp.mapper.pp; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.erp.entity.pp.FlowCard; import com.example.erp.entity.sd.Order; import com.example.erp.entity.sd.OrderDetail; @@ -11,7 +12,7 @@ import java.util.Map; @Mapper -public interface FlowCardMapper { +public interface FlowCardMapper extends BaseMapper<FlowCard> { //娴佺▼鍗$鐞嗘煡璇� List<FlowCard> selectFlowCard(Integer offset, Integer pageSize, Date selectTime1, Date selectTime2, FlowCard flowCard); diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkDetailMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkDetailMapper.java index b7671f2..b872c80 100644 --- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkDetailMapper.java +++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkDetailMapper.java @@ -26,4 +26,5 @@ @Param("sDate") String startTime,@Param("eDate") String endTime,ReportingWorkDetail reportingWorkDetail); + List<ReportingWorkDetail> selectByreportingWorkId(String reportingWorkId); } diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/SysMenuItemMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/SysMenuItemMapper.java index bf5c74a..474fd6a 100644 --- a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/SysMenuItemMapper.java +++ b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/SysMenuItemMapper.java @@ -8,5 +8,5 @@ @Mapper public interface SysMenuItemMapper { - List<SysMenuItem> findAll() ; + List<SysMenuItem> findAll(String lang) ; } diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/SysMenuMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/SysMenuMapper.java index 4a965fa..9d0fa67 100644 --- a/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/SysMenuMapper.java +++ b/north-glass-erp/src/main/java/com/example/erp/mapper/userInfo/SysMenuMapper.java @@ -9,6 +9,6 @@ @Mapper public interface SysMenuMapper { - @Select("select a.id, a.menuName from sys_menu as a where a.state=1 order by a.listSort") - List<SysMenu> findAll(); + + List<SysMenu> findAll(String lang); } diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportWorkService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportWorkService.java index a3d3e44..41a1fdf 100644 --- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportWorkService.java +++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportWorkService.java @@ -19,7 +19,6 @@ /*鑾峰彇杩斿伐鏂板鍔熻兘鏁版嵁*/ public Map<String,Object> queryRework (Integer pageNum, Integer pageSize,ReportingWorkDetail reportingWorkDetail ) { Integer offset = (pageNum-1)*pageSize; - Map<String,Object> map = new HashMap<>(); map.put("data",reportingWorkDetailMapper.queryReworkAdd(offset,pageSize, reportingWorkDetail)); return map; diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java index eb184ae..9e5daf6 100644 --- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java +++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java @@ -1,22 +1,23 @@ package com.example.erp.service.pp; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.example.erp.common.Constants; import com.example.erp.entity.pp.DamageDetails; +import com.example.erp.entity.pp.FlowCard; import com.example.erp.entity.pp.ReportingWork; import com.example.erp.entity.pp.ReportingWorkDetail; import com.example.erp.entity.sd.Order; import com.example.erp.entity.sd.OrderDetail; import com.example.erp.entity.sd.OrderProcessDetail; import com.example.erp.exception.ServiceException; -import com.example.erp.mapper.pp.BasicDateProduceMapper; -import com.example.erp.mapper.pp.DamageDetailsMapper; -import com.example.erp.mapper.pp.ReportingWorkDetailMapper; -import com.example.erp.mapper.pp.ReportingWorkMapper; +import com.example.erp.mapper.pp.*; import com.baomidou.dynamic.datasource.annotation.DS; +import com.example.erp.mapper.sd.OrderMapper; import com.example.erp.mapper.sd.OrderProcessDetailMapper; import com.example.erp.service.sd.OrderProcessDetailService; import org.springframework.beans.factory.annotation.Autowired; @@ -24,10 +25,7 @@ import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service @DS("pp") @@ -43,19 +41,26 @@ final ReportingWorkDetailMapper reportingWorkDetailMapper; + final OrderMapper + orderMapper; + + final + FlowCardMapper flowCardMapper; final OrderProcessDetailService orderProcessDetailService; - public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, OrderProcessDetailService orderProcessDetailService) { + public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, OrderProcessDetailService orderProcessDetailService, OrderMapper orderMapper, FlowCardMapper flowCardMapper) { this.reportingWorkMapper = reportingWorkMapper; this.basicDateProduceMapper = basicDateProduceMapper; this.damageDetailsMapper = damageDetailsMapper; this.reportingWorkDetailMapper = reportingWorkDetailMapper; this.orderProcessDetailMapper = orderProcessDetailMapper; this.orderProcessDetailService = orderProcessDetailService; + this.orderMapper = orderMapper; + this.flowCardMapper = flowCardMapper; } public Map<String, Object> AddSelectLastWorkSv(String processIdStr, String technologyStr, String process) { @@ -91,7 +96,7 @@ } //System.out.println("褰撳墠宸ュ簭锛�" + process + " 涓婁竴閬撳伐搴忥細" + previousProcess + " 涓嬩竴閬撳伐搴忥細" + nextProcess); //鏌ヨ褰撳墠宸ュ簭鐨勮〃澶存暟鎹� - // System.out.println(reportingWorkMapper.AddSelectLastWorkMp(processIdStr, technologyStr,previousProcess,nextProcess,process)); + //System.out.println(reportingWorkMapper.AddSelectLastWorkMp(processIdStr, technologyStr,previousProcess,nextProcess,process)); map.put("data", reportingWorkMapper.AddSelectLastWorkMp(processIdStr, technologyStr,previousProcess,nextProcess,process)); map.put("thisProcess", processList); break; @@ -159,6 +164,14 @@ String reportingWorkId = "BG"+formattedDate+formattedNumber; reportingWork.setReportingWorkId(reportingWorkId); reportingWork.setProcessId(reportingWork.getProcessId().substring(0,13)); + + int reviewState = (int) reportingWorkJson.get("type"); + if(reviewState==1){ + reportingWork.setReviewed(reportingWork.getCreator()); + reportingWork.setReviewedState(1); + }else{ + reportingWork.setReviewedState(0); + } //涓昏〃鎻掑叆 reportingWorkMapper.insert(reportingWork); @@ -203,25 +216,19 @@ //鍒ゆ柇鏄惁澶т簬褰撳墠鏁伴噺骞朵笖鎶涘嚭寮傚父 if(processNum<(reportingWorkDetail.getBreakageQuantity()+reportingWorkDetail.getCompletedQuantity())){ -// System.out.println(processNum); -// System.out.println(reportingWorkDetail.getBreakageQuantity()); -// System.out.println(reportingWorkDetail.getCompletedQuantity()); - throw new ServiceException(Constants.Code_600,"褰撳墠宸ュ簭鏁伴噺澶т簬娴佺▼鍗¤〃鏁伴噺"); + Map<String,Object> map = new HashMap<>(); + map.put("orderNumber",reportingWorkDetail.getOrderNumber()); + map.put("technologyNumber",reportingWorkDetail.getOrderNumber()); + map.put("processNum",processNum); + map.put("sumNum",reportingWorkDetail.getBreakageQuantity()+reportingWorkDetail.getCompletedQuantity()); + String msg = JSON.toJSONString(map); + throw new ServiceException(Constants.Code_600,msg); } - - - - OrderProcessDetail orderProcessDetail = new OrderProcessDetail(); orderProcessDetail.setBrokenNum(reportingWorkDetail.getBreakageQuantity()); orderProcessDetail.setReportingWorkNum(reportingWorkDetail.getCompletedQuantity()); orderProcessDetail.setReportingWorkNumCount(reportingWorkDetail.getCompletedQuantity()); - - - - - //鏍规嵁璁㈠崟id锛岃鍗曞簭鍙凤紝浠ュ強灏忕墖搴忓彿 鏇存柊灏忕墖娴佺▼鐨勫畬宸ユ暟閲忎互鍙婂埡鐮存暟閲� LambdaUpdateWrapper<OrderProcessDetail> updateWrapper = new LambdaUpdateWrapper<>(); @@ -230,13 +237,61 @@ .eq(OrderProcessDetail::getOrderId, reportingWork.getOrderId()) .eq(OrderProcessDetail::getProcess, reportingWork.getThisProcess()) .eq(OrderProcessDetail::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber()) - .setSql("reporting_work_num_count =reporting_work_num_count +"+orderProcessDetail.getReportingWorkNum()) + .setSql("reporting_work_num_count = reporting_work_num_count +"+orderProcessDetail.getReportingWorkNum()) .setSql("reporting_work_num =reporting_work_num +"+orderProcessDetail.getReportingWorkNum()) .setSql("broken_num =broken_num +"+orderProcessDetail.getBrokenNum()); - orderProcessDetailMapper.update(null,updateWrapper); reportingWorkDetailMapper.insert(reportingWorkDetail); + //鏇存柊娴佺▼鍗¤〃鐨勬姤宸ユ暟閲� + if(Objects.equals(reportingWork.getNextProcess(), "")){ + LambdaUpdateWrapper<FlowCard> flowCardLambdaUpdateWrapper = + new LambdaUpdateWrapper<>(); + flowCardLambdaUpdateWrapper + .eq(FlowCard::getProcessId, reportingWork.getProcessId()) + .eq(FlowCard::getOrderNumber, reportingWorkDetail.getOrderNumber()) + .eq(FlowCard::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber()) + .setSql("inventory_quantity = inventory_quantity +"+orderProcessDetail.getReportingWorkNum()); + flowCardMapper.update(null,flowCardLambdaUpdateWrapper); + } + + }); - return false; + return true; + } + + //涓嬪伐搴忓鏍告柟娉� + public boolean ReviewReportingWorkSv(Map<String, String> reportingWork) { + + String processId = reportingWork.get("processId"); + + LambdaUpdateWrapper + <ReportingWork> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper + .eq(ReportingWork::getProcessId, processId.substring(0,13)) + .eq(ReportingWork::getThisProcess,reportingWork.get("process")) + .eq(ReportingWork::getReviewedState,0) + .setSql("reviewed_state =1"); + reportingWorkMapper.update(null,updateWrapper); + + + return true; + } + + public Map<String,Object> selectUpdateReportingWorkSv(String reportingWorkId) { + ReportingWork reportingWork =reportingWorkMapper.selectOne(new LambdaQueryWrapper<ReportingWork>() + .eq(ReportingWork::getReportingWorkId,reportingWorkId)); + reportingWork.setOrder( + orderMapper.selectOne(new LambdaQueryWrapper<Order>() + .eq(Order::getOrderId,reportingWork.getOrderId()))); + reportingWork.setFlowCard(new FlowCard()); + + List<ReportingWorkDetail> reportingWorkDetails = reportingWorkDetailMapper.selectByreportingWorkId(reportingWorkId); + + + Map<String,Object> map = new HashMap<>(); + map.put("reportingWork",reportingWork); + map.put("reportingWorkDetails",reportingWorkDetails); + return map; + } } diff --git a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/SysMenuItemService.java b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/SysMenuItemService.java index bbaefc9..307466b 100644 --- a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/SysMenuItemService.java +++ b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/SysMenuItemService.java @@ -13,7 +13,7 @@ public class SysMenuItemService { @Autowired SysMenuItemMapper sysMenuItemMapper; - public List<SysMenuItem> getMenuItem() { - return sysMenuItemMapper.findAll(); + public List<SysMenuItem> getMenuItem(String lang) { + return sysMenuItemMapper.findAll(lang); } } diff --git a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/SysMenuService.java b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/SysMenuService.java index 28e2499..a38906f 100644 --- a/north-glass-erp/src/main/java/com/example/erp/service/userInfo/SysMenuService.java +++ b/north-glass-erp/src/main/java/com/example/erp/service/userInfo/SysMenuService.java @@ -14,8 +14,8 @@ @Autowired private SysMenuMapper sysMenuMapper; - public List<SysMenu> getMenu(){ + public List<SysMenu> getMenu(String lang){ - return sysMenuMapper.findAll(); + return sysMenuMapper.findAll(lang); } } diff --git a/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml b/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml index 2ce4438..333af58 100644 --- a/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml +++ b/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml @@ -9,6 +9,8 @@ <result property="previousProcess" column="previous_process"/> <result property="nextProcess" column="next_process"/> <result property="thisProcess" column="this_process"/> + <result property="reviewedState" column="reviewed_state"/> + <result property="previousProcessQuantity" column="previous_process_quantity"/> <association property="order" javaType="com.example.erp.entity.sd.Order"> <result property="customerId" column="customer_id"/> <result property="customerName" column="customer_name"/> @@ -17,7 +19,6 @@ <association property="flowCard" javaType="com.example.erp.entity.pp.FlowCard"> <result property="orderId" column="order_id"/> <result property="productionId" column="production_id"/> - <result property="quantity" column="quantity"/> </association> <association property="reportingWorkDetail" javaType="com.example.erp.entity.pp.ReportingWorkDetail"> <result property="completedQuantity" column="completed_quantity"/> @@ -31,14 +32,20 @@ o.customer_id, o.customer_name, o.project, - SUM(fc.quantity) as quantity, + SUM(fc.quantity) as previous_process_quantity, #{previousProcess} as previous_process, #{nextProcess} as next_process, - #{process} as this_process + #{process} as this_process, + ifnull((rw.reviewed_state),1) as reviewed_state -- 涓嬪伐搴忓鏍哥姸鎬� from sd.order as o - left join flow_card as fc on fc.order_id = o.order_id + left join flow_card as fc on fc.order_id = o.order_id + left join (select if(count(reviewed_state)>0 and process_id=null,1,0) as reviewed_state , + process_id + from reporting_work + where this_process=#{previousProcess} and reviewed_state=0 and process_id=#{processIdStr}) as rw + on rw.process_id = fc.process_id where fc.process_id = #{processIdStr} - and position(fc.technology_number in #{technologyStr}) + and fc.technology_number = #{technologyStr} GROUP BY fc.process_id </select> @@ -80,7 +87,7 @@ ogd.child_width, ogd.child_height, od.shape, - fc.quantity -odpd.reporting_work_num + ifnull(c.patchNumSum,0) as quantity, + fc.quantity -odpd.reporting_work_num -odpd.broken_num + ifnull(c.patchNumSum,0) as quantity, odpd.reporting_work_num_count as completed, odpd.broken_num as onceBroken FROM @@ -123,14 +130,26 @@ ogd.child_width, ogd.child_height, od.shape, - odpds.reporting_work_num -odpd.reporting_work_num + ifnull(c.patchNumSum,0) as quantity, + odpds.reporting_work_num -odpd.reporting_work_num -odpd.broken_num + ifnull(c.patchNumSum,0) as quantity, odpd.reporting_work_num_count as completed, - odpd.broken_num as onceBroken + odpd.broken_num as onceBroken, + ogd.`group` + + FROM sd.order_detail AS od LEFT JOIN sd.order_glass_detail AS ogd ON od.order_id = ogd.order_id AND od.order_number = ogd.order_number + <if test="process == '澶硅兌'"> + AND ogd.`group` = (select `group` + from sd.order_glass_detail + where order_id = ogd.order_id + and order_number = ogd.order_number + and technology_number =#{technologyStr} + limit 1) + </if> + LEFT JOIN flow_card AS fc ON fc.order_id = ogd.order_id and fc.production_id=ogd.production_id @@ -152,8 +171,10 @@ and c.technology_number = fc.technology_number WHERE fc.process_id = #{processIdStr} - AND fc.technology_number = #{technologyStr} - AND odpd.process = #{process} + <if test="process != '涓┖' and process != '澶硅兌' and process != '鍖呰'"> + AND fc.technology_number = #{technologyStr} + </if> + AND odpd.process = #{process} order by fc.order_number </select> diff --git a/north-glass-erp/src/main/resources/mapper/pp/ReportingWorkDetail.xml b/north-glass-erp/src/main/resources/mapper/pp/ReportingWorkDetail.xml index f826223..d022876 100644 --- a/north-glass-erp/src/main/resources/mapper/pp/ReportingWorkDetail.xml +++ b/north-glass-erp/src/main/resources/mapper/pp/ReportingWorkDetail.xml @@ -154,6 +154,13 @@ </select> + <!--鏌ヨdetail鏄庣粏--> + <select id="reportingWorkId"> + select * from reporting_work_detail + where reporting_work_id = #{reportingWorkId} + </select> + + <!--<where> create_time <![CDATA[>=]]> #{startTime} and create_time <![CDATA[<=]]> #{endTime}} diff --git a/north-glass-erp/src/main/resources/mapper/userInfo/SysMenu.xml b/north-glass-erp/src/main/resources/mapper/userInfo/SysMenu.xml index 896626b..df037a3 100644 --- a/north-glass-erp/src/main/resources/mapper/userInfo/SysMenu.xml +++ b/north-glass-erp/src/main/resources/mapper/userInfo/SysMenu.xml @@ -9,6 +9,7 @@ from sys_menu as a where a.state=1 + and a.languageType = #{lang} order by a.listSort ; </select> diff --git a/north-glass-erp/src/main/resources/mapper/userInfo/SysMenuItem.xml b/north-glass-erp/src/main/resources/mapper/userInfo/SysMenuItem.xml index c27acd2..fed0668 100644 --- a/north-glass-erp/src/main/resources/mapper/userInfo/SysMenuItem.xml +++ b/north-glass-erp/src/main/resources/mapper/userInfo/SysMenuItem.xml @@ -9,6 +9,7 @@ from `sys_menu_item` as a where a.state=1 + and a.languageType = #{lang} order by a.menuId,a.listSort ; diff --git a/north-glass-erp/target/classes/mapper/pp/ReportingWork.xml b/north-glass-erp/target/classes/mapper/pp/ReportingWork.xml index 2ce4438..333af58 100644 --- a/north-glass-erp/target/classes/mapper/pp/ReportingWork.xml +++ b/north-glass-erp/target/classes/mapper/pp/ReportingWork.xml @@ -9,6 +9,8 @@ <result property="previousProcess" column="previous_process"/> <result property="nextProcess" column="next_process"/> <result property="thisProcess" column="this_process"/> + <result property="reviewedState" column="reviewed_state"/> + <result property="previousProcessQuantity" column="previous_process_quantity"/> <association property="order" javaType="com.example.erp.entity.sd.Order"> <result property="customerId" column="customer_id"/> <result property="customerName" column="customer_name"/> @@ -17,7 +19,6 @@ <association property="flowCard" javaType="com.example.erp.entity.pp.FlowCard"> <result property="orderId" column="order_id"/> <result property="productionId" column="production_id"/> - <result property="quantity" column="quantity"/> </association> <association property="reportingWorkDetail" javaType="com.example.erp.entity.pp.ReportingWorkDetail"> <result property="completedQuantity" column="completed_quantity"/> @@ -31,14 +32,20 @@ o.customer_id, o.customer_name, o.project, - SUM(fc.quantity) as quantity, + SUM(fc.quantity) as previous_process_quantity, #{previousProcess} as previous_process, #{nextProcess} as next_process, - #{process} as this_process + #{process} as this_process, + ifnull((rw.reviewed_state),1) as reviewed_state -- 涓嬪伐搴忓鏍哥姸鎬� from sd.order as o - left join flow_card as fc on fc.order_id = o.order_id + left join flow_card as fc on fc.order_id = o.order_id + left join (select if(count(reviewed_state)>0 and process_id=null,1,0) as reviewed_state , + process_id + from reporting_work + where this_process=#{previousProcess} and reviewed_state=0 and process_id=#{processIdStr}) as rw + on rw.process_id = fc.process_id where fc.process_id = #{processIdStr} - and position(fc.technology_number in #{technologyStr}) + and fc.technology_number = #{technologyStr} GROUP BY fc.process_id </select> @@ -80,7 +87,7 @@ ogd.child_width, ogd.child_height, od.shape, - fc.quantity -odpd.reporting_work_num + ifnull(c.patchNumSum,0) as quantity, + fc.quantity -odpd.reporting_work_num -odpd.broken_num + ifnull(c.patchNumSum,0) as quantity, odpd.reporting_work_num_count as completed, odpd.broken_num as onceBroken FROM @@ -123,14 +130,26 @@ ogd.child_width, ogd.child_height, od.shape, - odpds.reporting_work_num -odpd.reporting_work_num + ifnull(c.patchNumSum,0) as quantity, + odpds.reporting_work_num -odpd.reporting_work_num -odpd.broken_num + ifnull(c.patchNumSum,0) as quantity, odpd.reporting_work_num_count as completed, - odpd.broken_num as onceBroken + odpd.broken_num as onceBroken, + ogd.`group` + + FROM sd.order_detail AS od LEFT JOIN sd.order_glass_detail AS ogd ON od.order_id = ogd.order_id AND od.order_number = ogd.order_number + <if test="process == '澶硅兌'"> + AND ogd.`group` = (select `group` + from sd.order_glass_detail + where order_id = ogd.order_id + and order_number = ogd.order_number + and technology_number =#{technologyStr} + limit 1) + </if> + LEFT JOIN flow_card AS fc ON fc.order_id = ogd.order_id and fc.production_id=ogd.production_id @@ -152,8 +171,10 @@ and c.technology_number = fc.technology_number WHERE fc.process_id = #{processIdStr} - AND fc.technology_number = #{technologyStr} - AND odpd.process = #{process} + <if test="process != '涓┖' and process != '澶硅兌' and process != '鍖呰'"> + AND fc.technology_number = #{technologyStr} + </if> + AND odpd.process = #{process} order by fc.order_number </select> diff --git a/north-glass-erp/target/classes/mapper/pp/ReportingWorkDetail.xml b/north-glass-erp/target/classes/mapper/pp/ReportingWorkDetail.xml index f826223..d022876 100644 --- a/north-glass-erp/target/classes/mapper/pp/ReportingWorkDetail.xml +++ b/north-glass-erp/target/classes/mapper/pp/ReportingWorkDetail.xml @@ -154,6 +154,13 @@ </select> + <!--鏌ヨdetail鏄庣粏--> + <select id="reportingWorkId"> + select * from reporting_work_detail + where reporting_work_id = #{reportingWorkId} + </select> + + <!--<where> create_time <![CDATA[>=]]> #{startTime} and create_time <![CDATA[<=]]> #{endTime}} diff --git a/north-glass-erp/target/classes/mapper/userInfo/SysMenu.xml b/north-glass-erp/target/classes/mapper/userInfo/SysMenu.xml index 896626b..df037a3 100644 --- a/north-glass-erp/target/classes/mapper/userInfo/SysMenu.xml +++ b/north-glass-erp/target/classes/mapper/userInfo/SysMenu.xml @@ -9,6 +9,7 @@ from sys_menu as a where a.state=1 + and a.languageType = #{lang} order by a.listSort ; </select> diff --git a/north-glass-erp/target/classes/mapper/userInfo/SysMenuItem.xml b/north-glass-erp/target/classes/mapper/userInfo/SysMenuItem.xml index c27acd2..fed0668 100644 --- a/north-glass-erp/target/classes/mapper/userInfo/SysMenuItem.xml +++ b/north-glass-erp/target/classes/mapper/userInfo/SysMenuItem.xml @@ -9,6 +9,7 @@ from `sys_menu_item` as a where a.state=1 + and a.languageType = #{lang} order by a.menuId,a.listSort ; -- Gitblit v1.8.0