|
|
@@ -1,5 +1,6 @@
|
|
|
package com.usoftchina.saas.money.service.impl;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
import com.usoftchina.saas.commons.dto.ListReqDTO;
|
|
|
@@ -9,8 +10,11 @@ import com.usoftchina.saas.money.service.MoneyReportService;
|
|
|
import com.usoftchina.saas.page.PageRequest;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* @author heqw
|
|
|
@@ -32,36 +36,36 @@ public class MoneyReportServiceImpl implements MoneyReportService {
|
|
|
private AccountDetailsViewMapper accountDetailsViewMapper;
|
|
|
|
|
|
@Override
|
|
|
- public PageInfo vendorCheck(PageRequest page, ListReqDTO req) {
|
|
|
+ public Map<String, Object> vendorCheck(PageRequest page, ListReqDTO req) {
|
|
|
return getListDATA(page, req, "Supplier");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PageInfo payDetail(PageRequest page, ListReqDTO req) {
|
|
|
+ public Map<String, Object> payDetail(PageRequest page, ListReqDTO req) {
|
|
|
return getListDATA(page, req, "payDetail");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PageInfo recDetail(PageRequest page, ListReqDTO req) {
|
|
|
+ public Map<String, Object> recDetail(PageRequest page, ListReqDTO req) {
|
|
|
return getListDATA(page, req, "recDetail");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PageInfo acountBalance(PageRequest page, ListReqDTO req) {
|
|
|
+ public Map<String, Object> acountBalance(PageRequest page, ListReqDTO req) {
|
|
|
return getListDATA(page, req, "acountBalance");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PageInfo customercheck(PageRequest page, ListReqDTO req) {
|
|
|
+ public Map<String, Object> customercheck(PageRequest page, ListReqDTO req) {
|
|
|
return getListDATA(page, req, "customercheck");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PageInfo accountdetails(PageRequest page, ListReqDTO req) {
|
|
|
+ public Map<String, Object> accountdetails(PageRequest page, ListReqDTO req) {
|
|
|
return getListDATA(page, req, "accountdetails");
|
|
|
}
|
|
|
|
|
|
- private PageInfo getListDATA(PageRequest page, ListReqDTO req, String type) {
|
|
|
+ private Map<String, Object> getListDATA(PageRequest page, ListReqDTO req, String type) {
|
|
|
//设置默认分页
|
|
|
if (null == page || page.getSize() == 0 || page.getNumber() == 0) {
|
|
|
page = new PageRequest();
|
|
|
@@ -70,34 +74,65 @@ public class MoneyReportServiceImpl implements MoneyReportService {
|
|
|
}
|
|
|
PageHelper.startPage(page.getNumber(), page.getSize());
|
|
|
|
|
|
-
|
|
|
//查询数据
|
|
|
- List list = getListByType(req, type);
|
|
|
+ Map<String, Object> map = getListByType(req, type);
|
|
|
//取分页信息
|
|
|
- PageInfo lists = new PageInfo(list);
|
|
|
- return lists;
|
|
|
+ PageInfo lists = new PageInfo((List) map.get("list"));
|
|
|
+ map.remove("list");
|
|
|
+ map.put("list", lists);
|
|
|
+ return map;
|
|
|
}
|
|
|
|
|
|
- private List getListByType(ListReqDTO req, String type) {
|
|
|
+ private Map<String, Object> getListByType(ListReqDTO req, String type) {
|
|
|
List list = null;
|
|
|
Long companyId = BaseContextHolder.getCompanyId();
|
|
|
String con = req.getFinalCondition();
|
|
|
+ String calculateFieldsSql = req.getCalculateFieldsSql();
|
|
|
+ JSONArray arr = null;
|
|
|
if (null == con) {
|
|
|
con = "1=1";
|
|
|
}
|
|
|
+
|
|
|
+ String res = null;
|
|
|
if ("Supplier".equals(type)) {
|
|
|
list = vendorAcountViewMapper.selectByCondition(con, companyId);
|
|
|
+ if (!StringUtils.isEmpty(calculateFieldsSql)) {
|
|
|
+ res = vendorAcountViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
|
|
|
+ }
|
|
|
} else if("payDetail".equals(type)){
|
|
|
list = paydetailViewMapper.selectByCondition(con, companyId);
|
|
|
+ if (!StringUtils.isEmpty(calculateFieldsSql)) {
|
|
|
+ res = paydetailViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
|
|
|
+ }
|
|
|
}else if("recDetail".equals(type)){
|
|
|
list = recdetailViewMapper.selectByCondition(con, companyId);
|
|
|
+ if (!StringUtils.isEmpty(calculateFieldsSql)) {
|
|
|
+ res = recdetailViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
|
|
|
+ }
|
|
|
}else if ("acountBalance".equals(type)){
|
|
|
list = acountbalanceViewMapper.selectByCondition(con, companyId);
|
|
|
+ if (!StringUtils.isEmpty(calculateFieldsSql)) {
|
|
|
+ res = acountbalanceViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
|
|
|
+ }
|
|
|
}else if ("customercheck".equals(type)){
|
|
|
list = customerCheckViewMapper.selectByCondition(con, companyId);
|
|
|
+ if (!StringUtils.isEmpty(calculateFieldsSql)) {
|
|
|
+ res = customerCheckViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
|
|
|
+ }
|
|
|
}else if ("accountdetails".equals(type)){
|
|
|
list = accountDetailsViewMapper.selectByCondition(con, companyId);
|
|
|
+ if (!StringUtils.isEmpty(calculateFieldsSql)) {
|
|
|
+ res = accountDetailsViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ arr = JSONArray.parseArray(res);
|
|
|
+ } catch (Exception e) {
|
|
|
}
|
|
|
- return list;
|
|
|
+ Map<String, Object> map = new HashMap<String, Object>();
|
|
|
+ map.put("list", list);
|
|
|
+ map.put("calculate", arr);
|
|
|
+ return map;
|
|
|
}
|
|
|
}
|