From e0768291d4164dfb4f0b5a20cbb21ef42972eec2 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Mon, 13 Jan 2025 10:17:55 +0800 Subject: [PATCH] =?UTF-8?q?oaform=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/yxt/anrui/oa/api/OaFormRest.java | 29 +++--- .../com/yxt/anrui/oa/api/OaMendApplyRest.java | 27 ++++- .../anrui/oa/biz/oaform/OaFormService.java | 94 ++++++++---------- .../oaform/flowable/BusinessVariablesDto.java | 66 +++++++++++++ .../oa/biz/oaform/flowable/CompleteDto.java | 4 +- .../{DelegateQuery.java => DelegateDto.java} | 2 +- .../oa/biz/oaform/flowable/SubmitDto.java | 6 +- .../flowable/{TaskQuery.java => TaskDto.java} | 2 +- .../biz/oamendapply/OaMendApplyService.java | 99 ++++++++++++------- 9 files changed, 219 insertions(+), 110 deletions(-) create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/BusinessVariablesDto.java rename yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/{DelegateQuery.java => DelegateDto.java} (94%) rename yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/{TaskQuery.java => TaskDto.java} (97%) diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java index 1edd211c64..b3e4160969 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaFormRest.java @@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.oa.biz.oaform.*; import com.yxt.anrui.oa.biz.oaform.flowable.*; import com.yxt.anrui.oa.feign.flowable.flow.BusinessVariables; -import com.yxt.anrui.oa.feign.flowable.flow2.FlowDelegateQuery; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -58,10 +57,10 @@ public class OaFormRest { @ApiOperation(value = "办理(同意)") @PostMapping("/complete") - public ResultBean complete(@Valid @RequestBody CompleteDto query) { - BusinessVariables bv = new BusinessVariables(); - BeanUtil.copyProperties(query, bv); - return oaFormService.complete(bv); + public ResultBean complete(@Valid @RequestBody CompleteDto dto) { + BusinessVariablesDto businessVariables = new BusinessVariablesDto(); + BeanUtil.copyProperties(dto, businessVariables); + return oaFormService.complete(businessVariables); } @ApiOperation(value = "获取上一个环节") @@ -78,33 +77,33 @@ public class OaFormRest { @ApiOperation(value = "驳回任务") @PostMapping(value = "/reject") - public ResultBean reject(@Valid @RequestBody TaskQuery query) { - return oaFormService.reject(query); + public ResultBean reject(@Valid @RequestBody TaskDto dto) { + return oaFormService.reject(dto); } @ApiOperation(value = "撤回流程") @PostMapping(value = "/revokeProcess") - public ResultBean revokeProcess(@Valid @RequestBody TaskQuery query) { - return oaFormService.revokeProcess(query); + public ResultBean revokeProcess(@Valid @RequestBody TaskDto dto) { + return oaFormService.revokeProcess(dto); } @ApiOperation(value = "终止任务") @PostMapping(value = "/breakProcess") - public ResultBean breakProcess(@Valid @RequestBody TaskQuery query) { - return oaFormService.breakProcess(query); + public ResultBean breakProcess(@Valid @RequestBody TaskDto dto) { + return oaFormService.breakProcess(dto); } @ApiOperation(value = "加签") @PostMapping(value = "/delegate") - public ResultBean delegate(@RequestBody DelegateQuery query) { - return oaFormService.delegate(query); + public ResultBean delegate(@RequestBody DelegateDto dto) { + return oaFormService.delegate(dto); } @ApiOperation(value = "转办") @PutMapping(value = "/assignTask") @ResponseBody - public ResultBean assignTask(@RequestBody DelegateQuery query) { - return oaFormService.assignTask(query); + public ResultBean assignTask(@RequestBody DelegateDto dto) { + return oaFormService.assignTask(dto); } } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java index 579a450cdd..519abf6c4c 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/OaMendApplyRest.java @@ -25,13 +25,11 @@ *********************************************************/ package com.yxt.anrui.oa.api; -import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto; import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery; import com.yxt.anrui.oa.biz.oaform.flowable.NodeVo; -import com.yxt.anrui.oa.biz.oaform.flowable.TaskQuery; +import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto; import com.yxt.anrui.oa.biz.oamendapply.*; -import com.yxt.anrui.oa.feign.flowable.flow.BusinessVariables; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -101,4 +99,27 @@ public class OaMendApplyRest { return oaMendApplyService.submit(dto); } + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody CompleteDto dto) { + return oaMendApplyService.complete(dto); + } + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean reject(@Valid @RequestBody TaskDto dto) { + return oaMendApplyService.reject(dto); + } + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + public ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap NodeQuery query) { + return oaMendApplyService.getPreviousNodesForReject(query); + } + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + public ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap NodeQuery query) { + return oaMendApplyService.getNextNodesForSubmit(query); + } } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java index 8d9074290d..893a211c04 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/OaFormService.java @@ -1,19 +1,15 @@ package com.yxt.anrui.oa.biz.oaform; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.oa.biz.oaform.flowable.*; -import com.yxt.anrui.oa.biz.oamendapply.OaMendApply; -import com.yxt.anrui.oa.biz.oamendapply.SubmitOaMendApplyDto; import com.yxt.anrui.oa.feign.base.BillNo; import com.yxt.anrui.oa.feign.base.Rule; import com.yxt.anrui.oa.feign.flowable.flow.BusinessVariables; import com.yxt.anrui.oa.feign.flowable.flow.FlowableFeign; -import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum; import com.yxt.anrui.oa.feign.flowable.flow.UpdateFlowFieldVo; import com.yxt.anrui.oa.feign.flowable.flow2.FlowDelegateQuery; import com.yxt.anrui.oa.feign.flowable.flow2.FlowFeign; @@ -37,7 +33,6 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Service; import java.util.*; @@ -164,17 +159,12 @@ public class OaFormService extends MybatisBaseService { return baseMapper.updateFlowFiled(map); } - public ResultBean complete(BusinessVariables bv) { + public ResultBean complete(BusinessVariablesDto dto) { ResultBean rb = ResultBean.fireFail(); - String formSid = bv.getFormVariables().get("formSid").toString(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(dto, bv); String businessSid = bv.getBusinessSid(); - OaForm oaForm = fetchBySid(formSid); - //添加网关 - Map variables = bv.getFormVariables(); - Map appMap = new HashMap<>(); - appMap.put("sid", businessSid); - variables.put("app", appMap); - bv.setFormVariables(variables); + OaForm oaForm = fetchBySid(businessSid); SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); bv.setOrgSidPath(deptVo.getOrgSidPath()); bv.setModelId(oaForm.getProcDefId()); @@ -185,8 +175,7 @@ public class OaFormService extends MybatisBaseService { } UpdateFlowFieldVo ufVo = resultBean.getData(); OaFormFlowDto oaFormFlowDto = new OaFormFlowDto(); - BeanUtil.copyProperties(ufVo, oaFormFlowDto, "sid"); - oaFormFlowDto.setSid(formSid); + BeanUtil.copyProperties(ufVo, oaFormFlowDto); updateFlow(oaFormFlowDto); if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { @@ -209,7 +198,7 @@ public class OaFormService extends MybatisBaseService { ufVo.setProcDefId(oaForms.getProcDefId()); ufVo.setProcInsId(oaForms.getProcInstId()); messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setAppMap((Map) bv.getFormVariables().get("app")); messageFlowableQuery.setBusinessSid(businessSid); messageFlowableQuery.setModuleName(oaForms.getFormType()); messageFlowableQuery.setMsgContent(oaForms.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); @@ -265,30 +254,25 @@ public class OaFormService extends MybatisBaseService { } - public ResultBean reject(TaskQuery query) { + public ResultBean reject(TaskDto dto) { ResultBean rb = ResultBean.fireFail(); - String businessSid = query.getBusinessSid(); + String businessSid = dto.getBusinessSid(); OaForm oaForm = fetchBySid(businessSid); if (oaForm == null) { return rb.setMsg("该申请不存在"); } String businessTaskId = oaForm.getTaskId(); if (StringUtils.isNotBlank(businessTaskId)) { - if (businessTaskId.equals(query.getTaskId())) { - if (StringUtils.isBlank(query.getComment())) { + if (businessTaskId.equals(dto.getTaskId())) { + if (StringUtils.isBlank(dto.getComment())) { return rb.setMsg("请填写意见"); } - if (StringUtils.isBlank(query.getUserSid())) { + if (StringUtils.isBlank(dto.getUserSid())) { return rb.setMsg("参数错误:userSid"); } FlowTaskVo flowTaskVo = new FlowTaskVo(); - BeanUtil.copyProperties(query, flowTaskVo); - Map variables = new HashMap<>(); - Map appMap = new HashMap<>(); - appMap.put("sid", businessSid); - variables.put("app", appMap); - //网关 - + BeanUtil.copyProperties(dto, flowTaskVo); + Map variables = dto.getFormVariables(); flowTaskVo.setValues(variables); ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); if (!resultBean.getSuccess()) { @@ -316,7 +300,7 @@ public class OaFormService extends MybatisBaseService { ufVo.setProcInsId(oaForms.getProcInstId()); ufVo.setProcDefId(oaForms.getProcDefId()); messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setAppMap((Map) dto.getFormVariables().get("app")); messageFlowableQuery.setBusinessSid(businessSid); messageFlowableQuery.setModuleName(oaForms.getFormType()); ResultBean> listResultBean = flowTaskFeign.getLatestTasks(oaForms.getProcInstId()); @@ -340,17 +324,17 @@ public class OaFormService extends MybatisBaseService { return rb.setMsg("操作失败!提交的数据不一致!"); } - public ResultBean revokeProcess(TaskQuery query) { + public ResultBean revokeProcess(TaskDto dto) { ResultBean rb = ResultBean.fireFail(); - if (StringUtils.isBlank(query.getUserSid())) { + if (StringUtils.isBlank(dto.getUserSid())) { return rb.setMsg("参数错误:userSid"); } - OaForm oaForm = fetchBySid(query.getBusinessSid()); + OaForm oaForm = fetchBySid(dto.getBusinessSid()); String businessTaskId = oaForm.getTaskId(); if (StringUtils.isNotBlank(businessTaskId)) { - if (businessTaskId.equals(query.getTaskId())) { + if (businessTaskId.equals(dto.getTaskId())) { FlowTaskVo flowTaskVo = new FlowTaskVo(); - BeanUtil.copyProperties(query, flowTaskVo); + BeanUtil.copyProperties(dto, flowTaskVo); ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); @@ -364,23 +348,23 @@ public class OaFormService extends MybatisBaseService { return rb.setMsg("操作失败,提交的数据不一致!"); } - public ResultBean breakProcess(TaskQuery query) { + public ResultBean breakProcess(TaskDto dto) { ResultBean rb = ResultBean.fireFail(); - if (StringUtils.isBlank(query.getInstanceId())) { + if (StringUtils.isBlank(dto.getInstanceId())) { return rb.setMsg("参数错误:instanceId"); } - if (StringUtils.isBlank(query.getUserSid())) { + if (StringUtils.isBlank(dto.getUserSid())) { return rb.setMsg("参数错误:userSid"); } - if (StringUtils.isBlank(query.getComment())) { + if (StringUtils.isBlank(dto.getComment())) { return rb.setMsg("请填写意见"); } - OaForm oaForm = fetchBySid(query.getBusinessSid()); + OaForm oaForm = fetchBySid(dto.getBusinessSid()); String businessTaskId = oaForm.getTaskId(); if (StringUtils.isNotBlank(businessTaskId)) { - if (query.getUserSid().equals(oaForm.getCreateBySid())) { + if (dto.getUserSid().equals(oaForm.getCreateBySid())) { FlowTaskVo flowTaskVo = new FlowTaskVo(); - BeanUtil.copyProperties(query, flowTaskVo); + BeanUtil.copyProperties(dto, flowTaskVo); ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); @@ -390,9 +374,9 @@ public class OaFormService extends MybatisBaseService { updateFlow(oaFormFlowDto); return rb.success().setData(resultBean.getData()); } else { - if (businessTaskId.equals(query.getTaskId())) { + if (businessTaskId.equals(dto.getTaskId())) { FlowTaskVo flowTaskVo = new FlowTaskVo(); - BeanUtil.copyProperties(query, flowTaskVo); + BeanUtil.copyProperties(dto, flowTaskVo); ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); @@ -407,18 +391,18 @@ public class OaFormService extends MybatisBaseService { return rb.setMsg("操作失败!提交的数据不一致!"); } - public ResultBean delegate(DelegateQuery query) { + public ResultBean delegate(DelegateDto dto) { ResultBean rb = ResultBean.fireFail(); FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); - BeanUtil.copyProperties(query, delegateQuery); + BeanUtil.copyProperties(dto, delegateQuery); flowFeign.delegate(delegateQuery); return rb.success(); } - public ResultBean assignTask(DelegateQuery query) { + public ResultBean assignTask(DelegateDto dto) { ResultBean rb = ResultBean.fireFail(); FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); - BeanUtil.copyProperties(query, delegateQuery); + BeanUtil.copyProperties(dto, delegateQuery); flowFeign.assignTask(delegateQuery); return rb.success(); } @@ -508,7 +492,9 @@ public class OaFormService extends MybatisBaseService { bv.setTaskDefKey(oaForm.getNodeId()); bv.setComment("重新提交"); bv.setInstanceId(oaForm.getProcInstId()); - return complete(bv); + BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto(); + BeanUtil.copyProperties(bv, businessVariablesDto); + return complete(businessVariablesDto); } return rb; @@ -516,11 +502,13 @@ public class OaFormService extends MybatisBaseService { private synchronized int submitBusinessData(SubmitDto dto) { int r = 0; - if (dto.isNew()) { + OaForm oaForm = fetchBySid(dto.getBusinessSid()); + if (StringUtils.isBlank(oaForm.getTaskId()) && StringUtils.isBlank(dto.getNextNodeSid())) { + //新提交 r = 1; - } else { + } else if (StringUtils.isNotBlank(oaForm.getTaskId()) && oaForm.getTaskId().equals(dto.getNextNodeSid())) { + //二次提交//只有数据一致的时候才能进行下一步 r = 2; - } return r; } @@ -551,8 +539,10 @@ public class OaFormService extends MybatisBaseService { bv.setNextNodeUserSids(organizationVo.getManagerSid()); } else if (rule == OaFormRuleEnum.INSTITUTION.getRule()) { + //获取本机构链(含集团、事业部、分公司部门)中角色的用户(角色sid,发起人orgsidPath) } else if (rule == OaFormRuleEnum.OTHER_INSTITUTION.getRule()) { + //获取其他机构链角色的用户(角色sid,机构sid]) } else { bv.setNextNodeUserSids(""); diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/BusinessVariablesDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/BusinessVariablesDto.java new file mode 100644 index 0000000000..46e2cff07c --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/BusinessVariablesDto.java @@ -0,0 +1,66 @@ +package com.yxt.anrui.oa.biz.oaform.flowable; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.HashMap; +import java.util.Map; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/1/13 + **/ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class BusinessVariablesDto { + + /** + * 分公司sid + */ + public static final String ORGPATH = "orgPath"; + /** + * 流程定义的id + */ + private String modelId; + /** + * 审批意见 + */ + private String comment; + /** + * 流程实例的id + */ + private String instanceId; + /** + * taskId + */ + private String taskId; + /** + * 当前用户的id + */ + private String userSid; + /** + * 当前用户部门的全路径 + */ + private String orgSidPath; + /** + * 业务sid + */ + private String businessSid; + /** + * 环节定义的ID + */ + private String taskDefKey; + /** + * nextNodeUserSids 下一环节的用户sid + */ + private String nextNodeUserSids; + /** + * 业务参数,按需传递 + */ + private Map formVariables = new HashMap<>(); +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/CompleteDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/CompleteDto.java index 3ed42f4ba2..6a97e80ef2 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/CompleteDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/CompleteDto.java @@ -25,9 +25,7 @@ public class CompleteDto implements Dto { @ApiModelProperty(value = "任务id") @NotBlank(message = "参数错误:taskId") private String taskId; - @ApiModelProperty(value = "流程id(PC)") - private String instanceId; - @ApiModelProperty(value = "流程id(移动)") + @ApiModelProperty(value = "流程实例id") private String procInsId; @ApiModelProperty(value = "意见") private String comment; diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateDto.java similarity index 94% rename from yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateQuery.java rename to yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateDto.java index d21917f4b7..eb2dcbdb03 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateQuery.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateDto.java @@ -9,7 +9,7 @@ import lombok.Data; * @date: 2025/1/9 **/ @Data -public class DelegateQuery { +public class DelegateDto { @ApiModelProperty private String userSid; diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/SubmitDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/SubmitDto.java index e33708258e..786dbcbb0d 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/SubmitDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/SubmitDto.java @@ -26,6 +26,8 @@ public class SubmitDto { private String nextNodeUserSids; @ApiModelProperty("下一处理人获取规则") private int rule; - @ApiModelProperty("是否是首次提交") - private boolean isNew; +// @ApiModelProperty("是否是首次提交") +// private boolean isNew; + @ApiModelProperty("任务id") + private String nextNodeSid; } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskDto.java similarity index 97% rename from yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskQuery.java rename to yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskDto.java index 04890e7e14..470bd51a08 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskQuery.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskDto.java @@ -13,7 +13,7 @@ import java.util.Map; * @date: 2025/1/9 **/ @Data -public class TaskQuery { +public class TaskDto { /** * 终止、驳回、撤回 diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java index fb46400b4e..15a20a8ce2 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oamendapply/OaMendApplyService.java @@ -28,23 +28,13 @@ package com.yxt.anrui.oa.biz.oamendapply; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.google.common.util.concurrent.ThreadFactoryBuilder; -import com.yxt.anrui.oa.biz.oaappendix.OaAppendix; import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService; -import com.yxt.anrui.oa.biz.oaform.OaForm; import com.yxt.anrui.oa.biz.oaform.OaFormDto; import com.yxt.anrui.oa.biz.oaform.OaFormService; -import com.yxt.anrui.oa.biz.oaform.flowable.OaFormFlowDto; -import com.yxt.anrui.oa.biz.oaform.flowable.SubmitDto; +import com.yxt.anrui.oa.biz.oaform.flowable.*; import com.yxt.anrui.oa.feign.file.OaFileEnum; -import com.yxt.anrui.oa.feign.flowable.flow.BusinessVariables; import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum; -import com.yxt.anrui.oa.feign.flowable.flow.UpdateFlowFieldVo; -import com.yxt.anrui.oa.feign.flowable.flow2.FlowFeign; -import com.yxt.anrui.oa.feign.message.MessageFeign; import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; -import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; -import com.yxt.common.base.config.component.FileUploadComponent; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -52,13 +42,11 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; -import java.util.concurrent.*; @Service public class OaMendApplyService extends MybatisBaseService { @@ -164,18 +152,15 @@ public class OaMendApplyService extends MybatisBaseService formVariables = dto.getFormVariables(); + //添加网关 +// formVariables.put("", ""); + Map appMap = new HashMap<>(); + appMap.put("sid", dto.getBusinessSid()); + formVariables.put("app", appMap); + dto.setFormVariables(formVariables); + BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto(); + BeanUtil.copyProperties(dto, businessVariablesDto); + return oaFormService.complete(businessVariablesDto); + } + + /** + * 驳回 + * + * @param dto + * @return + */ + public ResultBean reject(TaskDto dto) { + Map formVariables = dto.getFormVariables(); + //添加网关 +// formVariables.put("", ""); + //若有移动端,则需和移动端沟通具体参数,若没有删去即可。 + Map appMap = new HashMap<>(); + appMap.put("sid", dto.getBusinessSid()); + formVariables.put("app", appMap); + dto.setFormVariables(formVariables); + + return oaFormService.reject(dto); + } + + public ResultBean> getPreviousNodesForReject(NodeQuery query) { + Map formVariables = query.getFormVariables(); + //添加网关 +// formVariables.put("", ""); + //若有移动端,则需和移动端沟通具体参数,若没有删去即可。 + Map appMap = new HashMap<>(); + appMap.put("sid", query.getBusinessSid()); + formVariables.put("app", appMap); + query.setFormVariables(formVariables); + return oaFormService.getPreviousNodesForReject(query); + } + + public ResultBean> getNextNodesForSubmit(NodeQuery query) { + Map formVariables = query.getFormVariables(); + //添加网关 +// formVariables.put("", ""); + //若有移动端,则需和移动端沟通具体参数,若没有删去即可。 + Map appMap = new HashMap<>(); + appMap.put("sid", query.getBusinessSid()); + formVariables.put("app", appMap); + query.setFormVariables(formVariables); + return oaFormService.getNextNodesForSubmit(query); + } } \ No newline at end of file