Commit 5a6729dd3f118095307f538b51111ea64ce7d81a
1 parent
f4436f75
督察员抄送
Showing
9 changed files
with
50 additions
and
8 deletions
urbanops-module-api/urbanops-module-workorder-api/src/main/java/com/zteits/urbanops/module/workorder/dto/MainInfoRespVO.java
| @@ -31,6 +31,13 @@ public class MainInfoRespVO { | @@ -31,6 +31,13 @@ public class MainInfoRespVO { | ||
| 31 | @ExcelProperty("工单名称") | 31 | @ExcelProperty("工单名称") |
| 32 | private String orderName; | 32 | private String orderName; |
| 33 | 33 | ||
| 34 | + @Schema(description = "三级编码") | ||
| 35 | + private String orderCode; | ||
| 36 | + | ||
| 37 | + @Schema(description = "业务类型(一级编码)") | ||
| 38 | + private String busiType; | ||
| 39 | + | ||
| 40 | + | ||
| 34 | /** | 41 | /** |
| 35 | * 工单类型 Q:快速工单,C:普通工单,O:其他工单 | 42 | * 工单类型 Q:快速工单,C:普通工单,O:其他工单 |
| 36 | */ | 43 | */ |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/api/constant/BpmCommonConstant.java
| @@ -175,6 +175,11 @@ public class BpmCommonConstant { | @@ -175,6 +175,11 @@ public class BpmCommonConstant { | ||
| 175 | * 督察员 角色编码 | 175 | * 督察员 角色编码 |
| 176 | */ | 176 | */ |
| 177 | public static final String INSPECTOR_GLOBAL = "Inspector_global"; | 177 | public static final String INSPECTOR_GLOBAL = "Inspector_global"; |
| 178 | + | ||
| 179 | + /** | ||
| 180 | + * 督察员组长 角色编码 | ||
| 181 | + */ | ||
| 182 | + public static final String INSPECTOR_GLOBAL_LEADER = "Inspector_global_leader"; | ||
| 178 | /** | 183 | /** |
| 179 | * ai 工单派发人 | 184 | * ai 工单派发人 |
| 180 | */ | 185 | */ |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/aop/InspectorBuzStatusUpdateAspect.java
| @@ -96,6 +96,14 @@ public class InspectorBuzStatusUpdateAspect { | @@ -96,6 +96,14 @@ public class InspectorBuzStatusUpdateAspect { | ||
| 96 | targeVO.setId(workerDataId); | 96 | targeVO.setId(workerDataId); |
| 97 | targeVO.setOrderNo(dbData.getOrderNo()); | 97 | targeVO.setOrderNo(dbData.getOrderNo()); |
| 98 | targeVO.setBusiLine(dbData.getBusiLine()); | 98 | targeVO.setBusiLine(dbData.getBusiLine()); |
| 99 | + //三级级编码 | ||
| 100 | + if(StringUtil.isNotEmpty(reqVO.getOrderCode())){ | ||
| 101 | + targeVO.setOrderCode(reqVO.getOrderCode()); | ||
| 102 | + } | ||
| 103 | + //业务类型(一级编码) | ||
| 104 | + if(StringUtil.isNotEmpty(reqVO.getBusiType())){ | ||
| 105 | + targeVO.setBusiType(reqVO.getBusiType()); | ||
| 106 | + } | ||
| 99 | //大区经理分配 | 107 | //大区经理分配 |
| 100 | if(InspectorOperateTypeEnum.SH_REGION_MANAGER_ASSIGN.getCode().equals(reqVO.getOperateType())){ | 108 | if(InspectorOperateTypeEnum.SH_REGION_MANAGER_ASSIGN.getCode().equals(reqVO.getOperateType())){ |
| 101 | RoadStreetRespDTO roadStreetRespDTO = roadApi.getRoadInfoById(reqVO.getRoadId()); | 109 | RoadStreetRespDTO roadStreetRespDTO = roadApi.getRoadInfoById(reqVO.getRoadId()); |
| @@ -163,6 +171,7 @@ public class InspectorBuzStatusUpdateAspect { | @@ -163,6 +171,7 @@ public class InspectorBuzStatusUpdateAspect { | ||
| 163 | busiLine = dbData.getBusiLine(); | 171 | busiLine = dbData.getBusiLine(); |
| 164 | } | 172 | } |
| 165 | targeVO.setBusiLine(busiLine); | 173 | targeVO.setBusiLine(busiLine); |
| 174 | + | ||
| 166 | targeVO.setUserId(SecurityFrameworkUtils.getLoginUserId()); | 175 | targeVO.setUserId(SecurityFrameworkUtils.getLoginUserId()); |
| 167 | targeVO.setUserName(SecurityFrameworkUtils.getLoginUserNickname()); | 176 | targeVO.setUserName(SecurityFrameworkUtils.getLoginUserNickname()); |
| 168 | if(ObjectUtils.isNotAllEmpty(reqVO.getExpectedFinishDate())){ | 177 | if(ObjectUtils.isNotAllEmpty(reqVO.getExpectedFinishDate())){ |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/common/AppUniversalApprovalReqVO.java
| @@ -123,6 +123,12 @@ public class AppUniversalApprovalReqVO { | @@ -123,6 +123,12 @@ public class AppUniversalApprovalReqVO { | ||
| 123 | @Schema(description = "工单名称", example = "绿地卫生") | 123 | @Schema(description = "工单名称", example = "绿地卫生") |
| 124 | private String orderName; | 124 | private String orderName; |
| 125 | 125 | ||
| 126 | + @Schema(description = "三级编码") | ||
| 127 | + private String orderCode; | ||
| 128 | + | ||
| 129 | + @Schema(description = "业务类型(一级编码)") | ||
| 130 | + private String busiType; | ||
| 131 | + | ||
| 126 | @Schema(description = "来源ID 工单来源 1、巡查,2、游客居民,3、12345,4、网格", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | 132 | @Schema(description = "来源ID 工单来源 1、巡查,2、游客居民,3、12345,4、网格", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 127 | //@NotNull(message = "来源ID不能为空") | 133 | //@NotNull(message = "来源ID不能为空") |
| 128 | private Integer sourceId; | 134 | private Integer sourceId; |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoExtDO.java
| 1 | package com.zteits.urbanops.module.workorder.dal.dataobject.maininfo; | 1 | package com.zteits.urbanops.module.workorder.dal.dataobject.maininfo; |
| 2 | 2 | ||
| 3 | -import com.baomidou.mybatisplus.annotation.KeySequence; | ||
| 4 | import com.baomidou.mybatisplus.annotation.TableField; | 3 | import com.baomidou.mybatisplus.annotation.TableField; |
| 5 | -import com.baomidou.mybatisplus.annotation.TableName; | ||
| 6 | import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; | 4 | import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; |
| 7 | import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; | 5 | import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; |
| 8 | import lombok.*; | 6 | import lombok.*; |
| @@ -47,6 +45,15 @@ public class MainInfoExtDO extends BaseDO { | @@ -47,6 +45,15 @@ public class MainInfoExtDO extends BaseDO { | ||
| 47 | * 工单名称 | 45 | * 工单名称 |
| 48 | */ | 46 | */ |
| 49 | private String orderName; | 47 | private String orderName; |
| 48 | + | ||
| 49 | + /** | ||
| 50 | + * 三级编码 | ||
| 51 | + */ | ||
| 52 | + private String orderCode; | ||
| 53 | + /** | ||
| 54 | + * 业务类型 | ||
| 55 | + */ | ||
| 56 | + private String busiType; | ||
| 50 | /** | 57 | /** |
| 51 | * 来源ID | 58 | * 来源ID |
| 52 | */ | 59 | */ |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoExtMapper.java
| 1 | package com.zteits.urbanops.module.workorder.dal.mysql.maininfo; | 1 | package com.zteits.urbanops.module.workorder.dal.mysql.maininfo; |
| 2 | 2 | ||
| 3 | -import com.baomidou.mybatisplus.core.conditions.Wrapper; | ||
| 4 | import com.baomidou.mybatisplus.core.metadata.IPage; | 3 | import com.baomidou.mybatisplus.core.metadata.IPage; |
| 5 | import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; | 4 | import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; |
| 6 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 5 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| @@ -11,10 +10,8 @@ import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; | @@ -11,10 +10,8 @@ import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; | ||
| 11 | import com.zteits.urbanops.framework.mybatis.core.util.MyBatisUtils; | 10 | import com.zteits.urbanops.framework.mybatis.core.util.MyBatisUtils; |
| 12 | import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO; | 11 | import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO; |
| 13 | import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInfoHasTaskPageReqVO; | 12 | import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInfoHasTaskPageReqVO; |
| 14 | -import com.zteits.urbanops.module.workorder.controller.admin.maininfo.vo.MainInfoPageReqVO; | ||
| 15 | import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoDO; | 13 | import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoDO; |
| 16 | import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoExtDO; | 14 | import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoExtDO; |
| 17 | -import jakarta.validation.constraints.NotNull; | ||
| 18 | import org.apache.ibatis.annotations.*; | 15 | import org.apache.ibatis.annotations.*; |
| 19 | import org.springframework.lang.NonNull; | 16 | import org.springframework.lang.NonNull; |
| 20 | 17 | ||
| @@ -112,6 +109,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | @@ -112,6 +109,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | ||
| 112 | @Result(column = "busi_line", property = "busiLine"), | 109 | @Result(column = "busi_line", property = "busiLine"), |
| 113 | @Result(column = "order_no", property = "orderNo"), | 110 | @Result(column = "order_no", property = "orderNo"), |
| 114 | @Result(column = "order_name", property = "orderName"), | 111 | @Result(column = "order_name", property = "orderName"), |
| 112 | + @Result(column = "order_code", property = "orderCode"), | ||
| 113 | + @Result(column = "busi_type", property = "busiType"), | ||
| 115 | @Result(column = "source_id", property = "sourceId"), | 114 | @Result(column = "source_id", property = "sourceId"), |
| 116 | @Result(column = "source_name", property = "sourceName"), | 115 | @Result(column = "source_name", property = "sourceName"), |
| 117 | @Result(column = "road_id", property = "roadId"), | 116 | @Result(column = "road_id", property = "roadId"), |
| @@ -230,6 +229,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | @@ -230,6 +229,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | ||
| 230 | @Result(column = "busi_line", property = "busiLine"), | 229 | @Result(column = "busi_line", property = "busiLine"), |
| 231 | @Result(column = "order_no", property = "orderNo"), | 230 | @Result(column = "order_no", property = "orderNo"), |
| 232 | @Result(column = "order_name", property = "orderName"), | 231 | @Result(column = "order_name", property = "orderName"), |
| 232 | + @Result(column = "order_code", property = "orderCode"), | ||
| 233 | + @Result(column = "busi_type", property = "busiType"), | ||
| 233 | @Result(column = "source_id", property = "sourceId"), | 234 | @Result(column = "source_id", property = "sourceId"), |
| 234 | @Result(column = "source_name", property = "sourceName"), | 235 | @Result(column = "source_name", property = "sourceName"), |
| 235 | @Result(column = "road_id", property = "roadId"), | 236 | @Result(column = "road_id", property = "roadId"), |
| @@ -345,6 +346,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | @@ -345,6 +346,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | ||
| 345 | @Result(column = "busi_line", property = "busiLine"), | 346 | @Result(column = "busi_line", property = "busiLine"), |
| 346 | @Result(column = "order_no", property = "orderNo"), | 347 | @Result(column = "order_no", property = "orderNo"), |
| 347 | @Result(column = "order_name", property = "orderName"), | 348 | @Result(column = "order_name", property = "orderName"), |
| 349 | + @Result(column = "order_code", property = "orderCode"), | ||
| 350 | + @Result(column = "busi_type", property = "busiType"), | ||
| 348 | @Result(column = "source_id", property = "sourceId"), | 351 | @Result(column = "source_id", property = "sourceId"), |
| 349 | @Result(column = "source_name", property = "sourceName"), | 352 | @Result(column = "source_name", property = "sourceName"), |
| 350 | @Result(column = "road_id", property = "roadId"), | 353 | @Result(column = "road_id", property = "roadId"), |
| @@ -471,6 +474,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | @@ -471,6 +474,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | ||
| 471 | @Result(column = "busi_line", property = "busiLine"), | 474 | @Result(column = "busi_line", property = "busiLine"), |
| 472 | @Result(column = "order_no", property = "orderNo"), | 475 | @Result(column = "order_no", property = "orderNo"), |
| 473 | @Result(column = "order_name", property = "orderName"), | 476 | @Result(column = "order_name", property = "orderName"), |
| 477 | + @Result(column = "order_code", property = "orderCode"), | ||
| 478 | + @Result(column = "busi_type", property = "busiType"), | ||
| 474 | @Result(column = "source_id", property = "sourceId"), | 479 | @Result(column = "source_id", property = "sourceId"), |
| 475 | @Result(column = "source_name", property = "sourceName"), | 480 | @Result(column = "source_name", property = "sourceName"), |
| 476 | @Result(column = "road_id", property = "roadId"), | 481 | @Result(column = "road_id", property = "roadId"), |
| @@ -584,6 +589,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | @@ -584,6 +589,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | ||
| 584 | @Result(column = "busi_line", property = "busiLine"), | 589 | @Result(column = "busi_line", property = "busiLine"), |
| 585 | @Result(column = "order_no", property = "orderNo"), | 590 | @Result(column = "order_no", property = "orderNo"), |
| 586 | @Result(column = "order_name", property = "orderName"), | 591 | @Result(column = "order_name", property = "orderName"), |
| 592 | + @Result(column = "order_code", property = "orderCode"), | ||
| 593 | + @Result(column = "busi_type", property = "busiType"), | ||
| 587 | @Result(column = "source_id", property = "sourceId"), | 594 | @Result(column = "source_id", property = "sourceId"), |
| 588 | @Result(column = "source_name", property = "sourceName"), | 595 | @Result(column = "source_name", property = "sourceName"), |
| 589 | @Result(column = "road_id", property = "roadId"), | 596 | @Result(column = "road_id", property = "roadId"), |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/enums/ErrorCodeConstants.java
| @@ -48,7 +48,7 @@ public interface ErrorCodeConstants { | @@ -48,7 +48,7 @@ public interface ErrorCodeConstants { | ||
| 48 | 48 | ||
| 49 | ErrorCode EVENT_MAPPING_INFO_NOT_EXISTS = new ErrorCode(1-900-004-001, "工单事件映射不存在"); | 49 | ErrorCode EVENT_MAPPING_INFO_NOT_EXISTS = new ErrorCode(1-900-004-001, "工单事件映射不存在"); |
| 50 | 50 | ||
| 51 | - ErrorCode APP_INSPECTOR_USER_ROLE_ERROR = new ErrorCode(1-900-004-001, "该登录人不是 全域督查员,无法发起流程!"); | 51 | + ErrorCode APP_INSPECTOR_USER_ROLE_ERROR = new ErrorCode(1-900-004-001, "该登录人不是 全域督查员或者组长,无法发起流程!"); |
| 52 | 52 | ||
| 53 | ErrorCode APP_WORK_INSPECTOR_ROLE_ILLEGLE = new ErrorCode(1-900-004-003, "该登录人即是 大区经理 角色,又是 全域督察员,无法发起流程!"); | 53 | ErrorCode APP_WORK_INSPECTOR_ROLE_ILLEGLE = new ErrorCode(1-900-004-003, "该登录人即是 大区经理 角色,又是 全域督察员,无法发起流程!"); |
| 54 | 54 |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmInspectorServiceImpl.java
| @@ -114,7 +114,7 @@ public class BpmInspectorServiceImpl implements BpmInspectorService{ | @@ -114,7 +114,7 @@ public class BpmInspectorServiceImpl implements BpmInspectorService{ | ||
| 114 | throw exception(APP_USER_ROLE_NOT_EXISTS); | 114 | throw exception(APP_USER_ROLE_NOT_EXISTS); |
| 115 | } | 115 | } |
| 116 | 116 | ||
| 117 | - if(!RoleListUtils.containsCode(roleList,INSPECTOR_GLOBAL)){ | 117 | + if(!RoleListUtils.containsCode(roleList,INSPECTOR_GLOBAL) || !RoleListUtils.containsCode(roleList,INSPECTOR_GLOBAL_LEADER)){ |
| 118 | throw exception(APP_INSPECTOR_USER_ROLE_ERROR); | 118 | throw exception(APP_INSPECTOR_USER_ROLE_ERROR); |
| 119 | } | 119 | } |
| 120 | //校验人员不能有 双重角色 | 120 | //校验人员不能有 双重角色 |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/util/RoleListUtils.java
| @@ -64,7 +64,7 @@ public class RoleListUtils { | @@ -64,7 +64,7 @@ public class RoleListUtils { | ||
| 64 | * @param code2 第二个要校验的编码(允许为 null,此时要求列表中存在 null 的 code) | 64 | * @param code2 第二个要校验的编码(允许为 null,此时要求列表中存在 null 的 code) |
| 65 | * @return true=同时包含code1和code2;false=不同时包含/列表为空/列表为null | 65 | * @return true=同时包含code1和code2;false=不同时包含/列表为空/列表为null |
| 66 | */ | 66 | */ |
| 67 | - public static boolean containsBothCodes(List<RoleRespVO> roleList, String code1, String code2) { | 67 | + public static boolean containsBothCodes(List<RoleRespVO> roleList, String code1, String code2 ) { |
| 68 | // 1. 列表为null/空,直接返回false | 68 | // 1. 列表为null/空,直接返回false |
| 69 | if (roleList == null || roleList.isEmpty()) { | 69 | if (roleList == null || roleList.isEmpty()) { |
| 70 | return false; | 70 | return false; |
| @@ -82,6 +82,7 @@ public class RoleListUtils { | @@ -82,6 +82,7 @@ public class RoleListUtils { | ||
| 82 | return containsCode1 && containsCode2; | 82 | return containsCode1 && containsCode2; |
| 83 | } | 83 | } |
| 84 | 84 | ||
| 85 | + | ||
| 85 | public static void teamLeaderByRoleAssign(List<AdminUserRespDTO> userList, Map<String, Object> processInstanceVariables){ | 86 | public static void teamLeaderByRoleAssign(List<AdminUserRespDTO> userList, Map<String, Object> processInstanceVariables){ |
| 86 | //养护组长指派为多人 | 87 | //养护组长指派为多人 |
| 87 | String assigneeIdStr = userList.stream() | 88 | String assigneeIdStr = userList.stream() |