From cd959593e255f8900f38fb51eb50ff6fdf0022aa Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期一, 01 四月 2024 09:27:59 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
---
north-glass-erp/northglass-erp/src/router/index.js | 33 +
north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageReason.vue | 173 +++++++
north-glass-erp/src/main/java/com/example/erp/service/pp/BasicDateProduceService.java | 97 +++
north-glass-erp/target/classes/mapper/pp/BasicDataProduce.xml | 66 ++
north-glass-erp/src/main/java/com/example/erp/mapper/pp/BasicDateProduceMapper.java | 25
north-glass-erp/src/main/resources/mapper/pp/BasicDataProduce.xml | 66 ++
north-glass-erp/northglass-erp/src/views/pp/productionBasicData/ProductionBasicData.vue | 62 ++
north-glass-erp/northglass-erp/src/views/pp/productionBasicData/SelectProductionBasicData.vue | 281 ++++++++++++
north-glass-erp/src/main/java/com/example/erp/controller/pp/BasicDataProduceController.java | 93 +++
north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddTeamGroup.vue | 196 ++++++++
north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageType.vue | 174 +++++++
north-glass-erp/target/classes/mapper/pp/Report.xml | 57 ++
12 files changed, 1,272 insertions(+), 51 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/router/index.js b/north-glass-erp/northglass-erp/src/router/index.js
index b154b33..2f1f65a 100644
--- a/north-glass-erp/northglass-erp/src/router/index.js
+++ b/north-glass-erp/northglass-erp/src/router/index.js
@@ -554,7 +554,38 @@
// }
]
},
-
+ {
+ //鍩虹鏁版嵁绠$悊
+ path: 'productionBasicData',
+ name: 'productionBasicData',
+ component: () => import('../views/pp/productionBasicData/ProductionBasicData.vue'),
+ children:[
+ {
+ path: 'selectProductionBasicData',
+ name: 'selectProductionBasicData',
+ component: () => import('../views/pp/productionBasicData/SelectProductionBasicData.vue'),
+ },
+ {
+ path: 'addBreakageReason',
+ name: 'addBreakageReason',
+ component: () => import('../views/pp/productionBasicData/AddBreakageReason.vue'),
+ },
+ {
+ path: 'addBreakageType',
+ name: 'addBreakageType',
+ component: () => import('../views/pp/productionBasicData/AddBreakageType.vue'),
+ },
+ {
+ path: 'addTeamGroup',
+ name: 'addTeamGroup',
+ component: () => import('../views/pp/productionBasicData/AddTeamGroup.vue'),
+ },
+ {
+ path: '',
+ redirect:'/main/productionBasicData/SelectProductionBasicData'
+ }
+ ]
+ },
diff --git a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageReason.vue b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageReason.vue
new file mode 100644
index 0000000..120fcd7
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageReason.vue
@@ -0,0 +1,173 @@
+<script setup>
+
+import {computed, nextTick, onMounted, reactive, ref, toRefs} from "vue";
+import {useRouter, useRoute} from 'vue-router'
+import request from "@/utils/request";
+import {ElMessage} from "element-plus";
+import {changeFilterEvent, filterChanged} from "@/hook"
+import userInfo from "@/stores/userInfo"
+import {useI18n} from 'vue-i18n'
+//璇█鑾峰彇
+const {t} = useI18n()
+const route = useRoute()
+const user = userInfo()
+let router = useRouter()
+
+//瀛愮粍浠舵帴鏀跺弬鏁�
+const xGrid = ref()
+const gridOptions = reactive({
+ border: "full",//琛ㄦ牸鍔犺竟妗�
+ keepSource: true,//淇濇寔婧愭暟鎹�
+ align: 'center',//鏂囧瓧灞呬腑
+ stripe:true,//鏂戦┈绾�
+ rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+ id: 'CustomerList',
+ showFooter: true,//鏄剧ず鑴�
+ printConfig: {},
+ importConfig: {},
+ exportConfig: {},
+ scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+ showOverflow:true,
+ columnConfig: {
+ resizable: true,
+ useKey: true
+ },
+ filterConfig: { //绛涢�夐厤缃」
+ remote: true
+ },
+ customConfig: {
+ storage: true
+ },
+ editConfig: {
+ trigger: 'click',
+ mode: 'row',
+ showStatus: true
+ },//琛ㄥご鍙傛暟
+ columns:[
+ { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
+ {
+ field: 'basicName',
+ title: '娆$牬鍘熷洜',
+ width: 1000,
+ editRender: {name: 'input', attrs: {placeholder: ''}},
+
+ },
+ ],
+ //琛ㄥご鎸夐挳
+ toolbarConfig: {
+ buttons: [
+ {code: 'save', name: '淇濆瓨', status: 'primary', icon: 'vxe-icon-save'},
+ {code: 'addRow', name: t('reportingWorks.increase'), status: 'primary', icon: 'vxe-icon-square-plus'},
+ ],
+ // import: false,
+ // export: true,
+ // print: true,
+ zoom: true,
+ custom: true
+ },
+ data: [
+
+ ],//table body瀹為檯鏁版嵁
+ //鑴氶儴姹傚拰
+ footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
+ let footList=['maintenanceFrequency','MaintenancesFrequency']
+ return[
+ columns.map((column, columnIndex) => {
+ if (columnIndex === 0) {
+ return '鍚堣:'
+ }
+ if (footList.includes(column.field)) {
+ return sumNum(data, column.field)
+ }
+ return ''
+ })
+ ]
+ }
+
+})
+const teamGridEvents = {
+ toolbarButtonClick({code}) {
+ const $grid = xGrid.value
+ if ($grid) {
+ switch (code) {
+ case 'addRow': {
+ $grid.insertAt({})
+ break
+ }
+ case 'save': {
+ const tableData = $grid.getTableData().fullData
+ //console.log(tableData)
+ let breakageTypeData = ref({
+ basicDataProduce: tableData
+ })
+ request.post("/basicDataProduce/saveBreakageReason", breakageTypeData.value).then((res) => {
+ if (res.code == 200) {
+ ElMessage.success("淇濆瓨鎴愬姛")
+ router.push({
+ path: '/main/productionBasicData/AddBreakageReason',
+ query: {random: Math.random()}
+ })
+
+ //location.reload();
+ } else {
+ ElMessage.warning(res.msg)
+ }
+ })
+ break
+ }
+ }
+ }
+ }
+}
+
+const size = ref<'default' | 'large' | 'small'>('default')
+
+const value1 = ref('')
+
+</script>
+
+<template>
+ <div class="main-div-customer">
+ <vxe-grid
+ ref="xGrid"
+ class="mytable-scrollbar"
+ max-height="100%"
+ height="650px"
+ v-bind="gridOptions"
+ v-on="teamGridEvents"
+ @filter-change="filterChanged"
+
+ >
+ <!-- @toolbar-button-click="toolbarButtonClickEvent"-->
+ <!-- 涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
+ <template #content="{ row}">
+ <ul class="expand-wrapper">
+ <li v-for="(item,key,index) in row">
+ <span style="font-weight: bold">{{key+': '}}</span>
+ <span>{{ item }}</span>
+ </li>
+ </ul>
+ </template>
+
+
+ <template #num1_filter="{ column, $panel }">
+ <div>
+ <div v-for="(option, index) in column.filters" :key="index">
+ <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
+ </div>
+ </div>
+ </template>
+
+
+ </vxe-grid>
+
+ </div>
+</template>
+
+<style scoped>
+.main-div-customer{
+ width: 80%;
+ margin: 0 auto;
+ height: 100%;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageType.vue b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageType.vue
new file mode 100644
index 0000000..0fea024
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageType.vue
@@ -0,0 +1,174 @@
+<script setup>
+import {computed, nextTick, onMounted, reactive, ref, toRefs} from "vue";
+import {useRouter, useRoute} from 'vue-router'
+import request from "@/utils/request";
+import {ElMessage} from "element-plus";
+import {changeFilterEvent, filterChanged} from "@/hook"
+import userInfo from "@/stores/userInfo"
+import {useI18n} from 'vue-i18n'
+//璇█鑾峰彇
+const {t} = useI18n()
+const route = useRoute()
+const user = userInfo()
+let router = useRouter()
+
+
+//瀛愮粍浠舵帴鏀跺弬鏁�
+const xGrid = ref()
+const gridOptions = reactive({
+ border: "full",//琛ㄦ牸鍔犺竟妗�
+ keepSource: true,//淇濇寔婧愭暟鎹�
+ align: 'center',//鏂囧瓧灞呬腑
+ stripe:true,//鏂戦┈绾�
+ rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+ id: 'CustomerList',
+ showFooter: true,//鏄剧ず鑴�
+ printConfig: {},
+ importConfig: {},
+ exportConfig: {},
+ scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+ showOverflow:true,
+ columnConfig: {
+ resizable: true,
+ useKey: true
+ },
+ filterConfig: { //绛涢�夐厤缃」
+ remote: true
+ },
+ customConfig: {
+ storage: true
+ },
+ editConfig: {
+ trigger: 'click',
+ mode: 'row',
+ showStatus: true
+ },//琛ㄥご鍙傛暟
+ columns:[
+ { type: 'seq',fixed:"left", title: '鑷簭', width: 50 },
+
+ {
+ field: 'basicName',
+ title: '娆$牬绫诲瀷',
+ width: 1000,
+ editRender: {name: 'input', attrs: {placeholder: ''}},
+
+ },
+ ],
+ //琛ㄥご鎸夐挳
+ toolbarConfig: {
+ buttons: [
+ {code: 'save', name: '淇濆瓨', status: 'primary', icon: 'vxe-icon-save'},
+ {code: 'addRow', name: t('reportingWorks.increase'), status: 'primary', icon: 'vxe-icon-square-plus'},
+ ],
+ // import: false,
+ // export: true,
+ // print: true,
+ zoom: true,
+ custom: true
+ },
+ data: [
+
+ ],//table body瀹為檯鏁版嵁
+ //鑴氶儴姹傚拰
+ footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
+ let footList=['maintenanceFrequency','MaintenancesFrequency']
+ return[
+ columns.map((column, columnIndex) => {
+ if (columnIndex === 0) {
+ return '鍚堣:'
+ }
+ if (footList.includes(column.field)) {
+ return sumNum(data, column.field)
+ }
+ return ''
+ })
+ ]
+ }
+
+})
+
+const teamGridEvents = {
+ toolbarButtonClick({code}) {
+ const $grid = xGrid.value
+ if ($grid) {
+ switch (code) {
+ case 'addRow': {
+ $grid.insertAt({})
+ break
+ }
+ case 'save': {
+ const tableData = $grid.getTableData().fullData
+ //console.log(tableData)
+ let breakageTypeData = ref({
+ basicDataProduce: tableData
+ })
+ request.post("/basicDataProduce/saveBreakageType", breakageTypeData.value).then((res) => {
+ if (res.code == 200) {
+ ElMessage.success("淇濆瓨鎴愬姛")
+ router.push({
+ path: '/main/productionBasicData/AddBreakageType',
+ query: {random: Math.random()}
+ })
+
+ //location.reload();
+ } else {
+ ElMessage.warning(res.msg)
+ }
+ })
+ break
+ }
+ }
+ }
+ }
+}
+
+const size = ref<'default' | 'large' | 'small'>('default')
+
+const value1 = ref('')
+
+</script>
+
+<template>
+ <div class="main-div-customer">
+ <vxe-grid
+ ref="xGrid"
+ class="mytable-scrollbar"
+ max-height="100%"
+ height="650px"
+ v-bind="gridOptions"
+ v-on="teamGridEvents"
+ @filter-change="filterChanged"
+
+ >
+ <!-- @toolbar-button-click="toolbarButtonClickEvent"-->
+ <!-- 涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
+ <template #content="{ row}">
+ <ul class="expand-wrapper">
+ <li v-for="(item,key,index) in row">
+ <span style="font-weight: bold">{{key+': '}}</span>
+ <span>{{ item }}</span>
+ </li>
+ </ul>
+ </template>
+
+ <template #num1_filter="{ column, $panel }">
+ <div>
+ <div v-for="(option, index) in column.filters" :key="index">
+ <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
+ </div>
+ </div>
+ </template>
+
+
+ </vxe-grid>
+
+ </div>
+</template>
+
+<style scoped>
+.main-div-customer{
+ width: 80%;
+ margin: 0 auto;
+ height: 100%;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddTeamGroup.vue b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddTeamGroup.vue
new file mode 100644
index 0000000..ed9604c
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddTeamGroup.vue
@@ -0,0 +1,196 @@
+<script setup>
+
+import {computed, nextTick, onMounted, reactive, ref, toRefs} from "vue";
+import {useRouter, useRoute} from 'vue-router'
+import request from "@/utils/request";
+import {ElMessage} from "element-plus";
+import {changeFilterEvent, filterChanged} from "@/hook"
+import userInfo from "@/stores/userInfo"
+import {useI18n} from 'vue-i18n'
+//璇█鑾峰彇
+const {t} = useI18n()
+const route = useRoute()
+const user = userInfo()
+let router = useRouter()
+
+//瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
+const titleSelectJson = ref({
+ processType: [],
+
+})
+//绗竴娆″姞杞芥暟鎹�
+request.post(`/basicDataProduce/selectProcess`).then((res) => {
+ if (res.code == 200) {
+
+ titleSelectJson.value.processType = res.data.process;
+ } else {
+ ElMessage.warning(res.msg)
+ }
+})
+
+//瀛愮粍浠舵帴鏀跺弬鏁�
+const xGrid = ref()
+const gridOptions = reactive({
+ border: "full",//琛ㄦ牸鍔犺竟妗�
+ keepSource: true,//淇濇寔婧愭暟鎹�
+ align: 'center',//鏂囧瓧灞呬腑
+ stripe: true,//鏂戦┈绾�
+ rowConfig: {isCurrent: true, isHover: true, height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+ id: 'CustomerList',
+ showFooter: true,//鏄剧ず鑴�
+ printConfig: {},
+ importConfig: {},
+ exportConfig: {},
+ scrollY: {enabled: true},//寮�鍚櫄鎷熸粴鍔�
+ showOverflow: true,
+ columnConfig: {
+ resizable: true,
+ useKey: true
+ },
+ filterConfig: { //绛涢�夐厤缃」
+ remote: true
+ },
+ customConfig: {
+ storage: true
+ },
+ editConfig: {
+ trigger: 'click',
+ mode: 'row',
+ showStatus: true
+ },//琛ㄥご鍙傛暟
+ columns: [
+ {type: 'seq', fixed: "left", title: '鑷簭', width: 50},
+ {
+ field: 'basicName',
+ title: '鐝粍鍚嶇О',
+ width: 600,
+ editRender: {name: 'input', attrs: {placeholder: ''}},
+
+ },
+ {
+ field: 'basicCategory',
+ title: '鎵�鍦ㄥ伐搴�',
+ editRender: {},
+ slots: {default: 'basicCategory_default', edit: 'basicCategory'}
+ },
+ ],
+ //琛ㄥご鎸夐挳
+ toolbarConfig: {
+ buttons: [
+ {code: 'save', name: '淇濆瓨', status: 'primary', icon: 'vxe-icon-save'},
+ {code: 'addRow', name: t('reportingWorks.increase'), status: 'primary', icon: 'vxe-icon-square-plus'},
+ ],
+ // import: false,
+ // export: true,
+ // print: true,
+ zoom: true,
+ custom: true
+ },
+ data: [],//table body瀹為檯鏁版嵁
+ //鑴氶儴姹傚拰
+ footerMethod({columns, data}) {//椤佃剼鍑芥暟
+ let footList = ['', '']
+ return [
+ columns.map((column, columnIndex) => {
+ if (columnIndex === 0) {
+ return '鍚堣:'
+ }
+ if (footList.includes(column.field)) {
+ return sumNum(data, column.field)
+ }
+ return ''
+ })
+ ]
+ }
+
+})
+
+const teamGridEvents = {
+ toolbarButtonClick({code}) {
+ const $grid = xGrid.value
+ if ($grid) {
+ switch (code) {
+ case 'addRow': {
+ $grid.insertAt({})
+ break
+ }
+ case 'save': {
+ const tableData = $grid.getTableData().fullData
+ //console.log(tableData)
+ let teamGroupData = ref({
+ basicDataProduce: tableData
+ })
+ request.post("/basicDataProduce/saveTeamGroup", teamGroupData.value).then((res) => {
+ if (res.code == 200) {
+ ElMessage.success("淇濆瓨鎴愬姛")
+ //router.push('/main/processCard/SplittingDetails?orderId=${orderId}')
+ router.push({
+ path: '/main/productionBasicData/AddTeamGroup',
+ query: {random: Math.random()}
+ })
+
+ //location.reload();
+ } else {
+ ElMessage.warning(res.msg)
+ }
+ })
+ break
+ }
+ }
+ }
+ }
+}
+
+const size = ref<'default' | 'large' | 'small'>('default')
+
+const value1 = ref('')
+
+
+</script>
+
+<template>
+ <div class="main-div-customer">
+ <vxe-grid
+ ref="xGrid"
+ class="mytable-scrollbar"
+ max-height="100%"
+ height="650px"
+ v-bind="gridOptions"
+ v-on="teamGridEvents"
+ @filter-change="filterChanged"
+
+ >
+
+ <template #num1_filter="{ column, $panel }">
+ <div>
+ <div v-for="(option, index) in column.filters" :key="index">
+ <input v-model="option.data" type="type" @input="changeFilterEvent($event, option, $panel)"/>
+ </div>
+ </div>
+ </template>
+ <template #basicCategory="{ row }">
+ <vxe-select v-model="row.basicCategory"
+ clearable
+ filterable
+ placeholder="">
+ <vxe-option v-for="item in titleSelectJson.processType"
+ :key="item.basic_name"
+ :label="item.basic_name"
+ :value="item.basic_name"/>
+ </vxe-select>
+ </template>
+ <template #basicCategory_default="{ row }">
+ <span>{{ row.basicCategory }}</span>
+ </template>
+
+ </vxe-grid>
+
+ </div>
+</template>
+
+<style scoped>
+.main-div-customer {
+ width: 99%;
+ height: 100%;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/ProductionBasicData.vue b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/ProductionBasicData.vue
new file mode 100644
index 0000000..93169be
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/ProductionBasicData.vue
@@ -0,0 +1,62 @@
+<script setup>
+import {ref} from "vue";
+import {ArrowLeftBold, ArrowRight} from "@element-plus/icons-vue";
+import request from "@/utils/request";
+import deepClone from "@/utils/deepClone";
+import {ElMessage} from "element-plus";
+import {useRoute, useRouter} from "vue-router";
+import GlassType from '@/components/basic/product/GlassType.vue'
+
+const route = useRoute()
+const router = useRouter()
+let indexFlag=$ref(1)
+function changeRouter(index){
+ indexFlag=index
+}
+</script>
+
+<template>
+ <div id="main">
+ <div id="div-title">
+ <el-breadcrumb :separator-icon="ArrowRight">
+ <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/productionBasicData/SelectProductionBasicData' }">鍩虹鏁版嵁鏌ヨ</el-breadcrumb-item>
+ <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/productionBasicData/AddBreakageType' }">娆$牬绫诲瀷鏂板</el-breadcrumb-item>
+ <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/productionBasicData/AddBreakageReason' }">娆$牬鍘熷洜鏂板</el-breadcrumb-item>
+ <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/productionBasicData/AddTeamGroup' }">鐝粍鏂板鏂板</el-breadcrumb-item>
+<!-- <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/productionBasicData/AddMaintenanceAndRepair' }">鐝粍浜哄憳鏂板鏂板</el-breadcrumb-item>-->
+ <el-breadcrumb-item :to="{ path: '/main/processCard/SelectPrintFlowCard' }" style="display: none">鎵撳嵃</el-breadcrumb-item>
+ </el-breadcrumb>
+ </div>
+
+ <div id="main-body">
+ <router-view :key="route.fullPath" />
+ </div>
+ </div>
+</template>
+
+<style scoped>
+#main{
+ width: 100%;
+ height: 100%;
+}
+#div-title{
+ height: 5%;
+ width: 100%;
+}
+#searchButton{
+ margin-top: -5px;
+ margin-left: 1rem;
+}
+#searchButton1{
+//margin-left: 10rem;
+}
+/*main-body鏍峰紡*/
+#main-body{
+ width: 99%;
+ height: 92%;
+ margin-top: 1%;
+}
+:deep(.indexTag .el-breadcrumb__inner){
+ color: #5CADFE !important;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/SelectProductionBasicData.vue b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/SelectProductionBasicData.vue
new file mode 100644
index 0000000..d244896
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/pp/productionBasicData/SelectProductionBasicData.vue
@@ -0,0 +1,281 @@
+<script setup>
+
+import {reactive, ref} from "vue";
+import {useRouter} from 'vue-router'
+import request from "@/utils/request";
+import deepClone from "@/utils/deepClone";
+import {ElMessage} from "element-plus";
+import { useI18n } from 'vue-i18n'
+import {changeFilterEvent, filterChanged} from "@/hook"
+//璇█鑾峰彇
+const { t } = useI18n()
+let router=useRouter()
+//瀹氫箟鏁版嵁杩斿洖缁撴灉
+let produceList = ref([])
+//瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
+const titleSelectJson = ref({
+ processType: [],
+
+})
+const size = ref<'default' | 'large' | 'small'>('default')
+
+const value1 = ref('')
+let dialogTableVisible = ref(false)
+
+const getBasicData = ref({
+ id: '',
+ basic_type: '',
+ basic_name: '',
+ d_basic_name: '',
+})
+const getTableRow = (row,type) =>{
+ switch (type) {
+ case 'edit' :{
+ request.post(`/basicDataProduce/openSelectId/${row.id}`).then((res) => {
+ if (res.code == 200) {
+
+ getBasicData.value = res.data.data[0]
+ dialogTableVisible.value=true
+ //router.push({path: '/main/productionBasicData/SelectProductionBasicData', query: {random:Math.random()}})
+ } else {
+
+ ElMessage.warning(res.msg)
+
+ }
+ })
+ break
+ }
+ case 'delete':{
+ request.post(`/basicDataProduce/deleteBasic/${row.id}`).then((res) => {
+ if (res.code == 200) {
+ ElMessage.success(t('workOrder.deleteOk'))
+ router.push({path: '/main/productionBasicData/SelectProductionBasicData', query: {random:Math.random()}})
+ } else {
+
+ ElMessage.warning(res.msg)
+
+ }
+ })
+ break
+ }
+ case 'setType':{
+ alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍙嶅鐘舵��')
+ break
+ }
+ }
+}
+
+//琛ㄥ熬姹傚拰
+const sumNum = (list, field) => {
+ let count = 0
+ list.forEach(item => {
+ count += Number(item[field])
+ })
+ return count.toFixed(2)
+}
+
+request.post(`/basicDataProduce/selectBasic`).then((res) => {
+
+ if (res.code == 200) {
+ produceList = produceList.value.concat(deepClone(res.data.data))
+ titleSelectJson.value.processType = res.data.process;
+ xGrid.value.reloadData(produceList)
+ gridOptions.loading = false
+ } else {
+ ElMessage.warning(res.msg)
+ }
+})
+
+//瀛愮粍浠舵帴鏀跺弬鏁�
+const xGrid = ref()
+const gridOptions = reactive({
+ border: "full",//琛ㄦ牸鍔犺竟妗�
+ keepSource: true,//淇濇寔婧愭暟鎹�
+ align: 'center',//鏂囧瓧灞呬腑
+ stripe:true,//鏂戦┈绾�
+ rowConfig: {isCurrent: true, isHover: true,height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
+ id: 'CustomerList',
+ showFooter: true,//鏄剧ず鑴�
+ printConfig: {},
+ importConfig: {},
+ exportConfig: {},
+ scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
+ showOverflow:true,
+ columnConfig: {
+ resizable: true,
+ useKey: true
+ },
+ filterConfig: { //绛涢�夐厤缃」
+ //remote: true
+ },
+ customConfig: {
+ storage: true
+ },
+ editConfig: {
+ trigger: 'click',
+ mode: 'row',
+ showStatus: true
+ },//琛ㄥご鍙傛暟
+ columns:[
+ {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
+ {title: '鎿嶄綔', width: 140, slots: { default: 'button_slot' },fixed:"left"},
+ {field: 'id', width: 60, title: 'id',filters:[{ data: '' }],slots: { filter: 'num1_filter' },},
+ {field: 'basic_type',width: 370, title: '绫诲瀷', showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'basic_name', width: 330,title: '鍚嶇О', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ {field: 'd_basic_name',width: 330, title: '绫诲埆',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+ ],
+ //琛ㄥご鎸夐挳
+ toolbarConfig: {
+ // buttons: [{
+ //
+ // }],
+ // import: false,
+ // export: true,
+ // print: true,
+ zoom: true,
+ custom: true
+ },
+ data: [
+
+ ],//table body瀹為檯鏁版嵁
+ //鑴氶儴姹傚拰
+ footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
+ let footList=['','','','']
+ return[
+ columns.map((column, columnIndex) => {
+ if (columnIndex === 0) {
+ return '鍚堣:'
+ }
+ if (footList.includes(column.field)) {
+ return sumNum(data, column.field)
+ }
+ return ''
+ })
+ ]
+ }
+
+})
+
+const updateBasic = () => {
+ let id = getBasicData.value.id
+ let process = getBasicData.value.d_basic_name
+ let name = getBasicData.value.basic_name
+ let type = getBasicData.value.basic_type
+ request.post(`/basicDataProduce/updateBasic/${id}/${process}/${name}/${type}`).then((res) => {
+ if (res.code == 200) {
+ ElMessage.success(t('processCard.modifySuccessfully'))
+ router.push({path: '/main/productionBasicData/SelectProductionBasicData', query: {random:Math.random()}})
+ } else {
+
+ ElMessage.warning(res.msg)
+ }
+ })
+}
+
+
+</script>
+
+<template>
+ <div class="main-div-customer">
+ <vxe-grid
+ max-height="100%"
+ @filter-change="filterChanged"
+ class="mytable-scrollbar"
+ ref="xGrid"
+ v-bind="gridOptions"
+
+ >
+ <!-- @toolbar-button-click="toolbarButtonClickEvent"-->
+ <!-- 涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
+ <template #content="{ row }">
+ <ul class="expand-wrapper">
+ <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
+ <span style="font-weight: bold">{{ item.title + ': ' }}</span>
+ <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
+ <span v-else>{{ row[item.field] }}</span>
+
+ </li>
+ </ul>
+ </template>
+
+ <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
+ <template #button_slot="{ row }">
+ <el-button @click="getTableRow(row,'edit');" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
+ <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">鍒犻櫎</el-button>
+ </template>
+
+ <template #num1_filter="{ column, $panel }">
+ <div>
+ <div v-for="(option, index) in column.filters" :key="index">
+ <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
+ </div>
+ </div>
+ </template>
+
+
+ </vxe-grid>
+
+ <el-dialog v-model="dialogTableVisible" title="鍩虹鏁版嵁淇敼">
+ <el-row>
+ <el-col :span="2">
+ <el-text>id锛�</el-text>
+ </el-col>
+ <el-col :span="3">
+ <el-input v-model="getBasicData.id" readonly autocomplete="off" style="width: 220px"/>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="2">
+ <el-text>绫诲瀷锛�</el-text>
+ </el-col>
+ <el-col :span="3">
+ <el-input v-model="getBasicData.basic_type" readonly autocomplete="off" style="width: 220px"/>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="2">
+ <el-text>鍚嶇О锛�</el-text>
+ </el-col>
+ <el-col :span="3">
+ <el-input v-model="getBasicData.basic_name" autocomplete="off" style="width: 220px"/>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="2">
+ <el-text>绫诲埆锛�</el-text>
+ </el-col>
+ <el-col :span="3">
+<!-- <el-input v-model="getBasicData.d_basic_name" autocomplete="off" style="width: 220px"/>-->
+ <el-select v-model="getBasicData.d_basic_name" clearable placeholder="" style="width: 220px"
+ >
+ <el-option
+ v-for="item in titleSelectJson['processType']"
+ :key="item.id"
+ :label="item.basic_name"
+ :value="item.basic_name"
+ />
+ </el-select>
+ </el-col>
+ </el-row>
+
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="dialogTableVisible = false">鍙栨秷</el-button>
+ <el-button type="primary" @click="updateBasic">
+ 淇敼
+ </el-button>
+ </span>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<style scoped>
+.main-div-customer{
+ width: 99%;
+ height: 100%;
+}
+.el-row{
+ margin: 10px;
+}
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/BasicDataProduceController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/BasicDataProduceController.java
index 6da43e4..bd885a7 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/BasicDataProduceController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/BasicDataProduceController.java
@@ -1,18 +1,101 @@
package com.example.erp.controller.pp;
+import com.example.erp.common.Constants;
import com.example.erp.common.Result;
+import com.example.erp.entity.pp.BasicDataProduce;
+import com.example.erp.entity.pp.FlowCard;
+import com.example.erp.exception.ServiceException;
import com.example.erp.service.pp.BasicDateProduceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.util.Map;
+
@RestController
+
+@Api(value="鍩虹鏁版嵁controller",tags={"鍩虹鏁版嵁鎿嶄綔鎺ュ彛"})
@RequestMapping("/basicDataProduce")
public class BasicDataProduceController {
@Autowired
BasicDateProduceService basicDateProduceService;
-// @PostMapping("/selectWorkBasic/{process}")
-// public Result SelectWorkBasic(
-// @PathVariable String process) {
-// return Result.seccess(basicDateProduceService.SelectWorkBasicSv(process));
-// }
+ @ApiOperation("鏌ヨ宸ュ簭鎺ュ彛")
+ @PostMapping ("/selectProcess")
+ public Result selectProcess() {
+ return Result.seccess(basicDateProduceService.selectProcessSv());
+ }
+
+ @ApiOperation("鏌ヨ鎵�鏈夊熀纭�鏁版嵁鎺ュ彛")
+ @PostMapping ("/selectBasic")
+ public Result selectBasic() {
+ return Result.seccess(basicDateProduceService.selectBasicSv());
+ }
+
+ @ApiOperation("鏍规嵁Id鏌ヨ瀵瑰簲鍩虹鏁版嵁鎺ュ彛")
+ @PostMapping ("/openSelectId/{id}")
+ public Result openSelectId(
+ @PathVariable String id){
+ return Result.seccess(basicDateProduceService.openSelectIdSv(id));
+
+ }
+
+ @ApiOperation("鍒犻櫎鍩虹鏁版嵁鎺ュ彛")
+ @PostMapping("/deleteBasic/{id}")
+ public Result deleteBasic(@PathVariable String id){
+ if(basicDateProduceService.deleteBasicSv(id)){
+ return Result.seccess();
+ }else {
+ throw new ServiceException(Constants.Code_500,"鍒犻櫎澶辫触锛�");
+
+ }
+ }
+
+ @ApiOperation("淇敼鍩虹鏁版嵁鎺ュ彛")
+ @PostMapping("/updateBasic/{id}/{process}/{name}/{type}")
+ public Result updateBasic(@PathVariable String id,
+ @PathVariable String process,
+ @PathVariable String name,
+ @PathVariable String type){
+ if(basicDateProduceService.updateBasicSv(id,process,name,type)){
+ return Result.seccess();
+ }else {
+ throw new ServiceException(Constants.Code_500,"淇敼澶辫触");
+
+ }
+ }
+
+ @ApiOperation("鐝粍鍩虹鏁版嵁娣诲姞鎺ュ彛")
+ @PostMapping("/saveTeamGroup")
+ public Result saveTeamGroup( @RequestBody Map<String,Object> object){
+ if(basicDateProduceService.saveTeamGroupSv(object)){
+ return Result.seccess();
+ }else {
+ throw new ServiceException(Constants.Code_500,"淇濆瓨澶辫触");
+
+ }
+ }
+
+ @ApiOperation("娆$牬绫诲瀷鍩虹鏁版嵁娣诲姞鎺ュ彛")
+ @PostMapping("/saveBreakageType")
+ public Result saveBreakageType( @RequestBody Map<String,Object> object){
+ if(basicDateProduceService.saveBreakageTypeSv(object)){
+ return Result.seccess();
+ }else {
+ throw new ServiceException(Constants.Code_500,"淇濆瓨澶辫触");
+
+ }
+ }
+
+ @ApiOperation("娆$牬鍘熷洜鍩虹鏁版嵁娣诲姞鎺ュ彛")
+ @PostMapping("/saveBreakageReason")
+ public Result saveBreakageReason( @RequestBody Map<String,Object> object){
+ if(basicDateProduceService.saveBreakageReasonSv(object)){
+ return Result.seccess();
+ }else {
+ throw new ServiceException(Constants.Code_500,"淇濆瓨澶辫触");
+
+ }
+ }
+
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/BasicDateProduceMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/BasicDateProduceMapper.java
index 61245e2..471bf23 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/BasicDateProduceMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/BasicDateProduceMapper.java
@@ -4,15 +4,28 @@
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
+import java.util.Map;
@Mapper
public interface BasicDateProduceMapper {
-
-
- List<BasicDataProduce> SelectWorkBasicDeviceMp(String process);
-
- List<BasicDataProduce> SelectWorkBasicTeamsMp(String process);
-
List<BasicDataProduce> SelectWorkBasicTeams(String process);
+
+ List<Map<String,String>> selectProcessMp();
+
+ List<Map<String,String>> selectBasicMp();
+
+ List<Map<String,String>> openSelectIdMp(String id);
+
+ Boolean deleteBasicMp(String id);
+
+ Boolean updateBasicMp(String id, String basicId, String name, String type);
+
+ String getBasicData(String process);
+
+ Boolean addTeamGroupMp(String basicId, String basicName);
+
+ Boolean saveBreakageTypeMp(String basicName);
+
+ Boolean saveBreakageReasonMp(String basicName);
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/BasicDateProduceService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/BasicDateProduceService.java
index 8e98baf..451f221 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/BasicDateProduceService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/BasicDateProduceService.java
@@ -1,11 +1,14 @@
package com.example.erp.service.pp;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
+import com.example.erp.entity.pp.BasicDataProduce;
+import com.example.erp.entity.pp.FlowCard;
import com.example.erp.mapper.pp.BasicDateProduceMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -16,11 +19,91 @@
@Autowired
private BasicDateProduceMapper basicDateProduceMapper;
+ //鏌ヨ宸ュ簭
+ public Map<String, Object> selectProcessSv() {
+ Map<String, Object> map = new HashMap<>();
+ map.put("process", basicDateProduceMapper.selectProcessMp());
+ return map;
+ }
-// public Object SelectWorkBasicSv(String process) {
-// Map<String, Object> map = new HashMap<>();
-// map.put("device", basicDateProduceMapper.SelectWorkBasicDeviceMp(process));
-// map.put("teams", basicDateProduceMapper.SelectWorkBasicTeamsMp(process));
-// return map;
-// }
+
+ //鏌ヨ鎵�鏈夊熀纭�鏁版嵁
+ public Map<String, Object> selectBasicSv() {
+ Map<String, Object> map = new HashMap<>();
+ map.put("data", basicDateProduceMapper.selectBasicMp());
+ map.put("process", basicDateProduceMapper.selectProcessMp());
+ return map;
+ }
+
+ //鏍规嵁Id鏌ヨ瀵瑰簲鍩虹鏁版嵁
+ public Map<String, Object> openSelectIdSv(String id) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("data", basicDateProduceMapper.openSelectIdMp(id));
+ return map;
+ }
+
+ //鍒犻櫎鍩虹鏁版嵁
+ public Boolean deleteBasicSv(String id) {
+ if (!id.isEmpty()) {
+
+ return basicDateProduceMapper.deleteBasicMp(id);
+ } else {
+
+ return false;
+ }
+ }
+
+ //updateBasicSv
+ public Boolean updateBasicSv(String id, String process, String name, String type) {
+ if (!id.isEmpty()) {
+ String BasicId = basicDateProduceMapper.getBasicData(process);
+ basicDateProduceMapper.updateBasicMp(id,BasicId,name,type);
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ //鐝粍鍩虹鏁版嵁娣诲姞
+ public Boolean saveTeamGroupSv(Map<String, Object> object) {
+ List<BasicDataProduce> basicDataProduceList = JSONArray.parseArray(JSONObject.toJSONString(object.get("basicDataProduce")), BasicDataProduce.class);
+ if (!basicDataProduceList.isEmpty()) {
+ for (BasicDataProduce basicDataProduce : basicDataProduceList) {
+ //鏌ヨ宸ュ簭瀵瑰簲鐨勫伐搴廼d
+ String BasicId = basicDateProduceMapper.getBasicData(basicDataProduce.getBasicCategory());
+ basicDateProduceMapper.addTeamGroupMp(BasicId,basicDataProduce.getBasicName());
+ }
+ return true;
+ }else{
+ return false;
+ }
+
+ }
+
+ //娆$牬绫诲瀷鍩虹鏁版嵁娣诲姞
+ public Boolean saveBreakageTypeSv(Map<String, Object> object) {
+ List<BasicDataProduce> basicDataProduceList = JSONArray.parseArray(JSONObject.toJSONString(object.get("basicDataProduce")), BasicDataProduce.class);
+ if (!basicDataProduceList.isEmpty()) {
+ for (BasicDataProduce basicDataProduce : basicDataProduceList) {
+ basicDateProduceMapper.saveBreakageTypeMp(basicDataProduce.getBasicName());
+ }
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+
+ //娆$牬鍘熷洜鍩虹鏁版嵁娣诲姞
+ public boolean saveBreakageReasonSv(Map<String, Object> object) {
+ List<BasicDataProduce> basicDataProduceList = JSONArray.parseArray(JSONObject.toJSONString(object.get("basicDataProduce")), BasicDataProduce.class);
+ if (!basicDataProduceList.isEmpty()) {
+ for (BasicDataProduce basicDataProduce : basicDataProduceList) {
+ basicDateProduceMapper.saveBreakageReasonMp(basicDataProduce.getBasicName());
+ }
+ return true;
+ }else{
+ return false;
+ }
+ }
}
diff --git a/north-glass-erp/src/main/resources/mapper/pp/BasicDataProduce.xml b/north-glass-erp/src/main/resources/mapper/pp/BasicDataProduce.xml
index 55fb770..6ba8965 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/BasicDataProduce.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/BasicDataProduce.xml
@@ -13,25 +13,12 @@
<result column="d_basic_type" property="basicData.basicType"/>
<result column="d_basic_name" property="basicData.basicName"/>
<result column="d_basic_category" property="basicData.basicCategory"/>
-
+ <association property="basicData" javaType="com.example.erp.entity.sd.BasicData">
+ <result column="basic_name" property="basicName"/>
+ </association>
</resultMap>
- <select id="SelectWorkBasicDeviceMp">
- select
- *
- from
- basic_data_produce as a
- where a.basic_category=#{process} and a.basic_type='璁惧'
- </select>
-
- <select id="SelectWorkBasicTeamsMp">
- select
- *
- from
- basic_data_produce as a
- where a.basic_category=#{process} and a.basic_type='鐝粍'
- </select>
<select id="SelectWorkBasicTeams" resultMap="selectBasicDataProduce">
select bdp.basic_name ,bd.basic_name as d_basic_name
@@ -40,4 +27,51 @@
where bd.basic_name = #{process}
and bdp.basic_type = "teamsgroups"
</select>
+
+<!-- 鏌ヨ宸ュ簭-->
+ <select id="selectProcessMp">
+ select * from sd.basic_data where basic_type='product' and basic_category='process'
+
+ </select>
+
+ <select id="selectBasicMp">
+ select bdp.id, bdp.basic_type, bdp.basic_name, bd.basic_name as d_basic_name
+ from pp.basic_data_produce bdp
+ left join sd.basic_data bd on bdp.basic_category = bd.id
+ order by bdp.id desc
+ </select>
+
+ <select id="openSelectIdMp">
+ select bdp.id, bdp.basic_type, bdp.basic_name, bd.basic_name as d_basic_name
+ from pp.basic_data_produce bdp
+ left join sd.basic_data bd on bdp.basic_category = bd.id
+ where bdp.id = #{id}
+ </select>
+
+ <delete id="deleteBasicMp">
+ delete from pp.basic_data_produce where id = #{id}
+ </delete>
+
+ <update id="updateBasicMp">
+ update pp.basic_data_produce set basic_type = #{type},basic_name = #{name},basic_category = #{basicId} where id = #{id}
+ </update>
+
+ <select id="getBasicData">
+ select id from sd.basic_data where basic_category = 'process' and basic_name = #{process}
+ </select>
+
+ <insert id="addTeamGroupMp">
+ insert into pp.basic_data_produce(basic_type,basic_name,basic_category,create_time)
+ values('teamsgroups',#{basicName},#{basicId},now())
+ </insert>
+
+ <insert id="saveBreakageTypeMp">
+ insert into pp.basic_data_produce(basic_type,basic_name,create_time)
+ values('breakagetype',#{basicName},now())
+ </insert>
+
+ <insert id="saveBreakageReasonMp">
+ insert into pp.basic_data_produce(basic_type,basic_name,create_time)
+ values('breakagereason',#{basicName},now())
+ </insert>
</mapper>
\ No newline at end of file
diff --git a/north-glass-erp/target/classes/mapper/pp/BasicDataProduce.xml b/north-glass-erp/target/classes/mapper/pp/BasicDataProduce.xml
index 55fb770..6ba8965 100644
--- a/north-glass-erp/target/classes/mapper/pp/BasicDataProduce.xml
+++ b/north-glass-erp/target/classes/mapper/pp/BasicDataProduce.xml
@@ -13,25 +13,12 @@
<result column="d_basic_type" property="basicData.basicType"/>
<result column="d_basic_name" property="basicData.basicName"/>
<result column="d_basic_category" property="basicData.basicCategory"/>
-
+ <association property="basicData" javaType="com.example.erp.entity.sd.BasicData">
+ <result column="basic_name" property="basicName"/>
+ </association>
</resultMap>
- <select id="SelectWorkBasicDeviceMp">
- select
- *
- from
- basic_data_produce as a
- where a.basic_category=#{process} and a.basic_type='璁惧'
- </select>
-
- <select id="SelectWorkBasicTeamsMp">
- select
- *
- from
- basic_data_produce as a
- where a.basic_category=#{process} and a.basic_type='鐝粍'
- </select>
<select id="SelectWorkBasicTeams" resultMap="selectBasicDataProduce">
select bdp.basic_name ,bd.basic_name as d_basic_name
@@ -40,4 +27,51 @@
where bd.basic_name = #{process}
and bdp.basic_type = "teamsgroups"
</select>
+
+<!-- 鏌ヨ宸ュ簭-->
+ <select id="selectProcessMp">
+ select * from sd.basic_data where basic_type='product' and basic_category='process'
+
+ </select>
+
+ <select id="selectBasicMp">
+ select bdp.id, bdp.basic_type, bdp.basic_name, bd.basic_name as d_basic_name
+ from pp.basic_data_produce bdp
+ left join sd.basic_data bd on bdp.basic_category = bd.id
+ order by bdp.id desc
+ </select>
+
+ <select id="openSelectIdMp">
+ select bdp.id, bdp.basic_type, bdp.basic_name, bd.basic_name as d_basic_name
+ from pp.basic_data_produce bdp
+ left join sd.basic_data bd on bdp.basic_category = bd.id
+ where bdp.id = #{id}
+ </select>
+
+ <delete id="deleteBasicMp">
+ delete from pp.basic_data_produce where id = #{id}
+ </delete>
+
+ <update id="updateBasicMp">
+ update pp.basic_data_produce set basic_type = #{type},basic_name = #{name},basic_category = #{basicId} where id = #{id}
+ </update>
+
+ <select id="getBasicData">
+ select id from sd.basic_data where basic_category = 'process' and basic_name = #{process}
+ </select>
+
+ <insert id="addTeamGroupMp">
+ insert into pp.basic_data_produce(basic_type,basic_name,basic_category,create_time)
+ values('teamsgroups',#{basicName},#{basicId},now())
+ </insert>
+
+ <insert id="saveBreakageTypeMp">
+ insert into pp.basic_data_produce(basic_type,basic_name,create_time)
+ values('breakagetype',#{basicName},now())
+ </insert>
+
+ <insert id="saveBreakageReasonMp">
+ insert into pp.basic_data_produce(basic_type,basic_name,create_time)
+ values('breakagereason',#{basicName},now())
+ </insert>
</mapper>
\ No newline at end of file
diff --git a/north-glass-erp/target/classes/mapper/pp/Report.xml b/north-glass-erp/target/classes/mapper/pp/Report.xml
new file mode 100644
index 0000000..703b4fe
--- /dev/null
+++ b/north-glass-erp/target/classes/mapper/pp/Report.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.example.erp.mapper.pp.ReportMapper">
+ <resultMap id="flowCardMap" type="com.example.erp.entity.pp.FlowCard">
+ <result column="order_id" property="orderId"/>
+ <result column="process_Id" property="processId"/>
+ <result column="quantity" property="quantity"/>
+ <result column="founder" property="founder"/>
+ <result column="create_time" property="createTime"/>
+ <result column="layout_status" property="layoutStatus"/>
+ <!--鎺ユ敹鍏朵粬澶栭敭瀹炰綋绫绘暟鎹�-->
+ <association property="order" javaType="com.example.erp.entity.sd.Order">
+ <result column="project" property="project"/>
+ <result column="order_id" property="orderId"/>
+ <result column="customer_name" property="customerName"/>
+ <result column="batch" property="batch"/>
+ <result column="other_remarks" property="otherRemarks"/>
+ <result column="icon" property="icon"/>
+ <result column="order_type" property="orderType"/>
+ <result column="salesman" property="salesman"/>
+ <result column="processing_note" property="processingNote"/>
+ <result column="delivery_address" property="deliveryAddress"/>
+ </association>
+ <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">
+ <result column="product_id" property="productId"/>
+ <result column="product_name" property="productName"/>
+ <result column="compute_gross_area" property="computeGrossArea"/>
+ <result column="processing_note" property="processingNote"/>
+ <result column="quantity" property="quantity"/>
+ <result column="compute_gross_area" property="computeGrossArea"/>
+ <result column="perimeter" property="perimeter"/>
+ <result column="order_number" property="orderNumber"/>
+ <result column="width" property="width"/>
+ <result column="height" property="height"/>
+ <result column="shape" property="shape"/>
+ <result column="weight" property="weight"/>
+ </association>
+ <association property="orderGlassDetail" javaType="com.example.erp.entity.sd.OrderGlassDetail">
+ <result column="production_id" property="productionId"/>
+ </association>
+ <association property="product" javaType="com.example.erp.entity.sd.Product">
+ <result column="total_thickness" property="totalThickness"/>
+ <result column="thickness" property="thickness"/>
+ </association>
+
+ <!--<result column="g_typeId" property="glassTypes.typeId"/>
+ <result column="g_type" property="glassTypes.type"/>-->
+
+ </resultMap>
+
+<!-- 娴佺▼鍗¤繘搴�-->
+ <select id="processCardProgressMp">
+
+ </select>
+</mapper>
\ No newline at end of file
--
Gitblit v1.8.0