补片返工审核添加编号字段,标签打印打印方式修改成和流程卡打印相同,补片同步修改,修改流程卡打印查询和不同配置流程卡打印方式,添加部分字段
| | |
| | | filterMethod: filterChanged |
| | | }, |
| | | { |
| | | field: 'process', |
| | | title: t('orderBasicData.process'), |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | }, |
| | | { |
| | | field: 'quantity', |
| | | title: t('order.quantity'), |
| | | filters: [{data: ''}], |
| File was renamed from north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabel.vue |
| | |
| | | printList: [] |
| | | }) |
| | | |
| | | let props = defineProps({ |
| | | list:null,//勾选的数据 |
| | | faceOrientation:null,//内外面 |
| | | type:null,//标签模板 |
| | | lableType:null//标签类型 |
| | | }) |
| | | |
| | | const {currentRoute} = useRouter() |
| | | const route = currentRoute.value |
| | | data.value.printList = JSON.parse(route.query.printList) |
| | | const type = route.query.type |
| | | const faceOrientation = route.query.faceOrientation |
| | | const lableType = route.query.lableType |
| | | |
| | | let type = props.type |
| | | let faceOrientation = props.faceOrientation |
| | | let lableType = props.lableType |
| | | data.value.printList = JSON.parse(props.list) |
| | | onMounted(() => { |
| | | request.post(`/processCard/getSelectPrintCustomLabel/${type}/${lableType}`, data.value).then((res) => { |
| | | if (res.code == 200) { |
| | |
| | | "{display:block;padding-top:1px}}"; |
| | | // |
| | | content.innerHTML = el.outerHTML; |
| | | // // console.log("el.outerHTML", el.outerHTML); |
| | | body.appendChild(style); |
| | | |
| | | // 与style元素设置的样式相配合 |
| | |
| | | |
| | | //修改相同产品名称标签 |
| | | const updataProductName = () => { |
| | | |
| | | for (let i = 0; i < lastList.value.length; i++) { |
| | | let prefix = lastList.value[i].processId.substring(0, 11); |
| | | let orderId= lastList.value[i].orderId |
| | | let enName= lastList.value[i].productAbbreviation |
| | | let project=lastList.value[i].project |
| | | lastList.value.forEach(obj => { |
| | | if (prefix === obj.processId.substring(0, 11)){ |
| | | obj.productAbbreviation = enName |
| | | } |
| | | if (orderId === obj.orderId){ |
| | | obj.project=project |
| | | } |
| | | }) |
| | | } |
| | |
| | | </script> |
| | | |
| | | <template> |
| | | <el-button id="printButton" @click="printFlowCard();">{{ $t('basicData.print') }}</el-button> |
| | | <div id="print" :class="company.printLabel.className.custom.printFlowCardName()"> |
| | | <div v-for="(item1,id) in lastList" :class="company.printLabel.className.custom.entiretyName()"> |
| | | <div class="row4">{{ faceOrientation }}</div> |
| | | <div v-for="(item,id) in labelList" :class="company.printLabel.className.custom.contentRowName()"> |
| | | <div v-if="item.title==null" class="row1">{{ item.title }}</div> |
| | | <div v-else class="row1">{{ item.title }}:</div> |
| | | <div class="row2" style="width: 100%;"><input v-model="item1[item.name]" @keyup="updataProductName()" style="background-color: #D5EAFF;border: none;"/></div> |
| | | <div id="print" :class="company.printLabel.className.custom.printFlowCardName()"> |
| | | <div v-for="(item1,id) in lastList" :class="company.printLabel.className.custom.entiretyName()"> |
| | | <div class="row4">{{ faceOrientation }}</div> |
| | | <div v-for="(item,id) in labelList" :class="company.printLabel.className.custom.contentRowName()"> |
| | | <div v-if="item.title==null" class="row1">{{ item.title }}</div> |
| | | <div v-else class="row1">{{ item.title }}:</div> |
| | | <div class="row2" style="width: 100%;"><input v-model="item1[item.name]" @keyup="updataProductName()" style="border: none;"/></div> |
| | | </div> |
| | | <div v-html="company.printLabel.custom(item1)"></div> |
| | | </div> |
| | | <div v-html="company.printLabel.custom(item1)"></div> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | |
| | | |
| | | </template> |
| | | |
| | |
| | | width: 100px; |
| | | } |
| | | |
| | | .print{ |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | /*成*/ |
| | | .printFlowCard_finished { |
| | | /* |
| | | font-family: 'Microsoft YaHei', '微软雅黑', sans-serif; |
| | | */ |
| | | flex-wrap: wrap; |
| | | flex-wrap: nowrap; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | |
| | | |
| | | input{ |
| | | width: 100%; |
| | | background-color: #D5EAFF; |
| | | border: none; |
| | | } |
| | | |
| File was renamed from north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi.vue |
| | |
| | | printList: [] |
| | | }) |
| | | |
| | | let props = defineProps({ |
| | | list:null,//勾选的数据 |
| | | faceOrientation:null,//内外面 |
| | | type:null,//标签模板 |
| | | lableType:null//标签类型 |
| | | }) |
| | | |
| | | const {currentRoute} = useRouter() |
| | | const route = currentRoute.value |
| | | data.value.printList = JSON.parse(route.query.printList) |
| | | const type = route.query.type |
| | | const faceOrientation = route.query.faceOrientation |
| | | const lableType = route.query.lableType |
| | | let type = props.type |
| | | let faceOrientation = props.faceOrientation |
| | | let lableType = props.lableType |
| | | data.value.printList = JSON.parse(props.list) |
| | | |
| | | onMounted(() => { |
| | | request.post(`/processCard/getSelectPrintCustomLabel/${type}/${lableType}`, data.value).then((res) => { |
| | |
| | | "{display:block;padding-top:1px}}"; |
| | | // |
| | | content.innerHTML = el.outerHTML; |
| | | // // console.log("el.outerHTML", el.outerHTML); |
| | | body.appendChild(style); |
| | | |
| | | // 与style元素设置的样式相配合 |
| | |
| | | </script> |
| | | |
| | | <template> |
| | | <el-button id="printButton" @click="printFlowCard();">{{ $t('basicData.print') }}</el-button> |
| | | <div id="print" :class="company.printLabel.className.semi.printFlowCardName()"> |
| | | <div v-for="(item1,id) in lastList" :class="company.printLabel.className.semi.entiretyName()"> |
| | | <div class="row4">{{ faceOrientation }}</div> |
| | |
| | | |
| | | @page { |
| | | size: auto; |
| | | margin: 2mm 2mm 0mm 2mm; |
| | | margin: 0mm 0mm 0mm 4mm; |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | handleGetQRCode() |
| | | handleSummary() |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| File was renamed from north-glass-erp/northglass-erp/src/views/pp/Replenish/PrintRepairCustomLabel.vue |
| | |
| | | printList: [] |
| | | }) |
| | | |
| | | let props = defineProps({ |
| | | list:null,//勾选的数据 |
| | | faceOrientation:null,//内外面 |
| | | type:null,//标签模板 |
| | | lableType:null//标签类型 |
| | | }) |
| | | |
| | | const {currentRoute} = useRouter() |
| | | const route = currentRoute.value |
| | | data.value.printList = JSON.parse(route.query.printList) |
| | | const type = route.query.type |
| | | const faceOrientation = route.query.faceOrientation |
| | | const lableType = route.query.lableType |
| | | let type = props.type |
| | | let faceOrientation = props.faceOrientation |
| | | let lableType = props.lableType |
| | | data.value.printList = JSON.parse(props.list) |
| | | |
| | | onMounted(() => { |
| | | request.post(`/Replenish/getSelectPrintCustomLabel/${type}`, data.value).then((res) => { |
| | |
| | | "{display:block;padding-top:1px}}"; |
| | | // |
| | | content.innerHTML = el.outerHTML; |
| | | // // console.log("el.outerHTML", el.outerHTML); |
| | | body.appendChild(style); |
| | | |
| | | // 与style元素设置的样式相配合 |
| | |
| | | </script> |
| | | |
| | | <template> |
| | | <el-button id="printButton" @click="printFlowCard();">{{ $t('basicData.print') }}</el-button> |
| | | <div class="printFlowCard_finished" id="print"> |
| | | <div v-for="(item1,id) in lastList" class="entirety_finished"> |
| | | <div class="row4">{{faceOrientation}}</div> |
| | |
| | | /* |
| | | font-family: 'Microsoft YaHei', '微软雅黑', sans-serif; |
| | | */ |
| | | flex-wrap: wrap; |
| | | flex-wrap: nowrap; |
| | | font-size: 12pt; |
| | | display: flex; |
| | | flex-direction:column; |
| File was renamed from north-glass-erp/northglass-erp/src/views/pp/Replenish/PrintRepairCustomLabelSemi.vue |
| | |
| | | }) |
| | | |
| | | |
| | | let props = defineProps({ |
| | | list:null,//勾选的数据 |
| | | faceOrientation:null,//内外面 |
| | | type:null,//标签模板 |
| | | lableType:null//标签类型 |
| | | }) |
| | | |
| | | const {currentRoute} = useRouter() |
| | | const route = currentRoute.value |
| | | data.value.printList = JSON.parse(route.query.printList) |
| | | const type = route.query.type |
| | | const faceOrientation = route.query.faceOrientation |
| | | const lableType = route.query.lableType |
| | | let type = props.type |
| | | let faceOrientation = props.faceOrientation |
| | | let lableType = props.lableType |
| | | data.value.printList = JSON.parse(props.list) |
| | | |
| | | onMounted(() => { |
| | | request.post(`/processCard/getSelectPrintCustomLabel/${type}`, data.value).then((res) => { |
| | | request.post(`/Replenish/getSelectPrintCustomLabel/${type}`, data.value).then((res) => { |
| | | if (res.code == 200) { |
| | | |
| | | produceList.value = deepClone(res.data.title) |
| | | list.value = deepClone(res.data.data) |
| | | const data = produceList.value[0].value |
| | | dataList = JSON.parse(`[${data}]`); |
| | | |
| | | labelList = dataList[0] |
| | | for (let i = 0; i < list.value.length; i++) { |
| | | let count= list.value[i].data.length |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | |
| | | "{display:block;padding-top:1px}}"; |
| | | // |
| | | content.innerHTML = el.outerHTML; |
| | | // // console.log("el.outerHTML", el.outerHTML); |
| | | body.appendChild(style); |
| | | |
| | | // 与style元素设置的样式相配合 |
| | |
| | | </script> |
| | | |
| | | <template> |
| | | <el-button id="printButton" @click="printFlowCard();">{{ $t('basicData.print') }}</el-button> |
| | | <div class="printFlowCard_semi" id="print"> |
| | | <div v-for="(item1,id) in lastList" class="entirety_semi"> |
| | | <div class="row4">{{faceOrientation}}</div> |
| | | <div v-for="(item,id) in labelList" class="contentRow"> |
| | | <div class="row1">{{ item.title }}:</div> |
| | | <div class="row2">{{ item1.order[item.name] }}</div> |
| | | <div class="row2">{{ item1[item.name] }}</div> |
| | | |
| | | </div> |
| | | <div class="row3"> |
| | |
| | | filterMethod: filterChanged |
| | | }, |
| | | { |
| | | field: 'glass_child', |
| | | title: t('reportingWorks.glassChild'), |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | }, |
| | | { |
| | | field: 'quantity', |
| | | title: t('order.quantity'), |
| | | filters: [{data: ''}], |
| | |
| | | { |
| | | path: 'printCustomLabel', |
| | | name: 'printCustomLabel', |
| | | component: () => import('../views/pp/processCard/PrintCustomLabel.vue'), |
| | | component: () => import('../components/pp/PrintCustomLabel.vue'), |
| | | }, |
| | | { |
| | | path: 'printCustomLabelSemi', |
| | | name: 'printCustomLabelSemi', |
| | | component: () => import('../views/pp/processCard/PrintCustomLabelSemi.vue'), |
| | | component: () => import('../components/pp/PrintCustomLabelSemi.vue'), |
| | | }, |
| | | { |
| | | path: 'printCustomLabelSemi2', |
| | |
| | | { |
| | | path: 'printRepairCustomLabelSemi', |
| | | name: 'printRepairCustomLabelSemi', |
| | | component: () => import('../views/pp/Replenish/PrintRepairCustomLabelSemi.vue'), |
| | | component: () => import('../components/pp/PrintRepairCustomLabelSemi.vue'), |
| | | }, |
| | | { |
| | | path: 'printRepairCustomLabel', |
| | | name: 'printRepairCustomLabel', |
| | | component: () => import('../views/pp/Replenish/PrintRepairCustomLabel.vue'), |
| | | component: () => import('../components/pp/PrintRepairCustomLabel.vue'), |
| | | }, |
| | | { |
| | | path: '', |
| | |
| | | <div class="main-div-customer"> |
| | | |
| | | <vxe-grid |
| | | max-height="100%" |
| | | height="100%" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | |
| | | import {addListener, toolbarButtonClickEvent} from "@/hook/mouseMove"; |
| | | import PrintProcess from '@/components/pp/PrintProcessReplenish.vue' |
| | | import PrintLabel from '@/views/pp/processCard/PrintLabel.vue' |
| | | import PrintCustomLabel from '@/views/pp/processCard/PrintCustomLabel.vue' |
| | | import PrintCustomLabel from '@/components/pp/PrintRepairCustomLabel.vue' |
| | | import PrintCustomLabelSemi from '@/components/pp/PrintRepairCustomLabelSemi.vue' |
| | | import footSum from "@/hook/footSum" |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import companyInfo from "@/stores/sd/companyInfo" |
| | |
| | | printMergeVal:null |
| | | }) |
| | | |
| | | //标签 |
| | | let labelRow = ref({ |
| | | list:null,//勾选的数据 |
| | | faceOrientation:null,//内外面 |
| | | type:null,//标签模板 |
| | | lableType:null//标签类型 |
| | | }) |
| | | |
| | | //室内室外面 |
| | | const stateValue = ref('') |
| | | const stateOptions = [ |
| | |
| | | id: 'child', |
| | | |
| | | }) |
| | | |
| | | const printContentLabel = ref({ |
| | | id: 'childLabel', |
| | | }) |
| | | |
| | | const printContentLabelSemi = ref({ |
| | | id: 'childLabelSemi', |
| | | }) |
| | | |
| | | |
| | | //打印类型 |
| | | const printType = ref() |
| | |
| | | id += selectRecords[i].id + "|" |
| | | } |
| | | } |
| | | |
| | | if (lableTypes==1){ |
| | | router.push({path: '/main/Replenish/PrintRepairCustomLabel', query: {type:type,faceOrientation:faceOrientation,lableType:lableTypes, printList: JSON.stringify(selectRecords)}}) |
| | | |
| | | labelRow.value.list=JSON.stringify(selectRecords) |
| | | labelRow.value.faceOrientation=faceOrientation |
| | | labelRow.value.type=type |
| | | labelRow.value.lableType= lableTypes |
| | | dialogTableVisibleLabel.value=true |
| | | //router.push({path: '/main/processCard/PrintCustomLabel', query: {type:type,faceOrientation:faceOrientation,lableType:lableTypes, printList: JSON.stringify(selectRecords)}}) |
| | | |
| | | } |
| | | else { |
| | | router.push({path: '/main/Replenish/PrintRepairCustomLabelSemi', query: {type:type,faceOrientation:faceOrientation,lableType:lableTypes, printList: JSON.stringify(selectRecords)}}) |
| | | else if (lableTypes==2) { |
| | | labelRow.value.list=JSON.stringify(selectRecords) |
| | | labelRow.value.faceOrientation=faceOrientation |
| | | labelRow.value.type=type |
| | | labelRow.value.lableType= lableTypes |
| | | dialogTableVisibleCustomLabel.value=true |
| | | //router.push({path: '/main/processCard/PrintCustomLabelSemi', query: {type:type,faceOrientation:faceOrientation,lableType:lableTypes, printList: JSON.stringify(selectRecords)}}) |
| | | |
| | | }else |
| | | if (lableTypes==3) { |
| | | router.push({path: '/main/processCard/PrintLabel1', query: {type:type,faceOrientation:faceOrientation,lableType:lableTypes, printList: JSON.stringify(selectRecords)}}) |
| | | |
| | | } |
| | | |
| | |
| | | style="width: 100%;height: 100%" /> |
| | | </el-dialog> |
| | | |
| | | <!-- 成品标签--> |
| | | <el-dialog |
| | | id="sizeCustom" |
| | | v-model="dialogTableVisibleLabel" |
| | | destroy-on-close |
| | | :title="$t('processCard.printLabel')" |
| | | style="width: 80%;height:75% "> |
| | | <PrintLabel :printList="selectRecords" |
| | | style="width: 100%;height: 100%" /> |
| | | <template #header="{ close, titleId, titleClass }"> |
| | | <el-button v-print="printContentLabel" :icon="Printer" circle /> |
| | | </template> |
| | | <print-custom-label id="childLabel" |
| | | :list="labelRow.list" |
| | | :faceOrientation="labelRow.faceOrientation" |
| | | :type="labelRow.type" |
| | | :lableType="labelRow.lableType" |
| | | style="width: 100%;height: 100%" /> |
| | | </el-dialog> |
| | | |
| | | <!-- 小片标签 --> |
| | | <el-dialog |
| | | id="sizeCustomSemi" |
| | | v-model="dialogTableVisibleCustomLabel" |
| | | destroy-on-close |
| | | :title="$t('processCard.labelStyle')" |
| | | style="width: 80%;height:75% "> |
| | | <PrintLabel :printList="selectRecords" |
| | | style="width: 100%;height: 100%" /> |
| | | <template #header="{ close, titleId, titleClass }"> |
| | | <el-button v-print="printContentLabelSemi" :icon="Printer" circle /> |
| | | </template> |
| | | <print-custom-label-semi id="childLabelSemi" |
| | | :list="labelRow.list" |
| | | :faceOrientation="labelRow.faceOrientation" |
| | | :type="labelRow.type" |
| | | :lableType="labelRow.lableType" |
| | | style="width: 100%;height: 100%" /> |
| | | </el-dialog> |
| | | |
| | | <!-- 排序--> |
| | | <el-dialog |
| | | id="sizeCheck" |
| | | v-model="printVisible" |
| | |
| | | <style scoped> |
| | | .main-div-customer { |
| | | width: 99%; |
| | | height: 100%; |
| | | height: 94%; |
| | | } |
| | | |
| | | |
| | |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | :deep(#sizeCustom .el-dialog__body){ |
| | | height: 85%; |
| | | width: 100%; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | :deep(#sizeCustomSemi .el-dialog__body){ |
| | | height: 85%; |
| | | width: 100%; |
| | | overflow-y: auto; |
| | | } |
| | | </style> |
| | |
| | | {field: 'process_id', width: 140, title: t('processCard.processId'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'project', width: 120, title: t('order.project'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'batch', width: 80, title: t('order.batch'), showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'glassNumber', width: 100, title: t('reportingWorks.glassNumber'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'order_sort', width: 100, title:t('order.OrderNum'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'technology_number', width: 80, title: t('replenish.mark'), showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'patch_type', width: 100, title: t('reportingWorks.breakageType'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | |
| | | </el-header> |
| | | |
| | | <vxe-grid |
| | | max-height="100%" |
| | | height="100%" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | |
| | | <style scoped> |
| | | .main-div-customer{ |
| | | width: 99%; |
| | | height: 100%; |
| | | height: 95%; |
| | | } |
| | | #head{ |
| | | width:40%; |
| | |
| | | |
| | | <template> |
| | | <div style="width: 75%;height: 90%"> |
| | | |
| | | <div class="common-layout" style="width: 100%;height: 100%"> |
| | | |
| | | <div class="common-layout"> |
| | | <el-button |
| | | id="searchButton1" |
| | | :icon="ArrowLeftBold" |
| | |
| | | } |
| | | |
| | | .common-layout { |
| | | height: 100%; |
| | | width: 99%; |
| | | height: 96%; |
| | | } |
| | | |
| | | .header { |
| | |
| | | import {addListener, toolbarButtonClickEvent} from "@/hook/mouseMove"; |
| | | import PrintProcess from '@/components/pp/PrintProcess.vue' |
| | | import PrintLabel from '@/views/pp/processCard/PrintLabel.vue' |
| | | import PrintCustomLabel from '@/views/pp/processCard/PrintCustomLabel.vue' |
| | | import PrintCustomLabel from '@/components/pp/PrintCustomLabel.vue' |
| | | import PrintCustomLabelSemi from '@/components/pp/PrintCustomLabelSemi.vue' |
| | | import SortDetail from '@/components/pp/SelectSortDetailProcessCard.vue' |
| | | import footSum from "@/hook/footSum" |
| | | import companyInfo from "@/stores/sd/companyInfo" |
| | |
| | | list:null, |
| | | printMergeVal:null, |
| | | like:null |
| | | }) |
| | | |
| | | //标签 |
| | | let labelRow = ref({ |
| | | list:null,//勾选的数据 |
| | | faceOrientation:null,//内外面 |
| | | type:null,//标签模板 |
| | | lableType:null//标签类型 |
| | | }) |
| | | |
| | | |
| | |
| | | const printContent = ref({ |
| | | id: 'child', |
| | | |
| | | }) |
| | | |
| | | |
| | | |
| | | const printContentLabel = ref({ |
| | | id: 'childLabel', |
| | | }) |
| | | |
| | | const printContentLabelSemi = ref({ |
| | | id: 'childLabelSemi', |
| | | }) |
| | | |
| | | //打印类型 |
| | |
| | | title: t('order.orderId'), |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | filterMethod: filterChanged,width: 120 |
| | | }, |
| | | { |
| | | field: 'process_id', |
| | |
| | | showOverflow: "ellipsis", |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | filterMethod: filterChanged,width: 140 |
| | | }, |
| | | { |
| | | field: 'customer_name', |
| | | title: t('customer.customerName'), |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | filterMethod: filterChanged,width: 120 |
| | | }, |
| | | { |
| | | field: 'project', |
| | | title: t('order.project'), |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | filterMethod: filterChanged,width: 120 |
| | | }, |
| | | {field: 'technology_number', title: t('processCard.technologyNumber'), showOverflow: "ellipsis"}, |
| | | {field: 'glass_address', title: t('processCard.glassAddress'),}, |
| | | {field: 'quantity', title: t('order.quantity'),}, |
| | | {field: 'total_area', title: t('order.area'),}, |
| | | {field: 'product_name', title: t('order.product'),}, |
| | | {field: 'glass_child', title: t('reportingWorks.glassChild'),filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod: filterChanged}, |
| | | {field: 'founder', title: t('processCard.founder'),}, |
| | | {field: 'splitFrame_time', title: t('processCard.splitFrameTime'),}, |
| | | {field: 'technology_number', title: t('processCard.technologyNumber'), showOverflow: "ellipsis",width: 90}, |
| | | {field: 'glass_address', title: t('processCard.glassAddress'),width: 90}, |
| | | {field: 'quantity', title: t('order.quantity'),width: 90}, |
| | | {field: 'total_area', title: t('order.area'),width: 90}, |
| | | {field: 'product_name', title: t('order.product'),width: 120}, |
| | | {field: 'glass_child', title: t('reportingWorks.glassChild'),width: 120,filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod: filterChanged}, |
| | | {field: 'founder', title: t('processCard.founder'),width: 120}, |
| | | {field: 'splitFrame_time', title: t('processCard.splitFrameTime'),width: 120}, |
| | | {field: 'process', title: t('craft.process'),filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged,width: 160}, |
| | | { |
| | | field: 'print_status', |
| | | title: t('processCard.printStatus'), |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | filterMethod: filterChanged,width: 120 |
| | | }, |
| | | ],//表头按钮 |
| | | |
| | |
| | | } |
| | | |
| | | if (lableTypes==1){ |
| | | router.push({path: '/main/processCard/PrintCustomLabel', query: {type:type,faceOrientation:faceOrientation,lableType:lableTypes, printList: JSON.stringify(selectRecords)}}) |
| | | |
| | | labelRow.value.list=JSON.stringify(selectRecords) |
| | | labelRow.value.faceOrientation=faceOrientation |
| | | labelRow.value.type=type |
| | | labelRow.value.lableType= lableTypes |
| | | dialogTableVisibleLabel.value=true |
| | | //router.push({path: '/main/processCard/PrintCustomLabel', query: {type:type,faceOrientation:faceOrientation,lableType:lableTypes, printList: JSON.stringify(selectRecords)}}) |
| | | |
| | | } |
| | | else if (lableTypes==2) { |
| | | router.push({path: '/main/processCard/PrintCustomLabelSemi', query: {type:type,faceOrientation:faceOrientation,lableType:lableTypes, printList: JSON.stringify(selectRecords)}}) |
| | | labelRow.value.list=JSON.stringify(selectRecords) |
| | | labelRow.value.faceOrientation=faceOrientation |
| | | labelRow.value.type=type |
| | | labelRow.value.lableType= lableTypes |
| | | dialogTableVisibleCustomLabel.value=true |
| | | //router.push({path: '/main/processCard/PrintCustomLabelSemi', query: {type:type,faceOrientation:faceOrientation,lableType:lableTypes, printList: JSON.stringify(selectRecords)}}) |
| | | |
| | | }else if (lableTypes==3) { |
| | | }else |
| | | if (lableTypes==3) { |
| | | router.push({path: '/main/processCard/PrintLabel1', query: {type:type,faceOrientation:faceOrientation,lableType:lableTypes, printList: JSON.stringify(selectRecords)}}) |
| | | |
| | | } |
| | |
| | | <vxe-grid |
| | | ref="xGrid" |
| | | class="mytable-scrollbar" |
| | | height="600px" |
| | | max-height="100%" |
| | | height="100%" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | |
| | |
| | | |
| | | |
| | | </vxe-grid> |
| | | <!-- 流程卡打印 --> |
| | | <el-dialog |
| | | id="sizePrintCalrd" |
| | | v-model="dialogTableVisible" |
| | |
| | | <template #header="{ close, titleId, titleClass }"> |
| | | <el-button v-print="printContent" @click="printNumber" :icon="Printer" circle /> |
| | | </template> |
| | | <print-process id="child" :printList="printRow.list" :printMerge="printRow.printMergeVal" :printLike="printRow.like" |
| | | style="width: 100%;height: 100%" /> |
| | | <print-process |
| | | id="child" |
| | | :printList="printRow.list" |
| | | :printMerge="printRow.printMergeVal" |
| | | :printLike="printRow.like" |
| | | style="width: 100%;height: 100%" /> |
| | | </el-dialog> |
| | | |
| | | <!-- 成品标签--> |
| | | <el-dialog |
| | | id="sizeCustom" |
| | | v-model="dialogTableVisibleLabel" |
| | | destroy-on-close |
| | | :title="$t('processCard.printLabel')" |
| | | style="width: 80%;height:75% "> |
| | | <PrintLabel :printList="selectRecords" |
| | | <template #header="{ close, titleId, titleClass }"> |
| | | <el-button v-print="printContentLabel" :icon="Printer" circle /> |
| | | </template> |
| | | <print-custom-label id="childLabel" |
| | | :list="labelRow.list" |
| | | :faceOrientation="labelRow.faceOrientation" |
| | | :type="labelRow.type" |
| | | :lableType="labelRow.lableType" |
| | | style="width: 100%;height: 100%" /> |
| | | </el-dialog> |
| | | |
| | | <!-- 小片标签 --> |
| | | <el-dialog |
| | | id="sizeCustomSemi" |
| | | v-model="dialogTableVisibleCustomLabel" |
| | | destroy-on-close |
| | | :title="$t('processCard.labelStyle')" |
| | | style="width: 80%;height:75% "> |
| | | <PrintLabel :printList="selectRecords" |
| | | <template #header="{ close, titleId, titleClass }"> |
| | | <el-button v-print="printContentLabelSemi" :icon="Printer" circle /> |
| | | </template> |
| | | <print-custom-label-semi id="childLabelSemi" |
| | | :list="labelRow.list" |
| | | :faceOrientation="labelRow.faceOrientation" |
| | | :type="labelRow.type" |
| | | :lableType="labelRow.lableType" |
| | | style="width: 100%;height: 100%" /> |
| | | </el-dialog> |
| | | |
| | | <!-- 排序--> |
| | | <el-dialog |
| | | id="sizeCheck" |
| | | v-model="printVisible" |
| | |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | :deep(#sizeCustom .el-dialog__body){ |
| | | height: 85%; |
| | | width: 100%; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | :deep(#sizeCustomSemi .el-dialog__body){ |
| | | height: 85%; |
| | | width: 100%; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | </style> |
| | |
| | | total.dataTotal = res.data.total.total * 1 |
| | | total.pageTotal = res.data.total.pageTotal |
| | | pageTotal.value = res.data.total |
| | | console.log(res.data.data) |
| | | xGrid.value.loadData(res.data.data) |
| | | gridOptions.loading = false |
| | | if (selectState==1){ |
| | |
| | | |
| | | // {field: '排产编号', title: '排产编号', width: 120 }, |
| | | { |
| | | field: 'orderGlassDetail.orderId', |
| | | field: 'order.orderId', |
| | | title: t('order.orderId'), |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | |
| | | <vxe-grid |
| | | ref="xGrid" |
| | | class="mytable-scrollbar" |
| | | height="500px" |
| | | max-height="100%" |
| | | height="95%" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | @filter-change="filterChanged" |
| | |
| | | |
| | | </div> |
| | | <vxe-grid |
| | | max-height="100%" |
| | | height="600px" |
| | | height="95%" |
| | | @filter-change="filterChanged" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | |
| | | <vxe-grid |
| | | ref="xGrid" |
| | | class="mytable-scrollbar" |
| | | height="100%" |
| | | max-height="100%" |
| | | height="95%" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | > |
| | |
| | | ref="xGrid" |
| | | class="mytable-scrollbar" |
| | | height="100%" |
| | | max-height="100%" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | > |
| | |
| | | <style scoped> |
| | | .main-div-customer { |
| | | width: 99%; |
| | | height: 100%; |
| | | height: 93%; |
| | | } |
| | | #selectForm { |
| | | width: 60%; |
| | |
| | | ref="xGrid" |
| | | :checkbox-config="checkBoxConfig" |
| | | class="mytable-scrollbar" |
| | | max-height="100%" |
| | | height="100%" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | @filter-change="filterChanged" |
| | |
| | | <style scoped> |
| | | .main-div-customer { |
| | | width: 99%; |
| | | height: 100%; |
| | | height: 95%; |
| | | } |
| | | |
| | | #selectForm { |
| | |
| | | <vxe-grid |
| | | ref="xGrid" |
| | | class="mytable-scrollbar" |
| | | height="600px" |
| | | max-height="100%" |
| | | height="100%" |
| | | v-bind="gridOptions" |
| | | |
| | | |
| | |
| | | |
| | | </div> |
| | | <vxe-grid |
| | | max-height="100%" |
| | | height="100%" |
| | | @filter-change="filterChanged" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | |
| | | <style scoped> |
| | | .main-div-customer{ |
| | | width: 99%; |
| | | height: 100%; |
| | | height: 95%; |
| | | } |
| | | #selectForm { |
| | | width: 60%; |
| | |
| | | |
| | | </div> |
| | | <vxe-grid |
| | | max-height="100%" |
| | | height="100%" |
| | | @filter-change="filterChanged" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | |
| | | <style scoped> |
| | | .main-div-customer{ |
| | | width: 99%; |
| | | height: 100%; |
| | | height: 96%; |
| | | } |
| | | #selectForm { |
| | | width: 45%; |
| | |
| | | <template> |
| | | <div class="main-div-customer"> |
| | | <vxe-grid |
| | | max-height="100%" |
| | | height="100%" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | |
| | | <style scoped> |
| | | .main-div-customer { |
| | | width: 99%; |
| | | height: 100%; |
| | | height: 95%; |
| | | } |
| | | .vxe-grid { |
| | | /* 禁用浏览器默认选中 */ |
| | |
| | | import {addListener, toolbarButtonClickEvent} from "@/hook/mouseMove"; |
| | | import PrintProcess from '@/components/pp/PrintReworkProcess.vue' |
| | | import PrintLabel from '@/views/pp/processCard/PrintLabel.vue' |
| | | import PrintCustomLabel from '@/views/pp/processCard/PrintCustomLabel.vue' |
| | | import PrintCustomLabel from '@/components/pp/PrintCustomLabel.vue' |
| | | import footSum from "@/hook/footSum" |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import companyInfo from "@/stores/sd/companyInfo" |
| | |
| | | <vxe-grid |
| | | ref="xGrid" |
| | | class="mytable-scrollbar" |
| | | height="600px" |
| | | max-height="100%" |
| | | height="100%" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | |
| | |
| | | <style scoped> |
| | | .main-div-customer { |
| | | width: 99%; |
| | | height: 100%; |
| | | height: 94%; |
| | | } |
| | | |
| | | |
| | |
| | | {field: 'process_id', width: 140, title: t('processCard.processId'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'project', width: 120, title: t('order.project'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'batch', width: 80, title: t('order.batch'), showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'glassNumber', width: 100, title: t('reportingWorks.glassNumber'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'order_sort', width: 80, title: t('order.OrderNum'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'technology_number', width: 80, title: t('replenish.mark'), showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'rework_type', width: 100, title: t('rework.reworkType'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | |
| | | |
| | | |
| | | <vxe-grid |
| | | max-height="100%" |
| | | height="100%" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | |
| | | <style scoped> |
| | | .main-div-customer { |
| | | width: 99%; |
| | | height: 98%; |
| | | height: 95%; |
| | | } |
| | | |
| | | :deep(.el-col div) { |
| | |
| | | //修改时间 |
| | | private LocalDate updateTime; |
| | | |
| | | //查询用 |
| | | //报工编号 |
| | | private String reportingWorkId; |
| | | //产品名称 |
| | | private String glassChild; |
| | | //工艺流程 |
| | | private String process; |
| | | |
| | | //外键订单表 |
| | | @TableField(select = false,exist= false) |
| | |
| | | |
| | | List<Map<String, String>> selectPrintMp(String orderId); |
| | | |
| | | List<Map<String, String>> getPrimaryList(String processId, String technologyNumber); |
| | | List<Map<String, String>> getPrimaryList(String processId, String technologyNumber, String glassChild, String process); |
| | | |
| | | List<Map<String, Object>> getDetailList(String processId, Integer technologyNumber); |
| | | |
| | |
| | | |
| | | List<Map<String, String>> selectReplenishPrintMp(Date selectTime1, Date selectTime2, FlowCard flowCard); |
| | | |
| | | List<Map<String, Object>> getRepairPrintCustomData(String processId, Integer technologyNumber); |
| | | List<Map<String, Object>> getRepairPrintCustomData(String processId, Integer technologyNumber, String reportingWorkId); |
| | | |
| | | List<Map<String, Object>> getGlassNumber(Integer technologyNumber, String processId); |
| | | |
| | |
| | | //流程卡表头表尾数据 |
| | | //是否传入合并层数 |
| | | if (printMerge.equals("")||printMerge.equals("null") ){ |
| | | itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()))); |
| | | itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess())); |
| | | //是否包含切割 |
| | | boolean containsCutting = flowCard.getProcess().contains("切割"); |
| | | if(String.valueOf(flowCard.getTechnologyNumber()).length()>1 && containsCutting){ |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber())); |
| | | itemmap.put("detailList", detailList); |
| | | } |
| | | else { |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber()); |
| | | itemmap.put("detailList", detailList); |
| | | } |
| | | |
| | | } |
| | | else { |
| | | |
| | |
| | | itemmap.put("detailList", detailList); |
| | | } |
| | | else { |
| | | itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()))); |
| | | itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess())); |
| | | |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), printMerge); |
| | | itemmap.put("detailList", detailList); |
| | |
| | | for (FlowCard flowCard : flowCardList) { |
| | | |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | itemmap.put("data", flowCardMapper.getRepairPrintCustomData(flowCard.getProcessId(),flowCard.getTechnologyNumber())); |
| | | itemmap.put("data", flowCardMapper.getRepairPrintCustomData(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId())); |
| | | list.add(itemmap); |
| | | |
| | | |
| | |
| | | </select> |
| | | |
| | | <select id="selectPrintMp"> |
| | | select fc.id, |
| | | fc.order_id, |
| | | fc.process_id, |
| | | o.customer_name, |
| | | o.project, |
| | | fc.order_number, |
| | | ogd.technology_number, |
| | | ogd.glass_address, |
| | | sum(od.quantity) as quantity, |
| | | sum(ogd.total_area) as total_area, |
| | | od.product_name, |
| | | ogd.glass_child, |
| | | fc.founder, |
| | | date(fc.splitFrame_time) as splitFrame_time, |
| | | /* if(fc.print_status=0,'未打印','已打印') as print_status*/ |
| | | fc.print_status |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and |
| | | ogd.technology_number = fc.technology_number |
| | | left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number |
| | | left join sd.`order` as o on o.order_id = fc.order_id |
| | | where fc.order_id = #{orderId} |
| | | GROUP BY fc.process_id, ogd.technology_number |
| | | order by fc.process_id, ogd.technology_number |
| | | select * from ((select fc.id, |
| | | fc.order_id, |
| | | fc.process_id, |
| | | o.customer_name, |
| | | o.project, |
| | | ogdss.technology_number, |
| | | ogdss.concatenated_glass_child, |
| | | ROUND(sum(fc.quantity)/(count(DISTINCT fc.technology_number))) as quantity, |
| | | sum(ogd.total_area) as total_area, |
| | | # SUM(ogd.child_width*child_height*fc.quantity/(count(DISTINCT ogd.technology_number))) as total_area, |
| | | od.product_name, |
| | | ogdss.concatenated_glass_child as glass_child, |
| | | fc.founder, |
| | | date(fc.splitFrame_time) as splitFrame_time, |
| | | fc.print_status, |
| | | processed_part as process |
| | | |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and |
| | | ogd.technology_number = fc.technology_number |
| | | left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number |
| | | left join sd.`order` as o on o.order_id = fc.order_id |
| | | left join ( |
| | | select |
| | | ogds.order_id, |
| | | ogds.order_number, |
| | | GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number, |
| | | ogds.glass_child AS concatenated_glass_child, |
| | | process AS processed_part |
| | | from sd.order_glass_detail as ogds |
| | | where ogds.order_id = #{orderId} |
| | | GROUP BY order_id, order_number,ogds.glass_child |
| | | ) as ogdss on fc.order_id=ogdss.order_id and ogdss.order_number=fc.order_number |
| | | where fc.order_id = #{orderId} |
| | | GROUP BY fc.process_id,ogdss.concatenated_glass_child |
| | | order by fc.process_id,ogdss.technology_number) |
| | | |
| | | UNION |
| | | |
| | | (select fc.id, |
| | | fc.order_id, |
| | | fc.process_id, |
| | | o.customer_name, |
| | | o.project, |
| | | ogdss.technology_number, |
| | | ogd.glass_address, |
| | | ROUND(sum(fc.quantity)/(count(DISTINCT fc.technology_number))) as quantity, |
| | | sum(ogd.total_area) as total_area, |
| | | # SUM(ogd.child_width*child_height*fc.quantity/(count(DISTINCT ogd.technology_number))) as total_area, |
| | | od.product_name, |
| | | ogdss.concatenated_glass_child as glass_child, |
| | | fc.founder, |
| | | date(fc.splitFrame_time) as splitFrame_time, |
| | | fc.print_status, |
| | | processed_part as process |
| | | |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and |
| | | ogd.technology_number = fc.technology_number |
| | | left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number |
| | | left join sd.`order` as o on o.order_id = fc.order_id |
| | | left join ( |
| | | select |
| | | ogds.order_id, |
| | | ogds.order_number, |
| | | GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number, |
| | | ogds.glass_child, |
| | | GROUP_CONCAT(ogds.glass_child SEPARATOR ' ') AS concatenated_glass_child, |
| | | SUBSTRING(process, LOCATE('夹胶', process)) AS processed_part |
| | | from sd.order_glass_detail as ogds |
| | | where ogds.order_id = #{orderId} and LOCATE('夹胶',ogds.process)>0 |
| | | GROUP BY order_id, order_number,ogds.group |
| | | ) as ogdss on fc.order_id=ogdss.order_id and ogdss.order_number=fc.order_number |
| | | where fc.order_id = #{orderId} |
| | | GROUP BY fc.process_id |
| | | order by fc.process_id) |
| | | UNION |
| | | (select fc.id, |
| | | fc.order_id, |
| | | fc.process_id, |
| | | o.customer_name, |
| | | o.project, |
| | | ogdss.technology_number, |
| | | ogd.glass_address, |
| | | ROUND(sum(fc.quantity)/(count(DISTINCT fc.technology_number))) as quantity, |
| | | sum(ogd.total_area) as total_area, |
| | | od.product_name, |
| | | ogdss.concatenated_glass_child as glass_child, |
| | | fc.founder, |
| | | date(fc.splitFrame_time) as splitFrame_time, |
| | | fc.print_status, |
| | | processed_part as process |
| | | |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and |
| | | ogd.technology_number = fc.technology_number |
| | | left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number |
| | | left join sd.`order` as o on o.order_id = fc.order_id |
| | | left join ( |
| | | select |
| | | ogds.order_id, |
| | | ogds.order_number, |
| | | GROUP_CONCAT(pds.glass_sort SEPARATOR '') AS technology_number, |
| | | ogds.glass_child, |
| | | GROUP_CONCAT(ogds.glass_child SEPARATOR ' ') AS concatenated_glass_child, |
| | | SUBSTRING(pds.process, LOCATE('中空', pds.process)) AS processed_part |
| | | from sd.order_glass_detail as ogds |
| | | left join sd.order_detail as ods on ods.order_id=ogds.order_id and ods.order_number=ogds.order_number |
| | | left join sd.product_detail as pds on pds.prod_id=ods.product_id and pds.glass_sort=ogds.technology_number |
| | | where ogds.order_id = #{orderId} |
| | | GROUP BY order_id, order_number |
| | | ) as ogdss on fc.order_id=ogdss.order_id and ogdss.order_number=fc.order_number |
| | | where fc.order_id = #{orderId} |
| | | GROUP BY fc.process_id |
| | | order by fc.process_id) |
| | | |
| | | ) AS combined_results where process is not null and process!="" |
| | | |
| | | </select> |
| | | |
| | | <select id="getPrimaryList"> |
| | | select o.customer_name, |
| | | o.project, |
| | | ogd.process, |
| | | #{process} process, |
| | | od.edging_type, |
| | | ogd.glass_child, |
| | | #{glassChild} as glass_child, |
| | | od.product_name, |
| | | o.processing_note, |
| | | fc.process_id, |
| | |
| | | GROUP BY order_id, order_number |
| | | ) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number |
| | | where fc.process_id = #{processId} |
| | | and fc.technology_number = #{technologyNumber} |
| | | group by fc.process_id, fc.technology_number |
| | | and position(fc.technology_number in #{technologyNumber}) |
| | | group by fc.process_id |
| | | </select> |
| | | |
| | | <select id="getDetailList"> |
| | |
| | | left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number |
| | | left join sd.product_detail as pd on pd.prod_id=od.product_id and pd.glass_sort=ogd.technology_number |
| | | where fc.process_id = #{processId} |
| | | and fc.technology_number = #{technologyNumber} |
| | | and position(fc.technology_number in #{technologyNumber}) |
| | | group by fc.process_id, fc.order_number |
| | | order by IF(sort != NULL || sort != '', sort, fc.order_number) |
| | | </select> |
| | |
| | | ogd.child_height, |
| | | fc.quantity, |
| | | ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area, |
| | | fc.sort |
| | | fc.sort, |
| | | ogd.glass_child |
| | | FROM flow_card AS fc |
| | | LEFT JOIN sd.order_glass_detail AS ogd ON fc.order_id = ogd.order_id |
| | | AND fc.order_number = ogd.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | where fc.process_id = #{processId} |
| | | and fc.technology_number = #{technologyNumber} |
| | | and position(fc.technology_number in #{technologyNumber}) |
| | | order by IF(fc.sort != NULL || fc.sort != '', fc.sort, fc.order_number) |
| | | </select> |
| | | |
| | |
| | | |
| | | <select id="getRepairPrintCustomData"> |
| | | select o.order_id as orderId, |
| | | project, |
| | | customer_id as customerId, |
| | | customer_name as customerName, |
| | | order_type as orderType, |
| | | order_classify as orderClassify, |
| | | batch, |
| | | o.project, |
| | | o.customer_id as customerId, |
| | | o.customer_name as customerName, |
| | | o.order_type as orderType, |
| | | o.order_classify as orderClassify, |
| | | o.batch, |
| | | o.icon, |
| | | pack_type as packType, |
| | | delivery_date as deliveryDate, |
| | | al_type as alType, |
| | | money, |
| | | o.pack_type as packType, |
| | | o.delivery_date as deliveryDate, |
| | | o.al_type as alType, |
| | | o.money, |
| | | contract_id as contractId, |
| | | customer_batch customerBatch, |
| | | contacts, |
| | | delivery_address as deliveryAddress, |
| | | o.delivery_address as deliveryAddress, |
| | | od.processing_note as processingNote, |
| | | width, |
| | | height, |
| | | od.width, |
| | | od.height, |
| | | pl.patch_num as quantity, |
| | | pl.order_sort as orderNumber, |
| | | pl.technology_number as technologyNumber, |
| | | od.building_number as buildingNumber, |
| | | od.product_name as productName, |
| | | od.edging_type as edgingType |
| | | |
| | | od.edging_type as edgingType, |
| | | p.remarks, |
| | | c.customer_abbreviation as customerAbbreviation, |
| | | p.product_abbreviation as productAbbreviation, |
| | | fc.process_id as processId, |
| | | o.create_time as createTime, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S02' )) AS figureNumber, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S03' )) AS colourCeramicGlaze, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S04' )) AS remarks1, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S05' )) AS remarks2, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S06' )) AS remarks3, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S07' )) AS remarks4, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S08' )) AS remarks5, |
| | | p.remarks as filmNumber, |
| | | od.bend_radius as bendRadius |
| | | from sd.order as o |
| | | left join sd.order_detail as od on o.order_id = od.order_id |
| | | left join flow_card as fc on o.order_id = fc.order_id and |
| | | od.order_number = fc.order_number |
| | | left join patch_log as pl on pl.process_id = fc.process_id and pl.order_sort = fc.order_number and |
| | | pl.technology_number = fc.technology_number |
| | | left join sd.product as p on p.id=od.product_id |
| | | left join sd.customer as c on c.id = o.customer_id |
| | | left join sd.product_detail as pd on pd.prod_id=p.id and pd.sort_num=od.order_number |
| | | where pl.process_id = #{processId} |
| | | and pl.technology_number = #{technologyNumber} |
| | | and pl.reporting_work_id=#{reportingWorkId} |
| | | group by od.order_number, width, height |
| | | order by IF(fc.sort != NULL || fc.sort != '', fc.sort, pl.order_sort) |
| | | </select> |
| | |
| | | ogd.child_height, |
| | | fc.quantity, |
| | | ROUND(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area, |
| | | fc.sort |
| | | fc.sort, |
| | | ogd.process |
| | | FROM flow_card AS fc |
| | | LEFT JOIN sd.order_glass_detail AS ogd ON fc.order_id = ogd.order_id |
| | | AND fc.order_number = ogd.order_number |
| | |
| | | r.patch_processes, |
| | | r.reviewer, |
| | | date(r.create_time) as create_time, |
| | | date(r.update_time) as update_time |
| | | date(r.update_time) as update_time, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber |
| | | from pp.patch_log r left join sd.order_detail od on r.order_id=od.order_id and r.order_sort=od.order_number |
| | | left join sd.`order` o on r.order_id = o.order_id |
| | | left join (select * from sd.order_glass_detail group by order_id,order_number) as ogd |
| | |
| | | <result column="scheduling_quantity" property="schedulingQuantity"/> |
| | | <result column="order_number" property="orderNumber"/> |
| | | <result column="scheduling_id" property="schedulingId"/> |
| | | <result column="order_id" property="orderGlassDetail.orderId"/> |
| | | <result column="order_id" property="order.orderId"/> |
| | | <result column="technology_number" property="technologyNumber"/> |
| | | <result column="pendingProductionQuantity" property="pendingProductionQuantity"/> |
| | | <result column="pendingProductionArea" property="pendingProductionArea"/> |
| | |
| | | and od.create_time between #{selectTime1} and #{selectTime2} |
| | | and position(#{processes} in ps.processes) |
| | | and position(#{orderIds} in ps.order_id) |
| | | <if test="productionScheduling.orderId != null and productionScheduling.orderId != ''"> |
| | | and ogd.order_id regexp #{productionScheduling.orderId} |
| | | <if test="productionScheduling.order.orderId != null and productionScheduling.order.orderId != ''"> |
| | | and ogd.order_id regexp #{productionScheduling.order.orderId} |
| | | </if> |
| | | <if test="productionScheduling.order.customerName != null and productionScheduling.order.customerName != ''"> |
| | | and o.customer_name regexp #{productionScheduling.order.customerName} |
| | |
| | | |
| | | and position(#{orderIds} in ogd.order_id) |
| | | -- and position("切割" in ps.processes) |
| | | <if test="productionScheduling.orderId != null and productionScheduling.orderId != ''"> |
| | | and ogd.order_id regexp #{productionScheduling.orderId} |
| | | <if test="productionScheduling.order.orderId != null and productionScheduling.order.orderId != ''"> |
| | | and ogd.order_id regexp #{productionScheduling.order.orderId} |
| | | </if> |
| | | <if test="productionScheduling.order.customerName != null and productionScheduling.order.customerName != ''"> |
| | | and o.customer_name regexp #{productionScheduling.order.customerName} |
| | |
| | | r.rework_processes, |
| | | r.reviewer, |
| | | date(r.create_time) as create_time, |
| | | date(r.update_time) as update_time |
| | | date(r.update_time) as update_time, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber |
| | | from pp.rework r left join sd.order_detail od on r.order_id=od.order_id and r.order_sort=od.order_number |
| | | left join sd.`order` o on r.order_id = o.order_id |
| | | left join (select * from sd.order_glass_detail group by order_id,order_number) as ogd |