|
@ -3149,7 +3149,7 @@ public class StatisticsService {
|
|
|
" WHERE p.archive_type = 2 and p.del = 1 "+nameSql+idcardSql+" <testUserSql>";
|
|
|
break;
|
|
|
case 3:
|
|
|
sql =" SELECT p.id,p.name,CASE WHEN p.sex = 1 THEN '男' WHEN p.sex =2 THEN '女' END ,TIMESTAMPDIFF(YEAR, p.birthday, CURDATE()) as age,p.idcard,p.mobile,p.address FROM base_patient p WHERE p.del =1 AND p.register = 2"+nameSql+idcardSql;
|
|
|
sql =" SELECT p.id as id,p.name,CASE WHEN p.sex = 1 THEN '男' WHEN p.sex =2 THEN '女' END ,TIMESTAMPDIFF(YEAR, p.birthday, CURDATE()) as age,p.idcard,p.mobile,p.address FROM base_patient p WHERE p.del =1 AND p.register = 2"+nameSql+idcardSql;
|
|
|
}
|
|
|
|
|
|
|
|
@ -3163,11 +3163,56 @@ public class StatisticsService {
|
|
|
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("data", list);
|
|
|
jsonObject.put("userTotal", list.size());
|
|
|
jsonObject.put("userTotal", findTendOldTotal(type,testUserSql,orgNameSql,orgNameSql2,nameSql,idcardSql));
|
|
|
|
|
|
return jsonObject;
|
|
|
}
|
|
|
|
|
|
private Integer findTendOldTotal(Integer type,String testUserSql,String orgNameSql,String orgNameSql2,String nameSql,String idcardSql){
|
|
|
|
|
|
String sql = "";
|
|
|
switch (type) {
|
|
|
case 1:
|
|
|
sql = " SELECT count(DISTINCT p.id) as total FROM " +
|
|
|
" base_patient p,base_service_package_sign_record sr,base_service_package_record r,base_service_package_item i,base_service_package pack,base_team t,base_team_member tm,base_doctor d " +
|
|
|
" WHERE " +
|
|
|
" sr.id = r.sign_id " +
|
|
|
" AND sr.STATUS = 1 " +
|
|
|
" AND r.service_package_id = i.service_package_id " +
|
|
|
" AND r.service_package_id = pack.id " +
|
|
|
" AND i.del = 1 " +
|
|
|
" AND sr.`status` = 1 " +
|
|
|
" AND CONVERT ( sr.patient USING utf8 ) = p.id " +
|
|
|
" AND r.team_code = t.id " +
|
|
|
" AND tm.team_code = t.id " +
|
|
|
" AND p.archive_type = 1 " +nameSql+idcardSql+orgNameSql+
|
|
|
" AND d.id = tm.doctor_code <testUserSql> " +
|
|
|
" GROUP BY p.idcard " +
|
|
|
" UNION " +
|
|
|
" SELECT " +
|
|
|
" count(DISTINCT p.id) as total " +
|
|
|
" 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 AND p.archive_type = 1 " + nameSql+idcardSql+orgNameSql2+
|
|
|
" <testUserSql> " +
|
|
|
" GROUP BY p.idcard ";
|
|
|
break;
|
|
|
case 2:
|
|
|
sql =" SELECT count(DISTINCT p.id) as total " +
|
|
|
" FROM base_patient p " +
|
|
|
" WHERE p.archive_type = 2 and p.del = 1 "+nameSql+idcardSql+" <testUserSql>";
|
|
|
break;
|
|
|
case 3:
|
|
|
sql =" SELECT count(DISTINCT p.id) as total FROM base_patient p WHERE p.del =1 AND p.register = 2"+nameSql+idcardSql;
|
|
|
}
|
|
|
|
|
|
sql = sql.replace("<testUserSql>",testUserSql);
|
|
|
sql += " ORDER BY id ";
|
|
|
Integer integer = jdbcTemplate.queryForObject(sql,Integer.class);
|
|
|
return integer;
|
|
|
}
|
|
|
|
|
|
|
|
|
//对应的社区
|
|
|
public List<Map<String, Object>> findOldOrg() {
|
|
|
String sql = " SELECT t.`name`,t.id FROM base_team t WHERE t.org_code IN(SELECT code FROM base_org WHERE type = '3' AND `code`" +
|