From 2d9e2531c02836307d46aca879657f5683852423 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 22 May 2025 13:55:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=92=E6=89=A3=E7=94=B3=E8=AF=B7=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E5=87=AD=E8=AF=81=E4=BF=AE=E6=94=B9=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=B8=8A=E9=9D=9E=E6=AD=A3=E5=B8=B8=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E4=B8=8B=E7=9A=84=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoanBuckleApplyService.java | 232 +++++++++++++++++- .../LoanOutboundApplyService.java | 6 +- 2 files changed, 235 insertions(+), 3 deletions(-) diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java index b6237f579a..125c3c89bb 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java @@ -23,6 +23,7 @@ import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedR import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher; +import com.yxt.anrui.fin.api.kingdee.voucher.Voucher; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; @@ -32,6 +33,8 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign; +import com.yxt.anrui.portal.api.dictcommon.DictCommonVo; import com.yxt.anrui.portal.api.flow.PCHistTaskListAndCommentList; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; @@ -145,6 +148,8 @@ public class LoanBuckleApplyService extends MybatisBaseService listPage(PagerQuery pq) { IPage page = PagerUtil.queryToPage(pq); @@ -778,7 +783,10 @@ public class LoanBuckleApplyService extends MybatisBaseService records = loanBuckleApplyRecordService.selByMainSid(businessSid); + if (!records.isEmpty()) { + GeneralVoucher generalVoucher = new GeneralVoucher();//月还划扣 + List voucherDetails = new ArrayList<>(); + Voucher voucher = new Voucher();//直还划扣 + List voucherDetails2 = new ArrayList<>(); + for (LoanBuckleApplyRecord v : records) { + LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(v.getRepaymentHistorySid()); + if (null != planDetails) { + BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData(); + if("0".equals(busSalesOrderVehicle.getRiskState().toString())){//正常 + GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); + // oweState 是否转累欠状态(0是,1否) + Integer oweState = planDetails.getOweState(); + if (oweState == 1) { + //获取收款日期的当月最后一天 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate localDate = LocalDate.parse(DateUtil.formatDate(new Date()), formatter); + LocalDate date = localDate.withDayOfMonth(localDate.lengthOfMonth()); + Date dueDate = planDetails.getDueDate(); //应还日期 + // Date -> LocalDate + LocalDate localDueDate = dueDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + boolean after = localDueDate.isAfter(date); + if (after) { + voucherDetail.setSceneCode("15"); + } else { + voucherDetail.setSceneCode("01"); + } + } else if (oweState == 0) { + List jrList = baseMapper.selFinJrList(planDetails.getSid()); + if (null != jrList) { + if (jrList.size() > 0) { + voucherDetail.setSceneCode("03"); + } else { + voucherDetail.setSceneCode("02"); + } + } else { + voucherDetail.setSceneCode("02"); + } + } + if (StringUtils.isNotBlank(planDetails.getBankName())) { + String bankName = planDetails.getBankName(); + voucherDetail.setBankName(bankName); + } + String useOrgSid = planDetails.getUseOrgSid(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); + if (null != organizationVo) { + generalVoucher.setUseOrgCode(organizationVo.getOrgCode()); + } + LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid()); + if (null != schedule) { + if (StringUtils.isNotBlank(schedule.getCwDeptNo())) { + voucherDetail.setDeptCode(schedule.getCwDeptNo()); + } + } + + BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData(); + if (null != salesOrder) { + if (null != busSalesOrderVehicle) { + String customerNumber = ""; + //判断财务系统是否有客户 + Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); + String linkNo = ""; + BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData(); + if (!aBoolean) { + // List bdCustomers = new ArrayList<>(); + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.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 resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); + if (resultBean.getSuccess()) { + customerNumber = bdCustomer.getFNumber(); + } + } else { + customerNumber = busSalesOrderVehicle.getTemporaryNo(); + } + voucherDetail.setCustomerCode(customerNumber); + } + } + voucherDetail.setAmount(v.getActualMoney()); + voucherDetails.add(voucherDetail); + }else{ + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(planDetails.getUseOrgSid()).getData(); + if (null != organizationVo) { + voucher.setAccountBook(organizationVo.getOrgCode()); + voucher.setVoucherNo(organizationVo.getOrgCode()); + } + String customerNumber = ""; + BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData(); + if (null != busSalesOrderVehicle && salesOrder != null) { + + //判断财务系统是否有客户 + Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); + String linkNo = ""; + BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData(); + if (!aBoolean) { + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.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()); + } + } + ResultBean resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); + if (resultBean.getSuccess()) { + customerNumber = bdCustomer.getFNumber(); + } + } else { + customerNumber = busSalesOrderVehicle.getTemporaryNo(); + } + } + String deptCode = ""; + LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(planDetails.getScheduleSid()); + if (null != schedule) { + if (StringUtils.isNotBlank(schedule.getCwDeptNo())) { + deptCode = schedule.getCwDeptNo(); + } + } + + + if (StringUtils.isNotBlank(planDetails.getBankName())) { + //借方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); + String bankName = planDetails.getBankName(); + DictCommonVo dictCommonVo = dictCommonFeign.selectBykey(bankName, "investorsCode").getData(); + if (null != dictCommonVo) { + voucherResultDetailDtoJf.setSubjectNo(dictCommonVo.getDictValue()); + } + voucherResultDetailDtoJf.setSummary(bankName+"划扣"); + voucherResultDetailDtoDf.setSummary(bankName+"划扣"); + voucherResultDetailDtoDf.setSubjectNo("1201.03.01"); + //核算部门 + voucherResultDetailDtoJf.setDimensionDept(deptCode); + //核算客户 + voucherResultDetailDtoJf.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf.setDebit(v.getActualMoney().toString()); + //核算部门 + voucherResultDetailDtoDf.setDimensionDept(deptCode); + //核算客户 + voucherResultDetailDtoDf.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf.setCredit(v.getActualMoney().toString()); + voucherDetails2.add(voucherResultDetailDtoJf); + voucherDetails2.add(voucherResultDetailDtoDf); + } + + boolean isTrue = false; + List jrList = baseMapper.selFinJrList(planDetails.getSid()); + if (null != jrList) { + if (jrList.size() > 0) { + isTrue = true; + } + } + if(isTrue){ + //借方 + Voucher.VoucherResultDetailDto voucherResultDetailDtoJf = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoJf.setSummary(planDetails.getBankName()+"划扣"); + voucherResultDetailDtoJf.setSubjectNo("1133.10.20"); + //核算部门 + voucherResultDetailDtoJf.setDimensionDept(deptCode); + //核算客户 + voucherResultDetailDtoJf.setDimensionCustom(customerNumber); + voucherResultDetailDtoJf.setDebit(v.getActualMoney().toString()); + voucherDetails2.add(voucherResultDetailDtoJf); + Voucher.VoucherResultDetailDto voucherResultDetailDtoDf = new Voucher.VoucherResultDetailDto(); + voucherResultDetailDtoDf.setSummary(planDetails.getBankName()+"划扣"); + voucherResultDetailDtoDf.setSubjectNo("1201.03.01"); + //核算部门 + voucherResultDetailDtoDf.setDimensionDept(deptCode); + //核算客户 + voucherResultDetailDtoDf.setDimensionCustom(customerNumber); + voucherResultDetailDtoDf.setDebit(v.getActualMoney().toString()); + voucherDetails2.add(voucherResultDetailDtoDf); + + } + } + } + } + if(!voucherDetails.isEmpty()){ + generalVoucher.setVoucherDetails(voucherDetails); + finKingDeeFeign.saveBuckleVoucher(generalVoucher); + } + if(!voucherDetails2.isEmpty()){ + voucher.setResultDetails(voucherDetails2); + finKingDeeFeign.saveVoucher(voucher); + } + + } + } + public ResultBean revokeProcess(BuckleTaskQuery query) { ResultBean rb = ResultBean.fireFail(); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java index 27d852bb8f..ea16e9b431 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java @@ -620,7 +620,8 @@ public class LoanOutboundApplyService extends MybatisBaseService