Commit 0ebf49f8 by wukaiqiang

调整统计SQL格式,增加group by条件参数

parent 214db6af
......@@ -54,7 +54,7 @@
WHERE
( salesSummary.dealTime >= :?startDate AND salesSummary.dealTime <= :?endDate )
AND station.id IN ( :?stationList )
ORDER BY
ORDER BY :?totalGroupBy , :?subtotalGroupBy ,
stationName
</sql>
</template>
......
......@@ -11,51 +11,51 @@
<template>
<sql-type>SQL</sql-type>
<sql>
SELECT
station.stationName AS stationName,
dinasType.dinasTypeName AS dinasTypeName,
( SUM( salesSummary.saleDealAmount ) / 1000 ) AS saleDealAmount,
( SUM( salesSummary.saleAmount ) / 1000 ) AS saleAmount
FROM
SalesSummary AS salesSummary
LEFT JOIN Station AS station ON station.id = salesSummary.station
LEFT JOIN DinasType AS dinasType ON dinasType.id = salesSummary.dinasType
WHERE
( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate )
AND station.id IN ( :?stationList )
GROUP BY
salesSummary.station,
salesSummary.dinasType
UNION ALL
SELECT
station.stationName AS stationName,
'小计' AS dinasTypeName,
( SUM( salesSummary.saleDealAmount ) / 1000 ) AS saleDealAmount,
( SUM( salesSummary.saleAmount ) / 1000 ) AS saleAmount
FROM
SalesSummary AS salesSummary
LEFT JOIN Station AS station ON station.id = salesSummary.station
LEFT JOIN DinasType AS dinasType ON dinasType.id = salesSummary.dinasType
WHERE
( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate )
AND station.id IN ( :?stationList )
GROUP BY
salesSummary.station
UNION ALL
SELECT
'总计' AS stationName,
'———' AS dinasTypeName,
( SUM( salesSummary.saleDealAmount ) / 1000 ) AS saleDealAmount,
( SUM( salesSummary.saleAmount ) / 1000 ) AS saleAmount
FROM
SalesSummary AS salesSummary
LEFT JOIN Station AS station ON station.id = salesSummary.station
LEFT JOIN DinasType AS dinasType ON dinasType.id = salesSummary.dinasType
WHERE
( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate )
AND station.id IN ( :?stationList )
ORDER BY
stationName
SELECT
station.stationName AS stationName,
dinasType.dinasTypeName AS dinasTypeName,
( SUM( salesSummary.saleDealAmount ) / 1000 ) AS saleDealAmount,
( SUM( salesSummary.saleAmount ) / 1000 ) AS saleAmount
FROM
SalesSummary AS salesSummary
LEFT JOIN Station AS station ON station.id = salesSummary.station
LEFT JOIN DinasType AS dinasType ON dinasType.id = salesSummary.dinasType
WHERE
( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate )
AND station.id IN ( :?stationList )
GROUP BY
salesSummary.station,
salesSummary.dinasType
UNION ALL
SELECT
station.stationName AS stationName,
'小计' AS dinasTypeName,
( SUM( salesSummary.saleDealAmount ) / 1000 ) AS saleDealAmount,
( SUM( salesSummary.saleAmount ) / 1000 ) AS saleAmount
FROM
SalesSummary AS salesSummary
LEFT JOIN Station AS station ON station.id = salesSummary.station
LEFT JOIN DinasType AS dinasType ON dinasType.id = salesSummary.dinasType
WHERE
( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate )
AND station.id IN ( :?stationList )
GROUP BY
salesSummary.station
UNION ALL
SELECT
'总计' AS stationName,
'———' AS dinasTypeName,
( SUM( salesSummary.saleDealAmount ) / 1000 ) AS saleDealAmount,
( SUM( salesSummary.saleAmount ) / 1000 ) AS saleAmount
FROM
SalesSummary AS salesSummary
LEFT JOIN Station AS station ON station.id = salesSummary.station
LEFT JOIN DinasType AS dinasType ON dinasType.id = salesSummary.dinasType
WHERE
( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate )
AND station.id IN ( :?stationList )
ORDER BY :?totalGroupBy , :?subtotalGroupBy ,
stationName
</sql>
</template>
</content>
......
......@@ -10,83 +10,89 @@
<content>
<template>
<sql-type>SQL</sql-type>
<sql>
SELECT
artificialRecharge.id as id,
artificialRecharge.createTime AS createTime,
purchaseSandCompanyon.name AS purchaseSandUnit,
projectFiled.projectName AS project,
CASE
WHEN artificialRecharge.fundType ='DEPOSIT' then '保证金充值'
ELSE '预付款充值'
END
as fundType,
artificialRecharge.rechargeAmount AS rechargeAmount,
'-' AS actualRefundAmount,
artificialRecharge.remark AS remark
FROM
ArtificialRecharge as artificialRecharge
LEFT JOIN PurchaseSandCompany as purchaseSandCompanyon on purchaseSandCompanyon.id = artificialRecharge.purchaseSandUnit
LEFT JOIN ProjectFiled AS projectFiled ON projectFiled.id = artificialRecharge.project
WHERE artificialRecharge.regionalCompany = :?regionalCompanyId
AND (artificialRecharge.createTime &gt;= :?startDate AND artificialRecharge.createTime &lt;= :?endDate)
AND purchaseSandCompanyon.name LIKE :?purchaseSandCompanyonName
AND projectFiled.projectName LIKE :?projectName
AND artificialRecharge.fundType = :?fundType
UNION ALL
SELECT
expenseAdjust.id as id,
expenseAdjust.createTime AS createTime,
purchaseSandCompanyon.name AS purchaseSandUnit,
projectFiled.projectName AS project,
CASE
WHEN expenseAdjust.fundType ='DEPOSIT' then '保证金费用调整'
ELSE '预付款费用调整'
END
as fundType,
CASE
WHEN expenseAdjust.expenseAdjustAmount &gt;= '0' THEN
expenseAdjust.expenseAdjustAmount ELSE '-'
END AS expenseAdjustAmount,
CASE
WHEN expenseAdjust.expenseAdjustAmount &lt; '0'
THEN (- expenseAdjust.expenseAdjustAmount) ELSE '-'
END AS actualRefundAmount,
expenseAdjust.remark AS remark
FROM
ExpenseAdjust as expenseAdjust
LEFT JOIN PurchaseSandCompany as purchaseSandCompanyon on purchaseSandCompanyon.id = expenseAdjust.purchaseSandUnit
LEFT JOIN ProjectFiled AS projectFiled ON projectFiled.id = expenseAdjust.project
WHERE expenseAdjust.regionalCompany = :?regionalCompanyId
AND (expenseAdjust.createTime &gt;= :?startDate AND expenseAdjust.createTime &lt;= :?endDate)
AND purchaseSandCompanyon.name LIKE :?purchaseSandCompanyonName
AND projectFiled.projectName LIKE :?projectName
AND expenseAdjust.fundType = :?fundType
UNION ALL
SELECT
financeRefund.id as id,
financeRefund.createTime AS createTime,
purchaseSandCompanyon.name AS purchaseSandUnit,
projectFiled.projectName AS project,
CASE
WHEN financeRefund.fundType ='1' THEN '保证金退费'
ELSE '预付款退费'
END
as fundType,
'-' AS rechargeAmount,
financeRefund.actualRefundAmount AS actualRefundAmount,
financeRefund.refundExplain AS remark
FROM
FinanceRefund as financeRefund
LEFT JOIN PurchaseSandCompany as purchaseSandCompanyon on purchaseSandCompanyon.id = financeRefund.purchaseSandCompany
LEFT JOIN ProjectFiled AS projectFiled ON projectFiled.id = financeRefund.project
WHERE financeRefund.regionalCompany = :?regionalCompanyId
AND (financeRefund.createTime &gt;= :?startDate AND financeRefund.createTime &lt;= :?endDate)
AND purchaseSandCompanyon.name LIKE :?purchaseSandCompanyonName
AND projectFiled.projectName LIKE :?projectName
AND ( case when 'DEPOSIT' = :?fundType then '1' else '0' end ) = financeRefund.fundType
ORDER BY createTime DESC
</sql>
<sql>
SELECT
financeRefund.id AS id,
financeRefund.createTime AS createTime,
purchaseSandCompanyon.NAME AS purchaseSandUnit,
projectFiled.projectName AS project,
CASE
WHEN financeRefund.fundType = 1 THEN
'保证金退费' ELSE '预付款退费'
END AS fundType,
'-' AS rechargeAmount,
financeRefund.actualRefundAmount AS actualRefundAmount,
financeRefund.refundExplain AS remark
FROM
FinanceRefund AS financeRefund
LEFT JOIN PurchaseSandCompany AS purchaseSandCompanyon ON purchaseSandCompanyon.id = financeRefund.purchaseSandCompany
LEFT JOIN ProjectFiled AS projectFiled ON projectFiled.id = financeRefund.project
WHERE
financeRefund.regionalCompany = :?regionalCompanyId
AND ( financeRefund.createTime &gt;= :?startDate AND financeRefund.createTime &lt;= :?endDate )
AND purchaseSandCompanyon.NAME LIKE :?purchaseSandCompanyonName
AND projectFiled.projectName LIKE :?projectName
AND ( CASE WHEN 'DEPOSIT' = :?fundType THEN '1' ELSE '0' END ) = financeRefund.fundType
UNION ALL
SELECT
artificialRecharge.id AS id,
artificialRecharge.createTime AS createTime,
purchaseSandCompanyon.NAME AS purchaseSandUnit,
projectFiled.projectName AS project,
CASE
WHEN artificialRecharge.fundType = 'DEPOSIT' THEN
'保证金充值' ELSE '预付款充值'
END AS fundType,
artificialRecharge.rechargeAmount AS rechargeAmount,
'-' AS actualRefundAmount,
artificialRecharge.remark AS remark
FROM
ArtificialRecharge AS artificialRecharge
LEFT JOIN PurchaseSandCompany AS purchaseSandCompanyon ON purchaseSandCompanyon.id = artificialRecharge.purchaseSandUnit
LEFT JOIN ProjectFiled AS projectFiled ON projectFiled.id = artificialRecharge.project
WHERE
artificialRecharge.regionalCompany = :?regionalCompanyId
AND ( artificialRecharge.createTime &gt;= :?startDate AND artificialRecharge.createTime &lt;= :?endDate )
AND purchaseSandCompanyon.NAME LIKE :?purchaseSandCompanyonName
AND projectFiled.projectName LIKE :?projectName
AND artificialRecharge.fundType = :?fundType
UNION ALL
SELECT
expenseAdjust.id AS id,
expenseAdjust.createTime AS createTime,
purchaseSandCompanyon.NAME AS purchaseSandUnit,
projectFiled.projectName AS project,
CASE
WHEN expenseAdjust.fundType = 'DEPOSIT' THEN
'保证金费用调整' ELSE '预付款费用调整'
END AS fundType,
CASE
WHEN expenseAdjust.expenseAdjustAmount &gt;= '0' THEN
expenseAdjust.expenseAdjustAmount ELSE '-'
END AS rechargeAmount,
CASE
WHEN expenseAdjust.expenseAdjustAmount &lt;
'0' THEN
( - expenseAdjust.expenseAdjustAmount ) ELSE '-'
END AS actualRefundAmount,
expenseAdjust.remark AS remark
FROM
ExpenseAdjust AS expenseAdjust
LEFT JOIN PurchaseSandCompany AS purchaseSandCompanyon ON purchaseSandCompanyon.id = expenseAdjust.purchaseSandUnit
LEFT JOIN ProjectFiled AS projectFiled ON projectFiled.id = expenseAdjust.project
WHERE
expenseAdjust.regionalCompany = :?regionalCompanyId
AND ( expenseAdjust.createTime &gt;= :?startDate AND expenseAdjust.createTime &lt;= :?endDate )
AND purchaseSandCompanyon.NAME LIKE :?purchaseSandCompanyonName
AND projectFiled.projectName LIKE :?projectName
AND expenseAdjust.fundType = :?fundType
ORDER BY createTime 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