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); + } }