|  | @ -6,13 +6,16 @@ import com.yihu.jw.care.dao.security.BaseEmergencyWarnLogDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.care.securitymonitoring.BaseEmergencyWarnLogDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.PageEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.common.IdCardUtil;
 | 
	
		
			
				|  |  | import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.jdbc.core.JdbcTemplate;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.util.HashMap;
 | 
	
		
			
				|  |  | import java.util.Iterator;
 | 
	
		
			
				|  |  | import java.util.List;
 | 
	
		
			
				|  |  | import java.util.Map;
 | 
	
		
			
				|  |  | import java.util.stream.Collectors;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * Created by yeshijie on 2022/1/18.
 | 
	
	
		
			
				|  | @ -25,6 +28,8 @@ public class WlyygcStatisticsService {
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private BaseEmergencyWarnLogDao logDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /***************************************************华联社区******************************************************/
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 社区签约老人数量
 | 
	
		
			
				|  |  |      * @return
 | 
	
	
		
			
				|  | @ -349,7 +354,6 @@ public class WlyygcStatisticsService {
 | 
	
		
			
				|  |  |         return PageEnvelop.getSuccessListWithPage("查询成功",res,page,size,total);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public PageEnvelop deviceList(String code,Integer page,Integer size){
 | 
	
		
			
				|  |  |         if (page == null) {
 | 
	
		
			
				|  |  |             page = 1;
 | 
	
	
		
			
				|  | @ -404,4 +408,330 @@ public class WlyygcStatisticsService {
 | 
	
		
			
				|  |  |         return PageEnvelop.getSuccessListWithPage("查询成功",maps,page,size,total);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /***************************************************所有社区******************************************************/
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      *老人基本信息 居民标签
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public PageEnvelop oldInfo(Integer page, Integer size){
 | 
	
		
			
				|  |  |         if (page == null) {
 | 
	
		
			
				|  |  |             page = 1;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (size == null) {
 | 
	
		
			
				|  |  |             size = 10;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String patientInfoSql="SELECT DISTINCT" +
 | 
	
		
			
				|  |  |                 " a.`name` AS `name`," +
 | 
	
		
			
				|  |  |                 " TIMESTAMPDIFF(YEAR, a.birthday, CURDATE()) AS age," +
 | 
	
		
			
				|  |  |                 " a.address AS address," +
 | 
	
		
			
				|  |  |                 " a.residential_area AS residential_area," +
 | 
	
		
			
				|  |  |                 " '老人' AS type," +
 | 
	
		
			
				|  |  |                 " a.sign_status * 1 AS signStatus," +
 | 
	
		
			
				|  |  |                 " a.archive_status * 1 AS archiveStatus," +
 | 
	
		
			
				|  |  |                 " l.label_name AS labelName," +
 | 
	
		
			
				|  |  |                 " a.id as id" +
 | 
	
		
			
				|  |  |                 " FROM" +
 | 
	
		
			
				|  |  |                 " base_patient a LEFT JOIN " +
 | 
	
		
			
				|  |  |                 " wlyy_patient_label l ON a.id = l.patient" +
 | 
	
		
			
				|  |  |                 " WHERE" +
 | 
	
		
			
				|  |  |                 " a.archive_type = 1" +
 | 
	
		
			
				|  |  |                 " AND a.del = '1' and  l.label_type = 1 limit " + (page - 1)*size + "," + size;
 | 
	
		
			
				|  |  |         List<Map<String, Object>> maps = jdbcTemplate.queryForList(patientInfoSql);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //删除测试老人数据
 | 
	
		
			
				|  |  |         Iterator<Map<String, Object>> iterator = maps.iterator();
 | 
	
		
			
				|  |  |         Map<String, String> signOlderMap = removeTestOld();
 | 
	
		
			
				|  |  |         while (iterator.hasNext()) {
 | 
	
		
			
				|  |  |             Map<String, Object> next = iterator.next();
 | 
	
		
			
				|  |  |             if (!signOlderMap.containsValue(next.get("id").toString())) {
 | 
	
		
			
				|  |  |                 iterator.remove();
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return  PageEnvelop.getSuccessListWithPage("查询成功",maps,page,size,Long.parseLong(maps.size()+""));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 老人签约信息 签约团队
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public PageEnvelop signOldInfo(String patient,Integer page, Integer size){
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String signOld = "SELECT" +
 | 
	
		
			
				|  |  |                 " DATE_FORMAT(pr.create_time,'%Y-%m-%d') AS createTime," +
 | 
	
		
			
				|  |  |                 " p.`name` AS serName," +
 | 
	
		
			
				|  |  |                 " p.type AS serType," +
 | 
	
		
			
				|  |  |                 " p.org_name AS serOrgName," +
 | 
	
		
			
				|  |  |                 " sr.sign_doctor_name AS signDoctorName," +
 | 
	
		
			
				|  |  |                 " t.name AS teamName" +
 | 
	
		
			
				|  |  |                 " FROM" +
 | 
	
		
			
				|  |  |                 " base_service_package_sign_record sr " +
 | 
	
		
			
				|  |  |                 " LEFT JOIN base_service_package_record pr ON sr.id = pr.sign_id" +
 | 
	
		
			
				|  |  |                 " LEFT JOIN base_service_package p ON pr.service_package_id = p.id" +
 | 
	
		
			
				|  |  |                 " LEFT JOIN base_team t ON t.id = pr.team_code" +
 | 
	
		
			
				|  |  |                 " WHERE" +
 | 
	
		
			
				|  |  |                 "  sr.status=1" +
 | 
	
		
			
				|  |  |                 " AND p.del = '1'" +
 | 
	
		
			
				|  |  |                 " AND t.del = '1'" +
 | 
	
		
			
				|  |  |                 " AND sr.patient = '"+patient+"' limit " + (page - 1)*size + "," + size;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Map<String, Object>> maps = jdbcTemplate.queryForList(signOld);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return PageEnvelop.getSuccessListWithPage("查询成功",maps,page,size,Long.parseLong(maps.size()+""));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 紧急预警信息
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public PageEnvelop emeAndsecinfo(Integer page,Integer size){
 | 
	
		
			
				|  |  |         String emeSql = "SELECT DISTINCT " +
 | 
	
		
			
				|  |  |                 " eao.patient AS patient, " +
 | 
	
		
			
				|  |  |                 " eao.patient_name AS patientName, " +
 | 
	
		
			
				|  |  |                 " eao.org_name AS orgName, " +
 | 
	
		
			
				|  |  |                 " eao.serve_address AS serveAddress, " +
 | 
	
		
			
				|  |  |                 " eao.doctor_name AS doctorName, " +
 | 
	
		
			
				|  |  |                 " DATE_FORMAT(eao.create_time,'%Y-%m-%d')  AS createTime," +
 | 
	
		
			
				|  |  |                 " eao.type AS type," +
 | 
	
		
			
				|  |  |                 " '紧急呼叫' serve_desc," +
 | 
	
		
			
				|  |  |                 " eao.`status` AS `status`," +
 | 
	
		
			
				|  |  |                 " DATE_FORMAT(eao.complete_time,'%Y-%m-%d') as completeTime," +
 | 
	
		
			
				|  |  |                 " DATE_FORMAT(wdr.response_time,'%Y-%m-%d')  AS responseTime" +
 | 
	
		
			
				|  |  |                 " FROM" +
 | 
	
		
			
				|  |  |                 " base_emergency_assistance_order eao LEFT JOIN base_emergency_warn_doctor_response wdr ON eao.id = wdr.order_id limit " + (page - 1)*size + "," + size;
 | 
	
		
			
				|  |  |         String secSql = "SELECT DISTINCT" +
 | 
	
		
			
				|  |  |                 " mo.patient AS patient," +
 | 
	
		
			
				|  |  |                 " mo.patient_name AS patientName," +
 | 
	
		
			
				|  |  |                 " mo.doctor_name AS doctorName," +
 | 
	
		
			
				|  |  |                 " mo.serve_desc AS serveDesc," +
 | 
	
		
			
				|  |  |                 " mo.serve_address AS serveAddress," +
 | 
	
		
			
				|  |  |                 " DATE_FORMAT(mo.create_time,'%Y-%m-%d')  AS createTime," +
 | 
	
		
			
				|  |  |                 " DATE_FORMAT(mo.complete_time,'%Y-%m-%d')  AS completeTime," +
 | 
	
		
			
				|  |  |                 " DATE_FORMAT(mo.service_response_time,'%Y-%m-%d')  AS responseTime," +
 | 
	
		
			
				|  |  |                 " mo.order_source AS orderSource," +
 | 
	
		
			
				|  |  |                 " mo.type AS type," +
 | 
	
		
			
				|  |  |                 " mo.`status` AS `status`" +
 | 
	
		
			
				|  |  |                 " FROM" +
 | 
	
		
			
				|  |  |                 " base_security_monitoring_order mo limit " + (page - 1)*size + "," + size;
 | 
	
		
			
				|  |  |         List<Map<String, Object>> emeList = jdbcTemplate.queryForList(emeSql);
 | 
	
		
			
				|  |  |         List<Map<String, Object>> secList = jdbcTemplate.queryForList(secSql);
 | 
	
		
			
				|  |  |         emeList.addAll(secList);
 | 
	
		
			
				|  |  |         Map<String, String> jkzlUserMap = removeTestUser();
 | 
	
		
			
				|  |  |         Iterator<Map<String, Object>> iterator = emeList.iterator();
 | 
	
		
			
				|  |  |         while (iterator.hasNext()) {
 | 
	
		
			
				|  |  |             Map<String, Object> next = iterator.next();
 | 
	
		
			
				|  |  |             if (jkzlUserMap.containsValue(next.get("patient"))) {
 | 
	
		
			
				|  |  |                 iterator.remove();
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return PageEnvelop.getSuccessListWithPage("查询成功",emeList,page,size,Long.parseLong(emeList.size()+""));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 设备信息
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public PageEnvelop deviceLists(Integer page,Integer size){
 | 
	
		
			
				|  |  |         String deviceSql = "SELECT DISTINCT" +
 | 
	
		
			
				|  |  |                 " p.`name`," +
 | 
	
		
			
				|  |  |                 " p.id," +
 | 
	
		
			
				|  |  |                 " pd.device_sn AS deviceSn," +
 | 
	
		
			
				|  |  |                 " pd.device_name AS deviceName," +
 | 
	
		
			
				|  |  |                 " wd.device_type as deviceType," +
 | 
	
		
			
				|  |  |                 " pd.category_code as categoryCode  " +
 | 
	
		
			
				|  |  |                 " FROM" +
 | 
	
		
			
				|  |  |                 " wlyy_patient_device pd," +
 | 
	
		
			
				|  |  |                 " wlyy_devices wd," +
 | 
	
		
			
				|  |  |                 " base_patient p" +
 | 
	
		
			
				|  |  |                 " WHERE" +
 | 
	
		
			
				|  |  |                 " p.id = pd.`user` AND" +
 | 
	
		
			
				|  |  |                 " wd.device_code = pd.device_sn limit " + (page - 1)*size + "," + size;
 | 
	
		
			
				|  |  |         List<Map<String, Object>> maps = jdbcTemplate.queryForList(deviceSql);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Map<String, String> jkzlUserMap = removeTestUser();
 | 
	
		
			
				|  |  |         Iterator<Map<String, Object>> iterator = maps.iterator();
 | 
	
		
			
				|  |  |         while (iterator.hasNext()) {
 | 
	
		
			
				|  |  |             Map<String, Object> next = iterator.next();
 | 
	
		
			
				|  |  |             if (jkzlUserMap.containsValue(next.get("patient"))) {
 | 
	
		
			
				|  |  |                 iterator.remove();
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return PageEnvelop.getSuccessListWithPage("查询成功",maps,page,size,Long.parseLong(maps.size()+""));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     //1血糖仪,2.血压计,3药盒,4智能手表,7 = 居家报警器,12 监控器 13 睡眠带 14气感报警器 15烟感报警器 16拐杖 17随身wifi
 | 
	
		
			
				|  |  |     public List<Map<String, Object>> deviceCollectInfo(String deviceSN,String code,String startDate,String endDate){
 | 
	
		
			
				|  |  |         String sql = "";
 | 
	
		
			
				|  |  |         switch (code){
 | 
	
		
			
				|  |  |             case "14":
 | 
	
		
			
				|  |  |                 //烟感气感实时数据
 | 
	
		
			
				|  |  |                 sql = "SELECT device_sn,device_type,value,unit,DATE_FORMAT(create_time,'%Y-%m-%d') as create_time,temperature_value,power_value FROM base_device_health_index WHERE device_sn = '"+deviceSN+"'";
 | 
	
		
			
				|  |  |                 break;
 | 
	
		
			
				|  |  |             case "16": //拐杖
 | 
	
		
			
				|  |  |                 sql = "SELECT lat,lon,DATE_FORMAT(create_time,'%Y-%m-%d') as create_time FROM base_yxdevice_index WHERE sn = '"+deviceSN+"'";
 | 
	
		
			
				|  |  |                 break;
 | 
	
		
			
				|  |  |             case "13": //睡眠带
 | 
	
		
			
				|  |  |                 sql = "SELECT * FROM base_sleep_device WHERE device_sn = '"+deviceSN+"'";
 | 
	
		
			
				|  |  |                 break;
 | 
	
		
			
				|  |  |             case "4": //智能手表
 | 
	
		
			
				|  |  |                 sql = "SELECT sleep_time,deep_sleep,light_sleep,awake_time,interval_time,total,del,DATE_FORMAT(create_time,'%Y-%m-%d') as create_time FROM base_sleep_x1device WHERE device_sn = '"+deviceSN+"' ";
 | 
	
		
			
				|  |  |                 break;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(startDate)&&StringUtils.isNotBlank(endDate)){
 | 
	
		
			
				|  |  |             sql += " AND create_time >= '"+startDate+"' AND create_time <='"+endDate+"' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         sql += " ORDER BY create_time";
 | 
	
		
			
				|  |  |         return jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 生活照料
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public PageEnvelop lifeCareList(Integer page,Integer size){
 | 
	
		
			
				|  |  |         if (null==page||0==page){
 | 
	
		
			
				|  |  |             page = 1;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (null==size||0==size) {
 | 
	
		
			
				|  |  |             size = 10;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String sql ="SELECT DISTINCT" +
 | 
	
		
			
				|  |  |                 " co.proxy_patient_name," +
 | 
	
		
			
				|  |  |                 " co.patient_name AS patientName," +
 | 
	
		
			
				|  |  |                 " co.serve_address AS serveAddress," +
 | 
	
		
			
				|  |  |                 " DATE_FORMAT(co.create_time,'%Y-%m-%d') AS createTime," +
 | 
	
		
			
				|  |  |                 " DATE_FORMAT(co.complete_time,'%Y-%m-%d') AS completeTime," +
 | 
	
		
			
				|  |  |                 " co.doctor_name AS doctorName," +
 | 
	
		
			
				|  |  |                 " fd.`name` AS lifeCareName," +
 | 
	
		
			
				|  |  |                 " co.`status` AS `status`," +
 | 
	
		
			
				|  |  |                 " co.conclusion_remark AS remark" +
 | 
	
		
			
				|  |  |                 " FROM" +
 | 
	
		
			
				|  |  |                 " base_life_care_order co" +
 | 
	
		
			
				|  |  |                 " LEFT JOIN base_life_care_fee_detail fd ON co.id = fd.order_id ORDER BY co.create_time DESC LIMIT "+(page-1)*size+","+size+"";
 | 
	
		
			
				|  |  |         List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
 | 
	
		
			
				|  |  |         Map<String, String> jkzlUserMap = removeTestUser();
 | 
	
		
			
				|  |  |         Iterator<Map<String, Object>> iterator = maps.iterator();
 | 
	
		
			
				|  |  |         while (iterator.hasNext()) {
 | 
	
		
			
				|  |  |             Map<String, Object> next = iterator.next();
 | 
	
		
			
				|  |  |             if (jkzlUserMap.containsValue(next.get("patientName"))) {
 | 
	
		
			
				|  |  |                 iterator.remove();
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return PageEnvelop.getSuccessListWithPage("查询成功",maps,page,size,Long.parseLong(maps.size()+""));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 幼儿信息
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public PageEnvelop infantInfo(Integer page,Integer size){
 | 
	
		
			
				|  |  |         String infantSql = "SELECT DISTINCT" +
 | 
	
		
			
				|  |  |                 " p.id AS id," +
 | 
	
		
			
				|  |  |                 " o.address AS address," +
 | 
	
		
			
				|  |  |                 " p. NAME AS `name`," +
 | 
	
		
			
				|  |  |                 " t. STATUS AS `status`," +
 | 
	
		
			
				|  |  |                 " o. NAME AS `orgName`" +
 | 
	
		
			
				|  |  |                 " FROM" +
 | 
	
		
			
				|  |  |                 " base_patient p" +
 | 
	
		
			
				|  |  |                 " LEFT JOIN base_doctor_patient_tmp t ON t.patient = p.id" +
 | 
	
		
			
				|  |  |                 " LEFT JOIN base_org o ON t.org_code = o. CODE" +
 | 
	
		
			
				|  |  |                 " WHERE" +
 | 
	
		
			
				|  |  |                 " p.archive_type = 2" +
 | 
	
		
			
				|  |  |                 " AND t.del = 1" +
 | 
	
		
			
				|  |  |                 " AND p.del = 1" +
 | 
	
		
			
				|  |  |                 " and o.type = 4 ORDER BY p.create_time DESC LIMIT "+(page-1)*size+","+page+"";
 | 
	
		
			
				|  |  |         List<Map<String, Object>> infantList = jdbcTemplate.queryForList(infantSql);
 | 
	
		
			
				|  |  |         Map<String, String> jkzlUserRem = removeTestUser();
 | 
	
		
			
				|  |  |         Iterator<Map<String, Object>> iterator = infantList.iterator();
 | 
	
		
			
				|  |  |         while (iterator.hasNext()) {
 | 
	
		
			
				|  |  |             Map<String, Object> next = iterator.next();
 | 
	
		
			
				|  |  |             if (jkzlUserRem.containsValue(next.get("id"))) {
 | 
	
		
			
				|  |  |                 iterator.remove();
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 next.put("age",IdCardUtil.getAgeForIdcard(next.get("idcard").toString()));
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return PageEnvelop.getSuccessListWithPage("查询成功",infantList,page,size,Long.parseLong(infantList.size()+""));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 上门辅导
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public PageEnvelop doorServiceOrder(Integer page,Integer size){
 | 
	
		
			
				|  |  |         String serviceSql ="SELECT DISTINCT " +
 | 
	
		
			
				|  |  |                 " so.serve_address AS serveAddress, " +
 | 
	
		
			
				|  |  |                 " so.proxy_patient_name AS ppName, " +
 | 
	
		
			
				|  |  |                 " so.patient_name AS pName, " +
 | 
	
		
			
				|  |  |                 " so.patient AS patient," +
 | 
	
		
			
				|  |  |                 " DATE_FORMAT(so.create_time,'%Y-%m-%d')  AS createTime, " +
 | 
	
		
			
				|  |  |                 " DATE_FORMAT(so.service_response_time,'%Y-%m-%d')  AS serviceTime, " +
 | 
	
		
			
				|  |  |                 " so.doctor_name AS  doctorName, " +
 | 
	
		
			
				|  |  |                 " dc.`name` AS serveName, " +
 | 
	
		
			
				|  |  |                 " DATE_FORMAT(so.complete_time,'%Y-%m-%d')  AS completeTime, " +
 | 
	
		
			
				|  |  |                 " so.`status` AS `status`, " +
 | 
	
		
			
				|  |  |                 " fd.conclusion AS conclusion " +
 | 
	
		
			
				|  |  |                 " FROM " +
 | 
	
		
			
				|  |  |                 " base_door_coach_order so " +
 | 
	
		
			
				|  |  |                 " LEFT JOIN base_door_coach_fee_detail dc ON so.id = dc.order_id " +
 | 
	
		
			
				|  |  |                 " LEFT JOIN base_door_coach_conclusion fd ON so.id = fd.order_id ";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<Map<String, Object>> lists = jdbcTemplate.queryForList(serviceSql);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Map<String, String> jkzlUserRm = removeTestUser();
 | 
	
		
			
				|  |  |         Iterator<Map<String, Object>> iterator = lists.iterator();
 | 
	
		
			
				|  |  |         while (iterator.hasNext()) {
 | 
	
		
			
				|  |  |             Map<String, Object> next = iterator.next();
 | 
	
		
			
				|  |  |             if (jkzlUserRm.containsValue(next.get("patient"))) {
 | 
	
		
			
				|  |  |                 iterator.remove();
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return PageEnvelop.getSuccessListWithPage("查询成功",lists,page,size,Long.parseLong(lists.size()+""));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 排除测试数据
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public Map<String,String>  removeTestOrg(){
 | 
	
		
			
				|  |  |         String filterOrg = "";//排除的测试机构
 | 
	
		
			
				|  |  |         String sqlOgr = "SELECT DISTINCT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' and dict_code is not null ";
 | 
	
		
			
				|  |  |         List<String> Orglist =  jdbcTemplate.queryForList(sqlOgr,String.class);
 | 
	
		
			
				|  |  |         Map<String,String> jkzlOrgMap = new HashMap<>();
 | 
	
		
			
				|  |  |         if(Orglist.size()>0){
 | 
	
		
			
				|  |  |             jkzlOrgMap = Orglist.stream().collect(Collectors.toMap(String::toString,String::toString));
 | 
	
		
			
				|  |  |             filterOrg = " '" +String.join("','",Orglist)+ "' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return jkzlOrgMap;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     //排除的测试用户
 | 
	
		
			
				|  |  |     public Map<String, String> removeTestUser() {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         String filterUser = " ";
 | 
	
		
			
				|  |  |         String sqltmp = "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_helper'  or dict_name = 'jkzl_teacher' ) and dict_code is not null";
 | 
	
		
			
				|  |  |         List<String> listtmp = jdbcTemplate.queryForList(sqltmp, String.class);
 | 
	
		
			
				|  |  |         Map<String, String> jkzlUserMap = new HashMap<>();
 | 
	
		
			
				|  |  |         if (listtmp.size() > 0) {
 | 
	
		
			
				|  |  |             jkzlUserMap = listtmp.stream().collect(Collectors.toMap(String::toString, String::toString));
 | 
	
		
			
				|  |  |             filterUser = " '" + String.join("','", listtmp) + "' ";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return jkzlUserMap;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     //测试 签约老人id
 | 
	
		
			
				|  |  |     public Map<String,String> removeTestOld(){
 | 
	
		
			
				|  |  |         String signOlderSql="SELECT " +
 | 
	
		
			
				|  |  |                 " DISTINCT p.id " +
 | 
	
		
			
				|  |  |                 " FROM  " +
 | 
	
		
			
				|  |  |                 " base_patient p INNER JOIN base_service_package_sign_record sr on p.id = sr.patient and sr.`status`=1 and  " +
 | 
	
		
			
				|  |  |                 " 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' or dict_name = 'jkzl_helper'  or dict_name = 'jkzl_teacher' ) and dict_code is not null ) " +
 | 
	
		
			
				|  |  |                 " WHERE p.del = 1 and p.archive_type =1  " ;
 | 
	
		
			
				|  |  |         List<String> signOlderList = jdbcTemplate.queryForList(signOlderSql,String.class);
 | 
	
		
			
				|  |  |         Map<String,String> signOlderMap = signOlderList.stream().collect(Collectors.toMap(String::toString,String::toString));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return signOlderMap;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |