Просмотр исходного кода

【修改】调整入职信息

lichen 8 месяцев назад
Родитель
Сommit
8a94e83cd7

+ 1 - 1
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/entry/OaEntryController.java

@@ -50,7 +50,7 @@ public class OaEntryController {
 
     @PostMapping("/complete")
     @Operation(summary = "审批入职流程信息")
-    @PreAuthorize("@ss.hasPermission('bpm:oa-entry:start')")
+    @PreAuthorize("@ss.hasPermission('bpm:oa-entry:complete')")
     public CommonResult<Integer> completeOaEntry(@Valid @RequestBody OaEntrySaveReqVO createReqVO,@Valid @RequestBody BpmTaskApproveReqVO reqVO) {
         return success(oaEntryService.completeOaEntry(getLoginUserId(),createReqVO,reqVO));
     }

+ 2 - 2
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/entry/vo/OaEntrySaveReqVO.java

@@ -72,8 +72,8 @@ public class OaEntrySaveReqVO {
     @Schema(description = "审批,true 通过,false 驳回", example = "true")
     private Boolean auditPass;
 
-    @Schema(description = "发起人自选审批人 Map", example = "{taskKey1: [1, 2]}")
-    private Map<String, List<Long>> startUserSelectAssignees;
+    @Schema(description = "发起人自选审批人 Map", example = " [1, 2]")
+    private List<Long> startUserSelectAssignees;
 
     @Schema(description = "附件主键id", example = "[1, 2]")
     private List<Long> fileIdList;

+ 23 - 4
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/entry/OaEntryServiceImpl.java

@@ -1,11 +1,13 @@
 package cn.iocoder.yudao.module.bpm.service.oa.entry;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.IdUtil;
 import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
 import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.entry.vo.OaEntryPageReqVO;
 import cn.iocoder.yudao.module.bpm.controller.admin.oa.entry.vo.OaEntrySaveReqVO;
 import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskApproveReqVO;
+import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskReturnReqVO;
 import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.entry.OaEntryDO;
 import cn.iocoder.yudao.module.bpm.dal.mysql.oa.entry.OaEntryMapper;
 import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService;
@@ -74,10 +76,13 @@ public class OaEntryServiceImpl implements OaEntryService {
             // 发起 BPM 流程
             Map<String, Object> processInstanceVariables = new HashMap<>();
             processInstanceVariables.put("auditPass",auditPass);
+            //添加审批人信息
+            Map<String, List<Long>> startUserSelectAssignees = new HashMap<>();
+            startUserSelectAssignees.put("approver",createReqVO.getStartUserSelectAssignees());
             String processInstanceId = processInstanceApi.createProcessInstance(userId,
                     new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY)
                             .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(oaEntry.getId()))
-                            .setStartUserSelectAssignees(createReqVO.getStartUserSelectAssignees()));
+                            .setStartUserSelectAssignees(startUserSelectAssignees));
 
             //获取下一个审批人
             Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).singleResult();
@@ -91,8 +96,10 @@ public class OaEntryServiceImpl implements OaEntryService {
         }
 
         //保存附件uuid
-        LambdaUpdateWrapper<FileDTO> wrapper = new LambdaUpdateWrapper<>();
-        wrapper.in(FileDTO::getId, createReqVO.getFileIdList()).set(FileDTO::getServiceId, uuid);
+        if (CollectionUtil.isNotEmpty(createReqVO.getFileIdList())) {
+            LambdaUpdateWrapper<FileDTO> wrapper = new LambdaUpdateWrapper<>();
+            wrapper.in(FileDTO::getId, createReqVO.getFileIdList()).set(FileDTO::getServiceId, uuid);
+        }
         // todo 站内信发送
         // loanInfoService.sendMassage(actBaseInfo);
         // 返回
@@ -113,10 +120,13 @@ public class OaEntryServiceImpl implements OaEntryService {
                 // 发起 BPM 流程
                 Map<String, Object> processInstanceVariables = new HashMap<>();
                 processInstanceVariables.put("auditPass", auditPass);
+                //添加审批人信息
+                Map<String, List<Long>> startUserSelectAssignees = new HashMap<>();
+                startUserSelectAssignees.put("approver",createReqVO.getStartUserSelectAssignees());
                 String processInstanceId = processInstanceApi.createProcessInstance(userId,
                         new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY)
                                 .setVariables(processInstanceVariables).setBusinessKey(String.valueOf(oaEntry.getId()))
-                                .setStartUserSelectAssignees(createReqVO.getStartUserSelectAssignees()));
+                                .setStartUserSelectAssignees(startUserSelectAssignees));
 
                 // 将工作流的编号,单据状态 更新到 OA 入职中
                 oaEntryMapper.updateById(new OaEntryDO().setId(oaEntry.getId()).setProcInstId(processInstanceId).setAuditStatus("1"));
@@ -145,6 +155,15 @@ public class OaEntryServiceImpl implements OaEntryService {
                     //  将单据状态 更新到 OA 入职中
                     oaEntryMapper.updateById(new OaEntryDO().setId(oaEntry.getId()).setAuditStatus("3").setCurrentAuditEmployeeId(" ").setFinalAuditDate(new Date()));
                 }
+            }else {
+//                //审批不通过
+//                BpmTaskReturnReqVO bpmTaskReturnReqVO =new BpmTaskReturnReqVO();
+//                        bpmTaskReturnReqVO.setId(reqVO.getId());
+//                        bpmTaskReturnReqVO.setReason(reqVO.getReason());
+//                        bpmTaskReturnReqVO.setTargetTaskDefinitionKey("");
+//                bpmTaskService.returnTask(userId,reqVO);
+//                //  将单据状态 当前审批人 最后一次审批时间 更新到 OA 入职中
+//                oaEntryMapper.updateById(new OaEntryDO().setId(oaEntry.getId()).setAuditStatus("4").setCurrentAuditEmployeeId(" ").setFinalAuditDate(new Date()));
             }
         }
 

+ 4 - 0
yudao-server/src/main/resources/application-local.yaml

@@ -210,6 +210,10 @@ yudao:
     enable: false # 本地环境,暂时关闭图片验证码,方便登录等接口的测试;
   security:
     mock-enable: true
+    permit-all_urls:
+      - /admin-api/mp/open/** # 微信公众号开放平台,微信回调接口,不需要登录
+      - /bpm/oa-entry/**
+      - /admin-api/infra/**
   xss:
     enable: false
     exclude-urls: # 如下两个 url,仅仅是为了演示,去掉配置也没关系