Commit 0ebf49f8 by wukaiqiang

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

parent 214db6af
...@@ -31,10 +31,10 @@ ...@@ -31,10 +31,10 @@
octAmount.octAmount1 as octAmount, octAmount.octAmount1 as octAmount,
novAmount.novAmount1 as novAmount, novAmount.novAmount1 as novAmount,
decAmount.decAmount1 as decAmount decAmount.decAmount1 as decAmount
FROM FROM
AdvancePaymentAndBalanceSummary AS AdvancePaymentAndBalanceSummary AdvancePaymentAndBalanceSummary AS AdvancePaymentAndBalanceSummary
LEFT JOIN PurchaseSandCompany AS PurchaseSandCompany ON PurchaseSandCompany.ID = AdvancePaymentAndBalanceSummary.purchaseSandUnit LEFT JOIN PurchaseSandCompany AS PurchaseSandCompany ON PurchaseSandCompany.id = AdvancePaymentAndBalanceSummary.purchaseSandUnit
LEFT JOIN ProjectFiled AS ProjectFiled ON ProjectFiled.ID = AdvancePaymentAndBalanceSummary.project LEFT JOIN ProjectFiled AS ProjectFiled ON ProjectFiled.id = AdvancePaymentAndBalanceSummary.project
LEFT JOIN( LEFT JOIN(
SELECT SELECT
SUM( AdvancePaymentAndBalanceSummary1.paymentSales ) AS janAmount1 , SUM( AdvancePaymentAndBalanceSummary1.paymentSales ) AS janAmount1 ,
...@@ -182,7 +182,7 @@ FROM ...@@ -182,7 +182,7 @@ FROM
WHERE AdvancePaymentAndBalanceSummary.dealYear = :?year WHERE AdvancePaymentAndBalanceSummary.dealYear = :?year
AND AdvancePaymentAndBalanceSummary.regionalCompany = :?regionalCompanyName AND AdvancePaymentAndBalanceSummary.regionalCompany = :?regionalCompanyName
GROUP BY AdvancePaymentAndBalanceSummary.project GROUP BY AdvancePaymentAndBalanceSummary.project
UNION ALL UNION ALL
SELECT SELECT
'合计' AS purchaseSandUnit, '合计' AS purchaseSandUnit,
'-' AS project, '-' AS project,
...@@ -203,7 +203,7 @@ UNION ALL ...@@ -203,7 +203,7 @@ UNION ALL
octAmount.octAmount1 as octAmount, octAmount.octAmount1 as octAmount,
novAmount.novAmount1 as novAmount, novAmount.novAmount1 as novAmount,
decAmount.decAmount1 as decAmount decAmount.decAmount1 as decAmount
FROM FROM
AdvancePaymentAndBalanceSummary AS AdvancePaymentAndBalanceSummary AdvancePaymentAndBalanceSummary AS AdvancePaymentAndBalanceSummary
LEFT JOIN( LEFT JOIN(
SELECT SELECT
...@@ -327,6 +327,7 @@ FROM ...@@ -327,6 +327,7 @@ FROM
) AS decAmount ON decAmount.dealYear1 = AdvancePaymentAndBalanceSummary.dealYear ) AS decAmount ON decAmount.dealYear1 = AdvancePaymentAndBalanceSummary.dealYear
WHERE AdvancePaymentAndBalanceSummary.dealYear = :?year WHERE AdvancePaymentAndBalanceSummary.dealYear = :?year
AND AdvancePaymentAndBalanceSummary.regionalCompany = :?regionalCompanyName AND AdvancePaymentAndBalanceSummary.regionalCompany = :?regionalCompanyName
ORDER BY :?totalGroupBy
</sql> </sql>
</template> </template>
</content> </content>
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
WHERE WHERE
( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate ) ( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate )
AND station.id IN ( :?stationList ) AND station.id IN ( :?stationList )
ORDER BY ORDER BY :?totalGroupBy , :?subtotalGroupBy ,
stationName stationName
</sql> </sql>
</template> </template>
......
...@@ -16,45 +16,45 @@ ...@@ -16,45 +16,45 @@
dinasType.dinasTypeName AS dinasTypeName, dinasType.dinasTypeName AS dinasTypeName,
( SUM( salesSummary.saleDealAmount ) / 1000 ) AS saleDealAmount, ( SUM( salesSummary.saleDealAmount ) / 1000 ) AS saleDealAmount,
( SUM( salesSummary.saleAmount ) / 1000 ) AS saleAmount ( SUM( salesSummary.saleAmount ) / 1000 ) AS saleAmount
FROM FROM
SalesSummary AS salesSummary SalesSummary AS salesSummary
LEFT JOIN Station AS station ON station.id = salesSummary.station LEFT JOIN Station AS station ON station.id = salesSummary.station
LEFT JOIN DinasType AS dinasType ON dinasType.id = salesSummary.dinasType LEFT JOIN DinasType AS dinasType ON dinasType.id = salesSummary.dinasType
WHERE WHERE
( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate ) ( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate )
AND station.id IN ( :?stationList ) AND station.id IN ( :?stationList )
GROUP BY GROUP BY
salesSummary.station, salesSummary.station,
salesSummary.dinasType salesSummary.dinasType
UNION ALL UNION ALL
SELECT SELECT
station.stationName AS stationName, station.stationName AS stationName,
'小计' AS dinasTypeName, '小计' AS dinasTypeName,
( SUM( salesSummary.saleDealAmount ) / 1000 ) AS saleDealAmount, ( SUM( salesSummary.saleDealAmount ) / 1000 ) AS saleDealAmount,
( SUM( salesSummary.saleAmount ) / 1000 ) AS saleAmount ( SUM( salesSummary.saleAmount ) / 1000 ) AS saleAmount
FROM FROM
SalesSummary AS salesSummary SalesSummary AS salesSummary
LEFT JOIN Station AS station ON station.id = salesSummary.station LEFT JOIN Station AS station ON station.id = salesSummary.station
LEFT JOIN DinasType AS dinasType ON dinasType.id = salesSummary.dinasType LEFT JOIN DinasType AS dinasType ON dinasType.id = salesSummary.dinasType
WHERE WHERE
( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate ) ( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate )
AND station.id IN ( :?stationList ) AND station.id IN ( :?stationList )
GROUP BY GROUP BY
salesSummary.station salesSummary.station
UNION ALL UNION ALL
SELECT SELECT
'总计' AS stationName, '总计' AS stationName,
'———' AS dinasTypeName, '———' AS dinasTypeName,
( SUM( salesSummary.saleDealAmount ) / 1000 ) AS saleDealAmount, ( SUM( salesSummary.saleDealAmount ) / 1000 ) AS saleDealAmount,
( SUM( salesSummary.saleAmount ) / 1000 ) AS saleAmount ( SUM( salesSummary.saleAmount ) / 1000 ) AS saleAmount
FROM FROM
SalesSummary AS salesSummary SalesSummary AS salesSummary
LEFT JOIN Station AS station ON station.id = salesSummary.station LEFT JOIN Station AS station ON station.id = salesSummary.station
LEFT JOIN DinasType AS dinasType ON dinasType.id = salesSummary.dinasType LEFT JOIN DinasType AS dinasType ON dinasType.id = salesSummary.dinasType
WHERE WHERE
( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate ) ( salesSummary.dealTime &gt;= :?startDate AND salesSummary.dealTime &lt;= :?endDate )
AND station.id IN ( :?stationList ) AND station.id IN ( :?stationList )
ORDER BY ORDER BY :?totalGroupBy , :?subtotalGroupBy ,
stationName stationName
</sql> </sql>
</template> </template>
......
...@@ -12,79 +12,85 @@ ...@@ -12,79 +12,85 @@
<sql-type>SQL</sql-type> <sql-type>SQL</sql-type>
<sql> <sql>
SELECT SELECT
artificialRecharge.id as id, 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, artificialRecharge.createTime AS createTime,
purchaseSandCompanyon.name AS purchaseSandUnit, purchaseSandCompanyon.NAME AS purchaseSandUnit,
projectFiled.projectName AS project, projectFiled.projectName AS project,
CASE CASE
WHEN artificialRecharge.fundType ='DEPOSIT' then '保证金充值'
ELSE '预付款充值' WHEN artificialRecharge.fundType = 'DEPOSIT' THEN
END '保证金充值' ELSE '预付款充值'
as fundType, END AS fundType,
artificialRecharge.rechargeAmount AS rechargeAmount, artificialRecharge.rechargeAmount AS rechargeAmount,
'-' AS actualRefundAmount, '-' AS actualRefundAmount,
artificialRecharge.remark AS remark artificialRecharge.remark AS remark
FROM FROM
ArtificialRecharge as artificialRecharge ArtificialRecharge AS artificialRecharge
LEFT JOIN PurchaseSandCompany as purchaseSandCompanyon on purchaseSandCompanyon.id = artificialRecharge.purchaseSandUnit LEFT JOIN PurchaseSandCompany AS purchaseSandCompanyon ON purchaseSandCompanyon.id = artificialRecharge.purchaseSandUnit
LEFT JOIN ProjectFiled AS projectFiled ON projectFiled.id = artificialRecharge.project LEFT JOIN ProjectFiled AS projectFiled ON projectFiled.id = artificialRecharge.project
WHERE artificialRecharge.regionalCompany = :?regionalCompanyId WHERE
AND (artificialRecharge.createTime &gt;= :?startDate AND artificialRecharge.createTime &lt;= :?endDate) artificialRecharge.regionalCompany = :?regionalCompanyId
AND purchaseSandCompanyon.name LIKE :?purchaseSandCompanyonName AND ( artificialRecharge.createTime &gt;= :?startDate AND artificialRecharge.createTime &lt;= :?endDate )
AND purchaseSandCompanyon.NAME LIKE :?purchaseSandCompanyonName
AND projectFiled.projectName LIKE :?projectName AND projectFiled.projectName LIKE :?projectName
AND artificialRecharge.fundType = :?fundType AND artificialRecharge.fundType = :?fundType
UNION ALL UNION ALL
SELECT SELECT
expenseAdjust.id as id, expenseAdjust.id AS id,
expenseAdjust.createTime AS createTime, expenseAdjust.createTime AS createTime,
purchaseSandCompanyon.name AS purchaseSandUnit, purchaseSandCompanyon.NAME AS purchaseSandUnit,
projectFiled.projectName AS project, projectFiled.projectName AS project,
CASE CASE
WHEN expenseAdjust.fundType ='DEPOSIT' then '保证金费用调整'
ELSE '预付款费用调整' WHEN expenseAdjust.fundType = 'DEPOSIT' THEN
END '保证金费用调整' ELSE '预付款费用调整'
as fundType, END AS fundType,
CASE CASE
WHEN expenseAdjust.expenseAdjustAmount &gt;= '0' THEN WHEN expenseAdjust.expenseAdjustAmount &gt;= '0' THEN
expenseAdjust.expenseAdjustAmount ELSE '-' expenseAdjust.expenseAdjustAmount ELSE '-'
END AS expenseAdjustAmount, END AS rechargeAmount,
CASE CASE
WHEN expenseAdjust.expenseAdjustAmount &lt; '0'
THEN (- expenseAdjust.expenseAdjustAmount) ELSE '-' WHEN expenseAdjust.expenseAdjustAmount &lt;
'0' THEN
( - expenseAdjust.expenseAdjustAmount ) ELSE '-'
END AS actualRefundAmount, END AS actualRefundAmount,
expenseAdjust.remark AS remark expenseAdjust.remark AS remark
FROM FROM
ExpenseAdjust as expenseAdjust ExpenseAdjust AS expenseAdjust
LEFT JOIN PurchaseSandCompany as purchaseSandCompanyon on purchaseSandCompanyon.id = expenseAdjust.purchaseSandUnit LEFT JOIN PurchaseSandCompany AS purchaseSandCompanyon ON purchaseSandCompanyon.id = expenseAdjust.purchaseSandUnit
LEFT JOIN ProjectFiled AS projectFiled ON projectFiled.id = expenseAdjust.project LEFT JOIN ProjectFiled AS projectFiled ON projectFiled.id = expenseAdjust.project
WHERE expenseAdjust.regionalCompany = :?regionalCompanyId WHERE
AND (expenseAdjust.createTime &gt;= :?startDate AND expenseAdjust.createTime &lt;= :?endDate) expenseAdjust.regionalCompany = :?regionalCompanyId
AND purchaseSandCompanyon.name LIKE :?purchaseSandCompanyonName AND ( expenseAdjust.createTime &gt;= :?startDate AND expenseAdjust.createTime &lt;= :?endDate )
AND purchaseSandCompanyon.NAME LIKE :?purchaseSandCompanyonName
AND projectFiled.projectName LIKE :?projectName AND projectFiled.projectName LIKE :?projectName
AND expenseAdjust.fundType = :?fundType 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 ORDER BY createTime DESC
</sql> </sql>
</template> </template>
......
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