diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/api/constant/BpmCommonConstant.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/api/constant/BpmCommonConstant.java index d70f39d..4fbb497 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/api/constant/BpmCommonConstant.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/api/constant/BpmCommonConstant.java @@ -14,16 +14,34 @@ public class BpmCommonConstant { public static final String COMMON_QUICK_PROCESS_INITIATOR = "initiator"; + /** * 园林巡检工单 流程业务key */ @Deprecated public static final String BPM_GARDEN_INSPECT_WO = "garden_inspect_wo"; + + /** * 园林巡检工单 通用版本 */ public static final String BPM_WORKORDER_COMMON_PROD = "workorder_common_prod"; + + /** + * 全域工单 流程业务key + */ + public static final String BPM_UNIVERSE_WO = "universe_workorder_prod"; + + /** + * 全域工单 督察员 流程业务key + */ + public static final String BPM_UNIVERSE_INSPECTOR_WO = "universe_inspector_prod"; + + /** + * AI工单流程业务key + */ + public static final String BPM_AI_WO = "ai_workorder_prod"; //----------------------------------------工单初始化流程变量key---------------------- public static final String BPM_COMMON_PROD_ROADID = "roadId"; public static final String BPM_COMMON_PROD_APPLYUSERID = "applyUserId"; @@ -88,6 +106,18 @@ public class BpmCommonConstant { * 快速工单编号前缀 */ public static final String WORK_ORDER_PREFFIX_QUICK = "QWO"; + /** + * 全域工单流程前缀 + */ + public static final String WORK_ORDER_PREFFIX_UNIVERSE = "UWO"; + /** + * 全域督察员工单流程前缀 + */ + public static final String WORK_ORDER_PREFFIX_INSPECTOR = "IWO"; + /** + * AI工单流程前缀 + */ + public static final String WORK_ORDER_PREFFIX_AI = "AWO"; public static final String ORDER_STATUS_INIT = "000"; public static final String ORDER_TYPE_Q = "Q"; 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 3a6b1df..38d323a 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 @@ -16,6 +16,7 @@ import com.zteits.urbanops.module.workorder.enums.OperateTypeEnum; import com.zteits.urbanops.module.workorder.service.garden.BpmGardenService; import com.zteits.urbanops.module.workorder.service.maininfo.MainInfoService; import jakarta.annotation.Resource; +import jodd.util.StringUtil; import lombok.RequiredArgsConstructor; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; @@ -97,6 +98,7 @@ public class BuzStatusUpdateAspect { RoadStreetRespDTO roadStreetRespDTO = roadApi.getRoadInfoById(reqVO.getRoadId()); targeVO = BeanUtils.toBean(reqVO,MainInfoDO.class); targeVO.setId(reqVO.getWorkerDataId()); + targeVO.setOrderNo(dbData.getOrderNo()); targeVO.setStreetId(roadStreetRespDTO.getStreetId()); targeVO.setStreetName(roadStreetRespDTO.getStreetName()); DictDataRespDTO dictData = dictDataCommonApi.getDictData(CONSERVE_LEVEL, roadStreetRespDTO.getLevelId().toString()); @@ -106,11 +108,21 @@ public class BuzStatusUpdateAspect { targeVO.setCuringLevelId(Integer.valueOf(dictData.getValue())); targeVO.setCuringLevelName(dictData.getLabel()); targeVO.setCommitDate(LocalDateTime.now()); + if(reqVO.getExpectedFinishDate() != null){ + targeVO.setExpectedFinishDate(reqVO.getExpectedFinishDate());//重新发起的期望时间 + } targeVO.setCompanyId(SecurityFrameworkUtils.getCompanyId()); - targeVO.setBusiLine(SecurityFrameworkUtils.getBusiLine()); + if(StringUtil.isNotEmpty(reqVO.getBusiLine())){//防止业务线重新修改 + targeVO.setBusiLine(reqVO.getBusiLine()); + }else { + targeVO.setBusiLine(SecurityFrameworkUtils.getBusiLine()); + } targeVO.setUserId(SecurityFrameworkUtils.getLoginUserId()); targeVO.setUserName(SecurityFrameworkUtils.getLoginUserNickname()); - targeVO.setFinishDate(reqVO.getFinishDate()); + if(reqVO.getFinishDate() != null){ + targeVO.setFinishDate(reqVO.getFinishDate()); + } + List problemsImgs = reqVO.getProblemsImgs(); if(ObjectUtils.isNotAllEmpty(problemsImgs) && problemsImgs.size()>0){ gardenService.attachmentInsertOrUpdate(problemsImgs,BpmCommonConstant.PROBLEM_IMG_GROUP,targeVO); diff --git a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/common/AppUniversalApprovalReqVO.java b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/common/AppUniversalApprovalReqVO.java index d9feb95..09c9e73 100644 --- a/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/common/AppUniversalApprovalReqVO.java +++ b/urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/app/garden/vo/common/AppUniversalApprovalReqVO.java @@ -134,6 +134,9 @@ public class AppUniversalApprovalReqVO { @Schema(description = "三方工单ID") private String thirdWorkNo; + @Schema(description = "希望完成时间", example = "1766505427000") // Swagger文档示例 + private LocalDateTime expectedFinishDate; + @Schema(description = "完成时间") private LocalDateTime finishDate; 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 1d07c8f..ad8820a 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 @@ -32,4 +32,6 @@ public interface ErrorCodeConstants { ErrorCode APP_USER_ROLE_NOT_EXISTS = new ErrorCode(1-900-002-001, "该人员未分配角色 !"); ErrorCode APP_WORK_ORADER_ERROR = new ErrorCode(1-900-002-002, "工单类型错误,快速工单无法走此流程 !"); + + ErrorCode APP_WORK_ORADER_NO_NOT_EXISTS = new ErrorCode(1-900-002-003, "工单编号不能为空!"); } 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 698ec04..5f4f5c8 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 @@ -650,6 +650,9 @@ public class BpmGardenServiceImpl implements BpmGardenService{ AttachmentDO saveDO = new AttachmentDO(); saveDO.setBusiLine(workOrder.getBusiLine()); saveDO.setBusiType(type); + if(StringUtil.isEmpty(workOrder.getOrderNo())){ + throw exception(APP_WORK_ORADER_NO_NOT_EXISTS); + } saveDO.setOrderNo(workOrder.getOrderNo()); String filePaths = String.join(",",imgList); saveDO.setFileNames(filePaths);