Commit bbdc1308e21861a37a035b4d0f58eae6f487ecd2

Authored by 王富生
2 parents ca3eb361 fc278124

Merge remote-tracking branch 'origin/dev' into dev

urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/AppGardenWorkOrderController.java
... ... @@ -76,6 +76,33 @@ public class AppGardenWorkOrderController {
76 76 return success(BeanUtils.toBean(gardenInspection, AppGardenWorkOrderRespVO.class));
77 77 }
78 78  
  79 + @GetMapping("/getTodoTaskDetail")
  80 + //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:query')")
  81 + @Operation(summary = "app - 获得待办工作流的工单详情")
  82 + @Parameter(name = "taskId", description = "任务编号", required = true, example = "8a2d40e9-db55-11f0-8e8b-bc2411640c7d")
  83 + public CommonResult<AppGardenWorkOrderRespVO> getTodoTaskDetail(@RequestParam("taskId") String taskId) {
  84 + AppGardenWorkOrderRespVO respVO = gardenService.getTodoTaskDetail(taskId);
  85 + return success(respVO);
  86 + }
  87 +
  88 + @GetMapping("/getDoneTaskDetail")
  89 + //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:query')")
  90 + @Operation(summary = "app - 获得已办工作流的工单详情")
  91 + @Parameter(name = "taskId", description = "任务编号", required = true, example = "8a2d40e9-db55-11f0-8e8b-bc2411640c7d")
  92 + public CommonResult<AppGardenWorkOrderRespVO> getDoneTaskDetail(@RequestParam("taskId") String taskId) {
  93 + AppGardenWorkOrderRespVO respVO = gardenService.getDoneTaskDetail(taskId);
  94 + return success(respVO);
  95 + }
  96 +
  97 + @GetMapping("/getMyTaskDetail")
  98 + //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:query')")
  99 + @Operation(summary = "app - 获得我发起的工作流工单详情")
  100 + @Parameter(name = "taskId", description = "任务编号", required = true, example = "8a2d40e9-db55-11f0-8e8b-bc2411640c7d")
  101 + public CommonResult<AppGardenWorkOrderRespVO> getMyTaskDetail(@RequestParam("taskId") String taskId) {
  102 + AppGardenWorkOrderRespVO respVO = gardenService.getMyTaskDetail(taskId);
  103 + return success(respVO);
  104 + }
  105 +
79 106 @GetMapping("/getApprovalDetail")
80 107 @Operation(summary = "app - 获得审批详情")
81 108 @Parameter(name = "id", description = "流程实例的编号", required = true)
... ... @@ -170,6 +197,14 @@ public class AppGardenWorkOrderController {
170 197 return success(pageResult);
171 198 }
172 199  
  200 + @GetMapping("myBuzSimplePage")
  201 + @Operation(summary = "app - 获取工单业务我发起的任务分页")
  202 + //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:query')")
  203 + public CommonResult<PageResult<AppGardenWorkOrderRespVO>> getTaskMyBuzSimplePage(@Valid AppGardenWorkOrderPageReqVO pageVO) {
  204 + PageResult<AppGardenWorkOrderRespVO> pageResult = gardenService.getTaskMyBuzSimplePage(pageVO);
  205 + return success(pageResult);
  206 + }
  207 +
173 208 @GetMapping("getYlWorkersPage")
174 209 @Operation(summary = "app - 获取园林养护员")
175 210 //@PreAuthorize("@ss.hasPermission('bpm:garden-workorder:query')")
... ...
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&lt;MainInfoDO&gt; {
82 82 " AND m.curing_level_id = #{query.curingLevelId}",
83 83 " </if>",
84 84 " <if test='query.taskId != null'>",
85   - " AND t.id = #{query.taskId}",
  85 + " AND t.ID_ = #{query.taskId}",
86 86 " </if>",
87 87 "ORDER BY t.END_TIME_ DESC",
88 88 "</script>"
... ... @@ -187,7 +187,7 @@ public interface MainInfoExtMapper extends BaseMapperX&lt;MainInfoDO&gt; {
187 187 " AND m.curing_level_id = #{query.curingLevelId}",
188 188 " </if>",
189 189 " <if test='query.taskId != null'>",
190   - " AND t.id = #{query.taskId}",
  190 + " AND t.ID_ = #{query.taskId}",
191 191 " </if>",
192 192 "ORDER BY t.CREATE_TIME_ DESC",
193 193 "</script>"
... ... @@ -244,6 +244,111 @@ public interface MainInfoExtMapper extends BaseMapperX&lt;MainInfoDO&gt; {
244 244 return new PageResult<>(mpPage.getRecords(), mpPage.getTotal());
245 245 }
246 246 //-------------------------------------------------------------------------------------------------------
  247 + @Select({
  248 + "<script>",
  249 + "SELECT",
  250 + "m.*,",
  251 + "t.ID_ AS task_id,",
  252 + "t.NAME_ AS task_name,",
  253 + "t.task_def_key_ AS task_key,",
  254 + "pd.NAME_ AS process_definition_name,",
  255 + "t.START_TIME_ ,",
  256 + "t.END_TIME_,",
  257 + "pd.KEY_",
  258 + "FROM act_hi_taskinst t",
  259 + "LEFT JOIN act_re_procdef pd ON t.PROC_DEF_ID_ = pd.ID_",
  260 + "LEFT JOIN act_hi_procinst pi ON t.PROC_INST_ID_ = pi.PROC_INST_ID_",
  261 + "LEFT JOIN workorder_main_info m ON t.PROC_INST_ID_ = m.process_instance_id",
  262 + "WHERE pi.START_USER_ID_ = #{query.userId}",
  263 + " <if test='query.key != null'>",
  264 + " AND pd.KEY_ = #{query.key}",
  265 + " </if>",
  266 + " <if test='query.startTime != null'>",
  267 + " <![CDATA[ AND t.START_TIME_ >= #{query.startTime} ]]>",
  268 + " </if>",
  269 + " <if test='query.endTime != null'>",
  270 + " <![CDATA[ AND t.END_TIME_ <= #{query.endTime} ]]>",
  271 + " </if>",
  272 + " <if test='query.busiLine != null'>",
  273 + " AND m.busi_line = #{query.busiLine}",
  274 + " </if>",
  275 + " <if test=\"query.orderNo != null and query.orderNo != ''\">",
  276 + " AND m.order_no LIKE CONCAT('%', #{query.orderNo}, '%')",
  277 + " </if>",
  278 + " <if test=\"query.orderName != null and query.orderName != ''\">",
  279 + " AND m.order_name LIKE CONCAT('%', #{query.orderName}, '%')",
  280 + " </if>",
  281 + " <if test=\"query.remark != null and query.remark != ''\">",
  282 + " AND m.remark LIKE CONCAT('%', #{query.remark}, '%')",
  283 + " </if>",
  284 + " <if test=\"query.roadName != null and query.roadName != ''\">",
  285 + " AND m.road_name LIKE CONCAT('%', #{query.roadName}, '%')",
  286 + " </if>",
  287 + " <if test=\"query.streetName != null and query.streetName != ''\">",
  288 + " AND m.street_name = #{query.streetName}",
  289 + " <!-- 若需模糊匹配,改为:AND m.street_name LIKE CONCAT('%', #{query.streetName}, '%') -->",
  290 + " </if>",
  291 + " <if test='query.curingLevelId != null'>",
  292 + " AND m.curing_level_id = #{query.curingLevelId}",
  293 + " </if>",
  294 + " <if test='query.taskId != null'>",
  295 + " AND t.ID_ = #{query.taskId}",
  296 + " </if>",
  297 + "ORDER BY t.START_TIME_ DESC",
  298 + "</script>"
  299 + })
  300 + @Results({
  301 + @Result(column = "id", property = "id"),
  302 + @Result(column = "busi_line", property = "busiLine"),
  303 + @Result(column = "order_no", property = "orderNo"),
  304 + @Result(column = "order_name", property = "orderName"),
  305 + @Result(column = "source_id", property = "sourceId"),
  306 + @Result(column = "source_name", property = "sourceName"),
  307 + @Result(column = "road_id", property = "roadId"),
  308 + @Result(column = "road_name", property = "roadName"),
  309 + @Result(column = "street_id", property = "streetId"),
  310 + @Result(column = "street_name", property = "streetName"),
  311 + @Result(column = "curing_level_id", property = "curingLevelId"),
  312 + @Result(column = "curing_level_name", property = "curingLevelName"),
  313 + @Result(column = "commit_date", property = "commitDate"),
  314 + @Result(column = "finish_date", property = "finishDate"),
  315 + @Result(column = "pressing_type", property = "pressingType"),
  316 + @Result(column = "user_id", property = "userId"),
  317 + @Result(column = "user_name", property = "userName"),
  318 + @Result(column = "company_id", property = "companyId"),
  319 + @Result(column = "lat_lon_type", property = "latLonType"),
  320 + @Result(column = "lat", property = "lat"),
  321 + @Result(column = "lon", property = "lon"),
  322 + @Result(column = "lon_lat_address", property = "lonLatAddress"),
  323 + @Result(column = "third_work_no", property = "thirdWorkNo"),
  324 + @Result(column = "third_push_state", property = "thirdPushState"),
  325 + @Result(column = "buz_status", property = "buzStatus"),
  326 + @Result(column = "status", property = "status"),
  327 + @Result(column = "process_instance_id", property = "processInstanceId"),
  328 + @Result(column = "remark", property = "remark"),
  329 + @Result(column = "handle_result", property = "handleResult"),
  330 + @Result(column = "creator", property = "creator"),
  331 + @Result(column = "create_time", property = "createTime"),
  332 + @Result(column = "updater", property = "updater"),
  333 + @Result(column = "update_time", property = "updateTime"),
  334 + @Result(column = "deleted", property = "deleted"),
  335 +
  336 + @Result(column = "task_id", property = "taskId"),
  337 + @Result(column = "task_name", property = "taskName"),
  338 + @Result(column = "task_key", property = "taskKey"),
  339 + @Result(column = "process_definition_name", property = "processDefinitionName"),
  340 + @Result(column = "START_TIME_", property = "startTime"),
  341 + @Result(column = "END_TIME_", property = "endTime"),
  342 + @Result(column = "KEY_", property = "key_")
  343 + })
  344 + IPage<MainInfoExtDO> selectMyStartPage(IPage<MainInfoExtDO> page, @Param("query") MainInfoHasTaskPageReqVO reqVO);
  345 +
  346 + default PageResult<MainInfoExtDO> selectWorkOrderMyPage(PageParam pageParam, @Param("query") MainInfoHasTaskPageReqVO reqVO) {
  347 + IPage<MainInfoExtDO> mpPage = MyBatisUtils.buildPage(pageParam);
  348 + mpPage = selectMyStartPage(mpPage, reqVO);
  349 + return new PageResult<>(mpPage.getRecords(), mpPage.getTotal());
  350 + }
  351 + //-------------------------------------------------------------------------------------------------------
247 352 /**
248 353 * 查询所有用户信息 通过以下条件
249 354 * @param loginUserId
... ...
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenService.java
... ... @@ -117,6 +117,28 @@ public interface BpmGardenService {
117 117 AppGardenApprovalDetailRespVO getApprovalDetail(AppGardenApprovalDetailReqVO reqVO);
118 118  
119 119 /**
  120 + * 获得带工作流信息的待办工单详情
  121 + * @param taskId
  122 + * @return
  123 + */
  124 + AppGardenWorkOrderRespVO getTodoTaskDetail(String taskId);
  125 + /**
  126 + * 获得带工作流信息的已办工单详情
  127 + * @param taskId
  128 + * @return
  129 + */
  130 + AppGardenWorkOrderRespVO getDoneTaskDetail(String taskId);
  131 +
  132 + /**
  133 + * 获得带工作流信息的我发起的工单详情
  134 + * @param taskId
  135 + * @return
  136 + */
  137 + AppGardenWorkOrderRespVO getMyTaskDetail(String taskId);
  138 +
  139 +
  140 +
  141 + /**
120 142 * 工单业务已完结 列表 -app 端
121 143 * @param pageVO
122 144 * @return
... ... @@ -129,6 +151,12 @@ public interface BpmGardenService {
129 151 * @return
130 152 */
131 153 PageResult<AppGardenWorkOrderRespVO> getTaskTodoBuzSimplePage(AppGardenWorkOrderPageReqVO pageVO);
  154 + /**
  155 + * 工单业务我发起的 列表 -app端
  156 + * @param pageVO
  157 + * @return
  158 + */
  159 + PageResult<AppGardenWorkOrderRespVO> getTaskMyBuzSimplePage(AppGardenWorkOrderPageReqVO pageVO);
132 160  
133 161 /**
134 162 *通过登录人 loginUserId 获取 当前人所在部门的 且对应的用户角色为roleCode的人员,按业务线busiLine 筛选
... ... @@ -147,4 +175,7 @@ public interface BpmGardenService {
147 175 * @return
148 176 */
149 177 public PageResult<AdminUserRespDTO> getUserByRoadIdAndRoleCode(PageParam param,Long roadId,String roleCode,String busiLine);
  178 +
  179 +
  180 +
150 181 }
... ...
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;
2 2  
3 3 import cn.hutool.core.collection.CollUtil;
4 4 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5 +import com.baomidou.mybatisplus.core.metadata.IPage;
5 6 import com.zteits.urbanops.framework.common.pojo.PageParam;
6 7 import com.zteits.urbanops.framework.common.pojo.PageResult;
7 8 import com.zteits.urbanops.framework.common.util.object.BeanUtils;
8 9 import com.zteits.urbanops.framework.common.util.object.ObjectUtils;
  10 +import com.zteits.urbanops.framework.mybatis.core.util.MyBatisUtils;
9 11 import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils;
10 12 import com.zteits.urbanops.module.bpm.api.task.BpmProcessInstanceApi;
11 13 import com.zteits.urbanops.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
... ... @@ -221,6 +223,81 @@ public class BpmGardenServiceImpl implements BpmGardenService{
221 223 }
222 224  
223 225 @Override
  226 + public AppGardenWorkOrderRespVO getTodoTaskDetail(String taskId) {
  227 + PageParam pageParam = new PageParam();
  228 + MainInfoHasTaskPageReqVO pageReqVO = new MainInfoHasTaskPageReqVO();
  229 + pageReqVO.setTaskId(taskId);
  230 + pageReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId());
  231 + PageResult<MainInfoExtDO> pageResult = workOrderExtMapper.selectWorkOrderTodoPage(pageParam,pageReqVO);
  232 + List<MainInfoExtDO> list = pageResult.getList();
  233 + if(null != list && list.size()>0){
  234 + return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper);
  235 + }
  236 + return null;
  237 + }
  238 +
  239 + @Override
  240 + public AppGardenWorkOrderRespVO getDoneTaskDetail(String taskId) {
  241 + PageParam pageParam = new PageParam();
  242 + MainInfoHasTaskPageReqVO pageReqVO = new MainInfoHasTaskPageReqVO();
  243 + pageReqVO.setTaskId(taskId);
  244 + pageReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId());
  245 + PageResult<MainInfoExtDO> pageResult = workOrderExtMapper.selectWorkOrderDonePage(pageParam,pageReqVO);
  246 + List<MainInfoExtDO> list = pageResult.getList();
  247 + if(null != list && list.size()>0){
  248 + return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper);
  249 + }
  250 + return null;
  251 + }
  252 +
  253 + @Override
  254 + public AppGardenWorkOrderRespVO getMyTaskDetail(String taskId) {
  255 + PageParam pageParam = new PageParam();
  256 + MainInfoHasTaskPageReqVO pageReqVO = new MainInfoHasTaskPageReqVO();
  257 + pageReqVO.setTaskId(taskId);
  258 + pageReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId());
  259 + PageResult<MainInfoExtDO> pageResult = workOrderExtMapper.selectWorkOrderMyPage(pageParam,pageReqVO);
  260 + List<MainInfoExtDO> list = pageResult.getList();
  261 + if(null != list && list.size()>0){
  262 + return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper);
  263 + }
  264 + return null;
  265 + }
  266 +
  267 + @Override
  268 + public PageResult<AppGardenWorkOrderRespVO> getTaskMyBuzSimplePage(AppGardenWorkOrderPageReqVO pageVO) {
  269 + MainInfoHasTaskPageReqVO taskBuzReqVO = new MainInfoHasTaskPageReqVO();
  270 + String type = pageVO.getType();
  271 + String content = pageVO.getSearchContent();
  272 + if(ObjectUtils.isNotAllEmpty(type)){
  273 + if("1".equals(type)){
  274 + if(ObjectUtils.isNotAllEmpty(content)){taskBuzReqVO.setRoadName(content);}
  275 + } else
  276 + if("2".equals(type)){
  277 + if(ObjectUtils.isNotAllEmpty(content)){taskBuzReqVO.setOrderName(content);}
  278 + }else
  279 + if("3".equals(type)){
  280 + if(ObjectUtils.isNotAllEmpty(content)){taskBuzReqVO.setRemark(content);}
  281 + } else
  282 + if("4".equals(type)){
  283 + if(ObjectUtils.isNotAllEmpty(content)){taskBuzReqVO.setOrderNo(content);}
  284 + }else {
  285 + if (ObjectUtils.isNotAllEmpty(content)) {
  286 + taskBuzReqVO.setOrderName(content);
  287 + }
  288 + }
  289 + }else {//默认是工单名称
  290 + if (ObjectUtils.isNotAllEmpty(content)) {
  291 + taskBuzReqVO.setOrderName(content);
  292 + }
  293 + }
  294 + taskBuzReqVO.setUserId(SecurityFrameworkUtils.getLoginUserId());
  295 + //TODO 先写死
  296 + taskBuzReqVO.setKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO);
  297 + PageResult<MainInfoExtDO> pageResult = workOrderExtMapper.selectWorkOrderMyPage(pageVO,taskBuzReqVO);
  298 + return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper);
  299 + }
  300 + @Override
224 301 public PageResult<AppGardenWorkOrderRespVO> getTaskDoneBuzSimplePage(AppGardenWorkOrderPageReqVO pageVO) {
225 302 MainInfoHasTaskPageReqVO taskBuzReqVO = new MainInfoHasTaskPageReqVO();
226 303 String type = pageVO.getType();
... ...