Browse Source

收款单推送金蝶独立接口。

master
dimengzhe 2 years ago
parent
commit
370045443d
  1. 422
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  2. 32
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java
  3. 56
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml
  4. 98
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java

422
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -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);

32
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java

@ -81,56 +81,44 @@ public interface FinSelectedReceivablesDetailedMapper extends BaseMapper<FinSele
*/
IPage<AppFinUncollectedReceivablesDetailedVo> getPaymentDetailsList(IPage<AppFinSelectedReceivablesPaymentDetailsQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppFinUncollectedReceivablesDetailedVo> qw, @Param("name") String name);
List<AppFinUncollectedReceivablesDetailedVo> getPaymentList(@Param(Constants.WRAPPER) QueryWrapper<AppFinUncollectedReceivablesDetailedVo> qw, @Param("name") String name);
// List<AppFinUncollectedReceivablesDetailedVo> getPaymentList(@Param(Constants.WRAPPER) QueryWrapper<AppFinUncollectedReceivablesDetailedVo> qw, @Param("name") String name);
@Select("select * from fin_selected_receivables_detailed where collSid = #{sid} and auditState = #{auditState}")
List<FinSelectedReceivablesDetailedVo> fetchByAuditState(@Param("sid") String sid, @Param("auditState") Integer auditState);
@Update("update fin_selected_receivables_detailed set auditState = 3 where sid = #{sid}")
void cashierConfirm(String sid);
List<FinSelectedReceivablesDetailedVo> selectGroupConAndRecAndPay();
List<FinSelectedReceivablesDetailedVo> selectDetailedGroupConAndRecAndPay();
@Update("update fin_selected_receivables_detailed set auditDate = NOW() ,auditState = #{auditState} where sid = #{sid1}")
void updateAuditDateBySid(@Param("sid1") String sid1, @Param("auditState") String auditState);
List<AppFinSelectedReceivablesPaymentDetailsVo> selectByCollSid(@Param("collectionBillSid") String collectionBillSid);
List<AppBusArrearsCarryMoneyVo> selByContractNo(String contractNo);
List<String> selectListByAuditState(@Param("i") int i, @Param("userSid") String userSid, @Param("useOrgSid") String useOrgSid);
List<FinSelectedReceivablesDetailedVo> selectListByVin(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state);
List<FinSelectedReceivablesDetailed> getList(@Param("list") List<String> sidsList);
List<FinSelectedReceivablesDetailedVo> fetchByAuditState1(@Param("sid") String sid, @Param("state") int i, @Param("type") String type, @Param("payTypeKey") String payTypeKey);
/**
* 根据合同编号分组查询客户
*
* @param sid 收款单sid
* @param i 审核状态
* @param type 应收项目名称
* @param payTypeKey 销售类型
* @return
*/
List<FinSelectedReceivablesDetailedVo> fetchByAuditState1_1_1(@Param("sid") String sid, @Param("state") int i, @Param("type") String type, @Param("payTypeKey") String payTypeKey);
List<FinSelectedReceivablesDetailedVo> fetchByAuditState1_1_1(@Param("sid") String sid, @Param("type") String type, @Param("payTypeKey") String payTypeKey);
List<FinSelectedReceivablesDetailedVo> fetchByAuditState1_1(@Param("sid") String sid, @Param("state") int i, @Param("type") String type, @Param("payTypeKey") String payTypeKey);
List<FinSelectedReceivablesDetailedVo> fetchByAuditState1_1(@Param("sid") String sid, @Param("type") String type, @Param("payTypeKey") String payTypeKey);
List<SelectCustomerVo> selectCustomerList(@Param("sid") String sid, @Param("state") int i, @Param("type") String type);
// List<SelectCustomerVo> selectCustomerList(@Param("sid") String sid, @Param("state") int i, @Param("type") String type);
List<FinSelectedReceivablesDetailedVo> selectDetailsList(@Param("sid") String sid, @Param("state") int i, @Param("type") String type);
List<FinSelectedReceivablesDetailedVo> selectDetailsList(@Param("sid") String sid, @Param("type") String type);
List<FinSelectedReceivablesDetailedVo> selectVinListVo(@Param("sid") String sid, @Param("state") int i, @Param("type") String type, @Param("customerName") String customerName, @Param("customerPhone") String customerPhone);
List<FinSelectedReceivablesDetailedVo> selectVinListVo_1(@Param("sid") String sid, @Param("state") int i, @Param("type") String type, @Param("contractNo") String contractNo);
List<FinSelectedReceivablesDetailedVo> selectVinListVo_1(@Param("sid") String sid, @Param("type") String type, @Param("contractNo") String contractNo);
FinSelectedReceivablesDetailedVo fetchByAuditStateV(@Param("sid") String sid, @Param("state") int i, @Param("type") String type, @Param("customerName") String customerName, @Param("customerPhone") String customerPhone);
FinSelectedReceivablesDetailedVo fetchByAuditStateV_1(@Param("sid") String sid, @Param("state") int i, @Param("type") String type, @Param("contractNo") String contractNo);
FinSelectedReceivablesDetailedVo fetchByAuditStateV_1(@Param("sid") String sid, @Param("type") String type, @Param("contractNo") String contractNo);
@Select("select * from fin_selected_receivables_detailed where contractNo = #{contractNo}")
List<FinSelectedReceivablesDetailed> fetchByContractNo(String contractNo);
@ -150,12 +138,12 @@ public interface FinSelectedReceivablesDetailedMapper extends BaseMapper<FinSele
List<FinSelectReceivablesDetailedVo> selectPageList(@Param(Constants.WRAPPER) QueryWrapper<AppFinUncollectedReceivablesDetailedVo> qw, @Param("name") String name);
IPage<FinSelectReceivablesDetailedWCKCLRKVo> noOutVehRecPageList(IPage<FinSelectedReceivablesDetailed> page, @Param(Constants.WRAPPER)QueryWrapper<FinSelectReceivablesDetailedWCKCLRKVo> qw);
IPage<FinSelectReceivablesDetailedWCKCLRKVo> noOutVehRecPageList(IPage<FinSelectedReceivablesDetailed> page, @Param(Constants.WRAPPER) QueryWrapper<FinSelectReceivablesDetailedWCKCLRKVo> qw);
@Update("update fin_selected_receivables_detailed set balance = #{balance} where sid = #{busSid}")
void updateYeBySid(@Param("balance") String balance,@Param("busSid") String busSid);
void updateYeBySid(@Param("balance") String balance, @Param("busSid") String busSid);
List<String> fetchJzMoneyByContractNoAndMainSid(@Param("ysCustNo") String ysCustNo,@Param("sid") String sid);
List<String> fetchJzMoneyByContractNoAndMainSid(@Param("ysCustNo") String ysCustNo, @Param("sid") String sid);
String selectBalanceByReceivedSid(String receivablesSid);

56
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml

@ -84,7 +84,7 @@
order by furd.contractNo desc
</select>
<select id="getPaymentList"
<!-- <select id="getPaymentList"
resultType="com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo">
SELECT sid,
contractNo AS contractId,
@ -115,7 +115,7 @@
>0
</where>
order by furd.contractNo desc
</select>
</select>-->
<select id="selectGroupConAndRecAndPay"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo">
@ -168,14 +168,6 @@
WHERE fcc.paymentState = 1
</select>
<select id="selectListByAuditState" resultType="java.lang.String">
select receivablesSid
from fin_selected_receivables_detailed
where auditState = #{i}
and createBySid = #{userSid}
and useOrgSid = #{useOrgSid}
</select>
<select id="selectListByVin"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo">
select ifnull(sum(dbalance), 0) as subscriptionMoney
@ -205,23 +197,11 @@
</foreach>
</select>
<select id="fetchByAuditState1"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo">
select *, sum(subscriptionMoney) as sumAll
from fin_selected_receivables_detailed
where collSid = #{sid}
and auditState = #{state}
and receivablesName = #{type}
and payTypeKey = #{payTypeKey}
group by concat(customerName, customerPhone)
</select>
<select id="fetchByAuditState1_1_1"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo">
select *, sum(subscriptionMoney) as sumAll
from fin_selected_receivables_detailed
where collSid = #{sid}
and auditState = #{state}
and receivablesName = #{type}
and payTypeKey = #{payTypeKey}
group by contractNo
@ -232,39 +212,25 @@
select *
from fin_selected_receivables_detailed
where collSid = #{sid}
and auditState = #{state}
and receivablesName = #{type}
and payTypeKey = #{payTypeKey}
</select>
<select id="selectCustomerList" resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.SelectCustomerVo">
<!-- <select id="selectCustomerList" resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.SelectCustomerVo">
select customerName, customerPhone, customerSid
from fin_selected_receivables_detailed
where collSid = #{sid}
and auditState = #{state}
and receivablesName = #{type}
group by concat(customerName, customerPhone)
</select>
</select>-->
<select id="selectDetailsList"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo">
select *
from fin_selected_receivables_detailed
where collSid = #{sid}
and auditState = #{state}
and receivablesName = #{type}
</select>
<select id="selectVinListVo"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo">
select *
from fin_selected_receivables_detailed
where collSid = #{sid}
and auditState = #{state}
and receivablesName = #{type}
and customerName = #{customerName}
and customerPhone = #{customerPhone}
and length(VIN) > 0
</select>
<select id="selectVinListVo_1"
@ -272,7 +238,6 @@
select *
from fin_selected_receivables_detailed
where collSid = #{sid}
and auditState = #{state}
and receivablesName = #{type}
and contractNo = #{contractNo}
and length(VIN) > 0
@ -283,24 +248,11 @@
select *, sum(subscriptionMoney) as sumAll
from fin_selected_receivables_detailed
where collSid = #{sid}
and auditState = #{state}
and receivablesName = #{type}
and contractNo = #{contractNo}
and length(VIN) = 0
</select>
<select id="fetchByAuditStateV"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo">
select *, sum(subscriptionMoney) as sumAll
from fin_selected_receivables_detailed
where collSid = #{sid}
and auditState = #{state}
and receivablesName = #{type}
and customerName = #{customerName}
and customerPhone = #{customerPhone}
and length(VIN) = 0
</select>
<select id="selectByVinSid" resultType="java.lang.String">
select ifnull(sum(dbalance), 0) as subscriptionMoney
from (SELECT cast((

98
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java

@ -204,18 +204,14 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
return baseMapper.getPaymentDetailsList(page, qw, name);
}
public List<AppFinUncollectedReceivablesDetailedVo> getPaymentList(QueryWrapper<AppFinUncollectedReceivablesDetailedVo> qw, String name) {
/* public List<AppFinUncollectedReceivablesDetailedVo> getPaymentList(QueryWrapper<AppFinUncollectedReceivablesDetailedVo> qw, String name) {
return baseMapper.getPaymentList(qw, name);
}
}*/
public List<FinSelectedReceivablesDetailedVo> fetchByAuditState(String sid, Integer auditState) {
return baseMapper.fetchByAuditState(sid, auditState);
}
public void cashierConfirm(String sid) {
baseMapper.cashierConfirm(sid);
}
public List<FinSelectedReceivablesDetailedVo> selectGroupConAndRecAndPay() {
return baseMapper.selectGroupConAndRecAndPay();
}
@ -224,10 +220,6 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
return baseMapper.selectDetailedGroupConAndRecAndPay();
}
public void updateAuditDateBySid(String sid1, String auditState) {
baseMapper.updateAuditDateBySid(sid1, auditState);
}
public List<AppFinSelectedReceivablesPaymentDetailsVo> selectByCollSid(String collectionBillSid) {
return baseMapper.selectByCollSid(collectionBillSid);
}
@ -237,10 +229,6 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
return list;
}
public List<String> selectListByAuditState(int i, String userSid, String useOrgSid) {
return baseMapper.selectListByAuditState(i, userSid, useOrgSid);
}
public List<FinSelectedReceivablesDetailedVo> selectListByVin(String contractNo, String busVinSid, int state) {
return baseMapper.selectListByVin(contractNo, busVinSid, state);
}
@ -249,10 +237,6 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
return baseMapper.getList(sidsList);
}
public List<FinSelectedReceivablesDetailedVo> fetchByAuditState1(String sid, int i, String type, String payTypeKey) {
return baseMapper.fetchByAuditState1(sid, i, type, payTypeKey);
}
/**
* 根据合同编号分组查询客户
*
@ -262,24 +246,20 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
* @param payTypeKey 销售类型
* @return
*/
public List<FinSelectedReceivablesDetailedVo> fetchByAuditState1_1_1(String sid, int i, String type, String payTypeKey) {
return baseMapper.fetchByAuditState1_1_1(sid, i, type, payTypeKey);
public List<FinSelectedReceivablesDetailedVo> fetchByAuditState1_1_1(String sid, String type, String payTypeKey) {
return baseMapper.fetchByAuditState1_1_1(sid, type, payTypeKey);
}
public List<FinSelectedReceivablesDetailedVo> fetchByAuditState1_1(String sid, int i, String type, String payTypeKey) {
return baseMapper.fetchByAuditState1_1(sid, i, type, payTypeKey);
public List<FinSelectedReceivablesDetailedVo> fetchByAuditState1_1(String sid, String type, String payTypeKey) {
return baseMapper.fetchByAuditState1_1(sid, type, payTypeKey);
}
public List<SelectCustomerVo> selectCustomerList(String sid, int i, String type) {
/* public List<SelectCustomerVo> selectCustomerList(String sid, int i, String type) {
return baseMapper.selectCustomerList(sid, i, type);
}
}*/
public List<FinSelectedReceivablesDetailedVo> selectDetailsList(String sid, int i, String type) {
return baseMapper.selectDetailsList(sid, i, type);
}
public List<FinSelectedReceivablesDetailedVo> selectVinListVo(String sid, int i, String type, String customerName, String customerPhone) {
return baseMapper.selectVinListVo(sid, i, type, customerName, customerPhone);
public List<FinSelectedReceivablesDetailedVo> selectDetailsList(String sid, String type) {
return baseMapper.selectDetailsList(sid, type);
}
/**
@ -291,16 +271,12 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
* @param contractNo 合同编号
* @return
*/
public List<FinSelectedReceivablesDetailedVo> selectVinListVo_1(String sid, int i, String type, String contractNo) {
return baseMapper.selectVinListVo_1(sid, i, type, contractNo);
}
public FinSelectedReceivablesDetailedVo fetchByAuditStateV_1(String sid, int i, String type, String contractNo) {
return baseMapper.fetchByAuditStateV_1(sid, i, type, contractNo);
public List<FinSelectedReceivablesDetailedVo> selectVinListVo_1(String sid, String type, String contractNo) {
return baseMapper.selectVinListVo_1(sid, type, contractNo);
}
public FinSelectedReceivablesDetailedVo fetchByAuditStateV(String sid, int i, String type, String customerName, String customerPhone) {
return baseMapper.fetchByAuditStateV(sid, i, type, customerName, customerPhone);
public FinSelectedReceivablesDetailedVo fetchByAuditStateV_1(String sid, String type, String contractNo) {
return baseMapper.fetchByAuditStateV_1(sid, type, contractNo);
}
public ResultBean<List<FinSelectedReceivablesDetailed>> fetchByContractNo(String contractNo) {
@ -366,17 +342,17 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
}
}
}
if(StringUtils.isNotBlank(params.getContractNo())){
qw.like("fd.contractNo",params.getContractNo());
if (StringUtils.isNotBlank(params.getContractNo())) {
qw.like("fd.contractNo", params.getContractNo());
}
if(StringUtils.isNotBlank(params.getCustomerName())){
qw.like("fd.customerName",params.getCustomerName());
if (StringUtils.isNotBlank(params.getCustomerName())) {
qw.like("fd.customerName", params.getCustomerName());
}
if(StringUtils.isNotBlank(params.getMobile())){
qw.like("fd.customerPhone",params.getMobile());
if (StringUtils.isNotBlank(params.getMobile())) {
qw.like("fd.customerPhone", params.getMobile());
}
//应收未收中的当前应收小于等于0
qw.le("furd.currentReceivableMoney",0);
qw.le("furd.currentReceivableMoney", 0);
List<FinSelectReceivablesDetailedVo> collList = baseMapper.selectPageList(qw, params.getName());
if (collList.isEmpty()) {
collList = baseMapper.selectPageList(qw, "");
@ -468,8 +444,8 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
//分页
IPage<FinSelectReceivablesDetailedVo> page1 = new Page<>();
page1.setTotal(collList.size());
page1.setPages(collList.size()/pagerQuery.getSize()+(collList.size()%pagerQuery.getSize()==0?0:1));
collList = collList.stream().skip((pagerQuery.getCurrent() - 1) *pagerQuery.getSize()).limit(pagerQuery.getSize()).collect(Collectors.toList()); //开始分页
page1.setPages(collList.size() / pagerQuery.getSize() + (collList.size() % pagerQuery.getSize() == 0 ? 0 : 1));
collList = collList.stream().skip((pagerQuery.getCurrent() - 1) * pagerQuery.getSize()).limit(pagerQuery.getSize()).collect(Collectors.toList()); //开始分页
page1.setRecords(collList);
page1.setCurrent(pagerQuery.getCurrent());
page1.setSize(pagerQuery.getSize());
@ -515,17 +491,17 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
}
}
}
if(StringUtils.isNotBlank(params.getContractNo())){
qw.like("fd.contractNo",params.getContractNo());
if (StringUtils.isNotBlank(params.getContractNo())) {
qw.like("fd.contractNo", params.getContractNo());
}
if(StringUtils.isNotBlank(params.getCustomerName())){
qw.like("fd.customerName",params.getCustomerName());
if (StringUtils.isNotBlank(params.getCustomerName())) {
qw.like("fd.customerName", params.getCustomerName());
}
if(StringUtils.isNotBlank(params.getMobile())){
qw.like("fd.customerPhone",params.getMobile());
if (StringUtils.isNotBlank(params.getMobile())) {
qw.like("fd.customerPhone", params.getMobile());
}
if(StringUtils.isNotBlank(params.getVinNo())){
qw.like("bv.linkNo",params.getVinNo());
if (StringUtils.isNotBlank(params.getVinNo())) {
qw.like("bv.linkNo", params.getVinNo());
}
IPage<FinSelectReceivablesDetailedVo> pagging = baseMapper.selectPageLists(page, qw, params.getName());
return pagging;
@ -578,7 +554,7 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
}
}
qw.eq("ferd.auditState", 3);
qw.eq("ferd.kxState","01");
qw.eq("ferd.kxState", "01");
if (StringUtils.isNotBlank(query.getStaffDeptName())) {
qw.like("ferd.staffDeptName", query.getStaffDeptName());
}
@ -598,11 +574,11 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
qw.like("ferd.VIN", query.getVinNo());
}
if (StringUtils.isNotBlank(query.getName())) {
qw.and(wrapper -> wrapper.like("ferd.contractNo", query.getName()).or().like("ferd.staffDeptName",query.getName()).or().like("ferd.staffName",query.getName()).or().like("ferd.customerName", query.getName()).or().like("ferd.customerPhone", query.getName()).or().like("ferd.VIN", query.getName()));
qw.and(wrapper -> wrapper.like("ferd.contractNo", query.getName()).or().like("ferd.staffDeptName", query.getName()).or().like("ferd.staffName", query.getName()).or().like("ferd.customerName", query.getName()).or().like("ferd.customerPhone", query.getName()).or().like("ferd.VIN", query.getName()));
}
qw.groupBy("ferd.sid");
if (StringUtils.isNotBlank(query.getBalanceSmallMoney()) && StringUtils.isNotBlank(query.getBalanceBigMoney())){
qw.having("reveivableMoney >= {0}",query.getBalanceSmallMoney()).having("reveivableMoney <= {0}",query.getBalanceBigMoney());
if (StringUtils.isNotBlank(query.getBalanceSmallMoney()) && StringUtils.isNotBlank(query.getBalanceBigMoney())) {
qw.having("reveivableMoney >= {0}", query.getBalanceSmallMoney()).having("reveivableMoney <= {0}", query.getBalanceBigMoney());
}
qw.having("reveivableMoney > 0");
IPage<FinSelectedReceivablesDetailed> page = PagerUtil.queryToPage(pagerQuery);
@ -612,7 +588,7 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
}
public void updateYeBySid(String balance, String busSid) {
baseMapper.updateYeBySid(balance,busSid);
baseMapper.updateYeBySid(balance, busSid);
}
public String selectBalanceByReceivedSid(String receivablesSid) {
@ -620,7 +596,7 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
}
public List<String> fetchJzMoneyByContractNoAndMainSid(String ysCustNo, String sid) {
return baseMapper.fetchJzMoneyByContractNoAndMainSid(ysCustNo,sid);
return baseMapper.fetchJzMoneyByContractNoAndMainSid(ysCustNo, sid);
}
public FinSelectedReceivablesDetailed fetchYeBySid(String busSid) {

Loading…
Cancel
Save