diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryHeaderService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryHeaderService.java
index cb9ca4e..28e9f1e 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryHeaderService.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/IInventoryHeaderService.java
@@ -34,4 +34,6 @@ public interface IInventoryHeaderService extends IService<InventoryHeader> {
     boolean updateContainerStatusById(String containerStatus, Integer id);
 
     boolean updateContainerStatusAndLocationCode(String containerStatus, String locationCode, Integer id);
+
+    boolean updateLocationCodeById(String locationCode, Integer id);
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryHeaderServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryHeaderServiceImpl.java
index 10e8925..37da9a3 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryHeaderServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/inventory/inventoryHeader/service/impl/InventoryHeaderServiceImpl.java
@@ -125,4 +125,13 @@ public class InventoryHeaderServiceImpl extends ServiceImpl<InventoryHeaderMappe
         return success;
     }
 
+    @Override
+    public boolean updateLocationCodeById(String locationCode, Integer id) {
+        InventoryHeader inventoryHeader = new InventoryHeader();
+        inventoryHeader.setId(id);
+        inventoryHeader.setLocationCode(locationCode);
+        boolean success = inventoryHeaderService.updateById(inventoryHeader);
+        return success;
+    }
+
 }
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 1936da0..75bb0c8 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
@@ -182,6 +182,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result createTransferTask(String fromLocationCode, String toLocationCode, String warehouseCode) {
+        log.info("开始创建移库任务,起始库位" + fromLocationCode + ",目标库位" + toLocationCode);
         if (StringUtils.isEmpty(fromLocationCode)) {
             return Result.error("创建移库任务时,起始库位为空");
         }
@@ -245,15 +246,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             return Result.error("创建移库任务时,目标库位和源库位不在同一个区域");
         }
 
-        // 2023-04-11 托盘状态与填充状态分离 无需再更新字段
-//        // 2. 记住移库前的容器类型,因为空托盘组无法区分
-//        Container container = containerService.getContainerByCode(fromLocation.getContainerCode(), warehouseCode);
-//        container.setLastStatus(container.getStatus());
-//        boolean success = containerService.updateById(container);
-//        if (!success) {
-//            throw new JeecgBootException("创建移库任务时,更新容器状态失败,容器编码" + fromLocation.getContainerCode());
-//        }
-
         // 3. 判断源库位旁边有托盘但是没有任务,那么不允许移库
         if (fromLocation.getRowFlag() == QuantityConstant.ROW_OUT) {
             // 内侧库位
@@ -299,6 +291,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             throw new JeecgBootException("创建移库任务时, 终点库位" + toLocationCode + "更新失败");
         }
         success = containerService.updateStatus(fromLocation.getContainerCode(), QuantityConstant.STATUS_CONTAINER_LOCK, warehouseCode);
+        log.info("完成创建移库任务,起始库位" + fromLocationCode + ",目的库位" + toLocationCode);
         if (!success) {
             throw new JeecgBootException("创建移库任务时,容器" + fromLocation.getContainerCode() + "更新失败");
         }
@@ -308,6 +301,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result createCheckOutTask(String containerCode, String toPortCode, String warehouseCode) {
+        log.info("开始创建出库查看任务,容器编码" + containerCode + "目标站台号" + toPortCode);
         if (StringUtils.isEmpty(containerCode)) {
             return Result.error("创建出库查看任务时,容器编码为空");
         }
@@ -342,11 +336,16 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getContainerCode, containerCode).eq(InventoryDetail::getWarehouseCode, warehouseCode)
             .eq(InventoryDetail::getLocationCode, fromLocationCode);
         List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper);
+        List<InventoryDetail> inventoryDetailList1 = new ArrayList<>();
         if (inventoryDetailList.size() != 0) {
             for (InventoryDetail inventoryDetail : inventoryDetailList) {
                 inventoryDetail.setTaskQty(inventoryDetail.getQty());
+                InventoryDetail inventoryDetail1 = new InventoryDetail();
+                inventoryDetail1.setId(inventoryDetail.getId());
+                inventoryDetail1.setTaskQty(inventoryDetail.getQty());
+                inventoryDetailList1.add(inventoryDetail1);
             }
-            success = inventoryDetailService.updateBatchById(inventoryDetailList);
+            success = inventoryDetailService.updateBatchById(inventoryDetailList1);
             if (!success) {
                 throw new JeecgBootException("创建出库查看任务时,更新库存详情失败");
             }
@@ -374,6 +373,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         }
         taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD);
         success = taskHeaderService.save(taskHeader);
+        log.info("完成创建出库查看任务,容器编码" + containerCode + "目标站台号" + toPortCode);
         if (!success) {
             throw new JeecgBootException("创建出库查看任务时, 创建任务失败");
         }
@@ -383,6 +383,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result createOverStationTask(String containerCode, String fromPortCode, String toPortCode, String warehouseCode) {
+        log.info("开始创建跨站任务,容器号" + containerCode + ",起始站台号" + fromPortCode + ",目标站台号" + toPortCode);
         if (StringUtils.isEmpty(containerCode)) {
             return Result.error("创建跨站任务时,容器编码为空");
         }
@@ -427,6 +428,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             return Result.error("创建跨站任务时, 创建任务失败");
         }
         success = containerService.updateStatus(containerCode, QuantityConstant.STATUS_CONTAINER_LOCK, warehouseCode);
+        log.info("完成创建跨站任务,容器号" + containerCode + ",起始站台号" + fromPortCode + ",目标站台号" + toPortCode);
         if (!success) {
             return Result.error("创建跨站任务时, 更新容器状态失败");
         }
@@ -507,6 +509,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         if (StringUtils.isEmpty(warehouseCode)) {
             return Result.error("创建空托盘组入库任务时,仓库编码为空");
         }
+        log.info("开始创建空托盘组入库任务,容器编码" + containerCode + ",库位编码" + toLocationCode);
         String zoneCode = null;
         Container container = containerService.getContainerByCode(containerCode, warehouseCode);
         if (container == null) {
@@ -548,6 +551,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         taskHeader.setZoneCode(zoneCode);
         taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD);
         success = taskHeaderService.save(taskHeader);
+        log.info("完成创建空托盘组入库任务,容器编码" + containerCode + ",库位编码" + toLocationCode);
         if (!success) {
             throw new JeecgBootException("创建空托盘组入库任务时, 创建任务失败");
         }
@@ -557,6 +561,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result createManyEmptyOut(String containerCode, String toPortCode, String warehouseCode) {
+        log.info("开始创建空托盘组出库任务,容器编码" + containerCode + ",去向位置编码" + toPortCode);
         if (StringUtils.isEmpty(containerCode)) {
             return Result.error("创建空托盘组出库任务时,托盘号为空");
         }
@@ -606,6 +611,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         taskHeader.setToPortCode(toPortCode);
         taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD);
         success = taskHeaderService.save(taskHeader);
+        log.info("完成创建空托盘组出库任务,容器编码" + containerCode + ",去向位置编码" + toPortCode);
         if (!success) {
             throw new JeecgBootException("创建空托盘组出库任务时,生成任务失败");
         }
@@ -889,6 +895,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         if (taskHeader == null) {
             return Result.error("任务" + taskId + "未找到,执行中止");
         }
+        log.info("开始取消任务" + taskHeader.getId());
         if (taskHeader.getStatus().equals(QuantityConstant.TASK_STATUS_COMPLETED)) {
             return Result.ok("任务(" + taskId + ")任务已经是完成的!");
         }
@@ -929,6 +936,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                 break;
         }
         taskHeaderService.cancelLocationAndContainerStatus(taskHeader);
+        log.info("完成取消任务" + taskHeader.getId());
         return result;
     }
 
@@ -1920,6 +1928,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result completeTransferTask(TaskHeader taskHeader) {
+        log.info("开始完成移库任务" + taskHeader.getId());
         String warehouseCode = taskHeader.getWarehouseCode();
         String containerCode = taskHeader.getContainerCode();
         String fromLocationCode = taskHeader.getFromLocationCode();
@@ -1979,13 +1988,6 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         if (!success) {
             throw new JeecgBootException("完成移库任务时, 更新容器状态失败");
         }
-        // 2023-04-11 托盘状态与填充状态分离 无需再更新字段
-//        Container container = containerService.getContainerByCode(containerCode, warehouseCode);
-//        container.setLastStatus(QuantityConstant.EMPTY_STRING);
-//        success = containerService.updateById(container);
-//        if (!success) {
-//            throw new JeecgBootException("完成移库任务时, 更新容器状态失败");
-//        }
         success =
             locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
         if (!success) {
@@ -2012,6 +2014,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                 throw new JeecgBootException("完成移库任务时, 更新库存详情失败");
             }
         }
+        log.info("完成移库任务" + taskHeader.getId());
         return Result.OK("完成移库任务成功");
     }
 
@@ -2023,6 +2026,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result completeCheckOutTask(TaskHeader taskHeader) {
+        log.info("开始完成出库查看任务" + taskHeader.getId());
         String warehouseCode = taskHeader.getWarehouseCode();
         String containerCode = taskHeader.getContainerCode();
         String fromLocationCode = taskHeader.getFromLocationCode();
@@ -2051,11 +2055,17 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             .eq(InventoryDetail::getLocationCode, fromLocationCode);
         List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper);
         if (inventoryDetailList.size() != 0) {
+            List<InventoryDetail> inventoryDetailList1 = new ArrayList<>();
             for (InventoryDetail inventoryDetail : inventoryDetailList) {
                 inventoryDetail.setTaskQty(BigDecimal.ZERO);
                 inventoryDetail.setLocationCode(toLocationCode);
+                InventoryDetail inventoryDetail1 = new InventoryDetail();
+                inventoryDetail1.setId(inventoryDetail.getId());
+                inventoryDetail1.setLocationCode(toLocationCode);
+                inventoryDetail1.setTaskQty(BigDecimal.ZERO);
+                inventoryDetailList1.add(inventoryDetail1);
             }
-            success = inventoryDetailService.updateBatchById(inventoryDetailList);
+            success = inventoryDetailService.updateBatchById(inventoryDetailList1);
             if (!success) {
                 throw new JeecgBootException("完成出库查看任务时,更新库存详情失败");
             }
@@ -2064,7 +2074,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                 throw new JeecgBootException("完成出库查看任务时,没有找到库存头");
             }
             inventoryHeader.setLocationCode(toLocationCode);
-            success = inventoryHeaderService.updateById(inventoryHeader);
+            success = inventoryHeaderService.updateLocationCodeById(toLocationCode, inventoryHeader.getId());
             if (!success) {
                 throw new JeecgBootException("完成出库查看任务时,更新库存头失败");
             }
@@ -2096,7 +2106,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             throw new JeecgBootException("完成出库查看任务时,更新目标库位状态失败");
         }
         taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED);
-        success = taskHeaderService.updateById(taskHeader);
+        success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
+        log.info("完成出库查看任务" + taskHeader.getId());
         if (!success) {
             throw new JeecgBootException("完成出库查看任务时,保存任务失败");
         }
@@ -2111,6 +2122,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result completeOverStationTask(TaskHeader taskHeader) {
+        log.info("完成跨站任务" + taskHeader.getId());
         String warehouseCode = taskHeader.getWarehouseCode();
         String containerCode = taskHeader.getContainerCode();
         String fromPortCode = taskHeader.getFromPortCode();
@@ -2140,11 +2152,12 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             return Result.error("创建跨站任务时,目标站台为空");
         }
         taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED);
-        boolean success = taskHeaderService.updateById(taskHeader);
+        boolean success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
         if (!success) {
             throw new JeecgBootException("创建跨站任务时, 更新任务失败");
         }
         success = containerService.updateStatus(containerCode, QuantityConstant.STATUS_CONTAINER_EMPTY, warehouseCode);
+        log.info("完成跨站任务" + taskHeader.getId());
         if (!success) {
             throw new JeecgBootException("创建跨站任务时, 更新容器状态失败");
         }
@@ -2162,6 +2175,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         String warehouseCode = taskHeader.getWarehouseCode();
         String containerCode = taskHeader.getContainerCode();
         String toLocationCode = taskHeader.getToLocationCode();
+        log.info("开始完成空托盘组入库任务" + taskHeader.getId());
         if (StringUtils.isEmpty(containerCode)) {
             return Result.error("完成空托盘组入库任务时, 托盘号为空");
         }
@@ -2180,7 +2194,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             return Result.error("完成空托盘组入库任务时,没有找到库位" + toLocationCode);
         }
         taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED);
-        boolean success = taskHeaderService.updateById(taskHeader);
+        boolean success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
         if (!success) {
             throw new JeecgBootException("完成空托盘组入库任务时, 更新任务失败");
         }
@@ -2190,6 +2204,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             throw new JeecgBootException("完成空托盘组入库任务时, 更新容器失败");
         }
         success = locationService.updateContainerCodeAndStatus(toLocationCode, containerCode, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
+        log.info("完成空托盘组入库任务" + taskHeader.getId());
         if (!success) {
             throw new JeecgBootException("完成空托盘组入库任务时, 更新库位失败");
         }
@@ -2207,6 +2222,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         String warehouseCode = taskHeader.getWarehouseCode();
         String containerCode = taskHeader.getContainerCode();
         String toPortCode = taskHeader.getToPortCode();
+        log.info("开始完成空托盘组出库任务" + taskHeader.getId());
         if (StringUtils.isEmpty(containerCode)) {
             return Result.error("完成空托盘组出库任务时, 托盘号为空");
         }
@@ -2229,7 +2245,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             return Result.error("完成空托盘组出库任务时,没有找到出入口" + toPortCode);
         }
         taskHeader.setStatus(QuantityConstant.TASK_STATUS_COMPLETED);
-        boolean success = taskHeaderService.updateById(taskHeader);
+        boolean success = taskHeaderService.updateStatusById(QuantityConstant.TASK_STATUS_COMPLETED, taskHeader.getId());
         if (!success) {
             throw new JeecgBootException("完成空托盘组出库任务时, 更新任务失败");
         }
@@ -2239,6 +2255,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             throw new JeecgBootException("完成空托盘组出库任务时, 更新容器失败");
         }
         success = locationService.updateContainerCodeAndStatus(toLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
+        log.info("开始完成空托盘组出库任务" + taskHeader.getId());
         if (!success) {
             throw new JeecgBootException("完成空托盘组出库任务时, 更新库位失败");
         }