From b90435111a9cb88a9302b6ac1f70c6d475452efe Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期一, 11 三月 2024 11:28:53 +0800
Subject: [PATCH] 修改发货库存修改

---
 north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml                               |   11 ++-
 north-glass-erp/target/classes/mapper/sd/Delivery.xml                                             |    2 
 north-glass-erp/target/classes/mapper/mm/FinishedOperateLog.xml                                   |   11 ++-
 north-glass-erp/target/classes/mapper/sd/DeliveryDetail.xml                                       |    3 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue                    |   32 ++++++++++
 north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue                           |    1 
 north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java       |   45 +++++++++++++-
 north-glass-erp/src/main/java/com/example/erp/controller/mm/FinishedGoodsInventoryController.java |   14 ++++
 north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java                     |    4 
 north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedOperateLogMapper.java             |    2 
 north-glass-erp/src/main/resources/mapper/sd/DeliveryDetail.xml                                   |    2 
 11 files changed, 112 insertions(+), 15 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue
index 0ab0e06..a4f44cd 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue
@@ -211,6 +211,10 @@
       {
         'name': '鍙嶅',status: 'primary',
         'code':'rework'
+      },
+      {
+        'name': '浣滃簾',status: 'primary',
+        'code':'cancel'
       }],
     /*import: false,
    export: true,
@@ -271,6 +275,34 @@
           router.push({path: '/main/productStock/ReworkRecord'});
           return
         }
+        case 'cancel': {
+          const $table = xGrid.value
+          //gridOptions.columns.unshift(a)
+          if ($table) {
+            const selectRecords = $table.getCheckboxRecords()
+
+            let flowData = ref({
+
+              userId:userid,
+              userName:username,
+              orderDetail:selectRecords
+
+            })
+            console.log(flowData)
+            request.post("/FinishedGoodsInventory/cancelFinishedGoodsInventoryToExamine",flowData.value).then((res) => {
+              if(res.code==200){
+                ElMessage.success("浣滃簾鎴愬姛")
+                router.push({path:'/main/productStock/TakeOutRecord',query:{random:Math.random()}})
+
+              }else{
+                ElMessage.warning(res.msg)
+                router.push("/login")
+              }
+            })
+          }
+          return;
+
+        }
 
 
       }
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
index f7e3d15..a45cd4a 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/CreateDelivery.vue
@@ -426,6 +426,7 @@
             deliveryId: route.query.deliveryID
 
           })
+          console.log(flowData)
            request.post("/Delivery/insertDelivery", flowData.value).then((res) => {
              if(res.code==200){
                ElMessage.success("鍙戣揣鍗曟彁浜ゆ垚鍔�")
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 0daeba8..38b1854 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
@@ -162,4 +162,18 @@
 
         }
     }
+
+    /*璁㈠崟浣滃簾*/
+    @ApiOperation("璁㈠崟浣滃簾鎺ュ彛")
+    @PostMapping("/cancelFinishedGoodsInventoryToExamine")
+    public Result cancelFinishedGoodsInventoryToExamine( @RequestBody Map<String,Object>  object){
+
+        if(finishedGoodsInventoryService.cancelFinishedGoodsInventoryToExamine(object)){
+            return Result.seccess();
+
+        }else {
+            throw new ServiceException(Constants.Code_500,"棰嗗嚭澶辫触");
+
+        }
+    }
 }
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 998cabb..d612113 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
@@ -54,4 +54,6 @@
     Boolean updateToExamine(@Param("finishedOperateLog") FinishedOperateLog finishedOperateLog,
                                            @Param("userName") String userName,
                                             @Param("type") String type);
+
+    Boolean updateFinishedOperateLogState(@Param("finishedOperateLog") FinishedOperateLog finishedOperateLog,@Param("type") String type);
 }
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 6635252..35bb246 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
@@ -175,13 +175,13 @@
                         deliverydetailsum=0;
                     }
 
-                    System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟鍓╀綑鏁伴噺锛�" + ordernumbersum + "鍑嗗鍑哄簱鏁伴噺" +
+                    /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟鍓╀綑鏁伴噺锛�" + ordernumbersum + "鍑嗗鍑哄簱鏁伴噺" +
                             orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryNum()+ "鍙戣揣鎬绘暟" +
-                            deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);
+                            deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);*/
                     if (finishedGoodsInventorycount > 0) {
                         if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryNum()){
-                            //淇敼搴撳瓨琛ㄥ嚭搴撴暟閲�
-                            //finishedGoodsInventoryMapper.updateInventoryquantityavailable(orderDetail);
+                            //淇敼搴撳瓨琛ㄥ簱瀛樻暟閲�
+                            finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryNum());
                             //淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬�
                             finishedGoodsInventoryMapper.updateDeliveryDetailState(orderDetail,0);
                             //淇敼鍙戣揣琛ㄧ姸鎬�
@@ -502,6 +502,43 @@
 
     }
 
+    public Boolean cancelFinishedGoodsInventoryToExamine(Map<String,Object> object) {
+        boolean saveState = true;
+        //璁剧疆鍥炴粴鐐�
+        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+        try {
+            String userName = "";
+            String userId = "";
+            if (object.get("userName") != null) {
+                userName = object.get("userName").toString();
+            }
+            if (object.get("userId") != null) {
+                userId = object.get("userId").toString();
+            }
+            //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
+            List<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class);
+            if (!finishedOperateLogslist.isEmpty()){
+                for (FinishedOperateLog finishedOperateLog : finishedOperateLogslist) {
+                    finishedGoodsInventoryMapper.updateInventoryquantityInt(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(), Math.toIntExact(finishedOperateLog.getQuantity()));
+                    finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
+
+                }
+            }
+
+        } 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 01956c4..4241f9b 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
@@ -117,7 +117,7 @@
             if (object.get("deliveryId") != null) {
                 deliveryId = object.get("deliveryId").toString();
             }
-            Delivery delivery = JSONObject.parseObject(JSONObject.toJSONString(object.get("customer")), Delivery.class);
+            Delivery delivery = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), Delivery.class);
             List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("delivery")), OrderDetail.class);
             //鏌ヨ鍙戣揣鍗曟槸鍚﹀瓨鍦�
             Integer deliveryConut = deliveryMapper.getDeliveryConut(deliveryId);
@@ -154,7 +154,7 @@
                 //鏂板鍙戣揣琛ㄦ暟鎹�
                 deliveryMapper.insertDelivery(delivery, oddNumber, orderDetaillist.get(0).getOrderId());
             }
-
+            System.out.println(4);
             Double area = 0.0;
             Integer quantity = 0;
             Double money = 0.0;
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 2e3abf2..63f8df2 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/FinishedOperateLog.xml
@@ -32,8 +32,13 @@
         update mm.finished_operate_log set reviewed=#{userName},reviewed_time=now(),status=#{type} where operation_order_number=#{finishedOperateLog.operationOrderNumber};
     </update>
 
+    <update id="updateFinishedOperateLogState">
+        update mm.finished_operate_log set status=#{type} where id=#{finishedOperateLog.id};
+    </update>
+
     <select id="getSelectOperateRecord" resultMap="selectFinishedGoodsInventory">
-        select fol.operation_order_number,
+        select fol.id,
+               fol.operation_order_number,
                fol.order_id,
                fol.operation_number,
                fol.quantity,
@@ -50,7 +55,7 @@
                fol.type,
                fol.remarks
         from (select *
-              from mm.finished_operate_log aa where aa.operate_type = '棰嗗嚭' or aa.operate_type = '杩斿伐') fol
+              from mm.finished_operate_log aa where (aa.operate_type = '棰嗗嚭' or aa.operate_type = '杩斿伐') and aa.status!='宸蹭綔搴�') fol
                  left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
         <where>
                 date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
@@ -108,7 +113,7 @@
         select CEILING(count(fol.id)/#{pageSize}) as 'pageTotal',
         count(fol.id) as 'total'
         from (select *
-            from mm.finished_operate_log aa where aa.operate_type = '棰嗗嚭' or aa.operate_type = '杩斿伐') fol
+            from mm.finished_operate_log aa where (aa.operate_type = '棰嗗嚭' or aa.operate_type = '杩斿伐') and aa.status!='宸蹭綔搴�') fol
             left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
         <where>
                  date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
diff --git a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetail.xml b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetail.xml
index cef1c80..5465bd7 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetail.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/DeliveryDetail.xml
@@ -81,7 +81,7 @@
         insert into sd.delivery_detail (delivery_id,delivery_number,order_number,
                                         area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,create_time)
         values (
-                   #{number} ,#{deliveryNumber},#{orderDetail.order_number},#{orderDetail.computeGrossArea},
+                   #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{orderDetail.computeGrossArea},
                 #{orderDetail.orderId},#{orderDetail.deliveryDetail.quantity},
                 #{orderDetail.price}*#{orderDetail.deliveryDetail.quantity},'',1,now()
                )
diff --git a/north-glass-erp/target/classes/mapper/mm/FinishedOperateLog.xml b/north-glass-erp/target/classes/mapper/mm/FinishedOperateLog.xml
index 2e3abf2..63f8df2 100644
--- a/north-glass-erp/target/classes/mapper/mm/FinishedOperateLog.xml
+++ b/north-glass-erp/target/classes/mapper/mm/FinishedOperateLog.xml
@@ -32,8 +32,13 @@
         update mm.finished_operate_log set reviewed=#{userName},reviewed_time=now(),status=#{type} where operation_order_number=#{finishedOperateLog.operationOrderNumber};
     </update>
 
+    <update id="updateFinishedOperateLogState">
+        update mm.finished_operate_log set status=#{type} where id=#{finishedOperateLog.id};
+    </update>
+
     <select id="getSelectOperateRecord" resultMap="selectFinishedGoodsInventory">
-        select fol.operation_order_number,
+        select fol.id,
+               fol.operation_order_number,
                fol.order_id,
                fol.operation_number,
                fol.quantity,
@@ -50,7 +55,7 @@
                fol.type,
                fol.remarks
         from (select *
-              from mm.finished_operate_log aa where aa.operate_type = '棰嗗嚭' or aa.operate_type = '杩斿伐') fol
+              from mm.finished_operate_log aa where (aa.operate_type = '棰嗗嚭' or aa.operate_type = '杩斿伐') and aa.status!='宸蹭綔搴�') fol
                  left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
         <where>
                 date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
@@ -108,7 +113,7 @@
         select CEILING(count(fol.id)/#{pageSize}) as 'pageTotal',
         count(fol.id) as 'total'
         from (select *
-            from mm.finished_operate_log aa where aa.operate_type = '棰嗗嚭' or aa.operate_type = '杩斿伐') fol
+            from mm.finished_operate_log aa where (aa.operate_type = '棰嗗嚭' or aa.operate_type = '杩斿伐') and aa.status!='宸蹭綔搴�') fol
             left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number
         <where>
                  date(fol.operate_time)>=#{startDate} and date(fol.operate_time) &lt;= #{endDate}
diff --git a/north-glass-erp/target/classes/mapper/sd/Delivery.xml b/north-glass-erp/target/classes/mapper/sd/Delivery.xml
index 7dc44a0..bb176f9 100644
--- a/north-glass-erp/target/classes/mapper/sd/Delivery.xml
+++ b/north-glass-erp/target/classes/mapper/sd/Delivery.xml
@@ -122,7 +122,7 @@
                 and fgi.quantity_available REGEXP #{order.finishedGoodsInventory.quantityAvailable}
             </if>
         </where>
-        group by o.order_id
+        group by o.order_id order by o.id desc
         limit #{offset},#{pageSize};
     </select>
 
diff --git a/north-glass-erp/target/classes/mapper/sd/DeliveryDetail.xml b/north-glass-erp/target/classes/mapper/sd/DeliveryDetail.xml
index a3ed5ad..5465bd7 100644
--- a/north-glass-erp/target/classes/mapper/sd/DeliveryDetail.xml
+++ b/north-glass-erp/target/classes/mapper/sd/DeliveryDetail.xml
@@ -81,7 +81,7 @@
         insert into sd.delivery_detail (delivery_id,delivery_number,order_number,
                                         area,order_id,quantity,money,delivery_detail_remakes,delivery_detail_state,create_time)
         values (
-                   #{number} ,#{deliveryNumber},#{orderDetail.order_number},#{orderDetail.computeGrossArea},
+                   #{number} ,#{deliveryNumber},#{orderDetail.orderNumber},#{orderDetail.computeGrossArea},
                 #{orderDetail.orderId},#{orderDetail.deliveryDetail.quantity},
                 #{orderDetail.price}*#{orderDetail.deliveryDetail.quantity},'',1,now()
                )
@@ -192,6 +192,7 @@
             </if>
 
         </where>
+        order by dd.id desc
         limit #{offset},#{pageSize};
     </select>
 

--
Gitblit v1.8.0