|
|
@ -2385,15 +2385,23 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
if (StringUtils.isNotBlank(applyListVo.getTotalNum())) { |
|
|
|
//总数量
|
|
|
|
int totalNum = Integer.parseInt(applyListVo.getTotalNum()); |
|
|
|
if (StringUtils.isNotBlank(applyListVo.getLockingNum())) { |
|
|
|
int lockNum = busSalesVehicleOrderService.selectByLinkSid1(applyListVo.getSid()); |
|
|
|
//可使用数量
|
|
|
|
int canUseNum = totalNum - lockNum; |
|
|
|
if(canUseNum<=0){ |
|
|
|
continue; |
|
|
|
} |
|
|
|
appReadyCarVo.setCanUseNum(String.valueOf(canUseNum)); |
|
|
|
/* if (StringUtils.isNotBlank(applyListVo.getLockingNum())) { |
|
|
|
//采购订单锁定数量
|
|
|
|
int lockNum = Integer.parseInt(applyListVo.getLockingNum()); |
|
|
|
// int lockNum = Integer.parseInt(applyListVo.getLockingNum());
|
|
|
|
int lockNum = busSalesVehicleOrderService.selectByLinkSid1(applyListVo.getSid()); |
|
|
|
//可使用数量
|
|
|
|
int canUseNum = totalNum - lockNum; |
|
|
|
appReadyCarVo.setCanUseNum(String.valueOf(canUseNum)); |
|
|
|
} else { |
|
|
|
appReadyCarVo.setCanUseNum(String.valueOf(totalNum)); |
|
|
|
} |
|
|
|
}*/ |
|
|
|
} else { |
|
|
|
appReadyCarVo.setCanUseNum("0"); |
|
|
|
} |
|
|
@ -2455,6 +2463,18 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
if (v.getSid().equals(v2.getSid())) { |
|
|
|
v.setTotalNum(v2.getTotalNum()); |
|
|
|
v.setCanUseNum(v2.getCanUseNum()); |
|
|
|
}else{ |
|
|
|
//查询该订单的总数量
|
|
|
|
int countAll = busSalesVehicleOrderService.selectByTotal(v.getSid()); |
|
|
|
int lockNum = busSalesVehicleOrderService.selectByLinkSid1(v.getSid()); |
|
|
|
//可使用数量
|
|
|
|
int canUseNum = countAll - lockNum; |
|
|
|
if(canUseNum<=0){ |
|
|
|
canUseNum = 0; |
|
|
|
orderInfo.setNotice("当前车型已经更新,请进行确认"); |
|
|
|
} |
|
|
|
v.setTotalNum(String.valueOf(countAll)); |
|
|
|
v.setCanUseNum(String.valueOf(canUseNum)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -2717,15 +2737,23 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
if (StringUtils.isNotBlank(applyListVo.getTotalNum())) { |
|
|
|
//总数量
|
|
|
|
int totalNum = Integer.parseInt(applyListVo.getTotalNum()); |
|
|
|
if (StringUtils.isNotBlank(applyListVo.getLockingNum())) { |
|
|
|
int lockNum = busSalesVehicleOrderService.selectByLinkSid1(applyListVo.getSid()); |
|
|
|
//可使用数量
|
|
|
|
int canUseNum = totalNum - lockNum; |
|
|
|
if(canUseNum<=0){ |
|
|
|
continue; |
|
|
|
} |
|
|
|
appReadyCarVo.setCanUseNum(String.valueOf(canUseNum)); |
|
|
|
/*if (StringUtils.isNotBlank(applyListVo.getLockingNum())) { |
|
|
|
//锁定数量
|
|
|
|
int lockNum = Integer.parseInt(applyListVo.getLockingNum()); |
|
|
|
// int lockNum = Integer.parseInt(applyListVo.getLockingNum());
|
|
|
|
int lockNum = busSalesVehicleOrderService.selectByLinkSid1(applyListVo.getSid()); |
|
|
|
//可使用数量
|
|
|
|
int canUseNum = totalNum - lockNum; |
|
|
|
appReadyCarVo.setCanUseNum(String.valueOf(canUseNum)); |
|
|
|
} else { |
|
|
|
appReadyCarVo.setCanUseNum(String.valueOf(totalNum)); |
|
|
|
} |
|
|
|
}*/ |
|
|
|
} else { |
|
|
|
appReadyCarVo.setCanUseNum("0"); |
|
|
|
} |
|
|
@ -3090,7 +3118,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
if (new BigDecimal(solutionsDetailsVo.getRealTotal()).compareTo(busSalesOrderDeposit.getDeposit()) < 0) { |
|
|
|
return rb.setMsg("金融方案中实收金额小于单台订金"); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
if (StringUtils.isNotBlank(solutionsDetailsVo.getTypeKey())) { |
|
|
|
if (!"02".equals(solutionsDetailsVo.getTypeKey())) { |
|
|
|
//判断实收和单台订金
|
|
|
@ -3100,7 +3128,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
return rb.setMsg("此销售类型下金融方案不能为空"); |
|
|
|
} |
|
|
|
} |
|
|
@ -3315,15 +3343,23 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
if (StringUtils.isNotBlank(applyListVo.getTotalNum())) { |
|
|
|
//总数量
|
|
|
|
int totalNum = Integer.parseInt(applyListVo.getTotalNum()); |
|
|
|
if (StringUtils.isNotBlank(applyListVo.getLockingNum())) { |
|
|
|
int lockNum = busSalesVehicleOrderService.selectByLinkSid1(applyListVo.getSid()); |
|
|
|
//可使用数量
|
|
|
|
int canUseNum = totalNum - lockNum; |
|
|
|
if(canUseNum<=0){ |
|
|
|
canUseNum = 0; |
|
|
|
} |
|
|
|
appReadyCarVo.setCanUseNum(String.valueOf(canUseNum)); |
|
|
|
/*if (StringUtils.isNotBlank(applyListVo.getLockingNum())) { |
|
|
|
//锁定数量
|
|
|
|
int lockNum = Integer.parseInt(applyListVo.getLockingNum()); |
|
|
|
// int lockNum = Integer.parseInt(applyListVo.getLockingNum());
|
|
|
|
int lockNum = busSalesVehicleOrderService.selectByLinkSid1(applyListVo.getSid()); |
|
|
|
//可使用数量
|
|
|
|
int canUseNum = totalNum - lockNum; |
|
|
|
appReadyCarVo.setCanUseNum(String.valueOf(canUseNum)); |
|
|
|
} else { |
|
|
|
appReadyCarVo.setCanUseNum(String.valueOf(totalNum)); |
|
|
|
} |
|
|
|
}*/ |
|
|
|
} else { |
|
|
|
appReadyCarVo.setCanUseNum("0"); |
|
|
|
} |
|
|
@ -3337,6 +3373,17 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
List<AppReadyCarListVo> appReadyCarList = busSalesVehicleOrderService.selectAppDetailsVoBySaleOrderSid(sid); |
|
|
|
appReadyCarList.removeAll(Collections.singleton(null)); |
|
|
|
if (!appReadyCarList.isEmpty()) { |
|
|
|
for (int i = 0; i < appReadyCarList.size(); i++) { |
|
|
|
AppReadyCarListVo v = appReadyCarList.get(i); |
|
|
|
//查询该订单的总数量
|
|
|
|
int countAll = busSalesVehicleOrderService.selectByTotal(v.getSid()); |
|
|
|
int lockNum = busSalesVehicleOrderService.selectByLinkSid1(v.getSid()); |
|
|
|
//可使用数量
|
|
|
|
int canUseNum = countAll - lockNum; |
|
|
|
if(canUseNum<=0){ |
|
|
|
isVehicleOrder = false; |
|
|
|
} |
|
|
|
} |
|
|
|
//验证所选采购订单的车辆是否发生了变化
|
|
|
|
boolean isCheck = isCheck2(map, appReadyCarList); |
|
|
|
boolean isCheck3 = isCheck3(appReadyCarList); |
|
|
@ -4840,8 +4887,6 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
} |
|
|
|
UpdateFlowFieldVo ufVo = voResultBean.getData(); |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(ufVo)); |
|
|
|
/* ResultBean<AppOrderDetailsVo> resultBean = getSaleOrderDetails(businessSid); |
|
|
|
AppOrderDetailsVo vo = resultBean.getData();*/ |
|
|
|
if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getCode().equals(busSalesOrderOne.getType())) { |
|
|
|
//更新已选择的车架号的状态为审批中
|
|
|
|
List<String> list = busSalesOrderVehicleService.selectVehicleSid(businessSid); |
|
|
@ -4857,7 +4902,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
String linkSid = busSalesVehicleOrderDetailsVo.getLinkSid(); |
|
|
|
//查询该采购订单的已使用台数
|
|
|
|
int count = busSalesVehicleOrderService.selectByLinkSid1(linkSid); |
|
|
|
count = count + busSalesVehicleOrderDetailsVo.getUsingNum(); |
|
|
|
// count = count + busSalesVehicleOrderDetailsVo.getUsingNum();
|
|
|
|
//更新该采购订单的锁定台数
|
|
|
|
ResultBean resultBeanOrder = busVehicleOrderFeign.updateLockNum(linkSid, String.valueOf(count)); |
|
|
|
} |
|
|
@ -4885,30 +4930,29 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
} |
|
|
|
baseVehicleStateDto.setSaleOrderSid(finalBusSalesOrderOne.getSid()); |
|
|
|
baseVehicleStateDto.setSaleTypeKey(finalBusSalesOrderOne.getPayTypeKey()); |
|
|
|
// baseVehicleStateDto.setFinSourceKey(finalBusSalesOrderOne.getFinancePlan());
|
|
|
|
if("2".equals(finalBusSalesOrderOne.getPayTypeKey())){//贷款
|
|
|
|
if ("2".equals(finalBusSalesOrderOne.getPayTypeKey())) {//贷款
|
|
|
|
SolutionsDetailsVo loanSolutions = loanSolutionsFeign.selectDetailss(finalBusSalesOrderOne.getSid()).getData(); |
|
|
|
if(loanSolutions != null){ |
|
|
|
if(StringUtils.isBlank(loanSolutions.getTypeKey())){ |
|
|
|
if (loanSolutions != null) { |
|
|
|
if (StringUtils.isBlank(loanSolutions.getTypeKey())) { |
|
|
|
baseVehicleStateDto.setFinSourceKey("4");//担保
|
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
baseVehicleStateDto.setFinSourceKey("3");//自营非担保
|
|
|
|
} |
|
|
|
} |
|
|
|
}else{ |
|
|
|
if("2".equals(finalBusSalesOrderOne.getFinancePlan())){ |
|
|
|
} else { |
|
|
|
if ("2".equals(finalBusSalesOrderOne.getFinancePlan())) { |
|
|
|
baseVehicleStateDto.setFinSourceKey(finalBusSalesOrderOne.getFinancePlan()); |
|
|
|
SolutionsDetailsVo loanSolutions = loanSolutionsFeign.selectDetailss(finalBusSalesOrderOne.getSid()).getData(); |
|
|
|
if(loanSolutions != null){ |
|
|
|
if(StringUtils.isNotBlank(loanSolutions.getTypeKey())) { |
|
|
|
if("02".equals(loanSolutions.getTypeKey())){ |
|
|
|
if (loanSolutions != null) { |
|
|
|
if (StringUtils.isNotBlank(loanSolutions.getTypeKey())) { |
|
|
|
if ("02".equals(loanSolutions.getTypeKey())) { |
|
|
|
baseVehicleStateDto.setFinSourceKey("2");//三方金融
|
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
baseVehicleStateDto.setFinSourceKey("3");//自营非担保
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
baseVehicleStateDto.setFinSourceKey(finalBusSalesOrderOne.getFinancePlan()); |
|
|
|
} |
|
|
|
|
|
|
@ -4958,29 +5002,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
bv.setInstanceId(dto.getProcInsId()); |
|
|
|
//流程定义id
|
|
|
|
bv.setModelId(busSalesOrder.get().getProcDefId()); |
|
|
|
/* ResultBean<AppOrderDetailsVo> resultBean = getSaleOrderDetails(businessSid); |
|
|
|
AppOrderDetailsVo vo = resultBean.getData();*/ |
|
|
|
if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getCode().equals(busSalesOrderOne.getType())) { |
|
|
|
//更新已选择的车架号的状态为审批中
|
|
|
|
List<String> list = busSalesOrderVehicleService.selectVehicleSid(businessSid); |
|
|
|
BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); |
|
|
|
busMainDepositUpdateQuery.setVinSidList(list); |
|
|
|
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.CONDUCT_LOCK.getCode()); |
|
|
|
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.CONDUCT_LOCK.getRemarks()); |
|
|
|
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery); |
|
|
|
} |
|
|
|
if (BusSalesOrderConstantUtils.TypeEnum.PURCHASE_ORDER.getCode().equals(busSalesOrderOne.getType())) { |
|
|
|
List<BusSalesVehicleOrderDetailsVo> list = busSalesVehicleOrderService.detailsList(busSalesOrderOne.getSid()); |
|
|
|
for (BusSalesVehicleOrderDetailsVo busSalesVehicleOrderDetailsVo : list) { |
|
|
|
String linkSid = busSalesVehicleOrderDetailsVo.getLinkSid(); |
|
|
|
//查询该采购订单的已使用台数
|
|
|
|
int count = busSalesVehicleOrderService.selectByLinkSid1(linkSid); |
|
|
|
count = count + busSalesVehicleOrderDetailsVo.getUsingNum(); |
|
|
|
//更新该采购订单的锁定台数
|
|
|
|
ResultBean resultBeanOrder = busVehicleOrderFeign.updateLockNum(linkSid, String.valueOf(count)); |
|
|
|
} |
|
|
|
} |
|
|
|
return complete(bv); |
|
|
|
return complete(bv, false); |
|
|
|
} |
|
|
|
return rb; |
|
|
|
} |
|
|
@ -5210,7 +5232,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
* @param bv |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean complete(BusinessVariables bv) { |
|
|
|
public ResultBean complete(BusinessVariables bv, boolean isTrue) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BusSalesOrder busSalesOrder = fetchBySid(bv.getBusinessSid()); |
|
|
|
Map<String, Object> variables = getOrderMap(busSalesOrder); |
|
|
@ -5228,6 +5250,27 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
busSalesOrder = fetchBySid(bv.getBusinessSid()); |
|
|
|
//极光推送
|
|
|
|
if (!"Event_end".equals(resultBean.getData().getTaskDefKey())) { |
|
|
|
if (!isTrue) {//重新提交
|
|
|
|
if (BusSalesOrderConstantUtils.TypeEnum.EXISTING_CAR.getCode().equals(busSalesOrder.getType())) { |
|
|
|
//更新已选择的车架号的状态为审批中
|
|
|
|
List<String> list = busSalesOrderVehicleService.selectVehicleSid(busSalesOrder.getSid()); |
|
|
|
BusMainDepositUpdateQuery busMainDepositUpdateQuery = new BusMainDepositUpdateQuery(); |
|
|
|
busMainDepositUpdateQuery.setVinSidList(list); |
|
|
|
busMainDepositUpdateQuery.setLockedState(VehicleState.LockEnum.CONDUCT_LOCK.getCode()); |
|
|
|
busMainDepositUpdateQuery.setLockedStateValue(VehicleState.LockEnum.CONDUCT_LOCK.getRemarks()); |
|
|
|
baseVehicleFeign.updateMainDepositByVinNo(busMainDepositUpdateQuery); |
|
|
|
} |
|
|
|
if (BusSalesOrderConstantUtils.TypeEnum.PURCHASE_ORDER.getCode().equals(busSalesOrder.getType())) { |
|
|
|
List<BusSalesVehicleOrderDetailsVo> list = busSalesVehicleOrderService.detailsList(busSalesOrder.getSid()); |
|
|
|
for (BusSalesVehicleOrderDetailsVo busSalesVehicleOrderDetailsVo : list) { |
|
|
|
String linkSid = busSalesVehicleOrderDetailsVo.getLinkSid(); |
|
|
|
//查询该采购订单的已使用台数
|
|
|
|
int count = busSalesVehicleOrderService.selectByLinkSid1(linkSid); |
|
|
|
//更新该采购订单的锁定台数
|
|
|
|
ResultBean resultBeanOrder = busVehicleOrderFeign.updateLockNum(linkSid, String.valueOf(count)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
@ -5419,7 +5462,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
String contractSid = baseMapper.selectBySid(busSalesOrder.getSid()); |
|
|
|
//单台成交价与单台订金相等
|
|
|
|
if (new BigDecimal(singleFinalPrice).compareTo(new BigDecimal(deposit)) != 0) {//推送车款
|
|
|
|
String money = new BigDecimal(singleFinalPrice).subtract(new BigDecimal(deposit)).subtract(StringUtils.isNotBlank(solutionsDetailsVo.getDiscountCar())?new BigDecimal(solutionsDetailsVo.getDiscountCar()):new BigDecimal(solutionsDetailsVo.getFactoryDiscount())).add(new BigDecimal(solutionsDetailsVo.getServiceAmount())).toString(); |
|
|
|
String money = new BigDecimal(singleFinalPrice).subtract(new BigDecimal(deposit)).subtract(StringUtils.isNotBlank(solutionsDetailsVo.getDiscountCar()) ? new BigDecimal(solutionsDetailsVo.getDiscountCar()) : new BigDecimal(solutionsDetailsVo.getFactoryDiscount())).add(new BigDecimal(solutionsDetailsVo.getServiceAmount())).toString(); |
|
|
|
List<VinListsVo> vinList = appOrderModelInfoVo.getVinListsVos(); |
|
|
|
for (int i = 0; i < vinList.size(); i++) { |
|
|
|
UnCollectionDto unCollectionDto = new UnCollectionDto(); |
|
|
@ -5454,7 +5497,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
unCollectionDto.setStaffDeptSid(busSalesOrder.getOrgSid()); |
|
|
|
unCollectionDto.setUseOrgName(busSalesOrder.getUseOrgName()); |
|
|
|
unCollectionDto.setKxState("01"); |
|
|
|
if(StringUtils.isNotBlank(solutionsDetailsVo.getDiscountCar())){ |
|
|
|
if (StringUtils.isNotBlank(solutionsDetailsVo.getDiscountCar())) { |
|
|
|
unCollectionDto.setOtherReceivableMoney(new BigDecimal(solutionsDetailsVo.getDiscountCar())); |
|
|
|
} |
|
|
|
finUncollectedDetailedFeign.saveUnCollection(unCollectionDto); |
|
|
@ -6285,7 +6328,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BusSalesOrder busSalesOrder = fetchBySid(orderFlowableQuery.getBusinessSid()); |
|
|
|
if (BusSalesOrderConstantUtils.TypeEnum.PRODUCTION_SCHEDULING.getCode().equals(busSalesOrder.getType()) || (com.yxt.common.base.utils.StringUtils.isNotBlank(busSalesOrder.getNowCarUnknownVinNum()) && !"0".equals(busSalesOrder.getNowCarUnknownVinNum()))) { |
|
|
|
if(com.yxt.common.base.utils.StringUtils.isBlank(orderFlowableQuery.getPurchaseSystemSid())){ |
|
|
|
if (com.yxt.common.base.utils.StringUtils.isBlank(orderFlowableQuery.getPurchaseSystemSid())) { |
|
|
|
return rb.setMsg("采购系统不能为空"); |
|
|
|
} |
|
|
|
} |
|
|
@ -6293,7 +6336,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper |
|
|
|
BeanUtil.copyProperties(orderFlowableQuery, bv); |
|
|
|
// bv.setModelId(ProcDefEnum.SALESORDER.getProDefId());
|
|
|
|
bv.setModelId(busSalesOrder.getProcDefId()); |
|
|
|
ResultBean resultBean = complete(bv); |
|
|
|
ResultBean resultBean = complete(bv, true); |
|
|
|
if (resultBean.getSuccess()) { |
|
|
|
if (BusSalesOrderConstantUtils.TypeEnum.PRODUCTION_SCHEDULING.getCode().equals(busSalesOrder.getType()) || (com.yxt.common.base.utils.StringUtils.isNotBlank(busSalesOrder.getNowCarUnknownVinNum()) && !"0".equals(busSalesOrder.getNowCarUnknownVinNum()))) { |
|
|
|
//更新销售订单的采购系统
|
|
|
|