Commit a59c4b7b by wukaiqiang

)销售汇总、回款明细(未加查询条件)

parent 0a55b934
......@@ -42,58 +42,66 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
}
@Override
public List<Map<String, Object>> getAllRelevantData(String starDate,String nowDate) {
public List<Map<String, Object>> getAllRelevantData(String starDate, String nowDate) {
// 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.i as i1 , ");// 预付款余额
hql.append("sum( xx.j1 ) as j , ");// 保证金总额
hql.append("sum(xx.q1) as q ");// 保证金退款额
hql.append("from (").append(
" SELECT REGIONALCOMPANY.id AS a', PURCHASESANDUNIT.id AS b1, CONTRACT.id AS c1, PROJECT.id AS d1, '' AS e1, sum( SALESRECODE.amount ) AS f1, ");
hql.append(" CASE WHEN ARTIFICIAL.fund_type = 'DEPOSIT' THEN '' ELSE sum( ARTIFICIAL.recharge_amount ) END AS g1, ");
hql.append(" CASE WHEN REFUND.fund_type = '1' THEN '' 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 '' END AS j1, ");
hql.append(" CASE WHEN REFUND.fund_type = '1' THEN sum( REFUND.actual_refund_amount ) ELSE '' END AS q1 ");
hql.append(" from ").append(DinasOrganizationConstant.ORGANIZATION_ENTITY).append(" as REGIONALCOMPANY ");// 區域公司
hql.append("LEFT JOIN ").append(PurchaseSandCompanyConstant.PURCHASE_SAND_COMPANY_NTITY)
.append(" as PURCHASESANDUNIT ON PURCHASESANDUNIT.regional_company = REGIONALCOMPANY.id ");// 购砂单位
hql.append("LEFT JOIN ").append(ContractConstant.ENTITY_CONTRACT)
.append(" as CONTRACT ON CONTRACT.purchase_sand_Unit_id = PURCHASESANDUNIT.id AND CONTRACT.contract_state = 'EXECUTING' ");// 合同
hql.append("LEFT JOIN ").append(ProjectFiledConstant.PROJECTFILED_NTITY )
.append(" as PROJECT on CONTRACT.project_id = PROJECT.id ");// 项目
hql.append("LEFT JOIN ").append(SalesRecordConstant.ENTITY).append(" 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 ").append(ArtificialRechargeConstant.ENTITY)
.append(" 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 ").append(FinanceRefundConstant.ENTITY).append(" 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(" 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 ; ");// 外层分组
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, sum( SALESRECODE.amount ) AS e1, sum( SALESRECODE.amount ) AS f1, ");
hql.append(" CASE WHEN ARTIFICIAL.fund_type = 'DEPOSIT' THEN '' ELSE sum( ARTIFICIAL.recharge_amount ) END AS g1, "
); hql. append(" CASE WHEN REFUND.fund_type = '1' THEN '' 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 '' END AS j1, "
); hql.append(" CASE WHEN REFUND.fund_type = '1' THEN sum( REFUND.actual_refund_amount ) ELSE '' 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 ");// 外层分组
//String sql = "SELECT xx.a1 as a, xx.b1 as b, xx.d1 as d, xx.e1 as e, xx.f1 as f, sum( xx.g1 ) as g, sum( xx.h1 ) as h, xx.i1 as i, sum( xx.j1 ) as j, sum(xx.q1 ) as q FROM ( SELECT REGIONALCOMPANY.id AS a1, PURCHASESANDUNIT.id AS b1, CONTRACT.id AS c1, PROJECT.id AS d1, sum( SALESRECODE.amount ) AS e1, sum( SALESRECODE.amount ) AS f1, CASE WHEN ARTIFICIAL.fund_type = 'DEPOSIT' THEN '' ELSE sum( ARTIFICIAL.recharge_amount ) END AS g1, CASE WHEN REFUND.fund_type = '1' THEN '' ELSE sum( REFUND.actual_refund_amount ) END AS h1, CONTRACT.advance_balance AS i1, CASE WHEN ARTIFICIAL.fund_type = 'DEPOSIT' THEN sum( ARTIFICIAL.recharge_amount ) ELSE '' END AS j1, CASE WHEN REFUND.fund_type = '1' THEN sum( REFUND.actual_refund_amount ) ELSE '' END AS q1 FROM xyst_dinas_biz_organization AS REGIONALCOMPANY LEFT JOIN xyst_dinas_project_purchase_sand_company AS PURCHASESANDUNIT ON PURCHASESANDUNIT.regional_company = REGIONALCOMPANY.id LEFT JOIN xyst_dinas_contract_master AS CONTRACT ON CONTRACT.purchase_sand_Unit_id = PURCHASESANDUNIT.id AND CONTRACT.contract_state = 'EXECUTING' LEFT JOIN xyst_dinas_project_filed AS PROJECT ON CONTRACT.project_id = PROJECT.id LEFT JOIN xyst_dinas_sales_record AS SALESRECODE ON SALESRECODE.project_id = PROJECT.id AND SALESRECODE.regional_company_id = REGIONALCOMPANY.id AND SALESRECODE.contract_id = CONTRACT.id AND ( SALESRECODE.sync_time < '2021-05-08' AND SALESRECODE.sync_time >= '2021-05-06' ) LEFT JOIN xyst_dinas_finance_artificial_recharge AS ARTIFICIAL ON ARTIFICIAL.regional_company = REGIONALCOMPANY.id AND ARTIFICIAL.contract = CONTRACT.id AND ARTIFICIAL.purchase_sand_unit = PURCHASESANDUNIT.id AND ( ARTIFICIAL.create_time < '2021-05-08' AND ARTIFICIAL.create_time >= '2021-05-06' ) LEFT JOIN xyst_dinas_finance_refund AS REFUND ON REFUND.regional_company = REGIONALCOMPANY.id AND REFUND.contract = CONTRACT.id AND REFUND.purchase_sand_company = PURCHASESANDUNIT.id AND ( REFUND.create_time < '2021-05-08' AND REFUND.create_time >= '2021-05-06' ) WHERE PURCHASESANDUNIT.regional_company IS NOT NULL GROUP BY CONTRACT.id,ARTIFICIAL.project,ARTIFICIAL.contract,ARTIFICIAL.purchase_sand_unit,REFUND.project,REFUND.contract,REFUND.purchase_sand_company,ARTIFICIAL.fund_type,REFUND.fund_type ) AS xx GROUP BY xx.a1,xx.b1,xx.c1,xx.d1,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.createQuery(hql.toString(), Tuple.class);
query.setParameter("datebefore",starDate);
Query<Tuple> query = session.createNativeQuery(hql.toString(), Tuple.class);
query.setParameter("dateBefore",starDate);
query.setParameter("nowDate",nowDate);
List<Tuple> resultList = query.getResultList();
if (resultList.isEmpty())
......@@ -104,13 +112,13 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
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", Convert.toUUID(resule.get(3)));
map.put("payment_sales", Convert.toUUID(resule.get(4)));
map.put("total_advance_payment", Convert.toUUID(resule.get(5)));
map.put("advance_payment_refund_amount", Convert.toUUID(resule.get(6)));
map.put("advance_balance", Convert.toUUID(resule.get(7)));
map.put("total_margin", Convert.toUUID(resule.get(8)));
map.put("margin_refund", Convert.toUUID(resule.get(9)));
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", BigDecimal.valueOf(resule.get(8,Double.class)));
map.put("margin_refund", BigDecimal.valueOf(resule.get(9,Double.class)));
list.add(map);
}
return list;
......
......@@ -12,28 +12,26 @@ import com.xyst.dinas.sales.web.info.SalesRecordInfo;
import com.xyst.dinas.statistics.service.AdvancePaymentBalanceSumService;
import com.xyst.dinas.statistics.service.SalesSummaryService;
@RestController
public class SalesSummaryController {
@Autowired
SalesSummaryService salesSummaryService;
@Autowired
AdvancePaymentBalanceSumService advancePaymentBalanceSumService;
@PostMapping(value = "/SalesSummary/save", consumes = "application/json")
@PostMapping(value = "/SalesSummary/save", consumes = "application/json")
public Object saveSalesSummary(@RequestBody List<SalesRecordInfo>
salesRecordList) {
/* if (salesRecordList.isEmpty()) { return
ResponseObj.error("传递的销售台账数据条数为0!请确认!"); } else { return
salesSummaryService.generateAllSalesRecordByDate("2021-05-08", "2021-05-07"); }
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"); }
}
ResponseObj.error("传递的销售台账数据条数为0!请确认!"); } else { return
advancePaymentBalanceSumService.generateAdvancePaymentBalanceSumByDate(
"2021-05-08", "2021-05-07"); } }
}
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>e22370f8-8226-4711-a996-764db3360dff</id>
<name>com.xyst.dinas.statistics.statisticsquery.PaymentDetailsQueryView</name>
<title>回款明细</title>
<description>回款明细</description>
<define>advanced.query.view</define>
<define-version>1.0</define-version>
<content>
<view>
{
"name": "回款明细",
"title": "回款明细",
"description": "回款明细",
"actions": [],
"scenes" : {
"isShowScenes" : true
},
"fuzzySearch": [
],
"isShowTabCountZero": true,
"groups": [
{
"name": "all",
"title": "全部",
"content": {
"datasource": "com.xyst.dinas.statistics.statisticsquery.PaymentDetailsAdvQuery"
}
}
],
"content": {
"isShowView": "table",
"datasource": "com.xyst.dinas.statistics.statisticsquery.PaymentDetailsAdvQuery",
"arguments": {
"items": [
]
},
"actions": [
],
"table": {
"selectType": "MULTI",
"serialNumber": "series",
"pageSize": 10,
"orders":[
],
"expand": false,
"columns": [
{
"type": "VALUE",
"title": "id",
"key": "id",
"columnType": {
"name" : "inner",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "时间",
"key": "createTime",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "购砂单位",
"key": "purchaseSandUnit",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "项目名称",
"key": "project",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "资金类型",
"key": "fundType",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "收款金额",
"key": "rechargeAmount",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "退款金额",
"key": "actualRefundAmount",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "备注",
"key": "remark",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
}
]
}
}
}
</view>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>e771e067-c864-454b-9ca1-cb12790401e2</id>
<name>com.xyst.dinas.statistics.statisticsquery.SalesSummaryAdvQuery</name>
<title>销售汇总</title>
<description>销售汇总</description>
<define>advanced.query.template</define>
<define-version>1.0</define-version>
<content>
<template>
<sql-type>SQL</sql-type>
<sql>
SELECT
'总计' as station,
'' as dinasType,
SUM(salesSummary.saleDealAmount) as saleDealAmount,
SUM(salesSummary.saleAmount) as saleAmount,
'' as avgAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '1'
AND SalesSummary1.dealYear = :?year
) AS JanAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '2'
AND SalesSummary1.dealYear = :?year
) AS FebAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '3'
AND SalesSummary1.dealYear = :?year
) AS MarAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '4'
AND SalesSummary1.dealYear = :?year
) AS MarAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '5'
AND SalesSummary1.dealYear = :?year
) AS MayAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '6'
AND SalesSummary1.dealYear = :?year
) AS JunAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '7'
AND SalesSummary1.dealYear = :?year
) AS JulAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '8'
AND SalesSummary1.dealYear = :?year
) AS AugAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '9'
AND SalesSummary1.dealYear = :?year
) AS SeptAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '10'
AND SalesSummary1.dealYear = :?year
) AS OctAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '11'
AND SalesSummary1.dealYear = :?year
) AS NovAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '12'
AND SalesSummary1.dealYear = :?year
) AS DecAmount
FROM
SalesSummary as salesSummary
LEFT JOIN Station station ON station.id = salesSummary.station
LEFT JOIN DinasType dinasType ON dinasType.id = salesSummary.dinasType
where salesSummary.deal_year = :?year
GROUP BY salesSummary.deal_year
UNION ALL
SELECT
station.station_name as station,
'小计' as dinasType,
SUM(salesSummary.saleDealAmount) as saleDealAmount,
SUM(salesSummary.saleAmount) as saleAmount,
'' as avgAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '1'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dealYear = :?year
) AS JanAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '2'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dealYear = :?year
) AS FebAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '3'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dealYear = :?year
) AS MarAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '4'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dealYear = :?year
) AS MarAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '5'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dealYear = :?year
) AS MayAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '6'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dealYear = :?year
) AS JunAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '7'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dealYear = :?year
) AS JulAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '8'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dealYear = :?year
) AS AugAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '9'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dealYear = :?year
) AS SeptAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '10'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dealYear = :?year
) AS OctAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '11'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dealYear = :?year
) AS NovAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '12'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dealYear = :?year
) AS DecAmount
FROM
SalesSummary salesSummary
LEFT JOIN Station station ON station.id = salesSummary.station
LEFT JOIN DinasType dinasType ON dinasType.id = salesSummary.dinasType
where salesSummary.deal_year = :?year
GROUP BY station
UNION ALL
SELECT
station.station_name as station,
dinasType.dinas_type_name as dinasType,
SUM(salesSummary.saleDealAmount) as saleDealAmount,
SUM(salesSummary.saleAmount) as saleAmount,
SUM(salesSummary.saleAmount)/SUM(salesSummary.saleDealAmount) as avgAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '1'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dinasType = SalesSummary.dinasType
AND SalesSummary1.dealYear = :?year
) AS JanAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '2'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dinasType = SalesSummary.dinasType
AND SalesSummary1.dealYear = :?year
) AS FebAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '3'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dinasType = SalesSummary.dinasType
AND SalesSummary1.dealYear = :?year
) AS MarAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '4'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dinasType = SalesSummary.dinasType
AND SalesSummary1.dealYear = :?year
) AS MarAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '5'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dinasType = SalesSummary.dinasType
AND SalesSummary1.dealYear = :?year
) AS MayAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '6'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dinasType = SalesSummary.dinasType
AND SalesSummary1.dealYear = :?year
) AS JunAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '7'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dinasType = SalesSummary.dinasType
AND SalesSummary1.dealYear = :?year
) AS JulAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '8'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dinasType = SalesSummary.dinasType
AND SalesSummary1.dealYear = :?year
) AS AugAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '9'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dinasType = SalesSummary.dinasType
AND SalesSummary1.dealYear = :?year
) AS SeptAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '10'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dinasType = SalesSummary.dinasType
AND SalesSummary1.dealYear = :?year
) AS OctAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '11'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dinasType = SalesSummary.dinasType
AND SalesSummary1.dealYear = :?year
) AS NovAmount,
(
SELECT
SUM( SalesSummary1.saleAmount ) AS JanAmount
FROM
SalesSummary SalesSummary1
WHERE
SalesSummary1.dealMonth = '12'
AND SalesSummary1.station = SalesSummary.station
AND SalesSummary1.dinasType = SalesSummary.dinasType
AND SalesSummary1.dealYear = :?year
) AS DecAmount
FROM
SalesSummary salesSummary
LEFT JOIN Station station ON station.id = salesSummary.station
LEFT JOIN DinasType dinasType ON dinasType.id = salesSummary.dinasType
where salesSummary.deal_year = :?year
GROUP BY station,dinasType
ORDER BY (station = '总计') DESC,
station,saleDealAmount DESC
</sql>
</template>
</content>
</metadata>
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