diff --git a/epdc-cloud-analysis/doc/kettle/screen_vaccination/疫苗接种情况-数量.ktr b/epdc-cloud-analysis/doc/kettle/screen_vaccination/疫苗接种情况-数量.ktr
index 866d3d8..5fbd6af 100644
--- a/epdc-cloud-analysis/doc/kettle/screen_vaccination/疫苗接种情况-数量.ktr
+++ b/epdc-cloud-analysis/doc/kettle/screen_vaccination/疫苗接种情况-数量.ktr
@@ -574,8 +574,8 @@
epdc_screen_vaccination_statistics
- TYPE_KEY
- TYPE_KEY
+ DEPT_ID
+ DEPT_ID
=
@@ -603,6 +603,10 @@
VACCINATION_COMPLETED_NUM
VACCINATION_COMPLETED_NUM
+
+ DEPT_ID
+ DEPT_ID
+
@@ -631,13 +635,22 @@
esua_epdc_custom
SELECT
- 'street_party' as TYPE_KEY,
+ 'community_party' AS TYPE_KEY,
+ ui.DEPT_ID,
count(1) AS COMMUNITY_TOTAL_NUM,
count(
- ( ui.VACCINATION_NUM = 1 and ui.VACCINATION_STATE=1) or null
+ (
+ ui.VACCINATION_NUM = 1
+ AND ui.VACCINATION_STATE = 1
+ )
+ OR NULL
) AS ONE_SHOT_NUM,
count(
- ( ui.VACCINATION_NUM = 2 and ui.VACCINATION_STATE=1) or null
+ (
+ ui.VACCINATION_NUM = 2
+ AND ui.VACCINATION_STATE = 1
+ )
+ OR NULL
) AS TWO_SHOTS_NUM,
count(
CASE
@@ -664,12 +677,85 @@
END
) AS VACCINATION_COMPLETED_NUM
FROM
-(select u.*,count(u.id)
- from epidemic_user_info u
- left join epidemic_user_inout_record uir on u.ID_CARD=uir.ID_CARD and uir.DEL_FLAG='0'
-WHERE u.DEL_FLAG = '0'
-and uir.LIVE_ADDRESS_NAME like '%榆山%'
-group by u.id)ui
+ (
+ SELECT
+ u.*, count(u.id),
+ SUBSTRING_INDEX(hi.PARENT_DEPT_IDS, ',', - 1) AS DEPT_ID,
+ SUBSTRING_INDEX(
+ hi.PARENT_DEPT_NAMES,
+ '-',
+ - 1
+ ) AS DEPT_NAME
+ FROM
+ epidemic_user_info u
+ LEFT JOIN epdc_house_resident hr ON CONVERT (
+ hr.RESIDENT_ID,
+ UNSIGNED INTEGER
+ ) = u.id
+ LEFT JOIN epdc_housing_information hi ON hi.id = hr.HOUSE_ID
+ WHERE
+ u.DEL_FLAG = '0'
+ AND hr.DEL_FLAG = '0'
+ AND hi.DEL_FLAG = '0'
+ GROUP BY
+ u.id
+ ) ui
+GROUP BY
+ ui.DEPT_ID
+UNION ALL
+ SELECT
+ 'street_party' AS TYPE_KEY,
+ '1258587398679126017' AS DEPT_ID,
+ count(1) AS COMMUNITY_TOTAL_NUM,
+ count(
+ (
+ ui.VACCINATION_NUM = 1
+ AND ui.VACCINATION_STATE = 1
+ )
+ OR NULL
+ ) AS ONE_SHOT_NUM,
+ count(
+ (
+ ui.VACCINATION_NUM = 2
+ AND ui.VACCINATION_STATE = 1
+ )
+ OR NULL
+ ) AS TWO_SHOTS_NUM,
+ count(
+ CASE
+ WHEN ui.VACCINATION_STATE = 0 THEN
+ 1
+ ELSE
+ NULL
+ END
+ ) AS NOT_VACCINATED_NUM,
+ count(
+ CASE
+ WHEN ui.VACCINATION_STATE = 1 THEN
+ 1
+ ELSE
+ NULL
+ END
+ ) AS BEING_VACCINATED_NUM,
+ count(
+ CASE
+ WHEN ui.VACCINATION_STATE = 2 THEN
+ 1
+ ELSE
+ NULL
+ END
+ ) AS VACCINATION_COMPLETED_NUM
+ FROM
+ (
+ SELECT
+ u.*, count(u.id)
+ FROM
+ epidemic_user_info u
+ WHERE
+ u.DEL_FLAG = '0'
+ GROUP BY
+ u.id
+ ) ui
0
N
diff --git a/epdc-cloud-analysis/doc/kettle/screen_vaccination/疫苗接种情况-街道部门.ktr b/epdc-cloud-analysis/doc/kettle/screen_vaccination/疫苗接种情况-街道部门.ktr
index 3bfad96..d9ab690 100644
--- a/epdc-cloud-analysis/doc/kettle/screen_vaccination/疫苗接种情况-街道部门.ktr
+++ b/epdc-cloud-analysis/doc/kettle/screen_vaccination/疫苗接种情况-街道部门.ktr
@@ -669,23 +669,57 @@
esua_epdc_admin
- select REPLACE(MD5(UUID()),'-','') as ID,
- 'street_party' as TYPE_KEY,
- di.LONGITUDE,
- di.LATITUDE,
- d.id as dept_id,
- d.name as dept_name,
- '0' AS REVISION,
- '0' AS DEL_FLAG,
- 'admin' AS CREATED_BY,
- NOW() AS CREATED_TIME,
- 'admin' AS UPDATED_BY,
- NOW() AS UPDATED_TIME
-from sys_dept d
-left join sys_dept_info di on di.dept_id=d.id
-where d.del_flag='0'
- and d.type_key='street_party'
- and d.id not in (select dept_id from sys_dept_config)
+ SELECT
+ REPLACE (MD5(UUID()), '-', '') AS ID,
+ 'street_party' AS TYPE_KEY,
+ di.LONGITUDE,
+ di.LATITUDE,
+ d.id AS dept_id,
+ d. NAME AS dept_name,
+ '0' AS REVISION,
+ '0' AS DEL_FLAG,
+ 'admin' AS CREATED_BY,
+ NOW() AS CREATED_TIME,
+ 'admin' AS UPDATED_BY,
+ NOW() AS UPDATED_TIME
+FROM
+ sys_dept d
+LEFT JOIN sys_dept_info di ON di.dept_id = d.id
+WHERE
+ d.del_flag = '0'
+AND d.type_key = 'street_party'
+AND d.id NOT IN (
+ SELECT
+ dept_id
+ FROM
+ sys_dept_config
+)
+UNION ALL
+ SELECT
+ REPLACE (MD5(UUID()), '-', '') AS ID,
+ 'community_party' AS TYPE_KEY,
+ di.LONGITUDE,
+ di.LATITUDE,
+ d.id AS dept_id,
+ d. NAME AS dept_name,
+ '0' AS REVISION,
+ '0' AS DEL_FLAG,
+ 'admin' AS CREATED_BY,
+ NOW() AS CREATED_TIME,
+ 'admin' AS UPDATED_BY,
+ NOW() AS UPDATED_TIME
+ FROM
+ sys_dept d
+ LEFT JOIN sys_dept_info di ON di.dept_id = d.id
+ WHERE
+ d.del_flag = '0'
+ AND d.type_key = 'community_party'
+ AND d.id NOT IN (
+ SELECT
+ dept_id
+ FROM
+ sys_dept_config
+ )
0
N