|
|
@ -1272,15 +1272,17 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
ARReceivebill.FRECEIVEBILLENTRY freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); |
|
|
|
//推送全款车款
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1 = finSelectedReceivablesDetailedService.fetchByAuditState1(sid, 1, "车款", "1"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1_1 = finSelectedReceivablesDetailedService.fetchByAuditState1(sid, 1, "首付款", "1"); |
|
|
|
//推送全款订金
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos2 = finSelectedReceivablesDetailedService.fetchByAuditState1(sid, 1, "订金", "1"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> voListv = finSelectedReceivablesDetailedService.selectDetailsList(sid, 1, "车款"); |
|
|
|
//查询是否含有车架号
|
|
|
|
List<String> stringsVin = voListv.stream().filter(v -> StringUtils.isNotBlank(v.getVIN())).map(v -> v.getVIN()).collect(Collectors.toList()); |
|
|
|
stringsVin.removeAll(Collections.singleton(null)); |
|
|
|
|
|
|
|
int carSize = 0; |
|
|
|
//全款推送车款
|
|
|
|
if (finSelectedReceivablesDetailedVos1.size() > 0) { |
|
|
|
List<FinSelectedReceivablesDetailedVo> voListv = finSelectedReceivablesDetailedService.selectDetailsList(sid, 1, "车款"); |
|
|
|
//查询是否含有车架号
|
|
|
|
List<String> stringsVin = voListv.stream().filter(v -> StringUtils.isNotBlank(v.getVIN())).map(v -> v.getVIN()).collect(Collectors.toList()); |
|
|
|
stringsVin.removeAll(Collections.singleton(null)); |
|
|
|
if (!stringsVin.isEmpty()) { |
|
|
|
//查询根据客户名称和手机号有哪些客户
|
|
|
|
List<SelectCustomerVo> customerList = finSelectedReceivablesDetailedService.selectCustomerList(sid, 1, "车款"); |
|
|
@ -1338,7 +1340,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum()); |
|
|
|
fEntityList.add(freceivebillentry); |
|
|
|
} |
|
|
|
|
|
|
|
//项目类别key、value
|
|
|
|
arReceivebill.setF_PAEZ_AssistantType("cw_sklb"); |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(uncollSid); |
|
|
@ -1407,13 +1408,145 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
//全款推送车款(应收未收中为首付款的)
|
|
|
|
if (finSelectedReceivablesDetailedVos1_1_1.size() > 0) { |
|
|
|
List<FinSelectedReceivablesDetailedVo> voListv = finSelectedReceivablesDetailedService.selectDetailsList(sid, 1, "首付款"); |
|
|
|
//查询是否含有车架号
|
|
|
|
List<String> stringsVin = voListv.stream().filter(v -> StringUtils.isNotBlank(v.getVIN())).map(v -> v.getVIN()).collect(Collectors.toList()); |
|
|
|
stringsVin.removeAll(Collections.singleton(null)); |
|
|
|
if (!stringsVin.isEmpty()) { |
|
|
|
//查询根据客户名称和手机号有哪些客户
|
|
|
|
List<SelectCustomerVo> customerList = finSelectedReceivablesDetailedService.selectCustomerList(sid, 1, "首付款"); |
|
|
|
for (int i = 0; i < customerList.size(); i++) { |
|
|
|
String customerName = customerList.get(i).getCustomerName(); |
|
|
|
String customerMobile = customerList.get(i).getCustomerPhone(); |
|
|
|
String customerSid = customerList.get(i).getCustomerSid(); |
|
|
|
BdCustomer bdCustomer = createBdCustomer(confirmation.getUseOrgSid(), customerName, customerMobile, customerSid, sid); |
|
|
|
//推送金蝶客户,修改目标组织为采购系统对应的金蝶分公司code
|
|
|
|
if (data != null) { |
|
|
|
bdCustomer.setTOrgIds(data.getOrgCode()); |
|
|
|
} |
|
|
|
ResultBean resultBeanMiddle = bdCustomerService.draftBdCustomer(bdCustomer); |
|
|
|
//往来单位
|
|
|
|
arReceivebill.setFCONTACTUNIT(bdCustomer.getFNumber()); |
|
|
|
fEntityList = new ArrayList<>(); |
|
|
|
String uncollSid = ""; |
|
|
|
//查询该客户的车架号不为空的情况
|
|
|
|
List<FinSelectedReceivablesDetailedVo> vinListVo = finSelectedReceivablesDetailedService.selectVinListVo(sid, 1, "首付款", customerName, customerMobile); |
|
|
|
vinListVo.removeAll(Collections.singleton(null)); |
|
|
|
if (!vinListVo.isEmpty()) { |
|
|
|
for (FinSelectedReceivablesDetailedVo vvvv : vinListVo) { |
|
|
|
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); |
|
|
|
//结算方式
|
|
|
|
freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey()); |
|
|
|
freceivebillentry.setFSETTLETYPEIDType("customerPayType"); |
|
|
|
//收款金额
|
|
|
|
freceivebillentry.setFRECTOTALAMOUNTFOR(vvvv.getSubscriptionMoney()); |
|
|
|
//登记日期
|
|
|
|
freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate()); |
|
|
|
freceivebillentry.setF_PAEZ_Base1(vvvv.getVIN().substring(vvvv.getVIN().length() - 8)); |
|
|
|
//收款用途
|
|
|
|
freceivebillentry.setFPURPOSEIDKey("001"); |
|
|
|
freceivebillentry.setFPURPOSEIDType("cw_skyt"); |
|
|
|
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum()); |
|
|
|
fEntityList.add(freceivebillentry); |
|
|
|
uncollSid = vvvv.getReceivablesSid(); |
|
|
|
} |
|
|
|
} |
|
|
|
//查询该客户的车架号为空的情况
|
|
|
|
FinSelectedReceivablesDetailedVo vvVo = finSelectedReceivablesDetailedService.fetchByAuditStateV(sid, 1, "首付款", customerName, customerMobile); |
|
|
|
if (vvVo != null) { |
|
|
|
uncollSid = vvVo.getReceivablesSid(); |
|
|
|
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); |
|
|
|
//结算方式
|
|
|
|
freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey()); |
|
|
|
freceivebillentry.setFSETTLETYPEIDType("customerPayType"); |
|
|
|
//收款金额
|
|
|
|
freceivebillentry.setFRECTOTALAMOUNTFOR(vvVo.getSumAll()); |
|
|
|
//登记日期
|
|
|
|
freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate()); |
|
|
|
//收款用途
|
|
|
|
freceivebillentry.setFPURPOSEIDKey("001"); |
|
|
|
freceivebillentry.setFPURPOSEIDType("cw_skyt"); |
|
|
|
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum()); |
|
|
|
fEntityList.add(freceivebillentry); |
|
|
|
} |
|
|
|
//项目类别key、value
|
|
|
|
arReceivebill.setF_PAEZ_AssistantType("cw_sklb"); |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(uncollSid); |
|
|
|
if ("1".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) { |
|
|
|
arReceivebill.setF_PAEZ_AssistantKey("001"); |
|
|
|
} else if ("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) { |
|
|
|
arReceivebill.setF_PAEZ_AssistantKey("002"); |
|
|
|
} |
|
|
|
arReceivebill.setFRECEIVEBILLENTRY(fEntityList); |
|
|
|
if (customerList.size() == 1 && finSelectedReceivablesDetailedVos2.size() == 0 && finSelectedReceivablesDetailedVos1.size() == 0) { |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo()); |
|
|
|
} else { |
|
|
|
carSize = i + 1; |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo() + "-" + carSize); |
|
|
|
} |
|
|
|
ResultBean resultBean1 = arReceivebillService.draftArReceivebill(arReceivebill); |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
fEntityList = new ArrayList<>(); |
|
|
|
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); |
|
|
|
finSelectedReceivablesDetailedVos1.removeAll(Collections.singleton(null)); |
|
|
|
if (!finSelectedReceivablesDetailedVos1.isEmpty()) { |
|
|
|
for (int i = 0; i < finSelectedReceivablesDetailedVos1.size(); i++) { |
|
|
|
FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo = finSelectedReceivablesDetailedVos1.get(i); |
|
|
|
//先推送客户
|
|
|
|
BdCustomer bdCustomer = createBdCustomer(confirmation.getUseOrgSid(), finSelectedReceivablesDetailedVo.getCustomerName(), finSelectedReceivablesDetailedVo.getCustomerPhone(), finSelectedReceivablesDetailedVo.getCustomerSid(), sid); |
|
|
|
//推送金蝶客户,修改目标组织为采购系统对应的金蝶分公司code
|
|
|
|
if (data != null) { |
|
|
|
bdCustomer.setTOrgIds(data.getOrgCode()); |
|
|
|
} |
|
|
|
ResultBean resultBeanMiddle = bdCustomerService.draftBdCustomer(bdCustomer); |
|
|
|
//往来单位
|
|
|
|
arReceivebill.setFCONTACTUNIT(bdCustomer.getFNumber()); |
|
|
|
//结算方式
|
|
|
|
freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey()); |
|
|
|
freceivebillentry.setFSETTLETYPEIDType("customerPayType"); |
|
|
|
//收款金额
|
|
|
|
freceivebillentry.setFRECTOTALAMOUNTFOR(finSelectedReceivablesDetailedVo.getSumAll()); |
|
|
|
//登记日期
|
|
|
|
freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate()); |
|
|
|
//收款用途
|
|
|
|
freceivebillentry.setFPURPOSEIDKey("001"); |
|
|
|
freceivebillentry.setFPURPOSEIDType("cw_skyt"); |
|
|
|
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum()); |
|
|
|
fEntityList.add(freceivebillentry); |
|
|
|
//项目类别key、value
|
|
|
|
arReceivebill.setF_PAEZ_AssistantType("cw_sklb"); |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(finSelectedReceivablesDetailedVos1.get(0).getReceivablesSid()); |
|
|
|
if ("1".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) { |
|
|
|
arReceivebill.setF_PAEZ_AssistantKey("001"); |
|
|
|
} else if ("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) { |
|
|
|
arReceivebill.setF_PAEZ_AssistantKey("002"); |
|
|
|
} |
|
|
|
arReceivebill.setFRECEIVEBILLENTRY(fEntityList); |
|
|
|
if (finSelectedReceivablesDetailedVos1_1_1.size() > 1) { |
|
|
|
int size = 0; |
|
|
|
size = i + 1; |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo() + "-" + size); |
|
|
|
} else { |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo()); |
|
|
|
} |
|
|
|
|
|
|
|
ResultBean resultBean1 = arReceivebillService.draftArReceivebill(arReceivebill); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//全款推送订金
|
|
|
|
if (finSelectedReceivablesDetailedVos2.size() > 0) { |
|
|
|
voListv = finSelectedReceivablesDetailedService.selectDetailsList(sid, 1, "订金"); |
|
|
|
List<FinSelectedReceivablesDetailedVo> voListv = finSelectedReceivablesDetailedService.selectDetailsList(sid, 1, "订金"); |
|
|
|
//查询是否含有车架号
|
|
|
|
stringsVin = voListv.stream().filter(v -> StringUtils.isNotBlank(v.getVIN())).map(v -> v.getVIN()).collect(Collectors.toList()); |
|
|
|
List<String> stringsVin = voListv.stream().filter(v -> StringUtils.isNotBlank(v.getVIN())).map(v -> v.getVIN()).collect(Collectors.toList()); |
|
|
|
stringsVin.removeAll(Collections.singleton(null)); |
|
|
|
if (!stringsVin.isEmpty()) { |
|
|
|
//查询根据客户名称和手机号有哪些客户
|
|
|
@ -1475,7 +1608,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
arReceivebill.setF_PAEZ_AssistantType("cw_sklb"); |
|
|
|
arReceivebill.setF_PAEZ_AssistantKey("006"); |
|
|
|
arReceivebill.setFRECEIVEBILLENTRY(fEntityList); |
|
|
|
if (finSelectedReceivablesDetailedVos1.size() == 0 && customerList.size() == 1) { |
|
|
|
if (finSelectedReceivablesDetailedVos1.size() == 0 && customerList.size() == 1 && finSelectedReceivablesDetailedVos1_1_1.size() == 0) { |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo()); |
|
|
|
|
|
|
|
} else { |
|
|
@ -1505,7 +1638,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
//结算方式
|
|
|
|
freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey()); |
|
|
|
freceivebillentry.setFSETTLETYPEIDType("customerPayType"); |
|
|
|
// BigDecimal bigAll = finSelectedReceivablesDetailedVos2.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
//收款金额
|
|
|
|
freceivebillentry.setFRECTOTALAMOUNTFOR(finSelectedReceivablesDetailedVo.getSumAll()); |
|
|
|
//登记日期
|
|
|
@ -1526,7 +1658,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
} else { |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo()); |
|
|
|
} |
|
|
|
|
|
|
|
ResultBean resultBean2 = arReceivebillService.draftArReceivebill(arReceivebill); |
|
|
|
} |
|
|
|
} |
|
|
@ -1579,7 +1710,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
arReceivebill.setF_PAEZ_AssistantKey("002"); |
|
|
|
} |
|
|
|
arReceivebill.setFRECEIVEBILLENTRY(fEntityList); |
|
|
|
if (finSelectedReceivablesDetailedVos1_1.size() == 1 && finSelectedReceivablesDetailedVos1.size() == 0 && finSelectedReceivablesDetailedVos2.size() == 0) { |
|
|
|
if (finSelectedReceivablesDetailedVos1_1.size() == 1 && finSelectedReceivablesDetailedVos1.size() == 0 && finSelectedReceivablesDetailedVos2.size() == 0 && finSelectedReceivablesDetailedVos1_1_1.size() == 0) { |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo()); |
|
|
|
} else { |
|
|
|
//单据编号
|
|
|
@ -1629,7 +1760,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
arReceivebill.setF_PAEZ_AssistantKey("006"); |
|
|
|
arReceivebill.setFRECEIVEBILLENTRY(fEntityList); |
|
|
|
if (finSelectedReceivablesDetailedVos1.size() == 0 && finSelectedReceivablesDetailedVos2_1.size() == 1 && |
|
|
|
finSelectedReceivablesDetailedVos2.size() == 0 && finSelectedReceivablesDetailedVos1_1.size() == 0) { |
|
|
|
finSelectedReceivablesDetailedVos2.size() == 0 && finSelectedReceivablesDetailedVos1_1.size() == 0 |
|
|
|
&& finSelectedReceivablesDetailedVos1_1_1.size() == 0) { |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo()); |
|
|
|
} else { |
|
|
|
//单据编号
|
|
|
@ -1641,8 +1773,73 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
//==========================================贷款-首付款开始
|
|
|
|
//贷款推送车款(应收未收中为首付款的)
|
|
|
|
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1_2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, 1, "首付款", "2"); |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.removeAll(Collections.singleton(null)); |
|
|
|
if (finSelectedReceivablesDetailedVos1_1_2.size() > 0) { |
|
|
|
for (int i = 0; i < finSelectedReceivablesDetailedVos1_1_2.size(); i++) { |
|
|
|
FinSelectedReceivablesDetailedVo vvvv = finSelectedReceivablesDetailedVos1_1.get(i); |
|
|
|
String contractNo = vvvv.getContractNo(); |
|
|
|
String vinNo = vvvv.getVIN(); |
|
|
|
BdCustomer bdCustomer = createBdCustomer1(confirmation.getUseOrgSid(), vvvv.getCustomerName(), contractNo, sid, vinNo); |
|
|
|
//推送金蝶客户,修改目标组织为采购系统对应的金蝶分公司code
|
|
|
|
if (data != null) { |
|
|
|
bdCustomer.setTOrgIds(data.getOrgCode()); |
|
|
|
} |
|
|
|
ResultBean resultBeanMiddle = bdCustomerService.draftBdCustomer(bdCustomer); |
|
|
|
//往来单位
|
|
|
|
arReceivebill.setFCONTACTUNIT(bdCustomer.getFNumber()); |
|
|
|
fEntityList = new ArrayList<>(); |
|
|
|
String uncollSid = ""; |
|
|
|
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY(); |
|
|
|
//结算方式
|
|
|
|
freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey()); |
|
|
|
freceivebillentry.setFSETTLETYPEIDType("customerPayType"); |
|
|
|
//收款金额
|
|
|
|
freceivebillentry.setFRECTOTALAMOUNTFOR(vvvv.getSubscriptionMoney()); |
|
|
|
//登记日期
|
|
|
|
freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate()); |
|
|
|
if (vvvv.getVIN().length() >= 8) { |
|
|
|
freceivebillentry.setF_PAEZ_Base1(vvvv.getVIN().substring(vvvv.getVIN().length() - 8)); |
|
|
|
} |
|
|
|
//收款用途
|
|
|
|
freceivebillentry.setFPURPOSEIDKey("001"); |
|
|
|
freceivebillentry.setFPURPOSEIDType("cw_skyt"); |
|
|
|
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum()); |
|
|
|
fEntityList.add(freceivebillentry); |
|
|
|
uncollSid = vvvv.getReceivablesSid(); |
|
|
|
|
|
|
|
//项目类别key、value
|
|
|
|
arReceivebill.setF_PAEZ_AssistantType("cw_sklb"); |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(uncollSid); |
|
|
|
if ("1".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) { |
|
|
|
arReceivebill.setF_PAEZ_AssistantKey("001"); |
|
|
|
} else if ("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) { |
|
|
|
arReceivebill.setF_PAEZ_AssistantKey("002"); |
|
|
|
} |
|
|
|
arReceivebill.setFRECEIVEBILLENTRY(fEntityList); |
|
|
|
if (finSelectedReceivablesDetailedVos1_1_2.size() == 1 && finSelectedReceivablesDetailedVos1.size() == 0 && finSelectedReceivablesDetailedVos2.size() == 0 && finSelectedReceivablesDetailedVos1_1_1.size() == 0 && finSelectedReceivablesDetailedVos1_1.size() == 0) { |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo()); |
|
|
|
} else { |
|
|
|
//单据编号
|
|
|
|
carSize = carSize + 1; |
|
|
|
arReceivebill.setFBillNo(confirmation.getBillNo() + "-" + carSize); |
|
|
|
} |
|
|
|
ResultBean resultBean1 = arReceivebillService.draftArReceivebill(arReceivebill); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//==========================================贷款首付款结束
|
|
|
|
//简易订单-订金收取
|
|
|
|
if (finSelectedReceivablesDetailedVos1.isEmpty() && finSelectedReceivablesDetailedVos2.isEmpty() && finSelectedReceivablesDetailedVos1_1.isEmpty() && finSelectedReceivablesDetailedVos2_1.isEmpty()) { |
|
|
|
if (finSelectedReceivablesDetailedVos1.isEmpty() && |
|
|
|
finSelectedReceivablesDetailedVos2.isEmpty() && |
|
|
|
finSelectedReceivablesDetailedVos1_1.isEmpty() && |
|
|
|
finSelectedReceivablesDetailedVos2_1.isEmpty() && |
|
|
|
finSelectedReceivablesDetailedVos1_1_1.isEmpty() && |
|
|
|
finSelectedReceivablesDetailedVos1_1_2.isEmpty()) { |
|
|
|
//先推送客户
|
|
|
|
AppBusDepositBuscenterDetailVo busDeposit = busDepositFeign.getDepositInfoDetails(confirmation.getBusSid()).getData(); |
|
|
|
BdCustomer bdCustomer = createBdCustomer(confirmation.getUseOrgSid(), busDeposit.getPayName(), busDeposit.getPhone(), "", sid); |
|
|
|