From ffae06edf87b2992455d3d4077114371041f61c5 Mon Sep 17 00:00:00 2001 From: yanhuiqing Date: Tue, 23 Dec 2025 01:55:52 +0800 Subject: [PATCH] 工单 问题修改 --- urbanops-module-api/urbanops-module-workorder-api/src/main/java/com/zteits/urbanops/module/workorder/dto/MainInfoRespVO.java | 4 ++-- urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/permission/RoleApi.java | 7 +++++++ urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/permission/RoleApiImpl.java | 8 ++++++++ urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/maininfo/vo/MainInfoPageReqVO.java | 3 +++ urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/aop/BuzStatusUpdateAspect.java | 2 ++ urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/garden/AppGardenTaskConvert.java | 34 ++++++++++++++++++++++++---------- urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/maininfo/MainInfoConvert.java | 17 +++++++++-------- urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoDO.java | 12 ++++++++++++ urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoExtDO.java | 33 +++++++++++++++++++++++++++++++++ urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoExtMapper.java | 9 +++++++++ urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoMapper.java | 1 + urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/enums/ErrorCodeConstants.java | 4 +++- urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java | 37 ++++++++++++++++++++++++++++++------- 13 files changed, 143 insertions(+), 28 deletions(-) diff --git a/urbanops-module-api/urbanops-module-workorder-api/src/main/java/com/zteits/urbanops/module/workorder/dto/MainInfoRespVO.java b/urbanops-module-api/urbanops-module-workorder-api/src/main/java/com/zteits/urbanops/module/workorder/dto/MainInfoRespVO.java index fa358b1..61d1109 100644 --- a/urbanops-module-api/urbanops-module-workorder-api/src/main/java/com/zteits/urbanops/module/workorder/dto/MainInfoRespVO.java +++ b/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 { @Schema(description = "共同处理人") private Set coHandlers; - @Schema(description = "共同处理人名称,多个逗号拼接") - private String coHandlersName; + @Schema(description = "共同处理人名称,多个为数组") + private List coHandlersName; @Schema(description = "提交人电话") private String userMobile; diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/permission/RoleApi.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/permission/RoleApi.java index 5d68412..6ef9c2e 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/permission/RoleApi.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/permission/RoleApi.java @@ -45,6 +45,13 @@ public interface RoleApi { */ List getRoleIdsByUserId(Long userId); + /** + * 根据用户id获取角色信息 + * @param userId + * @return + */ + List getRoleListByUsrId(Long userId); + /** * 通过角色类型,获得用户编号列表 diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/permission/RoleApiImpl.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/permission/RoleApiImpl.java index b2b1ebf..e4ed121 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/permission/RoleApiImpl.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/api/permission/RoleApiImpl.java @@ -1,5 +1,6 @@ package com.zteits.urbanops.module.system.api.permission; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; import com.zteits.urbanops.module.system.controller.admin.permission.vo.role.RoleRespVO; import com.zteits.urbanops.module.system.dal.dataobject.permission.RoleDO; import com.zteits.urbanops.module.system.service.permission.RoleService; @@ -41,6 +42,13 @@ public class RoleApiImpl implements RoleApi { } @Override + public List getRoleListByUsrId(Long userId) { + List roleIds = roleService.getRoleIdsByUserId(userId); + List roleDOList = roleService.getRoleList(roleIds); + return BeanUtils.toBean(roleDOList, RoleRespVO.class); + } + + @Override public List getUserIdsByRoleCode(String roleCode) { return roleService.getUserIdsByRoleCode(roleCode); } diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/maininfo/vo/MainInfoPageReqVO.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/maininfo/vo/MainInfoPageReqVO.java index ae407bd..bee57ad 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/maininfo/vo/MainInfoPageReqVO.java +++ b/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 { @Schema(description = "实施人员部门id", example = "12") private Long workerCompanyId; + @Schema(description = "工单来源编码") + private String woSourceId; + } \ No newline at end of file diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/aop/BuzStatusUpdateAspect.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/aop/BuzStatusUpdateAspect.java index e23e210..73a07bb 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/aop/BuzStatusUpdateAspect.java +++ b/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; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.List; @@ -64,6 +65,7 @@ public class BuzStatusUpdateAspect { public void buzStatusUpdatePointcut() {} @Around("buzStatusUpdatePointcut()") + @Transactional(rollbackFor = Exception.class) public Object around(ProceedingJoinPoint joinPoint) throws Throwable { // 1. 获取方法参数(AppUniversalApprovalReqVO) Object[] args = joinPoint.getArgs(); diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/garden/AppGardenTaskConvert.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/garden/AppGardenTaskConvert.java index 265c4e4..d9b84fe 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/garden/AppGardenTaskConvert.java +++ b/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 import com.zteits.urbanops.module.bpm.dal.dataobject.definition.BpmProcessDefinitionInfoDO; import com.zteits.urbanops.module.bpm.framework.flowable.core.util.FlowableUtils; import com.zteits.urbanops.module.system.api.dept.dto.DeptRespDTO; +import com.zteits.urbanops.module.system.api.user.AdminUserApi; import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO; import com.zteits.urbanops.module.workorder.api.constant.BpmCommonConstant; import com.zteits.urbanops.module.workorder.controller.app.garden.vo.task.AppGardenTaskRespVO; @@ -25,10 +26,7 @@ import org.flowable.task.api.history.HistoricTaskInstance; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import static com.zteits.urbanops.framework.common.util.collection.MapUtils.findAndThen; @@ -97,18 +95,18 @@ public interface AppGardenTaskConvert { return new PageResult<>(taskVOList, pageResult.getTotal()); } - default PageResult buildBuziTaskPage(PageResult pageResult, AttachmentMapper attachmentMapper){ + default PageResult buildBuziTaskPage(PageResult pageResult, AttachmentMapper attachmentMapper, AdminUserApi adminUserApi){ // 1. 源分页对象为空,返回空分页 if (pageResult == null) { return PageResult.empty(); } // 2. 转换列表数据,保留分页参数(总数、页码、页大小等) - List targetList = convertList(pageResult.getList(), attachmentMapper); + List targetList = convertList(pageResult.getList(), attachmentMapper,adminUserApi); return new PageResult<>(targetList, pageResult.getTotal()); } - default List convertList(List sourceList, AttachmentMapper attachmentMapper) { + default List convertList(List sourceList, AttachmentMapper attachmentMapper, AdminUserApi adminUserApi) { // 1. 源列表为空,返回空列表(避免NPE) if (sourceList == null || sourceList.isEmpty()) { return Collections.emptyList(); @@ -116,17 +114,19 @@ public interface AppGardenTaskConvert { // 2. 遍历源列表,调用单对象转换方法 return sourceList.stream() - .map(source -> convert(source, attachmentMapper)) + .map(source -> convert(source, attachmentMapper,adminUserApi)) .collect(Collectors.toList()); } /** * MainInfoExtDO → AppGardenWorkOrderRespVO - * @param source 源对象 + * + * @param source 源对象 * @param attachmentMapper 附件Mapper,用于查询图片列表 + * @param adminUserApi * @return 目标对象 */ - default AppGardenWorkOrderRespVO convert(MainInfoExtDO source, AttachmentMapper attachmentMapper) { + default AppGardenWorkOrderRespVO convert(MainInfoExtDO source, AttachmentMapper attachmentMapper, AdminUserApi adminUserApi) { // 1. 源对象为空,直接返回null if (source == null) { return null; @@ -134,6 +134,20 @@ public interface AppGardenTaskConvert { AppGardenWorkOrderRespVO target = new AppGardenWorkOrderRespVO(); org.springframework.beans.BeanUtils.copyProperties(source, target); + Set userIds = target.getCoHandlers(); + if (userIds != null && !userIds.isEmpty()) { + Map userMap = adminUserApi.getUserMap(userIds); + List coHandlersNameList = Optional.ofNullable(target.getCoHandlers()) + .orElse(Set.of()) + .stream() + .filter(Objects::nonNull) + .map(userMap::get) + .filter(Objects::nonNull) + .map(AdminUserRespDTO::getNickname) + .filter(nickname -> nickname != null && !nickname.isEmpty()) + .collect(Collectors.toList()); + target.setCoHandlersName(coHandlersNameList); + } // 3. 手动赋值扩展字段:查询问题图片列表和完成图片列表 List problemImgsList = queryAttachment( diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/maininfo/MainInfoConvert.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/maininfo/MainInfoConvert.java index 443046a..a86ee65 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/convert/maininfo/MainInfoConvert.java +++ b/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; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -64,14 +61,18 @@ public interface MainInfoConvert { } mainInfoVo.setCompanyName(deptName); if (mainInfoVo.getCoHandlers() != null && !mainInfoVo.getCoHandlers().isEmpty()) { - String coHandlersName = mainInfoVo.getCoHandlers() == null ? "" : mainInfoVo.getCoHandlers().stream() - .filter(userId -> userId != null) + List coHandlersNameList = Optional.ofNullable(mainInfoVo.getCoHandlers()) + .orElse(Set.of()) + .stream() + .filter(Objects::nonNull) .map(userMap::get) .filter(Objects::nonNull) .map(AdminUserRespDTO::getNickname) .filter(nickname -> nickname != null && !nickname.isEmpty()) - .collect(Collectors.joining(",")); - mainInfoVo.setCoHandlersName(coHandlersName); + .collect(Collectors.toList()); + mainInfoVo.setCoHandlersName(coHandlersNameList); + }else{ + mainInfoVo.setCoHandlersName(new ArrayList<>()); } mainInfoVo.setUserMobile(userMap.get(mainInfoVo.getUserId()).getMobile()); } diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoDO.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoDO.java index e7918ac..e64eb2d 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoDO.java +++ b/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 { * 实施人员部门id */ private Long workerCompanyId; + /** + * 工单来源编码 + */ + private String woSourceId; + /** + * 工单来源名称 + */ + private String woSourceName; + /** + * 特殊部门id,工单默认是登录人部门,实施后为实施人的部门id + */ + private Long deptId; diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoExtDO.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoExtDO.java index 59c35e7..db83e47 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoExtDO.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoExtDO.java @@ -1,12 +1,15 @@ package com.zteits.urbanops.module.workorder.dal.dataobject.maininfo; import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; import lombok.*; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.Set; /** * 类描述:工单扩展信息,支持工作流任务信息 DO @@ -174,5 +177,35 @@ public class MainInfoExtDO extends BaseDO { */ private String key_; + /** + * 共同处理人 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private Set coHandlers; + /** + * 实施人员ID + */ + private Long workerId; + /** + * 实施人员名称 + */ + private String workerName; + /** + * 实施人员部门id + */ + private Long workerCompanyId; + /** + * 工单来源编码 + */ + private String woSourceId; + /** + * 工单来源名称 + */ + private String woSourceName; + /** + * 特殊部门id,工单默认是登录人部门,实施后为实施人的部门id + */ + private Long deptId; + } \ No newline at end of file diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoExtMapper.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoExtMapper.java index aeeef4e..0681da2 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoExtMapper.java +++ b/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; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zteits.urbanops.framework.common.pojo.PageParam; import com.zteits.urbanops.framework.common.pojo.PageResult; @@ -129,6 +130,8 @@ public interface MainInfoExtMapper extends BaseMapperX { @Result(column = "process_instance_id", property = "processInstanceId"), @Result(column = "remark", property = "remark"), @Result(column = "handle_result", property = "handleResult"), + @Result(column = "co_handlers", property = "coHandlers", typeHandler = JacksonTypeHandler.class), + @Result(column = "creator", property = "creator"), @Result(column = "create_time", property = "createTime"), @Result(column = "updater", property = "updater"), @@ -240,6 +243,8 @@ public interface MainInfoExtMapper extends BaseMapperX { @Result(column = "process_instance_id", property = "processInstanceId"), @Result(column = "remark", property = "remark"), @Result(column = "handle_result", property = "handleResult"), + @Result(column = "co_handlers", property = "coHandlers", typeHandler = JacksonTypeHandler.class), + @Result(column = "creator", property = "creator"), @Result(column = "create_time", property = "createTime"), @Result(column = "updater", property = "updater"), @@ -345,6 +350,8 @@ public interface MainInfoExtMapper extends BaseMapperX { @Result(column = "process_instance_id", property = "processInstanceId"), @Result(column = "remark", property = "remark"), @Result(column = "handle_result", property = "handleResult"), + @Result(column = "co_handlers", property = "coHandlers", typeHandler = JacksonTypeHandler.class), + @Result(column = "creator", property = "creator"), @Result(column = "create_time", property = "createTime"), @Result(column = "updater", property = "updater"), @@ -461,6 +468,7 @@ public interface MainInfoExtMapper extends BaseMapperX { @Result(column = "process_instance_id", property = "processInstanceId"), @Result(column = "remark", property = "remark"), @Result(column = "handle_result", property = "handleResult"), + @Result(column = "co_handlers", property = "coHandlers", typeHandler = JacksonTypeHandler.class), @Result(column = "creator", property = "creator"), @Result(column = "create_time", property = "createTime"), @Result(column = "updater", property = "updater"), @@ -568,6 +576,7 @@ public interface MainInfoExtMapper extends BaseMapperX { @Result(column = "process_instance_id", property = "processInstanceId"), @Result(column = "remark", property = "remark"), @Result(column = "handle_result", property = "handleResult"), + @Result(column = "co_handlers", property = "coHandlers", typeHandler = JacksonTypeHandler.class), @Result(column = "creator", property = "creator"), @Result(column = "create_time", property = "createTime"), @Result(column = "updater", property = "updater"), diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoMapper.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoMapper.java index 76f3cde..fd81b21 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoMapper.java +++ b/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 { .eqIfPresent(MainInfoDO::getWorkerCompanyId, reqVO.getWorkerName()) .eqIfPresent(MainInfoDO::getWorkerId, reqVO.getOrderType()) .likeIfPresent(MainInfoDO::getWorkerName, reqVO.getWorkerName()) + .eqIfPresent(MainInfoDO::getWoSourceId, reqVO.getWoSourceId()) .eqIfPresent(MainInfoDO::getSourceId, reqVO.getSourceId()) .likeIfPresent(MainInfoDO::getSourceName, reqVO.getSourceName()) diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/enums/ErrorCodeConstants.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/enums/ErrorCodeConstants.java index 19710da..ed9f8f8 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/enums/ErrorCodeConstants.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/enums/ErrorCodeConstants.java @@ -27,5 +27,7 @@ public interface ErrorCodeConstants { ErrorCode APP_WORKER_ID_NOT_EMPTY = new ErrorCode(1-900-001-007, "WorkerDataId不能为空!"); - ErrorCode APP_WORKER_LEVEL_ID_NOT_EXISTS = new ErrorCode(1-900-001-007, "养护级别编码错误,不存在!"); + ErrorCode APP_WORKER_LEVEL_ID_NOT_EXISTS = new ErrorCode(1-900-002-000, "养护级别编码错误,不存在!"); + + ErrorCode APP_USER_ROLE_NOT_EXISTS= new ErrorCode(1-900-002-001, "该人员未分配角色 !"); } diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java index 5937e25..bada3e9 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java +++ b/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; import com.zteits.urbanops.module.bpm.service.task.BpmTaskService; import com.zteits.urbanops.module.garden.api.road.RoadApi; import com.zteits.urbanops.module.garden.dto.road.RoadStreetRespDTO; +import com.zteits.urbanops.module.system.api.permission.RoleApi; import com.zteits.urbanops.module.system.api.user.AdminUserApi; import com.zteits.urbanops.module.system.api.user.dto.AdminUserRespDTO; +import com.zteits.urbanops.module.system.controller.admin.permission.vo.role.RoleRespVO; import com.zteits.urbanops.module.workorder.api.WorkOrderApi; import com.zteits.urbanops.module.workorder.api.constant.BpmCommonConstant; import com.zteits.urbanops.module.workorder.controller.admin.garden.vo.BpmGardenWorkOrderPageReqVO; @@ -107,6 +109,9 @@ public class BpmGardenServiceImpl implements BpmGardenService{ private AdminUserApi adminUserApi; @Resource + private RoleApi roleApi; + + @Resource private BpmProcessInstanceService processInstanceService; @Resource @@ -141,6 +146,15 @@ public class BpmGardenServiceImpl implements BpmGardenService{ workOrder.setCuringLevelId(Integer.valueOf(dictData.getValue())); workOrder.setCuringLevelName(dictData.getLabel()); workOrder.setCompanyId(SecurityFrameworkUtils.getCompanyId()); + + workOrder.setDeptId(SecurityFrameworkUtils.getDeptId()); + List roleList = roleApi.getRoleListByUsrId(SecurityFrameworkUtils.getLoginUserId()); + if(null == roleList || roleList.size()==0){ + throw exception(APP_USER_ROLE_NOT_EXISTS); + } + workOrder.setWoSourceId(roleList.get(0).getCode()); + workOrder.setWoSourceName(roleList.get(0).getName()); + if(StringUtil.isNotEmpty(createRequestVo.getBusiLine())){ workOrder.setBusiLine(createRequestVo.getBusiLine()); }else { @@ -347,7 +361,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{ PageResult pageResult = workOrderExtMapper.selectWorkOrderTodoPage(pageParam,pageReqVO); List list = pageResult.getList(); if(null != list && list.size()>0){ - return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper); + return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper, adminUserApi); } return null; } @@ -361,7 +375,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{ PageResult pageResult = workOrderExtMapper.selectWorkOrderDonePage(pageParam,pageReqVO); List list = pageResult.getList(); if(null != list && list.size()>0){ - return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper); + return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper, adminUserApi); } return null; } @@ -375,7 +389,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{ PageResult pageResult = workOrderExtMapper.selectWorkOrderMyPage(pageParam,pageReqVO); List list = pageResult.getList(); if(null != list && list.size()>0){ - return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper); + return AppGardenTaskConvert.INSTANCE.convert(list.get(0),attachmentMapper, adminUserApi); } return null; } @@ -412,7 +426,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{ //taskBuzReqVO.setKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO); //selectWorkOrderUniqueMyPage 个性化 去重 按工单唯一处理 PageResult pageResult = workOrderExtMapper.selectWorkOrderUniqueMyPage(pageVO,taskBuzReqVO); - return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper); + return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper, adminUserApi); } @Override public PageResult getTaskDoneBuzSimplePage(AppGardenWorkOrderPageReqVO pageVO) { @@ -446,7 +460,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{ //taskBuzReqVO.setKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO); //已办改为获取最新一条数据 PageResult pageResult = workOrderExtMapper.selectWorkOrderDoneUniquePage(pageVO,taskBuzReqVO); - return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper); + return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper, adminUserApi); } @Override @@ -480,8 +494,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{ //TODO 先写死 //taskBuzReqVO.setKey(BpmCommonConstant.BPM_GARDEN_INSPECT_WO); PageResult pageResult = workOrderExtMapper.selectWorkOrderTodoPage(pageVO,taskBuzReqVO); - - return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper); + return AppGardenTaskConvert.INSTANCE.buildBuziTaskPage(pageResult,attachmentMapper,adminUserApi); } @@ -549,6 +562,15 @@ public class BpmGardenServiceImpl implements BpmGardenService{ workOrder.setCuringLevelName(dictData.getLabel()); workOrder.setCommitDate(LocalDateTime.now()); workOrder.setCompanyId(SecurityFrameworkUtils.getCompanyId()); + + workOrder.setDeptId(SecurityFrameworkUtils.getDeptId()); + List roleList = roleApi.getRoleListByUsrId(SecurityFrameworkUtils.getLoginUserId()); + if(null == roleList || roleList.size()==0){ + throw exception(APP_USER_ROLE_NOT_EXISTS); + } + workOrder.setWoSourceId(roleList.get(0).getCode()); + workOrder.setWoSourceName(roleList.get(0).getName()); + if(StringUtil.isNotEmpty(createRequestVo.getBusiLine())){ workOrder.setBusiLine(createRequestVo.getBusiLine()); }else { @@ -568,6 +590,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{ Map processInstanceVariables = new HashMap<>(); processInstanceVariables.put(BPM_COMMON_PROD_ROADID, workOrder.getRoadId()); processInstanceVariables.put(BPM_COMMON_PROD_APPLYUSERID, userId); + processInstanceVariables.put(BPM_COMMON_PROD_ISNEED,null); Map> startUserSelectAssignees = new HashMap<>(); List userList = workOrderExtMapper.getUserByRoadIdAndRoleCode(workOrder.getRoadId(),BpmCommonConstant.TEAM_LEADER_YL,createRequestVo.getBusiLine()); if(org.springframework.util.ObjectUtils.isEmpty(userList)){ -- libgit2 0.21.4