Browse Source

优化移动端和pc流程提交接口、办理、驳回、终止、撤回接口添加、获取上一环节、获取下一环节

master
dimengzhe 3 years ago
parent
commit
cfd21d1e31
  1. 15
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java
  2. 17
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java
  3. 23
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/flowable/BusSaleOrderNodeQuery.java
  4. 26
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/flowable/BusSaleOrderNodeVo.java
  5. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/flowable/BusSalesOrderFlowDto.java
  6. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/flowable/BusSalesOrderFlowQuery.java
  7. 19
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java
  8. 105
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  9. 30
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java
  10. 28
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java
  11. 37
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/flowable/SaleOrderDto.java
  12. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/flowable/SaleOrderQuery.java
  13. 47
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/flowable/SaleOrderTaskQuery.java
  14. 28
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java
  15. 100
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java

15
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java

@ -29,8 +29,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppBusSaleOrderInitMo
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppBusSaleOrderInitModelInfoVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppInitModelQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.SubmitAllOrderDto;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.SubmitSalesOrderDto;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -41,6 +40,7 @@ import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* Project: anrui-buscenter(业务管理) <br/>
@ -100,7 +100,7 @@ public interface BusSalesOrderFeign {
@ApiOperation(value = "驳回任务")
@PutMapping("/reject")
@ResponseBody
ResultBean reject(@RequestBody BusSalesOrderFlowDto dto);
ResultBean taskReject(@RequestBody BusSalesOrderFlowDto dto);
@ApiOperation(value = "终止任务")
@PutMapping("/breakProcess")
@ -112,6 +112,15 @@ public interface BusSalesOrderFeign {
@ResponseBody
ResultBean revokeProcess(@RequestBody BusSalesOrderFlowDto dto);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<BusSaleOrderNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap BusSaleOrderNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<BusSaleOrderNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap BusSaleOrderNodeQuery query);
/*-------------------------------------App销售订单接口------------------------------------------------*/

17
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java

@ -29,13 +29,14 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppBusSaleOrderInitMo
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppBusSaleOrderInitModelInfoVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppInitModelQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.SubmitAllOrderDto;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.SubmitSalesOrderDto;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Project: anrui-buscenter(业务管理) <br/>
* File: BusSalesOrderFeignFallback.java <br/>
@ -90,7 +91,7 @@ public class BusSalesOrderFeignFallback implements BusSalesOrderFeign {
}
@Override
public ResultBean reject(BusSalesOrderFlowDto dto) {
public ResultBean taskReject(BusSalesOrderFlowDto dto) {
return null;
}
@ -104,6 +105,16 @@ public class BusSalesOrderFeignFallback implements BusSalesOrderFeign {
return null;
}
@Override
public ResultBean<List<BusSaleOrderNodeVo>> getPreviousNodesForReject(BusSaleOrderNodeQuery query) {
return null;
}
@Override
public ResultBean<List<BusSaleOrderNodeVo>> getNextNodesForSubmit(BusSaleOrderNodeQuery query) {
return null;
}
@Override
public ResultBean<AppBusSaleOrderStateVo> saleOrderState(String saleOrderSid) {
return null;

23
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/flowable/BusSaleOrderNodeQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.buscenter.api.bussalesorder.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/9 13:38
* @Description
*/
@Data
public class BusSaleOrderNodeQuery implements Query {
private static final long serialVersionUID = -2159093302374297017L;
@ApiModelProperty(value = "环节定义id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
}

26
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/flowable/BusSaleOrderNodeVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.buscenter.api.bussalesorder.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/9 13:40
* @Description
*/
@Data
public class BusSaleOrderNodeVo implements Vo {
private static final long serialVersionUID = -8875596875280744529L;
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFlowDto.java → anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/flowable/BusSalesOrderFlowDto.java

@ -1,4 +1,4 @@
package com.yxt.anrui.buscenter.api.bussalesorder;
package com.yxt.anrui.buscenter.api.bussalesorder.flowable;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFlowQuery.java → anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/flowable/BusSalesOrderFlowQuery.java

@ -1,4 +1,4 @@
package com.yxt.anrui.buscenter.api.bussalesorder;
package com.yxt.anrui.buscenter.api.bussalesorder.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;

19
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java

@ -31,8 +31,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppBusSaleOrderInitMo
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppBusSaleOrderInitModelInfoVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppInitModelQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.SubmitAllOrderDto;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.SubmitSalesOrderDto;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.*;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.core.query.PagerQuery;
@ -47,6 +46,8 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
/**
* Project: anrui-buscenter(业务管理) <br/>
* File: BusSalesOrderFeignFallback.java <br/>
@ -137,8 +138,8 @@ public class BusSalesOrderRest implements BusSalesOrderFeign {
}
@Override
public ResultBean reject(BusSalesOrderFlowDto dto) {
return busSalesOrderService.reject(dto);
public ResultBean taskReject(BusSalesOrderFlowDto dto) {
return busSalesOrderService.taskReject(dto);
}
@Override
@ -151,6 +152,16 @@ public class BusSalesOrderRest implements BusSalesOrderFeign {
return busSalesOrderService.revokeProcess(dto);
}
@Override
public ResultBean<List<BusSaleOrderNodeVo>> getPreviousNodesForReject(BusSaleOrderNodeQuery query) {
return busSalesOrderService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<BusSaleOrderNodeVo>> getNextNodesForSubmit(BusSaleOrderNodeQuery query) {
return busSalesOrderService.getNextNodesForSubmit(query);
}
@Override
@ApiOperation("初始化销售订单状态")

105
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -27,6 +27,7 @@ package com.yxt.anrui.buscenter.biz.bussalesorder;
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.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo;
@ -50,8 +51,7 @@ import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDto;
import com.yxt.anrui.buscenter.api.bussalesorder.*;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.*;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.SubmitAllOrderDto;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.SubmitSalesOrderDto;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.*;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDeposit;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDto;
@ -117,6 +117,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* Project: anrui-buscenter(业务管理) <br/>
@ -799,16 +800,16 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
* @param staffSid
* @return
*/
private String checkUserOrg(String staffSid) {
/*private String checkUserOrg(String staffSid) {
String orgSid = "";
ResultBean<String> resultBean = sysStaffOrgFeign.getSysStaffOrgSidListByStaffSid(staffSid);
if (resultBean.getSuccess()) {
orgSid = resultBean.getData();
}
return orgSid;
}
}*/
private void modifyFlowState(String businessSid, String proDefId, String nodeState,
/* private void modifyFlowState(String businessSid, String proDefId, String nodeState,
String procInsId,
String taskDefKey, String taskId) {
baseMapper.modifyFlowState(businessSid,
@ -816,7 +817,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
nodeState,
procInsId,
taskDefKey, taskId);
}
}*/
/* public ResultBean complete(BusSalesOrderFlowQuery busSalesOrderFlowQuery) {
ResultBean rb = ResultBean.fireFail();
@ -870,7 +871,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
baseMapper.updateStateByBusinessSid(state, businessSid);
}
public ResultBean reject(BusSalesOrderFlowDto query) {
public ResultBean taskReject(BusSalesOrderFlowDto query) {
/* FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(dto, flowTaskVo);
ResultBean<List<LatestTaskVo>> resultBean = flowTaskFeign.taskReject(flowTaskVo);
@ -906,8 +907,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> variables = getOrderMap(busSalesOrder);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
@ -2228,19 +2228,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//是否是全款
variables.put("isLoan", "01".equals(busSalesOrder.getPayTypeKey()));
//查询是否超权限
BusSalesOrderPowerVo busSalesOrderPowerVo = isHavePower(businessSid);
//销售部经理是否超权限
variables.put("isPrice", busSalesOrderPowerVo.getIsHavePower());
//总经理是否超权限
variables.put("isPrice1", busSalesOrderPowerVo.getIsPower());
variables.put("isLoan1", "3".equals(busSalesOrder.getType()));
Map<String, Object> variables = getOrderMap(busSalesOrder);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
@ -2249,7 +2237,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
bv.setUserSid(busSalesOrder.getCreateBySid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.VEHICLEAPPLY.getProDefId());
bv.setModelId(ProcDefEnum.SALESORDER.getProDefId());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
@ -2321,8 +2309,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BusSalesOrder busSalesOrder = fetchBySid(bv.getBusinessSid());
Map<String, Object> variables = new HashMap<>();
Map<String, Object> variables = getOrderMap(busSalesOrder);
bv.setFormVariables(variables);
if (bv.getTaskId().equals(busSalesOrder.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
@ -2339,4 +2326,72 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
}
/**
* 获取上一环节信息
*
* @param query
* @return
*/
public ResultBean<List<BusSaleOrderNodeVo>> getPreviousNodesForReject(BusSaleOrderNodeQuery query) {
ResultBean<List<BusSaleOrderNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//根据业务sid查询订单信息
BusSalesOrder busSalesOrder = fetchBySid(query.getBusinessSid());
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = getOrderMap(busSalesOrder);
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.SALESORDER.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<BusSaleOrderNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BusSaleOrderNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
/**
* 获取下一环节信息
*
* @param query
* @return
*/
public ResultBean<List<BusSaleOrderNodeVo>> getNextNodesForSubmit(BusSaleOrderNodeQuery query) {
ResultBean<List<BusSaleOrderNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//根据业务sid查询订单信息
BusSalesOrder busSalesOrder = fetchBySid(query.getBusinessSid());
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = getOrderMap(busSalesOrder);
bv.setFormVariables(variables);
bv.setModelId(ProcDefEnum.SALESORDER.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<BusSaleOrderNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BusSaleOrderNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
/**
* 根据销售订单信息组装流程中的网关信息数据
*
* @param busSalesOrder 销售订单信息
* @return
*/
public Map<String, Object> getOrderMap(BusSalesOrder busSalesOrder) {
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", busSalesOrder.getSid());
variables.put("app", appMap);
//是否是全款
variables.put("isLoan", "01".equals(busSalesOrder.getPayTypeKey()));
//查询是否超权限
BusSalesOrderPowerVo busSalesOrderPowerVo = isHavePower(busSalesOrder.getSid());
//销售部经理是否超权限
variables.put("isPrice", busSalesOrderPowerVo.getIsHavePower());
//总经理是否超权限
variables.put("isPrice1", busSalesOrderPowerVo.getIsPower());
//是否排产
variables.put("isLoan1", "3".equals(busSalesOrder.getType()));
return variables;
}
}

30
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java

@ -32,6 +32,9 @@ import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfo
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositListVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SaleOrderDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SaleOrderQuery;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SaleOrderTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SubmitOrderDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoVo;
@ -221,10 +224,37 @@ public interface AppBusSalesOrderFeign {
@ResponseBody
ResultBean<OrderDetailsVo> getSaleOrderDetail(@PathVariable(value = "saleOrderSid") String sid);
/*-----------------------------------------流程------------------------------------------*/
@ApiOperation("提交销售订单")
@PostMapping("/submitSaleOrderInfo")
@ResponseBody
ResultBean submitSaleOrderInfo(@RequestBody SubmitOrderDto dto);
@ApiOperation("办理")
@PutMapping("/agreeSaleOrderInfo")
@ResponseBody
ResultBean agreeSaleOrderInfo(@RequestBody SaleOrderDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectSaleOrderInfo")
@ResponseBody
ResultBean rejectSaleOrderInfo(@RequestBody SaleOrderTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallSaleOrderInfo")
@ResponseBody
ResultBean recallSaleOrderInfo(@RequestBody SaleOrderTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopSaleOrderInfo")
@ResponseBody
ResultBean stopSaleOrderInfo(@RequestBody SaleOrderTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap SaleOrderQuery query);
}

28
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java

@ -31,6 +31,9 @@ import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfo
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositListVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SaleOrderDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SaleOrderQuery;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SaleOrderTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SubmitOrderDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoVo;
@ -195,4 +198,29 @@ public class AppBusSalesOrderFeignFallback implements AppBusSalesOrderFeign {
public ResultBean submitSaleOrderInfo(SubmitOrderDto dto) {
return null;
}
@Override
public ResultBean agreeSaleOrderInfo(SaleOrderDto dto) {
return null;
}
@Override
public ResultBean rejectSaleOrderInfo(SaleOrderTaskQuery query) {
return null;
}
@Override
public ResultBean recallSaleOrderInfo(SaleOrderTaskQuery query) {
return null;
}
@Override
public ResultBean stopSaleOrderInfo(SaleOrderTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(SaleOrderQuery query) {
return null;
}
}

37
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/flowable/SaleOrderDto.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.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/9 14:09
* @Description
*/
@Data
public class SaleOrderDto implements Dto {
private static final long serialVersionUID = 3626473483180150495L;
@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/saleOrders/flowable/SaleOrderQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.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/9 14:15
* @Description
*/
@Data
public class SaleOrderQuery implements Query {
private static final long serialVersionUID = 5514095179438249641L;
@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/saleOrders/flowable/SaleOrderTaskQuery.java

@ -0,0 +1,47 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.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/9 14:11
* @Description
*/
@Data
public class SaleOrderTaskQuery implements Query {
private static final long serialVersionUID = -7082170710942810289L;
/**
* 终止驳回撤回
*/
@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/saleOrders/AppBusSalesOrderRest.java

@ -32,6 +32,9 @@ import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfo
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositListVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SaleOrderDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SaleOrderQuery;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SaleOrderTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SubmitOrderDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoVo;
@ -283,4 +286,29 @@ public class AppBusSalesOrderRest implements AppBusSalesOrderFeign {
return appBusSalesOrderService.submitSaleOrderInfo(dto);
}
@Override
public ResultBean agreeSaleOrderInfo(SaleOrderDto dto) {
return appBusSalesOrderService.agreeSaleOrderInfo(dto);
}
@Override
public ResultBean rejectSaleOrderInfo(SaleOrderTaskQuery query) {
return appBusSalesOrderService.rejectSaleOrderInfo(query);
}
@Override
public ResultBean recallSaleOrderInfo(SaleOrderTaskQuery query) {
return appBusSalesOrderService.recallSaleOrderInfo(query);
}
@Override
public ResultBean stopSaleOrderInfo(SaleOrderTaskQuery query) {
return appBusSalesOrderService.stopSaleOrderInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(SaleOrderQuery query) {
return appBusSalesOrderService.getFlowOperateTitle(query);
}
}

100
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java

@ -34,7 +34,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppBusSaleOrderInitMo
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppBusSaleOrderInitModelInfoVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppInitModelQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.SubmitSalesOrderDto;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.*;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositFeign;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositDto;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositVo;
@ -57,6 +57,10 @@ import com.yxt.anrui.buscenter.api.bussalesorderprice.app.AppBusSalesOrderPriceV
import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo;
import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemandFeign;
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.saleOrders.depositinfo.DepositInfoDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoQuery;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoVo;
@ -64,6 +68,9 @@ import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositList
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountListVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SaleOrderDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SaleOrderQuery;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SaleOrderTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.flowable.SubmitOrderDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoVo;
@ -82,6 +89,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Collections;
import java.util.List;
@ -119,6 +127,10 @@ public class AppBusSalesOrderService {
private BusSalesOrderDepositFeign busSalesOrderDepositFeign;
@Autowired
private BusMainDepositFeign busMainDepositFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysUserFeign sysUserFeign;
/************************************* 销售订单接口 *********************************************/
@ -436,4 +448,90 @@ public class AppBusSalesOrderService {
}
return rb.success();
}
public ResultBean agreeSaleOrderInfo(SaleOrderDto 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();
BusSalesOrderFlowQuery busSalesOrderFlowQuery = new BusSalesOrderFlowQuery();
BeanUtil.copyProperties(dto, busSalesOrderFlowQuery);
busSalesOrderFlowQuery.setOrgSidPath(orgSidPath);
ResultBean resultBean = busSalesOrderFeign.complete(busSalesOrderFlowQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectSaleOrderInfo(SaleOrderTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusSalesOrderFlowDto busSalesOrderFlowDto = new BusSalesOrderFlowDto();
BeanUtil.copyProperties(query, busSalesOrderFlowDto);
ResultBean resultBean = busSalesOrderFeign.taskReject(busSalesOrderFlowDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallSaleOrderInfo(SaleOrderTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusSalesOrderFlowDto busSalesOrderFlowDto = new BusSalesOrderFlowDto();
BeanUtil.copyProperties(query, busSalesOrderFlowDto);
ResultBean resultBean = busSalesOrderFeign.revokeProcess(busSalesOrderFlowDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopSaleOrderInfo(SaleOrderTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
BusSalesOrderFlowDto busSalesOrderFlowDto = new BusSalesOrderFlowDto();
BeanUtil.copyProperties(query, busSalesOrderFlowDto);
ResultBean resultBean = busSalesOrderFeign.breakProcess(busSalesOrderFlowDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(SaleOrderQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
BusSaleOrderNodeQuery getNodeQuery = new BusSaleOrderNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<BusSaleOrderNodeVo>> getPreviousNodesForReject = busSalesOrderFeign.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<BusSaleOrderNodeVo>> getNextNodesForSubmit = busSalesOrderFeign.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