Commit 080af68c by wukaiqiang

预付款及结余汇总调度批次时,数据条数翻倍问题

parent d6cbdd73
......@@ -60,24 +60,25 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
hql.append("sum( xx.j1 ) as j , ");// 保证金总额
hql.append("sum(xx.q1) as q , ");// 保证金退款额
hql.append("xx.dealMount as dealMount ");// 销售数量
hql.append(" from (").append(
hql.append(" from (");
hql.append(
" SELECT REGIONALCOMPANY.id AS a1 , PURCHASESANDUNIT.id AS b1, CONTRACT.id AS c1, PROJECT.id AS d1, ");
if (flag) {
hql.append(" CONTRACT.advance_balance AS e1, ");
hql.append(" 0.00 AS e1, ");
} else {
hql.append(" 0.00 AS e1, ");
}
hql.append(" sum( SALESRECODE.amount ) AS f1, ");
hql.append(" sum( deal_amount ) AS dealMount ,");
hql.append(" 0.00 AS f1, ");
hql.append(" 0.00 AS dealMount ,");
hql.append(
" CASE WHEN ARTIFICIAL.fund_type = 'DEPOSIT' THEN 0.00 ELSE sum( ARTIFICIAL.recharge_amount ) END AS g1, ");
hql.append(
" CASE WHEN REFUND.fund_type = '1' THEN 0.00 ELSE sum( REFUND.actual_refund_amount ) END AS h1, ");
hql.append(" CONTRACT.advance_balance AS i1, ");
" 0.00 AS h1, ");
hql.append(" 0.00 AS i1, ");
hql.append(
" CASE WHEN ARTIFICIAL.fund_type = 'DEPOSIT' THEN sum( ARTIFICIAL.recharge_amount ) ELSE 0.00 END AS j1, ");
hql.append(
" CASE WHEN REFUND.fund_type = '1' THEN sum( REFUND.actual_refund_amount ) ELSE 0.00 END AS q1 ");
" 0.00 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 ");// 购砂单位
......@@ -99,6 +100,43 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
hql.append(" AND ARTIFICIAL.create_time >= :starDate ");
if (nowDate != null && !(nowDate.isEmpty()))
hql.append(" AND ARTIFICIAL.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(" ARTIFICIAL.fund_type ");
hql.append(" UNION ALL ");
hql.append(
" SELECT REGIONALCOMPANY.id AS a1 , PURCHASESANDUNIT.id AS b1, CONTRACT.id AS c1, PROJECT.id AS d1, ");
if (flag) {
hql.append(" 0.00 AS e1, ");
} else {
hql.append(" 0.00 AS e1, ");
}
hql.append(" 0.00 AS f1, ");
hql.append(" 0.00 AS dealMount ,");
hql.append(
" 0.00 AS g1, ");
hql.append(
" CASE WHEN REFUND.fund_type = '1' THEN 0.00 ELSE sum( REFUND.actual_refund_amount ) END AS h1, ");
hql.append(" 0.00 AS i1, ");
hql.append(
" 0.00 AS j1, ");
hql.append(
" CASE WHEN REFUND.fund_type = '1' THEN sum( REFUND.actual_refund_amount ) ELSE 0.00 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 ");
if (starDate != null && !(starDate.isEmpty()))
hql.append("AND SALESRECODE.sync_time >= :starDate ");
if (nowDate != null && !(nowDate.isEmpty()))
hql.append(" AND SALESRECODE.sync_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 ");
......@@ -108,10 +146,48 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
hql.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, ")
hql.append(" GROUP BY ").append(" CONTRACT.id, ")
.append(" REFUND.project, ")
.append(" REFUND.contract, ").append(" REFUND.purchase_sand_company, ")
.append(" ARTIFICIAL.fund_type, ").append(" REFUND.fund_type ").append(" ) AS xx ");// 分组
.append(" REFUND.fund_type ");
hql.append(" UNION ALL ");
hql.append(
" SELECT REGIONALCOMPANY.id AS a1 , PURCHASESANDUNIT.id AS b1, CONTRACT.id AS c1, PROJECT.id AS d1, ");
if (flag) {
hql.append(" CONTRACT.advance_balance AS e1, ");
} else {
hql.append(" 0.00 AS e1, ");
}
hql.append(" sum( SALESRECODE.amount ) AS f1, ");
hql.append(" sum( deal_amount ) AS dealMount ,");
hql.append(
" 0.00 AS g1, ");
hql.append(
" 0.00 AS h1, ");
hql.append(" CONTRACT.advance_balance AS i1, ");
hql.append(
" 0.00 AS j1, ");
hql.append(
" 0.00 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 ");
if (starDate != null && !(starDate.isEmpty()))
hql.append("AND SALESRECODE.sync_time >= :starDate ");
if (nowDate != null && !(nowDate.isEmpty()))
hql.append(" AND SALESRECODE.sync_time < :nowDate ");// 銷售台账
hql.append(" where 1=1 ").append(" and PURCHASESANDUNIT.regional_company IS NOT NULL ");// 去掉脏数据
hql.append(" GROUP BY ").append(" CONTRACT.id, ").append(" REGIONALCOMPANY.id, ")
.append(" PURCHASESANDUNIT.id, ").append(" PROJECT.id ");
hql.append(" ) AS xx ");// 分组
hql.append(" GROUP BY ").append(" xx.a1, ").append(" xx.b1, ").append(" xx.c1, ").append(" xx.d1 ");// 外层分组
return (List<Map<String, Object>>) template.execute(new HibernateCallback<List<Map<String, Object>>>() {
@Override
......@@ -523,8 +599,10 @@ public class AdvancePaymentBalanceSumDaoImpl implements AdvancePaymentBalanceSum
+ " xyst_dinas_statistics_advancepayment_Balance_summary AS advancePaymentAndBalanceSummary1 \r\n"
+ " WHERE\r\n"
+ " advancePaymentAndBalanceSummary1.deal_Month = 12 \r\n"
+ " ) AS decAmount ON decAmount.dealYear1 = advancePaymentAndBalanceSummary.deal_Year\r\n"
+ " AND decAmount.regionalCompany1 = advancePaymentAndBalanceSummary.regional_company_id\r\n"
+" GROUP BY advancePaymentAndBalanceSummary.regional_company_id \r\n"
+ " ) AS result ");
hql.append(" WHERE 1=1 ");
if (regionalCompany != null && !(regionalCompany.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