Commit 90215340615c6943464019ccf16fe7d02ee17d55
1 parent
57dda2d9
派单及人机材功能迁移
Showing
76 changed files
with
5248 additions
and
0 deletions
urbanops-module-garden/pom.xml
| @@ -114,6 +114,11 @@ | @@ -114,6 +114,11 @@ | ||
| 114 | <artifactId>tika-core</artifactId> <!-- 文件客户端:文件类型的识别 --> | 114 | <artifactId>tika-core</artifactId> <!-- 文件客户端:文件类型的识别 --> |
| 115 | </dependency> | 115 | </dependency> |
| 116 | 116 | ||
| 117 | + <dependency> | ||
| 118 | + <groupId>com.zteits.boot</groupId> | ||
| 119 | + <artifactId>urbanops-module-system</artifactId> | ||
| 120 | + <version>${revision}</version> | ||
| 121 | + </dependency> | ||
| 117 | </dependencies> | 122 | </dependencies> |
| 118 | 123 | ||
| 119 | </project> | 124 | </project> |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/AssignTasksController.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.assigntasks; | ||
| 2 | + | ||
| 3 | +import jakarta.annotation.security.PermitAll; | ||
| 4 | +import org.springframework.util.CollectionUtils; | ||
| 5 | +import org.springframework.web.bind.annotation.*; | ||
| 6 | +import jakarta.annotation.Resource; | ||
| 7 | +import org.springframework.validation.annotation.Validated; | ||
| 8 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 9 | +import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 10 | +import io.swagger.v3.oas.annotations.Parameter; | ||
| 11 | +import io.swagger.v3.oas.annotations.Operation; | ||
| 12 | + | ||
| 13 | +import jakarta.validation.constraints.*; | ||
| 14 | +import jakarta.validation.*; | ||
| 15 | +import jakarta.servlet.http.*; | ||
| 16 | +import java.util.*; | ||
| 17 | +import java.io.IOException; | ||
| 18 | + | ||
| 19 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 20 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 21 | +import com.zteits.urbanops.framework.common.pojo.CommonResult; | ||
| 22 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 23 | +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; | ||
| 24 | + | ||
| 25 | +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; | ||
| 26 | + | ||
| 27 | +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; | ||
| 28 | +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.*; | ||
| 29 | + | ||
| 30 | +import com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo.*; | ||
| 31 | +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasks.AssignTasksDO; | ||
| 32 | +import com.zteits.urbanops.module.garden.service.assigntasks.AssignTasksService; | ||
| 33 | + | ||
| 34 | +@Tag(name = "管理后台 - 派单任务主表(记录派单任务基本信息)") | ||
| 35 | +@RestController | ||
| 36 | +@RequestMapping("/garden/assign-tasks") | ||
| 37 | +@Validated | ||
| 38 | +public class AssignTasksController { | ||
| 39 | + | ||
| 40 | + @Resource | ||
| 41 | + private AssignTasksService assignTasksService; | ||
| 42 | + | ||
| 43 | + @PostMapping("/create") | ||
| 44 | + @Operation(summary = "创建派单任务主表(记录派单任务基本信息)") | ||
| 45 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks:create')") | ||
| 46 | + public CommonResult<Long> createAssignTasks(@Valid @RequestBody AssignTasksSaveReqVO createReqVO) { | ||
| 47 | + return success(assignTasksService.createAssignTasks(createReqVO)); | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + @PutMapping("/update") | ||
| 51 | + @Operation(summary = "更新派单任务主表(记录派单任务基本信息)") | ||
| 52 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks:update')") | ||
| 53 | + public CommonResult<Boolean> updateAssignTasks(@Valid @RequestBody AssignTasksSaveReqVO updateReqVO) { | ||
| 54 | + assignTasksService.updateAssignTasks(updateReqVO); | ||
| 55 | + return success(true); | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + @DeleteMapping("/delete") | ||
| 59 | + @Operation(summary = "删除派单任务主表(记录派单任务基本信息)") | ||
| 60 | + @Parameter(name = "id", description = "编号", required = true) | ||
| 61 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks:delete')") | ||
| 62 | + public CommonResult<Boolean> deleteAssignTasks(@RequestParam("id") Long id) { | ||
| 63 | + assignTasksService.deleteAssignTasks(id); | ||
| 64 | + return success(true); | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + @DeleteMapping("/delete-list") | ||
| 68 | + @Parameter(name = "ids", description = "编号", required = true) | ||
| 69 | + @Operation(summary = "批量删除派单任务主表(记录派单任务基本信息)") | ||
| 70 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks:delete')") | ||
| 71 | + public CommonResult<Boolean> deleteAssignTasksList(@RequestParam("ids") List<Long> ids) { | ||
| 72 | + assignTasksService.deleteAssignTasksListByIds(ids); | ||
| 73 | + return success(true); | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + @GetMapping("/get") | ||
| 77 | + @Operation(summary = "获得派单任务主表(记录派单任务基本信息)") | ||
| 78 | + @Parameter(name = "id", description = "编号", required = true, example = "1024") | ||
| 79 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks:query')") | ||
| 80 | + public CommonResult<AssignTasksRespVO> getAssignTasks(@RequestParam("id") Long id) { | ||
| 81 | + AssignTasksDO assignTasks = assignTasksService.getAssignTasks(id); | ||
| 82 | + return success(BeanUtils.toBean(assignTasks, AssignTasksRespVO.class)); | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + @GetMapping("/page") | ||
| 86 | + @Operation(summary = "获得派单任务主表(记录派单任务基本信息)分页") | ||
| 87 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks:query')") | ||
| 88 | + public CommonResult<PageResult<AssignTasksRespVO>> getAssignTasksPage(@Valid AssignTasksPageReqVO pageReqVO) { | ||
| 89 | + PageResult<AssignTasksDO> pageResult = assignTasksService.getAssignTasksPage(pageReqVO); | ||
| 90 | + return success(BeanUtils.toBean(pageResult, AssignTasksRespVO.class)); | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + @GetMapping("/export-excel") | ||
| 94 | + @Operation(summary = "导出派单任务主表(记录派单任务基本信息) Excel") | ||
| 95 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks:export')") | ||
| 96 | + @ApiAccessLog(operateType = EXPORT) | ||
| 97 | + public void exportAssignTasksExcel(@Valid AssignTasksPageReqVO pageReqVO, | ||
| 98 | + HttpServletResponse response) throws IOException { | ||
| 99 | + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | ||
| 100 | + List<AssignTasksDO> list = assignTasksService.getAssignTasksPage(pageReqVO).getList(); | ||
| 101 | + // 导出 Excel | ||
| 102 | + ExcelUtils.write(response, "派单任务主表(记录派单任务基本信息).xls", "数据", AssignTasksRespVO.class, | ||
| 103 | + BeanUtils.toBean(list, AssignTasksRespVO.class)); | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + @Operation(summary = "定时任务处理超时" ) | ||
| 107 | + @PostMapping(value= "/tasksOutTimeAuto") | ||
| 108 | + @PermitAll | ||
| 109 | + public CommonResult tasksOutTimeAuto() { | ||
| 110 | + return success(assignTasksService.tasksOutTimeAuto()); | ||
| 111 | + } | ||
| 112 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/vo/AssignTasksPageReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import java.util.*; | ||
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 6 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 7 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 8 | +import java.time.LocalDateTime; | ||
| 9 | + | ||
| 10 | +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | + | ||
| 12 | +@Schema(description = "管理后台 - 派单任务主表(记录派单任务基本信息)分页 Request VO") | ||
| 13 | +@Data | ||
| 14 | +public class AssignTasksPageReqVO extends PageParam { | ||
| 15 | + | ||
| 16 | + @Schema(description = "任务名称", example = "张三") | ||
| 17 | + private String taskName; | ||
| 18 | + | ||
| 19 | + @Schema(description = "任务类型(关联数据字典,如:日常巡检、紧急维修等)", example = "1") | ||
| 20 | + private String taskType; | ||
| 21 | + | ||
| 22 | + @Schema(description = "任务截止时间") | ||
| 23 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 24 | + private LocalDateTime[] deadline; | ||
| 25 | + | ||
| 26 | + @Schema(description = "派单模板文件路径(如:任务详情模板、填报表格等)") | ||
| 27 | + private String templateFile; | ||
| 28 | + | ||
| 29 | + @Schema(description = "任务整体完成状态(0:未完成,1:已完成;所有关联单位均完成时自动更新为1)") | ||
| 30 | + private Integer parentFinish; | ||
| 31 | + | ||
| 32 | + @Schema(description = "整体完成时间(仅当parent_finish=1时有值)") | ||
| 33 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 34 | + private LocalDateTime[] finishTime; | ||
| 35 | + | ||
| 36 | + @Schema(description = "任务备注(如:特殊要求、注意事项等)") | ||
| 37 | + private String note; | ||
| 38 | + | ||
| 39 | + @Schema(description = "创建人(关联用户ID,任务派发人)") | ||
| 40 | + private String creator; | ||
| 41 | + | ||
| 42 | + @Schema(description = "任务创建时间(派单时间)") | ||
| 43 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 44 | + private LocalDateTime[] createTime; | ||
| 45 | + | ||
| 46 | + @Schema(description = "修改人(关联用户ID,最后修改人)") | ||
| 47 | + private String updater; | ||
| 48 | + | ||
| 49 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/vo/AssignTasksRespVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo; | ||
| 2 | + | ||
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | +import lombok.*; | ||
| 5 | +import java.util.*; | ||
| 6 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 7 | +import java.time.LocalDateTime; | ||
| 8 | +import cn.idev.excel.annotation.*; | ||
| 9 | + | ||
| 10 | +@Schema(description = "管理后台 - 派单任务主表(记录派单任务基本信息) Response VO") | ||
| 11 | +@Data | ||
| 12 | +@ExcelIgnoreUnannotated | ||
| 13 | +public class AssignTasksRespVO { | ||
| 14 | + | ||
| 15 | + @Schema(description = "自增ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3654") | ||
| 16 | + @ExcelProperty("自增ID") | ||
| 17 | + private Long id; | ||
| 18 | + | ||
| 19 | + @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") | ||
| 20 | + @ExcelProperty("任务名称") | ||
| 21 | + private String taskName; | ||
| 22 | + | ||
| 23 | + @Schema(description = "任务类型(关联数据字典,如:日常巡检、紧急维修等)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||
| 24 | + @ExcelProperty("任务类型(关联数据字典,如:日常巡检、紧急维修等)") | ||
| 25 | + private String taskType; | ||
| 26 | + | ||
| 27 | + @Schema(description = "任务截止时间", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 28 | + @ExcelProperty("任务截止时间") | ||
| 29 | + private LocalDateTime deadline; | ||
| 30 | + | ||
| 31 | + @Schema(description = "派单模板文件路径(如:任务详情模板、填报表格等)") | ||
| 32 | + @ExcelProperty("派单模板文件路径(如:任务详情模板、填报表格等)") | ||
| 33 | + private String templateFile; | ||
| 34 | + | ||
| 35 | + @Schema(description = "任务整体完成状态(0:未完成,1:已完成;所有关联单位均完成时自动更新为1)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 36 | + @ExcelProperty("任务整体完成状态(0:未完成,1:已完成;所有关联单位均完成时自动更新为1)") | ||
| 37 | + private Integer parentFinish; | ||
| 38 | + | ||
| 39 | + @Schema(description = "整体完成时间(仅当parent_finish=1时有值)") | ||
| 40 | + @ExcelProperty("整体完成时间(仅当parent_finish=1时有值)") | ||
| 41 | + private LocalDateTime finishTime; | ||
| 42 | + | ||
| 43 | + @Schema(description = "任务备注(如:特殊要求、注意事项等)") | ||
| 44 | + @ExcelProperty("任务备注(如:特殊要求、注意事项等)") | ||
| 45 | + private String note; | ||
| 46 | + | ||
| 47 | + @Schema(description = "创建人(关联用户ID,任务派发人)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 48 | + @ExcelProperty("创建人(关联用户ID,任务派发人)") | ||
| 49 | + private String creator; | ||
| 50 | + | ||
| 51 | + @Schema(description = "任务创建时间(派单时间)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 52 | + @ExcelProperty("任务创建时间(派单时间)") | ||
| 53 | + private LocalDateTime createTime; | ||
| 54 | + | ||
| 55 | + @Schema(description = "修改人(关联用户ID,最后修改人)") | ||
| 56 | + @ExcelProperty("修改人(关联用户ID,最后修改人)") | ||
| 57 | + private String updater; | ||
| 58 | + | ||
| 59 | + | ||
| 60 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasks/vo/AssignTasksSaveReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo; | ||
| 2 | + | ||
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | +import lombok.*; | ||
| 5 | +import java.util.*; | ||
| 6 | +import jakarta.validation.constraints.*; | ||
| 7 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 8 | +import java.time.LocalDateTime; | ||
| 9 | + | ||
| 10 | +@Schema(description = "管理后台 - 派单任务主表(记录派单任务基本信息)新增/修改 Request VO") | ||
| 11 | +@Data | ||
| 12 | +public class AssignTasksSaveReqVO { | ||
| 13 | + | ||
| 14 | + @Schema(description = "自增ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3654") | ||
| 15 | + private Long id; | ||
| 16 | + | ||
| 17 | + @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") | ||
| 18 | + @NotEmpty(message = "任务名称不能为空") | ||
| 19 | + private String taskName; | ||
| 20 | + | ||
| 21 | + @Schema(description = "任务类型(关联数据字典,如:日常巡检、紧急维修等)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||
| 22 | + @NotEmpty(message = "任务类型(关联数据字典,如:日常巡检、紧急维修等)不能为空") | ||
| 23 | + private String taskType; | ||
| 24 | + | ||
| 25 | + @Schema(description = "任务截止时间", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 26 | + @NotNull(message = "任务截止时间不能为空") | ||
| 27 | + private LocalDateTime deadline; | ||
| 28 | + | ||
| 29 | + @Schema(description = "派单模板文件路径(如:任务详情模板、填报表格等)") | ||
| 30 | + private String templateFile; | ||
| 31 | + | ||
| 32 | + @Schema(description = "任务整体完成状态(0:未完成,1:已完成;所有关联单位均完成时自动更新为1)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 33 | + //@NotNull(message = "任务整体完成状态(0:未完成,1:已完成;所有关联单位均完成时自动更新为1)不能为空") | ||
| 34 | + private Integer parentFinish; | ||
| 35 | + | ||
| 36 | + @Schema(description = "整体完成时间(仅当parent_finish=1时有值)") | ||
| 37 | + private LocalDateTime finishTime; | ||
| 38 | + | ||
| 39 | + @Schema(description = "任务备注(如:特殊要求、注意事项等)") | ||
| 40 | + private String note; | ||
| 41 | + | ||
| 42 | + @Schema(description = "创建人(关联用户ID,任务派发人)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 43 | + //@NotEmpty(message = "创建人(关联用户ID,任务派发人)不能为空") | ||
| 44 | + private String creator; | ||
| 45 | + | ||
| 46 | + @Schema(description = "修改人(关联用户ID,最后修改人)") | ||
| 47 | + private String updater; | ||
| 48 | + | ||
| 49 | + /*单位集合*/ | ||
| 50 | + private String[] companyIds; | ||
| 51 | + | ||
| 52 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/AssignTasksInfoController.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | +import jakarta.annotation.Resource; | ||
| 5 | +import org.springframework.validation.annotation.Validated; | ||
| 6 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 7 | +import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 8 | +import io.swagger.v3.oas.annotations.Parameter; | ||
| 9 | +import io.swagger.v3.oas.annotations.Operation; | ||
| 10 | + | ||
| 11 | +import jakarta.validation.constraints.*; | ||
| 12 | +import jakarta.validation.*; | ||
| 13 | +import jakarta.servlet.http.*; | ||
| 14 | +import java.util.*; | ||
| 15 | +import java.io.IOException; | ||
| 16 | + | ||
| 17 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 18 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 19 | +import com.zteits.urbanops.framework.common.pojo.CommonResult; | ||
| 20 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 21 | +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; | ||
| 22 | + | ||
| 23 | +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; | ||
| 24 | + | ||
| 25 | +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; | ||
| 26 | +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.*; | ||
| 27 | + | ||
| 28 | +import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.*; | ||
| 29 | +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo.AssignTasksInfoDO; | ||
| 30 | +import com.zteits.urbanops.module.garden.service.assigntasksinfo.AssignTasksInfoService; | ||
| 31 | + | ||
| 32 | +@Tag(name = "管理后台 - 派单任务-单位关联表(记录单位接收派单后的执行详情)") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/garden/assign-tasks-info") | ||
| 35 | +@Validated | ||
| 36 | +public class AssignTasksInfoController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private AssignTasksInfoService assignTasksInfoService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @Operation(summary = "创建派单任务-单位关联表(记录单位接收派单后的执行详情)") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:create')") | ||
| 44 | + public CommonResult<Long> createAssignTasksInfo(@Valid @RequestBody AssignTasksInfoSaveReqVO createReqVO) { | ||
| 45 | + return success(assignTasksInfoService.createAssignTasksInfo(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @Operation(summary = "更新派单任务-单位关联表(记录单位接收派单后的执行详情)") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:update')") | ||
| 51 | + public CommonResult<Boolean> updateAssignTasksInfo(@Valid @RequestBody AssignTasksInfoSaveReqVO updateReqVO) { | ||
| 52 | + assignTasksInfoService.updateAssignTasksInfo(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @Operation(summary = "删除派单任务-单位关联表(记录单位接收派单后的执行详情)") | ||
| 58 | + @Parameter(name = "id", description = "编号", required = true) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteAssignTasksInfo(@RequestParam("id") Long id) { | ||
| 61 | + assignTasksInfoService.deleteAssignTasksInfo(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @DeleteMapping("/delete-list") | ||
| 66 | + @Parameter(name = "ids", description = "编号", required = true) | ||
| 67 | + @Operation(summary = "批量删除派单任务-单位关联表(记录单位接收派单后的执行详情)") | ||
| 68 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:delete')") | ||
| 69 | + public CommonResult<Boolean> deleteAssignTasksInfoList(@RequestParam("ids") List<Long> ids) { | ||
| 70 | + assignTasksInfoService.deleteAssignTasksInfoListByIds(ids); | ||
| 71 | + return success(true); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/get") | ||
| 75 | + @Operation(summary = "获得派单任务-单位关联表(记录单位接收派单后的执行详情)") | ||
| 76 | + @Parameter(name = "id", description = "编号", required = true, example = "1024") | ||
| 77 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')") | ||
| 78 | + public CommonResult<AssignTasksInfoRespVO> getAssignTasksInfo(@RequestParam("id") Long id) { | ||
| 79 | + AssignTasksInfoDO assignTasksInfo = assignTasksInfoService.getAssignTasksInfo(id); | ||
| 80 | + return success(BeanUtils.toBean(assignTasksInfo, AssignTasksInfoRespVO.class)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @Operation(summary = "获得派单任务-单位关联表(记录单位接收派单后的执行详情)分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:query')") | ||
| 86 | + public CommonResult<PageResult<AssignTasksInfoRespVO>> getAssignTasksInfoPage(@Valid AssignTasksInfoPageReqVO pageReqVO) { | ||
| 87 | + PageResult<AssignTasksInfoDO> pageResult = assignTasksInfoService.getAssignTasksInfoPage(pageReqVO); | ||
| 88 | + return success(BeanUtils.toBean(pageResult, AssignTasksInfoRespVO.class)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @Operation(summary = "导出派单任务-单位关联表(记录单位接收派单后的执行详情) Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('garden:assign-tasks-info:export')") | ||
| 94 | + @ApiAccessLog(operateType = EXPORT) | ||
| 95 | + public void exportAssignTasksInfoExcel(@Valid AssignTasksInfoPageReqVO pageReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | ||
| 98 | + List<AssignTasksInfoDO> list = assignTasksInfoService.getAssignTasksInfoPage(pageReqVO).getList(); | ||
| 99 | + // 导出 Excel | ||
| 100 | + ExcelUtils.write(response, "派单任务-单位关联表(记录单位接收派单后的执行详情).xls", "数据", AssignTasksInfoRespVO.class, | ||
| 101 | + BeanUtils.toBean(list, AssignTasksInfoRespVO.class)); | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | +} | ||
| 0 | \ No newline at end of file | 105 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/vo/AssignTasksInfoPageReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import java.util.*; | ||
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 6 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 7 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 8 | +import java.time.LocalDateTime; | ||
| 9 | + | ||
| 10 | +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | + | ||
| 12 | +@Schema(description = "管理后台 - 派单任务-单位关联表(记录单位接收派单后的执行详情)分页 Request VO") | ||
| 13 | +@Data | ||
| 14 | +public class AssignTasksInfoPageReqVO extends PageParam { | ||
| 15 | + | ||
| 16 | + @Schema(description = "关联派单任务主表ID(外键,关联td_assign_tasks.id)", example = "1875") | ||
| 17 | + private Long taskId; | ||
| 18 | + | ||
| 19 | + @Schema(description = "单位ID(关联单位表主键)", example = "11926") | ||
| 20 | + private String companyId; | ||
| 21 | + | ||
| 22 | + @Schema(description = "单位ID(关联单位表主键)", example = "张三") | ||
| 23 | + private String companyName; | ||
| 24 | + | ||
| 25 | + @Schema(description = "填报人ID(单位指定的任务负责人)", example = "28216") | ||
| 26 | + private String writePersonId; | ||
| 27 | + | ||
| 28 | + @Schema(description = "填报人姓名") | ||
| 29 | + private String writePerson; | ||
| 30 | + | ||
| 31 | + @Schema(description = "填报人手机号") | ||
| 32 | + private String writePersonPhone; | ||
| 33 | + | ||
| 34 | + @Schema(description = "填报时间(仅当finish=1时有值)") | ||
| 35 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 36 | + private LocalDateTime[] writeTime; | ||
| 37 | + | ||
| 38 | + @Schema(description = "单位任务完成状态(0:未完成,1:已完成)") | ||
| 39 | + private Integer finish; | ||
| 40 | + | ||
| 41 | + @Schema(description = "是否超期(0:未超期,1:超期;NULL:未到截止时间)") | ||
| 42 | + private Integer isOverdue; | ||
| 43 | + | ||
| 44 | + @Schema(description = "单位提交的任务文件路径(如:填报表格、现场照片等)") | ||
| 45 | + private String dataFile; | ||
| 46 | + | ||
| 47 | + @Schema(description = "催缴次数(未完成时的提醒次数)") | ||
| 48 | + private Integer rushNum; | ||
| 49 | + | ||
| 50 | + @Schema(description = "新任务标记(0:未读,1:已读)") | ||
| 51 | + private Integer newFlag; | ||
| 52 | + | ||
| 53 | + @Schema(description = "已读时间(仅当new_flag=1时有值)") | ||
| 54 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 55 | + private LocalDateTime[] newFlagTime; | ||
| 56 | + | ||
| 57 | + @Schema(description = "驳回备注(当finish=2时,说明驳回原因)", example = "你说的对") | ||
| 58 | + private String rejectRemark; | ||
| 59 | + | ||
| 60 | + @Schema(description = "单位任务确认状态(已确认/未确认,单位接收任务后需确认)") | ||
| 61 | + private String confirm; | ||
| 62 | + | ||
| 63 | + @Schema(description = "确认时间(单位确认接收任务的时间)") | ||
| 64 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 65 | + private LocalDateTime[] confirmTime; | ||
| 66 | + | ||
| 67 | + @Schema(description = "创建人(关联用户ID,将任务派给该单位的操作人)") | ||
| 68 | + private String creator; | ||
| 69 | + | ||
| 70 | + @Schema(description = "关联记录创建时间(派单给单位的时间)") | ||
| 71 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 72 | + private LocalDateTime[] createTime; | ||
| 73 | + | ||
| 74 | + @Schema(description = "修改人(关联用户ID,最后修改该记录的操作人)") | ||
| 75 | + private String updater; | ||
| 76 | + | ||
| 77 | + @Schema(description = "备注", example = "你猜") | ||
| 78 | + private String remark; | ||
| 79 | + | ||
| 80 | + @Schema(description = "是否打回0:正常 1:打回") | ||
| 81 | + private Integer isReject; | ||
| 82 | + | ||
| 83 | + @Schema(description = "0:正常1:停用", example = "1") | ||
| 84 | + private Integer status; | ||
| 85 | + | ||
| 86 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/vo/AssignTasksInfoRespVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo; | ||
| 2 | + | ||
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | +import lombok.*; | ||
| 5 | +import java.util.*; | ||
| 6 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 7 | +import java.time.LocalDateTime; | ||
| 8 | +import cn.idev.excel.annotation.*; | ||
| 9 | + | ||
| 10 | +@Schema(description = "管理后台 - 派单任务-单位关联表(记录单位接收派单后的执行详情) Response VO") | ||
| 11 | +@Data | ||
| 12 | +@ExcelIgnoreUnannotated | ||
| 13 | +public class AssignTasksInfoRespVO { | ||
| 14 | + | ||
| 15 | + @Schema(description = "自增ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12148") | ||
| 16 | + @ExcelProperty("自增ID") | ||
| 17 | + private Long id; | ||
| 18 | + | ||
| 19 | + @Schema(description = "关联派单任务主表ID(外键,关联td_assign_tasks.id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1875") | ||
| 20 | + @ExcelProperty("关联派单任务主表ID(外键,关联td_assign_tasks.id)") | ||
| 21 | + private Long taskId; | ||
| 22 | + | ||
| 23 | + @Schema(description = "单位ID(关联单位表主键)", requiredMode = Schema.RequiredMode.REQUIRED, example = "11926") | ||
| 24 | + @ExcelProperty("单位ID(关联单位表主键)") | ||
| 25 | + private String companyId; | ||
| 26 | + | ||
| 27 | + @Schema(description = "单位ID(关联单位表主键)", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") | ||
| 28 | + @ExcelProperty("单位ID(关联单位表主键)") | ||
| 29 | + private String companyName; | ||
| 30 | + | ||
| 31 | + @Schema(description = "填报人ID(单位指定的任务负责人)", example = "28216") | ||
| 32 | + @ExcelProperty("填报人ID(单位指定的任务负责人)") | ||
| 33 | + private String writePersonId; | ||
| 34 | + | ||
| 35 | + @Schema(description = "填报人姓名") | ||
| 36 | + @ExcelProperty("填报人姓名") | ||
| 37 | + private String writePerson; | ||
| 38 | + | ||
| 39 | + @Schema(description = "填报人手机号") | ||
| 40 | + @ExcelProperty("填报人手机号") | ||
| 41 | + private String writePersonPhone; | ||
| 42 | + | ||
| 43 | + @Schema(description = "填报时间(仅当finish=1时有值)") | ||
| 44 | + @ExcelProperty("填报时间(仅当finish=1时有值)") | ||
| 45 | + private LocalDateTime writeTime; | ||
| 46 | + | ||
| 47 | + @Schema(description = "单位任务完成状态(0:未完成,1:已完成)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 48 | + @ExcelProperty("单位任务完成状态(0:未完成,1:已完成)") | ||
| 49 | + private Integer finish; | ||
| 50 | + | ||
| 51 | + @Schema(description = "是否超期(0:未超期,1:超期;NULL:未到截止时间)") | ||
| 52 | + @ExcelProperty("是否超期(0:未超期,1:超期;NULL:未到截止时间)") | ||
| 53 | + private Integer isOverdue; | ||
| 54 | + | ||
| 55 | + @Schema(description = "单位提交的任务文件路径(如:填报表格、现场照片等)") | ||
| 56 | + @ExcelProperty("单位提交的任务文件路径(如:填报表格、现场照片等)") | ||
| 57 | + private String dataFile; | ||
| 58 | + | ||
| 59 | + @Schema(description = "催缴次数(未完成时的提醒次数)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 60 | + @ExcelProperty("催缴次数(未完成时的提醒次数)") | ||
| 61 | + private Integer rushNum; | ||
| 62 | + | ||
| 63 | + @Schema(description = "新任务标记(0:未读,1:已读)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 64 | + @ExcelProperty("新任务标记(0:未读,1:已读)") | ||
| 65 | + private Integer newFlag; | ||
| 66 | + | ||
| 67 | + @Schema(description = "已读时间(仅当new_flag=1时有值)") | ||
| 68 | + @ExcelProperty("已读时间(仅当new_flag=1时有值)") | ||
| 69 | + private LocalDateTime newFlagTime; | ||
| 70 | + | ||
| 71 | + @Schema(description = "驳回备注(当finish=2时,说明驳回原因)", example = "你说的对") | ||
| 72 | + @ExcelProperty("驳回备注(当finish=2时,说明驳回原因)") | ||
| 73 | + private String rejectRemark; | ||
| 74 | + | ||
| 75 | + @Schema(description = "单位任务确认状态(已确认/未确认,单位接收任务后需确认)") | ||
| 76 | + @ExcelProperty("单位任务确认状态(已确认/未确认,单位接收任务后需确认)") | ||
| 77 | + private String confirm; | ||
| 78 | + | ||
| 79 | + @Schema(description = "确认时间(单位确认接收任务的时间)") | ||
| 80 | + @ExcelProperty("确认时间(单位确认接收任务的时间)") | ||
| 81 | + private LocalDateTime confirmTime; | ||
| 82 | + | ||
| 83 | + @Schema(description = "创建人(关联用户ID,将任务派给该单位的操作人)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 84 | + @ExcelProperty("创建人(关联用户ID,将任务派给该单位的操作人)") | ||
| 85 | + private String creator; | ||
| 86 | + | ||
| 87 | + @Schema(description = "关联记录创建时间(派单给单位的时间)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 88 | + @ExcelProperty("关联记录创建时间(派单给单位的时间)") | ||
| 89 | + private LocalDateTime createTime; | ||
| 90 | + | ||
| 91 | + @Schema(description = "修改人(关联用户ID,最后修改该记录的操作人)") | ||
| 92 | + @ExcelProperty("修改人(关联用户ID,最后修改该记录的操作人)") | ||
| 93 | + private String updater; | ||
| 94 | + | ||
| 95 | + @Schema(description = "备注", example = "你猜") | ||
| 96 | + @ExcelProperty("备注") | ||
| 97 | + private String remark; | ||
| 98 | + | ||
| 99 | + @Schema(description = "是否打回0:正常 1:打回") | ||
| 100 | + @ExcelProperty("是否打回0:正常 1:打回") | ||
| 101 | + private Integer isReject; | ||
| 102 | + | ||
| 103 | + @Schema(description = "0:正常1:停用", example = "1") | ||
| 104 | + @ExcelProperty("0:正常1:停用") | ||
| 105 | + private Integer status; | ||
| 106 | + | ||
| 107 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/assigntasksinfo/vo/AssignTasksInfoSaveReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo; | ||
| 2 | + | ||
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | +import lombok.*; | ||
| 5 | +import java.util.*; | ||
| 6 | +import jakarta.validation.constraints.*; | ||
| 7 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 8 | +import java.time.LocalDateTime; | ||
| 9 | + | ||
| 10 | +@Schema(description = "管理后台 - 派单任务-单位关联表(记录单位接收派单后的执行详情)新增/修改 Request VO") | ||
| 11 | +@Data | ||
| 12 | +public class AssignTasksInfoSaveReqVO { | ||
| 13 | + | ||
| 14 | + @Schema(description = "自增ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12148") | ||
| 15 | + private Long id; | ||
| 16 | + | ||
| 17 | + @Schema(description = "关联派单任务主表ID(外键,关联td_assign_tasks.id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1875") | ||
| 18 | + @NotNull(message = "关联派单任务主表ID(外键,关联td_assign_tasks.id)不能为空") | ||
| 19 | + private Long taskId; | ||
| 20 | + | ||
| 21 | + @Schema(description = "单位ID(关联单位表主键)", requiredMode = Schema.RequiredMode.REQUIRED, example = "11926") | ||
| 22 | + @NotEmpty(message = "单位ID(关联单位表主键)不能为空") | ||
| 23 | + private String companyId; | ||
| 24 | + | ||
| 25 | + @Schema(description = "单位ID(关联单位表主键)", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") | ||
| 26 | + @NotEmpty(message = "单位ID(关联单位表主键)不能为空") | ||
| 27 | + private String companyName; | ||
| 28 | + | ||
| 29 | + @Schema(description = "填报人ID(单位指定的任务负责人)", example = "28216") | ||
| 30 | + private String writePersonId; | ||
| 31 | + | ||
| 32 | + @Schema(description = "填报人姓名") | ||
| 33 | + private String writePerson; | ||
| 34 | + | ||
| 35 | + @Schema(description = "填报人手机号") | ||
| 36 | + private String writePersonPhone; | ||
| 37 | + | ||
| 38 | + @Schema(description = "填报时间(仅当finish=1时有值)") | ||
| 39 | + private LocalDateTime writeTime; | ||
| 40 | + | ||
| 41 | + @Schema(description = "单位任务完成状态(0:未完成,1:已完成)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 42 | + //@NotNull(message = "单位任务完成状态(0:未完成,1:已完成)不能为空") | ||
| 43 | + private Integer finish; | ||
| 44 | + | ||
| 45 | + @Schema(description = "是否超期(0:未超期,1:超期;NULL:未到截止时间)") | ||
| 46 | + private Integer isOverdue; | ||
| 47 | + | ||
| 48 | + @Schema(description = "单位提交的任务文件路径(如:填报表格、现场照片等)") | ||
| 49 | + private String dataFile; | ||
| 50 | + | ||
| 51 | + @Schema(description = "催缴次数(未完成时的提醒次数)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 52 | + @NotNull(message = "催缴次数(未完成时的提醒次数)不能为空") | ||
| 53 | + private Integer rushNum; | ||
| 54 | + | ||
| 55 | + @Schema(description = "新任务标记(0:未读,1:已读)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 56 | + @NotNull(message = "新任务标记(0:未读,1:已读)不能为空") | ||
| 57 | + private Integer newFlag; | ||
| 58 | + | ||
| 59 | + @Schema(description = "已读时间(仅当new_flag=1时有值)") | ||
| 60 | + private LocalDateTime newFlagTime; | ||
| 61 | + | ||
| 62 | + @Schema(description = "驳回备注(当finish=2时,说明驳回原因)", example = "你说的对") | ||
| 63 | + private String rejectRemark; | ||
| 64 | + | ||
| 65 | + @Schema(description = "单位任务确认状态(已确认/未确认,单位接收任务后需确认)") | ||
| 66 | + private String confirm; | ||
| 67 | + | ||
| 68 | + @Schema(description = "确认时间(单位确认接收任务的时间)") | ||
| 69 | + private LocalDateTime confirmTime; | ||
| 70 | + | ||
| 71 | + @Schema(description = "创建人(关联用户ID,将任务派给该单位的操作人)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 72 | + //@NotEmpty(message = "创建人(关联用户ID,将任务派给该单位的操作人)不能为空") | ||
| 73 | + private String creator; | ||
| 74 | + | ||
| 75 | + @Schema(description = "修改人(关联用户ID,最后修改该记录的操作人)") | ||
| 76 | + private String updater; | ||
| 77 | + | ||
| 78 | + @Schema(description = "备注", example = "你猜") | ||
| 79 | + private String remark; | ||
| 80 | + | ||
| 81 | + @Schema(description = "是否打回0:正常 1:打回") | ||
| 82 | + private Integer isReject; | ||
| 83 | + | ||
| 84 | + @Schema(description = "0:正常1:停用", example = "1") | ||
| 85 | + private Integer status; | ||
| 86 | + | ||
| 87 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/departmentcost/DepartmentCostController.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.departmentcost; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | +import jakarta.annotation.Resource; | ||
| 5 | +import org.springframework.validation.annotation.Validated; | ||
| 6 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 7 | +import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 8 | +import io.swagger.v3.oas.annotations.Parameter; | ||
| 9 | +import io.swagger.v3.oas.annotations.Operation; | ||
| 10 | + | ||
| 11 | +import jakarta.validation.constraints.*; | ||
| 12 | +import jakarta.validation.*; | ||
| 13 | +import jakarta.servlet.http.*; | ||
| 14 | +import java.util.*; | ||
| 15 | +import java.io.IOException; | ||
| 16 | + | ||
| 17 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 18 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 19 | +import com.zteits.urbanops.framework.common.pojo.CommonResult; | ||
| 20 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 21 | +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; | ||
| 22 | + | ||
| 23 | +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; | ||
| 24 | + | ||
| 25 | +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; | ||
| 26 | +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.*; | ||
| 27 | + | ||
| 28 | +import com.zteits.urbanops.module.garden.controller.admin.departmentcost.vo.*; | ||
| 29 | +import com.zteits.urbanops.module.garden.dal.dataobject.departmentcost.DepartmentCostDO; | ||
| 30 | +import com.zteits.urbanops.module.garden.service.departmentcost.DepartmentCostService; | ||
| 31 | + | ||
| 32 | +@Tag(name = "管理后台 - 部门费用录入") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/garden/department-cost") | ||
| 35 | +@Validated | ||
| 36 | +public class DepartmentCostController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private DepartmentCostService departmentCostService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @Operation(summary = "创建部门费用录入") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('garden:department-cost:create')") | ||
| 44 | + public CommonResult<Long> createDepartmentCost(@Valid @RequestBody DepartmentCostSaveReqVO createReqVO) { | ||
| 45 | + return success(departmentCostService.createDepartmentCost(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @Operation(summary = "更新部门费用录入") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('garden:department-cost:update')") | ||
| 51 | + public CommonResult<Boolean> updateDepartmentCost(@Valid @RequestBody DepartmentCostSaveReqVO updateReqVO) { | ||
| 52 | + departmentCostService.updateDepartmentCost(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @Operation(summary = "删除部门费用录入") | ||
| 58 | + @Parameter(name = "id", description = "编号", required = true) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('garden:department-cost:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteDepartmentCost(@RequestParam("id") Long id) { | ||
| 61 | + departmentCostService.deleteDepartmentCost(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @DeleteMapping("/delete-list") | ||
| 66 | + @Parameter(name = "ids", description = "编号", required = true) | ||
| 67 | + @Operation(summary = "批量删除部门费用录入") | ||
| 68 | + @PreAuthorize("@ss.hasPermission('garden:department-cost:delete')") | ||
| 69 | + public CommonResult<Boolean> deleteDepartmentCostList(@RequestParam("ids") List<Long> ids) { | ||
| 70 | + departmentCostService.deleteDepartmentCostListByIds(ids); | ||
| 71 | + return success(true); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/get") | ||
| 75 | + @Operation(summary = "获得部门费用录入") | ||
| 76 | + @Parameter(name = "id", description = "编号", required = true, example = "1024") | ||
| 77 | + @PreAuthorize("@ss.hasPermission('garden:department-cost:query')") | ||
| 78 | + public CommonResult<DepartmentCostRespVO> getDepartmentCost(@RequestParam("id") Long id) { | ||
| 79 | + DepartmentCostDO departmentCost = departmentCostService.getDepartmentCost(id); | ||
| 80 | + return success(BeanUtils.toBean(departmentCost, DepartmentCostRespVO.class)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @Operation(summary = "获得部门费用录入分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('garden:department-cost:query')") | ||
| 86 | + public CommonResult<PageResult<DepartmentCostRespVO>> getDepartmentCostPage(@Valid DepartmentCostPageReqVO pageReqVO) { | ||
| 87 | + PageResult<DepartmentCostDO> pageResult = departmentCostService.getDepartmentCostPage(pageReqVO); | ||
| 88 | + return success(BeanUtils.toBean(pageResult, DepartmentCostRespVO.class)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @Operation(summary = "导出部门费用录入 Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('garden:department-cost:export')") | ||
| 94 | + @ApiAccessLog(operateType = EXPORT) | ||
| 95 | + public void exportDepartmentCostExcel(@Valid DepartmentCostPageReqVO pageReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | ||
| 98 | + List<DepartmentCostDO> list = departmentCostService.getDepartmentCostPage(pageReqVO).getList(); | ||
| 99 | + // 导出 Excel | ||
| 100 | + ExcelUtils.write(response, "部门费用录入.xls", "数据", DepartmentCostRespVO.class, | ||
| 101 | + BeanUtils.toBean(list, DepartmentCostRespVO.class)); | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | +} | ||
| 0 | \ No newline at end of file | 105 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/departmentcost/vo/DepartmentCostPageReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.departmentcost.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import java.util.*; | ||
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 6 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 7 | +import java.math.BigDecimal; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | +import java.time.LocalDateTime; | ||
| 10 | + | ||
| 11 | +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@Schema(description = "管理后台 - 部门费用录入分页 Request VO") | ||
| 14 | +@Data | ||
| 15 | +public class DepartmentCostPageReqVO extends PageParam { | ||
| 16 | + | ||
| 17 | + @Schema(description = "工资年月(如202506)") | ||
| 18 | + private String salaryMonth; | ||
| 19 | + | ||
| 20 | + @Schema(description = "费用名称", example = "张三") | ||
| 21 | + private String expenseName; | ||
| 22 | + | ||
| 23 | + @Schema(description = "部门名称", example = "芋艿") | ||
| 24 | + private String departmentName; | ||
| 25 | + | ||
| 26 | + @Schema(description = "人员数量", example = "20926") | ||
| 27 | + private Integer personCount; | ||
| 28 | + | ||
| 29 | + @Schema(description = "部门总额") | ||
| 30 | + private BigDecimal deptTotalCost; | ||
| 31 | + | ||
| 32 | + @Schema(description = "归属公司", example = "赵六") | ||
| 33 | + private String companyName; | ||
| 34 | + | ||
| 35 | + @Schema(description = "归属公司ID", example = "7417") | ||
| 36 | + private String companyId; | ||
| 37 | + | ||
| 38 | + @Schema(description = "部门id", example = "11454") | ||
| 39 | + private Long deptId; | ||
| 40 | + | ||
| 41 | + @Schema(description = "备注", example = "你猜") | ||
| 42 | + private String remark; | ||
| 43 | + | ||
| 44 | + @Schema(description = "创建时间") | ||
| 45 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 46 | + private LocalDateTime[] createTime; | ||
| 47 | + | ||
| 48 | +} | ||
| 0 | \ No newline at end of file | 49 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/departmentcost/vo/DepartmentCostRespVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.departmentcost.vo; | ||
| 2 | + | ||
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | +import lombok.*; | ||
| 5 | +import java.util.*; | ||
| 6 | +import java.math.BigDecimal; | ||
| 7 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 8 | +import java.time.LocalDateTime; | ||
| 9 | +import cn.idev.excel.annotation.*; | ||
| 10 | + | ||
| 11 | +@Schema(description = "管理后台 - 部门费用录入 Response VO") | ||
| 12 | +@Data | ||
| 13 | +@ExcelIgnoreUnannotated | ||
| 14 | +public class DepartmentCostRespVO { | ||
| 15 | + | ||
| 16 | + @Schema(description = "记录ID,自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "10037") | ||
| 17 | + @ExcelProperty("记录ID,自增主键") | ||
| 18 | + private Long id; | ||
| 19 | + | ||
| 20 | + @Schema(description = "工资年月(如202506)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 21 | + @ExcelProperty("工资年月(如202506)") | ||
| 22 | + private String salaryMonth; | ||
| 23 | + | ||
| 24 | + @Schema(description = "费用名称", example = "张三") | ||
| 25 | + @ExcelProperty("费用名称") | ||
| 26 | + private String expenseName; | ||
| 27 | + | ||
| 28 | + @Schema(description = "部门名称", example = "芋艿") | ||
| 29 | + @ExcelProperty("部门名称") | ||
| 30 | + private String departmentName; | ||
| 31 | + | ||
| 32 | + @Schema(description = "人员数量", example = "20926") | ||
| 33 | + @ExcelProperty("人员数量") | ||
| 34 | + private Integer personCount; | ||
| 35 | + | ||
| 36 | + @Schema(description = "部门总额", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 37 | + @ExcelProperty("部门总额") | ||
| 38 | + private BigDecimal deptTotalCost; | ||
| 39 | + | ||
| 40 | + @Schema(description = "归属公司", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") | ||
| 41 | + @ExcelProperty("归属公司") | ||
| 42 | + private String companyName; | ||
| 43 | + | ||
| 44 | + @Schema(description = "归属公司ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7417") | ||
| 45 | + @ExcelProperty("归属公司ID") | ||
| 46 | + private String companyId; | ||
| 47 | + | ||
| 48 | + @Schema(description = "部门id", example = "11454") | ||
| 49 | + @ExcelProperty("部门id") | ||
| 50 | + private Long deptId; | ||
| 51 | + | ||
| 52 | + @Schema(description = "备注", example = "你猜") | ||
| 53 | + @ExcelProperty("备注") | ||
| 54 | + private String remark; | ||
| 55 | + | ||
| 56 | + @Schema(description = "创建时间") | ||
| 57 | + @ExcelProperty("创建时间") | ||
| 58 | + private LocalDateTime createTime; | ||
| 59 | + | ||
| 60 | +} | ||
| 0 | \ No newline at end of file | 61 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/departmentcost/vo/DepartmentCostSaveReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.departmentcost.vo; | ||
| 2 | + | ||
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | +import lombok.*; | ||
| 5 | +import java.util.*; | ||
| 6 | +import jakarta.validation.constraints.*; | ||
| 7 | +import java.math.BigDecimal; | ||
| 8 | + | ||
| 9 | +@Schema(description = "管理后台 - 部门费用录入新增/修改 Request VO") | ||
| 10 | +@Data | ||
| 11 | +public class DepartmentCostSaveReqVO { | ||
| 12 | + | ||
| 13 | + @Schema(description = "记录ID,自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "10037") | ||
| 14 | + private Long id; | ||
| 15 | + | ||
| 16 | + @Schema(description = "工资年月(如202506)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 17 | + @NotEmpty(message = "工资年月(如202506)不能为空") | ||
| 18 | + private String salaryMonth; | ||
| 19 | + | ||
| 20 | + @Schema(description = "费用名称", example = "张三") | ||
| 21 | + private String expenseName; | ||
| 22 | + | ||
| 23 | + @Schema(description = "部门名称", example = "芋艿") | ||
| 24 | + private String departmentName; | ||
| 25 | + | ||
| 26 | + @Schema(description = "人员数量", example = "20926") | ||
| 27 | + private Integer personCount; | ||
| 28 | + | ||
| 29 | + @Schema(description = "部门总额", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 30 | + @NotNull(message = "部门总额不能为空") | ||
| 31 | + private BigDecimal deptTotalCost; | ||
| 32 | + | ||
| 33 | + @Schema(description = "归属公司", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") | ||
| 34 | + @NotEmpty(message = "归属公司不能为空") | ||
| 35 | + private String companyName; | ||
| 36 | + | ||
| 37 | + @Schema(description = "归属公司ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7417") | ||
| 38 | + @NotEmpty(message = "归属公司ID不能为空") | ||
| 39 | + private String companyId; | ||
| 40 | + | ||
| 41 | + @Schema(description = "部门id", example = "11454") | ||
| 42 | + private Long deptId; | ||
| 43 | + | ||
| 44 | + @Schema(description = "备注", example = "你猜") | ||
| 45 | + private String remark; | ||
| 46 | + | ||
| 47 | +} | ||
| 0 | \ No newline at end of file | 48 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/mechanicalcost/MechanicalCostController.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.mechanicalcost; | ||
| 2 | + | ||
| 3 | +import com.zteits.urbanops.module.garden.controller.admin.personalcost.vo.PersonalCostRespVO; | ||
| 4 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 5 | +import com.zteits.urbanops.module.garden.enums.CostFeeConstants; | ||
| 6 | +import com.zteits.urbanops.module.garden.service.teambizdomainrel.TeamBizdomainRelService; | ||
| 7 | +import org.springframework.web.bind.annotation.*; | ||
| 8 | +import jakarta.annotation.Resource; | ||
| 9 | +import org.springframework.validation.annotation.Validated; | ||
| 10 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 11 | +import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 12 | +import io.swagger.v3.oas.annotations.Parameter; | ||
| 13 | +import io.swagger.v3.oas.annotations.Operation; | ||
| 14 | + | ||
| 15 | +import jakarta.validation.constraints.*; | ||
| 16 | +import jakarta.validation.*; | ||
| 17 | +import jakarta.servlet.http.*; | ||
| 18 | +import java.util.*; | ||
| 19 | +import java.io.IOException; | ||
| 20 | +import java.util.stream.Collectors; | ||
| 21 | + | ||
| 22 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 23 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 24 | +import com.zteits.urbanops.framework.common.pojo.CommonResult; | ||
| 25 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 26 | +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; | ||
| 27 | + | ||
| 28 | +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; | ||
| 29 | + | ||
| 30 | +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; | ||
| 31 | +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.*; | ||
| 32 | + | ||
| 33 | +import com.zteits.urbanops.module.garden.controller.admin.mechanicalcost.vo.*; | ||
| 34 | +import com.zteits.urbanops.module.garden.dal.dataobject.mechanicalcost.MechanicalCostDO; | ||
| 35 | +import com.zteits.urbanops.module.garden.service.mechanicalcost.MechanicalCostService; | ||
| 36 | + | ||
| 37 | +@Tag(name = "管理后台 - 自有机械费用录入") | ||
| 38 | +@RestController | ||
| 39 | +@RequestMapping("/garden/mechanical-cost") | ||
| 40 | +@Validated | ||
| 41 | +public class MechanicalCostController { | ||
| 42 | + | ||
| 43 | + @Resource | ||
| 44 | + private MechanicalCostService mechanicalCostService; | ||
| 45 | + | ||
| 46 | + @Resource | ||
| 47 | + TeamBizdomainRelService teamBizdomainRelService; | ||
| 48 | + | ||
| 49 | + @PostMapping("/create") | ||
| 50 | + @Operation(summary = "创建自有机械费用录入") | ||
| 51 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-cost:create')") | ||
| 52 | + public CommonResult<Long> createMechanicalCost(@Valid @RequestBody MechanicalCostSaveReqVO createReqVO) { | ||
| 53 | + return success(mechanicalCostService.createMechanicalCost(createReqVO)); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @PutMapping("/update") | ||
| 57 | + @Operation(summary = "更新自有机械费用录入") | ||
| 58 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-cost:update')") | ||
| 59 | + public CommonResult<Boolean> updateMechanicalCost(@Valid @RequestBody MechanicalCostSaveReqVO updateReqVO) { | ||
| 60 | + mechanicalCostService.updateMechanicalCost(updateReqVO); | ||
| 61 | + return success(true); | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + @DeleteMapping("/delete") | ||
| 65 | + @Operation(summary = "删除自有机械费用录入") | ||
| 66 | + @Parameter(name = "id", description = "编号", required = true) | ||
| 67 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-cost:delete')") | ||
| 68 | + public CommonResult<Boolean> deleteMechanicalCost(@RequestParam("id") Long id) { | ||
| 69 | + mechanicalCostService.deleteMechanicalCost(id); | ||
| 70 | + return success(true); | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + @DeleteMapping("/delete-list") | ||
| 74 | + @Parameter(name = "ids", description = "编号", required = true) | ||
| 75 | + @Operation(summary = "批量删除自有机械费用录入") | ||
| 76 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-cost:delete')") | ||
| 77 | + public CommonResult<Boolean> deleteMechanicalCostList(@RequestParam("ids") List<Long> ids) { | ||
| 78 | + mechanicalCostService.deleteMechanicalCostListByIds(ids); | ||
| 79 | + return success(true); | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + @GetMapping("/get") | ||
| 83 | + @Operation(summary = "获得自有机械费用录入") | ||
| 84 | + @Parameter(name = "id", description = "编号", required = true, example = "1024") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-cost:query')") | ||
| 86 | + public CommonResult<MechanicalCostRespVO> getMechanicalCost(@RequestParam("id") Long id) { | ||
| 87 | + MechanicalCostDO mechanicalCost = mechanicalCostService.getMechanicalCost(id); | ||
| 88 | + | ||
| 89 | + //add by wq 20251119 前端返回集合 | ||
| 90 | + MechanicalCostRespVO mechanicalCostRespVO = null; | ||
| 91 | + if (mechanicalCost != null) { | ||
| 92 | + mechanicalCostRespVO = BeanUtils.toBean(mechanicalCost, MechanicalCostRespVO.class); | ||
| 93 | + | ||
| 94 | + List<TeamBizdomainRelDO> teamBizdomainRelList = teamBizdomainRelService.getTeamBizdomainRelList(mechanicalCost.getId(), CostFeeConstants.COSTFEE_MECHANICAL); | ||
| 95 | + mechanicalCostRespVO.setTeamIds(teamBizdomainRelList); | ||
| 96 | + // 提取团队ID列表(使用Stream简化循环) | ||
| 97 | + List<String> teamIdList = teamBizdomainRelList.stream() | ||
| 98 | + .map(TeamBizdomainRelDO::getTeamId) // 提取teamId | ||
| 99 | + .filter(Objects::nonNull) // 过滤null值(可选,根据业务需要) | ||
| 100 | + .collect(Collectors.toList()); | ||
| 101 | + mechanicalCostRespVO.setTeamIdList(teamIdList); | ||
| 102 | + } | ||
| 103 | + //add by wq 20251119 前端返回集合 | ||
| 104 | + return success(mechanicalCostRespVO); | ||
| 105 | + } | ||
| 106 | + | ||
| 107 | + @GetMapping("/page") | ||
| 108 | + @Operation(summary = "获得自有机械费用录入分页") | ||
| 109 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-cost:query')") | ||
| 110 | + public CommonResult<PageResult<MechanicalCostRespVO>> getMechanicalCostPage(@Valid MechanicalCostPageReqVO pageReqVO) { | ||
| 111 | + PageResult<MechanicalCostDO> pageResult = mechanicalCostService.getMechanicalCostPage(pageReqVO); | ||
| 112 | + return success(BeanUtils.toBean(pageResult, MechanicalCostRespVO.class)); | ||
| 113 | + } | ||
| 114 | + | ||
| 115 | + @GetMapping("/export-excel") | ||
| 116 | + @Operation(summary = "导出自有机械费用录入 Excel") | ||
| 117 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-cost:export')") | ||
| 118 | + @ApiAccessLog(operateType = EXPORT) | ||
| 119 | + public void exportMechanicalCostExcel(@Valid MechanicalCostPageReqVO pageReqVO, | ||
| 120 | + HttpServletResponse response) throws IOException { | ||
| 121 | + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | ||
| 122 | + List<MechanicalCostDO> list = mechanicalCostService.getMechanicalCostPage(pageReqVO).getList(); | ||
| 123 | + // 导出 Excel | ||
| 124 | + ExcelUtils.write(response, "自有机械费用录入.xls", "数据", MechanicalCostRespVO.class, | ||
| 125 | + BeanUtils.toBean(list, MechanicalCostRespVO.class)); | ||
| 126 | + } | ||
| 127 | + | ||
| 128 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/mechanicalcost/vo/MechanicalCostPageReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.mechanicalcost.vo; | ||
| 2 | + | ||
| 3 | +import cn.idev.excel.annotation.ExcelProperty; | ||
| 4 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 5 | +import lombok.*; | ||
| 6 | + | ||
| 7 | +import java.time.LocalDate; | ||
| 8 | +import java.util.*; | ||
| 9 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 10 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 11 | +import java.math.BigDecimal; | ||
| 12 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 13 | +import java.time.LocalDateTime; | ||
| 14 | + | ||
| 15 | +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 16 | + | ||
| 17 | +@Schema(description = "管理后台 - 自有机械费用录入分页 Request VO") | ||
| 18 | +@Data | ||
| 19 | +public class MechanicalCostPageReqVO extends PageParam { | ||
| 20 | + | ||
| 21 | + @Schema(description = "机械类型", example = "1") | ||
| 22 | + private String mechType; | ||
| 23 | + | ||
| 24 | + @Schema(description = "机械编号") | ||
| 25 | + private String mechCode; | ||
| 26 | + | ||
| 27 | + @Schema(description = "机械名称", example = "王五") | ||
| 28 | + private String mechName; | ||
| 29 | + | ||
| 30 | + @Schema(description = "机械类别(如工具类)") | ||
| 31 | + private String mechCategory; | ||
| 32 | + | ||
| 33 | + @Schema(description = "单价", example = "3767") | ||
| 34 | + private BigDecimal unitPrice; | ||
| 35 | + | ||
| 36 | + @Schema(description = "数量") | ||
| 37 | + private Integer quantity; | ||
| 38 | + | ||
| 39 | + @Schema(description = "车牌号") | ||
| 40 | + private String licensePlate; | ||
| 41 | + | ||
| 42 | + @Schema(description = "车辆类别(如汽油、纯电新能源等)") | ||
| 43 | + private String vehicleCategory; | ||
| 44 | + | ||
| 45 | + @Schema(description = "车辆类型(如大型客车、轻型栏板货车等)", example = "2") | ||
| 46 | + private String vehicleType; | ||
| 47 | + | ||
| 48 | + @Schema(description = "开始使用时间") | ||
| 49 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 50 | + private LocalDate[] startUseTime; | ||
| 51 | + | ||
| 52 | + @Schema(description = "使用年限") | ||
| 53 | + private Long serviceLife; | ||
| 54 | + | ||
| 55 | + @Schema(description = "结束使用时间") | ||
| 56 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 57 | + private LocalDate[] endUseTime; | ||
| 58 | + | ||
| 59 | + @Schema(description = "归属公司", example = "张三") | ||
| 60 | + private String companyName; | ||
| 61 | + | ||
| 62 | + @Schema(description = "归属公司ID", example = "5463") | ||
| 63 | + private String companyId; | ||
| 64 | + | ||
| 65 | + @Schema(description = "部门id", example = "13645") | ||
| 66 | + private Long deptId; | ||
| 67 | + | ||
| 68 | + @Schema(description = "备注", example = "随便") | ||
| 69 | + private String remark; | ||
| 70 | + | ||
| 71 | + @Schema(description = "创建时间") | ||
| 72 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 73 | + private LocalDateTime[] createTime; | ||
| 74 | + | ||
| 75 | + @ExcelProperty("班组") | ||
| 76 | + private List<TeamBizdomainRelDO> teamIds; | ||
| 77 | + | ||
| 78 | + private List teamIdList; | ||
| 79 | + | ||
| 80 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/mechanicalcost/vo/MechanicalCostRespVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.mechanicalcost.vo; | ||
| 2 | + | ||
| 3 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 4 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 5 | +import lombok.*; | ||
| 6 | + | ||
| 7 | +import java.time.LocalDate; | ||
| 8 | +import java.util.*; | ||
| 9 | +import java.math.BigDecimal; | ||
| 10 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 11 | +import java.time.LocalDateTime; | ||
| 12 | +import cn.idev.excel.annotation.*; | ||
| 13 | + | ||
| 14 | +@Schema(description = "管理后台 - 自有机械费用录入 Response VO") | ||
| 15 | +@Data | ||
| 16 | +@ExcelIgnoreUnannotated | ||
| 17 | +public class MechanicalCostRespVO { | ||
| 18 | + | ||
| 19 | + @Schema(description = "记录ID,自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "20133") | ||
| 20 | + @ExcelProperty("记录ID,自增主键") | ||
| 21 | + private Long id; | ||
| 22 | + | ||
| 23 | + @Schema(description = "机械类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||
| 24 | + @ExcelProperty("机械类型") | ||
| 25 | + private String mechType; | ||
| 26 | + | ||
| 27 | + @Schema(description = "机械编号", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 28 | + @ExcelProperty("机械编号") | ||
| 29 | + private String mechCode; | ||
| 30 | + | ||
| 31 | + @Schema(description = "机械名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") | ||
| 32 | + @ExcelProperty("机械名称") | ||
| 33 | + private String mechName; | ||
| 34 | + | ||
| 35 | + @Schema(description = "机械类别(如工具类)") | ||
| 36 | + @ExcelProperty("机械类别(如工具类)") | ||
| 37 | + private String mechCategory; | ||
| 38 | + | ||
| 39 | + @Schema(description = "单价", requiredMode = Schema.RequiredMode.REQUIRED, example = "3767") | ||
| 40 | + @ExcelProperty("单价") | ||
| 41 | + private BigDecimal unitPrice; | ||
| 42 | + | ||
| 43 | + @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 44 | + @ExcelProperty("数量") | ||
| 45 | + private Integer quantity; | ||
| 46 | + | ||
| 47 | + @Schema(description = "车牌号") | ||
| 48 | + @ExcelProperty("车牌号") | ||
| 49 | + private String licensePlate; | ||
| 50 | + | ||
| 51 | + @Schema(description = "车辆类别(如汽油、纯电新能源等)") | ||
| 52 | + @ExcelProperty("车辆类别(如汽油、纯电新能源等)") | ||
| 53 | + private String vehicleCategory; | ||
| 54 | + | ||
| 55 | + @Schema(description = "车辆类型(如大型客车、轻型栏板货车等)", example = "2") | ||
| 56 | + @ExcelProperty("车辆类型(如大型客车、轻型栏板货车等)") | ||
| 57 | + private String vehicleType; | ||
| 58 | + | ||
| 59 | + @Schema(description = "开始使用时间", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 60 | + @ExcelProperty("开始使用时间") | ||
| 61 | + private LocalDate startUseTime; | ||
| 62 | + | ||
| 63 | + @Schema(description = "使用年限") | ||
| 64 | + @ExcelProperty("使用年限") | ||
| 65 | + private Long serviceLife; | ||
| 66 | + | ||
| 67 | + @Schema(description = "结束使用时间") | ||
| 68 | + @ExcelProperty("结束使用时间") | ||
| 69 | + private LocalDate endUseTime; | ||
| 70 | + | ||
| 71 | + @Schema(description = "归属公司", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") | ||
| 72 | + @ExcelProperty("归属公司") | ||
| 73 | + private String companyName; | ||
| 74 | + | ||
| 75 | + @Schema(description = "归属公司ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5463") | ||
| 76 | + @ExcelProperty("归属公司ID") | ||
| 77 | + private String companyId; | ||
| 78 | + | ||
| 79 | + @Schema(description = "部门id", example = "13645") | ||
| 80 | + @ExcelProperty("部门id") | ||
| 81 | + private Long deptId; | ||
| 82 | + | ||
| 83 | + @Schema(description = "备注", example = "随便") | ||
| 84 | + @ExcelProperty("备注") | ||
| 85 | + private String remark; | ||
| 86 | + | ||
| 87 | + @Schema(description = "创建时间") | ||
| 88 | + @ExcelProperty("创建时间") | ||
| 89 | + private LocalDateTime createTime; | ||
| 90 | + | ||
| 91 | + @ExcelProperty("班组") | ||
| 92 | + private List<TeamBizdomainRelDO> teamIds; | ||
| 93 | + | ||
| 94 | + private List teamIdList; | ||
| 95 | + | ||
| 96 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/mechanicalcost/vo/MechanicalCostSaveReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.mechanicalcost.vo; | ||
| 2 | + | ||
| 3 | +import cn.idev.excel.annotation.ExcelProperty; | ||
| 4 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 6 | +import lombok.*; | ||
| 7 | + | ||
| 8 | +import java.time.LocalDate; | ||
| 9 | +import java.util.*; | ||
| 10 | +import jakarta.validation.constraints.*; | ||
| 11 | +import java.math.BigDecimal; | ||
| 12 | + | ||
| 13 | +@Schema(description = "管理后台 - 自有机械费用录入新增/修改 Request VO") | ||
| 14 | +@Data | ||
| 15 | +public class MechanicalCostSaveReqVO { | ||
| 16 | + | ||
| 17 | + @Schema(description = "记录ID,自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "20133") | ||
| 18 | + private Long id; | ||
| 19 | + | ||
| 20 | + @Schema(description = "机械类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | ||
| 21 | + @NotEmpty(message = "机械类型不能为空") | ||
| 22 | + private String mechType; | ||
| 23 | + | ||
| 24 | + @Schema(description = "机械编号", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 25 | + @NotEmpty(message = "机械编号不能为空") | ||
| 26 | + private String mechCode; | ||
| 27 | + | ||
| 28 | + @Schema(description = "机械名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") | ||
| 29 | + @NotEmpty(message = "机械名称不能为空") | ||
| 30 | + private String mechName; | ||
| 31 | + | ||
| 32 | + @Schema(description = "机械类别(如工具类)") | ||
| 33 | + private String mechCategory; | ||
| 34 | + | ||
| 35 | + @Schema(description = "单价", requiredMode = Schema.RequiredMode.REQUIRED, example = "3767") | ||
| 36 | + @NotNull(message = "单价不能为空") | ||
| 37 | + private BigDecimal unitPrice; | ||
| 38 | + | ||
| 39 | + @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 40 | + @NotNull(message = "数量不能为空") | ||
| 41 | + private Integer quantity; | ||
| 42 | + | ||
| 43 | + @Schema(description = "车牌号") | ||
| 44 | + private String licensePlate; | ||
| 45 | + | ||
| 46 | + @Schema(description = "车辆类别(如汽油、纯电新能源等)") | ||
| 47 | + private String vehicleCategory; | ||
| 48 | + | ||
| 49 | + @Schema(description = "车辆类型(如大型客车、轻型栏板货车等)", example = "2") | ||
| 50 | + private String vehicleType; | ||
| 51 | + | ||
| 52 | + @Schema(description = "开始使用时间", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 53 | + @NotNull(message = "开始使用时间不能为空") | ||
| 54 | + private LocalDate startUseTime; | ||
| 55 | + | ||
| 56 | + @Schema(description = "使用年限") | ||
| 57 | + private Long serviceLife; | ||
| 58 | + | ||
| 59 | + @Schema(description = "结束使用时间") | ||
| 60 | + private LocalDate endUseTime; | ||
| 61 | + | ||
| 62 | + @Schema(description = "归属公司", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") | ||
| 63 | + @NotEmpty(message = "归属公司不能为空") | ||
| 64 | + private String companyName; | ||
| 65 | + | ||
| 66 | + @Schema(description = "归属公司ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "5463") | ||
| 67 | + @NotEmpty(message = "归属公司ID不能为空") | ||
| 68 | + private String companyId; | ||
| 69 | + | ||
| 70 | + @Schema(description = "部门id", example = "13645") | ||
| 71 | + private Long deptId; | ||
| 72 | + | ||
| 73 | + @Schema(description = "备注", example = "随便") | ||
| 74 | + private String remark; | ||
| 75 | + | ||
| 76 | + @ExcelProperty("班组") | ||
| 77 | + private List<TeamBizdomainRelDO> teamIds; | ||
| 78 | + | ||
| 79 | + private List teamIdList; | ||
| 80 | + | ||
| 81 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/mechanicaldepreciation/MechanicalDepreciationController.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.mechanicaldepreciation; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | +import jakarta.annotation.Resource; | ||
| 5 | +import org.springframework.validation.annotation.Validated; | ||
| 6 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 7 | +import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 8 | +import io.swagger.v3.oas.annotations.Parameter; | ||
| 9 | +import io.swagger.v3.oas.annotations.Operation; | ||
| 10 | + | ||
| 11 | +import jakarta.validation.constraints.*; | ||
| 12 | +import jakarta.validation.*; | ||
| 13 | +import jakarta.servlet.http.*; | ||
| 14 | +import java.util.*; | ||
| 15 | +import java.io.IOException; | ||
| 16 | + | ||
| 17 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 18 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 19 | +import com.zteits.urbanops.framework.common.pojo.CommonResult; | ||
| 20 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 21 | +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; | ||
| 22 | + | ||
| 23 | +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; | ||
| 24 | + | ||
| 25 | +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; | ||
| 26 | +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.*; | ||
| 27 | + | ||
| 28 | +import com.zteits.urbanops.module.garden.controller.admin.mechanicaldepreciation.vo.*; | ||
| 29 | +import com.zteits.urbanops.module.garden.dal.dataobject.mechanicaldepreciation.MechanicalDepreciationDO; | ||
| 30 | +import com.zteits.urbanops.module.garden.service.mechanicaldepreciation.MechanicalDepreciationService; | ||
| 31 | + | ||
| 32 | +@Tag(name = "管理后台 - 自有机械折旧子") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/garden/mechanical-depreciation") | ||
| 35 | +@Validated | ||
| 36 | +public class MechanicalDepreciationController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private MechanicalDepreciationService mechanicalDepreciationService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @Operation(summary = "创建自有机械折旧子") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-depreciation:create')") | ||
| 44 | + public CommonResult<Long> createMechanicalDepreciation(@Valid @RequestBody MechanicalDepreciationSaveReqVO createReqVO) { | ||
| 45 | + return success(mechanicalDepreciationService.createMechanicalDepreciation(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @Operation(summary = "更新自有机械折旧子") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-depreciation:update')") | ||
| 51 | + public CommonResult<Boolean> updateMechanicalDepreciation(@Valid @RequestBody MechanicalDepreciationSaveReqVO updateReqVO) { | ||
| 52 | + mechanicalDepreciationService.updateMechanicalDepreciation(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @Operation(summary = "删除自有机械折旧子") | ||
| 58 | + @Parameter(name = "id", description = "编号", required = true) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-depreciation:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteMechanicalDepreciation(@RequestParam("id") Long id) { | ||
| 61 | + mechanicalDepreciationService.deleteMechanicalDepreciation(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @DeleteMapping("/delete-list") | ||
| 66 | + @Parameter(name = "ids", description = "编号", required = true) | ||
| 67 | + @Operation(summary = "批量删除自有机械折旧子") | ||
| 68 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-depreciation:delete')") | ||
| 69 | + public CommonResult<Boolean> deleteMechanicalDepreciationList(@RequestParam("ids") List<Long> ids) { | ||
| 70 | + mechanicalDepreciationService.deleteMechanicalDepreciationListByIds(ids); | ||
| 71 | + return success(true); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/get") | ||
| 75 | + @Operation(summary = "获得自有机械折旧子") | ||
| 76 | + @Parameter(name = "id", description = "编号", required = true, example = "1024") | ||
| 77 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-depreciation:query')") | ||
| 78 | + public CommonResult<MechanicalDepreciationRespVO> getMechanicalDepreciation(@RequestParam("id") Long id) { | ||
| 79 | + MechanicalDepreciationDO mechanicalDepreciation = mechanicalDepreciationService.getMechanicalDepreciation(id); | ||
| 80 | + return success(BeanUtils.toBean(mechanicalDepreciation, MechanicalDepreciationRespVO.class)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @Operation(summary = "获得自有机械折旧子分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-depreciation:query')") | ||
| 86 | + public CommonResult<PageResult<MechanicalDepreciationRespVO>> getMechanicalDepreciationPage(@Valid MechanicalDepreciationPageReqVO pageReqVO) { | ||
| 87 | + PageResult<MechanicalDepreciationDO> pageResult = mechanicalDepreciationService.getMechanicalDepreciationPage(pageReqVO); | ||
| 88 | + return success(BeanUtils.toBean(pageResult, MechanicalDepreciationRespVO.class)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @Operation(summary = "导出自有机械折旧子 Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('garden:mechanical-depreciation:export')") | ||
| 94 | + @ApiAccessLog(operateType = EXPORT) | ||
| 95 | + public void exportMechanicalDepreciationExcel(@Valid MechanicalDepreciationPageReqVO pageReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | ||
| 98 | + List<MechanicalDepreciationDO> list = mechanicalDepreciationService.getMechanicalDepreciationPage(pageReqVO).getList(); | ||
| 99 | + // 导出 Excel | ||
| 100 | + ExcelUtils.write(response, "自有机械折旧子.xls", "数据", MechanicalDepreciationRespVO.class, | ||
| 101 | + BeanUtils.toBean(list, MechanicalDepreciationRespVO.class)); | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | +} | ||
| 0 | \ No newline at end of file | 105 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/mechanicaldepreciation/vo/MechanicalDepreciationPageReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.mechanicaldepreciation.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import java.util.*; | ||
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 6 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 7 | +import java.math.BigDecimal; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | +import java.time.LocalDateTime; | ||
| 10 | + | ||
| 11 | +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@Schema(description = "管理后台 - 自有机械折旧子分页 Request VO") | ||
| 14 | +@Data | ||
| 15 | +public class MechanicalDepreciationPageReqVO extends PageParam { | ||
| 16 | + | ||
| 17 | + @Schema(description = "关联的机械ID(对应td_mechanical_cost的id)", example = "27435") | ||
| 18 | + private Long mechId; | ||
| 19 | + | ||
| 20 | + @Schema(description = "折旧期间(格式:YYYY-MM)") | ||
| 21 | + private String depreciationPeriod; | ||
| 22 | + | ||
| 23 | + @Schema(description = "原值") | ||
| 24 | + private BigDecimal originalValue; | ||
| 25 | + | ||
| 26 | + @Schema(description = "预估净值(原值-预估净值=需要折旧总额)") | ||
| 27 | + private BigDecimal netValue; | ||
| 28 | + | ||
| 29 | + @Schema(description = "本期折旧额") | ||
| 30 | + private BigDecimal depreciationAmount; | ||
| 31 | + | ||
| 32 | + @Schema(description = "累计折旧") | ||
| 33 | + private BigDecimal accumulatedDepreciation; | ||
| 34 | + | ||
| 35 | + @Schema(description = "折旧方法(如直线法)") | ||
| 36 | + private String depreciationMethod; | ||
| 37 | + | ||
| 38 | + @Schema(description = "残值率(%)") | ||
| 39 | + private BigDecimal residualRate; | ||
| 40 | + | ||
| 41 | + @Schema(description = "使用年限") | ||
| 42 | + private Integer serviceLife; | ||
| 43 | + | ||
| 44 | + @Schema(description = "剩余折旧期数") | ||
| 45 | + private Integer remainingPeriods; | ||
| 46 | + | ||
| 47 | + @Schema(description = "备注", example = "你猜") | ||
| 48 | + private String remark; | ||
| 49 | + | ||
| 50 | + @Schema(description = "创建时间") | ||
| 51 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 52 | + private LocalDateTime[] createTime; | ||
| 53 | + | ||
| 54 | +} | ||
| 0 | \ No newline at end of file | 55 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/mechanicaldepreciation/vo/MechanicalDepreciationRespVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.mechanicaldepreciation.vo; | ||
| 2 | + | ||
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | +import lombok.*; | ||
| 5 | +import java.util.*; | ||
| 6 | +import java.math.BigDecimal; | ||
| 7 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 8 | +import java.time.LocalDateTime; | ||
| 9 | +import cn.idev.excel.annotation.*; | ||
| 10 | + | ||
| 11 | +@Schema(description = "管理后台 - 自有机械折旧子 Response VO") | ||
| 12 | +@Data | ||
| 13 | +@ExcelIgnoreUnannotated | ||
| 14 | +public class MechanicalDepreciationRespVO { | ||
| 15 | + | ||
| 16 | + @Schema(description = "折旧记录ID,自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "8218") | ||
| 17 | + @ExcelProperty("折旧记录ID,自增主键") | ||
| 18 | + private Long id; | ||
| 19 | + | ||
| 20 | + @Schema(description = "关联的机械ID(对应td_mechanical_cost的id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "27435") | ||
| 21 | + @ExcelProperty("关联的机械ID(对应td_mechanical_cost的id)") | ||
| 22 | + private Long mechId; | ||
| 23 | + | ||
| 24 | + @Schema(description = "折旧期间(格式:YYYY-MM)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 25 | + @ExcelProperty("折旧期间(格式:YYYY-MM)") | ||
| 26 | + private String depreciationPeriod; | ||
| 27 | + | ||
| 28 | + @Schema(description = "原值", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 29 | + @ExcelProperty("原值") | ||
| 30 | + private BigDecimal originalValue; | ||
| 31 | + | ||
| 32 | + @Schema(description = "预估净值(原值-预估净值=需要折旧总额)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 33 | + @ExcelProperty("预估净值(原值-预估净值=需要折旧总额)") | ||
| 34 | + private BigDecimal netValue; | ||
| 35 | + | ||
| 36 | + @Schema(description = "本期折旧额", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 37 | + @ExcelProperty("本期折旧额") | ||
| 38 | + private BigDecimal depreciationAmount; | ||
| 39 | + | ||
| 40 | + @Schema(description = "累计折旧", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 41 | + @ExcelProperty("累计折旧") | ||
| 42 | + private BigDecimal accumulatedDepreciation; | ||
| 43 | + | ||
| 44 | + @Schema(description = "折旧方法(如直线法)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 45 | + @ExcelProperty("折旧方法(如直线法)") | ||
| 46 | + private String depreciationMethod; | ||
| 47 | + | ||
| 48 | + @Schema(description = "残值率(%)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 49 | + @ExcelProperty("残值率(%)") | ||
| 50 | + private BigDecimal residualRate; | ||
| 51 | + | ||
| 52 | + @Schema(description = "使用年限", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 53 | + @ExcelProperty("使用年限") | ||
| 54 | + private Integer serviceLife; | ||
| 55 | + | ||
| 56 | + @Schema(description = "剩余折旧期数", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 57 | + @ExcelProperty("剩余折旧期数") | ||
| 58 | + private Integer remainingPeriods; | ||
| 59 | + | ||
| 60 | + @Schema(description = "备注", example = "你猜") | ||
| 61 | + @ExcelProperty("备注") | ||
| 62 | + private String remark; | ||
| 63 | + | ||
| 64 | + @Schema(description = "创建时间") | ||
| 65 | + @ExcelProperty("创建时间") | ||
| 66 | + private LocalDateTime createTime; | ||
| 67 | + | ||
| 68 | +} | ||
| 0 | \ No newline at end of file | 69 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/mechanicaldepreciation/vo/MechanicalDepreciationSaveReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.mechanicaldepreciation.vo; | ||
| 2 | + | ||
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | +import lombok.*; | ||
| 5 | +import java.util.*; | ||
| 6 | +import jakarta.validation.constraints.*; | ||
| 7 | +import java.math.BigDecimal; | ||
| 8 | + | ||
| 9 | +@Schema(description = "管理后台 - 自有机械折旧子新增/修改 Request VO") | ||
| 10 | +@Data | ||
| 11 | +public class MechanicalDepreciationSaveReqVO { | ||
| 12 | + | ||
| 13 | + @Schema(description = "折旧记录ID,自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "8218") | ||
| 14 | + private Long id; | ||
| 15 | + | ||
| 16 | + @Schema(description = "关联的机械ID(对应td_mechanical_cost的id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "27435") | ||
| 17 | + @NotNull(message = "关联的机械ID(对应td_mechanical_cost的id)不能为空") | ||
| 18 | + private Long mechId; | ||
| 19 | + | ||
| 20 | + @Schema(description = "折旧期间(格式:YYYY-MM)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 21 | + @NotEmpty(message = "折旧期间(格式:YYYY-MM)不能为空") | ||
| 22 | + private String depreciationPeriod; | ||
| 23 | + | ||
| 24 | + @Schema(description = "原值", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 25 | + @NotNull(message = "原值不能为空") | ||
| 26 | + private BigDecimal originalValue; | ||
| 27 | + | ||
| 28 | + @Schema(description = "预估净值(原值-预估净值=需要折旧总额)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 29 | + @NotNull(message = "预估净值(原值-预估净值=需要折旧总额)不能为空") | ||
| 30 | + private BigDecimal netValue; | ||
| 31 | + | ||
| 32 | + @Schema(description = "本期折旧额", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 33 | + @NotNull(message = "本期折旧额不能为空") | ||
| 34 | + private BigDecimal depreciationAmount; | ||
| 35 | + | ||
| 36 | + @Schema(description = "累计折旧", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 37 | + @NotNull(message = "累计折旧不能为空") | ||
| 38 | + private BigDecimal accumulatedDepreciation; | ||
| 39 | + | ||
| 40 | + @Schema(description = "折旧方法(如直线法)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 41 | + @NotEmpty(message = "折旧方法(如直线法)不能为空") | ||
| 42 | + private String depreciationMethod; | ||
| 43 | + | ||
| 44 | + @Schema(description = "残值率(%)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 45 | + @NotNull(message = "残值率(%)不能为空") | ||
| 46 | + private BigDecimal residualRate; | ||
| 47 | + | ||
| 48 | + @Schema(description = "使用年限", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 49 | + @NotNull(message = "使用年限不能为空") | ||
| 50 | + private Integer serviceLife; | ||
| 51 | + | ||
| 52 | + @Schema(description = "剩余折旧期数", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 53 | + @NotNull(message = "剩余折旧期数不能为空") | ||
| 54 | + private Integer remainingPeriods; | ||
| 55 | + | ||
| 56 | + @Schema(description = "备注", example = "你猜") | ||
| 57 | + private String remark; | ||
| 58 | + | ||
| 59 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/personalcost/PersonalCostController.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.personalcost; | ||
| 2 | + | ||
| 3 | +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; | ||
| 4 | +import com.zteits.urbanops.framework.common.pojo.CommonResult; | ||
| 5 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 6 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 7 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 8 | +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; | ||
| 9 | +import com.zteits.urbanops.module.garden.controller.admin.personalcost.vo.PersonalCostPageReqVO; | ||
| 10 | +import com.zteits.urbanops.module.garden.controller.admin.personalcost.vo.PersonalCostRespVO; | ||
| 11 | +import com.zteits.urbanops.module.garden.controller.admin.personalcost.vo.PersonalCostSaveReqVO; | ||
| 12 | +import com.zteits.urbanops.module.garden.dal.dataobject.personalcost.PersonalCostDO; | ||
| 13 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 14 | +import com.zteits.urbanops.module.garden.enums.CostFeeConstants; | ||
| 15 | +import com.zteits.urbanops.module.garden.service.personalcost.PersonalCostService; | ||
| 16 | +import com.zteits.urbanops.module.garden.service.teambizdomainrel.TeamBizdomainRelService; | ||
| 17 | +import io.swagger.v3.oas.annotations.Operation; | ||
| 18 | +import io.swagger.v3.oas.annotations.Parameter; | ||
| 19 | +import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 20 | +import jakarta.annotation.Resource; | ||
| 21 | +import jakarta.servlet.http.HttpServletResponse; | ||
| 22 | +import jakarta.validation.Valid; | ||
| 23 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 24 | +import org.springframework.validation.annotation.Validated; | ||
| 25 | +import org.springframework.web.bind.annotation.*; | ||
| 26 | + | ||
| 27 | +import java.io.IOException; | ||
| 28 | +import java.util.List; | ||
| 29 | +import java.util.Objects; | ||
| 30 | +import java.util.stream.Collectors; | ||
| 31 | + | ||
| 32 | +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.EXPORT; | ||
| 33 | +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; | ||
| 34 | + | ||
| 35 | +@Tag(name = "管理后台 - 人员费用录入 - 个人费用") | ||
| 36 | +@RestController | ||
| 37 | +@RequestMapping("/garden/personal-cost") | ||
| 38 | +@Validated | ||
| 39 | +public class PersonalCostController { | ||
| 40 | + | ||
| 41 | + @Resource | ||
| 42 | + private PersonalCostService personalCostService; | ||
| 43 | + @Resource | ||
| 44 | + TeamBizdomainRelService teamBizdomainRelService; | ||
| 45 | + | ||
| 46 | + @PostMapping("/create") | ||
| 47 | + @Operation(summary = "创建人员费用录入 - 个人费用") | ||
| 48 | + @PreAuthorize("@ss.hasPermission('garden:personal-cost:create')") | ||
| 49 | + public CommonResult<Long> createPersonalCost(@Valid @RequestBody PersonalCostSaveReqVO createReqVO) { | ||
| 50 | + return success(personalCostService.createPersonalCost(createReqVO)); | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + @PutMapping("/update") | ||
| 54 | + @Operation(summary = "更新人员费用录入 - 个人费用") | ||
| 55 | + @PreAuthorize("@ss.hasPermission('garden:personal-cost:update')") | ||
| 56 | + public CommonResult<Boolean> updatePersonalCost(@Valid @RequestBody PersonalCostSaveReqVO updateReqVO) { | ||
| 57 | + personalCostService.updatePersonalCost(updateReqVO); | ||
| 58 | + return success(true); | ||
| 59 | + } | ||
| 60 | + | ||
| 61 | + @DeleteMapping("/delete") | ||
| 62 | + @Operation(summary = "删除人员费用录入 - 个人费用") | ||
| 63 | + @Parameter(name = "id", description = "编号", required = true) | ||
| 64 | + @PreAuthorize("@ss.hasPermission('garden:personal-cost:delete')") | ||
| 65 | + public CommonResult<Boolean> deletePersonalCost(@RequestParam("id") Long id) { | ||
| 66 | + personalCostService.deletePersonalCost(id); | ||
| 67 | + return success(true); | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + @DeleteMapping("/delete-list") | ||
| 71 | + @Parameter(name = "ids", description = "编号", required = true) | ||
| 72 | + @Operation(summary = "批量删除人员费用录入 - 个人费用") | ||
| 73 | + @PreAuthorize("@ss.hasPermission('garden:personal-cost:delete')") | ||
| 74 | + public CommonResult<Boolean> deletePersonalCostList(@RequestParam("ids") List<Long> ids) { | ||
| 75 | + personalCostService.deletePersonalCostListByIds(ids); | ||
| 76 | + return success(true); | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | + @GetMapping("/get") | ||
| 80 | + @Operation(summary = "获得人员费用录入 - 个人费用") | ||
| 81 | + @Parameter(name = "id", description = "编号", required = true, example = "1024") | ||
| 82 | + @PreAuthorize("@ss.hasPermission('garden:personal-cost:query')") | ||
| 83 | + public CommonResult<PersonalCostRespVO> getPersonalCost(@RequestParam("id") Long id) { | ||
| 84 | + PersonalCostDO personalCost = personalCostService.getPersonalCost(id); | ||
| 85 | + //add by wq 20251119 前端返回集合 | ||
| 86 | + PersonalCostRespVO personalCostRespVO = null; | ||
| 87 | + if (personalCost != null) { | ||
| 88 | + personalCostRespVO = BeanUtils.toBean(personalCost, PersonalCostRespVO.class); | ||
| 89 | + | ||
| 90 | + List<TeamBizdomainRelDO> teamBizdomainRelList = teamBizdomainRelService.getTeamBizdomainRelList(personalCost.getId(), CostFeeConstants.COSTFEE_PERSONAL); | ||
| 91 | + personalCostRespVO.setTeamIds(teamBizdomainRelList); | ||
| 92 | + // 提取团队ID列表(使用Stream简化循环) | ||
| 93 | + List<String> teamIdList = teamBizdomainRelList.stream() | ||
| 94 | + .map(TeamBizdomainRelDO::getTeamId) // 提取teamId | ||
| 95 | + .filter(Objects::nonNull) // 过滤null值(可选,根据业务需要) | ||
| 96 | + .collect(Collectors.toList()); | ||
| 97 | + personalCostRespVO.setTeamIdList(teamIdList); | ||
| 98 | + } | ||
| 99 | + //add by wq 20251119 前端返回集合 | ||
| 100 | + return success(personalCostRespVO); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | + @GetMapping("/page") | ||
| 104 | + @Operation(summary = "获得人员费用录入 - 个人费用分页") | ||
| 105 | + @PreAuthorize("@ss.hasPermission('garden:personal-cost:query')") | ||
| 106 | + public CommonResult<PageResult<PersonalCostRespVO>> getPersonalCostPage(@Valid PersonalCostPageReqVO pageReqVO) { | ||
| 107 | + PageResult<PersonalCostDO> pageResult = personalCostService.getPersonalCostPage(pageReqVO); | ||
| 108 | + return success(BeanUtils.toBean(pageResult, PersonalCostRespVO.class)); | ||
| 109 | + } | ||
| 110 | + | ||
| 111 | + @GetMapping("/export-excel") | ||
| 112 | + @Operation(summary = "导出人员费用录入 - 个人费用 Excel") | ||
| 113 | + @PreAuthorize("@ss.hasPermission('garden:personal-cost:export')") | ||
| 114 | + @ApiAccessLog(operateType = EXPORT) | ||
| 115 | + public void exportPersonalCostExcel(@Valid PersonalCostPageReqVO pageReqVO, | ||
| 116 | + HttpServletResponse response) throws IOException { | ||
| 117 | + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | ||
| 118 | + List<PersonalCostDO> list = personalCostService.getPersonalCostPage(pageReqVO).getList(); | ||
| 119 | + // 导出 Excel | ||
| 120 | + ExcelUtils.write(response, "人员费用录入 - 个人费用.xls", "数据", PersonalCostRespVO.class, | ||
| 121 | + BeanUtils.toBean(list, PersonalCostRespVO.class)); | ||
| 122 | + } | ||
| 123 | + | ||
| 124 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/personalcost/vo/PersonalCostPageReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.personalcost.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import java.util.*; | ||
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 6 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 7 | +import java.math.BigDecimal; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | +import java.time.LocalDateTime; | ||
| 10 | + | ||
| 11 | +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 12 | + | ||
| 13 | +@Schema(description = "管理后台 - 人员费用录入 - 个人费用分页 Request VO") | ||
| 14 | +@Data | ||
| 15 | +public class PersonalCostPageReqVO extends PageParam { | ||
| 16 | + | ||
| 17 | + @Schema(description = "工资年月(如202506)") | ||
| 18 | + private String salaryMonth; | ||
| 19 | + | ||
| 20 | + @Schema(description = "姓名", example = "张三") | ||
| 21 | + private String name; | ||
| 22 | + | ||
| 23 | + @Schema(description = "工资金额") | ||
| 24 | + private BigDecimal salaryAmount; | ||
| 25 | + | ||
| 26 | + @Schema(description = "岗位名称", example = "李四") | ||
| 27 | + private String postName; | ||
| 28 | + | ||
| 29 | + @Schema(description = "岗位类别(如正式员工、外包员工等)") | ||
| 30 | + private String postCategory; | ||
| 31 | + | ||
| 32 | + @Schema(description = "归属公司", example = "芋艿") | ||
| 33 | + private String companyName; | ||
| 34 | + | ||
| 35 | + @Schema(description = "归属公司ID", example = "28850") | ||
| 36 | + private String companyId; | ||
| 37 | + | ||
| 38 | + @Schema(description = "部门id", example = "18461") | ||
| 39 | + private Long deptId; | ||
| 40 | + | ||
| 41 | + @Schema(description = "备注", example = "随便") | ||
| 42 | + private String remark; | ||
| 43 | + | ||
| 44 | + @Schema(description = "创建时间") | ||
| 45 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 46 | + private LocalDateTime[] createTime; | ||
| 47 | + | ||
| 48 | +} | ||
| 0 | \ No newline at end of file | 49 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/personalcost/vo/PersonalCostRespVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.personalcost.vo; | ||
| 2 | + | ||
| 3 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 4 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 5 | +import lombok.*; | ||
| 6 | +import java.util.*; | ||
| 7 | +import java.math.BigDecimal; | ||
| 8 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 9 | +import java.time.LocalDateTime; | ||
| 10 | +import cn.idev.excel.annotation.*; | ||
| 11 | + | ||
| 12 | +@Schema(description = "管理后台 - 人员费用录入 - 个人费用 Response VO") | ||
| 13 | +@Data | ||
| 14 | +@ExcelIgnoreUnannotated | ||
| 15 | +public class PersonalCostRespVO { | ||
| 16 | + | ||
| 17 | + @Schema(description = "记录ID,自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "14090") | ||
| 18 | + @ExcelProperty("记录ID,自增主键") | ||
| 19 | + private Long id; | ||
| 20 | + | ||
| 21 | + @Schema(description = "工资年月(如202506)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 22 | + @ExcelProperty("工资年月(如202506)") | ||
| 23 | + private String salaryMonth; | ||
| 24 | + | ||
| 25 | + @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") | ||
| 26 | + @ExcelProperty("姓名") | ||
| 27 | + private String name; | ||
| 28 | + | ||
| 29 | + @Schema(description = "工资金额", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 30 | + @ExcelProperty("工资金额") | ||
| 31 | + private BigDecimal salaryAmount; | ||
| 32 | + | ||
| 33 | + @Schema(description = "岗位名称", example = "李四") | ||
| 34 | + @ExcelProperty("岗位名称") | ||
| 35 | + private String postName; | ||
| 36 | + | ||
| 37 | + @Schema(description = "岗位类别(如正式员工、外包员工等)") | ||
| 38 | + @ExcelProperty("岗位类别(如正式员工、外包员工等)") | ||
| 39 | + private String postCategory; | ||
| 40 | + | ||
| 41 | + @Schema(description = "归属公司", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") | ||
| 42 | + @ExcelProperty("归属公司") | ||
| 43 | + private String companyName; | ||
| 44 | + | ||
| 45 | + @Schema(description = "归属公司ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28850") | ||
| 46 | + @ExcelProperty("归属公司ID") | ||
| 47 | + private String companyId; | ||
| 48 | + | ||
| 49 | + @Schema(description = "部门id", example = "18461") | ||
| 50 | + @ExcelProperty("部门id") | ||
| 51 | + private Long deptId; | ||
| 52 | + | ||
| 53 | + @Schema(description = "备注", example = "随便") | ||
| 54 | + @ExcelProperty("备注") | ||
| 55 | + private String remark; | ||
| 56 | + | ||
| 57 | + @Schema(description = "创建时间") | ||
| 58 | + @ExcelProperty("创建时间") | ||
| 59 | + private LocalDateTime createTime; | ||
| 60 | + | ||
| 61 | + @ExcelProperty("班组") | ||
| 62 | + private List<TeamBizdomainRelDO> teamIds; | ||
| 63 | + | ||
| 64 | + private List teamIdList; | ||
| 65 | + | ||
| 66 | + | ||
| 67 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/personalcost/vo/PersonalCostSaveReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.personalcost.vo; | ||
| 2 | + | ||
| 3 | +import cn.idev.excel.annotation.ExcelProperty; | ||
| 4 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 6 | +import lombok.*; | ||
| 7 | +import java.util.*; | ||
| 8 | +import jakarta.validation.constraints.*; | ||
| 9 | +import java.math.BigDecimal; | ||
| 10 | + | ||
| 11 | +@Schema(description = "管理后台 - 人员费用录入 - 个人费用新增/修改 Request VO") | ||
| 12 | +@Data | ||
| 13 | +public class PersonalCostSaveReqVO { | ||
| 14 | + | ||
| 15 | + @Schema(description = "记录ID,自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "14090") | ||
| 16 | + private Long id; | ||
| 17 | + | ||
| 18 | + @Schema(description = "工资年月(如202506)", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 19 | + @NotEmpty(message = "工资年月(如202506)不能为空") | ||
| 20 | + private String salaryMonth; | ||
| 21 | + | ||
| 22 | + @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") | ||
| 23 | + @NotEmpty(message = "姓名不能为空") | ||
| 24 | + private String name; | ||
| 25 | + | ||
| 26 | + @Schema(description = "工资金额", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 27 | + @NotNull(message = "工资金额不能为空") | ||
| 28 | + private BigDecimal salaryAmount; | ||
| 29 | + | ||
| 30 | + @Schema(description = "岗位名称", example = "李四") | ||
| 31 | + private String postName; | ||
| 32 | + | ||
| 33 | + @Schema(description = "岗位类别(如正式员工、外包员工等)") | ||
| 34 | + private String postCategory; | ||
| 35 | + | ||
| 36 | + @Schema(description = "归属公司", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") | ||
| 37 | + @NotEmpty(message = "归属公司不能为空") | ||
| 38 | + private String companyName; | ||
| 39 | + | ||
| 40 | + @Schema(description = "归属公司ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28850") | ||
| 41 | + @NotEmpty(message = "归属公司ID不能为空") | ||
| 42 | + private String companyId; | ||
| 43 | + | ||
| 44 | + @Schema(description = "部门id", example = "18461") | ||
| 45 | + private Long deptId; | ||
| 46 | + | ||
| 47 | + @Schema(description = "备注", example = "随便") | ||
| 48 | + private String remark; | ||
| 49 | + | ||
| 50 | + @ExcelProperty("班组") | ||
| 51 | + private List<TeamBizdomainRelDO> teamIds; | ||
| 52 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/rentalmechanicalcost/RentalMechanicalCostController.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.rentalmechanicalcost; | ||
| 2 | + | ||
| 3 | +import com.zteits.urbanops.module.garden.controller.admin.mechanicalcost.vo.MechanicalCostRespVO; | ||
| 4 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 5 | +import com.zteits.urbanops.module.garden.enums.CostFeeConstants; | ||
| 6 | +import com.zteits.urbanops.module.garden.service.teambizdomainrel.TeamBizdomainRelService; | ||
| 7 | +import org.springframework.web.bind.annotation.*; | ||
| 8 | +import jakarta.annotation.Resource; | ||
| 9 | +import org.springframework.validation.annotation.Validated; | ||
| 10 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 11 | +import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 12 | +import io.swagger.v3.oas.annotations.Parameter; | ||
| 13 | +import io.swagger.v3.oas.annotations.Operation; | ||
| 14 | + | ||
| 15 | +import jakarta.validation.constraints.*; | ||
| 16 | +import jakarta.validation.*; | ||
| 17 | +import jakarta.servlet.http.*; | ||
| 18 | +import java.util.*; | ||
| 19 | +import java.io.IOException; | ||
| 20 | +import java.util.stream.Collectors; | ||
| 21 | + | ||
| 22 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 23 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 24 | +import com.zteits.urbanops.framework.common.pojo.CommonResult; | ||
| 25 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 26 | +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; | ||
| 27 | + | ||
| 28 | +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; | ||
| 29 | + | ||
| 30 | +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; | ||
| 31 | +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.*; | ||
| 32 | + | ||
| 33 | +import com.zteits.urbanops.module.garden.controller.admin.rentalmechanicalcost.vo.*; | ||
| 34 | +import com.zteits.urbanops.module.garden.dal.dataobject.rentalmechanicalcost.RentalMechanicalCostDO; | ||
| 35 | +import com.zteits.urbanops.module.garden.service.rentalmechanicalcost.RentalMechanicalCostService; | ||
| 36 | + | ||
| 37 | +@Tag(name = "管理后台 - 租赁机械费用录入") | ||
| 38 | +@RestController | ||
| 39 | +@RequestMapping("/garden/rental-mechanical-cost") | ||
| 40 | +@Validated | ||
| 41 | +public class RentalMechanicalCostController { | ||
| 42 | + | ||
| 43 | + @Resource | ||
| 44 | + private RentalMechanicalCostService rentalMechanicalCostService; | ||
| 45 | + @Resource | ||
| 46 | + TeamBizdomainRelService teamBizdomainRelService; | ||
| 47 | + @PostMapping("/create") | ||
| 48 | + @Operation(summary = "创建租赁机械费用录入") | ||
| 49 | + @PreAuthorize("@ss.hasPermission('garden:rental-mechanical-cost:create')") | ||
| 50 | + public CommonResult<Long> createRentalMechanicalCost(@Valid @RequestBody RentalMechanicalCostSaveReqVO createReqVO) { | ||
| 51 | + return success(rentalMechanicalCostService.createRentalMechanicalCost(createReqVO)); | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + @PutMapping("/update") | ||
| 55 | + @Operation(summary = "更新租赁机械费用录入") | ||
| 56 | + @PreAuthorize("@ss.hasPermission('garden:rental-mechanical-cost:update')") | ||
| 57 | + public CommonResult<Boolean> updateRentalMechanicalCost(@Valid @RequestBody RentalMechanicalCostSaveReqVO updateReqVO) { | ||
| 58 | + rentalMechanicalCostService.updateRentalMechanicalCost(updateReqVO); | ||
| 59 | + return success(true); | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + @DeleteMapping("/delete") | ||
| 63 | + @Operation(summary = "删除租赁机械费用录入") | ||
| 64 | + @Parameter(name = "id", description = "编号", required = true) | ||
| 65 | + @PreAuthorize("@ss.hasPermission('garden:rental-mechanical-cost:delete')") | ||
| 66 | + public CommonResult<Boolean> deleteRentalMechanicalCost(@RequestParam("id") Long id) { | ||
| 67 | + rentalMechanicalCostService.deleteRentalMechanicalCost(id); | ||
| 68 | + return success(true); | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + @DeleteMapping("/delete-list") | ||
| 72 | + @Parameter(name = "ids", description = "编号", required = true) | ||
| 73 | + @Operation(summary = "批量删除租赁机械费用录入") | ||
| 74 | + @PreAuthorize("@ss.hasPermission('garden:rental-mechanical-cost:delete')") | ||
| 75 | + public CommonResult<Boolean> deleteRentalMechanicalCostList(@RequestParam("ids") List<Long> ids) { | ||
| 76 | + rentalMechanicalCostService.deleteRentalMechanicalCostListByIds(ids); | ||
| 77 | + return success(true); | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + @GetMapping("/get") | ||
| 81 | + @Operation(summary = "获得租赁机械费用录入") | ||
| 82 | + @Parameter(name = "id", description = "编号", required = true, example = "1024") | ||
| 83 | + @PreAuthorize("@ss.hasPermission('garden:rental-mechanical-cost:query')") | ||
| 84 | + public CommonResult<RentalMechanicalCostRespVO> getRentalMechanicalCost(@RequestParam("id") Long id) { | ||
| 85 | + RentalMechanicalCostDO rentalMechanicalCost = rentalMechanicalCostService.getRentalMechanicalCost(id); | ||
| 86 | + | ||
| 87 | + //add by wq 20251119 前端返回集合 | ||
| 88 | + RentalMechanicalCostRespVO mechanicalCostRespVO = null; | ||
| 89 | + if (rentalMechanicalCost != null) { | ||
| 90 | + mechanicalCostRespVO = BeanUtils.toBean(rentalMechanicalCost, RentalMechanicalCostRespVO.class); | ||
| 91 | + | ||
| 92 | + List<TeamBizdomainRelDO> teamBizdomainRelList = teamBizdomainRelService.getTeamBizdomainRelList(rentalMechanicalCost.getId(), CostFeeConstants.COSTFEE_RENTALMECHANICAL); | ||
| 93 | + mechanicalCostRespVO.setTeamIds(teamBizdomainRelList); | ||
| 94 | + } | ||
| 95 | + //add by wq 20251119 前端返回集合 | ||
| 96 | + return success(mechanicalCostRespVO); | ||
| 97 | + } | ||
| 98 | + | ||
| 99 | + @GetMapping("/page") | ||
| 100 | + @Operation(summary = "获得租赁机械费用录入分页") | ||
| 101 | + @PreAuthorize("@ss.hasPermission('garden:rental-mechanical-cost:query')") | ||
| 102 | + public CommonResult<PageResult<RentalMechanicalCostRespVO>> getRentalMechanicalCostPage(@Valid RentalMechanicalCostPageReqVO pageReqVO) { | ||
| 103 | + PageResult<RentalMechanicalCostDO> pageResult = rentalMechanicalCostService.getRentalMechanicalCostPage(pageReqVO); | ||
| 104 | + return success(BeanUtils.toBean(pageResult, RentalMechanicalCostRespVO.class)); | ||
| 105 | + } | ||
| 106 | + | ||
| 107 | + @GetMapping("/export-excel") | ||
| 108 | + @Operation(summary = "导出租赁机械费用录入 Excel") | ||
| 109 | + @PreAuthorize("@ss.hasPermission('garden:rental-mechanical-cost:export')") | ||
| 110 | + @ApiAccessLog(operateType = EXPORT) | ||
| 111 | + public void exportRentalMechanicalCostExcel(@Valid RentalMechanicalCostPageReqVO pageReqVO, | ||
| 112 | + HttpServletResponse response) throws IOException { | ||
| 113 | + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | ||
| 114 | + List<RentalMechanicalCostDO> list = rentalMechanicalCostService.getRentalMechanicalCostPage(pageReqVO).getList(); | ||
| 115 | + // 导出 Excel | ||
| 116 | + ExcelUtils.write(response, "租赁机械费用录入.xls", "数据", RentalMechanicalCostRespVO.class, | ||
| 117 | + BeanUtils.toBean(list, RentalMechanicalCostRespVO.class)); | ||
| 118 | + } | ||
| 119 | + | ||
| 120 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/rentalmechanicalcost/vo/RentalMechanicalCostPageReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.rentalmechanicalcost.vo; | ||
| 2 | + | ||
| 3 | +import cn.idev.excel.annotation.ExcelProperty; | ||
| 4 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 5 | +import lombok.*; | ||
| 6 | + | ||
| 7 | +import java.time.LocalDate; | ||
| 8 | +import java.util.*; | ||
| 9 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 10 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 11 | +import java.math.BigDecimal; | ||
| 12 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 13 | +import java.time.LocalDateTime; | ||
| 14 | + | ||
| 15 | +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 16 | + | ||
| 17 | +@Schema(description = "管理后台 - 租赁机械费用录入分页 Request VO") | ||
| 18 | +@Data | ||
| 19 | +public class RentalMechanicalCostPageReqVO extends PageParam { | ||
| 20 | + | ||
| 21 | + @Schema(description = "机械名称", example = "张三") | ||
| 22 | + private String mechName; | ||
| 23 | + | ||
| 24 | + @Schema(description = "机械类型", example = "2") | ||
| 25 | + private String mechType; | ||
| 26 | + | ||
| 27 | + @Schema(description = "租赁总价格", example = "316") | ||
| 28 | + private BigDecimal rentalTotalPrice; | ||
| 29 | + | ||
| 30 | + @Schema(description = "数量") | ||
| 31 | + private Integer quantity; | ||
| 32 | + | ||
| 33 | + @Schema(description = "车牌号") | ||
| 34 | + private String licensePlate; | ||
| 35 | + | ||
| 36 | + @Schema(description = "车辆类别(如汽油、纯电新能源等)") | ||
| 37 | + private String vehicleCategory; | ||
| 38 | + | ||
| 39 | + @Schema(description = "车辆类型(如大型客车、轻型栏板货车等)", example = "2") | ||
| 40 | + private String vehicleType; | ||
| 41 | + | ||
| 42 | + @Schema(description = "开始使用时间") | ||
| 43 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 44 | + private LocalDate[] startUseTime; | ||
| 45 | + | ||
| 46 | + @Schema(description = "使用时长(天)") | ||
| 47 | + private Integer useDuration; | ||
| 48 | + | ||
| 49 | + @Schema(description = "结束使用时间") | ||
| 50 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 51 | + private LocalDate[] endUseTime; | ||
| 52 | + | ||
| 53 | + @Schema(description = "归属公司", example = "李四") | ||
| 54 | + private String companyName; | ||
| 55 | + | ||
| 56 | + @Schema(description = "归属公司ID", example = "25530") | ||
| 57 | + private String companyId; | ||
| 58 | + | ||
| 59 | + @Schema(description = "部门id", example = "25446") | ||
| 60 | + private Long deptId; | ||
| 61 | + | ||
| 62 | + @Schema(description = "道路ID数组(多选)") | ||
| 63 | + private String roadIds; | ||
| 64 | + | ||
| 65 | + @Schema(description = "备注", example = "你说的对") | ||
| 66 | + private String remark; | ||
| 67 | + | ||
| 68 | + @Schema(description = "创建时间") | ||
| 69 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 70 | + private LocalDateTime[] createTime; | ||
| 71 | + | ||
| 72 | + @ExcelProperty("班组") | ||
| 73 | + private List<TeamBizdomainRelDO> teamIds; | ||
| 74 | + | ||
| 75 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/rentalmechanicalcost/vo/RentalMechanicalCostRespVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.rentalmechanicalcost.vo; | ||
| 2 | + | ||
| 3 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 4 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 5 | +import lombok.*; | ||
| 6 | + | ||
| 7 | +import java.time.LocalDate; | ||
| 8 | +import java.util.*; | ||
| 9 | +import java.math.BigDecimal; | ||
| 10 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 11 | +import java.time.LocalDateTime; | ||
| 12 | +import cn.idev.excel.annotation.*; | ||
| 13 | + | ||
| 14 | +@Schema(description = "管理后台 - 租赁机械费用录入 Response VO") | ||
| 15 | +@Data | ||
| 16 | +@ExcelIgnoreUnannotated | ||
| 17 | +public class RentalMechanicalCostRespVO { | ||
| 18 | + | ||
| 19 | + @Schema(description = "记录ID,自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "9115") | ||
| 20 | + @ExcelProperty("记录ID,自增主键") | ||
| 21 | + private Long id; | ||
| 22 | + | ||
| 23 | + @Schema(description = "机械名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") | ||
| 24 | + @ExcelProperty("机械名称") | ||
| 25 | + private String mechName; | ||
| 26 | + | ||
| 27 | + @Schema(description = "机械类型", example = "2") | ||
| 28 | + @ExcelProperty("机械类型") | ||
| 29 | + private String mechType; | ||
| 30 | + | ||
| 31 | + @Schema(description = "租赁总价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "316") | ||
| 32 | + @ExcelProperty("租赁总价格") | ||
| 33 | + private BigDecimal rentalTotalPrice; | ||
| 34 | + | ||
| 35 | + @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 36 | + @ExcelProperty("数量") | ||
| 37 | + private Integer quantity; | ||
| 38 | + | ||
| 39 | + @Schema(description = "车牌号") | ||
| 40 | + @ExcelProperty("车牌号") | ||
| 41 | + private String licensePlate; | ||
| 42 | + | ||
| 43 | + @Schema(description = "车辆类别(如汽油、纯电新能源等)") | ||
| 44 | + @ExcelProperty("车辆类别(如汽油、纯电新能源等)") | ||
| 45 | + private String vehicleCategory; | ||
| 46 | + | ||
| 47 | + @Schema(description = "车辆类型(如大型客车、轻型栏板货车等)", example = "2") | ||
| 48 | + @ExcelProperty("车辆类型(如大型客车、轻型栏板货车等)") | ||
| 49 | + private String vehicleType; | ||
| 50 | + | ||
| 51 | + @Schema(description = "开始使用时间", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 52 | + @ExcelProperty("开始使用时间") | ||
| 53 | + private LocalDate startUseTime; | ||
| 54 | + | ||
| 55 | + @Schema(description = "使用时长(天)") | ||
| 56 | + @ExcelProperty("使用时长(天)") | ||
| 57 | + private Integer useDuration; | ||
| 58 | + | ||
| 59 | + @Schema(description = "结束使用时间", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 60 | + @ExcelProperty("结束使用时间") | ||
| 61 | + private LocalDate endUseTime; | ||
| 62 | + | ||
| 63 | + @Schema(description = "归属公司", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") | ||
| 64 | + @ExcelProperty("归属公司") | ||
| 65 | + private String companyName; | ||
| 66 | + | ||
| 67 | + @Schema(description = "归属公司ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25530") | ||
| 68 | + @ExcelProperty("归属公司ID") | ||
| 69 | + private String companyId; | ||
| 70 | + | ||
| 71 | + @Schema(description = "部门id", example = "25446") | ||
| 72 | + @ExcelProperty("部门id") | ||
| 73 | + private Long deptId; | ||
| 74 | + | ||
| 75 | + @Schema(description = "道路ID数组(多选)") | ||
| 76 | + @ExcelProperty("道路ID数组(多选)") | ||
| 77 | + private String roadIds; | ||
| 78 | + | ||
| 79 | + @Schema(description = "备注", example = "你说的对") | ||
| 80 | + @ExcelProperty("备注") | ||
| 81 | + private String remark; | ||
| 82 | + | ||
| 83 | + @Schema(description = "创建时间") | ||
| 84 | + @ExcelProperty("创建时间") | ||
| 85 | + private LocalDateTime createTime; | ||
| 86 | + | ||
| 87 | + @ExcelProperty("班组") | ||
| 88 | + private List<TeamBizdomainRelDO> teamIds; | ||
| 89 | + | ||
| 90 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/rentalmechanicalcost/vo/RentalMechanicalCostSaveReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.rentalmechanicalcost.vo; | ||
| 2 | + | ||
| 3 | +import cn.idev.excel.annotation.ExcelProperty; | ||
| 4 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 6 | +import lombok.*; | ||
| 7 | + | ||
| 8 | +import java.time.LocalDate; | ||
| 9 | +import java.util.*; | ||
| 10 | +import jakarta.validation.constraints.*; | ||
| 11 | +import java.math.BigDecimal; | ||
| 12 | + | ||
| 13 | +@Schema(description = "管理后台 - 租赁机械费用录入新增/修改 Request VO") | ||
| 14 | +@Data | ||
| 15 | +public class RentalMechanicalCostSaveReqVO { | ||
| 16 | + | ||
| 17 | + @Schema(description = "记录ID,自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "9115") | ||
| 18 | + private Long id; | ||
| 19 | + | ||
| 20 | + @Schema(description = "机械名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") | ||
| 21 | + @NotEmpty(message = "机械名称不能为空") | ||
| 22 | + private String mechName; | ||
| 23 | + | ||
| 24 | + @Schema(description = "机械类型", example = "2") | ||
| 25 | + private String mechType; | ||
| 26 | + | ||
| 27 | + @Schema(description = "租赁总价格", requiredMode = Schema.RequiredMode.REQUIRED, example = "316") | ||
| 28 | + @NotNull(message = "租赁总价格不能为空") | ||
| 29 | + private BigDecimal rentalTotalPrice; | ||
| 30 | + | ||
| 31 | + @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 32 | + @NotNull(message = "数量不能为空") | ||
| 33 | + private Integer quantity; | ||
| 34 | + | ||
| 35 | + @Schema(description = "车牌号") | ||
| 36 | + private String licensePlate; | ||
| 37 | + | ||
| 38 | + @Schema(description = "车辆类别(如汽油、纯电新能源等)") | ||
| 39 | + private String vehicleCategory; | ||
| 40 | + | ||
| 41 | + @Schema(description = "车辆类型(如大型客车、轻型栏板货车等)", example = "2") | ||
| 42 | + private String vehicleType; | ||
| 43 | + | ||
| 44 | + @Schema(description = "开始使用时间", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 45 | + @NotNull(message = "开始使用时间不能为空") | ||
| 46 | + private LocalDate startUseTime; | ||
| 47 | + | ||
| 48 | + @Schema(description = "使用时长(天)") | ||
| 49 | + private Integer useDuration; | ||
| 50 | + | ||
| 51 | + @Schema(description = "结束使用时间", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 52 | + @NotNull(message = "结束使用时间不能为空") | ||
| 53 | + private LocalDate endUseTime; | ||
| 54 | + | ||
| 55 | + @Schema(description = "归属公司", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") | ||
| 56 | + @NotEmpty(message = "归属公司不能为空") | ||
| 57 | + private String companyName; | ||
| 58 | + | ||
| 59 | + @Schema(description = "归属公司ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25530") | ||
| 60 | + @NotEmpty(message = "归属公司ID不能为空") | ||
| 61 | + private String companyId; | ||
| 62 | + | ||
| 63 | + @Schema(description = "部门id", example = "25446") | ||
| 64 | + private Long deptId; | ||
| 65 | + | ||
| 66 | + @Schema(description = "道路ID数组(多选)") | ||
| 67 | + private String roadIds; | ||
| 68 | + | ||
| 69 | + @Schema(description = "备注", example = "你说的对") | ||
| 70 | + private String remark; | ||
| 71 | + @ExcelProperty("班组") | ||
| 72 | + private List<TeamBizdomainRelDO> teamIds; | ||
| 73 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/teambizdomainrel/TeamBizdomainRelController.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.teambizdomainrel; | ||
| 2 | + | ||
| 3 | +import org.springframework.web.bind.annotation.*; | ||
| 4 | +import jakarta.annotation.Resource; | ||
| 5 | +import org.springframework.validation.annotation.Validated; | ||
| 6 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 7 | +import io.swagger.v3.oas.annotations.tags.Tag; | ||
| 8 | +import io.swagger.v3.oas.annotations.Parameter; | ||
| 9 | +import io.swagger.v3.oas.annotations.Operation; | ||
| 10 | + | ||
| 11 | +import jakarta.validation.constraints.*; | ||
| 12 | +import jakarta.validation.*; | ||
| 13 | +import jakarta.servlet.http.*; | ||
| 14 | +import java.util.*; | ||
| 15 | +import java.io.IOException; | ||
| 16 | + | ||
| 17 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 18 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 19 | +import com.zteits.urbanops.framework.common.pojo.CommonResult; | ||
| 20 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 21 | +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; | ||
| 22 | + | ||
| 23 | +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; | ||
| 24 | + | ||
| 25 | +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; | ||
| 26 | +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.*; | ||
| 27 | + | ||
| 28 | +import com.zteits.urbanops.module.garden.controller.admin.teambizdomainrel.vo.*; | ||
| 29 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 30 | +import com.zteits.urbanops.module.garden.service.teambizdomainrel.TeamBizdomainRelService; | ||
| 31 | + | ||
| 32 | +@Tag(name = "管理后台 - 班组关联") | ||
| 33 | +@RestController | ||
| 34 | +@RequestMapping("/garden/team-bizdomain-rel") | ||
| 35 | +@Validated | ||
| 36 | +public class TeamBizdomainRelController { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private TeamBizdomainRelService teamBizdomainRelService; | ||
| 40 | + | ||
| 41 | + @PostMapping("/create") | ||
| 42 | + @Operation(summary = "创建班组关联") | ||
| 43 | + @PreAuthorize("@ss.hasPermission('garden:team-bizdomain-rel:create')") | ||
| 44 | + public CommonResult<Long> createTeamBizdomainRel(@Valid @RequestBody TeamBizdomainRelSaveReqVO createReqVO) { | ||
| 45 | + return success(teamBizdomainRelService.createTeamBizdomainRel(createReqVO)); | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + @PutMapping("/update") | ||
| 49 | + @Operation(summary = "更新班组关联") | ||
| 50 | + @PreAuthorize("@ss.hasPermission('garden:team-bizdomain-rel:update')") | ||
| 51 | + public CommonResult<Boolean> updateTeamBizdomainRel(@Valid @RequestBody TeamBizdomainRelSaveReqVO updateReqVO) { | ||
| 52 | + teamBizdomainRelService.updateTeamBizdomainRel(updateReqVO); | ||
| 53 | + return success(true); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @DeleteMapping("/delete") | ||
| 57 | + @Operation(summary = "删除班组关联") | ||
| 58 | + @Parameter(name = "id", description = "编号", required = true) | ||
| 59 | + @PreAuthorize("@ss.hasPermission('garden:team-bizdomain-rel:delete')") | ||
| 60 | + public CommonResult<Boolean> deleteTeamBizdomainRel(@RequestParam("id") Long id) { | ||
| 61 | + teamBizdomainRelService.deleteTeamBizdomainRel(id); | ||
| 62 | + return success(true); | ||
| 63 | + } | ||
| 64 | + | ||
| 65 | + @DeleteMapping("/delete-list") | ||
| 66 | + @Parameter(name = "ids", description = "编号", required = true) | ||
| 67 | + @Operation(summary = "批量删除班组关联") | ||
| 68 | + @PreAuthorize("@ss.hasPermission('garden:team-bizdomain-rel:delete')") | ||
| 69 | + public CommonResult<Boolean> deleteTeamBizdomainRelList(@RequestParam("ids") List<Long> ids) { | ||
| 70 | + teamBizdomainRelService.deleteTeamBizdomainRelListByIds(ids); | ||
| 71 | + return success(true); | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @GetMapping("/get") | ||
| 75 | + @Operation(summary = "获得班组关联") | ||
| 76 | + @Parameter(name = "id", description = "编号", required = true, example = "1024") | ||
| 77 | + @PreAuthorize("@ss.hasPermission('garden:team-bizdomain-rel:query')") | ||
| 78 | + public CommonResult<TeamBizdomainRelRespVO> getTeamBizdomainRel(@RequestParam("id") Long id) { | ||
| 79 | + TeamBizdomainRelDO teamBizdomainRel = teamBizdomainRelService.getTeamBizdomainRel(id); | ||
| 80 | + return success(BeanUtils.toBean(teamBizdomainRel, TeamBizdomainRelRespVO.class)); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + @GetMapping("/page") | ||
| 84 | + @Operation(summary = "获得班组关联分页") | ||
| 85 | + @PreAuthorize("@ss.hasPermission('garden:team-bizdomain-rel:query')") | ||
| 86 | + public CommonResult<PageResult<TeamBizdomainRelRespVO>> getTeamBizdomainRelPage(@Valid TeamBizdomainRelPageReqVO pageReqVO) { | ||
| 87 | + PageResult<TeamBizdomainRelDO> pageResult = teamBizdomainRelService.getTeamBizdomainRelPage(pageReqVO); | ||
| 88 | + return success(BeanUtils.toBean(pageResult, TeamBizdomainRelRespVO.class)); | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + @GetMapping("/export-excel") | ||
| 92 | + @Operation(summary = "导出班组关联 Excel") | ||
| 93 | + @PreAuthorize("@ss.hasPermission('garden:team-bizdomain-rel:export')") | ||
| 94 | + @ApiAccessLog(operateType = EXPORT) | ||
| 95 | + public void exportTeamBizdomainRelExcel(@Valid TeamBizdomainRelPageReqVO pageReqVO, | ||
| 96 | + HttpServletResponse response) throws IOException { | ||
| 97 | + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); | ||
| 98 | + List<TeamBizdomainRelDO> list = teamBizdomainRelService.getTeamBizdomainRelPage(pageReqVO).getList(); | ||
| 99 | + // 导出 Excel | ||
| 100 | + ExcelUtils.write(response, "班组关联.xls", "数据", TeamBizdomainRelRespVO.class, | ||
| 101 | + BeanUtils.toBean(list, TeamBizdomainRelRespVO.class)); | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | +} | ||
| 0 | \ No newline at end of file | 105 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/teambizdomainrel/vo/TeamBizdomainRelPageReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.teambizdomainrel.vo; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import java.util.*; | ||
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 6 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 7 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 8 | +import java.time.LocalDateTime; | ||
| 9 | + | ||
| 10 | +import static com.zteits.urbanops.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; | ||
| 11 | + | ||
| 12 | +@Schema(description = "管理后台 - 班组关联分页 Request VO") | ||
| 13 | +@Data | ||
| 14 | +public class TeamBizdomainRelPageReqVO extends PageParam { | ||
| 15 | + | ||
| 16 | + @Schema(description = "业务表主键", example = "4740") | ||
| 17 | + private String busiId; | ||
| 18 | + | ||
| 19 | + @Schema(description = "班组编码", example = "27533") | ||
| 20 | + private String teamId; | ||
| 21 | + | ||
| 22 | + @Schema(description = "班组名称", example = "王五") | ||
| 23 | + private String teamName; | ||
| 24 | + | ||
| 25 | + @Schema(description = "班组名称") | ||
| 26 | + private Long weight; | ||
| 27 | + | ||
| 28 | + @Schema(description = "归属公司", example = "张三") | ||
| 29 | + private String companyName; | ||
| 30 | + | ||
| 31 | + @Schema(description = "归属公司ID", example = "29798") | ||
| 32 | + private String companyId; | ||
| 33 | + | ||
| 34 | + @Schema(description = "创建时间") | ||
| 35 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 36 | + private LocalDateTime[] createTime; | ||
| 37 | + | ||
| 38 | + @Schema(description = "业务类型", example = "1") | ||
| 39 | + private String busiType; | ||
| 40 | + | ||
| 41 | +} | ||
| 0 | \ No newline at end of file | 42 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/teambizdomainrel/vo/TeamBizdomainRelRespVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.teambizdomainrel.vo; | ||
| 2 | + | ||
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | +import lombok.*; | ||
| 5 | +import java.util.*; | ||
| 6 | +import org.springframework.format.annotation.DateTimeFormat; | ||
| 7 | +import java.time.LocalDateTime; | ||
| 8 | +import cn.idev.excel.annotation.*; | ||
| 9 | + | ||
| 10 | +@Schema(description = "管理后台 - 班组关联 Response VO") | ||
| 11 | +@Data | ||
| 12 | +@ExcelIgnoreUnannotated | ||
| 13 | +public class TeamBizdomainRelRespVO { | ||
| 14 | + | ||
| 15 | + @Schema(description = "记录ID,自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "14177") | ||
| 16 | + @ExcelProperty("记录ID,自增主键") | ||
| 17 | + private Long id; | ||
| 18 | + | ||
| 19 | + @Schema(description = "业务表主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "4740") | ||
| 20 | + @ExcelProperty("业务表主键") | ||
| 21 | + private String busiId; | ||
| 22 | + | ||
| 23 | + @Schema(description = "班组编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "27533") | ||
| 24 | + @ExcelProperty("班组编码") | ||
| 25 | + private String teamId; | ||
| 26 | + | ||
| 27 | + @Schema(description = "班组名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") | ||
| 28 | + @ExcelProperty("班组名称") | ||
| 29 | + private String teamName; | ||
| 30 | + | ||
| 31 | + @Schema(description = "班组名称") | ||
| 32 | + @ExcelProperty("班组名称") | ||
| 33 | + private Long weight; | ||
| 34 | + | ||
| 35 | + @Schema(description = "归属公司", example = "张三") | ||
| 36 | + @ExcelProperty("归属公司") | ||
| 37 | + private String companyName; | ||
| 38 | + | ||
| 39 | + @Schema(description = "归属公司ID", example = "29798") | ||
| 40 | + @ExcelProperty("归属公司ID") | ||
| 41 | + private String companyId; | ||
| 42 | + | ||
| 43 | + @Schema(description = "创建时间") | ||
| 44 | + @ExcelProperty("创建时间") | ||
| 45 | + private LocalDateTime createTime; | ||
| 46 | + | ||
| 47 | + @Schema(description = "业务类型", example = "1") | ||
| 48 | + @ExcelProperty("业务类型") | ||
| 49 | + private String busiType; | ||
| 50 | + | ||
| 51 | +} | ||
| 0 | \ No newline at end of file | 52 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/teambizdomainrel/vo/TeamBizdomainRelSaveReqVO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.controller.admin.teambizdomainrel.vo; | ||
| 2 | + | ||
| 3 | +import io.swagger.v3.oas.annotations.media.Schema; | ||
| 4 | +import lombok.*; | ||
| 5 | +import java.util.*; | ||
| 6 | +import jakarta.validation.constraints.*; | ||
| 7 | + | ||
| 8 | +@Schema(description = "管理后台 - 班组关联新增/修改 Request VO") | ||
| 9 | +@Data | ||
| 10 | +public class TeamBizdomainRelSaveReqVO { | ||
| 11 | + | ||
| 12 | + @Schema(description = "记录ID,自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "14177") | ||
| 13 | + private Long id; | ||
| 14 | + | ||
| 15 | + @Schema(description = "业务表主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "4740") | ||
| 16 | + @NotEmpty(message = "业务表主键不能为空") | ||
| 17 | + private String busiId; | ||
| 18 | + | ||
| 19 | + @Schema(description = "班组编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "27533") | ||
| 20 | + @NotEmpty(message = "班组编码不能为空") | ||
| 21 | + private String teamId; | ||
| 22 | + | ||
| 23 | + @Schema(description = "班组名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五") | ||
| 24 | + @NotEmpty(message = "班组名称不能为空") | ||
| 25 | + private String teamName; | ||
| 26 | + | ||
| 27 | + @Schema(description = "班组名称") | ||
| 28 | + private Long weight; | ||
| 29 | + | ||
| 30 | + @Schema(description = "归属公司", example = "张三") | ||
| 31 | + private String companyName; | ||
| 32 | + | ||
| 33 | + @Schema(description = "归属公司ID", example = "29798") | ||
| 34 | + private String companyId; | ||
| 35 | + | ||
| 36 | + @Schema(description = "业务类型", example = "1") | ||
| 37 | + private String busiType; | ||
| 38 | + | ||
| 39 | +} | ||
| 0 | \ No newline at end of file | 40 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/assigntasks/AssignTasksDO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.dataobject.assigntasks; | ||
| 2 | + | ||
| 3 | +import com.alibaba.fastjson.JSONArray; | ||
| 4 | +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; | ||
| 5 | +import lombok.*; | ||
| 6 | + | ||
| 7 | +import java.io.Serializable; | ||
| 8 | +import java.util.*; | ||
| 9 | +import java.time.LocalDateTime; | ||
| 10 | +import com.baomidou.mybatisplus.annotation.*; | ||
| 11 | +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; | ||
| 12 | +/** | ||
| 13 | + * 派单任务主表(记录派单任务基本信息) DO | ||
| 14 | + * | ||
| 15 | + * @author 超级管理员 | ||
| 16 | + */ | ||
| 17 | +@TableName("garden_assign_tasks") | ||
| 18 | +@KeySequence("garden_assign_tasks_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | ||
| 19 | +@Data | ||
| 20 | +@EqualsAndHashCode(callSuper = true) | ||
| 21 | +@ToString(callSuper = true) | ||
| 22 | +@Builder | ||
| 23 | +@NoArgsConstructor | ||
| 24 | +@AllArgsConstructor | ||
| 25 | +public class AssignTasksDO extends BaseDO { | ||
| 26 | + | ||
| 27 | + /** | ||
| 28 | + * 自增ID | ||
| 29 | + */ | ||
| 30 | + @TableId | ||
| 31 | + private Long id; | ||
| 32 | + /** | ||
| 33 | + * 任务名称 | ||
| 34 | + */ | ||
| 35 | + private String taskName; | ||
| 36 | + /** | ||
| 37 | + * 任务类型(关联数据字典,如:日常巡检、紧急维修等) | ||
| 38 | + */ | ||
| 39 | + private String taskType; | ||
| 40 | + /** | ||
| 41 | + * 任务截止时间 | ||
| 42 | + */ | ||
| 43 | + private LocalDateTime deadline; | ||
| 44 | + /** | ||
| 45 | + * 派单模板文件路径(如:任务详情模板、填报表格等) | ||
| 46 | + */ | ||
| 47 | + private String templateFile; | ||
| 48 | + /** | ||
| 49 | + * 任务整体完成状态(0:未完成,1:已完成;所有关联单位均完成时自动更新为1) | ||
| 50 | + */ | ||
| 51 | + private Integer parentFinish; | ||
| 52 | + /** | ||
| 53 | + * 整体完成时间(仅当parent_finish=1时有值) | ||
| 54 | + */ | ||
| 55 | + private LocalDateTime finishTime; | ||
| 56 | + /** | ||
| 57 | + * 任务备注(如:特殊要求、注意事项等) | ||
| 58 | + */ | ||
| 59 | + private String note; | ||
| 60 | + | ||
| 61 | + | ||
| 62 | + @Data | ||
| 63 | + public static class TemplateFileDO implements Serializable { | ||
| 64 | + private String url; | ||
| 65 | + private String name; | ||
| 66 | + private String fileServerUrl; | ||
| 67 | + } | ||
| 68 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/assigntasksinfo/AssignTasksInfoDO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo; | ||
| 2 | + | ||
| 3 | +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; | ||
| 4 | +import lombok.*; | ||
| 5 | +import java.util.*; | ||
| 6 | +import java.time.LocalDateTime; | ||
| 7 | +import java.time.LocalDateTime; | ||
| 8 | +import java.time.LocalDateTime; | ||
| 9 | +import java.time.LocalDateTime; | ||
| 10 | +import java.time.LocalDateTime; | ||
| 11 | +import com.baomidou.mybatisplus.annotation.*; | ||
| 12 | +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * 派单任务-单位关联表(记录单位接收派单后的执行详情) DO | ||
| 16 | + * | ||
| 17 | + * @author 超级管理员 | ||
| 18 | + */ | ||
| 19 | +@TableName("garden_assign_tasks_info") | ||
| 20 | +@KeySequence("garden_assign_tasks_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | ||
| 21 | +@Data | ||
| 22 | +@EqualsAndHashCode(callSuper = true) | ||
| 23 | +@ToString(callSuper = true) | ||
| 24 | +@Builder | ||
| 25 | +@NoArgsConstructor | ||
| 26 | +@AllArgsConstructor | ||
| 27 | +public class AssignTasksInfoDO extends BaseDO { | ||
| 28 | + | ||
| 29 | + /** | ||
| 30 | + * 自增ID | ||
| 31 | + */ | ||
| 32 | + @TableId | ||
| 33 | + private Long id; | ||
| 34 | + /** | ||
| 35 | + * 关联派单任务主表ID(外键,关联td_assign_tasks.id) | ||
| 36 | + */ | ||
| 37 | + private Long taskId; | ||
| 38 | + /** | ||
| 39 | + * 单位ID(关联单位表主键) | ||
| 40 | + */ | ||
| 41 | + private String companyId; | ||
| 42 | + /** | ||
| 43 | + * 单位ID(关联单位表主键) | ||
| 44 | + */ | ||
| 45 | + private String companyName; | ||
| 46 | + /** | ||
| 47 | + * 填报人ID(单位指定的任务负责人) | ||
| 48 | + */ | ||
| 49 | + private String writePersonId; | ||
| 50 | + /** | ||
| 51 | + * 填报人姓名 | ||
| 52 | + */ | ||
| 53 | + private String writePerson; | ||
| 54 | + /** | ||
| 55 | + * 填报人手机号 | ||
| 56 | + */ | ||
| 57 | + private String writePersonPhone; | ||
| 58 | + /** | ||
| 59 | + * 填报时间(仅当finish=1时有值) | ||
| 60 | + */ | ||
| 61 | + private LocalDateTime writeTime; | ||
| 62 | + /** | ||
| 63 | + * 单位任务完成状态(0:未完成,1:已完成) | ||
| 64 | + */ | ||
| 65 | + private Integer finish; | ||
| 66 | + /** | ||
| 67 | + * 是否超期(0:未超期,1:超期;NULL:未到截止时间) | ||
| 68 | + */ | ||
| 69 | + private Integer isOverdue; | ||
| 70 | + /** | ||
| 71 | + * 单位提交的任务文件路径(如:填报表格、现场照片等) | ||
| 72 | + */ | ||
| 73 | + @TableField(typeHandler = JacksonTypeHandler.class) | ||
| 74 | + private List dataFile; | ||
| 75 | + /** | ||
| 76 | + * 催缴次数(未完成时的提醒次数) | ||
| 77 | + */ | ||
| 78 | + private Integer rushNum; | ||
| 79 | + /** | ||
| 80 | + * 新任务标记(0:未读,1:已读) | ||
| 81 | + */ | ||
| 82 | + private Integer newFlag; | ||
| 83 | + /** | ||
| 84 | + * 已读时间(仅当new_flag=1时有值) | ||
| 85 | + */ | ||
| 86 | + private LocalDateTime newFlagTime; | ||
| 87 | + /** | ||
| 88 | + * 驳回备注(当finish=2时,说明驳回原因) | ||
| 89 | + */ | ||
| 90 | + private String rejectRemark; | ||
| 91 | + /** | ||
| 92 | + * 单位任务确认状态(已确认/未确认,单位接收任务后需确认) | ||
| 93 | + */ | ||
| 94 | + private String confirm; | ||
| 95 | + /** | ||
| 96 | + * 确认时间(单位确认接收任务的时间) | ||
| 97 | + */ | ||
| 98 | + private LocalDateTime confirmTime; | ||
| 99 | + | ||
| 100 | + /** | ||
| 101 | + * 备注 | ||
| 102 | + */ | ||
| 103 | + private String remark; | ||
| 104 | + /** | ||
| 105 | + * 是否打回0:正常 1:打回 | ||
| 106 | + */ | ||
| 107 | + private Integer isReject; | ||
| 108 | + | ||
| 109 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/departmentcost/DepartmentCostDO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.dataobject.departmentcost; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import java.util.*; | ||
| 5 | +import java.math.BigDecimal; | ||
| 6 | +import java.time.LocalDateTime; | ||
| 7 | +import java.time.LocalDateTime; | ||
| 8 | +import com.baomidou.mybatisplus.annotation.*; | ||
| 9 | +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + * 部门费用录入 DO | ||
| 13 | + * | ||
| 14 | + * @author 超级管理员 | ||
| 15 | + */ | ||
| 16 | +@TableName("garden_department_cost") | ||
| 17 | +@KeySequence("garden_department_cost_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | ||
| 18 | +@Data | ||
| 19 | +@EqualsAndHashCode(callSuper = true) | ||
| 20 | +@ToString(callSuper = true) | ||
| 21 | +@Builder | ||
| 22 | +@NoArgsConstructor | ||
| 23 | +@AllArgsConstructor | ||
| 24 | +public class DepartmentCostDO extends BaseDO { | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * 记录ID,自增主键 | ||
| 28 | + */ | ||
| 29 | + @TableId | ||
| 30 | + private Long id; | ||
| 31 | + /** | ||
| 32 | + * 工资年月(如202506) | ||
| 33 | + */ | ||
| 34 | + private String salaryMonth; | ||
| 35 | + /** | ||
| 36 | + * 费用名称 | ||
| 37 | + */ | ||
| 38 | + private String expenseName; | ||
| 39 | + /** | ||
| 40 | + * 部门名称 | ||
| 41 | + */ | ||
| 42 | + private String departmentName; | ||
| 43 | + /** | ||
| 44 | + * 人员数量 | ||
| 45 | + */ | ||
| 46 | + private Integer personCount; | ||
| 47 | + /** | ||
| 48 | + * 部门总额 | ||
| 49 | + */ | ||
| 50 | + private BigDecimal deptTotalCost; | ||
| 51 | + /** | ||
| 52 | + * 归属公司 | ||
| 53 | + */ | ||
| 54 | + private String companyName; | ||
| 55 | + /** | ||
| 56 | + * 归属公司ID | ||
| 57 | + */ | ||
| 58 | + private String companyId; | ||
| 59 | + /** | ||
| 60 | + * 部门id | ||
| 61 | + */ | ||
| 62 | + private Long deptId; | ||
| 63 | + /** | ||
| 64 | + * 备注 | ||
| 65 | + */ | ||
| 66 | + private String remark; | ||
| 67 | + | ||
| 68 | + | ||
| 69 | +} | ||
| 0 | \ No newline at end of file | 70 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/mechanicalcost/MechanicalCostDO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.dataobject.mechanicalcost; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.time.LocalDate; | ||
| 6 | +import java.util.*; | ||
| 7 | +import java.math.BigDecimal; | ||
| 8 | +import java.time.LocalDateTime; | ||
| 9 | +import java.time.LocalDateTime; | ||
| 10 | +import com.baomidou.mybatisplus.annotation.*; | ||
| 11 | +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; | ||
| 12 | + | ||
| 13 | +/** | ||
| 14 | + * 自有机械费用录入 DO | ||
| 15 | + * | ||
| 16 | + * @author 超级管理员 | ||
| 17 | + */ | ||
| 18 | +@TableName("garden_mechanical_cost") | ||
| 19 | +@KeySequence("garden_mechanical_cost_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | ||
| 20 | +@Data | ||
| 21 | +@EqualsAndHashCode(callSuper = true) | ||
| 22 | +@ToString(callSuper = true) | ||
| 23 | +@Builder | ||
| 24 | +@NoArgsConstructor | ||
| 25 | +@AllArgsConstructor | ||
| 26 | +public class MechanicalCostDO extends BaseDO { | ||
| 27 | + | ||
| 28 | + /** | ||
| 29 | + * 记录ID,自增主键 | ||
| 30 | + */ | ||
| 31 | + @TableId | ||
| 32 | + private Long id; | ||
| 33 | + /** | ||
| 34 | + * 机械类型 | ||
| 35 | + */ | ||
| 36 | + private String mechType; | ||
| 37 | + /** | ||
| 38 | + * 机械编号 | ||
| 39 | + */ | ||
| 40 | + private String mechCode; | ||
| 41 | + /** | ||
| 42 | + * 机械名称 | ||
| 43 | + */ | ||
| 44 | + private String mechName; | ||
| 45 | + /** | ||
| 46 | + * 机械类别(如工具类) | ||
| 47 | + */ | ||
| 48 | + private String mechCategory; | ||
| 49 | + /** | ||
| 50 | + * 单价 | ||
| 51 | + */ | ||
| 52 | + private BigDecimal unitPrice; | ||
| 53 | + /** | ||
| 54 | + * 数量 | ||
| 55 | + */ | ||
| 56 | + private Integer quantity; | ||
| 57 | + /** | ||
| 58 | + * 车牌号 | ||
| 59 | + */ | ||
| 60 | + private String licensePlate; | ||
| 61 | + /** | ||
| 62 | + * 车辆类别(如汽油、纯电新能源等) | ||
| 63 | + */ | ||
| 64 | + private String vehicleCategory; | ||
| 65 | + /** | ||
| 66 | + * 车辆类型(如大型客车、轻型栏板货车等) | ||
| 67 | + */ | ||
| 68 | + private String vehicleType; | ||
| 69 | + /** | ||
| 70 | + * 开始使用时间 | ||
| 71 | + */ | ||
| 72 | + private LocalDate startUseTime; | ||
| 73 | + /** | ||
| 74 | + * 使用年限 | ||
| 75 | + */ | ||
| 76 | + private Long serviceLife; | ||
| 77 | + /** | ||
| 78 | + * 结束使用时间 | ||
| 79 | + */ | ||
| 80 | + private LocalDate endUseTime; | ||
| 81 | + /** | ||
| 82 | + * 归属公司 | ||
| 83 | + */ | ||
| 84 | + private String companyName; | ||
| 85 | + /** | ||
| 86 | + * 归属公司ID | ||
| 87 | + */ | ||
| 88 | + private String companyId; | ||
| 89 | + /** | ||
| 90 | + * 部门id | ||
| 91 | + */ | ||
| 92 | + private Long deptId; | ||
| 93 | + /** | ||
| 94 | + * 备注 | ||
| 95 | + */ | ||
| 96 | + private String remark; | ||
| 97 | + | ||
| 98 | + | ||
| 99 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/mechanicaldepreciation/MechanicalDepreciationDO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.dataobject.mechanicaldepreciation; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import java.util.*; | ||
| 5 | +import java.math.BigDecimal; | ||
| 6 | +import java.math.BigDecimal; | ||
| 7 | +import java.math.BigDecimal; | ||
| 8 | +import java.math.BigDecimal; | ||
| 9 | +import java.math.BigDecimal; | ||
| 10 | +import java.time.LocalDateTime; | ||
| 11 | +import java.time.LocalDateTime; | ||
| 12 | +import com.baomidou.mybatisplus.annotation.*; | ||
| 13 | +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; | ||
| 14 | + | ||
| 15 | +/** | ||
| 16 | + * 自有机械折旧子 DO | ||
| 17 | + * | ||
| 18 | + * @author 超级管理员 | ||
| 19 | + */ | ||
| 20 | +@TableName("garden_mechanical_depreciation") | ||
| 21 | +@KeySequence("garden_mechanical_depreciation_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | ||
| 22 | +@Data | ||
| 23 | +@EqualsAndHashCode(callSuper = true) | ||
| 24 | +@ToString(callSuper = true) | ||
| 25 | +@Builder | ||
| 26 | +@NoArgsConstructor | ||
| 27 | +@AllArgsConstructor | ||
| 28 | +public class MechanicalDepreciationDO extends BaseDO { | ||
| 29 | + | ||
| 30 | + /** | ||
| 31 | + * 折旧记录ID,自增主键 | ||
| 32 | + */ | ||
| 33 | + @TableId | ||
| 34 | + private Long id; | ||
| 35 | + /** | ||
| 36 | + * 关联的机械ID(对应td_mechanical_cost的id) | ||
| 37 | + */ | ||
| 38 | + private Long mechId; | ||
| 39 | + /** | ||
| 40 | + * 折旧期间(格式:YYYY-MM) | ||
| 41 | + */ | ||
| 42 | + private String depreciationPeriod; | ||
| 43 | + /** | ||
| 44 | + * 原值 | ||
| 45 | + */ | ||
| 46 | + private BigDecimal originalValue; | ||
| 47 | + /** | ||
| 48 | + * 预估净值(原值-预估净值=需要折旧总额) | ||
| 49 | + */ | ||
| 50 | + private BigDecimal netValue; | ||
| 51 | + /** | ||
| 52 | + * 本期折旧额 | ||
| 53 | + */ | ||
| 54 | + private BigDecimal depreciationAmount; | ||
| 55 | + /** | ||
| 56 | + * 累计折旧 | ||
| 57 | + */ | ||
| 58 | + private BigDecimal accumulatedDepreciation; | ||
| 59 | + /** | ||
| 60 | + * 折旧方法(如直线法) | ||
| 61 | + */ | ||
| 62 | + private String depreciationMethod; | ||
| 63 | + /** | ||
| 64 | + * 残值率(%) | ||
| 65 | + */ | ||
| 66 | + private BigDecimal residualRate; | ||
| 67 | + /** | ||
| 68 | + * 使用年限 | ||
| 69 | + */ | ||
| 70 | + private Integer serviceLife; | ||
| 71 | + /** | ||
| 72 | + * 剩余折旧期数 | ||
| 73 | + */ | ||
| 74 | + private Integer remainingPeriods; | ||
| 75 | + /** | ||
| 76 | + * 备注 | ||
| 77 | + */ | ||
| 78 | + private String remark; | ||
| 79 | + | ||
| 80 | + | ||
| 81 | +} | ||
| 0 | \ No newline at end of file | 82 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/personalcost/PersonalCostDO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.dataobject.personalcost; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import java.util.*; | ||
| 5 | +import java.math.BigDecimal; | ||
| 6 | +import java.time.LocalDateTime; | ||
| 7 | +import java.time.LocalDateTime; | ||
| 8 | +import com.baomidou.mybatisplus.annotation.*; | ||
| 9 | +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + * 人员费用录入 - 个人费用 DO | ||
| 13 | + * | ||
| 14 | + * @author 超级管理员 | ||
| 15 | + */ | ||
| 16 | +@TableName("garden_personal_cost") | ||
| 17 | +@KeySequence("garden_personal_cost_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | ||
| 18 | +@Data | ||
| 19 | +@EqualsAndHashCode(callSuper = true) | ||
| 20 | +@ToString(callSuper = true) | ||
| 21 | +@Builder | ||
| 22 | +@NoArgsConstructor | ||
| 23 | +@AllArgsConstructor | ||
| 24 | +public class PersonalCostDO extends BaseDO { | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * 记录ID,自增主键 | ||
| 28 | + */ | ||
| 29 | + @TableId | ||
| 30 | + private Long id; | ||
| 31 | + /** | ||
| 32 | + * 工资年月(如202506) | ||
| 33 | + */ | ||
| 34 | + private String salaryMonth; | ||
| 35 | + /** | ||
| 36 | + * 姓名 | ||
| 37 | + */ | ||
| 38 | + private String name; | ||
| 39 | + /** | ||
| 40 | + * 工资金额 | ||
| 41 | + */ | ||
| 42 | + private BigDecimal salaryAmount; | ||
| 43 | + /** | ||
| 44 | + * 岗位名称 | ||
| 45 | + */ | ||
| 46 | + private String postName; | ||
| 47 | + /** | ||
| 48 | + * 岗位类别(如正式员工、外包员工等) | ||
| 49 | + */ | ||
| 50 | + private String postCategory; | ||
| 51 | + /** | ||
| 52 | + * 归属公司 | ||
| 53 | + */ | ||
| 54 | + private String companyName; | ||
| 55 | + /** | ||
| 56 | + * 归属公司ID | ||
| 57 | + */ | ||
| 58 | + private String companyId; | ||
| 59 | + /** | ||
| 60 | + * 部门id | ||
| 61 | + */ | ||
| 62 | + private Long deptId; | ||
| 63 | + /** | ||
| 64 | + * 备注 | ||
| 65 | + */ | ||
| 66 | + private String remark; | ||
| 67 | + | ||
| 68 | + | ||
| 69 | +} | ||
| 0 | \ No newline at end of file | 70 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/rentalmechanicalcost/RentalMechanicalCostDO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.dataobject.rentalmechanicalcost; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | + | ||
| 5 | +import java.time.LocalDate; | ||
| 6 | +import java.util.*; | ||
| 7 | +import java.math.BigDecimal; | ||
| 8 | +import java.time.LocalDateTime; | ||
| 9 | +import java.time.LocalDateTime; | ||
| 10 | +import com.baomidou.mybatisplus.annotation.*; | ||
| 11 | +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; | ||
| 12 | + | ||
| 13 | +/** | ||
| 14 | + * 租赁机械费用录入 DO | ||
| 15 | + * | ||
| 16 | + * @author 超级管理员 | ||
| 17 | + */ | ||
| 18 | +@TableName("garden_rental_mechanical_cost") | ||
| 19 | +@KeySequence("garden_rental_mechanical_cost_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | ||
| 20 | +@Data | ||
| 21 | +@EqualsAndHashCode(callSuper = true) | ||
| 22 | +@ToString(callSuper = true) | ||
| 23 | +@Builder | ||
| 24 | +@NoArgsConstructor | ||
| 25 | +@AllArgsConstructor | ||
| 26 | +public class RentalMechanicalCostDO extends BaseDO { | ||
| 27 | + | ||
| 28 | + /** | ||
| 29 | + * 记录ID,自增主键 | ||
| 30 | + */ | ||
| 31 | + @TableId | ||
| 32 | + private Long id; | ||
| 33 | + /** | ||
| 34 | + * 机械名称 | ||
| 35 | + */ | ||
| 36 | + private String mechName; | ||
| 37 | + /** | ||
| 38 | + * 机械类型 | ||
| 39 | + */ | ||
| 40 | + private String mechType; | ||
| 41 | + /** | ||
| 42 | + * 租赁总价格 | ||
| 43 | + */ | ||
| 44 | + private BigDecimal rentalTotalPrice; | ||
| 45 | + /** | ||
| 46 | + * 数量 | ||
| 47 | + */ | ||
| 48 | + private Integer quantity; | ||
| 49 | + /** | ||
| 50 | + * 车牌号 | ||
| 51 | + */ | ||
| 52 | + private String licensePlate; | ||
| 53 | + /** | ||
| 54 | + * 车辆类别(如汽油、纯电新能源等) | ||
| 55 | + */ | ||
| 56 | + private String vehicleCategory; | ||
| 57 | + /** | ||
| 58 | + * 车辆类型(如大型客车、轻型栏板货车等) | ||
| 59 | + */ | ||
| 60 | + private String vehicleType; | ||
| 61 | + /** | ||
| 62 | + * 开始使用时间 | ||
| 63 | + */ | ||
| 64 | + private LocalDate startUseTime; | ||
| 65 | + /** | ||
| 66 | + * 使用时长(天) | ||
| 67 | + */ | ||
| 68 | + private Integer useDuration; | ||
| 69 | + /** | ||
| 70 | + * 结束使用时间 | ||
| 71 | + */ | ||
| 72 | + private LocalDate endUseTime; | ||
| 73 | + /** | ||
| 74 | + * 归属公司 | ||
| 75 | + */ | ||
| 76 | + private String companyName; | ||
| 77 | + /** | ||
| 78 | + * 归属公司ID | ||
| 79 | + */ | ||
| 80 | + private String companyId; | ||
| 81 | + /** | ||
| 82 | + * 部门id | ||
| 83 | + */ | ||
| 84 | + private Long deptId; | ||
| 85 | + /** | ||
| 86 | + * 班组ID数组(多选) | ||
| 87 | + */ | ||
| 88 | + private String teamIds; | ||
| 89 | + /** | ||
| 90 | + * 道路ID数组(多选) | ||
| 91 | + */ | ||
| 92 | + private String roadIds; | ||
| 93 | + /** | ||
| 94 | + * 备注 | ||
| 95 | + */ | ||
| 96 | + private String remark; | ||
| 97 | + | ||
| 98 | + | ||
| 99 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/teambizdomainrel/TeamBizdomainRelDO.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel; | ||
| 2 | + | ||
| 3 | +import lombok.*; | ||
| 4 | +import java.util.*; | ||
| 5 | +import java.time.LocalDateTime; | ||
| 6 | +import java.time.LocalDateTime; | ||
| 7 | +import com.baomidou.mybatisplus.annotation.*; | ||
| 8 | +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * 班组关联 DO | ||
| 12 | + * | ||
| 13 | + * @author 超级管理员 | ||
| 14 | + */ | ||
| 15 | +@TableName("garden_team_bizdomain_rel") | ||
| 16 | +@KeySequence("garden_team_bizdomain_rel_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | ||
| 17 | +@Data | ||
| 18 | +@EqualsAndHashCode(callSuper = true) | ||
| 19 | +@ToString(callSuper = true) | ||
| 20 | +@Builder | ||
| 21 | +@NoArgsConstructor | ||
| 22 | +@AllArgsConstructor | ||
| 23 | +public class TeamBizdomainRelDO extends BaseDO { | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * 记录ID,自增主键 | ||
| 27 | + */ | ||
| 28 | + @TableId | ||
| 29 | + private Long id; | ||
| 30 | + /** | ||
| 31 | + * 业务表主键 | ||
| 32 | + */ | ||
| 33 | + private String busiId; | ||
| 34 | + /** | ||
| 35 | + * 班组编码 | ||
| 36 | + */ | ||
| 37 | + private String teamId; | ||
| 38 | + /** | ||
| 39 | + * 班组名称 | ||
| 40 | + */ | ||
| 41 | + private String teamName; | ||
| 42 | + /** | ||
| 43 | + * 班组名称 | ||
| 44 | + */ | ||
| 45 | + private Long weight; | ||
| 46 | + /** | ||
| 47 | + * 归属公司 | ||
| 48 | + */ | ||
| 49 | + private String companyName; | ||
| 50 | + /** | ||
| 51 | + * 归属公司ID | ||
| 52 | + */ | ||
| 53 | + private String companyId; | ||
| 54 | + /** | ||
| 55 | + * 业务类型 | ||
| 56 | + */ | ||
| 57 | + private String busiType; | ||
| 58 | + | ||
| 59 | + | ||
| 60 | +} | ||
| 0 | \ No newline at end of file | 61 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/assigntasks/AssignTasksMapper.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.mysql.assigntasks; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | + | ||
| 5 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 6 | +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 7 | +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; | ||
| 8 | +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasks.AssignTasksDO; | ||
| 9 | +import org.apache.ibatis.annotations.Mapper; | ||
| 10 | +import com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo.*; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * 派单任务主表(记录派单任务基本信息) Mapper | ||
| 14 | + * | ||
| 15 | + * @author 超级管理员 | ||
| 16 | + */ | ||
| 17 | +@Mapper | ||
| 18 | +public interface AssignTasksMapper extends BaseMapperX<AssignTasksDO> { | ||
| 19 | + | ||
| 20 | + default PageResult<AssignTasksDO> selectPage(AssignTasksPageReqVO reqVO) { | ||
| 21 | + return selectPage(reqVO, new LambdaQueryWrapperX<AssignTasksDO>() | ||
| 22 | + .likeIfPresent(AssignTasksDO::getTaskName, reqVO.getTaskName()) | ||
| 23 | + .eqIfPresent(AssignTasksDO::getTaskType, reqVO.getTaskType()) | ||
| 24 | + .eqIfPresent(AssignTasksDO::getDeadline, reqVO.getDeadline()) | ||
| 25 | + .eqIfPresent(AssignTasksDO::getTemplateFile, reqVO.getTemplateFile()) | ||
| 26 | + .eqIfPresent(AssignTasksDO::getParentFinish, reqVO.getParentFinish()) | ||
| 27 | + .betweenIfPresent(AssignTasksDO::getFinishTime, reqVO.getFinishTime()) | ||
| 28 | + .eqIfPresent(AssignTasksDO::getNote, reqVO.getNote()) | ||
| 29 | + .eqIfPresent(AssignTasksDO::getCreator, reqVO.getCreator()) | ||
| 30 | + .betweenIfPresent(AssignTasksDO::getCreateTime, reqVO.getCreateTime()) | ||
| 31 | + .eqIfPresent(AssignTasksDO::getUpdater, reqVO.getUpdater()) | ||
| 32 | + .betweenIfPresent(AssignTasksDO::getDeadline, reqVO.getDeadline()) | ||
| 33 | + .orderByDesc(AssignTasksDO::getId)); | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/assigntasksinfo/AssignTasksInfoMapper.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.mysql.assigntasksinfo; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | + | ||
| 5 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 6 | +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 7 | +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; | ||
| 8 | +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo.AssignTasksInfoDO; | ||
| 9 | +import org.apache.ibatis.annotations.Mapper; | ||
| 10 | +import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.*; | ||
| 11 | +import org.apache.ibatis.annotations.Param; | ||
| 12 | + | ||
| 13 | +/** | ||
| 14 | + * 派单任务-单位关联表(记录单位接收派单后的执行详情) Mapper | ||
| 15 | + * | ||
| 16 | + * @author 超级管理员 | ||
| 17 | + */ | ||
| 18 | +@Mapper | ||
| 19 | +public interface AssignTasksInfoMapper extends BaseMapperX<AssignTasksInfoDO> { | ||
| 20 | + | ||
| 21 | + default PageResult<AssignTasksInfoDO> selectPage(AssignTasksInfoPageReqVO reqVO) { | ||
| 22 | + return selectPage(reqVO, new LambdaQueryWrapperX<AssignTasksInfoDO>() | ||
| 23 | + .eqIfPresent(AssignTasksInfoDO::getTaskId, reqVO.getTaskId()) | ||
| 24 | + .eqIfPresent(AssignTasksInfoDO::getCompanyId, reqVO.getCompanyId()) | ||
| 25 | + .likeIfPresent(AssignTasksInfoDO::getCompanyName, reqVO.getCompanyName()) | ||
| 26 | + .eqIfPresent(AssignTasksInfoDO::getWritePersonId, reqVO.getWritePersonId()) | ||
| 27 | + .eqIfPresent(AssignTasksInfoDO::getWritePerson, reqVO.getWritePerson()) | ||
| 28 | + .eqIfPresent(AssignTasksInfoDO::getWritePersonPhone, reqVO.getWritePersonPhone()) | ||
| 29 | + .betweenIfPresent(AssignTasksInfoDO::getWriteTime, reqVO.getWriteTime()) | ||
| 30 | + .eqIfPresent(AssignTasksInfoDO::getFinish, reqVO.getFinish()) | ||
| 31 | + .eqIfPresent(AssignTasksInfoDO::getIsOverdue, reqVO.getIsOverdue()) | ||
| 32 | + .eqIfPresent(AssignTasksInfoDO::getDataFile, reqVO.getDataFile()) | ||
| 33 | + .eqIfPresent(AssignTasksInfoDO::getRushNum, reqVO.getRushNum()) | ||
| 34 | + .eqIfPresent(AssignTasksInfoDO::getNewFlag, reqVO.getNewFlag()) | ||
| 35 | + .betweenIfPresent(AssignTasksInfoDO::getNewFlagTime, reqVO.getNewFlagTime()) | ||
| 36 | + .eqIfPresent(AssignTasksInfoDO::getRejectRemark, reqVO.getRejectRemark()) | ||
| 37 | + .eqIfPresent(AssignTasksInfoDO::getConfirm, reqVO.getConfirm()) | ||
| 38 | + .betweenIfPresent(AssignTasksInfoDO::getConfirmTime, reqVO.getConfirmTime()) | ||
| 39 | + .eqIfPresent(AssignTasksInfoDO::getCreator, reqVO.getCreator()) | ||
| 40 | + .betweenIfPresent(AssignTasksInfoDO::getCreateTime, reqVO.getCreateTime()) | ||
| 41 | + .eqIfPresent(AssignTasksInfoDO::getUpdater, reqVO.getUpdater()) | ||
| 42 | + .eqIfPresent(AssignTasksInfoDO::getRemark, reqVO.getRemark()) | ||
| 43 | + .eqIfPresent(AssignTasksInfoDO::getIsReject, reqVO.getIsReject()) | ||
| 44 | + .orderByDesc(AssignTasksInfoDO::getId)); | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + /** | ||
| 48 | + * 删除派单任务-单位关联(记录单位接收派单后的执行详情) | ||
| 49 | + * | ||
| 50 | + * @param ids 派单任务-单位关联(记录单位接收派单后的执行详情)ID | ||
| 51 | + * @return 结果 | ||
| 52 | + */ | ||
| 53 | + public int deleteAssignTaskInfoByTaskId(List<Long> ids); | ||
| 54 | + | ||
| 55 | + /** | ||
| 56 | + * 批量更新“是否超时”字段 | ||
| 57 | + */ | ||
| 58 | + public int batchUpdateIsOverdue(@Param("list") List<AssignTasksInfoDO> taskInfoList); | ||
| 59 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/departmentcost/DepartmentCostMapper.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.mysql.departmentcost; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | + | ||
| 5 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 6 | +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 7 | +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; | ||
| 8 | +import com.zteits.urbanops.module.garden.dal.dataobject.departmentcost.DepartmentCostDO; | ||
| 9 | +import org.apache.ibatis.annotations.Mapper; | ||
| 10 | +import com.zteits.urbanops.module.garden.controller.admin.departmentcost.vo.*; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * 部门费用录入 Mapper | ||
| 14 | + * | ||
| 15 | + * @author 超级管理员 | ||
| 16 | + */ | ||
| 17 | +@Mapper | ||
| 18 | +public interface DepartmentCostMapper extends BaseMapperX<DepartmentCostDO> { | ||
| 19 | + | ||
| 20 | + default PageResult<DepartmentCostDO> selectPage(DepartmentCostPageReqVO reqVO) { | ||
| 21 | + return selectPage(reqVO, new LambdaQueryWrapperX<DepartmentCostDO>() | ||
| 22 | + .eqIfPresent(DepartmentCostDO::getSalaryMonth, reqVO.getSalaryMonth()) | ||
| 23 | + .likeIfPresent(DepartmentCostDO::getExpenseName, reqVO.getExpenseName()) | ||
| 24 | + .likeIfPresent(DepartmentCostDO::getDepartmentName, reqVO.getDepartmentName()) | ||
| 25 | + .eqIfPresent(DepartmentCostDO::getPersonCount, reqVO.getPersonCount()) | ||
| 26 | + .eqIfPresent(DepartmentCostDO::getDeptTotalCost, reqVO.getDeptTotalCost()) | ||
| 27 | + .likeIfPresent(DepartmentCostDO::getCompanyName, reqVO.getCompanyName()) | ||
| 28 | + .eqIfPresent(DepartmentCostDO::getCompanyId, reqVO.getCompanyId()) | ||
| 29 | + .eqIfPresent(DepartmentCostDO::getDeptId, reqVO.getDeptId()) | ||
| 30 | + .eqIfPresent(DepartmentCostDO::getRemark, reqVO.getRemark()) | ||
| 31 | + .betweenIfPresent(DepartmentCostDO::getCreateTime, reqVO.getCreateTime()) | ||
| 32 | + .orderByDesc(DepartmentCostDO::getId)); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | +} | ||
| 0 | \ No newline at end of file | 36 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/mechanicalcost/MechanicalCostMapper.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.mysql.mechanicalcost; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | + | ||
| 5 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 6 | +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 7 | +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; | ||
| 8 | +import com.zteits.urbanops.module.garden.dal.dataobject.mechanicalcost.MechanicalCostDO; | ||
| 9 | +import org.apache.ibatis.annotations.Mapper; | ||
| 10 | +import com.zteits.urbanops.module.garden.controller.admin.mechanicalcost.vo.*; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * 自有机械费用录入 Mapper | ||
| 14 | + * | ||
| 15 | + * @author 超级管理员 | ||
| 16 | + */ | ||
| 17 | +@Mapper | ||
| 18 | +public interface MechanicalCostMapper extends BaseMapperX<MechanicalCostDO> { | ||
| 19 | + | ||
| 20 | + default PageResult<MechanicalCostDO> selectPage(MechanicalCostPageReqVO reqVO) { | ||
| 21 | + return selectPage(reqVO, new LambdaQueryWrapperX<MechanicalCostDO>() | ||
| 22 | + .eqIfPresent(MechanicalCostDO::getMechType, reqVO.getMechType()) | ||
| 23 | + .eqIfPresent(MechanicalCostDO::getMechCode, reqVO.getMechCode()) | ||
| 24 | + .likeIfPresent(MechanicalCostDO::getMechName, reqVO.getMechName()) | ||
| 25 | + .eqIfPresent(MechanicalCostDO::getMechCategory, reqVO.getMechCategory()) | ||
| 26 | + .eqIfPresent(MechanicalCostDO::getUnitPrice, reqVO.getUnitPrice()) | ||
| 27 | + .eqIfPresent(MechanicalCostDO::getQuantity, reqVO.getQuantity()) | ||
| 28 | + .eqIfPresent(MechanicalCostDO::getLicensePlate, reqVO.getLicensePlate()) | ||
| 29 | + .eqIfPresent(MechanicalCostDO::getVehicleCategory, reqVO.getVehicleCategory()) | ||
| 30 | + .eqIfPresent(MechanicalCostDO::getVehicleType, reqVO.getVehicleType()) | ||
| 31 | + .betweenIfPresent(MechanicalCostDO::getStartUseTime, reqVO.getStartUseTime()) | ||
| 32 | + .eqIfPresent(MechanicalCostDO::getServiceLife, reqVO.getServiceLife()) | ||
| 33 | + .betweenIfPresent(MechanicalCostDO::getEndUseTime, reqVO.getEndUseTime()) | ||
| 34 | + .likeIfPresent(MechanicalCostDO::getCompanyName, reqVO.getCompanyName()) | ||
| 35 | + .eqIfPresent(MechanicalCostDO::getCompanyId, reqVO.getCompanyId()) | ||
| 36 | + .eqIfPresent(MechanicalCostDO::getDeptId, reqVO.getDeptId()) | ||
| 37 | + .eqIfPresent(MechanicalCostDO::getRemark, reqVO.getRemark()) | ||
| 38 | + .betweenIfPresent(MechanicalCostDO::getCreateTime, reqVO.getCreateTime()) | ||
| 39 | + .orderByDesc(MechanicalCostDO::getId)); | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | +} | ||
| 0 | \ No newline at end of file | 43 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/mechanicaldepreciation/MechanicalDepreciationMapper.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.mysql.mechanicaldepreciation; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | + | ||
| 5 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 6 | +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 7 | +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; | ||
| 8 | +import com.zteits.urbanops.module.garden.dal.dataobject.mechanicaldepreciation.MechanicalDepreciationDO; | ||
| 9 | +import org.apache.ibatis.annotations.Mapper; | ||
| 10 | +import com.zteits.urbanops.module.garden.controller.admin.mechanicaldepreciation.vo.*; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * 自有机械折旧子 Mapper | ||
| 14 | + * | ||
| 15 | + * @author 超级管理员 | ||
| 16 | + */ | ||
| 17 | +@Mapper | ||
| 18 | +public interface MechanicalDepreciationMapper extends BaseMapperX<MechanicalDepreciationDO> { | ||
| 19 | + | ||
| 20 | + default PageResult<MechanicalDepreciationDO> selectPage(MechanicalDepreciationPageReqVO reqVO) { | ||
| 21 | + return selectPage(reqVO, new LambdaQueryWrapperX<MechanicalDepreciationDO>() | ||
| 22 | + .eqIfPresent(MechanicalDepreciationDO::getMechId, reqVO.getMechId()) | ||
| 23 | + .eqIfPresent(MechanicalDepreciationDO::getDepreciationPeriod, reqVO.getDepreciationPeriod()) | ||
| 24 | + .eqIfPresent(MechanicalDepreciationDO::getOriginalValue, reqVO.getOriginalValue()) | ||
| 25 | + .eqIfPresent(MechanicalDepreciationDO::getNetValue, reqVO.getNetValue()) | ||
| 26 | + .eqIfPresent(MechanicalDepreciationDO::getDepreciationAmount, reqVO.getDepreciationAmount()) | ||
| 27 | + .eqIfPresent(MechanicalDepreciationDO::getAccumulatedDepreciation, reqVO.getAccumulatedDepreciation()) | ||
| 28 | + .eqIfPresent(MechanicalDepreciationDO::getDepreciationMethod, reqVO.getDepreciationMethod()) | ||
| 29 | + .eqIfPresent(MechanicalDepreciationDO::getResidualRate, reqVO.getResidualRate()) | ||
| 30 | + .eqIfPresent(MechanicalDepreciationDO::getServiceLife, reqVO.getServiceLife()) | ||
| 31 | + .eqIfPresent(MechanicalDepreciationDO::getRemainingPeriods, reqVO.getRemainingPeriods()) | ||
| 32 | + .eqIfPresent(MechanicalDepreciationDO::getRemark, reqVO.getRemark()) | ||
| 33 | + .betweenIfPresent(MechanicalDepreciationDO::getCreateTime, reqVO.getCreateTime()) | ||
| 34 | + .orderByDesc(MechanicalDepreciationDO::getId)); | ||
| 35 | + } | ||
| 36 | + | ||
| 37 | +} | ||
| 0 | \ No newline at end of file | 38 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/personalcost/PersonalCostMapper.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.mysql.personalcost; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | + | ||
| 5 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 6 | +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 7 | +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; | ||
| 8 | +import com.zteits.urbanops.module.garden.dal.dataobject.personalcost.PersonalCostDO; | ||
| 9 | +import org.apache.ibatis.annotations.Mapper; | ||
| 10 | +import com.zteits.urbanops.module.garden.controller.admin.personalcost.vo.*; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * 人员费用录入 - 个人费用 Mapper | ||
| 14 | + * | ||
| 15 | + * @author 超级管理员 | ||
| 16 | + */ | ||
| 17 | +@Mapper | ||
| 18 | +public interface PersonalCostMapper extends BaseMapperX<PersonalCostDO> { | ||
| 19 | + | ||
| 20 | + default PageResult<PersonalCostDO> selectPage(PersonalCostPageReqVO reqVO) { | ||
| 21 | + return selectPage(reqVO, new LambdaQueryWrapperX<PersonalCostDO>() | ||
| 22 | + .eqIfPresent(PersonalCostDO::getSalaryMonth, reqVO.getSalaryMonth()) | ||
| 23 | + .likeIfPresent(PersonalCostDO::getName, reqVO.getName()) | ||
| 24 | + .eqIfPresent(PersonalCostDO::getSalaryAmount, reqVO.getSalaryAmount()) | ||
| 25 | + .likeIfPresent(PersonalCostDO::getPostName, reqVO.getPostName()) | ||
| 26 | + .eqIfPresent(PersonalCostDO::getPostCategory, reqVO.getPostCategory()) | ||
| 27 | + .likeIfPresent(PersonalCostDO::getCompanyName, reqVO.getCompanyName()) | ||
| 28 | + .eqIfPresent(PersonalCostDO::getCompanyId, reqVO.getCompanyId()) | ||
| 29 | + .eqIfPresent(PersonalCostDO::getDeptId, reqVO.getDeptId()) | ||
| 30 | + .eqIfPresent(PersonalCostDO::getRemark, reqVO.getRemark()) | ||
| 31 | + .betweenIfPresent(PersonalCostDO::getCreateTime, reqVO.getCreateTime()) | ||
| 32 | + .orderByDesc(PersonalCostDO::getId)); | ||
| 33 | + } | ||
| 34 | + | ||
| 35 | +} | ||
| 0 | \ No newline at end of file | 36 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/rentalmechanicalcost/RentalMechanicalCostMapper.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.mysql.rentalmechanicalcost; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | + | ||
| 5 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 6 | +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 7 | +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; | ||
| 8 | +import com.zteits.urbanops.module.garden.dal.dataobject.rentalmechanicalcost.RentalMechanicalCostDO; | ||
| 9 | +import org.apache.ibatis.annotations.Mapper; | ||
| 10 | +import com.zteits.urbanops.module.garden.controller.admin.rentalmechanicalcost.vo.*; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * 租赁机械费用录入 Mapper | ||
| 14 | + * | ||
| 15 | + * @author 超级管理员 | ||
| 16 | + */ | ||
| 17 | +@Mapper | ||
| 18 | +public interface RentalMechanicalCostMapper extends BaseMapperX<RentalMechanicalCostDO> { | ||
| 19 | + | ||
| 20 | + default PageResult<RentalMechanicalCostDO> selectPage(RentalMechanicalCostPageReqVO reqVO) { | ||
| 21 | + return selectPage(reqVO, new LambdaQueryWrapperX<RentalMechanicalCostDO>() | ||
| 22 | + .likeIfPresent(RentalMechanicalCostDO::getMechName, reqVO.getMechName()) | ||
| 23 | + .eqIfPresent(RentalMechanicalCostDO::getMechType, reqVO.getMechType()) | ||
| 24 | + .eqIfPresent(RentalMechanicalCostDO::getRentalTotalPrice, reqVO.getRentalTotalPrice()) | ||
| 25 | + .eqIfPresent(RentalMechanicalCostDO::getQuantity, reqVO.getQuantity()) | ||
| 26 | + .eqIfPresent(RentalMechanicalCostDO::getLicensePlate, reqVO.getLicensePlate()) | ||
| 27 | + .eqIfPresent(RentalMechanicalCostDO::getVehicleCategory, reqVO.getVehicleCategory()) | ||
| 28 | + .eqIfPresent(RentalMechanicalCostDO::getVehicleType, reqVO.getVehicleType()) | ||
| 29 | + .betweenIfPresent(RentalMechanicalCostDO::getStartUseTime, reqVO.getStartUseTime()) | ||
| 30 | + .eqIfPresent(RentalMechanicalCostDO::getUseDuration, reqVO.getUseDuration()) | ||
| 31 | + .betweenIfPresent(RentalMechanicalCostDO::getEndUseTime, reqVO.getEndUseTime()) | ||
| 32 | + .likeIfPresent(RentalMechanicalCostDO::getCompanyName, reqVO.getCompanyName()) | ||
| 33 | + .eqIfPresent(RentalMechanicalCostDO::getCompanyId, reqVO.getCompanyId()) | ||
| 34 | + .eqIfPresent(RentalMechanicalCostDO::getDeptId, reqVO.getDeptId()) | ||
| 35 | + .eqIfPresent(RentalMechanicalCostDO::getTeamIds, reqVO.getTeamIds()) | ||
| 36 | + .eqIfPresent(RentalMechanicalCostDO::getRoadIds, reqVO.getRoadIds()) | ||
| 37 | + .eqIfPresent(RentalMechanicalCostDO::getRemark, reqVO.getRemark()) | ||
| 38 | + .betweenIfPresent(RentalMechanicalCostDO::getCreateTime, reqVO.getCreateTime()) | ||
| 39 | + .orderByDesc(RentalMechanicalCostDO::getId)); | ||
| 40 | + } | ||
| 41 | + | ||
| 42 | +} | ||
| 0 | \ No newline at end of file | 43 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/teambizdomainrel/TeamBizdomainRelMapper.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.dal.mysql.teambizdomainrel; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | + | ||
| 5 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 6 | +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 7 | +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; | ||
| 8 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 9 | +import org.apache.ibatis.annotations.Mapper; | ||
| 10 | +import com.zteits.urbanops.module.garden.controller.admin.teambizdomainrel.vo.*; | ||
| 11 | + | ||
| 12 | +/** | ||
| 13 | + * 班组关联 Mapper | ||
| 14 | + * | ||
| 15 | + * @author 超级管理员 | ||
| 16 | + */ | ||
| 17 | +@Mapper | ||
| 18 | +public interface TeamBizdomainRelMapper extends BaseMapperX<TeamBizdomainRelDO> { | ||
| 19 | + | ||
| 20 | + default PageResult<TeamBizdomainRelDO> selectPage(TeamBizdomainRelPageReqVO reqVO) { | ||
| 21 | + return selectPage(reqVO, new LambdaQueryWrapperX<TeamBizdomainRelDO>() | ||
| 22 | + .eqIfPresent(TeamBizdomainRelDO::getBusiId, reqVO.getBusiId()) | ||
| 23 | + .eqIfPresent(TeamBizdomainRelDO::getTeamId, reqVO.getTeamId()) | ||
| 24 | + .likeIfPresent(TeamBizdomainRelDO::getTeamName, reqVO.getTeamName()) | ||
| 25 | + .eqIfPresent(TeamBizdomainRelDO::getWeight, reqVO.getWeight()) | ||
| 26 | + .likeIfPresent(TeamBizdomainRelDO::getCompanyName, reqVO.getCompanyName()) | ||
| 27 | + .eqIfPresent(TeamBizdomainRelDO::getCompanyId, reqVO.getCompanyId()) | ||
| 28 | + .betweenIfPresent(TeamBizdomainRelDO::getCreateTime, reqVO.getCreateTime()) | ||
| 29 | + .eqIfPresent(TeamBizdomainRelDO::getBusiType, reqVO.getBusiType()) | ||
| 30 | + .orderByDesc(TeamBizdomainRelDO::getId)); | ||
| 31 | + } | ||
| 32 | + | ||
| 33 | +} | ||
| 0 | \ No newline at end of file | 34 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/AssignTasksConstants.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.enums; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * @Classname AssignTasksConstants | ||
| 5 | + * @Description 派单静态数据 | ||
| 6 | + * @Date 2025/11/16 16:43 | ||
| 7 | + * @Created by wangqian | ||
| 8 | + */ | ||
| 9 | +public class AssignTasksConstants { | ||
| 10 | + | ||
| 11 | + /*初始状态*/ | ||
| 12 | + public static final Integer ASSIGN_TASK_FINISH_0 = 0; | ||
| 13 | + /* 完成*/ | ||
| 14 | + public static final Integer ASSIGN_TASK_FINISH_1 = 1; | ||
| 15 | + | ||
| 16 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/CostFeeConstants.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.enums; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * @Classname CostFeeConstants | ||
| 5 | + * @Description 人机材 | ||
| 6 | + * @Date 2025/11/19 20:42 | ||
| 7 | + * @Created by wangqian | ||
| 8 | + */ | ||
| 9 | +public class CostFeeConstants { | ||
| 10 | + | ||
| 11 | + public static final String COSTFEE_WATER = "costFree_water"; | ||
| 12 | + | ||
| 13 | + public static final String COSTFEE_PERSONAL = "costFree_presonal"; | ||
| 14 | + | ||
| 15 | + public static final String COSTFEE_DEPARTMENT = "costFee_department"; | ||
| 16 | + | ||
| 17 | + public static final String COSTFEE_GARDENWASTE = "costFee_gardenWaste"; | ||
| 18 | + | ||
| 19 | + public static final String COSTFEE_MECHANICAL = "costFee_mechanical"; | ||
| 20 | + | ||
| 21 | + public static final String COSTFEE_RENTALMECHANICAL = "costFee_rentalmechanical"; | ||
| 22 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/enums/ErrorCodeConstants.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.enums; | ||
| 2 | + | ||
| 3 | + | ||
| 4 | +import com.zteits.urbanops.framework.common.exception.ErrorCode; | ||
| 5 | + | ||
| 6 | +/** | ||
| 7 | + * ERP 错误码枚举类 | ||
| 8 | + * <p> | ||
| 9 | + * erp 系统,使用 1-100-000-000 段 | ||
| 10 | + */ | ||
| 11 | +public interface ErrorCodeConstants { | ||
| 12 | + | ||
| 13 | + // ========== server 派单 1-100-001-000 ========== | ||
| 14 | + ErrorCode ASSIGN_TASKS_NOT_EXISTS = new ErrorCode(1-100-001-000, "派单任务主表(记录派单任务基本信息)不存在"); | ||
| 15 | + | ||
| 16 | + ErrorCode ASSIGN_TASKS_NOT_EXISTS_001 = new ErrorCode(1-100-001-001, "派单任务主表(记录派单任务基本信息)不存在"); | ||
| 17 | + ErrorCode ASSIGN_TASKS_NOT_EXISTS_002 = new ErrorCode(1-100-001-002, "未全部完成,不能确认"); | ||
| 18 | + | ||
| 19 | + ErrorCode ASSIGN_TASKS_INFO_NOT_EXISTS = new ErrorCode(1-100-002-000, "派发单位不能为空"); | ||
| 20 | + | ||
| 21 | + ErrorCode ASSIGN_TASKS_INFO_NOT_EXISTS_100 = new ErrorCode(1-100-002-100, "用户未登录"); | ||
| 22 | + | ||
| 23 | + ErrorCode ASSIGN_TASKS_INFO_NOT_EXISTS_001 = new ErrorCode(1-100-002-001, "派发单位不能为空"); | ||
| 24 | + | ||
| 25 | + ErrorCode ASSIGN_TASKS_INFO_NOT_EXISTS_002 = new ErrorCode(1-100-002-002, "派单已完成,不允许删除"); | ||
| 26 | + | ||
| 27 | + ErrorCode ASSIGN_TASKS_INFO_NOT_EXISTS_003 = new ErrorCode(1-100-002-003, "更新派单任务失败:任务ID不能为空"); | ||
| 28 | + | ||
| 29 | + // ========== 人机材料 1-100-003-000========== | ||
| 30 | + | ||
| 31 | + ErrorCode COST_FEE_NOT_EXISTS = new ErrorCode(1-100-003-000, "费用已录入"); | ||
| 32 | + | ||
| 33 | + // ========== 部门费用费用 1-100-005-000========== | ||
| 34 | + ErrorCode DEPARTMENT_COST_NOT_EXISTS_01 = new ErrorCode(1-100-003-001, "部门费用为空"); | ||
| 35 | + | ||
| 36 | + // ========== 人员费用 1-100-005-000========== | ||
| 37 | + ErrorCode PERSONAL_COST_NOT_EXISTS = new ErrorCode(1-100-004-000, "人员费用为空"); | ||
| 38 | + | ||
| 39 | + ErrorCode PERSONAL_COST_NOT_EXISTS_001 = new ErrorCode(1-100-004-001, "参数错误"); | ||
| 40 | + | ||
| 41 | + // ========== 自有机械材料 1-100-005-000========== | ||
| 42 | + ErrorCode MECHANICAL_COST_NOT_EXISTS = new ErrorCode(1-100-005-000, "费用已录入"); | ||
| 43 | + ErrorCode MECHANICAL_COST_NOT_EXISTS_001 = new ErrorCode(1-100-006-001, "参数错误"); | ||
| 44 | + | ||
| 45 | + // ========== 自有机械折旧 1-100-006-000========== | ||
| 46 | + ErrorCode MECHANICAL_DEPRECIATION_NOT_EXISTS_001 = new ErrorCode(1-100-006-001, "参数错误"); | ||
| 47 | + | ||
| 48 | + | ||
| 49 | + // ========== 租赁机械 1-100-007-000========== | ||
| 50 | + ErrorCode RENTAL_MECHANICAL_COST_NOT_EXISTS = new ErrorCode(1-100-007-000, "费用已录入"); | ||
| 51 | + | ||
| 52 | + | ||
| 53 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasks/AssignTasksService.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.assigntasks; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | +import jakarta.validation.*; | ||
| 5 | +import com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo.*; | ||
| 6 | +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasks.AssignTasksDO; | ||
| 7 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 8 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * 派单任务主表(记录派单任务基本信息) Service 接口 | ||
| 12 | + * | ||
| 13 | + * @author 超级管理员 | ||
| 14 | + */ | ||
| 15 | +public interface AssignTasksService { | ||
| 16 | + | ||
| 17 | + /** | ||
| 18 | + * 创建派单任务主表(记录派单任务基本信息) | ||
| 19 | + * | ||
| 20 | + * @param createReqVO 创建信息 | ||
| 21 | + * @return 编号 | ||
| 22 | + */ | ||
| 23 | + Long createAssignTasks(@Valid AssignTasksSaveReqVO createReqVO); | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * 更新派单任务主表(记录派单任务基本信息) | ||
| 27 | + * | ||
| 28 | + * @param updateReqVO 更新信息 | ||
| 29 | + */ | ||
| 30 | + void updateAssignTasks(@Valid AssignTasksSaveReqVO updateReqVO); | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * 删除派单任务主表(记录派单任务基本信息) | ||
| 34 | + * | ||
| 35 | + * @param id 编号 | ||
| 36 | + */ | ||
| 37 | + void deleteAssignTasks(Long id); | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 批量删除派单任务主表(记录派单任务基本信息) | ||
| 41 | + * | ||
| 42 | + * @param ids 编号 | ||
| 43 | + */ | ||
| 44 | + void deleteAssignTasksListByIds(List<Long> ids); | ||
| 45 | + | ||
| 46 | + /** | ||
| 47 | + * 获得派单任务主表(记录派单任务基本信息) | ||
| 48 | + * | ||
| 49 | + * @param id 编号 | ||
| 50 | + * @return 派单任务主表(记录派单任务基本信息) | ||
| 51 | + */ | ||
| 52 | + AssignTasksDO getAssignTasks(Long id); | ||
| 53 | + | ||
| 54 | + /** | ||
| 55 | + * 获得派单任务主表(记录派单任务基本信息)分页 | ||
| 56 | + * | ||
| 57 | + * @param pageReqVO 分页查询 | ||
| 58 | + * @return 派单任务主表(记录派单任务基本信息)分页 | ||
| 59 | + */ | ||
| 60 | + PageResult<AssignTasksDO> getAssignTasksPage(AssignTasksPageReqVO pageReqVO); | ||
| 61 | + | ||
| 62 | + /** | ||
| 63 | + * @Author wangqian | ||
| 64 | + * @Description | ||
| 65 | + * @Date 2025/11/17 23:02 | ||
| 66 | + * @Param id | ||
| 67 | + * @Return int | ||
| 68 | + */ | ||
| 69 | + public int confirmAssignTasksById(Long id); | ||
| 70 | + | ||
| 71 | + /** | ||
| 72 | + * @Author wangqian | ||
| 73 | + * @Description 超时定时任务处理 | ||
| 74 | + * @Date 2025/11/17 23:02 | ||
| 75 | + * @Param | ||
| 76 | + * @Return int | ||
| 77 | + */ | ||
| 78 | + public int tasksOutTimeAuto(); | ||
| 79 | + | ||
| 80 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasks/AssignTasksServiceImpl.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.assigntasks; | ||
| 2 | + | ||
| 3 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
| 4 | +import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
| 5 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 6 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 7 | +import com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo.AssignTasksPageReqVO; | ||
| 8 | +import com.zteits.urbanops.module.garden.controller.admin.assigntasks.vo.AssignTasksSaveReqVO; | ||
| 9 | +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasks.AssignTasksDO; | ||
| 10 | +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo.AssignTasksInfoDO; | ||
| 11 | +import com.zteits.urbanops.module.garden.dal.mysql.assigntasks.AssignTasksMapper; | ||
| 12 | +import com.zteits.urbanops.module.garden.dal.mysql.assigntasksinfo.AssignTasksInfoMapper; | ||
| 13 | +import com.zteits.urbanops.module.garden.enums.AssignTasksConstants; | ||
| 14 | +import com.zteits.urbanops.module.garden.service.assigntasksinfo.AssignTasksInfoService; | ||
| 15 | +import jakarta.annotation.Resource; | ||
| 16 | +import lombok.extern.slf4j.Slf4j; | ||
| 17 | +import org.springframework.stereotype.Service; | ||
| 18 | +import org.springframework.transaction.annotation.Transactional; | ||
| 19 | +import org.springframework.util.CollectionUtils; | ||
| 20 | +import org.springframework.validation.annotation.Validated; | ||
| 21 | + | ||
| 22 | +import java.time.LocalDateTime; | ||
| 23 | +import java.util.ArrayList; | ||
| 24 | +import java.util.List; | ||
| 25 | + | ||
| 26 | +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; | ||
| 27 | +import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | ||
| 28 | +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; | ||
| 29 | + | ||
| 30 | +/** | ||
| 31 | + * 派单任务主表(记录派单任务基本信息) Service 实现类 | ||
| 32 | + * | ||
| 33 | + * @author 超级管理员 | ||
| 34 | + */ | ||
| 35 | +@Service | ||
| 36 | +@Validated | ||
| 37 | +@Slf4j | ||
| 38 | +public class AssignTasksServiceImpl implements AssignTasksService { | ||
| 39 | + | ||
| 40 | + @Resource | ||
| 41 | + private AssignTasksMapper assignTasksMapper; | ||
| 42 | + | ||
| 43 | + @Resource | ||
| 44 | + private AssignTasksInfoMapper assiAssignTasksInfoMapper; | ||
| 45 | + | ||
| 46 | + @Resource | ||
| 47 | + private AssignTasksInfoService assignTasksInfoService; | ||
| 48 | + | ||
| 49 | + | ||
| 50 | + @Transactional(rollbackFor = Exception.class) | ||
| 51 | + @Override | ||
| 52 | + public Long createAssignTasks(AssignTasksSaveReqVO createReqVO) { | ||
| 53 | + // 插入 | ||
| 54 | + AssignTasksDO assignTasks = BeanUtils.toBean(createReqVO, AssignTasksDO.class); | ||
| 55 | + assignTasksMapper.insert(assignTasks); | ||
| 56 | + //保存单位明细 | ||
| 57 | + String[] originalCompanyIds = createReqVO.getCompanyIds(); | ||
| 58 | + if (originalCompanyIds == null || originalCompanyIds.length == 0) { | ||
| 59 | + throw exception(ASSIGN_TASKS_NOT_EXISTS_001); | ||
| 60 | + } | ||
| 61 | + assignTasksInfoService.saveAssignTasksInfos(createReqVO.getCompanyIds(), assignTasks.getId()); | ||
| 62 | + //保存单位明细 | ||
| 63 | + | ||
| 64 | + // 返回 | ||
| 65 | + return assignTasks.getId(); | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + @Transactional(rollbackFor = Exception.class) | ||
| 69 | + @Override | ||
| 70 | + public void updateAssignTasks(AssignTasksSaveReqVO updateReqVO) { | ||
| 71 | + // 校验存在 | ||
| 72 | + validateAssignTasksExists(updateReqVO.getId()); | ||
| 73 | + // 更新 | ||
| 74 | + AssignTasksDO updateObj = BeanUtils.toBean(updateReqVO, AssignTasksDO.class); | ||
| 75 | + assignTasksMapper.updateById(updateObj); | ||
| 76 | + | ||
| 77 | + // add by wq 20251116 | ||
| 78 | + String[] originalCompanyIds = updateReqVO.getCompanyIds(); | ||
| 79 | + if (originalCompanyIds == null || originalCompanyIds.length == 0) { | ||
| 80 | + throw exception(ASSIGN_TASKS_NOT_EXISTS_001); | ||
| 81 | + } | ||
| 82 | + | ||
| 83 | + assignTasksInfoService.updateAssignTasksInfos(updateReqVO.getCompanyIds(), updateObj.getId()); | ||
| 84 | + } | ||
| 85 | + | ||
| 86 | + @Override | ||
| 87 | + public void deleteAssignTasks(Long id) { | ||
| 88 | + // 校验存在 | ||
| 89 | + validateAssignTasksExists(id); | ||
| 90 | + // 删除 | ||
| 91 | + assignTasksMapper.deleteById(id); | ||
| 92 | + } | ||
| 93 | + | ||
| 94 | + @Override | ||
| 95 | + @Transactional | ||
| 96 | + public void deleteAssignTasksListByIds(List<Long> ids) { | ||
| 97 | + // 删除 | ||
| 98 | + assignTasksMapper.deleteByIds(ids); | ||
| 99 | + //删除关联的明细 | ||
| 100 | + assiAssignTasksInfoMapper.deleteAssignTaskInfoByTaskId(ids); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | + | ||
| 104 | + private void validateAssignTasksExists(Long id) { | ||
| 105 | + if (assignTasksMapper.selectById(id) == null) { | ||
| 106 | + throw exception(ASSIGN_TASKS_NOT_EXISTS); | ||
| 107 | + } | ||
| 108 | + } | ||
| 109 | + | ||
| 110 | + @Override | ||
| 111 | + public AssignTasksDO getAssignTasks(Long id) { | ||
| 112 | + return assignTasksMapper.selectById(id); | ||
| 113 | + } | ||
| 114 | + | ||
| 115 | + @Override | ||
| 116 | + public PageResult<AssignTasksDO> getAssignTasksPage(AssignTasksPageReqVO pageReqVO) { | ||
| 117 | + return assignTasksMapper.selectPage(pageReqVO); | ||
| 118 | + } | ||
| 119 | + | ||
| 120 | + | ||
| 121 | + @Override | ||
| 122 | + public int confirmAssignTasksById(Long id) { | ||
| 123 | + // 获得用户基本信息 | ||
| 124 | + AssignTasksDO assignTasks = assignTasksMapper.selectById(id); | ||
| 125 | + | ||
| 126 | + List<AssignTasksInfoDO> assignTaskInfoList = assiAssignTasksInfoMapper.selectList(AssignTasksInfoDO::getTaskId,assignTasks.getId()); | ||
| 127 | + boolean allSubTaskFinished = assignTaskInfoList.stream() | ||
| 128 | + .allMatch(subTask -> 1 == subTask.getFinish()); | ||
| 129 | + | ||
| 130 | + //所有都完成反馈 | ||
| 131 | + if(allSubTaskFinished) { | ||
| 132 | + assignTasks.setParentFinish(AssignTasksConstants.ASSIGN_TASK_FINISH_1); | ||
| 133 | + assignTasks.setFinishTime(LocalDateTime.now()); | ||
| 134 | + assignTasks.setUpdateTime(LocalDateTime.now()); | ||
| 135 | + assignTasks.setUpdater(String.valueOf(getLoginUserId())); | ||
| 136 | + assignTasksMapper.updateById(assignTasks); | ||
| 137 | + } else { | ||
| 138 | + throw exception(ASSIGN_TASKS_NOT_EXISTS_002); | ||
| 139 | + } | ||
| 140 | + return 1; | ||
| 141 | + } | ||
| 142 | + | ||
| 143 | + @Override | ||
| 144 | + public int tasksOutTimeAuto() { | ||
| 145 | + //查询未完成的派单 | ||
| 146 | + // 1. 初始化统计变量:记录更新成功的超时记录数 | ||
| 147 | + int updatedCount = 0; | ||
| 148 | + LocalDateTime now = LocalDateTime.now(); // 提前获取当前时间(同一批处理时间一致) | ||
| 149 | + log.info("开始处理超时派单,当前时间:{}", now); | ||
| 150 | + | ||
| 151 | + try { | ||
| 152 | + // 2. 查询所有“未完成的派单”(parentFinish=0) | ||
| 153 | + List<AssignTasksDO> assignTasks = assignTasksMapper.selectList(AssignTasksDO::getParentFinish,0); | ||
| 154 | + | ||
| 155 | + if (CollectionUtils.isEmpty(assignTasks)) { | ||
| 156 | + log.info("无未完成的派单,无需处理"); | ||
| 157 | + return 0; | ||
| 158 | + } | ||
| 159 | + | ||
| 160 | + List<AssignTasksInfoDO> timeoutTaskInfos = new ArrayList<>(); | ||
| 161 | + | ||
| 162 | + for (AssignTasksDO assignTasksDO : assignTasks) { | ||
| 163 | + //查询所有符合条件的派单详情(taskId in 列表 + finish=0) | ||
| 164 | + LambdaQueryWrapper<AssignTasksInfoDO> queryWrapper = Wrappers.lambdaQuery(); | ||
| 165 | + queryWrapper.eq(AssignTasksInfoDO::getFinish, 0); | ||
| 166 | + queryWrapper.eq(AssignTasksInfoDO::getTaskId, assignTasksDO.getId()); | ||
| 167 | + queryWrapper.eq(AssignTasksInfoDO::getIsOverdue, 0); | ||
| 168 | + List<AssignTasksInfoDO> taskInfoList = assiAssignTasksInfoMapper.selectList(queryWrapper); | ||
| 169 | + if (CollectionUtils.isEmpty(taskInfoList)) { | ||
| 170 | + log.info("未找到未完成的派单详情,无需处理"); | ||
| 171 | + return 0; | ||
| 172 | + } | ||
| 173 | + | ||
| 174 | + // 4. 筛选“已超时”的派单详情(截止时间 < 当前时间) | ||
| 175 | + for (AssignTasksInfoDO taskInfo : taskInfoList) { | ||
| 176 | + // 4.1 转换:将数据库的Date | ||
| 177 | + LocalDateTime deadline = assignTasks.get(0).getDeadline(); | ||
| 178 | + // 4.2 比较:截止时间早于当前时间 → 超时 | ||
| 179 | + if (deadline.isBefore(now)) { | ||
| 180 | + taskInfo.setIsOverdue(1); // 标记为超时 | ||
| 181 | + timeoutTaskInfos.add(taskInfo); | ||
| 182 | + } | ||
| 183 | + } | ||
| 184 | + } | ||
| 185 | + | ||
| 186 | + if (CollectionUtils.isEmpty(timeoutTaskInfos)) { | ||
| 187 | + log.info("无超时的派单详情,无需更新"); | ||
| 188 | + return 0; | ||
| 189 | + } | ||
| 190 | + | ||
| 191 | + // 5. 优化:批量更新 | ||
| 192 | + updatedCount = assiAssignTasksInfoMapper.batchUpdateIsOverdue(timeoutTaskInfos); | ||
| 193 | + log.info("派单超时处理完成,共筛选出{}条超时记录,成功更新{}条", timeoutTaskInfos.size(), updatedCount); | ||
| 194 | + | ||
| 195 | + } catch (Exception e) { | ||
| 196 | + log.error("处理超时派单时发生异常", e); | ||
| 197 | + } | ||
| 198 | + log.info("派单任务超时处理 end"+ LocalDateTime.now()); | ||
| 199 | + return updatedCount; | ||
| 200 | + } | ||
| 201 | + | ||
| 202 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoService.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.assigntasksinfo; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | +import jakarta.validation.*; | ||
| 5 | +import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.*; | ||
| 6 | +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo.AssignTasksInfoDO; | ||
| 7 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 8 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * 派单任务-单位关联表(记录单位接收派单后的执行详情) Service 接口 | ||
| 12 | + * | ||
| 13 | + * @author 超级管理员 | ||
| 14 | + */ | ||
| 15 | +public interface AssignTasksInfoService { | ||
| 16 | + | ||
| 17 | + /** | ||
| 18 | + * 创建派单任务-单位关联表(记录单位接收派单后的执行详情) | ||
| 19 | + * | ||
| 20 | + * @param createReqVO 创建信息 | ||
| 21 | + * @return 编号 | ||
| 22 | + */ | ||
| 23 | + Long createAssignTasksInfo(@Valid AssignTasksInfoSaveReqVO createReqVO); | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * 更新派单任务-单位关联表(记录单位接收派单后的执行详情) | ||
| 27 | + * | ||
| 28 | + * @param updateReqVO 更新信息 | ||
| 29 | + */ | ||
| 30 | + void updateAssignTasksInfo(@Valid AssignTasksInfoSaveReqVO updateReqVO); | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * 删除派单任务-单位关联表(记录单位接收派单后的执行详情) | ||
| 34 | + * | ||
| 35 | + * @param id 编号 | ||
| 36 | + */ | ||
| 37 | + void deleteAssignTasksInfo(Long id); | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 批量删除派单任务-单位关联表(记录单位接收派单后的执行详情) | ||
| 41 | + * | ||
| 42 | + * @param ids 编号 | ||
| 43 | + */ | ||
| 44 | + void deleteAssignTasksInfoListByIds(List<Long> ids); | ||
| 45 | + | ||
| 46 | + /** | ||
| 47 | + * 获得派单任务-单位关联表(记录单位接收派单后的执行详情) | ||
| 48 | + * | ||
| 49 | + * @param id 编号 | ||
| 50 | + * @return 派单任务-单位关联表(记录单位接收派单后的执行详情) | ||
| 51 | + */ | ||
| 52 | + AssignTasksInfoDO getAssignTasksInfo(Long id); | ||
| 53 | + | ||
| 54 | + /** | ||
| 55 | + * 获得派单任务-单位关联表(记录单位接收派单后的执行详情)分页 | ||
| 56 | + * | ||
| 57 | + * @param pageReqVO 分页查询 | ||
| 58 | + * @return 派单任务-单位关联表(记录单位接收派单后的执行详情)分页 | ||
| 59 | + */ | ||
| 60 | + PageResult<AssignTasksInfoDO> getAssignTasksInfoPage(AssignTasksInfoPageReqVO pageReqVO); | ||
| 61 | + | ||
| 62 | + /** | ||
| 63 | + * @Author wangqian | ||
| 64 | + * @Description 同步保存单位派单详情 | ||
| 65 | + * @Date 2025/11/16 17:07 | ||
| 66 | + * @Param companyIds | ||
| 67 | + * @param taskId | ||
| 68 | + * @Return java.lang.Long | ||
| 69 | + */ | ||
| 70 | + public void saveAssignTasksInfos(String[] companyIds, Long taskId); | ||
| 71 | + | ||
| 72 | + public void updateAssignTasksInfos(String[] companyIds, Long taskId); | ||
| 73 | + | ||
| 74 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/assigntasksinfo/AssignTasksInfoServiceImpl.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.assigntasksinfo; | ||
| 2 | + | ||
| 3 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 4 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 5 | +import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoPageReqVO; | ||
| 6 | +import com.zteits.urbanops.module.garden.controller.admin.assigntasksinfo.vo.AssignTasksInfoSaveReqVO; | ||
| 7 | +import com.zteits.urbanops.module.garden.dal.dataobject.assigntasksinfo.AssignTasksInfoDO; | ||
| 8 | +import com.zteits.urbanops.module.garden.dal.mysql.assigntasksinfo.AssignTasksInfoMapper; | ||
| 9 | +import jakarta.annotation.Resource; | ||
| 10 | +import lombok.extern.slf4j.Slf4j; | ||
| 11 | +import org.apache.commons.lang3.StringUtils; | ||
| 12 | +import org.springframework.stereotype.Service; | ||
| 13 | +import org.springframework.validation.annotation.Validated; | ||
| 14 | + | ||
| 15 | +import java.util.*; | ||
| 16 | +import java.util.stream.Collectors; | ||
| 17 | + | ||
| 18 | +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; | ||
| 19 | +import static com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; | ||
| 20 | +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; | ||
| 21 | + | ||
| 22 | +/** | ||
| 23 | + * 派单任务-单位关联表(记录单位接收派单后的执行详情) Service 实现类 | ||
| 24 | + * | ||
| 25 | + * @author 超级管理员 | ||
| 26 | + */ | ||
| 27 | +@Service | ||
| 28 | +@Validated | ||
| 29 | +@Slf4j | ||
| 30 | +public class AssignTasksInfoServiceImpl implements AssignTasksInfoService { | ||
| 31 | + | ||
| 32 | + @Resource | ||
| 33 | + private AssignTasksInfoMapper assignTasksInfoMapper; | ||
| 34 | + | ||
| 35 | + @Override | ||
| 36 | + public Long createAssignTasksInfo(AssignTasksInfoSaveReqVO createReqVO) { | ||
| 37 | + // 插入 | ||
| 38 | + AssignTasksInfoDO assignTasksInfo = BeanUtils.toBean(createReqVO, AssignTasksInfoDO.class); | ||
| 39 | + assignTasksInfoMapper.insert(assignTasksInfo); | ||
| 40 | + | ||
| 41 | + // 返回 | ||
| 42 | + return assignTasksInfo.getId(); | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + @Override | ||
| 46 | + public void updateAssignTasksInfo(AssignTasksInfoSaveReqVO updateReqVO) { | ||
| 47 | + // 校验存在 | ||
| 48 | + validateAssignTasksInfoExists(updateReqVO.getId()); | ||
| 49 | + // 更新 | ||
| 50 | + AssignTasksInfoDO updateObj = BeanUtils.toBean(updateReqVO, AssignTasksInfoDO.class); | ||
| 51 | + assignTasksInfoMapper.updateById(updateObj); | ||
| 52 | + } | ||
| 53 | + | ||
| 54 | + @Override | ||
| 55 | + public void deleteAssignTasksInfo(Long id) { | ||
| 56 | + // 校验存在 | ||
| 57 | + validateAssignTasksInfoExists(id); | ||
| 58 | + // 删除 | ||
| 59 | + assignTasksInfoMapper.deleteById(id); | ||
| 60 | + } | ||
| 61 | + | ||
| 62 | + @Override | ||
| 63 | + public void deleteAssignTasksInfoListByIds(List<Long> ids) { | ||
| 64 | + // 删除 | ||
| 65 | + assignTasksInfoMapper.deleteByIds(ids); | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + | ||
| 69 | + private void validateAssignTasksInfoExists(Long id) { | ||
| 70 | + if (assignTasksInfoMapper.selectById(id) == null) { | ||
| 71 | + throw exception(ASSIGN_TASKS_INFO_NOT_EXISTS); | ||
| 72 | + } | ||
| 73 | + } | ||
| 74 | + | ||
| 75 | + @Override | ||
| 76 | + public AssignTasksInfoDO getAssignTasksInfo(Long id) { | ||
| 77 | + return assignTasksInfoMapper.selectById(id); | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + @Override | ||
| 81 | + public PageResult<AssignTasksInfoDO> getAssignTasksInfoPage(AssignTasksInfoPageReqVO pageReqVO) { | ||
| 82 | + return assignTasksInfoMapper.selectPage(pageReqVO); | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + @Override | ||
| 86 | + public void saveAssignTasksInfos(String[] companyIds, Long taskId) { | ||
| 87 | + // 获得用户基本信息 | ||
| 88 | + String userId = String.valueOf(getLoginUserId()); | ||
| 89 | + if (companyIds != null && companyIds.length > 0) { | ||
| 90 | + for (String companyId : companyIds) { | ||
| 91 | + AssignTasksInfoSaveReqVO assignTaskInfo = new AssignTasksInfoSaveReqVO(); | ||
| 92 | + assignTaskInfo.setCompanyId(companyId); | ||
| 93 | + //assignTaskInfo.setCompanyName(CompanyConstant.getCompanyName(Long.parseLong(companyId))); | ||
| 94 | + assignTaskInfo.setTaskId(taskId); | ||
| 95 | + assignTaskInfo.setUpdater(userId); | ||
| 96 | + AssignTasksInfoDO assignTasksInfo = BeanUtils.toBean(assignTaskInfo, AssignTasksInfoDO.class); | ||
| 97 | + | ||
| 98 | + assignTasksInfoMapper.insert(assignTasksInfo); | ||
| 99 | + } | ||
| 100 | + } | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | + @Override | ||
| 104 | + public void updateAssignTasksInfos(String[] companyIds, Long taskId) { | ||
| 105 | + // 1. 日志与入参校验(提前拦截无效参数) | ||
| 106 | + log.info("开始更新派单任务的公司关联信息 | 任务ID:{},目标公司ID列表:{}", | ||
| 107 | + taskId, Arrays.toString(companyIds)); | ||
| 108 | + | ||
| 109 | + if (taskId == null) { | ||
| 110 | + log.error("更新派单任务失败:任务ID不能为空"); | ||
| 111 | + throw exception(ASSIGN_TASKS_INFO_NOT_EXISTS_003); // 假设 PARAM_ERROR 是通用参数错误码,需替换为实际枚举 | ||
| 112 | + } | ||
| 113 | + | ||
| 114 | + // 2. 获取当前登录用户(校验用户有效性) | ||
| 115 | + Long loginUserId = getLoginUserId(); | ||
| 116 | + | ||
| 117 | + // 3. 预处理目标公司ID列表(避免重复转换,处理null场景) | ||
| 118 | + List<String> targetCompanyIdStrs = Optional.ofNullable(companyIds) | ||
| 119 | + .map(Arrays::asList) | ||
| 120 | + .orElse(Collections.emptyList()) | ||
| 121 | + .stream() | ||
| 122 | + .filter(StringUtils::isNotBlank) // 过滤空字符串(避免无效数据) | ||
| 123 | + .distinct() // 去重:避免重复添加同一公司 | ||
| 124 | + .collect(Collectors.toList()); | ||
| 125 | + | ||
| 126 | + // 4. 查询该任务下已关联的派单记录 | ||
| 127 | + List<AssignTasksInfoDO> existingAssignTaskInfos = assignTasksInfoMapper | ||
| 128 | + .selectList(AssignTasksInfoDO::getTaskId, taskId); | ||
| 129 | + log.info("当前任务已关联的派单记录数:{}", existingAssignTaskInfos.size()); | ||
| 130 | + | ||
| 131 | + // 4.1 提取已关联的公司ID(String类型,用于后续判断) | ||
| 132 | + List<String> existingCompanyIdStrs = existingAssignTaskInfos.stream() | ||
| 133 | + .map(info -> String.valueOf(info.getCompanyId())) // 统一转为String,避免类型不匹配 | ||
| 134 | + .collect(Collectors.toList()); | ||
| 135 | + | ||
| 136 | + // 5. 处理需要删除的派单记录(不在目标列表中且未读的记录) | ||
| 137 | + List<Long> needDeleteIds = new ArrayList<>(); | ||
| 138 | + for (AssignTasksInfoDO existingTask : existingAssignTaskInfos) { | ||
| 139 | + String existingCompanyIdStr = String.valueOf(existingTask.getCompanyId()); | ||
| 140 | + // 目标列表不包含当前公司ID → 需要删除 | ||
| 141 | + if (!targetCompanyIdStrs.contains(existingCompanyIdStr)) { | ||
| 142 | + // 已读状态(finish=1)不允许删除 | ||
| 143 | + if (Objects.equals(existingTask.getFinish(), 1)) { | ||
| 144 | + log.error("删除派单失败:任务已读不允许删除 | 派单ID:{},公司ID:{}", | ||
| 145 | + existingTask.getId(), existingCompanyIdStr); | ||
| 146 | + throw exception(ASSIGN_TASKS_INFO_NOT_EXISTS_002); // 建议修改异常码语义为“已读任务不允许删除” | ||
| 147 | + } | ||
| 148 | + needDeleteIds.add(existingTask.getId()); | ||
| 149 | + } | ||
| 150 | + } | ||
| 151 | + | ||
| 152 | + // 5.1 批量删除(减少数据库交互) | ||
| 153 | + if (!needDeleteIds.isEmpty()) { | ||
| 154 | + this.deleteAssignTasksInfoListByIds(needDeleteIds); | ||
| 155 | + log.info("批量删除派单记录成功 | 删除ID列表:{}", needDeleteIds); | ||
| 156 | + } | ||
| 157 | + | ||
| 158 | + // 6. 处理需要新增的派单记录(目标列表中不存在于已关联列表的公司) | ||
| 159 | + for (String targetCompanyId : targetCompanyIdStrs) { | ||
| 160 | + if (!existingCompanyIdStrs.contains(targetCompanyId)) { | ||
| 161 | + // 直接构建DO对象(跳过VO转换,减少开销) | ||
| 162 | + AssignTasksInfoSaveReqVO assignTaskInfo = new AssignTasksInfoSaveReqVO(); | ||
| 163 | + assignTaskInfo.setCompanyId(targetCompanyId); | ||
| 164 | + //assignTaskInfo.setCompanyName(CompanyConstant.getCompanyName(Long.parseLong(companyId))); | ||
| 165 | + assignTaskInfo.setTaskId(taskId); | ||
| 166 | + assignTaskInfo.setCreator(String.valueOf(loginUserId)); | ||
| 167 | + AssignTasksInfoDO assignTasksInfo = BeanUtils.toBean(assignTaskInfo, AssignTasksInfoDO.class); | ||
| 168 | + | ||
| 169 | + assignTasksInfoMapper.insert(assignTasksInfo); | ||
| 170 | + | ||
| 171 | + } | ||
| 172 | + } | ||
| 173 | + } | ||
| 174 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/departmentcost/DepartmentCostService.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.departmentcost; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | +import jakarta.validation.*; | ||
| 5 | +import com.zteits.urbanops.module.garden.controller.admin.departmentcost.vo.*; | ||
| 6 | +import com.zteits.urbanops.module.garden.dal.dataobject.departmentcost.DepartmentCostDO; | ||
| 7 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 8 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * 部门费用录入 Service 接口 | ||
| 12 | + * | ||
| 13 | + * @author 超级管理员 | ||
| 14 | + */ | ||
| 15 | +public interface DepartmentCostService { | ||
| 16 | + | ||
| 17 | + /** | ||
| 18 | + * 创建部门费用录入 | ||
| 19 | + * | ||
| 20 | + * @param createReqVO 创建信息 | ||
| 21 | + * @return 编号 | ||
| 22 | + */ | ||
| 23 | + Long createDepartmentCost(@Valid DepartmentCostSaveReqVO createReqVO); | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * 更新部门费用录入 | ||
| 27 | + * | ||
| 28 | + * @param updateReqVO 更新信息 | ||
| 29 | + */ | ||
| 30 | + void updateDepartmentCost(@Valid DepartmentCostSaveReqVO updateReqVO); | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * 删除部门费用录入 | ||
| 34 | + * | ||
| 35 | + * @param id 编号 | ||
| 36 | + */ | ||
| 37 | + void deleteDepartmentCost(Long id); | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 批量删除部门费用录入 | ||
| 41 | + * | ||
| 42 | + * @param ids 编号 | ||
| 43 | + */ | ||
| 44 | + void deleteDepartmentCostListByIds(List<Long> ids); | ||
| 45 | + | ||
| 46 | + /** | ||
| 47 | + * 获得部门费用录入 | ||
| 48 | + * | ||
| 49 | + * @param id 编号 | ||
| 50 | + * @return 部门费用录入 | ||
| 51 | + */ | ||
| 52 | + DepartmentCostDO getDepartmentCost(Long id); | ||
| 53 | + | ||
| 54 | + /** | ||
| 55 | + * 获得部门费用录入分页 | ||
| 56 | + * | ||
| 57 | + * @param pageReqVO 分页查询 | ||
| 58 | + * @return 部门费用录入分页 | ||
| 59 | + */ | ||
| 60 | + PageResult<DepartmentCostDO> getDepartmentCostPage(DepartmentCostPageReqVO pageReqVO); | ||
| 61 | + | ||
| 62 | +} | ||
| 0 | \ No newline at end of file | 63 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/departmentcost/DepartmentCostServiceImpl.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.departmentcost; | ||
| 2 | + | ||
| 3 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
| 4 | +import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
| 5 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 6 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 7 | +import com.zteits.urbanops.module.garden.controller.admin.departmentcost.vo.DepartmentCostPageReqVO; | ||
| 8 | +import com.zteits.urbanops.module.garden.controller.admin.departmentcost.vo.DepartmentCostSaveReqVO; | ||
| 9 | +import com.zteits.urbanops.module.garden.dal.dataobject.departmentcost.DepartmentCostDO; | ||
| 10 | +import com.zteits.urbanops.module.garden.dal.mysql.departmentcost.DepartmentCostMapper; | ||
| 11 | +import jakarta.annotation.Resource; | ||
| 12 | +import org.springframework.stereotype.Service; | ||
| 13 | +import org.springframework.util.CollectionUtils; | ||
| 14 | +import org.springframework.validation.annotation.Validated; | ||
| 15 | + | ||
| 16 | +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; | ||
| 17 | +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; | ||
| 18 | + | ||
| 19 | + | ||
| 20 | +import java.util.List; | ||
| 21 | + | ||
| 22 | +/** | ||
| 23 | + * 部门费用录入 Service 实现类 | ||
| 24 | + * | ||
| 25 | + * @author 超级管理员 | ||
| 26 | + */ | ||
| 27 | +@Service | ||
| 28 | +@Validated | ||
| 29 | +public class DepartmentCostServiceImpl implements DepartmentCostService { | ||
| 30 | + | ||
| 31 | + @Resource | ||
| 32 | + private DepartmentCostMapper departmentCostMapper; | ||
| 33 | + | ||
| 34 | + @Override | ||
| 35 | + public Long createDepartmentCost(DepartmentCostSaveReqVO createReqVO) { | ||
| 36 | + // 插入 | ||
| 37 | + DepartmentCostDO departmentCost = BeanUtils.toBean(createReqVO, DepartmentCostDO.class); | ||
| 38 | + | ||
| 39 | + // add bt wq 20251119 插入增加校验 | ||
| 40 | + LambdaQueryWrapper<DepartmentCostDO> queryWrapper = Wrappers.lambdaQuery(); | ||
| 41 | + queryWrapper.eq(DepartmentCostDO::getSalaryMonth, departmentCost.getSalaryMonth()); | ||
| 42 | + queryWrapper.eq(DepartmentCostDO::getExpenseName, departmentCost.getExpenseName()); | ||
| 43 | + queryWrapper.eq(DepartmentCostDO::getCompanyId, departmentCost.getCompanyId()); | ||
| 44 | + List<DepartmentCostDO> list = departmentCostMapper.selectList(queryWrapper); | ||
| 45 | + if (!CollectionUtils.isEmpty(list)) { | ||
| 46 | + throw exception(COST_FEE_NOT_EXISTS); | ||
| 47 | + } | ||
| 48 | + // add bt wq 20251119 插入增加校验 | ||
| 49 | + | ||
| 50 | + departmentCostMapper.insert(departmentCost); | ||
| 51 | + | ||
| 52 | + // 返回 | ||
| 53 | + return departmentCost.getId(); | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + @Override | ||
| 57 | + public void updateDepartmentCost(DepartmentCostSaveReqVO updateReqVO) { | ||
| 58 | + // 校验存在 | ||
| 59 | + validateDepartmentCostExists(updateReqVO.getId()); | ||
| 60 | + // 更新 | ||
| 61 | + DepartmentCostDO updateObj = BeanUtils.toBean(updateReqVO, DepartmentCostDO.class); | ||
| 62 | + | ||
| 63 | + // add bt wq 20251119 插入增加校验 | ||
| 64 | + LambdaQueryWrapper<DepartmentCostDO> queryWrapper = Wrappers.lambdaQuery(); | ||
| 65 | + queryWrapper.eq(DepartmentCostDO::getSalaryMonth, updateObj.getSalaryMonth()); | ||
| 66 | + queryWrapper.eq(DepartmentCostDO::getExpenseName, updateObj.getExpenseName()); | ||
| 67 | + queryWrapper.eq(DepartmentCostDO::getCompanyId, updateObj.getCompanyId()); | ||
| 68 | + List<DepartmentCostDO> list = departmentCostMapper.selectList(queryWrapper); | ||
| 69 | + if (!CollectionUtils.isEmpty(list)) { | ||
| 70 | + throw exception(COST_FEE_NOT_EXISTS); | ||
| 71 | + } | ||
| 72 | + // add bt wq 20251119 插入增加校验 | ||
| 73 | + departmentCostMapper.updateById(updateObj); | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + @Override | ||
| 77 | + public void deleteDepartmentCost(Long id) { | ||
| 78 | + // 校验存在 | ||
| 79 | + validateDepartmentCostExists(id); | ||
| 80 | + // 删除 | ||
| 81 | + departmentCostMapper.deleteById(id); | ||
| 82 | + } | ||
| 83 | + | ||
| 84 | + @Override | ||
| 85 | + public void deleteDepartmentCostListByIds(List<Long> ids) { | ||
| 86 | + // 删除 | ||
| 87 | + departmentCostMapper.deleteByIds(ids); | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | + | ||
| 91 | + private void validateDepartmentCostExists(Long id) { | ||
| 92 | + if (departmentCostMapper.selectById(id) == null) { | ||
| 93 | + throw exception(DEPARTMENT_COST_NOT_EXISTS_01); | ||
| 94 | + } | ||
| 95 | + } | ||
| 96 | + | ||
| 97 | + @Override | ||
| 98 | + public DepartmentCostDO getDepartmentCost(Long id) { | ||
| 99 | + return departmentCostMapper.selectById(id); | ||
| 100 | + } | ||
| 101 | + | ||
| 102 | + @Override | ||
| 103 | + public PageResult<DepartmentCostDO> getDepartmentCostPage(DepartmentCostPageReqVO pageReqVO) { | ||
| 104 | + return departmentCostMapper.selectPage(pageReqVO); | ||
| 105 | + } | ||
| 106 | + | ||
| 107 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/mechanicalcost/MechanicalCostService.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.mechanicalcost; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | +import jakarta.validation.*; | ||
| 5 | +import com.zteits.urbanops.module.garden.controller.admin.mechanicalcost.vo.*; | ||
| 6 | +import com.zteits.urbanops.module.garden.dal.dataobject.mechanicalcost.MechanicalCostDO; | ||
| 7 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 8 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * 自有机械费用录入 Service 接口 | ||
| 12 | + * | ||
| 13 | + * @author 超级管理员 | ||
| 14 | + */ | ||
| 15 | +public interface MechanicalCostService { | ||
| 16 | + | ||
| 17 | + /** | ||
| 18 | + * 创建自有机械费用录入 | ||
| 19 | + * | ||
| 20 | + * @param createReqVO 创建信息 | ||
| 21 | + * @return 编号 | ||
| 22 | + */ | ||
| 23 | + Long createMechanicalCost(@Valid MechanicalCostSaveReqVO createReqVO); | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * 更新自有机械费用录入 | ||
| 27 | + * | ||
| 28 | + * @param updateReqVO 更新信息 | ||
| 29 | + */ | ||
| 30 | + void updateMechanicalCost(@Valid MechanicalCostSaveReqVO updateReqVO); | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * 删除自有机械费用录入 | ||
| 34 | + * | ||
| 35 | + * @param id 编号 | ||
| 36 | + */ | ||
| 37 | + void deleteMechanicalCost(Long id); | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 批量删除自有机械费用录入 | ||
| 41 | + * | ||
| 42 | + * @param ids 编号 | ||
| 43 | + */ | ||
| 44 | + void deleteMechanicalCostListByIds(List<Long> ids); | ||
| 45 | + | ||
| 46 | + /** | ||
| 47 | + * 获得自有机械费用录入 | ||
| 48 | + * | ||
| 49 | + * @param id 编号 | ||
| 50 | + * @return 自有机械费用录入 | ||
| 51 | + */ | ||
| 52 | + MechanicalCostDO getMechanicalCost(Long id); | ||
| 53 | + | ||
| 54 | + /** | ||
| 55 | + * 获得自有机械费用录入分页 | ||
| 56 | + * | ||
| 57 | + * @param pageReqVO 分页查询 | ||
| 58 | + * @return 自有机械费用录入分页 | ||
| 59 | + */ | ||
| 60 | + PageResult<MechanicalCostDO> getMechanicalCostPage(MechanicalCostPageReqVO pageReqVO); | ||
| 61 | + | ||
| 62 | +} | ||
| 0 | \ No newline at end of file | 63 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/mechanicalcost/MechanicalCostServiceImpl.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.mechanicalcost; | ||
| 2 | + | ||
| 3 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 4 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 5 | +import com.zteits.urbanops.module.garden.controller.admin.mechanicalcost.vo.MechanicalCostPageReqVO; | ||
| 6 | +import com.zteits.urbanops.module.garden.controller.admin.mechanicalcost.vo.MechanicalCostSaveReqVO; | ||
| 7 | +import com.zteits.urbanops.module.garden.dal.dataobject.mechanicalcost.MechanicalCostDO; | ||
| 8 | +import com.zteits.urbanops.module.garden.dal.mysql.mechanicalcost.MechanicalCostMapper; | ||
| 9 | +import com.zteits.urbanops.module.garden.enums.CostFeeConstants; | ||
| 10 | +import com.zteits.urbanops.module.garden.service.mechanicaldepreciation.MechanicalDepreciationService; | ||
| 11 | +import com.zteits.urbanops.module.garden.service.teambizdomainrel.TeamBizdomainRelService; | ||
| 12 | +import jakarta.annotation.Resource; | ||
| 13 | +import org.apache.commons.collections4.CollectionUtils; | ||
| 14 | +import org.springframework.stereotype.Service; | ||
| 15 | +import org.springframework.transaction.annotation.Transactional; | ||
| 16 | +import org.springframework.validation.annotation.Validated; | ||
| 17 | + | ||
| 18 | +import java.util.List; | ||
| 19 | + | ||
| 20 | +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; | ||
| 21 | +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.MECHANICAL_COST_NOT_EXISTS; | ||
| 22 | + | ||
| 23 | + | ||
| 24 | +/** | ||
| 25 | + * 自有机械费用录入 Service 实现类 | ||
| 26 | + * | ||
| 27 | + * @author 超级管理员 | ||
| 28 | + */ | ||
| 29 | +@Service | ||
| 30 | +@Validated | ||
| 31 | +public class MechanicalCostServiceImpl implements MechanicalCostService { | ||
| 32 | + | ||
| 33 | + @Resource | ||
| 34 | + private MechanicalCostMapper mechanicalCostMapper; | ||
| 35 | + @Resource | ||
| 36 | + private TeamBizdomainRelService teamBizdomainRelService; | ||
| 37 | + @Resource | ||
| 38 | + private MechanicalDepreciationService mechanicalDepreciationService; | ||
| 39 | + | ||
| 40 | + @Override | ||
| 41 | + public Long createMechanicalCost(MechanicalCostSaveReqVO createReqVO) { | ||
| 42 | + // 插入 | ||
| 43 | + MechanicalCostDO mechanicalCost = BeanUtils.toBean(createReqVO, MechanicalCostDO.class); | ||
| 44 | + mechanicalCostMapper.insert(mechanicalCost); | ||
| 45 | + //add by wq 保存班组信息关联表 | ||
| 46 | + teamBizdomainRelService.saveTeamBizdomainRel(createReqVO.getTeamIds(), mechanicalCost.getId(), mechanicalCost.getCompanyId(), mechanicalCost.getCompanyName(), CostFeeConstants.COSTFEE_MECHANICAL); | ||
| 47 | + //add by wq 保存班组信息关联表 | ||
| 48 | + | ||
| 49 | + // 返回 | ||
| 50 | + return mechanicalCost.getId(); | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + @Override | ||
| 54 | + public void updateMechanicalCost(MechanicalCostSaveReqVO updateReqVO) { | ||
| 55 | + // 校验存在 | ||
| 56 | + validateMechanicalCostExists(updateReqVO.getId()); | ||
| 57 | + // 更新 | ||
| 58 | + MechanicalCostDO updateObj = BeanUtils.toBean(updateReqVO, MechanicalCostDO.class); | ||
| 59 | + mechanicalCostMapper.updateById(updateObj); | ||
| 60 | + | ||
| 61 | + //add by wq 保存班组信息关联表 | ||
| 62 | + teamBizdomainRelService.deleteTeamBizdomainRel(updateObj.getId(), CostFeeConstants.COSTFEE_MECHANICAL); | ||
| 63 | + teamBizdomainRelService.saveTeamBizdomainRel(updateReqVO.getTeamIds(), updateObj.getId(), updateObj.getCompanyId(), updateObj.getCompanyName(), CostFeeConstants.COSTFEE_MECHANICAL); | ||
| 64 | + //add by wq 保存班组信息关联表 | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + @Override | ||
| 68 | + @Transactional | ||
| 69 | + public void deleteMechanicalCost(Long id) { | ||
| 70 | + // 校验存在 | ||
| 71 | + validateMechanicalCostExists(id); | ||
| 72 | + // 删除 | ||
| 73 | + mechanicalCostMapper.deleteById(id); | ||
| 74 | + | ||
| 75 | + //add by wq 删除班组信息关联表 | ||
| 76 | + teamBizdomainRelService.deleteTeamBizdomainRel(id, CostFeeConstants.COSTFEE_MECHANICAL); | ||
| 77 | + // //删除折旧 | ||
| 78 | + mechanicalDepreciationService.deleteMechanicalDepreciationByMechId(id); | ||
| 79 | + //add by wq 删除班组信息关联表 | ||
| 80 | + } | ||
| 81 | + | ||
| 82 | + @Override | ||
| 83 | + public void deleteMechanicalCostListByIds(List<Long> ids) { | ||
| 84 | + // 删除 | ||
| 85 | + mechanicalCostMapper.deleteByIds(ids); | ||
| 86 | + //add by wq 删除班组信息关联表 | ||
| 87 | + if(CollectionUtils.isNotEmpty(ids)) { | ||
| 88 | + for (Long id : ids) { | ||
| 89 | + //批量删除 | ||
| 90 | + teamBizdomainRelService.deleteTeamBizdomainRel(id, CostFeeConstants.COSTFEE_MECHANICAL); | ||
| 91 | + //删除折旧 | ||
| 92 | + mechanicalDepreciationService.deleteMechanicalDepreciationByMechId(id); | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + //add by wq 删除班组信息关联表 | ||
| 96 | + | ||
| 97 | + } | ||
| 98 | + | ||
| 99 | + | ||
| 100 | + private void validateMechanicalCostExists(Long id) { | ||
| 101 | + if (mechanicalCostMapper.selectById(id) == null) { | ||
| 102 | + throw exception(MECHANICAL_COST_NOT_EXISTS); | ||
| 103 | + } | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + @Override | ||
| 107 | + public MechanicalCostDO getMechanicalCost(Long id) { | ||
| 108 | + return mechanicalCostMapper.selectById(id); | ||
| 109 | + } | ||
| 110 | + | ||
| 111 | + @Override | ||
| 112 | + public PageResult<MechanicalCostDO> getMechanicalCostPage(MechanicalCostPageReqVO pageReqVO) { | ||
| 113 | + return mechanicalCostMapper.selectPage(pageReqVO); | ||
| 114 | + } | ||
| 115 | + | ||
| 116 | + | ||
| 117 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/mechanicaldepreciation/MechanicalDepreciationService.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.mechanicaldepreciation; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | +import jakarta.validation.*; | ||
| 5 | +import com.zteits.urbanops.module.garden.controller.admin.mechanicaldepreciation.vo.*; | ||
| 6 | +import com.zteits.urbanops.module.garden.dal.dataobject.mechanicaldepreciation.MechanicalDepreciationDO; | ||
| 7 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 8 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * 自有机械折旧子 Service 接口 | ||
| 12 | + * | ||
| 13 | + * @author 超级管理员 | ||
| 14 | + */ | ||
| 15 | +public interface MechanicalDepreciationService { | ||
| 16 | + | ||
| 17 | + /** | ||
| 18 | + * 创建自有机械折旧子 | ||
| 19 | + * | ||
| 20 | + * @param createReqVO 创建信息 | ||
| 21 | + * @return 编号 | ||
| 22 | + */ | ||
| 23 | + Long createMechanicalDepreciation(@Valid MechanicalDepreciationSaveReqVO createReqVO); | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * 更新自有机械折旧子 | ||
| 27 | + * | ||
| 28 | + * @param updateReqVO 更新信息 | ||
| 29 | + */ | ||
| 30 | + void updateMechanicalDepreciation(@Valid MechanicalDepreciationSaveReqVO updateReqVO); | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * 删除自有机械折旧子 | ||
| 34 | + * | ||
| 35 | + * @param id 编号 | ||
| 36 | + */ | ||
| 37 | + void deleteMechanicalDepreciation(Long id); | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 批量删除自有机械折旧子 | ||
| 41 | + * | ||
| 42 | + * @param ids 编号 | ||
| 43 | + */ | ||
| 44 | + void deleteMechanicalDepreciationListByIds(List<Long> ids); | ||
| 45 | + | ||
| 46 | + /** | ||
| 47 | + * 获得自有机械折旧子 | ||
| 48 | + * | ||
| 49 | + * @param id 编号 | ||
| 50 | + * @return 自有机械折旧子 | ||
| 51 | + */ | ||
| 52 | + MechanicalDepreciationDO getMechanicalDepreciation(Long id); | ||
| 53 | + | ||
| 54 | + /** | ||
| 55 | + * 获得自有机械折旧子分页 | ||
| 56 | + * | ||
| 57 | + * @param pageReqVO 分页查询 | ||
| 58 | + * @return 自有机械折旧子分页 | ||
| 59 | + */ | ||
| 60 | + PageResult<MechanicalDepreciationDO> getMechanicalDepreciationPage(MechanicalDepreciationPageReqVO pageReqVO); | ||
| 61 | + | ||
| 62 | + | ||
| 63 | + /** | ||
| 64 | + * 删除自有机械折旧 | ||
| 65 | + * | ||
| 66 | + * @param mechId 编号 | ||
| 67 | + */ | ||
| 68 | + void deleteMechanicalDepreciationByMechId(Long mechId); | ||
| 69 | + | ||
| 70 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/mechanicaldepreciation/MechanicalDepreciationServiceImpl.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.mechanicaldepreciation; | ||
| 2 | + | ||
| 3 | +import cn.hutool.core.collection.CollUtil; | ||
| 4 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
| 5 | +import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
| 6 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 7 | +import org.apache.commons.lang3.StringUtils; | ||
| 8 | +import org.springframework.stereotype.Service; | ||
| 9 | +import jakarta.annotation.Resource; | ||
| 10 | +import org.springframework.validation.annotation.Validated; | ||
| 11 | +import org.springframework.transaction.annotation.Transactional; | ||
| 12 | + | ||
| 13 | +import java.util.*; | ||
| 14 | +import com.zteits.urbanops.module.garden.controller.admin.mechanicaldepreciation.vo.*; | ||
| 15 | +import com.zteits.urbanops.module.garden.dal.dataobject.mechanicaldepreciation.MechanicalDepreciationDO; | ||
| 16 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 17 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 18 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 19 | + | ||
| 20 | +import com.zteits.urbanops.module.garden.dal.mysql.mechanicaldepreciation.MechanicalDepreciationMapper; | ||
| 21 | + | ||
| 22 | +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; | ||
| 23 | +import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.convertList; | ||
| 24 | +import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.diffList; | ||
| 25 | +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; | ||
| 26 | + | ||
| 27 | +/** | ||
| 28 | + * 自有机械折旧子 Service 实现类 | ||
| 29 | + * | ||
| 30 | + * @author 超级管理员 | ||
| 31 | + */ | ||
| 32 | +@Service | ||
| 33 | +@Validated | ||
| 34 | +public class MechanicalDepreciationServiceImpl implements MechanicalDepreciationService { | ||
| 35 | + | ||
| 36 | + @Resource | ||
| 37 | + private MechanicalDepreciationMapper mechanicalDepreciationMapper; | ||
| 38 | + | ||
| 39 | + @Override | ||
| 40 | + public Long createMechanicalDepreciation(MechanicalDepreciationSaveReqVO createReqVO) { | ||
| 41 | + // 插入 | ||
| 42 | + MechanicalDepreciationDO mechanicalDepreciation = BeanUtils.toBean(createReqVO, MechanicalDepreciationDO.class); | ||
| 43 | + mechanicalDepreciationMapper.insert(mechanicalDepreciation); | ||
| 44 | + | ||
| 45 | + // 返回 | ||
| 46 | + return mechanicalDepreciation.getId(); | ||
| 47 | + } | ||
| 48 | + | ||
| 49 | + @Override | ||
| 50 | + public void updateMechanicalDepreciation(MechanicalDepreciationSaveReqVO updateReqVO) { | ||
| 51 | + // 校验存在 | ||
| 52 | + validateMechanicalDepreciationExists(updateReqVO.getId()); | ||
| 53 | + // 更新 | ||
| 54 | + MechanicalDepreciationDO updateObj = BeanUtils.toBean(updateReqVO, MechanicalDepreciationDO.class); | ||
| 55 | + mechanicalDepreciationMapper.updateById(updateObj); | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + @Override | ||
| 59 | + public void deleteMechanicalDepreciation(Long id) { | ||
| 60 | + // 校验存在 | ||
| 61 | + validateMechanicalDepreciationExists(id); | ||
| 62 | + // 删除 | ||
| 63 | + mechanicalDepreciationMapper.deleteById(id); | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + @Override | ||
| 67 | + public void deleteMechanicalDepreciationListByIds(List<Long> ids) { | ||
| 68 | + // 删除 | ||
| 69 | + mechanicalDepreciationMapper.deleteByIds(ids); | ||
| 70 | + } | ||
| 71 | + | ||
| 72 | + | ||
| 73 | + private void validateMechanicalDepreciationExists(Long id) { | ||
| 74 | + if (mechanicalDepreciationMapper.selectById(id) == null) { | ||
| 75 | + throw exception(MECHANICAL_DEPRECIATION_NOT_EXISTS); | ||
| 76 | + } | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | + @Override | ||
| 80 | + public MechanicalDepreciationDO getMechanicalDepreciation(Long id) { | ||
| 81 | + return mechanicalDepreciationMapper.selectById(id); | ||
| 82 | + } | ||
| 83 | + | ||
| 84 | + @Override | ||
| 85 | + public PageResult<MechanicalDepreciationDO> getMechanicalDepreciationPage(MechanicalDepreciationPageReqVO pageReqVO) { | ||
| 86 | + return mechanicalDepreciationMapper.selectPage(pageReqVO); | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + @Override | ||
| 90 | + public void deleteMechanicalDepreciationByMechId(Long mechId) { | ||
| 91 | + if (mechId == null) { | ||
| 92 | + throw exception(MECHANICAL_DEPRECIATION_NOT_EXISTS_001); | ||
| 93 | + } | ||
| 94 | + LambdaQueryWrapper<MechanicalDepreciationDO> queryWrapper = Wrappers.lambdaQuery(); | ||
| 95 | + queryWrapper.eq(MechanicalDepreciationDO::getMechId, String.valueOf(mechId)); | ||
| 96 | + mechanicalDepreciationMapper.delete(queryWrapper); | ||
| 97 | + } | ||
| 98 | + | ||
| 99 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/personalcost/PersonalCostService.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.personalcost; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | +import jakarta.validation.*; | ||
| 5 | +import com.zteits.urbanops.module.garden.controller.admin.personalcost.vo.*; | ||
| 6 | +import com.zteits.urbanops.module.garden.dal.dataobject.personalcost.PersonalCostDO; | ||
| 7 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 8 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * 人员费用录入 - 个人费用 Service 接口 | ||
| 12 | + * | ||
| 13 | + * @author 超级管理员 | ||
| 14 | + */ | ||
| 15 | +public interface PersonalCostService { | ||
| 16 | + | ||
| 17 | + /** | ||
| 18 | + * 创建人员费用录入 - 个人费用 | ||
| 19 | + * | ||
| 20 | + * @param createReqVO 创建信息 | ||
| 21 | + * @return 编号 | ||
| 22 | + */ | ||
| 23 | + Long createPersonalCost(@Valid PersonalCostSaveReqVO createReqVO); | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * 更新人员费用录入 - 个人费用 | ||
| 27 | + * | ||
| 28 | + * @param updateReqVO 更新信息 | ||
| 29 | + */ | ||
| 30 | + void updatePersonalCost(@Valid PersonalCostSaveReqVO updateReqVO); | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * 删除人员费用录入 - 个人费用 | ||
| 34 | + * | ||
| 35 | + * @param id 编号 | ||
| 36 | + */ | ||
| 37 | + void deletePersonalCost(Long id); | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 批量删除人员费用录入 - 个人费用 | ||
| 41 | + * | ||
| 42 | + * @param ids 编号 | ||
| 43 | + */ | ||
| 44 | + void deletePersonalCostListByIds(List<Long> ids); | ||
| 45 | + | ||
| 46 | + /** | ||
| 47 | + * 获得人员费用录入 - 个人费用 | ||
| 48 | + * | ||
| 49 | + * @param id 编号 | ||
| 50 | + * @return 人员费用录入 - 个人费用 | ||
| 51 | + */ | ||
| 52 | + PersonalCostDO getPersonalCost(Long id); | ||
| 53 | + | ||
| 54 | + /** | ||
| 55 | + * 获得人员费用录入 - 个人费用分页 | ||
| 56 | + * | ||
| 57 | + * @param pageReqVO 分页查询 | ||
| 58 | + * @return 人员费用录入 - 个人费用分页 | ||
| 59 | + */ | ||
| 60 | + PageResult<PersonalCostDO> getPersonalCostPage(PersonalCostPageReqVO pageReqVO); | ||
| 61 | + | ||
| 62 | +} | ||
| 0 | \ No newline at end of file | 63 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/personalcost/PersonalCostServiceImpl.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.personalcost; | ||
| 2 | + | ||
| 3 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
| 4 | +import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
| 5 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 6 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 7 | +import com.zteits.urbanops.module.garden.controller.admin.personalcost.vo.PersonalCostPageReqVO; | ||
| 8 | +import com.zteits.urbanops.module.garden.controller.admin.personalcost.vo.PersonalCostSaveReqVO; | ||
| 9 | +import com.zteits.urbanops.module.garden.dal.dataobject.departmentcost.DepartmentCostDO; | ||
| 10 | +import com.zteits.urbanops.module.garden.dal.dataobject.personalcost.PersonalCostDO; | ||
| 11 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 12 | +import com.zteits.urbanops.module.garden.dal.mysql.personalcost.PersonalCostMapper; | ||
| 13 | +import com.zteits.urbanops.module.garden.dal.mysql.teambizdomainrel.TeamBizdomainRelMapper; | ||
| 14 | +import com.zteits.urbanops.module.garden.enums.CostFeeConstants; | ||
| 15 | +import com.zteits.urbanops.module.garden.service.teambizdomainrel.TeamBizdomainRelService; | ||
| 16 | +import jakarta.annotation.Resource; | ||
| 17 | +import org.apache.commons.collections4.CollectionUtils; | ||
| 18 | +import org.apache.commons.lang3.StringUtils; | ||
| 19 | +import org.springframework.stereotype.Service; | ||
| 20 | +import org.springframework.transaction.annotation.Transactional; | ||
| 21 | +import org.springframework.validation.annotation.Validated; | ||
| 22 | + | ||
| 23 | +import java.util.List; | ||
| 24 | + | ||
| 25 | +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; | ||
| 26 | +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.PERSONAL_COST_NOT_EXISTS; | ||
| 27 | +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.PERSONAL_COST_NOT_EXISTS_001; | ||
| 28 | + | ||
| 29 | +/** | ||
| 30 | + * 人员费用录入 - 个人费用 Service 实现类 | ||
| 31 | + * | ||
| 32 | + * @author 超级管理员 | ||
| 33 | + */ | ||
| 34 | +@Service | ||
| 35 | +@Validated | ||
| 36 | +public class PersonalCostServiceImpl implements PersonalCostService { | ||
| 37 | + | ||
| 38 | + @Resource | ||
| 39 | + private PersonalCostMapper personalCostMapper; | ||
| 40 | + @Resource | ||
| 41 | + TeamBizdomainRelService teamBizdomainRelService; | ||
| 42 | + | ||
| 43 | + @Override | ||
| 44 | + @Transactional | ||
| 45 | + public Long createPersonalCost(PersonalCostSaveReqVO createReqVO) { | ||
| 46 | + // 插入 | ||
| 47 | + PersonalCostDO personalCost = BeanUtils.toBean(createReqVO, PersonalCostDO.class); | ||
| 48 | + personalCostMapper.insert(personalCost); | ||
| 49 | + | ||
| 50 | + //add by wq 保存班组信息关联表 | ||
| 51 | + teamBizdomainRelService.saveTeamBizdomainRel(createReqVO.getTeamIds(), personalCost.getId(), personalCost.getCompanyId(), personalCost.getCompanyName(), CostFeeConstants.COSTFEE_PERSONAL); | ||
| 52 | + //add by wq 保存班组信息关联表 | ||
| 53 | + | ||
| 54 | + // 返回 | ||
| 55 | + return personalCost.getId(); | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + @Override | ||
| 59 | + @Transactional | ||
| 60 | + public void updatePersonalCost(PersonalCostSaveReqVO updateReqVO) { | ||
| 61 | + // 校验存在 | ||
| 62 | + validatePersonalCostExists(updateReqVO.getId()); | ||
| 63 | + // 更新 | ||
| 64 | + PersonalCostDO updateObj = BeanUtils.toBean(updateReqVO, PersonalCostDO.class); | ||
| 65 | + personalCostMapper.updateById(updateObj); | ||
| 66 | + | ||
| 67 | + //add by wq 保存班组信息关联表 | ||
| 68 | + teamBizdomainRelService.deleteTeamBizdomainRel(updateObj.getId(), CostFeeConstants.COSTFEE_PERSONAL); | ||
| 69 | + teamBizdomainRelService.saveTeamBizdomainRel(updateReqVO.getTeamIds(), updateObj.getId(), updateObj.getCompanyId(), updateObj.getCompanyName(), CostFeeConstants.COSTFEE_PERSONAL); | ||
| 70 | + | ||
| 71 | + //add by wq 保存班组信息关联表 | ||
| 72 | + } | ||
| 73 | + | ||
| 74 | + @Override | ||
| 75 | + public void deletePersonalCost(Long id) { | ||
| 76 | + // 校验存在 | ||
| 77 | + validatePersonalCostExists(id); | ||
| 78 | + // 删除 | ||
| 79 | + personalCostMapper.deleteById(id); | ||
| 80 | + // add by wq 删除 | ||
| 81 | + teamBizdomainRelService.deleteTeamBizdomainRel(id, CostFeeConstants.COSTFEE_PERSONAL); | ||
| 82 | + // add by wq 删除 | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + @Override | ||
| 86 | + public void deletePersonalCostListByIds(List<Long> ids) { | ||
| 87 | + // 删除 | ||
| 88 | + personalCostMapper.deleteByIds(ids); | ||
| 89 | + // add by wq 删除 | ||
| 90 | + if(ids.size() > 0) { | ||
| 91 | + for (Long id : ids) { | ||
| 92 | + teamBizdomainRelService.deleteTeamBizdomainRel(id, CostFeeConstants.COSTFEE_PERSONAL); | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + // add by wq 删除 | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + | ||
| 99 | + private void validatePersonalCostExists(Long id) { | ||
| 100 | + if (personalCostMapper.selectById(id) == null) { | ||
| 101 | + throw exception(PERSONAL_COST_NOT_EXISTS); | ||
| 102 | + } | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + @Override | ||
| 106 | + public PersonalCostDO getPersonalCost(Long id) { | ||
| 107 | + return personalCostMapper.selectById(id); | ||
| 108 | + } | ||
| 109 | + | ||
| 110 | + @Override | ||
| 111 | + public PageResult<PersonalCostDO> getPersonalCostPage(PersonalCostPageReqVO pageReqVO) { | ||
| 112 | + return personalCostMapper.selectPage(pageReqVO); | ||
| 113 | + } | ||
| 114 | + | ||
| 115 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/rentalmechanicalcost/RentalMechanicalCostService.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.rentalmechanicalcost; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | +import jakarta.validation.*; | ||
| 5 | +import com.zteits.urbanops.module.garden.controller.admin.rentalmechanicalcost.vo.*; | ||
| 6 | +import com.zteits.urbanops.module.garden.dal.dataobject.rentalmechanicalcost.RentalMechanicalCostDO; | ||
| 7 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 8 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * 租赁机械费用录入 Service 接口 | ||
| 12 | + * | ||
| 13 | + * @author 超级管理员 | ||
| 14 | + */ | ||
| 15 | +public interface RentalMechanicalCostService { | ||
| 16 | + | ||
| 17 | + /** | ||
| 18 | + * 创建租赁机械费用录入 | ||
| 19 | + * | ||
| 20 | + * @param createReqVO 创建信息 | ||
| 21 | + * @return 编号 | ||
| 22 | + */ | ||
| 23 | + Long createRentalMechanicalCost(@Valid RentalMechanicalCostSaveReqVO createReqVO); | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * 更新租赁机械费用录入 | ||
| 27 | + * | ||
| 28 | + * @param updateReqVO 更新信息 | ||
| 29 | + */ | ||
| 30 | + void updateRentalMechanicalCost(@Valid RentalMechanicalCostSaveReqVO updateReqVO); | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * 删除租赁机械费用录入 | ||
| 34 | + * | ||
| 35 | + * @param id 编号 | ||
| 36 | + */ | ||
| 37 | + void deleteRentalMechanicalCost(Long id); | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 批量删除租赁机械费用录入 | ||
| 41 | + * | ||
| 42 | + * @param ids 编号 | ||
| 43 | + */ | ||
| 44 | + void deleteRentalMechanicalCostListByIds(List<Long> ids); | ||
| 45 | + | ||
| 46 | + /** | ||
| 47 | + * 获得租赁机械费用录入 | ||
| 48 | + * | ||
| 49 | + * @param id 编号 | ||
| 50 | + * @return 租赁机械费用录入 | ||
| 51 | + */ | ||
| 52 | + RentalMechanicalCostDO getRentalMechanicalCost(Long id); | ||
| 53 | + | ||
| 54 | + /** | ||
| 55 | + * 获得租赁机械费用录入分页 | ||
| 56 | + * | ||
| 57 | + * @param pageReqVO 分页查询 | ||
| 58 | + * @return 租赁机械费用录入分页 | ||
| 59 | + */ | ||
| 60 | + PageResult<RentalMechanicalCostDO> getRentalMechanicalCostPage(RentalMechanicalCostPageReqVO pageReqVO); | ||
| 61 | + | ||
| 62 | +} | ||
| 0 | \ No newline at end of file | 63 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/rentalmechanicalcost/RentalMechanicalCostServiceImpl.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.rentalmechanicalcost; | ||
| 2 | + | ||
| 3 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 4 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 5 | +import com.zteits.urbanops.module.garden.controller.admin.rentalmechanicalcost.vo.RentalMechanicalCostPageReqVO; | ||
| 6 | +import com.zteits.urbanops.module.garden.controller.admin.rentalmechanicalcost.vo.RentalMechanicalCostSaveReqVO; | ||
| 7 | +import com.zteits.urbanops.module.garden.dal.dataobject.rentalmechanicalcost.RentalMechanicalCostDO; | ||
| 8 | +import com.zteits.urbanops.module.garden.dal.mysql.rentalmechanicalcost.RentalMechanicalCostMapper; | ||
| 9 | +import com.zteits.urbanops.module.garden.enums.CostFeeConstants; | ||
| 10 | +import com.zteits.urbanops.module.garden.service.teambizdomainrel.TeamBizdomainRelService; | ||
| 11 | +import jakarta.annotation.Resource; | ||
| 12 | +import org.apache.commons.collections4.CollectionUtils; | ||
| 13 | +import org.springframework.stereotype.Service; | ||
| 14 | +import org.springframework.validation.annotation.Validated; | ||
| 15 | + | ||
| 16 | +import java.util.List; | ||
| 17 | + | ||
| 18 | + | ||
| 19 | +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; | ||
| 20 | +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; | ||
| 21 | + | ||
| 22 | +/** | ||
| 23 | + * 租赁机械费用录入 Service 实现类 | ||
| 24 | + * | ||
| 25 | + * @author 超级管理员 | ||
| 26 | + */ | ||
| 27 | +@Service | ||
| 28 | +@Validated | ||
| 29 | +public class RentalMechanicalCostServiceImpl implements RentalMechanicalCostService { | ||
| 30 | + | ||
| 31 | + @Resource | ||
| 32 | + private RentalMechanicalCostMapper rentalMechanicalCostMapper; | ||
| 33 | + | ||
| 34 | + @Resource | ||
| 35 | + private TeamBizdomainRelService teamBizdomainRelService; | ||
| 36 | + | ||
| 37 | + @Override | ||
| 38 | + public Long createRentalMechanicalCost(RentalMechanicalCostSaveReqVO createReqVO) { | ||
| 39 | + // 插入 | ||
| 40 | + RentalMechanicalCostDO rentalMechanicalCost = BeanUtils.toBean(createReqVO, RentalMechanicalCostDO.class); | ||
| 41 | + rentalMechanicalCostMapper.insert(rentalMechanicalCost); | ||
| 42 | + | ||
| 43 | + //add by wq 保存班组信息关联表 | ||
| 44 | + teamBizdomainRelService.saveTeamBizdomainRel(createReqVO.getTeamIds(), rentalMechanicalCost.getId(), rentalMechanicalCost.getCompanyId(), rentalMechanicalCost.getCompanyName(), CostFeeConstants.COSTFEE_RENTALMECHANICAL); | ||
| 45 | + //add by wq 保存班组信息关联表 | ||
| 46 | + // 返回 | ||
| 47 | + return rentalMechanicalCost.getId(); | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + @Override | ||
| 51 | + public void updateRentalMechanicalCost(RentalMechanicalCostSaveReqVO updateReqVO) { | ||
| 52 | + // 校验存在 | ||
| 53 | + validateRentalMechanicalCostExists(updateReqVO.getId()); | ||
| 54 | + // 更新 | ||
| 55 | + RentalMechanicalCostDO updateObj = BeanUtils.toBean(updateReqVO, RentalMechanicalCostDO.class); | ||
| 56 | + rentalMechanicalCostMapper.updateById(updateObj); | ||
| 57 | + | ||
| 58 | + //add by wq 保存班组信息关联表 | ||
| 59 | + teamBizdomainRelService.deleteTeamBizdomainRel(updateObj.getId(), CostFeeConstants.COSTFEE_RENTALMECHANICAL); | ||
| 60 | + teamBizdomainRelService.saveTeamBizdomainRel(updateReqVO.getTeamIds(), updateObj.getId(), updateObj.getCompanyId(), updateObj.getCompanyName(), CostFeeConstants.COSTFEE_RENTALMECHANICAL); | ||
| 61 | + //add by wq 保存班组信息关联表 | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + @Override | ||
| 65 | + public void deleteRentalMechanicalCost(Long id) { | ||
| 66 | + // 校验存在 | ||
| 67 | + validateRentalMechanicalCostExists(id); | ||
| 68 | + // 删除 | ||
| 69 | + rentalMechanicalCostMapper.deleteById(id); | ||
| 70 | + | ||
| 71 | + //add by wq 删除班组信息关联表 | ||
| 72 | + teamBizdomainRelService.deleteTeamBizdomainRel(id, CostFeeConstants.COSTFEE_RENTALMECHANICAL); | ||
| 73 | + //add by wq 删除班组信息关联表 | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + @Override | ||
| 77 | + public void deleteRentalMechanicalCostListByIds(List<Long> ids) { | ||
| 78 | + // 删除 | ||
| 79 | + rentalMechanicalCostMapper.deleteByIds(ids); | ||
| 80 | + | ||
| 81 | + //add by wq 删除班组信息关联表 | ||
| 82 | + if(CollectionUtils.isNotEmpty(ids)) { | ||
| 83 | + for (Long id : ids) { | ||
| 84 | + //批量删除 | ||
| 85 | + teamBizdomainRelService.deleteTeamBizdomainRel(id, CostFeeConstants.COSTFEE_MECHANICAL); | ||
| 86 | + } | ||
| 87 | + } | ||
| 88 | + //add by wq 删除班组信息关联表 | ||
| 89 | + } | ||
| 90 | + | ||
| 91 | + | ||
| 92 | + private void validateRentalMechanicalCostExists(Long id) { | ||
| 93 | + if (rentalMechanicalCostMapper.selectById(id) == null) { | ||
| 94 | + throw exception(RENTAL_MECHANICAL_COST_NOT_EXISTS); | ||
| 95 | + } | ||
| 96 | + } | ||
| 97 | + | ||
| 98 | + @Override | ||
| 99 | + public RentalMechanicalCostDO getRentalMechanicalCost(Long id) { | ||
| 100 | + return rentalMechanicalCostMapper.selectById(id); | ||
| 101 | + } | ||
| 102 | + | ||
| 103 | + @Override | ||
| 104 | + public PageResult<RentalMechanicalCostDO> getRentalMechanicalCostPage(RentalMechanicalCostPageReqVO pageReqVO) { | ||
| 105 | + return rentalMechanicalCostMapper.selectPage(pageReqVO); | ||
| 106 | + } | ||
| 107 | + | ||
| 108 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/teambizdomainrel/TeamBizdomainRelService.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.teambizdomainrel; | ||
| 2 | + | ||
| 3 | +import java.util.*; | ||
| 4 | +import jakarta.validation.*; | ||
| 5 | +import com.zteits.urbanops.module.garden.controller.admin.teambizdomainrel.vo.*; | ||
| 6 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 7 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 8 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 9 | + | ||
| 10 | +/** | ||
| 11 | + * 班组关联 Service 接口 | ||
| 12 | + * | ||
| 13 | + * @author 超级管理员 | ||
| 14 | + */ | ||
| 15 | +public interface TeamBizdomainRelService { | ||
| 16 | + | ||
| 17 | + /** | ||
| 18 | + * 创建班组关联 | ||
| 19 | + * | ||
| 20 | + * @param createReqVO 创建信息 | ||
| 21 | + * @return 编号 | ||
| 22 | + */ | ||
| 23 | + Long createTeamBizdomainRel(@Valid TeamBizdomainRelSaveReqVO createReqVO); | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * 更新班组关联 | ||
| 27 | + * | ||
| 28 | + * @param updateReqVO 更新信息 | ||
| 29 | + */ | ||
| 30 | + void updateTeamBizdomainRel(@Valid TeamBizdomainRelSaveReqVO updateReqVO); | ||
| 31 | + | ||
| 32 | + /** | ||
| 33 | + * 删除班组关联 | ||
| 34 | + * | ||
| 35 | + * @param id 编号 | ||
| 36 | + */ | ||
| 37 | + void deleteTeamBizdomainRel(Long id); | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * 批量删除班组关联 | ||
| 41 | + * | ||
| 42 | + * @param ids 编号 | ||
| 43 | + */ | ||
| 44 | + void deleteTeamBizdomainRelListByIds(List<Long> ids); | ||
| 45 | + | ||
| 46 | + /** | ||
| 47 | + * 获得班组关联 | ||
| 48 | + * | ||
| 49 | + * @param id 编号 | ||
| 50 | + * @return 班组关联 | ||
| 51 | + */ | ||
| 52 | + TeamBizdomainRelDO getTeamBizdomainRel(Long id); | ||
| 53 | + | ||
| 54 | + /** | ||
| 55 | + * 获得班组关联分页 | ||
| 56 | + * | ||
| 57 | + * @param pageReqVO 分页查询 | ||
| 58 | + * @return 班组关联分页 | ||
| 59 | + */ | ||
| 60 | + PageResult<TeamBizdomainRelDO> getTeamBizdomainRelPage(TeamBizdomainRelPageReqVO pageReqVO); | ||
| 61 | + | ||
| 62 | + /** | ||
| 63 | + * @Author wangqian | ||
| 64 | + * @Description 获取费用关联信息 | ||
| 65 | + * @Date 2025/11/19 20:47 | ||
| 66 | + * @Param busiId | ||
| 67 | + * @param busiType | ||
| 68 | + * @Return java.util.List<com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO> | ||
| 69 | + */ | ||
| 70 | + public List<TeamBizdomainRelDO> getTeamBizdomainRelList(Long busiId, String busiType); | ||
| 71 | + | ||
| 72 | + public void saveTeamBizdomainRel(List<TeamBizdomainRelDO> teamList, Long busiId, String companyId, String companyName ,String busiType) ; | ||
| 73 | + | ||
| 74 | + public void deleteTeamBizdomainRel(Long id, String busiType); | ||
| 75 | + | ||
| 76 | + | ||
| 77 | +} |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/teambizdomainrel/TeamBizdomainRelServiceImpl.java
0 → 100644
| 1 | +package com.zteits.urbanops.module.garden.service.teambizdomainrel; | ||
| 2 | + | ||
| 3 | +import cn.hutool.core.collection.CollUtil; | ||
| 4 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
| 5 | +import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
| 6 | +import com.zteits.urbanops.module.garden.enums.CostFeeConstants; | ||
| 7 | +import org.apache.commons.collections4.CollectionUtils; | ||
| 8 | +import org.apache.commons.lang3.StringUtils; | ||
| 9 | +import org.springframework.stereotype.Service; | ||
| 10 | +import jakarta.annotation.Resource; | ||
| 11 | +import org.springframework.validation.annotation.Validated; | ||
| 12 | +import org.springframework.transaction.annotation.Transactional; | ||
| 13 | + | ||
| 14 | +import java.util.*; | ||
| 15 | +import com.zteits.urbanops.module.garden.controller.admin.teambizdomainrel.vo.*; | ||
| 16 | +import com.zteits.urbanops.module.garden.dal.dataobject.teambizdomainrel.TeamBizdomainRelDO; | ||
| 17 | +import com.zteits.urbanops.framework.common.pojo.PageResult; | ||
| 18 | +import com.zteits.urbanops.framework.common.pojo.PageParam; | ||
| 19 | +import com.zteits.urbanops.framework.common.util.object.BeanUtils; | ||
| 20 | + | ||
| 21 | +import com.zteits.urbanops.module.garden.dal.mysql.teambizdomainrel.TeamBizdomainRelMapper; | ||
| 22 | + | ||
| 23 | +import static com.zteits.urbanops.framework.common.exception.util.ServiceExceptionUtil.exception; | ||
| 24 | +import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.convertList; | ||
| 25 | +import static com.zteits.urbanops.framework.common.util.collection.CollectionUtils.diffList; | ||
| 26 | +import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.*; | ||
| 27 | + | ||
| 28 | +/** | ||
| 29 | + * 班组关联 Service 实现类 | ||
| 30 | + * | ||
| 31 | + * @author 超级管理员 | ||
| 32 | + */ | ||
| 33 | +@Service | ||
| 34 | +@Validated | ||
| 35 | +public class TeamBizdomainRelServiceImpl implements TeamBizdomainRelService { | ||
| 36 | + | ||
| 37 | + @Resource | ||
| 38 | + private TeamBizdomainRelMapper teamBizdomainRelMapper; | ||
| 39 | + | ||
| 40 | + @Override | ||
| 41 | + public Long createTeamBizdomainRel(TeamBizdomainRelSaveReqVO createReqVO) { | ||
| 42 | + // 插入 | ||
| 43 | + TeamBizdomainRelDO teamBizdomainRel = BeanUtils.toBean(createReqVO, TeamBizdomainRelDO.class); | ||
| 44 | + teamBizdomainRelMapper.insert(teamBizdomainRel); | ||
| 45 | + | ||
| 46 | + // 返回 | ||
| 47 | + return teamBizdomainRel.getId(); | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + @Override | ||
| 51 | + public void updateTeamBizdomainRel(TeamBizdomainRelSaveReqVO updateReqVO) { | ||
| 52 | + // 校验存在 | ||
| 53 | + validateTeamBizdomainRelExists(updateReqVO.getId()); | ||
| 54 | + // 更新 | ||
| 55 | + TeamBizdomainRelDO updateObj = BeanUtils.toBean(updateReqVO, TeamBizdomainRelDO.class); | ||
| 56 | + teamBizdomainRelMapper.updateById(updateObj); | ||
| 57 | + } | ||
| 58 | + | ||
| 59 | + @Override | ||
| 60 | + public void deleteTeamBizdomainRel(Long id) { | ||
| 61 | + // 校验存在 | ||
| 62 | + validateTeamBizdomainRelExists(id); | ||
| 63 | + // 删除 | ||
| 64 | + teamBizdomainRelMapper.deleteById(id); | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + @Override | ||
| 68 | + public void deleteTeamBizdomainRelListByIds(List<Long> ids) { | ||
| 69 | + // 删除 | ||
| 70 | + teamBizdomainRelMapper.deleteByIds(ids); | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + | ||
| 74 | + private void validateTeamBizdomainRelExists(Long id) { | ||
| 75 | + if (teamBizdomainRelMapper.selectById(id) == null) { | ||
| 76 | + //throw exception(TEAM_BIZDOMAIN_REL_NOT_EXISTS); | ||
| 77 | + } | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + @Override | ||
| 81 | + public TeamBizdomainRelDO getTeamBizdomainRel(Long id) { | ||
| 82 | + return teamBizdomainRelMapper.selectById(id); | ||
| 83 | + } | ||
| 84 | + | ||
| 85 | + @Override | ||
| 86 | + public PageResult<TeamBizdomainRelDO> getTeamBizdomainRelPage(TeamBizdomainRelPageReqVO pageReqVO) { | ||
| 87 | + return teamBizdomainRelMapper.selectPage(pageReqVO); | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | + public List<TeamBizdomainRelDO> getTeamBizdomainRelList(Long busiId, String busiType) { | ||
| 91 | + if (busiId == null && StringUtils.isEmpty(busiType)) { | ||
| 92 | + throw exception(MECHANICAL_COST_NOT_EXISTS_001); | ||
| 93 | + } | ||
| 94 | + LambdaQueryWrapper<TeamBizdomainRelDO> queryWrapper = Wrappers.lambdaQuery(); | ||
| 95 | + queryWrapper.eq(TeamBizdomainRelDO::getBusiId, busiId); | ||
| 96 | + queryWrapper.eq(TeamBizdomainRelDO::getBusiType, busiType); | ||
| 97 | + return teamBizdomainRelMapper.selectList(queryWrapper); | ||
| 98 | + } | ||
| 99 | + | ||
| 100 | + @Override | ||
| 101 | + public void saveTeamBizdomainRel(List<TeamBizdomainRelDO> teamList, Long busiId, String companyId, String companyName ,String busiType) { | ||
| 102 | + if (CollectionUtils.isNotEmpty(teamList)) { | ||
| 103 | + for (TeamBizdomainRelDO team : teamList) { | ||
| 104 | + if (team != null && StringUtils.isNotEmpty(team.getTeamId())) { | ||
| 105 | + TeamBizdomainRelDO teamBizdomainRel = new TeamBizdomainRelDO(); | ||
| 106 | + teamBizdomainRel.setBusiId(String.valueOf(busiId)); | ||
| 107 | + teamBizdomainRel.setCompanyId(companyId); | ||
| 108 | + teamBizdomainRel.setCompanyName(companyName); | ||
| 109 | + teamBizdomainRel.setTeamName(team.getTeamName()); | ||
| 110 | + teamBizdomainRel.setTeamId(team.getTeamId()); | ||
| 111 | + teamBizdomainRel.setBusiType(busiType); | ||
| 112 | + teamBizdomainRelMapper.insert(teamBizdomainRel); | ||
| 113 | + } | ||
| 114 | + } | ||
| 115 | + } | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + @Override | ||
| 119 | + public void deleteTeamBizdomainRel(Long id, String busiType ) { | ||
| 120 | + if (id == null && StringUtils.isEmpty(busiType)) { | ||
| 121 | + throw exception(MECHANICAL_COST_NOT_EXISTS_001); | ||
| 122 | + } | ||
| 123 | + LambdaQueryWrapper<TeamBizdomainRelDO> queryWrapper = Wrappers.lambdaQuery(); | ||
| 124 | + queryWrapper.eq(TeamBizdomainRelDO::getBusiId, String.valueOf(id)); | ||
| 125 | + queryWrapper.eq(TeamBizdomainRelDO::getBusiType, busiType); | ||
| 126 | + teamBizdomainRelMapper.delete(queryWrapper); | ||
| 127 | + } | ||
| 128 | +} |
urbanops-module-garden/src/main/resources/mapper/assigntasksinfo/AssignTasksInfoMapper.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
| 3 | +<mapper namespace="com.zteits.urbanops.module.garden.dal.mysql.assigntasksinfo.AssignTasksInfoMapper"> | ||
| 4 | + | ||
| 5 | + | ||
| 6 | + <!-- 按ID删除: --> | ||
| 7 | + <delete id="deleteAssignTaskInfoByTaskId" parameterType="Long"> | ||
| 8 | + update td_assign_task_info set status= 1 where task_id in | ||
| 9 | + <foreach item="item" collection="list" open="(" separator="," close=")"> | ||
| 10 | + #{item.id} | ||
| 11 | + </foreach> | ||
| 12 | + </delete> | ||
| 13 | + | ||
| 14 | + <!-- 新增:批量更新is_overdue --> | ||
| 15 | + <update id="batchUpdateIsOverdue"> | ||
| 16 | + update td_assign_task_info | ||
| 17 | + set is_overdue = 1, | ||
| 18 | + update_time = now() | ||
| 19 | + where id in | ||
| 20 | + <foreach item="item" collection="list" open="(" separator="," close=")"> | ||
| 21 | + #{item.id} | ||
| 22 | + </foreach> | ||
| 23 | + and finish = 0 | ||
| 24 | + </update> | ||
| 25 | + | ||
| 26 | +</mapper> |
urbanops-module-garden/src/main/resources/mapper/departmentcost/DepartmentCostMapper.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
| 3 | +<mapper namespace="com.zteits.urbanops.module.garden.dal.mysql.departmentcost.DepartmentCostMapper"> | ||
| 4 | + | ||
| 5 | + <!-- | ||
| 6 | + 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。 | ||
| 7 | + 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。 | ||
| 8 | + 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 | ||
| 9 | + 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ | ||
| 10 | + --> | ||
| 11 | + | ||
| 12 | +</mapper> | ||
| 0 | \ No newline at end of file | 13 | \ No newline at end of file |
urbanops-module-garden/src/main/resources/mapper/mechanicalcost/MechanicalCostMapper.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
| 3 | +<mapper namespace="com.zteits.urbanops.module.garden.dal.mysql.mechanicalcost.MechanicalCostMapper"> | ||
| 4 | + | ||
| 5 | + <!-- | ||
| 6 | + 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。 | ||
| 7 | + 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。 | ||
| 8 | + 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 | ||
| 9 | + 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ | ||
| 10 | + --> | ||
| 11 | + | ||
| 12 | +</mapper> | ||
| 0 | \ No newline at end of file | 13 | \ No newline at end of file |
urbanops-module-garden/src/main/resources/mapper/mechanicaldepreciation/MechanicalDepreciationMapper.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
| 3 | +<mapper namespace="com.zteits.urbanops.module.garden.dal.mysql.mechanicaldepreciation.MechanicalDepreciationMapper"> | ||
| 4 | + | ||
| 5 | + <!-- | ||
| 6 | + 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。 | ||
| 7 | + 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。 | ||
| 8 | + 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 | ||
| 9 | + 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ | ||
| 10 | + --> | ||
| 11 | + | ||
| 12 | +</mapper> | ||
| 0 | \ No newline at end of file | 13 | \ No newline at end of file |
urbanops-module-garden/src/main/resources/mapper/personalcost/PersonalCostMapper.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
| 3 | +<mapper namespace="com.zteits.urbanops.module.garden.dal.mysql.personalcost.PersonalCostMapper"> | ||
| 4 | + | ||
| 5 | + <!-- | ||
| 6 | + 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。 | ||
| 7 | + 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。 | ||
| 8 | + 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 | ||
| 9 | + 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ | ||
| 10 | + --> | ||
| 11 | + | ||
| 12 | +</mapper> | ||
| 0 | \ No newline at end of file | 13 | \ No newline at end of file |
urbanops-module-garden/src/main/resources/mapper/rentalmechanicalcost/RentalMechanicalCostMapper.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
| 3 | +<mapper namespace="com.zteits.urbanops.module.garden.dal.mysql.rentalmechanicalcost.RentalMechanicalCostMapper"> | ||
| 4 | + | ||
| 5 | + <!-- | ||
| 6 | + 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。 | ||
| 7 | + 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。 | ||
| 8 | + 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 | ||
| 9 | + 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ | ||
| 10 | + --> | ||
| 11 | + | ||
| 12 | +</mapper> | ||
| 0 | \ No newline at end of file | 13 | \ No newline at end of file |
urbanops-module-garden/src/main/resources/mapper/teambizdomainrel/TeamBizdomainRelMapper.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
| 3 | +<mapper namespace="com.zteits.urbanops.module.garden.dal.mysql.teambizdomainrel.TeamBizdomainRelMapper"> | ||
| 4 | + | ||
| 5 | + <!-- | ||
| 6 | + 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。 | ||
| 7 | + 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。 | ||
| 8 | + 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 | ||
| 9 | + 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ | ||
| 10 | + --> | ||
| 11 | + | ||
| 12 | +</mapper> | ||
| 0 | \ No newline at end of file | 13 | \ No newline at end of file |
urbanops-module-gloabl/src/main/resources/mapper/mechanicalcost/MechanicalCostMapper.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||
| 3 | +<mapper namespace="com.zteits.urbanops.module.garden.dal.mysql.mechanicalcost.MechanicalCostMapper"> | ||
| 4 | + | ||
| 5 | + <!-- | ||
| 6 | + 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。 | ||
| 7 | + 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。 | ||
| 8 | + 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 | ||
| 9 | + 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ | ||
| 10 | + --> | ||
| 11 | + | ||
| 12 | +</mapper> | ||
| 0 | \ No newline at end of file | 13 | \ No newline at end of file |