更新版本
This commit is contained in:
parent
b0a2b6b3ec
commit
da78536473
@ -10,6 +10,7 @@
|
|||||||
<file url="file://$PROJECT_DIR$/dw/dim/dim_project_base_info_d.sql" dialect="MySQL" />
|
<file url="file://$PROJECT_DIR$/dw/dim/dim_project_base_info_d.sql" dialect="MySQL" />
|
||||||
<file url="file://$PROJECT_DIR$/dw/dim/dim_room_d.sql" dialect="MySQL" />
|
<file url="file://$PROJECT_DIR$/dw/dim/dim_room_d.sql" dialect="MySQL" />
|
||||||
<file url="file://$PROJECT_DIR$/dw/dwd/dwd_business_contract_info_d.sql" dialect="MySQL" />
|
<file url="file://$PROJECT_DIR$/dw/dwd/dwd_business_contract_info_d.sql" dialect="MySQL" />
|
||||||
|
<file url="file://$PROJECT_DIR$/dw/dwd/dwd_cost_detail_data_d.sql" dialect="MySQL" />
|
||||||
<file url="file://$PROJECT_DIR$/dw/dwd/dwd_engine_equipment_inspection_task_d.sql" dialect="MySQL" />
|
<file url="file://$PROJECT_DIR$/dw/dwd/dwd_engine_equipment_inspection_task_d.sql" dialect="MySQL" />
|
||||||
<file url="file://$PROJECT_DIR$/dw/dwd/dwd_engine_equipment_status_d.sql" dialect="MySQL" />
|
<file url="file://$PROJECT_DIR$/dw/dwd/dwd_engine_equipment_status_d.sql" dialect="MySQL" />
|
||||||
<file url="file://$PROJECT_DIR$/dw/dwd/dwd_engine_stat_exception_rate_d.sql" dialect="MySQL" />
|
<file url="file://$PROJECT_DIR$/dw/dwd/dwd_engine_stat_exception_rate_d.sql" dialect="MySQL" />
|
||||||
@ -29,6 +30,7 @@
|
|||||||
<file url="file://$PROJECT_DIR$/dw/dws/dws_operation_subcompany_plan_level_d.sql" dialect="MySQL" />
|
<file url="file://$PROJECT_DIR$/dw/dws/dws_operation_subcompany_plan_level_d.sql" dialect="MySQL" />
|
||||||
<file url="file://$PROJECT_DIR$/dw/ods/ods_cost_budget_data_d.sql" dialect="Oracle" />
|
<file url="file://$PROJECT_DIR$/dw/ods/ods_cost_budget_data_d.sql" dialect="Oracle" />
|
||||||
<file url="file://$PROJECT_DIR$/finereport/kanban/mobile/创新生态_mobile.sql" dialect="MySQL" />
|
<file url="file://$PROJECT_DIR$/finereport/kanban/mobile/创新生态_mobile.sql" dialect="MySQL" />
|
||||||
|
<file url="file://$PROJECT_DIR$/finereport/kanban/mobile/工程_mobile.sql" dialect="MySQL" />
|
||||||
<file url="file://$PROJECT_DIR$/finereport/kanban/mobile/物业_mobile.sql" dialect="MySQL" />
|
<file url="file://$PROJECT_DIR$/finereport/kanban/mobile/物业_mobile.sql" dialect="MySQL" />
|
||||||
<file url="file://$PROJECT_DIR$/finereport/kanban/pc/创新生态.sql" dialect="MySQL" />
|
<file url="file://$PROJECT_DIR$/finereport/kanban/pc/创新生态.sql" dialect="MySQL" />
|
||||||
<file url="file://$PROJECT_DIR$/finereport/kanban/pc/商业.sql" dialect="MySQL" />
|
<file url="file://$PROJECT_DIR$/finereport/kanban/pc/商业.sql" dialect="MySQL" />
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
-- 修改内容: 一个项目接管面积会有多个,先累加再关联
|
-- 修改内容: 一个项目接管面积会有多个,先累加再关联
|
||||||
-- 修改日期: 2024-09-24
|
-- 修改日期: 2024-09-24
|
||||||
-- 修改内容: 项目对应业态取值规则变更
|
-- 修改内容: 项目对应业态取值规则变更
|
||||||
|
-- 修改日期: 2024-10-09
|
||||||
|
-- 修改内容: 新增合同到期时间
|
||||||
-- *****************************
|
-- *****************************
|
||||||
select
|
select
|
||||||
b.CommId
|
b.CommId
|
||||||
@ -60,6 +62,7 @@ select
|
|||||||
, a.CommitteeTermStartDate
|
, a.CommitteeTermStartDate
|
||||||
, a.CommitteeTermEndDate
|
, a.CommitteeTermEndDate
|
||||||
, b.DictionaryName AS StateNameNew
|
, b.DictionaryName AS StateNameNew
|
||||||
|
, a.ContractEndTime AS ContractEndTime
|
||||||
from (
|
from (
|
||||||
select
|
select
|
||||||
c.CommId
|
c.CommId
|
||||||
@ -95,51 +98,52 @@ from (
|
|||||||
, c.CityLevel
|
, c.CityLevel
|
||||||
, c.CommitteeTermStartDate
|
, c.CommitteeTermStartDate
|
||||||
, c.CommitteeTermEndDate
|
, c.CommitteeTermEndDate
|
||||||
|
, a.ContractEndTime -- 合同结束时间
|
||||||
, sum(TakeOverArea) TakeOverArea
|
, sum(TakeOverArea) TakeOverArea
|
||||||
, sum(ContractArea) ContractArea
|
, sum(ContractArea) ContractArea
|
||||||
, sum(ManageContractArea) ManageContractArea
|
, sum(ManageContractArea) ManageContractArea
|
||||||
from
|
from
|
||||||
(
|
(
|
||||||
select
|
select
|
||||||
*
|
*
|
||||||
from ods_erp_tb_hspr_projecttakeoverinformation_d
|
from ods_erp_tb_hspr_projecttakeoverinformation_d
|
||||||
where IsDelete = 0
|
where IsDelete = 0
|
||||||
) a
|
) a
|
||||||
left join
|
left join
|
||||||
(
|
(
|
||||||
select
|
select
|
||||||
ParentId
|
ParentId
|
||||||
,SUM(TakeOverArea) AS TakeOverArea
|
,SUM(TakeOverArea) AS TakeOverArea
|
||||||
from ods_erp_tb_hspr_projecttakeoverdetail_d
|
from ods_erp_tb_hspr_projecttakeoverdetail_d
|
||||||
WHERE IsDelete = 0
|
WHERE IsDelete = 0
|
||||||
group by
|
group by
|
||||||
ParentId
|
ParentId
|
||||||
) b
|
) b
|
||||||
on a.id = b.ParentId
|
on a.id = b.ParentId
|
||||||
right join (select * from ods_erp_tb_hspr_projectbasicinfomation_d where IsDelete = 0) c
|
right join (select * from ods_erp_tb_hspr_projectbasicinfomation_d where IsDelete = 0) c
|
||||||
on a.ParentId = c.id
|
on a.ParentId = c.id
|
||||||
group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33
|
group by 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34
|
||||||
) a
|
) a
|
||||||
right join
|
right join
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
b1.*
|
b1.*
|
||||||
,b2.DictionaryName
|
,b2.DictionaryName
|
||||||
FROM
|
FROM
|
||||||
(
|
(
|
||||||
select
|
select
|
||||||
*
|
*
|
||||||
from ods_erp_tb_hspr_community_d
|
from ods_erp_tb_hspr_community_d
|
||||||
where IsDelete = 0
|
where IsDelete = 0
|
||||||
)b1
|
)b1
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
(-- add 2024-09-24 项目业态新规则取数
|
(-- add 2024-09-24 项目业态新规则取数
|
||||||
select
|
select
|
||||||
DictionaryCode -- 项目业态编码
|
DictionaryCode -- 项目业态编码
|
||||||
,DictionaryName -- 项目业态名称
|
,DictionaryName -- 项目业态名称
|
||||||
from ods_erp_tb_dictionary_projectformat_d
|
from ods_erp_tb_dictionary_projectformat_d
|
||||||
)b2
|
)b2
|
||||||
ON B1.CommKind = b2.DictionaryCode
|
ON B1.CommKind = b2.DictionaryCode
|
||||||
|
|
||||||
) b
|
) b
|
||||||
on a.CommId = b.CommId
|
on a.CommId = b.CommId
|
@ -47,7 +47,7 @@ CREATE TABLE IF NOT EXISTS dw.dwd_cost_detail_data_d (
|
|||||||
|
|
||||||
-- ----------------------------------------------------------------------------------------------
|
-- ----------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
SELECT * FROM dw.dwd_cost_detail_data_d;
|
||||||
truncate dw.dwd_cost_detail_data_d;
|
truncate dw.dwd_cost_detail_data_d;
|
||||||
INSERT into dw.dwd_cost_detail_data_d
|
INSERT into dw.dwd_cost_detail_data_d
|
||||||
SELECT
|
SELECT
|
||||||
|
@ -4,18 +4,23 @@ select
|
|||||||
, c.subcompanyname
|
, c.subcompanyname
|
||||||
, c.supsubcomid
|
, c.supsubcomid
|
||||||
, a.plan_level
|
, a.plan_level
|
||||||
, count(*) plan_num
|
,a.plan_name
|
||||||
, count(plan_name) plan_adjust_num
|
,a.id
|
||||||
, sum(case when plan_status = 2 then 1 else 0 end) plan_cancel_num
|
,a.responsible_person1
|
||||||
, sum(case when plan_status = 7 then 1 else 0 end) plan_exempt_assess_num
|
,organ_code, organ_name, comm_id, comm_name
|
||||||
, sum(case when plan_status = 4 then 1 else 0 end) plan_incomplete_num
|
, oa_organ_code, oa_organ_name, oa_comm_id, oa_comm_name
|
||||||
, sum(case when left(start_date,7) = left(input_date,7) then 1 else 0 end) plan_thism_num
|
-- , count(*) plan_num
|
||||||
, sum(case when plan_status = 0 then 1 else 0 end) plan_in_progress_num
|
-- , count(plan_name) plan_adjust_num
|
||||||
, sum(case when plan_status = 1 then 1 else 0 end) plan_complete_num
|
-- , sum(case when plan_status = 2 then 1 else 0 end) plan_cancel_num
|
||||||
|
-- , sum(case when plan_status = 7 then 1 else 0 end) plan_exempt_assess_num
|
||||||
|
-- , sum(case when plan_status = 4 then 1 else 0 end) plan_incomplete_num
|
||||||
|
-- , sum(case when left(start_date,7) = left(input_date,7) then 1 else 0 end) plan_thism_num
|
||||||
|
-- , sum(case when plan_status = 0 then 1 else 0 end) plan_in_progress_num
|
||||||
|
-- , sum(case when plan_status = 1 then 1 else 0 end) plan_complete_num
|
||||||
from (
|
from (
|
||||||
SELECT
|
SELECT
|
||||||
concat(left(trim(start_date),5),lpad(substring_index(substring_index(trim(start_date),'-',2),'-',-1),2,0),right(trim(start_date),3)) start_date,
|
concat(left(trim(start_date),5),lpad(substring_index(substring_index(trim(start_date),'-',2),'-',-1),2,0),right(trim(start_date),3)) start_date,
|
||||||
a.plan_level,
|
a.plan_level,plan_name,
|
||||||
jt.responsible_person1 ,
|
jt.responsible_person1 ,
|
||||||
a.id,
|
a.id,
|
||||||
a.plan_status,
|
a.plan_status,
|
||||||
@ -26,6 +31,8 @@ from (
|
|||||||
cast( CONCAT( '["', REPLACE ( responsible_person1, ',', '","' ), '"]' ) AS json ),
|
cast( CONCAT( '["', REPLACE ( responsible_person1, ',', '","' ), '"]' ) AS json ),
|
||||||
"$[*]" COLUMNS ( responsible_person1 INT PATH "$" )
|
"$[*]" COLUMNS ( responsible_person1 INT PATH "$" )
|
||||||
) AS jt
|
) AS jt
|
||||||
|
where a.id in ('17015','17016','17024','17056','17075','17084','29372','29373','29374','29375','29376','29377','29433','29434','29435','29436','29437','29438','29439','29440','29503','29504','29505','29506','29507','29508','29509','29510','29561','29562','29564','29565','29566','29567','29568','29569','29591','29629','29630','40703','42177','42180','42767','42779','42837')
|
||||||
|
|
||||||
) a
|
) a
|
||||||
left join ods_oa_hrmresource_d b
|
left join ods_oa_hrmresource_d b
|
||||||
on a.responsible_person1 = b.id
|
on a.responsible_person1 = b.id
|
||||||
@ -33,10 +40,16 @@ from (
|
|||||||
on b.subcompanyid1 = c.id
|
on b.subcompanyid1 = c.id
|
||||||
left join (select distinct plan_name from dwd_operations_plan_adjust_info_d) d
|
left join (select distinct plan_name from dwd_operations_plan_adjust_info_d) d
|
||||||
on a.id = d.plan_name
|
on a.id = d.plan_name
|
||||||
WHERE left(a.end_date,7) = '2024-09'
|
left join (select distinct organ_code, organ_name, comm_id, comm_name
|
||||||
group by
|
, oa_organ_code, oa_organ_name, oa_comm_id, oa_comm_name from dim_organ_mapping where comm_id is not null) b1
|
||||||
left(a.end_date,7)
|
on b.subcompanyid1 = b1.oa_comm_id
|
||||||
, b.subcompanyid1
|
|
||||||
, c.subcompanyname
|
WHERE left(a.end_date,7) = '2024-10'
|
||||||
, c.supsubcomid
|
|
||||||
, a.plan_level
|
-- AND b.subcompanyid1 in(select distinct oa_comm_id from dim_organ_mapping where comm_id is not null and organ_code = '0108')
|
||||||
|
-- group by
|
||||||
|
-- left(a.end_date,7)
|
||||||
|
-- , b.subcompanyid1
|
||||||
|
-- , c.subcompanyname
|
||||||
|
-- , c.supsubcomid
|
||||||
|
-- , a.plan_level
|
@ -1,5 +1,3 @@
|
|||||||
-- 【单位面积能耗同环比】
|
|
||||||
|
|
||||||
select
|
select
|
||||||
A.organ_code AS organ_code
|
A.organ_code AS organ_code
|
||||||
, A.organ_name AS organ_name
|
, A.organ_name AS organ_name
|
||||||
@ -9,7 +7,12 @@ select
|
|||||||
, A.list_ym AS list_ym
|
, A.list_ym AS list_ym
|
||||||
, A.Dosage AS Dosage
|
, A.Dosage AS Dosage
|
||||||
, A.Amount AS Amount
|
, A.Amount AS Amount
|
||||||
,IF(B.ContractArea = 0,0,A.Dosage / B.ContractArea) AS DOSAGE_PER_SQUARE_METER
|
, B.StateNameNew AS StateNameNew
|
||||||
|
,CASE WHEN StateNameNew = '写字楼' AND MeterType = '水表' THEN IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) ELSE 0 END AS XZL_SHUI
|
||||||
|
,CASE WHEN StateNameNew = '写字楼' AND MeterType = '电表' THEN IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) ELSE 0 END AS XZL_DIAN
|
||||||
|
,CASE WHEN StateNameNew = '商住' AND MeterType = '水表' THEN IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) ELSE 0 END AS SZ_SHUI
|
||||||
|
,CASE WHEN StateNameNew = '商住' AND MeterType = '电表' THEN IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) ELSE 0 END AS SZ_DIAN
|
||||||
|
,IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) AS DOSAGE_PER_SQUARE_METER
|
||||||
from
|
from
|
||||||
(
|
(
|
||||||
SELECT
|
SELECT
|
||||||
@ -22,23 +25,26 @@ from
|
|||||||
, Dosage
|
, Dosage
|
||||||
, Amount
|
, Amount
|
||||||
FROM dws_engine_meter_dosage_m
|
FROM dws_engine_meter_dosage_m
|
||||||
${IF(p_type = "环比","/*","")}
|
${IF(p_type = "环比","/*","")}
|
||||||
where 1=1
|
where 1=1
|
||||||
AND list_ym <> DATE_FORMAT(CURDATE(), '%Y%m')
|
AND list_ym <> DATE_FORMAT(CURDATE(), '%Y%m')
|
||||||
AND list_ym >= '${FORMAT(MONTHDELTA(CONCATENATE(p_ym,"-01"),-60),"yyyyMM")}'
|
AND list_ym >= '${FORMAT(MONTHDELTA(CONCATENATE(p_ym,"-01"),-60),"yyyyMM")}'
|
||||||
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||||
${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")}
|
-- ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")}
|
||||||
|
${IF(LEN(p_shop)!=0," and comm_name IN ('"+JOINARRAY(p_shop,"','")+"')","")}
|
||||||
${IF(LEN(p_ym)>0," AND right(list_ym,2) ='" +right(p_ym,2) + "'","")}
|
${IF(LEN(p_ym)>0," AND right(list_ym,2) ='" +right(p_ym,2) + "'","")}
|
||||||
and MeterType in ('水表','电表')
|
and MeterType in ('水表','电表')
|
||||||
order by list_ym asc
|
order by list_ym asc
|
||||||
${IF(p_type = "环比","*/","")}
|
${IF(p_type = "环比","*/","")}
|
||||||
|
|
||||||
${IF(p_type = "环比","","/*")}
|
${IF(p_type = "环比","","/*")}
|
||||||
where left(list_ym,4) = ${left(p_ym,4)}
|
where left(list_ym,4) = ${left(p_ym,4)}
|
||||||
AND list_ym <> DATE_FORMAT(CURDATE(), '%Y%m')
|
AND list_ym <> DATE_FORMAT(CURDATE(), '%Y%m')
|
||||||
and MeterType in ('水表','电表')
|
and MeterType in ('水表','电表')
|
||||||
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||||
${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")}
|
-- ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")}
|
||||||
|
|
||||||
|
${IF(LEN(p_shop)!=0," and comm_name IN ('"+JOINARRAY(p_shop,"','")+"')","")}
|
||||||
ORDER BY list_ym ASC
|
ORDER BY list_ym ASC
|
||||||
${IF(p_type = "环比","","*/")}
|
${IF(p_type = "环比","","*/")}
|
||||||
)A
|
)A
|
||||||
@ -46,11 +52,16 @@ from
|
|||||||
(
|
(
|
||||||
select
|
select
|
||||||
CommId -- 项目id
|
CommId -- 项目id
|
||||||
|
,CASE WHEN StateNameNew = '写字楼' THEN StateNameNew
|
||||||
|
ELSE '商住'
|
||||||
|
END AS StateNameNew
|
||||||
|
,SUM(FloorArea + UndergroundArea) as totalarea
|
||||||
,SUM(ContractArea) AS ContractArea-- 合同面积(建筑面积)
|
,SUM(ContractArea) AS ContractArea-- 合同面积(建筑面积)
|
||||||
from dim_project_base_info_d
|
from dim_project_base_info_d
|
||||||
GROUP BY
|
GROUP BY
|
||||||
CommId
|
CommId,CASE WHEN StateNameNew = '写字楼' THEN StateNameNew
|
||||||
|
ELSE '商住'
|
||||||
|
END
|
||||||
)B
|
)B
|
||||||
ON A.comm_id = B.CommId
|
ON A.comm_id = B.CommId
|
||||||
ORDER BY A.list_ym,A.MeterType
|
ORDER BY A.list_ym,A.MeterType
|
||||||
;
|
|
@ -18,7 +18,8 @@ with one_to_many AS(
|
|||||||
WHERE a.username = '${fine_username}'
|
WHERE a.username = '${fine_username}'
|
||||||
)
|
)
|
||||||
select
|
select
|
||||||
${if(len(p_area) == 0,"c.organ_name","c.comm_name")} as p_area
|
-- ${if(len(p_area) == 0,"c.organ_name","c.comm_name")} as p_area
|
||||||
|
${if(len(p_area) == 0,"COALESCE(c.oa_organ_name,e.subcompanyname)","COALESCE(c.oa_comm_name,e.subcompanyname)")} as p_area
|
||||||
,c.oa_comm_id as oa_comm_id -- oa项目id
|
,c.oa_comm_id as oa_comm_id -- oa项目id
|
||||||
,c.oa_comm_name as oa_comm_name -- oa项目名称
|
,c.oa_comm_name as oa_comm_name -- oa项目名称
|
||||||
,c.oa_organ_code as oa_organ_code -- oa片区id
|
,c.oa_organ_code as oa_organ_code -- oa片区id
|
||||||
@ -31,6 +32,7 @@ select
|
|||||||
,a.plan_name as plan_name -- 计划名称
|
,a.plan_name as plan_name -- 计划名称
|
||||||
,a.eval_criteria as plan_desc -- 计划内容
|
,a.eval_criteria as plan_desc -- 计划内容
|
||||||
,a.plan_level as plan_level -- 计划等级
|
,a.plan_level as plan_level -- 计划等级
|
||||||
|
,a.plan_level_name as plan_level_name -- 计划等级名称
|
||||||
,left(a.start_date,7) as ym -- 计划开始年月
|
,left(a.start_date,7) as ym -- 计划开始年月
|
||||||
,a.start_dt as start_dt -- 计划开始时
|
,a.start_dt as start_dt -- 计划开始时
|
||||||
,a.end_date as end_date -- 计划结束时间
|
,a.end_date as end_date -- 计划结束时间
|
||||||
@ -57,12 +59,13 @@ from
|
|||||||
,TO_DAYS(a.end_date) - TO_DAYS(curdate()) AS day_diff
|
,TO_DAYS(a.end_date) - TO_DAYS(curdate()) AS day_diff
|
||||||
,a.eval_criteria -- 评价标准
|
,a.eval_criteria -- 评价标准
|
||||||
,a.executor -- 执行人
|
,a.executor -- 执行人
|
||||||
|
,case when a.plan_level = 4 then '控股集团级计划' when a.plan_level = 0 then '一级计划' when a.plan_level = 1 then '二级计划' when a.plan_level = 3 then '三级计划' end plan_level_name
|
||||||
FROM dw.dwd_operations_plan_info_d a,
|
FROM dw.dwd_operations_plan_info_d a,
|
||||||
JSON_TABLE (
|
JSON_TABLE (
|
||||||
cast( CONCAT( '["', REPLACE ( responsible_person1, ',', '","' ), '"]' ) AS json ),
|
cast( CONCAT( '["', REPLACE ( responsible_person1, ',', '","' ), '"]' ) AS json ),
|
||||||
"$[*]" COLUMNS ( responsible_person1 INT PATH "$" )
|
"$[*]" COLUMNS ( responsible_person1 INT PATH "$" )
|
||||||
) AS jt
|
) AS jt
|
||||||
-- WHERE TO_DAYS(a.end_date) - TO_DAYS(curdate()) <= 3
|
-- WHERE TO_DAYS(a.end_date) - TO_DAYS(curdate()) <= 3
|
||||||
-- AND TO_DAYS(a.end_date) - TO_DAYS(curdate()) >= 1
|
-- AND TO_DAYS(a.end_date) - TO_DAYS(curdate()) >= 1
|
||||||
where a.end_date > date_format(CURDATE() - INTERVAL 3 day,'%Y-%m-%d')
|
where a.end_date > date_format(CURDATE() - INTERVAL 3 day,'%Y-%m-%d')
|
||||||
and a.end_date <= date_format(CURDATE(),'%Y-%m-%d')
|
and a.end_date <= date_format(CURDATE(),'%Y-%m-%d')
|
||||||
@ -93,7 +96,7 @@ from
|
|||||||
-- where comm_id is not null
|
-- where comm_id is not null
|
||||||
)c
|
)c
|
||||||
on b.subcompanyid1 = c.oa_comm_id
|
on b.subcompanyid1 = c.oa_comm_id
|
||||||
left join
|
left join
|
||||||
(
|
(
|
||||||
select
|
select
|
||||||
id
|
id
|
||||||
@ -103,15 +106,21 @@ from
|
|||||||
|
|
||||||
)d
|
)d
|
||||||
on a.executor = d.id
|
on a.executor = d.id
|
||||||
|
LEFT JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
*
|
||||||
|
FROM dw.ods_oa_hrmsubcompany_d -- 分部信息表
|
||||||
|
-- WHERE id = '288'
|
||||||
|
)e
|
||||||
|
ON b.subcompanyid1 = e.id
|
||||||
where 1 = 1
|
where 1 = 1
|
||||||
${if(len(p_startdate) == 0,"","and left(a.end_ym,7) = '" + p_startdate + "'")}
|
${if(len(p_startdate) == 0,"","and left(a.end_ym,7) = '" + p_startdate + "'")}
|
||||||
${IF(LEN(p_area)!=0," and organ_code IN ('"+p_area+"')","")}
|
${IF(LEN(p_area)!=0," and coalesce(c.oa_organ_code,e.id) IN ('"+p_area+"')","")}
|
||||||
-- ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")}
|
-- ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")}
|
||||||
AND CASE WHEN (SELECT mang_project FROM ods_one_to_many_perm WHERE username = '${fine_username}' AND mang_organ IS NULL) IS NOT NULL
|
AND CASE WHEN (SELECT mang_project FROM ods_one_to_many_perm WHERE username = '${fine_username}' AND mang_organ IS NULL) IS NOT NULL
|
||||||
THEN comm_name IN (SELECT mang_project FROM one_to_many WHERE username = '${fine_username}')
|
THEN COALESCE(c.oa_organ_name,e.subcompanyname) IN (SELECT mang_project FROM one_to_many WHERE username = '${fine_username}')
|
||||||
ELSE ${if(left(fine_role,2)=="项目","comm_name = '"+GETUSERDEPARTMENTS(3)+"'","1=1")} END
|
ELSE ${if(left(fine_role,2)=="项目","COALESCE(c.oa_organ_name,e.subcompanyname) = '"+GETUSERDEPARTMENTS(3)+"'","1=1")} END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- 【筛选框数据集: dic_oa片区】
|
-- 【筛选框数据集: dic_oa片区】
|
||||||
|
|
||||||
|
@ -1,82 +1,214 @@
|
|||||||
|
-- 【dic_erp片区】
|
||||||
|
with one_to_many_organ AS(
|
||||||
|
SELECT
|
||||||
|
a.username AS username -- 用户名
|
||||||
|
,SUBSTRING_INDEX(SUBSTRING_INDEX(a.mang_organ, ',',b.help_topic_id + 1),',',-1) AS mang_organ -- 管理片区
|
||||||
|
FROM ods_one_to_many_perm a
|
||||||
|
JOIN mysql.help_topic b
|
||||||
|
on b.help_topic_id < (LENGTH(a.mang_organ) - length(replace(a.mang_organ,',','')) + 1)
|
||||||
|
WHERE a.username = '${fine_username}'
|
||||||
|
)
|
||||||
SELECT DISTINCT
|
SELECT DISTINCT
|
||||||
organ_code AS 片区id,
|
organ_code AS 片区id,
|
||||||
organ_name AS 片区名称
|
organ_name AS 片区名称
|
||||||
FROM dw.dws_engine_meter_dosage_m
|
FROM dw.dws_engine_meter_dosage_m
|
||||||
where 1=1
|
where 1=1
|
||||||
${if(GETUSERDEPARTMENTS(2)="领悦集团总部","","and organ_name = '"+GETUSERDEPARTMENTS(2)+"'")}
|
-- ${if(GETUSERDEPARTMENTS(2)="领悦集团总部","","and organ_name = '"+GETUSERDEPARTMENTS(2)+"'")}
|
||||||
|
|
||||||
|
AND CASE WHEN (SELECT mang_organ FROM ods_one_to_many_perm WHERE username = '${fine_username}') IS NOT NULL
|
||||||
|
THEN organ_name IN (SELECT mang_organ FROM one_to_many_organ WHERE username = '${fine_username}')
|
||||||
|
ELSE ${if(GETUSERDEPARTMENTS(2)!="领悦集团总部","organ_name = '"+GETUSERDEPARTMENTS(2)+"'","1=1")} END
|
||||||
|
|
||||||
|
-- 【单位面积能耗_环比】
|
||||||
|
with one_to_many AS(
|
||||||
-- 【能耗环比】
|
|
||||||
|
|
||||||
-- 折线图
|
|
||||||
select
|
|
||||||
list_ym
|
|
||||||
, MeterType
|
|
||||||
,SUM(Dosage) /10000 Dosage -- 能耗
|
|
||||||
,SUM(Amount) AS Amount-- 能耗金额
|
|
||||||
from dw.dws_engine_meter_dosage_m
|
|
||||||
where 1=1
|
|
||||||
and MeterType in ('水表','电表')
|
|
||||||
AND list_ym < date_format(current_date(),'%Y%m')
|
|
||||||
and left(list_ym,4) = ${left(p_ym,4)}
|
|
||||||
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
|
||||||
${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")}
|
|
||||||
-- ${IF(LEN(P_MeterType)>0," AND MeterType IN ('"+JOINARRAY(P_MeterType,"','")+"')", "")}
|
|
||||||
GROUP by
|
|
||||||
list_ym
|
|
||||||
, MeterType
|
|
||||||
ORDER BY
|
|
||||||
list_ym
|
|
||||||
|
|
||||||
-- 明细表
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- 【能耗同比】
|
|
||||||
SELECT
|
SELECT
|
||||||
MeterType
|
a.username AS username -- 用户名
|
||||||
, list_ym
|
,SUBSTRING_INDEX(SUBSTRING_INDEX(a.mang_project, ',',b.help_topic_id + 1),',',-1) AS mang_project -- 管理项目名
|
||||||
,SUM(Dosage) /10000 Dosage
|
FROM ods_one_to_many_perm a
|
||||||
,SUM(Amount) AS Amount
|
JOIN mysql.help_topic b
|
||||||
FROM dw.dws_engine_meter_dosage_m
|
on b.help_topic_id < (LENGTH(a.mang_project) - length(replace(a.mang_project,',','')) + 1)
|
||||||
where 1=1
|
WHERE a.username = '${fine_username}'
|
||||||
AND list_ym <> DATE_FORMAT(CURDATE(), '%Y%m')
|
)
|
||||||
AND list_ym >= '${FORMAT(MONTHDELTA(CONCATENATE(p_ym,"-01"),-60),"yyyyMM")}'
|
select
|
||||||
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
A.organ_code AS organ_code
|
||||||
${IF(LEN(p_ym)>0," AND right(list_ym,2) ='" +right(p_ym,2) + "'","")}
|
, A.organ_name AS organ_name
|
||||||
${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")}
|
, A.comm_id AS comm_id
|
||||||
and MeterType in ('水表','电表')
|
, A.comm_name AS comm_name
|
||||||
group by
|
, A.MeterType AS MeterType
|
||||||
MeterType
|
, A.list_ym AS list_ym
|
||||||
,list_ym
|
, A.Dosage AS Dosage
|
||||||
order by
|
, A.Amount AS Amount
|
||||||
list_ym
|
, B.StateNameNew AS StateNameNew
|
||||||
|
,CASE WHEN StateNameNew = '写字楼' AND MeterType = '水表' THEN IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) ELSE 0 END AS XZL_SHUI
|
||||||
|
,CASE WHEN StateNameNew = '写字楼' AND MeterType = '电表' THEN IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) ELSE 0 END AS XZL_DIAN
|
||||||
|
,CASE WHEN StateNameNew = '商住' AND MeterType = '水表' THEN IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) ELSE 0 END AS SZ_SHUI
|
||||||
|
,CASE WHEN StateNameNew = '商住' AND MeterType = '电表' THEN IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) ELSE 0 END AS SZ_DIAN
|
||||||
|
,IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) AS DOSAGE_PER_SQUARE_METER
|
||||||
|
from
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
organ_code
|
||||||
|
, organ_name
|
||||||
|
, comm_id
|
||||||
|
, comm_name
|
||||||
|
, MeterType
|
||||||
|
, list_ym
|
||||||
|
, Dosage
|
||||||
|
, Amount
|
||||||
|
FROM dws_engine_meter_dosage_m
|
||||||
|
WHERE 1=1
|
||||||
|
AND MeterType IN ('水表','电表')
|
||||||
|
AND list_ym < date_format(CURRENT_DATE(),'%Y%m')
|
||||||
|
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||||
|
AND LEFT (list_ym,4) = ${left(p_ym,4)}
|
||||||
|
-- ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")}
|
||||||
|
AND CASE WHEN (SELECT mang_project FROM ods_one_to_many_perm WHERE username = '${fine_username}' AND mang_organ IS NULL) IS NOT NULL
|
||||||
|
THEN comm_name IN (SELECT mang_project FROM one_to_many WHERE username = '${fine_username}')
|
||||||
|
ELSE ${if(left(fine_role,2)=="项目","comm_name = '"+GETUSERDEPARTMENTS(3)+"'","1=1")} END
|
||||||
|
|
||||||
|
|
||||||
|
)A
|
||||||
|
LEFT JOIN
|
||||||
|
(
|
||||||
|
select
|
||||||
|
CommId -- 项目id
|
||||||
|
,CASE WHEN StateNameNew = '写字楼' THEN StateNameNew
|
||||||
|
ELSE '商住'
|
||||||
|
END AS StateNameNew
|
||||||
|
,SUM(FloorArea + UndergroundArea) as totalarea
|
||||||
|
,SUM(ContractArea) AS ContractArea-- 合同面积(建筑面积)
|
||||||
|
from dim_project_base_info_d
|
||||||
|
GROUP BY
|
||||||
|
CommId,CASE WHEN StateNameNew = '写字楼' THEN StateNameNew
|
||||||
|
ELSE '商住'
|
||||||
|
END
|
||||||
|
)B
|
||||||
|
ON A.comm_id = B.CommId
|
||||||
|
ORDER BY A.list_ym,A.MeterType
|
||||||
|
|
||||||
|
-- 【单位面积能耗_同比】
|
||||||
|
|
||||||
|
with one_to_many AS(
|
||||||
|
SELECT
|
||||||
|
a.username AS username -- 用户名
|
||||||
|
,SUBSTRING_INDEX(SUBSTRING_INDEX(a.mang_project, ',',b.help_topic_id + 1),',',-1) AS mang_project -- 管理项目名
|
||||||
|
FROM ods_one_to_many_perm a
|
||||||
|
JOIN mysql.help_topic b
|
||||||
|
on b.help_topic_id < (LENGTH(a.mang_project) - length(replace(a.mang_project,',','')) + 1)
|
||||||
|
WHERE a.username = '${fine_username}'
|
||||||
|
)
|
||||||
|
select
|
||||||
|
A.organ_code AS organ_code
|
||||||
|
, A.organ_name AS organ_name
|
||||||
|
, A.comm_id AS comm_id
|
||||||
|
, A.comm_name AS comm_name
|
||||||
|
, A.MeterType AS MeterType
|
||||||
|
, A.list_ym AS list_ym
|
||||||
|
, A.Dosage AS Dosage
|
||||||
|
, A.Amount AS Amount
|
||||||
|
, B.StateNameNew AS StateNameNew
|
||||||
|
,CASE WHEN StateNameNew = '写字楼' AND MeterType = '水表' THEN IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) ELSE 0 END AS XZL_SHUI
|
||||||
|
,CASE WHEN StateNameNew = '写字楼' AND MeterType = '电表' THEN IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) ELSE 0 END AS XZL_DIAN
|
||||||
|
,CASE WHEN StateNameNew = '商住' AND MeterType = '水表' THEN IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) ELSE 0 END AS SZ_SHUI
|
||||||
|
,CASE WHEN StateNameNew = '商住' AND MeterType = '电表' THEN IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea)) ELSE 0 END AS SZ_DIAN
|
||||||
|
,IF(B.ContractArea = 0,0,(A.Dosage / B.totalarea))AS DOSAGE_PER_SQUARE_METER
|
||||||
|
from
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
organ_code
|
||||||
|
, organ_name
|
||||||
|
, comm_id
|
||||||
|
, comm_name
|
||||||
|
, MeterType
|
||||||
|
, list_ym
|
||||||
|
, Dosage
|
||||||
|
, Amount
|
||||||
|
FROM dws_engine_meter_dosage_m
|
||||||
|
WHERE 1=1
|
||||||
|
AND list_ym <> DATE_FORMAT(CURDATE(), '%Y%m')
|
||||||
|
AND list_ym >= '${FORMAT(MONTHDELTA(CONCATENATE(p_ym,"-01"),-60),"yyyyMM")}'
|
||||||
|
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||||
|
${IF(LEN(p_ym)>0," AND right(list_ym,2) ='" +right(p_ym,2) + "'","")}
|
||||||
|
-- ${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")}
|
||||||
|
AND CASE WHEN (SELECT mang_project FROM ods_one_to_many_perm WHERE username = '${fine_username}' AND mang_organ IS NULL) IS NOT NULL
|
||||||
|
THEN comm_name IN (SELECT mang_project FROM one_to_many WHERE username = '${fine_username}')
|
||||||
|
ELSE ${if(left(fine_role,2)=="项目","comm_name = '"+GETUSERDEPARTMENTS(3)+"'","1=1")} END
|
||||||
|
|
||||||
|
and MeterType in ('水表','电表')
|
||||||
|
|
||||||
|
)A
|
||||||
|
LEFT JOIN
|
||||||
|
(
|
||||||
|
select
|
||||||
|
CommId -- 项目id
|
||||||
|
,CASE WHEN StateNameNew = '写字楼' THEN StateNameNew
|
||||||
|
ELSE '商住'
|
||||||
|
END AS StateNameNew
|
||||||
|
,SUM(FloorArea + UndergroundArea) as totalarea
|
||||||
|
,SUM(ContractArea) AS ContractArea-- 合同面积(建筑面积)
|
||||||
|
from dim_project_base_info_d
|
||||||
|
GROUP BY
|
||||||
|
CommId,CASE WHEN StateNameNew = '写字楼' THEN StateNameNew
|
||||||
|
ELSE '商住'
|
||||||
|
END
|
||||||
|
)B
|
||||||
|
ON A.comm_id = B.CommId
|
||||||
|
order by A.list_ym,A.MeterType asc
|
||||||
|
|
||||||
|
|
||||||
-- 【明细】
|
-- 【明细】
|
||||||
|
|
||||||
|
with one_to_many AS(
|
||||||
|
SELECT
|
||||||
|
a.username AS username -- 用户名
|
||||||
|
,SUBSTRING_INDEX(SUBSTRING_INDEX(a.mang_project, ',',b.help_topic_id + 1),',',-1) AS mang_project -- 管理项目名
|
||||||
|
FROM ods_one_to_many_perm a
|
||||||
|
JOIN mysql.help_topic b
|
||||||
|
on b.help_topic_id < (LENGTH(a.mang_project) - length(replace(a.mang_project,',','')) + 1)
|
||||||
|
WHERE a.username = '${fine_username}'
|
||||||
|
)
|
||||||
select
|
select
|
||||||
${if(len(p_area) == 0,"organ_name","comm_name")} as p_area -- 片区/项目
|
|
||||||
, MeterType
|
${if(len(p_area) == 0,"A.organ_name","A.comm_name")} as p_area -- 片区/项目
|
||||||
,SUM(Dosage) Dosage -- 能耗
|
, A.MeterType AS MeterType
|
||||||
,SUM(Amount) AS Amount-- 能耗金额
|
, SUM(A.Dosage) AS Dosage -- 能耗
|
||||||
from dw.dws_engine_meter_dosage_m
|
, sum(A.Amount) AS Amount -- 金额
|
||||||
where 1=1
|
-- , B.StateNameNew AS StateNameNew -- 业态
|
||||||
and MeterType in ('水表','电表')
|
,IF(sum(B.ContractArea) = 0,0,(sum(A.Dosage) / sum(B.totalarea)))AS DOSAGE_PER_SQUARE_METER -- 单位面积能耗
|
||||||
and list_ym = ${replace(p_ym,'-','')}
|
from
|
||||||
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
(
|
||||||
${if(left(fine_role,2)=="项目","and comm_name = '"+GETUSERDEPARTMENTS(3)+"'","")}
|
SELECT
|
||||||
${IF(LEN(P_MeterType)>0," AND MeterType IN ('"+JOINARRAY(P_MeterType,"','")+"')", "")}
|
organ_code
|
||||||
|
, organ_name
|
||||||
|
, comm_id
|
||||||
|
, comm_name
|
||||||
|
, MeterType
|
||||||
|
, list_ym
|
||||||
|
, Dosage
|
||||||
|
, Amount
|
||||||
|
FROM dws_engine_meter_dosage_m
|
||||||
|
WHERE 1=1
|
||||||
|
and MeterType in ('水表','电表')
|
||||||
|
and list_ym = ${replace(p_ym,'-','')}
|
||||||
|
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||||
|
${IF(LEN(P_MeterType)>0," AND MeterType IN ('"+JOINARRAY(P_MeterType,"','")+"')", "")}
|
||||||
|
)A
|
||||||
|
LEFT JOIN
|
||||||
|
(
|
||||||
|
select
|
||||||
|
CommId -- 项目id
|
||||||
|
,CASE WHEN StateNameNew = '写字楼' THEN StateNameNew
|
||||||
|
ELSE '商住'
|
||||||
|
END AS StateNameNew
|
||||||
|
,SUM(FloorArea + UndergroundArea) as totalarea
|
||||||
|
,SUM(ContractArea) AS ContractArea-- 合同面积(建筑面积)
|
||||||
|
from dim_project_base_info_d
|
||||||
|
GROUP BY
|
||||||
|
CommId,CASE WHEN StateNameNew = '写字楼' THEN StateNameNew
|
||||||
|
ELSE '商住'
|
||||||
|
END
|
||||||
|
)B
|
||||||
|
ON A.comm_id = B.CommId
|
||||||
GROUP BY
|
GROUP BY
|
||||||
${if(len(p_area) == 0,"organ_name","comm_name")}
|
${if(len(p_area) == 0,"A.organ_name","A.comm_name")}
|
||||||
, MeterType
|
, A.MeterType
|
||||||
|
|
||||||
|
|
@ -132,6 +132,7 @@ FROM
|
|||||||
,organ_name
|
,organ_name
|
||||||
,sum(ifnull(pr_paid_cu_amt,0) + ifnull(cu_paid_cu_amt,0) - ifnull(pr_offset_cu_amt,0) - ifnull(cu_offset_cu_amt,0)) / sum(ifnull(cu_receivable_amt,0) + ifnull(pr_exempt_cu_amt,0) + ifnull(cu_exempt_cu_amt,0)) cu_collection_rate
|
,sum(ifnull(pr_paid_cu_amt,0) + ifnull(cu_paid_cu_amt,0) - ifnull(pr_offset_cu_amt,0) - ifnull(cu_offset_cu_amt,0)) / sum(ifnull(cu_receivable_amt,0) + ifnull(pr_exempt_cu_amt,0) + ifnull(cu_exempt_cu_amt,0)) cu_collection_rate
|
||||||
,sum((- ifnull(cu_paid_pr_amt,0) - ifnull(cu_offset_pr_amt,0))) / sum(ifnull(pr_total_receivable_amt,0) + ifnull(pr_total_received_amt,0) + ifnull(cu_early_exempt_pr_amt,0) + ifnull(cu_exempt_pr_amt,0)) pr_collection_rate
|
,sum((- ifnull(cu_paid_pr_amt,0) - ifnull(cu_offset_pr_amt,0))) / sum(ifnull(pr_total_receivable_amt,0) + ifnull(pr_total_received_amt,0) + ifnull(cu_early_exempt_pr_amt,0) + ifnull(cu_exempt_pr_amt,0)) pr_collection_rate
|
||||||
|
,sum(ifnull(pr_paid_cu_amt,0) + ifnull(cu_paid_cu_amt,0) - ifnull(pr_offset_cu_amt,0) - ifnull(cu_offset_cu_amt,0)- ifnull(cu_offset_pr_amt,0) - ifnull(cu_paid_pr_amt,0)) / sum(ifnull(cu_receivable_amt,0) + ifnull(pr_exempt_cu_amt,0) + ifnull(cu_exempt_cu_amt,0) + ifnull(pr_total_receivable_amt,0) + ifnull(pr_total_received_amt,0) + ifnull(cu_early_exempt_pr_amt,0) + ifnull(cu_exempt_pr_amt,0)) total_collection_rate
|
||||||
from dwd_finance_fees_serial_d
|
from dwd_finance_fees_serial_d
|
||||||
where ParentCostCode = '0001'
|
where ParentCostCode = '0001'
|
||||||
and ym = left(current_date,7)
|
and ym = left(current_date,7)
|
||||||
|
Loading…
Reference in New Issue
Block a user