Commit b859e63b by wukaiqiang

回款明细返回 查询条件下总条数。

parent b55bc032
......@@ -9,4 +9,6 @@ public interface PaymentDetailsDao {
List<PaymentDetails> loadPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany,PageInfo pageInfo);
Object countPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany,PageInfo pageInfo);
}
......@@ -6,9 +6,12 @@ import javax.persistence.Tuple;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.query.Query;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations;
import com.jiuqi.np.syntax.function.math.Int;
import com.xyst.dinas.statistics.dao.PaymentDetailsDao;
import com.xyst.dinas.statistics.entity.PaymentDetails;
import com.xyst.dinas.statistics.web.Info.PageInfo;
......@@ -170,4 +173,97 @@ public class PaymentDetailsDaoImpl implements PaymentDetailsDao {
}
@Override
public Object countPaymentDetailsByConditions(String startDate, String endDate,
String purchaseSandUnit, String project, String fundType, String regionalCompany, PageInfo pageInfo) {
// TODO Auto-generated method stub
StringBuilder hql = new StringBuilder("select ");
hql.append(" COUNT(*) ");// 备注
hql.append(" FROM ( ");
hql.append(" SELECT\r\n" + " financeRefund.create_Time AS createTime,\r\n"
+ " purchaseSandCompanyon.NAME AS purchaseSandUnit,\r\n"
+ " projectFiled.project_Name AS project,\r\n" + " CASE\r\n"
+ " \r\n" + " WHEN financeRefund.fund_Type = 1 THEN\r\n"
+ " '保证金退费' ELSE '预付款退费' \r\n" + " END AS fundType,\r\n"
+ " '' AS rechargeAmount,\r\n"
+ " financeRefund.actual_Refund_Amount AS actualRefundAmount,\r\n"
+ " financeRefund.refund_Explain AS remark ,\r\n"
+ " financeRefund.regional_Company AS regionalCompanyId,\r\n"
+ " CASE WHEN financeRefund.fund_Type = 1 THEN 'DEPOSIT' ELSE 'ADVANCE' END AS fundType1 \r\n"
+ " FROM\r\n" + " xyst_dinas_finance_refund AS financeRefund\r\n"
+ " LEFT JOIN xyst_dinas_project_purchase_sand_company AS purchaseSandCompanyon ON purchaseSandCompanyon.id = financeRefund.purchase_Sand_Company\r\n"
+ " LEFT JOIN xyst_dinas_project_filed AS projectFiled ON projectFiled.id = financeRefund.project \r\n"
+ "UNION ALL\r\n" + " SELECT\r\n"
+ " artificialRecharge.create_Time AS createTime,\r\n"
+ " purchaseSandCompanyon.NAME AS purchaseSandUnit,\r\n"
+ " projectFiled.project_Name AS project,\r\n" + " CASE\r\n"
+ " \r\n" + " WHEN artificialRecharge.fund_Type = 'DEPOSIT' THEN\r\n"
+ " '保证金充值' ELSE '预付款充值' \r\n" + " END AS fundType,\r\n"
+ " artificialRecharge.recharge_Amount AS rechargeAmount,\r\n"
+ " '' AS actualRefundAmount,\r\n"
+ " artificialRecharge.remark AS remark ,\r\n"
+ " artificialRecharge.regional_Company AS regionalCompanyId,\r\n"
+ " artificialRecharge.fund_Type AS fundType1 \r\n" + " FROM\r\n"
+ " xyst_dinas_finance_artificial_recharge AS artificialRecharge\r\n"
+ " LEFT JOIN xyst_dinas_project_purchase_sand_company AS purchaseSandCompanyon ON purchaseSandCompanyon.id = artificialRecharge.purchase_Sand_Unit\r\n"
+ " LEFT JOIN xyst_dinas_project_filed AS projectFiled ON projectFiled.id = artificialRecharge.project \r\n"
+ "UNION ALL\r\n" + " SELECT\r\n"
+ " expenseAdjust.create_Time AS createTime,\r\n"
+ " purchaseSandCompanyon.NAME AS purchaseSandUnit,\r\n"
+ " projectFiled.project_Name AS project,\r\n" + " CASE\r\n"
+ " \r\n" + " WHEN expenseAdjust.fund_Type = 'DEPOSIT' THEN\r\n"
+ " '保证金费用调整' ELSE '预付款费用调整' \r\n" + " END AS fundType,\r\n"
+ " CASE\r\n" + " \r\n"
+ " WHEN expenseAdjust.expense_Adjust_Amount >= 0 THEN\r\n"
+ " expenseAdjust.expense_Adjust_Amount ELSE 0.00 \r\n"
+ " END AS rechargeAmount,\r\n" + " CASE\r\n" + " \r\n"
+ " WHEN expenseAdjust.expense_Adjust_Amount <= 0 THEN\r\n"
+ " (0.00 - expenseAdjust.expense_Adjust_Amount ) ELSE 0.00 \r\n"
+ " END AS actualRefundAmount,\r\n" + " expenseAdjust.remark AS remark,\r\n"
+ " expenseAdjust.regional_Company AS regionalCompanyId,\r\n"
+ " expenseAdjust.fund_Type AS fundType1 \r\n" + " FROM\r\n"
+ " xyst_dinas_finance_expense_adjust AS expenseAdjust\r\n"
+ " LEFT JOIN xyst_dinas_project_purchase_sand_company AS purchaseSandCompanyon ON purchaseSandCompanyon.id = expenseAdjust.purchase_Sand_Unit\r\n"
+ " LEFT JOIN xyst_dinas_project_filed AS projectFiled ON projectFiled.id = expenseAdjust.project \r\n"
+ " \r\n" + " ) AS result ");
hql.append(" WHERE 1=1 ");
if (regionalCompany != null && !(regionalCompany.isEmpty()))
hql.append(" and result.regionalCompanyId = :regionalCompany ");
if (startDate != null && !(startDate.isEmpty()))
hql.append(" and result.createTime >= :startDate ");
if (endDate != null && !(endDate.isEmpty()))
hql.append(" and result.createTime <= :endDate ");
if (purchaseSandUnit != null && !(purchaseSandUnit.isEmpty())) {
hql.append(" and result.purchaseSandUnit like ").append(" :purchaseSandUnitId ");
}
if (project != null && !(project.isEmpty()))
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 ");
List<Tuple> l = template.execute(new HibernateCallback<List<Tuple>>() {
@Override
public List<Tuple> doInHibernate(Session session) throws HibernateException {
Query<Tuple> query = session.createNativeQuery(hql.toString(), Tuple.class);
if (startDate != null && !(startDate.isEmpty()))
query.setParameter("startDate", startDate);
if (endDate != null && !(endDate.isEmpty()))
query.setParameter("endDate", endDate);
if (purchaseSandUnit != null && !(purchaseSandUnit.isEmpty()))
query.setParameter("purchaseSandUnitId", "%" + purchaseSandUnit + "%");
if (project != null && !(project.isEmpty()))
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();
return resultList;
}
});
JSONObject paymentDetailsNum = new JSONObject();
paymentDetailsNum.put("paymentDetailsNum", l.get(0).get(0));
return paymentDetailsNum;
}
}
......@@ -20,5 +20,11 @@ public class PaymentDetailsServiceImpl implements PaymentDetailsService {
return paymentDetailsDao.loadPaymentDetailsByConditions(startDate,endDate, purchaseSandUnit,
project, fundType, regionalCompany,pageInfo);
}
@Override
public Object countPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType, String regionalCompany, PageInfo pageInfo) {
// TODO Auto-generated method stub
return paymentDetailsDao.countPaymentDetailsByConditions(startDate, endDate, purchaseSandUnit, project, fundType, regionalCompany, pageInfo);
}
}
......@@ -10,5 +10,6 @@ public interface PaymentDetailsService {
List<PaymentDetails> queryPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany,PageInfo pageInfo);
Object countPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany,PageInfo pageInfo);
}
package com.xyst.dinas.statistics.web;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
......@@ -25,8 +28,15 @@ public class PaymentDetailsController {
paymentDetailsList.getStartDate(), paymentDetailsList.getEndDate(),
paymentDetailsList.getPurchaseSandUnit(), paymentDetailsList.getProject(),
paymentDetailsList.getFundType(), paymentDetailsList.getRegionalCompany(),paymentDetailsList.getPageInfo());
Object paymentDetailsNum = paymentDetailsService.countPaymentDetailsByConditions(
paymentDetailsList.getStartDate(), paymentDetailsList.getEndDate(),
paymentDetailsList.getPurchaseSandUnit(), paymentDetailsList.getProject(),
paymentDetailsList.getFundType(), paymentDetailsList.getRegionalCompany(),paymentDetailsList.getPageInfo());
return ResponseObj.success("查询回款明细成功", PaymentDetails);
Map<String, Object> PaymentDetailsMap =new HashMap<String, Object>();
PaymentDetailsMap.put("PaymentDetails", PaymentDetails);
PaymentDetailsMap.put("paymentDetailsNum", paymentDetailsNum.toString());
return ResponseObj.success("查询回款明细成功", PaymentDetailsMap);
} catch (RuntimeException e) {
// TODO: handle exception
return ResponseObj.error("查询回款明细操作后台失败!详情请查看日志", e.getMessage());
......
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