Browse Source

单车返利预提流程接口开发

zhanglei
God 3 years ago
parent
commit
9ad3882b6f
  1. 11
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/ScmVehRebateWithApply.java
  2. 10
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/ScmVehRebateWithApplyDetailsVo.java
  3. 12
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/ScmVehRebateWithApplyDto.java
  4. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/ScmVehRebateWithApplyQuery.java
  5. 3
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/ScmVehRebateWithApplyVo.java
  6. 14
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/flow/SubmitScmVehRebateWithApplyDto.java
  7. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyMapper.java
  8. 15
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyMapper.xml
  9. 237
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java

11
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/ScmVehRebateWithApply.java

@ -66,5 +66,14 @@ public class ScmVehRebateWithApply extends BaseEntity {
private String createOrgSid; // 创建组织sid private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称") @ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称 private String createOrgName; // 创建组织名称
@ApiModelProperty("流程定义的id")
private String procDefId;
@ApiModelProperty("环节定义的sid")
private String nodeSid;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("流程实例的sid")
private String procInstId;
@ApiModelProperty("任务id")
private String taskId;
} }

10
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/ScmVehRebateWithApplyDetailsVo.java

@ -73,6 +73,16 @@ public class ScmVehRebateWithApplyDetailsVo implements Vo {
private String createOrgSid; // 创建组织sid private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称") @ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称 private String createOrgName; // 创建组织名称
@ApiModelProperty("流程定义的id")
private String procDefId;
@ApiModelProperty("环节定义的sid")
private String nodeSid;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("流程实例的sid")
private String procInstId;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("单车返利预提列表") @ApiModelProperty("单车返利预提列表")
private List<ScmVehRebateWithDetailsVo> scmVehRebateWiths; // 单车返利预提列表 private List<ScmVehRebateWithDetailsVo> scmVehRebateWiths; // 单车返利预提列表
} }

12
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/ScmVehRebateWithApplyDto.java

@ -62,6 +62,8 @@ public class ScmVehRebateWithApplyDto implements Dto {
private String brandName; // 品牌名称 private String brandName; // 品牌名称
@ApiModelProperty("预提申请") @ApiModelProperty("预提申请")
private String withApply; // 预提申请 private String withApply; // 预提申请
@ApiModelProperty("创建人sid")
private String createBySid; // 创建人sid
@ApiModelProperty("创建人姓名") @ApiModelProperty("创建人姓名")
private String createByName; // 创建人姓名 private String createByName; // 创建人姓名
@ApiModelProperty("使用组织sid") @ApiModelProperty("使用组织sid")
@ -72,6 +74,16 @@ public class ScmVehRebateWithApplyDto implements Dto {
private String createOrgSid; // 创建组织sid private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称") @ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称 private String createOrgName; // 创建组织名称
@ApiModelProperty("流程定义的id")
private String procDefId;
@ApiModelProperty("环节定义的sid")
private String nodeSid;
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("流程实例的sid")
private String procInstId;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("单车返利预提列表") @ApiModelProperty("单车返利预提列表")
private List<ScmVehRebateWithDto> scmVehRebateWiths; // 单车返利预提列表 private List<ScmVehRebateWithDto> scmVehRebateWiths; // 单车返利预提列表
} }

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/ScmVehRebateWithApplyQuery.java

@ -59,4 +59,6 @@ public class ScmVehRebateWithApplyQuery implements Query {
private String createEndTime; // 创建结束日期 private String createEndTime; // 创建结束日期
@ApiModelProperty("创建组织sid") @ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid private String createOrgSid; // 创建组织sid
@ApiModelProperty("流程状态")
private String nodeState;
} }

3
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/ScmVehRebateWithApplyVo.java

@ -73,5 +73,6 @@ public class ScmVehRebateWithApplyVo implements Vo {
private String createOrgSid; // 创建组织sid private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称") @ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称 private String createOrgName; // 创建组织名称
@ApiModelProperty("流程状态")
private String nodeState;
} }

14
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatewithapply/flow/SubmitScmVehRebateWithApplyDto.java

@ -1,6 +1,7 @@
package com.yxt.anrui.scm.api.scmvehrebatewithapply.flow; package com.yxt.anrui.scm.api.scmvehrebatewithapply.flow;
import com.yxt.anrui.scm.api.scmapplyinbound.ScmApplyInboundDto; import com.yxt.anrui.scm.api.scmapplyinbound.ScmApplyInboundDto;
import com.yxt.anrui.scm.api.scmvehrebatewithapply.ScmVehRebateWithApplyDto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -10,19 +11,12 @@ import lombok.Data;
* @Description * @Description
*/ */
@Data @Data
public class SubmitScmVehRebateWithApplyDto extends ScmApplyInboundDto { public class SubmitScmVehRebateWithApplyDto extends ScmVehRebateWithApplyDto {
private static final long serialVersionUID = 378585162071125756L; private static final long serialVersionUID = 378585162071125756L;
/*@ApiModelProperty("意见") @ApiModelProperty("意见")
private String comment;*/ private String comment;
@ApiModelProperty("流程实例id") @ApiModelProperty("流程实例id")
private String instanceId; private String instanceId;
@ApiModelProperty("任务id") @ApiModelProperty("任务id")
private String taskId; private String taskId;
/* @ApiModelProperty("业务sid")
private String businessSid;
@ApiModelProperty("流程定义id")
private String modelId;
@ApiModelProperty("下一环节的代办人sid")
private String nextNodeUserSids;*/
} }

3
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyMapper.java

@ -36,6 +36,7 @@ import com.yxt.anrui.scm.api.scmvehrebatewithapply.ScmVehRebateWithApply;
import com.yxt.anrui.scm.api.scmvehrebatewithapply.ScmVehRebateWithApplyVo; import com.yxt.anrui.scm.api.scmvehrebatewithapply.ScmVehRebateWithApplyVo;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* Project: anrui-scm(单车返利预提申请) <br/> * Project: anrui-scm(单车返利预提申请) <br/>
@ -62,4 +63,6 @@ public interface ScmVehRebateWithApplyMapper extends BaseMapper<ScmVehRebateWith
@Select("select * from scm_veh_rebate_with_apply") @Select("select * from scm_veh_rebate_with_apply")
List<ScmVehRebateWithApplyVo> selectListVo(); List<ScmVehRebateWithApplyVo> selectListVo();
int updateFlowFiled(Map<String, Object> beanToMap);
} }

15
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyMapper.xml

@ -10,4 +10,19 @@
<select id="selectListAllVo" resultType="com.yxt.anrui.scm.api.scmvehrebatewithapply.ScmVehRebateWithApplyVo"> <select id="selectListAllVo" resultType="com.yxt.anrui.scm.api.scmvehrebatewithapply.ScmVehRebateWithApplyVo">
SELECT * FROM scm_veh_rebate_with_apply <where> ${ew.sqlSegment} </where> SELECT * FROM scm_veh_rebate_with_apply <where> ${ew.sqlSegment} </where>
</select> </select>
<update id="updateFlowFiled">
UPDATE scm_veh_rebate_with_apply
SET nodeState=#{nodeState}, nodeSid=#{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> </mapper>

237
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java

@ -26,9 +26,18 @@
package com.yxt.anrui.scm.biz.scmvehrebatewithapply; package com.yxt.anrui.scm.biz.scmvehrebatewithapply;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
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.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
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.scm.api.flow.FlowTaskVo; import com.yxt.anrui.scm.api.flow.FlowTaskVo;
import com.yxt.anrui.scm.api.scmvehrebatewith.ScmVehRebateWithDetailsVo; import com.yxt.anrui.scm.api.scmvehrebatewith.ScmVehRebateWithDetailsVo;
import com.yxt.anrui.scm.api.scmvehrebatewith.ScmVehRebateWithDto; import com.yxt.anrui.scm.api.scmvehrebatewith.ScmVehRebateWithDto;
@ -36,6 +45,7 @@ import com.yxt.anrui.scm.api.scmvehrebatewithapply.flow.GetNodeQuery;
import com.yxt.anrui.scm.api.scmvehrebatewithapply.flow.GetNodeVo; import com.yxt.anrui.scm.api.scmvehrebatewithapply.flow.GetNodeVo;
import com.yxt.anrui.scm.api.scmvehrebatewithapply.flow.SubmitScmVehRebateWithApplyDto; import com.yxt.anrui.scm.api.scmvehrebatewithapply.flow.SubmitScmVehRebateWithApplyDto;
import com.yxt.anrui.scm.biz.scmvehrebatewith.ScmVehRebateWithService; import com.yxt.anrui.scm.biz.scmvehrebatewith.ScmVehRebateWithService;
import com.yxt.common.base.utils.ConstantUtils;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
@ -51,8 +61,9 @@ import com.yxt.anrui.scm.api.scmvehrebatewithapply.ScmVehRebateWithApplyDto;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays; import java.math.BigDecimal;
import java.util.List; import java.util.*;
import java.util.stream.Collectors;
/** /**
* Project: anrui-scm(单车返利预提申请) <br/> * Project: anrui-scm(单车返利预提申请) <br/>
@ -72,6 +83,14 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
@Autowired @Autowired
private ScmVehRebateWithService scmVehRebateWithService; private ScmVehRebateWithService scmVehRebateWithService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private SysUserFeign sysUserFeign;
private QueryWrapper<ScmVehRebateWithApply> createQueryWrapper(ScmVehRebateWithApplyQuery query) { private QueryWrapper<ScmVehRebateWithApply> createQueryWrapper(ScmVehRebateWithApplyQuery query) {
// todo: 这里根据具体业务调整查询条件 // todo: 这里根据具体业务调整查询条件
@ -101,7 +120,7 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
return p; return p;
} }
public ResultBean saveOrUpdateDto(ScmVehRebateWithApplyDto dto) { public ResultBean<String> saveOrUpdateDto(ScmVehRebateWithApplyDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid(); String dtoSid = dto.getSid();
List<ScmVehRebateWithDto> scmVehRebateWiths = dto.getScmVehRebateWiths(); List<ScmVehRebateWithDto> scmVehRebateWiths = dto.getScmVehRebateWiths();
@ -114,7 +133,7 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
scmVehRebateWith.setMainSid(sid); scmVehRebateWith.setMainSid(sid);
scmVehRebateWithService.insertByDto(scmVehRebateWith); scmVehRebateWithService.insertByDto(scmVehRebateWith);
} }
return rb.success().setMsg("添加成功"); return rb.success().setMsg("添加成功").setData(sid);
} }
ScmVehRebateWithApply scmVehRebateWithApply = fetchBySid(dtoSid); ScmVehRebateWithApply scmVehRebateWithApply = fetchBySid(dtoSid);
if (scmVehRebateWithApply == null){ if (scmVehRebateWithApply == null){
@ -126,13 +145,14 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
scmVehRebateWith.setMainSid(dtoSid); scmVehRebateWith.setMainSid(dtoSid);
scmVehRebateWithService.insertByDto(scmVehRebateWith); scmVehRebateWithService.insertByDto(scmVehRebateWith);
} }
return rb.success().setMsg("修改成功"); return rb.success().setMsg("修改成功").setData(dtoSid);
} }
public ResultBean<String> insertByDto(ScmVehRebateWithApplyDto dto) { public ResultBean<String> insertByDto(ScmVehRebateWithApplyDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
ScmVehRebateWithApply entity = new ScmVehRebateWithApply(); ScmVehRebateWithApply entity = new ScmVehRebateWithApply();
BeanUtil.copyProperties(dto, entity, "id", "sid"); BeanUtil.copyProperties(dto, entity, "id", "sid");
entity.setNodeState("待提交");
baseMapper.insert(entity); baseMapper.insert(entity);
return rb.success().setData(entity.getSid()); return rb.success().setData(entity.getSid());
} }
@ -179,34 +199,219 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
} }
public ResultBean submitVehRebateWithApply(SubmitScmVehRebateWithApplyDto dto) { public ResultBean submitVehRebateWithApply(SubmitScmVehRebateWithApplyDto dto) {
return null; ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> orgByStaffSid = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!orgByStaffSid.getSuccess()) {
return rb.setMsg(orgByStaffSid.getMsg());
}
//用户的组织全路径
String orgSidPath = orgByStaffSid.getData().getOrgSidPath();
ScmVehRebateWithApply scmVehRebateWithApply = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, scmVehRebateWithApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
ResultBean<String> resultBean = saveOrUpdateDto(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值
Map<String, Object> variables = BeanUtil.beanToMap(dto);
//若有网关,则赋值网关中判断的字段。
variables.put("businessSid", businessSid);
//=====================添加app所需参数
Map<String,Object> appMap = new HashMap<>();
appMap.put("sid",businessSid);
variables.put("app",appMap);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.SCMVEHREBATEWITHAPPLY.getProDefId());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(scmVehRebateWithApply.getTaskId());
bv.setTaskDefKey(scmVehRebateWithApply.getNodeSid());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
/**
* 判断提交的流程是否被允许
*
* @param dto
* @return
*/
private synchronized int submitBusinessData(SubmitScmVehRebateWithApplyDto dto, ScmVehRebateWithApply scmVehRebateWithApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (scmVehRebateWithApply != null) {
String businessTaskId = scmVehRebateWithApply.getTaskId();
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
//新提交
r = 1;
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
//二次提交//只有数据一致的时候才能进行下一步
r = 2;
}
} else {
r = 3;
}
}
return r;
}
private int updateFlowFiled(Map<String, Object> beanToMap) {
return baseMapper.updateFlowFiled(beanToMap);
} }
public ResultBean complete(BusinessVariables bv) { public ResultBean complete(BusinessVariables bv) {
return null; ResultBean rb = ResultBean.fireFail();
ScmVehRebateWithApply scmVehRebateWithApply = fetchBySid(bv.getBusinessSid());
if (bv.getTaskId().equals(scmVehRebateWithApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
} }
public ResultBean revokeProcess(FlowTaskVo flowTaskVo) { public ResultBean revokeProcess(FlowTaskVo query) {
return null; ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
//根据业务sid查询排内购申请
ScmVehRebateWithApply scmVehRebateWithApply = fetchBySid(query.getBusinessSid());
String businessTaskId = scmVehRebateWithApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo flowTaskVo = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
flowTaskVo.setValues(BeanUtil.beanToMap(scmVehRebateWithApply));
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 taskReject(FlowTaskVo flowTaskVo) { public ResultBean taskReject(FlowTaskVo query) {
return null; ResultBean rb = ResultBean.fireFail();
ScmVehRebateWithApply scmVehRebateWithApply = fetchBySid(query.getBusinessSid());
if (scmVehRebateWithApply == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = scmVehRebateWithApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo flowTaskVo = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
//更新业务中的流程相关的参数
updateFlowFiled(map);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
} }
public ResultBean breakProcess(FlowTaskVo flowTaskVo) { public ResultBean breakProcess(FlowTaskVo query) {
return null; ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
ScmVehRebateWithApply scmVehRebateWithApply = fetchBySid(query.getBusinessSid());
String businessTaskId = scmVehRebateWithApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
com.yxt.anrui.flowable.api.flowtask.FlowTaskVo flowTaskVo = new com.yxt.anrui.flowable.api.flowtask.FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(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 flowRecord(String procInsId) { public ResultBean flowRecord(String procInsId) {
return null; return flowTaskFeign.businessFlowRecord(procInsId);
} }
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) { public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return null; ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.SCMVEHREBATEWITHAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
// List<GetNodeVo> voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
} }
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) { public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return null; ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.SCMVEHREBATEWITHAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m),GetNodeVo.class)).collect(Collectors.toList());
// List<GetNodeVo> voList = resultBean.getData().stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
} }
} }
Loading…
Cancel
Save