|
|
@ -1073,7 +1073,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
* @param pagerQuery |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public IPage<AppFinUncollectedReceivablesDetailedVo> getPaymentDetailsList111(PagerQuery<AppFinSelectedReceivablesPaymentDetailsQuery> pagerQuery) { |
|
|
|
/* public IPage<AppFinUncollectedReceivablesDetailedVo> getPaymentDetailsList111(PagerQuery<AppFinSelectedReceivablesPaymentDetailsQuery> pagerQuery) { |
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
AppFinSelectedReceivablesPaymentDetailsQuery params = pagerQuery.getParams(); |
|
|
|
String orgPath = pagerQuery.getParams().getOrgPath(); |
|
|
@ -1186,7 +1186,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
page1.setCurrent(pagerQuery.getCurrent()); |
|
|
|
page1.setSize(pagerQuery.getSize()); |
|
|
|
return page1; |
|
|
|
} |
|
|
|
}*/ |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
@ -1315,14 +1315,24 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
* @param userSid |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean cashierConfirmOld(String sid, String userSid) { |
|
|
|
public ResultBean cashierConfirm(String sid, String userSid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
FinCollectionConfirmation confirmation = fetchBySid(sid); |
|
|
|
if (confirmation == null) { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
finSelectedReceivablesDetailedService.updateAuditStateBySid(1, sid); |
|
|
|
//推送收款单
|
|
|
|
if ("3".equals(confirmation.getAuditState())) { |
|
|
|
return rb.setMsg("该申请已审核通过,不允许重复操作"); |
|
|
|
} |
|
|
|
if ("2".equals(confirmation.getAuditState())) { |
|
|
|
return rb.setMsg("该申请已驳回,不允许确认"); |
|
|
|
} |
|
|
|
if ("4".equals(confirmation.getAuditState())) { |
|
|
|
return rb.setMsg("该申请已撤回,不允许确认"); |
|
|
|
} |
|
|
|
confirmation.setAuditState(3); |
|
|
|
baseMapper.updateById(confirmation); |
|
|
|
/* //推送收款单
|
|
|
|
ARReceivebill arReceivebill = new ARReceivebill(); |
|
|
|
//业务日期
|
|
|
|
arReceivebill.setFDATE(DateUtil.today()); |
|
|
@ -1360,22 +1370,22 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
ARReceivebill.FRECEIVEBILLENTRY freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); |
|
|
|
//推送全款车款
|
|
|
|
//根据合同编号分组-车款-待审核-全款-收款单明细
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, 1, "车款", "1"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, "车款", "1"); |
|
|
|
finSelectedReceivablesDetailedVos1.removeAll(Collections.singleton(null)); |
|
|
|
//全款推送车款(应收未收中为首付款的)
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, 1, "首付款及费用", "1"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, "首付款及费用", "1"); |
|
|
|
finSelectedReceivablesDetailedVos1_1_1.removeAll(Collections.singleton(null)); |
|
|
|
//推送全款订金
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, 1, "订金", "1"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, "订金", "1"); |
|
|
|
finSelectedReceivablesDetailedVos2.removeAll(Collections.singleton(null)); |
|
|
|
//贷款推送车款
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, 1, "车款", "2"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "车款", "2"); |
|
|
|
finSelectedReceivablesDetailedVos1_1.removeAll(Collections.singleton(null)); |
|
|
|
//贷款推送订金
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos2_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, 1, "订金", "2"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos2_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "订金", "2"); |
|
|
|
finSelectedReceivablesDetailedVos2_1.removeAll(Collections.singleton(null)); |
|
|
|
//贷款推送车款(应收未收中为首付款的)
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1_2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, 1, "首付款及费用", "2"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1_2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "首付款及费用", "2"); |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.removeAll(Collections.singleton(null)); |
|
|
|
int carSize = 0; |
|
|
|
//全款推送车款
|
|
|
@ -1499,154 +1509,86 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo()); |
|
|
|
ResultBean resultBean2 = arReceivebillService.draftArReceivebill(arReceivebill); |
|
|
|
log.info("收款单推送:" + resultBean2.getMsg()); |
|
|
|
} |
|
|
|
}*/ |
|
|
|
cashierPushConfirm(sid); |
|
|
|
//===========================================
|
|
|
|
List<BaseVehicleStateDto> dtoList = new ArrayList<>(); |
|
|
|
//查询该申请下的所有待审核的款项明细
|
|
|
|
BigDecimal subscriptionMoneyAll = new BigDecimal("0"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 1); |
|
|
|
if (finSelectedReceivablesDetailedVos.size() > 0) { |
|
|
|
finSelectedReceivablesDetailedVos.stream().forEach(v -> { |
|
|
|
//已选款项明细sid
|
|
|
|
String selectSid = v.getSid(); |
|
|
|
//应收未收款项明细sid
|
|
|
|
String receivablesSid = v.getReceivablesSid(); |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(receivablesSid); |
|
|
|
if (v.getSubscribedOf() == 0) { |
|
|
|
//更新认款状态
|
|
|
|
finUncollectedReceivablesDetailed.setSubscriptionState(finUncollectedReceivablesDetailed.getCurrentReceivableMoney().compareTo(BigDecimal.ZERO) == 0 ? 3 : 2); |
|
|
|
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed); |
|
|
|
} |
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid); |
|
|
|
//更新已选款项明细的审核状态1待审核/2已驳回/3已审核
|
|
|
|
finSelectedReceivablesDetailed.setAuditState(3); |
|
|
|
//更新审核时间
|
|
|
|
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today()); |
|
|
|
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed); |
|
|
|
//ToDo:查询是否符合待出库的条件
|
|
|
|
//该合同编号下的该车架号的所有认款金额
|
|
|
|
List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3); |
|
|
|
BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
//查询该合同编号下的销售订单的单车成交价
|
|
|
|
ResultBean<CommonContract> commonContractResultBean = commonContractFeign.selectByNo(v.getContractNo()); |
|
|
|
if (commonContractResultBean.getSuccess()) { |
|
|
|
CommonContract commonContract = commonContractResultBean.getData(); |
|
|
|
if (commonContract != null) { |
|
|
|
ResultBean<AppOrderDetailsVo> orderDetails = busSalesOrderFeign.getSaleOrderDetails(commonContract.getBusSid()); |
|
|
|
AppOrderDetailsVo vo = orderDetails.getData(); |
|
|
|
if (vo != null) { |
|
|
|
AppOrderPriceInfoVo priceInfoVo = vo.getPriceInfo(); |
|
|
|
AppOrderDepositInfoVo depositInfo = vo.getDepositInfo(); |
|
|
|
if (depositInfo != null) { |
|
|
|
if ("02".equals(depositInfo.getDepositTypeKey())) {//订金结转
|
|
|
|
BigDecimal decimalDeposit = BigDecimal.ZERO; |
|
|
|
if (StringUtils.isNotBlank(depositInfo.getDepositTotal())) { |
|
|
|
decimalDeposit = new BigDecimal(depositInfo.getDepositTotal()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(depositInfo.getMakeUpDeposit())) { |
|
|
|
decimalDeposit = decimalDeposit.subtract(new BigDecimal(depositInfo.getMakeUpDeposit())); |
|
|
|
} |
|
|
|
decimalDeposit = decimalDeposit.divide(new BigDecimal(priceInfoVo.getNumber()), BigDecimal.ROUND_CEILING); |
|
|
|
bigDecimalVinAll = bigDecimalVinAll.add(decimalDeposit); |
|
|
|
} |
|
|
|
} |
|
|
|
//单台整体成交价
|
|
|
|
BigDecimal singleFinalPrice = new BigDecimal(priceInfoVo.getSingleFinalPrice()); |
|
|
|
BigDecimal leftAll = BigDecimal.ZERO; |
|
|
|
BigDecimal rightAll = BigDecimal.ZERO; |
|
|
|
if ("2".equals(vo.getFinancePlan()) || "2".equals(vo.getPayTypeKey())) { |
|
|
|
//根据销售订单sid查询金融方案
|
|
|
|
ResultBean<SolutionsDetailsVo> solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetailss(commonContract.getBusSid()); |
|
|
|
SolutionsDetailsVo solutionsDetailsVo = solutionsDetailsVoResultBean.getData(); |
|
|
|
if (solutionsDetailsVo != null) { |
|
|
|
if (StringUtils.isNotBlank(solutionsDetailsVo.getTypeKey())) { |
|
|
|
if ("02".equals(solutionsDetailsVo.getTypeKey())) { |
|
|
|
//外部金融:成交价 = 订金+车款+厂家贴息-服务费
|
|
|
|
leftAll = leftAll.add(singleFinalPrice); |
|
|
|
if (StringUtils.isNotBlank(solutionsDetailsVo.getFactoryDiscount())) { |
|
|
|
leftAll = leftAll.subtract(new BigDecimal(solutionsDetailsVo.getFactoryDiscount())); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(solutionsDetailsVo.getServiceAmount())) { |
|
|
|
leftAll = leftAll.add(new BigDecimal(solutionsDetailsVo.getServiceAmount())); |
|
|
|
} |
|
|
|
rightAll = rightAll.add(bigDecimalVinAll); |
|
|
|
} else { |
|
|
|
//自营非担保: 实收订金 = 首付款及费用+订金
|
|
|
|
if (StringUtils.isNotBlank(solutionsDetailsVo.getRealTotal())) { |
|
|
|
leftAll = leftAll.add(new BigDecimal(solutionsDetailsVo.getRealTotal())); |
|
|
|
} |
|
|
|
rightAll = rightAll.add(bigDecimalVinAll); |
|
|
|
} |
|
|
|
} else {//担保贷款: 实收订金 = 首付款及费用+订金
|
|
|
|
if (StringUtils.isNotBlank(solutionsDetailsVo.getRealTotal())) { |
|
|
|
leftAll = leftAll.add(new BigDecimal(solutionsDetailsVo.getRealTotal())); |
|
|
|
} |
|
|
|
rightAll = rightAll.add(bigDecimalVinAll); |
|
|
|
} |
|
|
|
} else { |
|
|
|
// 成交价 = 车款+订金
|
|
|
|
leftAll = leftAll.add(singleFinalPrice); |
|
|
|
rightAll = rightAll.add(bigDecimalVinAll); |
|
|
|
} |
|
|
|
} else { |
|
|
|
// 成交价 = 车款+订金
|
|
|
|
leftAll = leftAll.add(singleFinalPrice); |
|
|
|
rightAll = rightAll.add(bigDecimalVinAll); |
|
|
|
} |
|
|
|
//根据busVinSid查询待出库中是否存在该数据
|
|
|
|
ResultBean<BusDelivered> busDeliveredResultBean = busDeliveredFeign.selectByBusVinSid(finUncollectedReceivablesDetailed.getBusVinSid()); |
|
|
|
if (busDeliveredResultBean.getData() == null) { |
|
|
|
if (leftAll.compareTo(rightAll) <= 0) {//推送待出库
|
|
|
|
BusDeliveredDto busDeliveredDto = new BusDeliveredDto(); |
|
|
|
busDeliveredDto.setSubscriptionKey(VehicleStateTempOrLast.PaymentEnum.PAY_MODELS.getCode()); |
|
|
|
busDeliveredDto.setSubscription(VehicleStateTempOrLast.PaymentEnum.PAY_MODELS.getRemarks()); |
|
|
|
busDeliveredDto.setPaymentMethodKey(vo.getPayTypeKey()); |
|
|
|
busDeliveredDto.setPaymentMethod(vo.getPayType()); |
|
|
|
busDeliveredDto.setContractNo(v.getContractNo()); |
|
|
|
busDeliveredDto.setName(v.getCustomerName()); |
|
|
|
busDeliveredDto.setVinNo(v.getVIN()); |
|
|
|
busDeliveredDto.setMobile(v.getCustomerPhone()); |
|
|
|
busDeliveredDto.setPrice(priceInfoVo.getSingleFinalPrice()); |
|
|
|
busDeliveredDto.setCreateBySid(confirmation.getStaffUserSid()); |
|
|
|
SubmitVo intermediary1 = vo.getIntermediary1(); |
|
|
|
if (intermediary1 != null) { |
|
|
|
busDeliveredDto.setDistributorName(intermediary1.getIntermediaryName()); |
|
|
|
busDeliveredDto.setDistributorPrice(intermediary1.getAgencyFee()); |
|
|
|
} |
|
|
|
SubmitVo intermediary2 = vo.getIntermediary2(); |
|
|
|
if (intermediary2 != null) { |
|
|
|
busDeliveredDto.setDistributorNameTwo(intermediary2.getIntermediaryName()); |
|
|
|
busDeliveredDto.setDistributorPriceTwo(intermediary2.getAgencyFee()); |
|
|
|
} |
|
|
|
busDeliveredDto.setSingleCarDiscountPrice(priceInfoVo.getSingleCarDiscountPrice()); |
|
|
|
//根据客户sid查询客户的身份证号
|
|
|
|
AppOrderModelInfoVo appOrderModelInfoVo = vo.getModelInfo(); |
|
|
|
busDeliveredDto.setModelName(appOrderModelInfoVo.getModelName()); |
|
|
|
busDeliveredDto.setUseOrgSid(confirmation.getUseOrgSid()); |
|
|
|
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(confirmation.getUseOrgSid()); |
|
|
|
if (sysOrganizationVoResultBean.getData() != null) { |
|
|
|
busDeliveredDto.setUseOrgName(sysOrganizationVoResultBean.getData().getName()); |
|
|
|
} |
|
|
|
busDeliveredDto.setBusVinSid(finUncollectedReceivablesDetailed.getBusVinSid()); |
|
|
|
ResultBean resultBean1 = busDeliveredFeign.save(busDeliveredDto); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
if (confirmation.getPushMessgae() == 1) {//简易订单定金
|
|
|
|
finSelectedReceivablesDetailedVos.stream().forEach(v -> { |
|
|
|
//已选款项明细sid
|
|
|
|
String selectSid = v.getSid(); |
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid); |
|
|
|
//更新已选款项明细的审核状态1待审核/2已驳回/3已审核
|
|
|
|
finSelectedReceivablesDetailed.setAuditState(3); |
|
|
|
//更新审核时间
|
|
|
|
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today()); |
|
|
|
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed); |
|
|
|
}); |
|
|
|
} else { |
|
|
|
finSelectedReceivablesDetailedVos.stream().forEach(v -> { |
|
|
|
//已选款项明细sid
|
|
|
|
String selectSid = v.getSid(); |
|
|
|
//应收未收款项明细sid
|
|
|
|
String receivablesSid = v.getReceivablesSid(); |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(receivablesSid); |
|
|
|
if (v.getSubscribedOf() == 0) { |
|
|
|
//更新认款状态
|
|
|
|
finUncollectedReceivablesDetailed.setSubscriptionState(finUncollectedReceivablesDetailed.getCurrentReceivableMoney().compareTo(BigDecimal.ZERO) == 0 ? 3 : 2); |
|
|
|
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid); |
|
|
|
//更新已选款项明细的审核状态1待审核/2已驳回/3已审核
|
|
|
|
finSelectedReceivablesDetailed.setAuditState(3); |
|
|
|
//更新审核时间
|
|
|
|
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today()); |
|
|
|
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed); |
|
|
|
//ToDo:查询是否符合待出库的条件
|
|
|
|
//该合同编号下的该车架号的所有认款金额
|
|
|
|
List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3); |
|
|
|
BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
List<FinUncollectedReceivablesDetailed> unList = finUncollectedReceivablesDetailedService.selectListByBusVinSid(finUncollectedReceivablesDetailed.getBusVinSid()); |
|
|
|
BigDecimal unDecimalVinAll = unList.stream().map(FinUncollectedReceivablesDetailed::getReveivableMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
//查询该合同编号下的销售订单的单车成交价
|
|
|
|
BigDecimal leftAll = unDecimalVinAll; |
|
|
|
BigDecimal rightAll = bigDecimalVinAll; |
|
|
|
if (leftAll.compareTo(rightAll) <= 0) { |
|
|
|
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); |
|
|
|
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_RQ.getTypeKey()); |
|
|
|
baseVehicleStateDto.setBusSid(finUncollectedReceivablesDetailed.getBusVinSid()); |
|
|
|
dtoList.add(baseVehicleStateDto); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
//查询该申请已认款金额总数
|
|
|
|
subscriptionMoneyAll = finSelectedReceivablesDetailedVos.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
} |
|
|
|
//==============================修改车辆的持久状态组装数据
|
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
if (!dtoList.isEmpty()) { |
|
|
|
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); |
|
|
|
} |
|
|
|
}); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
//查询该申请所有的款项明细
|
|
|
|
finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 3); |
|
|
|
confirmation = fetchBySid(sid); |
|
|
|
//与收款金额作比较:更新认款状态 1未认款/2部分认款/3已认款
|
|
|
|
confirmation.setPaymentState(confirmation.getCollectionMoney().compareTo(subscriptionMoneyAll) <= 0 ? 3 : subscriptionMoneyAll.compareTo(BigDecimal.ZERO) == 0 ? 1 : 2); |
|
|
|
//更新收款申请的余额以及审核状态
|
|
|
|
BigDecimal balanceBigDecimal = confirmation.getCollectionMoney().subtract(subscriptionMoneyAll); |
|
|
|
confirmation.setBalance(balanceBigDecimal); |
|
|
|
confirmation.setAuditState(3); |
|
|
|
//查询当前登录人信息并更新审核人和审核时间
|
|
|
|
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(userSid); |
|
|
|
if (userVoResultBean.getData() != null) { |
|
|
@ -1660,25 +1602,18 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
return rb.success().setMsg("款项确认成功"); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public ResultBean cashierConfirm(String sid, String userSid) { |
|
|
|
/** |
|
|
|
* 推送金蝶 |
|
|
|
* |
|
|
|
* @param sid 款项申请sid |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean cashierPushConfirm(String sid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
FinCollectionConfirmation confirmation = fetchBySid(sid); |
|
|
|
if (confirmation == null) { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
if ("3".equals(confirmation.getAuditState())) { |
|
|
|
return rb.setMsg("该申请已审核通过,不允许重复操作"); |
|
|
|
} |
|
|
|
if ("2".equals(confirmation.getAuditState())) { |
|
|
|
return rb.setMsg("该申请已驳回,不允许确认"); |
|
|
|
} |
|
|
|
if ("4".equals(confirmation.getAuditState())) { |
|
|
|
return rb.setMsg("该申请已撤回,不允许确认"); |
|
|
|
} |
|
|
|
confirmation.setAuditState(3); |
|
|
|
baseMapper.updateById(confirmation); |
|
|
|
finSelectedReceivablesDetailedService.updateAuditStateBySid(1, sid); |
|
|
|
//推送收款单
|
|
|
|
ARReceivebill arReceivebill = new ARReceivebill(); |
|
|
|
//业务日期
|
|
|
@ -1717,22 +1652,22 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
ARReceivebill.FRECEIVEBILLENTRY freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); |
|
|
|
//推送全款车款
|
|
|
|
//根据合同编号分组-车款-待审核-全款-收款单明细
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, 1, "车款", "1"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, "车款", "1"); |
|
|
|
finSelectedReceivablesDetailedVos1.removeAll(Collections.singleton(null)); |
|
|
|
//全款推送车款(应收未收中为首付款的)
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, 1, "首付款及费用", "1"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, "首付款及费用", "1"); |
|
|
|
finSelectedReceivablesDetailedVos1_1_1.removeAll(Collections.singleton(null)); |
|
|
|
//推送全款订金
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, 1, "订金", "1"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1_1(sid, "订金", "1"); |
|
|
|
finSelectedReceivablesDetailedVos2.removeAll(Collections.singleton(null)); |
|
|
|
//贷款推送车款
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, 1, "车款", "2"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "车款", "2"); |
|
|
|
finSelectedReceivablesDetailedVos1_1.removeAll(Collections.singleton(null)); |
|
|
|
//贷款推送订金
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos2_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, 1, "订金", "2"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos2_1 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "订金", "2"); |
|
|
|
finSelectedReceivablesDetailedVos2_1.removeAll(Collections.singleton(null)); |
|
|
|
//贷款推送车款(应收未收中为首付款的)
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1_2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, 1, "首付款及费用", "2"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1_2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, "首付款及费用", "2"); |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.removeAll(Collections.singleton(null)); |
|
|
|
int carSize = 0; |
|
|
|
//全款推送车款
|
|
|
@ -1857,95 +1792,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
ResultBean resultBean2 = arReceivebillService.draftArReceivebill(arReceivebill); |
|
|
|
log.info("收款单推送:" + resultBean2.getMsg()); |
|
|
|
} |
|
|
|
//===========================================
|
|
|
|
List<BaseVehicleStateDto> dtoList = new ArrayList<>(); |
|
|
|
//查询该申请下的所有待审核的款项明细
|
|
|
|
BigDecimal subscriptionMoneyAll = new BigDecimal("0"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 1); |
|
|
|
if (finSelectedReceivablesDetailedVos.size() > 0) { |
|
|
|
if (confirmation.getPushMessgae() == 1) {//简易订单定金
|
|
|
|
finSelectedReceivablesDetailedVos.stream().forEach(v -> { |
|
|
|
//已选款项明细sid
|
|
|
|
String selectSid = v.getSid(); |
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid); |
|
|
|
//更新已选款项明细的审核状态1待审核/2已驳回/3已审核
|
|
|
|
finSelectedReceivablesDetailed.setAuditState(3); |
|
|
|
//更新审核时间
|
|
|
|
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today()); |
|
|
|
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed); |
|
|
|
}); |
|
|
|
} else { |
|
|
|
finSelectedReceivablesDetailedVos.stream().forEach(v -> { |
|
|
|
//已选款项明细sid
|
|
|
|
String selectSid = v.getSid(); |
|
|
|
//应收未收款项明细sid
|
|
|
|
String receivablesSid = v.getReceivablesSid(); |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(receivablesSid); |
|
|
|
if (v.getSubscribedOf() == 0) { |
|
|
|
//更新认款状态
|
|
|
|
finUncollectedReceivablesDetailed.setSubscriptionState(finUncollectedReceivablesDetailed.getCurrentReceivableMoney().compareTo(BigDecimal.ZERO) == 0 ? 3 : 2); |
|
|
|
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed); |
|
|
|
} |
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid); |
|
|
|
//更新已选款项明细的审核状态1待审核/2已驳回/3已审核
|
|
|
|
finSelectedReceivablesDetailed.setAuditState(3); |
|
|
|
//更新审核时间
|
|
|
|
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today()); |
|
|
|
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed); |
|
|
|
//ToDo:查询是否符合待出库的条件
|
|
|
|
//该合同编号下的该车架号的所有认款金额
|
|
|
|
List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3); |
|
|
|
BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
List<FinUncollectedReceivablesDetailed> unList = finUncollectedReceivablesDetailedService.selectListByBusVinSid(finUncollectedReceivablesDetailed.getBusVinSid()); |
|
|
|
BigDecimal unDecimalVinAll = unList.stream().map(FinUncollectedReceivablesDetailed::getReveivableMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
//查询该合同编号下的销售订单的单车成交价
|
|
|
|
BigDecimal leftAll = unDecimalVinAll; |
|
|
|
BigDecimal rightAll = bigDecimalVinAll; |
|
|
|
if (leftAll.compareTo(rightAll) <= 0) { |
|
|
|
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); |
|
|
|
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_RQ.getTypeKey()); |
|
|
|
baseVehicleStateDto.setBusSid(finUncollectedReceivablesDetailed.getBusVinSid()); |
|
|
|
dtoList.add(baseVehicleStateDto); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
//查询该申请已认款金额总数
|
|
|
|
subscriptionMoneyAll = finSelectedReceivablesDetailedVos.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
} |
|
|
|
//==============================修改车辆的持久状态组装数据
|
|
|
|
try { |
|
|
|
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() |
|
|
|
.setNameFormat("demo-pool-%d").build(); |
|
|
|
ExecutorService pool = new ThreadPoolExecutor(2, 100, |
|
|
|
0L, TimeUnit.MILLISECONDS, |
|
|
|
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); |
|
|
|
Future future1 = pool.submit(() -> { |
|
|
|
if (!dtoList.isEmpty()) { |
|
|
|
ResultBean busVehicleStateResultBean = baseVehicleStateFeign.saveOrUpdate(dtoList); |
|
|
|
} |
|
|
|
}); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
//查询该申请所有的款项明细
|
|
|
|
finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 3); |
|
|
|
confirmation = fetchBySid(sid); |
|
|
|
//与收款金额作比较:更新认款状态 1未认款/2部分认款/3已认款
|
|
|
|
confirmation.setPaymentState(confirmation.getCollectionMoney().compareTo(subscriptionMoneyAll) <= 0 ? 3 : subscriptionMoneyAll.compareTo(BigDecimal.ZERO) == 0 ? 1 : 2); |
|
|
|
//更新收款申请的余额以及审核状态
|
|
|
|
BigDecimal balanceBigDecimal = confirmation.getCollectionMoney().subtract(subscriptionMoneyAll); |
|
|
|
confirmation.setBalance(balanceBigDecimal); |
|
|
|
//查询当前登录人信息并更新审核人和审核时间
|
|
|
|
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(userSid); |
|
|
|
if (userVoResultBean.getData() != null) { |
|
|
|
confirmation.setConfirmName(userVoResultBean.getData().getName()); |
|
|
|
} |
|
|
|
confirmation.setConfirmDate(DateUtil.today()); |
|
|
|
confirmation.setConfirmNameSid(userSid); |
|
|
|
baseMapper.updateById(confirmation); |
|
|
|
//删除临时表的数据
|
|
|
|
ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid); |
|
|
|
return rb.success().setMsg("款项确认成功"); |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
//组装客户推送
|
|
|
@ -2011,8 +1858,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
customerQuery.setOrgCode(orgCode); |
|
|
|
} |
|
|
|
} |
|
|
|
// ResultBean<String> customerResultBean = crmCustomerTempFeign.checkCustomerOrUpdate(customerQuery);
|
|
|
|
// log.info("推送客户{}", customerResultBean);
|
|
|
|
//根据客户编码查询金蝶中是否存在该客户
|
|
|
|
Boolean aBoolean = finKingDeeService.customerExistState(customerQuery.getCustomerNo()).getData(); |
|
|
|
if (!aBoolean) {//不存在则创建
|
|
|
@ -2040,7 +1885,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
//推送全款车款
|
|
|
|
//查询该收款单的所有已选明细:车款-待审核-全款
|
|
|
|
List<FinSelectedReceivablesDetailedVo> voListv = |
|
|
|
finSelectedReceivablesDetailedService.selectDetailsList(sid, 1, "车款"); |
|
|
|
finSelectedReceivablesDetailedService.selectDetailsList(sid, "车款"); |
|
|
|
finSelectedReceivablesDetailedVos1.removeAll(Collections.singleton(null)); |
|
|
|
List<ARReceivebill.FRECEIVEBILLENTRY> fEntityList = new ArrayList<>(); |
|
|
|
for (int i = 0; i < finSelectedReceivablesDetailedVos1.size(); i++) { |
|
|
@ -2053,7 +1898,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
//查询该收款单已选款项中该合同号的所有车架号不为空的明细
|
|
|
|
String contractNo = v.getContractNo(); |
|
|
|
String uncollSid = ""; |
|
|
|
List<FinSelectedReceivablesDetailedVo> vinListVo = finSelectedReceivablesDetailedService.selectVinListVo_1(sid, 1, "车款", contractNo); |
|
|
|
List<FinSelectedReceivablesDetailedVo> vinListVo = finSelectedReceivablesDetailedService.selectVinListVo_1(sid, "车款", contractNo); |
|
|
|
vinListVo.removeAll(Collections.singleton(null)); |
|
|
|
if (!vinListVo.isEmpty()) { |
|
|
|
for (FinSelectedReceivablesDetailedVo vv : vinListVo) { |
|
|
@ -2077,7 +1922,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
} |
|
|
|
} |
|
|
|
//查询该合同编号的车架号为空的情况
|
|
|
|
FinSelectedReceivablesDetailedVo vvVo = finSelectedReceivablesDetailedService.fetchByAuditStateV_1(sid, 1, "车款", contractNo); |
|
|
|
FinSelectedReceivablesDetailedVo vvVo = finSelectedReceivablesDetailedService.fetchByAuditStateV_1(sid, "车款", contractNo); |
|
|
|
if (vvVo != null) { |
|
|
|
uncollSid = vvVo.getReceivablesSid(); |
|
|
|
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); |
|
|
@ -2125,7 +1970,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
String sid = confirmation.getSid(); |
|
|
|
//查询该收款单的所有已选明细:首付款及费用-待审核-全款
|
|
|
|
List<FinSelectedReceivablesDetailedVo> voListv = |
|
|
|
finSelectedReceivablesDetailedService.selectDetailsList(sid, 1, "首付款及费用"); |
|
|
|
finSelectedReceivablesDetailedService.selectDetailsList(sid, "首付款及费用"); |
|
|
|
finSelectedReceivablesDetailedVos1_1_1.removeAll(Collections.singleton(null)); |
|
|
|
List<ARReceivebill.FRECEIVEBILLENTRY> fEntityList = new ArrayList<>(); |
|
|
|
for (int i = 0; i < finSelectedReceivablesDetailedVos1_1_1.size(); i++) { |
|
|
@ -2138,7 +1983,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
//查询该收款单已选款项中该合同号的所有车架号不为空的明细
|
|
|
|
String contractNo = v.getContractNo(); |
|
|
|
String uncollSid = ""; |
|
|
|
List<FinSelectedReceivablesDetailedVo> vinListVo = finSelectedReceivablesDetailedService.selectVinListVo_1(sid, 1, "首付款及费用", contractNo); |
|
|
|
List<FinSelectedReceivablesDetailedVo> vinListVo = finSelectedReceivablesDetailedService.selectVinListVo_1(sid, "首付款及费用", contractNo); |
|
|
|
vinListVo.removeAll(Collections.singleton(null)); |
|
|
|
if (!vinListVo.isEmpty()) { |
|
|
|
for (FinSelectedReceivablesDetailedVo vv : vinListVo) { |
|
|
@ -2162,7 +2007,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
} |
|
|
|
} |
|
|
|
//查询该合同编号的车架号为空的情况
|
|
|
|
FinSelectedReceivablesDetailedVo vvVo = finSelectedReceivablesDetailedService.fetchByAuditStateV_1(sid, 1, "首付款及费用", contractNo); |
|
|
|
FinSelectedReceivablesDetailedVo vvVo = finSelectedReceivablesDetailedService.fetchByAuditStateV_1(sid, "首付款及费用", contractNo); |
|
|
|
if (vvVo != null) { |
|
|
|
uncollSid = vvVo.getReceivablesSid(); |
|
|
|
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); |
|
|
@ -2210,7 +2055,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
String orgCode) { |
|
|
|
String sid = confirmation.getSid(); |
|
|
|
List<FinSelectedReceivablesDetailedVo> voListv = |
|
|
|
finSelectedReceivablesDetailedService.selectDetailsList(sid, 1, "订金"); |
|
|
|
finSelectedReceivablesDetailedService.selectDetailsList(sid, "订金"); |
|
|
|
finSelectedReceivablesDetailedVos2.removeAll(Collections.singleton(null)); |
|
|
|
List<ARReceivebill.FRECEIVEBILLENTRY> fEntityList = new ArrayList<>(); |
|
|
|
for (int i = 0; i < finSelectedReceivablesDetailedVos2.size(); i++) { |
|
|
@ -2222,7 +2067,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
fEntityList = new ArrayList<>(); |
|
|
|
//查询该收款单已选款项中该合同号的所有车架号不为空的明细
|
|
|
|
String contractNo = v.getContractNo(); |
|
|
|
List<FinSelectedReceivablesDetailedVo> vinListVo = finSelectedReceivablesDetailedService.selectVinListVo_1(sid, 1, "订金", contractNo); |
|
|
|
List<FinSelectedReceivablesDetailedVo> vinListVo = finSelectedReceivablesDetailedService.selectVinListVo_1(sid, "订金", contractNo); |
|
|
|
vinListVo.removeAll(Collections.singleton(null)); |
|
|
|
if (!vinListVo.isEmpty()) { |
|
|
|
for (FinSelectedReceivablesDetailedVo vv : vinListVo) { |
|
|
@ -2245,7 +2090,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
} |
|
|
|
} |
|
|
|
//查询该合同编号的车架号为空的情况
|
|
|
|
FinSelectedReceivablesDetailedVo vvVo = finSelectedReceivablesDetailedService.fetchByAuditStateV_1(sid, 1, "订金", contractNo); |
|
|
|
FinSelectedReceivablesDetailedVo vvVo = finSelectedReceivablesDetailedService.fetchByAuditStateV_1(sid, "订金", contractNo); |
|
|
|
if (vvVo != null) { |
|
|
|
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); |
|
|
|
//结算方式
|
|
|
@ -2466,37 +2311,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
return customerNoPrefix.length() > 30 ? customerNoPrefix.substring(0, 30) : customerNoPrefix; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public ResultBean saveFinConfirmOld(FinConfirmDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
FinCollectionConfirmation confirmation = new FinCollectionConfirmation(); |
|
|
|
BeanUtil.copyProperties(dto, confirmation, "sid"); |
|
|
|
baseMapper.insert(confirmation); |
|
|
|
List<FinSelectDto> finSelectList = dto.getFinSelectList(); |
|
|
|
finSelectList.removeAll(Collections.singleton(null)); |
|
|
|
for (FinSelectDto d : finSelectList) { |
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = new FinSelectedReceivablesDetailed(); |
|
|
|
BeanUtil.copyProperties(d, finSelectedReceivablesDetailed, "sid"); |
|
|
|
finSelectedReceivablesDetailed.setCollSid(confirmation.getSid()); |
|
|
|
finSelectedReceivablesDetailedService.insert(finSelectedReceivablesDetailed); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(confirmation.getPaymentVoucherUrl())) { |
|
|
|
//添加进附件表
|
|
|
|
List<String> stringList = Arrays.asList(confirmation.getPaymentVoucherUrl().split(",")); |
|
|
|
//附件保存:打款凭证附件
|
|
|
|
stringList.stream().forEach(v -> { |
|
|
|
CommonAppendixDto commonAppendixDto = new CommonAppendixDto(); |
|
|
|
commonAppendixDto.setFilePath(v); |
|
|
|
commonAppendixDto.setFileName(CommonAttachTypeEnum.PAYMENT_VOUCHER.getMark()); |
|
|
|
commonAppendixDto.setLinkSid(confirmation.getSid()); |
|
|
|
commonAppendixDto.setCreateBySid(confirmation.getCreateBySid()); |
|
|
|
commonAppendixDto.setAttachType(CommonAttachTypeEnum.PAYMENT_VOUCHER.getAttachType()); |
|
|
|
commonAppendixFeign.save(commonAppendixDto); |
|
|
|
}); |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean saveFinConfirm(FinConfirmDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
FinCollectionConfirmation confirmation = new FinCollectionConfirmation(); |
|
|
@ -2671,17 +2485,20 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 重推收款单 |
|
|
|
* |
|
|
|
* @param sid |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean ctskd(String sid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
FinCollectionConfirmation confirmation = fetchBySid(sid); |
|
|
|
if (confirmation == null) { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
confirmation.setAuditState(1); |
|
|
|
baseMapper.updateById(confirmation); |
|
|
|
finSelectedReceivablesDetailedService.updateAuditStateBySid(1, sid); |
|
|
|
ResultBean resultBean = cashierConfirm(sid, confirmation.getConfirmNameSid()); |
|
|
|
return resultBean; |
|
|
|
cashierPushConfirm(sid); |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<String> selectCollectionMoney(String contractNo) { |
|
|
@ -2690,6 +2507,13 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
return rb.success().setData(moneyAll); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 收款单申请人撤回 |
|
|
|
* |
|
|
|
* @param sid |
|
|
|
* @param userSid |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean recallConfirm(String sid, String userSid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
FinCollectionConfirmation confirmation = fetchBySid(sid); |
|
|
|