Commit e7a700aa by 焦凯

Merge branch 'feature/sales_record_sync' into 'develop'

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

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