给账户流水列表增加'余额'的显示

This commit is contained in:
季圣华 2018-01-07 21:18:19 +08:00
parent eef4f1c950
commit f9e7477765
3 changed files with 69 additions and 38 deletions

View File

@ -339,14 +339,14 @@ public class AccountAction extends BaseAction<AccountModel>
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<AccountModel>
* @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<DepotHead> pageUtil = new PageUtil<DepotHead>();
pageUtil.setPageSize(0);
pageUtil.setCurPage(0);
pageUtil.setAdvSearch(getCondition_getSum(id,monthTime));
pageUtil.setAdvSearch(getCondition_getSum(id,timeStr,type));
depotHeadService.find(pageUtil);
List<DepotHead> dataList = pageUtil.getPageList();
if(dataList!= null){
@ -399,13 +399,13 @@ public class AccountAction extends BaseAction<AccountModel>
* @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<AccountHead> pageUtil = new PageUtil<AccountHead>();
pageUtil.setPageSize(0);
pageUtil.setCurPage(0);
pageUtil.setAdvSearch(getCondition_getSumByHead(id, monthTime));
pageUtil.setAdvSearch(getCondition_getSumByHead(id, timeStr, type));
accountHeadService.find(pageUtil);
List<AccountHead> dataList = pageUtil.getPageList();
if(dataList!= null){
@ -425,13 +425,13 @@ public class AccountAction extends BaseAction<AccountModel>
* @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<AccountHead> pageUtil = new PageUtil<AccountHead>();
pageUtil.setPageSize(0);
pageUtil.setCurPage(0);
pageUtil.setAdvSearch(getCondition_getSumByHead(monthTime));
pageUtil.setAdvSearch(getCondition_getSumByHead(timeStr, type));
accountHeadService.find(pageUtil);
List<AccountHead> dataList = pageUtil.getPageList();
if(dataList!= null){
@ -468,13 +468,13 @@ public class AccountAction extends BaseAction<AccountModel>
* @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<DepotHead> pageUtil = new PageUtil<DepotHead>();
pageUtil.setPageSize(0);
pageUtil.setCurPage(0);
pageUtil.setAdvSearch(getCondition_getManyAccountSum(id,monthTime));
pageUtil.setAdvSearch(getCondition_getManyAccountSum(id,timeStr,type));
depotHeadService.find(pageUtil);
List<DepotHead> dataList = pageUtil.getPageList();
if(dataList!= null){
@ -547,6 +547,7 @@ public class AccountAction extends BaseAction<AccountModel>
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<AccountModel>
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<AccountModel>
* 拼接搜索条件
* @return
*/
private Map<String,Object> getCondition_getSum(Long id,String monthTime)
private Map<String,Object> getCondition_getSum(Long id,String timeStr,String type)
{
/**
* 拼接搜索条件
@ -624,9 +629,14 @@ public class AccountAction extends BaseAction<AccountModel>
Map<String,Object> condition = new HashMap<String,Object>();
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<AccountModel>
* 拼接搜索条件
* @return
*/
private Map<String,Object> getCondition_getManyAccountSum(Long id,String monthTime)
private Map<String,Object> getCondition_getManyAccountSum(Long id,String timeStr,String type)
{
/**
* 拼接搜索条件
*/
Map<String,Object> condition = new HashMap<String,Object>();
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<AccountModel>
* 拼接搜索条件
* @return
*/
private Map<String,Object> getCondition_getSumByHead(Long id,String monthTime)
private Map<String,Object> getCondition_getSumByHead(Long id,String timeStr, String type)
{
/**
* 拼接搜索条件
*/
Map<String,Object> condition = new HashMap<String,Object>();
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<AccountModel>
* 拼接搜索条件
* @return
*/
private Map<String,Object> getCondition_getSumByHead(String monthTime)
private Map<String,Object> getCondition_getSumByHead(String timeStr, String type)
{
/**
* 拼接搜索条件
*/
Map<String,Object> condition = new HashMap<String,Object>();
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;
}

View File

@ -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','<img src="<%=path%>/js/easyui-1.3.5/themes/icons/pencil.png"/>&nbsp;查看账户流水');
$(".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
}),

View File

@ -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 += '<img src="<%=path%>/js/easyui-1.3.5/themes/icons/list.png" style="cursor: pointer;" onclick="showAccountInOutList(\'' + rowInfo + '\');"/>&nbsp;<a onclick="showAccountInOutList(\'' + rowInfo + '\');" style="text-decoration:none;color:black;" href="javascript:void(0)">流水</a>&nbsp;&nbsp;';
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','<img src="<%=path%>/js/easyui-1.3.5/themes/icons/pencil.png"/>&nbsp;查看账户流水');
$(".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
}),