From e6bf567a863fb8a6bc7b776ac938825111c9ab52 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期一, 14 十月 2024 08:54:07 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue                  |    8 
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi2.vue  |  111 +++++++++++----
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue             |   56 +++++---
 north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue     |   28 +++
 north-glass-erp/northglass-erp/src/lang/zh.js                                      |    2 
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml                          |   10 
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java |   56 +++++--
 north-glass-erp/src/main/resources/mapper/pp/Report.xml                            |   13 +
 north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue              |    2 
 north-glass-erp/src/main/java/com/example/erp/dto/pp/WorkInProgressDTO.java        |    2 
 north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue    |    4 
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkMapper.java   |    2 
 north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml                     |   86 ++++++++++++
 13 files changed, 295 insertions(+), 85 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue b/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
index aec6100..352bf7c 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -379,10 +379,10 @@
              <span v-if="!(itemremark.S02==null&&itemremark.S03==null&&itemremark.S04==null&&itemremark.S05==null)">
                缂栧彿锛歿{itemremark.S01}}
              </span>&nbsp;&nbsp;
-              <span v-if="itemremark.S02!=null">澶囨敞1锛歿{itemremark.S02}}</span>&nbsp;&nbsp;
-              <span v-if="itemremark.S03!=null">澶囨敞2锛歿{itemremark.S03}}</span>&nbsp;&nbsp;
-              <span v-if="itemremark.S04!=null">澶囨敞3锛歿{itemremark.S04}}</span>&nbsp;&nbsp;
-              <span v-if="itemremark.S05!=null">澶囨敞4锛歿{itemremark.S05}}</span>
+              <span v-if="itemremark.S02!=null&&itemremark.S02!=''">澶囨敞1锛歿{itemremark.S02}}</span>&nbsp;&nbsp;
+              <span v-if="itemremark.S03!=null&&itemremark.S03!=''">澶囨敞2锛歿{itemremark.S03}}</span>&nbsp;&nbsp;
+              <span v-if="itemremark.S04!=null&&itemremark.S04!=''">澶囨敞3锛歿{itemremark.S04}}</span>&nbsp;&nbsp;
+              <span v-if="itemremark.S05!=null&&itemremark.S05!=''">澶囨敞4锛歿{itemremark.S05}}</span>
             </div>
           </div>
         </td>
diff --git a/north-glass-erp/northglass-erp/src/lang/zh.js b/north-glass-erp/northglass-erp/src/lang/zh.js
index d96e7a8..153764e 100644
--- a/north-glass-erp/northglass-erp/src/lang/zh.js
+++ b/north-glass-erp/northglass-erp/src/lang/zh.js
@@ -543,7 +543,7 @@
         qualityInsTime:'璐ㄦ鏃堕棿',
         completedArea:'瀹屽伐闈㈢Н',
         wornArea:'娆$牬闈㈢Н',
-        pleaseGreaterThanOrEqual1:'璇疯緭鍏ュぇ浜庣瓑浜�',
+        pleaseGreaterThanOrEqual1:'璇疯緭鍏ュ皬浜庣瓑浜�',
         pleaseGreaterThanOrEqual2:'鐨勬暟瀛�',
         lossCount1:'鎹熻�楁暟',
         lossCount2:'涓嶈兘澶т簬',
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi2.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi2.vue
index 42f9b7a..21a7f1d 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi2.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintCustomLabelSemi2.vue
@@ -19,6 +19,8 @@
 let dataList = ref([])
 let list = ref([])
 let lastList=ref([])
+let projectNo = ref([])
+let type = ref([])
 
 let filterData = ref({})
 
@@ -27,53 +29,68 @@
 })
 
 
+
 const {currentRoute} = useRouter()
 const route = currentRoute.value
-data.value.printList = JSON.parse(route.query.printList)
-const type = route.query.type
 const faceOrientation = route.query.faceOrientation
 const lableType = route.query.lableType
 const printType=route.query.printType
+projectNo.value = route.query.projectNo
+type.value = route.query.type
 
 onMounted(() => {
-  if (printType == 1) {
-    request.post(`/processCard/getSelectPrintLabel1`, data.value).then((res) => {
+  if(projectNo.value!=null){
+    request.post(`/processCard/getSelectPrintLabel/${projectNo.value}/${type.value}`).then((res) => {
       if (res.code == 200) {
-        produceList.value = deepClone(res.data.data)
-        for (let i = 0; i < produceList.value.length; i++) {
-          let count = produceList.value[i].data.length
-          for (let j = 0; j < count; j++) {
-            for (let k = 0; k < produceList.value[i].data[j].quantity; k++) {
-              labelList.value.push(produceList.value[i].data[j])
-            }
-
-          }
-        }
+        labelList.value = deepClone(res.data.data)
       } else {
         ElMessage.warning(res.msg)
         router.push("/login")
       }
     })
 
-  }else if(printType==2){
-    request.post(`/processCard/getSelectPrintLabelDetails`, data.value).then((res) => {
-      if (res.code == 200) {
-        produceList.value = deepClone(res.data.data)
-        for (let i = 0; i < produceList.value.length; i++) {
-          let count = produceList.value[i].data.length
-          for (let j = 0; j < count; j++) {
-            for (let k = 0; k < produceList.value[i].data[j].quantity; k++) {
-              labelList.value.push(produceList.value[i].data[j])
-            }
+  }else{
+    data.value.printList = JSON.parse(route.query.printList)
+    if (printType == 1) {
+      request.post(`/processCard/getSelectPrintLabel1`, data.value).then((res) => {
+        if (res.code == 200) {
+          produceList.value = deepClone(res.data.data)
+          for (let i = 0; i < produceList.value.length; i++) {
+            let count = produceList.value[i].data.length
+            for (let j = 0; j < count; j++) {
+              for (let k = 0; k < produceList.value[i].data[j].quantity; k++) {
+                labelList.value.push(produceList.value[i].data[j])
+              }
 
+            }
           }
+        } else {
+          ElMessage.warning(res.msg)
+          router.push("/login")
         }
-      } else {
-        ElMessage.warning(res.msg)
-        router.push("/login")
-      }
-    })
+      })
+
+    }else if(printType==2){
+      request.post(`/processCard/getSelectPrintLabelDetails`, data.value).then((res) => {
+        if (res.code == 200) {
+          produceList.value = deepClone(res.data.data)
+          for (let i = 0; i < produceList.value.length; i++) {
+            let count = produceList.value[i].data.length
+            for (let j = 0; j < count; j++) {
+              for (let k = 0; k < produceList.value[i].data[j].quantity; k++) {
+                labelList.value.push(produceList.value[i].data[j])
+              }
+
+            }
+          }
+        } else {
+          ElMessage.warning(res.msg)
+          router.push("/login")
+        }
+      })
+    }
   }
+
 
 })
 
@@ -125,14 +142,29 @@
   <div id="printFlowCard" >
     <template v-for="(item,id) in labelList">
     <div id="entirety" >
-      <div class="row1">
+
+      <div class="row1" v-if="item.heat_layout_id!=null">
+        <div class="cell" v-if="item.heat_layout_id!=null">{{ item.heat_layout_id }}/{{ item.heat_layout_sort }}</div>
         <span>{{ item.customer_name }}</span>&nbsp;
         <span>{{ item.order_id }}</span>&nbsp;
         <span v-if="item.process.includes('澶硅兌')">鑳剁墖</span>
         <span v-else-if="item.process.includes('涓┖')">涓┖</span>
         <span v-else-if="item.process.includes('鐧惧彾')">鐧惧彾</span>
         <span v-else></span>
+        <div class="cell1" v-if="item.stock_id!=null">{{ item.stock_id }}</div>
       </div>
+      <div class="row6" v-else>
+        <div class="cell" v-if="item.heat_layout_id!=null">{{ item.heat_layout_id }}/{{ item.heat_layout_sort }}</div>
+        <span>{{ item.customer_name }}</span>&nbsp;
+        <span>{{ item.order_id }}</span>&nbsp;
+        <span v-if="item.process.includes('澶硅兌')">鑳剁墖</span>
+        <span v-else-if="item.process.includes('涓┖')">涓┖</span>
+        <span v-else-if="item.process.includes('鐧惧彾')">鐧惧彾</span>
+        <span v-else></span>
+        <div class="cell1" v-if="item.stock_id!=null">{{ item.stock_id }}</div>
+      </div>
+
+
       <div class="row2">
         <span>{{item.project}}</span>&nbsp;
         <span>{{ item.building_number }}</span>
@@ -183,7 +215,7 @@
   height: 35px;
 }
 .row1 span {
-  font-size: 17pt;
+  font-size: 14pt;
 }
 .row2 {
   font-size: 12pt;
@@ -223,6 +255,23 @@
   font-weight: bold;
   font-size: 10pt;
 }
+.row6 span {
+  font-size: 17pt;
+}
+
+.cell{
+  position: absolute;
+  font-weight: bold;
+  margin-left: 5px;
+  margin-top: 0px;
+}
+
+.cell1{
+  position: absolute;
+  font-weight: bold;
+  margin-left: 225px;
+  margin-top: -30px;
+}
 
 
 
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue
index 48bceb2..3dd92c3 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue
@@ -28,6 +28,8 @@
 projectNo.value = route.query.projectNo
 type.value = route.query.type
 
+
+
 onMounted(() => {
   if(projectNo.value!=null){
     request.post(`/processCard/getSelectPrintLabel/${projectNo.value}/${type.value}`).then((res) => {
@@ -155,30 +157,38 @@
       </div>
     </div>-->
     <div id="entirety" v-for="(item,id) in labelList" >
-        <div class="row1">
+      <div class="row1" v-if="item.heat_layout_id!=null">
 
-          <div class="cell" v-if="item.heat_layout_id!=null">{{ item.heat_layout_id }}/{{ item.heat_layout_sort }}</div>
-          <span>{{ item.customer_name }}</span>&nbsp;
-          <span>{{ item.order_id }}</span>&nbsp;
-          <span v-if="item.process.includes('澶硅兌')">鑳剁墖</span>
-          <span v-else-if="item.process.includes('涓┖')">涓┖</span>
-          <span v-else-if="item.process.includes('鐧惧彾')">鐧惧彾</span>
-          <span v-else></span>
-          <div class="cell1" v-if="item.stock_id!=null">{{ item.stock_id }}</div>
+        <div class="cell" v-if="item.heat_layout_id!=null">{{ item.heat_layout_id }}/{{ item.heat_layout_sort }}</div>
+        <span>{{ item.customer_name }}</span>&nbsp;
+        <span>{{ item.order_id }}</span>&nbsp;
+        <span v-if="item.process.includes('澶硅兌')">鑳剁墖</span>
+        <span v-else-if="item.process.includes('涓┖')">涓┖</span>
+        <span v-else-if="item.process.includes('鐧惧彾')">鐧惧彾</span>
+        <span v-else></span>
+        <div class="cell1" v-if="item.stock_id!=null">{{ item.stock_id }}</div>
 
-        </div>
+      </div>
+      <div class="row2" v-else>
+        <span>{{ item.customer_name }}</span>&nbsp;
+        <span>{{ item.order_id }}</span>&nbsp;
+        <span v-if="item.process.includes('澶硅兌')">鑳剁墖</span>
+        <span v-else-if="item.process.includes('涓┖')">涓┖</span>
+        <span v-else-if="item.process.includes('鐧惧彾')">鐧惧彾</span>
+        <span v-else></span>
+      </div>
 
-        <div class="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)">{{JSON.parse(item.other_columns).S02}}={{item.quantity}}</div>
-        <div class="row3" v-else>{{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}}</div>
-        <div class="row5">
-          <span>{{item.project}}</span>&nbsp;
-          <span>{{ item.building_number }}</span>
-          <span v-if="item.bend_radius!=null">R={{item.bend_radius}}</span>
-        </div>
-        <div class="row6">
-          <span>{{item.glass_child}}</span>&nbsp;
-          <span>{{item.processing_note}}</span>
-        </div>
+      <div class="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)">{{JSON.parse(item.other_columns).S02}}={{item.quantity}}</div>
+      <div class="row3" v-else>{{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}}</div>
+      <div class="row5">
+        <span>{{item.project}}</span>&nbsp;
+        <span>{{ item.building_number }}</span>
+        <span v-if="item.bend_radius!=null">R={{item.bend_radius}}</span>
+      </div>
+      <div class="row6">
+        <span>{{item.glass_child}}</span>&nbsp;
+        <span>{{item.processing_note}}</span>
+      </div>
     </div>
   </div>
 
@@ -218,6 +228,10 @@
   height: 20px;
 }
 .row1 span {
+  font-size: 10pt;
+  font-weight: bold;
+}
+.row2 span {
   font-size: 12pt;
   font-weight: bold;
 }
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue
index bde9919..dccf874 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue
@@ -12,6 +12,7 @@
 import PrintCustomLabelXJTwo from '@/components/pp/PrintCustomLabelXJTwo.vue'
 import {Printer} from "@element-plus/icons-vue/global";
 import companyInfo from "@/stores/sd/companyInfo"
+import {remove} from "xe-utils";
 //璇█鑾峰彇
 const {t} = useI18n()
 
@@ -24,6 +25,7 @@
 //瀹氫箟鏁版嵁杩斿洖缁撴灉
 let produceList = ref([])
 let titleStyleVisible = ref(false)
+let print = ref("1")
 
 //鏍囩
 let labelRow = ref({
@@ -45,7 +47,12 @@
 const getTableRow = (row, type) => {
   switch (type) {
     case 'edit' :{
-      router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:1 }})
+      if(parseInt(print.value)==1){
+        router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:1 }})
+      }else{
+        router.push({path: '/main/processCard/PrintCustomLabelSemi2', query: { projectNo: row.project_no,type:1 }})
+      }
+
       break
     }
     case 'edit1' :{
@@ -100,6 +107,8 @@
 
   if (res.code == 200) {
     if(hidePrintLabels=="true"){
+      //鍒犻櫎涓嬫媺妗�
+      remove(gridOptions.toolbarConfig.slots)
       const button = {'code': 'printLabel',
         status: 'primary',
         'name': "鎴愬搧鎵撳嵃2"}
@@ -109,6 +118,7 @@
         status: 'primary',
         'name': "鏄庣粏鎵撳嵃"}
       gridOptions.toolbarConfig.buttons.push(button2)
+
     }
     produceList.value = deepClone(res.data.data)
     xGrid.value.reloadData(produceList.value)
@@ -197,7 +207,9 @@
   toolbarConfig: {
     buttons: [
     ],
-
+    slots:{
+      buttons: "toolbar_buttons"
+    },
     zoom: true,
     custom: true
   },
@@ -264,6 +276,7 @@
   id: 'childLabel',
 })
 
+
 </script>
 
 <template>
@@ -321,6 +334,15 @@
         </div>
       </template>
 
+      <template #toolbar_buttons>
+        <vxe-select @change="changeOrderType" v-model="print" >
+          <vxe-option value="1" label="EPSON LQ-82KF ESC/P2"></vxe-option>
+          <vxe-option value="2" label="TSC TTP-244Pro"></vxe-option>
+        </vxe-select>
+      </template>
+
+
+
 
     </vxe-grid>
     <el-dialog
@@ -352,6 +374,8 @@
   </div>
 </template>
 
+
+
 <style scoped>
 .main-div-customer {
   width: 99%;
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 a367341..f121f3d 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
@@ -295,6 +295,8 @@
       slots: {filter: 'num1_filter'},
       visible: true
     },
+    {field: 'glassNumber', width: 110,title: t('reportingWorks.glassNumber'),showOverflow:"ellipsis",filters: [{data: ''}],
+      slots: {filter: 'num1_filter'}},
     {field: 'orderNumber', width: 100, title: t('order.OrderNum'),visible: true},
     {field: 'technologyNumber', width: 120, title: t('processCard.technologyNumber'),filters: [{data: ''}],
       slots: {filter: 'num1_filter'}, showOverflow: "ellipsis",visible: true},
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 c4c6653..e5fcb9f 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
@@ -358,7 +358,9 @@
           }else  if(row.quantity_card<row.completedQuantity){
             return new Error("瀹屽伐鏁颁笉鑳藉ぇ浜庢祦绋嬪崱鏁伴噺")
           }
-          if(titleUploadData.value.reportingWorkId!=null  && row.completedQuantity<row.minQuantity){
+          const completedNum =
+              (row.completedQuantity === undefined || row.completedQuantity===null || row.completedQuantity==='') ? 0 : row.completedQuantity
+          if(titleUploadData.value.reportingWorkId!=null  && completedNum>row.minQuantity){
             return new Error(`${t('reportingWorks.pleaseGreaterThanOrEqual1')}
             ${row.minQuantity}
             ${t('reportingWorks.pleaseGreaterThanOrEqual2')}`)
diff --git a/north-glass-erp/src/main/java/com/example/erp/dto/pp/WorkInProgressDTO.java b/north-glass-erp/src/main/java/com/example/erp/dto/pp/WorkInProgressDTO.java
index 554684c..6992587 100644
--- a/north-glass-erp/src/main/java/com/example/erp/dto/pp/WorkInProgressDTO.java
+++ b/north-glass-erp/src/main/java/com/example/erp/dto/pp/WorkInProgressDTO.java
@@ -39,4 +39,6 @@
     private String productName;
     @ExcelProperty("寮挗鍗婂緞")
     private String bendRadius;
+    @ExcelProperty("缂栧彿")
+    private String glassNumber;
 }
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 5b8ff8f..a7685d5 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
@@ -94,4 +94,6 @@
     List<Map<String,String>> getSelectProcessJiajiao();
 
     List<Map<String,String>> getSelectProcessDuoqu();
+
+    List<Map<String, String>> SelectReworlDetailMpReview(String processIdStr, String technologyStr, String process, String previousProcess);
 }
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 924c8ed..6ada14e 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
@@ -138,24 +138,48 @@
                 //鏄涓�閬撳伐搴忥紝鏌ヨ娴佺▼鍗℃暟鎹�
                 map.put("Detail", reportingWorkMapper.SelectTechnologicalNumMp(processIdStr, technologyStr, process,reportType));
             } else {
-                //涓嶆槸绗竴閬撳伐搴忥紝鏌ヨ鎶ュ伐鏁版嵁
-                List<Map<String,String>>  details = reportingWorkMapper.SelectReworlDetailMp(processIdStr, technologyStr, process,previousProcess);
-                if(process.equals("涓┖")){
-                    String orderId = processIdStr.substring(0,10);
-                    details.forEach( detail -> {
-                        Integer glassId = orderGlassDetailMapper.
-                                getMinIdByGroup(orderId,
-                                        String.valueOf(detail.get("order_number")),
-                                        String.valueOf(detail.get("group")));
-                        int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId")));
-                        if(listGlassId  !=glassId){
-                            detail.put("rowClass","latter");
+                ReportingWork retrievedData = (ReportingWork) map.get("data");
+                if (retrievedData!=null){
+                    Integer reviewedState = retrievedData.getReviewedState();
+                    //鏍规嵁瀹℃牳鐘舵�佹煡璇㈡湭瀹℃牳鏁版嵁
+                    if (reviewedState==1){//宸插鏍�
+                        //涓嶆槸绗竴閬撳伐搴忥紝鏌ヨ鎶ュ伐鏁版嵁
+                        List<Map<String,String>>  details = reportingWorkMapper.SelectReworlDetailMp(processIdStr, technologyStr, process,previousProcess);
+                        if(process.equals("涓┖")){
+                            String orderId = processIdStr.substring(0,10);
+                            details.forEach( detail -> {
+                                Integer glassId = orderGlassDetailMapper.
+                                        getMinIdByGroup(orderId,
+                                                String.valueOf(detail.get("order_number")),
+                                                String.valueOf(detail.get("group")));
+                                int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId")));
+                                if(listGlassId  !=glassId){
+                                    detail.put("rowClass","latter");
+                                }
+                            });
                         }
-                    });
+                        map.put("Detail",details );
+                    }else {
+                        //涓嶆槸绗竴閬撳伐搴忥紝鏌ヨ鎶ュ伐鏁版嵁
+                        List<Map<String,String>>  details = reportingWorkMapper.SelectReworlDetailMpReview(processIdStr, technologyStr, process,previousProcess);
+                        if(process.equals("涓┖")){
+                            String orderId = processIdStr.substring(0,10);
+                            details.forEach( detail -> {
+                                Integer glassId = orderGlassDetailMapper.
+                                        getMinIdByGroup(orderId,
+                                                String.valueOf(detail.get("order_number")),
+                                                String.valueOf(detail.get("group")));
+                                int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId")));
+                                if(listGlassId  !=glassId){
+                                    detail.put("rowClass","latter");
+                                }
+                            });
+                        }
+
+
+                        map.put("Detail",details );
+                    }
                 }
-
-
-                map.put("Detail",details );
             }
 
             // 绗竴閬撳伐搴忥紙娴佺▼鍗℃暟+琛ョ墖鏁伴噺-瀹屽伐鏁�-娆$牬鏁�-杩斿伐鏈畬鎴愭暟-绂佺敤鏁伴噺锛�
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 1aece63..90aec72 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -2226,11 +2226,11 @@
 
     <select id="remakList">
         SELECT
-            JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S01')) AS S01,
-            JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S04')) AS S02,
-            JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S05')) AS S03,
-            JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S06')) AS S04,
-            JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S07')) AS S05
+            ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S01')),'') AS S01,
+            ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S04')),'') AS S02,
+            ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S05')),'') AS S03,
+            ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S06')),'') AS S04,
+            ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S07')),'') AS S05
         FROM flow_card as fc left join sd.order_detail as od on  fc.order_id = od.order_id
         and fc.order_number = od.order_number
         WHERE fc.process_id=#{processId}
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 46b388b..230db3c 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/Report.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -151,6 +151,7 @@
         <result column="stockArea" property="stockArea"/>
         <result column="product_name" property="productName"/>
         <result column="bend_radius" property="bendRadius"/>
+        <result column="glassNumber" property="glassNumber"/>
     </resultMap>
 
     <!--    娴佺▼鍗¤繘搴�-->
@@ -168,7 +169,7 @@
                ifnull(f.inventory, 0)                         as inventory,
                round(ifnull(f.inventory, 0) * a.area, 2)      as inventoryArea,
                ifnull(dd.quantity, 0)                         as shippedQuantity,
-               JSON_UNQUOTE(JSON_EXTRACT(a.other_columns, '$.S01')) AS glassNumber
+               ifnull(JSON_UNQUOTE(JSON_EXTRACT(a.other_columns, '$.S01')),'') AS glassNumber
         from flow_card as c
                  left join
              sd.order_detail as a
@@ -335,7 +336,8 @@
         (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
         odpd.broken_num) / 1000000, 2) as stockArea,
         od.product_name,
-        od.bend_radius
+        od.bend_radius,
+        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
@@ -397,6 +399,9 @@
         </if>
         <if test="workInProgressDTO.technologyNumber != null and workInProgressDTO.technologyNumber != ''">
             and ogd.technology_number regexp #{workInProgressDTO.technologyNumber}
+        </if>
+        <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
         order by fc.process_id, fc.order_number, fc.technology_number
@@ -539,7 +544,7 @@
         round( ogd.child_width * ogd.child_height * dd.breakage_quantity / 1000000, 2 ) as area,
         IFNULL(dd.responsible_personnel,'') as personnel,
         ogd.glass_child,
-        JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber
+        ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber
         FROM
         sd.ORDER AS o
         LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
@@ -748,7 +753,7 @@
                round(ifnull(f.inventory, 0) * a.area, 2)            as inventoryArea,
                ifnull(dd.quantity, 0)                               as shippedQuantity,
                ifnull(dd.area, 0)                                   as area,
-               JSON_UNQUOTE(JSON_EXTRACT(a.other_columns, '$.S01')) AS glassNumber
+               ifnull(JSON_UNQUOTE(JSON_EXTRACT(a.other_columns, '$.S01')),'') AS glassNumber
 
         from flow_card as c
                  left join
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 7f8fbb5..720263d 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -914,4 +914,90 @@
                           WHERE basic_type='product' AND basic_category='process' AND basic_name='閽㈠寲'
                       ) AS combined_results;
     </select>
+
+    <select id="SelectReworlDetailMpReview">
+        SELECT
+        fc.order_number,
+        ogd.glass_child,
+        ogd.technology_number,
+        ogd.glass_address,
+        fc.quantity AS quantity_card,
+        ogd.child_width,
+        ogd.child_height,
+        if(od.shape=1,'鏅舰',if(od.shape=2,'寮傚舰','')) as shape,
+        if((odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num ) &lt; 0,
+        0,
+        odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) as quantity,
+        if((odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) &lt; 0,
+        0,
+        odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) as completedQuantity,
+        odpd.reporting_work_num as completed,
+        odpd.broken_num as onceBroken,
+        ogd.`group`,
+        if(fc.quantity -odpd.reporting_work_num = 0 ,true,false) as saveFlag, -- 鍒ゆ柇鏄惁宸茬粡瀹屾垚锛屽凡缁忓畬鎴愪笉搴忓彿鍜屽悓搴忓彿鏁伴噺鐩稿悓鎵嶈兘鎻愪氦
+        od.other_columns,
+        ogd.id as 'glassId'
+        ,rws.reviewed_state
+        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
+        <if test="process == '澶硅兌' or (process == '鎵撹兌鍜岀矘妗�' and previousProcess=='澶硅兌')">
+            AND ogd.`group` = (select `group`
+            from sd.order_glass_detail
+            where order_id = ogd.order_id
+            and order_number = ogd.order_number
+            and POSITION(technology_number in #{technologyStr})
+            limit 1)
+        </if>
+
+
+        LEFT JOIN flow_card AS fc
+        ON fc.order_id = ogd.order_id
+        and fc.production_id=ogd.production_id
+        AND fc.order_number = ogd.order_number
+        AND fc.technology_number = ogd.technology_number
+        left join sd.order_process_detail as odpd
+        ON  odpd.order_id = fc.order_id
+        AND odpd.order_number = fc.order_number
+        AND odpd.technology_number = fc.technology_number
+        and odpd.process_id = fc.process_id
+        left join sd.order_process_detail as odpds
+        ON  odpds.id = odpd.id-1
+        left join
+        (SELECT
+        sum(rw.rework_num) as 'patchNumSum',
+        rw.process_id,rw.order_sort,rw.technology_number,
+        rwk.this_process
+        from
+        rework as rw
+        LEFT JOIN
+        reporting_work as rwk
+        on rw.reporting_work_id =rwk.reporting_work_id
+        where rwk.this_process=#{process}
+        and rw.review_status=0
+        and rw.process_id = #{processIdStr}
+        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 (select reviewed_state as reviewed_state ,
+        process_id,a.reporting_work_id,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
+        where this_process=#{previousProcess} and reviewed_state=0 and process_id= #{processIdStr}
+        and  POSITION(b.technology_number in #{technologyStr})
+        GROUP BY a.reporting_work_id,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
+        WHERE
+        fc.process_id = #{processIdStr}
+        <if test="process != '涓┖' and process != '澶硅兌' and process != '鍖呰' and process != '鎵撹兌鍜岀矘妗�' ">
+            AND POSITION(fc.technology_number in #{technologyStr})
+        </if>
+        AND odpd.process = #{process}
+        and rws.reviewed_state=0
+        order by fc.order_number
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0