diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java
index 84017a7..e105a86 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java
@@ -91,6 +91,9 @@ public class WcsServiceImpl implements WcsService {
     @Transactional(rollbackFor = Exception.class)
     @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情分配库位'", extra = "#extraJsonString",
         msg = "'任务ID:' + #warecellDomain.getTaskNo() + ',库位编码:' + #locationCode", condition = "#receiptContainerDetailList.size() > 0", recordReturnValue = true)
+    @OperationLog(bizId = "#taskHeader.getId()", bizType = "'任务追踪'", tag = "'分配库位'", extra = "''",
+        msg = "'任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()",
+        recordReturnValue = true)
     public Result warecellAllocation(WarecellDomain warecellDomain) {
         String warehouseCode = warecellDomain.getWarehouseCode();
         String zoneCode = warecellDomain.getZoneCode();
@@ -241,12 +244,16 @@ public class WcsServiceImpl implements WcsService {
         LogRecordContext.putVariable("locationCode", locationCode);// 操作日志收集
         LogRecordContext.putVariable("receiptContainerDetailList", receiptContainerDetailList);// 操作日志收集
         LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptContainerDetailList));// 操作日志收集
+        LogRecordContext.putVariable("taskHeader", taskHeader);// 操作日志收集
         return Result.OK(wcsTask);
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     @ApiLogger(apiName = "任务下发", from = "WCS")
+    @OperationLog(bizId = "#taskHeader.getId()", bizType = "'任务追踪'", tag = "'任务下发'", extra = "''",
+        msg = "'任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()",
+        recordReturnValue = true)
     public Result wcsTaskAssign(TaskHeader taskHeader) {
         if (taskHeader == null) {
             return Result.error("wms任务为空");
@@ -400,7 +407,7 @@ public class WcsServiceImpl implements WcsService {
                 return Result.error(result.getMessage());
             }
         }
-
+        LogRecordContext.putVariable("taskHeader", taskHeader);// 操作日志收集
         return Result.ok("下发成功");
     }
 
@@ -614,6 +621,9 @@ public class WcsServiceImpl implements WcsService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
+    @OperationLog(bizId = "#taskHeader.getId()", bizType = "'任务追踪'", tag = "'到达站台'", extra = "''",
+        msg = "'任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode() + ',目标出入口:' + #taskHeader.getToPortCode()",
+        recordReturnValue = true)
     public Result arrivedNotice(String taskNo, String port) {
         TaskHeader taskHeader = taskHeaderService.getById(taskNo);
         if (taskHeader == null) {
@@ -629,6 +639,7 @@ public class WcsServiceImpl implements WcsService {
         if (!result) {
             return Result.error("更新到达站台失败");
         }
+        LogRecordContext.putVariable("taskHeader", taskHeader);// 操作日志收集
         return Result.ok("更新到达站台成功");
     }
 
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 35aa882..5b76a45 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
@@ -42,51 +42,85 @@ public class OperationLogServiceImpl extends ServiceImpl<OperationLogMapper, Ope
             log.debug(">>>>>> create OperationLog:{} <<<<<<", JSON.toJSONString(logDTO));
             List<OperationLog> operationLogList = new ArrayList<OperationLog>();
             if (!StringUtils.isEmpty(logDTO.getExtra())) {
-                if (logDTO.getBizType().equals("物料追踪")) {
-                    if (logDTO.getTag().equals("入库组盘")) {
-                        String message = "容器编码:{},物料编码:{},数量:{}";
-                        operationLogList.addAll(createOperationLogs(logDTO, ReceiptContainerDetail.class, "getUniqueCode", message, "getReferCode", "getReceiptCode",
-                            "getWarehouseCode", "getContainerCode", "getMaterialCode", "getQty"));
-                    }
-                } else if (logDTO.getBizType().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("入库任务完成")) {
-                        String message = "物料编码:{},入库数量:{}";
-                        operationLogList.addAll(createOperationLogs(logDTO, TaskDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty"));
-                    } else if (logDTO.getTag().equals("详情入库完成")) {
-                        Thread.sleep(100);
-                        String message = "物料编码:{},数量:{}";
-                        operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty"));
-                    } else {
-                        String message = "物料编码:{},数量:{}";
-                        operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty"));
-                    }
-                } else if (logDTO.getBizType().equals("出库单追踪")) {
-                    if (logDTO.getTag().equals("详情配盘") || logDTO.getTag().equals("详情取消配盘")) {
-                        String message = "库位编码:{},容器编码:{},物料编码:{},出库数量:{}";
-                        operationLogList.addAll(createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getFromLocationCode",
-                            "getContainerCode", "getMaterialCode", "getQty"));
-                    } 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("出库任务完成")) {
-                        String message = "物料编码:{},出库数量:{}";
-                        operationLogList.addAll(createOperationLogs(logDTO, TaskDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty"));
-                    } else if (logDTO.getTag().equals("详情出库完成")) {
-                        Thread.sleep(100);
-                        String message = "物料编码:{},数量:{}";
-                        operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty"));
-                    } else {
-                        String message = "物料编码:{},数量:{}";
-                        operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty"));
-                    }
+                String message = null;
+                switch (logDTO.getBizType()) {
+                    case "物料追踪":
+                        switch (logDTO.getTag()) {
+                            case "入库组盘":
+                                message = "容器编码:{},物料编码:{},数量:{}";
+                                operationLogList.addAll(createOperationLogs(logDTO, ReceiptContainerDetail.class, "getUniqueCode", message, "getReferCode",
+                                    "getReceiptCode", "getWarehouseCode", "getContainerCode", "getMaterialCode", "getQty"));
+                                break;
+                        }
+                        break;
+                    case "入库单追踪":
+                        switch (logDTO.getTag()) {
+                            case "详情分配库位":
+                            case "详情组盘":
+                            case "详情取消组盘":
+                            case "入库任务生成":
+                            case "入库任务取消":
+                                message = "容器编码:{},物料编码:{},入库数量:{}";
+                                operationLogList.addAll(createOperationLogs(logDTO, ReceiptContainerDetail.class, "getReceiptCode", message, "getContainerCode",
+                                    "getMaterialCode", "getQty"));
+                                break;
+                            case "入库任务完成":
+                                message = "物料编码:{},入库数量:{}";
+                                operationLogList.addAll(createOperationLogs(logDTO, TaskDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty"));
+                                break;
+                            case "详情入库完成":
+                                Thread.sleep(200);// 确保日志输出顺序
+                                message = "物料编码:{},数量:{}";
+                                operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty"));
+                                break;
+                            default:
+                                message = "物料编码:{},数量:{}";
+                                operationLogList.addAll(createOperationLogs(logDTO, ReceiptDetail.class, "getReceiptCode", message, "getMaterialCode", "getQty"));
+                                break;
+                        }
+                        break;
+                    case "出库单追踪":
+                        switch (logDTO.getTag()) {
+                            case "详情配盘":
+                            case "详情取消配盘":
+                                message = "库位编码:{},容器编码:{},物料编码:{},出库数量:{}";
+                                operationLogList.addAll(createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getFromLocationCode",
+                                    "getContainerCode", "getMaterialCode", "getQty"));
+                                break;
+                            case "出库任务生成":
+                            case "出库任务取消":
+                                message = "物料编码:{},出库数量:{}";
+                                operationLogList
+                                    .addAll(createOperationLogs(logDTO, ShipmentContainerDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty"));
+                                break;
+                            case "出库任务完成":
+                                message = "物料编码:{},出库数量:{}";
+                                operationLogList.addAll(createOperationLogs(logDTO, TaskDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty"));
+                                break;
+                            case "详情出库完成":
+                                Thread.sleep(200);// 确保日志输出顺序
+                                message = "物料编码:{},数量:{}";
+                                operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty"));
+                                break;
+                            default:
+                                message = "物料编码:{},数量:{}";
+                                operationLogList.addAll(createOperationLogs(logDTO, ShipmentDetail.class, "getShipmentCode", message, "getMaterialCode", "getQty"));
+                                break;
+                        }
+                        break;
+                    case "任务追踪":
+                        switch (logDTO.getTag()) {
+                            case "入库任务生成":
+                            case "入库任务完成":
+                                message = "详情ID:{},物料编码:{},物料名称:{},数量:{}";
+                                operationLogList.addAll(createOperationLogs(logDTO, TaskDetail.class, "getTaskHeaderId", message, "getId", "getMaterialCode",
+                                    "getMaterialName", "getQty"));
+                                break;
+                        }
+
                 }
             } else {
-                Thread.sleep(200);
+                Thread.sleep(1000); // 确保日志输出顺序
                 OperationLog operationLog = new OperationLog();
                 operationLog.setBizId(logDTO.getBizId());
                 operationLog.setOperationMsg(StringUtils.substring(logDTO.getMsg(), 0, 1000));
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 23e91aa..2712e12 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
@@ -98,8 +98,11 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai
 
     @Override
     @Transactional(rollbackFor = ServiceException.class)
-    @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库任务生成'", extra = "#extraJsonString", msg = "'任务ID:' + #taskHeaderId",
+    @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库任务生成'", extra = "#extraJsonString1", msg = "'任务ID:' + #taskHeader.getId()",
         condition = "#receiptContainerDetailList.size() > 0", recordReturnValue = true)
+    @OperationLog(bizId = "''", bizType = "'任务追踪'", tag = "'入库任务生成'", extra = "#extraJsonString2",
+        msg = "'任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()",
+        condition = "#taskDetailList.size() > 0", recordReturnValue = true)
     public Result<TaskHeader> createReceiptTask(ReceiptContainerHeader receiptContainerHeader, String warehouseCode) {
         if (!receiptContainerHeader.getWarehouseCode().equals(warehouseCode)) {
             return Result.error("id:" + receiptContainerHeader.getId() + "的入库组盘不能在" + warehouseCode + "仓库操作");
@@ -216,9 +219,11 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai
                 throw new ServiceException("更新入库单明细失败");
             }
         }
-        LogRecordContext.putVariable("taskHeaderId", taskHeaderId);// 操作日志收集
+        LogRecordContext.putVariable("taskHeader", taskHeader);// 操作日志收集
         LogRecordContext.putVariable("receiptContainerDetailList", receiptContainerDetailList);// 操作日志收集
-        LogRecordContext.putVariable("extraJsonString", JSON.toJSONString(receiptContainerDetailList));// 操作日志收集
+        LogRecordContext.putVariable("extraJsonString1", JSON.toJSONString(receiptContainerDetailList));// 操作日志收集
+        LogRecordContext.putVariable("taskDetailList", taskDetailList);// 操作日志收集
+        LogRecordContext.putVariable("extraJsonString2", JSON.toJSONString(taskDetailList));// 操作日志收集
         return Result.OK("生成入库任务成功", taskHeader);
     }
 
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 07fd4bd..b1fe0a0 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
@@ -1068,8 +1068,12 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
+    @OperationLog(bizId = "''", bizType = "'任务追踪'", tag = "'入库任务完成'", extra = "#extraJsonString1",
+        msg = "'任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()",
+        condition = "#taskDetailList.size() > 0", recordReturnValue = true)
     @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'入库任务完成'", extra = "#extraJsonString1",
-        msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()", recordReturnValue = true)
+        msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()",
+        condition = "#taskDetailList.size() > 0", recordReturnValue = true)
     @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情入库完成'", extra = "#extraJsonString2", msg = "''", condition = "#receiptDetaiList.size() > 0",
         recordReturnValue = true)
     public Result completeReceiptTask(TaskHeader taskHeader) {
@@ -1223,10 +1227,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             }
         }
         receiptDetaiList = receiptDetaiList.stream().filter(t -> t.getStatus().equals(QuantityConstant.RECEIPT_HEADER_COMPLETED)).collect(Collectors.toList());
-        LogRecordContext.putVariable("receiptDetaiList", receiptDetaiList);
+        LogRecordContext.putVariable("taskDetailList", taskDetailList);
         LogRecordContext.putVariable("extraJsonString1", JSON.toJSONString(taskDetailList));
+        LogRecordContext.putVariable("receiptDetaiList", receiptDetaiList);
         LogRecordContext.putVariable("extraJsonString2", JSON.toJSONString(receiptDetaiList));
-
+        LogRecordContext.putVariable("taskHeader", taskHeader);
         return Result.ok("完成入库任务");
     }