From f9e7477765a16184443baa6e8ec7f359b2cc5252 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Sun, 7 Jan 2018 21:18:19 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=99=E8=B4=A6=E6=88=B7=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0'=E4=BD=99=E9=A2=9D'?= =?UTF-8?q?=E7=9A=84=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsh/action/basic/AccountAction.java | 79 ++++++++++++------- src/main/webapp/pages/manage/account.jsp | 13 +-- .../webapp/pages/reports/account_report.jsp | 15 ++-- 3 files changed, 69 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/jsh/action/basic/AccountAction.java b/src/main/java/com/jsh/action/basic/AccountAction.java index b820dda16..b7d738892 100644 --- a/src/main/java/com/jsh/action/basic/AccountAction.java +++ b/src/main/java/com/jsh/action/basic/AccountAction.java @@ -339,14 +339,14 @@ public class AccountAction extends BaseAction item.put("name", account.getName()); item.put("serialNo", account.getSerialNo()); item.put("initialAmount", account.getInitialAmount()); - String monthTime = Tools.getCurrentMonth(); - Double thisMonthAmount = getAccountSum(account.getId(), monthTime) + getAccountSumByHead(account.getId(), monthTime) +getAccountSumByDetail(account.getId(), monthTime) + getManyAccountSum(account.getId(), monthTime); + String timeStr = Tools.getCurrentMonth(); + Double thisMonthAmount = getAccountSum(account.getId(), timeStr, "month") + getAccountSumByHead(account.getId(), timeStr, "month") +getAccountSumByDetail(account.getId(), timeStr, "month") + getManyAccountSum(account.getId(), timeStr, "month"); String thisMonthAmountFmt = "0"; if(thisMonthAmount!=0){ thisMonthAmountFmt = df.format(thisMonthAmount); } item.put("thisMonthAmount", thisMonthAmountFmt); //本月发生额 - Double currentAmount = getAccountSum(account.getId(),"") + getAccountSumByHead(account.getId(), "") + getAccountSumByDetail(account.getId(), "") + getManyAccountSum(account.getId(), "") + account.getInitialAmount(); + Double currentAmount = getAccountSum(account.getId(),"", "month") + getAccountSumByHead(account.getId(), "", "month") + getAccountSumByDetail(account.getId(), "", "month") + getManyAccountSum(account.getId(), "", "month") + account.getInitialAmount(); String currentAmountFmt=df.format(currentAmount); item.put("currentAmount", currentAmountFmt); //当前余额 item.put("isDefault", account.getIsDefault()); //是否默认 @@ -373,13 +373,13 @@ public class AccountAction extends BaseAction * @param id * @return */ - public Double getAccountSum(Long id,String monthTime){ + public Double getAccountSum(Long id,String timeStr,String type){ Double accountSum = 0.0; try{ PageUtil pageUtil = new PageUtil(); pageUtil.setPageSize(0); pageUtil.setCurPage(0); - pageUtil.setAdvSearch(getCondition_getSum(id,monthTime)); + pageUtil.setAdvSearch(getCondition_getSum(id,timeStr,type)); depotHeadService.find(pageUtil); List dataList = pageUtil.getPageList(); if(dataList!= null){ @@ -399,13 +399,13 @@ public class AccountAction extends BaseAction * @param id * @return */ - public Double getAccountSumByHead(Long id,String monthTime){ + public Double getAccountSumByHead(Long id,String timeStr,String type){ Double accountSum = 0.0; try{ PageUtil pageUtil = new PageUtil(); pageUtil.setPageSize(0); pageUtil.setCurPage(0); - pageUtil.setAdvSearch(getCondition_getSumByHead(id, monthTime)); + pageUtil.setAdvSearch(getCondition_getSumByHead(id, timeStr, type)); accountHeadService.find(pageUtil); List dataList = pageUtil.getPageList(); if(dataList!= null){ @@ -425,13 +425,13 @@ public class AccountAction extends BaseAction * @param id * @return */ - public Double getAccountSumByDetail(Long id,String monthTime){ + public Double getAccountSumByDetail(Long id,String timeStr, String type){ Double accountSum = 0.0; try{ PageUtil pageUtil = new PageUtil(); pageUtil.setPageSize(0); pageUtil.setCurPage(0); - pageUtil.setAdvSearch(getCondition_getSumByHead(monthTime)); + pageUtil.setAdvSearch(getCondition_getSumByHead(timeStr, type)); accountHeadService.find(pageUtil); List dataList = pageUtil.getPageList(); if(dataList!= null){ @@ -468,13 +468,13 @@ public class AccountAction extends BaseAction * @param id * @return */ - public Double getManyAccountSum(Long id,String monthTime){ + public Double getManyAccountSum(Long id,String timeStr, String type){ Double accountSum = 0.0; try{ PageUtil pageUtil = new PageUtil(); pageUtil.setPageSize(0); pageUtil.setCurPage(0); - pageUtil.setAdvSearch(getCondition_getManyAccountSum(id,monthTime)); + pageUtil.setAdvSearch(getCondition_getManyAccountSum(id,timeStr,type)); depotHeadService.find(pageUtil); List dataList = pageUtil.getPageList(); if(dataList!= null){ @@ -547,6 +547,7 @@ public class AccountAction extends BaseAction pageUtil.setPageSize(model.getPageSize()); pageUtil.setCurPage(model.getPageNo()); Long accountId = model.getAccountID(); + Double initialAmount = model.getInitialAmount(); try{ accountService.findAccountInOutList(pageUtil, accountId); List dataList = pageUtil.getPageList(); @@ -563,6 +564,10 @@ public class AccountAction extends BaseAction item.put("type", arr[1]); //类型 item.put("supplierName", arr[2]); //单位信息 item.put("changeAmount", arr[3]); //金额 + String timeStr = arr[4].toString(); + Double balance = getAccountSum(accountId, timeStr, "date") + getAccountSumByHead(accountId, timeStr, "date") + + getAccountSumByDetail(accountId, timeStr, "date") + getManyAccountSum(accountId, timeStr, "date") + initialAmount; + item.put("balance", balance); //余额 item.put("operTime", arr[4]); //入库出库日期 item.put("aList", arr[5]); //多账户的id列表 item.put("amList", arr[6]); //多账户的金额列表 @@ -616,7 +621,7 @@ public class AccountAction extends BaseAction * 拼接搜索条件 * @return */ - private Map getCondition_getSum(Long id,String monthTime) + private Map getCondition_getSum(Long id,String timeStr,String type) { /** * 拼接搜索条件 @@ -624,9 +629,14 @@ public class AccountAction extends BaseAction Map condition = new HashMap(); condition.put("AccountId_n_eq", id); condition.put("PayType_s_neq", "预付款"); - if(!monthTime.equals("")){ - condition.put("OperTime_s_gteq", monthTime + "-01 00:00:00"); - condition.put("OperTime_s_lteq", monthTime + "-31 00:00:00"); + if(!timeStr.equals("")){ + if(type.equals("month")){ + condition.put("OperTime_s_gteq", timeStr + "-01 00:00:00"); + condition.put("OperTime_s_lteq", timeStr + "-31 00:00:00"); + } + else if(type.equals("date")){ + condition.put("OperTime_s_lteq", timeStr); + } } return condition; } @@ -635,16 +645,21 @@ public class AccountAction extends BaseAction * 拼接搜索条件 * @return */ - private Map getCondition_getManyAccountSum(Long id,String monthTime) + private Map getCondition_getManyAccountSum(Long id,String timeStr,String type) { /** * 拼接搜索条件 */ Map condition = new HashMap(); condition.put("AccountIdList_s_like", "\"" + id.toString() + "\""); - if(!monthTime.equals("")){ - condition.put("OperTime_s_gteq", monthTime + "-01 00:00:00"); - condition.put("OperTime_s_lteq", monthTime + "-31 00:00:00"); + if(!timeStr.equals("")){ + if(type.equals("month")){ + condition.put("OperTime_s_gteq", timeStr + "-01 00:00:00"); + condition.put("OperTime_s_lteq", timeStr + "-31 00:00:00"); + } + else if(type.equals("date")){ + condition.put("OperTime_s_lteq", timeStr); + } } return condition; } @@ -653,16 +668,21 @@ public class AccountAction extends BaseAction * 拼接搜索条件 * @return */ - private Map getCondition_getSumByHead(Long id,String monthTime) + private Map getCondition_getSumByHead(Long id,String timeStr, String type) { /** * 拼接搜索条件 */ Map condition = new HashMap(); condition.put("AccountId_n_eq", id); - if(!monthTime.equals("")){ - condition.put("BillTime_s_gteq", monthTime + "-01 00:00:00"); - condition.put("BillTime_s_lteq", monthTime + "-31 00:00:00"); + if(!timeStr.equals("")){ + if(type.equals("month")) { + condition.put("BillTime_s_gteq", timeStr + "-01 00:00:00"); + condition.put("BillTime_s_lteq", timeStr + "-31 00:00:00"); + } + else if(type.equals("date")) { + condition.put("BillTime_s_lteq", timeStr); + } } return condition; } @@ -671,15 +691,20 @@ public class AccountAction extends BaseAction * 拼接搜索条件 * @return */ - private Map getCondition_getSumByHead(String monthTime) + private Map getCondition_getSumByHead(String timeStr, String type) { /** * 拼接搜索条件 */ Map condition = new HashMap(); - if(!monthTime.equals("")){ - condition.put("BillTime_s_gteq", monthTime + "-01 00:00:00"); - condition.put("BillTime_s_lteq", monthTime + "-31 00:00:00"); + if(!timeStr.equals("")){ + if(type.equals("month")) { + condition.put("BillTime_s_gteq", timeStr + "-01 00:00:00"); + condition.put("BillTime_s_lteq", timeStr + "-31 00:00:00"); + } + else if(type.equals("date")) { + condition.put("BillTime_s_lteq", timeStr); + } } return condition; } diff --git a/src/main/webapp/pages/manage/account.jsp b/src/main/webapp/pages/manage/account.jsp index f286feff1..ad1f5c005 100644 --- a/src/main/webapp/pages/manage/account.jsp +++ b/src/main/webapp/pages/manage/account.jsp @@ -536,11 +536,12 @@ function showAccountInOutList(accountInfo){ var info = accountInfo.split("AaBb"); var accountId = info[0]; + var initialAmount = info[3]; $('#accountDetailListDlg').dialog('open').dialog('setTitle',' 查看账户流水'); $(".window-mask").css({ width: webW ,height: webH}); initAccountDetailData(accountId); - getAccountInOutList(accountId,1,initPageSize); - ininAccountDetailPager(accountId); + getAccountInOutList(accountId,initialAmount,1,initPageSize); + ininAccountDetailPager(accountId,initialAmount); } //初始化表格数据 @@ -584,6 +585,7 @@ } } }, + { title: '余额', field: 'balance',width:80}, { title: '入库出库日期',field: 'operTime',width:180} ]], onLoadError:function() { @@ -594,7 +596,7 @@ } //分页信息处理 - function ininAccountDetailPager(accountId){ + function ininAccountDetailPager(accountId,initialAmount){ try { var opts = $("#accountTableData").datagrid('options'); var pager = $("#accountTableData").datagrid('getPager'); @@ -606,7 +608,7 @@ pageNumber:pageNum, pageSize:pageSize }); - getAccountInOutList(accountId,pageNum,pageSize); + getAccountInOutList(accountId,initialAmount,pageNum,pageSize); } }); } @@ -615,13 +617,14 @@ } } - function getAccountInOutList(accountId,pageNo,pageSize){ + function getAccountInOutList(accountId,initialAmount,pageNo,pageSize){ $.ajax({ type:"get", url: "<%=path %>/account/findAccountInOutList.action", dataType: "json", data: ({ accountID: accountId, + initialAmount:initialAmount, pageNo:pageNo, pageSize:pageSize }), diff --git a/src/main/webapp/pages/reports/account_report.jsp b/src/main/webapp/pages/reports/account_report.jsp index 4584ee9d3..ecd134f4c 100644 --- a/src/main/webapp/pages/reports/account_report.jsp +++ b/src/main/webapp/pages/reports/account_report.jsp @@ -99,7 +99,7 @@ { title: '当前余额', field: 'currentAmount',width:100,align:"center"}, { title: '操作', field: 'op',width:100,align:"center",formatter:function(value,rec) { var str = ''; - var rowInfo = rec.id; + var rowInfo = rec.id + 'AaBb' + rec.name +'AaBb' + rec.serialNo +'AaBb' + rec.initialAmount +'AaBb' + rec.currentAmount; str += ' 流水  '; return str; } @@ -199,11 +199,12 @@ function showAccountInOutList(accountInfo){ var info = accountInfo.split("AaBb"); var accountId = info[0]; + var initialAmount = info[3]; $('#accountDetailListDlg').dialog('open').dialog('setTitle',' 查看账户流水'); $(".window-mask").css({ width: webW ,height: webH}); initAccountDetailData(accountId); - getAccountInOutList(accountId,1,initPageSize); - ininAccountDetailPager(accountId); + getAccountInOutList(accountId,initialAmount,1,initPageSize); + ininAccountDetailPager(accountId,initialAmount); } //初始化表格数据 @@ -247,6 +248,7 @@ } } }, + { title: '余额', field: 'balance',width:80}, { title: '入库出库日期',field: 'operTime',width:180} ]], onLoadError:function() { @@ -257,7 +259,7 @@ } //分页信息处理 - function ininAccountDetailPager(accountId){ + function ininAccountDetailPager(accountId,initialAmount){ try { var opts = $("#accountTableData").datagrid('options'); var pager = $("#accountTableData").datagrid('getPager'); @@ -269,7 +271,7 @@ pageNumber:pageNum, pageSize:pageSize }); - getAccountInOutList(accountId,pageNum,pageSize); + getAccountInOutList(accountId,initialAmount,pageNum,pageSize); } }); } @@ -278,13 +280,14 @@ } } - function getAccountInOutList(accountId,pageNo,pageSize){ + function getAccountInOutList(accountId,initialAmount,pageNo,pageSize){ $.ajax({ type:"get", url: "<%=path %>/account/findAccountInOutList.action", dataType: "json", data: ({ accountID: accountId, + initialAmount: initialAmount, pageNo:pageNo, pageSize:pageSize }),