From ec15c7eea3eee14ec784106f019c16f1ca9faf4a Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 08 七月 2025 16:27:43 +0800
Subject: [PATCH] 报工新增界面添加报工入库功能,在制品报表添加‘全部’工序查询,报工新增界面班组下拉框显示本工序所有班组

---
 north-glass-erp/northglass-erp/src/stores/sd/companySet/金华天成.js                          |    2 
 north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue           |   26 ++
 north-glass-erp/northglass-erp/src/lang/zh.js                                            |    3 
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java              |   22 +
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java                |    2 
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml                                |    8 
 north-glass-erp/northglass-erp/src/stores/sd/companySet/洛阳北玻.js                          |    2 
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java       |    8 
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue         |   15 +
 north-glass-erp/northglass-erp/src/stores/sd/companySet/新疆恒鑫.js                          |    2 
 north-glass-erp/northglass-erp/src/stores/sd/companySet/常州吉利.js                          |    2 
 north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java |    8 
 north-glass-erp/src/main/resources/mapper/pp/Report.xml                                  |  176 ++++++++++---------
 north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue                    |    7 
 north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue          |  193 +++++++++++++++++++++
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkMapper.java         |    2 
 north-glass-erp/northglass-erp/src/stores/sd/companySet/天津北玻.js                          |    2 
 north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml                           |    4 
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java            |    1 
 19 files changed, 382 insertions(+), 103 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/lang/zh.js b/north-glass-erp/northglass-erp/src/lang/zh.js
index 248c9da..2d8db87 100644
--- a/north-glass-erp/northglass-erp/src/lang/zh.js
+++ b/north-glass-erp/northglass-erp/src/lang/zh.js
@@ -533,6 +533,9 @@
             addReportingWork:"鎶ュ伐鏂板",
             qualityInspectionReview:"璐ㄦ瀹℃牳",
         },
+        msgMannerPacking:'璇烽�夋嫨鍖呰鏂瑰紡',
+        saveWorkStorage:'鎶ュ伐鍏ュ簱',
+        mannerPacking:'鍖呰鏂瑰紡',
         glassNumber:'缂栧彿',
         glassAddress:'鐗囨爣璁�',
         WorkReportingManagement:'鎶ュ伐绠$悊',
diff --git "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\244\251\346\264\245\345\214\227\347\216\273.js" "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\244\251\346\264\245\345\214\227\347\216\273.js"
index bb8b862..c272954 100644
--- "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\244\251\346\264\245\345\214\227\347\216\273.js"
+++ "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\244\251\346\264\245\345\214\227\347\216\273.js"
@@ -38,6 +38,8 @@
         printBtn:0,//鎵撳嵃鐣岄潰涓変釜鎸夐挳涓槸鍚︽樉绀烘爣绛炬墦鍗扮浉鍏虫寜閽紝0鏄剧ず锛�1鍏跺畠涓嶆樉绀�
         printNumber:true,//澶氶�夎鍗曟墦鍗版祦绋嬪崱鏄惁鏄剧ず鍙充笂瑙掑簭鍙蜂箟涔宖alse,鍏跺畠true
         materialOutboundColor:false,//搴撳瓨鏌ヨ鍏ュ簱瓒呰繃涓�瀹氭椂闂存敼鍙橀鑹诧紝娲涢槼true锛屽叾浠杅alse
+        storageBtn:false,//鏄惁鏄剧ず鎶ュ伐鍏ュ簱鐩稿叧鍐呭锛屾礇闃硉rue锛屽叾浠杅alse
+        teamsType:false,//鏄惁寮�鍚彮缁勪笅鎷夋锛屾礇闃硉rue锛屽叾浠杅alse
         //澶╂触
         printLabel: {
             custom: (item1) => {
diff --git "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\270\270\345\267\236\345\220\211\345\210\251.js" "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\270\270\345\267\236\345\220\211\345\210\251.js"
index 5e68fdd..bb721e7 100644
--- "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\270\270\345\267\236\345\220\211\345\210\251.js"
+++ "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\345\270\270\345\267\236\345\220\211\345\210\251.js"
@@ -38,6 +38,8 @@
         printBtn:0,//鎵撳嵃鐣岄潰涓変釜鎸夐挳涓槸鍚︽樉绀烘爣绛炬墦鍗扮浉鍏虫寜閽紝0鏄剧ず甯稿窞锛�1澶╂触鍏跺畠涓嶆樉绀�
         printNumber:true,//澶氶�夎鍗曟墦鍗版祦绋嬪崱鏄惁鏄剧ず鍙充笂瑙掑簭鍙蜂箟涔宖alse,鍏跺畠true
         materialOutboundColor:false,//搴撳瓨鏌ヨ鍏ュ簱瓒呰繃涓�瀹氭椂闂存敼鍙橀鑹诧紝娲涢槼true锛屽叾浠杅alse
+        storageBtn:false,//鏄惁鏄剧ず鎶ュ伐鍏ュ簱鐩稿叧鍐呭锛屾礇闃硉rue锛屽叾浠杅alse
+        teamsType:false,//鏄惁寮�鍚彮缁勪笅鎷夋锛屾礇闃硉rue锛屽叾浠杅alse
         //澶╂触
         printLabel: {
             custom: (item1) => {
diff --git "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\226\260\347\226\206\346\201\222\351\221\253.js" "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\226\260\347\226\206\346\201\222\351\221\253.js"
index c09762a..d37ce78 100644
--- "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\226\260\347\226\206\346\201\222\351\221\253.js"
+++ "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\226\260\347\226\206\346\201\222\351\221\253.js"
@@ -38,6 +38,8 @@
         printBtn:1,//鎵撳嵃鐣岄潰涓変釜鎸夐挳涓槸鍚︽樉绀烘爣绛炬墦鍗扮浉鍏虫寜閽紝0鏄剧ず甯稿窞锛�1澶╂触鍏跺畠涓嶆樉绀�
         printNumber:true,//澶氶�夎鍗曟墦鍗版祦绋嬪崱鏄惁鏄剧ず鍙充笂瑙掑簭鍙蜂箟涔宖alse,鍏跺畠true
         materialOutboundColor:false,//搴撳瓨鏌ヨ鍏ュ簱瓒呰繃涓�瀹氭椂闂存敼鍙橀鑹诧紝娲涢槼true锛屽叾浠杅alse
+        storageBtn:false,//鏄惁鏄剧ず鎶ュ伐鍏ュ簱鐩稿叧鍐呭锛屾礇闃硉rue锛屽叾浠杅alse
+        teamsType:false,//鏄惁寮�鍚彮缁勪笅鎷夋锛屾礇闃硉rue锛屽叾浠杅alse
         //澶╂触
         printLabel: {
             custom: (item1) => {
diff --git "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\264\233\351\230\263\345\214\227\347\216\273.js" "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\264\233\351\230\263\345\214\227\347\216\273.js"
index a3461eb..e51f9d2 100644
--- "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\264\233\351\230\263\345\214\227\347\216\273.js"
+++ "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\346\264\233\351\230\263\345\214\227\347\216\273.js"
@@ -39,6 +39,8 @@
         flowCardMerge: 0,//娴佺▼鍗″悎鐗囨墦鍗�
         printBtn:1,//鎵撳嵃鐣岄潰涓変釜鎸夐挳涓槸鍚︽樉绀烘爣绛炬墦鍗扮浉鍏虫寜閽紝0鏄剧ず甯稿窞锛�1澶╂触鍏跺畠涓嶆樉绀�
         materialOutboundColor:true,//搴撳瓨鏌ヨ鍏ュ簱瓒呰繃涓�瀹氭椂闂存敼鍙橀鑹诧紝娲涢槼true锛屽叾浠杅alse
+        storageBtn:true,//鏄惁鏄剧ず鎶ュ伐鍏ュ簱鐩稿叧鍐呭锛屾礇闃硉rue锛屽叾浠杅alse
+        teamsType:true,//鏄惁寮�鍚彮缁勪笅鎷夋锛屾礇闃硉rue锛屽叾浠杅alse
         //澶╂触
         printLabel: {
             custom: (item1) => {
diff --git "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\351\207\221\345\215\216\345\244\251\346\210\220.js" "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\351\207\221\345\215\216\345\244\251\346\210\220.js"
index 2b40b2f..da524fe 100644
--- "a/north-glass-erp/northglass-erp/src/stores/sd/companySet/\351\207\221\345\215\216\345\244\251\346\210\220.js"
+++ "b/north-glass-erp/northglass-erp/src/stores/sd/companySet/\351\207\221\345\215\216\345\244\251\346\210\220.js"
@@ -40,6 +40,8 @@
         printBtn:1,//鎵撳嵃鐣岄潰涓変釜鎸夐挳涓槸鍚︽樉绀烘爣绛炬墦鍗扮浉鍏虫寜閽紝0鏄剧ず甯稿窞锛�1澶╂触鍏跺畠涓嶆樉绀�
         printNumber:true,//澶氶�夎鍗曟墦鍗版祦绋嬪崱鏄惁鏄剧ず鍙充笂瑙掑簭鍙蜂箟涔宖alse,鍏跺畠true
         materialOutboundColor:false,//搴撳瓨鏌ヨ鍏ュ簱瓒呰繃涓�瀹氭椂闂存敼鍙橀鑹诧紝娲涢槼true锛屽叾浠杅alse
+        storageBtn:false,//鏄惁鏄剧ず鎶ュ伐鍏ュ簱鐩稿叧鍐呭锛屾礇闃硉rue锛屽叾浠杅alse
+        teamsType:false,//鏄惁寮�鍚彮缁勪笅鎷夋锛屾礇闃硉rue锛屽叾浠杅alse
         //澶╂触
         printLabel: {
             custom: (item1) => {
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
index efa5037..6957b8b 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
@@ -223,6 +223,7 @@
   hiprintTemplate.value.print(object)
 
 }
+const orderOtherMoney = ref(null)
 
 const {currentRoute} = useRouter()
 const route = currentRoute.value
@@ -241,7 +242,21 @@
         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
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue b/north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue
index 4fd17fe..f2aad7d 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue
@@ -96,6 +96,7 @@
   })
 }
 
+const orderOtherMoney = ref(null)
 //鐐瑰嚮鏌ヨ
 const getWorkOrder = () => {
   let inputVal = form.orderId
@@ -108,6 +109,21 @@
       // 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 {
@@ -189,7 +205,7 @@
     {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
     },
@@ -217,8 +233,12 @@
       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')},
diff --git a/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue b/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
index 0fcb8df..9fa23be 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
@@ -89,6 +89,12 @@
   dataTotal: 0,
   pageSize: 100
 })
+let newItem= ref({
+  basic_name: '鍏ㄩ儴',
+  basic_type: 'product',
+  basic_category: 'process',
+  id: "001"
+})
 //瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
 const titleSelectJson = ref({
   processType: [],
@@ -108,6 +114,7 @@
     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 {
diff --git a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
index 562ef90..8258712 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -55,6 +55,8 @@
   classes: '',
   //璐d换宸ュ簭
   responsibleProcess: '',
+  //鍖呰鏂瑰紡
+  packagingMethod:'',
   order: {
     //瀹㈡埛缂栧彿
     customerId: '',
@@ -90,6 +92,39 @@
 
 })
 
+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)
@@ -104,6 +139,7 @@
           && titleUploadData.value.thisProcess!=null){
         getWork()
         getQuantity()
+
       }
     }
   }
@@ -397,6 +433,7 @@
       // {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,
@@ -473,6 +510,46 @@
           // })
 
           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')
+
         }
       }
     }
@@ -816,6 +893,7 @@
 //绗竴娆″姞杞芥暟鎹�
 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
@@ -907,7 +985,8 @@
       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) => {
@@ -943,6 +1022,10 @@
   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)
@@ -1127,7 +1210,10 @@
       //璁惧涓嬫媺妗�
       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
       //鍘嗗彶鐝粍
@@ -1360,6 +1446,88 @@
   }
 })
 
+
+//鎶ュ伐鍏ュ簱鏂规硶
+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>
@@ -1384,6 +1552,23 @@
       &nbsp;
       <el-button :disabled="disabledFlag" :loading="loadingFlag" @click="reviewReportingWork" type="primary">{{$t('reportingWorks.passAudit')}}
       </el-button>
+      &nbsp;
+      <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>&nbsp;
+        <el-input style="width: 100px" v-model="container" class="m-2" :placeholder="$t('productStock.pleaseEnterTheBoxNumber')">
+      </el-input>&nbsp;
+        <el-input style="width: 100px" v-model="storageRegion" class="m-2" :placeholder="$t('productStock.pleaseEnterTheStorageLocation')">
+      </el-input>&nbsp;
+        <el-input style="width: 200px" v-model="remark" class="m-2" :placeholder="$t('productStock.pleaseEnterANote')">
+        </el-input>
+      </span>
 <!--      <el-button type="primary">瀹℃牳涓嶉�氳繃</el-button>-->
       &nbsp;
       <label>{{technologicalProcess}}</label>
@@ -1477,8 +1662,8 @@
             <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>
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java
index 8b732fc..82753a8 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ReportingWorkController.java
@@ -83,6 +83,7 @@
             @RequestBody ReportingWork reportingWork){
         return Result.seccess(reportingWorkService.selectReportingWorkSv(pageNum,pageSize,selectTime1,selectTime2,orderId,reportingWork));
 
+
     }
 
     @ApiOperation("鍒犻櫎鎶ュ伐鎺ュ彛")
@@ -182,4 +183,11 @@
         return Result.seccess(reportingWorkService.selectReportingWorkRecordByPhoneSv(selectPam));
     }
 
+    @ApiOperation("鎶ュ伐鍏ュ簱鎺ュ彛")
+    @PostMapping("/saveWorkStorage")
+    public Result saveWorkStorage( @RequestBody Map<String,Object>  object){
+        return Result.seccess(reportingWorkService.saveWorkStorage(object));
+
+    }
+
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java
index 6a19c48..659d3e6 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportMapper.java
@@ -106,6 +106,8 @@
 
     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,
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkMapper.java
index 45f14aa..38fdee8 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkMapper.java
@@ -16,7 +16,7 @@
 
     List<BasicDataProduce> SelectWorkBasicDeviceMp(String process);
 
-    List<BasicDataProduce> SelectWorkBasicTeamsMp(String process);
+    List<Map<String,String>> SelectWorkBasicTeamsMp(String process);
 
     String SelectTechnologicalProcess(String processIdStr, String technologyStr);
 
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
index 66ebae3..f009e7d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -845,6 +845,7 @@
             }
         }
         map.put("data", list);
+        map.put("orderOtherMoney", flowCardMapper.selectorderOtherMoney());
         map.put("type", flowCardMapper.selectType());
         return map;
     }
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
index 62599e4..55e4d39 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
@@ -6,6 +6,7 @@
 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;
@@ -29,6 +30,8 @@
 
     private final OrderProcessDetailMapper orderProcessDetailMapper;
     private final ProductionSchedulingMapper productionSchedulingMapper;
+
+    FlowCardMapper flowCardMapper;
 
 
     private void mergeTeamsGroupsName(
@@ -59,10 +62,11 @@
     }
 
 
-    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;
     }
 
     //娴佺▼鍗¤繘搴︽柟娉�
@@ -173,10 +177,11 @@
         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));
@@ -237,6 +242,7 @@
     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;
     }
 
@@ -417,7 +423,6 @@
         if (dates != null && dates.size() > 1) {
             dates.set(1, dates.get(1).plusDays(1)); // 灏嗙浜屼釜鏃ユ湡鍔犱竴澶�
         }
-        System.out.println(dates);
         return reportMapper.exportDamageReportMp(dates);
     }
 
@@ -441,6 +446,9 @@
 
     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)) {
@@ -449,7 +457,11 @@
         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) {
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
index 056be22..090c13d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -17,11 +17,13 @@
 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;
@@ -70,6 +72,7 @@
     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) {
@@ -1201,4 +1204,9 @@
     }
 
 
+    public String saveWorkStorage(Map<String, Object> object) {
+        //List<Map<String, Object>> flowCard = reportingWorkMapper.getStorageData();
+        //finishedGoodsInventoryService.addSelectWarehousing(object);
+        return null;
+    }
 }
diff --git a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
index 06a0339..8c32341 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -2422,7 +2422,13 @@
                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
diff --git a/north-glass-erp/src/main/resources/mapper/pp/Report.xml b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
index d07197b..43a4af5 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -698,16 +698,20 @@
                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">
@@ -1003,7 +1007,9 @@
                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
@@ -1113,7 +1119,7 @@
     </select>
 
     <select id="exportWorkInProgressMp">
-        select #{process}                                             as thisProcess,
+        select if(#{process}='',odpd.process,#{process}) as thisProcess,
                fc.process_id,
                o.customer_name,
                o.project,
@@ -1133,8 +1139,7 @@
                       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
@@ -1162,7 +1167,8 @@
                        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
@@ -1170,22 +1176,14 @@
                  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>
 
@@ -1933,67 +1931,58 @@
     </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 != ''">
@@ -2011,6 +2000,9 @@
         <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">
@@ -2174,7 +2166,7 @@
     </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,
@@ -2225,7 +2217,8 @@
                        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
@@ -2235,8 +2228,8 @@
                            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 != ''">
@@ -2263,7 +2256,7 @@
         <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>
@@ -2273,12 +2266,12 @@
             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,
@@ -2318,7 +2311,8 @@
         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
@@ -2328,8 +2322,8 @@
         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 != ''">
@@ -2350,7 +2344,7 @@
     </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,
@@ -2391,7 +2385,8 @@
         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
@@ -2401,8 +2396,8 @@
         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 != ''">
@@ -2424,4 +2419,13 @@
         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>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml b/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
index d529328..10a06e5 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -102,9 +102,7 @@
     </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>
 
     <!--    鏌ヨ娴佺▼鍗″伐鑹烘祦绋�-->

--
Gitblit v1.8.0