Commit a55690ad by wukaiqiang

回款明细增加分页功能,不影响导出功能

parent 22cd7d78
package com.xyst.dinas.statistics.dao;
import java.util.Date;
import java.util.List;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.statistics.entity.PaymentDetails;
import com.xyst.dinas.statistics.web.Info.PageInfo;
public interface PaymentDetailsDao {
List<PaymentDetails> loadPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany);
String project, String fundType,String regionalCompany,PageInfo pageInfo);
}
......@@ -11,6 +11,7 @@ import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations;
import com.xyst.dinas.statistics.dao.PaymentDetailsDao;
import com.xyst.dinas.statistics.entity.PaymentDetails;
import com.xyst.dinas.statistics.web.Info.PageInfo;
public class PaymentDetailsDaoImpl implements PaymentDetailsDao {
@Autowired
......@@ -18,7 +19,7 @@ public class PaymentDetailsDaoImpl implements PaymentDetailsDao {
@Override
public List<PaymentDetails> loadPaymentDetailsByConditions(String startDate, String endDate,
String purchaseSandUnit, String project, String fundType, String regionalCompany) {
String purchaseSandUnit, String project, String fundType, String regionalCompany, PageInfo pageInfo) {
// TODO Auto-generated method stub
StringBuilder hql = new StringBuilder("select ");
hql.append(" DATE_FORMAT( result.createTime , '%Y年%m月%d日' ) AS createTime , ");// 创建时间
......@@ -83,10 +84,10 @@ public class PaymentDetailsDaoImpl implements PaymentDetailsDao {
if (endDate != null && !(endDate.isEmpty()))
hql.append(" and result.createTime <= :endDate ");
if (purchaseSandUnit != null && !(purchaseSandUnit.isEmpty())) {
hql.append(" and result.purchaseSandUnit like ").append( " :purchaseSandUnitId " );
hql.append(" and result.purchaseSandUnit like ").append(" :purchaseSandUnitId ");
}
if (project != null && !(project.isEmpty()))
hql.append(" and result.project like ").append( " :project " );
hql.append(" and result.project like ").append(" :project ");
if (fundType != null && !(fundType.isEmpty()))
hql.append(" and result.fundType1 = :fundType ");
hql.append(" ORDER BY result.createTime DESC ");
......@@ -99,14 +100,28 @@ public class PaymentDetailsDaoImpl implements PaymentDetailsDao {
if (endDate != null && !(endDate.isEmpty()))
query.setParameter("endDate", endDate);
if (purchaseSandUnit != null && !(purchaseSandUnit.isEmpty()))
query.setParameter("purchaseSandUnitId", "%"+purchaseSandUnit+"%");
query.setParameter("purchaseSandUnitId", "%" + purchaseSandUnit + "%");
if (project != null && !(project.isEmpty()))
query.setParameter("project", "%"+project+"%");
query.setParameter("project", "%" + project + "%");
if (fundType != null && !(fundType.isEmpty()))
query.setParameter("fundType", fundType);
if (regionalCompany != null && !(regionalCompany.isEmpty()))
query.setParameter("regionalCompany", regionalCompany);
List<Tuple> resultList = query.getResultList();
List<Tuple> resultList;
if (pageInfo != null) { // 分页
// 当前端没有传 currentPage pageSize 值为0
// 当前页最小值为1 ;每页长度最小值为1;不满足条件就默认
if (pageInfo.getCurrentPage() < 1 || pageInfo.getPageSize() < 1) {
pageInfo.setPageSize(20); // 默认每页20条
pageInfo.setCurrentPage(1); // 当前页为1
}
resultList = query.setFirstResult((pageInfo.getCurrentPage() - 1) * pageInfo.getPageSize())
.setMaxResults(pageInfo.getPageSize()).getResultList();
} else { // 不分页
resultList = query.getResultList();
}
// List<Tuple> resultList = query.getResultList();
if (resultList.isEmpty())
return null;
List<PaymentDetails> list = new ArrayList<PaymentDetails>();
......
......@@ -28,6 +28,7 @@ import com.xyst.dinas.statistics.entity.PaymentDetails;
import com.xyst.dinas.statistics.entity.SalesSummary;
import com.xyst.dinas.statistics.service.DownLoadStatisticsService;
import com.xyst.dinas.statistics.web.Info.ConditionsDetailsInfo;
import com.xyst.dinas.statistics.web.Info.PageInfo;
public class DownLoadStatisticsServiceImpl implements DownLoadStatisticsService {
@Autowired
......@@ -58,7 +59,7 @@ public class DownLoadStatisticsServiceImpl implements DownLoadStatisticsService
downLoadPaymentDetailsTable(response, request, conditionsDetailsInfo.getStartDate(),
conditionsDetailsInfo.getEndDate(), conditionsDetailsInfo.getPurchaseSandUnit(),
conditionsDetailsInfo.getProject(), conditionsDetailsInfo.getFundType(),
conditionsDetailsInfo.getRegionalCompany());
conditionsDetailsInfo.getRegionalCompany(),conditionsDetailsInfo.getPageInfo());
} else if (conditionsDetailsInfo.getFileType().equals("salessummary")) {
downLoadSalesSummaryTable(response, request, conditionsDetailsInfo.getDealYear(),
conditionsDetailsInfo.getStationList());
......@@ -86,7 +87,7 @@ public class DownLoadStatisticsServiceImpl implements DownLoadStatisticsService
* @throws IOException
*/
public void downLoadPaymentDetailsTable(HttpServletResponse response, HttpServletRequest request, String startDate,
String endDate, String purchaseSandUnit, String project, String fundType, String paymentDetailsList)
String endDate, String purchaseSandUnit, String project, String fundType, String paymentDetailsList,PageInfo pageInfo)
throws IOException {
String fileName = new String("回款明细表".getBytes("gb2312"), "ISO8859-1") + ".xlsx";
//String fileName = URLEncoder.encode("回款明细表", "utf-8");
......@@ -109,7 +110,7 @@ public class DownLoadStatisticsServiceImpl implements DownLoadStatisticsService
textBorderStyle.setBorderRight(BorderStyle.THIN);
List<PaymentDetails> readyData = paymentDetailsDao.loadPaymentDetailsByConditions(startDate, endDate,
purchaseSandUnit, project, fundType, paymentDetailsList);
purchaseSandUnit, project, fundType, paymentDetailsList,pageInfo);
Integer r = 0;
while (r < readyData.size()) {
PaymentDetails paymentDetail = readyData.get(r);
......
......@@ -8,16 +8,17 @@ import org.springframework.beans.factory.annotation.Autowired;
import com.xyst.dinas.statistics.dao.PaymentDetailsDao;
import com.xyst.dinas.statistics.entity.PaymentDetails;
import com.xyst.dinas.statistics.service.PaymentDetailsService;
import com.xyst.dinas.statistics.web.Info.PageInfo;
public class PaymentDetailsServiceImpl implements PaymentDetailsService {
@Autowired
PaymentDetailsDao paymentDetailsDao;
@Override
public List<PaymentDetails> queryPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany) {
String project, String fundType,String regionalCompany,PageInfo pageInfo) {
// TODO Auto-generated method stub
return paymentDetailsDao.loadPaymentDetailsByConditions(startDate,endDate, purchaseSandUnit,
project, fundType, regionalCompany);
project, fundType, regionalCompany,pageInfo);
}
}
......@@ -4,10 +4,11 @@ import java.util.Date;
import java.util.List;
import com.xyst.dinas.statistics.entity.PaymentDetails;
import com.xyst.dinas.statistics.web.Info.PageInfo;
public interface PaymentDetailsService {
List<PaymentDetails> queryPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany);
String project, String fundType,String regionalCompany,PageInfo pageInfo);
}
......@@ -45,6 +45,7 @@ public class DownLoadStatisticsController {
conditionsDetailsInfo.setRegionalCompany(obj.isNull("regionalCompany") ? "" : obj.getString("regionalCompany"));
conditionsDetailsInfo.setFileType(obj.getString("fileType"));
conditionsDetailsInfo.setStationList(obj.isNull("stationList") ? "" : obj.getString("stationList"));
conditionsDetailsInfo.setStationList(null);
downLoadStatisticsService.downLoadStatisticsServiceTable(response, request, conditionsDetailsInfo);
} catch (RuntimeException e) {
// TODO: handle exception
......
......@@ -52,6 +52,8 @@ public class ConditionsDetailsInfo {
* @return
*/
private String stationList;
private PageInfo pageInfo;
public String getStartDate() {
return startDate;
}
......@@ -140,4 +142,12 @@ public class ConditionsDetailsInfo {
this.stationList = stationList;
}
public PageInfo getPageInfo() {
return pageInfo;
}
public void setPageInfo(PageInfo pageInfo) {
this.pageInfo = pageInfo;
}
}
package com.xyst.dinas.statistics.web.Info;
import java.util.List;
import java.util.Map;
public class PageInfo {
/**
* 排序的参数 格式 orders: [{name: "createTime", asc: false}]
*/
private List<Map<String,Object>> orders;
/**
* 当前页,默认从第一页开始
*/
private Integer currentPage = 1;
/**
* 分页的大小,默认每页显示数据{20}条数
*/
private Integer pageSize = 20;
public List<Map<String, Object>> getOrders() {
return orders;
}
public void setOrders(List<Map<String, Object>> orders) {
this.orders = orders;
}
public Integer getCurrentPage() {
return currentPage;
}
public void setCurrentPage(Integer currentPage) {
this.currentPage = currentPage;
}
public Integer getPageSize() {
return pageSize;
}
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
}
......@@ -24,7 +24,7 @@ public class PaymentDetailsController {
List<PaymentDetails> PaymentDetails = paymentDetailsService.queryPaymentDetailsByConditions(
paymentDetailsList.getStartDate(), paymentDetailsList.getEndDate(),
paymentDetailsList.getPurchaseSandUnit(), paymentDetailsList.getProject(),
paymentDetailsList.getFundType(), paymentDetailsList.getRegionalCompany());
paymentDetailsList.getFundType(), paymentDetailsList.getRegionalCompany(),paymentDetailsList.getPageInfo());
return ResponseObj.success("查询回款明细成功", PaymentDetails);
} catch (RuntimeException e) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment