From 2700299978337e0f9603515472ea901be33e4c0d Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期二, 09 九月 2025 11:20:08 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/pp/DamageDetails.xml                         |   16 +
 north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue                      |    2 
 north-glass-erp/northglass-erp/src/lang/en.js                                          |    1 
 north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue      |   58 ++++++-
 north-glass-erp/northglass-erp/src/views/pp/processCard/SelectAddProcess.vue           |   11 
 north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue         |   21 +-
 north-glass-erp/northglass-erp/src/lang/zh.js                                          |    1 
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java            |    6 
 north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue    |    1 
 north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue                 |   47 ++++--
 north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java |   21 +-
 north-glass-erp/northglass-erp/src/lang/ar.js                                          |    2 
 north-glass-erp/northglass-erp/src/lang/ru.js                                          |    2 
 north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintFlowCard.vue        |   11 
 north-glass-erp/northglass-erp/src/views/pp/workOrder/SelectWorkOrder.vue              |    2 
 north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue       |   92 ++++++++----
 north-glass-erp/northglass-erp/src/lang/kr.js                                          |    7 
 north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue        |    1 
 north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue          |    1 
 north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/SetTrimming.vue         |   14 +
 north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml                         |    2 
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java          |   54 ++++++
 22 files changed, 264 insertions(+), 109 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 f0e0160..b2bcd46 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -362,7 +362,7 @@
         <td>{{ itemDatile.total_area }}</td>
         <td>{{ itemDatile.perimeter }}</td>
         <td>{{ itemDatile.bend_radius }}</td>
-        <td>{{ itemDatile.remarks }}</td>
+        <td style="white-space: normal; word-break: break-all; word-wrap: break-word;">{{ itemDatile.remarks }}</td>
         <template v-for=" n in item.processList.length">
           <td></td>
           <td></td>
diff --git a/north-glass-erp/northglass-erp/src/lang/ar.js b/north-glass-erp/northglass-erp/src/lang/ar.js
index 2ce1e6a..2943aad 100644
--- a/north-glass-erp/northglass-erp/src/lang/ar.js
+++ b/north-glass-erp/northglass-erp/src/lang/ar.js
@@ -384,6 +384,8 @@
         archRise:'鎷遍珮',
         qr1Local:'浜岀淮鐮�1浣嶇疆',
         qr2Local:'浜岀淮鐮�2浣嶇疆',
+        default:'榛樿'
+
 
     },
 
diff --git a/north-glass-erp/northglass-erp/src/lang/en.js b/north-glass-erp/northglass-erp/src/lang/en.js
index 6a0e29d..dbb0e50 100644
--- a/north-glass-erp/northglass-erp/src/lang/en.js
+++ b/north-glass-erp/northglass-erp/src/lang/en.js
@@ -385,6 +385,7 @@
         archRise:'鎷遍珮',
         qr1Local:'浜岀淮鐮�1浣嶇疆',
         qr2Local:'浜岀淮鐮�2浣嶇疆',
+        default:'榛樿'
 
     },
 
diff --git a/north-glass-erp/northglass-erp/src/lang/kr.js b/north-glass-erp/northglass-erp/src/lang/kr.js
index 4ea4126..71f7ed0 100644
--- a/north-glass-erp/northglass-erp/src/lang/kr.js
+++ b/north-glass-erp/northglass-erp/src/lang/kr.js
@@ -390,8 +390,11 @@
         xMargin:'X於� 鞐氨',
         yMargin:'Y於� 鞐氨',
         location:'靸來憸 鞙勳箻',
-        sort:'鞙犽Μ 甑巾灅 氚╈'
-
+        sort:'鞙犽Μ 甑巾灅 氚╈',
+        archRise:'鎷遍珮',
+        qr1Local:'浜岀淮鐮�1浣嶇疆',
+        qr2Local:'浜岀淮鐮�2浣嶇疆',
+        default:'榛樿'
     },
 
     workOrder:{
diff --git a/north-glass-erp/northglass-erp/src/lang/ru.js b/north-glass-erp/northglass-erp/src/lang/ru.js
index 1b4c99b..a0ca7d7 100644
--- a/north-glass-erp/northglass-erp/src/lang/ru.js
+++ b/north-glass-erp/northglass-erp/src/lang/ru.js
@@ -167,6 +167,7 @@
 
             productAbbreviation:'袩褉芯写褍泻褑懈褟',
             productDuplication:'浜у搧閲嶅',
+            default:'榛樿'
         }
     },
     order:{
@@ -383,6 +384,7 @@
         archRise:'鎷遍珮',
         qr1Local:'浜岀淮鐮�1浣嶇疆',
         qr2Local:'浜岀淮鐮�2浣嶇疆',
+        default:'榛樿'
 
     },
 
diff --git a/north-glass-erp/northglass-erp/src/lang/zh.js b/north-glass-erp/northglass-erp/src/lang/zh.js
index c511775..828b5dc 100644
--- a/north-glass-erp/northglass-erp/src/lang/zh.js
+++ b/north-glass-erp/northglass-erp/src/lang/zh.js
@@ -394,6 +394,7 @@
         archRise:'鎷遍珮',
         qr1Local:'浜岀淮鐮�1浣嶇疆',
         qr2Local:'浜岀淮鐮�2浣嶇疆',
+        default:'榛樿'
 
     },
 
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue
index 04022a8..bc683c9 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue
@@ -64,7 +64,7 @@
     body: {
       options: [
         [
-          {code: 'selectTrimming', name: '璁剧疆缁熶竴淇竟',},
+          {code: 'selectTrimming', name: '璁剧疆缁熶竴淇竟',prefixIcon: 'vxe-icon-edit'},
           {code: 'Exports', name: '鏁版嵁瀵煎嚭', prefixIcon: 'vxe-icon-download', visible: true, disabled: false},
           {code: 'addRow', name: t('basicData.add'), prefixIcon: 'vxe-icon-square-plus', visible: true, disabled: true },
         ],
@@ -85,7 +85,14 @@
     gridRef: xGrid,
     requiresRow: false,
     openTrimming: async () => {
-     emit ( 'select-trimming', true)
+      // 鑾峰彇褰撳墠閫変腑鐨勮褰�
+      const selectedRecords = xGrid.value.getCheckboxRecords();
+      // 鍙戦�佷簨浠剁粰鐖剁粍浠讹紝鍖呭惈閫変腑鐨勬暟鎹�
+      emit('select-trimming', {
+        action: 'open-trimming-dialog',
+        selectedData: selectedRecords && selectedRecords.length > 0 ? selectedRecords : null,
+        timestamp: Date.now()
+      });
     }
   },
   {
@@ -136,16 +143,22 @@
           }
           return;
         }
+
+
+        if (config.code === 'selectTrimming') {
+          config.openTrimming();
+          return;
+        }
         // 娣诲姞纭鎻愮ず寮圭獥锛岃闂敤鎴锋槸鍚﹁繘琛屽綋鍓嶆搷浣�
         ElMessageBox.confirm('鏄惁杩涜褰撳墠鎿嶄綔锛�', '纭鎿嶄綔', {
           confirmButtonText: '纭畾',
           cancelButtonText: '鍙栨秷',
           type: 'warning'
         }).then(() => {
-          if (config.code === 'selectTrimming') {
-            config.openTrimming();
-            ElMessage.success(config.successMsg);
-          }
+          // if (config.code === 'selectTrimming') {
+          //   config.openTrimming();
+          //   ElMessage.success(config.successMsg);
+          // }
         }).catch(() => {
           // 鐢ㄦ埛鐐瑰嚮鍙栨秷鍚庢墽琛岀殑閫昏緫
           ElMessage.info('宸插彇娑堟搷浣�');
@@ -298,19 +311,38 @@
     const data = gridOptions.data;
     if (data) {
       try {
-        const updatedData = [];
-        for (let i = 0; i < data.length; i++) {
-          const item = data[i];
-          const updatedItem = {
+        // 妫�鏌ユ槸鍚﹀彧瀵归�変腑鐨勯」鐩簲鐢ㄤ慨杈�
+        const shouldApplyToSelectedOnly = receivedData.selectedItemsOnly;
+        let targetData = data;
+
+        if (shouldApplyToSelectedOnly) {
+          // 鍙閫変腑鐨勬暟鎹簲鐢ㄤ慨杈�
+          targetData = receivedData.selectedGlassData || [];
+          if (!targetData || targetData.length === 0) {
+            ElMessage.warning('鏈�夋嫨浠讳綍椤圭洰锛屼慨杈规湭搴旂敤');
+            return;
+          }
+        }
+
+        const updatedData = data.map(item => {
+          // 濡傛灉鍙閫変腑椤瑰簲鐢紝妫�鏌ュ綋鍓嶉」鏄惁鍦ㄩ�変腑鍒楄〃涓�
+          if (shouldApplyToSelectedOnly) {
+            const isSelected = targetData.some(selectedItem => selectedItem.id === item.id);
+            if (!isSelected) {
+              return item; // 涓嶅湪閫変腑鍒楄〃涓紝涓嶄慨鏀�
+            }
+          }
+
+          // 搴旂敤淇竟鍊�
+          return {
             ...item,
-            // 浠� receivedData 涓幏鍙栧搴旂殑鍊兼潵鏇存柊琛ㄦ牸鏁版嵁椤�
             leftTrim: Number(receivedData.quicksetLeft),
             downTrim: Number(receivedData.quicksetBottom),
             rightTrim: Number(receivedData.quicksetRight),
             upTrim: Number(receivedData.quicksetTop),
           };
-          updatedData.push(updatedItem);
-        }
+        });
+
         gridOptions.data = updatedData;
         xGrid.value.loadData(updatedData);
       } catch (error) {
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue
index f1a12fd..13b893a 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue
@@ -585,9 +585,21 @@
 
 //鍙抽敭鑿滃崟缁熶竴淇竟
 const props = defineProps({
-  TrimmingDialogVisible: Boolean,
-  CheckboxChangeData: null
+  TrimmingDialogVisible: {
+    type: [Boolean, Object],
+    required: false,
+    default: null
+  },
+  CheckboxChangeData: {
+    type: Array,
+    required: false,
+    default: null
+  }
 });
+
+
+const selectedGlassDataForTrimming = ref([]);
+
 /*watch(() => props.TrimmingDialogVisible, (newValue) => {
   if (newValue === true) {
     dialogVisible.value[3] = newValue;
@@ -595,42 +607,59 @@
 });*/
 
 watch(
-    ()=> [props.TrimmingDialogVisible,props.CheckboxChangeData],
-    ([newValue, oldValue])=> {
-      if (props.TrimmingDialogVisible!=null){
-        dialogVisible.value[3] = newValue;
+    () => props.TrimmingDialogVisible,
+    (newVal, oldVal) => {
+      // 澶勭悊鎵撳紑淇竟瀵硅瘽妗嗙殑閫昏緫
+      if (newVal != null && typeof newVal === 'object' && newVal.action === 'open-trimming-dialog') {
+        dialogVisible.value[3] = true;
+
+        // 鏇存柊閫変腑鐨勭幓鐠冩暟鎹�
+        if (newVal.selectedData && newVal.selectedData.length > 0) {
+          selectedGlassDataForTrimming.value = newVal.selectedData;
+        } else {
+          selectedGlassDataForTrimming.value = [];
+        }
       }
-      if (props.CheckboxChangeData!=null && props.CheckboxChangeData.length>0){
+    }
+);
+
+// 鍗曠嫭澶勭悊閫変腑鍘熺墖鏁版嵁鐨勯�昏緫
+watch(
+    () => props.CheckboxChangeData,
+    (newData, oldData) => {
+      // 鍙湁褰撴湁閫変腑鏁版嵁鏃舵墠澶勭悊
+      if (newData != null && newData.length > 0) {
         optimizeData.value.materialDetails = [];
-        props.CheckboxChangeData.forEach(items=>{
-          const detail={
-            width :null,
-            height :null,
-            stockCode  :null,
-            quantity  :null,
-            upTrim :null,
-            downTrim :null,
-            leftTrim :null,
-            rightTrim:null,
-            priority:0
+        newData.forEach(items => {
+          const detail = {
+            width: null,
+            height: null,
+            stockCode: null,
+            quantity: null,
+            upTrim: null,
+            downTrim: null,
+            leftTrim: null,
+            rightTrim: null,
+            priority: 0
           }
-          detail.width=items.width
-          detail.height=items.height
-          detail.stockCode=items.id
-          detail.quantity=items.available_quantity
-          detail.upTrim=items.upTrim
-          detail.downTrim=items.downTrim
-          detail.leftTrim=items.leftTrim
-          detail.rightTrim=items.rightTrim
+          detail.width = items.width
+          detail.height = items.height
+          detail.stockCode = items.id
+          detail.quantity = items.available_quantity
+          detail.upTrim = items.upTrim
+          detail.downTrim = items.downTrim
+          detail.leftTrim = items.leftTrim
+          detail.rightTrim = items.rightTrim
 
           optimizeData.value.materialDetails.push(detail)
         })
         dialogVisible.value[4] = true;
-      }else{
+      } else if (newData !== null && newData.length === 0) {
+        // 鍙湁褰撴槑纭紶鍏ョ┖鏁扮粍鏃舵墠鎻愮ず閫夋嫨鍘熺墖
         ElMessage.warning('璇烽�夋嫨鍘熺墖');
       }
-      console.log(optimizeData.value)
-    });
+    }
+);
 
 
 const route = useRoute();
@@ -1007,7 +1036,10 @@
         <el-button id="button" type="primary" @click="openDialog(3)">璁剧疆淇竟</el-button>
         <el-dialog v-model="dialogVisible[3]" title="璁剧疆淇竟锛坢m锛�" destroy-on-close
                    style="width: 35%;height:80%;margin-top: 3vh;">
-          <set-trimming :closeDialog="closeDialog" @send-data-event="handleTrimmingData"/>
+          <set-trimming
+              :closeDialog="closeDialog"
+              :selected-glass-data="selectedGlassDataForTrimming"
+              @send-data-event="handleTrimmingData"/>
         </el-dialog>
         <el-button id="button" type="primary" @click="saveOptimizeData()">淇濆瓨</el-button>
         <el-button id="button" type="primary" @click="openDialog(4)">浼樺寲</el-button>
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/SetTrimming.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/SetTrimming.vue
index d9db81a..edbdd57 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/SetTrimming.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/SetTrimming.vue
@@ -82,7 +82,15 @@
 
 const emit = defineEmits(['send-data-event',]);
 const props = defineProps({
-  closeDialog: Function
+  closeDialog: {
+    type: Function,
+    required: true
+  },
+  selectedGlassData: {
+    type: Array,
+    required: false,
+    default: () => []
+  }
 });
 
 const setTrimming = () => {
@@ -105,7 +113,9 @@
         quicksetTop: quicksetTop.value,
         quicksetRight: quicksetRight.value,
         quicksetBottom: quicksetBottom.value,
-        quicksetLeft: quicksetLeft.value
+        quicksetLeft: quicksetLeft.value,
+        selectedItemsOnly: props.selectedGlassData && props.selectedGlassData.length > 0,
+        selectedGlassData: props.selectedGlassData
       };
       emit('send-data-event', dataToSend);
       props.closeDialog(3);
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectAddProcess.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectAddProcess.vue
index 2d7f85b..5b3e39f 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectAddProcess.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectAddProcess.vue
@@ -102,11 +102,12 @@
 let endTime = orderInfo.workOrderDate[1]
 //绗竴娆″姞杞芥暟鎹�
 
-request.post(`/processCard/selectAddProcess/${startTime}/${endTime}`, filterData.value).then((res) => {
+request.post(`/processCard/selectAddProcess/${orderInfo.workOrderDate}`, filterData.value).then((res) => {
 
   if (res.code == 200) {
     pageTotal.value = res.data.total
     produceList = produceList.value.concat(deepClone(res.data.data))
+    orderInfo.workOrderDate = res.data.selectDate
     xGrid.value.reloadData(produceList)
     gridOptions.loading = false
   } else {
@@ -117,13 +118,13 @@
 //鐐瑰嚮鏌ヨ
 const getWorkOrder = () => {
 
-  let startTime = orderInfo.workOrderDate[0]
-  let endTime = orderInfo.workOrderDate[1]
-  request.post(`/processCard/selectAddProcess/${startTime}/${endTime}`, filterData.value).then((res) => {
+
+  request.post(`/processCard/selectAddProcess/${orderInfo.workOrderDate}`, filterData.value).then((res) => {
     if (res.code == 200) {
 
       pageTotal.value = res.data.total
       xGrid.value.loadData(res.data.data)
+      orderInfo.workOrderDate = res.data.selectDate
       gridOptions.loading = false
     } else {
       ElMessage.warning(res.msg)
@@ -156,7 +157,7 @@
   let startTime = orderInfo.workOrderDate[0]
   let endTime = orderInfo.workOrderDate[1]
 
-  request.post(`/processCard/selectAddProcess/${startTime}/${endTime}`, filterData.value).then((res) => {
+  request.post(`/processCard/selectAddProcess/${orderInfo.workOrderDate}`, filterData.value).then((res) => {
     if (res.code == 200) {
       pageTotal.value = res.data.total
 
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintFlowCard.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintFlowCard.vue
index c91a1ca..b442fa0 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintFlowCard.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintFlowCard.vue
@@ -127,7 +127,7 @@
 
 //绗竴娆″姞杞芥暟鎹�
 
-request.post(`/processCard/selectPrintFlowCard/${startTime}/${endTime}/${orderId}/${project}/${userId}/${state}`, filterData.value).then((res) => {
+request.post(`/processCard/selectPrintFlowCard/${orderInfo.workOrderDate}/${orderId}/${project}/${userId}/${state}`, filterData.value).then((res) => {
 
   if (res.code == 200) {
     produceList = produceList.value.concat(deepClone(res.data.data))
@@ -136,7 +136,7 @@
     if (roleId=='1' || roleId=='17'){
       gridOptions.toolbarConfig.buttons[2].visible=true
     }*/
-
+    orderInfo.workOrderDate = res.data.selectDate
     xGrid.value.reloadData(produceList)
     gridOptions.loading = false
   } else {
@@ -147,8 +147,7 @@
 //鐐瑰嚮鏌ヨ
 const getWorkOrder = () => {
 
-  let startTime = orderInfo.workOrderDate[0]
-  let endTime = orderInfo.workOrderDate[1]
+
   let orderId=form.orderId
   let project=form.project
 
@@ -160,9 +159,9 @@
   }
   let state = optionVal.value
 
-  request.post(`/processCard/selectPrintFlowCard/${startTime}/${endTime}/${orderId}/${project}/${userId}/${state}`, filterData.value).then((res) => {
+  request.post(`/processCard/selectPrintFlowCard/${orderInfo.workOrderDate}/${orderId}/${project}/${userId}/${state}`, filterData.value).then((res) => {
     if (res.code == 200) {
-
+      orderInfo.workOrderDate = res.data.selectDate
       xGrid.value.loadData(res.data.data)
       gridOptions.loading = false
     } else {
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 75896e7..4ba94a2 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
@@ -15,6 +15,8 @@
 import {remove} from "xe-utils";
 import PrintProcess from "@/components/pp/PrintProcess.vue";
 import PrintProcessStraight from "@/components/pp/PrintProcessStraight.vue";
+import useOrderInfoStore from "@/stores/sd/order/orderInfo"
+
 //璇█鑾峰彇
 const {t} = useI18n()
 
@@ -23,7 +25,7 @@
 const dialogTableVisibleLabelXJTwo = ref(false)
 const dialogTableVisibleStraight = ref(false)
 let rowClickIndex = ref(null)
-
+const orderInfo = useOrderInfoStore()
 
 
 //瀹氫箟鏁版嵁杩斿洖缁撴灉
@@ -139,15 +141,17 @@
 }
 
 //绗竴娆″姞杞借幏鍙栬繎涓冨ぉ鏃堕棿鍜岄粯璁ょ姸鎬�
-form.date1 = getNowTime()
-let startTime = form.date1[0]
-let endTime = form.date1[1]
+if (orderInfo.workOrderDate[0]=="" && orderInfo.workOrderDate[1]==""){
+  orderInfo.workOrderDate=getNowTime()
+}
+let startTime = orderInfo.workOrderDate[0]
+let endTime = orderInfo.workOrderDate[1]
 let orderId=form.orderId
 let project=form.project
 
 //绗竴娆″姞杞芥暟鎹�
 
-request.post(`/processCard/selectPrintPrintProject/${startTime}/${endTime}`, filterData.value).then((res) => {
+request.post(`/processCard/selectPrintPrintProject/${orderInfo.workOrderDate}`, filterData.value).then((res) => {
 
   if (res.code == 200) {
     if(hidePrintLabels=="true"){
@@ -169,6 +173,7 @@
       gridOptions.toolbarConfig.buttons.push(button2)
 
     }
+    orderInfo.workOrderDate = res.data.selectDate
     produceList.value = deepClone(res.data.data)
     xGrid.value.reloadData(produceList.value)
     gridOptions.loading = false
@@ -183,9 +188,9 @@
   let startTime = form.date1[0]
   let endTime = form.date1[1]
 
-  request.post(`/processCard/selectPrintPrintProject/${startTime}/${endTime}`, filterData.value).then((res) => {
+  request.post(`/processCard/selectPrintPrintProject/${orderInfo.workOrderDate}`, filterData.value).then((res) => {
     if (res.code == 200) {
-
+      orderInfo.workOrderDate = res.data.selectDate
       xGrid.value.loadData(res.data.data)
       gridOptions.loading = false
     } else {
@@ -376,7 +381,7 @@
   <div  style="width: 100%;height: 100%">
     <div class="head">
         <el-date-picker
-            v-model="form.date1"
+            v-model="orderInfo.workOrderDate"
             :start-placeholder="$t('basicData.startDate')"
             :end-placeholder="$t('basicData.endDate')"
             format="YYYY/MM/DD"
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue
index f1ab3df..91cdcc2 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue
@@ -187,6 +187,7 @@
     if (res.code == 200) {
       total.dataTotal = res.data.total.total * 1
       total.pageTotal = res.data.total.pageTotal
+      orderInfo.workOrderDate = res.data.selectDate
       pageTotal.value = res.data.total
       res.data.data.forEach(item => {
         switch (item.layoutStatus) {
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 c7b5e62..b45659b 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
@@ -451,6 +451,7 @@
 
           //褰撳彲鎿嶄綔鏁伴噺涓�0锛屽苟涓斿畬宸ユ暟閲忎笉绛変簬鍙畬宸ユ暟閲忔椂
           if(row.minQuantity===0 && val!==(totalQuantity-row.breakageQuantity) ){
+            console.log(12312312312)
             return new Error(`${t('reportingWorks.pleaseNumber12')} ${okVal}+${val}=${okVal+val}\n
                               ${t('reportingWorks.pleaseNumber13')} ${nextQuantitySum}\n
                               ${t('reportingWorks.pleaseNumber14')}
diff --git a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue
index 3809359..18f4e9a 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue
@@ -212,6 +212,7 @@
       total.pageTotal= res.data.total.pageTotal
       pageTotal.value = res.data.total
       total.value = res.data.total
+      orderInfo.reportingWorkDate = res.data.selectDate
       produceList=res.data.data
       // 浣跨敤map鏂规硶鏉ュ鐞嗘瘡涓璞�
       let modifiedCollection = produceList.map(item => {
diff --git a/north-glass-erp/northglass-erp/src/views/pp/workOrder/SelectWorkOrder.vue b/north-glass-erp/northglass-erp/src/views/pp/workOrder/SelectWorkOrder.vue
index ade073e..3cdf7d5 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/workOrder/SelectWorkOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/workOrder/SelectWorkOrder.vue
@@ -138,8 +138,8 @@
   let selectState = optionVal.value
   request.post(`/workOrder/orderGlassDetail/${orderInfo.workOrderDate}/${selectState}`, filterData.value).then((res) => {
     if (res.code == 200) {
-      //isButtonDisabled=false
       pageTotal.value = res.data.total
+      orderInfo.workOrderDate = res.data.selectDate
       xGrid.value.loadData(res.data.data)
       gridOptions.loading = false
     } else {
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue b/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
index 79ed217..8841881 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
@@ -23,6 +23,9 @@
 const company = companyInfo()
 const xGrid = ref()
 const trademarkLocation=ref([t('craft.upperLeft'),t('craft.upperRight'),t('craft.lowLeft'),t('craft.lowRight')])
+const qrcodeLocation=ref({})
+
+
 const gridOptions = reactive({
   loading:true,
   border:  "full",//琛ㄦ牸鍔犺竟妗�
@@ -467,6 +470,10 @@
 //鍒濆鍖栧垽鏂槸鍚︽湁id浼犲叆
 onMounted(()=>{
   addListener(xGrid.value,gridOptions)
+  qrcodeLocation.value[t('craft.default')] = ""
+  trademarkLocation.value.forEach(item =>{
+    qrcodeLocation.value[item] = item
+  })
   const str = route.query.orderId
   if (typeof str === 'undefined' || str === null || str === '' || str === '\n' || str === '\r'){
     return
@@ -1308,7 +1315,7 @@
         :close-on-click-modal="false"
         :close-on-press-escape="false"
         @closed="handleClosed"
-        style="width: 922px;height:750px;margin-top: 100px ;
+        style="width: 1122px;height:750px;margin-top: 100px ;
         position: relative;" >
       <div style="width: 50%;height: 100%;float: left">
         <el-row style="">
@@ -1386,7 +1393,12 @@
         <el-row>
           <el-col :span="5">{{$t('craft.qr1Local')}}:</el-col>
           <el-col :span="25">
-            <el-radio v-model="trademarkAttr.qr1.location" v-for="item in trademarkLocation" :label="item"  />
+            <el-radio v-model="trademarkAttr.qr1.location"
+                      v-for="(item,keys) in qrcodeLocation"
+                      :value="item"
+            >
+              {{keys}}
+            </el-radio>
           </el-col>
         </el-row>
 
@@ -1419,7 +1431,12 @@
         <el-row>
           <el-col :span="5">{{$t('craft.qr2Local')}}:</el-col>
           <el-col :span="25">
-            <el-radio v-model="trademarkAttr.qr2.location" v-for="item in trademarkLocation" :label="item"  />
+            <el-radio v-model="trademarkAttr.qr2.location"
+                      v-for="(item,keys) in qrcodeLocation"
+                      :value="item"
+            >
+              {{keys}}
+            </el-radio>
           </el-col>
         </el-row>
 
@@ -1451,7 +1468,7 @@
       position: relative;display: flex;justify-content: center;align-content: center;">
 
           <div id="mains" ref="parent"  >
-            <div id="iocn" ref="draggable"
+            <div id="icon" ref="draggable"
                 v-if="tagCheck(t('craft.upperLeft'))"
                 :style="{marginLeft:trademarkAttr.xMargin/big+'px',marginTop:trademarkAttr.yMargin/big+'px'}"
                 style="width: 20px;height: 20px;left: 0;top: 0;background-color: red;position: absolute;"
@@ -1459,13 +1476,13 @@
             >
               <el-image @dblclick="trademarkenlargement" style="width: 100%;height: 100%"   :src="iconNickname"/>
             </div>
-            <div id="iocn" ref="draggable" v-if="tagCheck(t('craft.upperRight'))"  @mousedown="startDragUpperRight" :style="{marginRight:trademarkAttr.xMargin/big+'px',marginTop:trademarkAttr.yMargin/big+'px'}" style="width: 20px;height: 20px;right: 0;top: 0;background-color: red;position: absolute;">
+            <div id="icon" ref="draggable" v-if="tagCheck(t('craft.upperRight'))"  @mousedown="startDragUpperRight" :style="{marginRight:trademarkAttr.xMargin/big+'px',marginTop:trademarkAttr.yMargin/big+'px'}" style="width: 20px;height: 20px;right: 0;top: 0;background-color: red;position: absolute;">
               <el-image @dblclick="trademarkenlargement" style="width: 100%;height: 100%"   :src="iconNickname"/>
             </div>
-            <div id="iocn" ref="draggable" v-if="tagCheck(t('craft.lowLeft'))" @mousedown="startDragLowLeft" :style="{marginLeft:trademarkAttr.xMargin/big+'px',marginBottom:trademarkAttr.yMargin/big+'px'}" style="width: 20px;height: 20px;left: 0;bottom: 0;background-color: red;position: absolute;">
+            <div id="icon" ref="draggable" v-if="tagCheck(t('craft.lowLeft'))" @mousedown="startDragLowLeft" :style="{marginLeft:trademarkAttr.xMargin/big+'px',marginBottom:trademarkAttr.yMargin/big+'px'}" style="width: 20px;height: 20px;left: 0;bottom: 0;background-color: red;position: absolute;">
               <el-image @dblclick="trademarkenlargement" style="width: 100%;height: 100%"   :src="iconNickname"/>
             </div>
-            <div id="iocn" ref="draggable" v-if="tagCheck(t('craft.lowRight'))" @mousedown="startDragLowRight" :style="{marginRight:trademarkAttr.xMargin/big+'px',marginBottom:trademarkAttr.yMargin/big+'px'}" style="width: 20px;height: 20px;right: 0;bottom: 0;background-color: red;position: absolute;">
+            <div id="icon" ref="draggable" v-if="tagCheck(t('craft.lowRight'))" @mousedown="startDragLowRight" :style="{marginRight:trademarkAttr.xMargin/big+'px',marginBottom:trademarkAttr.yMargin/big+'px'}" style="width: 20px;height: 20px;right: 0;bottom: 0;background-color: red;position: absolute;">
               <el-image @dblclick="trademarkenlargement" style="width: 100%;height: 100%"   :src="iconNickname"/>
             </div>
            <canvas  id="canvas" ></canvas>
@@ -1473,8 +1490,8 @@
 
 
       </div>
-      <div id="width" style="height: 20px;position: absolute;top: 33px;left: 652px;">{{orderDetailWidth}}</div>
-      <div id="height" style="width: 60px;position: absolute;top: 178px;left: 390px;">{{orderDetailHeight}}</div>
+      <div id="width" style="height: 20px;position: absolute;top: 33px;left: 752px;">{{orderDetailWidth}}</div>
+      <div id="height" style="width: 60px;position: absolute;top: 178px;right: 100px;">{{orderDetailHeight}}</div>
       <div style="float: left;margin-top: 20px;margin-left: 80px">
         <el-input class="contactNumber" @blur="getproject" type="text" v-model="data1" />
         <el-input class="contactNumber" @blur="getproject" type="text" v-model="data2"  />&nbsp;&nbsp;&nbsp;
@@ -1485,12 +1502,12 @@
         <el-input class="contactNumber" @blur="getproject" type="text" v-model="data7"  />
         <el-input class="contactNumber" @blur="getproject" type="text" v-model="data8"  /><br>
       </div>
-      <div id="width" style="height: 20px;position: absolute;top: 332px;left: 520px;">{{$t('order.upper')}}</div>
-      <div id="width" style="height: 20px;position: absolute;top: 354px;left: 520px;">{{$t('order.down')}}</div>
-      <div id="width" style="height: 20px;position: absolute;top: 312px;left: 562px;">{{$t('order.horizontal')}}</div>
-      <div id="width" style="height: 20px;position: absolute;top: 312px;left: 625px;">{{$t('order.vertical')}}</div>
-      <div id="width" style="height: 20px;position: absolute;top: 312px;left: 695px;">{{$t('order.horizontal')}}</div>
-      <div id="width" style="height: 20px;position: absolute;top: 312px;left: 760px;">{{$t('order.vertical')}}</div>
+      <div id="width" style="height: 20px;position: absolute;top: 332px;left: 520px;margin-left: 80px">{{$t('order.upper')}}</div>
+      <div id="width" style="height: 20px;position: absolute;top: 354px;left: 520px;margin-left: 80px">{{$t('order.down')}}</div>
+      <div id="width" style="height: 20px;position: absolute;top: 312px;left: 562px;margin-left: 80px">{{$t('order.horizontal')}}</div>
+      <div id="width" style="height: 20px;position: absolute;top: 312px;left: 625px;margin-left: 80px">{{$t('order.vertical')}}</div>
+      <div id="width" style="height: 20px;position: absolute;top: 312px;left: 695px;margin-left: 80px">{{$t('order.horizontal')}}</div>
+      <div id="width" style="height: 20px;position: absolute;top: 312px;left: 760px;margin-left: 80px">{{$t('order.vertical')}}</div>
       <div v-if="enlargementFlag" style="width: 400px;height: 250px;float: left;position: relative;background-color: red">
         <el-image  @dblclick="trademarkenlargement" style="z-index: 9999;max-width: 100%;max-height: 100%" :src="iconNickname"/>
       </div>
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
index c6729a2..15c88f5 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
@@ -47,12 +47,11 @@
     //鍒嗘灦鏌ヨ
     @ApiOperation("鍒嗘灦鏌ヨ鎺ュ彛")
     @SaCheckPermission("selectAddProcess.search")
-    @PostMapping("/selectAddProcess/{selectTime1}/{selectTime2}")
+    @PostMapping("/selectAddProcess/{selectDate}")
     public Result selectAddProcess(
-            @PathVariable Date selectTime1,
-            @PathVariable Date selectTime2,
+            @PathVariable List<String> selectDate,
             @RequestBody FlowCard flowCard) {
-        return Result.seccess(flowCardService.selectAddProcess(selectTime1, selectTime2, flowCard));
+        return Result.seccess(flowCardService.selectAddProcess(selectDate, flowCard));
     }
 
     //鍒嗘灦鏄庣粏鏌ヨ
@@ -176,16 +175,15 @@
 
     @ApiOperation("娴佺▼鍗℃墦鍗版煡璇㈡帴鍙�")
     @SaCheckPermission("selectPrintFlowCard.search")
-    @PostMapping("/selectPrintFlowCard/{selectTime1}/{selectTime2}/{orderId}/{project}/{userId}/{state}")
+    @PostMapping("/selectPrintFlowCard/{selectDate}/{orderId}/{project}/{userId}/{state}")
     public Result selectPrintFlowCard(
-            @PathVariable Date selectTime1,
-            @PathVariable Date selectTime2,
+            @PathVariable List<String> selectDate,
             @PathVariable String orderId,
             @PathVariable String project,
             @PathVariable String userId,
             @PathVariable Integer state,
             @RequestBody FlowCard flowCard) {
-        return Result.seccess(flowCardService.selectPrintFlowCardSv(selectTime1, selectTime2, orderId, project,userId,state, flowCard));
+        return Result.seccess(flowCardService.selectPrintFlowCardSv(selectDate, orderId, project,userId,state, flowCard));
     }
 
     @ApiOperation("娴佺▼鍗℃槑缁嗘煡璇㈡帴鍙�")
@@ -306,11 +304,10 @@
 
     @ApiOperation("宸ョ▼鎵撳嵃鏌ヨ鎺ュ彛")
     @SaCheckPermission("selectPrintFlowCard.search")
-    @PostMapping("/selectPrintPrintProject/{selectTime1}/{selectTime2}")
+    @PostMapping("/selectPrintPrintProject/{selectDate}")
     public Result selectPrintFlowCard(
-            @PathVariable Date selectTime1,
-            @PathVariable Date selectTime2) {
-        return Result.seccess(flowCardService.selectPrintFlowCard(selectTime1, selectTime2));
+            @PathVariable List<String> selectDate) {
+        return Result.seccess(flowCardService.selectPrintFlowCard(selectDate));
     }
 
     @ApiOperation("淇敼鏄惁鎵撳嵃鐘舵��")
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
index 0e89cea..218252f 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
@@ -25,7 +25,7 @@
     Map<String, Integer> getPageTotal(Integer offset, Integer pageSize, String selectTime1, String selectTime2, FlowCard flowCard);
 
     //鍒嗘灦鏁版嵁鏌ヨ
-    List<FlowCard> selectFlowCardMp(Date selectTime1, Date selectTime2, FlowCard flowCard);
+    List<FlowCard> selectFlowCardMp(String selectTime1, String selectTime2, FlowCard flowCard);
 
     //鍒嗘灦鏄庣粏鏌ヨ
     List<Map<String, String>> detailsSelectMp(String orderId, FlowCard flowCard);
@@ -74,9 +74,9 @@
     Boolean deleteReportingWork(String processId);
     Boolean deleteReportingWorkByOrderId(String orderId);
 
-    List<Map<String, String>> selectPrintFlowCardMp(Date selectTime1, Date selectTime2, String orderId, String project, Integer state, FlowCard flowCard);
+    List<Map<String, String>> selectPrintFlowCardMp(String selectTime1, String selectTime2, String orderId, String project, Integer state, FlowCard flowCard);
 
-    List<Map<String, String>> selectPrintFlowCard(Date selectTime1, Date selectTime2);
+    List<Map<String, String>> selectPrintFlowCard(String selectTime1, String selectTime2);
 
     List<Map<String, String>> selectPrintMp(String orderId);
 
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 5ae8080..942c48b 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
@@ -89,9 +89,23 @@
     }
 
     //鍒嗘灦鏌ヨ
-    public Map<String, Object> selectAddProcess(Date selectTime1, Date selectTime2, FlowCard flowCard) {
+    public Map<String, Object> selectAddProcess(List<String> selectDate, FlowCard flowCard) {
+        String endDate = LocalDate.now().toString();
+        String startDate = LocalDate.now().minusDays(15).toString();
+        if(selectDate !=null && selectDate.size()==2){
+            if(!selectDate.get(0).isEmpty()){
+                startDate = selectDate.get(0);
+            }
+            if(!selectDate.get(1).isEmpty()){
+                endDate = selectDate.get(1);
+            }
+        }
         Map<String, Object> map = new HashMap<>();
-        map.put("data", flowCardMapper.selectFlowCardMp(selectTime1, selectTime2, flowCard));
+        map.put("data", flowCardMapper.selectFlowCardMp( startDate, endDate, flowCard));
+        List<String> list = new ArrayList<>();
+        list.add(startDate);
+        list.add(endDate);
+        map.put("selectDate",list);
         return map;
     }
 
@@ -248,23 +262,51 @@
         return map;
     }
 
-    public Object selectPrintFlowCardSv(Date selectTime1, Date selectTime2, String orderId, String project, String userId, Integer state, FlowCard flowCard) {
+    public Object selectPrintFlowCardSv(List<String> selectDate, String orderId, String project, String userId, Integer state, FlowCard flowCard) {
         if ("null".equals(orderId)) {
             orderId = "";
         }
         if ("null".equals(project)) {
             project = "";
         }
+        String endDate = LocalDate.now().toString();
+        String startDate = LocalDate.now().minusDays(15).toString();
+        if(selectDate !=null && selectDate.size()==2){
+            if(!selectDate.get(0).isEmpty()){
+                startDate = selectDate.get(0);
+            }
+            if(!selectDate.get(1).isEmpty()){
+                endDate = selectDate.get(1);
+            }
+        }
         Map<String, Object> map = new HashMap<>();
-        map.put("data", flowCardMapper.selectPrintFlowCardMp(selectTime1, selectTime2, orderId, project,state, flowCard));
+        map.put("data", flowCardMapper.selectPrintFlowCardMp(startDate, endDate, orderId, project,state, flowCard));
         String roleId = flowCardMapper.selectUserMp(userId);
         map.put("user", roleId);
+        List<String> list = new ArrayList<>();
+        list.add(startDate);
+        list.add(endDate);
+        map.put("selectDate",list);
         return map;
     }
 
-    public Object selectPrintFlowCard(Date selectTime1, Date selectTime2) {
+    public Object selectPrintFlowCard(List<String> selectDate) {
+        String endDate = LocalDate.now().toString();
+        String startDate = LocalDate.now().minusDays(15).toString();
+        if(selectDate !=null && selectDate.size()==2){
+            if(!selectDate.get(0).isEmpty()){
+                startDate = selectDate.get(0);
+            }
+            if(!selectDate.get(1).isEmpty()){
+                endDate = selectDate.get(1);
+            }
+        }
         Map<String, Object> map = new HashMap<>();
-        map.put("data", flowCardMapper.selectPrintFlowCard(selectTime1, selectTime2));
+        map.put("data", flowCardMapper.selectPrintFlowCard(startDate, endDate));
+        List<String> list = new ArrayList<>();
+        list.add(startDate);
+        list.add(endDate);
+        map.put("selectDate",list);
         return map;
     }
 
diff --git a/north-glass-erp/src/main/resources/mapper/pp/DamageDetails.xml b/north-glass-erp/src/main/resources/mapper/pp/DamageDetails.xml
index c29e5ef..6f8d0f5 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/DamageDetails.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/DamageDetails.xml
@@ -8,13 +8,17 @@
     FROM pp.damage_details as a
     left join pp.reporting_work as b
     on a.reporting_work_id = b.reporting_work_id
+    left join patch_log as c
+    on a.reporting_work_id = c.reporting_work_id
+           and a.process_id = c.process_id
+           and a.order_number = c.order_sort
+           and a.technology_number = c.technology_number
     WHERE a.process_id = #{processId}
     <if test="needOrderNumber!=null">
     and a.order_number = #{orderNumber}
     </if>
     and a.technology_number =#{technologyNumber}
     and a.breakage_quantity>0
-    and a.patch_status=0
     and b.reviewed_state>=0
     and b.this_process in (WITH RECURSIVE cte AS (
                             SELECT 1 AS n
@@ -24,21 +28,25 @@
                            SELECT REGEXP_SUBSTR(#{behindProcess}, '[^,]+', 1, n) AS process
                            FROM cte
                            WHERE REGEXP_SUBSTR(#{behindProcess}, '[^,]+', 1, n) IS NOT NULL)
+    and ifnull(c.review_status,0) = 0
 
 </select>
     <select id="getNotReview">
-    select a.*
+    select a.*,ifnull(c.review_status,0) as reviewed_state
     from damage_details as a
     left join reporting_work as b
     on a.reporting_work_id = b.reporting_work_id
+    left join patch_log as c
+    on a.reporting_work_id = c.reporting_work_id and a.process_id = c.process_id and a.order_number = c.order_sort
+    and a.technology_number = c.technology_number
     where a.process_id=#{processId}
      and b.reviewed_state>=0
-  <if test="orderNumber!= null">
+  <if test="orderNumber!= null || orderNumber!=''">
       and a.order_number = #{orderNumber}
   </if>
     and a.technology_number = #{technologyNumber}
-     and     a.patch_status=0
     and a.breakage_quantity>0
+    and c.review_status = 0
 
     </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 52b7c6c..36377c4 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -448,7 +448,7 @@
                    a.completed_quantity,
                 (a.completed_quantity+ a.breakage_quantity),
                    (f.completed_quantity
-                       -ifnull(g.completed_quantity,0))
+                       -ifnull(g.completed_quantity,0) + a.breakage_quantity)
                     )  as minQuantity -- 淇敼鏈�灏忔暟
             </if>
             <if test="nextProcess == null or nextProcess == ''">  -- 鏈�鍚庝竴閬撳伐搴�

--
Gitblit v1.8.0