diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/CollectionVoucher.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/CollectionVoucher.java index bc40b88e15..e3a9715687 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/CollectionVoucher.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/CollectionVoucher.java @@ -23,6 +23,8 @@ public class CollectionVoucher { public String payTypeCode; @ApiModelProperty("银行账号") public String bankAccount; + @ApiModelProperty("付款方") + public String payerName; @ApiModelProperty("凭证明细") public List voucherDetails; diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java index 7b20c360e1..260140ce7a 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/PaymentVoucher.java @@ -48,6 +48,10 @@ public class PaymentVoucher { public BigDecimal balance; @ApiModelProperty("减数适用于结清时计算差额") public BigDecimal subtrahend; + @ApiModelProperty("结清时未到期利息减免") + public BigDecimal relief; + @ApiModelProperty("结清时未到期利息不减免") + public BigDecimal noRelief; @ApiModelProperty("备注") public String remarks; @ApiModelProperty("借贷方类型") diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/SceneCodeEnum.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/SceneCodeEnum.java index f8cba48ff7..c17bc90f7f 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/SceneCodeEnum.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/voucher/SceneCodeEnum.java @@ -12,6 +12,7 @@ public enum SceneCodeEnum { BUCKLE_VOUCHER2("月还划扣凭证", "划扣申请通过-逾期未垫款", "02"), BUCKLE_VOUCHER3("月还划扣凭证", "划扣申请通过-逾期已垫款(中车类)", "03"), INDIRECT_VOUCHER1("间还月还收款凭证", "间还出纳确认后-未逾期", "04"), + INDIRECT_VOUCHER3("间还月还收款凭证", "出纳收款确认后-未到期的月还", "14"), INDIRECT_VOUCHER2("间还月还收款凭证", "间还出纳确认后-已逾期/资方逾期利息", "05"), TRANSFER_VOUCHER1("间还月还代付款凭证", "出纳代付款-正常或逾期未垫款", "06"), TRANSFER_VOUCHER2("间还月还代付款凭证", "出纳代付款-已垫款(中车类)", "07"), diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java index 477043d8dd..e3c16b1d21 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java @@ -134,6 +134,9 @@ import java.io.InputStream; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.concurrent.*; import java.util.function.Predicate; @@ -3828,8 +3831,10 @@ public class FinCollectionConfirmationService extends MybatisBaseService LocalDate + LocalDate localDueDate = dueDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + boolean after = localDueDate.isAfter(date); + if (after) { + voucherDetail.setSceneCode(SceneCodeEnum.INDIRECT_VOUCHER3.getCode()); + } else { + voucherDetail.setSceneCode(SceneCodeEnum.INDIRECT_VOUCHER1.getCode()); + } } } try { diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java index 94df0942fa..bbdc954803 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java @@ -508,14 +508,9 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); Voucher newVoucher = new Voucher(); String payType = ""; - String remarks1 = ""; - String remarks2 = ""; - String remarks3 = ""; - String remarks4 = ""; - StringBuffer sb = new StringBuffer(); - Set setString = new HashSet<>(); BigDecimal amountAll = new BigDecimal(0); BigDecimal decimal = BigDecimal.ZERO; + String payerName = voucher.getPayerName(); int check = 0; Date date = null; List resultDetails = new ArrayList<>(); @@ -548,11 +543,6 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { date = voucherDetail.getDataTime(); amountAll = amountAll.add(voucherDetail.getAmount()); if (payCostTitleValue.equals("月还") || payCostTitleValue.equals("资方逾期利息")) { - if (payCostTitleValue.equals("月还")) { - setString.add("月还"); - } else if (payCostTitleValue.equals("资方逾期利息")) { - setString.add("逾期利息"); - } Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 if (voucherDetail.getSceneCode().equals(SceneCodeEnum.INDIRECT_VOUCHER1.getCode())) { //未逾期 @@ -562,6 +552,9 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { //已逾期 dto2.setSummary("收" + voucherDetail.getCustomerName() + "累欠"); dto2.setSubjectNo("1201.02.03"); + } else if (voucherDetail.getSceneCode().equals(SceneCodeEnum.INDIRECT_VOUCHER3.getCode())){ + dto2.setSummary("收" + voucherDetail.getCustomerName() + "月还"); + dto2.setSubjectNo("1201.01.00"); } dto2.setDimensionDept(voucherDetail.getDeptCode()); dto2.setDimensionCustom(voucherDetail.getCustomerCode()); @@ -569,7 +562,6 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { resultDetails.add(dto2); decimal = decimal.add(voucherDetail.getAmount()); } else if (payCostTitleValue.equals("资金占用费")) { - setString.add("累欠"); Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 if (voucherDetail.getSceneCode().equals(SceneCodeEnum.FUND_VOUCHER1.getCode())) { dto2.setSummary("收逾期利息(" + sdf.format(voucherDetail.getDataTime()) + ")"); @@ -581,7 +573,6 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { resultDetails.add(dto2); decimal = decimal.add(voucherDetail.getAmount()); } else if (payCostTitleValue.equals("结清时资方逾期利息")) { - setString.add("结清款"); Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 dto2.setSummary("收资方逾期利息"); dto2.setSubjectNo("1201.02.03"); @@ -591,7 +582,6 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { resultDetails.add(dto2); decimal = decimal.add(voucherDetail.getAmount()); } else if (payCostTitleValue.equals("名义价")) { - setString.add("结清款"); Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 dto2.setSummary("结清名义价款"); dto2.setSubjectNo(bankCode); @@ -610,7 +600,6 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { } decimal = decimal.add(voucherDetail.getSubtrahend()); } else if (payCostTitleValue.equals("合同违约金")) { - setString.add("结清款"); Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 dto2.setSummary("还其他费用-合同违约金"); dto2.setSubjectNo(bankCode); @@ -629,7 +618,6 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { } decimal = decimal.add(voucherDetail.getSubtrahend()); } else if (payCostTitleValue.equals("其他费用")) { - setString.add("结清款"); Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 dto2.setSummary("还其他费用-资方其他费用"); dto2.setSubjectNo(bankCode); @@ -670,47 +658,17 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { } if (check == 0) { - if (!setString.isEmpty()) { - for (String s : setString) { - if (s.equals("月还")) { - remarks1 = "月还"; - } else if (s.equals("累欠")) { - remarks2 = "累欠"; - } else if (s.equals("逾期利息")) { - remarks3 = "逾期利息"; - } else if (s.equals("结清款")) { - remarks4 = "结清款"; - } - } - } - if (StringUtils.isNotBlank(remarks1)) { - sb.append(remarks1).append("、"); - } - if (StringUtils.isNotBlank(remarks2)) { - sb.append(remarks2).append("、"); - } - if (StringUtils.isNotBlank(remarks3)) { - sb.append(remarks3).append("、"); - } - if (StringUtils.isNotBlank(remarks4)) { - sb.append(remarks4).append("、"); - } Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 if (StringUtils.isNotBlank(voucher.getBankAccount())) { dto1.setBankAccount(voucher.getBankAccount()); } dto1.setSubjectNo(payType); - if (sb.length() > 0) { - sb.delete(sb.length() - 1, sb.length()); - dto1.setSummary("收" + sb + "(" + sdf.format(date) + ")"); - } + dto1.setSummary("收款-" + payerName + "(" + sdf.format(date) + ")"); dto1.setDebit(String.valueOf(amountAll)); resultDetails.add(0, dto1); } newVoucher.setResultDetails(resultDetails); } - System.out.println("借方 --" + amountAll); - System.out.println("贷方 --" + decimal); log.info("FinKingDeeFeignRest-saveVoucher:{}", JSONObject.toJSONString(newVoucher)); return voucherService.saveVoucher(newVoucher); } @@ -845,47 +803,81 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { } if (voucherDetail.getSceneCode().equals(SceneCodeEnum.settle_VOUCHER1.getCode())) { Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 - Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 - Voucher.VoucherResultDetailDto dto3 = new Voucher.VoucherResultDetailDto(); //贷方 dto1.setSummary(voucherDetail.getBankName() + "结清"); - dto2.setSummary(voucherDetail.getBankName() + "个贷保证金抵结清款"); - dto3.setSummary(voucherDetail.getBankName() + "结清"); dto1.setSubjectNo(bankCode); - dto2.setSubjectNo("1009.01.00"); - if (voucher.getPayTypeCode().equals("02")) { - dto3.setSubjectNo("1002.01.00"); - } else if (voucher.getPayTypeCode().equals("01")) { - dto3.setSubjectNo("1002.02.01"); - } dto1.setDimensionDept(voucherDetail.getDeptCode()); dto1.setDimensionCustom(voucherDetail.getCustomerCode()); - dto2.setDimensionDept(voucherDetail.getDeptCode()); - dto2.setDimensionCustom(voucherDetail.getCustomerCode()); - dto3.setBankAccount(voucher.getBankAccount()); dto1.setDebit(String.valueOf(voucherDetail.getAmount())); - dto2.setCredit(String.valueOf(voucherDetail.getSubtrahend())); - dto3.setCredit(String.valueOf(voucherDetail.getBalance())); resultDetails.add(dto1); - resultDetails.add(dto2); - 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.setDebit(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()); + dto1.setDimensionCustom(voucherDetail.getCustomerCode()); + dto3.setDebit(String.valueOf(voucherDetail.getRelief())); + resultDetails.add(dto3); + } + Voucher.VoucherResultDetailDto dto4 = new Voucher.VoucherResultDetailDto(); //贷方 + dto4.setSummary(voucherDetail.getBankName() + "个贷保证金抵结清款"); + dto4.setSubjectNo("1009.01.00"); + dto4.setDimensionDept(voucherDetail.getDeptCode()); + dto4.setDimensionCustom(voucherDetail.getCustomerCode()); + dto4.setCredit(String.valueOf(voucherDetail.getSubtrahend())); + resultDetails.add(dto4); + Voucher.VoucherResultDetailDto dto5 = new Voucher.VoucherResultDetailDto(); //贷方 + dto5.setSummary(voucherDetail.getBankName() + "结清"); + if (voucher.getPayTypeCode().equals("02")) { + dto5.setSubjectNo("1002.01.00"); + } else if (voucher.getPayTypeCode().equals("01")) { + dto5.setSubjectNo("1002.02.01"); + } + dto5.setBankAccount(voucher.getBankAccount()); + dto5.setCredit(String.valueOf(voucherDetail.getBalance())); + resultDetails.add(dto5); } else { Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 - Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 dto1.setSummary(voucherDetail.getBankName() + "结清"); - dto2.setSummary(voucherDetail.getBankName() + "结清"); dto1.setSubjectNo(bankCode); - if (voucher.getPayTypeCode().equals("02")) { - dto2.setSubjectNo("1002.01.00"); - } else if (voucher.getPayTypeCode().equals("01")) { - dto2.setSubjectNo("1002.02.01"); - } dto1.setDimensionDept(voucherDetail.getDeptCode()); dto1.setDimensionCustom(voucherDetail.getCustomerCode()); - dto2.setBankAccount(voucher.getBankAccount()); dto1.setDebit(String.valueOf(voucherDetail.getAmount())); - dto2.setCredit(String.valueOf(voucherDetail.getAmount())); resultDetails.add(dto1); - resultDetails.add(dto2); + 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())); + 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()); + dto1.setDimensionCustom(voucherDetail.getCustomerCode()); + dto3.setDebit(String.valueOf(voucherDetail.getRelief())); + resultDetails.add(dto3); + } + Voucher.VoucherResultDetailDto dto4 = new Voucher.VoucherResultDetailDto(); //贷方 + dto4.setSummary(voucherDetail.getBankName() + "结清"); + if (voucher.getPayTypeCode().equals("02")) { + dto4.setSubjectNo("1002.01.00"); + } else if (voucher.getPayTypeCode().equals("01")) { + dto4.setSubjectNo("1002.02.01"); + } + dto4.setBankAccount(voucher.getBankAccount()); + dto4.setCredit(String.valueOf(voucherDetail.getAmount())); + resultDetails.add(dto4); } } newVoucher.setResultDetails(resultDetails); diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseBankCostVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseBankCostVo.java index 76d501be91..be46c3f67a 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseBankCostVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchaseapply/LoanRepurchaseBankCostVo.java @@ -32,5 +32,13 @@ public class LoanRepurchaseBankCostVo { private String otherReceivableRemarks; @ApiModelProperty("资方结清金额") private String bankSettlePrice; + @ApiModelProperty("是否勾选减免,1勾选,0不勾选") + private boolean topping; + @ApiModelProperty("贷款保证金") + private String loanDeposit; + @ApiModelProperty("资方收款账号") + private String bankAccount; + @ApiModelProperty("资方收款账户") + private String accountName; private List bankfiles = new ArrayList<>(); //资方结清费用附件 } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchasecost/LoanRepurchaseCost.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchasecost/LoanRepurchaseCost.java index 1aacbc63d0..ceea9ac983 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchasecost/LoanRepurchaseCost.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepurchasecost/LoanRepurchaseCost.java @@ -37,5 +37,12 @@ public class LoanRepurchaseCost extends BaseEntity { private String otherReceivableRemarks; @ApiModelProperty("资方结清金额") private BigDecimal bankSettlePrice; - + @ApiModelProperty("贷款保证金") + private BigDecimal loanDeposit; + @ApiModelProperty("资方收款账户") + private String accountName; + @ApiModelProperty("资方收款账号") + private String bankAccount; + @ApiModelProperty("是否抵顶(1是,0否)") + private int topping; } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.java index 7971418fc6..cb10968a1a 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.java @@ -8,6 +8,7 @@ import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApply; import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyVo; import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApply; import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyAccrualApplyVo; +import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.LoanMonthlyPlanRecord; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -20,7 +21,7 @@ import java.util.Map; public interface LoanMonthlyAccrualApplyMapper extends BaseMapper { List selByNewDate(@Param(Constants.WRAPPER) QueryWrapper qw); - List selRepaymentDetailsByDueDate(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); + List selRepaymentDetailsByDueDate(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); int selectNum(String bill); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.xml index 0b5ec80459..f68be23a01 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyMapper.xml @@ -50,11 +50,43 @@