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 829c965..38b77f7 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
@@ -7,6 +7,7 @@ import org.jeecg.modules.wms.monitor.operation.entity.OperationLog;
 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.utils.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -44,7 +45,7 @@ public class OperationLogServiceImpl extends ServiceImpl<OperationLogMapper, Ope
                         if (receiptContainerDetail == null || receiptContainerDetail.getUniqueCode() == null) {
                             continue;
                         }
-                        String msg = StrUtil.format("上游单号:{},入库单据号:{},仓库编码:{},托盘编码:{},物料编码:{},入库数量:{}", receiptContainerDetail.getReferCode(),
+                        String msg = StrUtil.format("上游单号:[{}],入库单据号:[{}],仓库编码:[{}],托盘编码:[{}],物料编码:[{}],数量:[{}]", receiptContainerDetail.getReferCode(),
                             receiptContainerDetail.getReceiptCode(), receiptContainerDetail.getWarehouseCode(), receiptContainerDetail.getContainerCode(),
                             receiptContainerDetail.getMaterialCode(), receiptContainerDetail.getQty());
                         OperationLog operationLog = new OperationLog();
@@ -61,16 +62,41 @@ public class OperationLogServiceImpl extends ServiceImpl<OperationLogMapper, Ope
                         operationLogList.add(operationLog);
                     }
                 }
+                if (logDTO.getBizType().equals("入库单据追踪")) {
+                    List<ReceiptDetail> receiptDetailList = JSON.parseArray(logDTO.getExtra(), ReceiptDetail.class);
+                    if (CollectionUtils.isEmpty(receiptDetailList)) {
+                        return true;
+                    }
+                    for (ReceiptDetail receiptDetail : receiptDetailList) {
+                        if (receiptDetail == null || receiptDetail.getReceiptCode() == null) {
+                            continue;
+                        }
+                        String msg = StrUtil.format("上游单号:[{}],仓库编码:[{}],物料编码:[{}],数量:[{}],已收数量:[{}]", receiptDetail.getReferCode(),
+                            receiptDetail.getWarehouseCode(), receiptDetail.getMaterialCode(), receiptDetail.getQty(), receiptDetail.getTaskQty());
+                        OperationLog operationLog = new OperationLog();
+                        operationLog.setBizId(receiptDetail.getReceiptCode());
+                        operationLog.setOperationMsg(StringUtils.substring(msg, 0, 1000));
+                        operationLog.setBizType(logDTO.getBizType());
+                        operationLog.setBizTag(logDTO.getTag());
+                        operationLog.setContentException(StringUtils.substring(logDTO.getException(), 0, 1000));
+                        operationLog.setContentReturn(StringUtils.substring(logDTO.getReturnStr(), 0, 1000));
+                        operationLog.setOperationCostTime(logDTO.getExecutionTime());
+                        operationLog.setOperationStatus(logDTO.getSuccess().equals(true) ? 1 : 0);
+                        operationLog.setOperationTime(logDTO.getOperateDate());
+                        operationLog.setOperatorName(logDTO.getOperatorId());
+                        operationLogList.add(operationLog);
+                    }
+                }
             }
             if (!StringUtils.isEmpty(logDTO.getBizId())) {
                 OperationLog operationLog = new OperationLog();
                 operationLog.setBizId(logDTO.getBizId());
+                operationLog.setOperationMsg(StringUtils.substring(logDTO.getMsg(), 0, 1000));
                 operationLog.setBizType(logDTO.getBizType());
                 operationLog.setBizTag(logDTO.getTag());
                 operationLog.setContentException(StringUtils.substring(logDTO.getException(), 0, 1000));
                 operationLog.setContentReturn(StringUtils.substring(logDTO.getReturnStr(), 0, 1000));
                 operationLog.setOperationCostTime(logDTO.getExecutionTime());
-                operationLog.setOperationMsg(StringUtils.substring(logDTO.getMsg(), 0, 1000));
                 operationLog.setOperationStatus(logDTO.getSuccess().equals(true) ? 1 : 0);
                 operationLog.setOperationTime(logDTO.getOperateDate());
                 operationLog.setOperatorName(logDTO.getOperatorId());
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/entity/ReceiptContainerDetail.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/entity/ReceiptContainerDetail.java
index 67aecf9..81af760 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/entity/ReceiptContainerDetail.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptContainerHeader/entity/ReceiptContainerDetail.java
@@ -95,6 +95,7 @@ public class ReceiptContainerDetail implements Serializable {
     @Excel(name = "项目号", width = 15)
     @ApiModelProperty(value = "项目号")
     private String project;
+    @Excel(name = "唯一号", width = 15)
     @ApiModelProperty(value = "唯一号")
     private String uniqueCode;
     /** 备用字段1 */
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java
index 71c442f..521a530 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptDetailServiceImpl.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.wms.receipt.receiptHeader.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.aliyun.oss.ServiceException;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.wms.config.material.entity.Material;
@@ -9,11 +10,18 @@ import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader;
 import org.jeecg.modules.wms.receipt.receiptHeader.mapper.ReceiptDetailMapper;
 import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptDetailService;
 import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService;
+import org.jeecg.utils.HuahengJwtUtil;
 import org.jeecg.utils.StringUtils;
 import org.jeecg.utils.constant.QuantityConstant;
 import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
 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;
@@ -42,6 +50,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
     }
 
     @Override
+    @OperationLog(bizId = "''", bizType = "'入库单据追踪'", tag = "'入库详情添加'", extra = "#extraJsonString", msg = "''", operatorId = "#username", recordReturnValue = true)
     public Result saveReceiptDetail(ReceiptDetail receiptDetail) {
         ReceiptHeader receiptHeader = receiptHeaderService.getById(receiptDetail.getReceiptId());
         if (receiptHeader == null) {
@@ -79,6 +88,11 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R
         if (!success) {
             throw new ServiceException("添加失败, 保存入库单详失败");
         }
+        // 操作日志收集
+        List<ReceiptDetail> receiptDetailList = new ArrayList<ReceiptDetail>();
+        receiptDetailList.add(receiptDetail);
+        LogRecordContext.putVariable("username", HuahengJwtUtil.getCurrentOperator());
+        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 8332204..d0f2621 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
@@ -15,10 +15,15 @@ import org.jeecg.modules.wms.receipt.receiptHeader.mapper.ReceiptHeaderMapper;
 import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptDetailService;
 import org.jeecg.modules.wms.receipt.receiptHeader.service.IReceiptHeaderService;
 import org.jeecg.modules.wms.receipt.receiptHeaderHistory.service.IReceiptHeaderHistoryService;
+import org.jeecg.utils.HuahengJwtUtil;
 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 cn.monitor4all.logRecord.context.LogRecordContext;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -89,6 +94,8 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R
 
     @Override
     @Transactional
+    @OperationLog(bizId = "#receiptHeader.getCode()", bizType = "'入库单据追踪'", tag = "'入库单生成'", 
+    msg = "'上游单号:['+ #receiptHeader.getReferCode() + '],仓库编码:[' + #receiptHeader.getWarehouseCode() + ']'", operatorId = "#username", recordReturnValue = true)
     public Result<ReceiptHeader> saveReceiptHeader(ReceiptHeader receiptHeader) {
         LambdaQueryWrapper<ReceiptType> lambdaQueryWrapper = Wrappers.lambdaQuery();
         lambdaQueryWrapper.eq(ReceiptType::getCode, receiptHeader.getType()).eq(ReceiptType::getWarehouseCode, receiptHeader.getWarehouseCode());
@@ -107,13 +114,13 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl<ReceiptHeaderMapper, R
         if (!success) {
             return Result.OK("添加失败!");
         }
+        LogRecordContext.putVariable("username", HuahengJwtUtil.getCurrentOperator());
         return Result.OK("添加成功!", receiptHeader);
     }
 
     @Override
     @Transactional
     public String createCode(String receiptType) {
-        int i = 0;
         String code = null;
         Date now = new Date();
         SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentDetail.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentDetail.java
index f767b19..269316f 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentDetail.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/shipment/shipmentHeader/entity/ShipmentDetail.java
@@ -108,6 +108,7 @@ public class ShipmentDetail implements Serializable {
     @Excel(name = "上游行号", width = 15)
     @ApiModelProperty(value = "上游行号")
     private String referLineNum;
+    @Excel(name = "唯一号", width = 15)
     @ApiModelProperty(value = "唯一号")
     private String uniqueCode;
     /** 备用字段1 */
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 d1d72a0..efce67e 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
@@ -115,6 +115,7 @@ public class TaskDetail implements Serializable {
     @Excel(name = "入库的库存详情id", width = 15)
     @ApiModelProperty(value = "入库的库存详情id")
     private Integer toInventoryDetailId;
+    @Excel(name = "唯一号", width = 15)
     @ApiModelProperty(value = "唯一号")
     private String uniqueCode;
     /** 备用字段1 */