Commit 85e34fb61f899a0a6540ce25dc7fa480c376e224
Merge remote-tracking branch 'origin/dev' into dev
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 | 31 | @ExcelProperty("工单名称") |
| 32 | 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 | 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 | 175 | * 督察员 角色编码 |
| 176 | 176 | */ |
| 177 | 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 | 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 | 96 | targeVO.setId(workerDataId); |
| 97 | 97 | targeVO.setOrderNo(dbData.getOrderNo()); |
| 98 | 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 | 108 | if(InspectorOperateTypeEnum.SH_REGION_MANAGER_ASSIGN.getCode().equals(reqVO.getOperateType())){ |
| 101 | 109 | RoadStreetRespDTO roadStreetRespDTO = roadApi.getRoadInfoById(reqVO.getRoadId()); |
| ... | ... | @@ -163,6 +171,7 @@ public class InspectorBuzStatusUpdateAspect { |
| 163 | 171 | busiLine = dbData.getBusiLine(); |
| 164 | 172 | } |
| 165 | 173 | targeVO.setBusiLine(busiLine); |
| 174 | + | |
| 166 | 175 | targeVO.setUserId(SecurityFrameworkUtils.getLoginUserId()); |
| 167 | 176 | targeVO.setUserName(SecurityFrameworkUtils.getLoginUserNickname()); |
| 168 | 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 | 123 | @Schema(description = "工单名称", example = "绿地卫生") |
| 124 | 124 | private String orderName; |
| 125 | 125 | |
| 126 | + @Schema(description = "三级编码") | |
| 127 | + private String orderCode; | |
| 128 | + | |
| 129 | + @Schema(description = "业务类型(一级编码)") | |
| 130 | + private String busiType; | |
| 131 | + | |
| 126 | 132 | @Schema(description = "来源ID 工单来源 1、巡查,2、游客居民,3、12345,4、网格", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 127 | 133 | //@NotNull(message = "来源ID不能为空") |
| 128 | 134 | private Integer sourceId; | ... | ... |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoExtDO.java
| 1 | 1 | package com.zteits.urbanops.module.workorder.dal.dataobject.maininfo; |
| 2 | 2 | |
| 3 | -import com.baomidou.mybatisplus.annotation.KeySequence; | |
| 4 | 3 | import com.baomidou.mybatisplus.annotation.TableField; |
| 5 | -import com.baomidou.mybatisplus.annotation.TableName; | |
| 6 | 4 | import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; |
| 7 | 5 | import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; |
| 8 | 6 | import lombok.*; |
| ... | ... | @@ -47,6 +45,15 @@ public class MainInfoExtDO extends BaseDO { |
| 47 | 45 | * 工单名称 |
| 48 | 46 | */ |
| 49 | 47 | private String orderName; |
| 48 | + | |
| 49 | + /** | |
| 50 | + * 三级编码 | |
| 51 | + */ | |
| 52 | + private String orderCode; | |
| 53 | + /** | |
| 54 | + * 业务类型 | |
| 55 | + */ | |
| 56 | + private String busiType; | |
| 50 | 57 | /** |
| 51 | 58 | * 来源ID |
| 52 | 59 | */ | ... | ... |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoExtMapper.java
| 1 | 1 | package com.zteits.urbanops.module.workorder.dal.mysql.maininfo; |
| 2 | 2 | |
| 3 | -import com.baomidou.mybatisplus.core.conditions.Wrapper; | |
| 4 | 3 | import com.baomidou.mybatisplus.core.metadata.IPage; |
| 5 | 4 | import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; |
| 6 | 5 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| ... | ... | @@ -11,10 +10,8 @@ import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; |
| 11 | 10 | import com.zteits.urbanops.framework.mybatis.core.util.MyBatisUtils; |
| 12 | 11 | import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO; |
| 13 | 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 | 13 | import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoDO; |
| 16 | 14 | import com.zteits.urbanops.module.workorder.dal.dataobject.maininfo.MainInfoExtDO; |
| 17 | -import jakarta.validation.constraints.NotNull; | |
| 18 | 15 | import org.apache.ibatis.annotations.*; |
| 19 | 16 | import org.springframework.lang.NonNull; |
| 20 | 17 | |
| ... | ... | @@ -112,6 +109,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { |
| 112 | 109 | @Result(column = "busi_line", property = "busiLine"), |
| 113 | 110 | @Result(column = "order_no", property = "orderNo"), |
| 114 | 111 | @Result(column = "order_name", property = "orderName"), |
| 112 | + @Result(column = "order_code", property = "orderCode"), | |
| 113 | + @Result(column = "busi_type", property = "busiType"), | |
| 115 | 114 | @Result(column = "source_id", property = "sourceId"), |
| 116 | 115 | @Result(column = "source_name", property = "sourceName"), |
| 117 | 116 | @Result(column = "road_id", property = "roadId"), |
| ... | ... | @@ -230,6 +229,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { |
| 230 | 229 | @Result(column = "busi_line", property = "busiLine"), |
| 231 | 230 | @Result(column = "order_no", property = "orderNo"), |
| 232 | 231 | @Result(column = "order_name", property = "orderName"), |
| 232 | + @Result(column = "order_code", property = "orderCode"), | |
| 233 | + @Result(column = "busi_type", property = "busiType"), | |
| 233 | 234 | @Result(column = "source_id", property = "sourceId"), |
| 234 | 235 | @Result(column = "source_name", property = "sourceName"), |
| 235 | 236 | @Result(column = "road_id", property = "roadId"), |
| ... | ... | @@ -345,6 +346,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { |
| 345 | 346 | @Result(column = "busi_line", property = "busiLine"), |
| 346 | 347 | @Result(column = "order_no", property = "orderNo"), |
| 347 | 348 | @Result(column = "order_name", property = "orderName"), |
| 349 | + @Result(column = "order_code", property = "orderCode"), | |
| 350 | + @Result(column = "busi_type", property = "busiType"), | |
| 348 | 351 | @Result(column = "source_id", property = "sourceId"), |
| 349 | 352 | @Result(column = "source_name", property = "sourceName"), |
| 350 | 353 | @Result(column = "road_id", property = "roadId"), |
| ... | ... | @@ -471,6 +474,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { |
| 471 | 474 | @Result(column = "busi_line", property = "busiLine"), |
| 472 | 475 | @Result(column = "order_no", property = "orderNo"), |
| 473 | 476 | @Result(column = "order_name", property = "orderName"), |
| 477 | + @Result(column = "order_code", property = "orderCode"), | |
| 478 | + @Result(column = "busi_type", property = "busiType"), | |
| 474 | 479 | @Result(column = "source_id", property = "sourceId"), |
| 475 | 480 | @Result(column = "source_name", property = "sourceName"), |
| 476 | 481 | @Result(column = "road_id", property = "roadId"), |
| ... | ... | @@ -584,6 +589,8 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { |
| 584 | 589 | @Result(column = "busi_line", property = "busiLine"), |
| 585 | 590 | @Result(column = "order_no", property = "orderNo"), |
| 586 | 591 | @Result(column = "order_name", property = "orderName"), |
| 592 | + @Result(column = "order_code", property = "orderCode"), | |
| 593 | + @Result(column = "busi_type", property = "busiType"), | |
| 587 | 594 | @Result(column = "source_id", property = "sourceId"), |
| 588 | 595 | @Result(column = "source_name", property = "sourceName"), |
| 589 | 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 | 48 | |
| 49 | 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 | 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 | 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 | 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 | 64 | * @param code2 第二个要校验的编码(允许为 null,此时要求列表中存在 null 的 code) |
| 65 | 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 | 68 | // 1. 列表为null/空,直接返回false |
| 69 | 69 | if (roleList == null || roleList.isEmpty()) { |
| 70 | 70 | return false; |
| ... | ... | @@ -82,6 +82,7 @@ public class RoleListUtils { |
| 82 | 82 | return containsCode1 && containsCode2; |
| 83 | 83 | } |
| 84 | 84 | |
| 85 | + | |
| 85 | 86 | public static void teamLeaderByRoleAssign(List<AdminUserRespDTO> userList, Map<String, Object> processInstanceVariables){ |
| 86 | 87 | //养护组长指派为多人 |
| 87 | 88 | String assigneeIdStr = userList.stream() | ... | ... |