From 258c2824f79dc6096999371dfe07afbe92cb03cd Mon Sep 17 00:00:00 2001 From: wangqian <1406304305@qq.com> Date: Tue, 25 Nov 2025 16:14:20 +0800 Subject: [PATCH] 派单及人机材功能迁移 --- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/AssignTasksController.java | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++------------------------- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/vo/AssignTasksRespVO.java | 27 +++++++++++++++++++-------- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/vo/AssignTasksSaveReqVO.java | 27 +++++++++++++++++++-------- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/AssignTasksInfoController.java | 66 ++++++++++++++++++++++++++++++++++++++++++++---------------------- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/vo/AssignTasksInfoSaveReqVO.java | 2 +- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/assigntasksinfo/AssignTasksInfoDO.java | 2 +- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/AssignTasksConstants.java | 18 ++++++++++++++++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java | 13 ++++++++----- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasks/AssignTasksServiceImpl.java | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++---------- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoService.java | 32 ++++++++++++++++++++++++++++++-- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoServiceImpl.java | 212 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/personalcost/PersonalCostServiceImpl.java | 4 ++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/wasterecord/WasteRecordServiceImpl.java | 2 -- 13 files changed, 389 insertions(+), 153 deletions(-) diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/AssignTasksController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/AssignTasksController.java index 8e6ad60..c6f5494 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/AssignTasksController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/AssignTasksController.java @@ -1,35 +1,38 @@ package com.zteits.urbanops.module.garden.controller.admin.assigntasks; -import jakarta.annotation.security.PermitAll; -import org.springframework.util.CollectionUtils; -import org.springframework.web.bind.annotation.*; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import jakarta.validation.constraints.*; -import jakarta.validation.*; -import jakarta.servlet.http.*; -import java.util.*; -import java.io.IOException; - +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; +import com.zteits.urbanops.framework.common.pojo.CommonResult; import com.zteits.urbanops.framework.common.pojo.PageParam; import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.framework.common.pojo.CommonResult; import com.zteits.urbanops.framework.common.util.object.BeanUtils; -import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; - import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; - -import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; -import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.*; - -import com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo.*; +import com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo.AssignTasksPageReqVO; +import com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo.AssignTasksRespVO; +import com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo.AssignTasksSaveReqVO; 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; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.annotation.security.PermitAll; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +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.Collections; +import java.util.List; +import java.util.stream.Collectors; + +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 派单任务主表(记录派单任务基本信息)") @RestController @@ -39,6 +42,8 @@ public class AssignTasksController { @Resource private AssignTasksService assignTasksService; + @Resource + private AssignTasksInfoService asignTasksInfoService; @PostMapping("/create") @Operation(summary = "创建派单任务主表(记录派单任务基本信息)") @@ -79,7 +84,20 @@ public class AssignTasksController { @PreAuthorize("@ss.hasPermission('garden:assign-tasks:query')") public CommonResult getAssignTasks(@RequestParam("id") Long id) { AssignTasksDO assignTasks = assignTasksService.getAssignTasks(id); - return success(BeanUtils.toBean(assignTasks, AssignTasksRespVO.class)); + AssignTasksRespVO assignTasksRespVO = BeanUtils.toBean(assignTasks, AssignTasksRespVO.class); + List assignTaskInfoList = asignTasksInfoService.getAssignTasksInfos(assignTasks.getId()); + assignTasksRespVO.setAssignTaskInfoList(assignTaskInfoList); + //获取单位集合 + List companyIds = CollectionUtil.isEmpty(assignTaskInfoList) + ? Collections.emptyList() + : assignTaskInfoList.stream() + .map(AssignTasksInfoDO::getCompanyId) + .map(StrUtil::toString) // Hutool 工具类:自动处理 null(转为 null 字符串,需配合过滤) + .filter(StrUtil::isNotEmpty) // 过滤 null/空字符串 + .distinct() + .collect(Collectors.toList()); + assignTasksRespVO.setCompanyIds(companyIds); + return success(assignTasksRespVO); } @GetMapping("/page") @@ -111,10 +129,18 @@ public class AssignTasksController { BeanUtils.toBean(list, AssignTasksRespVO.class)); } + @Operation(summary = "任务确认" ) + @PreAuthorize("@ss.hasPermi('assign:tasks:query')") + @GetMapping(value = "/confirm/{id}") + public CommonResult confirm(@PathVariable("id") Long id) { + return success(assignTasksService.confirmAssignTasksById(id)); + } @Operation(summary = "定时任务处理超时" ) @PostMapping(value= "/tasksOutTimeAuto") @PermitAll public CommonResult tasksOutTimeAuto() { return success(assignTasksService.tasksOutTimeAuto()); } + + } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/vo/AssignTasksRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/vo/AssignTasksRespVO.java index e8f3384..c288d5d 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/vo/AssignTasksRespVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/vo/AssignTasksRespVO.java @@ -1,11 +1,16 @@ package com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo; +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo.AssignTasksInfoDO; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; -import cn.idev.excel.annotation.*; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @Schema(description = "管理后台 - 派单任务主表(记录派单任务基本信息) Response VO") @Data @@ -26,7 +31,8 @@ public class AssignTasksRespVO { @Schema(description = "任务截止时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("任务截止时间") - private LocalDateTime deadline; + @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private Date deadline; @Schema(description = "派单模板文件路径(如:任务详情模板、填报表格等)") @ExcelProperty("派单模板文件路径(如:任务详情模板、填报表格等)") @@ -38,7 +44,8 @@ public class AssignTasksRespVO { @Schema(description = "整体完成时间(仅当parent_finish=1时有值)") @ExcelProperty("整体完成时间(仅当parent_finish=1时有值)") - private LocalDateTime finishTime; + @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private Date finishTime; @Schema(description = "任务备注(如:特殊要求、注意事项等)") @ExcelProperty("任务备注(如:特殊要求、注意事项等)") @@ -50,11 +57,15 @@ public class AssignTasksRespVO { @Schema(description = "任务创建时间(派单时间)", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("任务创建时间(派单时间)") - private LocalDateTime createTime; + @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private Date createTime; @Schema(description = "修改人(关联用户ID,最后修改人)") @ExcelProperty("修改人(关联用户ID,最后修改人)") private String updater; + private List companyIds; + private List assignTaskInfoList; + } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/vo/AssignTasksSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/vo/AssignTasksSaveReqVO.java index ab964e6..cd6486e 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/vo/AssignTasksSaveReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/vo/AssignTasksSaveReqVO.java @@ -1,11 +1,15 @@ package com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import jakarta.validation.constraints.*; -import org.springframework.format.annotation.DateTimeFormat; -import java.time.LocalDateTime; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @Schema(description = "管理后台 - 派单任务主表(记录派单任务基本信息)新增/修改 Request VO") @Data @@ -24,7 +28,12 @@ public class AssignTasksSaveReqVO { @Schema(description = "任务截止时间", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "任务截止时间不能为空") - private LocalDateTime deadline; + @JsonFormat( + pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, + timezone = "GMT+8", + shape = JsonFormat.Shape.STRING + ) + private Date deadline; @Schema(description = "派单模板文件路径(如:任务详情模板、填报表格等)") private String templateFile; @@ -34,7 +43,8 @@ public class AssignTasksSaveReqVO { private Integer parentFinish; @Schema(description = "整体完成时间(仅当parent_finish=1时有值)") - private LocalDateTime finishTime; + @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private Date finishTime; @Schema(description = "任务备注(如:特殊要求、注意事项等)") private String note; @@ -47,6 +57,7 @@ public class AssignTasksSaveReqVO { private String updater; /*单位集合*/ - private String[] companyIds; + @NotEmpty(message = "派发单位不能为空") + private List companyIds; } 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 950faca..335b027 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 @@ -1,33 +1,31 @@ package com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo; -import org.springframework.web.bind.annotation.*; -import jakarta.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import jakarta.validation.constraints.*; -import jakarta.validation.*; -import jakarta.servlet.http.*; -import java.util.*; -import java.io.IOException; - +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; +import com.zteits.urbanops.framework.common.pojo.CommonResult; import com.zteits.urbanops.framework.common.pojo.PageParam; import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.framework.common.pojo.CommonResult; import com.zteits.urbanops.framework.common.util.object.BeanUtils; -import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; - import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; - -import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; -import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.*; - -import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.*; +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.dal.dataobject.assigntasksinfo.AssignTasksInfoDO; import com.zteits.urbanops.module.garden.service.assigntasksinfo.AssignTasksInfoService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +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 static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 派单任务-单位关联表(记录单位接收派单后的执行详情)") @RestController @@ -107,4 +105,28 @@ public class AssignTasksInfoController { BeanUtils.toBean(list, AssignTasksInfoRespVO.class)); } + + //打回 + @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:update')") + @Operation(summary = "派单任务-驳回") + @PutMapping(value = "/reject") + public CommonResult reject(@RequestBody AssignTasksInfoSaveReqVO assignTaskCompany) { + return success(assignTasksInfoService.rejectAssignTaskCompany(assignTaskCompany)); + } + + //催交 + @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:update')") + @Operation(summary = "派单任务-催交") + @PutMapping(value = "/submission") + public CommonResult submission(@RequestBody AssignTasksInfoSaveReqVO assignTaskCompany) { + return success(assignTasksInfoService.submissionAssignTaskCompany(assignTaskCompany)); + } + + //反馈 + @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:update')") + @Operation(summary = "派单任务-反馈") + @PutMapping(value = "/feedback") + public CommonResult feedback(@RequestBody AssignTasksInfoSaveReqVO assignTaskCompany) { + return success(assignTasksInfoService.feedbackAssignTaskCompany(assignTaskCompany)); + } } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/vo/AssignTasksInfoSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/vo/AssignTasksInfoSaveReqVO.java index f637d25..b413056 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/vo/AssignTasksInfoSaveReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/vo/AssignTasksInfoSaveReqVO.java @@ -46,7 +46,7 @@ public class AssignTasksInfoSaveReqVO { private Integer isOverdue; @Schema(description = "单位提交的任务文件路径(如:填报表格、现场照片等)") - private String dataFile; + private List dataFile; @Schema(description = "催缴次数(未完成时的提醒次数)", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "催缴次数(未完成时的提醒次数)不能为空") 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 e60ac39..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 @@ -71,7 +71,7 @@ public class AssignTasksInfoDO extends BaseDO { * 单位提交的任务文件路径(如:填报表格、现场照片等) */ @TableField(typeHandler = JacksonTypeHandler.class) - private List dataFile; + private List dataFile; /** * 催缴次数(未完成时的提醒次数) */ diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/AssignTasksConstants.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/AssignTasksConstants.java index 1393246..40d32b1 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/AssignTasksConstants.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/AssignTasksConstants.java @@ -13,4 +13,22 @@ public class AssignTasksConstants { /* 完成*/ public static final Integer ASSIGN_TASK_FINISH_1 = 1; + /* 未读*/ + public static final Integer ASSIGN_TASK_NEWFLAG_0 = 0; + + /*已读*/ + public static final Integer ASSIGN_TASK_NEWFLAG_1 = 1; + + /*驳回*/ + public static final Integer ASSIGN_TASK_REJECT_1 = 1; + + /*未超时*/ + public static final Integer ASSIGN_TASK_IS_OVER_DUE_0 = 0; + /*超时*/ + public static final Integer ASSIGN_TASK_IS_OVER_DUE_1 = 1; + + /* 催办短信场景配置*/ + public static final int ASSIGN_TASK_SCENE = 6; + /*办理人角色*/ + public static final String ASSIGN_ROLE_KEY = "zgs_leader"; } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java index eb09c44..f4f000e 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java @@ -13,15 +13,18 @@ public interface ErrorCodeConstants { // ========== server 派单 1-100-001-000 ========== ErrorCode ASSIGN_TASKS_NOT_EXISTS = new ErrorCode(1-100-001-000, "派单任务主表(记录派单任务基本信息)不存在"); - ErrorCode ASSIGN_TASKS_NOT_EXISTS_001 = new ErrorCode(1-100-001-001, "派单任务主表(记录派单任务基本信息)不存在"); + ErrorCode ASSIGN_TASKS_IS_FINISH = new ErrorCode(1-100-001-001, "派单任务已完成,不允许修改"); ErrorCode ASSIGN_TASKS_NOT_EXISTS_002 = new ErrorCode(1-100-001-002, "未全部完成,不能确认"); - ErrorCode ASSIGN_TASKS_INFO_NOT_EXISTS_001 = new ErrorCode(1-100-001-003, "派发单位不能为空"); - ErrorCode ASSIGN_TASKS_INFO_NOT_EXISTS_004 = new ErrorCode(1-100-002-004, "派单已完成,不允许删除"); + ErrorCode ASSIGN_TASKS_INFO_NOT_EXISTS = new ErrorCode(1-100-002-000, "派单任务不存在"); + ErrorCode ASSIGN_TASKS_INFO_TASKID_NOT_EXISTS = new ErrorCode(1-100-002-001, "派发Id不能为空"); - ErrorCode ASSIGN_TASKS_INFO_NOT_EXISTS_003 = new ErrorCode(1-100-002-003, "更新派单任务失败:任务ID不能为空"); + ErrorCode ASSIGN_TASKS_INFO_TASKID_REJECT = new ErrorCode(1-100-002-002,"打回异常"); - ErrorCode ASSIGN_TASKS_INFO_NOT_EXISTS = new ErrorCode(1-100-002-000, "派发单位不能为空"); + ErrorCode ASSIGN_TASKS_INFO_003 = new ErrorCode(1-100-002-003,"派发任务已删除,无法提交"); + ErrorCode ASSIGN_TASKS_INFO_004 = new ErrorCode(1-100-002-004,"短信发送失败"); + + ErrorCode ASSIGN_TASKS_INFO_005 = new ErrorCode(1-100-002-005,"任务提交成功,但通知短信发送失败,请联系管理员"); // ========== 人机材料 1-100-003-000========== 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 8bfbcc7..975051d 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 @@ -12,6 +12,8 @@ import com.zteits.urbanops.module.garden.dal.mysql.assigntasks.AssignTasksMapper import com.zteits.urbanops.module.garden.dal.mysql.assigntasksinfo.AssignTasksInfoMapper; import com.zteits.urbanops.module.garden.enums.AssignTasksConstants; import com.zteits.urbanops.module.garden.service.assigntasksinfo.AssignTasksInfoService; +import com.zteits.urbanops.module.system.api.dept.DeptApi; +import com.zteits.urbanops.module.system.api.dept.dto.DeptRespDTO; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -22,10 +24,14 @@ import org.springframework.validation.annotation.Validated; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserDeptId; import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; -import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.ASSIGN_TASKS_NOT_EXISTS; +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.ASSIGN_TASKS_NOT_EXISTS_002; /** * 派单任务主表(记录派单任务基本信息) Service 实现类 @@ -46,6 +52,11 @@ public class AssignTasksServiceImpl implements AssignTasksService { @Resource private AssignTasksInfoService assignTasksInfoService; + @Resource + private AssignTasksInfoMapper assignTasksInfoMapper; + @Resource + private DeptApi deptApi; + @Transactional(rollbackFor = Exception.class) @Override @@ -54,10 +65,6 @@ public class AssignTasksServiceImpl implements AssignTasksService { AssignTasksDO assignTasks = BeanUtils.toBean(createReqVO, AssignTasksDO.class); assignTasksMapper.insert(assignTasks); //保存单位明细 - String[] originalCompanyIds = createReqVO.getCompanyIds(); - if (originalCompanyIds == null || originalCompanyIds.length == 0) { - throw exception(ASSIGN_TASKS_NOT_EXISTS_001); - } assignTasksInfoService.saveAssignTasksInfos(createReqVO.getCompanyIds(), assignTasks.getId()); //保存单位明细 @@ -74,13 +81,37 @@ public class AssignTasksServiceImpl implements AssignTasksService { AssignTasksDO updateObj = BeanUtils.toBean(updateReqVO, AssignTasksDO.class); assignTasksMapper.updateById(updateObj); + // 1. 处理关联的单位任务信息(仅当存在单位ID列表时) + List companyIds = updateReqVO.getCompanyIds(); // add by wq 20251116 - String[] originalCompanyIds = updateReqVO.getCompanyIds(); - if (originalCompanyIds == null || originalCompanyIds.length == 0) { - throw exception(ASSIGN_TASKS_NOT_EXISTS_001); + List assignTaskInfoList = assignTasksInfoMapper.selectList(AssignTasksInfoDO::getTaskId, updateObj.getId()); + if (CollectionUtils.isEmpty(assignTaskInfoList)) { + // 检查当前派单的公司ID是否不在保留列表中 + for (AssignTasksInfoDO taskInfo : assignTaskInfoList) { + // 检查当前派单的公司ID是否不在保留列表中 + if (!companyIds.contains(taskInfo.getCompanyId())) { + // 已读状态(newFlag=1)不允许删除,抛出异常 + if (taskInfo.getFinish() != 1) { + //throw exception(ASSIGN_TASKS_IS_FINISH); + } else { + // 未读状态,执行删除操作 + assignTasksInfoService.deleteAssignTasksInfo(taskInfo.getId()); + } + } + } } - assignTasksInfoService.updateAssignTasksInfos(updateReqVO.getCompanyIds(), updateObj.getId()); + + //获取已添加单位集合 + List existingCompanyIds = assignTaskInfoList.stream() + .map(info -> String.valueOf(info.getCompanyId())) + .collect(Collectors.toList()); + //排除 existingCompanyIds 中的元素 作为新增的单位 + List filteredCompanyIds = companyIds.stream() + .filter(Objects::nonNull) + .filter(id -> !existingCompanyIds.contains(id)) // 直接用列表 contains() + .collect(Collectors.toList()); + assignTasksInfoService.saveAssignTasksInfos(filteredCompanyIds, updateObj.getId()); } @Override @@ -89,6 +120,10 @@ public class AssignTasksServiceImpl implements AssignTasksService { validateAssignTasksExists(id); // 删除 assignTasksMapper.deleteById(id); + //删除关联的明细 + List ids = new ArrayList<>(); + ids.add(id); + assiAssignTasksInfoMapper.deleteAssignTaskInfoByTaskId(ids); } @Override @@ -114,7 +149,13 @@ public class AssignTasksServiceImpl implements AssignTasksService { @Override public PageResult getAssignTasksPage(AssignTasksPageReqVO pageReqVO) { - return assignTasksMapper.selectPage(pageReqVO); + //add by wq 派单任务只能总公司查询 + DeptRespDTO deptRespDTO = deptApi.getDept(getLoginUserDeptId()); + if (deptRespDTO.getParentId() != 0) { + return null; + } + //add by wq 派单任务只能总公司查询 + return assignTasksMapper.selectPage(pageReqVO); } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoService.java index f2eeeec..289bd6a 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoService.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoService.java @@ -67,8 +67,36 @@ public interface AssignTasksInfoService { * @param taskId * @Return java.lang.Long */ - public void saveAssignTasksInfos(String[] companyIds, Long taskId); + public void saveAssignTasksInfos(List companyIds, Long taskId); - public void updateAssignTasksInfos(String[] companyIds, Long taskId); + /** + * @Author wangqian + * @Description 根据任务id查询详情 + * @Date 2025/11/25 11:22 + * @Param taskId + * @Return void + */ + public List getAssignTasksInfos(Long taskId); + /** + * @Author wangqian + * @Description 派单驳回 + * @Date 2025/8/22 19:53 + * @Return int + */ + public int rejectAssignTaskCompany(@Valid AssignTasksInfoSaveReqVO tdAssignTaskCompany); + /** + * @Author wangqian + * @Description 派单提醒 + * @Date 2025/8/22 19:53 + * @Return int + */ + public int submissionAssignTaskCompany(@Valid AssignTasksInfoSaveReqVO tdAssignTaskCompany); + /** + * @Author wangqian + * @Description 派单反馈 + * @Date 2025/8/22 19:53 + * @Return int + */ + public int feedbackAssignTaskCompany(@Valid AssignTasksInfoSaveReqVO tdAssignTaskCompany); } 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 e20b80e..22cbd83 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 @@ -1,22 +1,38 @@ package com.zteits.urbanops.module.garden.service.assigntasksinfo; +import com.alibaba.fastjson.JSONObject; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoPageReqVO; import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoSaveReqVO; +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.dal.mysql.assigntasks.AssignTasksMapper; import com.zteits.urbanops.module.garden.dal.mysql.assigntasksinfo.AssignTasksInfoMapper; +import com.zteits.urbanops.module.garden.enums.AssignTasksConstants; +import com.zteits.urbanops.module.garden.util.http.OkHttpClientUtil; +import com.zteits.urbanops.module.system.api.dept.DeptApi; +import com.zteits.urbanops.module.system.api.dept.dto.DeptRespDTO; +import com.zteits.urbanops.module.system.api.user.AdminUserApi; +import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; -import java.util.*; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; +import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserNickname; import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; /** @@ -31,13 +47,28 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService { @Resource private AssignTasksInfoMapper assignTasksInfoMapper; + @Resource + private AssignTasksMapper assignTasksMapper; + + @Resource + private DeptApi deptApi; + @Resource + private AdminUserApi adminUserApi; + private String SEND_SMS_CODE_URL = ""; + + // 时间格式常量(与之前保持一致) + public static final String FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND = "yyyy-MM-dd HH:mm:ss"; + + // 1. 定义线程安全的格式化器(全局复用,无需重复创建) + private static final DateTimeFormatter DEADLINE_FORMATTER = DateTimeFormatter + .ofPattern(FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + .withZone(ZoneId.of("GMT+8")); // 时区与之前配置一致,避免偏移 @Override public Long createAssignTasksInfo(AssignTasksInfoSaveReqVO createReqVO) { // 插入 AssignTasksInfoDO assignTasksInfo = BeanUtils.toBean(createReqVO, AssignTasksInfoDO.class); assignTasksInfoMapper.insert(assignTasksInfo); - // 返回 return assignTasksInfo.getId(); } @@ -83,16 +114,25 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService { } @Override - public void saveAssignTasksInfos(String[] companyIds, Long taskId) { + public void saveAssignTasksInfos(List companyIds, Long taskId) { // 获得用户基本信息 - String userId = String.valueOf(getLoginUserId()); - if (companyIds != null && companyIds.length > 0) { + if (companyIds != null && companyIds.size() > 0) { + //1、获取单位集合 + List deptList = deptApi.getChildDeptList(0L); + Map companyIdToNameMap = CollectionUtils.isEmpty(deptList) + ? Map.of() // 空列表返回空不可变 Map(避免 null) + : deptList.stream() + // 转 Map:key=companyId,value=companyName;key 冲突时保留最后一个(可调整) + .collect(Collectors.toMap( + DeptRespDTO::getId, // key 映射:取 companyId + dept -> dept.getName().trim(), // value 映射:取 companyName(去空格) + (oldValue, newValue) -> newValue + )); for (String companyId : companyIds) { AssignTasksInfoSaveReqVO assignTaskInfo = new AssignTasksInfoSaveReqVO(); assignTaskInfo.setCompanyId(companyId); - //assignTaskInfo.setCompanyName(CompanyConstant.getCompanyName(Long.parseLong(companyId))); + assignTaskInfo.setCompanyName(companyIdToNameMap.get(Long.valueOf(companyId))); assignTaskInfo.setTaskId(taskId); - assignTaskInfo.setUpdater(userId); AssignTasksInfoDO assignTasksInfo = BeanUtils.toBean(assignTaskInfo, AssignTasksInfoDO.class); assignTasksInfoMapper.insert(assignTasksInfo); @@ -101,74 +141,108 @@ public class AssignTasksInfoServiceImpl implements AssignTasksInfoService { } @Override - public void updateAssignTasksInfos(String[] companyIds, Long taskId) { - // 1. 日志与入参校验(提前拦截无效参数) - log.info("开始更新派单任务的公司关联信息 | 任务ID:{},目标公司ID列表:{}", - taskId, Arrays.toString(companyIds)); - + public List getAssignTasksInfos(Long taskId) { if (taskId == null) { - log.error("更新派单任务失败:任务ID不能为空"); - throw exception(ASSIGN_TASKS_INFO_NOT_EXISTS_003); // 假设 PARAM_ERROR 是通用参数错误码,需替换为实际枚举 + throw exception(ASSIGN_TASKS_INFO_TASKID_NOT_EXISTS); } + return assignTasksInfoMapper.selectList(AssignTasksInfoDO::getTaskId, taskId); + } - // 2. 获取当前登录用户(校验用户有效性) - Long loginUserId = getLoginUserId(); - - // 3. 预处理目标公司ID列表(避免重复转换,处理null场景) - List targetCompanyIdStrs = Optional.ofNullable(companyIds) - .map(Arrays::asList) - .orElse(Collections.emptyList()) - .stream() - .filter(StringUtils::isNotBlank) // 过滤空字符串(避免无效数据) - .distinct() // 去重:避免重复添加同一公司 - .collect(Collectors.toList()); - - // 4. 查询该任务下已关联的派单记录 - List existingAssignTaskInfos = assignTasksInfoMapper - .selectList(AssignTasksInfoDO::getTaskId, taskId); - log.info("当前任务已关联的派单记录数:{}", existingAssignTaskInfos.size()); - - // 4.1 提取已关联的公司ID(String类型,用于后续判断) - List existingCompanyIdStrs = existingAssignTaskInfos.stream() - .map(info -> String.valueOf(info.getCompanyId())) // 统一转为String,避免类型不匹配 - .collect(Collectors.toList()); - - // 5. 处理需要删除的派单记录(不在目标列表中且未读的记录) - List needDeleteIds = new ArrayList<>(); - for (AssignTasksInfoDO existingTask : existingAssignTaskInfos) { - String existingCompanyIdStr = String.valueOf(existingTask.getCompanyId()); - // 目标列表不包含当前公司ID → 需要删除 - if (!targetCompanyIdStrs.contains(existingCompanyIdStr)) { - // 已读状态(finish=1)不允许删除 - if (Objects.equals(existingTask.getFinish(), 1)) { - log.error("删除派单失败:任务已读不允许删除 | 派单ID:{},公司ID:{}", - existingTask.getId(), existingCompanyIdStr); - throw exception(ASSIGN_TASKS_INFO_NOT_EXISTS_004); // 建议修改异常码语义为“已读任务不允许删除” - } - needDeleteIds.add(existingTask.getId()); - } + //派单驳回 + @Override + public int rejectAssignTaskCompany(AssignTasksInfoSaveReqVO tdAssignTaskCompany) { + AssignTasksInfoDO assignTaskInfo = assignTasksInfoMapper.selectById(tdAssignTaskCompany.getId()); + //单位任务完成状态(0:未完成,1:已完成) + if (assignTaskInfo != null && 1 == assignTaskInfo.getFinish()) { + AssignTasksInfoDO updateAssignTaskInfo = new AssignTasksInfoDO(); + updateAssignTaskInfo.setId(tdAssignTaskCompany.getId()); + updateAssignTaskInfo.setFinish(AssignTasksConstants.ASSIGN_TASK_FINISH_0); + updateAssignTaskInfo.setNewFlagTime(null); + updateAssignTaskInfo.setIsReject(AssignTasksConstants.ASSIGN_TASK_REJECT_1); + updateAssignTaskInfo.setRejectRemark(tdAssignTaskCompany.getRejectRemark()); + updateAssignTaskInfo.setNewFlag(AssignTasksConstants.ASSIGN_TASK_NEWFLAG_0); + return assignTasksInfoMapper.updateById(updateAssignTaskInfo); + } else { + throw exception(ASSIGN_TASKS_INFO_TASKID_REJECT); } + } - // 5.1 批量删除(减少数据库交互) - if (!needDeleteIds.isEmpty()) { - this.deleteAssignTasksInfoListByIds(needDeleteIds); - log.info("批量删除派单记录成功 | 删除ID列表:{}", needDeleteIds); + @Override + public int submissionAssignTaskCompany(AssignTasksInfoSaveReqVO taskInfo) { + // 2. 查询任务详情(判断任务是否存在) + AssignTasksInfoDO existingTask = assignTasksInfoMapper.selectById(taskInfo.getId()); + if (existingTask == null) { + throw exception(ASSIGN_TASKS_INFO_NOT_EXISTS); } - - // 6. 处理需要新增的派单记录(目标列表中不存在于已关联列表的公司) - for (String targetCompanyId : targetCompanyIdStrs) { - if (!existingCompanyIdStrs.contains(targetCompanyId)) { - // 直接构建DO对象(跳过VO转换,减少开销) - AssignTasksInfoSaveReqVO assignTaskInfo = new AssignTasksInfoSaveReqVO(); - assignTaskInfo.setCompanyId(targetCompanyId); - //assignTaskInfo.setCompanyName(CompanyConstant.getCompanyName(Long.parseLong(companyId))); - assignTaskInfo.setTaskId(taskId); - assignTaskInfo.setCreator(String.valueOf(loginUserId)); - AssignTasksInfoDO assignTasksInfo = BeanUtils.toBean(assignTaskInfo, AssignTasksInfoDO.class); - - assignTasksInfoMapper.insert(assignTasksInfo); - + AssignTasksDO assignTasksDO = assignTasksMapper.selectById(existingTask.getTaskId()); + LocalDateTime deadline = assignTasksDO.getDeadline(); + + String formattedDeadline = Objects.nonNull(deadline) + ? DEADLINE_FORMATTER.format(deadline) + : ""; // 或 null + //填报人信息 + AdminUserRespDTO user = adminUserApi.getUser(getLoginUserId()); + String phonenumber = user.getMobile(); + Map resultMap = new HashMap(); + Map templateParams = new HashMap(); + templateParams.put("companyName", existingTask.getCompanyName()); + templateParams.put("taskName", assignTasksDO.getTaskName()); + templateParams.put("deadline", formattedDeadline); + resultMap.put("mobile", phonenumber);//手机号 + resultMap.put("scene", AssignTasksConstants.ASSIGN_TASK_SCENE);//短信场景 + resultMap.put("templateParams", templateParams);//短信参数 + + // 5. 发送短信通知 + log.info("派单发送短信 signMap: {}", JSONObject.toJSONString(resultMap)); + Map headers = new HashMap<>(4); + headers.put("Content-Type","application/json"); + headers.put("Connection","keep-alive"); + headers.put("Accept","*/*"); + headers.put("Accept-Encoding","gzip, deflate, br"); + try { + String response = OkHttpClientUtil.doPostJson(SEND_SMS_CODE_URL, resultMap, headers); + log.info("派单发送短信 response: {}", JSONObject.toJSONString(response)); + + JSONObject jsonObject = JSONObject.parseObject(response); + + if (jsonObject.getString("code").equals("0")) { + log.info("提交单位任务成功,已通知填报人:手机号={},任务ID={}", phonenumber, existingTask.getId()); + + int newRushNum = (existingTask.getRushNum() == null) ? 1: existingTask.getRushNum() + 1; + //催办次数+1 + AssignTasksInfoDO assignTaskInfo = new AssignTasksInfoDO(); + assignTaskInfo.setId(existingTask.getId()); + assignTaskInfo.setRushNum(newRushNum); + assignTasksInfoMapper.updateById(assignTaskInfo); + } else { + throw exception(ASSIGN_TASKS_INFO_004); } + } catch (Exception e) { + log.error("提交单位任务成功,但短信通知失败:手机号={},任务ID={}", + phonenumber, existingTask.getId(), e); + throw exception(ASSIGN_TASKS_INFO_005); + } + return 1; + } + + @Override + public int feedbackAssignTaskCompany(AssignTasksInfoSaveReqVO tdAssignTaskCompany) { + AssignTasksInfoDO assignTaskInfo = assignTasksInfoMapper.selectById(tdAssignTaskCompany.getId()); + if (assignTaskInfo != null) { + AdminUserRespDTO user = adminUserApi.getUser(getLoginUserId()); + AssignTasksInfoDO updateAssignTaskInfo = new AssignTasksInfoDO(); + updateAssignTaskInfo.setId(tdAssignTaskCompany.getId()); + updateAssignTaskInfo.setFinish(AssignTasksConstants.ASSIGN_TASK_FINISH_1);//已完成 + updateAssignTaskInfo.setDataFile(tdAssignTaskCompany.getDataFile()); + updateAssignTaskInfo.setRemark(tdAssignTaskCompany.getRemark()); + updateAssignTaskInfo.setWriteTime(LocalDateTime.now()); + //填报人信息 + updateAssignTaskInfo.setWritePersonId(String.valueOf(user.getId())); + updateAssignTaskInfo.setWritePerson(getLoginUserNickname()); + updateAssignTaskInfo.setWritePersonPhone(user.getMobile()); + return assignTasksInfoMapper.updateById(updateAssignTaskInfo); + } else { + throw exception(ASSIGN_TASKS_INFO_NOT_EXISTS); } } } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/personalcost/PersonalCostServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/personalcost/PersonalCostServiceImpl.java index 77f9bc8..0c9bf41 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/personalcost/PersonalCostServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/personalcost/PersonalCostServiceImpl.java @@ -7,6 +7,7 @@ import com.zteits.urbanops.module.garden.controller.admin.personalcost.vo.Person import com.zteits.urbanops.module.garden.dal.dataobject.personalcost.PersonalCostDO; import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; import com.zteits.urbanops.module.garden.dal.mysql.personalcost.PersonalCostMapper; +import com.zteits.urbanops.module.system.api.dept.DeptApi; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -30,6 +31,9 @@ public class PersonalCostServiceImpl implements PersonalCostService { @Resource private PersonalCostMapper personalCostMapper; + @Resource + private DeptApi deptApi; + @Override @Transactional public Long createPersonalCost(PersonalCostSaveReqVO createReqVO) { diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/wasterecord/WasteRecordServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/wasterecord/WasteRecordServiceImpl.java index 513ca6f..f7381de 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/wasterecord/WasteRecordServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/wasterecord/WasteRecordServiceImpl.java @@ -31,8 +31,6 @@ public class WasteRecordServiceImpl implements WasteRecordService { @Resource private WasteRecordMapper wasteRecordMapper; - @Resource - TeamBizdomainRelService teamBizdomainRelService; @Override @Transactional public Long createWasteRecord(WasteRecordSaveReqVO createReqVO) { -- libgit2 0.21.4