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 94242ee..b4a78fc 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 @@ -49,16 +49,14 @@ public class OperationLogServiceImpl extends ServiceImpl<OperationLogMapper, Ope "getWarehouseCode", "getContainerCode", "getMaterialCode", "getQty")); } } else if (logDTO.getBizType().equals("入库单追踪")) { - if (logDTO.getTag().equals("详情分配库位") || logDTO.getTag().equals("详情组盘") || logDTO.getTag().equals("详情取消组盘")) { + if (logDTO.getTag().equals("详情分配库位") || logDTO.getTag().equals("详情组盘") || logDTO.getTag().equals("详情取消组盘") || logDTO.getTag().equals("入库任务生成") + || logDTO.getTag().equals("入库任务取消")) { String message = "容器编码:{},物料编码:{},入库数量:{}"; operationLogList.addAll( createOperationLogs(logDTO, ReceiptContainerDetail.class, "getReceiptCode", message, "getContainerCode", "getMaterialCode", "getQty")); - } else if (logDTO.getTag().equals("入库任务生成") || logDTO.getTag().equals("入库任务取消")) { + } else if (logDTO.getTag().equals("入库任务完成")) { String message = "物料编码:{},入库数量:{}"; - operationLogList.addAll(createOperationLogs(logDTO, ReceiptContainerDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty")); - } else if (logDTO.getTag().equals("详情入库")) { - String message = "物料编码:{},入库数量:{}"; - operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getTaskQty")); + operationLogList.addAll(createOperationLogs(logDTO, TaskDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty")); } else { String message = "物料编码:{},数量:{}"; operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty")); @@ -71,9 +69,9 @@ public class OperationLogServiceImpl extends ServiceImpl<OperationLogMapper, Ope } else if (logDTO.getTag().equals("出库任务生成") || logDTO.getTag().equals("出库任务取消")) { String message = "物料编码:{},出库数量:{}"; operationLogList.addAll(createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); - } else if (logDTO.getTag().equals("详情出库")) { + } else if (logDTO.getTag().equals("出库任务完成")) { String message = "物料编码:{},出库数量:{}"; - operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getTaskQty")); + operationLogList.addAll(createOperationLogs(logDTO, TaskDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); } else { String message = "物料编码:{},数量:{}"; operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty")); 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 daa4207..b147d7c 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 @@ -145,7 +145,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()", condition = "#minStatus == 800", recordReturnValue = true) public boolean updateReceiptHeaderStatus(Integer id) { LambdaQueryWrapper<ReceiptDetail> receiptDetailLambdaQueryWrapper = 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 b83e6d2..4164e74 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 @@ -414,7 +414,7 @@ public class ShipmentCombinationServiceImpl implements IShipmentCombinationServi @Override @Transactional(rollbackFor = ServiceException.class) @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'出库任务生成'", extra = "#extraJsonString", - msg = "'任务ID:' + #taskHeaderId + ',库位编码:' + #shipmentContainerHeader.getFromLocationCode() + ',目标出入口:' + #shipmentContainerHeader.getToPort()", + msg = "'任务ID:' + #taskHeaderId + ',库位编码:' + #shipmentContainerHeader.getFromLocationCode() + ',容器编码:' + #shipmentContainerHeader.getContainerCode() + ',目标出入口:' + #shipmentContainerHeader.getToPort()", condition = "#shipmentContainerDetailList.size() > 0", recordReturnValue = true) public Result createShipmentTask(ShipmentContainerHeader shipmentContainerHeader, String warehouseCode, long shipmentOrder, int sequence, int sequenceNumber) { Integer preTaskNo = 0; diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerHeader/service/impl/ShipmentContainerHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerHeader/service/impl/ShipmentContainerHeaderServiceImpl.java index 0f492c9..c63c45b 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerHeader/service/impl/ShipmentContainerHeaderServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentContainerHeader/service/impl/ShipmentContainerHeaderServiceImpl.java @@ -131,8 +131,8 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont @Override @Transactional(rollbackFor = Exception.class) @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'出库任务取消'", extra = "#extraJsonString", - msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #shipmentContainerHeader.getFromLocationCode() + ',目标出入口:' + #shipmentContainerHeader.getToPort()", - condition = "#shipmentContainerDetailList.size() > 0", recordReturnValue = true) + msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #shipmentContainerHeader.getFromLocationCode() + ',容器编码:' + #shipmentContainerHeader.getContainerCode() + ',目标出入口:' + #shipmentContainerHeader.getToPort()", + condition = "#shipmentContainerDetailList.size() > 0", recordReturnValue = true) public boolean cancelShipmentTask(TaskHeader taskHeader) { ShipmentContainerHeader shipmentContainerHeader = getById(taskHeader.getShipmentContainerHeaderId()); if (shipmentContainerHeader == null) { 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 0fcd975..346f23a 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 @@ -163,7 +163,7 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper, } @Override - @OperationLog(bizId = "#shipmentHeader.getCode()", bizType = "'出库单追踪'", tag = "'出库完成'", + @OperationLog(bizId = "#shipmentHeader.getCode()", bizType = "'出库单追踪'", tag = "'出库单完成'", msg = "'上游单号:'+ #shipmentHeader.getReferCode() + ',仓库编码:' + #shipmentHeader.getWarehouseCode()", condition = "#minStatus == 800", recordReturnValue = true) public boolean updateShipmentHeaderStatus(Integer shipmentId) { List<ShipmentDetail> shipmentDetailList = shipmentDetailService.getShipmentDetailListByShipmentId(shipmentId); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/entity/TaskDetail.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/entity/TaskDetail.java index efce67e..14fe2b5 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/entity/TaskDetail.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/entity/TaskDetail.java @@ -8,6 +8,7 @@ import org.jeecg.common.aspect.annotation.Dict; import org.jeecgframework.poi.excel.annotation.Excel; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -31,114 +32,149 @@ public class TaskDetail implements Serializable { @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键") private Integer id; + /** 任务头ID */ @ApiModelProperty(value = "任务头ID") private Integer taskHeaderId; + /** 任务类型 */ @Excel(name = "任务类型", width = 15) @ApiModelProperty(value = "任务类型") private Integer taskType; + /** 仓库编码 */ @Excel(name = "仓库编码", width = 15) @ApiModelProperty(value = "仓库编码") private String warehouseCode; + /** 货主 */ @Excel(name = "货主", width = 15) @ApiModelProperty(value = "货主") private String companyCode; + /** 出库单id */ @Excel(name = "出库单id", width = 15) @ApiModelProperty(value = "出库单id") private Integer shipmentId; + + @TableField(exist = false) + private String shipmentCode; + /** 出库详情id */ @Excel(name = "出库详情id", width = 15) @ApiModelProperty(value = "出库详情id") private Integer shipmentDetailId; + /** 出库组盘详情id */ @Excel(name = "出库组盘详情id", width = 15) @ApiModelProperty(value = "出库组盘详情id") private Integer shipmentContainerDetailId; + /** 入库单id */ @Excel(name = "入库单id", width = 15) @ApiModelProperty(value = "入库单id") private Integer receiptId; + + @TableField(exist = false) + private String receiptCode; + /** 入库单详情id */ @Excel(name = "入库单详情id", width = 15) @ApiModelProperty(value = "入库单详情id") private Integer receiptDetailId; + /** 入库组盘详情Id */ @Excel(name = "入库组盘详情Id", width = 15) @ApiModelProperty(value = "入库组盘详情Id") private Integer receiptContainerDetailId; + /** 物料编码 */ @Excel(name = "物料编码", width = 15) @ApiModelProperty(value = "物料编码") private String materialCode; + /** 物料名称 */ @Excel(name = "物料名称", width = 15) @ApiModelProperty(value = "物料名称") private String materialName; + /** 物料规格 */ @Excel(name = "物料规格", width = 15) @ApiModelProperty(value = "物料规格") private String materialSpec; + /** 物料单位 */ @Excel(name = "物料单位", width = 15) @ApiModelProperty(value = "物料单位") private String materialUnit; + /** 数量 */ @Excel(name = "数量", width = 15) @ApiModelProperty(value = "数量") private BigDecimal qty; + /** 批次 */ @Excel(name = "批次", width = 15) @ApiModelProperty(value = "批次") private String batch; + /** 批号 */ @Excel(name = "批号", width = 15) @ApiModelProperty(value = "批号") private String lot; + /** 项目号 */ @Excel(name = "项目号", width = 15) @ApiModelProperty(value = "项目号") private String project; + /** 库存状态 */ @Excel(name = "库存状态", width = 15) @Dict(dicCode = "inventory_status") @ApiModelProperty(value = "库存状态") private String inventoryStatus; + /** 出库的库存详情id */ @Excel(name = "出库的库存详情id", width = 15) @ApiModelProperty(value = "出库的库存详情id") private Integer fromInventoryDetailId; + /** 入库的库存详情id */ @Excel(name = "入库的库存详情id", width = 15) @ApiModelProperty(value = "入库的库存详情id") private Integer toInventoryDetailId; + @Excel(name = "唯一号", width = 15) @ApiModelProperty(value = "唯一号") private String uniqueCode; + /** 备用字段1 */ @Excel(name = "备用字段1", width = 15) @ApiModelProperty(value = "备用字段1") private String userdef1; + /** 备用字段2 */ @Excel(name = "备用字段2", width = 15) @ApiModelProperty(value = "备用字段2") private String userdef2; + /** 备用字段3 */ @Excel(name = "备用字段3", width = 15) @ApiModelProperty(value = "备用字段3") private String userdef3; + /** 创建人 */ @ApiModelProperty(value = "创建人") private String createBy; + /** 创建日期 */ @ApiModelProperty(value = "创建日期") private Date createTime; + /** 更新人 */ @ApiModelProperty(value = "更新人") private String updateBy; + /** 更新日期 */ @ApiModelProperty(value = "更新日期") private Date updateTime; 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 dd48786..79291ef 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 @@ -1097,8 +1097,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea */ @Override @Transactional(rollbackFor = Exception.class) - @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情入库'", extra = "#extraJsonString", msg = "'库位编码:' + #toLocationCode + ',容器编码:' + #containerCode", - recordReturnValue = true) + @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库任务完成'", extra = "#extraJsonString", + msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", recordReturnValue = true) public Result completeReceiptTask(TaskHeader taskHeader) { if (taskHeader == null) { return Result.error("任务未找到,执行中止"); @@ -1155,8 +1155,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea for (TaskDetail taskDetail : taskDetailList) { ReceiptDetail receiptDetail = receiptDetailService.getById(taskDetail.getReceiptDetailId()); if (receiptDetail == null) { - throw new ServiceException("未找到id:" + taskDetail.getReceiptDetailId() + "入库单明细"); + throw new ServiceException("未找到ID:" + taskDetail.getReceiptDetailId() + "入库单明细"); } + // 操作记录统计用 + taskDetail.setReceiptCode(receiptDetail.getReceiptCode()); BigDecimal taskQty = receiptDetail.getTaskQty(); BigDecimal qty = receiptDetail.getQty(); if (taskQty.compareTo(qty) >= 0) { @@ -1247,9 +1249,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea throw new ServiceException("完成入库任务时,更新入库单头失败"); } } - LogRecordContext.putVariable("toLocationCode", toLocationCode); - LogRecordContext.putVariable("containerCode", containerCode); - LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptDetaiList)); + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(taskDetailList)); return Result.ok("完成入库任务"); } @@ -1260,7 +1260,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea */ @Override @Transactional(rollbackFor = Exception.class) - @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情出库'", extra = "#extraJsonString", msg = "'库位编码:' + #fromLocationCode + ',容器编码:' + #containerCode", recordReturnValue = true) + @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'出库任务完成'", extra = "#extraJsonString", + msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #taskHeader.getFromLocationCode() + ',容器编码:' + #taskHeader.getContainerCode() + ',目标出入口:' + #taskHeader.getToPortCode()", + recordReturnValue = true) public Result completeShipmentTask(TaskHeader taskHeader) { if (taskHeader == null) { return Result.error("完成出库任务未找到,执行中止"); @@ -1301,6 +1303,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea if (shipmentDetail == null) { throw new ServiceException("完成出库任务, 出库任务没有找到出库详情" + taskDetail.getShipmentDetailId()); } + taskDetail.setShipmentCode(shipmentDetail.getShipmentCode()); if (shipmentDetail.getQty().compareTo(shipmentDetail.getTaskQty()) == 0) { shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_COMPLETED); } else if (shipmentDetail.getQty().compareTo(shipmentDetail.getTaskQty()) > 0) { @@ -1429,9 +1432,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea throw new ServiceException("完成出库任务,更新出库单头失败"); } } - LogRecordContext.putVariable("fromLocationCode", fromLocationCode); - LogRecordContext.putVariable("containerCode", containerCode); - LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(shipmentDetailList)); + LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(taskDetailList)); return Result.ok("完成出库任务"); }