|
|
@ -300,6 +300,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
private BusSalesOrderMakeupService busSalesOrderMakeupService; |
|
|
|
@Autowired |
|
|
|
private FinKingDeeFeign finKingDeeFeign; |
|
|
|
|
|
|
|
/** |
|
|
|
* 构造出库申请的查询条件 |
|
|
|
* |
|
|
@ -859,7 +860,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
* @param bv |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean complete(BusinessVariables bv) { |
|
|
|
public ResultBean complete(BusinessVariables bv) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BusDeliveredApply busDeliveredApply = fetchBySid(bv.getBusinessSid()); |
|
|
|
bv.setOrgSidPath(busDeliveredApply.getOrgSidPath()); |
|
|
@ -1190,7 +1191,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetailsss(saleOrderSid).getData(); |
|
|
|
if (solutionsDetailsVo != null) { |
|
|
|
//三方金融的,在出库时推送单车返利数据,金额为厂家贴息。
|
|
|
|
if("2".equals(busSalesOrder.getFinancePlan())){ |
|
|
|
if ("2".equals(busSalesOrder.getFinancePlan())) { |
|
|
|
Future future11 = pool.submit(() -> { |
|
|
|
pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount()); |
|
|
|
}); |
|
|
@ -1361,7 +1362,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void pushVehRebateAdjustBill(BusDeliveredApply busDeliveredApply, List<BusDeliveredApplyDetails> detailsList,SolutionsDetailsVo solutionsDetailsVo) { |
|
|
|
private void pushVehRebateAdjustBill(BusDeliveredApply busDeliveredApply, List<BusDeliveredApplyDetails> detailsList, SolutionsDetailsVo solutionsDetailsVo) { |
|
|
|
BigDecimal cjtx = BigDecimal.ZERO;//厂家贴息
|
|
|
|
BigDecimal txdck = BigDecimal.ZERO;//贴息抵车款
|
|
|
|
if (StringUtils.isNotBlank(solutionsDetailsVo.getFactoryDiscount())) { |
|
|
@ -1424,7 +1425,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
scmVehRebateDto.setRebateTypeValue("金融贴息"); |
|
|
|
scmVehRebateDto.setRebateName("金融贴息"); |
|
|
|
scmVehRebateDto.setCalculationStandard(factoryDiscount); |
|
|
|
scmVehRebateDto.setPalceGenDate(DateUtil.format(new Date(),"yyyy-MM")); |
|
|
|
scmVehRebateDto.setPalceGenDate(DateUtil.format(new Date(), "yyyy-MM")); |
|
|
|
scmVehRebateDto.setCalculationModeKey("002"); |
|
|
|
scmVehRebateDto.setCalculationModeValue("固定金额"); |
|
|
|
scmVehRebateDto.setOrgPath(busDeliveredApply.getOrgSidPath()); |
|
|
@ -1679,7 +1680,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetailsss(saleOrderSid).getData(); |
|
|
|
if (solutionsDetailsVo != null) { |
|
|
|
//三方金融的,在出库时推送单车返利数据,金额为厂家贴息。
|
|
|
|
if("2".equals(busSalesOrder.getFinancePlan())){ |
|
|
|
if ("2".equals(busSalesOrder.getFinancePlan())) { |
|
|
|
Future future11 = pool.submit(() -> { |
|
|
|
pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount()); |
|
|
|
}); |
|
|
@ -3433,79 +3434,82 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
return rb.setMsg("请选择要出库的车辆"); |
|
|
|
} |
|
|
|
if ("2".equals(busSalesOrder.getPayTypeKey())) {//贷款
|
|
|
|
//先查询该订单下是否有挂车,如果有的话,再根据该订单及车辆查询挂车是否都已入库,若没有全部入库,则提示
|
|
|
|
boolean isHave = false; |
|
|
|
List<BusSalesOrderTrailer> trailersLists = busSalesOrderTrailerService.selectTrailerByContractNo(dto.getContractId()); |
|
|
|
trailersLists = trailersLists.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
// 如果列表不为空,使用流式操作计算总挂车数量
|
|
|
|
if(!trailersLists.isEmpty()){ |
|
|
|
int totalTrailerCount = trailersLists.stream() |
|
|
|
.mapToInt(BusSalesOrderTrailer::getTrailerCount) // 提取数量
|
|
|
|
.sum(); // 累加所有数量
|
|
|
|
if ("01".equals(busSalesOrder.getFinancePlan())) { |
|
|
|
//先查询该订单下是否有挂车,如果有的话,再根据该订单及车辆查询挂车是否都已入库,若没有全部入库,则提示
|
|
|
|
boolean isHave = false; |
|
|
|
List<BusSalesOrderTrailer> trailersLists = busSalesOrderTrailerService.selectTrailerByContractNo(dto.getContractId()); |
|
|
|
trailersLists = trailersLists.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
// 如果列表不为空,使用流式操作计算总挂车数量
|
|
|
|
if (!trailersLists.isEmpty()) { |
|
|
|
int totalTrailerCount = trailersLists.stream() |
|
|
|
.mapToInt(BusSalesOrderTrailer::getTrailerCount) // 提取数量
|
|
|
|
.sum(); // 累加所有数量
|
|
|
|
|
|
|
|
if(!carList.isEmpty()){ |
|
|
|
for (AppCarListVo car : carList) { |
|
|
|
//根据车辆sid 查询挂车的数量
|
|
|
|
List<BaseTrailer> trList = baseMapper.selectTralier(car.getVinSid()); |
|
|
|
trList = trList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if(totalTrailerCount != trList.size()){ |
|
|
|
isHave = true; |
|
|
|
break; |
|
|
|
if (!carList.isEmpty()) { |
|
|
|
for (AppCarListVo car : carList) { |
|
|
|
//根据车辆sid 查询挂车的数量
|
|
|
|
List<BaseTrailer> trList = baseMapper.selectTralier(car.getVinSid()); |
|
|
|
trList = trList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if (totalTrailerCount != trList.size()) { |
|
|
|
isHave = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if(isHave){ |
|
|
|
LoanHomevisitInvestigateCustomer loanHomevisitInvestigateCustomer = baseMapper.getHomeVisitCustomerInfo(busSalesOrder.getSid(),dto.getLoanSid()); |
|
|
|
if("0".equals(loanHomevisitInvestigateCustomer.getIsCompBuy())){//是公司采购
|
|
|
|
return rb.setMsg("挂车入库绑定车辆后才可以提交出库申请"); |
|
|
|
if (isHave) { |
|
|
|
LoanHomevisitInvestigateCustomer loanHomevisitInvestigateCustomer = baseMapper.getHomeVisitCustomerInfo(busSalesOrder.getSid(), dto.getLoanSid()); |
|
|
|
if ("0".equals(loanHomevisitInvestigateCustomer.getIsCompBuy())) {//是公司采购
|
|
|
|
return rb.setMsg("挂车入库绑定车辆后才可以提交出库申请"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
boolean issHave = false; |
|
|
|
List<BusSalesOrderMakeup> makeUpsList = busSalesOrderMakeupService.selectMakeUpByContractNo2(dto.getContractId()); |
|
|
|
makeUpsList = makeUpsList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if(!makeUpsList.isEmpty()){ |
|
|
|
//查询上装入库中是否有该主车关联的上装
|
|
|
|
if(!carList.isEmpty()){ |
|
|
|
for (AppCarListVo car : carList) { |
|
|
|
//根据车辆sid和合同号查询主车车架号
|
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectVinNoByVehicleSid(car.getVinSid(),dto.getContractId()); |
|
|
|
List<BaseVehinstall> trList = baseMapper.selectInstall(busSalesOrderVehicle.getLinkNo()); |
|
|
|
trList = trList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if(trList.isEmpty()){ |
|
|
|
issHave = true; |
|
|
|
break; |
|
|
|
boolean issHave = false; |
|
|
|
List<BusSalesOrderMakeup> makeUpsList = busSalesOrderMakeupService.selectMakeUpByContractNo2(dto.getContractId()); |
|
|
|
makeUpsList = makeUpsList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if (!makeUpsList.isEmpty()) { |
|
|
|
//查询上装入库中是否有该主车关联的上装
|
|
|
|
if (!carList.isEmpty()) { |
|
|
|
for (AppCarListVo car : carList) { |
|
|
|
//根据车辆sid和合同号查询主车车架号
|
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectVinNoByVehicleSid(car.getVinSid(), dto.getContractId()); |
|
|
|
List<BaseVehinstall> trList = baseMapper.selectInstall(busSalesOrderVehicle.getLinkNo()); |
|
|
|
trList = trList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if (trList.isEmpty()) { |
|
|
|
issHave = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if(issHave){ |
|
|
|
LoanHomevisitInvestigateCustomer loanHomevisitInvestigateCustomer = baseMapper.getHomeVisitCustomerInfo(busSalesOrder.getSid(),dto.getLoanSid()); |
|
|
|
if("0".equals(loanHomevisitInvestigateCustomer.getIsCompBuy())){//是公司采购
|
|
|
|
return rb.setMsg("上装入库绑定车辆后才可以提交出库申请"); |
|
|
|
} |
|
|
|
if (issHave) { |
|
|
|
LoanHomevisitInvestigateCustomer loanHomevisitInvestigateCustomer = baseMapper.getHomeVisitCustomerInfo(busSalesOrder.getSid(), dto.getLoanSid()); |
|
|
|
if ("0".equals(loanHomevisitInvestigateCustomer.getIsCompBuy())) {//是公司采购
|
|
|
|
return rb.setMsg("上装入库绑定车辆后才可以提交出库申请"); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
}else{ |
|
|
|
|
|
|
|
} else { |
|
|
|
boolean issHave = false; |
|
|
|
List<BusSalesOrderMakeup> makeUpsList = busSalesOrderMakeupService.selectMakeUpByContractNo(dto.getContractId()); |
|
|
|
makeUpsList = makeUpsList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if(!makeUpsList.isEmpty()){ |
|
|
|
if (!makeUpsList.isEmpty()) { |
|
|
|
//查询上装入库中是否有该主车关联的上装
|
|
|
|
if(!carList.isEmpty()){ |
|
|
|
if (!carList.isEmpty()) { |
|
|
|
for (AppCarListVo car : carList) { |
|
|
|
//根据车辆sid和合同号查询主车车架号
|
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectVinNoByVehicleSid(car.getVinSid(),dto.getContractId()); |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectVinNoByVehicleSid(car.getVinSid(), dto.getContractId()); |
|
|
|
List<BaseVehinstall> trList = baseMapper.selectInstall(busSalesOrderVehicle.getLinkNo()); |
|
|
|
trList = trList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if(trList.isEmpty()){ |
|
|
|
if (trList.isEmpty()) { |
|
|
|
issHave = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if(issHave){ |
|
|
|
if (issHave) { |
|
|
|
return rb.setMsg("上装入库绑定车辆后才可以提交出库申请"); |
|
|
|
} |
|
|
|
} |
|
|
@ -4424,79 +4428,81 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
} |
|
|
|
//=====================
|
|
|
|
if ("2".equals(busSalesOrder.getPayTypeKey())) {//贷款
|
|
|
|
//先查询该订单下是否有挂车,如果有的话,再根据该订单及车辆查询挂车是否都已入库,若没有全部入库,则提示
|
|
|
|
boolean isHave = false; |
|
|
|
List<BusSalesOrderTrailer> trailersLists = busSalesOrderTrailerService.selectTrailerByContractNo(dto.getContractId()); |
|
|
|
trailersLists = trailersLists.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
// 如果列表不为空,使用流式操作计算总挂车数量
|
|
|
|
if(!trailersLists.isEmpty()){ |
|
|
|
int totalTrailerCount = trailersLists.stream() |
|
|
|
.mapToInt(BusSalesOrderTrailer::getTrailerCount) // 提取数量
|
|
|
|
.sum(); // 累加所有数量
|
|
|
|
if ("01".equals(busSalesOrder.getFinancePlan())) { |
|
|
|
//先查询该订单下是否有挂车,如果有的话,再根据该订单及车辆查询挂车是否都已入库,若没有全部入库,则提示
|
|
|
|
boolean isHave = false; |
|
|
|
List<BusSalesOrderTrailer> trailersLists = busSalesOrderTrailerService.selectTrailerByContractNo(dto.getContractId()); |
|
|
|
trailersLists = trailersLists.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
// 如果列表不为空,使用流式操作计算总挂车数量
|
|
|
|
if (!trailersLists.isEmpty()) { |
|
|
|
int totalTrailerCount = trailersLists.stream() |
|
|
|
.mapToInt(BusSalesOrderTrailer::getTrailerCount) // 提取数量
|
|
|
|
.sum(); // 累加所有数量
|
|
|
|
|
|
|
|
if(!carList.isEmpty()){ |
|
|
|
for (AppCarListVo car : carList) { |
|
|
|
//根据车辆sid 查询挂车的数量
|
|
|
|
List<BaseTrailer> trList = baseMapper.selectTralier(car.getVinSid()); |
|
|
|
trList = trList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if(totalTrailerCount != trList.size()){ |
|
|
|
isHave = true; |
|
|
|
break; |
|
|
|
if (!carList.isEmpty()) { |
|
|
|
for (AppCarListVo car : carList) { |
|
|
|
//根据车辆sid 查询挂车的数量
|
|
|
|
List<BaseTrailer> trList = baseMapper.selectTralier(car.getVinSid()); |
|
|
|
trList = trList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if (totalTrailerCount != trList.size()) { |
|
|
|
isHave = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if(isHave){ |
|
|
|
LoanHomevisitInvestigateCustomer loanHomevisitInvestigateCustomer = baseMapper.getHomeVisitCustomerInfo(busSalesOrder.getSid(),dto.getLoanSid()); |
|
|
|
if("0".equals(loanHomevisitInvestigateCustomer.getIsCompBuy())){//是公司采购
|
|
|
|
return rb.setMsg("挂车入库绑定车辆后才可以提交出库申请"); |
|
|
|
if (isHave) { |
|
|
|
LoanHomevisitInvestigateCustomer loanHomevisitInvestigateCustomer = baseMapper.getHomeVisitCustomerInfo(busSalesOrder.getSid(), dto.getLoanSid()); |
|
|
|
if ("0".equals(loanHomevisitInvestigateCustomer.getIsCompBuy())) {//是公司采购
|
|
|
|
return rb.setMsg("挂车入库绑定车辆后才可以提交出库申请"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
boolean issHave = false; |
|
|
|
List<BusSalesOrderMakeup> makeUpsList = busSalesOrderMakeupService.selectMakeUpByContractNo2(dto.getContractId()); |
|
|
|
makeUpsList = makeUpsList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if(!makeUpsList.isEmpty()){ |
|
|
|
//查询上装入库中是否有该主车关联的上装
|
|
|
|
if(!carList.isEmpty()){ |
|
|
|
for (AppCarListVo car : carList) { |
|
|
|
//根据车辆sid和合同号查询主车车架号
|
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectVinNoByVehicleSid(car.getVinSid(),dto.getContractId()); |
|
|
|
List<BaseVehinstall> trList = baseMapper.selectInstall(busSalesOrderVehicle.getLinkNo()); |
|
|
|
trList = trList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if(trList.isEmpty()){ |
|
|
|
issHave = true; |
|
|
|
break; |
|
|
|
boolean issHave = false; |
|
|
|
List<BusSalesOrderMakeup> makeUpsList = busSalesOrderMakeupService.selectMakeUpByContractNo2(dto.getContractId()); |
|
|
|
makeUpsList = makeUpsList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if (!makeUpsList.isEmpty()) { |
|
|
|
//查询上装入库中是否有该主车关联的上装
|
|
|
|
if (!carList.isEmpty()) { |
|
|
|
for (AppCarListVo car : carList) { |
|
|
|
//根据车辆sid和合同号查询主车车架号
|
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectVinNoByVehicleSid(car.getVinSid(), dto.getContractId()); |
|
|
|
List<BaseVehinstall> trList = baseMapper.selectInstall(busSalesOrderVehicle.getLinkNo()); |
|
|
|
trList = trList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if (trList.isEmpty()) { |
|
|
|
issHave = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if(issHave){ |
|
|
|
LoanHomevisitInvestigateCustomer loanHomevisitInvestigateCustomer = baseMapper.getHomeVisitCustomerInfo(busSalesOrder.getSid(),dto.getLoanSid()); |
|
|
|
if("0".equals(loanHomevisitInvestigateCustomer.getIsCompBuy())){//是公司采购
|
|
|
|
return rb.setMsg("上装入库绑定车辆后才可以提交出库申请"); |
|
|
|
} |
|
|
|
if (issHave) { |
|
|
|
LoanHomevisitInvestigateCustomer loanHomevisitInvestigateCustomer = baseMapper.getHomeVisitCustomerInfo(busSalesOrder.getSid(), dto.getLoanSid()); |
|
|
|
if ("0".equals(loanHomevisitInvestigateCustomer.getIsCompBuy())) {//是公司采购
|
|
|
|
return rb.setMsg("上装入库绑定车辆后才可以提交出库申请"); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
boolean issHave = false; |
|
|
|
List<BusSalesOrderMakeup> makeUpsList = busSalesOrderMakeupService.selectMakeUpByContractNo(dto.getContractId()); |
|
|
|
makeUpsList = makeUpsList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if(!makeUpsList.isEmpty()){ |
|
|
|
if (!makeUpsList.isEmpty()) { |
|
|
|
//查询上装入库中是否有该主车关联的上装
|
|
|
|
if(!carList.isEmpty()){ |
|
|
|
if (!carList.isEmpty()) { |
|
|
|
for (AppCarListVo car : carList) { |
|
|
|
//根据车辆sid和合同号查询主车车架号
|
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectVinNoByVehicleSid(car.getVinSid(),dto.getContractId()); |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectVinNoByVehicleSid(car.getVinSid(), dto.getContractId()); |
|
|
|
List<BaseVehinstall> trList = baseMapper.selectInstall(busSalesOrderVehicle.getLinkNo()); |
|
|
|
trList = trList.stream().filter(Objects::nonNull).collect(Collectors.toList()); // 去除null元素
|
|
|
|
if(trList.isEmpty()){ |
|
|
|
if (trList.isEmpty()) { |
|
|
|
issHave = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if(issHave){ |
|
|
|
if (issHave) { |
|
|
|
return rb.setMsg("上装入库绑定车辆后才可以提交出库申请"); |
|
|
|
} |
|
|
|
} |
|
|
|