Browse Source

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

master
dimengzhe 3 years ago
parent
commit
b1ab890328
  1. 39
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeign.java
  2. 28
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeignFallback.java
  3. 37
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractDto.java
  4. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractQuery.java
  5. 47
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractTaskQuery.java
  6. 28
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/contract/AppCommonContractRest.java
  7. 110
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/contract/AppCommonContractService.java

39
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeign.java

@ -1,19 +1,19 @@
package com.yxt.anrui.terminal.api.autoservice.contract;
import com.yxt.anrui.base.api.commoncontract.*;
import com.yxt.anrui.base.api.commoncontract.AppCommonContractPageVo;
import com.yxt.anrui.base.api.commoncontract.AppCommonContractQuery;
import com.yxt.anrui.base.api.commoncontract.CommonContractFeignFallback;
import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractDto;
import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractQuery;
import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractTaskQuery;
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;
import javax.validation.Valid;
import java.io.IOException;
import java.text.ParseException;
import java.util.Map;
/**
* Project: anrui-base(安瑞基础) <br/>
@ -51,4 +51,29 @@ public interface AppCommonContractFeign {
@PostMapping("/saveContractInfo")
@ResponseBody
public ResultBean saveContractInfo(@RequestBody CrmCustomerFileDto dto);
@ApiOperation("办理")
@PutMapping("/agreeContractInfo")
@ResponseBody
ResultBean agreeContractInfo(@RequestBody ContractDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectContractInfo")
@ResponseBody
ResultBean rejectContractInfo(@RequestBody ContractTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallContractInfo")
@ResponseBody
ResultBean recallContractInfo(@RequestBody ContractTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopContractInfo")
@ResponseBody
ResultBean stopContractInfo(@RequestBody ContractTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap ContractQuery query);
}

28
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeignFallback.java

@ -1,6 +1,9 @@
package com.yxt.anrui.terminal.api.autoservice.contract;
import com.yxt.anrui.base.api.commoncontract.*;
import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractDto;
import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractQuery;
import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractTaskQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -41,4 +44,29 @@ public class AppCommonContractFeignFallback implements AppCommonContractFeign {
public ResultBean saveContractInfo(CrmCustomerFileDto dto) {
return null;
}
@Override
public ResultBean agreeContractInfo(ContractDto dto) {
return null;
}
@Override
public ResultBean rejectContractInfo(ContractTaskQuery query) {
return null;
}
@Override
public ResultBean recallContractInfo(ContractTaskQuery query) {
return null;
}
@Override
public ResultBean stopContractInfo(ContractTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(ContractQuery query) {
return null;
}
}

37
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractDto.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.api.autoservice.contract.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
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:57
* @Description
*/
@Data
public class ContractDto implements Dto {
private static final long serialVersionUID = -2994642678989084467L;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.api.autoservice.contract.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @Author dimengzhe
* @Date 2022/8/30 15:57
* @Description
*/
@Data
public class ContractQuery implements Query {
private static final long serialVersionUID = 3554621072454825756L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

47
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/flowable/ContractTaskQuery.java

@ -0,0 +1,47 @@
package com.yxt.anrui.terminal.api.autoservice.contract.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
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:57
* @Description
*/
@Data
public class ContractTaskQuery implements Query {
private static final long serialVersionUID = -8643921324527025037L;
/**
* 终止驳回撤回
*/
@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")
@JsonProperty("procInsId")
private String instanceId;
}

28
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/contract/AppCommonContractRest.java

@ -7,6 +7,9 @@ import com.yxt.anrui.terminal.api.autoservice.contract.AppCommonContractFeign;
import com.yxt.anrui.terminal.api.autoservice.contract.CommonContractInitVo;
import com.yxt.anrui.terminal.api.autoservice.contract.CrmCustomerFileDto;
import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractDto;
import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractQuery;
import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractTaskQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -55,4 +58,29 @@ public class AppCommonContractRest implements AppCommonContractFeign {
public ResultBean saveContractInfo(CrmCustomerFileDto dto) {
return appCommonContractService.saveContractInfo(dto);
}
@Override
public ResultBean agreeContractInfo(ContractDto dto) {
return appCommonContractService.agreeContractInfo(dto);
}
@Override
public ResultBean rejectContractInfo(ContractTaskQuery query) {
return appCommonContractService.rejectContractInfo(query);
}
@Override
public ResultBean recallContractInfo(ContractTaskQuery query) {
return appCommonContractService.recallContractInfo(query);
}
@Override
public ResultBean stopContractInfo(ContractTaskQuery query) {
return appCommonContractService.stopContractInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(ContractQuery query) {
return appCommonContractService.getFlowOperateTitle(query);
}
}

110
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/contract/AppCommonContractService.java

@ -1,21 +1,31 @@
package com.yxt.anrui.terminal.biz.autoservice.contract;
import com.sun.org.apache.regexp.internal.RE;
import cn.hutool.core.bean.BeanUtil;
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.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.autoservice.contract.CommonContractInitVo;
import com.yxt.anrui.terminal.api.autoservice.contract.CrmCustomerFileDto;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractDto;
import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractQuery;
import com.yxt.anrui.terminal.api.autoservice.contract.flowable.ContractTaskQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* Project: anrui-base(安瑞基础) <br/>
@ -36,6 +46,10 @@ public class AppCommonContractService {
@Autowired
CommonContractFeign commonContractFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
/**
* 移动端-合同审核列表
@ -71,4 +85,90 @@ public class AppCommonContractService {
}
return rb.success();
}
public ResultBean agreeContractInfo(ContractDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
CommonContractCompleteDto commonContractCompleteDto = new CommonContractCompleteDto();
BeanUtil.copyProperties(dto, commonContractCompleteDto);
commonContractCompleteDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = commonContractFeign.complete(commonContractCompleteDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectContractInfo(ContractTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
CommonContractTaskQuery commonContractTaskQuery = new CommonContractTaskQuery();
BeanUtil.copyProperties(query, commonContractTaskQuery);
ResultBean resultBean = commonContractFeign.taskReject(commonContractTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallContractInfo(ContractTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
CommonContractTaskQuery commonContractTaskQuery = new CommonContractTaskQuery();
BeanUtil.copyProperties(query, commonContractTaskQuery);
ResultBean resultBean = commonContractFeign.revokeProcess(commonContractTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopContractInfo(ContractTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
CommonContractTaskQuery commonContractTaskQuery = new CommonContractTaskQuery();
BeanUtil.copyProperties(query, commonContractTaskQuery);
ResultBean resultBean = commonContractFeign.breakProcess(commonContractTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(ContractQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
CommonContractNodeQuery getNodeQuery = new CommonContractNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<CommonContractNodeVo>> getPreviousNodesForReject = commonContractFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<CommonContractNodeVo>> getNextNodesForSubmit = commonContractFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
}
Loading…
Cancel
Save