From 7b8cc84950a3caeb8cae5e99a7aa99c1aafa6ac7 Mon Sep 17 00:00:00 2001
From: guoyuji <guoyujie@ng.com>
Date: 星期四, 22 二月 2024 14:18:17 +0800
Subject: [PATCH] 提交分架代码

---
 north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue  |  145 ++++++++++++++++++++++++++++++++++++++++--------
 north-glass-erp/target/classes/mapper/pp/FolwCard.xml                       |   11 ++-
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java |    3 
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml                   |   11 ++-
 4 files changed, 134 insertions(+), 36 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue
index cd8f6b0..c9978b9 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue
@@ -99,7 +99,7 @@
 request.post(`/processCard/selectNoCard/${orderId}/${productionId}`, filterData.value).then((res) => {
 
   if (res.code == 200) {
-    console.log(res.data.data)
+    //console.log(res.data)
     pageTotal.value = res.data.total
     produceList = produceList.value.concat(deepClone(res.data.data))
     xGrid.value.reloadData(produceList)
@@ -183,24 +183,24 @@
   },//琛ㄥご鍙傛暟
   columns:[
     {type: 'checkbox', fixed: "left", title: '閫夋嫨'},
-    {field: 'orderDetail.orderNumber', title: '璁㈠簭',filters:[{ data: '' }],slots: { filter: 'num1_filter' } },
-    {field: 'orderDetail.shape',  title: '褰㈢姸', showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'orderDetail.width', title: '瀹�', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'orderDetail.height', title: '楂�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'orderDetail.quantity', title: '鏁伴噺', showOverflow:"ellipsis"},
-    {field: 'orderDetail.computeGrossArea', title: '闈㈢Н'},
-    {field: 'product.totalThickness', title: '鎬诲帤搴�'},
-    {field: 'product.thickness', title: '鐜荤拑鍘氬害'},
-    {field: 'orderDetail.weight', title: '閲嶉噺'}
+    {field: 'orderNumber', title: '璁㈠簭',filters:[{ data: '' }],slots: { filter: 'num1_filter' } },
+    {field: 'shape',  title: '褰㈢姸', showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'width', title: '瀹�', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'height', title: '楂�',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'baiscQuantity', title: '鏁伴噺', showOverflow:"ellipsis"},
+    {field: 'computeGrossArea', title: '闈㈢Н'},
+    {field: 'totalThickness', title: '鎬诲帤搴�'},
+    {field: 'thickness', title: '鐜荤拑鍘氬害'},
+    {field: 'weight', title: '閲嶉噺'}
   ],//琛ㄥご鎸夐挳
 
   toolbarConfig: {
     // buttons: [{
     //
     // }],
-    import: false,
-    export: true,
-    print: true,
+    // import: false,
+    // export: true,
+    // print: true,
     zoom: true,
     custom: true
   },
@@ -258,14 +258,14 @@
   },//琛ㄥご鍙傛暟
   columns:[
     {type: 'checkbox', fixed: "left", title: '閫夋嫨'},
-    {field: 'orderDetail.orderNumber', title: '娴佺▼鍗″彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' },width:130 },
-    {field: 'orderDetail.shape',  title: '璁㈠簭', showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'orderDetail.width', title: '钀芥灦椤哄簭', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'orderDetail.height', title: '褰㈢姸',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'orderDetail.quantity', title: '闀胯竟', showOverflow:"ellipsis"},
-    {field: 'orderDetail.computeGrossArea', title: '鐭竟'},
-    {field: 'product.totalThickness', title: '鎬绘暟閲�'},
-    {field: 'product.totalThickness', title: '鎬诲帤搴�'},
+    {field: 'processId', title: '娴佺▼鍗″彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' },width:130 },
+    {field: 'orderNumber',  title: '璁㈠簭', showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'landingSequence', title: '钀芥灦椤哄簭', filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'shape', title: '褰㈢姸',filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
+    {field: 'width', title: '瀹�', showOverflow:"ellipsis"},
+    {field: 'height', title: '楂�'},
+    {field: 'quantity', title: '鎬绘暟閲�'},
+    {field: 'totalThickness', title: '鎬诲帤搴�'},
   ],//琛ㄥご鎸夐挳
 
   toolbarConfig: {
@@ -298,7 +298,102 @@
   }
 
 })
+//鍒涘缓娴佺▼鍗�
+const createProcessCard = () => {
+  const $grid = xGrid.value
+  const checkedList = $grid.getCheckboxRecords()
+  if(checkedList.length===0){
+    ElMessage.warning("璇峰厛閫夋嫨鍙充晶鏁版嵁")
+    return
+  }
+  //productionId
+  const $gridLeft = xGridLeft.value
+  const leftData = $gridLeft.getTableData().fullData
+  let index = 1
+  if(leftData.length!==0){
+    index =  leftData[0].landingSequence + 1
+    //index = index.toString().padStart(2, '0')
+  }
+  const processId = productionId + index.toString().padStart(2, '0')
+  checkedList.forEach((item) => {
+    item.processId = processId
+    item.landingSequence = index
+  })
+  $gridLeft.insertAt(checkedList)
+  $grid.remove(checkedList)
+}
 
+let checkedNum =  ref('')
+
+//鍚戝彸杈硅〃鏍兼坊鍔犳暟鎹�
+const addRight =   () => {
+  try{
+    //宸﹁竟琛ㄦ牸瀹氫箟
+    const $gridLeft = xGridLeft.value
+    //鍙宠竟琛ㄦ牸瀹氫箟
+    const $grid = xGrid.value
+    //鑾峰彇宸﹁竟琛ㄦ牸checkbox閫変腑鐨勬暟鎹�
+    const checkedList = $gridLeft.getCheckboxRecords()
+    //鍒ゆ柇宸﹁竟琛ㄦ牸鏄惁鏈夐�変腑鐨勬暟鎹�
+    if(checkedList.length===0){
+      ElMessage.warning("璇峰厛閫夋嫨宸︿晶鏁版嵁")
+      return
+    }
+    const  regex = /^(\d+|)$/;
+    if(!regex.test(checkedNum.value)){
+      ElMessage.warning("璇疯緭鍏ユ鏁存暟")
+      return
+    }
+    //鍒ゆ柇姝f暣鏁�
+    if(/^[1-9]\d*$/.test(checkedNum.value)){
+      //瀵归�変腑鐨勫乏杈硅〃鏍兼暟鎹繘琛屽惊鐜�
+      checkedList.forEach((item)=> {
+        //鍒ゆ柇鍙敤鏁伴噺鏄惁澶т簬绛変簬杈撳叆鐨勬暟閲�,涓嶆弧瓒冲垯鎶涘嚭寮傚父
+        if(item.quantity <checkedNum.value) throw new Error("璇疯緭鍏ュ皬浜庣瓑浜庡彲鐢ㄦ暟閲忕殑鏁板瓧");
+        //宸﹁竟琛ㄦ牸鍙敤鏁伴噺鍑忓幓杈撳叆鐨勬暟閲�
+        item.quantity = item.quantity-checkedNum.value
+        //鍙宠竟琛ㄦ牸鏁版嵁
+        let rightData = $grid.getTableData().fullData
+        //鍙宠竟琛ㄦ牸鏁版嵁涓煡鎵惧綋鍓嶆暟鎹笅鏍�
+        let filterIndex = rightData.findIndex(item1 => item1.orderNumber === item.orderNumber)
+        //濡傛灉鍙宠竟琛ㄦ牸鏁版嵁涓瓨鍦ㄥ綋鍓嶆暟鎹垯鏁伴噺鐩稿姞
+        if (filterIndex>=0){
+          rightData[filterIndex].baiscQuantity =rightData[filterIndex].baiscQuantity*1+ checkedNum.value*1
+          //濡傛灉宸﹁竟鏁伴噺涓�0鏃跺垹闄ゆ鏉℃暟鎹�
+          if(item.quantity=== 0){
+            $gridLeft.remove(item)
+          }
+        }else {
+          //鍙宠竟琛ㄦ牸娌℃湁姝ゆ潯鏁版嵁鍒欏線鍙宠竟琛ㄦ牸鎻掑叆鏁版嵁
+          item.baiscQuantity = checkedNum.value
+          $grid.insert(item)
+        }
+      })
+    }else if(checkedNum.value===''){//鍒ゆ柇鏁伴噺杈撳叆妗嗘湁鏃犺緭鍏ユ暟瀛�
+
+      checkedList.forEach((item)=> {
+        let rightData = $grid.getTableData().fullData
+        let filterIndex = rightData.findIndex(item1 => item1.orderNumber === item.orderNumber)
+        //鏃犺緭鍏ュ苟涓斿鏋滃彸杈硅〃鏍兼暟鎹腑瀛樺湪褰撳墠鏁版嵁鍒欐暟閲忕浉鍔�
+        if(filterIndex>-1){
+          rightData[filterIndex].baiscQuantity =rightData[filterIndex].baiscQuantity*1+ item.quantity*1
+        }else{
+          $grid.insert(item)
+        }
+
+        $gridLeft.remove(item)
+      })
+    }
+
+  }
+  catch (e){
+    ElMessage.warning(e.message)
+  }
+}
+//鍚戝乏杈硅〃鏍兼坊鍔犳暟鎹�
+const addLeft =   () => {
+
+}
 
 
 </script>
@@ -364,14 +459,14 @@
         <el-main width="12%" style="">
           <span>鏈垎鏁伴噺:45</span><br>
           <span>鏈垎閲嶉噺:333</span><br>
-          <span>閫変腑鏁伴噺:<el-input></el-input></span><br>
-          <el-button type="primary"> 鈫� </el-button>
+          <span>閫変腑鏁伴噺:<el-input type="number" v-model="checkedNum"></el-input></span><br>
+          <el-button type="primary" @click="addRight"> 鈫� </el-button>
           <br>
           <br>
-          <el-button type="primary">  鈫� </el-button>
+          <el-button type="primary" @click="addLeft">  鈫� </el-button>
           <br>
           <br>
-          <el-button type="primary">寤虹珛娴佺▼鍗�</el-button>
+          <el-button @click="createProcessCard" type="primary">寤虹珛娴佺▼鍗�</el-button>
         </el-main>
 
         <el-aside width="44%" style="">
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 b793093..8234c1c 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
@@ -8,6 +8,7 @@
 
 import java.sql.Date;
 import java.util.List;
+import java.util.Map;
 
 @Mapper
 public interface FlowCardMapper {
@@ -22,5 +23,5 @@
 
     Boolean DeleteFlowCardMp(String orderId, String processId);
 
-    List<FlowCard> SelectNoCardMp(String orderId, String productionId, FlowCard flowCard);
+    List<Map<String,String>> SelectNoCardMp(String orderId, String productionId, FlowCard flowCard);
 }
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 b0b3925..64ce755 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -151,16 +151,17 @@
         where od.order_id = #{orderId}
           and od.product_name = #{productName}
     </update>
-
-    <select id="SelectNoCardMp" resultMap="flowCardMap">
+<!--resultMap="flowCardMap"-->
+    <select id="SelectNoCardMp" >
         select
-        od.order_number,
+        od.order_number AS 'orderNumber',
         od.width,
         od.height,
         od.shape,
         od.quantity,
-        od.compute_gross_area,
-        p.total_thickness,
+        od.quantity as baiscQuantity,
+        od.compute_gross_area as 'computeGrossArea',
+        p.total_thickness AS 'totalThickness',
         p.thickness,
         od.weight
         from
diff --git a/north-glass-erp/target/classes/mapper/pp/FolwCard.xml b/north-glass-erp/target/classes/mapper/pp/FolwCard.xml
index b0b3925..64ce755 100644
--- a/north-glass-erp/target/classes/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/target/classes/mapper/pp/FolwCard.xml
@@ -151,16 +151,17 @@
         where od.order_id = #{orderId}
           and od.product_name = #{productName}
     </update>
-
-    <select id="SelectNoCardMp" resultMap="flowCardMap">
+<!--resultMap="flowCardMap"-->
+    <select id="SelectNoCardMp" >
         select
-        od.order_number,
+        od.order_number AS 'orderNumber',
         od.width,
         od.height,
         od.shape,
         od.quantity,
-        od.compute_gross_area,
-        p.total_thickness,
+        od.quantity as baiscQuantity,
+        od.compute_gross_area as 'computeGrossArea',
+        p.total_thickness AS 'totalThickness',
         p.thickness,
         od.weight
         from

--
Gitblit v1.8.0