| | |
| | | {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50}, |
| | | {field: 'reportingWorkTime', width: 120, title: t('reportingWorks.reportingWorkTime'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'orderId', width: 120, title: t('order.orderId'), showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'processId', width: 120, title: t('processCard.processId'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'processId', 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'}, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'batch', width: 80, title: t('order.batch'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis",filterMethod:filterChanged}, |
| | | {field: 'orderSort', width: 80, title: t('order.OrderNum'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'productName', width: 120, title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'reportingWorkId', width: 120, title: t('reportingWorks.reportingWorkId'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'orderSort', width: 100, title: t('order.OrderNum'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'technologyNumber', width: 80, title: t('replenish.mark'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis",filterMethod:filterChanged}, |
| | | {field: 'glassAddress', width: 90, title: t('replenish.sliceMarking'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'responsibleProcess', width: 120, title: t('reportingWorks.responsibleProcess'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'patchProcesses', width: 120, title: t('reportingWorks.reportingProcess'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'patchType', width: 120, title: t('reportingWorks.breakageType'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'patchReason', width: 120, title: t('reportingWorks.breakageReason'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'glassAddress', width: 120, title: t('replenish.sliceMarking'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'patchNum', width: 120, title: t('order.quantity'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'width', width: 80, title: t('order.width'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'height', width: 80, title: t('order.height'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'shape', width: 80, title: t('order.shape'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'responsibleProcess', width: 100, title: t('reportingWorks.responsibleProcess'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'patchProcesses', width: 100, title: t('reportingWorks.reportingProcess'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'patchType', width: 100, title: t('reportingWorks.breakageType'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'patchReason', width: 120, title: t('reportingWorks.breakageReason'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'shape', width: 100, title: t('order.shape'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'responsibleEquipment', width: 120, title: t('reportingWorks.responsibleEquipment'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'responsibleTeam', width: 120, title: t('reportingWorks.responsibleTeam'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'qualityInspector', width: 100, title: t('reportingWorks.qualityInspector'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged} |
| | | {field: 'qualityInspector', width: 120, title: t('reportingWorks.qualityInspector'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'productName', width: 120, title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'reportingWorkId', width: 120, title: t('reportingWorks.reportingWorkId'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | |
| | | ],//表头按钮 |
| | | |
| | | toolbarConfig: { |
| | |
| | | {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50}, |
| | | {type:'checkbox',title: t('basicData.check'), width: 80,fixed:"left"}, |
| | | {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50}, |
| | | {field: 'review_status',title: t('basicData.review'), width: 40, slots: { default: 'state' }}, |
| | | {field: 'review_status',title: t('basicData.review'), width: 50, slots: { default: 'state' }}, |
| | | {field: 'patch_id', width: 120, title: t('replenish.patchNumber'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'order_id', width: 120, title: t('order.orderId'), showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'process_id', width: 120, title: t('processCard.processId'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {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: 'reporting_work_id', width: 100,title: t('reportingWorks.reportingWorkId'),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: 'order_sort', width: 80, title:t('order.OrderNum'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'product_name', width: 120, title: t('order.product'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | //{field: 'building_number',width: 120, title: '楼层编号', 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: 'glass_address', width: 90, title: t('replenish.sliceMarking'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'patch_num', width: 80, title: t('order.quantity'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'width', width: 80, title: t('order.width'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'height', width: 80, title: t('order.height'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'shape', width: 80, title: t('order.shape'), 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}, |
| | | {field: 'patch_reason', width: 120, title: t('reportingWorks.breakageReason'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'responsible_equipment', width: 120, title: t('reportingWorks.responsibleEquipment'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'responsible_team', width: 120, title: t('reportingWorks.responsibleTeam'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'patch_area', width: 120, title: t('order.area'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'patch_processes', width: 120, title: t('reportingWorks.reportingProcess'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | //{field: 'building_number',width: 120, title: '楼层编号', filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'glass_address', width: 90, title: t('replenish.sliceMarking'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'patch_num', width: 80, title: t('order.quantity'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'patch_area', width: 120, title: t('order.area'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'width', width: 80, title: t('order.width'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'height', width: 80, title: t('order.height'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'shape', width: 80, title: t('order.shape'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'quality_inspector', width: 100, title: t('reportingWorks.qualityInspector'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'reviewer', width: 100, title: t('productStock.reviewed'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'create_time', width: 100, title: t('productStock.productionDate')}, |
| | | {field: 'update_time', width: 120, title: t('productStock.approvedDate')} |
| | | {field: 'update_time', width: 120, title: t('productStock.approvedDate')}, |
| | | {field: 'product_name', width: 120, title: t('order.product'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'reporting_work_id', width: 100,title: t('reportingWorks.reportingWorkId'),filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | |
| | | ],//表头按钮 |
| | | |
| | | toolbarConfig: { |
| | |
| | | import deepClone from "@/utils/deepClone"; |
| | | import {ElDatePicker, ElMessage} from "element-plus"; |
| | | import {useI18n} from 'vue-i18n' |
| | | import {changeFilterEvent, filterChanged} from "@/hook" |
| | | //import {changeFilterEvent, filterChanged} from "@/hook" |
| | | import footSum from "@/hook/footSum" |
| | | //语言获取 |
| | | const {t} = useI18n() |
| | |
| | | optionVal = null |
| | | } |
| | | //第一次加载数据 |
| | | request.post(`/report/workInProgress/${inputVal}/${inputProject}/${selectProcesses}/${optionVal}`, filterData.value).then((res) => { |
| | | request.post(`/report/workInProgress/1/${total.pageSize}/${inputVal}/${inputProject}/${selectProcesses}/${optionVal}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | // total.dataTotal = res.data.total.total*1 |
| | | // total.pageTotal= res.data.total.pageTotal |
| | | // pageTotal.value = res.data.total |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal= res.data.total.pageTotal |
| | | pageTotal.value = res.data.total |
| | | produceList = produceList.value.concat(deepClone(res.data.data)) |
| | | titleSelectJson.value.processType = res.data.process |
| | | titleSelectJson.value.processType.splice(0,1) |
| | |
| | | if (optionVal == '') { |
| | | optionVal = null |
| | | } |
| | | request.post(`/report/selectReportingWork/${pageNum.value}/${total.pageSize}/${inputVal}/${optionVal}`, filterData.value).then((res) => { |
| | | request.post(`/report/workInProgress/${pageNum.value}/${total.pageSize}/${inputVal}/${inputProject}/${selectProcesses}/${optionVal}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | |
| | | |
| | | produceList = deepClone(res.data.data) |
| | | xGrid.value.reloadData(produceList) |
| | | } else { |
| | |
| | | if (optionVal == '') { |
| | | optionVal = null |
| | | } |
| | | request.post(`/report/workInProgress/${inputVal}/${inputProject}/${selectProcesses}/${optionVal}`, filterData.value).then((res) => { |
| | | request.post(`/report/workInProgress/${pageNum.value}/${total.pageSize}/${inputVal}/${inputProject}/${selectProcesses}/${optionVal}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | // total.dataTotal = res.data.total.total*1 |
| | | // total.pageTotal= res.data.total.pageTotal |
| | | // pageTotal.value = res.data.total |
| | | produceList = deepClone(res.data.data) |
| | | xGrid.value.reloadData(produceList) |
| | | total.dataTotal = res.data.total.total * 1 |
| | | total.pageTotal = res.data.total.pageTotal |
| | | pageTotal.value = res.data.total |
| | | xGrid.value.loadData(res.data.data) |
| | | gridOptions.loading = false |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | } |
| | |
| | | |
| | | |
| | | /*使用筛选,后端获取数据*/ |
| | | // const changeFilterEvent = (event, option, $panel,) => { |
| | | // // 手动触发筛选 |
| | | // $panel.changeOption(event, !!option.data, option) |
| | | // } |
| | | const changeFilterEvent = (event, option, $panel,) => { |
| | | // 手动触发筛选 |
| | | $panel.changeOption(event, !!option.data, option) |
| | | } |
| | | |
| | | // function filterChanged(column){ |
| | | // //gridOptions.loading=true |
| | | // //筛选条件发生变化条件发生变化 |
| | | // let value = column.datas[0]!=undefined?column.datas[0]:'' |
| | | // value = value.trim() |
| | | // //判断是否存在外键 |
| | | // if (column.property.indexOf('.')>-1){ |
| | | // const columnArr = column.property.split('.') |
| | | // filterData.value[columnArr[0]] = { |
| | | // [columnArr[1]]:value |
| | | // } |
| | | // }else{ |
| | | // filterData.value[column.property] = value |
| | | // } |
| | | // |
| | | // gridOptions.loading = true |
| | | // |
| | | // } |
| | | function filterChanged(column){ |
| | | //gridOptions.loading=true |
| | | //筛选条件发生变化条件发生变化 |
| | | let value = column.datas[0]!=undefined?column.datas[0]:'' |
| | | value = value.trim() |
| | | //判断是否存在外键 |
| | | if (column.property.indexOf('.')>-1){ |
| | | const columnArr = column.property.split('.') |
| | | filterData.value[columnArr[0]] = { |
| | | [columnArr[1]]:value |
| | | } |
| | | }else{ |
| | | filterData.value[column.property] = value |
| | | } |
| | | gridOptions.loading = true |
| | | |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | let optionVal=stateValue.value |
| | | if (optionVal == '') { |
| | | optionVal = null |
| | | } |
| | | request.post(`/report/workInProgress/1/${total.pageSize}/${inputVal}/${inputProject}/${selectProcesses}/${optionVal}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal=parseInt(res.data.total) |
| | | pageNum.value=1 |
| | | produceList = deepClone(res.data.data) |
| | | xGrid.value.reloadData(produceList) |
| | | gridOptions.loading=false |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | //handleUpdateData(produceList) |
| | | }) |
| | | |
| | | } |
| | | |
| | | /*后端返回结果多层嵌套展示*/ |
| | | const hasDecimal = (value) => { |
| | |
| | | {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50}, |
| | | {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50}, |
| | | { |
| | | field: 'thisProcess', width: 120, title: t('report.workingProcedure'), filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged, |
| | | field: 'thisProcess', width: 120, title: t('report.workingProcedure'), |
| | | visible: true |
| | | }, |
| | | { |
| | | field: 'order_id', |
| | | field: 'orderId', |
| | | width: 120, |
| | | title: t('order.orderId'), |
| | | showOverflow: "ellipsis", |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged, |
| | | visible: true |
| | | }, |
| | | { |
| | | field: 'process_id', |
| | | width: 120, |
| | | field: 'processId', |
| | | width: 140, |
| | | title: t('processCard.processId'), |
| | | showOverflow: "ellipsis", |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged, |
| | | visible: true |
| | | }, |
| | | { |
| | | field: 'customer_name', width: 130, title: t('customer.customerName'), filters: [{data: ''}], |
| | | field: 'customerName', width: 130, title: t('customer.customerName'), filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged, |
| | | visible: true |
| | | }, |
| | | { |
| | | field: 'project', width: 120, title: t('order.project'), filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged, |
| | | visible: true |
| | | }, |
| | | { |
| | | field: 'batch', width: 100, title: t('order.batch'), filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged, |
| | | visible: true |
| | | }, |
| | | {field: 'order_number', width: 100, title: t('order.OrderNum'),visible: true}, |
| | | {field: 'technology_number', width: 120, title: t('processCard.technologyNumber'), showOverflow: "ellipsis",visible: true}, |
| | | {field: 'orderNumber', width: 100, title: t('order.OrderNum'),visible: true}, |
| | | {field: 'technologyNumber', width: 120, title: t('processCard.technologyNumber'), showOverflow: "ellipsis",visible: true}, |
| | | {field: 'shape', width: 100, title: t('order.shape'),visible: true}, |
| | | {field: 'process', width: 120, title: t('craft.process'),visible: true}, |
| | | {field: 'quantity', width: 120, title: t('order.quantity'),visible: true}, |
| | | {field: 'child_width', width: 120, title: t('order.width'),visible: true}, |
| | | {field: 'child_height', width: 120, title: t('order.height'),visible: true}, |
| | | {field: 'childWidth', width: 120, title: t('order.width'),visible: true}, |
| | | {field: 'childHeight', width: 120, title: t('order.height'),visible: true}, |
| | | {field: 'stockNum', width: 120, title: t('productStock.inventoryQuantity'),visible: true}, |
| | | {field: 'stockArea', width: 120, title: t('report.inventoryArea'),visible: true}, |
| | | {field: 'product_name', width: 120, title: t('order.product'),visible: true}, |
| | | {field: 'bend_radius', width: 120, title: t('order.bendRadius'),visible: true}, |
| | | {field: 'productName', width: 120, title: t('order.product'),visible: true}, |
| | | {field: 'bendRadius', width: 120, title: t('order.bendRadius'),visible: true}, |
| | | ],//表头按钮 |
| | | |
| | | toolbarConfig: { |
| | |
| | | </el-row> |
| | | |
| | | </div> |
| | | <vxe-grid |
| | | ref="xGrid" |
| | | class="mytable-scrollbar" |
| | | max-height="100%" |
| | | v-bind="gridOptions" |
| | | :optimize="true" |
| | | <div style="height: 100%"> |
| | | <vxe-grid |
| | | ref="xGrid" |
| | | class="mytable-scrollbar" |
| | | height="100%" |
| | | v-bind="gridOptions" |
| | | :optimize="true" |
| | | @filter-change="filterChanged" |
| | | |
| | | > |
| | | <!-- @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>{{ row[item.field] }}</span> |
| | | </li> |
| | | </ul> |
| | | </template> |
| | | > |
| | | <!-- @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>{{ row[item.field] }}</span> |
| | | </li> |
| | | </ul> |
| | | </template> |
| | | |
| | | <!--左边固定显示的插槽--> |
| | | <template #button_slot="{ row }"> |
| | | <el-button link size="small" type="primary" @click="getTableRow(row,'edit')">{{$t('basicData.edit')}}</el-button> |
| | | <el-button link size="small" type="primary" @click="getTableRow(row,'setType')">{{$t('basicData.cancelReview')}}</el-button> |
| | | <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">{{$t('basicData.delete')}}</el-button> |
| | | </template> |
| | | <!--左边固定显示的插槽--> |
| | | <template #button_slot="{ row }"> |
| | | <el-button link size="small" type="primary" @click="getTableRow(row,'edit')">{{$t('basicData.edit')}}</el-button> |
| | | <el-button link size="small" type="primary" @click="getTableRow(row,'setType')">{{$t('basicData.cancelReview')}}</el-button> |
| | | <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">{{$t('basicData.delete')}}</el-button> |
| | | </template> |
| | | |
| | | <template #num1_filter="{ column, $panel }"> |
| | | <div> |
| | | <div v-for="(option, index) in column.filters" :key="index"> |
| | | <input v-model="option.data" type="text" @input="changeFilterEvent($event, option, $panel)"/> |
| | | <template #num1_filter="{ column, $panel }"> |
| | | <div> |
| | | <div v-for="(option, index) in column.filters" :key="index"> |
| | | <input v-model="option.data" type="text" @input="changeFilterEvent($event, option, $panel)"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <template #toolbar_buttons> |
| | | <vxe-button style="margin-right: 0.5rem" |
| | | @click="exportExcel('/report/exportWorkInProgress', |
| | | </template> |
| | | <template #pager> |
| | | <!--使用 pager 插槽--> |
| | | <!-- 'PrevJump','NextJump', --> |
| | | <vxe-pager |
| | | v-model:current-page="pageNum" |
| | | v-model:page-size="total.pageSize" |
| | | v-model:pager-count="total.pageTotal" |
| | | :layouts="[ 'PrevPage', 'Jump','PageCount', 'NextPage', 'Total']" |
| | | :total="total.dataTotal" |
| | | @page-change="handlePageChange" |
| | | > |
| | | </vxe-pager> |
| | | </template> |
| | | <template #toolbar_buttons> |
| | | <vxe-button style="margin-right: 0.5rem" |
| | | @click="exportExcel('/report/exportWorkInProgress', |
| | | t('report.workInProgressReport'), |
| | | form.date1)"> |
| | | {{t('basicData.export')}}</vxe-button> |
| | | </template> |
| | | {{t('basicData.export')}}</vxe-button> |
| | | </template> |
| | | |
| | | </vxe-grid> |
| | | </vxe-grid> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | .main-div-customer { |
| | | width: 99%; |
| | | height: 100%; |
| | | height: 90%; |
| | | } |
| | | |
| | | #selectForm { |
| | |
| | | {field: 'orderId', width: 120, title: t('order.orderId'), sortable: true, showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'processId', width: 120, title: t('processCard.processId'), sortable: true, filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'project', width: 120, title: t('order.project'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'batch', width: 80, title: t('order.batch'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis",filterMethod:filterChanged}, |
| | | {field: 'orderSort', width: 80, title: t('order.OrderNum'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'productName', width: 120, title: t('order.product'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'technologyNumber', width: 80, title: t('replenish.mark'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis",filterMethod:filterChanged}, |
| | | {field: 'glassAddress', width: 90, title: t('replenish.sliceMarking'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'reworkProcesses', width: 120, title: t('rework.reworkProcess'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'reworkType', width: 120, title: t('rework.reworkType'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'reworkReason', width: 120, title: t('rework.reasonForRework'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'responsibleEquipment', width: 120, title: t('reportingWorks.responsibleEquipment'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'responsibleTeam', width: 120, title: t('reportingWorks.responsibleTeam'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'batch', width: 90, title: t('order.batch'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis",filterMethod:filterChanged}, |
| | | {field: 'orderSort', width: 120, title: t('order.OrderNum'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'technologyNumber', width: 110, title: t('replenish.mark'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis",filterMethod:filterChanged}, |
| | | {field: 'glassAddress', width: 120, title: t('replenish.sliceMarking'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'breakageQuantity', width: 120, title: t('reportingWorks.quantityBroken'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'reworkNum',width:120, title: t('productStock.reworkQuantity'),editRender: { name: 'input', attrs: { placeholder: '' } },filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'width', width: 80, title: t('order.width'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'height', width: 80, title: t('order.height'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'shape', width: 80, title: t('order.shape'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'reworkProcesses', width: 100, title: t('rework.reworkProcess'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'reworkType', width: 100, title: t('rework.reworkType'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'reworkReason', width: 120, title: t('rework.reasonForRework'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'responsibleEquipment', width: 120, title: t('reportingWorks.responsibleEquipment'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'responsibleTeam', width: 120, title: t('reportingWorks.responsibleTeam'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'shape', width: 100, title: t('order.shape'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'area', width: 120, title: t('rework.reworkArea'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'qualityInspector', width: 100, title: t('reportingWorks.qualityInspector'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged} |
| | | {field: 'qualityInspector', width: 120, title: t('reportingWorks.qualityInspector'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'productName', width: 120, title: t('order.product'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | |
| | | ],//表头按钮 |
| | | |
| | | toolbarConfig: { |
| | |
| | | {field: 'rework_id', width: 120, title: t('rework.reworkNumber'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'rework_team', width: 120, title: t('rework.reworkTeam'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'order_id', width: 120, title: t('order.orderId'), showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'process_id', width: 120, title: t('processCard.processId'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {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: 'order_sort', width: 80, title: t('order.OrderNum'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'product_name', width: 120, title: t('order.product'), 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: 'glass_address', width: 90, title: t('replenish.sliceMarking'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'rework_num', width: 80, title: t('productStock.reworkQuantity'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'width', width: 80, title: t('order.width'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'height', width: 80, title: t('order.height'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'shape', width: 80, title: t('order.shape'), 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}, |
| | | {field: 'rework_reason', width: 120, title: t('rework.reasonForRework'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'responsible_equipment', width: 120, title: t('reportingWorks.responsibleEquipment'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'responsible_team', width: 120, title: t('reportingWorks.responsibleTeam'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'rework_area', width: 120, title: t('rework.reworkArea'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'rework_processes', width: 120, title: t('rework.reworkProcess'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'glass_address', width: 90, title: t('replenish.sliceMarking'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'rework_num', width: 80, title: t('productStock.reworkQuantity'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'rework_area', width: 120, title: t('rework.reworkArea'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'width', width: 80, title: t('order.width'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'height', width: 80, title: t('order.height'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'shape', width: 80, title: t('order.shape'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'quality_inspector', width: 100, title: t('reportingWorks.qualityInspector'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'reviewer', width: 100, title: t('productStock.reviewed'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'create_time', width: 100, title: t('productStock.productionDate')}, |
| | | {field: 'update_time', width: 120, title: t('productStock.approvedDate')} |
| | | {field: 'update_time', width: 120, title: t('productStock.approvedDate')}, |
| | | {field: 'product_name', width: 120, title: t('order.product'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | |
| | | ],//表头按钮 |
| | | |
| | | toolbarConfig: { |
| | |
| | | |
| | | @ApiOperation("在制品报表") |
| | | @SaCheckPermission("WorkInProgress.search") |
| | | @PostMapping("/workInProgress/{orderId}/{inputProject}/{selectProcesses}/{optionVal}") |
| | | @PostMapping("/workInProgress/{pageNum}/{pageSize}/{orderId}/{inputProject}/{selectProcesses}/{optionVal}") |
| | | public Result workInProgress( |
| | | @PathVariable Integer pageNum, |
| | | @PathVariable Integer pageSize, |
| | | @PathVariable String orderId, |
| | | @PathVariable String inputProject, |
| | | @PathVariable String selectProcesses, |
| | | @PathVariable String optionVal, |
| | | @RequestBody Report report) { |
| | | return Result.seccess(reportService.workInProgressSv( orderId, inputProject, selectProcesses,optionVal, report)); |
| | | @RequestBody WorkInProgressDTO workInProgressDTO) { |
| | | return Result.seccess(reportService.workInProgressSv(pageNum, pageSize, orderId, inputProject, selectProcesses,optionVal, workInProgressDTO)); |
| | | |
| | | } |
| | | |
| | |
| | | public class WorkInProgressDTO { |
| | | @ExcelProperty("工序") |
| | | private String thisProcess; |
| | | @ExcelProperty("销售单号") |
| | | private String orderId; |
| | | @ExcelProperty("流程卡号") |
| | | private String processId; |
| | | @ExcelProperty("客户名称") |
| | |
| | | Map<String, Integer> getProcessBreakingTotal(Integer offset, Integer pageSize, String startDate, String endDate, DamageDetails damageDetails); |
| | | |
| | | List<Map<String, String>> workInProgressMp( |
| | | Integer offset, Integer pageSize, |
| | | @Param("orderId") String orderId, @Param("inputProject") String inputProject, |
| | | @Param("selectProcesses") String selectProcesses, Report report); |
| | | @Param("selectProcesses") String selectProcesses, WorkInProgressDTO workInProgressDTO); |
| | | |
| | | List<Map<String, String>> processToBeCompletedMp(Date selectTime1, Date selectTime2, String orderId, |
| | | String inputProject, String selectProcesses, Report report); |
| | |
| | | |
| | | Map<String, Integer> teamOutputPageTotal(Integer offset, Integer pageSize, Date selectTime1, Date selectTime2, String selectProcesses, TeamOutputDTO teamOutputDTO); |
| | | |
| | | List<Map<String, String>> workInProgressOrderMp( String orderId, String inputProject, String selectProcesses, Report report); |
| | | List<Map<String, String>> workInProgressOrderMp(Integer offset, Integer pageSize, String orderId, String inputProject, String selectProcesses, WorkInProgressDTO workInProgressDTO); |
| | | |
| | | List<Map<String, String>> workInProgressProcessMp( String orderId, String inputProject, String selectProcesses, Report report); |
| | | List<Map<String, String>> workInProgressProcessMp(Integer offset, Integer pageSize, String orderId, String inputProject, String selectProcesses, WorkInProgressDTO workInProgressDTO); |
| | | |
| | | List<ScheduleProductionScheduleDTO> scheduleProductionScheduleMp(Integer offset, Integer pageSize, Date selectTime1, Date selectTime2, String processes, ScheduleProductionScheduleDTO scheduleProductionScheduleDTO); |
| | | |
| | |
| | | |
| | | List<ScheduleProductionScheduleDTO> exportScheduleReportMp(List<LocalDate> date, String process); |
| | | |
| | | Map<String, Integer> workInProgressOrderTotal(Integer offset, Integer pageSize, String orderId, String inputProject, String selectProcesses, WorkInProgressDTO workInProgressDTO); |
| | | |
| | | Map<String, Integer> workInProgressProcessTotal(Integer offset, Integer pageSize, String orderId, String inputProject, String selectProcesses, WorkInProgressDTO workInProgressDTO); |
| | | |
| | | Map<String, Integer> workInProgressTotal(Integer offset, Integer pageSize, String orderId, String inputProject, String selectProcesses, WorkInProgressDTO workInProgressDTO); |
| | | |
| | | |
| | | // Map<String, Integer> getWorkInProgressTotal( |
| | | // @Param("selectTime1") Date selectTime1, @Param("selectTime2") Date selectTime2, |
| | |
| | | import com.example.erp.dto.pp.DamageReportDTO; |
| | | import com.example.erp.dto.pp.ScheduleProductionScheduleDTO; |
| | | import com.example.erp.dto.pp.TeamOutputDTO; |
| | | import com.example.erp.dto.pp.WorkInProgressDTO; |
| | | import com.example.erp.entity.pp.DamageDetails; |
| | | import com.example.erp.entity.pp.Report; |
| | | import com.example.erp.mapper.pp.ProductionSchedulingMapper; |
| | |
| | | return map; |
| | | } |
| | | |
| | | public Map<String, Object> workInProgressSv( String orderId, String inputProject, String selectProcesses, String optionVal, Report report) { |
| | | |
| | | public Map<String, Object> workInProgressSv(Integer pageNum, Integer pageSize, String orderId, String inputProject, String selectProcesses, String optionVal, WorkInProgressDTO workInProgressDTO) { |
| | | Integer offset = (pageNum - 1) * pageSize; |
| | | if ("null".equals(orderId)) { |
| | | orderId = ""; |
| | | } |
| | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | if (optionVal.equals("1")){ |
| | | /* 根据销售单号汇总*/ |
| | | map.put("data", reportMapper.workInProgressOrderMp( orderId, inputProject, selectProcesses, report)); |
| | | map.put("data", reportMapper.workInProgressOrderMp(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO)); |
| | | map.put("total", reportMapper.workInProgressOrderTotal(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO)); |
| | | |
| | | }else if(optionVal.equals("2")){ |
| | | /* 根流程卡号汇总*/ |
| | | map.put("data", reportMapper.workInProgressProcessMp( orderId, inputProject, selectProcesses, report)); |
| | | map.put("data", reportMapper.workInProgressProcessMp(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO)); |
| | | map.put("total", reportMapper.workInProgressProcessTotal(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO)); |
| | | } else if (optionVal.equals("3")) { |
| | | |
| | | } else { |
| | | |
| | | map.put("data", reportMapper.workInProgressMp( orderId, inputProject, selectProcesses, report)); |
| | | map.put("data", reportMapper.workInProgressMp(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO)); |
| | | map.put("total", reportMapper.workInProgressTotal(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO)); |
| | | |
| | | } |
| | | map.put("process", productionSchedulingMapper.selectProcess()); |
| | | return map; |
| | |
| | | <result column="plan_end_time" property="planEndTime"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="workInProgressMap" type="com.example.erp.dto.pp.WorkInProgressDTO"> |
| | | <result column="thisProcess" property="thisProcess"/> |
| | | <result column="order_id" property="orderId"/> |
| | | <result column="process_id" property="processId"/> |
| | | <result column="customer_name" property="customerName"/> |
| | | <result column="project" property="project"/> |
| | | <result column="batch" property="batch"/> |
| | | <result column="order_number" property="orderNumber"/> |
| | | <result column="technology_number" property="technologyNumber"/> |
| | | <result column="shape" property="shape"/> |
| | | <result column="process" property="process"/> |
| | | <result column="quantity" property="quantity"/> |
| | | <result column="child_width" property="childWidth"/> |
| | | <result column="child_height" property="childHeight"/> |
| | | <result column="stockNum" property="stockNum"/> |
| | | <result column="stockArea" property="stockArea"/> |
| | | <result column="product_name" property="productName"/> |
| | | <result column="bend_radius" property="bendRadius"/> |
| | | </resultMap> |
| | | |
| | | <!-- 流程卡进度--> |
| | | <select id="processCardProgressMp"> |
| | |
| | | order by dd.id desc |
| | | </select> |
| | | |
| | | <select id="workInProgressMp"> |
| | | select #{selectProcesses} as thisProcess, |
| | | fc.process_id, |
| | | o.customer_name, |
| | | o.project, |
| | | o.order_id, |
| | | o.batch, |
| | | if(od.shape = 1, '普形', if(od.shape = 2, '异形', '')) as shape, |
| | | ogd.order_number, |
| | | ogd.technology_number, |
| | | ogd.process, |
| | | od.quantity, |
| | | ogd.child_width, |
| | | ogd.child_height, |
| | | odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num as stockNum, |
| | | ROUND(ogd.child_width * ogd.child_height * |
| | | (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num) / 1000000, 2) as stockArea, |
| | | od.product_name, |
| | | od.bend_radius |
| | | <select id="workInProgressMp" resultMap="workInProgressMap"> |
| | | select #{selectProcesses} as thisProcess, |
| | | fc.process_id, |
| | | o.customer_name, |
| | | o.project, |
| | | o.order_id, |
| | | o.batch, |
| | | if(od.shape = 1, '普形', if(od.shape = 2, '异形', '')) as shape, |
| | | ogd.order_number, |
| | | ogd.technology_number, |
| | | ogd.process, |
| | | od.quantity, |
| | | ogd.child_width, |
| | | ogd.child_height, |
| | | odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num as stockNum, |
| | | ROUND(ogd.child_width * ogd.child_height * |
| | | (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num) / 1000000, 2) as stockArea, |
| | | od.product_name, |
| | | od.bend_radius |
| | | |
| | | from sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | | ON od.order_id = ogd.order_id |
| | | AND od.order_number = ogd.order_number |
| | | LEFT JOIN flow_card AS fc |
| | | ON fc.order_id = ogd.order_id |
| | | and fc.production_id = ogd.production_id |
| | | AND fc.order_number = ogd.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | left join sd.order_process_detail as odpd |
| | | ON odpd.order_id = fc.order_id |
| | | AND odpd.order_number = fc.order_number |
| | | AND odpd.technology_number = fc.technology_number |
| | | and odpd.process_id = fc.process_id |
| | | left join sd.order_process_detail as odpds |
| | | ON odpds.id = odpd.id - 1 |
| | | left join |
| | | (SELECT sum(rw.rework_num) as 'patchNumSum', |
| | | rw.process_id, |
| | | rw.order_sort, |
| | | rw.technology_number, |
| | | rwk.this_process |
| | | from rework as rw |
| | | LEFT JOIN |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where rwk.this_process = #{selectProcesses} |
| | | and rw.review_status >= 0 |
| | | GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c |
| | | on c.process_id = fc.process_id |
| | | and c.order_sort = fc.order_number |
| | | and c.technology_number = fc.technology_number |
| | | left join sd.`order` as o |
| | | on o.order_id = od.order_id |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | | ON od.order_id = ogd.order_id |
| | | AND od.order_number = ogd.order_number |
| | | LEFT JOIN flow_card AS fc |
| | | ON fc.order_id = ogd.order_id |
| | | and fc.production_id = ogd.production_id |
| | | AND fc.order_number = ogd.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | left join sd.order_process_detail as odpd |
| | | ON odpd.order_id = fc.order_id |
| | | AND odpd.order_number = fc.order_number |
| | | AND odpd.technology_number = fc.technology_number |
| | | and odpd.process_id = fc.process_id |
| | | left join sd.order_process_detail as odpds |
| | | ON odpds.id = odpd.id - 1 |
| | | left join |
| | | (SELECT sum(rw.rework_num) as 'patchNumSum', |
| | | rw.process_id, |
| | | rw.order_sort, |
| | | rw.technology_number, |
| | | rwk.this_process |
| | | from rework as rw |
| | | LEFT JOIN |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where rwk.this_process = #{selectProcesses} |
| | | and rw.review_status >= 0 |
| | | GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c |
| | | on c.process_id = fc.process_id |
| | | and c.order_sort = fc.order_number |
| | | and c.technology_number = fc.technology_number |
| | | left join sd.`order` as o |
| | | on o.order_id = od.order_id |
| | | where LENGTH(fc.process_id) = 14 |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 |
| | | and odpd.process = #{selectProcesses} |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 |
| | | and odpd.process = #{selectProcesses} |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''"> |
| | | and o.customer_name regexp #{workInProgressDTO.customerName} |
| | | </if> |
| | | <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''"> |
| | | and o.project regexp #{workInProgressDTO.project} |
| | | </if> |
| | | <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''"> |
| | | and o.order_id regexp #{workInProgressDTO.orderId} |
| | | </if> |
| | | <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''"> |
| | | and o.batch regexp #{workInProgressDTO.batch} |
| | | </if> |
| | | <if test="workInProgressDTO.processId != null and workInProgressDTO.processId != ''"> |
| | | and fc.process_id regexp #{workInProgressDTO.processId} |
| | | </if> |
| | | <if test="workInProgressDTO.orderNumber != null and workInProgressDTO.orderNumber != ''"> |
| | | and ogd.order_number regexp #{workInProgressDTO.orderNumber} |
| | | </if> |
| | | <if test="workInProgressDTO.technologyNumber != null and workInProgressDTO.technologyNumber != ''"> |
| | | and ogd.technology_number regexp #{workInProgressDTO.technologyNumber} |
| | | </if> |
| | | group by fc.process_id, fc.order_number, fc.technology_number |
| | | order by fc.process_id, fc.order_number, fc.technology_number |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <!-- |
| | | <if test="Report.processId != null and Report.processId != ''"> |
| | | and fc.process_id regexp #{Report.processId} |
| | | </if> |
| | | <if test="Report.customerName != null and Report.customerName != ''"> |
| | | and o.customer_name regexp #{Report.customerName} |
| | | </if> |
| | | <if test="Report.project != null and Report.project != ''"> |
| | | and o.project regexp #{Report.project} |
| | | </if> |
| | | <if test="Report.batch != null and Report.batch != ''"> |
| | | and o.batch regexp #{Report.batch} |
| | | </if> |
| | | <if test="Report.shape != null and Report.shape != ''"> |
| | | and od.shape regexp #{Report.shape} |
| | | </if> |
| | | --> |
| | | <select id="workInProgressTotal"> |
| | | select CEILING(count(fc.id)/#{pageSize}) as 'pageTotal', |
| | | count(distinct fc.id) as 'total' |
| | | |
| | | <!-- <select id="getWorkInProgressTotal">--> |
| | | <!-- select CEILING(count(fc.id) / #{pageSize}) as 'pageTotal',--> |
| | | <!-- count(distinct fc.id) as 'total'--> |
| | | |
| | | <!-- from sd.order_detail AS od--> |
| | | <!-- LEFT JOIN sd.order_glass_detail AS ogd--> |
| | | <!-- ON od.order_id = ogd.order_id--> |
| | | <!-- AND od.order_number = ogd.order_number--> |
| | | <!-- LEFT JOIN flow_card AS fc--> |
| | | <!-- ON fc.order_id = ogd.order_id--> |
| | | <!-- and fc.production_id = ogd.production_id--> |
| | | <!-- AND fc.order_number = ogd.order_number--> |
| | | <!-- AND fc.technology_number = ogd.technology_number--> |
| | | <!-- left join sd.order_process_detail as odpd--> |
| | | <!-- ON odpd.order_id = fc.order_id--> |
| | | <!-- AND odpd.order_number = fc.order_number--> |
| | | <!-- AND odpd.technology_number = fc.technology_number--> |
| | | <!-- and odpd.process_id = fc.process_id--> |
| | | <!-- left join sd.order_process_detail as odpds--> |
| | | <!-- ON odpds.id = odpd.id - 1--> |
| | | <!-- left join--> |
| | | <!-- (SELECT sum(rw.rework_num) as 'patchNumSum',--> |
| | | <!-- rw.process_id,--> |
| | | <!-- rw.order_sort,--> |
| | | <!-- rw.technology_number,--> |
| | | <!-- rwk.this_process--> |
| | | <!-- from rework as rw--> |
| | | <!-- LEFT JOIN--> |
| | | <!-- reporting_work as rwk--> |
| | | <!-- on rw.reporting_work_id = rwk.reporting_work_id--> |
| | | <!-- where rwk.this_process = #{selectProcesses}--> |
| | | <!-- and rw.review_status = 1--> |
| | | <!-- GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c--> |
| | | <!-- on c.process_id = fc.process_id--> |
| | | <!-- and c.order_sort = fc.order_number--> |
| | | <!-- and c.technology_number = fc.technology_number--> |
| | | <!-- left join sd.`order` as o--> |
| | | <!-- on o.order_id = od.order_id--> |
| | | <!-- where LENGTH(fc.process_id) = 14--> |
| | | <!-- and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - --> |
| | | <!-- odpd.broken_num != 0--> |
| | | <!-- and odpd.process = #{selectProcesses}--> |
| | | <!-- and o.create_time between #{selectTime1} and #{selectTime2}--> |
| | | <!-- and position(#{orderId} in od.order_id)--> |
| | | <!-- and position(#{inputProject} in o.project)--> |
| | | <!-- group by fc.process_id, fc.order_number, fc.technology_number--> |
| | | <!-- order by fc.process_id, fc.order_number, fc.technology_number--> |
| | | <!-- limit #{offset},#{pageSize};--> |
| | | <!-- </select>--> |
| | | from sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | | ON od.order_id = ogd.order_id |
| | | AND od.order_number = ogd.order_number |
| | | LEFT JOIN flow_card AS fc |
| | | ON fc.order_id = ogd.order_id |
| | | and fc.production_id = ogd.production_id |
| | | AND fc.order_number = ogd.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | left join sd.order_process_detail as odpd |
| | | ON odpd.order_id = fc.order_id |
| | | AND odpd.order_number = fc.order_number |
| | | AND odpd.technology_number = fc.technology_number |
| | | and odpd.process_id = fc.process_id |
| | | left join sd.order_process_detail as odpds |
| | | ON odpds.id = odpd.id - 1 |
| | | left join |
| | | (SELECT sum(rw.rework_num) as 'patchNumSum', |
| | | rw.process_id, |
| | | rw.order_sort, |
| | | rw.technology_number, |
| | | rwk.this_process |
| | | from rework as rw |
| | | LEFT JOIN |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where rwk.this_process = #{selectProcesses} |
| | | and rw.review_status >= 0 |
| | | GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c |
| | | on c.process_id = fc.process_id |
| | | and c.order_sort = fc.order_number |
| | | and c.technology_number = fc.technology_number |
| | | left join sd.`order` as o |
| | | on o.order_id = od.order_id |
| | | where LENGTH(fc.process_id) = 14 |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 |
| | | and odpd.process = #{selectProcesses} |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''"> |
| | | and o.customer_name regexp #{workInProgressDTO.customerName} |
| | | </if> |
| | | <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''"> |
| | | and o.project regexp #{workInProgressDTO.project} |
| | | </if> |
| | | <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''"> |
| | | and o.order_id regexp #{workInProgressDTO.orderId} |
| | | </if> |
| | | <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''"> |
| | | and o.batch regexp #{workInProgressDTO.batch} |
| | | </if> |
| | | <if test="workInProgressDTO.processId != null and workInProgressDTO.processId != ''"> |
| | | and fc.process_id regexp #{workInProgressDTO.processId} |
| | | </if> |
| | | <if test="workInProgressDTO.orderNumber != null and workInProgressDTO.orderNumber != ''"> |
| | | and ogd.order_number regexp #{workInProgressDTO.orderNumber} |
| | | </if> |
| | | <if test="workInProgressDTO.technologyNumber != null and workInProgressDTO.technologyNumber != ''"> |
| | | and ogd.technology_number regexp #{workInProgressDTO.technologyNumber} |
| | | </if> |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="processToBeCompletedMp"> |
| | | select DATE(o.create_time) as create_time, |
| | |
| | | order by fc.process_id, fc.order_number, fc.technology_number |
| | | </select> |
| | | |
| | | <select id="selectDamageReportMp" resultMap="damageReportMap"> |
| | | <select id="selectDamageReportMp" resultMap="damageReportMap"> |
| | | SELECT |
| | | o.order_id, |
| | | o.project, |
| | |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="workInProgressOrderMp"> |
| | | select #{selectProcesses} as thisProcess, |
| | | o.customer_name, |
| | | o.project, |
| | | o.order_id, |
| | | o.batch, |
| | | if(od.shape = 1, '普形', if(od.shape = 2, '异形', '')) as shape, |
| | | sum(od.quantity) as quantity, |
| | | sum(odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num) as stockNum, |
| | | sum(ROUND(ogd.child_width * ogd.child_height * |
| | | (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num) / 1000000, 2)) as stockArea, |
| | | od.product_name |
| | | <select id="workInProgressOrderMp" resultMap="workInProgressMap"> |
| | | select #{selectProcesses} as thisProcess, |
| | | o.customer_name, |
| | | o.project, |
| | | o.order_id, |
| | | o.batch, |
| | | if(od.shape = 1, '普形', if(od.shape = 2, '异形', '')) as shape, |
| | | sum(od.quantity) as quantity, |
| | | sum(odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num) as stockNum, |
| | | sum(ROUND(ogd.child_width * ogd.child_height * |
| | | (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num) / 1000000, 2)) as stockArea, |
| | | od.product_name |
| | | |
| | | from sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | | ON od.order_id = ogd.order_id |
| | | AND od.order_number = ogd.order_number |
| | | LEFT JOIN flow_card AS fc |
| | | ON fc.order_id = ogd.order_id |
| | | and fc.production_id = ogd.production_id |
| | | AND fc.order_number = ogd.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | left join sd.order_process_detail as odpd |
| | | ON odpd.order_id = fc.order_id |
| | | AND odpd.order_number = fc.order_number |
| | | AND odpd.technology_number = fc.technology_number |
| | | and odpd.process_id = fc.process_id |
| | | left join sd.order_process_detail as odpds |
| | | ON odpds.id = odpd.id - 1 |
| | | left join |
| | | (SELECT sum(rw.rework_num) as 'patchNumSum', |
| | | rw.process_id, |
| | | rw.order_sort, |
| | | rw.technology_number, |
| | | rwk.this_process |
| | | from rework as rw |
| | | LEFT JOIN |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where rwk.this_process = #{selectProcesses} |
| | | and rw.review_status >= 0 |
| | | GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c |
| | | on c.process_id = fc.process_id |
| | | and c.order_sort = fc.order_number |
| | | and c.technology_number = fc.technology_number |
| | | left join sd.`order` as o |
| | | on o.order_id = od.order_id |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | | ON od.order_id = ogd.order_id |
| | | AND od.order_number = ogd.order_number |
| | | LEFT JOIN flow_card AS fc |
| | | ON fc.order_id = ogd.order_id |
| | | and fc.production_id = ogd.production_id |
| | | AND fc.order_number = ogd.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | left join sd.order_process_detail as odpd |
| | | ON odpd.order_id = fc.order_id |
| | | AND odpd.order_number = fc.order_number |
| | | AND odpd.technology_number = fc.technology_number |
| | | and odpd.process_id = fc.process_id |
| | | left join sd.order_process_detail as odpds |
| | | ON odpds.id = odpd.id - 1 |
| | | left join |
| | | (SELECT sum(rw.rework_num) as 'patchNumSum', |
| | | rw.process_id, |
| | | rw.order_sort, |
| | | rw.technology_number, |
| | | rwk.this_process |
| | | from rework as rw |
| | | LEFT JOIN |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where rwk.this_process = #{selectProcesses} |
| | | and rw.review_status >= 0 |
| | | GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c |
| | | on c.process_id = fc.process_id |
| | | and c.order_sort = fc.order_number |
| | | and c.technology_number = fc.technology_number |
| | | left join sd.`order` as o |
| | | on o.order_id = od.order_id |
| | | where LENGTH(fc.process_id) = 14 |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 |
| | | and odpd.process = #{selectProcesses} |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 |
| | | and odpd.process = #{selectProcesses} |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''"> |
| | | and o.customer_name regexp #{workInProgressDTO.customerName} |
| | | </if> |
| | | <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''"> |
| | | and o.project regexp #{workInProgressDTO.project} |
| | | </if> |
| | | <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''"> |
| | | and o.order_id regexp #{workInProgressDTO.orderId} |
| | | </if> |
| | | <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''"> |
| | | and o.batch regexp #{workInProgressDTO.batch} |
| | | </if> |
| | | group by o.order_id |
| | | order by o.order_id |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="workInProgressProcessMp"> |
| | | select #{selectProcesses} as thisProcess, |
| | | o.customer_name, |
| | | o.project, |
| | | o.order_id, |
| | | fc.process_id, |
| | | o.batch, |
| | | if(od.shape = 1, '普形', if(od.shape = 2, '异形', '')) as shape, |
| | | sum(od.quantity) as quantity, |
| | | sum(odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num) as stockNum, |
| | | sum(ROUND(ogd.child_width * ogd.child_height * |
| | | (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num) / 1000000, 2)) as stockArea, |
| | | od.product_name |
| | | <select id="workInProgressOrderTotal"> |
| | | select CEILING(count(o.order_id)/#{pageSize}) as 'pageTotal', |
| | | count(distinct o.order_id) as 'total' |
| | | |
| | | from sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | | ON od.order_id = ogd.order_id |
| | | AND od.order_number = ogd.order_number |
| | | LEFT JOIN flow_card AS fc |
| | | ON fc.order_id = ogd.order_id |
| | | and fc.production_id = ogd.production_id |
| | | AND fc.order_number = ogd.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | left join sd.order_process_detail as odpd |
| | | ON odpd.order_id = fc.order_id |
| | | AND odpd.order_number = fc.order_number |
| | | AND odpd.technology_number = fc.technology_number |
| | | and odpd.process_id = fc.process_id |
| | | left join sd.order_process_detail as odpds |
| | | ON odpds.id = odpd.id - 1 |
| | | left join |
| | | (SELECT sum(rw.rework_num) as 'patchNumSum', |
| | | rw.process_id, |
| | | rw.order_sort, |
| | | rw.technology_number, |
| | | rwk.this_process |
| | | from rework as rw |
| | | LEFT JOIN |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where rwk.this_process = #{selectProcesses} |
| | | and rw.review_status >= 0 |
| | | GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c |
| | | on c.process_id = fc.process_id |
| | | and c.order_sort = fc.order_number |
| | | and c.technology_number = fc.technology_number |
| | | left join sd.`order` as o |
| | | on o.order_id = od.order_id |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | | ON od.order_id = ogd.order_id |
| | | AND od.order_number = ogd.order_number |
| | | LEFT JOIN flow_card AS fc |
| | | ON fc.order_id = ogd.order_id |
| | | and fc.production_id = ogd.production_id |
| | | AND fc.order_number = ogd.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | left join sd.order_process_detail as odpd |
| | | ON odpd.order_id = fc.order_id |
| | | AND odpd.order_number = fc.order_number |
| | | AND odpd.technology_number = fc.technology_number |
| | | and odpd.process_id = fc.process_id |
| | | left join sd.order_process_detail as odpds |
| | | ON odpds.id = odpd.id - 1 |
| | | left join |
| | | (SELECT sum(rw.rework_num) as 'patchNumSum', |
| | | rw.process_id, |
| | | rw.order_sort, |
| | | rw.technology_number, |
| | | rwk.this_process |
| | | from rework as rw |
| | | LEFT JOIN |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where rwk.this_process = #{selectProcesses} |
| | | and rw.review_status >= 0 |
| | | GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c |
| | | on c.process_id = fc.process_id |
| | | and c.order_sort = fc.order_number |
| | | and c.technology_number = fc.technology_number |
| | | left join sd.`order` as o |
| | | on o.order_id = od.order_id |
| | | where LENGTH(fc.process_id) = 14 |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 |
| | | and odpd.process = #{selectProcesses} |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 |
| | | and odpd.process = #{selectProcesses} |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''"> |
| | | and o.customer_name regexp #{workInProgressDTO.customerName} |
| | | </if> |
| | | <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''"> |
| | | and o.project regexp #{workInProgressDTO.project} |
| | | </if> |
| | | <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''"> |
| | | and o.order_id regexp #{workInProgressDTO.orderId} |
| | | </if> |
| | | <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''"> |
| | | and o.batch regexp #{workInProgressDTO.batch} |
| | | </if> |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="workInProgressProcessMp" resultMap="workInProgressMap"> |
| | | select #{selectProcesses} as thisProcess, |
| | | o.customer_name, |
| | | o.project, |
| | | o.order_id, |
| | | fc.process_id, |
| | | o.batch, |
| | | if(od.shape = 1, '普形', if(od.shape = 2, '异形', '')) as shape, |
| | | sum(od.quantity) as quantity, |
| | | sum(odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num) as stockNum, |
| | | sum(ROUND(ogd.child_width * ogd.child_height * |
| | | (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num) / 1000000, 2)) as stockArea, |
| | | od.product_name |
| | | |
| | | from sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | | ON od.order_id = ogd.order_id |
| | | AND od.order_number = ogd.order_number |
| | | LEFT JOIN flow_card AS fc |
| | | ON fc.order_id = ogd.order_id |
| | | and fc.production_id = ogd.production_id |
| | | AND fc.order_number = ogd.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | left join sd.order_process_detail as odpd |
| | | ON odpd.order_id = fc.order_id |
| | | AND odpd.order_number = fc.order_number |
| | | AND odpd.technology_number = fc.technology_number |
| | | and odpd.process_id = fc.process_id |
| | | left join sd.order_process_detail as odpds |
| | | ON odpds.id = odpd.id - 1 |
| | | left join |
| | | (SELECT sum(rw.rework_num) as 'patchNumSum', |
| | | rw.process_id, |
| | | rw.order_sort, |
| | | rw.technology_number, |
| | | rwk.this_process |
| | | from rework as rw |
| | | LEFT JOIN |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where rwk.this_process = #{selectProcesses} |
| | | and rw.review_status >= 0 |
| | | GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c |
| | | on c.process_id = fc.process_id |
| | | and c.order_sort = fc.order_number |
| | | and c.technology_number = fc.technology_number |
| | | left join sd.`order` as o |
| | | on o.order_id = od.order_id |
| | | where LENGTH(fc.process_id) = 14 |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 |
| | | and odpd.process = #{selectProcesses} |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''"> |
| | | and o.customer_name regexp #{workInProgressDTO.customerName} |
| | | </if> |
| | | <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''"> |
| | | and o.project regexp #{workInProgressDTO.project} |
| | | </if> |
| | | <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''"> |
| | | and o.order_id regexp #{workInProgressDTO.orderId} |
| | | </if> |
| | | <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''"> |
| | | and o.batch regexp #{workInProgressDTO.batch} |
| | | </if> |
| | | <if test="workInProgressDTO.processId != null and workInProgressDTO.processId != ''"> |
| | | and fc.process_id regexp #{workInProgressDTO.processId} |
| | | </if> |
| | | group by o.order_id, fc.process_id |
| | | order by o.order_id, fc.process_id |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="workInProgressProcessTotal"> |
| | | select CEILING(count(fc.process_id)/#{pageSize}) as 'pageTotal', |
| | | count(distinct fc.process_id) as 'total' |
| | | |
| | | from sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | | ON od.order_id = ogd.order_id |
| | | AND od.order_number = ogd.order_number |
| | | LEFT JOIN flow_card AS fc |
| | | ON fc.order_id = ogd.order_id |
| | | and fc.production_id = ogd.production_id |
| | | AND fc.order_number = ogd.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | left join sd.order_process_detail as odpd |
| | | ON odpd.order_id = fc.order_id |
| | | AND odpd.order_number = fc.order_number |
| | | AND odpd.technology_number = fc.technology_number |
| | | and odpd.process_id = fc.process_id |
| | | left join sd.order_process_detail as odpds |
| | | ON odpds.id = odpd.id - 1 |
| | | left join |
| | | (SELECT sum(rw.rework_num) as 'patchNumSum', |
| | | rw.process_id, |
| | | rw.order_sort, |
| | | rw.technology_number, |
| | | rwk.this_process |
| | | from rework as rw |
| | | LEFT JOIN |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where rwk.this_process = #{selectProcesses} |
| | | and rw.review_status >= 0 |
| | | GROUP BY rw.process_id, rw.order_sort, rw.technology_number) as c |
| | | on c.process_id = fc.process_id |
| | | and c.order_sort = fc.order_number |
| | | and c.technology_number = fc.technology_number |
| | | left join sd.`order` as o |
| | | on o.order_id = od.order_id |
| | | where LENGTH(fc.process_id) = 14 |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 |
| | | and odpd.process = #{selectProcesses} |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''"> |
| | | and o.customer_name regexp #{workInProgressDTO.customerName} |
| | | </if> |
| | | <if test="workInProgressDTO.project != null and workInProgressDTO.project != ''"> |
| | | and o.project regexp #{workInProgressDTO.project} |
| | | </if> |
| | | <if test="workInProgressDTO.orderId != null and workInProgressDTO.orderId != ''"> |
| | | and o.order_id regexp #{workInProgressDTO.orderId} |
| | | </if> |
| | | <if test="workInProgressDTO.batch != null and workInProgressDTO.batch != ''"> |
| | | and o.batch regexp #{workInProgressDTO.batch} |
| | | </if> |
| | | <if test="workInProgressDTO.processId != null and workInProgressDTO.processId != ''"> |
| | | and fc.process_id regexp #{workInProgressDTO.processId} |
| | | </if> |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="scheduleProductionScheduleMp" resultMap="scheduleProductionScheduleMap"> |
| | | select ps.order_id, |
| | | o.project, |
| | | ps.processes, |
| | | sum(ps.scheduling_quantity) as scheduling_quantity, |
| | | notes, |
| | | date(ps.scheduled_start_time) as scheduled_start_time, |
| | | date(ps.plan_end_time) as plan_end_time |
| | | o.project, |
| | | ps.processes, |
| | | sum(ps.scheduling_quantity) as scheduling_quantity, |
| | | notes, |
| | | date(ps.scheduled_start_time) as scheduled_start_time, |
| | | date(ps.plan_end_time) as plan_end_time |
| | | from (select order_id, order_number, processes, scheduling_quantity, scheduled_start_time, plan_end_time, notes |
| | | from production_scheduling |
| | | where processes = #{processes} |
| | | GROUP BY order_id, order_number) as ps |
| | | left join sd.`order` as o on o.order_id = ps.order_id |
| | | from production_scheduling |
| | | where processes = #{processes} |
| | | GROUP BY order_id, order_number) as ps |
| | | left join sd.`order` as o on o.order_id = ps.order_id |
| | | where ps.processes = #{processes} |
| | | and ps.scheduled_start_time between #{selectTime1} and #{selectTime2} |
| | | and ps.scheduled_start_time between #{selectTime1} and #{selectTime2} |
| | | <if test="scheduleProductionScheduleDTO.orderId != null and scheduleProductionScheduleDTO.orderId != ''"> |
| | | and ps.order_id regexp #{scheduleProductionScheduleDTO.orderId} |
| | | </if> |
| | |
| | | |
| | | <select id="exportScheduleReportMp"> |
| | | select ps.order_id, |
| | | o.project, |
| | | ps.processes, |
| | | sum(ps.scheduling_quantity) as scheduling_quantity, |
| | | notes, |
| | | date(ps.scheduled_start_time) as scheduled_start_time, |
| | | date(ps.plan_end_time) as plan_end_time |
| | | o.project, |
| | | ps.processes, |
| | | sum(ps.scheduling_quantity) as scheduling_quantity, |
| | | notes, |
| | | date(ps.scheduled_start_time) as scheduled_start_time, |
| | | date(ps.plan_end_time) as plan_end_time |
| | | from (select order_id, order_number, processes, scheduling_quantity, scheduled_start_time, plan_end_time, notes |
| | | from production_scheduling |
| | | where processes = #{process} |
| | | GROUP BY order_id, order_number) as ps |
| | | left join sd.`order` as o on o.order_id = ps.order_id |
| | | from production_scheduling |
| | | where processes = #{process} |
| | | GROUP BY order_id, order_number) as ps |
| | | left join sd.`order` as o on o.order_id = ps.order_id |
| | | where ps.processes = #{process} |
| | | and date(scheduled_start_time) >= #{date[0]} |
| | | and date(scheduled_start_time) <= #{date[1]} |