| 
					
				 | 
			
			
				@ -87,22 +87,32 @@ public class MyFamilyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @throws Exception 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> bindingMyFamily( String patient, String familyMobile, Integer platform,Integer familyBindRole,String familyName) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> bindingMyFamily( String patient, String familyMobile, Integer platform,Integer familyBindRole,String familyName,String principalNum,String idcard) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BasePatientDO patientDO = patientService.findByIdAndDel(patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //1、检验手机号码是否有存在账号, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        BasePatientDO familyPatient = patientService.findByMobileAndDel(familyMobile); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long time = 1000*60*60*24*Long.valueOf(qrCodeFailurTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Long minutes = 60*24*Long.valueOf(qrCodeFailurTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(familyPatient==null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //2、没有存在账号的,预注册一个账号,调用预注册接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map = patientService.bespeakRegist(familyMobile,familyName,time); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> map = patientService.bespeakRegist(familyMobile,familyName,idcard,minutes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(Integer.valueOf(map.get("code")+"")==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                familyPatient = (BasePatientDO)map.get("patient"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                throw new Exception(map.get("message")+""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //生成社保卡号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!StringUtils.isEmpty(principalNum)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PatientMedicareCardDO medicareCardDO = new PatientMedicareCardDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            medicareCardDO.setCode(principalNum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            medicareCardDO.setParentType(PatientMedicareCardDO.ParentType.CareCard.getType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            medicareCardDO.setType(PatientMedicareCardDO.Type.MedicareCard.getType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            medicareCardDO.setPatientCode(familyPatient.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            medicareCardDO.setDel("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            patientMedicareCardService.save(medicareCardDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //3、生成申请绑定的记录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PatientApplyLog patientApplyLog = patientApplyLogService.findValidOne(patient,familyPatient.getId(),new Date(),familyBindRole); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(patientApplyLog==null){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -171,9 +181,18 @@ public class MyFamilyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param familyBindRole 1"配偶",2"父亲",3"母亲",4"公公",5"婆婆",6"岳父",7"岳母",8"女婿",9"儿媳",10"子女" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param isAdult 0未成年人 1成年人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> signBindFamily( String patient, String familyMobile, Integer platform,Integer familyBindRole,Integer isAdult,String familyName) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Map<String,Object> signBindFamily( String patient, String familyMobile, Integer platform,Integer familyBindRole,Integer isAdult, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                              String familyName,String principalNum,String idcard) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //判断身份证号和社保卡号重复问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(patientService.existsByIdcard(idcard)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("填写身份证已存在!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(patientMedicareCardService.existsByCodeAndDel(principalNum)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            throw new Exception("填写社保卡号已存在!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(isAdult==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> p = bindingMyFamily(patient, familyMobile, platform,familyBindRole,familyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,Object> p = bindingMyFamily(patient, familyMobile, platform,familyBindRole,familyName,principalNum,idcard); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return p; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }else if(isAdult==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //注册一个没有手机号码的用户信息 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -184,6 +203,7 @@ public class MyFamilyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            familyPatient.setLoginFailureCount(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            familyPatient.setPatientStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            familyPatient.setName(familyName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            familyPatient.setIdcard(idcard); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            familyPatient = patientService.save(familyPatient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //生成绑定信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BasePatientFamilyMemberDO patientFamilyMember = new BasePatientFamilyMemberDO(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -193,15 +213,15 @@ public class MyFamilyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            patientFamilyMember.setIsAuthorize(1);//0:未授权,1:已授权 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            patientFamilyMember.setDel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            patientFamilyMemberService.save(patientFamilyMember); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            //生成家人绑定信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            BasePatientFamilyMemberDO patientFamilyMember2 = new BasePatientFamilyMemberDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            patientFamilyMember2.setPatient(familyPatient.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            patientFamilyMember2.setFamilyMember(familyPatient.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            BasePatientDO createUser = patientService.findByIdAndDel(patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            patientFamilyMember2.setFamilyRelation(familyRelationTrans(familyBindRole,createUser.getSex())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            patientFamilyMember2.setIsAuthorize(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            patientFamilyMember2.setDel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//            patientFamilyMemberService.save(patientFamilyMember2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //生成家人绑定信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BasePatientFamilyMemberDO patientFamilyMember2 = new BasePatientFamilyMemberDO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            patientFamilyMember2.setPatient(familyPatient.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            patientFamilyMember2.setFamilyMember(patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BasePatientDO createUser = patientService.findByIdAndDel(patient); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            patientFamilyMember2.setFamilyRelation(familyRelationTrans(familyBindRole,createUser.getSex())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            patientFamilyMember2.setIsAuthorize(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            patientFamilyMember2.setDel(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            patientFamilyMemberService.save(patientFamilyMember2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -379,6 +399,9 @@ public class MyFamilyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        map.put("name",basePatientDO.getName());//姓名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        map.put("cardTypeName","身份证"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        map.put("idcard",basePatientDO.getIdcard());//身份证 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        map.put("photo",basePatientDO.getPhoto());//头像 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        map.put("role","自己");//角色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        map.put("isAuthorize",1);//授权 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PatientMedicareCardDO patientMedicareCardDO = patientMedicareCardService.findByTypeAndPatientCodeAndDel(PatientMedicareCardDO.Type.MedicareCard.getType(),patient,"1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(patientMedicareCardDO!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -421,6 +444,11 @@ public class MyFamilyService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map2.put("photo",basePatientDO.getPhoto());//头像 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map2.put("role",role.get(one.getFamilyRelation()-1));//角色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //判断家人是否授权 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BasePatientFamilyMemberDO o = patientFamilyMemberService.findByPatientAndFamilyMemberAndDel(one.getFamilyMember(),one.getPatient()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            map2.put("isAuthorize",o.getIsAuthorize());//授权 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            resultList.add(map2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return resultList; 
			 |