|
@ -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;
|