|  | @ -4,14 +4,11 @@ import java.util.*;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.consult.ConsultTeam;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.doctor.team.admin.AdminTeam;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.doctor.team.sign.SignPatientLabelInfo;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.doctor.team.sign.*;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.organization.Hospital;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.dict.SystemDict;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.doctor.profile.Doctor;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.doctor.team.sign.DoctorPatientGroupInfo;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.doctor.profile.DoctorService;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.doctor.team.sign.DoctorTeam;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.doctor.team.sign.DoctorTeamMember;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.message.Message;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.patient.Patient;
 | 
	
		
			
				|  |  | import com.yihu.wlyy.entity.patient.PatientDisease;
 | 
	
	
		
			
				|  | @ -91,8 +88,6 @@ public class FamilyContractService extends BaseService {
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private ConsultTeamDao consultTeamDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private JdbcTemplate jdbcTemplate;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private WlyySignFamilyCodeDao wlyySignFamilyCodeDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private SystemDictDao systemDictDao;
 | 
	
	
		
			
				|  | @ -110,6 +105,14 @@ public class FamilyContractService extends BaseService {
 | 
	
		
			
				|  |  |     MessageService messageService;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     AdminTeamService adminTeamService;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     SignPatientLabelDao labelDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     SignPatientLabelLogDao labelLogDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     SignPatientLabelInfoDao labelInfoDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     JdbcTemplate jdbcTemplate;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public SignFamily findSignFamilyByCode(String code) {
 | 
	
		
			
				|  |  |         return signFamilyDao.findByCodeAndType(code, 2);
 | 
	
	
		
			
				|  | @ -2008,4 +2011,98 @@ public class FamilyContractService extends BaseService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return result;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public Map<String, List<Patient>> getPatientByLevel(String doctorCode) {
 | 
	
		
			
				|  |  |         Map<String, List<Patient>> returnMap = new HashMap<>();
 | 
	
		
			
				|  |  |         Doctor doctor = doctorDao.findByCode(doctorCode);
 | 
	
		
			
				|  |  |         //判断当前用户是健康管理师还是全科
 | 
	
		
			
				|  |  |         if (doctor.getLevel() == 3) {
 | 
	
		
			
				|  |  |             //健康管理师
 | 
	
		
			
				|  |  |             List<Patient> jkgl = signFamilyDao.findByDoctorHealthPatient(doctorCode);
 | 
	
		
			
				|  |  |             returnMap.put("jk", jkgl);
 | 
	
		
			
				|  |  |         } else if (doctor.getLevel() == 2) {
 | 
	
		
			
				|  |  |             //全科医生
 | 
	
		
			
				|  |  |             List<Patient> qkys = signFamilyDao.findByDoctorPatient(doctorCode);
 | 
	
		
			
				|  |  |             returnMap.put("qk", qkys);
 | 
	
		
			
				|  |  |             //健康管理师
 | 
	
		
			
				|  |  |             List<Patient> jkgl = signFamilyDao.findByDoctorHealthPatient(doctorCode);
 | 
	
		
			
				|  |  |             returnMap.put("jk", jkgl);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return returnMap;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public JSONObject getPatientByLable(String doctorCode, String labelType) throws Exception {
 | 
	
		
			
				|  |  |         JSONObject returnMap = new JSONObject();
 | 
	
		
			
				|  |  |         Doctor doctor = doctorDao.findByCode(doctorCode);
 | 
	
		
			
				|  |  |         //判断当前用户是健康管理师还是全科
 | 
	
		
			
				|  |  |         List<Map<String, Object>> datas = null;
 | 
	
		
			
				|  |  |         if (doctor.getLevel() == 3) {
 | 
	
		
			
				|  |  |             //健康管理师
 | 
	
		
			
				|  |  |             String sql = "SELECT sf. CODE signcode, " +
 | 
	
		
			
				|  |  |                     " p.`name` name, " +
 | 
	
		
			
				|  |  |                     " p. CODE `code`, " +
 | 
	
		
			
				|  |  |                     " case p.openid when null then 0 when \"\" then 0 else 1 end hasopenid, "+
 | 
	
		
			
				|  |  |                     " sp.id labelid, " +
 | 
	
		
			
				|  |  |                     " sp.label_name labelname, " +
 | 
	
		
			
				|  |  |                     " sp.label_type labeltype, "+
 | 
	
		
			
				|  |  |                     " p.idcard idcard " +
 | 
	
		
			
				|  |  |            " FROM " +
 | 
	
		
			
				|  |  |                     " wlyy_sign_family sf, " +
 | 
	
		
			
				|  |  |                     " wlyy_patient p, " +
 | 
	
		
			
				|  |  |                     " wlyy_sign_patient_label_info sp " +
 | 
	
		
			
				|  |  |            " WHERE" +
 | 
	
		
			
				|  |  |                     " sf.patient = p.CODE " +
 | 
	
		
			
				|  |  |                     " AND p. CODE = sp.patient " +
 | 
	
		
			
				|  |  |                     " AND sf.type = 2 " +
 | 
	
		
			
				|  |  |                     " AND sf. STATUS >= 0 " +
 | 
	
		
			
				|  |  |                     " and sp.`status`=1 " +
 | 
	
		
			
				|  |  |                     " and sf.doctor_health = ? " +
 | 
	
		
			
				|  |  |                     " and sp.label_type= ?";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //查找居民
 | 
	
		
			
				|  |  |             datas = jdbcTemplate.queryForList(sql, doctorCode, labelType);
 | 
	
		
			
				|  |  |         } else if (doctor.getLevel() == 2) {
 | 
	
		
			
				|  |  |             //健康管理师
 | 
	
		
			
				|  |  |             String sql = "SELECT sf. CODE signcode, " +
 | 
	
		
			
				|  |  |                     " p.`name` name, " +
 | 
	
		
			
				|  |  |                     " p. CODE `code`, " +
 | 
	
		
			
				|  |  |                     " sp.id labelid, " +
 | 
	
		
			
				|  |  |                     " sp.label_name labelname, " +
 | 
	
		
			
				|  |  |                     " case p.openid when null then 0 when \"\" then 0 else 1 end hasopenid, "+
 | 
	
		
			
				|  |  |                     " sp.label_type labeltype, "+
 | 
	
		
			
				|  |  |                     " p.idcard idcard " +
 | 
	
		
			
				|  |  |             " FROM " +
 | 
	
		
			
				|  |  |                     " wlyy_sign_family sf, " +
 | 
	
		
			
				|  |  |                     " wlyy_patient p, " +
 | 
	
		
			
				|  |  |                     " wlyy_sign_patient_label_info sp " +
 | 
	
		
			
				|  |  |             " WHERE" +
 | 
	
		
			
				|  |  |                     " sf.patient = p.CODE " +
 | 
	
		
			
				|  |  |                     " AND p. CODE = sp.patient " +
 | 
	
		
			
				|  |  |                     " AND sf.type = 2 " +
 | 
	
		
			
				|  |  |                     " AND sf. STATUS >= 0 " +
 | 
	
		
			
				|  |  |                     " and sp.`status`=1 " +
 | 
	
		
			
				|  |  |                     " and ( sf.doctor = ? or sf.doctor_health = ? ) " +
 | 
	
		
			
				|  |  |                     " and sp.label_type= ?";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //查找居民
 | 
	
		
			
				|  |  |             datas = jdbcTemplate.queryForList(sql, doctorCode,doctorCode, labelType);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             throw new Exception("参数错误");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //根据类别查找标签
 | 
	
		
			
				|  |  |         List<SignPatientLabel> s = labelDao.findByLabelTypeAndStatus(labelType, 1);
 | 
	
		
			
				|  |  |         if (s != null && s.size() > 0) {
 | 
	
		
			
				|  |  |             for (SignPatientLabel one : s) {
 | 
	
		
			
				|  |  |                 returnMap.put(one.getLabelCode(), new JSONArray());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (datas != null && datas.size() > 0) {
 | 
	
		
			
				|  |  |                 for (Map<String, Object> map : datas) {
 | 
	
		
			
				|  |  |                     JSONObject jo=new JSONObject(map);
 | 
	
		
			
				|  |  |                     returnMap.getJSONArray(jo.get("labeltype").toString()).put(jo);;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return returnMap;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |