Commit 5a6729dd3f118095307f538b51111ea64ce7d81a

Authored by 颜惠青
1 parent f4436f75

督察员抄送

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()