From 515025ffd3ace6f7382f9a853d3aba50f191c8d0 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 12 十二月 2024 08:30:32 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override

---
 north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue                      |  197 +++++++++++++-----------
 north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeProject.vue          |   10 +
 north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/GlassInventory.vue      |   58 ++++++
 north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml                           |    5 
 north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue         |   46 +++++
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java            |    2 
 north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue       |   15 +
 north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/SetTrimming.vue         |   21 ++
 north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java |    7 
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java          |   61 +++++++
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml                              |   29 +++
 11 files changed, 347 insertions(+), 104 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 0a034d1..661bbb9 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -30,12 +30,14 @@
 let props = defineProps({
   printList: null,
   printMerge: null,
-  printLike: null
+  printLike: null,
+  printProject:null
 })
 
 const {currentRoute} = useRouter()
 const route = currentRoute.value
 const printMerge = props.printMerge
+const printProject = props.printProject
 
 //鎵撳嵃鏃堕棿
 const currentTime = new Date();
@@ -56,94 +58,28 @@
 data.value.printList = JSON.parse(props.printList)
 let flowCardCount = ''
 onMounted(() => {
-      request.post(`/processCard/getSelectPrinting/${merge}/${like}`, data.value).then((res) => {
-        if (res.code == 200) {
-          produceList.value = deepClone(res.data.data)
-          //澶勭悊鍗曠墖鍘氬害
-
-          for (let j = 0; j < produceList.value.length; j++) {
-            let sumWeight = 0
-            produceList.value[j].detailList.forEach((item, index) => {
-              // 瑙f瀽 separation 瀛楁鐨� JSON 瀛楃涓�
-              let separationObj = JSON.parse(item.separation);
-
-              // 鑾峰彇 thickness 鐨勫師濮嬪��
-              let thicknessValue = separationObj.thickness;
-
-              // 鍘婚櫎 'mm' 鍗曚綅
-              let thicknessWithoutUnit = thicknessValue.replace('mm', '');
-
-              item.separation = thicknessWithoutUnit
-
-              sumWeight += item.width * item.height * item.quantity / 1000000 * item.separation * 2.5 * 1;
-
-            });
-            produceList.value[j].detail[0].weight = sumWeight
+  console.log(printProject)
+      if(props.printProject!=null){
+        request.post(`/processCard/getSelectPrintProject/${printProject}`).then((res) => {
+          if (res.code == 200) {
+            console.log(res.data.data)
+            load(res.data.data)
+          } else {
+            ElMessage.warning(res.msg)
+            router.push("/login")
           }
-          //澶勭悊鍚堝苟鎵撳嵃
-          if (printMerge !== null && printMerge !== undefined && printMerge !== "") {
-
-            produceList.value.forEach(item => {
-              item.detail[0].technologyNumber = printMerge;
-            });
-
-            //鍚堝苟鎵撳嵃宸ヨ壓娴佺▼澶勭悊
-            if (like == null) {
-              let process = produceList.value[0].detail[0].process
-              let indexOfJiaJiao = process.indexOf('澶硅兌');
-              if (indexOfJiaJiao !== -1) {
-                // 浣跨敤 substring 鎴彇 "澶硅兌" 鍚庨潰鐨勯儴鍒嗭紝鍖呮嫭 "澶硅兌" 鏈韩
-                let afterJiaJiao = process.substring(indexOfJiaJiao).trim();
-                produceList.value.forEach(item => {
-                  item.detail[0].process = afterJiaJiao
-                })
-              }
-
-              let indexOfProceList = produceList.value[0].processList
-              let getProceList = indexOfProceList.findIndex(item => item.process === '澶硅兌');
-
-              if (getProceList !== -1) {
-                // 浣跨敤 filter 鏂规硶杩囨护鍑� "澶硅兌" 鍙婂叾涔嬪悗鐨勫璞�
-                produceList.value[0].processList = indexOfProceList.filter((item, index) => index >= getProceList);
-              }
-            }
-            }
-
-
-          produceList.value.forEach(item => {
-            let technologyNumberMerge = printMerge.split('').join(',');
-            item.detail[0].technologyNumberMerge = technologyNumberMerge
-          })
-          //澶勭悊缂栧彿鍒�
-          //瀹氫箟瀛樻斁缂栧彿鏁扮粍
-          const s01Values = [];
-          for (let i = 0; i < produceList.value.length; i++) {
-            const s01Values = [];
-            // 閬嶅巻 detailList 鏁扮粍锛屾彁鍙� S01 鍊煎埌 s01Values 鏁扮粍
-            if (produceList.value[i].detailList[0].other_columns != null
-                || produceList.value[i].detailList[0].other_columns != undefined) {
-              produceList.value[i].detailList.forEach(element => {
-                const otherColumnsObject = JSON.parse(element.other_columns);
-                const s01Value = otherColumnsObject.S01;
-                s01Values.push(s01Value || ''); // 濡傛灉 S01 鍊间负绌猴紝娣诲姞绌哄瓧绗︿覆鎴栬�呭叾浠栭粯璁ゅ��
-              });
-
-              // 灏� s01Values 涓殑鍊艰祴缁欐瘡涓鍗曡鎯呭璞$殑 s01Value 灞炴��
-              produceList.value[i].detailList.forEach((detail, index) => {
-                detail.s01Value = index < s01Values.length ? s01Values[index] : ''; // 璧嬪�肩粰 s01Value 灞炴��
-              });
-            }
-
+        })
+      }else{
+        request.post(`/processCard/getSelectPrinting/${merge}/${like}`, data.value).then((res) => {
+          if (res.code == 200) {
+            load(res.data.data)
+          } else {
+            ElMessage.warning(res.msg)
+            router.push("/login")
           }
-          //澶勭悊鍚岄厤缃墦鍗�
-          handleGetQRCode()
-          handleSummary()
-          AreaQuantitySummary()
-        } else {
-          ElMessage.warning(res.msg)
-          router.push("/login")
-        }
-      })
+        })
+      }
+
 
     }
 )
@@ -209,6 +145,91 @@
   }
 }
 
+
+const load = (data) => {
+  produceList.value = deepClone(data)
+  //澶勭悊鍗曠墖鍘氬害
+
+  for (let j = 0; j < produceList.value.length; j++) {
+    let sumWeight = 0
+    produceList.value[j].detailList.forEach((item, index) => {
+      // 瑙f瀽 separation 瀛楁鐨� JSON 瀛楃涓�
+      let separationObj = JSON.parse(item.separation);
+
+      // 鑾峰彇 thickness 鐨勫師濮嬪��
+      let thicknessValue = separationObj.thickness;
+
+      // 鍘婚櫎 'mm' 鍗曚綅
+      let thicknessWithoutUnit = thicknessValue.replace('mm', '');
+
+      item.separation = thicknessWithoutUnit
+
+      sumWeight += item.width * item.height * item.quantity / 1000000 * item.separation * 2.5 * 1;
+
+    });
+    produceList.value[j].detail[0].weight = sumWeight
+  }
+  //澶勭悊鍚堝苟鎵撳嵃
+  if (printMerge !== null && printMerge !== undefined && printMerge !== "") {
+
+    produceList.value.forEach(item => {
+      item.detail[0].technologyNumber = printMerge;
+    });
+
+    //鍚堝苟鎵撳嵃宸ヨ壓娴佺▼澶勭悊
+    if (like == null) {
+      let process = produceList.value[0].detail[0].process
+      let indexOfJiaJiao = process.indexOf('澶硅兌');
+      if (indexOfJiaJiao !== -1) {
+        // 浣跨敤 substring 鎴彇 "澶硅兌" 鍚庨潰鐨勯儴鍒嗭紝鍖呮嫭 "澶硅兌" 鏈韩
+        let afterJiaJiao = process.substring(indexOfJiaJiao).trim();
+        produceList.value.forEach(item => {
+          item.detail[0].process = afterJiaJiao
+        })
+      }
+
+      let indexOfProceList = produceList.value[0].processList
+      let getProceList = indexOfProceList.findIndex(item => item.process === '澶硅兌');
+
+      if (getProceList !== -1) {
+        // 浣跨敤 filter 鏂规硶杩囨护鍑� "澶硅兌" 鍙婂叾涔嬪悗鐨勫璞�
+        produceList.value[0].processList = indexOfProceList.filter((item, index) => index >= getProceList);
+      }
+    }
+  }
+
+
+  produceList.value.forEach(item => {
+    let technologyNumberMerge = printMerge.split('').join(',');
+    item.detail[0].technologyNumberMerge = technologyNumberMerge
+  })
+  //澶勭悊缂栧彿鍒�
+  //瀹氫箟瀛樻斁缂栧彿鏁扮粍
+  const s01Values = [];
+  for (let i = 0; i < produceList.value.length; i++) {
+    const s01Values = [];
+    // 閬嶅巻 detailList 鏁扮粍锛屾彁鍙� S01 鍊煎埌 s01Values 鏁扮粍
+    if (produceList.value[i].detailList[0].other_columns != null
+        || produceList.value[i].detailList[0].other_columns != undefined) {
+      produceList.value[i].detailList.forEach(element => {
+        const otherColumnsObject = JSON.parse(element.other_columns);
+        const s01Value = otherColumnsObject.S01;
+        s01Values.push(s01Value || ''); // 濡傛灉 S01 鍊间负绌猴紝娣诲姞绌哄瓧绗︿覆鎴栬�呭叾浠栭粯璁ゅ��
+      });
+
+      // 灏� s01Values 涓殑鍊艰祴缁欐瘡涓鍗曡鎯呭璞$殑 s01Value 灞炴��
+      produceList.value[i].detailList.forEach((detail, index) => {
+        detail.s01Value = index < s01Values.length ? s01Values[index] : ''; // 璧嬪�肩粰 s01Value 灞炴��
+      });
+    }
+
+  }
+  //澶勭悊鍚岄厤缃墦鍗�
+  handleGetQRCode()
+  handleSummary()
+  AreaQuantitySummary()
+}
+
 const AreaQuantitySummary = () => {
 
   for (let i = 0; i < produceList.value.length; i++) {
@@ -234,7 +255,7 @@
           <div style="float: left;"><input style="border: none;font-size: 28px;width: 70px;margin: 5px  "/></div>
           <div id="bj" style="float: right;font-size: 28px">{{ id + 1 }}</div>
           <div>{{ company.companyName }}</div>
-          <div>鐢熶骇娴佺▼鍗�</div>
+          <div>鐢熶骇娴佺▼鍗�<span v-if="printProject!=null">({{ printProject }})</span></div>
           <div  style="font-weight: bolder;display: flex;justify-content:space-between">
             <div>
               鎵撳嵃浜猴細{{user.user.userName}} &nbsp;&nbsp;
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeProject.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeProject.vue
index 31ef343..120746c 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeProject.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/OptimizeProject.vue
@@ -20,15 +20,21 @@
   detailPage.value = 3;
 };
 
+//鑾峰彇SetTrimming鐨勫��
+const dataForGlassInventory = ref();
+const handleProjectDetailData = (data) => {
+  dataForGlassInventory.value = data;
+};
+
 </script>
 
 <template >
  <div style="width: 100%;height: 100%">
    <div id="main-body">
-     <project-detail @changeDialog="changeDialog"/>
+     <project-detail @changeDialog="changeDialog"  @forward-data-to-grandparent="handleProjectDetailData"/>
    </div>
    <div id="main-footer">
-     <glass-inventory/>
+     <glass-inventory :receivedData="dataForGlassInventory"/>
    </div>
 
 
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 8d49dbf..d7bbaba 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
@@ -1,5 +1,5 @@
 <script setup>
-import {onMounted, reactive, ref} from "vue";
+import {nextTick, onMounted, reactive, ref, watch} from "vue";
 import {useI18n} from "vue-i18n";
 import request from "@/utils/request";
 import {ElMessage} from "element-plus";
@@ -92,6 +92,7 @@
           item.upTrim = 0;
         });
         xGrid.value.loadData(formattedData);
+        gridOptions.data = formattedData;
       } else {
       }
     } else {
@@ -105,17 +106,68 @@
   selectMaterialStore();
 });
 
+watch(() => props.receivedData, (newData) => {
+  if (newData) {
+    Trimming(newData);
+  }
+}, { immediate: true });
+
+const props = defineProps({
+  receivedData : {
+    type: Object,
+    required: false,
+    properties: {
+      quicksetLeft: { type: Number },
+      quicksetBottom: { type: Number },
+      quicksetRight: { type: Number },
+      quicksetTop: { type: Number }
+    }}
+});
+
+//鎺ュ彈SetTrimming鐨勫�� 锛堜慨杈癸級
+const Trimming = (receivedData) => {
+  nextTick(() => {
+    const data = gridOptions.data;
+    console.log('鎺ユ敹鍒扮殑receivedData:', receivedData);
+    console.log('琛ㄦ牸鍘熷鏁版嵁:', data);
+    if (data) {
+      try {
+        const updatedData = [];
+        for (let i = 0; i < data.length; i++) {
+          const item = data[i];
+          const updatedItem = {
+            ...item,
+            // 姝ゅ淇敼涓轰粠 receivedData 涓幏鍙栧搴旂殑鍊兼潵鏇存柊琛ㄦ牸鏁版嵁椤�
+            leftTrim: Number(receivedData.quicksetLeft),
+            downTrim: Number(receivedData.quicksetBottom),
+            rigthTrim: Number(receivedData.quicksetRight),
+            upTrim: Number(receivedData.quicksetTop),
+          };
+          updatedData.push(updatedItem);
+        }
+        gridOptions.data = updatedData;
+        xGrid.value.loadData(updatedData);
+      } catch (error) {
+        console.error('鏇存柊琛ㄦ牸鏁版嵁鏃跺嚭閿�:', error);
+        // 杩欓噷鍙互鏍规嵁瀹為檯闇�姹傛坊鍔犱竴浜涘洖婊氭搷浣滄垨鑰呮彁绀虹敤鎴风殑閫昏緫锛屾瘮濡傛樉绀轰竴涓敊璇彁绀烘绛�
+        ElMessage.error('鏇存柊琛ㄦ牸鏁版嵁鏃跺嚭鐜伴敊璇紝璇锋鏌ヨ緭鍏ユ垨鑱旂郴绠$悊鍛�');
+      }
+    } else {
+      console.warn('琛ㄦ牸鏁版嵁涓虹┖锛屾棤娉曟洿鏂扮(閲忓��');
+    }
+  });
+};
+
+
 </script>
 
 <template>
   <div style="width: 100%;height: 100%">
     <vxe-grid
-        @filter-change="filterChanged"
         height="100%"
         class="mytable-scrollbar"
         ref="xGrid"
         v-bind="gridOptions"
-        v-on="gridEvents"
     >
 
 
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 9bb5e38..5ccbddd 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
@@ -143,9 +143,7 @@
   },
 
 })
-let emit = defineEmits([
-  'changeDialog'
-])
+
 const handleCommand = async (command) => {
   await emit('changeDialog', command)
 }
@@ -225,6 +223,15 @@
   });
 };
 
+//涓浆绔欐帴鍙桽etTrimming鐨勫��
+const emit = defineEmits([
+  'changeDialog',
+  'forward-data-to-grandparent'
+]);
+
+const handleTrimmingData = (data) => {
+  emit('forward-data-to-grandparent', data);
+};
 
 </script>
 
@@ -294,7 +301,7 @@
                 title="璁剧疆淇竟"
                 destroy-on-close
                 style="width: 35%;height:80%;margin-top: 3vh;">
-              <set-trimming />
+              <set-trimming :closeDialog="closeDialog" @send-data-event="handleTrimmingData"/>
             </el-dialog>
 
             <el-button id="button" type="primary">淇濆瓨</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 13f666f..750bdf8 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
@@ -1,5 +1,7 @@
 <script setup>
 import {ref} from "vue";
+import {defineEmits} from 'vue';
+
 
 function setupComponent() {
   // 鍚勪釜杈撳叆妗嗙粦瀹氱殑鍊硷紝鍒濆鍖栦负0
@@ -37,6 +39,23 @@
 
 const check = ref(true)
 
+
+const emit = defineEmits(['send-data-event',]);
+const props = defineProps({
+  closeDialog: Function
+});
+
+const setTrimming = () => {
+  const dataToSend = {
+    quicksetTop: quicksetTop.value,
+    quicksetRight: quicksetRight.value,
+    quicksetBottom: quicksetBottom.value,
+    quicksetLeft: quicksetLeft.value
+  };
+  emit('send-data-event', dataToSend);
+  props.closeDialog(3);
+};
+
 </script>
 
 <template>
@@ -55,7 +74,7 @@
         <el-input-number v-model="quicksetLeft" class="left" placeholder="0"
                          controls-position="right" :step="0.1" :min="0"></el-input-number>
       </div>
-      <el-button type="primary" style="float: right; margin: 184px 0 0 13px;">搴旂敤</el-button>
+      <el-button type="primary" style="float: right; margin: 184px 0 0 13px;" @click="setTrimming">搴旂敤</el-button>
     </div>
 
     <div>
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 330e795..8420dc0 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
@@ -13,10 +13,12 @@
 import {Printer} from "@element-plus/icons-vue/global";
 import companyInfo from "@/stores/sd/companyInfo"
 import {remove} from "xe-utils";
+import PrintProcess from "@/components/pp/PrintProcess.vue";
 //璇█鑾峰彇
 const {t} = useI18n()
 
 let router = useRouter()
+const dialogTableVisible = ref(false)
 const dialogTableVisibleLabelXJTwo = ref(false)
 let rowClickIndex = ref(null)
 
@@ -44,6 +46,14 @@
   orderId: '',
   project: ''
 })
+
+//鎵撳嵃
+let printRow = ref({
+  list: null,
+  printMergeVal: null,
+  like: null,
+  project:null
+})
 const getTableRow = (row, type) => {
   switch (type) {
     case 'edit' :{
@@ -62,6 +72,11 @@
     case 'edit2' :{
       router.push({path: '/main/processCard/PrintLabel', query: { projectNo: row.project_no,type:3 }})
       break
+    }
+    case 'edit3' :{
+      printRow.value.project=row.project_no
+      console.log(printRow.value.project)
+      dialogTableVisible.value = true
     }
   }
 }
@@ -188,7 +203,7 @@
   //琛ㄥご鍙傛暟
   columns: [
     {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50},
-    {title: t('basicData.operate'), width: 140, slots: { default: 'button_slot' },fixed:"left"},
+    {title: t('basicData.operate'), width: 240, slots: { default: 'button_slot' },fixed:"left"},
     {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50},
     {
       field: 'project_no',
@@ -295,6 +310,10 @@
     }
   })
 }
+const printContent = ref({
+  id: 'child',
+
+})
 </script>
 
 <template>
@@ -342,6 +361,7 @@
           <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('machine.cutting')}}</el-button>
           <el-button @click="getTableRow(row,'edit1')" link type="primary" size="small">{{$t('machine.tempering')}}</el-button>
           <el-button @click="getTableRow(row,'edit2')" link type="primary" size="small">{{$t('components.finishedProduct')}}</el-button>
+          <el-button @click="getTableRow(row,'edit3')" link type="primary" size="small">{{$t('娴佺▼鍗�')}}</el-button>
         </template>
 
         <template #num1_filter="{ column, $panel }">
@@ -392,6 +412,24 @@
                                   :projectNo="labelRow.projectNo"
                                   style="width: 100%;height: 100%"/>
     </el-dialog>
+
+    <el-dialog
+        id="sizePrintCalrd"
+        v-model="dialogTableVisible"
+        :title="$t('processCard.print')"
+        destroy-on-close
+        style="width: 75%;height:75% ">
+      <template #header="{ close, titleId, titleClass }">
+        <el-button v-print="printContent" :icon="Printer" circle />
+      </template>
+      <print-process
+          id="child"
+          :printLike="printRow.like"
+          :printList="printRow.list"
+          :printMerge="printRow.printMergeVal"
+          :printProject="printRow.project"
+          style="width: 100%;height: 100%"/>
+    </el-dialog>
   </div>
 </template>
 
@@ -412,4 +450,10 @@
   width: 100%;
 }
 
+:deep(#sizePrintCalrd .el-dialog__body) {
+  height: 85%;
+  width: 100%;
+  overflow-y: auto;
+}
+
 </style>
\ No newline at end of file
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 efbf26a..9f9ec0a 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
@@ -189,6 +189,13 @@
         return Result.seccess(flowCardService.getSelectPrintingSv(object,printMerge,printLike));
     }
 
+    @ApiOperation("宸ョ▼鎵撳嵃娴佺▼鍗℃暟鎹煡璇㈡帴鍙�")
+    @PostMapping("/getSelectPrintProject/{printProject}")
+    public Result getSelectPrintProject(
+            @PathVariable String printProject) {
+        return Result.seccess(flowCardService.getSelectPrintProject(printProject));
+    }
+
     @ApiOperation("鎵撳嵃鏍囩鏁版嵁鏌ヨ鎺ュ彛")
     @PostMapping("/getSelectPrintLabel/{projectNo}/{type}")
     public Result getSelectPrintLabel(@PathVariable String projectNo,@PathVariable String type) {
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 56915b5..b409ee8 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
@@ -196,4 +196,6 @@
     Boolean deleteProcessMp(String processId, String technologyNumber);
 
     Boolean updateOrderProcessMp(String orderId, String number, String technologyNumber, String orderprocess);
+
+    List<FlowCard> getFlowCardListPrintProject(String printProject);
 }
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 e409c94..7acc74e 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
@@ -362,6 +362,67 @@
         return map;
     }
 
+    public Map<String, Object> getSelectPrintProject(String printProject) {
+
+        Map<String, Object> map = new HashMap<>();
+        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
+        List<FlowCard> flowCardList = flowCardMapper.getFlowCardListPrintProject(printProject);
+        if (!flowCardList.isEmpty()) {
+            for (FlowCard flowCard : flowCardList) {
+                Map<String, Object> itemmap = new HashMap<>();
+
+
+                    //鏄惁鍖呭惈鍒囧壊
+                    //boolean containsCutting = flowCard.getProcess().contains("鍒囧壊");
+                    String processSub=flowCard.getProcess().substring(0, 2);
+                    if(processSub.equals("澶硅兌") || processSub.equals("涓┖")){
+                        itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId()));
+
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getProcess());
+                        itemmap.put("detailList", detailList);
+                    }
+                    else {
+                        itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId()));
+
+                        List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getProcess());
+                        itemmap.put("detailList", detailList);
+                    }
+
+
+
+                //宸ヨ壓娴佺▼
+                //List<Map<String, Object>> processList = flowCardMapper.getProcessList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
+                String input = flowCard.getProcess();
+                String delimiter = "->";
+
+                // 鍒嗗壊瀛楃涓�
+                String[] parts = input.split(delimiter);
+
+                // 鍒涘缓 List<Map<String, Object>>
+                List<Map<String, Object>> processList = new ArrayList<>();
+
+                // 閬嶅巻鍒嗗壊鍚庣殑閮ㄥ垎骞跺皢鍏跺瓨鍏� List<Map<String, Object>>
+                for (int i = 0; i < parts.length; i++) {
+                    Map<String, Object> maps = new HashMap<>();
+                    maps.put("id", i); // 娣诲姞涓�涓储寮曞瓧娈�
+                    maps.put("process", parts[i]); // 娣诲姞瀹為檯鐨勫��
+
+                    processList.add(maps);
+                }
+
+                itemmap.put("processList", processList);
+                //  itemmap.put("numberList", numberList);
+                itemmap.put("count", flowCardMapper.countFlowCard(flowCard.getOrderId()));
+                itemmap.put("remarkList", flowCardMapper.remakList(flowCard.getProcessId()));
+                list.add(itemmap);
+
+            }
+        }
+
+        map.put("data", list);
+        return map;
+    }
+
     public Boolean updateComposingSv(Map<String, Object> object) {
         List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("composing")), FlowCard.class);
         if (!flowCardList.isEmpty()) {
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 e43b65a..8d014de 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -2509,4 +2509,33 @@
         update sd.order_glass_detail set process=#{orderprocess}
         where order_id=#{orderId} and order_number=#{number} and technology_number=#{technologyNumber}
     </update>
+
+    <select id="getFlowCardListPrintProject">
+        select fc.id,
+               fc.order_id,
+               fc.process_id,
+               o.customer_name,
+               o.project,
+               fc.order_number,
+               ogd.technology_number,
+               ogd.glass_address,
+               sum(fc.quantity)                                                          as quantity,
+               round(sum(ogd.child_width * ogd.child_height * fc.quantity / 1000000), 2) as total_area,
+               od.product_name,
+               ogd.glass_child,
+               fc.founder,
+               date(fc.splitFrame_time) as splitFrame_time,
+            /* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as  print_status*/
+               fc.print_status,
+               ogd.process
+        from pp.flow_card as fc
+                 left join sd.order_glass_detail as ogd
+                           on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and
+                              ogd.technology_number = fc.technology_number
+                 left join sd.order_detail as od on od.order_id = fc.order_id and od.order_number = fc.order_number
+                 left join sd.`order` as o on o.order_id = fc.order_id
+        where fc.project_no = #{printProject}
+        GROUP BY fc.process_id, ogd.technology_number
+        order by fc.process_id, ogd.technology_number
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
index 4772527..2d45565 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -337,16 +337,11 @@
     </update>
 
     <select id="selectDifferentSize">
-
     select a.order_number,count(a.order_number),a.order_id from(select order_id,order_number
     from sd.order_glass_detail ogd
     where ogd.order_id = #{orderId}
     group by ogd.order_number,ogd.child_height,child_width)
     as a
-    inner join order_detail od
-        on od.order_id = a.order_id
-        and od.order_number = a.order_number
-        and (od.bend_radius is null or od.bend_radius = '')
     group by a.order_number
     having count(a.order_number) > 1
     </select>

--
Gitblit v1.8.0