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