From e0768291d4164dfb4f0b5a20cbb21ef42972eec2 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Mon, 13 Jan 2025 10:17:55 +0800 Subject: [PATCH 01/11] =?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 From af90c19332209f9303df3e771ce7bb1905273048 Mon Sep 17 00:00:00 2001 From: yunuo970428 <405378304@qq.com> Date: Mon, 13 Jan 2025 10:32:40 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BB=98=E6=AC=BE?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E8=AF=A6=E6=83=85=E9=A1=B5=E9=9D=A2=E4=BB=98?= =?UTF-8?q?=E6=AC=BE=E7=94=B3=E8=AF=B7=E5=A4=87=E6=B3=A8=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E9=94=99=E4=B9=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fukuanshenqing/paymentInfo.vue | 15 ++++++++++++++- .../fukuanguanli/fukuanDaiBanInfo.vue | 15 ++++++++++++++- .../fukuanguanli/fukuanYiBanInfo.vue | 15 ++++++++++++++- 3 files changed, 42 insertions(+), 3 deletions(-) diff --git a/anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentInfo.vue b/anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentInfo.vue index b11fc48f2c..df53e5987f 100644 --- a/anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentInfo.vue +++ b/anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentInfo.vue @@ -47,7 +47,7 @@
付款单位
{{ formobj.payCompany }} - +
付款申请备注
{{ formobj.remarks }}
@@ -352,4 +352,17 @@ export default { .addinputInfo { margin-left: 140px !important; } +.tlineheightb { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; +} +/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo { + line-height: 15px !important; + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; +} diff --git a/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanDaiBanInfo.vue b/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanDaiBanInfo.vue index 717965ba15..a89cd035c4 100644 --- a/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanDaiBanInfo.vue +++ b/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanDaiBanInfo.vue @@ -49,7 +49,7 @@
付款单位
{{ formobj.payCompany }}
- +
付款申请备注
{{ formobj.remarks }}
@@ -525,4 +525,17 @@ export default { .addinputInfo { margin-left: 140px !important; } +.tlineheightb { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; +} +/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo { + line-height: 15px !important; + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; +} diff --git a/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanYiBanInfo.vue b/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanYiBanInfo.vue index 2b7b8b3892..c57a1fdf5e 100644 --- a/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanYiBanInfo.vue +++ b/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanYiBanInfo.vue @@ -47,7 +47,7 @@
付款单位
{{ formobj.payCompany }}
- +
付款申请备注
{{ formobj.remarks }}
@@ -394,4 +394,17 @@ export default { .addinputInfo { margin-left: 140px !important; } +.tlineheightb { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; +} +/deep/ .tlineheightb .el-form-item .el-form-item__content .addinputInfo { + line-height: 15px !important; + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; +} From dc1bbec9e4098dc1e6295d06196fb73a02eef869 Mon Sep 17 00:00:00 2001 From: yunuo970428 <405378304@qq.com> Date: Mon, 13 Jan 2025 10:39:04 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=8D=95=E8=BD=A6?= =?UTF-8?q?=E8=BF=94=E5=88=A9=E6=A0=B8=E5=AF=B9=20--=20=E9=87=8D=E6=8E=A8?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/api/bikerebate/bicyclerebatecheck.js | 8 +++ .../bicyclerebatecheck/bicyclerebatecheck.vue | 52 +++++++++++++++++-- 2 files changed, 57 insertions(+), 3 deletions(-) diff --git a/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatecheck.js b/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatecheck.js index b128f5f305..85c0330a2b 100644 --- a/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatecheck.js +++ b/anrui-scm/anrui-scm-ui/src/api/bikerebate/bicyclerebatecheck.js @@ -66,6 +66,14 @@ export default { headers: { 'Content-Type': 'application/json' } }) }, + // 重推 + rePushVoucher: function(data) { + return request({ + url: '/scm/v1/scmvehrebatecheckapply/rePushVoucher', + method: 'post', + params: data + }) + }, // 删除 delete: function(params) { return request({ diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheck.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheck.vue index 4dd78578dc..a9108d88f0 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheck.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bicyclerebatecheck/bicyclerebatecheck.vue @@ -102,7 +102,7 @@ import req from '@/api/bikerebate/bicyclerebatecheck' import Pagination from '@/components/pagination' import pageye from '@/components/pagination/pageye' import ButtonBar from '@/components/ButtonBar' -import { brandDown, getOrgSidByPath } from '@/api/cheliang/dictcommons' +import { brandDown, getButtonPermissions, getOrgSidByPath } from '@/api/cheliang/dictcommons' import bicyclerebatecheckAdd from './bicyclerebatecheckAdd' import bicyclerebatecheckInfo from './bicyclerebatecheckInfo' import { getStorage } from '@/utils/auth' @@ -123,6 +123,13 @@ export default { centerDialogVisible: false, btndisabled: false, btnList: [ + { + type: 'primary', + size: 'small', + icon: '', + btnKey: 'toRepush', + btnLabel: '重推' + }, { type: 'danger', size: 'small', @@ -145,6 +152,7 @@ export default { tableKey: 0, list: [], sids: [], + multipleSelection: [], FormLoading: false, listLoading: false, brand_list: '', @@ -174,7 +182,18 @@ export default { mounted() { // 在外部vue的window上添加postMessage的监听,而且绑定处理函数handleMessage window.addEventListener('message', this.handleMessage) - this.$refs['btnbar'].setButtonList(this.btnList) + getButtonPermissions({ userSid: window.sessionStorage.getItem('userSid'), url: this.$route.path, type: 0 }).then((res) => { + if (res.success) { + for (var i = 0; i < res.data.length; i++) { + for (var k = 0; k < this.btnList.length; k++) { + if (res.data[i].buttonId === this.btnList[k].btnKey) { + this.btnList.splice(k, 1) + } + } + } + this.$refs['btnbar'].setButtonList(this.btnList) + } + }) }, methods: { async handleMessage(event) { @@ -231,6 +250,9 @@ export default { btnHandle(btnKey) { console.log('XXXXXXXXXXXXXXX ' + btnKey) switch (btnKey) { + case 'toRepush': + this.toRepush() + break case 'doDel': this.doDel() break @@ -249,11 +271,11 @@ export default { }, handleSelectionChange(row) { const aa = [] + this.multipleSelection = row row.forEach((element) => { aa.push(element.sid) }) this.sids = aa - console.log('sids', this.sids) }, // 查询列表信息 getList() { @@ -301,6 +323,30 @@ export default { } this.init() }, + toRepush() { + if (this.multipleSelection.length === 1 && this.multipleSelection[0].nodeState === '已办结') { + const loading = this.$loading({ + lock: true, + text: 'Loading', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }) + req.rePushVoucher({ sid: this.sids[0] }).then((resp) => { + if (resp.success) { + loading.close() + this.$message({ showClose: true, type: 'success', message: '重推成功' }) + this.getList() + } else { + loading.close() + } + }).catch(() => { + loading.close() + }) + } else { + this.$message({ showClose: true, type: 'error', message: '请选择一条记录且状态为已办结的进行重推操作' }) + return + } + }, handleClick() { this.$parent.resetState() this.$parent.handleReset() From 683bc0274d0113745443105cd1347d8da9595d47 Mon Sep 17 00:00:00 2001 From: yunuo970428 <405378304@qq.com> Date: Mon, 13 Jan 2025 10:39:49 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=B8=93=E4=BF=AE?= =?UTF-8?q?=E8=BF=94=E5=88=A9=E6=A0=B8=E5=AF=B9=E3=80=81=E9=A2=84=E6=8F=90?= =?UTF-8?q?=20--=20=E9=87=8D=E6=8E=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/specialrebate/specialrebatecheck.js | 8 +++ .../specialrebate/specialrebatewithholding.js | 8 +++ .../specialrebatecheck/specialrebatecheck.vue | 49 ++++++++++++++++-- .../specialrebatewithholding.vue | 50 +++++++++++++++++-- 4 files changed, 109 insertions(+), 6 deletions(-) diff --git a/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatecheck.js b/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatecheck.js index 3c07720e9b..cf7dad8f43 100644 --- a/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatecheck.js +++ b/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatecheck.js @@ -66,6 +66,14 @@ export default { headers: { 'Content-Type': 'application/json' } }) }, + // 重推 + rePushVoucher: function(data) { + return request({ + url: '/scm/v1/scmspecialrebatecheckapply/rePushVoucher', + method: 'post', + params: data + }) + }, // 删除 delete: function(params) { return request({ diff --git a/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatewithholding.js b/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatewithholding.js index 912cc866bb..872e8b8c33 100644 --- a/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatewithholding.js +++ b/anrui-scm/anrui-scm-ui/src/api/specialrebate/specialrebatewithholding.js @@ -19,6 +19,14 @@ export default { headers: { 'Content-Type': 'application/json' } }) }, + // 重推 + rePushVoucher: function(data) { + return request({ + url: '/scm/v1/scmspecialrebatewithapply/rePushVoucher', + method: 'post', + params: data + }) + }, // 删除 delete: function(params) { return request({ diff --git a/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/specialrebatecheck.vue b/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/specialrebatecheck.vue index 0029e443d0..a5896de497 100644 --- a/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/specialrebatecheck.vue +++ b/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatecheck/specialrebatecheck.vue @@ -102,7 +102,7 @@ import req from '@/api/specialrebate/specialrebatecheck' import Pagination from '@/components/pagination' import pageye from '@/components/pagination/pageye' import ButtonBar from '@/components/ButtonBar' -import { getOrgSidByPath } from '@/api/cheliang/dictcommons' +import { getButtonPermissions } from '@/api/cheliang/dictcommons' import specialrebatecheckAdd from './specialrebatecheckAdd' import specialrebatecheckInfo from './specialrebatecheckInfo' import { getStorage } from '@/utils/auth' @@ -123,6 +123,13 @@ export default { centerDialogVisible: false, btndisabled: false, btnList: [ + { + type: 'primary', + size: 'small', + icon: '', + btnKey: 'toRepush', + btnLabel: '重推' + }, { type: 'danger', size: 'small', @@ -145,6 +152,7 @@ export default { tableKey: 0, list: [], sids: [], + multipleSelection: [], FormLoading: false, listLoading: false, listQuery: { @@ -172,7 +180,18 @@ export default { mounted() { // 在外部vue的window上添加postMessage的监听,而且绑定处理函数handleMessage window.addEventListener('message', this.handleMessage) - this.$refs['btnbar'].setButtonList(this.btnList) + getButtonPermissions({ userSid: window.sessionStorage.getItem('userSid'), url: this.$route.path, type: 0 }).then((res) => { + if (res.success) { + for (var i = 0; i < res.data.length; i++) { + for (var k = 0; k < this.btnList.length; k++) { + if (res.data[i].buttonId === this.btnList[k].btnKey) { + this.btnList.splice(k, 1) + } + } + } + this.$refs['btnbar'].setButtonList(this.btnList) + } + }) }, methods: { async handleMessage(event) { @@ -233,11 +252,11 @@ export default { }, handleSelectionChange(row) { const aa = [] + this.multipleSelection = row row.forEach((element) => { aa.push(element.sid) }) this.sids = aa - console.log('sids', this.sids) }, // 查询列表信息 getList() { @@ -284,6 +303,30 @@ export default { } this.getList() }, + toRepush() { + if (this.multipleSelection.length === 1 && this.multipleSelection[0].nodeState === '已办结') { + const loading = this.$loading({ + lock: true, + text: 'Loading', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }) + req.rePushVoucher({ sid: this.sids[0] }).then((resp) => { + if (resp.success) { + loading.close() + this.$message({ showClose: true, type: 'success', message: '重推成功' }) + this.getList() + } else { + loading.close() + } + }).catch(() => { + loading.close() + }) + } else { + this.$message({ showClose: true, type: 'error', message: '请选择一条记录且状态为已办结的进行重推操作' }) + return + } + }, handleClick() { this.$parent.resetState() this.$parent.handleReset() diff --git a/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatewithholding/specialrebatewithholding.vue b/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatewithholding/specialrebatewithholding.vue index 65791cdc7a..b914a97af8 100644 --- a/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatewithholding/specialrebatewithholding.vue +++ b/anrui-scm/anrui-scm-ui/src/views/specialrebate/specialrebatewithholding/specialrebatewithholding.vue @@ -97,6 +97,7 @@ import ButtonBar from '@/components/ButtonBar' import specialrebatewithholdingAdd from './specialrebatewithholdingAdd' import specialrebatewithholdingInfo from './specialrebatewithholdingInfo' import { getStorage } from '@/utils/auth' +import { getButtonPermissions } from '@/api/cheliang/dictcommons' export default { name: 'ZhuanXiangFanLiYuTi', @@ -121,6 +122,13 @@ export default { btnKey: 'toAdd', btnLabel: '新增' }, + { + type: 'primary', + size: 'small', + icon: '', + btnKey: 'toRepush', + btnLabel: '重推' + }, { type: 'danger', size: 'small', @@ -143,6 +151,7 @@ export default { tableKey: 0, list: [], sids: [], + multipleSelection: [], FormLoading: false, listLoading: false, listQuery: { @@ -174,7 +183,18 @@ export default { mounted() { // 在外部vue的window上添加postMessage的监听,而且绑定处理函数handleMessage window.addEventListener('message', this.handleMessage) - this.$refs['btnbar'].setButtonList(this.btnList) + getButtonPermissions({ userSid: window.sessionStorage.getItem('userSid'), url: this.$route.path, type: 0 }).then((res) => { + if (res.success) { + for (var i = 0; i < res.data.length; i++) { + for (var k = 0; k < this.btnList.length; k++) { + if (res.data[i].buttonId === this.btnList[k].btnKey) { + this.btnList.splice(k, 1) + } + } + } + this.$refs['btnbar'].setButtonList(this.btnList) + } + }) }, methods: { async handleMessage(event) { @@ -238,11 +258,11 @@ export default { }, handleSelectionChange(row) { const aa = [] + this.multipleSelection = row row.forEach((element) => { aa.push(element.sid) }) this.sids = aa - console.log('sids', this.sids) }, // 查询列表信息 getList() { @@ -253,7 +273,7 @@ export default { req.listPage(this.listQuery).then((response) => { console.log('列表查询结果:', response) this.listLoading = false - if (response.success && response.data && response.data.total > 0) { + if (response.success) { this.list = response.data.records this.listQuery.total = response.data.total } else { @@ -293,6 +313,30 @@ export default { this.viewState = 2 this.$refs['divAdd'].showAdd() }, + toRepush() { + if (this.multipleSelection.length === 1 && this.multipleSelection[0].nodeState === '已办结') { + const loading = this.$loading({ + lock: true, + text: 'Loading', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }) + req.rePushVoucher({ sid: this.sids[0] }).then((resp) => { + if (resp.success) { + loading.close() + this.$message({ showClose: true, type: 'success', message: '重推成功' }) + this.getList() + } else { + loading.close() + } + }).catch(() => { + loading.close() + }) + } else { + this.$message({ showClose: true, type: 'error', message: '请选择一条记录且状态为已办结的进行重推操作' }) + return + } + }, toEdit(row) { this.viewState = 3 this.$refs['divAdd'].showEdit(row) From 4b90662a369c74fdefcd6f2a238ad57ddb0a5e65 Mon Sep 17 00:00:00 2001 From: yunuo970428 <405378304@qq.com> Date: Mon, 13 Jan 2025 10:59:51 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BB=98=E6=AC=BE?= =?UTF-8?q?=E7=94=B3=E8=AF=B7--=E4=BB=98=E6=AC=BE=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E8=A1=A8=E5=8E=82=E5=AE=B6=E5=9B=9E=E6=AC=BE=E9=80=9A=E8=B7=AF?= =?UTF-8?q?--=E6=94=B6=E6=AC=BE=E5=8D=95=E4=BD=8D=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E8=B5=8B=E5=80=BC=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/anruifinmanagement/fukuanshenqing/paymentAdd.vue | 2 +- .../views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanEdit.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentAdd.vue b/anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentAdd.vue index e4b22ef05d..d78cbb1a89 100644 --- a/anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentAdd.vue +++ b/anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/fukuanshenqing/paymentAdd.vue @@ -640,7 +640,7 @@ export default { const choose = this.actualPay_list.filter((item) => item.actualPay === value) if (choose.length > 0 && choose !== null) { row.actualPay = choose[0].actualPay - row.receiveCompany = choose[0].manufacturerName + row.receiveCompany = choose[0].accountName row.bank = choose[0].depositBank row.receivingAccount = choose[0].bankAccount } else { diff --git a/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanEdit.vue b/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanEdit.vue index be83be0aa8..ffce22ff96 100644 --- a/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanEdit.vue +++ b/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/fukuanguanliFlow/fukuanguanli/fukuanEdit.vue @@ -631,7 +631,7 @@ export default { const choose = this.actualPay_list.filter((item) => item.actualPay === value) if (choose.length > 0 && choose !== null) { row.actualPay = choose[0].actualPay - row.receiveCompany = choose[0].manufacturerName + row.receiveCompany = choose[0].accountName row.bank = choose[0].depositBank row.receivingAccount = choose[0].bankAccount } else { From 2200617fc9eb40a6524cc6d83c701fd87fd6cb97 Mon Sep 17 00:00:00 2001 From: ligaode Date: Mon, 13 Jan 2025 11:41:01 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinPaymentapplyService.java | 4 ++ .../FinPaymentapplyDetailsMapper.xml | 2 +- .../scm/api/scmvehrebate/ScmVehRebate.java | 58 +++++++++---------- .../api/scmvehrebate/ScmVehRebateExcelVo.java | 4 ++ .../scm/api/scmvehrebate/ScmVehRebateVo.java | 2 + 5 files changed, 39 insertions(+), 31 deletions(-) diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java index 8548cf0212..6b88a8ad52 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java @@ -622,6 +622,8 @@ public class FinPaymentapplyService extends MybatisBaseService Date: Mon, 13 Jan 2025 11:48:00 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=8D=95=E8=BD=A6?= =?UTF-8?q?=E8=BF=94=E5=88=A9=E7=AE=A1=E7=90=86--=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=85=B6=E4=B8=AD=E4=B8=8A=E8=A3=85=E9=87=91?= =?UTF-8?q?=E9=A2=9D=E3=80=81=E8=AE=A1=E7=AE=97=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue index 47d4d46349..95488a8059 100644 --- a/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue +++ b/anrui-scm/anrui-scm-ui/src/views/bikerebate/bikerebatemanagement/bicyclerebatemanagement.vue @@ -81,9 +81,11 @@ + + From ced59a716179f62efb70ae20028ef924cb007887 Mon Sep 17 00:00:00 2001 From: ligaode Date: Mon, 13 Jan 2025 11:48:03 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anrui/scm/biz/scmvehrebate/ScmVehRebateService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java index fc53286e8a..1b49abb5d4 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java @@ -170,6 +170,11 @@ public class ScmVehRebateService extends MybatisBaseService page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); + for (ScmVehRebateVo record : pagging.getRecords()) { + if ("001".equals(record.getCalculationModeKey())){ + record.setCalculationStandard(record.getCalculationStandard() + "%"); + } + } PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } @@ -2026,6 +2031,9 @@ public class ScmVehRebateService extends MybatisBaseService Date: Mon, 13 Jan 2025 14:36:22 +0800 Subject: [PATCH 09/11] =?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 --- .../sysorganization/SysOrganizationFeign.java | 4 +++ .../SysOrganizationFeignFallback.java | 5 ++++ .../api/sysstafforg/SysStaffOrgFeign.java | 5 +--- .../sysstafforg/SysStaffOrgFeignFallback.java | 8 ++---- .../sysorganization/SysOrganizationRest.java | 6 ++++ .../SysOrganizationService.java | 28 +++++++++++++++++-- .../biz/sysstafforg/SysStaffOrgRest.java | 5 +--- .../biz/sysstafforg/SysStaffOrgService.java | 23 ++------------- .../oa/biz/oaform/flowable/SubmitDto.java | 4 +-- .../anrui/oa/biz/oaform/flowable/TaskDto.java | 6 ++-- .../OrgVo.java | 2 +- .../sysorganization/SysOrganizationFeign.java | 6 ++++ .../portal/sysstafforg/SysStaffOrgFeign.java | 5 ---- .../anrui/oa/feign/sysuser/SysUserFeign.java | 12 ++++++++ .../yxt/anrui/oa/feign/sysuser/UserQuery.java | 21 ++++++++++++++ .../anrui/oa/feign/sysuser/UserRoleQuery.java | 19 +++++++++++++ 16 files changed, 110 insertions(+), 49 deletions(-) rename yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/{sysstafforg => sysorganization}/OrgVo.java (83%) create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserQuery.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserRoleQuery.java diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java index 2e97d551d7..805c8205e5 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java @@ -230,4 +230,8 @@ public interface SysOrganizationFeign { @ApiOperation("当前分公司销售专员") ResultBean> selectStaffListByUseOrgSid(@RequestParam("useOrgSid") String useOrgSid); + @GetMapping("/getOrgByPath") + @ResponseBody + @ApiOperation("根据组织全路径查询组织") + ResultBean getOrgByPath(@RequestParam("orgSidPath") String orgSidPath); } diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java index c05fdcbe34..13d3897069 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java @@ -236,4 +236,9 @@ public class SysOrganizationFeignFallback implements SysOrganizationFeign { public ResultBean> selectStaffListByUseOrgSid(String useOrgSid) { return null; } + + @Override + public ResultBean getOrgByPath(String orgSidPath) { + return null; + } } diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java index ebbce096c8..a3dc63584a 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java @@ -127,8 +127,5 @@ public interface SysStaffOrgFeign { @ApiOperation("根据组织全路径查询当前部门下的所有员工") ResultBean> selAllByOrgSidPath(@RequestParam("orgSidPath") String orgSidPath); - @GetMapping("/getOrgByPath") - @ResponseBody - @ApiOperation("根据组织全路径查询组织") - ResultBean getOrgByPath(@RequestParam("orgSidPath") String orgSidPath); + } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java index 2f5062ccca..094d29637b 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java @@ -1,5 +1,6 @@ package com.yxt.anrui.portal.api.sysstafforg; +import com.yxt.anrui.portal.api.sysorganization.OrgVo; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -51,7 +52,7 @@ public class SysStaffOrgFeignFallback implements SysStaffOrgFeign { public ResultBean save(SysStaffOrgDto dto){ return ResultBean.fireFail().setMsg("接口anrui_portal/sysstafforg/save无法访问"); } - + @Override public ResultBean update(SysStaffOrgDto dto,String sid){ return ResultBean.fireFail().setMsg("接口anrui_portal/sysstafforg/update无法访问"); @@ -115,11 +116,6 @@ public class SysStaffOrgFeignFallback implements SysStaffOrgFeign { return null; } - @Override - public ResultBean getOrgByPath(String orgSidPath) { - return null; - } - @Override public ResultBean selectAllByStaffSid(String staffSid) { return null; diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java index 36d243e1db..4f502ea096 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; import com.yxt.anrui.portal.api.sysorganization.*; import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfo; +import com.yxt.anrui.portal.api.sysorganization.OrgVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo; import com.yxt.anrui.portal.api.sysuser.SysUser; @@ -505,4 +506,9 @@ public class SysOrganizationRest implements SysOrganizationFeign { List voList = sysOrganizationService.selectStaffListByUseOrgSid(useOrgSid); return rb.success().setData(voList); } + + @Override + public ResultBean getOrgByPath(String orgSidPath) { + return sysOrganizationService.getOrgByPath(orgSidPath); + } } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java index 2265b61478..2e92bb5823 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java @@ -717,7 +717,7 @@ public class SysOrganizationService extends MybatisBaseService selectByOrgCodeAndPsid(String orgCode, String pSid) { - return baseMapper.selectByOrgCodeAndPsid(orgCode,pSid); + return baseMapper.selectByOrgCodeAndPsid(orgCode, pSid); } public List tranOne(String sid) { @@ -728,8 +728,8 @@ public class SysOrganizationService extends MybatisBaseService tranThree(String sid,String deptSid) { - return baseMapper.tranThree(sid,deptSid); + public List tranThree(String sid, String deptSid) { + return baseMapper.tranThree(sid, deptSid); } public List tranfour(String sid) { @@ -749,4 +749,26 @@ public class SysOrganizationService extends MybatisBaseService(); } + + public ResultBean getOrgByPath(String orgSidPath) { + ResultBean rb = ResultBean.fireFail(); + OrgVo orgVo = new OrgVo(); + String[] levels = orgSidPath.split("/"); // 将orgSidPath按'/'分割 + String orgSid = ""; + // 判断层级 + if (levels.length > 3) { + orgSid = levels[2]; // 第三层级的sid + } else { + orgSid = levels[levels.length - 2]; // 倒数第二层级的sid + } + SysOrganization sysOrganization = fetchBySid(orgSid); + orgVo.setUseOrgName(sysOrganization.getName()); + orgVo.setUseOrgSid(sysOrganization.getSid()); + orgVo.setOrgCode(sysOrganization.getOrgCode()); + String lastPart = levels[levels.length - 1]; + sysOrganization = fetchBySid(lastPart); + orgVo.setDeptName(sysOrganization.getName()); + orgVo.setDeptSid(sysOrganization.getSid()); + return rb.success().setData(orgVo); + } } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java index 7988cc6b0d..84d1057e0f 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java @@ -1,5 +1,6 @@ package com.yxt.anrui.portal.biz.sysstafforg; +import com.yxt.anrui.portal.api.sysorganization.OrgVo; import com.yxt.anrui.portal.api.sysstafforg.*; import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.query.PagerQuery; @@ -160,8 +161,4 @@ public class SysStaffOrgRest implements SysStaffOrgFeign { return sysStaffOrgService.getPathSidByUserSid(applySid); } - @Override - public ResultBean getOrgByPath(String orgSidPath) { - return sysStaffOrgService.getOrgByPath(orgSidPath); - } } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java index 24ddf33dfb..e39027de16 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java @@ -3,6 +3,7 @@ package com.yxt.anrui.portal.biz.sysstafforg; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.portal.api.sysorganization.OrgVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganization; import com.yxt.anrui.portal.api.sysstafforg.*; import com.yxt.anrui.portal.api.sysuser.SysUserInfoVo; @@ -341,25 +342,5 @@ public class SysStaffOrgService extends MybatisBaseService getOrgByPath(String orgSidPath) { - ResultBean rb = ResultBean.fireFail(); - OrgVo orgVo = new OrgVo(); - String[] levels = orgSidPath.split("/"); // 将orgSidPath按'/'分割 - String orgSid = ""; - // 判断层级 - if (levels.length > 3) { - orgSid = levels[2]; // 第三层级的sid - } else { - orgSid = levels[levels.length - 2]; // 倒数第二层级的sid - } - SysOrganization sysOrganization = sysOrganizationService.fetchBySid(orgSid); - orgVo.setUseOrgName(sysOrganization.getName()); - orgVo.setUseOrgSid(sysOrganization.getSid()); - orgVo.setOrgCode(sysOrganization.getOrgCode()); - String lastPart = orgSidPath.contains("/") ? orgSidPath.substring(orgSidPath.lastIndexOf("/") + 1) : orgSidPath; - sysOrganization = sysOrganizationService.fetchBySid(lastPart); - orgVo.setDeptName(sysOrganization.getName()); - orgVo.setDeptSid(sysOrganization.getSid()); - return rb.success().setData(orgVo); - } + } \ No newline at end of file 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 786dbcbb0d..95d08a21f0 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,8 +26,8 @@ public class SubmitDto { private String nextNodeUserSids; @ApiModelProperty("下一处理人获取规则") private int rule; -// @ApiModelProperty("是否是首次提交") -// private boolean isNew; @ApiModelProperty("任务id") private String nextNodeSid; + @ApiModelProperty("若含有其他机构的sid,则传") + private String orgSid; } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskDto.java index 470bd51a08..e34931765a 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/TaskDto.java @@ -40,10 +40,10 @@ public class TaskDto { /** * 终止 */ - @ApiModelProperty("流程实例Id(PC)") - private String instanceId; + /* @ApiModelProperty("流程实例Id(PC)") + private String instanceId;*/ - @ApiModelProperty("流程实例Id(移动)") + @ApiModelProperty("实例id") private String procInsId; private Map formVariables = new HashMap<>(); diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/OrgVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/OrgVo.java similarity index 83% rename from yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/OrgVo.java rename to yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/OrgVo.java index 91a57b8bd6..df2c5c5a8e 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/OrgVo.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/OrgVo.java @@ -1,4 +1,4 @@ -package com.yxt.anrui.oa.feign.portal.sysstafforg; +package com.yxt.anrui.oa.feign.portal.sysorganization; import lombok.Data; diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/SysOrganizationFeign.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/SysOrganizationFeign.java index 3ea5f67f32..54f19055bc 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/SysOrganizationFeign.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysorganization/SysOrganizationFeign.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; /** @@ -32,4 +33,9 @@ public interface SysOrganizationFeign { @ResponseBody @GetMapping("/fetchBySid/{sid}") public ResultBean fetchBySid(@PathVariable("sid") String sid); + + @GetMapping("/getOrgByPath") + @ResponseBody + @ApiOperation("根据用户组织全路径组织") + public ResultBean getOrgByPath(@RequestParam("orgSidPath") String orgSidPath); } \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/SysStaffOrgFeign.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/SysStaffOrgFeign.java index fe8cc0043e..99ee9f9993 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/SysStaffOrgFeign.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/portal/sysstafforg/SysStaffOrgFeign.java @@ -23,9 +23,4 @@ public interface SysStaffOrgFeign { @ApiOperation("根据用户组织全路径获取用户的分公司sid") ResultBean getOrgSidByPath(@RequestParam("orgPath") String orgPath); - @GetMapping("/getOrgByPath") - @ResponseBody - @ApiOperation("根据用户组织全路径组织") - public ResultBean getOrgByPath(@RequestParam("orgSidPath") String orgSidPath); - } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/SysUserFeign.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/SysUserFeign.java index 1fbf4876c1..4a29b2bb13 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/SysUserFeign.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/SysUserFeign.java @@ -5,11 +5,14 @@ import com.yxt.common.core.result.ResultBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import java.util.List; + @Api(tags = "用户表") @FeignClient( contextId = "anrui-portal-SysUser", @@ -24,4 +27,13 @@ public interface SysUserFeign { @ApiOperation("根据sid获取一条记录") @GetMapping("/fetchBySid/{sid}") public ResultBean fetchBySid(@PathVariable("sid") String sid); + + @ApiOperation(value = "获取其他机构链角色的用户") + @GetMapping(value = "getOtherOrgRoleUser") + ResultBean> getOtherOrgRoleUser(@SpringQueryMap UserRoleQuery query); + + @ApiOperation(value = "获取本机构链角色的用户") + @GetMapping(value = "getUserByRole") + ResultBean> getUserByRole(@SpringQueryMap UserQuery query); + } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserQuery.java new file mode 100644 index 0000000000..3b0109c87e --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserQuery.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.oa.feign.sysuser; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/21 8:47 + * @Description + */ +@Data +public class UserQuery implements Query { + + private static final long serialVersionUID = -3979717077029562761L; + @ApiModelProperty(value = "角色sid必传项") + private String roleSid; + @ApiModelProperty(value = "用户部门sid路径是必传项") + private String orgSidPath; + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserRoleQuery.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserRoleQuery.java new file mode 100644 index 0000000000..fd3785b1e8 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/sysuser/UserRoleQuery.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.oa.feign.sysuser; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/8/25 8:38 + * @Description + */ +@Data +public class UserRoleQuery implements Query { + private static final long serialVersionUID = 1913450300189800653L; + + @ApiModelProperty("角色sid") + private String roleSid; + private String orgSid; +} From 32a8d6f59ca8cc961d1ff9d2656e9fdb00db93d6 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Mon, 13 Jan 2025 14:37:04 +0800 Subject: [PATCH 10/11] =?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 --- .../OrgVo.java | 2 +- .../anrui/oa/biz/oaform/OaFormService.java | 219 +++++++++++++----- .../oaform/flowable/BusinessVariablesDto.java | 11 +- .../oa/biz/oaform/flowable/DelegateDto.java | 4 +- .../oa/biz/oaform/flowable/OaFormFlowDto.java | 2 +- 5 files changed, 168 insertions(+), 70 deletions(-) rename anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/{sysstafforg => sysorganization}/OrgVo.java (84%) diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/OrgVo.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/OrgVo.java similarity index 84% rename from anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/OrgVo.java rename to anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/OrgVo.java index 6329c6634c..83c43780ac 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/OrgVo.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/OrgVo.java @@ -1,4 +1,4 @@ -package com.yxt.anrui.portal.api.sysstafforg; +package com.yxt.anrui.portal.api.sysorganization; import lombok.Data; 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 893a211c04..6898a1a1fc 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 @@ -19,12 +19,14 @@ import com.yxt.anrui.oa.feign.flowable.flowtask.LatestTaskVo; import com.yxt.anrui.oa.feign.message.MessageFeign; import com.yxt.anrui.oa.feign.message.MessageFlowVo; import com.yxt.anrui.oa.feign.message.MessageFlowableQuery; +import com.yxt.anrui.oa.feign.portal.sysorganization.OrgVo; import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; -import com.yxt.anrui.oa.feign.portal.sysstafforg.OrgVo; import com.yxt.anrui.oa.feign.portal.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.oa.feign.sysuser.SysUserFeign; import com.yxt.anrui.oa.feign.sysuser.SysUserVo; +import com.yxt.anrui.oa.feign.sysuser.UserQuery; +import com.yxt.anrui.oa.feign.sysuser.UserRoleQuery; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; @@ -76,7 +78,7 @@ public class OaFormService extends MybatisBaseService { BeanUtil.copyProperties(dto, oaForm, "billNo", "orgSidPath"); try { // 获取组织信息,根据orgSidPath字段调用外部服务 - OrgVo orgVo = sysStaffOrgFeign.getOrgByPath(dto.getOrgSidPath()).getData(); + OrgVo orgVo = sysOrganizationFeign.getOrgByPath(dto.getOrgSidPath()).getData(); // 如果组织信息为空,返回失败信息 if (orgVo == null) { return rb.setMsg("未找到对应的组织信息"); @@ -118,6 +120,12 @@ public class OaFormService extends MybatisBaseService { } } + /** + * 详情初始化 + * + * @param sid + * @return + */ public ResultBean fetchDetailsBySid(String sid) { ResultBean rb = ResultBean.fireFail(); OaFormDetailsVo detailsVo = baseMapper.fetchDetailsBySid(sid); @@ -127,6 +135,12 @@ public class OaFormService extends MybatisBaseService { return rb.success().setData(detailsVo); } + /** + * 分页列表 + * + * @param pq + * @return + */ public PagerVo listPageVo(PagerQuery pq) { OaFormQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -136,6 +150,12 @@ public class OaFormService extends MybatisBaseService { return p; } + /** + * 删除 + * + * @param sids + * @return + */ public ResultBean delAll(String[] sids) { ResultBean rb = ResultBean.fireFail(); delBySids(sids); @@ -159,15 +179,27 @@ public class OaFormService extends MybatisBaseService { return baseMapper.updateFlowFiled(map); } + /** + * 办理(同意) + * + * @param dto + * @return + */ public ResultBean complete(BusinessVariablesDto dto) { ResultBean rb = ResultBean.fireFail(); BusinessVariables bv = new BusinessVariables(); BeanUtil.copyProperties(dto, bv); String businessSid = bv.getBusinessSid(); OaForm oaForm = fetchBySid(businessSid); - SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); - bv.setOrgSidPath(deptVo.getOrgSidPath()); - bv.setModelId(oaForm.getProcDefId()); + SubmitDto submitDto = new SubmitDto(); + BeanUtil.copyProperties(dto, submitDto); + //构造参数 + ResultBean businessVariablesResultBean = getGatewayParameter(submitDto); + if (!businessVariablesResultBean.getSuccess()) { + return rb.setMsg(businessVariablesResultBean.getMsg()); + } + BeanUtil.copyProperties(businessVariablesResultBean.getData(), bv, "taskDefKey", "taskId"); + bv.setInstanceId(oaForm.getProcInstId()); if (bv.getTaskId().equals(oaForm.getTaskId())) { ResultBean resultBean = flowFeign.handleProsess(bv); if (!resultBean.getSuccess()) { @@ -216,36 +248,38 @@ public class OaFormService extends MybatisBaseService { } } + /** + * 获取上一环节 + * + * @param query + * @return + */ public ResultBean> getPreviousNodesForReject(NodeQuery query) { ResultBean> rb = ResultBean.fireFail(); BusinessVariables bv = new BusinessVariables(); BeanUtil.copyProperties(query, bv); - //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 - Map variables = new HashMap<>(); //查询业务信息 OaForm oaForm = fetchBySid(query.getBusinessSid()); - //网关 - bv.setModelId(oaForm.getProcDefId()); - bv.setFormVariables(variables); ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), NodeVo.class)).collect(Collectors.toList()); return rb.success().setData(voList); } + /** + * 获取下一环节 + * + * @param query + * @return + */ public ResultBean> getNextNodesForSubmit(NodeQuery query) { ResultBean> rb = ResultBean.fireFail(); BusinessVariables bv = new BusinessVariables(); BeanUtil.copyProperties(query, bv); - //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 - Map variables = new HashMap<>(); //查询业务信息 OaForm oaForm = fetchBySid(query.getBusinessSid()); - //网关 - bv.setModelId(oaForm.getProcDefId()); - bv.setFormVariables(variables); //======================================= ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo @@ -253,7 +287,12 @@ public class OaFormService extends MybatisBaseService { return rb.success().setData(voList); } - + /** + * 驳回 + * + * @param dto + * @return + */ public ResultBean reject(TaskDto dto) { ResultBean rb = ResultBean.fireFail(); String businessSid = dto.getBusinessSid(); @@ -324,6 +363,12 @@ public class OaFormService extends MybatisBaseService { return rb.setMsg("操作失败!提交的数据不一致!"); } + /** + * 撤回 + * + * @param dto + * @return + */ public ResultBean revokeProcess(TaskDto dto) { ResultBean rb = ResultBean.fireFail(); if (StringUtils.isBlank(dto.getUserSid())) { @@ -348,10 +393,16 @@ public class OaFormService extends MybatisBaseService { return rb.setMsg("操作失败,提交的数据不一致!"); } + /** + * 终止 + * + * @param dto + * @return + */ public ResultBean breakProcess(TaskDto dto) { ResultBean rb = ResultBean.fireFail(); - if (StringUtils.isBlank(dto.getInstanceId())) { - return rb.setMsg("参数错误:instanceId"); + if (StringUtils.isBlank(dto.getProcInsId())) { + return rb.setMsg("参数错误:procInsId"); } if (StringUtils.isBlank(dto.getUserSid())) { return rb.setMsg("参数错误:userSid"); @@ -391,63 +442,52 @@ public class OaFormService extends MybatisBaseService { return rb.setMsg("操作失败!提交的数据不一致!"); } + /** + * 加签 + * + * @param dto + * @return + */ public ResultBean delegate(DelegateDto dto) { ResultBean rb = ResultBean.fireFail(); FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); BeanUtil.copyProperties(dto, delegateQuery); + delegateQuery.setInstanceId(dto.getProcInsId()); flowFeign.delegate(delegateQuery); return rb.success(); } + /** + * 转办 + * + * @param dto + * @return + */ public ResultBean assignTask(DelegateDto dto) { ResultBean rb = ResultBean.fireFail(); FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); BeanUtil.copyProperties(dto, delegateQuery); + delegateQuery.setInstanceId(dto.getProcInsId()); flowFeign.assignTask(delegateQuery); return rb.success(); } - + /** + * 更新流程名称和标题 + * + * @param oaForm + * @return + */ public int updateFormType(OaForm oaForm) { return baseMapper.updateById(oaForm); } - - public ResultBean submit1(BusinessVariables bv) { - String businessSid = bv.getBusinessSid(); - //启动流程 - ResultBean voResultBean = flowFeign.startProcess(bv); - UpdateFlowFieldVo ufVo = voResultBean.getData(); - OaFormFlowDto oaFormFlowDto = new OaFormFlowDto(); - BeanUtil.copyProperties(ufVo, oaFormFlowDto, "sid"); - oaFormFlowDto.setSid(businessSid); - updateFlow(oaFormFlowDto); - OaForm oaForm = fetchBySid(businessSid); - try { - ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("demo-pool-%d").build(); - ExecutorService pool = new ThreadPoolExecutor(2, 100, - 0L, TimeUnit.MILLISECONDS, - new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - Future future1 = pool.submit(() -> { - //极光推送 - MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); - MessageFlowVo messageFlowVo = new MessageFlowVo(); - BeanUtil.copyProperties(ufVo, messageFlowVo); - messageFlowableQuery.setUfVo(messageFlowVo); - messageFlowableQuery.setAppMap((Map) bv.getFormVariables().get("app")); - messageFlowableQuery.setBusinessSid(businessSid); - messageFlowableQuery.setModuleName(oaForm.getFormType()); - messageFlowableQuery.setMsgContent(oaForm.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); - messageFlowableQuery.setMsgTitle(oaForm.getFormType()); - messageFeign.pushMessage(messageFlowableQuery); - }); - } catch (Exception e) { - e.printStackTrace(); - } - return voResultBean; - } - + /** + * 提交 + * + * @param dto + * @return + */ public ResultBean submit(SubmitDto dto) { ResultBean rb = ResultBean.fireFail(); ResultBean businessVariablesResultBean = getGatewayParameter(dto); @@ -462,7 +502,7 @@ public class OaFormService extends MybatisBaseService { ResultBean voResultBean = flowFeign.startProcess(bv); UpdateFlowFieldVo ufVo = voResultBean.getData(); OaFormFlowDto oaFormFlowDto = new OaFormFlowDto(); - BeanUtil.copyProperties(ufVo, oaFormFlowDto, "sid"); + BeanUtil.copyProperties(ufVo, oaFormFlowDto); updateFlow(oaFormFlowDto); try { ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() @@ -488,18 +528,24 @@ public class OaFormService extends MybatisBaseService { } return voResultBean; } else if (r == 2) { - bv.setTaskId(oaForm.getTaskId()); - bv.setTaskDefKey(oaForm.getNodeId()); - bv.setComment("重新提交"); - bv.setInstanceId(oaForm.getProcInstId()); BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto(); BeanUtil.copyProperties(bv, businessVariablesDto); + businessVariablesDto.setProcInsId(oaForm.getProcInstId()); + businessVariablesDto.setTaskId(oaForm.getTaskId()); + businessVariablesDto.setTaskDefKey(oaForm.getNodeId()); + businessVariablesDto.setComment("重新提交"); return complete(businessVariablesDto); } return rb; } + /** + * 提交锁 + * + * @param dto + * @return + */ private synchronized int submitBusinessData(SubmitDto dto) { int r = 0; OaForm oaForm = fetchBySid(dto.getBusinessSid()); @@ -529,7 +575,11 @@ public class OaFormService extends MybatisBaseService { SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); bv.setOrgSidPath(deptVo.getOrgSidPath()); //流程定义id - bv.setModelId(dto.getProcDefId()); + if (StringUtils.isBlank(oaForm.getProcDefId())) { + bv.setModelId(dto.getProcDefId()); + } else { + bv.setModelId(oaForm.getProcDefId()); + } int rule = dto.getRule(); if (rule == OaFormRuleEnum.DIRECTLY_UNDER.getRule()) { SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); @@ -540,10 +590,55 @@ public class OaFormService extends MybatisBaseService { } else if (rule == OaFormRuleEnum.INSTITUTION.getRule()) { //获取本机构链(含集团、事业部、分公司部门)中角色的用户(角色sid,发起人orgsidPath) + NodeQuery query = new NodeQuery(); + query.setBusinessSid(dto.getBusinessSid()); + query.setTaskDefKey(oaForm.getNodeId()); + ResultBean> resultBean = getNextNodesForSubmit(query); + List voList = resultBean.getData(); + List candidateGroups = voList.get(0).getCandidateGroups(); + UserQuery userQuery = new UserQuery(); + userQuery.setRoleSid(candidateGroups.get(0)); + userQuery.setOrgSidPath(bv.getOrgSidPath()); + List sysUserVos = sysUserFeign.getUserByRole(userQuery).getData(); + StringBuilder nextNodeUserSids = new StringBuilder(); + if (sysUserVos.size() > 0) { + for (SysUserVo sysUserVo : sysUserVos) { + String sid = sysUserVo.getSid(); + nextNodeUserSids.append(sid).append(","); + } + } + if (StringUtils.isBlank(nextNodeUserSids)) { + bv.setNextNodeUserSids(""); + } else { + String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(",")); + bv.setNextNodeUserSids(substring); + } } else if (rule == OaFormRuleEnum.OTHER_INSTITUTION.getRule()) { //获取其他机构链角色的用户(角色sid,机构sid]) - + NodeQuery query = new NodeQuery(); + query.setBusinessSid(dto.getBusinessSid()); + query.setTaskDefKey(oaForm.getNodeId()); + ResultBean> resultBean = getNextNodesForSubmit(query); + List voList = resultBean.getData(); + List candidateGroups = voList.get(0).getCandidateGroups(); + UserRoleQuery userRoleQuery = new UserRoleQuery(); + userRoleQuery.setRoleSid(candidateGroups.get(0)); + userRoleQuery.setOrgSid(dto.getOrgSid()); + List sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData(); + StringBuilder nextNodeUserSids = new StringBuilder(); + if (sysUserVos.size() > 0) { + for (SysUserVo sysUserVo : sysUserVos) { + String sid = sysUserVo.getSid(); + nextNodeUserSids.append(sid).append(","); + } + } + if (StringUtils.isBlank(nextNodeUserSids)) { + bv.setNextNodeUserSids(""); + } else { + String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(",")); + bv.setNextNodeUserSids(substring); + } } 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 index 46e2cff07c..728ceaace7 100644 --- 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 @@ -1,5 +1,6 @@ package com.yxt.anrui.oa.biz.oaform.flowable; +import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -31,10 +32,8 @@ public class BusinessVariablesDto { * 审批意见 */ private String comment; - /** - * 流程实例的id - */ - private String instanceId; + @ApiModelProperty("实例id") + private String procInsId; /** * taskId */ @@ -63,4 +62,8 @@ public class BusinessVariablesDto { * 业务参数,按需传递 */ private Map formVariables = new HashMap<>(); + /** + * 规则:请查看OaFormRuleEnum + */ + private int rule; } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateDto.java index eb2dcbdb03..566df680e4 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/DelegateDto.java @@ -13,8 +13,8 @@ public class DelegateDto { @ApiModelProperty private String userSid; - @ApiModelProperty("流程实例id") - private String instanceId; + @ApiModelProperty("实例id") + private String procInsId; @ApiModelProperty("任务Id") private String taskId; @ApiModelProperty("审批人sid") diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/OaFormFlowDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/OaFormFlowDto.java index 99e040025a..cd1a9f8c1e 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/OaFormFlowDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/oaform/flowable/OaFormFlowDto.java @@ -16,7 +16,7 @@ public class OaFormFlowDto { private String procDefId; @ApiModelProperty("流程状态") private String nodeState; - @ApiModelProperty("流程实例id") + @ApiModelProperty("实例id") private String procInsId; @ApiModelProperty("环节id") private String taskDefKey; From 34b4eca87a6f596e0fb742a46b24c9d55807d0aa Mon Sep 17 00:00:00 2001 From: yunuo970428 <405378304@qq.com> Date: Mon, 13 Jan 2025 14:46:13 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E5=AE=8C=E5=96=84=E9=87=91=E8=9E=8D?= =?UTF-8?q?=E8=B4=B4=E6=81=AF=E5=B7=AE=E5=BC=82=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../differenceManagement/differenceManagementAdd.vue | 1 + .../workFlow/chayitiaozhengFlow/differenceManagementEdit.vue | 1 + 2 files changed, 2 insertions(+) diff --git a/anrui-scm/anrui-scm-ui/src/views/financialDiscount/differenceManagement/differenceManagementAdd.vue b/anrui-scm/anrui-scm-ui/src/views/financialDiscount/differenceManagement/differenceManagementAdd.vue index 22c3049651..dea8679124 100644 --- a/anrui-scm/anrui-scm-ui/src/views/financialDiscount/differenceManagement/differenceManagementAdd.vue +++ b/anrui-scm/anrui-scm-ui/src/views/financialDiscount/differenceManagement/differenceManagementAdd.vue @@ -307,6 +307,7 @@ export default { value.forEach((e) => { this.formobj.list.push({ rebateSid: e.rebateSid, + checkApplySid: e.checkApplySid, purchaseSystemSid: e.purchaseSystemSid, purchaseSystemName: e.purchaseSystemName, brandSid: e.brandSid, diff --git a/anrui-scm/anrui-scm-ui/src/views/workFlow/chayitiaozhengFlow/differenceManagementEdit.vue b/anrui-scm/anrui-scm-ui/src/views/workFlow/chayitiaozhengFlow/differenceManagementEdit.vue index 4b4e1fe43e..46c13a0c5a 100644 --- a/anrui-scm/anrui-scm-ui/src/views/workFlow/chayitiaozhengFlow/differenceManagementEdit.vue +++ b/anrui-scm/anrui-scm-ui/src/views/workFlow/chayitiaozhengFlow/differenceManagementEdit.vue @@ -289,6 +289,7 @@ export default { value.forEach((e) => { this.formobj.list.push({ rebateSid: e.rebateSid, + checkApplySid: e.checkApplySid, purchaseSystemSid: e.purchaseSystemSid, purchaseSystemName: e.purchaseSystemName, brandSid: e.brandSid,