Commit ffae06edf87b2992455d3d4077114371041f61c5

Authored by 颜惠青
1 parent 680ff92d

工单 问题修改

Showing 13 changed files with 143 additions and 28 deletions
urbanops-module-api/urbanops-module-workorder-api/src/main/java/com/zteits/urbanops/module/workorder/dto/MainInfoRespVO.java
... ... @@ -142,8 +142,8 @@ public class MainInfoRespVO {
142 142  
143 143 @Schema(description = "共同处理人")
144 144 private Set<Long> coHandlers;
145   - @Schema(description = "共同处理人名称,多个逗号拼接")
146   - private String coHandlersName;
  145 + @Schema(description = "共同处理人名称,多个为数组")
  146 + private List<String> coHandlersName;
147 147  
148 148 @Schema(description = "提交人电话")
149 149 private String userMobile;
... ...
urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/permission/RoleApi.java
... ... @@ -45,6 +45,13 @@ public interface RoleApi {
45 45 */
46 46 List<Long> getRoleIdsByUserId(Long userId);
47 47  
  48 + /**
  49 + * 根据用户id获取角色信息
  50 + * @param userId
  51 + * @return
  52 + */
  53 + List<RoleRespVO> getRoleListByUsrId(Long userId);
  54 +
48 55  
49 56 /**
50 57 * 通过角色类型,获得用户编号列表
... ...
urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/permission/RoleApiImpl.java
1 1 package com.zteits.urbanops.module.system.api.permission;
2 2  
  3 +import com.zteits.urbanops.framework.common.util.object.BeanUtils;
3 4 import com.zteits.urbanops.module.system.controller.admin.permission.vo.role.RoleRespVO;
4 5 import com.zteits.urbanops.module.system.dal.dataobject.permission.RoleDO;
5 6 import com.zteits.urbanops.module.system.service.permission.RoleService;
... ... @@ -41,6 +42,13 @@ public class RoleApiImpl implements RoleApi {
41 42 }
42 43  
43 44 @Override
  45 + public List<RoleRespVO> getRoleListByUsrId(Long userId) {
  46 + List<Long> roleIds = roleService.getRoleIdsByUserId(userId);
  47 + List<RoleDO> roleDOList = roleService.getRoleList(roleIds);
  48 + return BeanUtils.toBean(roleDOList, RoleRespVO.class);
  49 + }
  50 +
  51 + @Override
44 52 public List<Long> getUserIdsByRoleCode(String roleCode) {
45 53 return roleService.getUserIdsByRoleCode(roleCode);
46 54 }
... ...
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/maininfo/vo/MainInfoPageReqVO.java
... ... @@ -121,4 +121,7 @@ public class MainInfoPageReqVO extends PageParam {
121 121 @Schema(description = "实施人员部门id", example = "12")
122 122 private Long workerCompanyId;
123 123  
  124 + @Schema(description = "工单来源编码")
  125 + private String woSourceId;
  126 +
124 127 }
125 128 \ No newline at end of file
... ...
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/aop/BuzStatusUpdateAspect.java
... ... @@ -22,6 +22,7 @@ import org.aspectj.lang.annotation.Around;
22 22 import org.aspectj.lang.annotation.Aspect;
23 23 import org.aspectj.lang.annotation.Pointcut;
24 24 import org.springframework.stereotype.Component;
  25 +import org.springframework.transaction.annotation.Transactional;
25 26  
26 27 import java.time.LocalDateTime;
27 28 import java.util.List;
... ... @@ -64,6 +65,7 @@ public class BuzStatusUpdateAspect {
64 65 public void buzStatusUpdatePointcut() {}
65 66  
66 67 @Around("buzStatusUpdatePointcut()")
  68 + @Transactional(rollbackFor = Exception.class)
67 69 public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
68 70 // 1. 获取方法参数(AppUniversalApprovalReqVO)
69 71 Object[] args = joinPoint.getArgs();
... ...
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/garden/AppGardenTaskConvert.java
... ... @@ -11,6 +11,7 @@ import com.zteits.urbanops.module.bpm.controller.admin.task.vo.task.BpmTaskRespV
11 11 import com.zteits.urbanops.module.bpm.dal.dataobject.definition.BpmProcessDefinitionInfoDO;
12 12 import com.zteits.urbanops.module.bpm.framework.flowable.core.util.FlowableUtils;
13 13 import com.zteits.urbanops.module.system.api.dept.dto.DeptRespDTO;
  14 +import com.zteits.urbanops.module.system.api.user.AdminUserApi;
14 15 import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO;
15 16 import com.zteits.urbanops.module.workorder.api.constant.BpmCommonConstant;
16 17 import com.zteits.urbanops.module.workorder.controller.app.garden.vo.task.AppGardenTaskRespVO;
... ... @@ -25,10 +26,7 @@ import org.flowable.task.api.history.HistoricTaskInstance;
25 26 import org.mapstruct.Mapper;
26 27 import org.mapstruct.factory.Mappers;
27 28  
28   -import java.util.Arrays;
29   -import java.util.Collections;
30   -import java.util.List;
31   -import java.util.Map;
  29 +import java.util.*;
32 30 import java.util.stream.Collectors;
33 31  
34 32 import static com.zteits.urbanops.framework.common.util.collection.MapUtils.findAndThen;
... ... @@ -97,18 +95,18 @@ public interface AppGardenTaskConvert {
97 95 return new PageResult<>(taskVOList, pageResult.getTotal());
98 96 }
99 97  
100   - default PageResult<AppGardenWorkOrderRespVO> buildBuziTaskPage(PageResult<MainInfoExtDO> pageResult, AttachmentMapper attachmentMapper){
  98 + default PageResult<AppGardenWorkOrderRespVO> buildBuziTaskPage(PageResult<MainInfoExtDO> pageResult, AttachmentMapper attachmentMapper, AdminUserApi adminUserApi){
101 99 // 1. 源分页对象为空,返回空分页
102 100 if (pageResult == null) {
103 101 return PageResult.empty();
104 102 }
105 103  
106 104 // 2. 转换列表数据,保留分页参数(总数、页码、页大小等)
107   - List<AppGardenWorkOrderRespVO> targetList = convertList(pageResult.getList(), attachmentMapper);
  105 + List<AppGardenWorkOrderRespVO> targetList = convertList(pageResult.getList(), attachmentMapper,adminUserApi);
108 106 return new PageResult<>(targetList, pageResult.getTotal());
109 107 }
110 108  
111   - default List<AppGardenWorkOrderRespVO> convertList(List<MainInfoExtDO> sourceList, AttachmentMapper attachmentMapper) {
  109 + default List<AppGardenWorkOrderRespVO> convertList(List<MainInfoExtDO> sourceList, AttachmentMapper attachmentMapper, AdminUserApi adminUserApi) {
112 110 // 1. 源列表为空,返回空列表(避免NPE)
113 111 if (sourceList == null || sourceList.isEmpty()) {
114 112 return Collections.emptyList();
... ... @@ -116,17 +114,19 @@ public interface AppGardenTaskConvert {
116 114  
117 115 // 2. 遍历源列表,调用单对象转换方法
118 116 return sourceList.stream()
119   - .map(source -> convert(source, attachmentMapper))
  117 + .map(source -> convert(source, attachmentMapper,adminUserApi))
120 118 .collect(Collectors.toList());
121 119 }
122 120  
123 121 /**
124 122 * MainInfoExtDO → AppGardenWorkOrderRespVO
125   - * @param source 源对象
  123 + *
  124 + * @param source 源对象
126 125 * @param attachmentMapper 附件Mapper,用于查询图片列表
  126 + * @param adminUserApi
127 127 * @return 目标对象
128 128 */
129   - default AppGardenWorkOrderRespVO convert(MainInfoExtDO source, AttachmentMapper attachmentMapper) {
  129 + default AppGardenWorkOrderRespVO convert(MainInfoExtDO source, AttachmentMapper attachmentMapper, AdminUserApi adminUserApi) {
130 130 // 1. 源对象为空,直接返回null
131 131 if (source == null) {
132 132 return null;
... ... @@ -134,6 +134,20 @@ public interface AppGardenTaskConvert {
134 134  
135 135 AppGardenWorkOrderRespVO target = new AppGardenWorkOrderRespVO();
136 136 org.springframework.beans.BeanUtils.copyProperties(source, target);
  137 + Set<Long> userIds = target.getCoHandlers();
  138 + if (userIds != null && !userIds.isEmpty()) {
  139 + Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
  140 + List<String> coHandlersNameList = Optional.ofNullable(target.getCoHandlers())
  141 + .orElse(Set.of())
  142 + .stream()
  143 + .filter(Objects::nonNull)
  144 + .map(userMap::get)
  145 + .filter(Objects::nonNull)
  146 + .map(AdminUserRespDTO::getNickname)
  147 + .filter(nickname -> nickname != null && !nickname.isEmpty())
  148 + .collect(Collectors.toList());
  149 + target.setCoHandlersName(coHandlersNameList);
  150 + }
137 151  
138 152 // 3. 手动赋值扩展字段:查询问题图片列表和完成图片列表
139 153 List<String> problemImgsList = queryAttachment(
... ...
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/maininfo/MainInfoConvert.java
... ... @@ -10,10 +10,7 @@ import com.zteits.urbanops.module.workorder.dto.MainInfoRespVO;
10 10 import org.mapstruct.Mapper;
11 11 import org.mapstruct.factory.Mappers;
12 12  
13   -import java.util.Arrays;
14   -import java.util.List;
15   -import java.util.Map;
16   -import java.util.Objects;
  13 +import java.util.*;
17 14 import java.util.stream.Collectors;
18 15  
19 16 /**
... ... @@ -64,14 +61,18 @@ public interface MainInfoConvert {
64 61 }
65 62 mainInfoVo.setCompanyName(deptName);
66 63 if (mainInfoVo.getCoHandlers() != null && !mainInfoVo.getCoHandlers().isEmpty()) {
67   - String coHandlersName = mainInfoVo.getCoHandlers() == null ? "" : mainInfoVo.getCoHandlers().stream()
68   - .filter(userId -> userId != null)
  64 + List<String> coHandlersNameList = Optional.ofNullable(mainInfoVo.getCoHandlers())
  65 + .orElse(Set.of())
  66 + .stream()
  67 + .filter(Objects::nonNull)
69 68 .map(userMap::get)
70 69 .filter(Objects::nonNull)
71 70 .map(AdminUserRespDTO::getNickname)
72 71 .filter(nickname -> nickname != null && !nickname.isEmpty())
73   - .collect(Collectors.joining(","));
74   - mainInfoVo.setCoHandlersName(coHandlersName);
  72 + .collect(Collectors.toList());
  73 + mainInfoVo.setCoHandlersName(coHandlersNameList);
  74 + }else{
  75 + mainInfoVo.setCoHandlersName(new ArrayList<>());
75 76 }
76 77 mainInfoVo.setUserMobile(userMap.get(mainInfoVo.getUserId()).getMobile());
77 78 }
... ...
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoDO.java
... ... @@ -171,6 +171,18 @@ public class MainInfoDO extends BaseDO {
171 171 * 实施人员部门id
172 172 */
173 173 private Long workerCompanyId;
  174 + /**
  175 + * 工单来源编码
  176 + */
  177 + private String woSourceId;
  178 + /**
  179 + * 工单来源名称
  180 + */
  181 + private String woSourceName;
  182 + /**
  183 + * 特殊部门id,工单默认是登录人部门,实施后为实施人的部门id
  184 + */
  185 + private Long deptId;
174 186  
175 187  
176 188  
... ...
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 3 import com.baomidou.mybatisplus.annotation.KeySequence;
  4 +import com.baomidou.mybatisplus.annotation.TableField;
4 5 import com.baomidou.mybatisplus.annotation.TableName;
  6 +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
5 7 import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO;
6 8 import lombok.*;
7 9  
8 10 import java.math.BigDecimal;
9 11 import java.time.LocalDateTime;
  12 +import java.util.Set;
10 13  
11 14 /**
12 15 * 类描述:工单扩展信息,支持工作流任务信息 DO
... ... @@ -174,5 +177,35 @@ public class MainInfoExtDO extends BaseDO {
174 177 */
175 178 private String key_;
176 179  
  180 + /**
  181 + * 共同处理人
  182 + */
  183 + @TableField(typeHandler = JacksonTypeHandler.class)
  184 + private Set<Long> coHandlers;
  185 + /**
  186 + * 实施人员ID
  187 + */
  188 + private Long workerId;
  189 + /**
  190 + * 实施人员名称
  191 + */
  192 + private String workerName;
  193 + /**
  194 + * 实施人员部门id
  195 + */
  196 + private Long workerCompanyId;
  197 + /**
  198 + * 工单来源编码
  199 + */
  200 + private String woSourceId;
  201 + /**
  202 + * 工单来源名称
  203 + */
  204 + private String woSourceName;
  205 + /**
  206 + * 特殊部门id,工单默认是登录人部门,实施后为实施人的部门id
  207 + */
  208 + private Long deptId;
  209 +
177 210  
178 211 }
179 212 \ No newline at end of file
... ...
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoExtMapper.java
... ... @@ -2,6 +2,7 @@ package com.zteits.urbanops.module.workorder.dal.mysql.maininfo;
2 2  
3 3 import com.baomidou.mybatisplus.core.conditions.Wrapper;
4 4 import com.baomidou.mybatisplus.core.metadata.IPage;
  5 +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
5 6 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 7 import com.zteits.urbanops.framework.common.pojo.PageParam;
7 8 import com.zteits.urbanops.framework.common.pojo.PageResult;
... ... @@ -129,6 +130,8 @@ public interface MainInfoExtMapper extends BaseMapperX&lt;MainInfoDO&gt; {
129 130 @Result(column = "process_instance_id", property = "processInstanceId"),
130 131 @Result(column = "remark", property = "remark"),
131 132 @Result(column = "handle_result", property = "handleResult"),
  133 + @Result(column = "co_handlers", property = "coHandlers", typeHandler = JacksonTypeHandler.class),
  134 +
132 135 @Result(column = "creator", property = "creator"),
133 136 @Result(column = "create_time", property = "createTime"),
134 137 @Result(column = "updater", property = "updater"),
... ... @@ -240,6 +243,8 @@ public interface MainInfoExtMapper extends BaseMapperX&lt;MainInfoDO&gt; {
240 243 @Result(column = "process_instance_id", property = "processInstanceId"),
241 244 @Result(column = "remark", property = "remark"),
242 245 @Result(column = "handle_result", property = "handleResult"),
  246 + @Result(column = "co_handlers", property = "coHandlers", typeHandler = JacksonTypeHandler.class),
  247 +
243 248 @Result(column = "creator", property = "creator"),
244 249 @Result(column = "create_time", property = "createTime"),
245 250 @Result(column = "updater", property = "updater"),
... ... @@ -345,6 +350,8 @@ public interface MainInfoExtMapper extends BaseMapperX&lt;MainInfoDO&gt; {
345 350 @Result(column = "process_instance_id", property = "processInstanceId"),
346 351 @Result(column = "remark", property = "remark"),
347 352 @Result(column = "handle_result", property = "handleResult"),
  353 + @Result(column = "co_handlers", property = "coHandlers", typeHandler = JacksonTypeHandler.class),
  354 +
348 355 @Result(column = "creator", property = "creator"),
349 356 @Result(column = "create_time", property = "createTime"),
350 357 @Result(column = "updater", property = "updater"),
... ... @@ -461,6 +468,7 @@ public interface MainInfoExtMapper extends BaseMapperX&lt;MainInfoDO&gt; {
461 468 @Result(column = "process_instance_id", property = "processInstanceId"),
462 469 @Result(column = "remark", property = "remark"),
463 470 @Result(column = "handle_result", property = "handleResult"),
  471 + @Result(column = "co_handlers", property = "coHandlers", typeHandler = JacksonTypeHandler.class),
464 472 @Result(column = "creator", property = "creator"),
465 473 @Result(column = "create_time", property = "createTime"),
466 474 @Result(column = "updater", property = "updater"),
... ... @@ -568,6 +576,7 @@ public interface MainInfoExtMapper extends BaseMapperX&lt;MainInfoDO&gt; {
568 576 @Result(column = "process_instance_id", property = "processInstanceId"),
569 577 @Result(column = "remark", property = "remark"),
570 578 @Result(column = "handle_result", property = "handleResult"),
  579 + @Result(column = "co_handlers", property = "coHandlers", typeHandler = JacksonTypeHandler.class),
571 580 @Result(column = "creator", property = "creator"),
572 581 @Result(column = "create_time", property = "createTime"),
573 582 @Result(column = "updater", property = "updater"),
... ...
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoMapper.java
... ... @@ -89,6 +89,7 @@ public interface MainInfoMapper extends BaseMapperX&lt;MainInfoDO&gt; {
89 89 .eqIfPresent(MainInfoDO::getWorkerCompanyId, reqVO.getWorkerName())
90 90 .eqIfPresent(MainInfoDO::getWorkerId, reqVO.getOrderType())
91 91 .likeIfPresent(MainInfoDO::getWorkerName, reqVO.getWorkerName())
  92 + .eqIfPresent(MainInfoDO::getWoSourceId, reqVO.getWoSourceId())
92 93  
93 94 .eqIfPresent(MainInfoDO::getSourceId, reqVO.getSourceId())
94 95 .likeIfPresent(MainInfoDO::getSourceName, reqVO.getSourceName())
... ...
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/enums/ErrorCodeConstants.java
... ... @@ -27,5 +27,7 @@ public interface ErrorCodeConstants {
27 27  
28 28 ErrorCode APP_WORKER_ID_NOT_EMPTY = new ErrorCode(1-900-001-007, "WorkerDataId不能为空!");
29 29  
30   - ErrorCode APP_WORKER_LEVEL_ID_NOT_EXISTS = new ErrorCode(1-900-001-007, "养护级别编码错误,不存在!");
  30 + ErrorCode APP_WORKER_LEVEL_ID_NOT_EXISTS = new ErrorCode(1-900-002-000, "养护级别编码错误,不存在!");
  31 +
  32 + ErrorCode APP_USER_ROLE_NOT_EXISTS= new ErrorCode(1-900-002-001, "该人员未分配角色 !");
31 33 }
... ...
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java
... ... @@ -22,8 +22,10 @@ import com.zteits.urbanops.module.bpm.service.task.BpmProcessInstanceService;
22 22 import com.zteits.urbanops.module.bpm.service.task.BpmTaskService;
23 23 import com.zteits.urbanops.module.garden.api.road.RoadApi;
24 24 import com.zteits.urbanops.module.garden.dto.road.RoadStreetRespDTO;
  25 +import com.zteits.urbanops.module.system.api.permission.RoleApi;
25 26 import com.zteits.urbanops.module.system.api.user.AdminUserApi;
26 27 import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO;
  28 +import com.zteits.urbanops.module.system.controller.admin.permission.vo.role.RoleRespVO;
27 29 import com.zteits.urbanops.module.workorder.api.WorkOrderApi;
28 30 import com.zteits.urbanops.module.workorder.api.constant.BpmCommonConstant;
29 31 import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderPageReqVO;
... ... @@ -107,6 +109,9 @@ public class BpmGardenServiceImpl implements BpmGardenService{
107 109 private AdminUserApi adminUserApi;
108 110  
109 111 @Resource
  112 + private RoleApi roleApi;
  113 +
  114 + @Resource
110 115 private BpmProcessInstanceService processInstanceService;
111 116  
112 117 @Resource
... ... @@ -141,6 +146,15 @@ public class BpmGardenServiceImpl implements BpmGardenService{
141 146 workOrder.setCuringLevelId(Integer.valueOf(dictData.getValue()));
142 147 workOrder.setCuringLevelName(dictData.getLabel());
143 148 workOrder.setCompanyId(SecurityFrameworkUtils.getCompanyId());
  149 +
  150 + workOrder.setDeptId(SecurityFrameworkUtils.getDeptId());
  151 + List<RoleRespVO> roleList = roleApi.getRoleListByUsrId(SecurityFrameworkUtils.getLoginUserId());
  152 + if(null == roleList || roleList.size()==0){
  153 + throw exception(APP_USER_ROLE_NOT_EXISTS);
  154 + }
  155 + workOrder.setWoSourceId(roleList.get(0).getCode());
  156 + workOrder.setWoSourceName(roleList.get(0).getName());
  157 +
144 158 if(StringUtil.isNotEmpty(createRequestVo.getBusiLine())){
145 159 workOrder.setBusiLine(createRequestVo.getBusiLine());
146 160 }else {
... ... @@ -347,7 +361,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{
347 361 PageResult<MainInfoExtDO> pageResult = workOrderExtMapper.selectWorkOrderTodoPage(pageParam,pageReqVO);
348 362 List<MainInfoExtDO> list = pageResult.getList();
349 363 if(null != list && list.size()>0){
350   - return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper);
  364 + return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper, adminUserApi);
351 365 }
352 366 return null;
353 367 }
... ... @@ -361,7 +375,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{
361 375 PageResult<MainInfoExtDO> pageResult = workOrderExtMapper.selectWorkOrderDonePage(pageParam,pageReqVO);
362 376 List<MainInfoExtDO> list = pageResult.getList();
363 377 if(null != list && list.size()>0){
364   - return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper);
  378 + return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper, adminUserApi);
365 379 }
366 380 return null;
367 381 }
... ... @@ -375,7 +389,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{
375 389 PageResult<MainInfoExtDO> pageResult = workOrderExtMapper.selectWorkOrderMyPage(pageParam,pageReqVO);
376 390 List<MainInfoExtDO> list = pageResult.getList();
377 391 if(null != list && list.size()>0){
378   - return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper);
  392 + return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper, adminUserApi);
379 393 }
380 394 return null;
381 395 }
... ... @@ -412,7 +426,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{
412 426 //taskBuzReqVO.setKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO);
413 427 //selectWorkOrderUniqueMyPage 个性化 去重 按工单唯一处理
414 428 PageResult<MainInfoExtDO> pageResult = workOrderExtMapper.selectWorkOrderUniqueMyPage(pageVO,taskBuzReqVO);
415   - return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper);
  429 + return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper, adminUserApi);
416 430 }
417 431 @Override
418 432 public PageResult<AppGardenWorkOrderRespVO> getTaskDoneBuzSimplePage(AppGardenWorkOrderPageReqVO pageVO) {
... ... @@ -446,7 +460,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{
446 460 //taskBuzReqVO.setKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO);
447 461 //已办改为获取最新一条数据
448 462 PageResult<MainInfoExtDO> pageResult = workOrderExtMapper.selectWorkOrderDoneUniquePage(pageVO,taskBuzReqVO);
449   - return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper);
  463 + return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper, adminUserApi);
450 464 }
451 465  
452 466 @Override
... ... @@ -480,8 +494,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{
480 494 //TODO 先写死
481 495 //taskBuzReqVO.setKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO);
482 496 PageResult<MainInfoExtDO> pageResult = workOrderExtMapper.selectWorkOrderTodoPage(pageVO,taskBuzReqVO);
483   -
484   - return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper);
  497 + return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper,adminUserApi);
485 498 }
486 499  
487 500  
... ... @@ -549,6 +562,15 @@ public class BpmGardenServiceImpl implements BpmGardenService{
549 562 workOrder.setCuringLevelName(dictData.getLabel());
550 563 workOrder.setCommitDate(LocalDateTime.now());
551 564 workOrder.setCompanyId(SecurityFrameworkUtils.getCompanyId());
  565 +
  566 + workOrder.setDeptId(SecurityFrameworkUtils.getDeptId());
  567 + List<RoleRespVO> roleList = roleApi.getRoleListByUsrId(SecurityFrameworkUtils.getLoginUserId());
  568 + if(null == roleList || roleList.size()==0){
  569 + throw exception(APP_USER_ROLE_NOT_EXISTS);
  570 + }
  571 + workOrder.setWoSourceId(roleList.get(0).getCode());
  572 + workOrder.setWoSourceName(roleList.get(0).getName());
  573 +
552 574 if(StringUtil.isNotEmpty(createRequestVo.getBusiLine())){
553 575 workOrder.setBusiLine(createRequestVo.getBusiLine());
554 576 }else {
... ... @@ -568,6 +590,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{
568 590 Map<String, Object> processInstanceVariables = new HashMap<>();
569 591 processInstanceVariables.put(BPM_COMMON_PROD_ROADID, workOrder.getRoadId());
570 592 processInstanceVariables.put(BPM_COMMON_PROD_APPLYUSERID, userId);
  593 + processInstanceVariables.put(BPM_COMMON_PROD_ISNEED,null);
571 594 Map<String, List<Long>> startUserSelectAssignees = new HashMap<>();
572 595 List<AdminUserRespDTO> userList = workOrderExtMapper.getUserByRoadIdAndRoleCode(workOrder.getRoadId(),BpmCommonConstant.TEAM_LEADER_YL,createRequestVo.getBusiLine());
573 596 if(org.springframework.util.ObjectUtils.isEmpty(userList)){
... ...