From 5af5cfaab5aa3c11ae1a4cb22dfaf808e12ed5e9 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期二, 04 三月 2025 11:03:32 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml                     |    6 
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue                 |   13 +
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java            |    8 +
 north-glass-erp/src/main/java/com/example/erp/controller/pp/TagStyleController.java    |   11 +
 north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java |    5 
 north-glass-erp/src/main/resources/mapper/sd/CustomerMapper.xml                        |    5 
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml                              |  118 +++++++++++++++++++
 north-glass-erp/src/main/java/com/example/erp/dto/sd/CustomerDTO.java                  |    2 
 north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue       |   10 
 north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintFlowCard.vue        |   77 +++++++++++-
 north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue                  |   19 ++
 north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java |    7 
 north-glass-erp/src/main/java/com/example/erp/service/pp/TagStyleService.java          |   25 +++
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java          |   38 ++++--
 14 files changed, 297 insertions(+), 47 deletions(-)

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 4f7bf43..30cb948 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue
@@ -962,6 +962,21 @@
 
 }
 
+const selectRecordsData = ref({
+  printList: []
+})
+// 鐩戝惉鎵撳嵃娆℃暟浜嬩欢
+const printNumber = () => {
+  selectRecordsData.value.printList = JSON.parse(props.list)
+  request.post(`/tagStyle/updatePrintNumber`, selectRecordsData.value).then((res) => {
+    if (res.code == 200 && res.data === true) {
+    } else {
+
+      ElMessage.warning(t('basicData.msg.saveFail'))
+
+    }
+  })
+}
 </script>
 
 <template>
@@ -1053,8 +1068,8 @@
       destroy-on-close
       style="width: 80%;height:75% ">
     <template #header="{ close, titleId, titleClass }">
-      <el-button @click="printOrder(2)" :icon="View" circle/>
-      <el-button @click="printOrder(1)" :icon="Printer" circle/>
+      <el-button @click="printOrder(2);printNumber()" :icon="View" circle/>
+      <el-button @click="printOrder(1);printNumber()" :icon="Printer" circle/>
 
     </template>
     <print-custom-label id="childLabel"
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
index ff1be9e..3f7f816 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
@@ -223,6 +223,7 @@
 request.post(`/processCard/selectPrintDetails/${inquiryMode}/${type}`, data.value).then((res) => {
 
   if (res.code == 200) {
+    console.log(res.data.data)
     let newDataCollection = [];
     for (let i = 0; i < res.data.data.length; i++) {
       res.data.data[i].detail.forEach((item) => {
@@ -765,12 +766,12 @@
 };
 
 
-// 鐩戝惉鎵撳嵃瀹屾垚浜嬩欢
+
+// 鐩戝惉鎵撳嵃娆℃暟浜嬩欢
 const printNumber = () => {
 
   selectRecordsData.value.printList = selectRecords
-  let printState = 0
-  request.post(`/processCard/updatePrintState/${printState}`, selectRecordsData.value).then((res) => {
+  request.post(`/processCard/updatePrintNumber`, selectRecordsData.value).then((res) => {
     if (res.code == 200 && res.data === true) {
     } else {
 
@@ -779,7 +780,6 @@
     }
   })
 }
-
 </script>
 
 <template>
@@ -897,7 +897,7 @@
         destroy-on-close
         style="width: 80%;height:75% ">
       <template #header="{ close, titleId, titleClass }">
-        <el-button v-print="printContentLabel" :icon="Printer" circle/>
+        <el-button v-print="printContentLabel" :icon="Printer" circle @click="printNumber"/>
       </template>
       <print-custom-label id="childLabel"
                           :faceOrientation="labelRow.faceOrientation"
diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue
index f432d1d..2ceed2b 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue
@@ -122,7 +122,7 @@
         "{display:none}@media print{" +
         "@page {" +
         "    size: auto; " +
-        "    margin: 13mm 4mm 2mm 4mm; " +
+        "    margin: 13mm 4mm 0mm 4mm; " +
         "  }body>:not(#" +
         printId +
         "){display:none !important}body>#" +
@@ -156,8 +156,8 @@
   <el-input v-if="!company.showDeliveryCreator" v-model="remarks" style="background-color: transparent;border: none;margin-top: -20px;width: 100px"/>
   <div id="printFlowCard" >
 <!--     鍗婃垚鍝佹爣绛�-->
-    <div v-if="type!=='3'" id="entirety" v-for="(item,id) in labelList" >
-
+    <template v-for="(item,id) in labelList">
+    <div v-if="type!=='3'" id="entirety" >
       <div class="row1" >
 <!--閽㈠寲鐗堝浘搴忓彿锛岄挗鍖栫増鍥鹃噷鐨勯『搴�-->
 <!--        <div class="cell" v-if="item.heat_layout_id!==undefined">{{ item.heat_layout_id }}/{{ item.heat_layout_sort }}</div>-->
@@ -205,6 +205,8 @@
       </div>
 
     </div>
+    <div class="element-to-break-after" v-if="(id+1)%44==0"></div>
+    </template>
 
 
 
@@ -251,6 +253,7 @@
           <span style="font-size: 10pt">{{item.glass_child}}</span>&nbsp;
         </div>
       </div>
+      <div class="element-to-break-after" v-if="(id+1)%44==0"></div>
     </template>
 
   </div>
@@ -360,6 +363,10 @@
   font-size: 6pt;
 }
 
+.element-to-break-after {
+  page-break-after: always;
+}
+
 
 
 
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 8d9f0b7..564d38c 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
@@ -44,6 +44,19 @@
 let produceList = ref([])
 let titleStyleVisible = ref(false)
 
+//瀹氫箟鍒嗘灦鐘舵��
+const optionVal = ref('1')
+const options = [
+  {
+    value: '0',
+    label: '鏈垎鏋�',
+  },
+  {
+    value: '1',
+    label: '宸插垎鏋�',
+  },
+]
+
 
 const form = reactive({
   date1: '',
@@ -104,7 +117,7 @@
 let endTime = orderInfo.workOrderDate[1]
 let orderId=form.orderId
 let project=form.project
-
+let state = optionVal.value
 if (orderId==''){
   orderId=null
 }
@@ -114,7 +127,7 @@
 
 //绗竴娆″姞杞芥暟鎹�
 
-request.post(`/processCard/selectPrintFlowCard/${startTime}/${endTime}/${orderId}/${project}/${userId}`, filterData.value).then((res) => {
+request.post(`/processCard/selectPrintFlowCard/${startTime}/${endTime}/${orderId}/${project}/${userId}/${state}`, filterData.value).then((res) => {
 
   if (res.code == 200) {
     produceList = produceList.value.concat(deepClone(res.data.data))
@@ -145,7 +158,9 @@
   if (project==''){
     project=null
   }
-  request.post(`/processCard/selectPrintFlowCard/${startTime}/${endTime}/${orderId}/${project}/${userId}`, filterData.value).then((res) => {
+  let state = optionVal.value
+
+  request.post(`/processCard/selectPrintFlowCard/${startTime}/${endTime}/${orderId}/${project}/${userId}/${state}`, filterData.value).then((res) => {
     if (res.code == 200) {
 
       xGrid.value.loadData(res.data.data)
@@ -232,7 +247,7 @@
       //{'code': 'titleStyle', 'name': t('processCard.labelStyle'),status: 'primary'},
       {code: 'detailsPrint', name: t('processCard.detailPrinting'), status: 'primary'},
       {code: 'detailsProcessPrint', name: t('processCard.detailsPrintedSeparately'), status: 'primary'},
-
+      {code: 'orderPrint', name: '璁㈠崟鎵撳嵃', status: 'primary'},
     ],
 
     zoom: true,
@@ -272,7 +287,10 @@
             ElMessage.warning(t('searchOrder.msgList.checkOrder'))
             return
           }
-
+          if (optionVal.value != '1'){
+            ElMessage.warning('璇烽�夋嫨宸插垎鏋惰鍗曟墦鍗�')
+            return
+          }
           let orderIdList = ""
           for (let i = 0; i < selectRecords.length; i++) {
             if (i + 1 === selectRecords.length) {
@@ -292,7 +310,10 @@
             ElMessage.warning(t('searchOrder.msgList.checkOrder'))
             return
           }
-
+          if (optionVal.value != '1'){
+            ElMessage.warning('璇烽�夋嫨宸插垎鏋惰鍗曟墦鍗�')
+            return
+          }
           let orderIdList = ""
           for (let i = 0; i < selectRecords.length; i++) {
             if (i + 1 === selectRecords.length) {
@@ -312,7 +333,10 @@
             ElMessage.warning(t('searchOrder.msgList.checkOrder'))
             return
           }
-
+          if (optionVal.value != '1'){
+            ElMessage.warning('璇烽�夋嫨宸插垎鏋惰鍗曟墦鍗�')
+            return
+          }
           let orderIdList = ""
           for (let i = 0; i < selectRecords.length; i++) {
             if (i + 1 === selectRecords.length) {
@@ -323,6 +347,29 @@
           }
           let array = orderIdList.split('|');
           router.push({path: '/main/processCard/PrintFlowCardDetails', query: {printList: JSON.stringify(selectRecords),checkedValue:checkedValue.value.value,type:2}})
+          return;
+
+        }
+        case 'orderPrint': {
+          const selectRecords = $grid.getCheckboxRecords()
+          if(selectRecords===null ||selectRecords===''||selectRecords.length===0){
+            ElMessage.warning(t('searchOrder.msgList.checkOrder'))
+            return
+          }
+          if (optionVal.value != '0'){
+            ElMessage.warning('璇烽�夋嫨鏈垎鏋惰鍗曟墦鍗�')
+            return
+          }
+          let orderIdList = ""
+          for (let i = 0; i < selectRecords.length; i++) {
+            if (i + 1 === selectRecords.length) {
+              orderIdList += selectRecords[i].order_id
+            } else {
+              orderIdList += selectRecords[i].order_id + "|"
+            }
+          }
+          let array = orderIdList.split('|');
+          router.push({path: '/main/processCard/PrintFlowCardDetails', query: {printList: JSON.stringify(selectRecords),checkedValue:checkedValue.value.value,type:3}})
           return;
 
         }
@@ -351,6 +398,22 @@
         &nbsp;&nbsp;
         <el-input v-model="form.project" clearable :placeholder="$t('order.project')" style="width: 110px"></el-input>
         &nbsp;&nbsp;
+
+      <el-select
+          :default-first-option="true"
+          ref="getSelect" style="width: 130px"
+          v-model="optionVal"
+          class="m-2"
+          @change="getWorkOrder"
+      >
+        <el-option
+            v-for="item in options"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+        />
+      </el-select>
+      &nbsp;&nbsp;
         <el-button
             id="select"
             :icon="Search"
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 eb29361..c7111ab 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
@@ -159,15 +159,16 @@
 
     @ApiOperation("娴佺▼鍗℃墦鍗版煡璇㈡帴鍙�")
     @SaCheckPermission("selectPrintFlowCard.search")
-    @PostMapping("/selectPrintFlowCard/{selectTime1}/{selectTime2}/{orderId}/{project}/{userId}")
+    @PostMapping("/selectPrintFlowCard/{selectTime1}/{selectTime2}/{orderId}/{project}/{userId}/{state}")
     public Result selectPrintFlowCard(
             @PathVariable Date selectTime1,
             @PathVariable Date selectTime2,
             @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, flowCard));
+        return Result.seccess(flowCardService.selectPrintFlowCardSv(selectTime1, selectTime2, orderId, project,userId,state, flowCard));
     }
 
     @ApiOperation("娴佺▼鍗℃槑缁嗘煡璇㈡帴鍙�")
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/TagStyleController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/TagStyleController.java
index cdb38e2..82e149b 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/TagStyleController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/TagStyleController.java
@@ -3,8 +3,11 @@
 import com.example.erp.common.Result;
 import com.example.erp.entity.pp.TagStyle;
 import com.example.erp.service.pp.TagStyleService;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
 
 @RestController
 @RequestMapping("tagStyle")
@@ -45,4 +48,12 @@
     public Result addTag(@RequestBody TagStyle tagStyle){
         return Result.seccess(tagStyleService.addTag(tagStyle));
     }
+
+    @ApiOperation("淇敼鏍囩鎵撳嵃娆℃暟")
+    @PostMapping("/updatePrintNumber")
+    public Result updatePrintNumber(
+            @RequestBody Map<String, Object> object
+    ) {
+        return Result.seccess(tagStyleService.updatePrintNumberSv(object));
+    }
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/dto/sd/CustomerDTO.java b/north-glass-erp/src/main/java/com/example/erp/dto/sd/CustomerDTO.java
index 34219ff..a7f6319 100644
--- a/north-glass-erp/src/main/java/com/example/erp/dto/sd/CustomerDTO.java
+++ b/north-glass-erp/src/main/java/com/example/erp/dto/sd/CustomerDTO.java
@@ -21,7 +21,7 @@
     @ExcelProperty("浜у搧")
     private String productName;
     @ExcelProperty("鏁伴噺")
-    private Integer quantity;
+    private Double quantity;
     @ExcelProperty("闈㈢Н")
     private Double area;
     @ExcelProperty("鍗曚环")
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 d6ef421..ac9c690 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
@@ -71,7 +71,7 @@
     Boolean deleteReportingWork(String processId);
     Boolean deleteReportingWorkByOrderId(String orderId);
 
-    List<Map<String, String>> selectPrintFlowCardMp(Date selectTime1, Date selectTime2, String orderId, String project, FlowCard flowCard);
+    List<Map<String, String>> selectPrintFlowCardMp(Date selectTime1, Date selectTime2, String orderId, String project, Integer state, FlowCard flowCard);
 
     List<Map<String, String>> selectPrintFlowCard(Date selectTime1, Date selectTime2);
 
@@ -235,4 +235,10 @@
     Boolean revokeComposing(String processId);
 
     Integer selectProjectNo(String processId);
+
+    List<Map<String, String>> selectPrintDetailsMp2(String orderId);
+
+    List<Map<String, Object>> getPrintOrderDataDetails(String orderId, Integer orderNumber, Integer printQuantity);
+
+    Boolean updatePrintNumberMp(String processId, Integer orderNumber);
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
index 24dca0a..7f8ba77 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
@@ -168,7 +168,7 @@
             sysError.setError(e+Arrays.toString(e.getStackTrace()));
             sysError.setFunc("saveMaterialOutbound");
             sysErrorService.insert(sysError);
-            saveState = "false1";
+            saveState = "false";
 
         }
         return saveState;
@@ -343,7 +343,10 @@
                     for (MaterialOutboundDetail materialOutboundDetail : materialOutboundDetailLists) {
                         //杩樺師鐗╂枡搴撳瓨鏁�
                         materialInventoryMapper.updateMaterialInventoryAvailableInt(materialOutboundDetail.getInventoryId(), materialOutboundDetail.getOutboundQuantity());
-
+                        if(materialOutboundDetail.getUseId()!=null){
+                            //杩樺師浼樺寲宸ョ▼搴撳瓨鏁�
+                            materialInventoryMapper.updateMaterialInventoryAvailableOptInt(materialOutboundDetail.getUseId(), materialOutboundDetail.getOutboundQuantity());
+                        }
                     }
                 }
 
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 b7ae99f..a6c0f97 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
@@ -219,7 +219,7 @@
         return map;
     }
 
-    public Object selectPrintFlowCardSv(Date selectTime1, Date selectTime2, String orderId, String project, String userId, FlowCard flowCard) {
+    public Object selectPrintFlowCardSv(Date selectTime1, Date selectTime2, String orderId, String project, String userId, Integer state, FlowCard flowCard) {
         if ("null".equals(orderId)) {
             orderId = "";
         }
@@ -227,7 +227,7 @@
             project = "";
         }
         Map<String, Object> map = new HashMap<>();
-        map.put("data", flowCardMapper.selectPrintFlowCardMp(selectTime1, selectTime2, orderId, project, flowCard));
+        map.put("data", flowCardMapper.selectPrintFlowCardMp(selectTime1, selectTime2, orderId, project,state, flowCard));
         String roleId = flowCardMapper.selectUserMp(userId);
         map.put("user", roleId);
         return map;
@@ -776,10 +776,12 @@
         if (!flowCardList.isEmpty()) {
             for (FlowCard flowCard : flowCardList) {
                 Map<String, Object> itemmap = new HashMap<>();
-                if (type == 1) {
+                if (type == 1) {//鏄庣粏鎵撳嵃
                     itemmap.put("detail", flowCardMapper.selectPrintDetailsMp(flowCard.getOrderId()));
-                } else if (type == 2) {
+                } else if (type == 2) {//鏄庣粏鍒嗘灦鎵撳嵃
                     itemmap.put("detail", flowCardMapper.selectPrintDetailsMp1(flowCard.getOrderId()));
+                }else if (type == 3) {//璁㈠崟鎵撳嵃
+                    itemmap.put("detail", flowCardMapper.selectPrintDetailsMp2(flowCard.getOrderId()));
                 }
 
                 list.add(itemmap);
@@ -799,20 +801,28 @@
 
             if (lableType != 2) {//鎴愬搧鏍囩
                 for (FlowCard flowCard : flowCardList) {
+                    String orderId = flowCard.getOrderId();
                     String processId = flowCard.getProcessId();
                     String orderNumber = flowCard.getOrderNumber().toString();
+                       if (processId!=null){
+                           // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
+                           if (processedProcessIds.contains(processId) && processedProcessIds.contains(orderNumber)) {
+                               continue;
+                           }
+                           Map<String, Object> itemmap = new HashMap<>();
+                           itemmap.put("data", flowCardMapper.getPrintCustomDataDetails(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
+                           list.add(itemmap);
 
-                    // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
-                    if (processedProcessIds.contains(processId) && processedProcessIds.contains(orderNumber)) {
-                        continue;
-                    }
-                    Map<String, Object> itemmap = new HashMap<>();
-                    itemmap.put("data", flowCardMapper.getPrintCustomDataDetails(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
-                    list.add(itemmap);
+                           // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
+                           processedProcessIds.add(processId);
+                           processedProcessIds.add(orderNumber);
+                       } else{
 
-                    // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
-                    processedProcessIds.add(processId);
-                    processedProcessIds.add(orderNumber);
+                           Map<String, Object> itemmap = new HashMap<>();
+                           itemmap.put("data", flowCardMapper.getPrintOrderDataDetails(flowCard.getOrderId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
+                           list.add(itemmap);
+                       }
+
                 }
             } else {//灏忕墖鏍囩
                 for (FlowCard flowCard : flowCardList) {
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/TagStyleService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/TagStyleService.java
index 7ceda70..9a591b1 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/TagStyleService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/TagStyleService.java
@@ -1,20 +1,28 @@
 package com.example.erp.service.pp;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.example.erp.entity.pp.FlowCard;
 import com.example.erp.entity.pp.TagStyle;
+import com.example.erp.mapper.pp.FlowCardMapper;
 import com.example.erp.mapper.pp.TagStyleMapper;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 @Service
 @DS("pp")
 public class TagStyleService {
     private final TagStyleMapper tagStyleMapper;
 
-    public TagStyleService(TagStyleMapper tagStyleMapper) {
+    final
+    FlowCardMapper flowCardMapper;
+
+    public TagStyleService(TagStyleMapper tagStyleMapper, FlowCardMapper flowCardMapper) {
         this.tagStyleMapper = tagStyleMapper;
+        this.flowCardMapper = flowCardMapper;
     }
 
     public Boolean saveTag(TagStyle tagStyle) {
@@ -47,4 +55,17 @@
         tagStyle.setId(null);
         return tagStyleMapper.insert(tagStyle)>0;
     }
+
+    public Boolean updatePrintNumberSv(Map<String, Object> object) {
+        List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
+        if (!flowCardList.isEmpty()) {
+            for (FlowCard flowCard : flowCardList) {
+                // 鏇存柊鎵撳嵃鐘舵��
+                flowCardMapper.updatePrintNumberMp( flowCard.getProcessId(), flowCard.getOrderNumber());
+            }
+            return true;
+        } else {
+            return false;
+        }
+    }
 }
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 98f824e..aff91d4 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -515,7 +515,7 @@
         where date(create_time)>=#{selectTime1} and date(create_time) &lt;= #{selectTime2}
           and position(#{orderId} in order_id)
           and position(#{project} in project)
-          and processing_card >0
+          and if(#{state}=0,(order_review >0 and processing_card =0),processing_card >0)
         order by create_time desc
     </select>
 
@@ -2316,7 +2316,7 @@
                fc.founder,
                date(fc.splitFrame_time)                                               as splitFrame_time,
             /* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as  print_status*/
-               fc.print_status,
+               ifnull(fc.print_number,0) as  print_status,
                ogd.process,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                  AS glassNumber,
                od.order_number,
@@ -2349,7 +2349,7 @@
                fc.founder,
                date(fc.splitFrame_time)                                               as splitFrame_time,
             /* if(fc.print_status=0,'鏈墦鍗�','宸叉墦鍗�') as  print_status*/
-               fc.print_status,
+               ifnull(fc.print_number,0) as  print_status,
                ogd.process,
                JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                  AS glassNumber,
                od.order_number,
@@ -2858,7 +2858,7 @@
     </select>
 
     <select id="flowCardToOptimizeCount">
-        select count(*) from pp.flow_card where order_id = #{orderId} and engineering_occupancy=1
+        select count(*) from pp.flow_card where order_id = #{orderId} and project_no is not null
     </select>
 
     <select id="getFlowCardDetail" >
@@ -2935,4 +2935,114 @@
         FROM flow_card
         WHERE process_id= #{processId} and project_no IS not NULL;
     </select>
+
+    <select id="selectPrintDetailsMp2">
+        select ogd.id,
+               ogd.order_id,
+               o.customer_name,
+               o.project,
+               ogd.technology_number,
+               ogd.glass_address,
+               (od.quantity)                                                          as quantity,
+               (od.quantity)                                                          as printQuantity,
+               round((ogd.child_width * ogd.child_height * od.quantity / 1000000), 2) as total_area,
+               od.product_name,
+               ogd.glass_child,
+               ogd.process,
+               JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01'))                  AS glassNumber,
+               od.order_number,
+               ogd.child_width as width,
+               ogd.child_height as height
+        from sd.order_glass_detail as ogd
+                 left join sd.order_detail as od on od.order_id = ogd.order_id and od.order_number = ogd.order_number
+                 left join sd.`order` as o on o.order_id = ogd.order_id
+        where ogd.order_id = #{orderId}
+        GROUP BY od.order_number
+        order by od.order_number
+    </select>
+
+    <select id="getPrintOrderDataDetails">
+        select o.order_id                                            as orderId,
+               project,
+               customer_id                                           as customerId,
+               o.customer_name                                       as customerName,
+               order_type                                            as orderType,
+               order_classify                                        as orderClassify,
+               batch,
+               o.icon,
+               pack_type                                             as packType,
+               delivery_date                                         as deliveryDate,
+               al_type                                               as alType,
+               money,
+               contract_id                                           as contractId,
+               customer_batch                                           customerBatch,
+               contacts,
+               delivery_address                                      as deliveryAddress,
+               od.processing_note                                    as processingNote,
+               width,
+               height,
+               #{printQuantity}                                      as quantity,
+               CONCAT(
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+                       ' X ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+                       ' = ',#{printQuantity} )      as size,
+
+               CONCAT(
+                   od.order_number,')  ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
+                       ' X ',
+                       TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
+                       ' = ',#{printQuantity} )      as numberSize,
+            od.order_number                                       as orderNumber,
+            ogd.technology_number                                  as technologyNumber,
+            od.building_number                                    as buildingNumber,
+            od.product_name                                       as productName,
+            od.edging_type                                        as edgingType,
+            od.remarks,
+            c.customer_abbreviation                               as customerAbbreviation,
+            p.product_abbreviation                                as productAbbreviation,
+            ''                                         as processId,
+            o.create_time                                         as createTime,
+            JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber,
+            JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber,
+            JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS colourCeramicGlaze,
+            JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS remarks1,
+            JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS remarks2,
+            JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S06')) AS remarks3,
+            JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S07')) AS remarks4,
+            JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S08')) AS remarks5,
+            p.remarks                                             as filmNumber,
+            od.bend_radius                                        as bendRadius,
+            od.other_columns,
+            ogd.glass_child                                       as glassChild,
+            ogd.glass_address                                     as glassAddress,
+            JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color'))  AS color,
+            '鏂囨湰' as custom1,
+            '鏂囨湰' as custom2,
+            '鏂囨湰' as custom3,
+            '鏂囨湰' as custom4,
+            '鏂囨湰' as custom5,
+            od.quantity
+        from sd.order as o
+            left join sd.order_detail as od on o.order_id = od.order_id
+            left join sd.product as p on p.id = od.product_id
+            left join sd.customer as c on c.id = o.customer_id
+            left join sd.order_glass_detail as ogd
+            on ogd.order_id = od.order_id and ogd.order_number = od.order_number
+            left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number and
+            pd.glass_sort = ogd.technology_number
+
+        where od.order_id = #{orderId}
+          and od.order_number = #{orderNumber}
+        group by od.order_number, width, height
+        order by od.order_id
+    </select>
+
+    <select id="updatePrintNumberMp">
+        update pp.flow_card
+        set print_number = ifnull(print_number,0) + 1
+        where process_id = #{processId}
+          and order_number = #{orderNumber}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/resources/mapper/sd/CustomerMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/CustomerMapper.xml
index c0e41ee..35022ef 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/CustomerMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/CustomerMapper.xml
@@ -279,6 +279,7 @@
           and date(d.create_time) &lt;= #{endDate}
           and d.customer_id = #{orderDetail.order.customerId}
           and om.money is not null
+          and om.money >0
         group by d.delivery_id, o.order_id, om.`column`
 
         UNION ALL
@@ -318,7 +319,7 @@
         where date(o.create_time) >= #{startDate}
           and date(o.create_time) &lt;= #{endDate}
           and o.customer_id = #{orderDetail.order.customerId}
-          and o.create_order>0
+          and o.order_review>0
         group by od.order_id,od.product_id
 
         UNION ALL
@@ -338,7 +339,9 @@
         where date(o.create_time) >= #{startDate}
           and date(o.create_time) &lt;= #{endDate}
           and o.customer_id = #{orderDetail.order.customerId}
+          and o.order_review>0
           and om.money is not null
+          and om.money >0
         group by o.order_id, om.`column`
 
     </select>
diff --git a/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
index 2477586..5a7f36e 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
@@ -258,7 +258,7 @@
     <select id="exportOrderSummary"  >
         SELECT *
         from sd.`order` as b
-        where  date(b.create_time)>=#{dates[0]} and date(b.create_time) &lt;= #{dates[1]} and b.create_order>0
+        where  date(b.create_time)>=#{dates[0]} and date(b.create_time) &lt;= #{dates[1]} and b.order_review>0
         order by b.id desc
     </select>
 
@@ -565,7 +565,7 @@
                    on d.type_id = c.type_id
          left join sd.basic_glass_type as e
                    on e.type_id = d.belong
-        where  date(a.create_time)>=#{dates[0]} and date(a.create_time) &lt;= #{dates[1]} and b.create_order>0
+        where  date(a.create_time)>=#{dates[0]} and date(a.create_time) &lt;= #{dates[1]} and b.order_review>0
     </select>
 
 
@@ -978,7 +978,7 @@
                  left join sd.basic_glass_type as e
                            on e.type_id = d.belong
         where date(b.create_time) >= #{dates[0]}
-          and date(b.create_time) &lt;= #{dates[1]} and b.create_order>0
+          and date(b.create_time) &lt;= #{dates[1]} and b.order_review>0
         group by b.order_id, a.product_id
         order by b.order_id desc
     </select>

--
Gitblit v1.8.0