diff --git a/ant-design-vue-jeecg/src/views/system/report/ReportPerformanceAssessmentList.vue b/ant-design-vue-jeecg/src/views/system/report/ReportPerformanceAssessmentList.vue
index a98aa87..b5ef4b9 100644
--- a/ant-design-vue-jeecg/src/views/system/report/ReportPerformanceAssessmentList.vue
+++ b/ant-design-vue-jeecg/src/views/system/report/ReportPerformanceAssessmentList.vue
@@ -26,7 +26,7 @@
         size="middle"
         :scroll="{x:true}"
         bordered
-        rowKey="id"
+        rowKey="userName"
         :columns="columns"
         :dataSource="dataSource"
         :pagination="ipagination"
@@ -55,12 +55,12 @@ import {JeecgListMixin} from '@/mixins/JeecgListMixin'
 import {getMaterialTypeList, getZoneList} from '@/api/api'
 
 export default {
-  name: 'ReportInventoryClassificationList',
+  name: 'ReportPerformanceAssessmentList',
   mixins: [JeecgListMixin, mixinDevice],
   components: {},
   data() {
     return {
-      description: '库存分类报表页面',
+      description: '绩效考核报表页面',
       zoneList: [],
       zoneOptions: [],
       materialTypeList: [],
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/report/controller/ReportController.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/report/controller/ReportController.java
index 4a36be7..e0cc127 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/report/controller/ReportController.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/report/controller/ReportController.java
@@ -36,6 +36,7 @@ import org.jeecg.modules.wms.report.dto.ReportInventoryClassificationDto;
 import org.jeecg.modules.wms.report.dto.ReportPerformanceAssessmentDto;
 import org.jeecg.modules.wms.stocktaking.cycleCountDetail.service.ICycleCountDetailChildService;
 import org.jeecg.modules.wms.task.taskHeader.service.ITaskHeaderService;
+import org.jeecg.modules.wms.task.taskHeaderHistory.service.ITaskHeaderHistoryService;
 import org.jeecg.utils.HuahengJwtUtil;
 import org.jeecg.utils.StringUtils;
 import org.jeecg.utils.constant.QuantityConstant;
@@ -67,7 +68,7 @@ public class ReportController extends JeecgController<InventoryTransaction, IInv
     @Resource
     private IMaterialService materialService;
     @Resource
-    private ITaskHeaderService taskHeaderService;
+    private ITaskHeaderHistoryService taskHeaderHistoryService;
     @Resource
     private ILocationService locationService;
     @Resource
@@ -230,7 +231,7 @@ public class ReportController extends JeecgController<InventoryTransaction, IInv
     @GetMapping(value = "/listPerformanceAssessment")
     public Result listPerformanceAssessment(String realName, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                               @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
-        List<ReportPerformanceAssessmentDto> performanceAssessmentReportList = taskHeaderService.getPerformanceAssessmentReport(realName);
+        List<ReportPerformanceAssessmentDto> performanceAssessmentReportList = taskHeaderHistoryService.getPerformanceAssessmentReport(realName);
         Page<ReportPerformanceAssessmentDto> page = new Page<>(pageNo, pageSize);
         page.setRecords(performanceAssessmentReportList);
         return Result.OK(page);
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/report/dto/ReportPerformanceAssessmentDto.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/report/dto/ReportPerformanceAssessmentDto.java
index b0d347e..8c43203 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/report/dto/ReportPerformanceAssessmentDto.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/report/dto/ReportPerformanceAssessmentDto.java
@@ -16,7 +16,7 @@ public class ReportPerformanceAssessmentDto implements Serializable {
     private String realName;
 
     /**
-     * 任务总数
+     * 任务总数(只包含入库类型与出库类的)
      */
     private Integer sumTaskQty;
 
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/mapper/TaskHeaderMapper.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/mapper/TaskHeaderMapper.java
index 65a188a..a6a02ff 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/mapper/TaskHeaderMapper.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/mapper/TaskHeaderMapper.java
@@ -15,10 +15,4 @@ import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader;
  */
 public interface TaskHeaderMapper extends BaseMapper<TaskHeader> {
 
-    /**
-     * 绩效考核报表查询
-     * @param realName 用户姓名
-     * @return 绩效考核报表信息
-     */
-    List<ReportPerformanceAssessmentDto> selectPerformanceAssessment(@Param("realName") String realName);
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/mapper/xml/TaskHeaderMapper.xml b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/mapper/xml/TaskHeaderMapper.xml
index 50e418f..d8179cd 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/mapper/xml/TaskHeaderMapper.xml
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/mapper/xml/TaskHeaderMapper.xml
@@ -2,18 +2,4 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.wms.task.taskHeader.mapper.TaskHeaderMapper">
 
-    <select id="selectPerformanceAssessment"
-            resultType="org.jeecg.modules.wms.report.dto.ReportPerformanceAssessmentDto">
-        SELECT sys_user.realname,
-        COUNT(task_header.create_by) AS sumTaskQty,
-        COUNT(IF((task_header.task_type = 100 OR task_header.task_type = 200 OR task_header.task_type = 500), task_header.create_by, NULL)) AS receiptTaskQty,
-        COUNT(IF((task_header.task_type = 300 OR task_header.task_type = 400 OR task_header.task_type = 600), task_header.create_by, NULL)) AS shipmentTaskQty
-        FROM sys_user
-        LEFT JOIN task_header ON sys_user.realname = task_header.create_by
-        <if test="realName != null and realName != ''">
-            <bind name="realName" value="'%' + realName + '%'"/>
-            WHERE sys_user.realname LIKE #{realName}
-        </if>
-        GROUP BY sys_user.realname
-    </select>
 </mapper>
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java
index dbd0078..c1e7fe4 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeader/service/ITaskHeaderService.java
@@ -454,11 +454,4 @@ public interface ITaskHeaderService extends IService<TaskHeader> {
     List<String> findCommonData(List<String> dataList1, List<String> dataList2, boolean flag);
 
     boolean delMain (Integer id);
-
-    /**
-     * 绩效考核报表查询
-     * @param realName 用户姓名
-     * @return 绩效考核报表信息
-     */
-    List<ReportPerformanceAssessmentDto> getPerformanceAssessmentReport(String realName);
 }
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 78eaeb9..94fd92a 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
@@ -1,12 +1,16 @@
 package org.jeecg.modules.wms.task.taskHeader.service.impl;
 
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.stream.Collectors;
-
-import javax.annotation.Resource;
-
+import cn.hutool.core.collection.ListUtil;
+import cn.monitor4all.logRecord.annotation.OperationLog;
+import cn.monitor4all.logRecord.context.LogRecordContext;
+import com.alibaba.fastjson.JSON;
+import com.aliyun.oss.ServiceException;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.modules.wms.api.wcs.service.LocationAllocationService;
@@ -75,23 +79,17 @@ import org.springframework.beans.factory.annotation.Autowired;
 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.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
-import cn.monitor4all.logRecord.annotation.OperationLog;
-import cn.monitor4all.logRecord.context.LogRecordContext;
-import lombok.extern.slf4j.Slf4j;
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 任务表
- * @Author:      jeecg-boot
- * @Date:        2022-11-10
- * @Version:     V1.0
+ * @Author: jeecg-boot
+ * @Date: 2022-11-10
+ * @Version: V1.0
  */
 @Slf4j
 @Service
@@ -217,7 +215,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 如果库位是锁定的,那么这个库位一定是被某个任务占用。
-     * @param  location
+     *
+     * @param location
      * @return
      */
     @Override
@@ -324,11 +323,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         }
 
         Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_TRANSFER, containerCode, fromLocationCode, toLocationCode,
-            warehouseCode);
+                warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
-        TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult();
+        TaskLockEntity taskLockEntity = (TaskLockEntity) result.getResult();
         String zoneCode = taskLockEntity.getZoneCode();
         // 4. 判断源库位旁边有托盘但是没有任务,那么不允许移库
         TaskHeader taskHeader = new TaskHeader();
@@ -396,11 +395,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             toLocationCode = fromLocationCode;
         }
         Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_CHECK_OUT, containerCode, fromLocationCode, toLocationCode,
-            warehouseCode);
+                warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
-        TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult();
+        TaskLockEntity taskLockEntity = (TaskLockEntity) result.getResult();
         String zoneCode = taskLockEntity.getZoneCode();
         Port port = portService.getPortByCode(toPortCode, zoneCode, warehouseCode);
         if (port == null) {
@@ -458,11 +457,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             toLocationCode = fromLocationCode;
         }
         Result result =
-            taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_QUALITY, containerCode, fromLocationCode, toLocationCode, warehouseCode);
+                taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_QUALITY, containerCode, fromLocationCode, toLocationCode, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
-        TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult();
+        TaskLockEntity taskLockEntity = (TaskLockEntity) result.getResult();
         String zoneCode = taskLockEntity.getZoneCode();
         Port port = portService.getPortByCode(toPortCode, QuantityConstant.PORT_TYPE_PICK, zoneCode, warehouseCode);
         if (port == null) {
@@ -486,7 +485,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         }
         LambdaQueryWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
         inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getContainerCode, containerCode).eq(InventoryDetail::getWarehouseCode, warehouseCode)
-            .eq(InventoryDetail::getLocationCode, fromLocationCode);
+                .eq(InventoryDetail::getLocationCode, fromLocationCode);
         List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper);
         List<TaskDetail> taskDetailList = new ArrayList<>();
         if (inventoryDetailList.size() != 0) {
@@ -545,7 +544,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             return Result.error("创建跨站任务时,起始站台和目标站台不能相同");
         }
         Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_OVER_STATION, containerCode, QuantityConstant.EMPTY_STRING,
-            QuantityConstant.EMPTY_STRING, warehouseCode);
+                QuantityConstant.EMPTY_STRING, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
@@ -621,7 +620,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         int high = locationHigh.getHigh();
         boolean bypass = false;
         String toLocationCode =
-            allocationService.allocation(allocationRule, locationTypeCodeList, high, zoneCode, roadWays, warehouseCode, containerCode, null, null, bypass);
+                allocationService.allocation(allocationRule, locationTypeCodeList, high, zoneCode, roadWays, warehouseCode, containerCode, null, null, bypass);
         if (StringUtils.isEmpty(toLocationCode)) {
             throw new JeecgBootException("创建空托盘组入库任务时,目标库位为空");
         }
@@ -643,11 +642,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         }
         log.info("开始创建空托盘组入库任务,容器编码" + containerCode + ",库位编码" + toLocationCode);
         Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_MANY_EMPTYRECEIPT, containerCode,
-            QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode);
+                QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
-        TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult();
+        TaskLockEntity taskLockEntity = (TaskLockEntity) result.getResult();
         String zoneCode = taskLockEntity.getZoneCode();
         TaskHeader taskHeader = new TaskHeader();
         taskHeader.setWarehouseCode(warehouseCode);
@@ -680,11 +679,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             return Result.error("创建空托盘组出库任务时,仓库编码为空");
         }
         Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_MANY_EMPTYSHIPMENT, containerCode,
-            QuantityConstant.EMPTY_STRING, QuantityConstant.EMPTY_STRING, warehouseCode);
+                QuantityConstant.EMPTY_STRING, QuantityConstant.EMPTY_STRING, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
-        TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult();
+        TaskLockEntity taskLockEntity = (TaskLockEntity) result.getResult();
         String zoneCode = taskLockEntity.getZoneCode();
         Container container = containerService.getContainerByCode(containerCode, warehouseCode);
         String fromLocationCode = container.getLocationCode();
@@ -757,13 +756,13 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         }
         // 5、删除容器上的库位编码,并设置状态为空闲,填充度状态为空盘
         boolean success = containerService.updateLocationCodeAndStatus(containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_CONTAINER_EMPTY,
-            QuantityConstant.STATUS_CONTAINER_FILL_EMPTY, warehouseCode);
+                QuantityConstant.STATUS_CONTAINER_FILL_EMPTY, warehouseCode);
         if (!success) {
             throw new JeecgBootException("处理空出失败, 更新容器状态失败");
         }
         // 6、删除库位上的容器编码,并设置状态为空闲
         success =
-            locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
+                locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
         if (!success) {
             throw new JeecgBootException("处理空出失败, 更新库位状态失败");
         }
@@ -778,7 +777,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         // 8、删除库存详情失败
         List<InventoryDetail> inventoryDetailList = inventoryDetailService.getInventoryDetailListByContainerCode(containerCode, warehouseCode);
         if (inventoryDetailList.size() != 0) {
-            List<Integer> idList = inventoryDetailList.stream().map(InventoryDetail::getId).collect(Collectors.toList());;
+            List<Integer> idList = inventoryDetailList.stream().map(InventoryDetail::getId).collect(Collectors.toList());
+            ;
             success = inventoryDetailService.removeByIds(idList);
             if (!success) {
                 throw new JeecgBootException("处理空出失败, 删除库存详情失败");
@@ -837,7 +837,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                 }
             }
         }
-        ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(taskHeader.getReceiptContainerHeaderId());;
+        ReceiptContainerHeader receiptContainerHeader = receiptContainerHeaderService.getById(taskHeader.getReceiptContainerHeaderId());
+        ;
         if (receiptContainerHeader != null) {
             success = receiptContainerHeaderService.updateStatusById(QuantityConstant.RECEIPT_CONTAINER_FINISHED, receiptContainerHeader.getId());
             if (!success) {
@@ -983,7 +984,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     public TaskHeader getUnCompleteTaskByFromLocationCode(String fromLocationCode, String warehouseCode) {
         LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
         taskHeaderLambdaQueryWrapper.eq(TaskHeader::getFromLocationCode, fromLocationCode).eq(TaskHeader::getWarehouseCode, warehouseCode).lt(TaskHeader::getStatus,
-            QuantityConstant.TASK_STATUS_COMPLETED);
+                QuantityConstant.TASK_STATUS_COMPLETED);
         TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper);
         return taskHeader;
     }
@@ -992,7 +993,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     public TaskHeader getUnCompleteTaskByToLocationCode(String toLocationCode, String warehouseCode) {
         LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
         taskHeaderLambdaQueryWrapper.eq(TaskHeader::getToLocationCode, toLocationCode).eq(TaskHeader::getWarehouseCode, warehouseCode).lt(TaskHeader::getStatus,
-            QuantityConstant.TASK_STATUS_COMPLETED);
+                QuantityConstant.TASK_STATUS_COMPLETED);
         TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper);
         return taskHeader;
     }
@@ -1010,7 +1011,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     public TaskHeader getUnCompleteTaskByContainerCode(String containerCode, String warehouseCode) {
         LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
         taskHeaderLambdaQueryWrapper.eq(TaskHeader::getContainerCode, containerCode).eq(TaskHeader::getWarehouseCode, warehouseCode).lt(TaskHeader::getStatus,
-            QuantityConstant.TASK_STATUS_COMPLETED);
+                QuantityConstant.TASK_STATUS_COMPLETED);
         TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper);
         return taskHeader;
     }
@@ -1019,7 +1020,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     public TaskHeader getUnCompleteTaskByPreTaskNo(int preTaskNo, String warehouseCode) {
         LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
         taskHeaderLambdaQueryWrapper.eq(TaskHeader::getPreTaskNo, preTaskNo).eq(TaskHeader::getWarehouseCode, warehouseCode).lt(TaskHeader::getStatus,
-            QuantityConstant.TASK_STATUS_COMPLETED);
+                QuantityConstant.TASK_STATUS_COMPLETED);
         TaskHeader taskHeader = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper);
         return taskHeader;
     }
@@ -1212,9 +1213,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
      * 创建空托盘入库
      * 1. 判断托盘号、库位编码是否满足要求
      * 2. 创建任务,锁定容器、库位
-     * @param  containerCode
-     * @param  toLocationCode
-     * @param  warehouseCode
+     *
+     * @param containerCode
+     * @param toLocationCode
+     * @param warehouseCode
      * @return
      */
     @Override
@@ -1240,7 +1242,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         }
 
         Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_EMPTYRECEIPT, containerCode, QuantityConstant.EMPTY_STRING,
-            toLocationCode, warehouseCode);
+                toLocationCode, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
@@ -1271,9 +1273,10 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 创建空托盘出库
-     * @param  containerCode
-     * @param  toPortCode
-     * @param  warehouseCode
+     *
+     * @param containerCode
+     * @param toPortCode
+     * @param warehouseCode
      * @return
      */
     @Override
@@ -1292,11 +1295,11 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         Container container = containerService.getContainerByCode(containerCode, warehouseCode);
         String fromLocationCode = container.getLocationCode();
         Result result = taskHeaderService.createTaskLockContainerAndLocation(QuantityConstant.TASK_TYPE_EMPTYSHIPMENT, containerCode, QuantityConstant.EMPTY_STRING,
-            QuantityConstant.EMPTY_STRING, warehouseCode);
+                QuantityConstant.EMPTY_STRING, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
-        TaskLockEntity taskLockEntity = (TaskLockEntity)result.getResult();
+        TaskLockEntity taskLockEntity = (TaskLockEntity) result.getResult();
         String zoneCode = taskLockEntity.getZoneCode();
         Port port = portService.getPortByCode(toPortCode, zoneCode, warehouseCode);
         if (port == null) {
@@ -1336,8 +1339,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         }
         LambdaQueryWrapper<Container> containerLambdaQueryWrapper = Wrappers.lambdaQuery();
         containerLambdaQueryWrapper.eq(Container::getStatus, QuantityConstant.STATUS_CONTAINER_EMPTY).ne(Container::getLocationCode, QuantityConstant.EMPTY_STRING)
-            .eq(Container::getFillStatus, QuantityConstant.STATUS_CONTAINER_FILL_EMPTY).eq(Container::getWarehouseCode, warehouseCode)
-            .orderByAsc(Container::getUpdateTime);
+                .eq(Container::getFillStatus, QuantityConstant.STATUS_CONTAINER_FILL_EMPTY).eq(Container::getWarehouseCode, warehouseCode)
+                .orderByAsc(Container::getUpdateTime);
         List<Container> containerList = containerService.list(containerLambdaQueryWrapper);
         List<Container> removeContainerList = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(containerList)) {
@@ -1369,16 +1372,17 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 完成入库任务
-     * @param  taskHeader 任务
-     * @return            AjaxResult 完成入库任务结果
+     *
+     * @param taskHeader 任务
+     * @return AjaxResult 完成入库任务结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
     @OperationLog(bizId = "''", bizType = "'任务追踪'", tag = "'入库任务完成'", extra = "#extraJsonString1",
-        msg = "#taskHeader == null ? '' : '任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()",
-        recordReturnValue = true)
+            msg = "#taskHeader == null ? '' : '任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()",
+            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()", recordReturnValue = true)
     @OperationLog(bizId = "''", bizType = "'入库单追踪'", tag = "'详情入库完成'", extra = "#extraJsonString2", msg = "''", recordReturnValue = true)
     public Result completeReceiptTask(TaskHeader taskHeader) {
         if (taskHeader == null) {
@@ -1400,7 +1404,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             int allow = parameterConfigurationService.getValueIntByCode(QuantityConstant.RULE_CALL_BOX_ALLOW_EMPTY);
             if (allow == QuantityConstant.RULE_ALLOW_EMPTY) {
                 Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode,
-                    fromLocationCode, toLocationCode, warehouseCode);
+                        fromLocationCode, toLocationCode, warehouseCode);
                 if (!result.isSuccess()) {
                     throw new JeecgBootException(result.getMessage());
                 }
@@ -1545,7 +1549,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             }
         }
         Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, fromLocationCode,
-            toLocationCode, warehouseCode);
+                toLocationCode, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
@@ -1563,17 +1567,18 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 完成出库任务
-     * @param  taskHeader 任务
-     * @return            result 完成出库任务
+     *
+     * @param taskHeader 任务
+     * @return result 完成出库任务
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
     @OperationLog(bizId = "''", bizType = "'任务追踪'", tag = "'出库任务完成'", extra = "#extraJsonString1",
-        msg = "#taskHeader == null ? '' : '任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()",
-        recordReturnValue = true)
+            msg = "#taskHeader == null ? '' : '任务类型:' + #taskHeader.getTaskType() + ',起始库位:' + #taskHeader.getFromLocationCode() + ',目标库位:' + #taskHeader.getToLocationCode() + ',容器编码:' + #taskHeader.getContainerCode()",
+            recordReturnValue = true)
     @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'出库任务完成'", extra = "#extraJsonString1",
-        msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #taskHeader.getFromLocationCode() + ',容器编码:' + #taskHeader.getContainerCode() + ',目标出入口:' + #taskHeader.getToPortCode()",
-        recordReturnValue = true)
+            msg = "'任务ID:' + #taskHeader.getId() + ',库位编码:' + #taskHeader.getFromLocationCode() + ',容器编码:' + #taskHeader.getContainerCode() + ',目标出入口:' + #taskHeader.getToPortCode()",
+            recordReturnValue = true)
     @OperationLog(bizId = "''", bizType = "'出库单追踪'", tag = "'详情出库完成'", extra = "#extraJsonString2", msg = "''", recordReturnValue = true)
     public Result completeShipmentTask(TaskHeader taskHeader) {
         if (taskHeader == null) {
@@ -1611,7 +1616,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                         throw new JeecgBootException("完成出库任务,更新出库组盘头失败");
                     }
                     List<ShipmentContainerAdvice> shipmentContainerAdviceList =
-                        shipmentContainerAdviceService.getShipmentContainerAdviceListByShipmentContainerId(shipmentContainerHeader.getId());
+                            shipmentContainerAdviceService.getShipmentContainerAdviceListByShipmentContainerId(shipmentContainerHeader.getId());
                     for (ShipmentContainerAdvice shipmentContainerAdvice : shipmentContainerAdviceList) {
                         if (!shipmentContainerAdviceService.updateStatusById(QuantityConstant.SHIPMENT_CONTAINER_FINISHED, shipmentContainerAdvice.getId())) {
                             throw new JeecgBootException("完成出库任务,更新出库预配盘失败");
@@ -1635,7 +1640,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                     }
                 }
                 Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode,
-                    fromLocationCode, toLocationCode, warehouseCode);
+                        fromLocationCode, toLocationCode, warehouseCode);
                 if (!result.isSuccess()) {
                     throw new JeecgBootException(result.getMessage());
                 }
@@ -1806,7 +1811,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             }
         }
         Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), taskType, containerCode, fromLocationCode,
-            toLocationCode, warehouseCode);
+                toLocationCode, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
@@ -1882,8 +1887,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                 InventoryDetail inventoryDetail1 = inventoryDetailList.get(i);
                 InventoryDetail inventoryDetail2 = inventoryDetailList.get(j);
                 if (inventoryDetail1.getMaterialCode().equals(inventoryDetail2.getMaterialCode()) && inventoryDetail1.getBatch().equals(inventoryDetail2.getBatch())
-                    && inventoryDetail1.getLot().equals(inventoryDetail2.getLot()) && inventoryDetail1.getProject().equals(inventoryDetail2.getProject())
-                    && inventoryDetail1.getInventoryStatus().equals(inventoryDetail2.getInventoryStatus())) {
+                        && inventoryDetail1.getLot().equals(inventoryDetail2.getLot()) && inventoryDetail1.getProject().equals(inventoryDetail2.getProject())
+                        && inventoryDetail1.getInventoryStatus().equals(inventoryDetail2.getInventoryStatus())) {
                     // 属性一样的库存,相加合并。
                     if (StringUtils.isNotEmpty(inventoryDetail1.getSn())) {
                         if (!inventoryDetail1.getSn().equals(inventoryDetail2.getSn())) {
@@ -1928,6 +1933,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 锁定容器和库位分4种情况,入库任务、出库任务、分拣任务、换站任务
+     *
      * @param
      */
     @Override
@@ -2144,7 +2150,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Result completeTaskUnLockContainerAndLocation(String containerFillStatus, int taskType, String containerCode, String fromLocationCode,
-        String toLocationCode, String warehouseCode) {
+                                                         String toLocationCode, String warehouseCode) {
         boolean success = false;
         if (StringUtils.isEmpty(containerCode)) {
             return Result.error("任务类型" + taskType + "完成任务时, 容器编码为空");
@@ -2190,7 +2196,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                 break;
             case QuantityConstant.TASK_TYPE_OVER_STATION:
                 success = containerService.updateLocationCodeAndStatus(containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_CONTAINER_EMPTY,
-                    warehouseCode);
+                        warehouseCode);
                 break;
         }
         if (!success) {
@@ -2202,7 +2208,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                 return Result.error("任务类型" + taskType + "完成任务时," + toLocationCode + "目标库位不存在");
             }
             success =
-                locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
+                    locationService.updateContainerCodeAndStatus(fromLocationCode, QuantityConstant.EMPTY_STRING, QuantityConstant.STATUS_LOCATION_EMPTY, warehouseCode);
             if (!success) {
                 throw new JeecgBootException("任务类型" + taskType + "完成任务时,更新源库位失败");
             }
@@ -2353,7 +2359,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
-        TaskHeader taskHeader = (TaskHeader)result.getResult();
+        TaskHeader taskHeader = (TaskHeader) result.getResult();
         if (taskHeader.getTaskType() == QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT) {
             if (port == null) {
                 throw new JeecgBootException("快速入库, 生成补充任务时必须有入库口");
@@ -2423,7 +2429,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             shipmentDetailList.add(shipmentDetail);
             shipmentQtyList.add(qty);
             List<InventoryDetail> inventoryDetailList =
-                inventoryDetailService.getInventoryDetailListByMaterialCodeToShipment(materialCode, zoneCode, qty, warehouseCode);
+                    inventoryDetailService.getInventoryDetailListByMaterialCodeToShipment(materialCode, zoneCode, qty, warehouseCode);
             List<InventoryDetail> removeInventoryDetailList = new ArrayList<>();
             for (InventoryDetail inventoryDetail : inventoryDetailList) {
                 if (roadWay.intValue() == inventoryDetail.getRoadWay().intValue()) {
@@ -2459,7 +2465,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             ShipmentDetail shipmentDetail = shipmentDetailService.getById(shipmentDetailId);
             BigDecimal shipQty = shipmentQtyList.get(i);
             InventoryDetail inventoryDetail =
-                inventoryDetailService.getInventoryDetailByMaterialCodeToShipment(switchContainerCode, shipmentDetail.getMaterialCode(), shipQty, warehouseCode);
+                    inventoryDetailService.getInventoryDetailByMaterialCodeToShipment(switchContainerCode, shipmentDetail.getMaterialCode(), shipQty, warehouseCode);
             CombinationModel combinationModel = new CombinationModel();
             combinationModel.setShipmentDetail(shipmentDetail);
             combinationModel.setInventoryDetail(inventoryDetail);
@@ -2552,8 +2558,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 完成空托盘入库任务
-     * @param  taskHeader 任务
-     * @return            Result 完成入库任务结果
+     *
+     * @param taskHeader 任务
+     * @return Result 完成入库任务结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -2572,7 +2579,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             return Result.error("完成空托盘入库任务时, 目标库位编码为空");
         }
         Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_EMPTYRECEIPT,
-            containerCode, QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode);
+                containerCode, QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
@@ -2587,7 +2594,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     /**
      * 盘点完成
      * 盘点有差异完成时状态为105
-     * @param  taskHeader
+     *
+     * @param taskHeader
      * @return
      */
     @Override
@@ -2867,7 +2875,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         cycleCountHeaderService.updataHeaderStatus(cycleCountDetail.getCycleCountHeadCode());
 
         Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_CHECK_OUT,
-            containerCode, fromLocationCode, toLocationCode, warehouseCode);
+                containerCode, fromLocationCode, toLocationCode, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
@@ -2881,8 +2889,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 完成空托盘出库任务
-     * @param  taskHeader 任务
-     * @return            Result 完成出库任务结果
+     *
+     * @param taskHeader 任务
+     * @return Result 完成出库任务结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -2918,7 +2927,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             return Result.error("完成空托盘出库任务时," + toPortCode + "目标出库口不存在");
         }
         Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_EMPTYSHIPMENT,
-            containerCode, fromLocationCode, QuantityConstant.EMPTY_STRING, warehouseCode);
+                containerCode, fromLocationCode, QuantityConstant.EMPTY_STRING, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
@@ -2932,8 +2941,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 完成移库任务
-     * @param  taskHeader 任务
-     * @return            Result 完成移库任务结果
+     *
+     * @param taskHeader 任务
+     * @return Result 完成移库任务结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -2960,7 +2970,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         List<InventoryTransaction> inventoryTransactionList = new ArrayList<>();
         LambdaUpdateWrapper<InventoryDetail> inventoryDetailLambdaUpdateWrapper = Wrappers.lambdaUpdate();
         inventoryDetailLambdaUpdateWrapper.eq(InventoryDetail::getWarehouseCode, warehouseCode).eq(InventoryDetail::getContainerCode, containerCode)
-            .eq(InventoryDetail::getLocationCode, fromLocationCode);
+                .eq(InventoryDetail::getLocationCode, fromLocationCode);
         List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaUpdateWrapper);
         for (InventoryDetail inventoryDetail : inventoryDetailList) {
             inventoryDetail.setLocationCode(toLocationCode);
@@ -2991,7 +3001,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             }
         }
         Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_TRANSFER,
-            containerCode, fromLocationCode, toLocationCode, warehouseCode);
+                containerCode, fromLocationCode, toLocationCode, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
@@ -3005,8 +3015,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 完成出库查看任务
-     * @param  taskHeader 任务
-     * @return            Result 完成出库查看任务结果
+     *
+     * @param taskHeader 任务
+     * @return Result 完成出库查看任务结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -3037,7 +3048,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         boolean success = false;
         LambdaUpdateWrapper<InventoryDetail> inventoryDetailLambdaQueryWrapper = Wrappers.lambdaUpdate();
         inventoryDetailLambdaQueryWrapper.eq(InventoryDetail::getWarehouseCode, warehouseCode).eq(InventoryDetail::getContainerCode, containerCode)
-            .eq(InventoryDetail::getLocationCode, fromLocationCode);
+                .eq(InventoryDetail::getLocationCode, fromLocationCode);
         List<InventoryDetail> inventoryDetailList = inventoryDetailService.list(inventoryDetailLambdaQueryWrapper);
         if (inventoryDetailList.size() != 0) {
             List<InventoryDetail> inventoryDetailList1 = new ArrayList<>();
@@ -3064,7 +3075,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         }
 
         Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_CHECK_OUT,
-            containerCode, fromLocationCode, toLocationCode, warehouseCode);
+                containerCode, fromLocationCode, toLocationCode, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
@@ -3079,8 +3090,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 完成跨站任务
-     * @param  taskHeader 任务
-     * @return            Result 完成跨站任务结果
+     *
+     * @param taskHeader 任务
+     * @return Result 完成跨站任务结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -3115,7 +3127,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             return Result.error("创建跨站任务时,目标站台为空");
         }
         Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_OVER_STATION,
-            containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.EMPTY_STRING, warehouseCode);
+                containerCode, QuantityConstant.EMPTY_STRING, QuantityConstant.EMPTY_STRING, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
@@ -3130,8 +3142,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 完成空托盘组入库任务
-     * @param  taskHeader 任务
-     * @return            Result 完成空托盘组入库任务结果
+     *
+     * @param taskHeader 任务
+     * @return Result 完成空托盘组入库任务结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -3158,7 +3171,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             return Result.error("完成空托盘组入库任务时,没有找到库位" + toLocationCode);
         }
         Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_MANY_EMPTYRECEIPT,
-            containerCode, QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode);
+                containerCode, QuantityConstant.EMPTY_STRING, toLocationCode, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
@@ -3173,8 +3186,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 完成空托盘组出库任务
-     * @param  taskHeader 任务
-     * @return            Result 完成空托盘组出库任务结果
+     *
+     * @param taskHeader 任务
+     * @return Result 完成空托盘组出库任务结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -3219,7 +3233,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             throw new JeecgBootException("完成空托盘组出库任务时, 更新任务失败");
         }
         Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_MANY_EMPTYSHIPMENT,
-            containerCode, fromLocationCode, QuantityConstant.EMPTY_STRING, warehouseCode);
+                containerCode, fromLocationCode, QuantityConstant.EMPTY_STRING, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
@@ -3358,7 +3372,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
             }
         }
         Result result = taskHeaderService.completeTaskUnLockContainerAndLocation(taskHeader.getContainerFillStatus(), QuantityConstant.TASK_TYPE_QUALITY,
-            containerCode, fromLocationCode, toLocationCode, warehouseCode);
+                containerCode, fromLocationCode, toLocationCode, warehouseCode);
         if (!result.isSuccess()) {
             throw new JeecgBootException(result.getMessage());
         }
@@ -3372,8 +3386,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 取消入库任务
-     * @param  taskHeader 任务
-     * @return            Result 取消入库任务结果
+     *
+     * @param taskHeader 任务
+     * @return Result 取消入库任务结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -3392,8 +3407,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 取消出库任务
-     * @param  taskHeader 任务
-     * @return            Result 取消出库任务结果
+     *
+     * @param taskHeader 任务
+     * @return Result 取消出库任务结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -3415,7 +3431,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
         log.info("开始取消盘点任务");
         LambdaQueryWrapper<CycleCountDetail> cycleCountDetailLambdaQueryWrapper = Wrappers.lambdaQuery();
         cycleCountDetailLambdaQueryWrapper.eq(CycleCountDetail::getContainerCode, taskHeader.getContainerCode()).ne(CycleCountDetail::getEnableStatus,
-            QuantityConstant.SHIPMENT_RECEIVE_SUCCESS);
+                QuantityConstant.SHIPMENT_RECEIVE_SUCCESS);
         CycleCountDetail cycleCountDetail = cycleCountDetailService.getOne(cycleCountDetailLambdaQueryWrapper);
         if (cycleCountDetail == null) {
             throw new JeecgBootException("取消盘点任务,没有找到盘点明细");
@@ -3471,7 +3487,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
 
     /**
      * 取消任务,恢复容器和库位状态
-     * @param  taskHeader
+     *
+     * @param taskHeader
      * @return
      */
     @Override
@@ -3523,12 +3540,7 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     public boolean updateById(TaskHeader taskHeader) {
         LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
         taskHeaderLambdaQueryWrapper.eq(TaskHeader::getId, taskHeader.getId()).lt(taskHeader.getStatus() != null, TaskHeader::getStatus,
-            QuantityConstant.TASK_STATUS_COMPLETED);
+                QuantityConstant.TASK_STATUS_COMPLETED);
         return super.update(taskHeader, taskHeaderLambdaQueryWrapper);
     }
-
-    @Override
-    public List<ReportPerformanceAssessmentDto> getPerformanceAssessmentReport(String realName) {
-        return super.baseMapper.selectPerformanceAssessment(realName);
-    }
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/mapper/TaskHeaderHistoryMapper.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/mapper/TaskHeaderHistoryMapper.java
index 95bdce3..b1bbfb4 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/mapper/TaskHeaderHistoryMapper.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/mapper/TaskHeaderHistoryMapper.java
@@ -1,8 +1,12 @@
 package org.jeecg.modules.wms.task.taskHeaderHistory.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.wms.report.dto.ReportPerformanceAssessmentDto;
 import org.jeecg.modules.wms.task.taskHeaderHistory.entity.TaskHeaderHistory;
 
+import java.util.List;
+
 /**
  * @Description: task_header_history
  * @Author: jeecg-boot
@@ -11,4 +15,13 @@ import org.jeecg.modules.wms.task.taskHeaderHistory.entity.TaskHeaderHistory;
  */
 public interface TaskHeaderHistoryMapper extends BaseMapper<TaskHeaderHistory> {
 
+    /**
+     * 绩效考核报表查询
+     * @param realName 用户姓名
+     * @param taskTypeList 任务类型
+     * @return 绩效考核报表信息
+     */
+    List<ReportPerformanceAssessmentDto> selectPerformanceAssessment(@Param("realName") String realName,
+                                                                     @Param("receiptTaskInternalType") Integer receiptTaskInternalType,
+                                                                     @Param("shipmentTaskInternalType") Integer shipmentTaskInternalType);
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/mapper/xml/TaskHeaderHistoryMapper.xml b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/mapper/xml/TaskHeaderHistoryMapper.xml
index 44c2901..4abc6aa 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/mapper/xml/TaskHeaderHistoryMapper.xml
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/mapper/xml/TaskHeaderHistoryMapper.xml
@@ -2,4 +2,24 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.jeecg.modules.wms.task.taskHeaderHistory.mapper.TaskHeaderHistoryMapper">
 
+    <select id="selectPerformanceAssessment"
+            resultType="org.jeecg.modules.wms.report.dto.ReportPerformanceAssessmentDto">
+        SELECT sys_user.realname,
+        COUNT(task_header_history.create_by) AS sumTaskQty,
+        COUNT(IF((task_header_history.innernal_task_type = #{receiptTaskInternalType}),
+        task_header_history.create_by, NULL)) AS receiptTaskQty,
+        COUNT(IF((task_header_history.innernal_task_type = #{shipmentTaskInternalType}),
+        task_header_history.create_by, NULL)) AS shipmentTaskQty
+        FROM sys_user
+        LEFT JOIN task_header_history ON sys_user.realname = task_header_history.create_by
+        and task_header_history.innernal_task_type IN
+        (#{receiptTaskInternalType}, #{shipmentTaskInternalType})
+        <where>
+            <if test="realName != null and realName != ''">
+                <bind name="realName" value="'%' + realName + '%'"/>
+                and sys_user.realname LIKE #{realName}
+            </if>
+        </where>
+        GROUP BY sys_user.realname
+    </select>
 </mapper>
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/service/ITaskHeaderHistoryService.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/service/ITaskHeaderHistoryService.java
index 78c4f36..8b14ca1 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/service/ITaskHeaderHistoryService.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/service/ITaskHeaderHistoryService.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.wms.task.taskHeaderHistory.service;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.wms.report.dto.ReportPerformanceAssessmentDto;
 import org.jeecg.modules.wms.task.taskHeaderHistory.entity.TaskDetailHistory;
 import org.jeecg.modules.wms.task.taskHeaderHistory.entity.TaskHeaderHistory;
 
@@ -39,4 +40,10 @@ public interface ITaskHeaderHistoryService extends IService<TaskHeaderHistory> {
 
 	void saveById(Integer id);
 
+	/**
+	 * 绩效考核报表查询:只包含入库(整盘入库、补充入库、空容器入库)与出库(整盘出库、分拣出库、空容器出库)类型的
+	 * @param realName 用户姓名
+	 * @return 绩效考核报表信息
+	 */
+	List<ReportPerformanceAssessmentDto> getPerformanceAssessmentReport(String realName);
 }
diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/service/impl/TaskHeaderHistoryServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/service/impl/TaskHeaderHistoryServiceImpl.java
index ec281f7..6f159ea 100644
--- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/service/impl/TaskHeaderHistoryServiceImpl.java
+++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/task/taskHeaderHistory/service/impl/TaskHeaderHistoryServiceImpl.java
@@ -1,12 +1,15 @@
 package org.jeecg.modules.wms.task.taskHeaderHistory.service.impl;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
 import javax.annotation.Resource;
 
+import cn.hutool.core.collection.ListUtil;
 import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.modules.wms.report.dto.ReportPerformanceAssessmentDto;
 import org.jeecg.modules.wms.task.taskHeader.entity.TaskDetail;
 import org.jeecg.modules.wms.task.taskHeader.entity.TaskHeader;
 import org.jeecg.modules.wms.task.taskHeader.service.ITaskDetailService;
@@ -17,6 +20,7 @@ import org.jeecg.modules.wms.task.taskHeaderHistory.mapper.TaskDetailHistoryMapp
 import org.jeecg.modules.wms.task.taskHeaderHistory.mapper.TaskHeaderHistoryMapper;
 import org.jeecg.modules.wms.task.taskHeaderHistory.service.ITaskDetailHistoryService;
 import org.jeecg.modules.wms.task.taskHeaderHistory.service.ITaskHeaderHistoryService;
+import org.jeecg.utils.constant.QuantityConstant;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -112,4 +116,9 @@ public class TaskHeaderHistoryServiceImpl extends ServiceImpl<TaskHeaderHistoryM
         }
 
     }
+
+    @Override
+    public List<ReportPerformanceAssessmentDto> getPerformanceAssessmentReport(String realName) {
+        return super.baseMapper.selectPerformanceAssessment(realName, QuantityConstant.TASK_INTENERTYPE_RECEIPT, QuantityConstant.TASK_INTENERTYPE_SHIPMENT);
+    }
 }