Commit e3a3a1393886eb39708bee657941869710a96143
1 parent
49a5dab0
工单接口字段统一
Showing
9 changed files
with
50 additions
and
11 deletions
urbanops-module-api/urbanops-module-workorder-api/src/main/java/com/zteits/urbanops/module/workorder/dto/AppGardenWorkOrderReqVO.java
| @@ -34,7 +34,10 @@ public class AppGardenWorkOrderReqVO { | @@ -34,7 +34,10 @@ public class AppGardenWorkOrderReqVO { | ||
| 34 | private String roadName; | 34 | private String roadName; |
| 35 | 35 | ||
| 36 | @Schema(description = "问题图片", example = "9184") | 36 | @Schema(description = "问题图片", example = "9184") |
| 37 | - private List<String> imgs; | 37 | + private List<String> problemsImgs; |
| 38 | + | ||
| 39 | + @Schema(description = "实施结束的拍照图片") | ||
| 40 | + private List<String> endImgs; | ||
| 38 | 41 | ||
| 39 | @Schema(description = "工单描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对") | 42 | @Schema(description = "工单描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对") |
| 40 | @NotEmpty(message = "工单描述不能为空") | 43 | @NotEmpty(message = "工单描述不能为空") |
| @@ -79,6 +82,9 @@ public class AppGardenWorkOrderReqVO { | @@ -79,6 +82,9 @@ public class AppGardenWorkOrderReqVO { | ||
| 79 | @Schema(description = "三方工单ID") | 82 | @Schema(description = "三方工单ID") |
| 80 | private String thirdWorkNo; | 83 | private String thirdWorkNo; |
| 81 | 84 | ||
| 85 | + @Schema(description = "希望完成时间") | ||
| 86 | + private LocalDateTime expectedFinishDate; | ||
| 87 | + | ||
| 82 | @Schema(description = "完成时间") | 88 | @Schema(description = "完成时间") |
| 83 | private LocalDateTime finishDate; | 89 | private LocalDateTime finishDate; |
| 84 | 90 |
urbanops-module-api/urbanops-module-workorder-api/src/main/java/com/zteits/urbanops/module/workorder/dto/MainInfoRespVO.java
| @@ -67,6 +67,10 @@ public class MainInfoRespVO { | @@ -67,6 +67,10 @@ public class MainInfoRespVO { | ||
| 67 | @ExcelProperty("提交日期") | 67 | @ExcelProperty("提交日期") |
| 68 | private LocalDateTime commitDate; | 68 | private LocalDateTime commitDate; |
| 69 | 69 | ||
| 70 | + @Schema(description = "希望完成时间", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 71 | + @ExcelProperty("希望完成时间") | ||
| 72 | + private LocalDateTime expectedFinishDate; | ||
| 73 | + | ||
| 70 | @Schema(description = "完成时间", requiredMode = Schema.RequiredMode.REQUIRED) | 74 | @Schema(description = "完成时间", requiredMode = Schema.RequiredMode.REQUIRED) |
| 71 | @ExcelProperty("完成时间") | 75 | @ExcelProperty("完成时间") |
| 72 | private LocalDateTime finishDate; | 76 | private LocalDateTime finishDate; |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/convert/AppGardenWorkOrderConvert.java
| @@ -19,7 +19,7 @@ public interface AppGardenWorkOrderConvert { | @@ -19,7 +19,7 @@ public interface AppGardenWorkOrderConvert { | ||
| 19 | AppGardenWorkOrderReqVO orderReqVO = new AppGardenWorkOrderReqVO(); | 19 | AppGardenWorkOrderReqVO orderReqVO = new AppGardenWorkOrderReqVO(); |
| 20 | orderReqVO.setRoadId(inspectionPlanDO.getRoadId()); | 20 | orderReqVO.setRoadId(inspectionPlanDO.getRoadId()); |
| 21 | orderReqVO.setRoadName(inspectionPlanDO.getRoadName()); | 21 | orderReqVO.setRoadName(inspectionPlanDO.getRoadName()); |
| 22 | - orderReqVO.setImgs(createReqVO.getImgList()); | 22 | + orderReqVO.setProblemsImgs(createReqVO.getImgList()); |
| 23 | orderReqVO.setRemark(createReqVO.getRemark()); | 23 | orderReqVO.setRemark(createReqVO.getRemark()); |
| 24 | orderReqVO.setPressingType(2);//紧急 | 24 | orderReqVO.setPressingType(2);//紧急 |
| 25 | orderReqVO.setOrderName(inspectionPlanDO.getPlanName()); | 25 | orderReqVO.setOrderName(inspectionPlanDO.getPlanName()); |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/controller/admin/maininfo/vo/MainInfoPageReqVO.java
| @@ -53,6 +53,10 @@ public class MainInfoPageReqVO extends PageParam { | @@ -53,6 +53,10 @@ public class MainInfoPageReqVO extends PageParam { | ||
| 53 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | 53 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
| 54 | private LocalDateTime[] commitDate; | 54 | private LocalDateTime[] commitDate; |
| 55 | 55 | ||
| 56 | + @Schema(description = "希望完成时间") | ||
| 57 | + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | ||
| 58 | + private LocalDateTime[] expectedFinishDate; | ||
| 59 | + | ||
| 56 | @Schema(description = "完成时间") | 60 | @Schema(description = "完成时间") |
| 57 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) | 61 | @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) |
| 58 | private LocalDateTime[] finishDate; | 62 | private LocalDateTime[] finishDate; |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoDO.java
| @@ -91,6 +91,11 @@ public class MainInfoDO extends BaseDO { | @@ -91,6 +91,11 @@ public class MainInfoDO extends BaseDO { | ||
| 91 | private LocalDateTime commitDate; | 91 | private LocalDateTime commitDate; |
| 92 | 92 | ||
| 93 | /** | 93 | /** |
| 94 | + * 希望完成时间 | ||
| 95 | + */ | ||
| 96 | + private LocalDateTime expectedFinishDate; | ||
| 97 | + | ||
| 98 | + /** | ||
| 94 | * 完成时间 | 99 | * 完成时间 |
| 95 | */ | 100 | */ |
| 96 | private LocalDateTime finishDate; | 101 | private LocalDateTime finishDate; |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/dataobject/maininfo/MainInfoExtDO.java
| @@ -83,7 +83,10 @@ public class MainInfoExtDO extends BaseDO { | @@ -83,7 +83,10 @@ public class MainInfoExtDO extends BaseDO { | ||
| 83 | * 提交日期 | 83 | * 提交日期 |
| 84 | */ | 84 | */ |
| 85 | private LocalDateTime commitDate; | 85 | private LocalDateTime commitDate; |
| 86 | - | 86 | + /** |
| 87 | + * 希望完成时间 | ||
| 88 | + */ | ||
| 89 | + private LocalDateTime expectedFinishDate; | ||
| 87 | /** | 90 | /** |
| 88 | * 完成时间 | 91 | * 完成时间 |
| 89 | */ | 92 | */ |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoExtMapper.java
| @@ -114,6 +114,7 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | @@ -114,6 +114,7 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | ||
| 114 | @Result(column = "curing_level_id", property = "curingLevelId"), | 114 | @Result(column = "curing_level_id", property = "curingLevelId"), |
| 115 | @Result(column = "curing_level_name", property = "curingLevelName"), | 115 | @Result(column = "curing_level_name", property = "curingLevelName"), |
| 116 | @Result(column = "commit_date", property = "commitDate"), | 116 | @Result(column = "commit_date", property = "commitDate"), |
| 117 | + @Result(column = "expected_finish_date", property = "expectedFinishDate"), | ||
| 117 | @Result(column = "finish_date", property = "finishDate"), | 118 | @Result(column = "finish_date", property = "finishDate"), |
| 118 | @Result(column = "pressing_type", property = "pressingType"), | 119 | @Result(column = "pressing_type", property = "pressingType"), |
| 119 | @Result(column = "user_id", property = "userId"), | 120 | @Result(column = "user_id", property = "userId"), |
| @@ -227,6 +228,7 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | @@ -227,6 +228,7 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | ||
| 227 | @Result(column = "curing_level_id", property = "curingLevelId"), | 228 | @Result(column = "curing_level_id", property = "curingLevelId"), |
| 228 | @Result(column = "curing_level_name", property = "curingLevelName"), | 229 | @Result(column = "curing_level_name", property = "curingLevelName"), |
| 229 | @Result(column = "commit_date", property = "commitDate"), | 230 | @Result(column = "commit_date", property = "commitDate"), |
| 231 | + @Result(column = "expected_finish_date", property = "expectedFinishDate"), | ||
| 230 | @Result(column = "finish_date", property = "finishDate"), | 232 | @Result(column = "finish_date", property = "finishDate"), |
| 231 | @Result(column = "pressing_type", property = "pressingType"), | 233 | @Result(column = "pressing_type", property = "pressingType"), |
| 232 | @Result(column = "user_id", property = "userId"), | 234 | @Result(column = "user_id", property = "userId"), |
| @@ -334,6 +336,7 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | @@ -334,6 +336,7 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | ||
| 334 | @Result(column = "curing_level_id", property = "curingLevelId"), | 336 | @Result(column = "curing_level_id", property = "curingLevelId"), |
| 335 | @Result(column = "curing_level_name", property = "curingLevelName"), | 337 | @Result(column = "curing_level_name", property = "curingLevelName"), |
| 336 | @Result(column = "commit_date", property = "commitDate"), | 338 | @Result(column = "commit_date", property = "commitDate"), |
| 339 | + @Result(column = "expected_finish_date", property = "expectedFinishDate"), | ||
| 337 | @Result(column = "finish_date", property = "finishDate"), | 340 | @Result(column = "finish_date", property = "finishDate"), |
| 338 | @Result(column = "pressing_type", property = "pressingType"), | 341 | @Result(column = "pressing_type", property = "pressingType"), |
| 339 | @Result(column = "user_id", property = "userId"), | 342 | @Result(column = "user_id", property = "userId"), |
| @@ -452,6 +455,7 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | @@ -452,6 +455,7 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | ||
| 452 | @Result(column = "curing_level_id", property = "curingLevelId"), | 455 | @Result(column = "curing_level_id", property = "curingLevelId"), |
| 453 | @Result(column = "curing_level_name", property = "curingLevelName"), | 456 | @Result(column = "curing_level_name", property = "curingLevelName"), |
| 454 | @Result(column = "commit_date", property = "commitDate"), | 457 | @Result(column = "commit_date", property = "commitDate"), |
| 458 | + @Result(column = "expected_finish_date", property = "expectedFinishDate"), | ||
| 455 | @Result(column = "finish_date", property = "finishDate"), | 459 | @Result(column = "finish_date", property = "finishDate"), |
| 456 | @Result(column = "pressing_type", property = "pressingType"), | 460 | @Result(column = "pressing_type", property = "pressingType"), |
| 457 | @Result(column = "user_id", property = "userId"), | 461 | @Result(column = "user_id", property = "userId"), |
| @@ -560,6 +564,7 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | @@ -560,6 +564,7 @@ public interface MainInfoExtMapper extends BaseMapperX<MainInfoDO> { | ||
| 560 | @Result(column = "curing_level_id", property = "curingLevelId"), | 564 | @Result(column = "curing_level_id", property = "curingLevelId"), |
| 561 | @Result(column = "curing_level_name", property = "curingLevelName"), | 565 | @Result(column = "curing_level_name", property = "curingLevelName"), |
| 562 | @Result(column = "commit_date", property = "commitDate"), | 566 | @Result(column = "commit_date", property = "commitDate"), |
| 567 | + @Result(column = "expected_finish_date", property = "expectedFinishDate"), | ||
| 563 | @Result(column = "finish_date", property = "finishDate"), | 568 | @Result(column = "finish_date", property = "finishDate"), |
| 564 | @Result(column = "pressing_type", property = "pressingType"), | 569 | @Result(column = "pressing_type", property = "pressingType"), |
| 565 | @Result(column = "user_id", property = "userId"), | 570 | @Result(column = "user_id", property = "userId"), |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/dal/mysql/maininfo/MainInfoMapper.java
| @@ -56,6 +56,8 @@ public interface MainInfoMapper extends BaseMapperX<MainInfoDO> { | @@ -56,6 +56,8 @@ public interface MainInfoMapper extends BaseMapperX<MainInfoDO> { | ||
| 56 | .likeIfPresent(MainInfoDO::getStreetName, reqVO.getStreetName()) | 56 | .likeIfPresent(MainInfoDO::getStreetName, reqVO.getStreetName()) |
| 57 | .eqIfPresent(MainInfoDO::getCuringLevelId, reqVO.getCuringLevelId()) | 57 | .eqIfPresent(MainInfoDO::getCuringLevelId, reqVO.getCuringLevelId()) |
| 58 | .likeIfPresent(MainInfoDO::getCuringLevelName, reqVO.getCuringLevelName()) | 58 | .likeIfPresent(MainInfoDO::getCuringLevelName, reqVO.getCuringLevelName()) |
| 59 | + | ||
| 60 | + .betweenIfPresent(MainInfoDO::getExpectedFinishDate, reqVO.getExpectedFinishDate()) | ||
| 59 | .betweenIfPresent(MainInfoDO::getCommitDate, reqVO.getCommitDate()) | 61 | .betweenIfPresent(MainInfoDO::getCommitDate, reqVO.getCommitDate()) |
| 60 | .betweenIfPresent(MainInfoDO::getFinishDate, reqVO.getFinishDate()) | 62 | .betweenIfPresent(MainInfoDO::getFinishDate, reqVO.getFinishDate()) |
| 61 | .eqIfPresent(MainInfoDO::getPressingType, reqVO.getPressingType()) | 63 | .eqIfPresent(MainInfoDO::getPressingType, reqVO.getPressingType()) |
| @@ -99,6 +101,7 @@ public interface MainInfoMapper extends BaseMapperX<MainInfoDO> { | @@ -99,6 +101,7 @@ public interface MainInfoMapper extends BaseMapperX<MainInfoDO> { | ||
| 99 | .likeIfPresent(MainInfoDO::getStreetName, reqVO.getStreetName()) | 101 | .likeIfPresent(MainInfoDO::getStreetName, reqVO.getStreetName()) |
| 100 | .eqIfPresent(MainInfoDO::getCuringLevelId, reqVO.getCuringLevelId()) | 102 | .eqIfPresent(MainInfoDO::getCuringLevelId, reqVO.getCuringLevelId()) |
| 101 | .likeIfPresent(MainInfoDO::getCuringLevelName, reqVO.getCuringLevelName()) | 103 | .likeIfPresent(MainInfoDO::getCuringLevelName, reqVO.getCuringLevelName()) |
| 104 | + .betweenIfPresent(MainInfoDO::getExpectedFinishDate, reqVO.getExpectedFinishDate()) | ||
| 102 | .betweenIfPresent(MainInfoDO::getCommitDate, reqVO.getCommitDate()) | 105 | .betweenIfPresent(MainInfoDO::getCommitDate, reqVO.getCommitDate()) |
| 103 | .betweenIfPresent(MainInfoDO::getFinishDate, reqVO.getFinishDate()) | 106 | .betweenIfPresent(MainInfoDO::getFinishDate, reqVO.getFinishDate()) |
| 104 | .eqIfPresent(MainInfoDO::getPressingType, reqVO.getPressingType()) | 107 | .eqIfPresent(MainInfoDO::getPressingType, reqVO.getPressingType()) |
urbanops-module-workorder/src/main/java/com/zteits/urbanops/module/workorder/service/garden/BpmGardenServiceImpl.java
| @@ -129,7 +129,8 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | @@ -129,7 +129,8 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | ||
| 129 | @Transactional(rollbackFor = Exception.class) | 129 | @Transactional(rollbackFor = Exception.class) |
| 130 | public Long createWorkOrderQuick(AppGardenWorkOrderReqVO createRequestVo) { | 130 | public Long createWorkOrderQuick(AppGardenWorkOrderReqVO createRequestVo) { |
| 131 | 131 | ||
| 132 | - List<String> imgList = createRequestVo.getImgs(); | 132 | + List<String> problemsImgsList = createRequestVo.getProblemsImgs();//问题照片 |
| 133 | + List<String> endImgsList = createRequestVo.getEndImgs();//实施完成照片 | ||
| 133 | 134 | ||
| 134 | MainInfoDO workOrder = BeanUtils.toBean(createRequestVo, MainInfoDO.class) | 135 | MainInfoDO workOrder = BeanUtils.toBean(createRequestVo, MainInfoDO.class) |
| 135 | .setStatus(BpmTaskStatusEnum.RUNNING.getStatus()); | 136 | .setStatus(BpmTaskStatusEnum.RUNNING.getStatus()); |
| @@ -164,14 +165,20 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | @@ -164,14 +165,20 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | ||
| 164 | workOrder.setUserName(SecurityFrameworkUtils.getLoginUserNickname()); | 165 | workOrder.setUserName(SecurityFrameworkUtils.getLoginUserNickname()); |
| 165 | LocalDateTime now = LocalDateTime.now(); | 166 | LocalDateTime now = LocalDateTime.now(); |
| 166 | workOrder.setCommitDate(now); | 167 | workOrder.setCommitDate(now); |
| 167 | - workOrder.setFinishDate(now); | 168 | + if(ObjectUtils.isNotAllEmpty(createRequestVo.getExpectedFinishDate())){ |
| 169 | + workOrder.setExpectedFinishDate(createRequestVo.getExpectedFinishDate()); | ||
| 170 | + } | ||
| 168 | String workOrderNum = workOrderApi.generateWONum(BpmCommonConstant.WORK_ORDER_PREFFIX_QUICK); | 171 | String workOrderNum = workOrderApi.generateWONum(BpmCommonConstant.WORK_ORDER_PREFFIX_QUICK); |
| 169 | workOrder.setOrderNo(workOrderNum); | 172 | workOrder.setOrderNo(workOrderNum); |
| 170 | workOrderMapper.insert(workOrder); | 173 | workOrderMapper.insert(workOrder); |
| 171 | 174 | ||
| 172 | - if(ObjectUtils.isNotAllEmpty(imgList) && imgList.size()>0){ | ||
| 173 | - attachmentInsertOrUpdate(imgList,BpmCommonConstant.PROBLEM_IMG_GROUP,workOrder); | 175 | + if(ObjectUtils.isNotAllEmpty(problemsImgsList) && problemsImgsList.size()>0){ |
| 176 | + attachmentInsertOrUpdate(problemsImgsList,BpmCommonConstant.PROBLEM_IMG_GROUP,workOrder); | ||
| 177 | + } | ||
| 178 | + if(ObjectUtils.isNotAllEmpty(endImgsList) && endImgsList.size()>0){ | ||
| 179 | + attachmentInsertOrUpdate(endImgsList,BpmCommonConstant.END_IMG_GROUP,workOrder); | ||
| 174 | } | 180 | } |
| 181 | + | ||
| 175 | // 发起 BPM 流程 | 182 | // 发起 BPM 流程 |
| 176 | Map<String, Object> processInstanceVariables = new HashMap<>(); | 183 | Map<String, Object> processInstanceVariables = new HashMap<>(); |
| 177 | processInstanceVariables.put(COMMON_QUICK_PROCESS_INITIATOR, SecurityFrameworkUtils.getLoginUserId()); | 184 | processInstanceVariables.put(COMMON_QUICK_PROCESS_INITIATOR, SecurityFrameworkUtils.getLoginUserId()); |
| @@ -544,7 +551,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | @@ -544,7 +551,7 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | ||
| 544 | @Override | 551 | @Override |
| 545 | @Transactional(rollbackFor = Exception.class) | 552 | @Transactional(rollbackFor = Exception.class) |
| 546 | public Long createWorkOrder(AppGardenWorkOrderReqVO createRequestVo) { | 553 | public Long createWorkOrder(AppGardenWorkOrderReqVO createRequestVo) { |
| 547 | - List<String> imgList = createRequestVo.getImgs(); | 554 | + List<String> problemsImgsList = createRequestVo.getProblemsImgs(); |
| 548 | 555 | ||
| 549 | MainInfoDO workOrder = BeanUtils.toBean(createRequestVo, MainInfoDO.class) | 556 | MainInfoDO workOrder = BeanUtils.toBean(createRequestVo, MainInfoDO.class) |
| 550 | .setStatus(BpmTaskStatusEnum.RUNNING.getStatus()); | 557 | .setStatus(BpmTaskStatusEnum.RUNNING.getStatus()); |
| @@ -585,12 +592,14 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | @@ -585,12 +592,14 @@ public class BpmGardenServiceImpl implements BpmGardenService{ | ||
| 585 | } | 592 | } |
| 586 | workOrder.setUserId(SecurityFrameworkUtils.getLoginUserId()); | 593 | workOrder.setUserId(SecurityFrameworkUtils.getLoginUserId()); |
| 587 | workOrder.setUserName(SecurityFrameworkUtils.getLoginUserNickname()); | 594 | workOrder.setUserName(SecurityFrameworkUtils.getLoginUserNickname()); |
| 588 | - //workOrder.setFinishDate(LocalDateTime.now()); | 595 | + if(ObjectUtils.isNotAllEmpty(createRequestVo.getExpectedFinishDate())){ |
| 596 | + workOrder.setExpectedFinishDate(createRequestVo.getExpectedFinishDate()); | ||
| 597 | + } | ||
| 589 | String workOrderNum = workOrderApi.generateWONum(BpmCommonConstant.WORK_ORDER_PREFFIX_GARDEN); | 598 | String workOrderNum = workOrderApi.generateWONum(BpmCommonConstant.WORK_ORDER_PREFFIX_GARDEN); |
| 590 | workOrder.setOrderNo(workOrderNum); | 599 | workOrder.setOrderNo(workOrderNum); |
| 591 | workOrderMapper.insert(workOrder); | 600 | workOrderMapper.insert(workOrder); |
| 592 | - if(ObjectUtils.isNotAllEmpty(imgList) && imgList.size()>0){ | ||
| 593 | - attachmentInsertOrUpdate(imgList,BpmCommonConstant.PROBLEM_IMG_GROUP,workOrder); | 601 | + if(ObjectUtils.isNotAllEmpty(problemsImgsList) && problemsImgsList.size()>0){ |
| 602 | + attachmentInsertOrUpdate(problemsImgsList,BpmCommonConstant.PROBLEM_IMG_GROUP,workOrder); | ||
| 594 | } | 603 | } |
| 595 | // 发起 BPM 流程 | 604 | // 发起 BPM 流程 |
| 596 | Long userId = SecurityFrameworkUtils.getLoginUserId(); | 605 | Long userId = SecurityFrameworkUtils.getLoginUserId(); |