From fc27812419df491626736af3af0f00e8ffed69bd Mon Sep 17 00:00:00 2001 From: yanhuiqing Date: Thu, 18 Dec 2025 01:26:27 +0800 Subject: [PATCH] APP端工作流 我发起的任务接口,发起 待办 已办 工单详情接口 --- urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/AppGardenWorkOrderController.java | 35 +++++++++++++++++++++++++++++++++++ urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoExtMapper.java | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenService.java | 31 +++++++++++++++++++++++++++++++ urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 250 insertions(+), 2 deletions(-) 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 5674b9a..38f5d99 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 @@ -76,6 +76,33 @@ public class AppGardenWorkOrderController { return success(BeanUtils.toBean(gardenInspection, AppGardenWorkOrderRespVO.class)); } + @GetMapping("/getTodoTaskDetail") + //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:query')") + @Operation(summary = "app - 获得待办工作流的工单详情") + @Parameter(name = "taskId", description = "任务编号", required = true, example = "8a2d40e9-db55-11f0-8e8b-bc2411640c7d") + public CommonResult getTodoTaskDetail(@RequestParam("taskId") String taskId) { + AppGardenWorkOrderRespVO respVO = gardenService.getTodoTaskDetail(taskId); + return success(respVO); + } + + @GetMapping("/getDoneTaskDetail") + //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:query')") + @Operation(summary = "app - 获得已办工作流的工单详情") + @Parameter(name = "taskId", description = "任务编号", required = true, example = "8a2d40e9-db55-11f0-8e8b-bc2411640c7d") + public CommonResult getDoneTaskDetail(@RequestParam("taskId") String taskId) { + AppGardenWorkOrderRespVO respVO = gardenService.getDoneTaskDetail(taskId); + return success(respVO); + } + + @GetMapping("/getMyTaskDetail") + //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:query')") + @Operation(summary = "app - 获得我发起的工作流工单详情") + @Parameter(name = "taskId", description = "任务编号", required = true, example = "8a2d40e9-db55-11f0-8e8b-bc2411640c7d") + public CommonResult getMyTaskDetail(@RequestParam("taskId") String taskId) { + AppGardenWorkOrderRespVO respVO = gardenService.getMyTaskDetail(taskId); + return success(respVO); + } + @GetMapping("/getApprovalDetail") @Operation(summary = "app - 获得审批详情") @Parameter(name = "id", description = "流程实例的编号", required = true) @@ -170,6 +197,14 @@ public class AppGardenWorkOrderController { return success(pageResult); } + @GetMapping("myBuzSimplePage") + @Operation(summary = "app - 获取工单业务我发起的任务分页") + //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:query')") + public CommonResult> getTaskMyBuzSimplePage(@Valid AppGardenWorkOrderPageReqVO pageVO) { + PageResult pageResult = gardenService.getTaskMyBuzSimplePage(pageVO); + return success(pageResult); + } + @GetMapping("getYlWorkersPage") @Operation(summary = "app - 获取园林养护员") //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:query')") diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoExtMapper.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoExtMapper.java index 958a759..4ab86fc 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoExtMapper.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoExtMapper.java @@ -82,7 +82,7 @@ public interface MainInfoExtMapper extends BaseMapperX { " AND m.curing_level_id = #{query.curingLevelId}", " ", " ", - " AND t.id = #{query.taskId}", + " AND t.ID_ = #{query.taskId}", " ", "ORDER BY t.END_TIME_ DESC", "" @@ -187,7 +187,7 @@ public interface MainInfoExtMapper extends BaseMapperX { " AND m.curing_level_id = #{query.curingLevelId}", " ", " ", - " AND t.id = #{query.taskId}", + " AND t.ID_ = #{query.taskId}", " ", "ORDER BY t.CREATE_TIME_ DESC", "" @@ -244,6 +244,111 @@ public interface MainInfoExtMapper extends BaseMapperX { return new PageResult<>(mpPage.getRecords(), mpPage.getTotal()); } //------------------------------------------------------------------------------------------------------- + @Select({ + "" + }) + @Results({ + @Result(column = "id", property = "id"), + @Result(column = "busi_line", property = "busiLine"), + @Result(column = "order_no", property = "orderNo"), + @Result(column = "order_name", property = "orderName"), + @Result(column = "source_id", property = "sourceId"), + @Result(column = "source_name", property = "sourceName"), + @Result(column = "road_id", property = "roadId"), + @Result(column = "road_name", property = "roadName"), + @Result(column = "street_id", property = "streetId"), + @Result(column = "street_name", property = "streetName"), + @Result(column = "curing_level_id", property = "curingLevelId"), + @Result(column = "curing_level_name", property = "curingLevelName"), + @Result(column = "commit_date", property = "commitDate"), + @Result(column = "finish_date", property = "finishDate"), + @Result(column = "pressing_type", property = "pressingType"), + @Result(column = "user_id", property = "userId"), + @Result(column = "user_name", property = "userName"), + @Result(column = "company_id", property = "companyId"), + @Result(column = "lat_lon_type", property = "latLonType"), + @Result(column = "lat", property = "lat"), + @Result(column = "lon", property = "lon"), + @Result(column = "lon_lat_address", property = "lonLatAddress"), + @Result(column = "third_work_no", property = "thirdWorkNo"), + @Result(column = "third_push_state", property = "thirdPushState"), + @Result(column = "buz_status", property = "buzStatus"), + @Result(column = "status", property = "status"), + @Result(column = "process_instance_id", property = "processInstanceId"), + @Result(column = "remark", property = "remark"), + @Result(column = "handle_result", property = "handleResult"), + @Result(column = "creator", property = "creator"), + @Result(column = "create_time", property = "createTime"), + @Result(column = "updater", property = "updater"), + @Result(column = "update_time", property = "updateTime"), + @Result(column = "deleted", property = "deleted"), + + @Result(column = "task_id", property = "taskId"), + @Result(column = "task_name", property = "taskName"), + @Result(column = "task_key", property = "taskKey"), + @Result(column = "process_definition_name", property = "processDefinitionName"), + @Result(column = "START_TIME_", property = "startTime"), + @Result(column = "END_TIME_", property = "endTime"), + @Result(column = "KEY_", property = "key_") + }) + IPage selectMyStartPage(IPage page, @Param("query") MainInfoHasTaskPageReqVO reqVO); + + default PageResult selectWorkOrderMyPage(PageParam pageParam, @Param("query") MainInfoHasTaskPageReqVO reqVO) { + IPage mpPage = MyBatisUtils.buildPage(pageParam); + mpPage = selectMyStartPage(mpPage, reqVO); + return new PageResult<>(mpPage.getRecords(), mpPage.getTotal()); + } + //------------------------------------------------------------------------------------------------------- /** * 查询所有用户信息 通过以下条件 * @param loginUserId 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 7a92d87..dde974e 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 @@ -117,6 +117,28 @@ public interface BpmGardenService { AppGardenApprovalDetailRespVO getApprovalDetail(AppGardenApprovalDetailReqVO reqVO); /** + * 获得带工作流信息的待办工单详情 + * @param taskId + * @return + */ + AppGardenWorkOrderRespVO getTodoTaskDetail(String taskId); + /** + * 获得带工作流信息的已办工单详情 + * @param taskId + * @return + */ + AppGardenWorkOrderRespVO getDoneTaskDetail(String taskId); + + /** + * 获得带工作流信息的我发起的工单详情 + * @param taskId + * @return + */ + AppGardenWorkOrderRespVO getMyTaskDetail(String taskId); + + + + /** * 工单业务已完结 列表 -app 端 * @param pageVO * @return @@ -129,6 +151,12 @@ public interface BpmGardenService { * @return */ PageResult getTaskTodoBuzSimplePage(AppGardenWorkOrderPageReqVO pageVO); + /** + * 工单业务我发起的 列表 -app端 + * @param pageVO + * @return + */ + PageResult getTaskMyBuzSimplePage(AppGardenWorkOrderPageReqVO pageVO); /** *通过登录人 loginUserId 获取 当前人所在部门的 且对应的用户角色为roleCode的人员,按业务线busiLine 筛选 @@ -147,4 +175,7 @@ public interface BpmGardenService { * @return */ public PageResult getUserByRoadIdAndRoleCode(PageParam param,Long roadId,String roleCode,String busiLine); + + + } 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 78941b6..0e256d5 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 @@ -2,10 +2,12 @@ package com.zteits.urbanops.module.workorder.service.garden; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.zteits.urbanops.framework.common.pojo.PageParam; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.framework.common.util.object.ObjectUtils; +import com.zteits.urbanops.framework.mybatis.core.util.MyBatisUtils; 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; @@ -221,6 +223,81 @@ public class BpmGardenServiceImpl implements BpmGardenService{ } @Override + public AppGardenWorkOrderRespVO getTodoTaskDetail(String taskId) { + PageParam pageParam = new PageParam(); + MainInfoHasTaskPageReqVO pageReqVO = new MainInfoHasTaskPageReqVO(); + pageReqVO.setTaskId(taskId); + pageReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId()); + PageResult pageResult = workOrderExtMapper.selectWorkOrderTodoPage(pageParam,pageReqVO); + List list = pageResult.getList(); + if(null != list && list.size()>0){ + return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper); + } + return null; + } + + @Override + public AppGardenWorkOrderRespVO getDoneTaskDetail(String taskId) { + PageParam pageParam = new PageParam(); + MainInfoHasTaskPageReqVO pageReqVO = new MainInfoHasTaskPageReqVO(); + pageReqVO.setTaskId(taskId); + pageReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId()); + PageResult pageResult = workOrderExtMapper.selectWorkOrderDonePage(pageParam,pageReqVO); + List list = pageResult.getList(); + if(null != list && list.size()>0){ + return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper); + } + return null; + } + + @Override + public AppGardenWorkOrderRespVO getMyTaskDetail(String taskId) { + PageParam pageParam = new PageParam(); + MainInfoHasTaskPageReqVO pageReqVO = new MainInfoHasTaskPageReqVO(); + pageReqVO.setTaskId(taskId); + pageReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId()); + PageResult pageResult = workOrderExtMapper.selectWorkOrderMyPage(pageParam,pageReqVO); + List list = pageResult.getList(); + if(null != list && list.size()>0){ + return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper); + } + return null; + } + + @Override + public PageResult getTaskMyBuzSimplePage(AppGardenWorkOrderPageReqVO pageVO) { + MainInfoHasTaskPageReqVO taskBuzReqVO = new MainInfoHasTaskPageReqVO(); + String type = pageVO.getType(); + String content = pageVO.getSearchContent(); + if(ObjectUtils.isNotAllEmpty(type)){ + if("1".equals(type)){ + if(ObjectUtils.isNotAllEmpty(content)){taskBuzReqVO.setRoadName(content);} + } else + if("2".equals(type)){ + if(ObjectUtils.isNotAllEmpty(content)){taskBuzReqVO.setOrderName(content);} + }else + if("3".equals(type)){ + if(ObjectUtils.isNotAllEmpty(content)){taskBuzReqVO.setRemark(content);} + } else + if("4".equals(type)){ + if(ObjectUtils.isNotAllEmpty(content)){taskBuzReqVO.setOrderNo(content);} + }else { + if (ObjectUtils.isNotAllEmpty(content)) { + taskBuzReqVO.setOrderName(content); + } + } + }else {//默认是工单名称 + if (ObjectUtils.isNotAllEmpty(content)) { + taskBuzReqVO.setOrderName(content); + } + } + taskBuzReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId()); + //TODO 先写死 + taskBuzReqVO.setKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO); + PageResult pageResult = workOrderExtMapper.selectWorkOrderMyPage(pageVO,taskBuzReqVO); + return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper); + } + @Override public PageResult getTaskDoneBuzSimplePage(AppGardenWorkOrderPageReqVO pageVO) { MainInfoHasTaskPageReqVO taskBuzReqVO = new MainInfoHasTaskPageReqVO(); String type = pageVO.getType(); -- libgit2 0.21.4