| 
					
				 | 
			
			
				@ -0,0 +1,285 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.care.service.course; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.dao.course.NurseryLogDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.dao.course.PatientCourseRecordDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.dao.course.PatientDietRecordDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.care.course.NurseryLogDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.care.course.PatientCourseRecordDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.care.course.PatientDietRecordDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.care.course.RecruitStudentsRecordDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.web.ObjEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.date.DateUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.utils.StringUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.collections.map.HashedMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.BeanPropertyRowMapper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.text.SimpleDateFormat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created with IntelliJ IDEA. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * @Author: yeshijie 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * @Date: 2021/5/20 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * @Description: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class NurseryLogService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private NurseryLogDao nurseryLogDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private PatientDietRecordDao patientDietRecordDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private PatientCourseRecordDao patientCourseRecordDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JdbcTemplate jdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 根据托育日志id查找 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ObjEnvelop findRecordByNurseryLogId(String id,String type){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if("diet".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<PatientDietRecordDO> dietRecordDOs = patientDietRecordDao.findByNurseryLogId(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(dietRecordDOs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return ObjEnvelop.getSuccess("",dietRecordDOs.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if("course".equals(type)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<PatientCourseRecordDO> courseRecordDOs = patientCourseRecordDao.findByNurseryLogId(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(courseRecordDOs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return ObjEnvelop.getSuccess("",courseRecordDOs.get(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return ObjEnvelop.getError("未找到记录"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取课程记录详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject nurseryDetail(String id){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        NurseryLogDO nurseryLogDO = nurseryLogDao.findOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("nurseryLog",nurseryLogDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<PatientDietRecordDO> dietRecordDOs = patientDietRecordDao.findByNurseryLogId(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<PatientCourseRecordDO> courseRecordDOs = patientCourseRecordDao.findByNurseryLogId(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("diet",dietRecordDOs.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("course",courseRecordDOs.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return json; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 新增托育日志 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param patient 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param patientName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param doctor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param doctorName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param orgCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param orgName 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param recordDate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public NurseryLogDO addNurseryLog(String patient,String patientName, String doctor,String doctorName,String orgCode,String orgName,String recordDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        NurseryLogDO nurseryLogDO = new NurseryLogDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        nurseryLogDO.setPatient(patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        nurseryLogDO.setPatientName(patientName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        nurseryLogDO.setDoctorName(doctorName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        nurseryLogDO.setDoctor(doctor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        nurseryLogDO.setOrgName(orgName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        nurseryLogDO.setOrgCode(orgCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        nurseryLogDO.setRecordDate(recordDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        nurseryLogDO.setStatus("0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        nurseryLogDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        nurseryLogDao.save(nurseryLogDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return nurseryLogDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 新增课程记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PatientCourseRecordDO addCourseRecord(String id,String content, String enclosure) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PatientCourseRecordDO recordDO = new PatientCourseRecordDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        recordDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        recordDO.setContent(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        recordDO.setEnclosure(enclosure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        recordDO.setNurseryLogId(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        patientCourseRecordDao.save(recordDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return recordDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 新增饮食记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public PatientDietRecordDO addDietRecord(String id,String eatFood,String eatType, String enclosure,String intake,String additionalNotes) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PatientDietRecordDO recordDO = new PatientDietRecordDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        recordDO.setCreateTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        recordDO.setEnclosure(enclosure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        recordDO.setNurseryLogId(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        recordDO.setEatFood(eatFood); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        recordDO.setEatType(eatType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        recordDO.setIntake(intake); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        recordDO.setAdditionalNotes(additionalNotes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        patientDietRecordDao.save(recordDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return recordDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *获取托育日志列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param orgCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public List<NurseryLogDO> findNurseryLogList(String orgCode, String recordDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "select * from base_nursery_log wf "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql+= " where wf.org_code = '"+orgCode+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isEmpty(recordDate)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+=" and wf.record_date ='"+recordDate+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql+=" order by wf.create_time desc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<NurseryLogDO> nurseryLogDOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(NurseryLogDO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return nurseryLogDOs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 获取未填写日志列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param orgCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray nuseryLogUnFilledIn(String orgCode,String recordDate){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray jsonArray = new JSONArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql ="SELECT * from base_recruit_students_record " + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "where org_code = '"+orgCode+"' and `status` in ('3','6') and del =1"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RecruitStudentsRecordDO> list = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(RecruitStudentsRecordDO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<NurseryLogDO> nurseryLogDOs = findNurseryLogList(orgCode, recordDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<String> nurseryList = nurseryLogDOs.stream().map(NurseryLogDO::getPatient).collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for(RecruitStudentsRecordDO recordDO:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(nurseryList.contains(recordDO.getPatient())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("patient",recordDO.getPatient()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            json.put("patientName",recordDO.getPatientName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            jsonArray.add(json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jsonArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     *获取托育日志按月日历形式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param orgCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param startTime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param endTime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> findNurseryLogByMonth(String orgCode, String patient,  String patientName, String startTime, String endTime)throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "select * from base_nursery_log wf "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql+= " where wf.org_code = '"+orgCode+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isEmpty(patient)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+=" and wf.patient_code = '"+patient+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isEmpty(patientName)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+=" and wf.patient_name like '%"+patientName+"%'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtil.isEmpty(startTime)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+=" and wf.record_date >='"+startTime+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!org.apache.commons.lang.StringUtils.isEmpty(endTime)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Date currentTime = DateUtil.strToDate(endTime + " 23:59:59"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String dateString = formatter.format(currentTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sql+=" and wf.record_date <='"+dateString+"'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        sql+=" order by wf.create_time desc"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<NurseryLogDO> nurseryLogDOs = jdbcTemplate.query(sql,new BeanPropertyRowMapper(NurseryLogDO.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //按时间分组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> date = sortNurseryLogByDate(nurseryLogDOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //统计每一天完成数与计划数目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(date!=null&&date.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            for(String key : date.keySet()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //获取一天的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Map<String,Object> d = (Map<String,Object>)date.get(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                // 获取一天随访数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<NurseryLogDO> dateFollowups = (List<NurseryLogDO>)d.get("nurserys"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //统计一天各项纬度指标 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<Map<String,Object>> statistics = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //统计单条 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Map<String,Object> fs = sortNurseryLogList(dateFollowups); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Integer count = (Integer)fs.get("count"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(count!=0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    statistics.add(fs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                d.put("statistics",statistics); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> sortNurseryLogByDate(List<NurseryLogDO> nurseryLogDOs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //按时间分组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> date = new HashedMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(nurseryLogDOs!=null&&nurseryLogDOs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Iterator it = nurseryLogDOs.iterator(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            while (it.hasNext()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                NurseryLogDO nurseryLogDO = (NurseryLogDO)it.next(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //1.获取日期分组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Map<String,Object> dateNurserys = (Map<String,Object>)date.get(nurseryLogDO.getRecordDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //判断随访时间是否已经创建分组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(dateNurserys!=null&&dateNurserys.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //同一天时间已经有分组则加入list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    List<NurseryLogDO> list = (List<NurseryLogDO>)dateNurserys.get("nurserys"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    list.add(nurseryLogDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    //同一天的时间没有该分组则创建这天的随访计划List 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String,Object> newdateNursery = new HashedMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    List<NurseryLogDO> dateNurseryLogs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    dateNurseryLogs.add(nurseryLogDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    newdateNursery.put("nurserys",dateNurseryLogs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    date.put(nurseryLogDO.getRecordDate(),newdateNursery); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> sortNurseryLogList(List<NurseryLogDO> nurseryLogDOs){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //统计完成数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Integer compeleCount = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Integer count = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //迭代数组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<NurseryLogDO> rs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(nurseryLogDOs!=null&&nurseryLogDOs.size()>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Iterator it = nurseryLogDOs.iterator(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            while (it.hasNext()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                NurseryLogDO nurseryLogDO = (NurseryLogDO)it.next(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rs.add(nurseryLogDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if("1".equals(nurseryLogDO.getStatus())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    compeleCount++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //设置总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            count = rs.size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,Object> mapFollow =new HashedMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mapFollow.put("compeleCount",compeleCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        mapFollow.put("count",count); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return mapFollow; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |