Browse Source

优化简易订单订金推送款项确认添加子表数据

master
dimengzhe 2 years ago
parent
commit
6a9ce7a2b8
  1. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeposit/AppBusDepositBuscenterDetailVo.java
  2. 1
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeposit/BusDepositService.java
  3. 2
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java
  4. 4
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java
  5. 2
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java
  6. 6
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java
  7. 322
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  8. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml
  9. 8
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdeposit/AppBusDepositBuscenterDetailVo.java

@ -100,6 +100,8 @@ public class AppBusDepositBuscenterDetailVo implements Vo {
@ApiModelProperty("采购系统名称") @ApiModelProperty("采购系统名称")
private String purchaseSystemName; private String purchaseSystemName;
private String orgSidPath;
} }

1
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeposit/BusDepositService.java

@ -186,6 +186,7 @@ public class BusDepositService extends MybatisBaseService<BusDepositMapper, BusD
vo.setCreateDate(busMainDeposit.getCreateDate()); vo.setCreateDate(busMainDeposit.getCreateDate());
vo.setDepositBillType(busMainDeposit.getDepositBillType()); vo.setDepositBillType(busMainDeposit.getDepositBillType());
vo.setDepositBillTypeKey(busMainDeposit.getDepositBillTypeKey()); vo.setDepositBillTypeKey(busMainDeposit.getDepositBillTypeKey());
vo.setOrgSidPath(busMainDeposit.getOrgSidPath());
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
if (StringUtils.isNotBlank(vo.getPaymentProof())) { if (StringUtils.isNotBlank(vo.getPaymentProof())) {
String url = fileUploadComponent.getUrlPrefix() + vo.getPaymentProof(); String url = fileUploadComponent.getUrlPrefix() + vo.getPaymentProof();

2
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java

@ -132,7 +132,7 @@ public interface CrmCustomerTempFeign {
@ApiOperation("手机端保存/修改潜在客户信息") @ApiOperation("手机端保存/修改潜在客户信息")
@PostMapping("/saveOrUpdateAppCustomerTemp") @PostMapping("/saveOrUpdateAppCustomerTemp")
public ResultBean saveOrUpdateAppCustomerTemp(@Valid @RequestBody AppCrmCustomerTempDto dto); public ResultBean<String> saveOrUpdateAppCustomerTemp(@Valid @RequestBody AppCrmCustomerTempDto dto);
@ApiOperation("手机端维护客户信息是否完善的状态") @ApiOperation("手机端维护客户信息是否完善的状态")
@ResponseBody @ResponseBody

4
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java

@ -90,8 +90,8 @@ public class CrmCustomerTempFeignFallback implements CrmCustomerTempFeign {
} }
@Override @Override
public ResultBean saveOrUpdateAppCustomerTemp(AppCrmCustomerTempDto dto) { public ResultBean<String> saveOrUpdateAppCustomerTemp(AppCrmCustomerTempDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-crm/crmcustomertemp/saveOrUpdateAppCustomerTemp无法访问"); return rb.setMsg("接口anrui-crm/crmcustomertemp/saveOrUpdateAppCustomerTemp无法访问");
} }

2
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java

@ -173,7 +173,7 @@ public class CrmCustomerTempRest implements CrmCustomerTempFeign {
* @return * @return
*/ */
@Override @Override
public ResultBean saveOrUpdateAppCustomerTemp(AppCrmCustomerTempDto dto) { public ResultBean<String> saveOrUpdateAppCustomerTemp(AppCrmCustomerTempDto dto) {
return crmCustomerTempService.saveOrUpdateAppCustomerTemp(dto); return crmCustomerTempService.saveOrUpdateAppCustomerTemp(dto);
} }

6
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java

@ -274,8 +274,8 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
* @return code: 511为当前用户的客户512该手机号的客户不是当前用户的客户 * @return code: 511为当前用户的客户512该手机号的客户不是当前用户的客户
* 513该微信号的客户已是当前用户的客户 * 513该微信号的客户已是当前用户的客户
*/ */
public ResultBean saveOrUpdateAppCustomerTemp(AppCrmCustomerTempDto dto) { public ResultBean<String> saveOrUpdateAppCustomerTemp(AppCrmCustomerTempDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
/** /**
* 2023-02-10: * 2023-02-10:
* 先查询客户编码是否存在 * 先查询客户编码是否存在
@ -309,7 +309,7 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
SysUserVo sysCrmVo = sysUserFeign.fetchBySid(crmCustomerTemp.getCreateBySid()).getData(); SysUserVo sysCrmVo = sysUserFeign.fetchBySid(crmCustomerTemp.getCreateBySid()).getData();
if (sysCrmVo != null) { if (sysCrmVo != null) {
staffName = sysCrmVo.getName(); staffName = sysCrmVo.getName();
return rb.setCode(HttpStatusEnum.CRM_ERROR_NOTBELONG.getCode()).setMsg("为" + staffName + "销售专员客户"); return rb.setCode(HttpStatusEnum.CRM_ERROR_NOTBELONG.getCode()).setMsg("为" + staffName + "销售专员客户").setData(crmCustomerTemp.getSid());
} }
} else { } else {
// 返回潜在客户sid,跳转维护信息页面 // 返回潜在客户sid,跳转维护信息页面

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

@ -54,9 +54,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderPriceInfoVo;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.SubmitVo; import com.yxt.anrui.buscenter.api.bussalesordersubmit.SubmitVo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.crm.api.crmcustomertemp.*;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.crm.api.crmcustomertemp.CustomerQuery;
import com.yxt.anrui.fin.api.fincollectionconfirmation.*; import com.yxt.anrui.fin.api.fincollectionconfirmation.*;
import com.yxt.anrui.fin.api.fincollectionconfirmation.app.AppBusArrearsCarryMoneyVo; import com.yxt.anrui.fin.api.fincollectionconfirmation.app.AppBusArrearsCarryMoneyVo;
import com.yxt.anrui.fin.api.fincollectionconfirmation.app.FinConfirmDto; import com.yxt.anrui.fin.api.fincollectionconfirmation.app.FinConfirmDto;
@ -1160,7 +1158,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (params.getSidList().size() > 0) { if (params.getSidList().size() > 0) {
qw.notIn("furd.sid", params.getSidList()); qw.notIn("furd.sid", params.getSidList());
} }
/* qw.gt("furd.currentReceivableMoney", 0);//应收金额*/
if (StringUtils.isNotBlank(pagerQuery.getParams().getPurchaseSystemSid())) { if (StringUtils.isNotBlank(pagerQuery.getParams().getPurchaseSystemSid())) {
qw.eq("furd.purchaseSystemSid", pagerQuery.getParams().getPurchaseSystemSid()); qw.eq("furd.purchaseSystemSid", pagerQuery.getParams().getPurchaseSystemSid());
} else { } else {
@ -1168,28 +1165,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} }
} }
IPage<AppFinUncollectedReceivablesDetailedVo> pagging = finSelectedReceivablesDetailedService.getPaymentDetailsList(page, qw, params.getName()); IPage<AppFinUncollectedReceivablesDetailedVo> pagging = finSelectedReceivablesDetailedService.getPaymentDetailsList(page, qw, params.getName());
/* List<AppFinUncollectedReceivablesDetailedVo> records = pagging.getRecords();
records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) {
for (int i = 0; i < records.size(); i++) {
AppFinUncollectedReceivablesDetailedVo vo = records.get(i);
//查询当前应收:应收金额-所有认款的余额=剩余应收金额 (所有认款的余额 = 认款金额-结转之和)
String receivablesSid = vo.getReceivablesSid();
//查询所有的该应收未收的已提交和已审核的认款
List<FinSelectedReceivablesDetailed> stringList = finSelectedReceivablesDetailedService.selectListByReceivableSid(receivablesSid);
stringList.removeAll(Collections.singleton(null));
if (!stringList.isEmpty()) {
//所有已提交和已审核的认款
BigDecimal bigDecimalVinAll = stringList.stream().map(FinSelectedReceivablesDetailed::getSubscriptionMoney).reduce(BigDecimal.ZERO, BigDecimal::add);
List<String> sidsList = stringList.stream().map(v -> v.getSid()).collect(Collectors.toList());
//查询所有已提交和已审核的认款是否包含结转的
String forwardMoneyAll = finFundsCarriedForwardVehService.selectByBusSid(sidsList);
BigDecimal reveivableMoney = bigDecimalVinAll.subtract(new BigDecimal(forwardMoneyAll));
BigDecimal receivable = new BigDecimal(vo.getReceivable()).subtract(reveivableMoney);
vo.setReceivable(receivable.toString());
}
}
}*/
return pagging; return pagging;
} }
@ -1270,7 +1245,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
* @param userSid * @param userSid
* @return * @return
*/ */
public ResultBean cashierConfirm(String sid, String userSid) { public ResultBean cashierConfirmOld(String sid, String userSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
FinCollectionConfirmation confirmation = fetchBySid(sid); FinCollectionConfirmation confirmation = fetchBySid(sid);
if (confirmation == null) { if (confirmation == null) {
@ -1616,7 +1591,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} }
public ResultBean cashierConfirm11111(String sid, String userSid) { public ResultBean cashierConfirm(String sid, String userSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
FinCollectionConfirmation confirmation = fetchBySid(sid); FinCollectionConfirmation confirmation = fetchBySid(sid);
if (confirmation == null) { if (confirmation == null) {
@ -1806,137 +1781,150 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
BigDecimal subscriptionMoneyAll = new BigDecimal("0"); BigDecimal subscriptionMoneyAll = new BigDecimal("0");
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 1); List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 1);
if (finSelectedReceivablesDetailedVos.size() > 0) { if (finSelectedReceivablesDetailedVos.size() > 0) {
finSelectedReceivablesDetailedVos.stream().forEach(v -> { if (confirmation.getPushMessgae() == 1) {//简易订单定金
//已选款项明细sid finSelectedReceivablesDetailedVos.stream().forEach(v -> {
String selectSid = v.getSid(); //已选款项明细sid
//应收未收款项明细sid String selectSid = v.getSid();
String receivablesSid = v.getReceivablesSid(); FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid);
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(receivablesSid); //更新已选款项明细的审核状态1待审核/2已驳回/3已审核
if (v.getSubscribedOf() == 0) { finSelectedReceivablesDetailed.setAuditState(3);
//更新认款状态 //更新审核时间
finUncollectedReceivablesDetailed.setSubscriptionState(finUncollectedReceivablesDetailed.getCurrentReceivableMoney().compareTo(BigDecimal.ZERO) == 0 ? 3 : 2); finSelectedReceivablesDetailed.setAuditDate(DateUtil.today());
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed); finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed);
} });
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid); } else {
//更新已选款项明细的审核状态1待审核/2已驳回/3已审核 finSelectedReceivablesDetailedVos.stream().forEach(v -> {
finSelectedReceivablesDetailed.setAuditState(3); //已选款项明细sid
//更新审核时间 String selectSid = v.getSid();
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today()); //应收未收款项明细sid
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed); String receivablesSid = v.getReceivablesSid();
/*//ToDo:查询是否符合待出库的条件 FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(receivablesSid);
//该合同编号下的该车架号的所有认款金额 if (v.getSubscribedOf() == 0) {
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); finUncollectedReceivablesDetailed.setSubscriptionState(finUncollectedReceivablesDetailed.getCurrentReceivableMoney().compareTo(BigDecimal.ZERO) == 0 ? 3 : 2);
//查询该合同编号下的销售订单的单车成交价 finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed);
ResultBean<CommonContract> commonContractResultBean = commonContractFeign.selectByNo(v.getContractNo()); }
if (commonContractResultBean.getSuccess()) { FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(selectSid);
CommonContract commonContract = commonContractResultBean.getData(); //更新已选款项明细的审核状态1待审核/2已驳回/3已审核
if (commonContract != null) { finSelectedReceivablesDetailed.setAuditState(3);
ResultBean<AppOrderDetailsVo> orderDetails = busSalesOrderFeign.getSaleOrderDetails(commonContract.getBusSid()); //更新审核时间
AppOrderDetailsVo vo = orderDetails.getData(); finSelectedReceivablesDetailed.setAuditDate(DateUtil.today());
if (vo != null) { finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed);
AppOrderPriceInfoVo priceInfoVo = vo.getPriceInfo(); //ToDo:查询是否符合待出库的条件
AppOrderDepositInfoVo depositInfo = vo.getDepositInfo(); //该合同编号下的该车架号的所有认款金额
if (depositInfo != null) { List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3);
if ("02".equals(depositInfo.getDepositTypeKey())) {//订金结转 BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal decimalDeposit = BigDecimal.ZERO; //查询该合同编号下的销售订单的单车成交价
if (StringUtils.isNotBlank(depositInfo.getDepositTotal())) { ResultBean<CommonContract> commonContractResultBean = commonContractFeign.selectByNo(v.getContractNo());
decimalDeposit = new BigDecimal(depositInfo.getDepositTotal()); if (commonContractResultBean.getSuccess()) {
} CommonContract commonContract = commonContractResultBean.getData();
if (StringUtils.isNotBlank(depositInfo.getMakeUpDeposit())) { if (commonContract != null) {
decimalDeposit = decimalDeposit.subtract(new BigDecimal(depositInfo.getMakeUpDeposit())); 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);
} }
decimalDeposit = decimalDeposit.divide(new BigDecimal(priceInfoVo.getNumber()), BigDecimal.ROUND_CEILING);
bigDecimalVinAll = bigDecimalVinAll.add(decimalDeposit);
} }
} //单台整体成交价
//单台整体成交价 BigDecimal singleFinalPrice = new BigDecimal(priceInfoVo.getSingleFinalPrice());
BigDecimal singleFinalPrice = new BigDecimal(priceInfoVo.getSingleFinalPrice()); BigDecimal leftAll = BigDecimal.ZERO;
BigDecimal leftAll = BigDecimal.ZERO; BigDecimal rightAll = BigDecimal.ZERO;
BigDecimal rightAll = BigDecimal.ZERO; if ("2".equals(vo.getFinancePlan()) || "2".equals(vo.getPayTypeKey())) {
if ("2".equals(vo.getFinancePlan()) || "2".equals(vo.getPayTypeKey())) { //根据销售订单sid查询金融方案
//根据销售订单sid查询金融方案 ResultBean<SolutionsDetailsVo> solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetailss(commonContract.getBusSid());
ResultBean<SolutionsDetailsVo> solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetailss(commonContract.getBusSid()); SolutionsDetailsVo solutionsDetailsVo = solutionsDetailsVoResultBean.getData();
SolutionsDetailsVo solutionsDetailsVo = solutionsDetailsVoResultBean.getData(); if (solutionsDetailsVo != null) {
if (solutionsDetailsVo != null) { if (StringUtils.isNotBlank(solutionsDetailsVo.getTypeKey())) {
if (StringUtils.isNotBlank(solutionsDetailsVo.getTypeKey())) { if ("02".equals(solutionsDetailsVo.getTypeKey())) {
if ("02".equals(solutionsDetailsVo.getTypeKey())) { //外部金融:成交价 = 订金+车款+厂家贴息-服务费
//外部金融:成交价 = 订金+车款+厂家贴息-服务费 leftAll = leftAll.add(singleFinalPrice);
leftAll = leftAll.add(singleFinalPrice); if (StringUtils.isNotBlank(solutionsDetailsVo.getFactoryDiscount())) {
if (StringUtils.isNotBlank(solutionsDetailsVo.getFactoryDiscount())) { leftAll = leftAll.subtract(new BigDecimal(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);
} }
if (StringUtils.isNotBlank(solutionsDetailsVo.getServiceAmount())) { } else {//担保贷款: 实收订金 = 首付款及费用+订金
leftAll = leftAll.add(new BigDecimal(solutionsDetailsVo.getServiceAmount()));
}
rightAll = rightAll.add(bigDecimalVinAll);
} else {
//自营非担保: 实收订金 = 首付款及费用+订金
if (StringUtils.isNotBlank(solutionsDetailsVo.getRealTotal())) { if (StringUtils.isNotBlank(solutionsDetailsVo.getRealTotal())) {
leftAll = leftAll.add(new BigDecimal(solutionsDetailsVo.getRealTotal())); leftAll = leftAll.add(new BigDecimal(solutionsDetailsVo.getRealTotal()));
} }
rightAll = rightAll.add(bigDecimalVinAll); rightAll = rightAll.add(bigDecimalVinAll);
} }
} else {//担保贷款: 实收订金 = 首付款及费用+订金 } else {
if (StringUtils.isNotBlank(solutionsDetailsVo.getRealTotal())) { // 成交价 = 车款+订金
leftAll = leftAll.add(new BigDecimal(solutionsDetailsVo.getRealTotal())); leftAll = leftAll.add(singleFinalPrice);
}
rightAll = rightAll.add(bigDecimalVinAll); rightAll = rightAll.add(bigDecimalVinAll);
} }
} else { } else {
// 成交价 = 车款+订金 // 成交价 = 车款+订金
leftAll = leftAll.add(singleFinalPrice); leftAll = leftAll.add(singleFinalPrice);
rightAll = rightAll.add(bigDecimalVinAll); rightAll = rightAll.add(bigDecimalVinAll);
} }
} else { //根据busVinSid查询待出库中是否存在该数据
// 成交价 = 车款+订金 ResultBean<BusDelivered> busDeliveredResultBean = busDeliveredFeign.selectByBusVinSid(finUncollectedReceivablesDetailed.getBusVinSid());
leftAll = leftAll.add(singleFinalPrice); if (busDeliveredResultBean.getData() == null) {
rightAll = rightAll.add(bigDecimalVinAll); if (leftAll.compareTo(rightAll) <= 0) {//推送待出库
} BusDeliveredDto busDeliveredDto = new BusDeliveredDto();
//根据busVinSid查询待出库中是否存在该数据 busDeliveredDto.setSubscriptionKey(VehicleStateTempOrLast.PaymentEnum.PAY_MODELS.getCode());
ResultBean<BusDelivered> busDeliveredResultBean = busDeliveredFeign.selectByBusVinSid(finUncollectedReceivablesDetailed.getBusVinSid()); busDeliveredDto.setSubscription(VehicleStateTempOrLast.PaymentEnum.PAY_MODELS.getRemarks());
if (busDeliveredResultBean.getData() == null) { busDeliveredDto.setPaymentMethodKey(vo.getPayTypeKey());
if (leftAll.compareTo(rightAll) <= 0) {//推送待出库 busDeliveredDto.setPaymentMethod(vo.getPayType());
BusDeliveredDto busDeliveredDto = new BusDeliveredDto(); busDeliveredDto.setContractNo(v.getContractNo());
busDeliveredDto.setSubscriptionKey(VehicleStateTempOrLast.PaymentEnum.PAY_MODELS.getCode()); busDeliveredDto.setName(v.getCustomerName());
busDeliveredDto.setSubscription(VehicleStateTempOrLast.PaymentEnum.PAY_MODELS.getRemarks()); busDeliveredDto.setVinNo(v.getVIN());
busDeliveredDto.setPaymentMethodKey(vo.getPayTypeKey()); busDeliveredDto.setMobile(v.getCustomerPhone());
busDeliveredDto.setPaymentMethod(vo.getPayType()); busDeliveredDto.setPrice(priceInfoVo.getSingleFinalPrice());
busDeliveredDto.setContractNo(v.getContractNo()); busDeliveredDto.setCreateBySid(confirmation.getStaffUserSid());
busDeliveredDto.setName(v.getCustomerName()); SubmitVo intermediary1 = vo.getIntermediary1();
busDeliveredDto.setVinNo(v.getVIN()); if (intermediary1 != null) {
busDeliveredDto.setMobile(v.getCustomerPhone()); busDeliveredDto.setDistributorName(intermediary1.getIntermediaryName());
busDeliveredDto.setPrice(priceInfoVo.getSingleFinalPrice()); busDeliveredDto.setDistributorPrice(intermediary1.getAgencyFee());
busDeliveredDto.setCreateBySid(confirmation.getStaffUserSid()); }
SubmitVo intermediary1 = vo.getIntermediary1(); SubmitVo intermediary2 = vo.getIntermediary2();
if (intermediary1 != null) { if (intermediary2 != null) {
busDeliveredDto.setDistributorName(intermediary1.getIntermediaryName()); busDeliveredDto.setDistributorNameTwo(intermediary2.getIntermediaryName());
busDeliveredDto.setDistributorPrice(intermediary1.getAgencyFee()); busDeliveredDto.setDistributorPriceTwo(intermediary2.getAgencyFee());
} }
SubmitVo intermediary2 = vo.getIntermediary2(); busDeliveredDto.setSingleCarDiscountPrice(priceInfoVo.getSingleCarDiscountPrice());
if (intermediary2 != null) { //根据客户sid查询客户的身份证号
busDeliveredDto.setDistributorNameTwo(intermediary2.getIntermediaryName()); AppOrderModelInfoVo appOrderModelInfoVo = vo.getModelInfo();
busDeliveredDto.setDistributorPriceTwo(intermediary2.getAgencyFee()); busDeliveredDto.setModelName(appOrderModelInfoVo.getModelName());
} busDeliveredDto.setUseOrgSid(confirmation.getUseOrgSid());
busDeliveredDto.setSingleCarDiscountPrice(priceInfoVo.getSingleCarDiscountPrice()); ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(confirmation.getUseOrgSid());
//根据客户sid查询客户的身份证号 if (sysOrganizationVoResultBean.getData() != null) {
AppOrderModelInfoVo appOrderModelInfoVo = vo.getModelInfo(); busDeliveredDto.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
busDeliveredDto.setModelName(appOrderModelInfoVo.getModelName()); }
busDeliveredDto.setUseOrgSid(confirmation.getUseOrgSid()); busDeliveredDto.setBusVinSid(finUncollectedReceivablesDetailed.getBusVinSid());
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(confirmation.getUseOrgSid()); ResultBean resultBean1 = busDeliveredFeign.save(busDeliveredDto);
if (sysOrganizationVoResultBean.getData() != null) {
busDeliveredDto.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
} }
busDeliveredDto.setBusVinSid(finUncollectedReceivablesDetailed.getBusVinSid());
ResultBean resultBean1 = busDeliveredFeign.save(busDeliveredDto);
} }
}
}
} }
} }
}*/ });
}
});
//查询该申请已认款金额总数 //查询该申请已认款金额总数
subscriptionMoneyAll = finSelectedReceivablesDetailedVos.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); subscriptionMoneyAll = finSelectedReceivablesDetailedVos.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
} }
@ -2480,7 +2468,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} }
public ResultBean saveFinConfirm(FinConfirmDto dto) { public ResultBean saveFinConfirmOld(FinConfirmDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
FinCollectionConfirmation confirmation = new FinCollectionConfirmation(); FinCollectionConfirmation confirmation = new FinCollectionConfirmation();
BeanUtil.copyProperties(dto, confirmation, "sid"); BeanUtil.copyProperties(dto, confirmation, "sid");
@ -2510,6 +2498,60 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
return rb.success(); return rb.success();
} }
public ResultBean saveFinConfirm(FinConfirmDto dto) {
ResultBean rb = ResultBean.fireFail();
FinCollectionConfirmation confirmation = new FinCollectionConfirmation();
BeanUtil.copyProperties(dto, confirmation, "sid");
confirmation.setBalance(BigDecimal.ZERO);
baseMapper.insert(confirmation);
AppBusDepositBuscenterDetailVo busDeposit = busDepositFeign.getDepositInfoDetails(confirmation.getBusSid()).getData();
//根据简易订单的付款人创建客户
AppCrmCustomerTempDto crmCustomerTemp = new AppCrmCustomerTempDto();
//付款人
crmCustomerTemp.setName(busDeposit.getPayName());
crmCustomerTemp.setMobile(busDeposit.getPhone());
crmCustomerTemp.setUserSid(confirmation.getCreateBySid());
crmCustomerTemp.setOrgPath(busDeposit.getOrgSidPath());
crmCustomerTemp.setCustomerType("个人");
crmCustomerTemp.setCustomerTypeKey("1");
String mobile = busDeposit.getPhone();
String name = busDeposit.getPayName();
crmCustomerTemp.setMobile(mobile);
crmCustomerTemp.setName(name);
crmCustomerTemp.setIsOnRemindkey("0");
crmCustomerTemp.setIsOnRemind("否");
ResultBean<String> crmResultBean = crmCustomerTempFeign.saveOrUpdateAppCustomerTemp(crmCustomerTemp);
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = new FinSelectedReceivablesDetailed();
finSelectedReceivablesDetailed.setCollSid(confirmation.getSid());
finSelectedReceivablesDetailed.setReceivablesName("订金");
finSelectedReceivablesDetailed.setSubscribedOf(1);
finSelectedReceivablesDetailed.setAuditState(1);
finSelectedReceivablesDetailed.setCustomerName(crmCustomerTemp.getName());
finSelectedReceivablesDetailed.setCustomerPhone(crmCustomerTemp.getMobile());
finSelectedReceivablesDetailed.setCustomerSid(crmResultBean.getData());
finSelectedReceivablesDetailed.setCreateByName(busDeposit.getStaffName());
finSelectedReceivablesDetailed.setCurrentReceivableMoney(confirmation.getCollectionMoney());
finSelectedReceivablesDetailed.setSubscriptionMoney(confirmation.getCollectionMoney());
finSelectedReceivablesDetailed.setUseOrgSid(confirmation.getUseOrgSid());
finSelectedReceivablesDetailed.setSubscriptionDate(DateUtil.today());
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<List<String>> billNoList() { public ResultBean<List<String>> billNoList() {
ResultBean<List<String>> rb = ResultBean.fireFail(); ResultBean<List<String>> rb = ResultBean.fireFail();
List<String> stringList = baseMapper.billNoList(); List<String> stringList = baseMapper.billNoList();

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

@ -284,9 +284,10 @@
</select> </select>
<select id="selectByVinSid" resultType="java.lang.String"> <select id="selectByVinSid" resultType="java.lang.String">
select sum(fd.balance) select cast((sum(fd.`subscriptionMoney`) - COALESCE(SUM(f.`thisUseMoney`), 0)) AS DECIMAL (10, 2) ) AS dbalance
from fin_selected_receivables_detailed fd from fin_selected_receivables_detailed fd
left join fin_uncollected_receivables_detailed ff on ff.sid = fd.receivablesSid left join fin_uncollected_receivables_detailed ff on ff.sid = fd.receivablesSid
LEFT JOIN `fin_funds_carried_forward_veh` f ON f.`busSid` = fd.`sid`
where ff.busVinSid = #{busVinSid} where ff.busVinSid = #{busVinSid}
and fd.auditState = 3 and fd.auditState = 3
</select> </select>

8
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedMapper.xml

@ -59,7 +59,7 @@
furd.customerName AS `customerName`, furd.customerName AS `customerName`,
furd.customerSid, furd.customerSid,
furd.useOrgSid, furd.useOrgSid,
(furd.`reveivableMoney` - COALESCE(df.dbalance, 0)) AS currentReceivableMoney, cast((furd.`reveivableMoney` - COALESCE(df.dbalance, 0)) AS DECIMAL (10, 2) ) AS currentReceivableMoney,
furd.reveivableMoney, furd.reveivableMoney,
furd.contractSid, furd.contractSid,
if(bv.linkNo is null or LENGTH(trim(bv.linkNo)) &lt; 1, if(bv.linkNo is null or LENGTH(trim(bv.linkNo)) &lt; 1,
@ -76,12 +76,10 @@
SELECT d.sid, SELECT d.sid,
d.receivablesSid, d.receivablesSid,
d.`collSid`, d.`collSid`,
( cast((sum(d.`subscriptionMoney`) - COALESCE(SUM(f.`thisUseMoney`), 0)) AS DECIMAL (10, 2)) AS dbalance
sum(d.`subscriptionMoney`) - COALESCE(SUM(f.`thisUseMoney`), 0)) AS dbalance
FROM fin_selected_receivables_detailed d FROM fin_selected_receivables_detailed d
LEFT JOIN `fin_funds_carried_forward_veh` f ON f.`busSid` = d.`sid` LEFT JOIN `fin_funds_carried_forward_veh` f ON f.`busSid` = d.`sid`
where d.auditState = 1 where (d.auditState = 1 or d.auditState = 3)
or d.auditState = 3
GROUP BY d.`receivablesSid` GROUP BY d.`receivablesSid`
) df ON df.receivablesSid = furd.`sid` ) df ON df.receivablesSid = furd.`sid`
<where> <where>

Loading…
Cancel
Save