diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/AssignTasksInfoController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/AssignTasksInfoController.java index 335b027..1548256 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/AssignTasksInfoController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/AssignTasksInfoController.java @@ -9,7 +9,10 @@ import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoPageReqVO; import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoRespVO; import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoSaveReqVO; +import com.zteits.urbanops.module.garden.convert.AssignTaskConvert; +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasks.AssignTasksDO; import com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo.AssignTasksInfoDO; +import com.zteits.urbanops.module.garden.service.assigntasks.AssignTasksService; import com.zteits.urbanops.module.garden.service.assigntasksinfo.AssignTasksInfoService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -17,14 +20,19 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.io.IOException; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static com.zteits.urbanops.framework.common.exception.enums.GlobalErrorCodeConstants.BAD_REQUEST; +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception0; import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 派单任务-单位关联表(记录单位接收派单后的执行详情)") @@ -35,6 +43,8 @@ public class AssignTasksInfoController { @Resource private AssignTasksInfoService assignTasksInfoService; + @Resource + private AssignTasksService assignTasksService; @PostMapping("/create") @Operation(summary = "创建派单任务-单位关联表(记录单位接收派单后的执行详情)") @@ -75,7 +85,9 @@ public class AssignTasksInfoController { @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')") public CommonResult getAssignTasksInfo(@RequestParam("id") Long id) { AssignTasksInfoDO assignTasksInfo = assignTasksInfoService.getAssignTasksInfo(id); - return success(BeanUtils.toBean(assignTasksInfo, AssignTasksInfoRespVO.class)); + AssignTasksDO tasksDO = assignTasksService.getAssignTasks(assignTasksInfo.getTaskId()); + return success(AssignTaskConvert.INSTANCE.buildTask(assignTasksInfo, tasksDO)); + //return success(BeanUtils.toBean(assignTasksInfo, AssignTasksInfoRespVO.class)); } @GetMapping("/page") @@ -83,14 +95,52 @@ public class AssignTasksInfoController { @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')") public CommonResult> getAssignTasksInfoPage(@Valid AssignTasksInfoPageReqVO pageReqVO) { PageResult pageResult = assignTasksInfoService.getAssignTasksInfoPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, AssignTasksInfoRespVO.class)); + if (pageResult == null || pageResult.getList() == null || pageResult.getList().isEmpty()) { + return success(BeanUtils.toBean(pageResult, AssignTasksInfoRespVO.class)); + } + List assignIds = pageResult.getList().stream() + .map(AssignTasksInfoDO::getTaskId) + .distinct() + .collect(Collectors.toList()); + List taskList = assignTasksService.getAssignTasksList(assignIds); + if (CollectionUtils.isNotEmpty(taskList)) { + Map taskMap = taskList.stream() + .collect(Collectors.toMap( + AssignTasksDO::getId, // Key:任务ID + task -> task, + (existing, replacement) -> replacement + )); + return success(AssignTaskConvert.INSTANCE.buildTaskPage(pageResult, taskMap)); + } else { + return CommonResult.error(BAD_REQUEST.getCode(), "派单数据异常"); + } + //return success(BeanUtils.toBean(pageResult, AssignTasksInfoRespVO.class)); } @GetMapping("/list") @Operation(summary = "获得派单任务-单位关联表(记录单位接收派单后的执行详情)分页") @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')") public CommonResult> list(@Valid AssignTasksInfoPageReqVO pageReqVO) { PageResult pageResult = assignTasksInfoService.getAssignTasksInfoPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, AssignTasksInfoRespVO.class)); + if (pageResult == null || pageResult.getList() == null || pageResult.getList().isEmpty()) { + return success(BeanUtils.toBean(pageResult, AssignTasksInfoRespVO.class)); + } + List assignIds = pageResult.getList().stream() + .map(AssignTasksInfoDO::getTaskId) + .distinct() + .collect(Collectors.toList()); + List taskList = assignTasksService.getAssignTasksList(assignIds); + if (CollectionUtils.isNotEmpty(taskList)) { + Map taskMap = taskList.stream() + .collect(Collectors.toMap( + AssignTasksDO::getId, // Key:任务ID + task -> task, + (existing, replacement) -> replacement + )); + return success(AssignTaskConvert.INSTANCE.buildTaskPage(pageResult, taskMap)); + } else { + return CommonResult.error(BAD_REQUEST.getCode(), "派单数据异常"); + } + //return success(BeanUtils.toBean(pageResult, AssignTasksInfoRespVO.class)); } @GetMapping("/export-excel") @Operation(summary = "导出派单任务-单位关联表(记录单位接收派单后的执行详情) Excel") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/vo/AssignTasksInfoRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/vo/AssignTasksInfoRespVO.java index 746b13e..a58ca0a 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/vo/AssignTasksInfoRespVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/vo/AssignTasksInfoRespVO.java @@ -34,8 +34,7 @@ public class AssignTasksInfoRespVO { @Schema(description = "任务截止时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("任务截止时间") - @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) - private Date deadline; + private LocalDateTime deadline; @Schema(description = "单位ID(关联单位表主键)", requiredMode = Schema.RequiredMode.REQUIRED, example = "11926") private String companyId; @@ -101,7 +100,6 @@ public class AssignTasksInfoRespVO { @Schema(description = "关联记录创建时间(派单给单位的时间)", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("关联记录创建时间(派单给单位的时间)") - @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private Date createTime; @Schema(description = "修改人(关联用户ID,最后修改该记录的操作人)") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/convert/AssignTaskConvert.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/convert/AssignTaskConvert.java new file mode 100644 index 0000000..516169d --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/convert/AssignTaskConvert.java @@ -0,0 +1,47 @@ +package com.zteits.urbanops.module.garden.convert; + + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.common.util.collection.CollectionUtils; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; +import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoRespVO; +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasks.AssignTasksDO; +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo.AssignTasksInfoDO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; + +import java.util.List; +import java.util.Map; + +/** + * @Classname AssignTaskConvert + * @Description 转换 + * @Date 2025/12/10 14:28 + * @Created by wangqian + */ +@Mapper +public interface AssignTaskConvert { + AssignTaskConvert INSTANCE = Mappers.getMapper(AssignTaskConvert.class); + + default PageResult buildTaskPage(PageResult pageResult, Map taskMap) { + List taskVOList = CollectionUtils.convertList(pageResult.getList(), task -> { + AssignTasksInfoRespVO taskVO = BeanUtils.toBean(task, AssignTasksInfoRespVO.class); + AssignTasksDO tasksDO = taskMap.get(taskVO.getTaskId()); + taskVO.setTaskName(tasksDO.getTaskName()); + taskVO.setTaskType(tasksDO.getTaskType()); + taskVO.setDeadline(tasksDO.getDeadline()); + return taskVO; + }); + return new PageResult<>(taskVOList, pageResult.getTotal()); + } + default AssignTasksInfoRespVO buildTask(AssignTasksInfoDO tasksInfoDO, AssignTasksDO tasksDO) { + AssignTasksInfoRespVO taskVO = BeanUtils.toBean(tasksInfoDO, AssignTasksInfoRespVO.class); + if (tasksDO != null) { + taskVO.setTaskName(tasksDO.getTaskName()); + taskVO.setTaskType(tasksDO.getTaskType()); + taskVO.setDeadline(tasksDO.getDeadline()); + } + return taskVO; + } + +} diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/assigntasksinfo/AssignTasksInfoDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/assigntasksinfo/AssignTasksInfoDO.java index 7f34021..ea1b666 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/assigntasksinfo/AssignTasksInfoDO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/assigntasksinfo/AssignTasksInfoDO.java @@ -106,16 +106,4 @@ public class AssignTasksInfoDO extends BaseDO { */ private Integer isReject; - /** - * 任务名称 - */ - private String taskName; - /** - * 任务类型(关联数据字典,如:日常巡检、紧急维修等) - */ - private String taskType; - /** - * 任务截止时间 - */ - private LocalDateTime deadline; } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasks/AssignTasksService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasks/AssignTasksService.java index 35af3bf..29e9f67 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasks/AssignTasksService.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasks/AssignTasksService.java @@ -51,6 +51,15 @@ public interface AssignTasksService { */ AssignTasksDO getAssignTasks(Long id); + + /** + * 获得派单任务主表(记录派单任务基本信息) + * + * @param ids 编号 + * @return 派单任务主表(记录派单任务基本信息) + */ + List getAssignTasksList(List ids); + /** * 获得派单任务主表(记录派单任务基本信息)分页 * diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasks/AssignTasksServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasks/AssignTasksServiceImpl.java index 1fcf54a..05a3936 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasks/AssignTasksServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasks/AssignTasksServiceImpl.java @@ -147,6 +147,10 @@ public class AssignTasksServiceImpl implements AssignTasksService { } @Override + public List getAssignTasksList(List ids) { + return assignTasksMapper.selectByIds(ids); + } + @Override public PageResult getAssignTasksPage(AssignTasksPageReqVO pageReqVO) { //add by wq 派单任务只能总公司查询 if (getCompanyId() != 100) { diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoServiceImpl.java index 1b8025b..32a8c85 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoServiceImpl.java @@ -133,9 +133,6 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService { assignTaskInfo.setCompanyId(companyId); assignTaskInfo.setCompanyName(companyIdToNameMap.get(Long.valueOf(companyId))); assignTaskInfo.setTaskId(assignTasks.getId()); - assignTaskInfo.setTaskName(assignTasks.getTaskName()); - assignTaskInfo.setTaskType(assignTasks.getTaskType()); - assignTaskInfo.setDeadline(assignTasks.getDeadline()); assignTasksInfoMapper.insert(assignTaskInfo); } }