|
|
@ -8,9 +8,9 @@ import com.yxt.anrui.base.api.basevehicle.BaseVehicleUpdateQuery; |
|
|
|
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetails; |
|
|
|
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basevehicleactualsales.*; |
|
|
|
import com.yxt.anrui.base.api.basevehicleactualsales.flow.BaseActualSalesTaskQuery; |
|
|
|
import com.yxt.anrui.base.api.basevehicleactualsales.flow.ActualGetNodeQuery; |
|
|
|
import com.yxt.anrui.base.api.basevehicleactualsales.flow.ActualGetNodeVo; |
|
|
|
import com.yxt.anrui.base.api.basevehicleactualsales.flow.BaseActualSalesTaskQuery; |
|
|
|
import com.yxt.anrui.base.api.basevehicleactualsales.flow.SubmitActualSalesDto; |
|
|
|
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService; |
|
|
|
import com.yxt.anrui.base.biz.basevehicleactualdetails.BaseVehicleActualDetailsService; |
|
|
@ -243,17 +243,6 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl |
|
|
|
if (dto.getDetailsList().size() == 0) { |
|
|
|
return rb.setMsg("请选择未售买断的车辆"); |
|
|
|
} |
|
|
|
//保存或修改未售买断申请
|
|
|
|
ResultBean<String> resultBean = saveOrUpdateVehicleSales(dto); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
//判断车辆的结算状态是否包含预买断的状态,如果是的话,返回提交失败
|
|
|
|
boolean isTrue = isTrue(resultBean.getData().toString()); |
|
|
|
if (isTrue) { |
|
|
|
return rb.setMsg("提交失败!该申请中包含结算状态已是预买断状态的车辆"); |
|
|
|
} |
|
|
|
String businessSid = resultBean.getData(); |
|
|
|
//根据用户sid获取staffSid
|
|
|
|
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); |
|
|
|
if (!userVoResultBean.getSuccess()) { |
|
|
@ -266,6 +255,25 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl |
|
|
|
} |
|
|
|
//用户的组织全路径
|
|
|
|
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); |
|
|
|
BaseVehicleActualSales baseVehicleActualSales = fetchBySid(dto.getSid()); |
|
|
|
int r = submitBusinessData(dto, baseVehicleActualSales); |
|
|
|
if (r == 3) { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
if (r == 0) { |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致"); |
|
|
|
} |
|
|
|
//保存或修改未售买断申请
|
|
|
|
ResultBean<String> resultBean = saveOrUpdateVehicleSales(dto); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
String businessSid = resultBean.getData(); |
|
|
|
//判断车辆的结算状态是否包含预买断的状态,如果是的话,返回提交失败
|
|
|
|
boolean isTrue = isTrue(businessSid); |
|
|
|
if (isTrue) { |
|
|
|
return rb.setMsg("提交失败!该申请中包含结算状态已是预买断状态的车辆"); |
|
|
|
} |
|
|
|
//创建BusinessVariables实体对象
|
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
Map<String, Object> variables = BeanUtil.beanToMap(dto); |
|
|
@ -275,29 +283,51 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl |
|
|
|
bv.setUserSid(dto.getUserSid()); |
|
|
|
bv.setFormVariables(variables); |
|
|
|
bv.setModelId(ProcDefEnum.BASEVEHICLEACTUALSALES.getProDefId()); |
|
|
|
BaseVehicleActualSales baseVehicleActualSales = fetchBySid(businessSid); |
|
|
|
if (baseVehicleActualSales != null) { |
|
|
|
if (StringUtils.isBlank(dto.getTaskId())) { |
|
|
|
// 新提交//启动流程
|
|
|
|
if (StringUtils.isBlank(baseVehicleActualSales.getTaskId())) { |
|
|
|
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv); |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(ufVo)); |
|
|
|
return voResultBean; |
|
|
|
} else { |
|
|
|
return rb.setMsg("操作失败"); |
|
|
|
baseVehicleActualSales = fetchBySid(dto.getSid()); |
|
|
|
if (r == 1) { |
|
|
|
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv); |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(ufVo)); |
|
|
|
return voResultBean; |
|
|
|
} |
|
|
|
if (r == 2) { |
|
|
|
// ToDo:驳回到发起人后再次提交
|
|
|
|
bv.setTaskId(baseVehicleActualSales.getTaskId()); |
|
|
|
bv.setTaskDefKey(baseVehicleActualSales.getNodeId()); |
|
|
|
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); |
|
|
|
bv.setInstanceId(dto.getInstanceId()); |
|
|
|
return complete(bv); |
|
|
|
} |
|
|
|
return rb; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 判断提交的流程是否被允许 |
|
|
|
* |
|
|
|
* @param dto |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private synchronized int submitBusinessData(SubmitActualSalesDto dto, BaseVehicleActualSales baseVehicleActualSales) { |
|
|
|
int r = 0; |
|
|
|
if (StringUtils.isBlank(dto.getSid())) { |
|
|
|
r = 1; |
|
|
|
} else { |
|
|
|
baseVehicleActualSales = fetchBySid(dto.getSid()); |
|
|
|
if (baseVehicleActualSales != null) { |
|
|
|
String businessTaskId = baseVehicleActualSales.getTaskId(); |
|
|
|
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { |
|
|
|
//新提交
|
|
|
|
r = 1; |
|
|
|
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { |
|
|
|
//二次提交//只有数据一致的时候才能进行下一步
|
|
|
|
r = 2; |
|
|
|
} |
|
|
|
} else if (dto.getTaskId().equals(baseVehicleActualSales.getTaskId())) { |
|
|
|
// ToDo:驳回到发起人后再次提交
|
|
|
|
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); |
|
|
|
bv.setInstanceId(dto.getInstanceId()); |
|
|
|
return complete(bv); |
|
|
|
} else { |
|
|
|
return rb.setMsg("操作失败"); |
|
|
|
r = 3; |
|
|
|
} |
|
|
|
} else { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
|
|
|
|
} |
|
|
|
return r; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -318,14 +348,13 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
//ToDo:未售买断通过后的状态更新
|
|
|
|
//查询是否是最后一个环节,若是则更新未售买断的状态为通过。
|
|
|
|
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { |
|
|
|
//更新车辆的结算状态
|
|
|
|
updateByVinNo(bv.getBusinessSid()); |
|
|
|
} |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} else { |
|
|
|
return rb.setMsg("操作失败"); |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致"); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|