From afb38f386b9afa27a26e51f2fc0fbebdab689c5b Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Wed, 24 Apr 2024 14:48:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A8=E9=80=81=E6=94=B6?= =?UTF-8?q?=E6=AC=BE=E5=87=AD=E8=AF=81=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fin/biz/kingdee/FinKingDeeFeignRest.java | 88 ++++++++++++------- 1 file changed, 54 insertions(+), 34 deletions(-) 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 bad41a5cbc..cd6b0dc962 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 @@ -66,9 +66,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.math.BigDecimal; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; @Api(tags = "单据调用金蝶的暂存接口") @RestController("com.yxt.anrui.fin.biz.kingdee.FinKingDeeFeignRest") @@ -436,6 +434,14 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd"); Voucher newVoucher = new Voucher(); String payType = ""; + String remarks1 = ""; + String remarks2 = ""; + String remarks3 = ""; + StringBuffer sb = new StringBuffer(); + Set setString = new HashSet<>(); + BigDecimal amountAll = new BigDecimal(0); + int check = 0; + Date date = null; List resultDetails = new ArrayList<>(); if (StringUtils.isNotBlank(voucher.getUseOrgCode())) { newVoucher.setAccountBook(voucher.getUseOrgCode()); @@ -456,11 +462,15 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { for (CollectionVoucher.CollectionVoucherDetail voucherDetail : voucherDetails) { if (StringUtils.isNotBlank(voucherDetail.getPayCostTitleValue())) { String payCostTitleValue = voucherDetail.getPayCostTitleValue(); + date = voucherDetail.getDataTime(); + amountAll = amountAll.add(voucherDetail.getAmount()); if (payCostTitleValue.equals("月还") || payCostTitleValue.equals("资方逾期利息")) { - Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 + if (payCostTitleValue.equals("月还")) { + setString.add("月还"); + } else if (payCostTitleValue.equals("资方逾期利息")) { + setString.add("逾期利息"); + } Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 - dto1.setSummary("收月还(" + sdf.format(voucherDetail.getDataTime()) + ")"); - dto1.setSubjectNo(payType); if (voucherDetail.getSceneCode().equals(SceneCodeEnum.INDIRECT_VOUCHER1.getCode())) { //未逾期 dto2.setSummary("收" + voucherDetail.getCustomerName() + "月还"); @@ -470,46 +480,23 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { dto2.setSummary("收" + voucherDetail.getCustomerName() + "累欠"); dto2.setSubjectNo("1201.02.03"); } - if (StringUtils.isNotBlank(voucher.getBankAccount())) { - dto1.setBankAccount(voucher.getBankAccount()); - } dto2.setDimensionDept(voucherDetail.getDeptCode()); dto2.setDimensionCustom(voucherDetail.getCustomerCode()); - dto1.setDebit(String.valueOf(voucherDetail.getAmount())); dto2.setCredit(String.valueOf(voucherDetail.getAmount())); - resultDetails.add(dto1); resultDetails.add(dto2); } else if (payCostTitleValue.equals("资金占用费")) { - Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 + setString.add("累欠"); Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 if (voucherDetail.getSceneCode().equals(SceneCodeEnum.FUND_VOUCHER1.getCode())) { - dto1.setSummary("收累欠(" + sdf.format(voucherDetail.getDataTime()) + ")"); - dto1.setSubjectNo(payType); dto2.setSummary("收逾期利息(" + sdf.format(voucherDetail.getDataTime()) + ")"); dto2.setSubjectNo("1201.02.02"); - if (StringUtils.isNotBlank(voucher.getBankAccount())) { - dto1.setBankAccount(voucher.getBankAccount()); - } dto2.setDimensionDept(voucherDetail.getDeptCode()); dto2.setDimensionCustom(voucherDetail.getCustomerCode()); - } else if (voucherDetail.getSceneCode().equals(SceneCodeEnum.FUND_VOUCHER2.getCode())) { - //确认收入 - SimpleDateFormat sdfnew = new SimpleDateFormat("yyyy-MM-dd"); - String date = sdfnew.format(voucherDetail.getDataTime()); - String[] split = date.split("-"); - String month = split[1]; - dto1.setSummary(month + "月逾期利息确认收入"); - dto1.setSubjectNo("2191.05.00"); - dto1.setDimensionDept(voucherDetail.getDeptCode()); - dto2.setSummary(month + "月逾期利息确认收入"); - dto2.setSubjectNo("6002.01.19"); - dto2.setDimensionDept(voucherDetail.getDeptCode()); } - dto1.setDebit(String.valueOf(voucherDetail.getAmount())); dto2.setCredit(String.valueOf(voucherDetail.getAmount())); - resultDetails.add(dto1); resultDetails.add(dto2); } else if (payCostTitleValue.equals("资方退还垫款")) { + check = 1; Voucher.VoucherResultDetailDto dto1 = new Voucher.VoucherResultDetailDto(); //借方 Voucher.VoucherResultDetailDto dto2 = new Voucher.VoucherResultDetailDto(); //贷方 dto1.setSummary("收中车经销商垫款退回"); @@ -529,10 +516,43 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { } } - newVoucher.setResultDetails(resultDetails); + if (check == 0) { + if (!setString.isEmpty()) { + for (String s : setString) { + if (s.equals("月还")) { + remarks1 = "月还"; + } else if (s.equals("累欠")) { + remarks2 = "累欠"; + } else if (s.equals("逾期利息")) { + remarks3 = "逾期利息"; + } + } + } + if (StringUtils.isNotBlank(remarks1)) { + sb.append(remarks1).append("、"); + } + if (StringUtils.isNotBlank(remarks2)) { + sb.append(remarks2).append("、"); + } + if (StringUtils.isNotBlank(remarks3)) { + sb.append(remarks3).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.setDebit(String.valueOf(amountAll)); + resultDetails.add(0, dto1); + newVoucher.setResultDetails(resultDetails); + } } log.info("FinKingDeeFeignRest-saveVoucher:{}", JSONObject.toJSONString(newVoucher)); - return voucherService.saveVoucher(newVoucher); + return voucherService.saveVoucher(newVoucher); } /** @@ -642,7 +662,7 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign { newVoucher.setResultDetails(resultDetails); } log.info("FinKingDeeFeignRest-saveVoucher:{}", JSONObject.toJSONString(newVoucher)); - return voucherService.saveVoucher(newVoucher); + return voucherService.saveVoucher(newVoucher); } /**