|  | @ -2216,7 +2216,7 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |     //老人整体概况
 | 
	
		
			
				|  |  |     public Map<String,Object> getOlderOverview(String currentUserRole,String  currentUserRoleLevel){
 | 
	
		
			
				|  |  |         String year = DateUtil.getNowYear()+"";
 | 
	
		
			
				|  |  |         String sql = " SELECT *,(SELECT ((SELECT COUNT(*) FROM base_patient p where  p.sign_status = 0 AND p.del = 1) - (SELECT COUNT(p.id) FROM base_patient p INNER JOIN wlyy_patient_device d ON p.id = d.`user` WHERE p.sign_status = 0 AND p.del = 1  AND d.del = 0)) total\n) total FROM base_older_num  where type='"+currentUserRoleLevel+"' and code='"+currentUserRole+"' and year='"+year+"' ";
 | 
	
		
			
				|  |  |         String sql = " SELECT *,(SELECT ((SELECT COUNT(*) FROM base_patient p where  p.sign_status = 0 AND p.del = 1) - (SELECT COUNT(p.id) FROM base_patient p INNER JOIN wlyy_patient_device d ON p.id = d.`user` WHERE p.sign_status = 0 AND p.del = 1  AND d.del = 0)) total) total,(SELECT count(DISTINCT id) FROM base_patient WHERE register = 1) xzf_num FROM base_older_num  where type='"+currentUserRoleLevel+"' and code='"+currentUserRole+"' and year='"+year+"' ";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String jdOldsql = "SELECT count(DISTINCT id) AS total  FROM base_patient WHERE register = 2";
 | 
	
		
			
				|  |  |         Integer integer = jdbcTemplate.queryForObject(jdOldsql, Integer.class);
 | 
	
	
		
			
				|  | @ -3026,6 +3026,20 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |         return res;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *管理端居民增量
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONObject statisticsOldAdd(String endDate, String area, Integer level, String type) throws Exception {
 | 
	
		
			
				|  |  |         JSONObject res = new JSONObject();
 | 
	
		
			
				|  |  |         String start = statisticsUtilService.calStart(endDate, type);
 | 
	
		
			
				|  |  |         SaveModel familyAdd = elasticsearchUtil.findOneDateQuotaLevels(start, endDate, area, level, "74", SaveModel.timeLevel_ZL, null, null);
 | 
	
		
			
				|  |  |         SaveModel oldAdd = elasticsearchUtil.findOneDateQuotaLevels(start, endDate, area, level, "52", SaveModel.timeLevel_ZL, null, null);
 | 
	
		
			
				|  |  |         res.put("index_" + 74 + "_add", familyAdd.getResult2().longValue());
 | 
	
		
			
				|  |  |         res.put("index_" + 52 + "_add", oldAdd.getResult2().longValue());
 | 
	
		
			
				|  |  |         return res;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 通用增量趋势接口
 | 
	
		
			
				|  |  |      */
 | 
	
	
		
			
				|  | @ -3167,6 +3181,7 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |         String nameSql = "";
 | 
	
		
			
				|  |  |         String idcardSql = "";
 | 
	
		
			
				|  |  |         String orgCodeSql = "";
 | 
	
		
			
				|  |  |         String liftOrgCodeSql = "";
 | 
	
		
			
				|  |  |         String total = "";
 | 
	
		
			
				|  |  |         String sql = "";
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(name)) {
 | 
	
	
		
			
				|  | @ -3177,6 +3192,7 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(orgCode)) {
 | 
	
		
			
				|  |  |             orgCodeSql = " AND t.id = '"+orgCode+"'";
 | 
	
		
			
				|  |  |             liftOrgCodeSql = " AND p.saas_id = '"+orgCode+"'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String testUserSql = " NOT IN ( SELECT DISTINCT dict_code FROM wlyy_hospital_sys_dict WHERE ( dict_name = 'jkzl_child' OR dict_name = 'jkzl_older' OR dict_name = 'jkzl_user' OR dict_name= 'jkzl_olderRelative' ) AND dict_code IS NOT NULL ) ";
 | 
	
	
		
			
				|  | @ -3239,7 +3255,7 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |                         " AND tm.team_code = t.id  " +
 | 
	
		
			
				|  |  |                         " AND p.archive_type = 1  " + orgCodeSql+idcardSql+nameSql+
 | 
	
		
			
				|  |  |                         " AND d.id = tm.doctor_code  ";
 | 
	
		
			
				|  |  |                 total = overTimeOrderListTotalSql(1,nameSql,idcardSql,orgCodeSql);
 | 
	
		
			
				|  |  |                 total = overTimeOrderListTotalSql(1,nameSql,idcardSql,orgCodeSql,null);
 | 
	
		
			
				|  |  |                 break;
 | 
	
		
			
				|  |  |             case 2:
 | 
	
		
			
				|  |  |                 sql = "SELECT DISTINCT o.id as orderId,p.id AS patientId, p.`name`, p.mobile,DATE_FORMAT(o.create_time,'%Y-%m-%d %H:%i:%s') as create_time , fd.NAME AS lifeName, bo.NAME AS serviceOrgName, bo.mobile AS orgMobile, t.`name` AS area   " +
 | 
	
	
		
			
				|  | @ -3275,12 +3291,12 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |                         "WHERE  " +
 | 
	
		
			
				|  |  |                         "  p.sign_status <> 1   " +
 | 
	
		
			
				|  |  |                         "  AND co.`status` = 1   " +
 | 
	
		
			
				|  |  |                         "  AND p.id "+testUserSql+""+nameSql+idcardSql+orgCodeSql;
 | 
	
		
			
				|  |  |                 total = overTimeOrderListTotalSql(2,nameSql,idcardSql,orgCodeSql);
 | 
	
		
			
				|  |  |                         "  AND p.id "+testUserSql+""+nameSql+idcardSql+liftOrgCodeSql;
 | 
	
		
			
				|  |  |                 total = overTimeOrderListTotalSql(2,nameSql,idcardSql,orgCodeSql,liftOrgCodeSql);
 | 
	
		
			
				|  |  |                 break;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         sql += "GROUP BY orderId ORDER BY create_time DESC LIMIT "+page+","+size+" ";
 | 
	
		
			
				|  |  |         sql += " GROUP BY orderId ORDER BY create_time DESC LIMIT "+page+","+size+" ";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
 | 
	
	
		
			
				|  | @ -3306,13 +3322,13 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |             nameSql = " AND p.`name` LIKE '%"+name+"%'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(idcard)){
 | 
	
		
			
				|  |  |             idcardSql = "AND p.idcard = '"+idcard+"'";
 | 
	
		
			
				|  |  |             idcardSql = " AND p.idcard = '"+idcard+"'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(orgCode)){
 | 
	
		
			
				|  |  |             orgCodeSql =" AND t.id = '"+orgCode+"'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (null!=status){
 | 
	
		
			
				|  |  |             statusSql = "AND o.status = "+status+"";
 | 
	
		
			
				|  |  |             statusSql = " AND o.status = "+status+"";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String sql = "SELECT p.name,o.`status`,o.id AS orderId,DATE_FORMAT( o.create_time, '%Y-%m-%d %H:%i:%s' ) AS create_time, " +
 | 
	
	
		
			
				|  | @ -3401,7 +3417,7 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |         return list.get(0);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private String overTimeOrderListTotalSql(Integer type,String nameSql,String idcardSql,String orgCodeSql){
 | 
	
		
			
				|  |  |     private String overTimeOrderListTotalSql(Integer type,String nameSql,String idcardSql,String orgCodeSql,String liftOrgCodeSql){
 | 
	
		
			
				|  |  |         String sql = "";
 | 
	
		
			
				|  |  |        switch (type){
 | 
	
		
			
				|  |  |            case 1:
 | 
	
	
		
			
				|  | @ -3503,7 +3519,7 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |                        "\t\tLEFT JOIN base_team t ON t.org_code = bo.CODE \n" +
 | 
	
		
			
				|  |  |                        "\tWHERE\n" +
 | 
	
		
			
				|  |  |                        "\t\tp.sign_status <> 1 \n" +
 | 
	
		
			
				|  |  |                        "\t\tAND co.`status` = 1 "+nameSql+idcardSql+orgCodeSql+" \n" +
 | 
	
		
			
				|  |  |                        "\t\tAND co.`status` = 1 "+nameSql+idcardSql+liftOrgCodeSql+" \n" +
 | 
	
		
			
				|  |  |                        "\t\tAND p.id NOT IN ( SELECT DISTINCT dict_code FROM wlyy_hospital_sys_dict WHERE ( dict_name = 'jkzl_child' OR dict_name = 'jkzl_older' OR dict_name = 'jkzl_user' ) AND dict_code IS NOT NULL ) \n" +
 | 
	
		
			
				|  |  |                        "\t) a";
 | 
	
		
			
				|  |  |                break;
 |