From a26e834d87b2f03dd7768fddb1c3ba946a08c314 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 05 七月 2024 18:20:25 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue                                 |   22 +++
 north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml                               |   20 +++
 north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml                                |   81 ++++++++++++-
 north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml                             |    6 
 north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet1.vue                            |    2 
 north-glass-erp/src/main/java/com/example/erp/controller/mm/FinishedGoodsInventoryController.java |   10 +
 north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet3.vue                            |   17 +-
 north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java         |    6 +
 north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet1.vue                         |   15 +-
 north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet2.vue                            |    8 
 north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue                                 |    2 
 north-glass-erp/northglass-erp/src/views/sd/order/OrderProductSummaryReport.vue                   |    2 
 north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java       |   48 +++++++
 north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java                 |    6 
 north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue                            |   23 ++-
 north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java                  |    2 
 north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java                    |    3 
 north-glass-erp/northglass-erp/src/components/sd/order/PrintFoot.vue                              |    2 
 north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue                             |    2 
 north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java                     |   10 +
 north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java                        |   14 -
 north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml                           |   35 +++++
 north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedOperateLogMapper.java             |    3 
 23 files changed, 274 insertions(+), 65 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet1.vue b/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet1.vue
index 995873f..270243e 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet1.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet1.vue
@@ -10,6 +10,7 @@
 let otherMoney = ref([])
 let delivery = ref([])
 let money = ref("")
+let otherMoneys = 0
 let takeCare = "娉ㄦ剰:璇峰Ε鍠勪繚绠″ソ鎴戝徃鐨勭幓鐠冩灦锛屽鏈変涪澶辨垨鎹熷潖锛屾寜1500鍏冨彧璧斿伩銆傝阿璋㈤厤鍚�!"
 let remark = "澶囨敞:鏈壒鐜荤拑涓轰紭绛夊悎鏍煎搧锛岃鍦ㄥ嵏璐ф椂,褰撻潰娑堢偣楠屾敹銆佸鏈夎川閲忛棶棰樺湪涓�鍛ㄥ唴涓庢湰鍏徃鑱旂郴,鍚﹀垯姒備笉璐熻矗锛�"
 
@@ -33,7 +34,9 @@
       delivery.value=deepClone(res.data.delivery)
       money.value=deepClone(res.data.money)
       otherMoney.value=deepClone(res.data.otherMoney)
-
+      otherMoney.value.forEach(item => {
+        otherMoneys+=item.DeliveryDetailOtherMoney.monery
+      })
     }else{
       ElMessage.warning(res.msg)
       router.push("/login")
@@ -157,7 +160,7 @@
         <td>{{delivery.quantity}}</td>
         <td>{{delivery.area}}</td>
         <td></td>
-        <td>{{delivery.money}}</td>
+        <td>{{delivery.money-otherMoneys}}</td>
         <td></td>
       </tr>
       <tr class="day-in">
@@ -174,10 +177,10 @@
       <tr class="day-in">
         <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6;" colspan="4" >
           <div style="display: flex;font-size: 10px;text-align: center" v-for="(item, index2) in otherMoney" :key="index2">
-            <div style="width: 25%">{{item.DeliveryDetailOtherMoney[0].alias}}</div>
-            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney[0].price}}</div>
-            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney[0].count}}</div>
-            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney[0].monery}}</div>
+            <div style="width: 25%">{{item.DeliveryDetailOtherMoney.alias}}</div>
+            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney.price}}</div>
+            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney.count}}</div>
+            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney.monery}}</div>
           </div>
         </td>
         <td style="text-align: left;border:none;font-size: 15px;" colspan="5">澶у啓閲戦:&nbsp;&nbsp;&nbsp;&nbsp;{{money}}</td>
diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/PrintFoot.vue b/north-glass-erp/northglass-erp/src/components/sd/order/PrintFoot.vue
index 2d080bd..6397611 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/PrintFoot.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/PrintFoot.vue
@@ -13,7 +13,7 @@
     </el-row>
     <el-row style="text-align: left ">
       <el-col :span="4">鍒涘缓鏃堕棿锛歿{props.order.createTime}}</el-col>
-      <el-col :span="4">瀹℃牳鏃堕棿锛�</el-col>
+      <el-col :span="4">瀹℃牳鏃堕棿锛歿{props.order.updateTime}}</el-col>
       <el-col :span="4">鎵撳嵃鏃堕棿锛�</el-col>
     </el-row>
   </div>
diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet1.vue b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet1.vue
index 48b3296..20fb35e 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet1.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet1.vue
@@ -131,7 +131,7 @@
         <th class="title-1">璁㈠崟绫诲瀷</th>
         <th  colspan="4">{{data.order.orderType}}</th>
         <th class="title-1">璺熷崟鍛�</th>
-        <th  colspan="3">{{data.order.creator}}</th>
+        <th  colspan="3">{{data.order.salesman}}</th>
       </tr>
       <tr>
         <th>纾ㄨ竟</th>
diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet2.vue b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet2.vue
index 26bd38a..bac71f4 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet2.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet2.vue
@@ -115,7 +115,7 @@
         <th class="title-1">璁㈠崟绫诲瀷</th>
         <th colspan="4">{{data.order.orderType}}</th>
         <th class="title-1">璺熷崟鍛�</th>
-        <th colspan="3">{{data.order.creator}}</th>
+        <th colspan="3">{{data.order.salesman}}</th>
       </tr>
       <tr>
         <th>纾ㄨ竟</th>
@@ -141,8 +141,7 @@
           <th>鍗婂緞</th>
           <th>妤煎彿</th>
           <th>鍔犲伐瑕佹眰</th>
-          <th>澶囨敞</th>
-          <th>搴忓彿</th>
+          <th colspan="2">澶囨敞</th>
           <th>澶囨敞1</th>
           <th>澶囨敞2</th>
           <th>澶囨敞3</th>
@@ -168,8 +167,7 @@
           <td>{{item1.bendRadius}}</td>
           <td>{{item1.buildingNumber}}</td>
           <td>{{item1.processingNote}}</td>
-          <td>{{item1.remarks}}</td>
-          <td></td>
+          <td colspan="2">{{item1.remarks}}</td>
           <td>{{((item1.otherColumns?.S04)?item1.otherColumns.S04:'')}}</td>
           <td>{{((item1.otherColumns?.S05)?item1.otherColumns.S05:'')}}</td>
           <td>{{((item1.otherColumns?.S06)?item1.otherColumns.S06:'')}}</td>
diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet3.vue b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet3.vue
index 27b5482..1172d0b 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet3.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet3.vue
@@ -10,6 +10,7 @@
 let delivery = ref([])
 let otherMoney = ref([])
 let money = ref("")
+let otherMoneys = 0
 let takeCare = "娉ㄦ剰:璇峰Ε鍠勪繚绠″ソ鎴戝徃鐨勭幓鐠冩灦锛屽鏈変涪澶辨垨鎹熷潖锛屾寜1500鍏冨彧璧斿伩銆傝阿璋㈤厤鍚�!"
 let remark = "澶囨敞:鏈壒鐜荤拑涓轰紭绛夊悎鏍煎搧锛岃鍦ㄥ嵏璐ф椂,褰撻潰娑堢偣楠屾敹銆佸鏈夎川閲忛棶棰樺湪涓�鍛ㄥ唴涓庢湰鍏徃鑱旂郴,鍚﹀垯姒備笉璐熻矗锛�"
 
@@ -33,7 +34,9 @@
       delivery.value=deepClone(res.data.delivery)
       money.value=deepClone(res.data.money)
       otherMoney.value=deepClone(res.data.otherMoney)
-
+      otherMoney.value.forEach(item => {
+        otherMoneys+=item.DeliveryDetailOtherMoney.monery
+      })
     }else{
       ElMessage.warning(res.msg)
       router.push("/login")
@@ -114,7 +117,7 @@
           <td>{{item.DeliveryDetail.quantity}}</td>
           <td>{{item.DeliveryDetail.area}}</td>
           <td></td>
-          <td>{{item.DeliveryDetail.money}}</td>
+          <td>{{item.DeliveryDetail.grossAmount}}</td>
           <td></td>
         </tr>
 
@@ -124,7 +127,7 @@
         <td>{{delivery.quantity}}</td>
         <td>{{delivery.area}}</td>
         <td></td>
-        <td>{{delivery.money}}</td>
+        <td>{{delivery.money-otherMoneys}}</td>
         <td></td>
       </tr>
       <tr class="day-in">
@@ -141,10 +144,10 @@
       <tr class="day-in">
         <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6;" colspan="4" >
           <div style="display: flex;font-size: 10px;text-align: center" v-for="(item, index2) in otherMoney" :key="index2">
-            <div style="width: 25%">{{item.DeliveryDetailOtherMoney[0].alias}}</div>
-            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney[0].price}}</div>
-            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney[0].count}}</div>
-            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney[0].monery}}</div>
+            <div style="width: 25%">{{item.DeliveryDetailOtherMoney.alias}}</div>
+            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney.price}}</div>
+            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney.count}}</div>
+            <div  style="width: 25%">{{item.DeliveryDetailOtherMoney.monery}}</div>
           </div>
         </td>
         <td style="text-align: left;border:none;font-size: 15px;font-weight: bold;" colspan="5">澶у啓閲戦:&nbsp;&nbsp;&nbsp;&nbsp;{{money}}</td>
diff --git a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue
index a20caa4..7d5f960 100644
--- a/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue
+++ b/north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet4.vue
@@ -46,9 +46,9 @@
       stringToJson(item.productDetail)
     })
 
-    grossNum.value.quantity = parseFloat(grossNum.value.quantity.toFixed(3))
-    grossNum.value.grossArea = parseFloat(grossNum.value.grossArea.toFixed(3))
-    grossNum.value.perimeter = parseFloat(grossNum.value.perimeter.toFixed(3))
+    grossNum.value.quantity = parseFloat(grossNum.value.quantity.toFixed(2))
+    grossNum.value.grossArea = parseFloat(grossNum.value.grossArea.toFixed(2))
+    grossNum.value.perimeter = parseFloat(grossNum.value.perimeter.toFixed(2))
 
   })
 }
@@ -60,15 +60,16 @@
     grossNum.value.grossArea=0
     grossNum.value.perimeter=0
     data.value= res.data
+
     data.value.orderProductDetail.forEach(item => {
       grossNum.value.quantity += getQuantity(item.productDetail)
       grossNum.value.grossArea += getArea(item.productDetail)
       grossNum.value.perimeter += getPerimeter(item.productDetail)
       stringToJson(item.productDetail)
     })
-    grossNum.value.quantity = parseFloat(grossNum.value.quantity.toFixed(3))
-    grossNum.value.grossArea = parseFloat(grossNum.value.grossArea.toFixed(3))
-    grossNum.value.perimeter = parseFloat(grossNum.value.perimeter.toFixed(3))
+    grossNum.value.quantity = parseFloat(grossNum.value.quantity.toFixed(2))
+    grossNum.value.grossArea = parseFloat(grossNum.value.grossArea.toFixed(2))
+    grossNum.value.perimeter = parseFloat(grossNum.value.perimeter.toFixed(2))
 
   })
 
@@ -93,16 +94,16 @@
   productList.forEach(item => {
     quantity += item.quantity
   })
-  return parseFloat(quantity.toFixed(3))
+  return parseFloat(quantity.toFixed(2))
 
 }
 
 const getArea = (productList) => {
   let area = 0
   productList.forEach(item => {
-    area += item.grossArea
+    area += item.computeGrossArea
   })
-  return parseFloat(area.toFixed(3))
+  return parseFloat(area.toFixed(2))
 
 }
 
@@ -111,7 +112,7 @@
   productList.forEach(item => {
     perimeter += item.perimeter
   })
-  return parseFloat(perimeter.toFixed(3))
+  return parseFloat(perimeter.toFixed(2))
 }
 
 const printSheet = () => {
@@ -189,7 +190,7 @@
                 <td colspan="2" style="font-size: 15px;font-weight: bold;" v-if="items.otherColumns?.S02">{{items.otherColumns?.S02}}</td>
                 <td colspan="2" style="font-size: 15px;font-weight: bold;" v-else>{{items.width}}x{{items.height}}</td>
                 <td>{{items.quantity}}</td>
-                <td>{{items.grossArea}}</td>
+                <td>{{items.grossArea.toFixed(2)}}</td>
                 <td colspan="2">{{items.processingNote}}</td>
               </tr>
               <tr class="day-in" >
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
index 257513f..20c0567 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -1207,7 +1207,7 @@
         </el-col>
         <el-col  :span="2"><el-text>{{$t('order.icon')}}锛�</el-text></el-col>
         <el-col  :span="2">
-          <el-select v-model="titleUploadData.icon"  clearable placeholder=" " allow-create  filterable>
+          <el-select v-model="titleUploadData.icon"  clearable placeholder=" " allow-create  filterable default-first-option>
             <el-option  v-for="item in titleSelectJson['icon']"
                        :key="item.id"
                        :label="item.basicName"
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/OrderProductSummaryReport.vue b/north-glass-erp/northglass-erp/src/views/sd/order/OrderProductSummaryReport.vue
index e522a8d..f296487 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/OrderProductSummaryReport.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/OrderProductSummaryReport.vue
@@ -48,7 +48,7 @@
   ],//琛ㄦ牸琛ㄥご瀛楁
   data:[],//琛ㄦ牸鏁版嵁
   url :'/order/getOrderProductSummary',
-  exportUrl :'/order/exportOrderReportProduct',
+  exportUrl :'/order/exportOrderProductSummary',
   exportName:t('order.orderDetailsSummaryReport'),
   footList:['quantity','grossArea','computeGrossArea','perimeter','price','grossAmount']
 })
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
index c61d259..c0539e3 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -86,7 +86,8 @@
                 { code: 'sheet3', name: '娴忚鍙戣揣淇℃伅' }
 
               ]
-            }
+            },
+            { code: 'oneClickStorage', name: "涓�閿畬宸�", prefixIcon: 'vxe-icon-copy', visible: true},
            // { code: 'getProcessList', name: t('searchOrder.processFlows'), prefixIcon: 'vxe-icon-file-txt', visible: true}
           ]
         ]
@@ -256,6 +257,25 @@
 
             break
           }
+          case 'oneClickStorage': {
+            if(rowClickIndex.value.processReview===0||rowClickIndex.value.orderReview===0){
+              ElMessage.warning('璁㈠崟鏈鏍�')
+              return
+            }
+            if(rowClickIndex.value.warehousing>0){
+              ElMessage.warning('璁㈠崟宸插叆搴�')
+              return
+            }
+            request.post(`/FinishedGoodsInventory/oneClickStorage/${rowClickIndex.value.orderId}/${userStore.user.userName}`).then((res) => {
+              if(res.code==200 && res.data===true){
+                ElMessage.success(t('productStock.receivedSuccessfully'))
+                router.push({path:'/main/order/selectOrder',query:{random:Math.random()}})
+              }else{
+                ElMessage.warning(res.msg)
+              }
+            })
+            break
+          }
 
         }
       }
diff --git a/north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue b/north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue
index 0c9ee30..dab3900 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/product/CreateProduct.vue
@@ -214,7 +214,7 @@
   let childName = ''
   try {
     Object.keys(hollowBasic.value).forEach((item, index) => {
-      if (hollowBasic.value[item] === '') {
+      if (hollowBasic.value[item] === '' && item !== 'GlueDepth')  {
         throw new Error(t('product.msg.HollowReview'))
       }
       childName += hollowBasic.value[item]
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/mm/FinishedGoodsInventoryController.java b/north-glass-erp/src/main/java/com/example/erp/controller/mm/FinishedGoodsInventoryController.java
index 31e1e66..b12a326 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/mm/FinishedGoodsInventoryController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/mm/FinishedGoodsInventoryController.java
@@ -175,4 +175,14 @@
         //鍙傛暟锛氱浉搴旂殑鏁版嵁锛屽疄浣撶被淇℃伅锛岀浉搴旂殑鏂规硶锛堟暟鎹幏鍙栵級锛岀敓鎴愮殑excel鍚嶅瓧
         DownExcel.download(response, FinishedOperateLogDTO.class, finishedGoodsInventoryService.exportFinishedOperateLogReport(dates),"orderReport");
     }
+
+
+    /*璁㈠崟涓�閿叆搴�*/
+    @ApiOperation("璁㈠崟涓�閿叆搴�")
+    @SaCheckPermission("CreateProductStock.add")
+    @PostMapping("/oneClickStorage/{orderId}/{userName}")
+    public Result oneClickStorage( @PathVariable String  orderId,@PathVariable String  userName){
+        return Result.seccess(finishedGoodsInventoryService.oneClickStorage(orderId,userName));
+
+    }
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java b/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
index d326354..a36a2c7 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
@@ -4,6 +4,7 @@
 import com.example.erp.common.Constants;
 import com.example.erp.common.Result;
 import com.example.erp.dto.sd.OrderDTO;
+import com.example.erp.dto.sd.OrderDetailProductDTO;
 import com.example.erp.entity.sd.Order;
 import com.example.erp.entity.sd.OrderDetail;
 import com.example.erp.entity.sd.OrderGlassDetail;
@@ -165,6 +166,7 @@
         DownExcel.download(response, OrderDTO.class, orderService.exportOrderProductSummary(dates),"orderReport");
     }
 
+
     @ApiOperation("璁㈠崟灏忕墖鏍囩")
     @PostMapping("/getOrderProductDetailTag/{orderId}")
     public Result getOrderProductDetailTag(@PathVariable String orderId)  {
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java
index 289e597..b25418b 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java
@@ -115,6 +115,12 @@
                                                @Param("orderNumber") Integer orderNumber,
                                                @Param("quantity") Integer quantity);
 
+    List<OrderDetail> getSelectOrderDetail(String orderId);
+
+    Boolean insertOrderFinishedGoodsInventory(@Param("orderDetail") OrderDetail orderDetail);
+
+    Boolean updateOrderInventory(@Param("orderDetail") OrderDetail orderDetail);
+
 
 }
 
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedOperateLogMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedOperateLogMapper.java
index d71db9a..8c938e3 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedOperateLogMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedOperateLogMapper.java
@@ -77,4 +77,7 @@
                                                            @Param("finishedOperateLog") FinishedOperateLog finishedOperateLog);
 
     List<FinishedOperateLogDTO> exportFinishedOperateLogReport(List<LocalDate> dates);
+
+    Boolean insertOrderFinishedOperateLog(@Param("orderDetail") OrderDetail orderDetail,@Param("userName") String userName,@Param("oddNumber") String oddNumber);
+
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
index a830cc9..a60fea1 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/DeliveryDetailMapper.java
@@ -32,10 +32,10 @@
     List <Map<String, Object>> getSelectDeliveryDetailPrinting(@Param("deliveryId") String deliveryId,
                                                          @Param("productId") Integer productId,@Param("orderId") String orderId);
 
-    List <Map<String, Object>> getSelectotherMoney(@Param("orderId") String orderId,@Param("deliveryId") String deliveryId,
-                                                               @Param("key") String key,@Param("value") String value);
+    Map<String, Object> getSelectotherMoney(@Param("orderId") String orderId,@Param("deliveryId") String deliveryId,
+                                                   @Param("orderNumber") Integer orderNumber,@Param("key") String key,@Param("value") String value);
 
-    List <Map<String, Object>> getSelectOrderotherMoney(@Param("orderId") String orderId, @Param("key") String key,@Param("value") String value);
+    Map<String, Object> getSelectOrderotherMoney(@Param("orderId") String orderId,@Param("orderNumber") Integer orderNumber, @Param("key") String key,@Param("value") String value);
 
     List <Map<String, Object>> getSelectOrderDetailPrinting(@Param("productId") Integer productId,@Param("orderId") String orderId);
 
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java
index 65bed44..d0224fa 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.example.erp.dto.sd.OrderDTO;
+import com.example.erp.dto.sd.OrderDetailProductDTO;
 import com.example.erp.entity.sd.OrderDetail;
 import org.apache.ibatis.annotations.Mapper;
 
@@ -29,6 +30,8 @@
 
     List<OrderDTO> exportOrderProductSummary(List<LocalDate> dates);
 
+    List<OrderDetailProductDTO> exportOrderReportProduct(List<LocalDate> dates);
+
     Map<String, String> getOrderProductDetailTag(String orderId);
 
     List<Map<String,Object>> getOrderProductDistinctById(String orderId);
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
index 8a9718c..712dcf6 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
@@ -13,6 +13,7 @@
 import com.example.erp.mapper.mm.BasicWarehouseTypeMapper;
 import com.example.erp.mapper.mm.FinishedGoodsInventoryMapper;
 import com.example.erp.mapper.mm.FinishedOperateLogMapper;
+import com.example.erp.mapper.sd.OrderDetailMapper;
 import com.example.erp.service.userInfo.SysErrorService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -34,6 +35,8 @@
     FinishedOperateLogMapper finishedOperateLogMapper;
     @Autowired
     BasicWarehouseTypeMapper basicWarehouseTypeMapper;
+    @Autowired
+    OrderDetailMapper orderDetailMapper;
     @Autowired
     SysErrorService sysErrorService;
 
@@ -615,8 +618,11 @@
                         finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
                         //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
                         finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog);
-                        //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
-                        finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog);
+                        if(finishedOperateLog.getProcessId()!=null){
+                            //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
+                            finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog);
+                        }
+
                         //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
                         finishedGoodsInventoryMapper.updateOutOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
                         //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱
@@ -677,6 +683,44 @@
     }
 
 
+    public Boolean oneClickStorage(String  orderId,String  userName) {
+        boolean saveState = true;
+        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+        try {
+            String oddNumber= orderNumberSetting("鍏ュ簱");
+            List<OrderDetail> orderDetailList=finishedGoodsInventoryMapper.getSelectOrderDetail(orderId);
+            for (OrderDetail orderDetail:orderDetailList){
+                Integer finishedGoodsInventoryCount = finishedGoodsInventoryMapper.findOrderNumberdcount(orderDetail.getOrderId(),orderDetail.getOrderNumber());
+                System.out.println(finishedGoodsInventoryCount);
+                if(finishedGoodsInventoryCount>0){
+                    //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
+                    finishedGoodsInventoryMapper.updateOrderInventory(orderDetail);
+                }else{
+                    finishedGoodsInventoryMapper.insertOrderFinishedGoodsInventory(orderDetail);
+                }
+                finishedOperateLogMapper.insertOrderFinishedOperateLog(orderDetail,userName,oddNumber);
+                finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(),Integer.parseInt(orderDetail.getQuantity().toString()));
+            }
+            finishedGoodsInventoryMapper.updateOrderWarehousingState(orderId,2);
+
+        } catch (Exception e) {
+            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+            //灏嗗紓甯镐紶鍏ユ暟鎹簱
+            SysError sysError = new SysError();
+            sysError.setError(e.toString());
+            sysError.setFunc("saveOrder");
+            sysErrorService.insert(sysError);
+            saveState = false;
+
+        }
+
+        return saveState;
+
+    }
+
+
+
+
 
 
 
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
index f609666..7736752 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -360,13 +360,14 @@
         List <Map<String, Object>> moneryList=new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
         List<DeliveryDetail> deliveryDetailList=deliveryDetailMapper.getSelectDeliveryPrinting(deliveryDetail);
         String orderId="";
+        double otherMoney=0.0;
         for (DeliveryDetail detail : deliveryDetailList) {
-            System.out.println(detail);
             orderId=detail.getOrderDetail().getOrderId();
             Map<String, Object> itemmap = new HashMap<>();
 
             List<Map<String, Object>> deliveryDetailList2 = deliveryDetailMapper.getSelectDeliveryDetailPrinting(detail.getDeliveryId(),
                     detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId());
+
             for (Map<String, Object> stringObjectMap : deliveryDetailList2) {
                 if(stringObjectMap.get("other_columns")!=null){
                     JSONObject jsonObject = JSON.parseObject(stringObjectMap.get("other_columns").toString());
@@ -374,7 +375,9 @@
                         boolean isnull = key.contains("M");
                         if(isnull) {
                             Map<String, Object> moneryItemmap = new HashMap<>();
-                            List<Map<String, Object>> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectotherMoney(detail.getOrderDetail().getOrderId(), detail.getDeliveryId(), key, jsonObject.get(key).toString());
+                            Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectotherMoney(detail.getOrderDetail().getOrderId(),
+                                    detail.getDeliveryId(),Integer.parseInt(stringObjectMap.get("order_number").toString()), key, jsonObject.get(key).toString());
+                            otherMoney=otherMoney+Double.valueOf(deliveryDetailOtherMoney.get("monery").toString());
                             moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney);
                             moneryList.add(moneryItemmap);
                         }
@@ -388,6 +391,7 @@
 
         }
         Delivery delivery=deliveryMapper.getSelectShippingOrderDetailDeliveryPrinting(deliveryDetail);
+        delivery.setMoney(delivery.getMoney()+otherMoney);
         map.put("data", list);
         map.put("otherMoney",moneryList);
         map.put("delivery", deliveryMapper.getSelectShippingOrderDetailDeliveryPrinting(deliveryDetail));
@@ -414,7 +418,7 @@
                         boolean isnull = key.contains("M");
                         if(isnull){
                             Map<String, Object> moneryItemmap = new HashMap<>();
-                            List<Map<String, Object>> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(detail.getOrderId(),key,jsonObject.get(key).toString());
+                            Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(detail.getOrderId(),Integer.parseInt(stringObjectMap.get("order_number").toString()),key,jsonObject.get(key).toString());
                             moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney);
                             moneryList.add(moneryItemmap);
                         }
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 3a1aafb..54b978a 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
@@ -10,6 +10,7 @@
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.example.erp.common.Constants;
 import com.example.erp.dto.sd.OrderDTO;
+import com.example.erp.dto.sd.OrderDetailProductDTO;
 import com.example.erp.entity.sd.*;
 import com.example.erp.entity.userInfo.SysError;
 import com.example.erp.exception.ServiceException;
@@ -65,7 +66,7 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
+            sysError.setError(Arrays.toString(e.getStackTrace()));
             sysError.setFunc("saveOrder");
             sysErrorService.insert(sysError);
             saveState = false;
@@ -185,7 +186,7 @@
         for (int i = 0; i < OrderDetails.size(); i++) {
             OrderDetails.get(i).setOrderNumber(i+1);
             OrderDetails.get(i).setOrderId(orderId);
-            OrderDetails.get(i).setPerimeter(Double.valueOf(String.format("%.3f",(OrderDetails.get(i).getWidth()+OrderDetails.get(i).getHeight())*2/1000)));
+            OrderDetails.get(i).setPerimeter(Double.valueOf(String.format("%.3f",(OrderDetails.get(i).getWidth()+OrderDetails.get(i).getHeight())*2/1000*OrderDetails.get(i).getQuantity())));
             OrderDetails.get(i).setWeight(1.0);
             if(OrderDetails.get(i).getBendRadius()!=null && OrderDetails.get(i).getBendRadius()!=0){
                 //鑾峰彇寮挗寮у害
@@ -432,6 +433,7 @@
         return orderDetailMapper.exportOrderProductSummary(dates);
     }
 
+
     public Map<String,String> getOrderProductDetailTag(String orderId) {
         return orderDetailMapper.getOrderProductDetailTag(orderId);
     }
@@ -488,15 +490,7 @@
             orderProductDetailMap.put("productId",map.get("productId"));
             orderProductDetailMap.put("productName",map.get("productName"));
             List<OrderDetail> orderDetails = orderDetailMapper.getOrderProductByProductId(map.get("productId"),orderId);
-            orderDetails.forEach(orderDetail->{
 
-                orderDetail.setGrossArea(
-                        Double.parseDouble(String.format("%.3f",Double.parseDouble(
-                                String.format("%.3f",
-                                        orderDetail.getWidth()*orderDetail.getHeight()/1000000)
-                        ) * orderDetail.getQuantity()))
-                );
-            });
 
             orderProductDetailMap.put("productDetail",orderDetails);
             orderProductDetail.add(orderProductDetailMap);
diff --git a/north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml b/north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
index a230530..780b238 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
@@ -837,6 +837,41 @@
         ;
     </select>
 
+    <select id="getSelectOrderDetail" >
+        select * from sd.order_detail where order_id=#{orderId}
+    </select>
+
+    <insert id="insertOrderFinishedGoodsInventory"  useGeneratedKeys="true"  >
+        insert into mm.finished_goods_inventory (order_id,
+                                                 order_number,
+                                                 process_id,
+                                                 inventory,
+                                                 actual_signal_area,
+                                                 area,
+                                                 quantity_available,
+                                                 warehouse_number,
+                                                 storage_region,
+                                                 `status`,
+                                                 enter_storage_time,
+                                                 update_time,
+                                                 end_time,
+                                                 remark
+        )
+        values (
+                   #{orderDetail.orderId} ,#{orderDetail.orderNumber},"",#{orderDetail.quantity},#{orderDetail.computeArea},
+                   #{orderDetail.computeGrossArea},
+                   #{orderDetail.quantity},null,"",
+                   0,now(),now(),null,""
+               )
+    </insert>
+
+    <update id="updateOrderInventory">
+        update mm.finished_goods_inventory
+        set inventory=inventory+${orderDetail.quantity},quantity_available=quantity_available+${orderDetail.quantity},
+        update_time=now(),area=actual_signal_area*quantity_available
+        where order_number=#{orderDetail.orderNumber}  and order_id=#{orderDetail.orderId}
+    </update>
+
 
 
 
diff --git a/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml b/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
index 1db248a..81466cb 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
@@ -100,7 +100,7 @@
                 and fol.remarks regexp #{finishedOperateLog.remarksr}
             </if>
         </where>
-        order by fol.`status` desc
+        order by fol.operate_time desc
         limit #{offset},#{pageSize};
     </select>
 
@@ -677,5 +677,23 @@
 
     </select>
 
+    <insert id="insertOrderFinishedOperateLog"  useGeneratedKeys="true" >
+        insert into mm.finished_operate_log(operation_order_number,
+                                            order_id,
+                                            process_id,
+                                            operation_number,
+                                            operate_type,
+                                            operator,
+                                            quantity,
+                                            operate_time,
+                                            status
+        )
+        values (
+                   #{oddNumber} ,#{orderDetail.orderId},"",#{orderDetail.orderNumber},"鍏ュ簱",#{userName},#{orderDetail.quantity},now(),"鏈鏍�"
+               )
+    </insert>
+
+
+
 
 </mapper>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
index aa75b65..573ebef 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetailMapper.xml
@@ -890,7 +890,7 @@
     </select>
 
     <select id="getSelectOrderPrinting"  >
-        select od.order_id,od.product_id,p.remarks as product_name,sum(od.compute_gross_area) as area,sum(od.gross_amount) as money,sum(od.quantity) as quantity from
+        select od.order_id,od.product_id,p.remarks as product_name,sum(od.compute_gross_area) as area,sum(od.gross_amount) as gross_amount ,sum(od.quantity) as quantity from
          order_detail od left join product p on od.product_id=p.id
 
         <where>
@@ -929,7 +929,7 @@
                 left join order_other_money oom on oom.order_id=dd.order_id  and oom.column=#{key}
         left join basic_other_money bom on bom.`column`=oom.`column`
         where delivery_id = #{deliveryId}
-          and od.order_id = #{orderId}
+          and od.order_id = #{orderId} and od.order_number=#{orderNumber} and (od.other_columns!='{}' or od.other_columns!=null)
     </select>
 
     <select id="getSelectOrderotherMoney" >
@@ -937,7 +937,7 @@
                  from order_detail od
                  left join order_other_money oom on oom.order_id=od.order_id  and oom.column=#{key}
                  left join basic_other_money bom on bom.`column`=oom.`column`
-        where  od.order_id = #{orderId}
+        where  od.order_id = #{orderId} and od.order_number=#{orderNumber} and (od.other_columns!='{}' or od.other_columns!=null)
     </select>
 
     <select id="getSelectOrderDetailPrinting" >
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 6f114d4..978b893 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderDetailMapper.xml
@@ -728,12 +728,76 @@
     </select>
 
     <select id="exportOrderProductSummary"  >
-        SELECT
-            *,
-            a.create_time as createTime,
-            d.type_name as level_one,
-            e.type_name as level_two
-        from order_detail as a
+        SELECT a.id,
+               a.order_id,
+               a.order_number,
+               a.building_number,
+               a.product_id,
+               a.product_name,
+               a.price,
+               sum(a.quantity) as quantity,
+               a.gross_amount,
+               a.width,
+               a.height,
+               a.shape,
+               sum(a.area) as area,
+               sum(a.gross_area) as gross_area,
+               sum(a.compute_area) as compute_area,
+               sum(a.compute_gross_area) as compute_gross_area,
+               a.processing_note,
+               a.remarks,
+               a.bend_radius,
+               a.edging_type,
+               a.weight,
+               a.perimeter,
+               a.other_columns,
+               a.warehouse_num,
+               a.delivery_num,
+               a.return_num,
+               a.state,
+               b.id,
+               b.order_id,
+               b.project,
+               b.customer_id,
+               b.customer_name,
+               b.order_type,
+               b.order_classify,
+               b.icon,
+               b.pack_type,
+               b.delivery_date,
+               b.batch,
+               b.calculate_type,
+               b.salesman_id,
+               b.salesman,
+               b.al_type,
+               b.money,
+               b.contract_id,
+               b.customer_batch,
+               b.contacts,
+               b.contact_number,
+               b.delivery_address,
+               b.other_money,
+               b.other_money_remarks,
+               b.processing_note,
+               b.other_remarks,
+               b.area,
+               b.quantity,
+               b.perimeter,
+               b.verifier_id,
+               b.verifier,
+               b.creator_id,
+               b.creator,
+               b.create_order,
+               b.process_review,
+               b.order_review,
+               b.production_order,
+               b.processing_card,
+               b.warehousing,
+               b.delivery,
+               b.create_time,
+               b.update_time,
+               d.type_name as level_one, e.type_name as level_two
+        from sd.order_detail as a
                  left join sd.`order` as b
                            on b.order_id = a.order_id
                  left join sd.product as c
@@ -742,8 +806,9 @@
                            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]}
-        group by b.order_id,a.product_id
+        where date(a.create_time) >= #{dates[0]}
+          and date(a.create_time) &lt;= #{dates[1]}
+        group by b.order_id, a.product_id
         order by b.order_id desc
     </select>
     

--
Gitblit v1.8.0