Merge branch 'master' of http://bore.pub:10439/r/ERP_override
| | |
| | | </tr> |
| | | </template> |
| | | </template> |
| | | <tr style="border: 0;font-size: 10px"> |
| | | <td colspan="5" style="border: 0;"> |
| | | <div style="display:flex;"> |
| | | <div>æ¬æ¶æ°é</div> |
| | | <div>{{item.detail[0].quantity}}</div> |
| | | <div>é¢ç§¯</div> |
| | | <div>{{item.detail[0].area}}(m²)</div> |
| | | <div>éé</div> |
| | | <div>{{item.detail[0].weight}}(kg)</div> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | |
| | | <!-- <tr style="width: 100%;" v-for="(itemFlows,index) in item.detail" :key="index"> |
| | | <td>å计</td> |
| | |
| | | </tr>--> |
| | | </tbody> |
| | | <tfoot > |
| | | |
| | | <tr style="border: 0;font-size: 10px"> |
| | | <tr style="border: 0;font-size: 8px"> |
| | | <td colspan="5" style="border: 0;"> |
| | | <div style="display:flex;"> |
| | | <div>å°å:æ´é³å½å®¶é«æ°ææ¯å¼ååºå¼ åº</div> |
| | |
| | | merges:null, |
| | | printFc:null, |
| | | flashback:null, |
| | | landingSequence:null, |
| | | compound:null |
| | | }) |
| | | |
| | |
| | | let flowCardCount = '' |
| | | onMounted(() => { |
| | | if(props.printProject!=null){ |
| | | request.post(`/processCard/getSelectPrintProject/${printProject}/${merges}/${props.flashback}`).then((res) => { |
| | | request.post(`/processCard/getSelectPrintProject/${printProject}/${merges}/${props.flashback}/${props.landingSequence}`).then((res) => { |
| | | if (res.code == 200) { |
| | | load(res.data.data) |
| | | } else { |
| | |
| | | } |
| | | }) |
| | | }else{ |
| | | request.post(`/processCard/getSelectPrinting/${merge}/${like}/${merges}/${props.flashback}/${compound}`, data.value).then((res) => { |
| | | request.post(`/processCard/getSelectPrinting/${merge}/${like}/${merges}/${props.flashback}/${compound}/${props.landingSequence}`, data.value).then((res) => { |
| | | if (res.code == 200) { |
| | | load(res.data.data) |
| | | } else { |
| | |
| | | addReportingWork:"æ¥å·¥æ°å¢", |
| | | qualityInspectionReview:"è´¨æ£å®¡æ ¸", |
| | | }, |
| | | msgMannerPacking:'è¯·éæ©å
è£
æ¹å¼', |
| | | saveWorkStorage:'æ¥å·¥å
¥åº', |
| | | mannerPacking:'å
è£
æ¹å¼', |
| | | glassNumber:'ç¼å·', |
| | | glassAddress:'çæ è®°', |
| | | WorkReportingManagement:'æ¥å·¥ç®¡ç', |
| | |
| | | printBtn:0,//æå°çé¢ä¸ä¸ªæé®ä¸æ¯å¦æ¾ç¤ºæ ç¾æå°ç¸å
³æé®ï¼0æ¾ç¤ºï¼1å
¶å®ä¸æ¾ç¤º |
| | | printNumber:true,//å¤é订åæå°æµç¨å¡æ¯å¦æ¾ç¤ºå³ä¸è§åºå·ä¹ä¹false,å
¶å®true |
| | | materialOutboundColor:false,//åºåæ¥è¯¢å
¥åºè¶
è¿ä¸å®æ¶é´æ¹åé¢è²ï¼æ´é³trueï¼å
¶ä»false |
| | | storageBtn:false,//æ¯å¦æ¾ç¤ºæ¥å·¥å
¥åºç¸å
³å
å®¹ï¼æ´é³trueï¼å
¶ä»false |
| | | teamsType:false,//æ¯å¦å¼å¯çç»ä¸ææ¡ï¼æ´é³trueï¼å
¶ä»false |
| | | //天津 |
| | | printLabel: { |
| | | custom: (item1) => { |
| | |
| | | printBtn:0,//æå°çé¢ä¸ä¸ªæé®ä¸æ¯å¦æ¾ç¤ºæ ç¾æå°ç¸å
³æé®ï¼0æ¾ç¤ºå¸¸å·ï¼1天津å
¶å®ä¸æ¾ç¤º |
| | | printNumber:true,//å¤é订åæå°æµç¨å¡æ¯å¦æ¾ç¤ºå³ä¸è§åºå·ä¹ä¹false,å
¶å®true |
| | | materialOutboundColor:false,//åºåæ¥è¯¢å
¥åºè¶
è¿ä¸å®æ¶é´æ¹åé¢è²ï¼æ´é³trueï¼å
¶ä»false |
| | | storageBtn:false,//æ¯å¦æ¾ç¤ºæ¥å·¥å
¥åºç¸å
³å
å®¹ï¼æ´é³trueï¼å
¶ä»false |
| | | teamsType:false,//æ¯å¦å¼å¯çç»ä¸ææ¡ï¼æ´é³trueï¼å
¶ä»false |
| | | //天津 |
| | | printLabel: { |
| | | custom: (item1) => { |
| | |
| | | printBtn:1,//æå°çé¢ä¸ä¸ªæé®ä¸æ¯å¦æ¾ç¤ºæ ç¾æå°ç¸å
³æé®ï¼0æ¾ç¤ºå¸¸å·ï¼1天津å
¶å®ä¸æ¾ç¤º |
| | | printNumber:true,//å¤é订åæå°æµç¨å¡æ¯å¦æ¾ç¤ºå³ä¸è§åºå·ä¹ä¹false,å
¶å®true |
| | | materialOutboundColor:false,//åºåæ¥è¯¢å
¥åºè¶
è¿ä¸å®æ¶é´æ¹åé¢è²ï¼æ´é³trueï¼å
¶ä»false |
| | | storageBtn:false,//æ¯å¦æ¾ç¤ºæ¥å·¥å
¥åºç¸å
³å
å®¹ï¼æ´é³trueï¼å
¶ä»false |
| | | teamsType:false,//æ¯å¦å¼å¯çç»ä¸ææ¡ï¼æ´é³trueï¼å
¶ä»false |
| | | //天津 |
| | | printLabel: { |
| | | custom: (item1) => { |
| | |
| | | flowCardMerge: 0,//æµç¨å¡åçæå° |
| | | printBtn:1,//æå°çé¢ä¸ä¸ªæé®ä¸æ¯å¦æ¾ç¤ºæ ç¾æå°ç¸å
³æé®ï¼0æ¾ç¤ºå¸¸å·ï¼1天津å
¶å®ä¸æ¾ç¤º |
| | | materialOutboundColor:true,//åºåæ¥è¯¢å
¥åºè¶
è¿ä¸å®æ¶é´æ¹åé¢è²ï¼æ´é³trueï¼å
¶ä»false |
| | | storageBtn:true,//æ¯å¦æ¾ç¤ºæ¥å·¥å
¥åºç¸å
³å
å®¹ï¼æ´é³trueï¼å
¶ä»false |
| | | teamsType:true,//æ¯å¦å¼å¯çç»ä¸ææ¡ï¼æ´é³trueï¼å
¶ä»false |
| | | //天津 |
| | | printLabel: { |
| | | custom: (item1) => { |
| | |
| | | printBtn:1,//æå°çé¢ä¸ä¸ªæé®ä¸æ¯å¦æ¾ç¤ºæ ç¾æå°ç¸å
³æé®ï¼0æ¾ç¤ºå¸¸å·ï¼1天津å
¶å®ä¸æ¾ç¤º |
| | | printNumber:true,//å¤é订åæå°æµç¨å¡æ¯å¦æ¾ç¤ºå³ä¸è§åºå·ä¹ä¹false,å
¶å®true |
| | | materialOutboundColor:false,//åºåæ¥è¯¢å
¥åºè¶
è¿ä¸å®æ¶é´æ¹åé¢è²ï¼æ´é³trueï¼å
¶ä»false |
| | | storageBtn:false,//æ¯å¦æ¾ç¤ºæ¥å·¥å
¥åºç¸å
³å
å®¹ï¼æ´é³trueï¼å
¶ä»false |
| | | teamsType:false,//æ¯å¦å¼å¯çç»ä¸ææ¡ï¼æ´é³trueï¼å
¶ä»false |
| | | //天津 |
| | | printLabel: { |
| | | custom: (item1) => { |
| | |
| | | merge: null, |
| | | printFc:null, |
| | | flashback:null, |
| | | landingSequence:null, |
| | | compound:null |
| | | }) |
| | | |
| | |
| | | |
| | | //åå |
| | | let flashback = ref(1) |
| | | //è½æ¶é¡ºåº |
| | | let landingSequence= ref(1) |
| | | //åæ¶æå° |
| | | let compound = ref(null) |
| | | |
| | |
| | | printRow.value.merge = company.flowCardMerge |
| | | printRow.value.printFc= printFc |
| | | printRow.value.flashback = flashback.value |
| | | printRow.value.landingSequence=landingSequence.value |
| | | printRow.value.compound = compound.value |
| | | // router.push({path: '/main/processCard/printProcess', query: {printList: JSON.stringify(selectRecords),printMerge:printMergeVal}}) |
| | | if(company.companyName=='常å·å¸åå©ç»çæéå
¬å¸'){ |
| | |
| | | function onFlashbackChange(checked) { |
| | | flashback.value = checked ? 0 : 1 |
| | | } |
| | | |
| | | function onlandingSequenceChange(checked) { |
| | | landingSequence.value = checked ? 0 : 1 |
| | | } |
| | | </script> |
| | | |
| | | <template> |
| | |
| | | > |
| | | {{ t('processCard.flashback') }} |
| | | </el-checkbox> |
| | | <el-checkbox |
| | | :model-value="landingSequence === 0" |
| | | @change="onlandingSequenceChange" |
| | | > |
| | | {{ t('processCard.landingSequence') }} |
| | | </el-checkbox> |
| | | <el-input |
| | | v-model="compound" |
| | | :placeholder="$t('processCard.printCompound')" |
| | |
| | | :printFc="printRow.printFc" |
| | | :merges="printRow.merge" |
| | | :flashback = "printRow.flashback" |
| | | :landingSequence = "printRow.landingSequence" |
| | | :compound = "printRow.compound" |
| | | style="width: 100%;height: 100%"/> |
| | | </el-dialog> |
| | |
| | | hiprintTemplate.value.print(object) |
| | | |
| | | } |
| | | const orderOtherMoney = ref(null) |
| | | |
| | | const {currentRoute} = useRouter() |
| | | const route = currentRoute.value |
| | |
| | | newDataCollection.push(item); |
| | | }) |
| | | } |
| | | orderOtherMoney.value = res.data.orderOtherMoney |
| | | orderOtherMoney.value.forEach(item => { |
| | | let column = { |
| | | field: `${item.column}`, |
| | | width: 100, |
| | | title: item.alias, |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged, |
| | | sortable: true |
| | | } |
| | | |
| | | gridOptions.columns.push(column) |
| | | |
| | | }) |
| | | titleSelectJson.value.dataType = res.data.type |
| | | xGrid.value.reloadData(newDataCollection) |
| | | gridOptions.loading = false |
| | |
| | | }) |
| | | } |
| | | |
| | | const orderOtherMoney = ref(null) |
| | | //ç¹å»æ¥è¯¢ |
| | | const getWorkOrder = () => { |
| | | let inputVal = form.orderId |
| | |
| | | // total.dataTotal = res.data.total.total*1 |
| | | // total.pageTotal= res.data.total.pageTotal |
| | | // pageTotal.value = res.data.total |
| | | orderOtherMoney.value = res.data.orderOtherMoney |
| | | orderOtherMoney.value.forEach(item => { |
| | | let column = { |
| | | field: `${item.column}`, |
| | | width: 100, |
| | | title: item.alias, |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged, |
| | | sortable: true |
| | | } |
| | | |
| | | gridOptions.columns.push(column) |
| | | |
| | | }) |
| | | produceList = deepClone(res.data.data) |
| | | xGrid.value.reloadData(produceList) |
| | | } else { |
| | |
| | | {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50}, |
| | | {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50}, |
| | | { |
| | | field: 'processId', width: 120, title: t('processCard.processId'), filters: [{data: ''}], |
| | | field: 'processId', width: 135, title: t('processCard.processId'), filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | }, |
| | |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | }, |
| | | {field: 'childWidth', width: 120, title: t('order.width')}, |
| | | {field: 'childHeight', width: 120, title: t('order.height')}, |
| | | {field: 'childWidth', width: 120, title: t('order.width'), filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged}, |
| | | {field: 'childHeight', width: 120, title: t('order.height'), filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged}, |
| | | {field: 'quantity', width: 120, title: t('order.quantity')}, |
| | | |
| | | {field: 'area', width: 100, title: t('order.area')}, |
| | |
| | | dataTotal: 0, |
| | | pageSize: 100 |
| | | }) |
| | | let newItem= ref({ |
| | | basic_name: 'å
¨é¨', |
| | | basic_type: 'product', |
| | | basic_category: 'process', |
| | | id: "001" |
| | | }) |
| | | //å®ä¹æ¥æ¶å è½½è¡¨å¤´ä¸ææ°æ® |
| | | const titleSelectJson = ref({ |
| | | processType: [], |
| | |
| | | produceList = produceList.value.concat(deepClone(res.data.data)) |
| | | titleSelectJson.value.processType = res.data.process |
| | | titleSelectJson.value.processType.splice(0,1) |
| | | titleSelectJson.value.processType.unshift(newItem.value) |
| | | //xGrid.value.reloadData(produceList) |
| | | gridOptions.loading = false |
| | | } else { |
| | |
| | | classes: '', |
| | | //è´£ä»»å·¥åº |
| | | responsibleProcess: '', |
| | | //å
è£
æ¹å¼ |
| | | packagingMethod:'', |
| | | order: { |
| | | //客æ·ç¼å· |
| | | customerId: '', |
| | |
| | | |
| | | }) |
| | | |
| | | let btnValue=company.storageBtn |
| | | let teamsTypeValue=company.teamsType |
| | | //æ¯å¦ç¹å»æ¥å·¥å
¥åº |
| | | let storageBtn = ref(false) |
| | | //ç®±å· åºä½ 夿³¨ |
| | | const storageRegion = ref(null); |
| | | const container = ref(null); |
| | | const remark = ref(null); |
| | | |
| | | //å
è£
æ¹å¼ |
| | | const mannerPacking = ref(null) |
| | | const mannerPackingOp = [ |
| | | // { |
| | | // value: t('reportingWorks.early'), |
| | | // label: t('reportingWorks.early'), |
| | | // }, |
| | | // { |
| | | // value: t('reportingWorks.nightShift'), |
| | | // label: t('reportingWorks.nightShift'), |
| | | // }, |
| | | { |
| | | value: 'æ¨ç®±', |
| | | label: 'æ¨ç®±', |
| | | }, |
| | | { |
| | | value: 'éæ¶', |
| | | label: 'éæ¶', |
| | | }, |
| | | { |
| | | value: 'åæ¶', |
| | | label: 'åæ¶', |
| | | }, |
| | | ] |
| | | |
| | | |
| | | let inputDisabled = ref(false) |
| | |
| | | && titleUploadData.value.thisProcess!=null){ |
| | | getWork() |
| | | getQuantity() |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | // {code: 'sameOneDamage', name: 'æ¬¡ç ´ä¸åç¸å'}, |
| | | {code: 'saveReportingWork', name: t('basicData.save'), status: 'primary', icon: 'vxe-icon-save',disabled:true}, |
| | | {code: 'saveReportingWorkReview', name: t('reportingWorks.saveAndReview'), status: 'primary', icon: 'vxe-icon-save',disabled:true}, |
| | | {code: 'saveWorkStorage', name: t('reportingWorks.saveWorkStorage'), status: 'primary', icon: 'vxe-icon-save'}, |
| | | ], |
| | | // import: false, |
| | | // export: true, |
| | |
| | | // }) |
| | | |
| | | break |
| | | } |
| | | case 'saveWorkStorage':{ |
| | | if(xGrid.value.getTableData().fullData.length===0){ |
| | | ElMessage.warning(t('reportingWorks.selectProcessCardData')) |
| | | return |
| | | } |
| | | const device = titleUploadData.value.deviceName |
| | | if(device === null || device === undefined || device === ''){ |
| | | ElMessage.error(t('reportingWorks.selectWorkReportingEquipment')) |
| | | return |
| | | } |
| | | const teamsGroupsName = titleUploadData.value.teamsGroupsName |
| | | if(teamsGroupsName === null || teamsGroupsName === undefined || teamsGroupsName === ''){ |
| | | ElMessage.error(t('reportingWorks.selectWorkReportingTeam')) |
| | | return |
| | | } |
| | | |
| | | if (mannerPacking.value === null || mannerPacking.value === undefined || mannerPacking.value === ''){ |
| | | ElMessage.error(t('reportingWorks.msgMannerPacking')) |
| | | return |
| | | } |
| | | const parts = technologicalProcess.split('->'); |
| | | const last = parts[parts.length - 1]; |
| | | let processId = titleUploadData.value.processId |
| | | //å¹é
â/âååå符串 |
| | | const regex = /([^\/]+)\/([^\/]+)/; |
| | | //æ¥æ¾å¹é
çå符串 |
| | | const resultProcessId = processId.match(regex); |
| | | //æµç¨å¡å· |
| | | let processIdStr = resultProcessId[1]; |
| | | //å±å· |
| | | let technologyStr = resultProcessId[2]; |
| | | if (last != titleUploadData.value.thisProcess){ |
| | | ElMessage.error('è¯·éæ©æåå·¥åºæ¥å·¥å
¥åº') |
| | | return |
| | | } |
| | | storageBtn.value = true |
| | | //æ¥å·¥æ°å¢ |
| | | saveReportingWork(0,'save') |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | //ç¬¬ä¸æ¬¡å è½½æ°æ® |
| | | let groupChangeProcess = ref(false)//ç¨äºæ¬çç»æ¾ç¤ºé®é¢ |
| | | const initTiltle = async () => { |
| | | hideButton() |
| | | await request.post(`/reportingWork/selectProcess/${user.user.userId}`).then((res) => { |
| | | if (res.code == 200) { |
| | | titleSelectJson.value.processType = res.data.process |
| | |
| | | return false |
| | | } |
| | | } |
| | | |
| | | //å
è£
æ¹å¼ |
| | | titleUploadData.value.packagingMethod = mannerPacking.value |
| | | titleUploadData.value.creator = user.user.userName |
| | | titleUploadData.value.creatorId = user.user.userId |
| | | const requestDetailData = xGrid.value.getTableData().fullData.filter((row) => { |
| | |
| | | request.post(`/reportingWork/saveReportingWork`,requestData).then(res =>{ |
| | | if (res.code == 200){ |
| | | ElMessage.success(t('reportingWorks.successfulJobApplication')) |
| | | //æ¥å·¥å
¥åº |
| | | if(storageBtn.value == true){ |
| | | getStorageWork(); |
| | | } |
| | | router.push({path:'/main/reportingWorks/AddReportingWork',query:{processId:titleUploadData.value.processId,random:Math.random()}}) |
| | | }else{ |
| | | const errorObj = JSON.parse(res.msg) |
| | |
| | | //设å¤ä¸ææ¡ |
| | | titleSelectJson.value.deviceType = res.data.device |
| | | //çç»ä¸ææ¡ |
| | | //titleSelectJson.value.teamsType = res.data.teams |
| | | if (teamsTypeValue==true){ |
| | | titleSelectJson.value.teamsType = res.data.teams |
| | | } |
| | | |
| | | //å½åæµç¨å¡å·¥åº |
| | | titleSelectJson.value.thisProcessType = res.data.thisProcess |
| | | //åå²çç» |
| | |
| | | } |
| | | }) |
| | | |
| | | |
| | | //æ¥å·¥å
¥åºæ¹æ³ |
| | | const getStorageWork = () => { |
| | | let processId = titleUploadData.value.processId |
| | | //å¹é
â/âååå符串 |
| | | const regex = /([^\/]+)\/([^\/]+)/; |
| | | //æ¥æ¾å¹é
çå符串 |
| | | const resultProcessId = processId.match(regex); |
| | | //æµç¨å¡å· |
| | | let processIdStr = resultProcessId[1]; |
| | | //å±å· |
| | | let technologyStr = resultProcessId[2]; |
| | | //å¼å§å¤çå
¥åºéè¦çæ°æ® |
| | | let rawData = xGrid.value.getTableData().fullData |
| | | const seen = new Set(); |
| | | const result = rawData.filter(item => { |
| | | // 1. å
æ completedQuantity 为 0 çåé¤ |
| | | if (item.completedQuantity === 0) { |
| | | return false; |
| | | } |
| | | // 2. éå°ç¸å order_numberï¼åªä¿çç¬¬ä¸æ¬¡ï¼åé¢é½ä¸¢å¼ |
| | | if (seen.has(item.order_number)) { |
| | | return false; |
| | | } |
| | | seen.add(item.order_number); |
| | | return true; |
| | | }); |
| | | |
| | | // ç»æ¯æ¡è®°å½è¿½å order åæ®µ |
| | | const resultData = result.map(item => ({ |
| | | ...item, |
| | | order: { |
| | | orderId: titleUploadData.value.orderId |
| | | }, |
| | | processId:processIdStr, |
| | | orderNumber:item.order_number |
| | | })); |
| | | let flowData = ref({ |
| | | decValue:company.decValue, |
| | | userId: user.user.userId, |
| | | userName: user.user.userName, |
| | | storageRegion: storageRegion.value, |
| | | remark: remark.value, |
| | | container: container.value, |
| | | flowCard: resultData, |
| | | }) |
| | | //è°ç¨å
¥åºæ¥å£ |
| | | request.post("/finishedGoodsInventory/addSelectWarehousing",flowData.value).then((res) => { |
| | | if(res.code==200 && res.data==="true"){ |
| | | ElMessage.success(t('productStock.receivedSuccessfully')) |
| | | // router.push({path:'/maiggn/productStock/CreateProductStock',query:{random:Math.random()}}) |
| | | }else if(res.data==="false1"){ |
| | | ElMessage.warning(t('basicData.msg.quantityError')) |
| | | }else if(res.data==="false2"){ |
| | | ElMessage.warning(t('basicData.msg.dataDoesNotExist')) |
| | | }else{ |
| | | ElMessage.warning(t('productStock.entryFailure')) |
| | | } |
| | | }).catch((err)=>{ |
| | | ElMessage.error(t('basicData.msg.ServerConnectionError')) |
| | | router.push("/login") |
| | | }) |
| | | } |
| | | |
| | | const hideButton = () => { |
| | | if (btnValue == false){ |
| | | const els = document.querySelectorAll('.inventory_content'); |
| | | els.forEach(el => { |
| | | el.style.display = 'none'; |
| | | }); |
| | | } |
| | | gridOptions.toolbarConfig.buttons = gridOptions.toolbarConfig.buttons.filter(button => { |
| | | // 妿 type ä¸ä¸ºç©ºæ¶ï¼éè print æé® |
| | | if (btnValue == false && button.code === 'saveWorkStorage') { |
| | | return false; // éè print æé® |
| | | } |
| | | |
| | | |
| | | // é»è®¤è¿å trueï¼è¡¨ç¤ºä¿çæé® |
| | | return true; |
| | | }); |
| | | }; |
| | | </script> |
| | | |
| | | <template> |
| | |
| | | |
| | | <el-button :disabled="disabledFlag" :loading="loadingFlag" @click="reviewReportingWork" type="primary">{{$t('reportingWorks.passAudit')}} |
| | | </el-button> |
| | | |
| | | <span class="inventory_content"> |
| | | <el-select style="width: 100px" v-model="mannerPacking" class="processesSt" :placeholder="$t('reportingWorks.mannerPacking')"> |
| | | <el-option |
| | | v-for="item in mannerPackingOp" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | <el-input style="width: 100px" v-model="container" class="m-2" :placeholder="$t('productStock.pleaseEnterTheBoxNumber')"> |
| | | </el-input> |
| | | <el-input style="width: 100px" v-model="storageRegion" class="m-2" :placeholder="$t('productStock.pleaseEnterTheStorageLocation')"> |
| | | </el-input> |
| | | <el-input style="width: 200px" v-model="remark" class="m-2" :placeholder="$t('productStock.pleaseEnterANote')"> |
| | | </el-input> |
| | | </span> |
| | | <!-- <el-button type="primary">å®¡æ ¸ä¸éè¿</el-button>--> |
| | | |
| | | <label>{{technologicalProcess}}</label> |
| | |
| | | <el-option |
| | | v-for="item in titleSelectJson['teamsType']" |
| | | :key="item.id" |
| | | :label="item.basicName" |
| | | :value="item.basicName" |
| | | :label="item.user_name" |
| | | :value="item.user_name" |
| | | /> |
| | | </el-select> |
| | | </el-col> |
| | |
| | | } |
| | | |
| | | @ApiOperation("æå°æµç¨å¡æ°æ®æ¥è¯¢æ¥å£") |
| | | @PostMapping("/getSelectPrinting/{printMerge}/{printLike}/{merge}/{flashback}/{compound}") |
| | | @PostMapping("/getSelectPrinting/{printMerge}/{printLike}/{merge}/{flashback}/{compound}/{landingSequence}") |
| | | public Result getSelectPrinting( |
| | | @PathVariable String printMerge, |
| | | @PathVariable String printLike, |
| | | @PathVariable String merge, |
| | | @PathVariable String flashback, |
| | | @PathVariable String compound, |
| | | @PathVariable String landingSequence, |
| | | @RequestBody Map<String, Object> object) { |
| | | return Result.seccess(flowCardService.getSelectPrintingSv(object,printMerge,printLike,merge,flashback,compound)); |
| | | return Result.seccess(flowCardService.getSelectPrintingSv(object,printMerge,printLike,merge,flashback,compound,landingSequence)); |
| | | } |
| | | |
| | | @ApiOperation("å·¥ç¨æå°æµç¨å¡æ°æ®æ¥è¯¢æ¥å£") |
| | | @PostMapping("/getSelectPrintProject/{printProject}/{merge}/{flashback}") |
| | | @PostMapping("/getSelectPrintProject/{printProject}/{merge}/{flashback}/{landingSequence}") |
| | | public Result getSelectPrintProject( |
| | | @PathVariable String printProject,@PathVariable String merge,@PathVariable String flashback) { |
| | | return Result.seccess(flowCardService.getSelectPrintProject(printProject,merge,flashback)); |
| | | @PathVariable String printProject,@PathVariable String merge,@PathVariable String flashback,@PathVariable String landingSequence) { |
| | | return Result.seccess(flowCardService.getSelectPrintProject(printProject,merge,flashback,landingSequence)); |
| | | } |
| | | |
| | | @ApiOperation("æå°æ ç¾æ°æ®æ¥è¯¢æ¥å£") |
| | |
| | | @RequestBody ReportingWork reportingWork){ |
| | | return Result.seccess(reportingWorkService.selectReportingWorkSv(pageNum,pageSize,selectTime1,selectTime2,orderId,reportingWork)); |
| | | |
| | | |
| | | } |
| | | |
| | | @ApiOperation("å 餿¥å·¥æ¥å£") |
| | |
| | | return Result.seccess(reportingWorkService.selectReportingWorkRecordByPhoneSv(selectPam)); |
| | | } |
| | | |
| | | @ApiOperation("ææºæ¥è¯¢æ¬å·¥åºè®¾å¤") |
| | | @ApiOperation("ææºæ¥è¯¢æ¬å·¥åºè®¾å¤") |
| | | @PostMapping("/selectEquipmentByProcess/{process}") |
| | | public Result selectEquipmentByProcess(@PathVariable String process) { |
| | | return Result.seccess(reportingWorkService.selectEquipmentByProcessSv(process)); |
| | | } |
| | | }@ApiOperation("æ¥å·¥å
¥åºæ¥å£") |
| | | @PostMapping("/saveWorkStorage") |
| | | public Result saveWorkStorage( @RequestBody Map<String,Object> object){ |
| | | return Result.seccess(reportingWorkService.saveWorkStorage(object)); |
| | | |
| | | } |
| | | }} |
| | |
| | | |
| | | List<Map<String, String>> getPrimaryLists(String processId, String technologyNumber, String glassChild, String process, String orderId,Integer quantity); |
| | | |
| | | List<Map<String, Object>> getDetailList(String processId, String technologyNumber, String process, String flashback); |
| | | List<Map<String, Object>> getDetailList(String processId, String technologyNumber, String process, String flashback, String landingSequence); |
| | | |
| | | List<Map<String, Object>> getDetailLists(String processId, String technologyNumber, String process,Integer orderNumber); |
| | | |
| | |
| | | |
| | | List<Map<String, String>> selectReworkPrintMp(Date selectTime1, Date selectTime2, FlowCard flowCard); |
| | | |
| | | List<Map<String, Object>> getDetailListLike(String processId, String technologyNumber, String process, String flashback); |
| | | List<Map<String, Object>> getDetailListLike(String processId, String technologyNumber, String process, String flashback, String landingSequence); |
| | | |
| | | List<Map<String, Object>> getDetailListMerge(String processId, String process, String flashback); |
| | | List<Map<String, Object>> getDetailListMerge(String processId, String process, String flashback, String landingSequence); |
| | | |
| | | List<Map<String, Object>> getDetailListLikes(String processId, String technologyNumber, String process,String printProject,Integer quantity); |
| | | |
| | |
| | | |
| | | Integer getSumQuantity(String orderId); |
| | | |
| | | List<Map<String, Object>> getDetailCompoundList(String processId, String technologyNumber, String process, String flashback, String compound); |
| | | List<Map<String, Object>> getDetailCompoundList(String processId, String technologyNumber, String process, String flashback, String compound, String landingSequence); |
| | | |
| | | List<Map<String, Object>> getDetailListLikeCompound(String processId, String s, String process, String flashback, String compound); |
| | | List<Map<String, Object>> getDetailListLikeCompound(String processId, String s, String process, String flashback, String compound, String landingSequence); |
| | | } |
| | |
| | | |
| | | List<WorkInProgressDTO> workInProgressProcessMpList1(Integer offset, Integer pageSize, String orderId, String inputProject, String selectProcesses, WorkInProgressDTO workInProgressDTO); |
| | | |
| | | List<WorkInProgressDTO> exportWorkInProgressMpdataList2(String process); |
| | | |
| | | |
| | | // Map<String, Integer> getWorkInProgressTotal( |
| | | // @Param("selectTime1") Date selectTime1, @Param("selectTime2") Date selectTime2, |
| | |
| | | |
| | | List<BasicDataProduce> SelectWorkBasicDeviceMp(String process); |
| | | |
| | | List<BasicDataProduce> SelectWorkBasicTeamsMp(String process); |
| | | List<Map<String,String>> SelectWorkBasicTeamsMp(String process); |
| | | |
| | | String SelectTechnologicalProcess(String processIdStr, String technologyStr); |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | public Map<String, Object> getSelectPrintingSv(Map<String, Object> object, String printMerge, String printLike, String merge, String flashback, String compound) { |
| | | public Map<String, Object> getSelectPrintingSv(Map<String, Object> object, String printMerge, String printLike, String merge, String flashback, String compound, String landingSequence) { |
| | | if (printMerge == null) { |
| | | printMerge = ""; |
| | | } |
| | |
| | | if (compound == null |
| | | || "null".equals(compound) |
| | | || compound.trim().isEmpty()){ |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(),flashback); |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(),flashback,landingSequence); |
| | | itemmap.put("detailList", detailList); |
| | | }else {//æéè¦åæ¶çå± |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailCompoundList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(),flashback,compound); |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailCompoundList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(),flashback,compound,landingSequence); |
| | | itemmap.put("detailList", detailList); |
| | | } |
| | | } else { |
| | |
| | | // å°è¯¥ processId å å
¥å·²å¤çéå |
| | | processedKeys.add(uniqueKey); |
| | | itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId())); |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess(),flashback); |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess(),flashback,landingSequence); |
| | | itemmap.put("detailList", detailList); |
| | | } else { |
| | | itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(), |
| | |
| | | if (compound == null |
| | | || "null".equals(compound) |
| | | || compound.trim().isEmpty()){ |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getProcess(),flashback); |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getProcess(),flashback,landingSequence); |
| | | itemmap.put("detailList", detailList); |
| | | }else {//æéè¦åæ¶çå± |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListLikeCompound(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getProcess(),flashback,compound); |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListLikeCompound(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getProcess(),flashback,compound,landingSequence); |
| | | itemmap.put("detailList", detailList); |
| | | } |
| | | } |
| | |
| | | if (printLike.equals("") || printLike.equals("null")) { |
| | | itemmap.put("detail", flowCardMapper.getPrimaryListMerge(flowCard.getProcessId(), printMerge, flowCard.getOrderId())); |
| | | |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flashback); |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flashback, landingSequence); |
| | | itemmap.put("detailList", detailList); |
| | | } else { |
| | | itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId())); |
| | | |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), printMerge, flowCard.getProcess(), flashback); |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), printMerge, flowCard.getProcess(), flashback, landingSequence); |
| | | itemmap.put("detailList", detailList); |
| | | } |
| | | } |
| | |
| | | return map; |
| | | } |
| | | |
| | | public Map<String, Object> getSelectPrintProject(String printProject, String merge, String flashback) { |
| | | public Map<String, Object> getSelectPrintProject(String printProject, String merge, String flashback, String landingSequence) { |
| | | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//æç»ç»æ |
| | |
| | | if (processName.equals("stepC") || processName.equals("stepD")) {//å·¥èºæ¯å¦å
å«å¤¹è¶ä¸ç©º |
| | | itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId())); |
| | | if (flowCard.getPatchState().equals(0)) { |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flashback); |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flashback, landingSequence); |
| | | itemmap.put("detailList", detailList); |
| | | } else { |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailLists(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flowCard.getOrderNumber()); |
| | |
| | | processedKeys.add(uniqueKey); |
| | | itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId())); |
| | | |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess(), flashback); |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess(), flashback, landingSequence); |
| | | itemmap.put("detailList", detailList); |
| | | } else { |
| | | itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId())); |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getProcess(), flashback); |
| | | List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getProcess(), flashback, landingSequence); |
| | | itemmap.put("detailList", detailList); |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | map.put("data", list); |
| | | map.put("orderOtherMoney", flowCardMapper.selectorderOtherMoney()); |
| | | map.put("type", flowCardMapper.selectType()); |
| | | return map; |
| | | } |
| | |
| | | import com.example.erp.dto.pp.*; |
| | | import com.example.erp.entity.pp.DamageDetails; |
| | | import com.example.erp.entity.pp.Report; |
| | | import com.example.erp.mapper.pp.FlowCardMapper; |
| | | import com.example.erp.mapper.pp.ProductionSchedulingMapper; |
| | | import com.example.erp.mapper.pp.ReportMapper; |
| | | import com.example.erp.mapper.sd.OrderProcessDetailMapper; |
| | |
| | | |
| | | private final OrderProcessDetailMapper orderProcessDetailMapper; |
| | | private final ProductionSchedulingMapper productionSchedulingMapper; |
| | | |
| | | FlowCardMapper flowCardMapper; |
| | | |
| | | |
| | | private void mergeTeamsGroupsName( |
| | |
| | | } |
| | | |
| | | |
| | | public ReportService(ReportMapper reportMapper, OrderProcessDetailMapper orderProcessDetailMapper, ProductionSchedulingMapper productionSchedulingMapper) { |
| | | public ReportService(ReportMapper reportMapper, OrderProcessDetailMapper orderProcessDetailMapper, ProductionSchedulingMapper productionSchedulingMapper,FlowCardMapper flowCardMapper) { |
| | | this.reportMapper = reportMapper; |
| | | this.orderProcessDetailMapper = orderProcessDetailMapper; |
| | | this.productionSchedulingMapper = productionSchedulingMapper; |
| | | this.flowCardMapper = flowCardMapper; |
| | | } |
| | | |
| | | //æµç¨å¡è¿åº¦æ¹æ³ |
| | |
| | | if ("null".equals(optionVal)) { |
| | | optionVal = (""); |
| | | } |
| | | |
| | | if (selectProcesses.equals("å
¨é¨")){ |
| | | selectProcesses=""; |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | List<WorkInProgressDTO> dataList2 =reportMapper.workInProgressMpdataList2(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO); |
| | | |
| | | if (optionVal.equals("1")){ |
| | | /* æ ¹æ®éå®åå·æ±æ»*/ |
| | | //map.put("data", reportMapper.workInProgressOrderMp(offset, pageSize, orderId, inputProject, selectProcesses, workInProgressDTO)); |
| | |
| | | public Map<String, Object> splittingDetailsOutsideSv(String orderId, Report report) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", reportMapper.splittingDetailsOutsideMp(orderId, report)); |
| | | map.put("orderOtherMoney", flowCardMapper.selectorderOtherMoney()); |
| | | return map; |
| | | } |
| | | |
| | |
| | | if (dates != null && dates.size() > 1) { |
| | | dates.set(1, dates.get(1).plusDays(1)); // å°ç¬¬äºä¸ªæ¥æå ä¸å¤© |
| | | } |
| | | System.out.println(dates); |
| | | return reportMapper.exportDamageReportMp(dates); |
| | | } |
| | | |
| | |
| | | |
| | | public List exportWorkInProgressSv(Map<String, Object> dates) { |
| | | String process= (String) dates.get("processes"); |
| | | if (process.equals("å
¨é¨")){ |
| | | process=""; |
| | | } |
| | | String inputVal= (String) dates.get("inputVal"); |
| | | String project= (String) dates.get("project"); |
| | | if ("null".equals(inputVal)) { |
| | |
| | | if ("null".equals(project)) { |
| | | project = ""; |
| | | } |
| | | return reportMapper.exportWorkInProgressMp(process,inputVal,project); |
| | | List<WorkInProgressDTO> dataList1 =reportMapper.exportWorkInProgressMp(process,inputVal,project); |
| | | List<WorkInProgressDTO> dataList2 =reportMapper.exportWorkInProgressMpdataList2(process); |
| | | |
| | | mergeTeamsGroupsName(dataList1, dataList2); |
| | | return dataList1; |
| | | } |
| | | |
| | | public List exportTaskCompletionStatusSv(Map<String, Object> dates) { |
| | |
| | | import com.example.erp.entity.userInfo.Log; |
| | | import com.example.erp.entity.userInfo.SysError; |
| | | import com.example.erp.exception.ServiceException; |
| | | import com.example.erp.mapper.mm.FinishedGoodsInventoryMapper; |
| | | import com.example.erp.mapper.mm.FinishedOperateLogMapper; |
| | | import com.example.erp.mapper.pp.*; |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.example.erp.mapper.sd.*; |
| | | import com.example.erp.mapper.userInfo.LogMapper; |
| | | import com.example.erp.service.mm.FinishedGoodsInventoryService; |
| | | import com.example.erp.service.sd.OrderProcessDetailService; |
| | | import com.example.erp.service.userInfo.LogService; |
| | | import com.example.erp.service.userInfo.SysErrorService; |
| | |
| | | private final PatchLogMapper patchLogMapper; |
| | | private final ReworkMapper reworkMapper; |
| | | private final BasicDateMapper basicDataMapper; |
| | | private final FinishedGoodsInventoryService finishedGoodsInventoryService; |
| | | |
| | | |
| | | /*public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, OrderProcessDetailService orderProcessDetailService, OrderMapper orderMapper, FlowCardMapper flowCardMapper, LogService logService, LogMapper logMapper, OrderGlassDetailMapper orderGlassDetailMapper, SysErrorService sysErrorService, OrderDetailMapper orderDetailMapper, FinishedOperateLogMapper finishedOperateLogMapper, ReportingWorkTransferMapper reportingWorkTransferMapper) { |
| | |
| | | |
| | | } |
| | | |
| | | public List<BasicDataProduce> selectEquipmentByProcessSv(String process) { |
| | | return reportingWorkMapper.SelectWorkBasicDeviceMp(process); |
| | | } |
| | | |
| | | public List<BasicDataProduce> selectEquipmentByProcessSv(String process) { |
| | | return reportingWorkMapper.SelectWorkBasicDeviceMp(process); |
| | | } |
| | | } |
| | | public String saveWorkStorage(Map<String, Object> object) { |
| | | //List<Map<String, Object>> flowCard = reportingWorkMapper.getStorageData(); |
| | | //finishedGoodsInventoryService.addSelectWarehousing(object); |
| | | return null; |
| | | }} |
| | |
| | | fol.remarks, |
| | | SUM(fol.quantity) as quantity, |
| | | ROUND( sum(od.width * od.height * fol.quantity) / 1000000, 2 ) as area, |
| | | ROUND( sum(od.width * od.height * fol.quantity*p.total_thickness*2.5) / 1000000, 2 ) as weight, |
| | | fol.process_id, |
| | | aaa.teams_groups_name, |
| | | aaa.previous_process, |
| | |
| | | from mm.finished_operate_log aa where aa.operate_type = 'å
¥åº' and aa.status!='å·²ä½åº') fol |
| | | left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number |
| | | left join sd.`order` o on o.order_id=fol.order_id |
| | | left join sd.product p on od.product_id=p.id |
| | | left join (select teams_groups_name,process_id,previous_process,reporting_work_time from pp.reporting_work where this_process='å
è£
') aaa on aaa.process_id=fol.process_id |
| | | |
| | | |
| | |
| | | and position(fc.technology_number in #{technologyNumber}) |
| | | group by fc.process_id, fc.order_number |
| | | <choose> |
| | | <!-- landingSequence != 1 æ¶ï¼ä¼å
æ landing_sequence ååº --> |
| | | <when test="landingSequence != 1"> |
| | | ORDER BY landing_sequence DESC |
| | | </when> |
| | | <!-- flashback = 1 æ¶æ£åº --> |
| | | <when test="flashback == 1"> |
| | | ORDER BY |
| | |
| | | and position(fc.technology_number in #{technologyNumber}) |
| | | group by fc.process_id, fc.order_number, fc.technology_number |
| | | <choose> |
| | | <!-- landingSequence != 1 æ¶ï¼ä¼å
æ landing_sequence ååº --> |
| | | <when test="landingSequence != 1"> |
| | | ORDER BY landing_sequence DESC |
| | | </when> |
| | | <!-- flashback = 1 æ¶æ£åº --> |
| | | <when test="flashback == 1"> |
| | | ORDER BY |
| | |
| | | where fc.process_id = #{processId} and fc.`merge`=1 |
| | | group by fc.process_id, fc.order_number |
| | | <choose> |
| | | <!-- landingSequence != 1 æ¶ï¼ä¼å
æ landing_sequence ååº --> |
| | | <when test="landingSequence != 1"> |
| | | ORDER BY landing_sequence DESC |
| | | </when> |
| | | <!-- flashback = 1 æ¶æ£åº --> |
| | | <when test="flashback == 1"> |
| | | ORDER BY |
| | |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber, |
| | | od.order_number, |
| | | ogd.child_width as width, |
| | | ogd.child_height as height |
| | | ogd.child_height as height, |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS S01, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS S02, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS S03, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS S04, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS S05 |
| | | 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 |
| | |
| | | and position(fc.technology_number in #{compound}) |
| | | group by fc.process_id, fc.order_number |
| | | <choose> |
| | | <!-- landingSequence != 1 æ¶ï¼ä¼å
æ landing_sequence ååº --> |
| | | <when test="landingSequence != 1"> |
| | | ORDER BY landing_sequence DESC |
| | | </when> |
| | | <!-- flashback = 1 æ¶æ£åº --> |
| | | <when test="flashback == 1"> |
| | | ORDER BY |
| | |
| | | and position(fc.technology_number in #{compound}) |
| | | group by fc.process_id, fc.order_number |
| | | <choose> |
| | | <!-- landingSequence != 1 æ¶ï¼ä¼å
æ landing_sequence ååº --> |
| | | <when test="landingSequence != 1"> |
| | | ORDER BY landing_sequence DESC |
| | | </when> |
| | | <!-- flashback = 1 æ¶æ£åº --> |
| | | <when test="flashback == 1"> |
| | | ORDER BY |
| | |
| | | fc.quantity, |
| | | round(ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2) as area, |
| | | if(od.shape='' || ISNULL(od.shape),'æ®å½¢',if(od.shape = 1, 'æ®å½¢', if(od.shape = 2, 'å¼å½¢', ''))) as shape, |
| | | od.remarks |
| | | FROM sd.ORDER AS o |
| | | LEFT JOIN sd.order_detail AS od ON od.order_id = od.order_id |
| | | LEFT JOIN sd.order_glass_detail AS ogd ON o.order_id = ogd.order_id |
| | | AND ogd.order_number = od.order_number |
| | | LEFT JOIN flow_card AS fc ON fc.order_id = ogd.order_id |
| | | AND fc.order_number = od.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | od.remarks, |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS S01, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS S02, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS S03, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS S04, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS S05 |
| | | FROM |
| | | flow_card as fc left join sd.order_glass_detail as ogd on ogd.order_id=fc.order_id and ogd.order_number=ogd.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.id |
| | | order by fc.order_number,fc.technology_number |
| | | </select> |
| | | |
| | | <select id="qualityReportMp"> |
| | |
| | | dd.breakage_quantity, |
| | | round(ogd.child_width * ogd.child_height * dd.breakage_quantity / 1000000, 2) as area, |
| | | IFNULL(dd.responsible_personnel, '') as personnel, |
| | | ogd.glass_child |
| | | ogd.glass_child, |
| | | ogd.child_width, |
| | | ogd.child_height |
| | | FROM sd.ORDER AS o |
| | | LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id |
| | | LEFT JOIN reporting_work AS rw ON rw.order_id = o.order_id |
| | |
| | | </select> |
| | | |
| | | <select id="exportWorkInProgressMp"> |
| | | select #{process} as thisProcess, |
| | | select if(#{process}='',odpd.process,#{process}) as thisProcess, |
| | | fc.process_id, |
| | | o.customer_name, |
| | | o.project, |
| | |
| | | odpd.broken_num) / 1000000, 2) as stockArea, |
| | | od.product_name, |
| | | od.bend_radius, |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber, |
| | | rws.teams_groups_name |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber |
| | | |
| | | from sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | |
| | | LEFT JOIN |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where rwk.this_process = #{process} |
| | | where position(#{process} in rwk.this_process) |
| | | and rwk.this_process!='åå²' |
| | | 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.technology_number = fc.technology_number |
| | | left join sd.`order` as o |
| | | on o.order_id = od.order_id |
| | | left join |
| | | ( |
| | | select a.process_id,a.teams_groups_name,a.next_process,b.technology_number,b.order_number |
| | | from reporting_work as a |
| | | left join reporting_work_detail as b on a.reporting_work_id=b.reporting_work_id |
| | | GROUP BY a.process_id,a.teams_groups_name,a.next_process,b.order_number,b.technology_number |
| | | ) as rws on rws.process_id=fc.process_id and rws.order_number=fc.order_number |
| | | and rws.technology_number=fc.technology_number and rws.next_process=#{process} |
| | | where o.create_order>0 |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 |
| | | and odpd.process = #{process} |
| | | odpd.broken_num != 0 and odpd.process!='åå²' |
| | | and position(#{process} in odpd.process) |
| | | and position(ifnull(#{inputVal}, '') in od.order_id) |
| | | and position(ifnull(#{project}, '') in o.project) |
| | | |
| | | group by fc.process_id, fc.order_number, fc.technology_number |
| | | group by fc.process_id, fc.order_number, fc.technology_number,odpd.process |
| | | order by fc.process_id, fc.order_number, fc.technology_number |
| | | </select> |
| | | |
| | |
| | | </select> |
| | | |
| | | <select id="workInProgressOrderFootSum"> |
| | | SELECT |
| | | 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, |
| | | CEILING(count(fc.id)/#{pageSize}) as 'pageTotal', |
| | | count(distinct fc.id) as 'total' |
| | | FROM sd.order_detail AS od |
| | | SELECT SUM(aa.quantity) AS quantity, |
| | | sum(aa.stockNum) AS stockNum, |
| | | SUM(aa.stockArea) AS stockArea, |
| | | count(* ) AS 'total', |
| | | CEILING( count(* )/#{pageSize} ) AS 'pageTotal' |
| | | from |
| | | ( |
| | | SELECT (od.quantity) AS quantity, |
| | | (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 |
| | | 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 |
| | | LEFT JOIN pp.flow_card AS fc |
| | | ON fc.order_id = ogd.order_id |
| | | AND fc.production_id = ogd.production_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 |
| | | 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 |
| | | 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, |
| | | 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 ( |
| | | SELECT |
| | | a.process_id, |
| | | a.teams_groups_name, |
| | | a.next_process, |
| | | b.technology_number, |
| | | b.order_number |
| | | FROM reporting_work AS a |
| | | LEFT JOIN reporting_work_detail AS b |
| | | ON a.reporting_work_id = b.reporting_work_id |
| | | GROUP BY a.process_id, a.teams_groups_name, a.next_process, b.order_number, b.technology_number |
| | | ) AS rws |
| | | ON rws.process_id = fc.process_id |
| | | AND rws.order_number = fc.order_number |
| | | AND rws.technology_number = fc.technology_number |
| | | AND rws.next_process = #{selectProcesses} |
| | | WHERE o.create_order > 0 |
| | | AND odpds.reporting_work_num_count + IFNULL(c.patchNumSum, 0) - odpd.reporting_work_num_count - odpd.broken_num != 0 |
| | | and odpd.process = #{selectProcesses} |
| | | from pp.rework as rw |
| | | LEFT JOIN |
| | | pp.reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where position(rwk.this_process in #{selectProcesses}) |
| | | and rwk.this_process!='åå²' |
| | | 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 |
| | | o.create_order>0 |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 and odpd.process!='åå²' |
| | | and position(#{selectProcesses} in odpd.process) |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''"> |
| | |
| | | <if test="workInProgressDTO.processId != null and workInProgressDTO.processId != ''"> |
| | | and fc.process_id regexp #{workInProgressDTO.processId} |
| | | </if> |
| | | group by fc.process_id, fc.order_number, fc.technology_number,odpd.process |
| | | ) as aa |
| | | |
| | | </select> |
| | | |
| | | <select id="processToBeCompletedFootSum"> |
| | |
| | | </select> |
| | | |
| | | <select id="workInProgressMpdataList1" resultMap="workInProgressMap"> |
| | | select #{selectProcesses} as thisProcess, |
| | | select if(#{selectProcesses}='',odpd.process,#{selectProcesses}) as thisProcess, |
| | | fc.process_id, |
| | | o.customer_name, |
| | | o.project, |
| | |
| | | LEFT JOIN |
| | | pp.reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where rwk.this_process = #{selectProcesses} |
| | | where position(#{selectProcesses} in rwk.this_process) |
| | | and rwk.this_process!='åå²' |
| | | 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 |
| | |
| | | on o.order_id = od.order_id |
| | | where o.create_order>0 |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 |
| | | and odpd.process = #{selectProcesses} |
| | | odpd.broken_num != 0 and odpd.process!='åå²' |
| | | and position(#{selectProcesses} in odpd.process) |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''"> |
| | |
| | | <if test="workInProgressDTO.glassNumber != null and workInProgressDTO.glassNumber != ''"> |
| | | and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') regexp #{workInProgressDTO.glassNumber} |
| | | </if> |
| | | group by fc.process_id, fc.order_number, fc.technology_number |
| | | group by fc.process_id, fc.order_number, fc.technology_number,odpd.process |
| | | order by fc.process_id, fc.order_number, fc.technology_number |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | |
| | | a.process_id,a.teams_groups_name,a.next_process,b.technology_number,b.order_number |
| | | from pp.reporting_work as a |
| | | left join pp.reporting_work_detail as b on a.reporting_work_id=b.reporting_work_id |
| | | where a.next_process=#{selectProcesses} |
| | | GROUP BY a.process_id,a.teams_groups_name,a.next_process,b.order_number,b.technology_number |
| | | where position(#{selectProcesses} in a.next_process) and a.next_process!='åå²' |
| | | GROUP BY a.reporting_work_id |
| | | </select> |
| | | |
| | | <select id="workInProgressOrderMpList1" resultMap="workInProgressMap"> |
| | | select #{selectProcesses} as thisProcess, |
| | | select if(#{selectProcesses}='',odpd.process,#{selectProcesses}) as thisProcess, |
| | | o.customer_name, |
| | | o.project, |
| | | o.order_id, |
| | |
| | | LEFT JOIN |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where rwk.this_process = #{selectProcesses} |
| | | where position(#{selectProcesses} in rwk.this_process) |
| | | and rwk.this_process!='åå²' |
| | | 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 |
| | |
| | | on o.order_id = od.order_id |
| | | where o.create_order>0 |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 |
| | | and odpd.process = #{selectProcesses} |
| | | odpd.broken_num != 0 and odpd.process!='åå²' |
| | | and position(#{selectProcesses} in odpd.process) |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''"> |
| | |
| | | </select> |
| | | |
| | | <select id="workInProgressProcessMpList1" resultMap="workInProgressMap"> |
| | | select #{selectProcesses} as thisProcess, |
| | | select if(#{selectProcesses}='',odpd.process,#{selectProcesses}) as thisProcess, |
| | | o.customer_name, |
| | | o.project, |
| | | o.order_id, |
| | |
| | | LEFT JOIN |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id = rwk.reporting_work_id |
| | | where rwk.this_process = #{selectProcesses} |
| | | where position(#{selectProcesses} in rwk.this_process) |
| | | and rwk.this_process!='åå²' |
| | | 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 |
| | |
| | | on o.order_id = od.order_id |
| | | where o.create_order>0 |
| | | and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num != 0 |
| | | and odpd.process = #{selectProcesses} |
| | | odpd.broken_num != 0 and odpd.process!='åå²' |
| | | and position(#{selectProcesses} in odpd.process) |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | <if test="workInProgressDTO.customerName != null and workInProgressDTO.customerName != ''"> |
| | |
| | | order by o.order_id, fc.process_id |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="exportWorkInProgressMpdataList2"> |
| | | select |
| | | a.process_id,a.teams_groups_name,a.next_process,b.technology_number,b.order_number |
| | | from pp.reporting_work as a |
| | | left join pp.reporting_work_detail as b on a.reporting_work_id=b.reporting_work_id |
| | | where position(#{process} in a.next_process) and a.next_process!='åå²' |
| | | GROUP BY a.reporting_work_id |
| | | </select> |
| | | </mapper> |
| | |
| | | </select> |
| | | |
| | | <select id="SelectWorkBasicTeamsMp"> |
| | | SELECT bdp.id,bdp.basic_type,bdp.basic_name, bd.basic_name as basic_category FROM sd.basic_data as bd left join `basic_data_produce` as bdp |
| | | on bd.id=bdp.basic_category |
| | | where bd.basic_category="process" and bdp.basic_type="teamsgroups" and bd.basic_name = #{process} |
| | | select * from erp_user_info.`user` WHERE address=#{process} |
| | | </select> |
| | | |
| | | <!-- æ¥è¯¢æµç¨å¡å·¥èºæµç¨--> |