|
|
@ -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; |
|
|
|
} |
|
|
|
} |