From daf7ae48bbb697e6b643eb5bf99b73ce7b086685 Mon Sep 17 00:00:00 2001
From: TanYibin <5491541@qq.com>
Date: Mon, 27 Feb 2023 17:24:32 +0800
Subject: [PATCH] 详情入库完成操作记录添加(2)

---
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java                            |  2 +-
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/controller/ReceiptContainerHeaderController.java    |  5 ++---
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java | 18 +++++++++++++-----
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java                   |  8 ++++++--
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java                            | 21 ++++++++++-----------
 5 files changed, 32 insertions(+), 22 deletions(-)

diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java
index da679b1..195af79 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/container/service/impl/ContainerServiceImpl.java
@@ -100,7 +100,7 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container
         if (StringUtils.isNotEmpty(locationCode)) {
             success = havaLocationCodeByContainer(locationCode, warehouseCode);
             if (success) {
-                throw new ServiceException("库位表已经存在这个容器号,不能再写入");
+                throw new ServiceException("容器表已经存在这个库位号,不能再写入");
             }
         }
         container.setStatus(status);
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/controller/ReceiptContainerHeaderController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/controller/ReceiptContainerHeaderController.java
index f073763..38fbc07 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/controller/ReceiptContainerHeaderController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/controller/ReceiptContainerHeaderController.java
@@ -134,10 +134,9 @@ public class ReceiptContainerHeaderController extends JeecgController<ReceiptCon
     @ApiOperation(value = "入库组盘-通过id删除", notes = "入库组盘-通过id删除")
     @DeleteMapping(value = "/delete")
     @RequiresPermissions("receiptContainerHeader:delete")
-    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
 //        receiptContainerHeaderService.delMain(id);
-        Result result = receiptContainerHeaderService.cancelReceiving(Integer.parseInt(id));
-        return result;
+        return receiptContainerHeaderService.cancelReceiving(Integer.parseInt(id));
     }
 
     /**
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java
index 0c5a8f6..c95edd8 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/service/impl/ReceiptContainerHeaderServiceImpl.java
@@ -32,11 +32,15 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import com.alibaba.fastjson.JSON;
 import com.aliyun.oss.ServiceException;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
+import cn.monitor4all.logRecord.annotation.OperationLog;
+import cn.monitor4all.logRecord.context.LogRecordContext;
+
 /**
  * @Description: 入库组盘
  * @Author:      jeecg-boot
@@ -326,6 +330,7 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai
 
     @Override
     @Transactional(rollbackFor = ServiceException.class)
+    @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情取消组盘'", extra = "#extraJsonString", msg = "'容器编码:' + #receiptContainerHeader.getContainerCode()", recordReturnValue = true)
     public Result cancelReceiving(Integer id) {
         ReceiptContainerHeader receiptContainerHeader = getById(id);
         if (receiptContainerHeader == null) {
@@ -336,27 +341,30 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai
             return Result.error("取消组盘失败,已经生成入库任务");
         }
         List<ReceiptContainerDetail> receiptContainerDetailList = receiptContainerDetailService.getReceiptContainerDetailListByHeaderId(id);
+        List<ReceiptDetail> receiptDetailList = new ArrayList<ReceiptDetail>();
         for (ReceiptContainerDetail receiptContainerDetail : receiptContainerDetailList) {
             ReceiptDetail receiptDetail = receiptDetailService.getById(receiptContainerDetail.getReceiptDetailId());
             if (receiptDetail == null) {
-                throw new ServiceException("取消组盘失败, 没有找到入库组盘详情id是" + receiptContainerDetail.getReceiptDetailId());
+                throw new ServiceException("取消组盘失败, 没有找到入库组盘详情,入库详情ID:" + receiptContainerDetail.getReceiptDetailId());
             }
             receiptDetail.setStatus(QuantityConstant.RECEIPT_HEADER_BUILD);
             receiptDetail.setTaskQty(receiptDetail.getTaskQty().subtract(receiptContainerDetail.getQty()));
             if (!receiptDetailService.updateById(receiptDetail)) {
-                throw new ServiceException("取消组盘失败, 更新入库明细失败id是" + receiptContainerDetail.getReceiptDetailId());
+                throw new ServiceException("取消组盘失败, 更新入库明细失败,入库详情ID:" + receiptContainerDetail.getReceiptDetailId());
             }
             if (!receiptContainerDetailService.removeById(receiptContainerDetail.getId())) {
-                throw new ServiceException("取消组盘失败, 删除入库组盘明细表失败id是" + receiptContainerDetail.getId());
+                throw new ServiceException("取消组盘失败, 删除入库组盘明细表失败,组盘详情ID:" + receiptContainerDetail.getId());
             }
             if (!receiptHeaderService.updateReceiptHeaderStatus(receiptDetail.getReceiptId())) {
-                throw new ServiceException("取消组盘失败, 更新入库单头失败");
+                throw new ServiceException("取消组盘失败, 更新入库单头失败,入库单ID:" + receiptDetail.getReceiptId());
             }
+            receiptDetailList.add(receiptDetail);
         }
         if (!this.removeById(id)) {
             throw new ServiceException("取消组盘失败, 删除入库组盘头表失败id是" + id);
         }
-
+        LogRecordContext.putVariable("receiptContainerHeader", receiptContainerHeader);
+        LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptDetailList));
         return Result.ok("取消组盘成功");
     }
 
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java
index 3eda608..e9f4169 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java
@@ -144,8 +144,10 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R
      * @return
      */
     @Override
-    @OperationLog(bizId = "#receiptHeader.getCode()", bizType = "'入库单追踪'", tag = "'入库单完成'", 
-    msg = "'上游单号:'+ #receiptHeader.getReferCode() + ',仓库编码:' + #receiptHeader.getWarehouseCode()", recordReturnValue = true)
+    @Transactional
+    @OperationLog(bizId = "#receiptHeader.getCode()", bizType = "'入库单追踪'", tag = "'入库完成'",
+        msg = "'上游单号:'+ #receiptHeader.getReferCode() + ',仓库编码:' + #receiptHeader.getWarehouseCode()", condition = "#minStatus == 800 && #maxStatus == 800",
+        recordReturnValue = true)
     public boolean updateReceiptHeaderStatus(Integer id) {
         LambdaQueryWrapper<ReceiptDetail> receiptDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
         receiptDetailLambdaQueryWrapper.eq(ReceiptDetail::getReceiptId, id);
@@ -178,6 +180,8 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R
         if (!receiptHeaderService.updateById(receiptHeader)) {
             throw new ServiceException("更新入库单:" + receiptHeader.getCode() + " 状态失败");
         }
+        LogRecordContext.putVariable("minStatus", minStatus);
+        LogRecordContext.putVariable("maxStatus", maxStatus);
         LogRecordContext.putVariable("receiptHeader", receiptHeader);
         return true;
     }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
index 62bd2be..e9d000b 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/impl/TaskHeaderServiceImpl.java
@@ -1203,17 +1203,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             inventoryTransaction.setQty(receiptQty);
             inventoryTransactionList.add(inventoryTransaction);
         }
-        if (!receiptDetailService.updateBatchById(receiptDetaiList)) {
-            throw new ServiceException("完成入库任务时,更新入库单详情失败");
-        }
-        List<Integer> receiptIdList = receiptDetaiList.stream().map(ReceiptDetail::getReceiptId).distinct().collect(Collectors.toList());
-        for (Integer receiptId : receiptIdList) {
-            success = receiptHeaderService.updateReceiptHeaderStatus(receiptId);
-            if (!success) {
-                throw new ServiceException("完成入库任务时,更新入库单头失败");
-            }
-        }
-
         success = receiptContainerHeaderService.updateStatusById(QuantityConstant.RECEIPT_CONTAINER_FINISHED, taskHeader.getReceiptContainerHeaderId());
         if (!success) {
             throw new ServiceException("完成入库任务时,更新入库组盘头表状态失败");
@@ -1245,6 +1234,16 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         if (!combineInventoryDetail(taskHeader)) {
             throw new ServiceException("合并入库库存失败");
         }
+        if (!receiptDetailService.updateBatchById(receiptDetaiList)) {
+            throw new ServiceException("完成入库任务时,更新入库单详情失败");
+        }
+        List<Integer> receiptIdList = receiptDetaiList.stream().map(ReceiptDetail::getReceiptId).distinct().collect(Collectors.toList());
+        for (Integer receiptId : receiptIdList) {
+            success = receiptHeaderService.updateReceiptHeaderStatus(receiptId);
+            if (!success) {
+                throw new ServiceException("完成入库任务时,更新入库单头失败");
+            }
+        }
         LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptDetaiList));
         return Result.ok("完成入库任务");
     }
--
libgit2 0.22.2