Browse Source

合同审核办理、驳回、终止、撤回、获取上一环节、获取下一环节

master
dimengzhe 3 years ago
parent
commit
bc60706c31
  1. 11
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java
  2. 31
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java
  3. 36
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java
  4. 38
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractCompleteDto.java
  5. 24
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractNodeQuery.java
  6. 26
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractNodeVo.java
  7. 45
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractTaskQuery.java
  8. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java
  9. 16
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml
  10. 40
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java
  11. 199
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  12. 1
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

11
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContract.java

@ -96,4 +96,15 @@ public class CommonContract extends BaseEntity {
private BigDecimal price;
@ApiModelProperty("单台订金")
private BigDecimal oneDeposit;
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty(value = "节点id")
private String nodeId;
@ApiModelProperty(value = "流程id")
private String procDefId;
@ApiModelProperty(value = "实例id")
private String procInstId;
@ApiModelProperty(value = "任务id")
private String taskId;
}

31
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java

@ -1,11 +1,16 @@
package com.yxt.anrui.base.api.commoncontract;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractCompleteDto;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeQuery;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeVo;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractTaskQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
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.*;
import org.springframework.web.multipart.MultipartFile;
@ -159,4 +164,30 @@ public interface CommonContractFeign {
@ResponseBody
public ResultBean saveContractInfo(@RequestBody AppCrmCustomerFileDto dto);
//====================移动端合同审核流程
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody CommonContractCompleteDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<CommonContractNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap CommonContractNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<CommonContractNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap CommonContractNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@Valid @RequestBody CommonContractTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody CommonContractTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody CommonContractTaskQuery query);
}

36
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java

@ -1,5 +1,10 @@
package com.yxt.anrui.base.api.commoncontract;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractCompleteDto;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeQuery;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeVo;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractTaskQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -8,6 +13,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.text.ParseException;
import java.util.List;
import java.util.Map;
/**
@ -165,4 +171,34 @@ public class CommonContractFeignFallback implements CommonContractFeign {
public ResultBean saveContractInfo(AppCrmCustomerFileDto dto) {
return null;
}
@Override
public ResultBean complete(CommonContractCompleteDto query) {
return null;
}
@Override
public ResultBean<List<CommonContractNodeVo>> getPreviousNodesForReject(CommonContractNodeQuery query) {
return null;
}
@Override
public ResultBean<List<CommonContractNodeVo>> getNextNodesForSubmit(CommonContractNodeQuery query) {
return null;
}
@Override
public ResultBean taskReject(CommonContractTaskQuery query) {
return null;
}
@Override
public ResultBean revokeProcess(CommonContractTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(CommonContractTaskQuery query) {
return null;
}
}

38
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractCompleteDto.java

@ -0,0 +1,38 @@
package com.yxt.anrui.base.api.commoncontract.flowable;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/8/30 15:00
* @Description
*/
@Data
public class CommonContractCompleteDto implements Dto {
private static final long serialVersionUID = -1577957348084710482L;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "用户全路径sid")
@NotBlank(message = "参数错误:orgSidPath")
private String orgSidPath;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:instanceId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
}

24
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractNodeQuery.java

@ -0,0 +1,24 @@
package com.yxt.anrui.base.api.commoncontract.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/8/30 15:02
* @Description
*/
@Data
public class CommonContractNodeQuery implements Query {
private static final long serialVersionUID = 2719079015837709118L;
@ApiModelProperty(value = "环节定义id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
}

26
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractNodeVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.base.api.commoncontract.flowable;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/8/30 15:09
* @Description
*/
@Data
public class CommonContractNodeVo implements Vo {
private static final long serialVersionUID = -3011038115113343705L;
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

45
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/flowable/CommonContractTaskQuery.java

@ -0,0 +1,45 @@
package com.yxt.anrui.base.api.commoncontract.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/8/30 15:03
* @Description
*/
@Data
public class CommonContractTaskQuery implements Query {
private static final long serialVersionUID = 4020176288666396111L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
private String instanceId;
}

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java

@ -9,6 +9,7 @@ import com.yxt.anrui.base.api.commoncontract.*;
import org.apache.ibatis.annotations.*;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-base(安瑞基础) <br/>
@ -79,4 +80,6 @@ public interface CommonContractMapper extends BaseMapper<CommonContract> {
AppCommonContractInitVo getContractInfo(@Param("contractSid") String contractSid, @Param("staffSid") String staffSid);
int selectNum(String bill);
int updateFlowFiled(Map<String, Object> map);
}

16
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml

@ -114,4 +114,20 @@
from common_contract
where contractNo LIKE concat(#{bill}, '%')
</select>
<update id="updateFlowFiled">
UPDATE common_contract
SET nodeState=#{nodeState}
, nodeId=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid = #{sid}
</update>
</mapper>

40
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java

@ -1,11 +1,18 @@
package com.yxt.anrui.base.biz.commoncontract;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum;
import com.yxt.anrui.base.api.commonappendix.PcCommonAppendixDto;
import com.yxt.anrui.base.api.commoncontract.*;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractCompleteDto;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeQuery;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeVo;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractTaskQuery;
import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.base.utils.StringUtils;
@ -524,4 +531,37 @@ public class CommonContractRest implements CommonContractFeign {
ResultBean resultBean = commonContractService.saveContractInfo(dto);
return rb.success();
}
@Override
public ResultBean complete(CommonContractCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.CONTRACTAPPLY.getProDefId());
return commonContractService.complete(bv);
}
@Override
public ResultBean<List<CommonContractNodeVo>> getPreviousNodesForReject(CommonContractNodeQuery query) {
return commonContractService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<CommonContractNodeVo>> getNextNodesForSubmit(CommonContractNodeQuery query) {
return commonContractService.getNextNodesForSubmit(query);
}
@Override
public ResultBean taskReject(CommonContractTaskQuery query) {
return commonContractService.taskReject(query);
}
@Override
public ResultBean revokeProcess(CommonContractTaskQuery query) {
return commonContractService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(CommonContractTaskQuery query) {
return commonContractService.breakProcess(query);
}
}

199
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java

@ -1,11 +1,15 @@
package com.yxt.anrui.base.biz.commoncontract;
import cn.hutool.core.bean.BeanUtil;
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.base.api.commonappendix.CommonAppendix;
import com.yxt.anrui.base.api.commoncontract.*;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeQuery;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractNodeVo;
import com.yxt.anrui.base.api.commoncontract.flowable.CommonContractTaskQuery;
import com.yxt.anrui.base.biz.basemodelszconfig.BaseModelSzconfigService;
import com.yxt.anrui.base.biz.basetrailer.BaseTrailerService;
import com.yxt.anrui.base.biz.basevehiclebrand.BaseVehicleBrandService;
@ -25,8 +29,15 @@ import com.yxt.anrui.crm.api.crmcustomer.CrmCustomerFeign;
import com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormStateVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign;
import com.yxt.anrui.portal.api.dictcommon.DictCommonVo;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
@ -46,6 +57,9 @@ import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
@ -130,6 +144,12 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private BusDepositFictitiousFeign busDepositFictitiousFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
private QueryWrapper<CommonContract> createQueryWrapper(CommonContractQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -1290,4 +1310,183 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
String billNo = Rule.getBillNo(bill, i);
return billNo;
}
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
CommonContract commonContract = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setFormVariables(variables);
if (bv.getTaskId().equals(commonContract.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if (!"Event_end".equals(resultBean.getData().getTaskDefKey())) {
//极光推送
commonContract = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo,messageFlowVo);
ufVo.setProcInsId(commonContract.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("合同审核申请");
messageFlowableQuery.setMsgContent(commonContract.getStaffName()+"提交的"+messageFlowableQuery.getModuleName()+",请审批");
messageFlowableQuery.setMsgTitle("业务中心");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
private int updateFlowFiled(Map<String, Object> map) {
return baseMapper.updateFlowFiled(map);
}
public ResultBean<List<CommonContractNodeVo>> getPreviousNodesForReject(CommonContractNodeQuery query) {
ResultBean<List<CommonContractNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.CONTRACTAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<CommonContractNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), CommonContractNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<CommonContractNodeVo>> getNextNodesForSubmit(CommonContractNodeQuery query) {
ResultBean<List<CommonContractNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.CONTRACTAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<CommonContractNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), CommonContractNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean taskReject(CommonContractTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
CommonContract commonContract = fetchBySid(businessSid);
if (commonContract == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = commonContract.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
commonContract = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo,messageFlowVo);
String procId = commonContract.getProcInstId();
ufVo.setProcInsId(procId);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("合同审核申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if(receiveSidList.size() == 1 && receiveSidList.get(0).equals(commonContract.getStaffSid())){
messageFlowableQuery.setMsgContent("您提交的"+messageFlowableQuery.getModuleName()+"已被驳回,请重新提交");
}else{
messageFlowableQuery.setMsgContent(commonContract.getStaffName()+"提交的"+messageFlowableQuery.getModuleName()+",请审批");
}
messageFlowableQuery.setMsgTitle("业务中心");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean revokeProcess(CommonContractTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
CommonContract commonContract = fetchBySid(query.getBusinessSid());
String businessTaskId = commonContract.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败,提交的数据不一致!");
}
public ResultBean breakProcess(CommonContractTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
CommonContract commonContract = fetchBySid(query.getBusinessSid());
String businessTaskId = commonContract.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
}

1
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -31,6 +31,7 @@ public enum ProcDefEnum {
BASESHUNINVOICAPPLY("调车开票申请","process_u4xrvaso:1:400008"),
BASEVEHINSTALLMODPRICE("上装调价申请","process_s0a0svth:1:492508"),
SCMVEHREBATEWITHAPPLY("单车返利预提申请","process_qegarc7r:1:535004"),
CONTRACTAPPLY("合同审核","process_gd8c9xd5:1:545008"),
;
ProcDefEnum(String proDefName, String proDefId) {

Loading…
Cancel
Save