From 5e26543d85895c57d614e2e0cfabf1fbc9423681 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 11 七月 2024 10:32:33 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue                      |   10 ++--
 north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java                     |    1 
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java            |    4 +
 north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue                 |   35 ++++++++++++++++-
 north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java             |    1 
 north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java |    8 ++-
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java          |   13 +++++-
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml                              |   48 ++++++++++++++++++++++++
 8 files changed, 106 insertions(+), 14 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 25cf76e..3f89757 100644
--- a/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
+++ b/north-glass-erp/northglass-erp/src/components/pp/PrintProcess.vue
@@ -30,14 +30,14 @@
 const {currentRoute} = useRouter()
 const route = currentRoute.value
 const printMerge = props.printMerge
+let merge=props.printMerge
+if (merge == '') {
+  merge = null
+}
 data.value.printList = JSON.parse(props.printList)
 let flowCardCount = data.value.printList.length
 onMounted(() => {
-      // if (id === null || id === undefined || id === '') {
-      //   return
-      // }
-
-      request.post(`/processCard/getSelectPrinting`, data.value).then((res) => {
+      request.post(`/processCard/getSelectPrinting/${merge}`, data.value).then((res) => {
         if (res.code == 200) {
           produceList.value = deepClone(res.data.data)
           //澶勭悊鍗曠墖鍘氬害
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 04b2f69..88d2a54 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
@@ -32,6 +32,7 @@
     resizable: true,
     useKey: true
   },
+  mouseConfig:{selected: true},
   filterConfig: {   //绛涢�夐厤缃」
    // remote: true
   },
@@ -39,8 +40,8 @@
     storage: true
   },
   editConfig: {
-    trigger: 'click',
-    mode: 'row',
+    trigger: 'dblclick',
+    mode: 'cell',
     showStatus: true
   },//琛ㄥご鍙傛暟
   columns:[
@@ -81,6 +82,7 @@
             { code: 'copyAll', name: t('basicData.sameAfterwards'), prefixIcon: 'vxe-icon-feedback', visible: true, disabled: false },
             { code: 'clearChecked', name: t('basicData.clearSelection'), prefixIcon: 'vxe-icon-indicator', visible: true, disabled: false },
             { code: 'computedSize', name: '绉戝璁℃暟', prefixIcon: 'vxe-icon-chart-line', visible: true, disabled: false },
+            { code: 'paste', name: '绮樿创', prefixIcon: 'vxe-icon-paste', visible: true, disabled: false },
           ]
       ]
     }
@@ -125,7 +127,7 @@
       }
     }
   },
-  menuClick ({ menu, row, column }) {
+  async menuClick ({ menu, row, column }) {
     const $grid = xGrid.value
     if ($grid) {
       switch (menu.code) {
@@ -191,6 +193,33 @@
           }
           break
         }
+        case 'paste' :{
+          if(xGrid.value.getSelectedCell()===null){
+            return
+          }
+          if(xGrid.value.getSelectedCell().column.editRender===undefined){
+            return
+          }
+          let text = (await navigator.clipboard.readText())
+          text = text.split('\r\n')
+          text = text.slice(0, text.length - 1)
+          console.log(text)
+          if(text===null){
+            return
+          }
+          const flag = xGrid.value.getSelectedCell()['_rowIndex']
+          const column =xGrid.value.getSelectedCell().column.field
+          let i = 0
+          xGrid.value.getTableData().visibleData.forEach((item,index)=>{
+            if(index>=flag){
+              item[column] = text[i]
+              i+=1
+            }
+          })
+
+
+          break
+        }
       }
     }
   }
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 5680d66..16256e3 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
@@ -178,9 +178,11 @@
     }
 
     @ApiOperation("鎵撳嵃娴佺▼鍗℃暟鎹煡璇㈡帴鍙�")
-    @PostMapping("/getSelectPrinting")
-    public Result getSelectPrinting(@RequestBody Map<String, Object> object) {
-        return Result.seccess(flowCardService.getSelectPrintingSv(object));
+    @PostMapping("/getSelectPrinting/{printMerge}")
+    public Result getSelectPrinting(
+            @PathVariable String printMerge,
+            @RequestBody Map<String, Object> object) {
+        return Result.seccess(flowCardService.getSelectPrintingSv(object,printMerge));
     }
 
     @ApiOperation("鎵撳嵃鏍囩鏁版嵁鏌ヨ鎺ュ彛")
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java b/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
index 295f28c..c3d6de0 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
@@ -95,6 +95,7 @@
     @ExcelProperty("鎵撳嵃娆℃暟")
     private Integer printingNumber;
     @ExcelProperty("鍒涘缓鏃ユ湡")
+    @TableField(update = "false")
     private LocalDate createTime;
     @ExcelProperty("淇敼鏃ユ湡")
     private LocalDate updateTime;
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 bcec497..d9a9fb0 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
@@ -72,7 +72,7 @@
 
     List<Map<String, String>> selectPrintMp(String orderId, FlowCard flowCard);
 
-    List<Map<String, String>> getPrimaryList(String processId, Integer technologyNumber);
+    List<Map<String, String>> getPrimaryList(String processId, String technologyNumber);
 
     List<Map<String, Object>> getDetailList(String processId, Integer technologyNumber);
 
@@ -111,4 +111,6 @@
     List<Map<String, String>> printFlowCardOrderSortMp(String orderId, FlowCard flowCard);
 
     Boolean printOrderSortMp(String processId, Integer orderNumber, Integer technologyNumber, Integer sort);
+
+    List<Map<String, String>> getPrimaryListMerge(String processId, String technologyNumber);
 }
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 5e23331..4a4b507 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
@@ -233,7 +233,10 @@
             return null;
         }
     }
-    public Map<String, Object> getSelectPrintingSv(Map<String, Object> object) {
+    public Map<String, Object> getSelectPrintingSv(Map<String, Object> object, String printMerge) {
+        if (printMerge == null){
+            printMerge= "";
+        }
         Map<String, Object> map = new HashMap<>();
         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
         List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
@@ -241,7 +244,13 @@
             for (FlowCard flowCard : flowCardList) {
                 Map<String, Object> itemmap = new HashMap<>();
                 //娴佺▼鍗¤〃澶磋〃灏炬暟鎹�
-                itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), flowCard.getTechnologyNumber()));
+                //鏄惁浼犲叆鍚堝苟灞傛暟
+                if (printMerge.equals("")||printMerge.equals("null") ){
+                    itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber())));
+                }
+                else{
+                    itemmap.put("detail", flowCardMapper.getPrimaryListMerge(flowCard.getProcessId(), printMerge));
+                }
                 //娴佺▼鍗℃槑缁嗘暟鎹�
                 List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
                 //宸ヨ壓娴佺▼
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
index 13e97f7..a299807 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -163,6 +163,7 @@
 
     //淇敼璁㈠崟鏁版嵁锛屽苟涓旈噸鏂扮敓鎴愬涓壇琛ㄦ暟鎹�
     public void updateOrder(Order order,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) {
+        order.setCreateTime(null);
         LambdaUpdateWrapper<Order> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper.eq(Order::getOrderId, order.getOrderId());
         orderMapper.update(order,updateWrapper);
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 f02d6e6..7ebb414 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -498,6 +498,17 @@
                  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
                  left join sd.product as p on p.id=od.product_id
+                 left join (
+            select         ogd.order_id,
+                           ogd.order_number,
+                           ogd.technology_number,
+                           ogd.glass_child,
+                           GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
+            from sd.order_glass_detail as ogd
+            where ogd.order_id = left(#{processId},10)
+              and position(ogd.technology_number in #{technologyNumber})
+            GROUP BY order_id, order_number
+        ) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
         where fc.process_id = #{processId}
           and fc.technology_number = #{technologyNumber}
         group by fc.process_id, fc.technology_number
@@ -827,4 +838,41 @@
           and order_number = #{orderNumber}
           and technology_number = #{technologyNumber}
     </update>
+
+    <select id="getPrimaryListMerge">
+        select o.customer_name,
+               o.project,
+               ogd.process,
+               od.edging_type,
+               ogdc.concatenated_glass_child as glass_child,
+               od.product_name,
+               o.processing_note,
+               fc.process_id,
+               SUM(od.quantity)                                as quantity,
+               round(SUM(ogd.total_area), 2)                   as gross_area,
+               sum(od.weight)                   as weight,
+               #{technologyNumber}                             as technologyNumber,
+               concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber
+        from flow_card as fc
+                 left join sd.order_glass_detail as ogd
+                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
+                              fc.technology_number = ogd.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
+                 left join sd.product as p on p.id=od.product_id
+                 left join (
+            select         ogd.order_id,
+                           ogd.order_number,
+                           ogd.technology_number,
+                           ogd.glass_child,
+                           GROUP_CONCAT(glass_child SEPARATOR ' ') AS concatenated_glass_child
+            from sd.order_glass_detail as ogd
+            where ogd.order_id = left(#{processId},10)
+              and position(ogd.technology_number in #{technologyNumber})
+            GROUP BY order_id, order_number
+        ) as ogdc on ogdc.order_id=ogd.order_id and ogdc.order_number=ogd.order_number and ogdc.technology_number=ogd.technology_number
+        where fc.process_id = #{processId}
+          and position(fc.technology_number in #{technologyNumber}) and ogdc.concatenated_glass_child is NOT null
+        group by fc.process_id, fc.technology_number
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0