Browse Source

Merge remote-tracking branch 'origin/master'

master
ligaode 1 month ago
parent
commit
620e63f138
  1. 245
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java
  2. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalescost/LoanSecondarySalesCostMapper.java
  3. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalescost/LoanSecondarySalesCostMapper.xml
  4. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalescost/LoanSecondarySalesCostService.java

245
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java

@ -48,6 +48,8 @@ import com.yxt.anrui.riskcenter.api.loanoutboundapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanoutboundveh.LoanOutboundVeh;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.AlrepaidAndArrVo;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApply;
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.LoanSecondarySalesApply;
import com.yxt.anrui.riskcenter.api.loansecondarysalescost.LoanSecondarySalesCost;
import com.yxt.anrui.riskcenter.api.loansubletapply.*;
import com.yxt.anrui.riskcenter.api.loansubletapply.app.AppSubletDetailsVo;
import com.yxt.anrui.riskcenter.api.loansubletapply.app.AppSubletVinListVo;
@ -60,6 +62,8 @@ import com.yxt.anrui.riskcenter.biz.loanredemptionapply.LoanRedemptionApplyServi
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService;
import com.yxt.anrui.riskcenter.biz.loansecondarysalesapply.LoanSecondarySalesApplyService;
import com.yxt.anrui.riskcenter.biz.loansecondarysalescost.LoanSecondarySalesCostService;
import com.yxt.anrui.riskcenter.biz.loansubletveh.LoanSubletVehService;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
@ -126,6 +130,18 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
private FinKingDeeFeign finKingDeeFeign;
@Autowired
private LoanRestoreReportApplyService loanRestoreReportApplyService;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign;
@Autowired
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService;
@Autowired
private LoanSecondarySalesApplyService loanSecondarySalesApplyService;
@Autowired
private LoanSecondarySalesCostService loanSecondarySalesCostService;
public PagerVo<LoanOutboundApplyVo> listPage(PagerQuery<LoanOutboundApplyQuery> pq) {
IPage<LoanOutboundApply> page = PagerUtil.queryToPage(pq);
@ -608,13 +624,33 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
busVinStateSetQuery.setState(1);
ResultBean resultBean2 = busSalesOrderVehicleFeign.setFundState(busVinStateSetQuery);
//推送金蝶财务其他出库单
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new org.apache.tomcat.util.threads.ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy());
LoanOutboundApply finalLoanOutboundApply = loanOutboundApply;
Future future1 = pool.submit(() -> {
//推送其他出库单
//TOdO:
pushStkOut(finalLoanOutboundApply,busVinSidList);
});
Future future2 = pool.submit(() -> {
//推送财务凭证
//TOdO:
pushRiskToFin(finalLoanOutboundApply,busVinSidList);
});
} catch (Exception e) {
e.printStackTrace();
}
}/*else if("二次转租".equals(loanOutboundApply.getDisposal())){
busVinStateSetQuery.setState(3);
ResultBean resultBean1 = busSalesOrderVehicleFeign.setRiskState(busVinStateSetQuery);
}*/else if("二次销售".equals(loanOutboundApply.getDisposal())){
//ToDo:
}
//推送金蝶财务其他出库单
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
@ -628,12 +664,22 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
//TOdO:
pushStkOut(finalLoanOutboundApply,busVinSidList);
});
Future future2 = pool.submit(() -> {
//推送财务凭证
//TOdO:
pushRiskToFin2(finalLoanOutboundApply,busVinSidList);
});
} catch (Exception e) {
e.printStackTrace();
}
}
}
@ -670,7 +716,82 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
}
}
//推送财务凭证
private void pushRiskToFin2(LoanOutboundApply loanOutboundApply, List<String> busVinSidList) {
LoanSecondarySalesApply loanSecondarySalesApply = loanSecondarySalesApplyService.fetchBySid(loanOutboundApply.getApplySid());
LoanSecondarySalesCost loanSecondarySalesCost = loanSecondarySalesCostService.selectMainSu(loanOutboundApply.getSid());
Voucher voucher = new Voucher();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(loanOutboundApply.getUseOrgSid()).getData();
if (null != organizationVo) {
voucher.setAccountBook(organizationVo.getOrgCode());
voucher.setVoucherNo(organizationVo.getOrgCode());
}
List<Voucher.VoucherResultDetailDto> voucherResultDetailDtos = new ArrayList<>();
SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(loanOutboundApply.getDeptSid()).getData();
for (int i = 0; i < busVinSidList.size(); i++){
String busVinSid = busVinSidList.get(i);
//ToDo:
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
String customerNumber = "";
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData();
if (salesOrder != null && busSalesOrderVehicle != null) {
//判断财务系统是否有客户
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
String linkNo = "";
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData();
if (!aBoolean) {
// List<BdCustomer> bdCustomers = new ArrayList<>();
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
if (StringUtils.isNotBlank(salesOrder.getPurchaseSystemSid())) {
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
}
bdCustomer.setTOrgIds(deptVo.getOrgCode());
if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
String vinNo = busSalesOrderVehicle.getLinkNo();
if (vinNo.length() > 8) {
linkNo = vinNo.substring(vinNo.length() - 8);
} else {
linkNo = busSalesOrderVehicle.getLinkNo();
}
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo);
}
} else {
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo());
}
}
// bdCustomers.add(bdCustomer);
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
}
} else {
customerNumber = busSalesOrderVehicle.getTemporaryNo();
}
}
//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
//贷方
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf2 = new Voucher.VoucherResultDetailDto();
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf3 = new Voucher.VoucherResultDetailDto();
BigDecimal all = BigDecimal.ZERO;//扣回车辆费用=扣回入库-已认款+资方结清费用
BigDecimal dkbzjMoney = BigDecimal.ZERO;//贷款保证金
BigDecimal bxbzjMoney = BigDecimal.ZERO;//保险保证金
BigDecimal cssMoney = BigDecimal.ZERO;//车损失---计算=扣回车辆费用-贷款保证金-保险保证金
}
}
//推送赎回凭证结转
public void pushRiskToFin(LoanOutboundApply loanOutboundApply,List<String> busVinSidList) {
Voucher voucher = new Voucher();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(loanOutboundApply.getUseOrgSid()).getData();
@ -678,11 +799,131 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp
voucher.setAccountBook(organizationVo.getOrgCode());
voucher.setVoucherNo(organizationVo.getOrgCode());
}
List<Voucher.VoucherResultDetailDto> voucherResultDetailDtos = new ArrayList<>();
SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(loanOutboundApply.getDeptSid()).getData();
for (int i = 0; i < busVinSidList.size(); i++) {
String busVinSid = busVinSidList.get(i);
//ToDo:
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
String customerNumber = "";
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData();
if (salesOrder != null && busSalesOrderVehicle != null) {
//判断财务系统是否有客户
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
String linkNo = "";
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData();
if (!aBoolean) {
// List<BdCustomer> bdCustomers = new ArrayList<>();
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
if (StringUtils.isNotBlank(salesOrder.getPurchaseSystemSid())) {
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
}
bdCustomer.setTOrgIds(deptVo.getOrgCode());
if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
String vinNo = busSalesOrderVehicle.getLinkNo();
if (vinNo.length() > 8) {
linkNo = vinNo.substring(vinNo.length() - 8);
} else {
linkNo = busSalesOrderVehicle.getLinkNo();
}
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo);
}
} else {
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo());
}
}
// bdCustomers.add(bdCustomer);
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
}
} else {
customerNumber = busSalesOrderVehicle.getTemporaryNo();
}
}
AlrepaidAndArrVo alrepaidAndArrVo = loanRestoreReportApplyService.getAlrepaidAndArr2(busVinSid);
//应收贷款车欠款_待处理欠款_扣回车辆
BigDecimal all = BigDecimal.ZERO;
//应收贷款车欠款_到期欠款_累欠
BigDecimal lqMoney = BigDecimal.ZERO;
//应收贷款车欠款_未到期欠款_未到期欠款
BigDecimal wdqMoney = BigDecimal.ZERO;
//应收贷款车欠款_到期欠款_本金
BigDecimal bjMoney = BigDecimal.ZERO;
String lq = loanRepaymentPlanDetailsService.getYqLq(busVinSid);
lqMoney = lqMoney.add(new BigDecimal(StringUtils.isBlank(lq) ? "0" : lq));
//未到期欠款
String wdq = alrepaidAndArrVo.getUnexpiredMoney();
wdqMoney = wdqMoney.add(new BigDecimal(StringUtils.isBlank(wdq) ? "0" : wdq));
String bj = loanRepaymentPlanDetailsService.getBj(busVinSid);
bjMoney = bjMoney.add(new BigDecimal(StringUtils.isBlank(bj) ? "0" : bj));
all = lqMoney.add(wdqMoney).add(bjMoney);
//贷方
Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto();
//借方
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto();
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf2 = new Voucher.VoucherResultDetailDto();
Voucher.VoucherResultDetailDto voucherResultDetailDtoJf3 = new Voucher.VoucherResultDetailDto();
//-------------------------------------------应收贷款车欠款_待处理欠款_扣回车辆
if (all.compareTo(BigDecimal.ZERO) > 0) {
voucherResultDetailDtoDf.setSummary("**扣回车辆赎回结转");
voucherResultDetailDtoDf.setSubjectNo("1201.03.01");
//核算部门
voucherResultDetailDtoDf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoDf.setDimensionCustom(customerNumber);
voucherResultDetailDtoDf.setCredit(all.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoDf);
}
//---------------------------------------------应收贷款车欠款_到期欠款_累欠
if (lqMoney.compareTo(BigDecimal.ZERO) > 0) {
voucherResultDetailDtoJf.setSummary("**扣回车辆赎回结转");
voucherResultDetailDtoJf.setSubjectNo("1201.02.03");
//核算部门
voucherResultDetailDtoJf.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf.setDebit(lqMoney.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoJf);
}
//--------------------------------------------应收贷款车欠款_未到期欠款_未到期欠款
if (wdqMoney.compareTo(BigDecimal.ZERO) > 0) {
voucherResultDetailDtoJf2.setSummary("**扣回车辆赎回结转");
voucherResultDetailDtoJf2.setSubjectNo("1201.01.00");
//核算部门
voucherResultDetailDtoJf2.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf2.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf2.setDebit(wdqMoney.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoJf2);
}
//-------------------------------------------应收贷款车欠款_到期欠款_本金
if (bjMoney.compareTo(BigDecimal.ZERO) > 0) {
voucherResultDetailDtoJf3.setSummary("**扣回车辆赎回结转");
voucherResultDetailDtoJf3.setSubjectNo("1201.02.01");
//核算部门
voucherResultDetailDtoJf3.setDimensionDept(deptVo.getOrgCode());
//核算客户
voucherResultDetailDtoJf3.setDimensionCustom(customerNumber);
voucherResultDetailDtoJf3.setDebit(bjMoney.toString());
voucherResultDetailDtos.add(voucherResultDetailDtoJf3);
}
}
if (!voucherResultDetailDtos.isEmpty()) {
voucher.setResultDetails(voucherResultDetailDtos);
finKingDeeFeign.saveVoucher(voucher);
}
}
public void pushStkOut(LoanOutboundApply loanOutboundApply,List<String> busVinSidList) {

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalescost/LoanSecondarySalesCostMapper.java

@ -19,4 +19,6 @@ public interface LoanSecondarySalesCostMapper extends BaseMapper<LoanSecondarySa
LoanSecondarySalesCost selectMainSid(String sid);
LoanSecondarySalesCostAppVo selectByMainSidApp(String sid);
LoanSecondarySalesCost selectMainSu(String sid);
}

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalescost/LoanSecondarySalesCostMapper.xml

@ -26,4 +26,10 @@
from loan_secondary_sales_cost
where mainSid = #{sid}
</select>
<select id="selectMainSu" resultType="com.yxt.anrui.riskcenter.api.loansecondarysalescost.LoanSecondarySalesCost">
select *
from loan_secondary_sales_cost
where mainSid = #{sid}
</select>
</mapper>

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansecondarysalescost/LoanSecondarySalesCostService.java

@ -35,6 +35,10 @@ public class LoanSecondarySalesCostService extends MybatisBaseService<LoanSecond
return baseMapper.selectByMainSid(sid);
}
public LoanSecondarySalesCost selectMainSu(String sid){
return baseMapper.selectMainSu(sid);
}
public void saveCost(LoanSecondarySalesCostVo loanSecondarySalesCost, String sid) {
baseMapper.deleteByMainSid(sid);

Loading…
Cancel
Save