Commit 5a37b463 by wukaiqiang

author:wukq

1)修改给统计查询为接口方案;
2)新增四张导出功能;
3)呆前端开发完后进行测试
parent 631bd763
......@@ -31,53 +31,117 @@ import com.xyst.dinas.sales.web.NeedPlanController;
import com.xyst.dinas.sales.web.SalesPlanController;
import com.xyst.dinas.sales.web.SalesRecordController;
import com.xyst.dinas.statistics.dao.AdvancePaymentBalanceSumDao;
import com.xyst.dinas.statistics.dao.OperationsReportsDao;
import com.xyst.dinas.statistics.dao.PaymentDetailsDao;
import com.xyst.dinas.statistics.dao.SalesSummaryDao;
import com.xyst.dinas.statistics.internal.dao.AdvancePaymentBalanceSumDaoImpl;
import com.xyst.dinas.statistics.internal.dao.OperationsReportsDaoImpl;
import com.xyst.dinas.statistics.internal.dao.PaymentDetailsDaoImpl;
import com.xyst.dinas.statistics.internal.dao.SalesSummaryDaoImpl;
import com.xyst.dinas.statistics.internal.service.AdvancePaymentBalanceSumServiceImpl;
import com.xyst.dinas.statistics.internal.service.DownLoadStatisticsServiceImpl;
import com.xyst.dinas.statistics.internal.service.OperationsReportsServiceImpl;
import com.xyst.dinas.statistics.internal.service.PaymentDetailsServiceImpl;
import com.xyst.dinas.statistics.internal.service.SalesSummaryServiceImpl;
import com.xyst.dinas.statistics.scheduler.AdvancePaymentBalanceSumSchedulerTaskRegister;
import com.xyst.dinas.statistics.scheduler.SalesSummarySchedulerTaskRegister;
import com.xyst.dinas.statistics.service.AdvancePaymentBalanceSumService;
import com.xyst.dinas.statistics.service.DownLoadStatisticsService;
import com.xyst.dinas.statistics.service.OperationsReportsService;
import com.xyst.dinas.statistics.service.PaymentDetailsService;
import com.xyst.dinas.statistics.service.SalesSummaryService;
import com.xyst.dinas.statistics.web.AdvancePaymentBalanceSumController;
import com.xyst.dinas.statistics.web.DownLoadStatisticsController;
import com.xyst.dinas.statistics.web.OperationsReportsController;
import com.xyst.dinas.statistics.web.PaymentDetailsController;
import com.xyst.dinas.statistics.web.SalesSummaryController;
public class StatisticsConfiguration {
/**
* Dao层注册
* @return
*/
@Bean
public SalesSummaryDao salesSummaryDaoImpl() {
return new SalesSummaryDaoImpl();
}
@Bean
public AdvancePaymentBalanceSumDao advancePaymentBalanceSumDaoImpl() {
return new AdvancePaymentBalanceSumDaoImpl();
}
@Bean
public PaymentDetailsDao paymentDetailsDaoImpl() {
return new PaymentDetailsDaoImpl();
}
@Bean
public OperationsReportsDao operationsReportsDaoImpl() {
return new OperationsReportsDaoImpl();
}
/**
* Service层注册
* @return
*/
@Bean
public SalesSummaryService salesSummaryServiceImpl() {
return new SalesSummaryServiceImpl();
}
@Bean
public SalesSummaryDao salesSummaryDaoImpl() {
return new SalesSummaryDaoImpl();
public OperationsReportsService operationsReportsServiceImpl() {
return new OperationsReportsServiceImpl();
}
@Bean
public PaymentDetailsService paymentDetailsServiceImpl() {
return new PaymentDetailsServiceImpl();
}
@Bean
public AdvancePaymentBalanceSumService advancePaymentBalanceSumServiceImpl() {
return new AdvancePaymentBalanceSumServiceImpl();
}
@Bean
public DownLoadStatisticsService downLoadStatisticsServiceImpl() {
return new DownLoadStatisticsServiceImpl();
}
/**
* Controller层注册
* @return
*/
@Bean
public SalesSummaryController salesSummaryController() {
return new SalesSummaryController();
}
@Bean
public SalesSummarySchedulerTaskRegister salesSummarySchedulerTaskRegister() {
return new SalesSummarySchedulerTaskRegister();
public PaymentDetailsController paymentDetailsController() {
return new PaymentDetailsController();
}
@Bean
public AdvancePaymentBalanceSumService advancePaymentBalanceSumServiceImpl() {
return new AdvancePaymentBalanceSumServiceImpl();
public AdvancePaymentBalanceSumController advancePaymentBalanceSumController() {
return new AdvancePaymentBalanceSumController();
}
@Bean
public OperationsReportsController operationsReportsController() {
return new OperationsReportsController();
}
@Bean
public DownLoadStatisticsController downLoadStatisticsController() {
return new DownLoadStatisticsController();
}
/**
* 调度注册
* @return
*/
@Bean
public AdvancePaymentBalanceSumDao advancePaymentBalanceSumDaoImpl() {
return new AdvancePaymentBalanceSumDaoImpl();
public SalesSummarySchedulerTaskRegister salesSummarySchedulerTaskRegister() {
return new SalesSummarySchedulerTaskRegister();
}
@Bean
public AdvancePaymentBalanceSumSchedulerTaskRegister advancePaymentBalanceSumSchedulerTaskRegister() {
return new AdvancePaymentBalanceSumSchedulerTaskRegister();
}
}
package com.xyst.dinas.statistics.constant;
public interface AdvancePaymentBalanceSumShowConstant {
/**
* 购砂单位
*/
String purchaseSandUnit = "purchaseSandUnit";
/**
* 项目
*/
String project = "project";
/**
* 上年剩余预付款
*/
String lastYearAdvance = "lastYearAdvance";
/**
* 本年销售货款
*/
String paymentSales = "paymentSales";
/**
* 本年预付款总额
*/
String totalAdvancePayment = "totalAdvancePayment";
/**
* 本年累计退费
*/
String refundAmount = "refundAmount";
/**
* 预付款余额
*/
String advanceBalance = "advanceBalance";
/**
* 一月销售额
*/
String janAmount = "janAmount";
/**
* 二月销售额
*/
String febAmount = "febAmount";
/**
* 三月销售额
*/
String marAmount = "marAmount";
/**
* 四月销售额
*/
String aprAmount = "aprAmount";
/**
* 五月销售额
*/
String mayAmount = "mayAmount";
/**
* 六月销售额
*/
String junAmount = "junAmount";
/**
* 七月销售额
*/
String julAmount = "julAmount";
/**
* 八月销售额
*/
String augAmount = "augAmount";
/**
* 九月销售额
*/
String septAmount = "septAmount";
/**
* 十月销售额
*/
String octAmount = "octAmount";
/**
* 十一月销售额
*/
String novAmount = "novAmount";
/**
* 十二月销售额
*/
String decAmount = "decAmount";
}
package com.xyst.dinas.statistics.constant;
/**
* 经营类统计表类型
* @author wukq
*
*/
public enum OperationsReportTypeEunm {
daily("日报", 0),
weekly("周报", 1),
monthly("月报", 2),
quarterly("季度报", 3),
years("年报", 4),
;
String title;
int value;
OperationsReportTypeEunm(String title, int value){
this.title = title;
this.value = value;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
package com.xyst.dinas.statistics.constant;
public interface PaymentDetailsShowConstant {
/**
* 时间-创建时间
*/
String createTime = "createTime";
/**
* 购砂单位
*/
String purchaseSandUnit = "purchaseSandUnit";
/**
* 项目名称
*/
String project = "project";
/**
* 资金类型
*/
String fundType = "fundType";
/**
* 收款金额
*/
String rechargeAmount = "rechargeAmount";
/**
* 退款金额
*/
String actualRefundAmount = "actualRefundAmount";
/**
* 备注
*/
String remark = "remark";
}
package com.xyst.dinas.statistics.constant;
public interface SalesSummaryShowConstant {
/**
* 场站
*/
String station = "station";
/**
* 砂石种类
*/
String dinasType = "dinasType";
/**
* 全年累计销量
*/
String saleDealAmount = "saleDealAmount";
/**
* 全年累计销售额
*/
String saleAmount = "saleAmount";
/**
* 平均单价
*/
String avgAmount = "avgAmount";
/**
* 一月销售额
*/
String janAmount = "janAmount";
/**
* 二月销售额
*/
String febAmount = "febAmount";
/**
* 三月销售额
*/
String marAmount = "marAmount";
/**
* 四月销售额
*/
String aprAmount = "aprAmount";
/**
* 五月销售额
*/
String mayAmount = "mayAmount";
/**
* 六月销售额
*/
String junAmount = "junAmount";
/**
* 七月销售额
*/
String julAmount = "julAmount";
/**
* 八月销售额
*/
String augAmount = "augAmount";
/**
* 九月销售额
*/
String septAmount = "septAmount";
/**
* 十月销售额
*/
String octAmount = "octAmount";
/**
* 十一月销售额
*/
String novAmount = "novAmount";
/**
* 十二月销售额
*/
String decAmount = "decAmount";
}
......@@ -6,8 +6,10 @@ import java.util.Map;
import java.util.UUID;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum;
public interface AdvancePaymentBalanceSumDao {
UUID save(KObject entity);
List<Map<String, Object>> getAllRelevantData(String startDate,String nowDate,boolean flag);
List<AdvancePaymentBalanceSum> queryAdvancePaymentBalanceSumByConditions(String dealYear,String regionalCompany);
}
package com.xyst.dinas.statistics.dao;
import java.util.List;
import com.xyst.dinas.statistics.entity.OperationsReports;
public interface OperationsReportsDao {
List<OperationsReports> loadOperationsReportsByConditions(String startDate, String endDate,
String OperationsReportType, String stationList );
}
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;
public interface PaymentDetailsDao {
List<PaymentDetails> loadPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany);
}
package com.xyst.dinas.statistics.dao;
import java.util.List;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.statistics.entity.SalesSummary;
public interface SalesSummaryDao {
void save(KObject entity);
List<SalesSummary> loadSalesSummaryByConditions(String dealYear, String stationList);
}
package com.xyst.dinas.statistics.entity;
/**
* 预付款及结余汇总
*
* @author wukq
* @date 2021年5月17日
*/
public class AdvancePaymentBalanceSum {
/**
* 购砂单位
*/
private String purchaseSandUnit ;
/**
* 项目
*/
private String project ;
/**
* 上年剩余预付款
*/
private String lastYearAdvance ;
/**
* 本年销售货款
*/
private String paymentSales ;
/**
* 本年预付款总额
*/
private String totalAdvancePayment ;
/**
* 本年累计退费
*/
private String refundAmount ;
/**
* 预付款余额
*/
private String advanceBalance ;
/**
* 一月销售额
*/
private String janAmount ;
/**
* 二月销售额
*/
private String febAmount ;
/**
* 三月销售额
*/
private String marAmount ;
/**
* 四月销售额
*/
private String aprAmount ;
/**
* 五月销售额
*/
private String mayAmount ;
/**
* 六月销售额
*/
private String junAmount ;
/**
* 七月销售额
*/
private String julAmount ;
/**
* 八月销售额
*/
private String augAmount ;
/**
* 九月销售额
*/
private String septAmount ;
/**
* 十月销售额
*/
private String octAmount ;
/**
* 十一月销售额
*/
private String novAmount ;
/**
* 十二月销售额
*/
private String decAmount;
public String getPurchaseSandUnit() {
return purchaseSandUnit;
}
public void setPurchaseSandUnit(String purchaseSandUnit) {
this.purchaseSandUnit = purchaseSandUnit;
}
public String getProject() {
return project;
}
public void setProject(String project) {
this.project = project;
}
public String getLastYearAdvance() {
return lastYearAdvance;
}
public void setLastYearAdvance(String lastYearAdvance) {
this.lastYearAdvance = lastYearAdvance;
}
public String getPaymentSales() {
return paymentSales;
}
public void setPaymentSales(String paymentSales) {
this.paymentSales = paymentSales;
}
public String getTotalAdvancePayment() {
return totalAdvancePayment;
}
public void setTotalAdvancePayment(String totalAdvancePayment) {
this.totalAdvancePayment = totalAdvancePayment;
}
public String getRefundAmount() {
return refundAmount;
}
public void setRefundAmount(String refundAmount) {
this.refundAmount = refundAmount;
}
public String getAdvanceBalance() {
return advanceBalance;
}
public void setAdvanceBalance(String advanceBalance) {
this.advanceBalance = advanceBalance;
}
public String getJanAmount() {
return janAmount;
}
public void setJanAmount(String janAmount) {
this.janAmount = janAmount;
}
public String getFebAmount() {
return febAmount;
}
public void setFebAmount(String febAmount) {
this.febAmount = febAmount;
}
public String getMarAmount() {
return marAmount;
}
public void setMarAmount(String marAmount) {
this.marAmount = marAmount;
}
public String getAprAmount() {
return aprAmount;
}
public void setAprAmount(String aprAmount) {
this.aprAmount = aprAmount;
}
public String getMayAmount() {
return mayAmount;
}
public void setMayAmount(String mayAmount) {
this.mayAmount = mayAmount;
}
public String getJunAmount() {
return junAmount;
}
public void setJunAmount(String junAmount) {
this.junAmount = junAmount;
}
public String getJulAmount() {
return julAmount;
}
public void setJulAmount(String julAmount) {
this.julAmount = julAmount;
}
public String getAugAmount() {
return augAmount;
}
public void setAugAmount(String augAmount) {
this.augAmount = augAmount;
}
public String getSeptAmount() {
return septAmount;
}
public void setSeptAmount(String septAmount) {
this.septAmount = septAmount;
}
public String getOctAmount() {
return octAmount;
}
public void setOctAmount(String octAmount) {
this.octAmount = octAmount;
}
public String getNovAmount() {
return novAmount;
}
public void setNovAmount(String novAmount) {
this.novAmount = novAmount;
}
public String getDecAmount() {
return decAmount;
}
public void setDecAmount(String decAmount) {
this.decAmount = decAmount;
}
}
package com.xyst.dinas.statistics.entity;
public class OperationsReports {
/**
* 场站
*/
private String stationName;
/**
* 砂石类型
*/
private String dinasTypeName;
/**
* 销量
*/
private String saleDealAmount;
/**
* 销售额
*/
private String saleAmount;
public String getStationName() {
return stationName;
}
public void setStationName(String stationName) {
this.stationName = stationName;
}
public String getDinasTypeName() {
return dinasTypeName;
}
public void setDinasTypeName(String dinasTypeName) {
this.dinasTypeName = dinasTypeName;
}
public String getSaleDealAmount() {
return saleDealAmount;
}
public void setSaleDealAmount(String saleDealAmount) {
this.saleDealAmount = saleDealAmount;
}
public String getSaleAmount() {
return saleAmount;
}
public void setSaleAmount(String saleAmount) {
this.saleAmount = saleAmount;
}
}
package com.xyst.dinas.statistics.entity;
import java.math.BigDecimal;
/**
* 回款明细
*
* @author wukq
* @date 2021年5月17日
*/
public class PaymentDetails {
/**
* 时间-创建时间
*/
private String createTime;
/**
* 购砂单位
*/
private String purchaseSandUnit ;
/**
* 项目名称
*/
private String project ;
/**
* 资金类型
*/
private String fundType ;
/**
* 收款金额
*/
private String rechargeAmount ;
/**
* 退款金额
*/
private String actualRefundAmount ;
/**
* 备注
*/
private String remark ;
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getPurchaseSandUnit() {
return purchaseSandUnit;
}
public void setPurchaseSandUnit(String purchaseSandUnit) {
this.purchaseSandUnit = purchaseSandUnit;
}
public String getProject() {
return project;
}
public void setProject(String project) {
this.project = project;
}
public String getFundType() {
return fundType;
}
public void setFundType(String fundType) {
this.fundType = fundType;
}
public String getRechargeAmount() {
return rechargeAmount;
}
public void setRechargeAmount(String rechargeAmount) {
this.rechargeAmount = rechargeAmount;
}
public String getActualRefundAmount() {
return actualRefundAmount;
}
public void setActualRefundAmount(String actualRefundAmount) {
this.actualRefundAmount = actualRefundAmount;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
package com.xyst.dinas.statistics.entity;
/**
* 销售汇总
*
* @author wukq
* @date 2021年5月17日
*/
public class SalesSummary {
/**
* 场站
*/
private String station ;
/**
* 砂石种类
*/
private String dinasType ;
/**
* 全年累计销量
*/
private String saleDealAmount ;
/**
* 全年累计销售额
*/
private String saleAmount ;
/**
* 平均单价
*/
private String avgAmount ;
/**
* 一月销售额
*/
private String janAmount ;
/**
* 二月销售额
*/
private String febAmount ;
/**
* 三月销售额
*/
private String marAmount ;
/**
* 四月销售额
*/
private String aprAmount ;
/**
* 五月销售额
*/
private String mayAmount ;
/**
* 六月销售额
*/
private String junAmount ;
/**
* 七月销售额
*/
private String julAmount ;
/**
* 八月销售额
*/
private String augAmount ;
/**
* 九月销售额
*/
private String septAmount ;
/**
* 十月销售额
*/
private String octAmount ;
/**
* 十一月销售额
*/
private String novAmount ;
/**
* 十二月销售额
*/
private String decAmount ;
public String getStation() {
return station;
}
public void setStation(String station) {
this.station = station;
}
public String getDinasType() {
return dinasType;
}
public void setDinasType(String dinasType) {
this.dinasType = dinasType;
}
public String getSaleDealAmount() {
return saleDealAmount;
}
public void setSaleDealAmount(String saleDealAmount) {
this.saleDealAmount = saleDealAmount;
}
public String getSaleAmount() {
return saleAmount;
}
public void setSaleAmount(String saleAmount) {
this.saleAmount = saleAmount;
}
public String getAvgAmount() {
return avgAmount;
}
public void setAvgAmount(String avgAmount) {
this.avgAmount = avgAmount;
}
public String getJanAmount() {
return janAmount;
}
public void setJanAmount(String janAmount) {
this.janAmount = janAmount;
}
public String getFebAmount() {
return febAmount;
}
public void setFebAmount(String febAmount) {
this.febAmount = febAmount;
}
public String getMarAmount() {
return marAmount;
}
public void setMarAmount(String marAmount) {
this.marAmount = marAmount;
}
public String getAprAmount() {
return aprAmount;
}
public void setAprAmount(String aprAmount) {
this.aprAmount = aprAmount;
}
public String getMayAmount() {
return mayAmount;
}
public void setMayAmount(String mayAmount) {
this.mayAmount = mayAmount;
}
public String getJunAmount() {
return junAmount;
}
public void setJunAmount(String junAmount) {
this.junAmount = junAmount;
}
public String getJulAmount() {
return julAmount;
}
public void setJulAmount(String julAmount) {
this.julAmount = julAmount;
}
public String getAugAmount() {
return augAmount;
}
public void setAugAmount(String augAmount) {
this.augAmount = augAmount;
}
public String getSeptAmount() {
return septAmount;
}
public void setSeptAmount(String septAmount) {
this.septAmount = septAmount;
}
public String getOctAmount() {
return octAmount;
}
public void setOctAmount(String octAmount) {
this.octAmount = octAmount;
}
public String getNovAmount() {
return novAmount;
}
public void setNovAmount(String novAmount) {
this.novAmount = novAmount;
}
public String getDecAmount() {
return decAmount;
}
public void setDecAmount(String decAmount) {
this.decAmount = decAmount;
}
}
......@@ -30,6 +30,8 @@ import com.xyst.dinas.project.constant.ProjectFiledConstant;
import com.xyst.dinas.project.constant.PurchaseSandCompanyConstant;
import com.xyst.dinas.sales.constant.SalesRecordConstant;
import com.xyst.dinas.statistics.dao.AdvancePaymentBalanceSumDao;
import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum;
import com.xyst.dinas.statistics.entity.SalesSummary;
public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSumDao {
@Autowired
......@@ -42,96 +44,496 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
}
@Override
public List<Map<String, Object>> getAllRelevantData(String starDate, String nowDate,boolean flag) {
public List<Map<String, Object>> getAllRelevantData(String starDate, String nowDate, boolean flag) {
// TODO Auto-generated method stub
StringBuilder hql = new StringBuilder("select ");
hql.append("xx.a1 as a, ");// 区域公司ID
hql.append("xx.b1 as b, ");// 购砂单位ID
hql.append("xx.d1 as d, ");// 项目ID
hql.append("xx.e1 as e, ");// 去年剩余预付款
hql.append("xx.f1 as f, ");// 本年销售货款
hql.append("sum( xx.g1 ) as g, ");// 预付款总额
hql.append("sum( xx.h1 ) as h, ");// 预付款退款额
hql.append("xx.i1 as i , ");// 预付款余额
hql.append("sum( xx.j1 ) as j , ");// 保证金总额
hql.append("sum(xx.q1) as q ");// 保证金退款额
hql.append("from (").append(
" SELECT REGIONALCOMPANY.id AS a1 , PURCHASESANDUNIT.id AS b1, CONTRACT.id AS c1, PROJECT.id AS d1, ");
if(!flag) {
hql.append(" CONTRACT.advance_balance AS e1, ");
}else {
hql.append(" 0.00 AS e1, ");
}
hql.append(" sum( SALESRECODE.amount ) AS f1, ");
hql.append(" CASE WHEN ARTIFICIAL.fund_type = 'DEPOSIT' THEN 0.00 ELSE sum( ARTIFICIAL.recharge_amount ) END AS g1, "
); hql. append(" CASE WHEN REFUND.fund_type = '1' THEN 0.00 ELSE sum( REFUND.actual_refund_amount ) END AS h1, "
); hql.append(" CONTRACT.advance_balance AS i1, ");
hql.append(" CASE WHEN ARTIFICIAL.fund_type = 'DEPOSIT' THEN sum( ARTIFICIAL.recharge_amount ) ELSE 0.00 END AS j1, "
); hql.append(" CASE WHEN REFUND.fund_type = '1' THEN sum( REFUND.actual_refund_amount ) ELSE 0.00 END AS q1 "
); hql.append(" from xyst_dinas_biz_organization as REGIONALCOMPANY ");//區域公司
hql.append("LEFT JOIN xyst_dinas_project_purchase_sand_company as PURCHASESANDUNIT ON PURCHASESANDUNIT.regional_company = REGIONALCOMPANY.id "
);// 购砂单位
hql. append("LEFT JOIN xyst_dinas_contract_master as CONTRACT ON CONTRACT.purchase_sand_Unit_id = PURCHASESANDUNIT.id AND CONTRACT.contract_state = 'EXECUTING' "
);// 合同
hql.append("LEFT JOIN xyst_dinas_project_filed as PROJECT on CONTRACT.project_id = PROJECT.id "
);// 项目
hql.append("LEFT JOIN xyst_dinas_sales_record AS SALESRECODE ON SALESRECODE.project_id = PROJECT.id "
) .append("AND SALESRECODE.regional_company_id = REGIONALCOMPANY.id ").
append("AND SALESRECODE.contract_id = CONTRACT.id ")
.append("AND ( SALESRECODE.sync_time < :dateBefore ").append(" AND SALESRECODE.sync_time >= :nowDate )");// 銷售台账
hql. append("LEFT JOIN xyst_dinas_finance_artificial_recharge AS ARTIFICIAL ON ARTIFICIAL.regional_company = REGIONALCOMPANY.id "
).append(" AND ARTIFICIAL.contract = CONTRACT.id ")
.append(" AND ARTIFICIAL.purchase_sand_unit = PURCHASESANDUNIT.id ")
.append(" AND ( ARTIFICIAL.create_time < :dateBefore "). append(" AND ARTIFICIAL.create_time >= :nowDate ) ");// 人工充值
hql.
append("LEFT JOIN xyst_dinas_finance_refund AS REFUND ON REFUND.regional_company = REGIONALCOMPANY.id "
) .append(" AND REFUND.contract = CONTRACT.id ").
append(" AND REFUND.purchase_sand_company = PURCHASESANDUNIT.id ")
.append(" AND ( REFUND.create_time < :dateBefore ").append(" AND REFUND.create_time >= :nowDate ) ");// 财务退款
hql.append(" where 1=1 ").
append(" and PURCHASESANDUNIT.regional_company IS NOT NULL ");// 去掉脏数据
hql.append(" GROUP BY ").append(" CONTRACT.id, ").
append(" ARTIFICIAL.project, ").append(" ARTIFICIAL.contract, ")
.append(" ARTIFICIAL.purchase_sand_unit, ").append(" REFUND.project, ").
append(" REFUND.contract, ")
.append(" REFUND.purchase_sand_company, ").append(" ARTIFICIAL.fund_type, ").
append(" REFUND.fund_type ") .append(" ) AS xx ");// 分组
hql.append(" GROUP BY ").append(" xx.a1, ").append(" xx.b1, ").
append(" xx.c1, ").append(" xx.d1 ");// 外层分组
return (List<Map<String, Object>>) template.execute(new HibernateCallback<List<Map<String, Object>>>() {
StringBuilder hql = new StringBuilder("select ");
hql.append("xx.a1 as a, ");// 区域公司ID
hql.append("xx.b1 as b, ");// 购砂单位ID
hql.append("xx.d1 as d, ");// 项目ID
hql.append("xx.e1 as e, ");// 去年剩余预付款
hql.append("xx.f1 as f, ");// 本年销售货款
hql.append("sum( xx.g1 ) as g, ");// 预付款总额
hql.append("sum( xx.h1 ) as h, ");// 预付款退款额
hql.append("xx.i1 as i , ");// 预付款余额
hql.append("sum( xx.j1 ) as j , ");// 保证金总额
hql.append("sum(xx.q1) as q ");// 保证金退款额
hql.append("from (").append(
" SELECT REGIONALCOMPANY.id AS a1 , PURCHASESANDUNIT.id AS b1, CONTRACT.id AS c1, PROJECT.id AS d1, ");
if (!flag) {
hql.append(" CONTRACT.advance_balance AS e1, ");
} else {
hql.append(" 0.00 AS e1, ");
}
hql.append(" sum( SALESRECODE.amount ) AS f1, ");
hql.append(
" CASE WHEN ARTIFICIAL.fund_type = 'DEPOSIT' THEN 0.00 ELSE sum( ARTIFICIAL.recharge_amount ) END AS g1, ");
hql.append(
" CASE WHEN REFUND.fund_type = '1' THEN 0.00 ELSE sum( REFUND.actual_refund_amount ) END AS h1, ");
hql.append(" CONTRACT.advance_balance AS i1, ");
hql.append(
" CASE WHEN ARTIFICIAL.fund_type = 'DEPOSIT' THEN sum( ARTIFICIAL.recharge_amount ) ELSE 0.00 END AS j1, ");
hql.append(
" CASE WHEN REFUND.fund_type = '1' THEN sum( REFUND.actual_refund_amount ) ELSE 0.00 END AS q1 ");
hql.append(" from xyst_dinas_biz_organization as REGIONALCOMPANY ");// 區域公司
hql.append(
"LEFT JOIN xyst_dinas_project_purchase_sand_company as PURCHASESANDUNIT ON PURCHASESANDUNIT.regional_company = REGIONALCOMPANY.id ");// 购砂单位
hql.append(
"LEFT JOIN xyst_dinas_contract_master as CONTRACT ON CONTRACT.purchase_sand_Unit_id = PURCHASESANDUNIT.id AND CONTRACT.contract_state = 'EXECUTING' ");// 合同
hql.append("LEFT JOIN xyst_dinas_project_filed as PROJECT on CONTRACT.project_id = PROJECT.id ");// 项目
hql.append("LEFT JOIN xyst_dinas_sales_record AS SALESRECODE ON SALESRECODE.project_id = PROJECT.id ")
.append("AND SALESRECODE.regional_company_id = REGIONALCOMPANY.id ")
.append("AND SALESRECODE.contract_id = CONTRACT.id ")
.append("AND ( SALESRECODE.sync_time < :dateBefore ")
.append(" AND SALESRECODE.sync_time >= :nowDate )");// 銷售台账
hql.append(
"LEFT JOIN xyst_dinas_finance_artificial_recharge AS ARTIFICIAL ON ARTIFICIAL.regional_company = REGIONALCOMPANY.id ")
.append(" AND ARTIFICIAL.contract = CONTRACT.id ")
.append(" AND ARTIFICIAL.purchase_sand_unit = PURCHASESANDUNIT.id ")
.append(" AND ( ARTIFICIAL.create_time < :dateBefore ")
.append(" AND ARTIFICIAL.create_time >= :nowDate ) ");// 人工充值
hql.append("LEFT JOIN xyst_dinas_finance_refund AS REFUND ON REFUND.regional_company = REGIONALCOMPANY.id ")
.append(" AND REFUND.contract = CONTRACT.id ")
.append(" AND REFUND.purchase_sand_company = PURCHASESANDUNIT.id ")
.append(" AND ( REFUND.create_time < :dateBefore ")
.append(" AND REFUND.create_time >= :nowDate ) ");// 财务退款
hql.append(" where 1=1 ").append(" and PURCHASESANDUNIT.regional_company IS NOT NULL ");// 去掉脏数据
hql.append(" GROUP BY ").append(" CONTRACT.id, ").append(" ARTIFICIAL.project, ")
.append(" ARTIFICIAL.contract, ").append(" ARTIFICIAL.purchase_sand_unit, ").append(" REFUND.project, ")
.append(" REFUND.contract, ").append(" REFUND.purchase_sand_company, ")
.append(" ARTIFICIAL.fund_type, ").append(" REFUND.fund_type ").append(" ) AS xx ");// 分组
hql.append(" GROUP BY ").append(" xx.a1, ").append(" xx.b1, ").append(" xx.c1, ").append(" xx.d1 ");// 外层分组
return (List<Map<String, Object>>) template.execute(new HibernateCallback<List<Map<String, Object>>>() {
@Override
public List<Map<String, Object>> doInHibernate(Session session) throws HibernateException {
Query<Tuple> query = session.createNativeQuery(hql.toString(), Tuple.class);
query.setParameter("dateBefore",starDate);
query.setParameter("nowDate",nowDate);
query.setParameter("dateBefore", starDate);
query.setParameter("nowDate", nowDate);
List<Tuple> resultList = query.getResultList();
if (resultList.isEmpty())
return null;
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
for (Tuple resule : resultList) {
Map<String, Object> map = new HashMap<String, Object>();
if(null == resule.get(0) || null == resule.get(1) || null == resule.get(2) ) {
if (null == resule.get(0) || null == resule.get(1) || null == resule.get(2)) {
continue;
}
map.put("regional_company_id", Convert.toUUID(resule.get(0)));
map.put("purchase_sand_unit_id", Convert.toUUID(resule.get(1)));
map.put("project_id", Convert.toUUID(resule.get(2)));
map.put("last_year_advance", resule.get(3,BigDecimal.class));
map.put("payment_sales", resule.get(4,BigDecimal.class));
map.put("total_advance_payment",resule.get(5,BigDecimal.class));
map.put("advance_payment_refund_amount", resule.get(6,BigDecimal.class));
map.put("advance_balance", resule.get(7,BigDecimal.class));
map.put("total_margin", resule.get(8,BigDecimal.class));
map.put("margin_refund", resule.get(9,BigDecimal.class));
//map.put("total_margin", BigDecimal.valueOf(resule.get(8,Double.class)));
//map.put("margin_refund", BigDecimal.valueOf(resule.get(9,Double.class)));
map.put("last_year_advance", resule.get(3, BigDecimal.class));
map.put("payment_sales", resule.get(4, BigDecimal.class));
map.put("total_advance_payment", resule.get(5, BigDecimal.class));
map.put("advance_payment_refund_amount", resule.get(6, BigDecimal.class));
map.put("advance_balance", resule.get(7, BigDecimal.class));
map.put("total_margin", resule.get(8, BigDecimal.class));
map.put("margin_refund", resule.get(9, BigDecimal.class));
// map.put("total_margin", BigDecimal.valueOf(resule.get(8,Double.class)));
// map.put("margin_refund", BigDecimal.valueOf(resule.get(9,Double.class)));
list.add(map);
}
return list;
}
});
}
@Override
public List<AdvancePaymentBalanceSum> queryAdvancePaymentBalanceSumByConditions(String dealYear,String regionalCompany) {
// TODO Auto-generated method stub
StringBuilder hql = new StringBuilder("select ");
hql.append(
"result.purchaseSandUnit AS purchaseSandUnit,\r\n" + " result.project AS project,\r\n"
+ " result.lastYearAdvance AS lastYearAdvance,\r\n"
+ " result.paymentSales AS paymentSales,\r\n"
+ " result.totalAdvancePayment AS totalAdvancePayment,\r\n"
+ " result.refundAmount AS refundAmount,\r\n"
+ " result.advanceBalance AS advanceBalance,\r\n"
+ " result.janAmount as janAmount,\r\n"
+ " result.febAmount as febAmount,\r\n"
+ " result.marAmount as marAmount,\r\n"
+ " result.aprAmount as aprAmount,\r\n"
+ " result.mayAmount as mayAmount,\r\n"
+ " result.junAmount as junAmount,\r\n"
+ " result.julAmount as julAmount,\r\n"
+ " result.augAmount as augAmount,\r\n"
+ " result.septAmount as septAmount,\r\n"
+ " result.octAmount as octAmount,\r\n"
+ " result.novAmount as novAmount,\r\n"
+ " result.decAmount as decAmount");
hql.append("FROM ");
hql.append(" (SELECT purchaseSandCompany.NAME AS purchaseSandUnit,\r\n"
+ " projectFiled.project_Name AS project,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.last_Year_Advance) AS lastYearAdvance,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.payment_sales) AS paymentSales,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.total_advance_payment) AS totalAdvancePayment,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.advance_payment_refund_amount + advancePaymentAndBalanceSummary.margin_refund) AS refundAmount,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.advance_balance) AS advanceBalance,\r\n"
+ " janAmount.janAmount1 as janAmount,\r\n"
+ " febAmount.febAmount1 as febAmount,\r\n"
+ " marAmount.marAmount1 as marAmount,\r\n"
+ " aprAmount.aprAmount1 as aprAmount,\r\n"
+ " mayAmount.mayAmount1 as mayAmount,\r\n"
+ " junAmount.junAmount1 as junAmount,\r\n"
+ " julAmount.julAmount1 as julAmount,\r\n"
+ " augAmount.augAmount1 as augAmount,\r\n"
+ " septAmount.septAmount1 as septAmount,\r\n"
+ " octAmount.octAmount1 as octAmount,\r\n"
+ " novAmount.novAmount1 as novAmount,\r\n"
+ " decAmount.decAmount1 as decAmount,\r\n"
+ " advancePaymentAndBalanceSummary.deal_Year AS dealYear,\r\n"
+ " advancePaymentAndBalanceSummary.regional_company_id AS regionalCompany\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary\r\n"
+ " LEFT JOIN xyst_dinas_project_purchase_sand_company AS purchaseSandCompany ON purchaseSandCompany.id = advancePaymentAndBalanceSummary.purchase_sand_unit_id\r\n"
+ " LEFT JOIN xyst_dinas_project_filed AS projectFiled ON projectFiled.id = advancePaymentAndBalanceSummary.project_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS janAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 1 \r\n"
+ " GROUP BY advancePaymentAndBalanceSummary1.project_id\r\n"
+ " ) AS janAmount ON janAmount.project1 = advancePaymentAndBalanceSummary.project_id\r\n"
+ " AND janAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND janAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS febAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 2 \r\n"
+ " GROUP BY advancePaymentAndBalanceSummary1.project_id\r\n"
+ " ) AS febAmount ON febAmount.project1 = advancePaymentAndBalanceSummary.project_id\r\n"
+ " AND febAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND febAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS marAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 3 \r\n"
+ " GROUP BY advancePaymentAndBalanceSummary1.project_id\r\n"
+ " ) AS marAmount ON marAmount.project1 = advancePaymentAndBalanceSummary.project_id\r\n"
+ " AND marAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND marAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS aprAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 4\r\n"
+ " GROUP BY advancePaymentAndBalanceSummary1.project_id\r\n"
+ " ) AS aprAmount ON aprAmount.project1 = advancePaymentAndBalanceSummary.project_id\r\n"
+ " AND aprAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND aprAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS mayAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 5 \r\n"
+ " GROUP BY advancePaymentAndBalanceSummary1.project_id\r\n"
+ " ) AS mayAmount ON mayAmount.project1 = advancePaymentAndBalanceSummary.project_id\r\n"
+ " AND mayAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND mayAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS junAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 6 \r\n"
+ " GROUP BY advancePaymentAndBalanceSummary1.project_id\r\n"
+ " ) AS junAmount ON junAmount.project1 = advancePaymentAndBalanceSummary.project_id\r\n"
+ " AND junAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND junAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS julAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 7 \r\n"
+ " GROUP BY advancePaymentAndBalanceSummary1.project_id\r\n"
+ " ) AS julAmount ON julAmount.project1 = advancePaymentAndBalanceSummary.project_id\r\n"
+ " AND julAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND julAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS augAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 8 \r\n"
+ " GROUP BY advancePaymentAndBalanceSummary1.project_id\r\n"
+ " ) AS augAmount ON augAmount.project1 = advancePaymentAndBalanceSummary.project_id\r\n"
+ " AND augAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND augAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS septAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 9 \r\n"
+ " GROUP BY advancePaymentAndBalanceSummary1.project_id\r\n"
+ " ) AS septAmount ON septAmount.project1 = advancePaymentAndBalanceSummary.project_id\r\n"
+ " AND septAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND septAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS octAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 10 \r\n"
+ " GROUP BY advancePaymentAndBalanceSummary1.project_id\r\n"
+ " ) AS octAmount ON octAmount.project1 = advancePaymentAndBalanceSummary.project_id\r\n"
+ " AND octAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND octAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS novAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 11 \r\n"
+ " GROUP BY advancePaymentAndBalanceSummary1.project_id\r\n"
+ " ) AS novAmount ON novAmount.project1 = advancePaymentAndBalanceSummary.project_id\r\n"
+ " AND novAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND novAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS decAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.project_id AS project1,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 12\r\n"
+ " GROUP BY advancePaymentAndBalanceSummary1.project_id\r\n"
+ " ) AS decAmount ON decAmount.project1 = advancePaymentAndBalanceSummary.project_id\r\n"
+ " AND decAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND decAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " GROUP BY advancePaymentAndBalanceSummary.project_id\r\n"
+ " UNION ALL\r\n" + " SELECT\r\n"
+ " '合计' AS purchaseSandUnit,\r\n" + " '-' AS project,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.last_Year_Advance) AS lastYearAdvance,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.payment_sales) AS paymentSales,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.total_advance_payment) AS totalAdvancePayment,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.advance_payment_refund_amount + advancePaymentAndBalanceSummary.margin_refund) AS refundAmount,\r\n"
+ " SUM(advancePaymentAndBalanceSummary.advance_balance) AS advanceBalance,\r\n"
+ " janAmount.janAmount1 as janAmount,\r\n"
+ " febAmount.febAmount1 as febAmount,\r\n"
+ " marAmount.marAmount1 as marAmount,\r\n"
+ " aprAmount.aprAmount1 as aprAmount,\r\n"
+ " mayAmount.mayAmount1 as mayAmount,\r\n"
+ " junAmount.junAmount1 as junAmount,\r\n"
+ " julAmount.julAmount1 as julAmount,\r\n"
+ " augAmount.augAmount1 as augAmount,\r\n"
+ " septAmount.septAmount1 as septAmount,\r\n"
+ " octAmount.octAmount1 as octAmount,\r\n"
+ " novAmount.novAmount1 as novAmount,\r\n"
+ " decAmount.decAmount1 as decAmount,\r\n"
+ " advancePaymentAndBalanceSummary.deal_Year AS dealYear,\r\n"
+ " advancePaymentAndBalanceSummary.regional_company_id AS regionalCompany \r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS janAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 1 \r\n"
+ " ) AS janAmount ON janAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND janAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS febAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 2 \r\n"
+ " ) AS febAmount ON febAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND febAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS marAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 3 \r\n"
+ " ) AS marAmount ON marAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND marAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS aprAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 4 \r\n"
+ " ) AS aprAmount ON aprAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND aprAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS mayAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 5 \r\n"
+ " ) AS mayAmount ON mayAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND mayAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS junAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 6 \r\n"
+ " ) AS junAmount ON junAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND junAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS julAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 7 \r\n"
+ " ) AS julAmount ON julAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND julAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS augAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 8 \r\n"
+ " ) AS augAmount ON augAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND augAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS septAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 9 \r\n"
+ " ) AS septAmount ON septAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND septAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS octAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 10 \r\n"
+ " ) AS octAmount ON octAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND octAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS novAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 11 \r\n"
+ " ) AS novAmount ON novAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND novAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " LEFT JOIN(\r\n" + " SELECT\r\n"
+ " SUM( advancePaymentAndBalanceSummary1.payment_Sales ) AS decAmount1 ,\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Year AS dealYear1,\r\n"
+ " advancePaymentAndBalanceSummary1.regional_company_id AS regionalCompany1\r\n"
+ " FROM\r\n"
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 12 \r\n"
+ " ) AS decAmount ON decAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND decAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+ " ) AS result ");
hql.append(" WHERE 1=1 ");
if (regionalCompany != null && !(regionalCompany.isEmpty()))
hql.append(" AND result.regionalCompany = :regionalCompany ");
if (dealYear != null && !(dealYear.isEmpty()))
hql.append(" AND result.dealYear = :dealYear ");
hql.append(" order BY result.purchaseSandUnit = '合计' ASC,result.purchaseSandUnit,result.project ");
return (List<AdvancePaymentBalanceSum>) template
.execute(new HibernateCallback<List<AdvancePaymentBalanceSum>>() {
@Override
public List<AdvancePaymentBalanceSum> doInHibernate(Session session) throws HibernateException {
Query<Tuple> query = session.createNativeQuery(hql.toString(), Tuple.class);
if (dealYear != null && !(dealYear.isEmpty()))
query.setParameter("dealYear", dealYear);
if (regionalCompany != null && !(regionalCompany.isEmpty()))
query.setParameter("regionalCompany", regionalCompany);
List<Tuple> resultList = query.getResultList();
if (resultList.isEmpty())
return null;
List<AdvancePaymentBalanceSum> list = new ArrayList<AdvancePaymentBalanceSum>();
for (Tuple resule : resultList) {
AdvancePaymentBalanceSum advancePaymentBalanceSum = new AdvancePaymentBalanceSum();
advancePaymentBalanceSum.setPurchaseSandUnit(String.valueOf(resule.get(0)));
advancePaymentBalanceSum.setProject(String.valueOf(resule.get(1)));
advancePaymentBalanceSum.setLastYearAdvance(String.valueOf(resule.get(2)));
advancePaymentBalanceSum.setPaymentSales(String.valueOf(resule.get(3)));
advancePaymentBalanceSum.setTotalAdvancePayment(String.valueOf(resule.get(4)));
advancePaymentBalanceSum.setRefundAmount(String.valueOf(resule.get(5)));
advancePaymentBalanceSum.setAdvanceBalance(String.valueOf(resule.get(6)));
advancePaymentBalanceSum.setJanAmount(String.valueOf(resule.get(7)));
advancePaymentBalanceSum.setFebAmount(String.valueOf(resule.get(8)));
advancePaymentBalanceSum.setMarAmount(String.valueOf(resule.get(9)));
advancePaymentBalanceSum.setAprAmount(String.valueOf(resule.get(10)));
advancePaymentBalanceSum.setMayAmount(String.valueOf(resule.get(11)));
advancePaymentBalanceSum.setJunAmount(String.valueOf(resule.get(12)));
advancePaymentBalanceSum.setJulAmount(String.valueOf(resule.get(13)));
advancePaymentBalanceSum.setAugAmount(String.valueOf(resule.get(14)));
advancePaymentBalanceSum.setSeptAmount(String.valueOf(resule.get(15)));
advancePaymentBalanceSum.setOctAmount(String.valueOf(resule.get(16)));
advancePaymentBalanceSum.setNovAmount(String.valueOf(resule.get(17)));
advancePaymentBalanceSum.setDecAmount(String.valueOf(resule.get(18)));
list.add(advancePaymentBalanceSum);
}
return list;
}
});
}
}
package com.xyst.dinas.statistics.internal.dao;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Tuple;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.query.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations;
import com.xyst.dinas.statistics.dao.OperationsReportsDao;
import com.xyst.dinas.statistics.entity.OperationsReports;
public class OperationsReportsDaoImpl implements OperationsReportsDao {
@Autowired
private HibernateOperations template;
@Override
public List<OperationsReports> loadOperationsReportsByConditions(String startDate, String endDate,
String OperationsReportType, String stationList ) {
// TODO Auto-generated method stub
StringBuffer hql = new StringBuffer(" SELECT ");
hql.append(" result.stationName AS stationName, result.dinasTypeName AS dinasTypeName,\r\n"
+ " result.saleDealAmount AS saleDealAmount, \r\n"
+ " result.saleAmount AS saleAmount FROM ");
hql.append(" ( SELECT station.station_Name AS stationName, \r\n "
+ " dinasType.dinas_Type_Name AS dinasTypeName, ");
if (OperationsReportType.equals("daily")) {
hql.append(" SUM( salesSummary.sale_Deal_Amount ) AS saleDealAmount, \r\n"
+ " SUM( salesSummary.sale_Amount ) AS saleAmount, ");
} else {
hql.append(" FORMAT( SUM( salesSummary.sale_Deal_Amount ) / 10000 ,2) AS saleDealAmount, \r\n"
+ " FORMAT( SUM( salesSummary.sale_Amount ) / 10000 ,2) AS saleAmount, ");
}
hql.append(" salesSummary.deal_Time as dealTime, station.id as stationId \r\n"
+ " FROM xyst_dinas_statistics_sale_summary AS salesSummary \r\n"
+ " LEFT JOIN xyst_dinas_biz_station AS station ON station.id = salesSummary.station_id \r\n"
+ " LEFT JOIN xyst_dinas_biz_dinas_type AS dinasType ON dinasType.id = salesSummary.dinas_type_id ");
hql.append(" where 1=1 ");
if (startDate != null && !(startDate.isEmpty()))
hql.append(" and salesSummary.deal_Time >= :startDate ");
if (endDate != null && !(endDate.isEmpty()))
hql.append(" and salesSummary.deal_Time <= :endDate ");
if (stationList != null && !(stationList.isEmpty()))
hql.append(" AND station.id IN :stationList ");
hql.append(" GROUP BY salesSummary.station_id,\r\n"
+ " salesSummary.dinas_type_id ");
hql.append(" UNION ALL ");
hql.append( " SELECT \r\n"
+ " station.station_Name AS stationName, \r\n"
+ " '小计' AS dinasTypeName, ");
if (OperationsReportType.equals("daily")) {
hql.append(" SUM( salesSummary.sale_Deal_Amount ) AS saleDealAmount, \r\n"
+ " SUM( salesSummary.sale_Amount ) AS saleAmount, ");
} else {
hql.append(" FORMAT( SUM( salesSummary.sale_Deal_Amount ) / 10000 ,2) AS saleDealAmount,\r\n"
+ " FORMAT( SUM( salesSummary.sale_Amount ) / 10000 ,2) AS saleAmount, ");
}
hql.append(" salesSummary.deal_Time as dealTime, station.id as stationId \r\n"
+ " FROM xyst_dinas_statistics_sale_summary AS salesSummary\r\n"
+ " LEFT JOIN xyst_dinas_biz_station AS station ON station.id = salesSummary.station_id\r\n"
+ " LEFT JOIN xyst_dinas_biz_dinas_type AS dinasType ON dinasType.id = salesSummary.dinas_type_id ");
hql.append(" where 1=1 ");
if (startDate != null && !(startDate.isEmpty()))
hql.append(" and salesSummary.deal_Time >= :startDate ");
if (endDate != null && !(endDate.isEmpty()))
hql.append(" and salesSummary.deal_Time <= :endDate ");
if (stationList != null && !(stationList.isEmpty()))
hql.append(" AND station.id IN :stationList ");
hql.append(" GROUP BY salesSummary.station_id ");
hql.append(" UNION ALL " );
hql.append(" SELECT '总计' AS stationName, \r\n"
+ " '———' AS dinasTypeName, ");
if (OperationsReportType.equals("daily")) {
hql.append(" SUM( salesSummary.sale_Deal_Amount ) AS saleDealAmount,\r\n"
+ " SUM( salesSummary.sale_Amount ) AS saleAmount, ");
} else {
hql.append(" FORMAT( SUM( salesSummary.sale_Deal_Amount ) / 10000 ,2) AS saleDealAmount,\r\n"
+ " FORMAT( SUM( salesSummary.sale_Amount ) / 10000 ,2) AS saleAmount, ");
}
hql.append(" salesSummary.deal_Time as dealTime, \r\n"
+ " station.id as stationId \r\n"
+ " FROM \r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary \r\n"
+ " LEFT JOIN xyst_dinas_biz_station AS station ON station.id = salesSummary.station_id \r\n"
+ " LEFT JOIN xyst_dinas_biz_dinas_type AS dinasType ON dinasType.id = salesSummary.dinas_type_id ");
hql.append(" where 1=1 ");
if (startDate != null && !(startDate.isEmpty()))
hql.append(" and salesSummary.deal_Time >= :startDate ");
if (endDate != null && !(endDate.isEmpty()))
hql.append(" and salesSummary.deal_Time <= :endDate ");
if (stationList != null && !(stationList.isEmpty()))
hql.append(" AND station.id IN :stationList ");
hql.append(" ) AS result ");
hql.append(
" ORDER BY (result.stationName = '总计') DESC,result.stationName, (result.dinasTypeName = '小计') ASC ");
return (List<OperationsReports>) template.execute(new HibernateCallback<List<OperationsReports>>() {
@Override
public List<OperationsReports> 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 (stationList != null && !(stationList.isEmpty()))
query.setParameter("stationList", stationList);
List<Tuple> resultList = query.getResultList();
if (resultList.isEmpty())
return null;
List<OperationsReports> list = new ArrayList<OperationsReports>();
for (Tuple resule : resultList) {
OperationsReports operationsReports = new OperationsReports();
operationsReports.setStationName(String.valueOf(resule.get(0)));
operationsReports.setDinasTypeName(String.valueOf(resule.get(1)));
operationsReports.setSaleDealAmount(String.valueOf(resule.get(2)));
operationsReports.setSaleAmount(String.valueOf(resule.get(3)));
list.add(operationsReports);
}
return list;
}
});
}
}
package com.xyst.dinas.statistics.internal.dao;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Tuple;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.query.Query;
import org.springframework.beans.factory.annotation.Autowired;
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;
public class PaymentDetailsDaoImpl implements PaymentDetailsDao {
@Autowired
private HibernateOperations template;
@Override
public List<PaymentDetails> loadPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany) {
// TODO Auto-generated method stub
StringBuilder hql = new StringBuilder("select ");
hql.append(" DATE_FORMAT( result.createTime , '%Y年%m月%d' ) AS createTime , ");// 创建时间
hql.append(" result.purchaseSandUnit AS purchaseSandUnit , ");// 购砂公司
hql.append(" result.project AS project , ");// 项目名称
hql.append(" result.fundType AS fundType , ");// 资金类型
hql.append(" result.rechargeAmount AS rechargeAmount , ");// 收款金额
hql.append(" result.actualRefundAmount AS actualRefundAmount , ");// 退款金额
hql.append(" result.remark AS remark ");// 备注
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 "+"%"+" :purchaseSandUnit "+"% " );
if(project != null && !(project.isEmpty()))hql.append(" and result.project like "+"%"+" :project "+"% ");
if(fundType != null && !(fundType.isEmpty()))hql.append(" and result.fundType = :fundType ");
hql.append(" ORDER BY result.createTime DESC ");
return (List<PaymentDetails>) template.execute(new HibernateCallback<List<PaymentDetails>>(){
@Override
public List<PaymentDetails> 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("purchaseSandUnit",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();
if (resultList.isEmpty())
return null;
List<PaymentDetails> list = new ArrayList<PaymentDetails>();
for (Tuple resule : resultList) {
PaymentDetails paymentDetails = new PaymentDetails();
/*
* if(null == resule.get(0) || null == resule.get(1) || null == resule.get(2) )
* { continue; }
*/
paymentDetails.setCreateTime(String.valueOf(resule.get(0)));
paymentDetails.setPurchaseSandUnit(String.valueOf(resule.get(1)));
paymentDetails.setProject(String.valueOf(resule.get(2)));
paymentDetails.setFundType(String.valueOf(resule.get(3)));
paymentDetails.setRechargeAmount(String.valueOf(resule.get(4)));
paymentDetails.setActualRefundAmount(String.valueOf(resule.get(5)));
paymentDetails.setRemark(String.valueOf(resule.get(6)));
list.add(paymentDetails);
}
return list;
}
});
}
}
package com.xyst.dinas.statistics.internal.dao;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import javax.persistence.Tuple;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.query.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate5.HibernateCallback;
import org.springframework.orm.hibernate5.HibernateOperations;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.statistics.dao.SalesSummaryDao;
import com.xyst.dinas.statistics.entity.PaymentDetails;
import com.xyst.dinas.statistics.entity.SalesSummary;
public class SalesSummaryDaoImpl implements SalesSummaryDao {
@Autowired
......@@ -15,7 +25,435 @@ public class SalesSummaryDaoImpl implements SalesSummaryDao {
@Override
public void save(KObject entity) {
// TODO Auto-generated method stub
template.save(entity);
template.save(entity);
}
@Override
public List<SalesSummary> loadSalesSummaryByConditions(String dealYear, String stationList) {
// TODO Auto-generated method stub
StringBuilder hql = new StringBuilder("select ");
hql.append(" result.station AS station,\r\n" + " result.dinasType AS dinasType,\r\n"
+ " result.saleDealAmount AS saleDealAmount,\r\n"
+ " result.saleAmount AS saleAmount,\r\n" + " result.avgAmount AS avgAmount,\r\n"
+ " result.janAmount AS janAmount,\r\n" + " result.febAmount AS febAmount,\r\n"
+ " result.marAmount AS marAmount,\r\n" + " result.aprAmount AS aprAmount,\r\n"
+ " result.mayAmount AS mayAmount,\r\n" + " result.junAmount AS junAmount,\r\n"
+ " result.julAmount AS julAmount,\r\n" + " result.augAmount AS augAmount,\r\n"
+ " result.septAmount AS septAmount,\r\n" + " result.octAmount AS octAmount,\r\n"
+ " result.novAmount AS novAmount,\r\n" + " result.decAmount AS decAmount ");
hql.append(" FROM ");
hql.append(" (\r\n" + " SELECT\r\n" + " '总计' as station,\r\n"
+ " '--' as dinasType,\r\n"
+ " SUM(salesSummary.sale_Deal_Amount) as saleDealAmount,\r\n"
+ " SUM(salesSummary.sale_Amount) as saleAmount,\r\n"
+ " '0.00' as avgAmount,\r\n" + " janAmount.janAmount1 as janAmount,\r\n"
+ " febAmount.febAmount1 as febAmount,\r\n"
+ " marAmount.marAmount1 as marAmount,\r\n"
+ " aprAmount.aprAmount1 as aprAmount,\r\n"
+ " mayAmount.mayAmount1 as mayAmount,\r\n"
+ " junAmount.junAmount1 as junAmount,\r\n"
+ " julAmount.julAmount1 as julAmount,\r\n"
+ " augAmount.augAmount1 as augAmount,\r\n"
+ " septAmount.septAmount1 as septAmount,\r\n"
+ " octAmount.octAmount1 as octAmount,\r\n"
+ " novAmount.novAmount1 as novAmount,\r\n"
+ " decAmount.decAmount1 as decAmount,\r\n"
+ " salesSummary.deal_Year AS dealYear\r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary\r\n"
+ " LEFT JOIN xyst_dinas_biz_station AS station ON station.id = salesSummary.station_id \r\n"
+ " LEFT JOIN xyst_dinas_biz_dinas_type AS dinasType ON dinasType.id = salesSummary.dinas_Type_id\r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS janAmount1 ,\r\n"
+ " salesSummary1.deal_Year AS dealYear1\r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 1 \r\n"
+ " GROUP BY salesSummary1.station_id\r\n"
+ " ) AS janAmount ON janAmount.dealYear1 = salesSummary.deal_Year \r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS febAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 2 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS febAmount ON febAmount.dealYear1 = salesSummary.deal_Year\r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS marAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 3 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS marAmount ON marAmount.dealYear1 = salesSummary.deal_Year\r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS aprAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 4 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS aprAmount ON aprAmount.dealYear1 = salesSummary.deal_Year\r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS mayAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 5 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS mayAmount ON mayAmount.dealYear1 = salesSummary.deal_Year \r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS junAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 6 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS junAmount ON junAmount.dealYear1 = salesSummary.deal_Year \r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS julAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 7 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS julAmount ON julAmount.dealYear1 = salesSummary.deal_Year\r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS augAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 8 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS augAmount ON augAmount.dealYear1 = salesSummary.deal_Year \r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS septAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 9 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS septAmount ON septAmount.dealYear1 = salesSummary.deal_Year\r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS octAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 10 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS octAmount ON octAmount.dealYear1 = salesSummary.deal_Year \r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS novAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 11 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS novAmount ON novAmount.dealYear1 = salesSummary.deal_Year\r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS decAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 12 \r\n"
+ " GROUP BY salesSummary1.station_id\r\n"
+ " ) AS decAmount ON decAmount.dealYear1 = salesSummary.deal_Year ");
if (stationList != null && !(stationList.isEmpty()))
hql.append(" WHERE 1=1 AND station.id IN :stationList ");
hql.append(" GROUP BY salesSummary.deal_Year\r\n" + " UNION ALL\r\n" + " SELECT\r\n"
+ " station.station_Name as station,\r\n" + " '小计' as dinas_Type,\r\n"
+ " SUM(salesSummary.sale_Deal_Amount) as saleDealAmount,\r\n"
+ " SUM(salesSummary.sale_Amount) as saleAmount,\r\n"
+ " '0.00' as avgAmount,\r\n" + " janAmount.janAmount1 as janAmount,\r\n"
+ " febAmount.febAmount1 as febAmount,\r\n"
+ " marAmount.marAmount1 as marAmount,\r\n"
+ " aprAmount.aprAmount1 as aprAmount,\r\n"
+ " mayAmount.mayAmount1 as mayAmount,\r\n"
+ " junAmount.junAmount1 as junAmount,\r\n"
+ " julAmount.julAmount1 as julAmount,\r\n"
+ " augAmount.augAmount1 as augAmount,\r\n"
+ " septAmount.septAmount1 as septAmount,\r\n"
+ " octAmount.octAmount1 as octAmount,\r\n"
+ " novAmount.novAmount1 as novAmount,\r\n"
+ " decAmount.decAmount1 as decAmount,\r\n"
+ " salesSummary.deal_Year AS dealYear\r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary\r\n"
+ " LEFT JOIN xyst_dinas_biz_station AS station ON station.id = salesSummary.station_id \r\n"
+ " LEFT JOIN xyst_dinas_biz_dinas_type AS dinasType ON dinasType.id = salesSummary.dinas_Type_id\r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS janAmount1 ,\r\n"
+ " salesSummary1.deal_Year AS dealYear1\r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 1 \r\n"
+ " GROUP BY salesSummary1.station_id\r\n"
+ " ) AS janAmount ON janAmount.station1 = salesSummary.station_id\r\n"
+ " AND janAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS febAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 2 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS febAmount ON febAmount.station1 = salesSummary.station_id\r\n"
+ " AND febAmount.dealYear1 = salesSummary.deal_Year\r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS marAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 3 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS marAmount ON marAmount.station1 = salesSummary.station_id\r\n"
+ " AND marAmount.dealYear1 = salesSummary.deal_Year\r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS aprAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 4 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS aprAmount ON aprAmount.station1 = salesSummary.station_id\r\n"
+ " AND aprAmount.dealYear1 = salesSummary.deal_Year\r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS mayAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 5 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS mayAmount ON mayAmount.station1 = salesSummary.station_id\r\n"
+ " AND mayAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS junAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 6 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS junAmount ON junAmount.station1 = salesSummary.station_id\r\n"
+ " AND junAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS julAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 7 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS julAmount ON julAmount.station1 = salesSummary.station_id\r\n"
+ " AND julAmount.dealYear1 = salesSummary.deal_Year\r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS augAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 8 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS augAmount ON augAmount.station1 = salesSummary.station_id\r\n"
+ " AND augAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS septAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 9 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS septAmount ON septAmount.station1 = salesSummary.station_id\r\n"
+ " AND septAmount.dealYear1 = salesSummary.deal_Year\r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS octAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 10 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS octAmount ON octAmount.station1 = salesSummary.station_id\r\n"
+ " AND octAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS novAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 11 \r\n"
+ " GROUP BY salesSummary1.station_id \r\n"
+ " ) AS novAmount ON novAmount.station1 = salesSummary.station_id\r\n"
+ " AND novAmount.dealYear1 = salesSummary.deal_Year\r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS decAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 12 \r\n"
+ " GROUP BY salesSummary1.station_id\r\n"
+ " ) AS decAmount ON decAmount.station1 = salesSummary.station_id\r\n"
+ " AND decAmount.dealYear1 = salesSummary.deal_Year ");
if (stationList != null && !(stationList.isEmpty()))
hql.append(" WHERE 1=1 AND station.id IN :stationList ");
hql.append(" GROUP BY salesSummary.station_id\r\n" + " UNION ALL\r\n" + " SELECT\r\n"
+ " station.station_Name as station,\r\n"
+ " dinasType.dinas_Type_Name as dinasType,\r\n"
+ " SUM(salesSummary.sale_Deal_Amount) as saleDealAmount,\r\n"
+ " SUM(salesSummary.sale_Amount) as saleAmount,\r\n"
+ " ( SUM(salesSummary.sale_Amount) / SUM(salesSummary.sale_Deal_Amount) ) as avgAmount,\r\n"
+ " janAmount.janAmount1 as janAmount,\r\n"
+ " febAmount.febAmount1 as febAmount,\r\n"
+ " marAmount.marAmount1 as marAmount,\r\n"
+ " aprAmount.aprAmount1 as aprAmount,\r\n"
+ " mayAmount.mayAmount1 as mayAmount,\r\n"
+ " junAmount.junAmount1 as junAmount,\r\n"
+ " julAmount.julAmount1 as julAmount,\r\n"
+ " augAmount.augAmount1 as augAmount,\r\n"
+ " septAmount.septAmount1 as septAmount,\r\n"
+ " octAmount.octAmount1 as octAmount,\r\n"
+ " novAmount.novAmount1 as novAmount,\r\n"
+ " decAmount.decAmount1 as decAmount,\r\n"
+ " salesSummary.deal_Year AS dealYear\r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary\r\n"
+ " LEFT JOIN xyst_dinas_biz_station AS station ON station.id = salesSummary.station_id \r\n"
+ " LEFT JOIN xyst_dinas_biz_dinas_type AS dinasType ON dinasType.id = salesSummary.dinas_Type_id \r\n"
+ " LEFT JOIN (\r\n" + " SELECT\r\n"
+ " salesSummary1.dinas_Type_id AS dinasType1,\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS janAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 1 \r\n"
+ " GROUP BY salesSummary1.station_id,salesSummary1.dinas_Type_id \r\n"
+ " ) AS janAmount ON janAmount.station1 = salesSummary.station_id AND janAmount.dinasType1 = salesSummary.dinas_Type_id\r\n"
+ " AND janAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.dinas_Type_id AS dinasType1,\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS febAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 2 \r\n"
+ " GROUP BY salesSummary1.station_id,salesSummary1.dinas_Type_id\r\n"
+ " ) AS febAmount ON febAmount.station1 = salesSummary.station_id AND febAmount.dinasType1 = salesSummary.dinas_Type_id\r\n"
+ " AND febAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.dinas_Type_id AS dinasType1,\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS marAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 3 \r\n"
+ " GROUP BY salesSummary1.station_id,salesSummary1.dinas_Type_id \r\n"
+ " ) AS marAmount ON marAmount.station1 = salesSummary.station_id AND marAmount.dinasType1 = salesSummary.dinas_Type_id\r\n"
+ " AND marAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.dinas_Type_id AS dinasType1,\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS aprAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 4 \r\n"
+ " GROUP BY salesSummary1.station_id,salesSummary1.dinas_Type_id \r\n"
+ " ) AS aprAmount ON aprAmount.station1 = salesSummary.station_id AND aprAmount.dinasType1 = salesSummary.dinas_Type_id\r\n"
+ " AND aprAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.dinas_Type_id AS dinasType1,\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS mayAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 5 \r\n"
+ " GROUP BY salesSummary1.station_id,salesSummary1.dinas_Type_id\r\n"
+ " ) AS mayAmount ON mayAmount.station1 = salesSummary.station_id AND mayAmount.dinasType1 = salesSummary.dinas_Type_id\r\n"
+ " AND mayAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.dinas_Type_id AS dinasType1,\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS junAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 6 \r\n"
+ " GROUP BY salesSummary1.station_id,salesSummary1.dinas_Type_id \r\n"
+ " ) AS junAmount ON junAmount.station1 = salesSummary.station_id AND junAmount.dinasType1 = salesSummary.dinas_Type_id\r\n"
+ " AND junAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.dinas_Type_id AS dinasType1,\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS julAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 7 \r\n"
+ " GROUP BY salesSummary1.station_id,salesSummary1.dinas_Type_id \r\n"
+ " ) AS julAmount ON julAmount.station1 = salesSummary.station_id AND julAmount.dinasType1 = salesSummary.dinas_Type_id\r\n"
+ " AND julAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.dinas_Type_id AS dinasType1,\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS augAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 8 \r\n"
+ " GROUP BY salesSummary1.station_id,salesSummary1.dinas_Type_id \r\n"
+ " ) AS augAmount ON augAmount.station1 = salesSummary.station_id AND augAmount.dinasType1 = salesSummary.dinas_Type_id\r\n"
+ " AND augAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.dinas_Type_id AS dinasType1,\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS septAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 9 \r\n"
+ " GROUP BY salesSummary1.station_id,salesSummary1.dinas_Type_id \r\n"
+ " ) AS septAmount ON septAmount.station1 = salesSummary.station_id AND septAmount.dinasType1 = salesSummary.dinas_Type_id\r\n"
+ " AND septAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.dinas_Type_id AS dinasType1,\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS octAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 10 \r\n"
+ " GROUP BY salesSummary1.station_id,salesSummary1.dinas_Type_id\r\n"
+ " ) AS octAmount ON octAmount.station1 = salesSummary.station_id AND octAmount.dinasType1 = salesSummary.dinas_Type_id\r\n"
+ " AND octAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.dinas_Type_id AS dinasType1,\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS novAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 11 \r\n"
+ " GROUP BY salesSummary1.station_id,salesSummary1.dinas_Type_id \r\n"
+ " ) AS novAmount ON novAmount.station1 = salesSummary.station_id AND novAmount.dinasType1 = salesSummary.dinas_Type_id\r\n"
+ " AND novAmount.dealYear1 = salesSummary.deal_Year \r\n" + " LEFT JOIN (\r\n"
+ " SELECT\r\n" + " salesSummary1.dinas_Type_id AS dinasType1,\r\n"
+ " salesSummary1.station_id AS station1 , \r\n"
+ " SUM( salesSummary1.sale_Amount ) AS decAmount1,\r\n"
+ " salesSummary1.deal_Year AS dealYear1 \r\n" + " FROM\r\n"
+ " xyst_dinas_statistics_sale_summary AS salesSummary1 \r\n"
+ " WHERE\r\n" + " salesSummary1.deal_Month = 12 \r\n"
+ " GROUP BY salesSummary1.station_id,salesSummary1.dinas_Type_id\r\n"
+ " ) AS decAmount ON decAmount.station1 = salesSummary.station_id AND decAmount.dinasType1 = salesSummary.dinas_Type_id\r\n"
+ " AND decAmount.dealYear1 = salesSummary.deal_Year");
if (stationList != null && !(stationList.isEmpty()))
hql.append(" WHERE 1=1 AND station.id IN :stationList ");
hql.append(" GROUP BY salesSummary.dinas_Type_id " + " ) AS result ");
hql.append(" WHERE 1=1 ");
if (dealYear != null && !(dealYear.isEmpty()))
hql.append(" and result.dealYear = :dealYear ");
hql.append(" ORDER BY result.station='总计' desc , ").append(" result.dinasType='小计' desc ");
return (List<SalesSummary>) template.execute(new HibernateCallback<List<SalesSummary>>() {
@Override
public List<SalesSummary> doInHibernate(Session session) throws HibernateException {
Query<Tuple> query = session.createNativeQuery(hql.toString(), Tuple.class);
if (dealYear != null && !(dealYear.isEmpty()))
query.setParameter("dealYear", dealYear);
if (stationList != null && !(stationList.isEmpty()))
query.setParameter("stationList", stationList);
List<Tuple> resultList = query.getResultList();
if (resultList.isEmpty())
return null;
List<SalesSummary> list = new ArrayList<SalesSummary>();
for (Tuple resule : resultList) {
SalesSummary salesSummary = new SalesSummary();
salesSummary.setStation(String.valueOf(resule.get(0)));
salesSummary.setDinasType(String.valueOf(resule.get(1)));
salesSummary.setSaleDealAmount(String.valueOf(resule.get(2)));
salesSummary.setSaleAmount(String.valueOf(resule.get(3)));
salesSummary.setAvgAmount(String.valueOf(resule.get(4)));
salesSummary.setJanAmount(String.valueOf(resule.get(5)));
salesSummary.setFebAmount(String.valueOf(resule.get(6)));
salesSummary.setMarAmount(String.valueOf(resule.get(7)));
salesSummary.setAprAmount(String.valueOf(resule.get(8)));
salesSummary.setMayAmount(String.valueOf(resule.get(9)));
salesSummary.setJunAmount(String.valueOf(resule.get(10)));
salesSummary.setJulAmount(String.valueOf(resule.get(11)));
salesSummary.setAugAmount(String.valueOf(resule.get(12)));
salesSummary.setSeptAmount(String.valueOf(resule.get(13)));
salesSummary.setOctAmount(String.valueOf(resule.get(14)));
salesSummary.setNovAmount(String.valueOf(resule.get(15)));
salesSummary.setDecAmount(String.valueOf(resule.get(16)));
list.add(salesSummary);
}
return list;
}
});
}
}
......@@ -18,6 +18,7 @@ import com.xyst.dinas.statistics.constant.AdvancePaymentBalanceSumConstants;
import com.xyst.dinas.statistics.constant.SalesSummaryConstants;
import com.xyst.dinas.statistics.dao.AdvancePaymentBalanceSumDao;
import com.xyst.dinas.statistics.dao.SalesSummaryDao;
import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum;
import com.xyst.dinas.statistics.service.AdvancePaymentBalanceSumService;
import com.xyst.dinas.statistics.service.SalesSummaryService;
import com.beecode.bcp.type.KClass;
......@@ -35,8 +36,6 @@ public class AdvancePaymentBalanceSumServiceImpl implements AdvancePaymentBalanc
@Autowired
private AdvancePaymentBalanceSumDao advancePaymentBalanceSumDao;
@Autowired
private AdvancePaymentBalanceSumDao AdvancePaymentBalanceSumDao;
@Autowired
private ProjectFiledDao projectFiledDao;
@Autowired
PurchaseSandCompanyDao purchaseSandCompanyDao;
......@@ -81,7 +80,7 @@ public class AdvancePaymentBalanceSumServiceImpl implements AdvancePaymentBalanc
AdvancePaymentBalanceSum.set(AdvancePaymentBalanceSumConstants.DEALDAY, nowDate.substring(8, 10));
AdvancePaymentBalanceSum.set(AdvancePaymentBalanceSumConstants.TOTALMARGIN, (BigDecimal)mp.get("total_margin"));
AdvancePaymentBalanceSum.set(AdvancePaymentBalanceSumConstants.MARGINREFUND, (BigDecimal)mp.get("margin_refund"));
AdvancePaymentBalanceSumDao.save(AdvancePaymentBalanceSum);
advancePaymentBalanceSumDao.save(AdvancePaymentBalanceSum);
state = true;
}}catch (Exception e) {
state = false;
......@@ -116,6 +115,13 @@ public class AdvancePaymentBalanceSumServiceImpl implements AdvancePaymentBalanc
return currYearLast;
}
@Override
public List<AdvancePaymentBalanceSum> queryAdvancePaymentBalanceSumByConditions(String dealYear,String regionalCompany) {
// TODO Auto-generated method stub
return advancePaymentBalanceSumDao.queryAdvancePaymentBalanceSumByConditions(dealYear, regionalCompany);
}
}
package com.xyst.dinas.statistics.internal.service;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.ss.usermodel.BorderStyle;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.web.bind.annotation.RequestBody;
import com.xyst.dinas.statistics.dao.AdvancePaymentBalanceSumDao;
import com.xyst.dinas.statistics.dao.OperationsReportsDao;
import com.xyst.dinas.statistics.dao.PaymentDetailsDao;
import com.xyst.dinas.statistics.dao.SalesSummaryDao;
import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum;
import com.xyst.dinas.statistics.entity.OperationsReports;
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;
public class DownLoadStatisticsServiceImpl implements DownLoadStatisticsService {
@Autowired
PaymentDetailsDao paymentDetailsDao;
@Autowired
private SalesSummaryDao salesSummaryDao;
@Autowired
private AdvancePaymentBalanceSumDao advancePaymentBalanceSumDao;
@Autowired
OperationsReportsDao operationsReportsDao;
private static final String DOCX_MODEL_PAYMENT_DETAILS_TABLE_PATH = "payment_details_table.xlsx";
private static final String DOCX_MODEL_SALES_SUMMARE_TABLE_PATH = "sales_summary_table.xlsx";
private static final String DOCX_MODEL_ADVANCEPAYMENT_BALANCE_TABLE_PATH = "advancepayment_balance_table.xlsx";
private static final String DOCX_MODEL_OPERATIONS_REPORT_DAILY_TABLE_PATH = "operations_daily_table.xlsx";
private static final String DOCX_MODEL_OPERATIONS_REPORT_OTHER_TABLE_PATH = "operations_other_table.xlsx";
@Value(value = "classpath*:/com/xyst/dinas/statistics/template/*.xlsx")
private Resource[] resourcesXlsx;
/**
* excel表格下载
*/
@Override
public void downLoadStatisticsServiceTable(HttpServletResponse response, HttpServletRequest request,
@RequestBody ConditionsDetailsInfo conditionsDetailsInfo) throws IOException {
// TODO Auto-generated method stub
if (conditionsDetailsInfo.getFileType().equals("paymentdatails")) {
downLoadPaymentDetailsTable(response, request, conditionsDetailsInfo.getStartDate(),
conditionsDetailsInfo.getEndDate(), conditionsDetailsInfo.getPurchaseSandUnit(),
conditionsDetailsInfo.getProject(), conditionsDetailsInfo.getFundType(),
conditionsDetailsInfo.getRegionalCompany());
} else if (conditionsDetailsInfo.getFileType().equals("salessummary")) {
downLoadSalesSummaryTable(response, request, conditionsDetailsInfo.getDealYear(),
conditionsDetailsInfo.getStationList());
} else if (conditionsDetailsInfo.getFileType().equals("advancepayment")) {
downLoadAdvancePaymentBalanceSumTable(response, request, conditionsDetailsInfo.getDealYear(),
conditionsDetailsInfo.getRegionalCompany());
} else if (conditionsDetailsInfo.getFileType().equals("operationsreports")) {
downLoadOperationsReportsTable(response, request, conditionsDetailsInfo.getStartDate(),
conditionsDetailsInfo.getEndDate(), conditionsDetailsInfo.getFundType(),
conditionsDetailsInfo.getStationList());
}
}
/**
* 回款明细表下载
*
* @param response
* @param request
* @param startDate
* @param endDate
* @param purchaseSandUnit
* @param project
* @param fundType
* @throws IOException
*/
public void downLoadPaymentDetailsTable(HttpServletResponse response, HttpServletRequest request, String startDate,
String endDate, String purchaseSandUnit, String project, String fundType, String paymentDetailsList)
throws IOException {
String fileName = new String("回款明细表".getBytes("gb2312"), "ISO8859-1") + ".xlsx";
InputStream is = null;
for (Resource resource : resourcesXlsx) {
if (DOCX_MODEL_PAYMENT_DETAILS_TABLE_PATH.equals(resource.getFilename())) {
is = resource.getInputStream();
}
}
XSSFWorkbook wb = new XSSFWorkbook(is);
try {
XSSFSheet sheet = wb.getSheet("回款明细表");
XSSFRow row = sheet.createRow(1);
XSSFCellStyle textBorderStyle = wb.createCellStyle();
textBorderStyle.setBorderBottom(BorderStyle.THIN);
textBorderStyle.setBorderTop(BorderStyle.THIN);
textBorderStyle.setBorderLeft(BorderStyle.THIN);
textBorderStyle.setBorderRight(BorderStyle.THIN);
List<PaymentDetails> readyData = paymentDetailsDao.loadPaymentDetailsByConditions(startDate, endDate,
purchaseSandUnit, project, fundType, paymentDetailsList);
Integer r = 0;
while (r < readyData.size()) {
PaymentDetails paymentDetail = readyData.get(r);
row = sheet.createRow(r + 1);
XSSFCell cell0 = row.createCell(0);
cell0.setCellValue(paymentDetail.getCreateTime());
cell0.setCellStyle(textBorderStyle);
XSSFCell cell1 = row.createCell(1);
cell1.setCellValue(paymentDetail.getCreateTime());
cell1.setCellStyle(textBorderStyle);
XSSFCell cell2 = row.createCell(2);
cell2.setCellValue(paymentDetail.getCreateTime());
cell2.setCellStyle(textBorderStyle);
XSSFCell cell3 = row.createCell(3);
cell3.setCellValue(paymentDetail.getCreateTime());
cell3.setCellStyle(textBorderStyle);
XSSFCell cell4 = row.createCell(4);
cell4.setCellValue(paymentDetail.getCreateTime());
cell4.setCellStyle(textBorderStyle);
XSSFCell cell5 = row.createCell(5);
cell5.setCellValue(paymentDetail.getCreateTime());
cell5.setCellStyle(textBorderStyle);
XSSFCell cell6 = row.createCell(6);
cell6.setCellValue(paymentDetail.getCreateTime());
cell6.setCellStyle(textBorderStyle);
r++;
}
OutputStream os = response.getOutputStream();
// 循环写入输出流
response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
wb.write(os);
os.flush();
os.close();
} finally {
wb.close();
}
}
/**
* 销售汇总表下载
*
* @param response
* @param request
* @param startDate
* @param endDate
* @param purchaseSandUnit
* @param project
* @param fundType
* @throws IOException
*/
public void downLoadSalesSummaryTable(HttpServletResponse response, HttpServletRequest request, String dealYear,
String stationList) throws IOException {
String fileName = new String("销售汇总表".getBytes("gb2312"), "ISO8859-1") + ".xlsx";
InputStream is = null;
for (Resource resource : resourcesXlsx) {
if (DOCX_MODEL_SALES_SUMMARE_TABLE_PATH.equals(resource.getFilename())) {
is = resource.getInputStream();
}
}
XSSFWorkbook wb = new XSSFWorkbook(is);
try {
XSSFSheet sheet = wb.getSheet("销售汇总表");
XSSFRow row = sheet.createRow(1);
XSSFCellStyle textBorderStyle = wb.createCellStyle();
textBorderStyle.setBorderBottom(BorderStyle.THIN);
textBorderStyle.setBorderTop(BorderStyle.THIN);
textBorderStyle.setBorderLeft(BorderStyle.THIN);
textBorderStyle.setBorderRight(BorderStyle.THIN);
List<SalesSummary> readyData = salesSummaryDao.loadSalesSummaryByConditions(dealYear, stationList);
Integer r = 0;
while (r < readyData.size()) {
SalesSummary salesSummary = readyData.get(r);
row = sheet.createRow(r + 1);
XSSFCell cell0 = row.createCell(0);
cell0.setCellValue(salesSummary.getStation());
cell0.setCellStyle(textBorderStyle);
XSSFCell cell1 = row.createCell(1);
cell1.setCellValue(salesSummary.getDinasType());
cell1.setCellStyle(textBorderStyle);
XSSFCell cell2 = row.createCell(2);
cell2.setCellValue(salesSummary.getAvgAmount());
cell2.setCellStyle(textBorderStyle);
XSSFCell cell3 = row.createCell(3);
cell3.setCellValue(salesSummary.getSaleDealAmount());
cell3.setCellStyle(textBorderStyle);
XSSFCell cell4 = row.createCell(4);
cell4.setCellValue(salesSummary.getSaleAmount());
cell4.setCellStyle(textBorderStyle);
XSSFCell cellJan = row.createCell(5);
cellJan.setCellValue(salesSummary.getJanAmount());
cellJan.setCellStyle(textBorderStyle);
XSSFCell cellFeb = row.createCell(6);
cellFeb.setCellValue(salesSummary.getFebAmount());
cellFeb.setCellStyle(textBorderStyle);
XSSFCell cellMar = row.createCell(7);
cellMar.setCellValue(salesSummary.getMarAmount());
cellMar.setCellStyle(textBorderStyle);
XSSFCell cellApr = row.createCell(8);
cellApr.setCellValue(salesSummary.getAprAmount());
cellApr.setCellStyle(textBorderStyle);
XSSFCell cellMay = row.createCell(9);
cellMay.setCellValue(salesSummary.getMayAmount());
cellMay.setCellStyle(textBorderStyle);
XSSFCell cellJun = row.createCell(10);
cellJun.setCellValue(salesSummary.getJunAmount());
cellJun.setCellStyle(textBorderStyle);
XSSFCell cellJul = row.createCell(11);
cellJul.setCellValue(salesSummary.getJulAmount());
cellJul.setCellStyle(textBorderStyle);
XSSFCell cellAug = row.createCell(12);
cellAug.setCellValue(salesSummary.getAugAmount());
cellAug.setCellStyle(textBorderStyle);
XSSFCell cellSep = row.createCell(13);
cellSep.setCellValue(salesSummary.getSeptAmount());
cellSep.setCellStyle(textBorderStyle);
XSSFCell cellOct = row.createCell(14);
cellOct.setCellValue(salesSummary.getOctAmount());
cellOct.setCellStyle(textBorderStyle);
XSSFCell cellNov = row.createCell(15);
cellNov.setCellValue(salesSummary.getNovAmount());
cellNov.setCellStyle(textBorderStyle);
XSSFCell cellDec = row.createCell(16);
cellDec.setCellValue(salesSummary.getDecAmount());
cellDec.setCellStyle(textBorderStyle);
r++;
}
OutputStream os = response.getOutputStream();
// 循环写入输出流
response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
wb.write(os);
os.flush();
os.close();
} finally {
wb.close();
}
}
/**
* 预付款及结余表下载
*
* @param response
* @param request
* @param startDate
* @param endDate
* @param purchaseSandUnit
* @param project
* @param fundType
* @throws IOException
*/
public void downLoadAdvancePaymentBalanceSumTable(HttpServletResponse response, HttpServletRequest request,
String dealYear, String regionalCompany) throws IOException {
String fileName = new String("预付款及结余表".getBytes("gb2312"), "ISO8859-1") + ".xlsx";
InputStream is = null;
for (Resource resource : resourcesXlsx) {
if (DOCX_MODEL_ADVANCEPAYMENT_BALANCE_TABLE_PATH.equals(resource.getFilename())) {
is = resource.getInputStream();
}
}
XSSFWorkbook wb = new XSSFWorkbook(is);
try {
XSSFSheet sheet = wb.getSheet("预付款及结余表");
XSSFRow row = sheet.createRow(1);
XSSFCellStyle textBorderStyle = wb.createCellStyle();
textBorderStyle.setBorderBottom(BorderStyle.THIN);
textBorderStyle.setBorderTop(BorderStyle.THIN);
textBorderStyle.setBorderLeft(BorderStyle.THIN);
textBorderStyle.setBorderRight(BorderStyle.THIN);
List<AdvancePaymentBalanceSum> readyData = advancePaymentBalanceSumDao
.queryAdvancePaymentBalanceSumByConditions(dealYear, regionalCompany);
Integer r = 0;
while (r < readyData.size()) {
AdvancePaymentBalanceSum advancePaymentBalanceSum = readyData.get(r);
row = sheet.createRow(r + 1);
XSSFCell cell0 = row.createCell(0);
cell0.setCellValue(advancePaymentBalanceSum.getPurchaseSandUnit());
cell0.setCellStyle(textBorderStyle);
XSSFCell cell1 = row.createCell(1);
cell1.setCellValue(advancePaymentBalanceSum.getProject());
cell1.setCellStyle(textBorderStyle);
XSSFCell cell2 = row.createCell(2);
cell2.setCellValue(advancePaymentBalanceSum.getLastYearAdvance());
cell2.setCellStyle(textBorderStyle);
XSSFCell cell3 = row.createCell(3);
cell3.setCellValue(advancePaymentBalanceSum.getPaymentSales());
cell3.setCellStyle(textBorderStyle);
XSSFCell cell4 = row.createCell(4);
cell4.setCellValue(advancePaymentBalanceSum.getTotalAdvancePayment());
cell4.setCellStyle(textBorderStyle);
XSSFCell cell5 = row.createCell(5);
cell5.setCellValue(advancePaymentBalanceSum.getRefundAmount());
cell5.setCellStyle(textBorderStyle);
XSSFCell cell6 = row.createCell(6);
cell6.setCellValue(advancePaymentBalanceSum.getAdvanceBalance());
cell6.setCellStyle(textBorderStyle);
XSSFCell cellJan = row.createCell(7);
cellJan.setCellValue(advancePaymentBalanceSum.getJanAmount());
cellJan.setCellStyle(textBorderStyle);
XSSFCell cellFeb = row.createCell(8);
cellFeb.setCellValue(advancePaymentBalanceSum.getFebAmount());
cellFeb.setCellStyle(textBorderStyle);
XSSFCell cellMar = row.createCell(9);
cellMar.setCellValue(advancePaymentBalanceSum.getMarAmount());
cellMar.setCellStyle(textBorderStyle);
XSSFCell cellApr = row.createCell(10);
cellApr.setCellValue(advancePaymentBalanceSum.getAprAmount());
cellApr.setCellStyle(textBorderStyle);
XSSFCell cellMay = row.createCell(11);
cellMay.setCellValue(advancePaymentBalanceSum.getMayAmount());
cellMay.setCellStyle(textBorderStyle);
XSSFCell cellJun = row.createCell(12);
cellJun.setCellValue(advancePaymentBalanceSum.getJunAmount());
cellJun.setCellStyle(textBorderStyle);
XSSFCell cellJul = row.createCell(13);
cellJul.setCellValue(advancePaymentBalanceSum.getJulAmount());
cellJul.setCellStyle(textBorderStyle);
XSSFCell cellAug = row.createCell(14);
cellAug.setCellValue(advancePaymentBalanceSum.getAugAmount());
cellAug.setCellStyle(textBorderStyle);
XSSFCell cellSep = row.createCell(15);
cellSep.setCellValue(advancePaymentBalanceSum.getSeptAmount());
cellSep.setCellStyle(textBorderStyle);
XSSFCell cellOct = row.createCell(16);
cellOct.setCellValue(advancePaymentBalanceSum.getOctAmount());
cellOct.setCellStyle(textBorderStyle);
XSSFCell cellNov = row.createCell(17);
cellNov.setCellValue(advancePaymentBalanceSum.getNovAmount());
cellNov.setCellStyle(textBorderStyle);
XSSFCell cellDec = row.createCell(18);
cellDec.setCellValue(advancePaymentBalanceSum.getDecAmount());
cellDec.setCellStyle(textBorderStyle);
r++;
}
OutputStream os = response.getOutputStream();
// 循环写入输出流
response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
wb.write(os);
os.flush();
os.close();
} finally {
wb.close();
}
}
/**
* 经营类统计表下载
*
* @param response
* @param request
* @param dealYear
* @throws IOException
*/
public void downLoadOperationsReportsTable(HttpServletResponse response, HttpServletRequest request,
String startDate, String endDate, String OperationsReportType, String stationList) throws IOException {
String tableName;
if (OperationsReportType.equals("daily")) {
tableName = "经营日报表";
} else if (OperationsReportType.equals("weekly")) {
tableName = "经营周报表";
} else if (OperationsReportType.equals("monthly")) {
tableName = "经营月报表";
} else if (OperationsReportType.equals("quarterly")) {
tableName = "经营季度报表";
} else if (OperationsReportType.equals("years")) {
tableName = "经营年报表";
} else {
tableName = null;
}
String fileName = new String(tableName.getBytes("gb2312"), "ISO8859-1") + ".xlsx";
InputStream is = null;
for (Resource resource : resourcesXlsx) {
if (OperationsReportType.equals("daily")) {
if (DOCX_MODEL_OPERATIONS_REPORT_DAILY_TABLE_PATH.equals(resource.getFilename())) {
is = resource.getInputStream();
}
} else {
if (DOCX_MODEL_OPERATIONS_REPORT_OTHER_TABLE_PATH.equals(resource.getFilename())) {
is = resource.getInputStream();
}
}
}
XSSFWorkbook wb = new XSSFWorkbook(is);
try {
XSSFSheet sheet = wb.getSheet(tableName);
XSSFRow row = sheet.createRow(1);
XSSFCellStyle textBorderStyle = wb.createCellStyle();
textBorderStyle.setBorderBottom(BorderStyle.THIN);
textBorderStyle.setBorderTop(BorderStyle.THIN);
textBorderStyle.setBorderLeft(BorderStyle.THIN);
textBorderStyle.setBorderRight(BorderStyle.THIN);
List<OperationsReports> readyData = operationsReportsDao.loadOperationsReportsByConditions(startDate,
endDate, OperationsReportType, stationList);
Integer r = 0;
while (r < readyData.size()) {
OperationsReports operationsReports = readyData.get(r);
row = sheet.createRow(r + 1);
XSSFCell cell0 = row.createCell(0);
cell0.setCellValue(operationsReports.getStationName());
cell0.setCellStyle(textBorderStyle);
XSSFCell cell1 = row.createCell(1);
cell1.setCellValue(operationsReports.getDinasTypeName());
cell1.setCellStyle(textBorderStyle);
XSSFCell cell2 = row.createCell(2);
cell2.setCellValue(operationsReports.getSaleDealAmount());
cell2.setCellStyle(textBorderStyle);
XSSFCell cell3 = row.createCell(3);
cell3.setCellValue(operationsReports.getSaleAmount());
cell3.setCellStyle(textBorderStyle);
r++;
}
OutputStream os = response.getOutputStream();
// 循环写入输出流
response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
wb.write(os);
os.flush();
os.close();
} finally {
wb.close();
}
}
}
package com.xyst.dinas.statistics.internal.service;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import com.xyst.dinas.statistics.dao.OperationsReportsDao;
import com.xyst.dinas.statistics.entity.OperationsReports;
import com.xyst.dinas.statistics.service.OperationsReportsService;
public class OperationsReportsServiceImpl implements OperationsReportsService {
@Autowired
OperationsReportsDao operationsReportsDao;
@Override
public List<OperationsReports> queryOperationsReportsByConditions(String startDate, String endDate,
String OperationsReportType, String stationList ) {
// TODO Auto-generated method stub
return operationsReportsDao.loadOperationsReportsByConditions(startDate, endDate, OperationsReportType, stationList );
}
}
package com.xyst.dinas.statistics.internal.service;
import java.util.Date;
import java.util.List;
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;
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) {
// TODO Auto-generated method stub
return paymentDetailsDao.loadPaymentDetailsByConditions(startDate,endDate, purchaseSandUnit,
project, fundType, regionalCompany);
}
}
......@@ -15,7 +15,9 @@ import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.transaction.annotation.Transactional;
import com.xyst.dinas.statistics.constant.SalesSummaryConstants;
import com.xyst.dinas.statistics.dao.PaymentDetailsDao;
import com.xyst.dinas.statistics.dao.SalesSummaryDao;
import com.xyst.dinas.statistics.entity.SalesSummary;
import com.xyst.dinas.statistics.service.SalesSummaryService;
import com.beecode.bcp.type.KClass;
import com.beecode.bcp.type.KObject;
......@@ -41,13 +43,15 @@ public class SalesSummaryServiceImpl implements SalesSummaryService {
@Autowired
DinasTypeDao dinasTypeDao;
@Autowired
PaymentDetailsDao paymentDetailsDao;
@Autowired
@Qualifier(SalesSummaryConstants.SALES_SUMMARY_ENTITY)
private KClass SalesSummaryClass;
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Transactional
@Override
public boolean generateAllSalesRecordByDate(String dateNow,String dateBefore) {
public boolean generateAllSalesRecordByDate(String dateNow,String dateBefore) {
boolean state = false;
try {
List<Map<String, Object>> SalesRecordList = SalesRecordDao.getAllSalesRecordByDate(dateNow, dateBefore);
......@@ -77,4 +81,10 @@ public class SalesSummaryServiceImpl implements SalesSummaryService {
return state;
}
@Override
public List<SalesSummary> querySalesSummaryByConditions(String dealYear, String stationList) {
// TODO Auto-generated method stub
return salesSummaryDao.loadSalesSummaryByConditions(dealYear,stationList);
}
}
package com.xyst.dinas.statistics.service;
import java.util.List;
import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum;
public interface AdvancePaymentBalanceSumService {
boolean generateAdvancePaymentBalanceSumByDate(String dateNow,String dateBefore,boolean flag);
List<AdvancePaymentBalanceSum> queryAdvancePaymentBalanceSumByConditions(String dealYear,String regionalCompany);
}
package com.xyst.dinas.statistics.service;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.RequestBody;
import com.xyst.dinas.statistics.web.Info.ConditionsDetailsInfo;
public interface DownLoadStatisticsService {
void downLoadStatisticsServiceTable(HttpServletResponse response, HttpServletRequest request, @RequestBody ConditionsDetailsInfo PaymentDetailsList)
throws IOException;
}
package com.xyst.dinas.statistics.service;
import java.util.List;
import com.xyst.dinas.statistics.entity.OperationsReports;
public interface OperationsReportsService {
List<OperationsReports> queryOperationsReportsByConditions(String startDate, String endDate,
String OperationsReportType, String stationList );
}
package com.xyst.dinas.statistics.service;
import java.util.Date;
import java.util.List;
import com.xyst.dinas.statistics.entity.PaymentDetails;
public interface PaymentDetailsService {
List<PaymentDetails> queryPaymentDetailsByConditions(String startDate, String endDate, String purchaseSandUnit,
String project, String fundType,String regionalCompany);
}
package com.xyst.dinas.statistics.service;
import java.util.List;
import com.xyst.dinas.statistics.entity.SalesSummary;
public interface SalesSummaryService {
boolean generateAllSalesRecordByDate(String dateNow,String dateBefore);
List<SalesSummary> querySalesSummaryByConditions(String dealYear, String stationList);
}
package com.xyst.dinas.statistics.web;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.statistics.entity.AdvancePaymentBalanceSum;
import com.xyst.dinas.statistics.service.AdvancePaymentBalanceSumService;
import com.xyst.dinas.statistics.web.Info.ConditionsDetailsInfo;
@RestController
public class AdvancePaymentBalanceSumController {
@Autowired
AdvancePaymentBalanceSumService advancePaymentBalanceSumService;
@PostMapping(value = "/AdvancePaymentBalanceSum/queryAdvancePaymentBalanceSumByConditions", consumes = "application/json")
public Object queryAdvancePaymentBalanceSumByConditions(
@RequestBody ConditionsDetailsInfo AdvancePaymentBalanceSumList) {
try {
List<AdvancePaymentBalanceSum> advancePaymentBalanceSum = advancePaymentBalanceSumService
.queryAdvancePaymentBalanceSumByConditions(AdvancePaymentBalanceSumList.getDealYear(),
AdvancePaymentBalanceSumList.getRegionalCompany());
return ResponseObj.success("查询预付款及结余汇总成功", advancePaymentBalanceSum);
} catch (RuntimeException e) {
// TODO: handle exception
return ResponseObj.error("查询预付款及结余汇总操作后台失败!详情请查看日志", e.getMessage());
}
}
}
\ No newline at end of file
package com.xyst.dinas.statistics.web;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.statistics.service.DownLoadStatisticsService;
import com.xyst.dinas.statistics.web.Info.ConditionsDetailsInfo;
@RestController
public class DownLoadStatisticsController {
@Autowired
DownLoadStatisticsService downLoadStatisticsService;
@PostMapping(value = "/DownLoadStatistics/downLoadStatisticsService", consumes = "application/json")
public Object downLoadStatisticsService(HttpServletResponse response, HttpServletRequest request,
@RequestBody ConditionsDetailsInfo conditionsDetailsInfo) {
try {
downLoadStatisticsService.downLoadStatisticsServiceTable(response, request, conditionsDetailsInfo);
return ResponseObj.success("数据下成功");
} catch (RuntimeException e) {
// TODO: handle exception
return ResponseObj.error("数据下成功操作后台失败!详情请查看日志", e.getMessage());
} catch (IOException e) {
// TODO Auto-generated catch block
return ResponseObj.error("数据下成功操作后台失败!详情请查看日志", e.getMessage());
}
}
}
package com.xyst.dinas.statistics.web.Info;
public class ConditionsDetailsInfo {
/**
* 查询开始时间
*/
private String startDate;
/**
* 查询结束时间
*/
private String endDate;
/**
* 购砂单位
*/
private String purchaseSandUnit;
/**
* 项目名称
*/
private String project;
/**
* 资金类型/经营报表类型(OperationsReportTypeEunm)
*/
private String fundType;
/**
* 年
*/
private String dealYear;
/**
* 月
*/
private String dealMonth;
/**
* 日
*/
private String dealDay;
/**
* 区域公司
*/
private String regionalCompany;
/**
* 下载文件类型
*/
private String fileType;
/**
* 场站List
* @return
*/
private String stationList;
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
public String getPurchaseSandUnit() {
return purchaseSandUnit;
}
public void setPurchaseSandUnit(String purchaseSandUnit) {
this.purchaseSandUnit = purchaseSandUnit;
}
public String getProject() {
return project;
}
public void setProject(String project) {
this.project = project;
}
public String getFundType() {
return fundType;
}
public void setFundType(String fundType) {
this.fundType = fundType;
}
public String getDealYear() {
return dealYear;
}
public void setDealYear(String dealYear) {
this.dealYear = dealYear;
}
public String getDealMonth() {
return dealMonth;
}
public void setDealMonth(String dealMonth) {
this.dealMonth = dealMonth;
}
public String getDealDay() {
return dealDay;
}
public void setDealDay(String dealDay) {
this.dealDay = dealDay;
}
public String getRegionalCompany() {
return regionalCompany;
}
public void setRegionalCompany(String regionalCompany) {
this.regionalCompany = regionalCompany;
}
public String getFileType() {
return fileType;
}
public void setFileType(String fileType) {
this.fileType = fileType;
}
public String getStationList() {
return stationList;
}
public void setStationList(String stationList) {
this.stationList = stationList;
}
}
package com.xyst.dinas.statistics.web;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.statistics.entity.OperationsReports;
import com.xyst.dinas.statistics.service.OperationsReportsService;
import com.xyst.dinas.statistics.web.Info.ConditionsDetailsInfo;
@RestController
public class OperationsReportsController {
@Autowired
OperationsReportsService operationsReportsService;
@PostMapping(value = "/OperationsReports/queryOperationsReportsByConditions", consumes = "application/json")
public Object queryOperationsReportsByConditions(@RequestBody ConditionsDetailsInfo operationsReportsList) {
try {
List<OperationsReports> PaymentDetails = operationsReportsService.queryOperationsReportsByConditions(
operationsReportsList.getStartDate(), operationsReportsList.getEndDate(),
operationsReportsList.getFundType(),operationsReportsList.getStationList());
return ResponseObj.success("查询经营类统计成功", PaymentDetails);
} catch (RuntimeException e) {
// TODO: handle exception
return ResponseObj.error("查询经营类统计操作后台失败!详情请查看日志", e.getMessage());
}
}
}
package com.xyst.dinas.statistics.web;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.statistics.entity.PaymentDetails;
import com.xyst.dinas.statistics.service.PaymentDetailsService;
import com.xyst.dinas.statistics.web.Info.ConditionsDetailsInfo;
@RestController
public class PaymentDetailsController {
@Autowired
PaymentDetailsService paymentDetailsService;
@PostMapping(value = "/PaymentDetails/queryPaymentDetailsByConditions", consumes = "application/json")
public Object queryPaymentDetailsByConditions(@RequestBody ConditionsDetailsInfo paymentDetailsList) {
try {
List<PaymentDetails> PaymentDetails = paymentDetailsService.queryPaymentDetailsByConditions(
paymentDetailsList.getStartDate(), paymentDetailsList.getEndDate(),
paymentDetailsList.getPurchaseSandUnit(), paymentDetailsList.getProject(),
paymentDetailsList.getFundType(), paymentDetailsList.getRegionalCompany());
return ResponseObj.success("查询回款明细成功", PaymentDetails);
} catch (RuntimeException e) {
// TODO: handle exception
return ResponseObj.error("查询回款明细操作后台失败!详情请查看日志", e.getMessage());
}
}
}
......@@ -9,8 +9,10 @@ import org.springframework.web.bind.annotation.RestController;
import com.beecode.inz.basis.team.pojo.ResponseObj;
import com.xyst.dinas.sales.web.info.SalesRecordInfo;
import com.xyst.dinas.statistics.entity.SalesSummary;
import com.xyst.dinas.statistics.service.AdvancePaymentBalanceSumService;
import com.xyst.dinas.statistics.service.SalesSummaryService;
import com.xyst.dinas.statistics.web.Info.ConditionsDetailsInfo;
@RestController
public class SalesSummaryController {
......@@ -21,16 +23,25 @@ public class SalesSummaryController {
AdvancePaymentBalanceSumService advancePaymentBalanceSumService;
@PostMapping(value = "/SalesSummary/save", consumes = "application/json")
public void saveSalesSummary(@RequestBody List<SalesRecordInfo>
salesRecordList) {
/* if (salesRecordList.isEmpty()) { return
ResponseObj.error("传递的销售台账数据条数为0!请确认!"); } else { return
salesSummaryService.generateAllSalesRecordByDate("2021-05-08", "2021-01-01"); }
}*/
/*if (salesRecordList.isEmpty()) { return
ResponseObj.error("传递的销售台账数据条数为0!请确认!"); } else { return
advancePaymentBalanceSumService.generateAdvancePaymentBalanceSumByDate(
"2021-05-08", "2021-05-07",true); }*/
}}
public void saveSalesSummary(@RequestBody List<SalesRecordInfo> salesRecordList) {
if (salesRecordList.isEmpty()) {
ResponseObj.error("传递的销售台账数据条数为0!请确认!");
} else {
salesSummaryService.generateAllSalesRecordByDate("2021-05-08", "2021-01-01");
}
}
@PostMapping(value = "/SalesSummary/querySalesSummaryByConditions", consumes = "application/json")
public Object querySalesSummaryByConditions(@RequestBody ConditionsDetailsInfo salesSummaryList) {
try {
List<SalesSummary> salesSummary = salesSummaryService
.querySalesSummaryByConditions(salesSummaryList.getDealYear(), salesSummaryList.getStationList());
return ResponseObj.success("查询销售汇总成功", salesSummary);
} catch (RuntimeException e) {
// TODO: handle exception
return ResponseObj.error("查询销售汇总操作后台失败!详情请查看日志", e.getMessage());
}
}
}
......@@ -208,8 +208,6 @@
AdvancePaymentAndBalanceSummary AS AdvancePaymentAndBalanceSummary1
WHERE
AdvancePaymentAndBalanceSummary1.dealMonth = 11
AND AdvancePaymentAndBalanceSummary1.dealYear = :?year
AND AdvancePaymentAndBalanceSummary1.regionalCompany = :?regionalCompanyName
GROUP BY AdvancePaymentAndBalanceSummary1.project
) AS novAmount ON novAmount.project1 = AdvancePaymentAndBalanceSummary.project
AND novAmount.dealYear1 = AdvancePaymentAndBalanceSummary.dealYear
......
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