From b7546c0dcc65d193b7a549aa267a70a1a2dcac61 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 14 十月 2024 08:42:53 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue                  |   11 ++
 north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue                  |    8 +-
 north-glass-erp/northglass-erp/src/lang/zh.js                                      |    2 
 north-glass-erp/northglass-erp/src/lang/index.js                                   |    9 ++
 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/northglass-erp/src/components/pp/TagStyleDesigner.vue              |    5 +
 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/LoginView.vue                             |    1 
 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 +++++++++++++++++++++
 14 files changed, 177 insertions(+), 34 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/components/pp/TagStyleDesigner.vue b/north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue
index a768744..0b36760 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue
@@ -639,6 +639,11 @@
   if (!hiprint.hiwebSocket.opened) {
     hiprint.hiwebSocket.setHost("http://localhost:17521")
   }
+  //鑾峰彇鎵撳嵃鏈哄垪琛�
+  /*hiprint.refreshPrinterList((list) => {
+    console.log('refreshPrinterList')
+    console.log(list)
+  });*/
 };
 
 
diff --git a/north-glass-erp/northglass-erp/src/lang/index.js b/north-glass-erp/northglass-erp/src/lang/index.js
index 6d0a4c4..e94e261 100644
--- a/north-glass-erp/northglass-erp/src/lang/index.js
+++ b/north-glass-erp/northglass-erp/src/lang/index.js
@@ -1,5 +1,10 @@
 
 import { createI18n}  from 'vue-i18n'
+import { VxeUI } from 'vxe-table'
+import zhCN from 'vxe-table/lib/locale/lang/zh-CN'
+import enUS from 'vxe-table/lib/locale/lang/en-US'
+//import zhCN from 'vxe-table/lib/language/zh-CN'
+
 import zh from "./zh"
 import en from "./en"
 import ru from "./ru"
@@ -16,5 +21,7 @@
     globalInjection: true, // 鍏ㄥ眬娉ㄥ唽$t鏂规硶
     messages
 })
-
+VxeUI.setI18n('zh-CN', zhCN)
+VxeUI.setI18n('en-US', enUS)
+VxeUI.setLanguage(localStorage.getItem('lang')==='en-US' ? 'en-US' : 'zh-CN')
 export default i18n
\ No newline at end of file
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/LoginView.vue b/north-glass-erp/northglass-erp/src/views/LoginView.vue
index 1c673c8..ba281ca 100644
--- a/north-glass-erp/northglass-erp/src/views/LoginView.vue
+++ b/north-glass-erp/northglass-erp/src/views/LoginView.vue
@@ -10,6 +10,7 @@
 import userOrderInfo from '@/stores/sd/order/orderInfo'
 import { useI18n } from 'vue-i18n'
 import i18n from "@/lang/index"
+import { VxeUI } from 'vxe-table'
 //璇█鑾峰彇
 const { t } = useI18n()
 let language = ref(localStorage.getItem('lang') || 'zh-CN')
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/northglass-erp/src/views/sd/order/SelectOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
index 5f5ce14..e9d678d 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -335,6 +335,7 @@
   }
 
   function filterChanged(column){
+    //console.log(column)
     gridOptions.loading=true
     //绛涢�夋潯浠跺彂鐢熷彉鍖栨潯浠跺彂鐢熷彉鍖�
     let value = column.datas[0]!=undefined?column.datas[0]:''
@@ -561,14 +562,20 @@
         <template #num1_filter="{ column, $panel }">
           <div>
             <div v-for="(option, index) in column.filters" :key="index">
-              <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
+              <input
+                  v-model="option.data"
+                  @keyup.enter.native="$panel.confirmFilter()"
+                  @input="changeFilterEvent($event, option, $panel)"/>
             </div>
           </div>
         </template>
         <template #num2_filter="{ column, $panel }">
           <div>
             <div v-for="(option, index) in column.filters" :key="index">
-              <vxe-select v-model="option.data"  @change="changeFilterEvent($event, option, $panel)" :placeholder="$t('processCard.pleaseSelect')">
+              <vxe-select
+                  v-model="option.data"
+                  @change="changeFilterEvent($event, option, $panel)"
+                  :placeholder="$t('processCard.pleaseSelect')">
                 <vxe-option value="0" :label="$t('basicData.unchecked')"></vxe-option>
                 <vxe-option value="1" :label="$t('basicData.partiallySelected')"></vxe-option>
                 <vxe-option value="2" :label="$t('basicData.selected')"></vxe-option>
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