Browse Source

优化推送凭证

master
fanzongzhe 8 months ago
parent
commit
61d7dde8a4
  1. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java
  2. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java
  3. 26
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  4. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java
  5. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java
  6. 32
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java

@ -52,6 +52,8 @@ public class PaymentVoucher {
public BigDecimal relief;
@ApiModelProperty("结清时未到期利息不减免")
public BigDecimal noRelief;
@ApiModelProperty("付款时手续费")
public BigDecimal paymentCharges;
@ApiModelProperty("备注")
public String remarks;
@ApiModelProperty("借贷方类型")

6
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java

@ -539,13 +539,17 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
});
} else if ("008".equals(costTypeKey) || "资方结清款".equals(finPaymentrecord.getCostTypeValue())) {
if (StringUtils.isNotBlank(finPaymentrecord.getPayBankAccount())) {
String shouxufei = "0";
if (null != finPaymentrecord.getPaymentCharges()) {
shouxufei = finPaymentrecord.getPaymentCharges().toString();
}
String accountNumber = finPaymentrecord.getPayBankAccount();
String payTypeCode = "";
FinManufacturerBank manufacturerBank = finManufacturerBankService.selOneByBankNo(accountNumber, finPaymentrecord.getUseOrgSid()).getData();
if (null != manufacturerBank) {
payTypeCode = manufacturerBank.getDueBankKey();
}
loanSettleApplyFeign.pushBankVoucher(finPaymentrecord.getBusSid(),accountNumber,payTypeCode);
loanSettleApplyFeign.pushBankVoucher(finPaymentrecord.getBusSid(),accountNumber,payTypeCode,shouxufei);
}
}
} catch (Exception e) {

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

@ -809,12 +809,19 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
dto1.setDimensionCustom(voucherDetail.getCustomerCode());
dto1.setDebit(String.valueOf(voucherDetail.getAmount()));
resultDetails.add(dto1);
if (voucherDetail.getPaymentCharges().compareTo(BigDecimal.ZERO) > 0) {
Voucher.VoucherResultDetailDto dto0 = new Voucher.VoucherResultDetailDto(); //借方
dto0.setSummary("付款手续费");
dto0.setSubjectNo("6603.03.00");
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.setDebit(String.valueOf(voucherDetail.getNoRelief()));
dto2.setCredit(String.valueOf(voucherDetail.getNoRelief()));
resultDetails.add(dto2);
}
if (voucherDetail.getRelief().compareTo(BigDecimal.ZERO) > 0) {
@ -823,7 +830,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
dto3.setSubjectNo("1201.01.00");
dto3.setDimensionDept(voucherDetail.getDeptCode());
dto1.setDimensionCustom(voucherDetail.getCustomerCode());
dto3.setDebit(String.valueOf(voucherDetail.getRelief()));
dto3.setCredit(String.valueOf(voucherDetail.getRelief()));
resultDetails.add(dto3);
}
Voucher.VoucherResultDetailDto dto4 = new Voucher.VoucherResultDetailDto(); //贷方
@ -851,12 +858,19 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
dto1.setDimensionCustom(voucherDetail.getCustomerCode());
dto1.setDebit(String.valueOf(voucherDetail.getAmount()));
resultDetails.add(dto1);
if (voucherDetail.getPaymentCharges().compareTo(BigDecimal.ZERO) > 0) {
Voucher.VoucherResultDetailDto dto0 = new Voucher.VoucherResultDetailDto(); //借方
dto0.setSummary("付款手续费");
dto0.setSubjectNo("6603.03.00");
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.setDebit(String.valueOf(voucherDetail.getNoRelief()));
dto2.setCredit(String.valueOf(voucherDetail.getNoRelief()));
resultDetails.add(dto2);
}
if (voucherDetail.getRelief().compareTo(BigDecimal.ZERO) > 0) {
@ -864,8 +878,8 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
dto3.setSummary(voucherDetail.getBankName() + "结清未到期利息减免");
dto3.setSubjectNo("1201.01.00");
dto3.setDimensionDept(voucherDetail.getDeptCode());
dto1.setDimensionCustom(voucherDetail.getCustomerCode());
dto3.setDebit(String.valueOf(voucherDetail.getRelief()));
dto3.setDimensionCustom(voucherDetail.getCustomerCode());
dto3.setCredit(String.valueOf(voucherDetail.getRelief()));
resultDetails.add(dto3);
}
Voucher.VoucherResultDetailDto dto4 = new Voucher.VoucherResultDetailDto(); //贷方
@ -876,7 +890,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
dto4.setSubjectNo("1002.02.01");
}
dto4.setBankAccount(voucher.getBankAccount());
dto4.setCredit(String.valueOf(voucherDetail.getAmount()));
dto4.setCredit(String.valueOf(voucherDetail.getBalance()));
resultDetails.add(dto4);
}
}

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyFeign.java

@ -104,7 +104,11 @@ public interface LoanSettleApplyFeign {
@ApiOperation(value = "推送资方结清款凭证")
@PostMapping(value = "/pushBankVoucher")
ResultBean pushBankVoucher(@RequestParam("sid") String sid,@RequestParam("accountNumber") String accountNumber,@RequestParam("payTypeCode") String payTypeCode);
ResultBean pushBankVoucher(@RequestParam("sid") String sid,
@RequestParam("accountNumber") String accountNumber,
@RequestParam("payTypeCode") String payTypeCode,
@RequestParam("shouxufei") String shouxufei
);
}

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyRest.java

@ -120,12 +120,12 @@ public class LoanSettleApplyRest implements LoanSettleApplyFeign {
}
@Override
public ResultBean<SettleFinVo> getFinSettleVo(String busVinSid, String receivablesName,String subscriptionMoney) {
return loanSettleApplyService.getFinSettleVo(busVinSid,receivablesName,subscriptionMoney);
public ResultBean<SettleFinVo> getFinSettleVo(String busVinSid, String receivablesName, String subscriptionMoney) {
return loanSettleApplyService.getFinSettleVo(busVinSid, receivablesName, subscriptionMoney);
}
@Override
public ResultBean pushBankVoucher(String sid, String accountNumber, String payTypeCode) {
return loanSettleApplyService.pushBankVoucher(sid,accountNumber,payTypeCode);
public ResultBean pushBankVoucher(String sid, String accountNumber, String payTypeCode, String shouxufei) {
return loanSettleApplyService.pushBankVoucher(sid, accountNumber, payTypeCode,shouxufei);
}
}

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

@ -731,7 +731,9 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
fundJm = reduction.getFundPenalty();
}
}
jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36"));
if (fund.compareTo(BigDecimal.ZERO) > 0) {
jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36"));
}
boolean isTure = false;
boolean isTure2 = false;
if (jmRate.compareTo(rate1) < 0) {
@ -871,7 +873,9 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
fundJm = reduction2.getFundPenalty();
}
}
jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36"));
if (fund.compareTo(BigDecimal.ZERO) > 0) {
jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36"));
}
boolean isTure = false;
boolean isTure2 = false;
if (jmRate.compareTo(rate1) < 0) {
@ -1685,6 +1689,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
BigDecimal bzjMoney = BigDecimal.ZERO;//剩余贷款保证金结转
BigDecimal bzjJM = BigDecimal.ZERO;//贷款保证金减免
BigDecimal bzjKF = BigDecimal.ZERO;//贷款保证金扣罚
BigDecimal bzjKFCw = BigDecimal.ZERO;//贷款保证金扣罚
BigDecimal sybzj = BigDecimal.ZERO;//贷款保证金扣罚
BigDecimal zfJQK = BigDecimal.ZERO;//资方结清款
int topping = 0;
@ -1715,6 +1720,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
}
}
sybzj = bzjMoney.subtract(bzjKF).add(bzjJM);
bzjKFCw = bzjKF.subtract(bzjJM);
//资金占用费减免凭证
if (fund.compareTo(BigDecimal.ZERO) > 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
@ -1736,13 +1742,13 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
voucherDetails.add(voucherDetail);
}
//贷款保证金扣罚
if (bzjKF.compareTo(BigDecimal.ZERO) > 0) {
if (bzjKFCw.compareTo(BigDecimal.ZERO) > 0) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
voucherDetail.setSceneCode("贷款保证金扣罚");
voucherDetail.setBankName(planDetails.getBankName());
voucherDetail.setDeptCode(deptCode);
voucherDetail.setCustomerCode(customerNumber);
voucherDetail.setAmount(bzjKF);
voucherDetail.setAmount(bzjKFCw);
voucherDetails.add(voucherDetail);
}
//资方结清款付款
@ -2394,7 +2400,9 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
fundJm = reduction.getFundPenalty();
}
}
jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36"));
if (fund.compareTo(BigDecimal.ZERO) > 0) {
jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36"));
}
boolean isTure = false;
boolean isTure2 = false;
if (jmRate.compareTo(rate1) < 0) {
@ -2438,7 +2446,9 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
fundJm = reduction.getFundPenalty();
}
}
jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36"));
if (fund.compareTo(BigDecimal.ZERO) > 0) {
jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36"));
}
boolean isTure = false;
boolean isTure2 = false;
if (jmRate.compareTo(rate1) < 0) {
@ -2495,7 +2505,9 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
fundJm = reduction.getFundPenalty();
}
}
jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36"));
if (fund.compareTo(BigDecimal.ZERO) > 0) {
jmRate = (fund.subtract(fundJm)).divide(fund,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("0.36"));
}
boolean isTure = false;
boolean isTure2 = false;
if (jmRate.compareTo(rate1) < 0) {
@ -3264,7 +3276,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
return rb;
}
public ResultBean pushBankVoucher(String sid, String accountNumber, String payTypeCode) {
public ResultBean pushBankVoucher(String sid, String accountNumber, String payTypeCode,String shouxufei) {
ResultBean rb = ResultBean.fireFail();
LoanSettleApply apply = fetchBySid(sid);
LoanSettleBankCost bankCost = loanSettleBankCostService.selectByMainSid(sid);
@ -3278,6 +3290,7 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
int topping = 0;
BigDecimal bbjDDMoney = BigDecimal.ZERO; //资方保证金抵顶
BigDecimal sub = BigDecimal.ZERO; //资方保证金差额
BigDecimal shouxufeiCW = new BigDecimal(shouxufei);
if (null != reduction) {
if (null != reduction.getNotDuePriceRelief()) {
companyRelief = reduction.getNotDuePriceRelief();
@ -3371,9 +3384,10 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa
}
voucherDetail.setAmount(amountAll);
voucherDetail.setSubtrahend(bbjDDMoney);
voucherDetail.setBalance(sub);
voucherDetail.setBalance(sub.add(shouxufeiCW));
voucherDetail.setRelief(companyRelief);
voucherDetail.setNoRelief(noRelief);
voucherDetail.setPaymentCharges(shouxufeiCW);
voucherDetails.add(voucherDetail);
}
paymentVoucher.setVoucherDetails(voucherDetails);

Loading…
Cancel
Save