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,7 +9,10 @@ import com.zteits.urbanops.framework.excel.core.util.ExcelUtils;
9 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoPageReqVO; 9 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoPageReqVO;
10 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoRespVO; 10 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoRespVO;
11 import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoSaveReqVO; 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 import com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo.AssignTasksInfoDO; 14 import com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo.AssignTasksInfoDO;
  15 +import com.zteits.urbanops.module.garden.service.assigntasks.AssignTasksService;
13 import com.zteits.urbanops.module.garden.service.assigntasksinfo.AssignTasksInfoService; 16 import com.zteits.urbanops.module.garden.service.assigntasksinfo.AssignTasksInfoService;
14 import io.swagger.v3.oas.annotations.Operation; 17 import io.swagger.v3.oas.annotations.Operation;
15 import io.swagger.v3.oas.annotations.Parameter; 18 import io.swagger.v3.oas.annotations.Parameter;
@@ -17,14 +20,19 @@ import io.swagger.v3.oas.annotations.tags.Tag; @@ -17,14 +20,19 @@ import io.swagger.v3.oas.annotations.tags.Tag;
17 import jakarta.annotation.Resource; 20 import jakarta.annotation.Resource;
18 import jakarta.servlet.http.HttpServletResponse; 21 import jakarta.servlet.http.HttpServletResponse;
19 import jakarta.validation.Valid; 22 import jakarta.validation.Valid;
  23 +import org.apache.commons.collections4.CollectionUtils;
20 import org.springframework.security.access.prepost.PreAuthorize; 24 import org.springframework.security.access.prepost.PreAuthorize;
21 import org.springframework.validation.annotation.Validated; 25 import org.springframework.validation.annotation.Validated;
22 import org.springframework.web.bind.annotation.*; 26 import org.springframework.web.bind.annotation.*;
23 27
24 import java.io.IOException; 28 import java.io.IOException;
25 import java.util.List; 29 import java.util.List;
  30 +import java.util.Map;
  31 +import java.util.stream.Collectors;
26 32
27 import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.EXPORT; 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 import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; 36 import static com.zteits.urbanops.framework.common.pojo.CommonResult.success;
29 37
30 @Tag(name = "管理后台 - 派单任务-单位关联表(记录单位接收派单后的执行详情)") 38 @Tag(name = "管理后台 - 派单任务-单位关联表(记录单位接收派单后的执行详情)")
@@ -35,6 +43,8 @@ public class AssignTasksInfoController { @@ -35,6 +43,8 @@ public class AssignTasksInfoController {
35 43
36 @Resource 44 @Resource
37 private AssignTasksInfoService assignTasksInfoService; 45 private AssignTasksInfoService assignTasksInfoService;
  46 + @Resource
  47 + private AssignTasksService assignTasksService;
38 48
39 @PostMapping("/create") 49 @PostMapping("/create")
40 @Operation(summary = "创建派单任务-单位关联表(记录单位接收派单后的执行详情)") 50 @Operation(summary = "创建派单任务-单位关联表(记录单位接收派单后的执行详情)")
@@ -75,7 +85,9 @@ public class AssignTasksInfoController { @@ -75,7 +85,9 @@ public class AssignTasksInfoController {
75 @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')") 85 @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')")
76 public CommonResult<AssignTasksInfoRespVO> getAssignTasksInfo(@RequestParam("id") Long id) { 86 public CommonResult<AssignTasksInfoRespVO> getAssignTasksInfo(@RequestParam("id") Long id) {
77 AssignTasksInfoDO assignTasksInfo = assignTasksInfoService.getAssignTasksInfo(id); 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 @GetMapping("/page") 93 @GetMapping("/page")
@@ -83,14 +95,52 @@ public class AssignTasksInfoController { @@ -83,14 +95,52 @@ public class AssignTasksInfoController {
83 @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')") 95 @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')")
84 public CommonResult<PageResult<AssignTasksInfoRespVO>> getAssignTasksInfoPage(@Valid AssignTasksInfoPageReqVO pageReqVO) { 96 public CommonResult<PageResult<AssignTasksInfoRespVO>> getAssignTasksInfoPage(@Valid AssignTasksInfoPageReqVO pageReqVO) {
85 PageResult<AssignTasksInfoDO> pageResult = assignTasksInfoService.getAssignTasksInfoPage(pageReqVO); 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 @GetMapping("/list") 119 @GetMapping("/list")
89 @Operation(summary = "获得派单任务-单位关联表(记录单位接收派单后的执行详情)分页") 120 @Operation(summary = "获得派单任务-单位关联表(记录单位接收派单后的执行详情)分页")
90 @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')") 121 @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')")
91 public CommonResult<PageResult<AssignTasksInfoRespVO>> list(@Valid AssignTasksInfoPageReqVO pageReqVO) { 122 public CommonResult<PageResult<AssignTasksInfoRespVO>> list(@Valid AssignTasksInfoPageReqVO pageReqVO) {
92 PageResult<AssignTasksInfoDO> pageResult = assignTasksInfoService.getAssignTasksInfoPage(pageReqVO); 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 @GetMapping("/export-excel") 145 @GetMapping("/export-excel")
96 @Operation(summary = "导出派单任务-单位关联表(记录单位接收派单后的执行详情) Excel") 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,8 +34,7 @@ public class AssignTasksInfoRespVO {
34 34
35 @Schema(description = "任务截止时间", requiredMode = Schema.RequiredMode.REQUIRED) 35 @Schema(description = "任务截止时间", requiredMode = Schema.RequiredMode.REQUIRED)
36 @ExcelProperty("任务截止时间") 36 @ExcelProperty("任务截止时间")
37 - @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)  
38 - private Date deadline; 37 + private LocalDateTime deadline;
39 38
40 @Schema(description = "单位ID(关联单位表主键)", requiredMode = Schema.RequiredMode.REQUIRED, example = "11926") 39 @Schema(description = "单位ID(关联单位表主键)", requiredMode = Schema.RequiredMode.REQUIRED, example = "11926")
41 private String companyId; 40 private String companyId;
@@ -101,7 +100,6 @@ public class AssignTasksInfoRespVO { @@ -101,7 +100,6 @@ public class AssignTasksInfoRespVO {
101 100
102 @Schema(description = "关联记录创建时间(派单给单位的时间)", requiredMode = Schema.RequiredMode.REQUIRED) 101 @Schema(description = "关联记录创建时间(派单给单位的时间)", requiredMode = Schema.RequiredMode.REQUIRED)
103 @ExcelProperty("关联记录创建时间(派单给单位的时间)") 102 @ExcelProperty("关联记录创建时间(派单给单位的时间)")
104 - @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)  
105 private Date createTime; 103 private Date createTime;
106 104
107 @Schema(description = "修改人(关联用户ID,最后修改该记录的操作人)") 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,16 +106,4 @@ public class AssignTasksInfoDO extends BaseDO {
106 */ 106 */
107 private Integer isReject; 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,6 +51,15 @@ public interface AssignTasksService {
51 */ 51 */
52 AssignTasksDO getAssignTasks(Long id); 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,6 +147,10 @@ public class AssignTasksServiceImpl implements AssignTasksService {
147 } 147 }
148 148
149 @Override 149 @Override
  150 + public List<AssignTasksDO> getAssignTasksList(List<Long> ids) {
  151 + return assignTasksMapper.selectByIds(ids);
  152 + }
  153 + @Override
150 public PageResult<AssignTasksDO> getAssignTasksPage(AssignTasksPageReqVO pageReqVO) { 154 public PageResult<AssignTasksDO> getAssignTasksPage(AssignTasksPageReqVO pageReqVO) {
151 //add by wq 派单任务只能总公司查询 155 //add by wq 派单任务只能总公司查询
152 if (getCompanyId() != 100) { 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,9 +133,6 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService {
133 assignTaskInfo.setCompanyId(companyId); 133 assignTaskInfo.setCompanyId(companyId);
134 assignTaskInfo.setCompanyName(companyIdToNameMap.get(Long.valueOf(companyId))); 134 assignTaskInfo.setCompanyName(companyIdToNameMap.get(Long.valueOf(companyId)));
135 assignTaskInfo.setTaskId(assignTasks.getId()); 135 assignTaskInfo.setTaskId(assignTasks.getId());
136 - assignTaskInfo.setTaskName(assignTasks.getTaskName());  
137 - assignTaskInfo.setTaskType(assignTasks.getTaskType());  
138 - assignTaskInfo.setDeadline(assignTasks.getDeadline());  
139 assignTasksInfoMapper.insert(assignTaskInfo); 136 assignTasksInfoMapper.insert(assignTaskInfo);
140 } 137 }
141 } 138 }