From b4d97b7fb0f2e42c8aa5fdb90d5762a43bbb06b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Tue, 17 Oct 2023 23:49:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=8E=B7=E5=8F=96=E5=B8=A6?= =?UTF-8?q?=E4=BD=99=E9=A2=9D=E7=9A=84=E8=B4=A6=E6=88=B7=E7=9A=84=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsh/erp/controller/AccountController.java | 29 +++++++ .../erp/service/account/AccountService.java | 83 ++++++++++++++----- 2 files changed, 89 insertions(+), 23 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/AccountController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/AccountController.java index ae20fc5a..a80ca2dc 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/AccountController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/AccountController.java @@ -165,6 +165,35 @@ public class AccountController { } } + /** + * 获取带余额的报表 + * @param request + * @return + */ + @GetMapping(value = "/listWithBalance") + @ApiOperation(value = "获取带余额的报表") + public BaseResponseInfo listWithBalance(@RequestParam("name") String name, + @RequestParam("serialNo") String serialNo, + @RequestParam("currentPage") Integer currentPage, + @RequestParam("pageSize") Integer pageSize, + HttpServletRequest request) throws Exception { + BaseResponseInfo res = new BaseResponseInfo(); + try { + Map map = new HashMap<>(); + List list = accountService.listWithBalance(name, serialNo, (currentPage-1)*pageSize, pageSize); + Long count = accountService.listWithBalanceCount(name, serialNo); + map.put("rows", list); + map.put("total", count); + res.code = 200; + res.data = map; + } catch(Exception e){ + e.printStackTrace(); + res.code = 500; + res.data = "获取数据失败"; + } + return res; + } + /** * 结算账户的统计 * @param request diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/account/AccountService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/account/AccountService.java index 32ddb22a..2e555684 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/account/AccountService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/account/AccountService.java @@ -100,38 +100,37 @@ public class AccountService { } public List select(String name, String serialNo, String remark, int offset, int rows) throws Exception{ - List resList = new ArrayList(); - List list=null; + List resList = new ArrayList<>(); try{ - list = accountMapperEx.selectByConditionAccount(name, serialNo, remark, offset, rows); - }catch(Exception e){ - JshException.readFail(logger, e); - } - String timeStr = Tools.getCurrentMonth(); - Boolean forceFlag = systemConfigService.getForceApprovalFlag(); - if (null != list && null !=timeStr) { - for (AccountVo4List al : list) { - DecimalFormat df = new DecimalFormat(".##"); - BigDecimal thisMonthAmount = getAccountSum(al.getId(), timeStr, "month", forceFlag).add(getAccountSumByHead(al.getId(), timeStr, "month", forceFlag)) - .add(getAccountSumByDetail(al.getId(), timeStr, "month", forceFlag)).add(getManyAccountSum(al.getId(), timeStr, "month", forceFlag)); - String thisMonthAmountFmt = "0"; - if ((thisMonthAmount.compareTo(BigDecimal.ZERO))!=0) { - thisMonthAmountFmt = df.format(thisMonthAmount); + List list = accountMapperEx.selectByConditionAccount(name, serialNo, remark, offset, rows); + String timeStr = Tools.getCurrentMonth(); + Boolean forceFlag = systemConfigService.getForceApprovalFlag(); + if (null != list) { + for (AccountVo4List al : list) { + DecimalFormat df = new DecimalFormat(".##"); + BigDecimal thisMonthAmount = getAccountSum(al.getId(), timeStr, "month", forceFlag).add(getAccountSumByHead(al.getId(), timeStr, "month", forceFlag)) + .add(getAccountSumByDetail(al.getId(), timeStr, "month", forceFlag)).add(getManyAccountSum(al.getId(), timeStr, "month", forceFlag)); + String thisMonthAmountFmt = "0"; + if ((thisMonthAmount.compareTo(BigDecimal.ZERO))!=0) { + thisMonthAmountFmt = df.format(thisMonthAmount); + } + al.setThisMonthAmount(thisMonthAmountFmt); //本月发生额 + BigDecimal currentAmount = getAccountSum(al.getId(), "", "month", forceFlag).add(getAccountSumByHead(al.getId(), "", "month", forceFlag)) + .add(getAccountSumByDetail(al.getId(), "", "month", forceFlag)).add(getManyAccountSum(al.getId(), "", "month", forceFlag)) .add(al.getInitialAmount()) ; + al.setCurrentAmount(currentAmount); + resList.add(al); } - al.setThisMonthAmount(thisMonthAmountFmt); //本月发生额 - BigDecimal currentAmount = getAccountSum(al.getId(), "", "month", forceFlag).add(getAccountSumByHead(al.getId(), "", "month", forceFlag)) - .add(getAccountSumByDetail(al.getId(), "", "month", forceFlag)).add(getManyAccountSum(al.getId(), "", "month", forceFlag)) .add(al.getInitialAmount()) ; - al.setCurrentAmount(currentAmount); - resList.add(al); } + } catch(Exception e){ + JshException.readFail(logger, e); } return resList; } public Long countAccount(String name, String serialNo, String remark)throws Exception { - Long result=null; + Long result = null; try{ - result=accountMapperEx.countsByAccount(name, serialNo, remark); + result = accountMapperEx.countsByAccount(name, serialNo, remark); }catch(Exception e){ JshException.readFail(logger, e); } @@ -563,6 +562,44 @@ public class AccountService { return sb.toString(); } + public List listWithBalance(String name, String serialNo, Integer offset, Integer rows) throws Exception { + List resList = new ArrayList<>(); + try{ + List list = accountMapperEx.selectByConditionAccount(name, serialNo, null, offset, rows); + String timeStr = Tools.getCurrentMonth(); + Boolean forceFlag = systemConfigService.getForceApprovalFlag(); + if (null != list) { + for (AccountVo4List al : list) { + DecimalFormat df = new DecimalFormat(".##"); + BigDecimal thisMonthAmount = getAccountSum(al.getId(), timeStr, "month", forceFlag).add(getAccountSumByHead(al.getId(), timeStr, "month", forceFlag)) + .add(getAccountSumByDetail(al.getId(), timeStr, "month", forceFlag)).add(getManyAccountSum(al.getId(), timeStr, "month", forceFlag)); + String thisMonthAmountFmt = "0"; + if ((thisMonthAmount.compareTo(BigDecimal.ZERO))!=0) { + thisMonthAmountFmt = df.format(thisMonthAmount); + } + al.setThisMonthAmount(thisMonthAmountFmt); //本月发生额 + BigDecimal currentAmount = getAccountSum(al.getId(), "", "month", forceFlag).add(getAccountSumByHead(al.getId(), "", "month", forceFlag)) + .add(getAccountSumByDetail(al.getId(), "", "month", forceFlag)).add(getManyAccountSum(al.getId(), "", "month", forceFlag)) .add(al.getInitialAmount()) ; + al.setCurrentAmount(currentAmount); + resList.add(al); + } + } + } catch(Exception e){ + JshException.readFail(logger, e); + } + return resList; + } + + public Long listWithBalanceCount(String name, String serialNo) { + Long result = null; + try{ + result = accountMapperEx.countsByAccount(name, serialNo, null); + } catch(Exception e){ + JshException.readFail(logger, e); + } + return result; + } + public Map getStatistics(String name, String serialNo) { Map map = new HashMap<>(); try {