Commit d106f8732f76db005414587b78aae26359db77c3

Authored by wangqian
1 parent adc8eefc

任务管理

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;
9 9 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoPageReqVO;
10 10 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoRespVO;
11 11 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoSaveReqVO;
  12 +import com.zteits.urbanops.module.garden.convert.AssignTaskConvert;
  13 +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasks.AssignTasksDO;
12 14 import com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo.AssignTasksInfoDO;
  15 +import com.zteits.urbanops.module.garden.service.assigntasks.AssignTasksService;
13 16 import com.zteits.urbanops.module.garden.service.assigntasksinfo.AssignTasksInfoService;
14 17 import io.swagger.v3.oas.annotations.Operation;
15 18 import io.swagger.v3.oas.annotations.Parameter;
... ... @@ -17,14 +20,19 @@ import io.swagger.v3.oas.annotations.tags.Tag;
17 20 import jakarta.annotation.Resource;
18 21 import jakarta.servlet.http.HttpServletResponse;
19 22 import jakarta.validation.Valid;
  23 +import org.apache.commons.collections4.CollectionUtils;
20 24 import org.springframework.security.access.prepost.PreAuthorize;
21 25 import org.springframework.validation.annotation.Validated;
22 26 import org.springframework.web.bind.annotation.*;
23 27  
24 28 import java.io.IOException;
25 29 import java.util.List;
  30 +import java.util.Map;
  31 +import java.util.stream.Collectors;
26 32  
27 33 import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
  34 +import static com.zteits.urbanops.framework.common.exception.enums.GlobalErrorCodeConstants.BAD_REQUEST;
  35 +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception0;
28 36 import static com.zteits.urbanops.framework.common.pojo.CommonResult.success;
29 37  
30 38 @Tag(name = "管理后台 - 派单任务-单位关联表(记录单位接收派单后的执行详情)")
... ... @@ -35,6 +43,8 @@ public class AssignTasksInfoController {
35 43  
36 44 @Resource
37 45 private AssignTasksInfoService assignTasksInfoService;
  46 + @Resource
  47 + private AssignTasksService assignTasksService;
38 48  
39 49 @PostMapping("/create")
40 50 @Operation(summary = "创建派单任务-单位关联表(记录单位接收派单后的执行详情)")
... ... @@ -75,7 +85,9 @@ public class AssignTasksInfoController {
75 85 @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')")
76 86 public CommonResult<AssignTasksInfoRespVO> getAssignTasksInfo(@RequestParam("id") Long id) {
77 87 AssignTasksInfoDO assignTasksInfo = assignTasksInfoService.getAssignTasksInfo(id);
78   - return success(BeanUtils.toBean(assignTasksInfo, AssignTasksInfoRespVO.class));
  88 + AssignTasksDO tasksDO = assignTasksService.getAssignTasks(assignTasksInfo.getTaskId());
  89 + return success(AssignTaskConvert.INSTANCE.buildTask(assignTasksInfo, tasksDO));
  90 + //return success(BeanUtils.toBean(assignTasksInfo, AssignTasksInfoRespVO.class));
79 91 }
80 92  
81 93 @GetMapping("/page")
... ... @@ -83,14 +95,52 @@ public class AssignTasksInfoController {
83 95 @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')")
84 96 public CommonResult<PageResult<AssignTasksInfoRespVO>> getAssignTasksInfoPage(@Valid AssignTasksInfoPageReqVO pageReqVO) {
85 97 PageResult<AssignTasksInfoDO> pageResult = assignTasksInfoService.getAssignTasksInfoPage(pageReqVO);
86   - return success(BeanUtils.toBean(pageResult, AssignTasksInfoRespVO.class));
  98 + if (pageResult == null || pageResult.getList() == null || pageResult.getList().isEmpty()) {
  99 + return success(BeanUtils.toBean(pageResult, AssignTasksInfoRespVO.class));
  100 + }
  101 + List<Long> assignIds = pageResult.getList().stream()
  102 + .map(AssignTasksInfoDO::getTaskId)
  103 + .distinct()
  104 + .collect(Collectors.toList());
  105 + List<AssignTasksDO> taskList = assignTasksService.getAssignTasksList(assignIds);
  106 + if (CollectionUtils.isNotEmpty(taskList)) {
  107 + Map<Long, AssignTasksDO> taskMap = taskList.stream()
  108 + .collect(Collectors.toMap(
  109 + AssignTasksDO::getId, // Key:任务ID
  110 + task -> task,
  111 + (existing, replacement) -> replacement
  112 + ));
  113 + return success(AssignTaskConvert.INSTANCE.buildTaskPage(pageResult, taskMap));
  114 + } else {
  115 + return CommonResult.error(BAD_REQUEST.getCode(), "派单数据异常");
  116 + }
  117 + //return success(BeanUtils.toBean(pageResult, AssignTasksInfoRespVO.class));
87 118 }
88 119 @GetMapping("/list")
89 120 @Operation(summary = "获得派单任务-单位关联表(记录单位接收派单后的执行详情)分页")
90 121 @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')")
91 122 public CommonResult<PageResult<AssignTasksInfoRespVO>> list(@Valid AssignTasksInfoPageReqVO pageReqVO) {
92 123 PageResult<AssignTasksInfoDO> pageResult = assignTasksInfoService.getAssignTasksInfoPage(pageReqVO);
93   - return success(BeanUtils.toBean(pageResult, AssignTasksInfoRespVO.class));
  124 + if (pageResult == null || pageResult.getList() == null || pageResult.getList().isEmpty()) {
  125 + return success(BeanUtils.toBean(pageResult, AssignTasksInfoRespVO.class));
  126 + }
  127 + List<Long> assignIds = pageResult.getList().stream()
  128 + .map(AssignTasksInfoDO::getTaskId)
  129 + .distinct()
  130 + .collect(Collectors.toList());
  131 + List<AssignTasksDO> taskList = assignTasksService.getAssignTasksList(assignIds);
  132 + if (CollectionUtils.isNotEmpty(taskList)) {
  133 + Map<Long, AssignTasksDO> taskMap = taskList.stream()
  134 + .collect(Collectors.toMap(
  135 + AssignTasksDO::getId, // Key:任务ID
  136 + task -> task,
  137 + (existing, replacement) -> replacement
  138 + ));
  139 + return success(AssignTaskConvert.INSTANCE.buildTaskPage(pageResult, taskMap));
  140 + } else {
  141 + return CommonResult.error(BAD_REQUEST.getCode(), "派单数据异常");
  142 + }
  143 + //return success(BeanUtils.toBean(pageResult, AssignTasksInfoRespVO.class));
94 144 }
95 145 @GetMapping("/export-excel")
96 146 @Operation(summary = "导出派单任务-单位关联表(记录单位接收派单后的执行详情) Excel")
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/vo/AssignTasksInfoRespVO.java
... ... @@ -34,8 +34,7 @@ public class AssignTasksInfoRespVO {
34 34  
35 35 @Schema(description = "任务截止时间", requiredMode = Schema.RequiredMode.REQUIRED)
36 36 @ExcelProperty("任务截止时间")
37   - @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
38   - private Date deadline;
  37 + private LocalDateTime deadline;
39 38  
40 39 @Schema(description = "单位ID(关联单位表主键)", requiredMode = Schema.RequiredMode.REQUIRED, example = "11926")
41 40 private String companyId;
... ... @@ -101,7 +100,6 @@ public class AssignTasksInfoRespVO {
101 100  
102 101 @Schema(description = "关联记录创建时间(派单给单位的时间)", requiredMode = Schema.RequiredMode.REQUIRED)
103 102 @ExcelProperty("关联记录创建时间(派单给单位的时间)")
104   - @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
105 103 private Date createTime;
106 104  
107 105 @Schema(description = "修改人(关联用户ID,最后修改该记录的操作人)")
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/convert/AssignTaskConvert.java 0 → 100644
  1 +package com.zteits.urbanops.module.garden.convert;
  2 +
  3 +
  4 +import com.zteits.urbanops.framework.common.pojo.PageResult;
  5 +import com.zteits.urbanops.framework.common.util.collection.CollectionUtils;
  6 +import com.zteits.urbanops.framework.common.util.object.BeanUtils;
  7 +import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoRespVO;
  8 +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasks.AssignTasksDO;
  9 +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo.AssignTasksInfoDO;
  10 +import org.mapstruct.Mapper;
  11 +import org.mapstruct.factory.Mappers;
  12 +
  13 +import java.util.List;
  14 +import java.util.Map;
  15 +
  16 +/**
  17 + * @Classname AssignTaskConvert
  18 + * @Description 转换
  19 + * @Date 2025/12/10 14:28
  20 + * @Created by wangqian
  21 + */
  22 +@Mapper
  23 +public interface AssignTaskConvert {
  24 + AssignTaskConvert INSTANCE = Mappers.getMapper(AssignTaskConvert.class);
  25 +
  26 + default PageResult<AssignTasksInfoRespVO> buildTaskPage(PageResult<AssignTasksInfoDO> pageResult, Map<Long, AssignTasksDO> taskMap) {
  27 + List<AssignTasksInfoRespVO> taskVOList = CollectionUtils.convertList(pageResult.getList(), task -> {
  28 + AssignTasksInfoRespVO taskVO = BeanUtils.toBean(task, AssignTasksInfoRespVO.class);
  29 + AssignTasksDO tasksDO = taskMap.get(taskVO.getTaskId());
  30 + taskVO.setTaskName(tasksDO.getTaskName());
  31 + taskVO.setTaskType(tasksDO.getTaskType());
  32 + taskVO.setDeadline(tasksDO.getDeadline());
  33 + return taskVO;
  34 + });
  35 + return new PageResult<>(taskVOList, pageResult.getTotal());
  36 + }
  37 + default AssignTasksInfoRespVO buildTask(AssignTasksInfoDO tasksInfoDO, AssignTasksDO tasksDO) {
  38 + AssignTasksInfoRespVO taskVO = BeanUtils.toBean(tasksInfoDO, AssignTasksInfoRespVO.class);
  39 + if (tasksDO != null) {
  40 + taskVO.setTaskName(tasksDO.getTaskName());
  41 + taskVO.setTaskType(tasksDO.getTaskType());
  42 + taskVO.setDeadline(tasksDO.getDeadline());
  43 + }
  44 + return taskVO;
  45 + }
  46 +
  47 +}
... ...
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 {
106 106 */
107 107 private Integer isReject;
108 108  
109   - /**
110   - * 任务名称
111   - */
112   - private String taskName;
113   - /**
114   - * 任务类型(关联数据字典,如:日常巡检、紧急维修等)
115   - */
116   - private String taskType;
117   - /**
118   - * 任务截止时间
119   - */
120   - private LocalDateTime deadline;
121 109 }
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasks/AssignTasksService.java
... ... @@ -51,6 +51,15 @@ public interface AssignTasksService {
51 51 */
52 52 AssignTasksDO getAssignTasks(Long id);
53 53  
  54 +
  55 + /**
  56 + * 获得派单任务主表(记录派单任务基本信息)
  57 + *
  58 + * @param ids 编号
  59 + * @return 派单任务主表(记录派单任务基本信息)
  60 + */
  61 + List<AssignTasksDO> getAssignTasksList(List<Long> ids);
  62 +
54 63 /**
55 64 * 获得派单任务主表(记录派单任务基本信息)分页
56 65 *
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasks/AssignTasksServiceImpl.java
... ... @@ -147,6 +147,10 @@ public class AssignTasksServiceImpl implements AssignTasksService {
147 147 }
148 148  
149 149 @Override
  150 + public List<AssignTasksDO> getAssignTasksList(List<Long> ids) {
  151 + return assignTasksMapper.selectByIds(ids);
  152 + }
  153 + @Override
150 154 public PageResult<AssignTasksDO> getAssignTasksPage(AssignTasksPageReqVO pageReqVO) {
151 155 //add by wq 派单任务只能总公司查询
152 156 if (getCompanyId() != 100) {
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoServiceImpl.java
... ... @@ -133,9 +133,6 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService {
133 133 assignTaskInfo.setCompanyId(companyId);
134 134 assignTaskInfo.setCompanyName(companyIdToNameMap.get(Long.valueOf(companyId)));
135 135 assignTaskInfo.setTaskId(assignTasks.getId());
136   - assignTaskInfo.setTaskName(assignTasks.getTaskName());
137   - assignTaskInfo.setTaskType(assignTasks.getTaskType());
138   - assignTaskInfo.setDeadline(assignTasks.getDeadline());
139 136 assignTasksInfoMapper.insert(assignTaskInfo);
140 137 }
141 138 }
... ...