|  | @ -9,10 +9,13 @@ import com.yihu.jw.dict.dao.DictHospitalDeptDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.doctor.dao.BaseDoctorDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.login.BaseLoginLogDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.base.patient.BasePatientDO;
 | 
	
		
			
				|  |  | import com.yihu.jw.entity.patient.Patient;
 | 
	
		
			
				|  |  | import com.yihu.jw.es.util.ElasticsearchUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.es.util.SaveModel;
 | 
	
		
			
				|  |  | import com.yihu.jw.im.util.ImUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.org.dao.BaseOrgDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.patient.dao.BasePatientDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.PageEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.date.DateUtil;
 | 
	
		
			
				|  |  | import org.apache.commons.collections.map.HashedMap;
 | 
	
	
		
			
				|  | @ -52,6 +55,8 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |     private StatisticsUtilService statisticsUtilService;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private ImUtil imUtil;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private BasePatientDao patientDao;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private static final String defalutArea = "330100";
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -141,6 +146,56 @@ public class StatisticsService {
 | 
	
		
			
				|  |  |         return  res;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public PageEnvelop getAllDynamics(Integer page,Integer size){
 | 
	
		
			
				|  |  |         List result = new ArrayList<>();
 | 
	
		
			
				|  |  |         String sql = "select * from base_login_log order by create_time desc limit "+ (page-1)*size+","+size;
 | 
	
		
			
				|  |  |         String sqlCount = "select count(id) from base_login_log";
 | 
	
		
			
				|  |  |         Long count = jdbcTemplate.queryForObject(sqlCount,Long.class);
 | 
	
		
			
				|  |  |         List<BaseLoginLogDO> loginLogDOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(BaseLoginLogDO.class));
 | 
	
		
			
				|  |  |         for (BaseLoginLogDO log:loginLogDOs) {
 | 
	
		
			
				|  |  |             JSONObject object = new JSONObject();
 | 
	
		
			
				|  |  |             object.put("patient",log.getUserId());
 | 
	
		
			
				|  |  |             BasePatientDO patient = patientDao.findById(log.getUserId());
 | 
	
		
			
				|  |  |             if (patient != null){
 | 
	
		
			
				|  |  |                 String archive_type = null;
 | 
	
		
			
				|  |  |                 Integer onLineFlag =0;
 | 
	
		
			
				|  |  |                 switch (patient.getArchiveType().toString()){
 | 
	
		
			
				|  |  |                     case "1":
 | 
	
		
			
				|  |  |                         archive_type = "older";//老人
 | 
	
		
			
				|  |  |                         break;
 | 
	
		
			
				|  |  |                     case "2":
 | 
	
		
			
				|  |  |                         archive_type = "child";//新生儿
 | 
	
		
			
				|  |  |                         break;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 object.put("archiveType",patient.getArchiveType());
 | 
	
		
			
				|  |  |                 String onLineStr = imUtil.findByUserIdAndType(log.getUserId().toString(),archive_type);
 | 
	
		
			
				|  |  |                 JSONObject oneLineObj = JSONObject.parseObject(onLineStr);
 | 
	
		
			
				|  |  |                 if (200 == oneLineObj.getInteger("status")){
 | 
	
		
			
				|  |  |                     if (oneLineObj.getInteger("data")>0){
 | 
	
		
			
				|  |  |                         onLineFlag=1;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 object.put("onLineFlag", onLineFlag);
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 Integer onLineFlag =0;
 | 
	
		
			
				|  |  |                 String onLineStr = imUtil.findByUserIdAndType(log.getUserId().toString(),"helper");
 | 
	
		
			
				|  |  |                 JSONObject oneLineObj = JSONObject.parseObject(onLineStr);
 | 
	
		
			
				|  |  |                 if (200 == oneLineObj.getInteger("status")){
 | 
	
		
			
				|  |  |                     if (oneLineObj.getInteger("data")>0){
 | 
	
		
			
				|  |  |                         onLineFlag=1;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 object.put("onLineFlag", onLineFlag);
 | 
	
		
			
				|  |  |                 object.put("archiveType","0");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             object.put("name",log.getName());
 | 
	
		
			
				|  |  |             object.put("createTime", log.getCreateTime());
 | 
	
		
			
				|  |  |             object.put("clientType", log.getClientType());
 | 
	
		
			
				|  |  |             result.add(object);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return PageEnvelop.getSuccessListWithPage("查询成功",result,page,size,count);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 服务排名分析
 | 
	
		
			
				|  |  |      * @param endDate
 |