|
|
@ -6,6 +6,7 @@ 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.busvehicleapply.*; |
|
|
|
import com.yxt.anrui.base.api.busvehicleapply.flow.BusVehicleApplyTaskQuery; |
|
|
|
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeQuery; |
|
|
|
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo; |
|
|
|
import com.yxt.anrui.base.api.busvehicleapply.flow.SubmitBusVehicleApplyDto; |
|
|
@ -16,6 +17,7 @@ import com.yxt.anrui.base.biz.busvehicleapplydetail.BusVehicleApplyDetailService |
|
|
|
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.flowtask.FlowTaskVo; |
|
|
|
import com.yxt.anrui.flowable.api.utils.ProcDefEnum; |
|
|
|
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
|
|
@ -197,16 +199,28 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa |
|
|
|
bv.setUserSid(dto.getCreateBySid()); |
|
|
|
bv.setFormVariables(variables); |
|
|
|
bv.setModelId(ProcDefEnum.VEHICLEAPPLY.getProDefId()); |
|
|
|
if (StringUtils.isBlank(dto.getTaskId())) { // 新提交
|
|
|
|
//启动流程
|
|
|
|
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv); |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(ufVo)); |
|
|
|
return voResultBean; |
|
|
|
} else { // ToDo:驳回到发起人后再次提交
|
|
|
|
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); |
|
|
|
bv.setInstanceId(dto.getInstanceId()); |
|
|
|
return complete(bv); |
|
|
|
BusVehicleApply busVehicleApply = fetchBySid(businessSid); |
|
|
|
if (busVehicleApply != null) { |
|
|
|
if (StringUtils.isBlank(dto.getTaskId())) { |
|
|
|
// 新提交//启动流程
|
|
|
|
if (StringUtils.isBlank(busVehicleApply.getTaskId())) { |
|
|
|
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv); |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(ufVo)); |
|
|
|
return voResultBean; |
|
|
|
} else { |
|
|
|
return rb.setMsg("操作失败"); |
|
|
|
} |
|
|
|
} else if (dto.getTaskId().equals(busVehicleApply.getTaskId())) { |
|
|
|
// ToDo:驳回到发起人后再次提交
|
|
|
|
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); |
|
|
|
bv.setInstanceId(dto.getInstanceId()); |
|
|
|
return complete(bv); |
|
|
|
} else { |
|
|
|
return rb.setMsg("操作失败"); |
|
|
|
} |
|
|
|
} else { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -227,12 +241,22 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean complete(BusinessVariables bv) { |
|
|
|
ResultBean<UpdateFlowFieldVo> rb = flowableFeign.handleProsess(bv); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(rb.getData())); |
|
|
|
//ToDo:排产申请通过后的状态更新以及厂家认款的推送
|
|
|
|
//查询是否是最后一个环节,若是则更新排产申请的状态为通过。
|
|
|
|
//若状态为通过,需要打款的推送打款状态为未打款厂家认款记录;无需打款的,直接推送打款状态为无需打款的厂家认款记录。
|
|
|
|
return rb; |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BusVehicleApply busVehicleApply = fetchBySid(bv.getBusinessSid()); |
|
|
|
if (bv.getTaskId().equals(busVehicleApply.getTaskId())) { |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
//ToDo:排产申请通过后的状态更新以及厂家认款的推送
|
|
|
|
//查询是否是最后一个环节,若是则更新排产申请的状态为通过。
|
|
|
|
//若状态为通过,需要打款的推送打款状态为未打款厂家认款记录;无需打款的,直接推送打款状态为无需打款的厂家认款记录。
|
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} else { |
|
|
|
return rb.setMsg("操作失败"); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -271,5 +295,29 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa |
|
|
|
return rb.success().setData(voList); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 驳回任务 |
|
|
|
* |
|
|
|
* @param query |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean taskReject(BusVehicleApplyTaskQuery query) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
FlowTaskVo flowTaskVo = new FlowTaskVo(); |
|
|
|
BeanUtil.copyProperties(query, flowTaskVo); |
|
|
|
BusVehicleApply busVehicleApply = fetchBySid(query.getBusinessSid()); |
|
|
|
if (busVehicleApply == null) { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
} |
|
|
|
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData()); |
|
|
|
map.put("procInstSid", busVehicleApply.getProcInstId()); |
|
|
|
map.put("procDefId", busVehicleApply.getProcDefId()); |
|
|
|
//更新业务中的流程相关的参数
|
|
|
|
updateFlowFiled(map); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} |
|
|
|
} |