diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadSaveReqVO.java index 07a759d..c251921 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadSaveReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadSaveReqVO.java @@ -32,7 +32,6 @@ public class RoadSaveReqVO { private Integer levelId; @Schema(description = "道路属性") - @Size(min=2, max = 50) private String roadAttr; @Schema(description = "道路方位 W-西 E-东 N-北 S-南 参考字典roadDirection", requiredMode = Schema.RequiredMode.REQUIRED) @@ -41,22 +40,22 @@ public class RoadSaveReqVO { @Schema(description = "行道树绿化面积", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "行道树绿化面积不能为空") - @Size(min=2, max = 50) + @Size(min=1, max = 200000, message = "行道树绿化面积长度") private String greenBeltTreeArea; @Schema(description = "绿化带面积", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "绿化带面积不能为空") - @Size(min=2, max = 50) + @Size(min=1, max = 200000, message = "绿化带面积长度") private String greenBeltArea; @Schema(description = "总绿化带面积", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "总绿化带面积不能为空") - @Size(min=2, max = 50) + @Size(min=1, max = 200000, message = "总绿化带面积长度") private String totalArea; @Schema(description = "行道树(棵)面积", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "行道树(棵)面积不能为空") - @Size(min=2, max = 50) + @Size(min=1, max = 50, message = "行道树(棵)面积长度1-50") private String treeArea; @Schema(description = "起点经度", requiredMode = Schema.RequiredMode.REQUIRED) @@ -69,6 +68,7 @@ public class RoadSaveReqVO { @Schema(description = "起点描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") @NotEmpty(message = "起点描述不能为空") + @Size(min=1, max = 64, message = "起点描述最大64") private String startingRemark; @Schema(description = "终点经度", requiredMode = Schema.RequiredMode.REQUIRED) @@ -81,10 +81,12 @@ public class RoadSaveReqVO { @Schema(description = "终点描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") @NotEmpty(message = "终点描述不能为空") + @Size(min=1, max = 64, message = "起点经度长度最大64") private String endRemark; @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") @NotEmpty(message = "备注不能为空") + @Size(min=0, max = 500, message = "备注不能为空") private String remark; @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2323") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadUpdateReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadUpdateReqVO.java index 633a489..78d13de 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadUpdateReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/road/vo/RoadUpdateReqVO.java @@ -3,6 +3,7 @@ package com.zteits.urbanops.module.garden.controller.admin.road.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; import lombok.Data; @Schema(description = "管理后台 - 道路管理新增/修改 Request VO") @@ -15,6 +16,7 @@ public class RoadUpdateReqVO { @Schema(description = "道路名称", example = "赵六") @NotEmpty(message = "道路名称不能为空") + @Size(min=2, max = 128, message = "道路名称长度") private String roadName; @Schema(description = "街道ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11139") @@ -42,18 +44,22 @@ public class RoadUpdateReqVO { @Schema(description = "行道树绿化面积", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "行道树绿化面积不能为空") + @Size(min=1, max = 200000, message = "行道树绿化面积长度") private String greenBeltTreeArea; @Schema(description = "绿化带面积", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "绿化带面积不能为空") + @Size(min=1, max = 200000, message = "绿化带面积长度") private String greenBeltArea; @Schema(description = "总绿化带面积", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "总绿化带面积不能为空") + @Size(min=1, max = 200000, message = "总绿化带面积长度") private String totalArea; @Schema(description = "行道树(棵)面积", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "行道树(棵)面积不能为空") + @Size(min=1, max = 50, message = "行道树(棵)面积长度") private String treeArea; @Schema(description = "起点经度", requiredMode = Schema.RequiredMode.REQUIRED) @@ -66,6 +72,7 @@ public class RoadUpdateReqVO { @Schema(description = "起点描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") @NotEmpty(message = "起点描述不能为空") + @Size(min=1, max = 64, message = "起点描述最大64") private String startingRemark; @Schema(description = "终点经度", requiredMode = Schema.RequiredMode.REQUIRED) @@ -78,10 +85,12 @@ public class RoadUpdateReqVO { @Schema(description = "终点描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") @NotEmpty(message = "终点描述不能为空") + @Size(min=1, max = 64, message = "起点经度长度最大64") private String endRemark; @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") @NotEmpty(message = "备注不能为空") + @Size(max = 500, message = "备注不能为空") private String remark; @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2323") @@ -93,11 +102,9 @@ public class RoadUpdateReqVO { private Long deptId; @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") - @NotEmpty(message = "创建者不能为空") private String creatorName; @Schema(description = "更新者", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") - @NotEmpty(message = "更新者不能为空") private String updaterName; } \ No newline at end of file diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/app/appmodule/AppAppModuleController.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/app/appmodule/AppAppModuleController.java index fb0332b..4503f3c 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/app/appmodule/AppAppModuleController.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/app/appmodule/AppAppModuleController.java @@ -15,8 +15,12 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; +import java.util.Collections; import java.util.Comparator; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; @@ -47,13 +51,56 @@ public class AppAppModuleController { // 填充统计数据(根据extra中的statisticKey配置) // appModuleService.fillModuleStatistics(list, userId); - // 排序并转换 - list.sort(Comparator.comparing(AppModuleDO::getSort)); - List result = AppModuleConvert.INSTANCE.convertAppList(list); + // 转换为 VO 列表并构建树 + List modules = AppModuleConvert.INSTANCE.convertAppList(list); + List moduleTree = buildModuleTree(modules); // MapStruct 转换已通过 @AfterMapping 自动填充 statisticCount - return success(result); + return success(moduleTree); + } + + private List buildModuleTree(List modules) { + if (modules == null || modules.isEmpty()) { + return Collections.emptyList(); + } + + Map moduleMap = new LinkedHashMap<>(modules.size()); + for (AppModuleVO module : modules) { + module.setChildren(new ArrayList<>()); + moduleMap.put(module.getId(), module); + } + + List roots = new ArrayList<>(); + for (AppModuleVO module : modules) { + Long parentId = module.getParentId(); + if (parentId == null || AppModuleDO.ID_ROOT.equals(parentId)) { + roots.add(module); + continue; + } + + AppModuleVO parent = moduleMap.get(parentId); + if (parent == null) { + roots.add(module); + continue; + } + parent.getChildren().add(module); + } + + sortModules(roots); + return roots; + } + + private void sortModules(List modules) { + if (modules == null || modules.isEmpty()) { + return; + } + + modules.sort(Comparator.comparing(AppModuleVO::getSort, + Comparator.nullsLast(Integer::compareTo))); + for (AppModuleVO module : modules) { + sortModules(module.getChildren()); + } } } diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/app/appmodule/vo/AppModuleVO.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/app/appmodule/vo/AppModuleVO.java index 1db8357..46d3b86 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/app/appmodule/vo/AppModuleVO.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/app/appmodule/vo/AppModuleVO.java @@ -3,6 +3,7 @@ package com.zteits.urbanops.module.system.controller.app.appmodule.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.util.List; import java.util.Map; @Schema(description = "用户 APP - App 功能模块 Response VO") @@ -51,4 +52,7 @@ public class AppModuleVO { @Schema(description = "扩展字段 JSON", example = "{}") private Map extra; + @Schema(description = "子模块集合") + private List children; + } diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/appmodule/AppModuleServiceImpl.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/appmodule/AppModuleServiceImpl.java index 86772ab..6405df3 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/appmodule/AppModuleServiceImpl.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/service/appmodule/AppModuleServiceImpl.java @@ -143,6 +143,7 @@ public class AppModuleServiceImpl implements AppModuleService { // 查询所有启用的模块 reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); List modules = getAppModuleList(reqVO); + modules = includeParentModules(modules); // 过滤掉关闭的节点 modules = filterDisableModules(modules); @@ -159,6 +160,46 @@ public class AppModuleServiceImpl implements AppModuleService { return modules; } + private List includeParentModules(List modules) { + if (CollUtil.isEmpty(modules)) { + return modules; + } + + Map moduleMap = new LinkedHashMap<>(); + for (AppModuleDO module : modules) { + moduleMap.put(module.getId(), module); + } + + Set pendingParentIds = new HashSet<>(); + for (AppModuleDO module : modules) { + Long parentId = module.getParentId(); + if (parentId == null || ObjUtil.equal(parentId, ID_ROOT) || moduleMap.containsKey(parentId)) { + continue; + } + pendingParentIds.add(parentId); + } + + while (CollUtil.isNotEmpty(pendingParentIds)) { + List parents = appModuleMapper.selectByIds(pendingParentIds); + pendingParentIds = new HashSet<>(); + for (AppModuleDO parent : parents) { + if (parent == null) { + continue; + } + if (!moduleMap.containsKey(parent.getId())) { + moduleMap.put(parent.getId(), parent); + } + Long ancestorId = parent.getParentId(); + if (ancestorId != null && !ObjUtil.equal(ancestorId, ID_ROOT) + && !moduleMap.containsKey(ancestorId)) { + pendingParentIds.add(ancestorId); + } + } + } + + return new ArrayList<>(moduleMap.values()); + } + @Override public List filterDisableModules(List moduleList) { if (CollUtil.isEmpty(moduleList)) { diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/garden/BpmGardenInspectController.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/garden/BpmGardenInspectController.java index 82e0240..52718c2 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/garden/BpmGardenInspectController.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/garden/BpmGardenInspectController.java @@ -3,11 +3,7 @@ package com.zteits.urbanops.module.workorder.controller.admin.garden; import com.zteits.urbanops.framework.common.pojo.CommonResult; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.util.object.BeanUtils; -import com.zteits.urbanops.module.bpm.controller.admin.oa.vo.BpmOALeaveCreateReqVO; -import com.zteits.urbanops.module.bpm.controller.admin.oa.vo.BpmOALeavePageReqVO; -import com.zteits.urbanops.module.bpm.controller.admin.oa.vo.BpmOALeaveRespVO; -import com.zteits.urbanops.module.bpm.dal.dataobject.oa.BpmOALeaveDO; -import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderCreateReqVo; +import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderCreateReqVO; import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderPageReqVO; import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderRespVO; import com.zteits.urbanops.module.workorder.dal.dataobject.garden.BpmGardenWorkOrderDO; @@ -41,7 +37,7 @@ public class BpmGardenInspectController { @PostMapping("/create") @PreAuthorize("@ss.hasPermission('bpm:garden-inspection:create')") @Operation(summary = "创建请求申请") - public CommonResult createGardenInspection(@Valid @RequestBody BpmGardenWorkOrderCreateReqVo createReqVO) { + public CommonResult createGardenInspection(@Valid @RequestBody BpmGardenWorkOrderCreateReqVO createReqVO) { return success(gardenService.createWorkOrder(getLoginUserId(), createReqVO)); } diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/garden/vo/BpmGardenWorkOrderCreateReqVo.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/garden/vo/BpmGardenWorkOrderCreateReqVO.java index 7ef247d..62605eb 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/garden/vo/BpmGardenWorkOrderCreateReqVo.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/garden/vo/BpmGardenWorkOrderCreateReqVO.java @@ -18,7 +18,7 @@ import java.util.Map; */ @Schema(description = "园林工单请求创建 Request VO") @Data -public class BpmGardenWorkOrderCreateReqVo { +public class BpmGardenWorkOrderCreateReqVO { @Schema(description = "业务线:yl 园林,wy 物业,sz 市政 ", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "业务线:yl 园林,wy 物业,sz 市政 不能为空") diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/AppGardenWorkOrderController.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/AppGardenWorkOrderController.java index aeddf07..e3366c2 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/AppGardenWorkOrderController.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/AppGardenWorkOrderController.java @@ -5,7 +5,9 @@ import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderPageReqVO; import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderRespVO; +import com.zteits.urbanops.module.workorder.controller.app.garden.vo.AppGardenWorkOrderPageReqVO; import com.zteits.urbanops.module.workorder.controller.app.garden.vo.AppGardenWorkOrderReqVO; +import com.zteits.urbanops.module.workorder.controller.app.garden.vo.AppGardenWorkOrderRespVO; import com.zteits.urbanops.module.workorder.dal.dataobject.garden.BpmGardenWorkOrderDO; import com.zteits.urbanops.module.workorder.service.garden.BpmGardenService; import io.swagger.v3.oas.annotations.Operation; @@ -27,36 +29,40 @@ import static com.zteits.urbanops.framework.security.core.util.SecurityFramework */ @Tag(name = "APP - 园林工单bpm") @RestController -@RequestMapping("/app/garden/workorder") +@RequestMapping("/bpm/garden/workorder") public class AppGardenWorkOrderController { @Resource private BpmGardenService gardenService; @PostMapping("/create") + //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:create')") @Operation(summary = "app-创建工单信息") public CommonResult createMainInfo(@Valid @RequestBody AppGardenWorkOrderReqVO createReqVO) { return success(gardenService.createWorkOrder(createReqVO)); } @PostMapping("/createQuick") + //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:create')") @Operation(summary = "app-创建快速工单信息") public CommonResult createMainInfoQuick(@Valid @RequestBody AppGardenWorkOrderReqVO createReqVO) { return success(gardenService.createWorkOrderQuick(createReqVO)); } @GetMapping("/get") + //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:query')") @Operation(summary = "app-获得工单详情") @Parameter(name = "id", description = "编号", required = true, example = "1024") - public CommonResult getGardenInspection(@RequestParam("id") Long id) { + public CommonResult getGardenInspection(@RequestParam("id") Long id) { BpmGardenWorkOrderDO gardenInspection = gardenService.getWorkOrder(id); - return success(BeanUtils.toBean(gardenInspection, BpmGardenWorkOrderRespVO.class)); + return success(BeanUtils.toBean(gardenInspection, AppGardenWorkOrderRespVO.class)); } @GetMapping("/page") + //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:query')") @Operation(summary = "app-获得园林巡检工单申请分页") - public CommonResult> getGardenInspectionPage(@Valid BpmGardenWorkOrderPageReqVO pageVO) { + public CommonResult> getGardenInspectionPage(@Valid AppGardenWorkOrderPageReqVO pageVO) { PageResult pageResult = gardenService.getGardenInspectionPage(getLoginUserId(), pageVO); - return success(BeanUtils.toBean(pageResult, BpmGardenWorkOrderRespVO.class)); + return success(BeanUtils.toBean(pageResult, AppGardenWorkOrderRespVO.class)); } } diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/AppGardenWorkOrderPageReqVO.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/AppGardenWorkOrderPageReqVO.java new file mode 100644 index 0000000..6a0b35c --- /dev/null +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/AppGardenWorkOrderPageReqVO.java @@ -0,0 +1,17 @@ +package com.zteits.urbanops.module.workorder.controller.app.garden.vo; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInfoPageReqVO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @author yanhuiqing + * @version 1.0 + * @description: TODO + * @date 2025/12/9 20:21 + */ +@Schema(description = "管理后台 - 工单信息分页 Request VO") +@Data +public class AppGardenWorkOrderPageReqVO extends MainInfoPageReqVO { +} diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/AppGardenWorkOrderReqVO.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/AppGardenWorkOrderReqVO.java index 6841b3e..e22a27a 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/AppGardenWorkOrderReqVO.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/AppGardenWorkOrderReqVO.java @@ -36,7 +36,7 @@ public class AppGardenWorkOrderReqVO { @Length(max = 500) private String remark; - @NotEmpty(message = "经纬度类型") + @Schema(description = "经纬度类型: 1:国标; 2:百度;3:高德;4:腾讯", example = "2") private Integer latLonType; @@ -59,7 +59,7 @@ public class AppGardenWorkOrderReqVO { @Schema(description = "工单名称", example = "绿地卫生") private String orderName; - @Schema(description = "来源ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @Schema(description = "来源ID 工单来源 1、巡查,2、游客居民,3、12345,4、网格", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") //@NotNull(message = "来源ID不能为空") private Integer sourceId; diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/AppGardenWorkOrderRespVO.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/AppGardenWorkOrderRespVO.java new file mode 100644 index 0000000..0788d80 --- /dev/null +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/AppGardenWorkOrderRespVO.java @@ -0,0 +1,16 @@ +package com.zteits.urbanops.module.workorder.controller.app.garden.vo; + +import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInfoRespVO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * @author yanhuiqing + * @version 1.0 + * @description: TODO + * @date 2025/12/9 20:18 + */ +@Schema(description = "APP - 园林工单流程 Response VO") +@Data +public class AppGardenWorkOrderRespVO extends MainInfoRespVO { +} diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenService.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenService.java index 21246aa..2dadff4 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenService.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenService.java @@ -1,8 +1,9 @@ package com.zteits.urbanops.module.workorder.service.garden; import com.zteits.urbanops.framework.common.pojo.PageResult; -import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderCreateReqVo; +import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderCreateReqVO; import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderPageReqVO; +import com.zteits.urbanops.module.workorder.controller.app.garden.vo.AppGardenWorkOrderPageReqVO; import com.zteits.urbanops.module.workorder.controller.app.garden.vo.AppGardenWorkOrderReqVO; import com.zteits.urbanops.module.workorder.dal.dataobject.garden.BpmGardenWorkOrderDO; import jakarta.validation.Valid; @@ -25,7 +26,7 @@ public interface BpmGardenService { * @param createRequestVo * @return */ - Long createWorkOrder(Long userId,@Valid BpmGardenWorkOrderCreateReqVo createRequestVo); + Long createWorkOrder(Long userId,@Valid BpmGardenWorkOrderCreateReqVO createRequestVo); /** * 更新工单申请的状态 @@ -49,6 +50,14 @@ public interface BpmGardenService { * @param pageVO * @return */ + PageResult getGardenInspectionPage(Long loginUserId, AppGardenWorkOrderPageReqVO pageVO); + + /** + * 获得工单分页数据 + * @param loginUserId + * @param pageVO + * @return + */ PageResult getGardenInspectionPage(Long loginUserId, BpmGardenWorkOrderPageReqVO pageVO); /** diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java index 35b1df3..a43b1df 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java @@ -8,12 +8,12 @@ import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; import com.zteits.urbanops.module.bpm.api.task.BpmProcessInstanceApi; import com.zteits.urbanops.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO; import com.zteits.urbanops.module.bpm.enums.task.BpmTaskStatusEnum; -import com.zteits.urbanops.module.bpm.service.task.BpmProcessInstanceService; import com.zteits.urbanops.module.workorder.api.constant.BpmCommonConstant; import com.zteits.urbanops.module.workorder.api.workorder.WorkOrderApi; -import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderCreateReqVo; +import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderCreateReqVO; import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderPageReqVO; import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInfoPageReqVO; +import com.zteits.urbanops.module.workorder.controller.app.garden.vo.AppGardenWorkOrderPageReqVO; import com.zteits.urbanops.module.workorder.controller.app.garden.vo.AppGardenWorkOrderReqVO; import com.zteits.urbanops.module.workorder.dal.dataobject.attachment.AttachmentDO; import com.zteits.urbanops.module.workorder.dal.dataobject.garden.BpmGardenWorkOrderDO; @@ -71,6 +71,8 @@ public class BpmGardenServiceImpl implements BpmGardenService{ workOrder.setOrderName("园林工单"); workOrder.setCompanyId(SecurityFrameworkUtils.getCompanyId()); workOrder.setBusiLine(SecurityFrameworkUtils.getBusiLine()); + workOrder.setUserId(SecurityFrameworkUtils.getLoginUserId()); + workOrder.setUserName(SecurityFrameworkUtils.getLoginUserNickname()); workOrderMapper.insert(workOrder); //附件插入 @@ -119,7 +121,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{ @Override @Transactional(rollbackFor = Exception.class) - public Long createWorkOrder(Long userId, BpmGardenWorkOrderCreateReqVo createRequestVo) { + public Long createWorkOrder(Long userId, BpmGardenWorkOrderCreateReqVO createRequestVo) { List imgList = createRequestVo.getImgs(); List streetImgList = createRequestVo.getStreetImgList(); List longRangeImgList = createRequestVo.getLongRangeImgList(); @@ -238,5 +240,13 @@ public class BpmGardenServiceImpl implements BpmGardenService{ return targetList; } + @Override + public PageResult getGardenInspectionPage(Long loginUserId, AppGardenWorkOrderPageReqVO pageVO) { + MainInfoPageReqVO mainInfoPageReqVo = BeanUtils.toBean(pageVO,MainInfoPageReqVO.class); + PageResult pageList = workOrderMapper.selectPage(loginUserId, mainInfoPageReqVo); + PageResult targetList = BeanUtils.toBean(pageList,BpmGardenWorkOrderDO.class); + return targetList; + } + } diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/listener/BpmQuickProcessTaskAutoCompleteListener.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/listener/BpmQuickProcessTaskAutoCompleteListener.java index 4bd3fc7..8807ef3 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/listener/BpmQuickProcessTaskAutoCompleteListener.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/listener/BpmQuickProcessTaskAutoCompleteListener.java @@ -5,6 +5,7 @@ import com.zteits.urbanops.module.bpm.api.event.BpmProcessInstanceStatusEventLis import com.zteits.urbanops.module.workorder.api.constant.BpmCommonConstant; import com.zteits.urbanops.module.workorder.service.garden.BpmGardenService; import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; import org.flowable.common.engine.api.delegate.event.FlowableEngineEntityEvent; import org.springframework.stereotype.Component; @@ -15,6 +16,7 @@ import org.springframework.stereotype.Component; * @date 2025/12/6 14:00 */ @Component +@Slf4j public class BpmQuickProcessTaskAutoCompleteListener extends BpmProcessInstanceStatusEventListener { @Resource private BpmGardenService gardenService; @@ -25,6 +27,7 @@ public class BpmQuickProcessTaskAutoCompleteListener extends BpmProcessInstanceS @Override protected void onEvent(BpmProcessInstanceStatusEvent event) { + log.info("业务ID:"+event.getBusinessKey()+",业务状态"+event.getStatus()); gardenService.updateWorkOrderStatus(Long.parseLong(event.getBusinessKey()), event.getStatus()); }