|
|
@ -25,6 +25,8 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
|
|
|
import com.yxt.anrui.scm.api.flow.FlowTaskVo; |
|
|
|
import com.yxt.anrui.scm.api.scmapplyinbound.*; |
|
|
|
import com.yxt.anrui.scm.api.scmapplyinbound.flow.GetNodeQuery; |
|
|
|
import com.yxt.anrui.scm.api.scmapplyinbound.flow.ScmApplyInBoundCompleteDto; |
|
|
|
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicle; |
|
|
|
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicleDto; |
|
|
|
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicleVo; |
|
|
@ -193,7 +195,7 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
} else { |
|
|
|
return new ResultBean().fail().setMsg("车辆台数填写不正确"); |
|
|
|
} |
|
|
|
if (scmFiles.size() > 0){ |
|
|
|
if (scmFiles.size() > 0) { |
|
|
|
for (ScmFileDto scmFile : scmFiles) { |
|
|
|
scmFile.setAttachType(CommonAttachTypeEnum.INBOUNDAPPLY.getAttachType()); |
|
|
|
scmFile.setLinkSid(inboundVehicle.getSid()); |
|
|
@ -231,7 +233,7 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
BeanUtil.copyProperties(dto, scmApplyInbound); |
|
|
|
updateById(scmApplyInbound); |
|
|
|
scmFileService.delByMainSid(dto.getSid()); |
|
|
|
if (scmFiles.size() > 0){ |
|
|
|
if (scmFiles.size() > 0) { |
|
|
|
for (ScmFileDto scmFile : scmFiles) { |
|
|
|
scmFile.setAttachType(CommonAttachTypeEnum.INBOUNDAPPLY.getAttachType()); |
|
|
|
scmFile.setLinkSid(dto.getSid()); |
|
|
@ -337,7 +339,7 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
*/ |
|
|
|
public ResultBean submitRecordApplication(SubmitScmApplyInboundDto dto) { |
|
|
|
String orgSidPath = dto.getOrgSidPath(); |
|
|
|
String busSid = dto.getBusinessSid(); |
|
|
|
String busSid = dto.getSid(); |
|
|
|
if (StringUtils.isBlank(busSid)) { |
|
|
|
Map<String, Object> variables = BeanUtil.beanToMap(dto); |
|
|
|
ResultBean resultBean = saveOrUpdateApplyInBound(dto);//insert
|
|
|
@ -394,90 +396,76 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
/** |
|
|
|
* 办理 |
|
|
|
* |
|
|
|
* @param dto |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean complete(SubmitScmApplyInboundDto dto) { |
|
|
|
|
|
|
|
public ResultBean complete(BusinessVariables bv) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
ScmApplyInbound booad = this.fetchBySid(dto.getSid()); |
|
|
|
if (StringUtils.isBlank(booad.getTaskId()) || !booad.getTaskId().equals(dto.getTaskId())) { |
|
|
|
return rb.setMsg("操作失败,提交的数据不一致!"); |
|
|
|
} |
|
|
|
//取组织架构的全路径sid
|
|
|
|
String orgSidPath = dto.getOrgSidPath(); |
|
|
|
Map<String, Object> variables = BeanUtil.beanToMap(dto); |
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
bv.setTaskId(booad.getTaskId()); |
|
|
|
bv.setOrgSidPath(orgSidPath); |
|
|
|
bv.setBusinessSid(dto.getSid()); |
|
|
|
bv.setUserSid(dto.getUserSid()); |
|
|
|
variables.put("businessSid", dto.getSid()); |
|
|
|
bv.setTaskDefKey(booad.getTaskDefKey()); |
|
|
|
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交"); |
|
|
|
bv.setInstanceId(booad.getProcInsId()); |
|
|
|
bv.setFormVariables(variables); |
|
|
|
bv.setModelId(ProcDefEnum.RECORDAPPLICATION.getProDefId()); |
|
|
|
ResultBean<UpdateFlowFieldVo> rrb = flowableFeign.handleProsess(bv); |
|
|
|
if (!rrb.getSuccess()) { |
|
|
|
return rb.setMsg(rrb.getMsg()); |
|
|
|
} |
|
|
|
String taskDefKey = rrb.getData().getTaskDefKey(); |
|
|
|
updateFlowFiled(rrb.getData()); |
|
|
|
if ("Event_end".equals(taskDefKey)) { |
|
|
|
List<ScmApplyInboundVehicleDto> vehicleList = dto.getVehicleList(); |
|
|
|
List<BaseVehicleDto> baseVehicleDtos = new ArrayList<>(); |
|
|
|
for (ScmApplyInboundVehicleDto scmApplyInboundVehicleDto : vehicleList) { |
|
|
|
ScmEntryVehicleExamineDto scmEntryVehicleExamineDto = new ScmEntryVehicleExamineDto(); |
|
|
|
//配置的名称
|
|
|
|
scmEntryVehicleExamineDto.setConfigName(dto.getConfigName()); |
|
|
|
scmEntryVehicleExamineDto.setConfigSid(booad.getConfigSid()); |
|
|
|
scmEntryVehicleExamineDto.setModelName(dto.getModelName()); |
|
|
|
scmEntryVehicleExamineDto.setModelSid(dto.getModelSid()); |
|
|
|
//订单类型
|
|
|
|
scmEntryVehicleExamineDto.setPurchaseTypeKey("03"); |
|
|
|
scmEntryVehicleExamineDto.setPurchaseType("排产"); |
|
|
|
scmEntryVehicleExamineDto.setUserSid(dto.getUserSid()); |
|
|
|
scmEntryVehicleExamineDto.setVinNo(scmApplyInboundVehicleDto.getVinNo()); |
|
|
|
scmEntryVehicleExamineDto.setInspectionResult("1"); |
|
|
|
scmEntryVehicleExamineDto.setDepartureDate(dto.getDepartureDate()); |
|
|
|
ResultBean<String> resultBean = scmVehicleExamineService.saveEntryCarInspectedInfo(scmEntryVehicleExamineDto); |
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
return rb.setMsg("验车业务模块的数据推送失败!"); |
|
|
|
String businessSid = bv.getBusinessSid(); |
|
|
|
ScmApplyInbound booad = this.fetchBySid(businessSid); |
|
|
|
if (bv.getTaskId().equals(booad.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())) { |
|
|
|
List<ScmApplyInboundVehicleDto> scmApplyInboundVehicleDtos = scmApplyInboundVehicleService.fetchByMainSid(businessSid); |
|
|
|
List<BaseVehicleDto> baseVehicleDtos = new ArrayList<>(); |
|
|
|
for (ScmApplyInboundVehicleDto scmApplyInboundVehicleDto : scmApplyInboundVehicleDtos) { |
|
|
|
ScmEntryVehicleExamineDto scmEntryVehicleExamineDto = new ScmEntryVehicleExamineDto(); |
|
|
|
//配置的名称
|
|
|
|
scmEntryVehicleExamineDto.setConfigName(booad.getConfigName()); |
|
|
|
scmEntryVehicleExamineDto.setConfigSid(booad.getConfigSid()); |
|
|
|
scmEntryVehicleExamineDto.setModelName(booad.getModelName()); |
|
|
|
scmEntryVehicleExamineDto.setModelSid(booad.getModelSid()); |
|
|
|
//订单类型
|
|
|
|
scmEntryVehicleExamineDto.setPurchaseTypeKey("03"); |
|
|
|
scmEntryVehicleExamineDto.setPurchaseType("排产"); |
|
|
|
scmEntryVehicleExamineDto.setUserSid(bv.getUserSid()); |
|
|
|
scmEntryVehicleExamineDto.setVinNo(scmApplyInboundVehicleDto.getVinNo()); |
|
|
|
scmEntryVehicleExamineDto.setInspectionResult("1"); |
|
|
|
scmEntryVehicleExamineDto.setDepartureDate(booad.getDepartureDate()); |
|
|
|
ResultBean<String> resultBean1 = scmVehicleExamineService.saveEntryCarInspectedInfo(scmEntryVehicleExamineDto); |
|
|
|
if (!resultBean1.getSuccess()) { |
|
|
|
return rb.setMsg("验车业务模块的数据推送失败!"); |
|
|
|
} |
|
|
|
ScmVehinspectItemDto scmVehinspectItemDto = new ScmVehinspectItemDto(); |
|
|
|
scmVehinspectItemDto.setVehInspectSid(resultBean1.getData()); |
|
|
|
scmVehinspectItemService.saveItem(scmVehinspectItemDto); |
|
|
|
//车辆台账推送数据
|
|
|
|
BaseVehicleDto baseVehicleDto = new BaseVehicleDto(); |
|
|
|
baseVehicleDto.setVinNo(scmApplyInboundVehicleDto.getVinNo()); |
|
|
|
baseVehicleDto.setModelSid(booad.getModelSid()); |
|
|
|
baseVehicleDto.setModelName(booad.getModelName()); |
|
|
|
String userSid = bv.getUserSid(); |
|
|
|
ResultBean<String> pathSidByUserSid = sysStaffOrgFeign.getPathSidByUserSid(userSid); |
|
|
|
String data = pathSidByUserSid.getData(); |
|
|
|
baseVehicleDto.setCreateOrgSid(data); |
|
|
|
baseVehicleDto.setUseOrgSid(data); |
|
|
|
baseVehicleDto.setModelConfigSid(booad.getConfigSid()); |
|
|
|
baseVehicleDto.setConfigName(booad.getConfigName()); |
|
|
|
baseVehicleDto.setInsideCode(booad.getInsideCode()); |
|
|
|
baseVehicleDto.setOrderingNo(booad.getPurchaseOrderNo()); |
|
|
|
baseVehicleDto.setSettlementStatus("0"); |
|
|
|
baseVehicleDto.setLockedState("0"); |
|
|
|
baseVehicleDto.setLockedStateValue("未锁定"); |
|
|
|
baseVehicleDto.setVehicleState("0003"); |
|
|
|
baseVehicleDto.setVehicleStateValue("在途"); |
|
|
|
baseVehicleDto.setManPurOrderTypeKey("001"); |
|
|
|
baseVehicleDto.setManPurOrderTypeValue("排产订单"); |
|
|
|
baseVehicleDto.setContractPrice(0);//Integer.parseInt(dto.getContractPrice().toString())
|
|
|
|
baseVehicleDto.setFreight(0);//Integer.parseInt(dto.getOnceFreight().subtract(dto.getSecondaryFreight()).toString())
|
|
|
|
baseVehicleDto.setCostPrice(0);//Integer.parseInt(dto.getCostPrice().toString())
|
|
|
|
baseVehicleDto.setPriceDate(DateUtil.today());//dto.getPriceDate()
|
|
|
|
baseVehicleDto.setDepartureDate(DateUtil.today());//dto.getDepartureDate()
|
|
|
|
baseVehicleDtos.add(baseVehicleDto); |
|
|
|
} |
|
|
|
ScmVehinspectItemDto scmVehinspectItemDto = new ScmVehinspectItemDto(); |
|
|
|
scmVehinspectItemDto.setVehInspectSid(resultBean.getData()); |
|
|
|
scmVehinspectItemService.saveItem(scmVehinspectItemDto); |
|
|
|
//车辆台账推送数据
|
|
|
|
BaseVehicleDto baseVehicleDto = new BaseVehicleDto(); |
|
|
|
baseVehicleDto.setVinNo(scmApplyInboundVehicleDto.getVinNo()); |
|
|
|
baseVehicleDto.setModelSid(dto.getModelSid()); |
|
|
|
baseVehicleDto.setModelName(dto.getModelName()); |
|
|
|
String userSid = dto.getUserSid(); |
|
|
|
ResultBean<String> pathSidByUserSid = sysStaffOrgFeign.getPathSidByUserSid(userSid); |
|
|
|
String data = pathSidByUserSid.getData(); |
|
|
|
baseVehicleDto.setCreateOrgSid(data); |
|
|
|
baseVehicleDto.setModelConfigSid(dto.getConfigSid()); |
|
|
|
baseVehicleDto.setConfigName(dto.getConfigName()); |
|
|
|
baseVehicleDto.setInsideCode(dto.getInsideCode()); |
|
|
|
baseVehicleDto.setOrderingNo(dto.getPurchaseOrderNo()); |
|
|
|
baseVehicleDto.setSettlementStatus("0"); |
|
|
|
baseVehicleDto.setLockedState("0"); |
|
|
|
baseVehicleDto.setLockedStateValue("未锁定"); |
|
|
|
baseVehicleDto.setVehicleState("0003"); |
|
|
|
baseVehicleDto.setVehicleStateValue("在途"); |
|
|
|
baseVehicleDto.setManPurOrderTypeKey("001"); |
|
|
|
baseVehicleDto.setManPurOrderTypeValue("排产订单"); |
|
|
|
baseVehicleDto.setContractPrice(0);//Integer.parseInt(dto.getContractPrice().toString())
|
|
|
|
baseVehicleDto.setFreight(0);//Integer.parseInt(dto.getOnceFreight().subtract(dto.getSecondaryFreight()).toString())
|
|
|
|
baseVehicleDto.setCostPrice(0);//Integer.parseInt(dto.getCostPrice().toString())
|
|
|
|
baseVehicleDto.setPriceDate(DateUtil.today());//dto.getPriceDate()
|
|
|
|
baseVehicleDto.setDepartureDate(DateUtil.today());//dto.getDepartureDate()
|
|
|
|
baseVehicleDtos.add(baseVehicleDto); |
|
|
|
baseVehicleFeign.saveAll(baseVehicleDtos); |
|
|
|
} |
|
|
|
baseVehicleFeign.saveAll(baseVehicleDtos); |
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
} else { |
|
|
|
return rb.setMsg("操作失败!提交的数据不一致"); |
|
|
|
} |
|
|
|
return rrb; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -570,22 +558,20 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
return flowTaskFeign.businessFlowRecord(procInsId, deployId); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean getNextNodesForSubmit(SubmitScmApplyInboundDto dto) { |
|
|
|
public ResultBean getNextNodesForSubmit(GetNodeQuery query) { |
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
bv.setModelId(ProcDefEnum.RECORDAPPLICATION.getProDefId()); |
|
|
|
bv.setTaskDefKey(dto.getTaskDefKey()); |
|
|
|
bv.setFormVariables(BeanUtil.beanToMap(dto)); |
|
|
|
bv.setTaskDefKey(query.getTaskDefKey()); |
|
|
|
ResultBean processCirculationNodesByMap = flowTaskFeign.getNextNodesForSubmit(bv); |
|
|
|
processCirculationNodesByMap.setCode("200"); |
|
|
|
processCirculationNodesByMap.setSuccess(true); |
|
|
|
return processCirculationNodesByMap; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean getPreviousNodesForReject(SubmitScmApplyInboundDto dto) { |
|
|
|
public ResultBean getPreviousNodesForReject(GetNodeQuery query) { |
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
bv.setTaskDefKey(dto.getTaskDefKey()); |
|
|
|
bv.setTaskDefKey(query.getTaskDefKey()); |
|
|
|
bv.setModelId(ProcDefEnum.RECORDAPPLICATION.getProDefId()); |
|
|
|
bv.setFormVariables(BeanUtil.beanToMap(dto)); |
|
|
|
ResultBean processCirculationNodesByMap = flowTaskFeign.getPreviousNodesForReject(bv); |
|
|
|
processCirculationNodesByMap.setCode("200"); |
|
|
|
processCirculationNodesByMap.setSuccess(true); |
|
|
|