Browse Source

修改结清推凭证逻辑

master
fanzongzhe0036 1 month ago
parent
commit
ee8347a46c
  1. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecord.java
  2. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDetailsVo.java
  3. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDto.java
  4. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordQuery.java
  5. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordVo.java
  6. 68
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  7. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlecompanyreduction/LoanSettleCompanyReduction.java
  8. 1
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java
  9. 160
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java
  10. 48
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java

9
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecord.java

@ -119,4 +119,13 @@ public class FinPaymentrecord extends BaseEntity {
private BigDecimal paymentCharges;
@ApiModelProperty("是否推送回款返利,0不推送,1推送")
private Integer isPushHkfl;
@ApiModelProperty("推送财务数据类型(0付款单,1凭证)")
private Integer finDataType;
@ApiModelProperty("应付类别分类(dictTypeCode)")
private String payCostType;
@ApiModelProperty("款项类别key(dictKey对应财务应付类别编码)")
private String payChannel;
@ApiModelProperty("批量处理编码")
private String batchNumber;
}

8
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDetailsVo.java

@ -85,4 +85,12 @@ public class FinPaymentrecordDetailsVo implements Vo {
private String purchaseSystemSid; // 采购系统sid
@ApiModelProperty("采购系统名称")
private String purchaseSystemName; // 采购系统名称
@ApiModelProperty("推送财务数据类型(0付款单,1凭证)")
private Integer finDataType;
@ApiModelProperty("应付类别分类(dictTypeCode)")
private String payCostType;
@ApiModelProperty("款项类别key(dictKey对应财务应付类别编码)")
private String payChannel;
@ApiModelProperty("批量处理编码")
private String batchNumber;
}

8
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDto.java

@ -105,4 +105,12 @@ public class FinPaymentrecordDto implements Dto {
private String busRemarks;
@ApiModelProperty("是否推送回款返利,0不推送,1推送")
private Integer isPushHkfl;
@ApiModelProperty("推送财务数据类型(0付款单,1凭证)")
private Integer finDataType;
@ApiModelProperty("应付类别分类(dictTypeCode)")
private String payCostType;
@ApiModelProperty("款项类别key(dictKey对应财务应付类别编码)")
private String payChannel;
@ApiModelProperty("批量处理编码")
private String batchNumber;
}

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordQuery.java

@ -78,5 +78,6 @@ public class FinPaymentrecordQuery implements Query {
private String payBank;
@ApiModelProperty("付款账号")
private String payBankAccount;
@ApiModelProperty("批量处理编码")
private String batchNumber;
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordVo.java

@ -95,4 +95,6 @@ public class FinPaymentrecordVo implements Vo {
private String payWayKey;
@ApiModelProperty("付款方式Value")
private String payWayValue;
@ApiModelProperty("批量处理编码")
private String batchNumber;
}

68
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java

@ -1670,23 +1670,23 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
dto0.setDebit(String.valueOf(voucherDetail.getPaymentCharges()));
resultDetails.add(dto0);
}
if (voucherDetail.getNoRelief().compareTo(BigDecimal.ZERO) != 0) {
Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //借方
dto2.setSummary(voucherDetail.getBankName() + "结清未到期利息不减免");
dto2.setSubjectNo("6002.01.17");
dto2.setDimensionDept(voucherDetail.getDeptCode());
dto2.setCredit(String.valueOf(voucherDetail.getNoRelief()));
resultDetails.add(dto2);
}
if (voucherDetail.getRelief().compareTo(BigDecimal.ZERO) != 0) {
Voucher.VoucherResultDetailDto dto3 = new Voucher.VoucherResultDetailDto(); //借方
dto3.setSummary(voucherDetail.getBankName() + "结清未到期利息减免");
dto3.setSubjectNo("1201.01.00");
dto3.setDimensionDept(voucherDetail.getDeptCode());
dto3.setDimensionCustom(voucherDetail.getCustomerCode());
dto3.setCredit(String.valueOf(voucherDetail.getRelief()));
resultDetails.add(dto3);
}
// if (voucherDetail.getNoRelief().compareTo(BigDecimal.ZERO) != 0) {
// Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //借方
// dto2.setSummary(voucherDetail.getBankName() + "结清未到期利息不减免");
// dto2.setSubjectNo("6002.01.17");
// dto2.setDimensionDept(voucherDetail.getDeptCode());
// dto2.setCredit(String.valueOf(voucherDetail.getNoRelief()));
// resultDetails.add(dto2);
// }
// if (voucherDetail.getRelief().compareTo(BigDecimal.ZERO) != 0) {
// Voucher.VoucherResultDetailDto dto3 = new Voucher.VoucherResultDetailDto(); //借方
// dto3.setSummary(voucherDetail.getBankName() + "结清未到期利息减免");
// dto3.setSubjectNo("1201.01.00");
// dto3.setDimensionDept(voucherDetail.getDeptCode());
// dto3.setDimensionCustom(voucherDetail.getCustomerCode());
// dto3.setCredit(String.valueOf(voucherDetail.getRelief()));
// resultDetails.add(dto3);
// }
if (voucherDetail.getSubtrahend().compareTo(BigDecimal.ZERO) != 0) {
Voucher.VoucherResultDetailDto dto4 = new Voucher.VoucherResultDetailDto(); //贷方
dto4.setSummary(voucherDetail.getBankName() + "个贷保证金抵结清款");
@ -1729,23 +1729,23 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
dto0.setDebit(String.valueOf(voucherDetail.getPaymentCharges()));
resultDetails.add(dto0);
}
if (voucherDetail.getNoRelief().compareTo(BigDecimal.ZERO) != 0) {
Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //借方
dto2.setSummary(voucherDetail.getBankName() + "结清未到期利息不减免");
dto2.setSubjectNo("6002.01.17");
dto2.setDimensionDept(voucherDetail.getDeptCode());
dto2.setCredit(String.valueOf(voucherDetail.getNoRelief()));
resultDetails.add(dto2);
}
if (voucherDetail.getRelief().compareTo(BigDecimal.ZERO) != 0) {
Voucher.VoucherResultDetailDto dto3 = new Voucher.VoucherResultDetailDto(); //借方
dto3.setSummary(voucherDetail.getBankName() + "结清未到期利息减免");
dto3.setSubjectNo("1201.01.00");
dto3.setDimensionDept(voucherDetail.getDeptCode());
dto3.setDimensionCustom(voucherDetail.getCustomerCode());
dto3.setCredit(String.valueOf(voucherDetail.getRelief()));
resultDetails.add(dto3);
}
// if (voucherDetail.getNoRelief().compareTo(BigDecimal.ZERO) != 0) {
// Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //借方
// dto2.setSummary(voucherDetail.getBankName() + "结清未到期利息不减免");
// dto2.setSubjectNo("6002.01.17");
// dto2.setDimensionDept(voucherDetail.getDeptCode());
// dto2.setCredit(String.valueOf(voucherDetail.getNoRelief()));
// resultDetails.add(dto2);
// }
// if (voucherDetail.getRelief().compareTo(BigDecimal.ZERO) != 0) {
// Voucher.VoucherResultDetailDto dto3 = new Voucher.VoucherResultDetailDto(); //借方
// dto3.setSummary(voucherDetail.getBankName() + "结清未到期利息减免");
// dto3.setSubjectNo("1201.01.00");
// dto3.setDimensionDept(voucherDetail.getDeptCode());
// dto3.setDimensionCustom(voucherDetail.getCustomerCode());
// dto3.setCredit(String.valueOf(voucherDetail.getRelief()));
// resultDetails.add(dto3);
// }
if (voucherDetail.getBalance().compareTo(BigDecimal.ZERO) != 0) {
Voucher.VoucherResultDetailDto dto4 = new Voucher.VoucherResultDetailDto(); //贷方
dto4.setSummary(voucherDetail.getBankName() + "结清");

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlecompanyreduction/LoanSettleCompanyReduction.java

@ -28,7 +28,7 @@ public class LoanSettleCompanyReduction extends BaseEntity {
private BigDecimal profit;
@ApiModelProperty("公司未到期利息减免")
private BigDecimal notDuePriceRelief;
@ApiModelProperty("减免依据")
@ApiModelProperty("减免依据(资方未到期利息减免)")
private BigDecimal reliefBasis;
}

1
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java

@ -987,6 +987,7 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
finPaymentrecordDto.setPurchaseSystemSid("");
finPaymentrecordDto.setPurchaseSystemName("");
finPaymentrecordDto.setBusRemarks(loanBePadsincereApply.getPaymentRemarks());
finPaymentrecordDto.setFinDataType(1);
String sid = finPaymentrecordFeign.save(finPaymentrecordDto).getData();
loanBePadsincereVehService.updatePaySid(sid,loanBePadsincereVehDetailsVo.getSid());
}

160
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java

@ -6,34 +6,22 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanDetailsVo;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign;
import com.yxt.anrui.base.api.commoncontract.CommonContract;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.buscenter.api.busdeposit.BusDeposit;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitious;
import com.yxt.anrui.buscenter.api.bussalesorder.*;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDiscountListVo;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.BusSalesOrderDelegateQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderSourceLCVo;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDeposit;
import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsuranceDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModel;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmit;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBank;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecord;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordFeign;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRFeign;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
@ -54,16 +42,13 @@ 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.SysOrganization;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysparameter.SysParameterFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecord;
import com.yxt.anrui.riskcenter.api.loanoverduefin.UrlQuery;
import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory;
@ -79,10 +64,7 @@ import com.yxt.anrui.riskcenter.api.loansettlecompanycost.LoanSettleCompanyCostV
import com.yxt.anrui.riskcenter.api.loansettlecompanyreduction.LoanSettleCompanyReduction;
import com.yxt.anrui.riskcenter.api.loansettlecompanyreduction.LoanSettleCompanyReductionVo;
import com.yxt.anrui.riskcenter.api.loansettlevehicle.LoanSettleVehicleDto;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetail;
import com.yxt.anrui.riskcenter.api.loantransferpaymentrecord.LoanTransferPaymentRecord;
import com.yxt.anrui.riskcenter.biz.loanpushfundhistory.LoanPushFundHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
@ -100,8 +82,10 @@ import com.yxt.anrui.riskcenter.biz.loansolutionsdetail.LoanSolutionsDetailServi
import com.yxt.common.base.config.component.DocPdfComponent;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.*;
import com.yxt.common.base.utils.Base64;
import com.yxt.common.base.utils.ConstantUtils;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.WordConvertUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -111,7 +95,6 @@ import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import com.yxt.messagecenter.api.messagelist.MessageList;
import com.yxt.messagecenter.api.messagelist.MessageListFeign;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.StringUtils;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
@ -119,7 +102,6 @@ import org.springframework.stereotype.Service;
import java.io.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
@ -970,14 +952,9 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
int check = 0;// 0不推抵顶保证金凭证 1推送
//结清合计 + 贷款保证金结转金额
BigDecimal add = amountTo.add(depositJZ);
// BigDecimal actualDeposit = BigDecimal.ZERO;
List<LoanSettleVoucherVo> settleVoucherVos = new ArrayList<>();
if (add.compareTo(BigDecimal.ZERO) > 0) {
//结转剩余保证金
// BigDecimal decimal = carryForward(loanSettleApply);
// if (null != decimal) {
// actualDeposit = decimal;
// }
settleVoucherVos = carryForward2(loanSettleApply);
check = 1;
}
@ -990,7 +967,6 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
//设置认款月还为已转付
updatePaymentStateByBusVinSid(loanSettleApply.getBusVinSid());
//推送财务凭证
// pushSettleVoucher(loanSettleApply, check, actualDeposit);
pushSettleVoucher2(loanSettleApply, check, settleVoucherVos);
}
baseMapper.updateById(loanSettleApply);
@ -2269,6 +2245,15 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
BigDecimal zfJQK = BigDecimal.ZERO;//资方结清款
int topping = 0;
BigDecimal bbjDDMoney = BigDecimal.ZERO; //资方保证金抵顶
BigDecimal wdqlxjm = BigDecimal.ZERO; //未到期利息减免
BigDecimal gsdqwdqyh = BigDecimal.ZERO; //公司当期未到期月还
BigDecimal gswdqje = BigDecimal.ZERO; //公司未到期金额
BigDecimal gswdqlxjm = BigDecimal.ZERO; //公司未到期利息减免
BigDecimal zfdqwdqyh = BigDecimal.ZERO; //资方当期未到期月还
BigDecimal zfwdqje = BigDecimal.ZERO; //资方未到期金额
BigDecimal zfwdqlxjm = BigDecimal.ZERO; //资方未到期利息减免
if (null != reduction) {
if (null != reduction.getFundPenalty()) {
fund = reduction.getFundPenalty();
@ -2276,6 +2261,12 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
if (null != reduction.getDepositPenalty()) {
bzjJM = reduction.getDepositPenalty();
}
if (null != reduction.getNotDuePriceRelief()) {
gswdqlxjm = reduction.getNotDuePriceRelief();
}
if (null != reduction.getReliefBasis()) {
zfwdqlxjm = reduction.getReliefBasis();
}
}
if (null != companyCost) {
if (null != companyCost.getLoanDeposit()) {
@ -2284,6 +2275,13 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
if (null != companyCost.getDeductionAmount()) {
bzjKF = companyCost.getDeductionAmount();
}
if (null != companyCost.getCompanyCurrentNotPrice()) {
gsdqwdqyh = companyCost.getCompanyCurrentNotPrice();
}
if (null != companyCost.getBankNotPrice()) {
gswdqje = companyCost.getBankNotPrice();
}
}
if (null != bankCost) {
if (null != bankCost.getBankSettlePrice()) {
@ -2293,6 +2291,12 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
if (null != bankCost.getLoanDeposit()) {
bbjDDMoney = bankCost.getLoanDeposit();
}
if (null != bankCost.getCurrentNotDuePrice()) {
zfdqwdqyh = bankCost.getCurrentNotDuePrice();
}
if (null != bankCost.getNotDuePrice()) {
zfwdqje = bankCost.getNotDuePrice();
}
}
sybzj = bzjMoney.subtract(bzjKF).add(bzjJM);
bzjKFCw = bzjKF.subtract(bzjJM);
@ -2497,6 +2501,37 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
voucherDetail.setDebit(amountAll.toString());
resultDetails.add(voucherDetail);
}
BigDecimal yhcesrCompany = gsdqwdqyh.add(gswdqje).subtract(gswdqlxjm); //月还差额计收入 公司部分
BigDecimal yhcesrBank = zfdqwdqyh.add(zfwdqje).subtract(zfwdqlxjm); //月还差额计收入 资方部分
BigDecimal yhcejsr = yhcesrCompany.subtract(yhcesrBank);//月还差额记收入
BigDecimal yhjmjf = yhcejsr.add(gswdqlxjm);
if (yhjmjf.compareTo(BigDecimal.ZERO) > 0) {
Voucher.VoucherResultDetailDto voucherDetail = new Voucher.VoucherResultDetailDto();
voucherDetail.setSummary(planDetails.getBankName() + "结清");
voucherDetail.setSubjectNo(bankCode);
voucherDetail.setDimensionDept(deptCode);
voucherDetail.setDimensionCustom(customerNumber);
voucherDetail.setDebit(yhjmjf.toString());
resultDetails.add(voucherDetail);
}
if (gswdqlxjm.compareTo(BigDecimal.ZERO) > 0) {
Voucher.VoucherResultDetailDto voucherDetail = new Voucher.VoucherResultDetailDto();
voucherDetail.setSummary(planDetails.getBankName() + "结清未到期利息减免");
voucherDetail.setSubjectNo("1201.01.00");
voucherDetail.setDimensionDept(deptCode);
voucherDetail.setDimensionCustom(customerNumber);
voucherDetail.setCredit(gswdqlxjm.toString());
resultDetails.add(voucherDetail);
}
if (yhcejsr.compareTo(BigDecimal.ZERO) > 0) {
Voucher.VoucherResultDetailDto voucherDetail = new Voucher.VoucherResultDetailDto();
voucherDetail.setSummary(planDetails.getBorrowerName() + "结清收入");
voucherDetail.setSubjectNo("6002.01.17");
voucherDetail.setDimensionDept(deptCode);
voucherDetail.setCredit(yhcejsr.toString());
resultDetails.add(voucherDetail);
}
newVoucher.setResultDetails(resultDetails);
if (!fundHistoryList.isEmpty()) {
loanPushFundHistoryService.saveLists(fundHistoryList);
@ -2514,6 +2549,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
BigDecimal bankSettlePrice = bankCost.getBankSettlePrice();
if (bankSettlePrice.compareTo(BigDecimal.ZERO) > 0) {
FinPaymentrecordDto finPaymentrecordDto = new FinPaymentrecordDto();
finPaymentrecordDto.setFinDataType(1);
finPaymentrecordDto.setApplySid("");
finPaymentrecordDto.setPayCompanySid("");
finPaymentrecordDto.setPayType(1);
@ -3596,13 +3632,8 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
}
loanSettleApply.setState(1);
baseMapper.updateById(loanSettleApply);
// BigDecimal actualDeposit = BigDecimal.ZERO;
//结转剩余保证金
List<LoanSettleVoucherVo> settleVoucherVos = carryForward2(loanSettleApply);
// BigDecimal decimal = carryForward(loanSettleApply);
// if (null != decimal) {
// actualDeposit = decimal;
// }
//更新车辆表结清状态
baseMapper.updateBus(loanSettleApply.getBusVinSid(), "1");
//推送资方结清款到出纳代付款列表
@ -3610,7 +3641,6 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
//设置认款月还为已转付
updatePaymentStateByBusVinSid(loanSettleApply.getBusVinSid());
//推送财务凭证
// pushSettleVoucher(loanSettleApply, 1, actualDeposit);
pushSettleVoucher2(loanSettleApply, 1, settleVoucherVos);
return rb.success();
}
@ -4004,8 +4034,10 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
BigDecimal kuanxiang = BigDecimal.ZERO; //差额
BigDecimal companyAmount = BigDecimal.ZERO; //公司收
BigDecimal subtrahend = BigDecimal.ZERO; //资方收
BigDecimal qtfyjm = BigDecimal.ZERO; //其他费用减免
LoanSettleCompanyCost companyCost = loanSettleCompanyCostService.selectByMainSid(sid);
LoanSettleBankCost bankCost = loanSettleBankCostService.selectByMainSid(sid);
LoanSettleCompanyReduction reduction = loanSettleCompanyReductionService.selectByMainSid(sid);
if (null != bankCost) {
if (receivablesName.equals("名义价")) {
if (null != bankCost.getBankNominalPrice()) {
@ -4050,6 +4082,12 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
}
}
}
if (null != reduction) {
if (null != reduction.getOtherCost()) {
qtfyjm = reduction.getOtherCost();
}
}
PlanNoReturnMoney p = baseMapper.selectNoReturnMoneyByType(planDetailsSid, receivablesName);
if (null != p) {
BigDecimal money = new BigDecimal(p.getMoney());
@ -4059,6 +4097,9 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
} else {
balance = companyAmount.subtract(subtrahend);
}
if (receivablesName.equals("其他费用")) {
balance = balance.subtract(qtfyjm);
}
kuanxiang = amount.subtract(balance);
vo.setBusSid(sid);
vo.setAmount(amount);
@ -4073,31 +4114,26 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
ResultBean rb = ResultBean.fireFail();
LoanSettleApply apply = fetchBySid(sid);
LoanSettleBankCost bankCost = loanSettleBankCostService.selectByMainSid(sid);
// LoanSettleCompanyCost companyCost = loanSettleCompanyCostService.selectByMainSid(sid);
LoanSettleCompanyReduction reduction = loanSettleCompanyReductionService.selectByMainSid(sid);
if (null != apply) {
BigDecimal amountAll = BigDecimal.ZERO;//推送资方结清款总数
BigDecimal zfJQK = BigDecimal.ZERO;//资方结清款
BigDecimal bankRelief = BigDecimal.ZERO;//资方结清未到期利息减免
BigDecimal companyRelief = BigDecimal.ZERO;//公司结清未到期利息减免
BigDecimal noRelief = BigDecimal.ZERO;//结清未到期利息不减免
// BigDecimal bankRelief = BigDecimal.ZERO;//资方结清未到期利息减免
// BigDecimal companyRelief = BigDecimal.ZERO;//公司结清未到期利息减免
// BigDecimal noRelief = BigDecimal.ZERO;//结清未到期利息不减免
int topping = 0;
BigDecimal bbjDDMoney = BigDecimal.ZERO; //资方保证金抵顶
BigDecimal sub = BigDecimal.ZERO; //资方保证金差额
BigDecimal shouxufeiCW = new BigDecimal(shouxufei);
// // 资方未到期金额
// BigDecimal zfwdq = BigDecimal.ZERO;
// // 公司未到期金额
// BigDecimal gswdq = BigDecimal.ZERO;
if (null != reduction) {
if (null != reduction.getNotDuePriceRelief()) {
companyRelief = reduction.getNotDuePriceRelief();
}
if (null != reduction.getReliefBasis()) {
bankRelief = reduction.getReliefBasis();
}
noRelief = bankRelief.subtract(companyRelief);
}
// if (null != reduction) {
// if (null != reduction.getNotDuePriceRelief()) {
// companyRelief = reduction.getNotDuePriceRelief();
// }
// if (null != reduction.getReliefBasis()) {
// bankRelief = reduction.getReliefBasis();
// }
// noRelief = bankRelief.subtract(companyRelief);
// }
if (null != bankCost) {
if (null != bankCost.getBankSettlePrice()) {
zfJQK = bankCost.getBankSettlePrice();
@ -4106,20 +4142,10 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
if (null != bankCost.getLoanDeposit()) {
bbjDDMoney = bankCost.getLoanDeposit();
}
// if (null != bankCost.getNotDuePrice()) {
// zfwdq = bankCost.getNotDuePrice();
// }
}
// if (null != companyCost) {
// if (null != companyCost.getBankNotPrice()) {
// gswdq = companyCost.getBankNotPrice();
// }
// }
// if (companyRelief.compareTo(BigDecimal.ZERO) == 0 && bankRelief.compareTo(BigDecimal.ZERO) == 0) {
// noRelief = gswdq.subtract(zfwdq);
// }
sub = zfJQK.subtract(bbjDDMoney);
amountAll = noRelief.add(companyRelief).add(bbjDDMoney).add(sub);
// amountAll = noRelief.add(companyRelief).add(bbjDDMoney).add(sub);
amountAll = bbjDDMoney.add(sub);
if (zfJQK.compareTo(BigDecimal.ZERO) > 0) {
PaymentVoucher paymentVoucher = new PaymentVoucher();
paymentVoucher.setBankAccount(accountNumber);
@ -4198,8 +4224,8 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
voucherDetail.setAmount(amountAll);
voucherDetail.setSubtrahend(bbjDDMoney);
voucherDetail.setBalance(sub.add(shouxufeiCW));
voucherDetail.setRelief(companyRelief);
voucherDetail.setNoRelief(noRelief);
// voucherDetail.setRelief(companyRelief);
// voucherDetail.setNoRelief(noRelief);
voucherDetail.setPaymentCharges(shouxufeiCW);
voucherDetails.add(voucherDetail);
}

48
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java

@ -3,7 +3,6 @@ package com.yxt.anrui.riskcenter.biz.loantransferpaymentapply;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.math.Money;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -27,7 +26,6 @@ import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR;
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.PaymentVoucher;
import com.yxt.anrui.fin.api.kingdee.voucher.SceneCodeEnum;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
@ -47,15 +45,9 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApply;
import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.AppAccrualRecordVo;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.AppMonthAccrualDetailsVo;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApply;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.MonthlyAccrualSourceLCVo;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualrecord.LoanMonthlyAccrualRecord;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule;
@ -82,7 +74,6 @@ import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import com.yxt.messagecenter.api.messagelist.MessageList;
import com.yxt.messagecenter.api.messagelist.MessageListFeign;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -664,28 +655,6 @@ public class LoanTransferPaymentApplyService extends MybatisBaseService<LoanTran
repaymentHistory.setPaymentState("已转付");
repaymentHistory.setTransferDate(new DateTime());
loanRepaymentHistoryService.updateById(repaymentHistory);
// //推送转付还款记录
// LoanRepaymentHistory transfer = new LoanRepaymentHistory();
// transfer.setScheduleSid(repaymentHistory.getScheduleSid());
// transfer.setPlanDetailSid(repaymentHistory.getPlanDetailSid());
// transfer.setReturnWay("转付");
// transfer.setReturnWayKey("03");
// transfer.setActualDate(new Date());
// transfer.setDataTime(new DateTime());
// transfer.setBuckleKey("001");
// transfer.setBuckle("未申请");
// transfer.setUpdateState("1");
// transfer.setUpdateTime(new DateTime());
// BigDecimal money = new BigDecimal(0);
// if (null != applyRecord.getTransferPrincipal()) {
// money = applyRecord.getTransferPrincipal();
// }
// if (null != applyRecord.getDefaultInterest()) {
// money = applyRecord.getDefaultInterest().add(money);
// }
// String amount = String.valueOf(money);
// transfer.setActualMoney(new BigDecimal("-" + amount));
// loanRepaymentHistoryService.insert(transfer);
}
if (payFormKey.equals("01")) {
if (StringUtils.isNotBlank(applyRecord.getBankContractNo())) {
@ -735,6 +704,7 @@ public class LoanTransferPaymentApplyService extends MybatisBaseService<LoanTran
if (!map.isEmpty()) {
for (Map.Entry<String, BigDecimal> entry : map.entrySet()) {
FinPaymentrecordDto payDto = new FinPaymentrecordDto();
payDto.setFinDataType(1);
payDto.setBusSid(apply.getSid());
payDto.setCreateBySid(apply.getCreateBySid());
payDto.setCost(entry.getValue().toString());
@ -795,22 +765,6 @@ public class LoanTransferPaymentApplyService extends MybatisBaseService<LoanTran
}
}
}
// try {
// ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
// .setNameFormat("demo-pool-%d").build();
// ExecutorService pool = new org.apache.tomcat.util.threads.ThreadPoolExecutor(1, 10,
// 1000, TimeUnit.MILLISECONDS,
// new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy());
// //推送转付凭证
// Future future = pool.submit(() -> {
// pushPaymentVoucher(businessSid);
// });
// } catch (Exception e) {
// e.printStackTrace();
// log.error("推送数据失败=========================" + e.getMessage());
// return rb.setMsg("推送数据失败");
// }
}
return rb.success().setData(resultBean.getData());
} else {

Loading…
Cancel
Save