Commit 785ad1ee by yanHeng

[修改] 销售汇总

parent b72093a5
package com.xyst.dinas.statistics.internal.dao;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import javax.persistence.Tuple;
import com.beecode.bcp.type.KObject;
import com.xyst.dinas.statistics.constant.SalesSummaryConstants;
import com.xyst.dinas.statistics.dao.SalesSummaryDao;
import com.xyst.dinas.statistics.entity.SalesSummary;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.query.Query;
......@@ -13,10 +11,10 @@ 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.constant.SalesSummaryConstants;
import com.xyst.dinas.statistics.dao.SalesSummaryDao;
import com.xyst.dinas.statistics.entity.SalesSummary;
import javax.persistence.Tuple;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class SalesSummaryDaoImpl implements SalesSummaryDao {
@Autowired
......@@ -50,244 +48,162 @@ public class SalesSummaryDaoImpl implements SalesSummaryDao {
+ " FORMAT( result.novAmount , 2) AS novAmount,\r\n"
+ " FORMAT( result.decAmount , 2) 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 salesSummary.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 ");
hql.append(" (\r\n" + "SELECT\n" +
"\t '总计' AS station,\n" +
"\t '--' AS dinasType,\n" +
"\t SUM( aggre.saleDealAmount ) AS saleDealAmount,\n" +
"\t SUM( aggre.saleAmount ) AS saleAmount,\n" +
"\t AVG(avgAmount) AS avgAmount,\n" +
"\t sum(aggre.janAmount) AS janAmount,\n" +
"\t sum(aggre.febAmount) AS febAmount,\n" +
"\t sum(aggre.marAmount) AS marAmount,\n" +
"\t sum(aggre.aprAmount) AS aprAmount,\n" +
"\t sum(aggre.mayAmount) AS mayAmount,\n" +
"\t sum(aggre.junAmount) AS junAmount,\n" +
"\t sum(aggre.julAmount) AS julAmount,\n" +
"\t sum(aggre.augAmount) AS augAmount,\n" +
"\t sum(aggre.septAmount) AS septAmount,\n" +
"\t sum(aggre.octAmount) AS octAmount,\n" +
"\t sum(aggre.novAmount) AS novAmount,\n" +
"\t sum(aggre.decAmount) AS decAmount,\n" +
"\t aggre.dealYear AS dealYear \n" +
"FROM ");
hql.append(" ( 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 salesSummary.station_id IN ( :stationList ) ");
hql.append(" GROUP BY salesSummary.station_id\r\n" + " UNION ALL\r\n" + " SELECT\r\n"
if (dealYear != null && !(dealYear.isEmpty()))
hql.append(" and salesSummary.deal_year = :dealYear ");
hql.append(" GROUP BY salesSummary.dinas_Type_id) aggre\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"
......@@ -420,6 +336,8 @@ public class SalesSummaryDaoImpl implements SalesSummaryDao {
+ " AND decAmount.dealYear1 = salesSummary.deal_Year");
if (stationList != null && !(stationList.isEmpty()))
hql.append(" WHERE 1=1 AND salesSummary.station_id IN ( :stationList ) ");
if (dealYear != null && !(dealYear.isEmpty()))
hql.append(" and salesSummary.deal_year = :dealYear ");
hql.append(" GROUP BY salesSummary.dinas_Type_id " + " ) AS result ");
hql.append(" WHERE 1=1 ");
if (dealYear != null && !(dealYear.isEmpty()))
......
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