From 4a46595928e1be72a741816f71cfd1d06f2353eb Mon Sep 17 00:00:00 2001
From: TanYibin <5491541@qq.com>
Date: Tue, 28 Feb 2023 16:03:12 +0800
Subject: [PATCH] 出库单新建,明细添加,配盘 操作记录记录

---
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/service/impl/OperationLogServiceImpl.java                   | 31 +++++++++++++++++++++++++------
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java              |  2 +-
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java | 10 ++++++++--
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java              | 17 +++++++----------
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java           |  9 +++++++++
 huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java           |  7 ++++++-
 6 files changed, 56 insertions(+), 20 deletions(-)

diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/service/impl/OperationLogServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/service/impl/OperationLogServiceImpl.java
index 30046f1..7e6a68c 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/service/impl/OperationLogServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/monitor/operation/service/impl/OperationLogServiceImpl.java
@@ -9,6 +9,8 @@ import org.jeecg.modules.wms.monitor.operation.mapper.OperationLogMapper;
 import org.jeecg.modules.wms.monitor.operation.service.IOperationLogService;
 import org.jeecg.modules.wms.receipt.receiptContainerHeader.entity.ReceiptContainerDetail;
 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail;
+import org.jeecg.modules.wms.shipment.shipmentContainerHeader.entity.ShipmentContainerDetail;
+import org.jeecg.modules.wms.shipment.shipmentHeader.entity.ShipmentDetail;
 import org.jeecg.modules.wms.task.taskHeader.entity.TaskDetail;
 import org.jeecg.utils.StringUtils;
 import org.springframework.stereotype.Service;
@@ -50,21 +52,38 @@ public class OperationLogServiceImpl extends ServiceImpl<OperationLogMapper, Ope
                         String message = "物料编码:{},数量:{}";
                         operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty"));
                     } else if (logDTO.getTag().equals("详情分配库位")) {
-                        String message = "容器编码:{},物料编码:{},收货数量:{}";
+                        String message = "容器编码:{},物料编码:{},入库数量:{}";
                         operationLogList.addAll(
                             createOperationLogs(logDTO, ReceiptContainerDetail.class, "getReceiptCode", message, "getContainerCode", "getMaterialCode", "getQty"));
                     } else if (logDTO.getTag().equals("详情入库")) {
-                        String message = "物料编码:{},收货数量:{}";
-                        operationLogList
-                            .addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getTaskQty"));
+                        String message = "物料编码:{},入库数量:{}";
+                        operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getTaskQty"));
                     } else if (logDTO.getTag().equals("详情组盘")) {
-                        String message = "物料编码:{},数量:{},收货数量:{}";
+                        String message = "物料编码:{},数量:{},入库数量:{}";
                         operationLogList
                             .addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty", "getTaskQty"));
                     } else {
                         String message = "物料编码:{},数量:{}";
+                        operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty"));
+                    }
+                } else if (logDTO.getBizType().equals("出库单追踪")) {
+                    if (logDTO.getTag().equals("详情添加")) {
+                        String message = "物料编码:{},数量:{}";
+                        operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty"));
+                    } else if (logDTO.getTag().equals("详情分配库位")) {
+                        String message = "容器编码:{},物料编码:{},出库数量:{}";
+                        operationLogList.addAll(
+                            createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getContainerCode", "getMaterialCode", "getQty"));
+                    } else if (logDTO.getTag().equals("详情出库")) {
+                        String message = "物料编码:{},收货数量:{}";
+                        operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getTaskQty"));
+                    } else if (logDTO.getTag().equals("详情配盘")) {
+                        String message = "物料编码:{},数量:{},出库数量:{}";
                         operationLogList
-                            .addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty"));
+                            .addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty", "getTaskQty"));
+                    } else {
+                        String message = "物料编码:{},数量:{}";
+                        operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty"));
                     }
                 }
             } else {
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 e9f4169..1bf50d6 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
@@ -86,7 +86,7 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R
 
     @Override
     @Transactional
-    @OperationLog(bizId = "#receiptHeader.getCode()", bizType = "'入库单追踪'", tag = "'入库单生成'", 
+    @OperationLog(bizId = "#receiptHeader.getCode()", bizType = "'入库单追踪'", tag = "'入库单新增'", 
     msg = "'上游单号:'+ #receiptHeader.getReferCode() + ',仓库编码:' + #receiptHeader.getWarehouseCode()", recordReturnValue = true)
     public Result<ReceiptHeader> saveReceiptHeader(ReceiptHeader receiptHeader) {
         LambdaQueryWrapper<ReceiptType> lambdaQueryWrapper = Wrappers.lambdaQuery();
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
index 334c2be..4bf6977 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentCombination/service/impl/ShipmentCombinationServiceImpl.java
@@ -2,6 +2,7 @@ package org.jeecg.modules.wms.shipment.shipmentCombination.service.impl;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 import javax.annotation.Resource;
@@ -39,10 +40,14 @@ import org.jeecg.utils.constant.QuantityConstant;
 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 cn.monitor4all.logRecord.annotation.OperationLog;
+import cn.monitor4all.logRecord.context.LogRecordContext;
+
 /**
  * @author 游杰
  */
@@ -88,8 +93,6 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
         String companyCode = shipmentDetail.getCompanyCode();
         String materialCode = shipmentDetail.getMaterialCode();
         String inventoryStatus = shipmentDetail.getInventoryStatus();
-        String batch = shipmentDetail.getBatch();
-        int shipmentId = shipmentDetail.getShipmentId();
         if (StringUtils.isEmpty(warehouseCode)) {
             throw new ServiceException("寻找库存详情时,出库详情没有仓库编码");
         }
@@ -215,6 +218,8 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
 
     @Override
     @Transactional(rollbackFor = ServiceException.class)
+    @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情配盘'", extra = "#extraJsonString",
+        msg = "'库位编码:' + #inventoryDetail.getLocationCode() + ',容器编码:' + #inventoryDetail.getContainerCode()", recordReturnValue = true)
     public Result combination(CombinationModel combinationModel) {
         BigDecimal shipmentQty = combinationModel.getShipQty();
         ShipmentDetail shipmentDetail = combinationModel.getShipmentDetail();
@@ -305,6 +310,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi
         if (!success) {
             throw new ServiceException("配盘时, 更新出库单失败");
         }
+        LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentDetail)));
         return Result.ok("配盘成功");
     }
 
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java
index 71c6059..c1941a2 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/controller/ShipmentHeaderController.java
@@ -108,11 +108,10 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
     @ApiOperation(value = "出库单-添加", notes = "出库单-添加")
     @PostMapping(value = "/add")
     @RequiresPermissions("shipmentHeader:add")
-    public Result<String> add(@RequestBody ShipmentHeader shipmentHeader, HttpServletRequest req) {
+    public Result<?> add(@RequestBody ShipmentHeader shipmentHeader, HttpServletRequest req) {
         String warehouseCode = HuahengJwtUtil.getWarehouseCodeByToken(req);
         shipmentHeader.setWarehouseCode(warehouseCode);
-        Result result = shipmentHeaderService.saveShipmentHeader(shipmentHeader);
-        return result;
+        return shipmentHeaderService.saveShipmentHeader(shipmentHeader);
     }
 
     /**
@@ -214,9 +213,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
     @ApiOperation(value = "出库单详情-添加", notes = "出库单详情-添加")
     @RequiresPermissions("shipmentDetail:add")
     @PostMapping(value = "/addShipmentDetail")
-    public Result<String> addShipmentDetail(@RequestBody ShipmentDetail shipmentDetail, HttpServletRequest req) {
-        Result result = shipmentDetailService.saveShipmentDetail(shipmentDetail);
-        return result;
+    public Result<?> addShipmentDetail(@RequestBody ShipmentDetail shipmentDetail, HttpServletRequest req) {
+        return shipmentDetailService.saveShipmentDetail(shipmentDetail);
     }
 
     /**
@@ -297,7 +295,7 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
         String selections = request.getParameter("selections");
         if (oConvertUtils.isNotEmpty(selections)) {
             List<String> selectionList = Arrays.asList(selections.split(","));
-            exportList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
+            exportList = pageList.stream().filter(item -> selectionList.contains(item.getId().toString())).collect(Collectors.toList());
         } else {
             exportList = pageList;
         }
@@ -359,9 +357,8 @@ public class ShipmentHeaderController extends JeecgController<ShipmentHeader, IS
     @ApiOperation(value = "回传出库单", notes = "回传出库单")
     @RequiresPermissions("shipmentHeader:back")
     @RequestMapping(value = "/backErpShipment", method = {RequestMethod.PUT, RequestMethod.POST})
-    public Result<String> backErpShipment(@RequestBody ShipmentHeader shipmentHeader) {
-        Result result = erpService.backShipment(shipmentHeader);
-        return result;
+    public Result<?> backErpShipment(@RequestBody ShipmentHeader shipmentHeader) {
+        return erpService.backShipment(shipmentHeader);
     }
 
     @AutoLog(value = "PDA出库-呼叫料盒")
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java
index 64a70ac..86c9d6b 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentDetailServiceImpl.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.wms.shipment.shipmentHeader.service.impl;
 
+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;
@@ -16,8 +17,14 @@ import org.jeecg.modules.wms.shipment.shipmentHeader.service.IShipmentHeaderServ
 import org.jeecg.utils.StringUtils;
 import org.jeecg.utils.constant.QuantityConstant;
 import org.springframework.stereotype.Service;
+
+import java.util.Collections;
 import java.util.List;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import cn.monitor4all.logRecord.annotation.OperationLog;
+import cn.monitor4all.logRecord.context.LogRecordContext;
+
 import org.springframework.beans.factory.annotation.Autowired;
 
 import javax.annotation.Resource;
@@ -46,6 +53,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper,
     }
 
     @Override
+    @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情添加'", extra = "#extraJsonString", msg = "''", recordReturnValue = true)
     public Result saveShipmentDetail(ShipmentDetail shipmentDetail) {
         ShipmentHeader shipmentHeader = shipmentHeaderService.getById(shipmentDetail.getShipmentId());
         if (shipmentHeader == null) {
@@ -84,6 +92,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper,
         if (!success) {
             throw new ServiceException("添加失败, 更新出库单失败");
         }
+        LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(Collections.singletonList(shipmentDetail)));// 操作日志收集
         return Result.OK("添加成功!");
     }
 
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java
index 530e783..69dac3d 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/service/impl/ShipmentHeaderServiceImpl.java
@@ -32,6 +32,9 @@ import org.jeecg.utils.StringUtils;
 import org.jeecg.utils.constant.QuantityConstant;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import cn.monitor4all.logRecord.annotation.OperationLog;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -106,6 +109,9 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper,
     }
 
     @Override
+    @Transactional
+    @OperationLog(bizId = "#shipmentHeader.getCode()", bizType = "'出库单追踪'", tag = "'出库单新增'", 
+    msg = "'上游单号:'+ #shipmentHeader.getReferCode() + ',仓库编码:' + #shipmentHeader.getWarehouseCode()", recordReturnValue = true)
     public Result saveShipmentHeader(ShipmentHeader shipmentHeader) {
         LambdaQueryWrapper<ShipmentType> lambdaQueryWrapper = Wrappers.lambdaQuery();
         lambdaQueryWrapper.eq(ShipmentType::getCode, shipmentHeader.getType()).eq(ShipmentType::getWarehouseCode, shipmentHeader.getWarehouseCode());
@@ -130,7 +136,6 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper,
     @Override
     @Transactional
     public String createCode(String shipmentType) {
-        int i = 0;
         String code = null;
         Date now = new Date();
         SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
--
libgit2 0.22.2