| 
															
																@ -9,6 +9,7 @@ import com.yihu.jw.message.service.MessageService; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.patient.service.BasePatientMedicardCardService; 
															 | 
															
															 | 
															
																import com.yihu.jw.patient.service.BasePatientMedicardCardService; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.patient.service.personal_Info.PatientService; 
															 | 
															
															 | 
															
																import com.yihu.jw.patient.service.personal_Info.PatientService; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.patient.service.servicepackage.PackageService; 
															 | 
															
															 | 
															
																import com.yihu.jw.patient.service.servicepackage.PackageService; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																import com.yihu.jw.util.common.IdCardUtil; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.util.date.DateUtil; 
															 | 
															
															 | 
															
																import com.yihu.jw.util.date.DateUtil; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.jw.wechat.service.WeChatQrcodeService; 
															 | 
															
															 | 
															
																import com.yihu.jw.wechat.service.WeChatQrcodeService; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.apache.commons.collections.map.HashedMap; 
															 | 
															
															 | 
															
																import org.apache.commons.collections.map.HashedMap; 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -68,22 +69,11 @@ public class MyFamilyService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        List<BasePatientFamilyMemberDO> list = patientFamilyMemberService.getByPatientAndFamilyRelation(patient,null); 
															 | 
															
															 | 
															
																        List<BasePatientFamilyMemberDO> list = patientFamilyMemberService.getByPatientAndFamilyRelation(patient,null); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        list.addAll(patientFamilyMemberService.getByFamilyMemberAndRelation(patient,null)); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        for(BasePatientFamilyMemberDO one:list){ 
															 | 
															
															 | 
															
																        for(BasePatientFamilyMemberDO one:list){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            Integer relation = one.getFamilyRelation(); 
															 | 
															
															 | 
															
																            Integer relation = one.getFamilyRelation(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if(one.getFamilyMember().equals(patient)){//需要关系转换 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                BasePatientDO p = patientService.findByIdAndDel(patient); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                relation = familyRelationTrans(one.getFamilyRelation(),p.getSex()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if(relation==10){continue;} 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            Map<String,Object> relationMap = map.get(relation.toString()); 
															 | 
															
															 | 
															
																            Map<String,Object> relationMap = map.get(relation.toString()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            relationMap.put("isBinding",1); 
															 | 
															
															 | 
															
																            relationMap.put("isBinding",1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        List<BasePatientFamilyMemberDO> childrenList = patientFamilyMemberService.getByPatientAndFamilyRelation(patient,10); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        childrenList.addAll(patientFamilyMemberService.getByFamilyMemberAndRelation(patient,2,3)); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if(childrenList.size()==2){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            map.get("10").put("isBinding",1); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        Collection<Map<String,Object>> valueCollection = map.values(); 
															 | 
															
															 | 
															
																        Collection<Map<String,Object>> valueCollection = map.values(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        List<Map<String,Object>> valueList = new LinkedList<>(valueCollection); 
															 | 
															
															 | 
															
																        List<Map<String,Object>> valueList = new LinkedList<>(valueCollection); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        return valueList; 
															 | 
															
															 | 
															
																        return valueList; 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -97,7 +87,7 @@ public class MyFamilyService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * @throws Exception 
															 | 
															
															 | 
															
																     * @throws Exception 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     */ 
															 | 
															
															 | 
															
																     */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    @Transactional(rollbackFor = Exception.class) 
															 | 
															
															 | 
															
																    @Transactional(rollbackFor = Exception.class) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    public Map<String,Object> bindingMyFamily( String patient, String familyMobile, Integer platform,Integer familyBindRole) throws Exception{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    public Map<String,Object> bindingMyFamily( String patient, String familyMobile, Integer platform,Integer familyBindRole,String familyName) throws Exception{ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        BasePatientDO patientDO = patientService.findByIdAndDel(patient); 
															 | 
															
															 | 
															
																        BasePatientDO patientDO = patientService.findByIdAndDel(patient); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        //1、检验手机号码是否有存在账号, 
															 | 
															
															 | 
															
																        //1、检验手机号码是否有存在账号, 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -105,7 +95,7 @@ public class MyFamilyService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        Long time = 1000*60*60*24*Long.valueOf(qrCodeFailurTime); 
															 | 
															
															 | 
															
																        Long time = 1000*60*60*24*Long.valueOf(qrCodeFailurTime); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if(familyPatient==null){ 
															 | 
															
															 | 
															
																        if(familyPatient==null){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //2、没有存在账号的,预注册一个账号,调用预注册接口 
															 | 
															
															 | 
															
																            //2、没有存在账号的,预注册一个账号,调用预注册接口 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            Map<String,Object> map = patientService.bespeakRegist(familyMobile,time); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            Map<String,Object> map = patientService.bespeakRegist(familyMobile,familyName,time); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if(Integer.valueOf(map.get("code")+"")==1){ 
															 | 
															
															 | 
															
																            if(Integer.valueOf(map.get("code")+"")==1){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                familyPatient = (BasePatientDO)map.get("patient"); 
															 | 
															
															 | 
															
																                familyPatient = (BasePatientDO)map.get("patient"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            }else{ 
															 | 
															
															 | 
															
																            }else{ 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -181,13 +171,20 @@ public class MyFamilyService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * @param familyBindRole 1"配偶",2"父亲",3"母亲",4"公公",5"婆婆",6"岳父",7"岳母",8"女婿",9"儿媳",10"子女" 
															 | 
															
															 | 
															
																     * @param familyBindRole 1"配偶",2"父亲",3"母亲",4"公公",5"婆婆",6"岳父",7"岳母",8"女婿",9"儿媳",10"子女" 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * @param isAdult 0未成年人 1成年人 
															 | 
															
															 | 
															
																     * @param isAdult 0未成年人 1成年人 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     */ 
															 | 
															
															 | 
															
																     */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    public Map<String,Object> signBindFamily( String patient, String familyMobile, Integer platform,Integer familyBindRole,Integer isAdult) throws Exception{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    public Map<String,Object> signBindFamily( String patient, String familyMobile, Integer platform,Integer familyBindRole,Integer isAdult,String familyName) throws Exception{ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        if(isAdult==1){ 
															 | 
															
															 | 
															
																        if(isAdult==1){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            Map<String,Object> p = bindingMyFamily(patient, familyMobile, platform,familyBindRole); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            Map<String,Object> p = bindingMyFamily(patient, familyMobile, platform,familyBindRole,familyName); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            return p; 
															 | 
															
															 | 
															
																            return p; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        }else if(isAdult==0){ 
															 | 
															
															 | 
															
																        }else if(isAdult==0){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //注册一个没有手机号码的用户信息 
															 | 
															
															 | 
															
																            //注册一个没有手机号码的用户信息 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            BasePatientDO familyPatient = null; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            BasePatientDO familyPatient = new BasePatientDO(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            familyPatient.setLocked(0); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            familyPatient.setEnabled(1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            familyPatient.setDel("0"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            familyPatient.setLoginFailureCount(0); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            familyPatient.setPatientStatus("1"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            familyPatient.setName(familyName); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            familyPatient = patientService.save(familyPatient); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //生成绑定信息 
															 | 
															
															 | 
															
																            //生成绑定信息 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            BasePatientFamilyMemberDO patientFamilyMember = new BasePatientFamilyMemberDO(); 
															 | 
															
															 | 
															
																            BasePatientFamilyMemberDO patientFamilyMember = new BasePatientFamilyMemberDO(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            patientFamilyMember.setPatient(patient); 
															 | 
															
															 | 
															
																            patientFamilyMember.setPatient(patient); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -196,6 +193,15 @@ public class MyFamilyService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            patientFamilyMember.setIsAuthorize(1);//0:未授权,1:已授权 
															 | 
															
															 | 
															
																            patientFamilyMember.setIsAuthorize(1);//0:未授权,1:已授权 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            patientFamilyMember.setDel(1); 
															 | 
															
															 | 
															
																            patientFamilyMember.setDel(1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            patientFamilyMemberService.save(patientFamilyMember); 
															 | 
															
															 | 
															
																            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); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        return null; 
															 | 
															
															 | 
															
																        return null; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    } 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -267,7 +273,7 @@ public class MyFamilyService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                patientFamilyMemberService.save(patientFamilyMember); 
															 | 
															
															 | 
															
																                patientFamilyMemberService.save(patientFamilyMember); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                BasePatientFamilyMemberDO patientFamilyMember2 = new BasePatientFamilyMemberDO(); 
															 | 
															
															 | 
															
																                BasePatientFamilyMemberDO patientFamilyMember2 = new BasePatientFamilyMemberDO(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                patientFamilyMember2.setPatient(patientApplyLog.getFamilyMemberCode()); 
															 | 
															
															 | 
															
																                patientFamilyMember2.setPatient(patientApplyLog.getFamilyMemberCode()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                patientFamilyMember2.setFamilyMember(patientApplyLog.getFamilyMemberName()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																                patientFamilyMember2.setFamilyMember(patientApplyLog.getCreateUser()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                BasePatientDO createUser = patientService.findByIdAndDel(patientApplyLog.getCreateUser()); 
															 | 
															
															 | 
															
																                BasePatientDO createUser = patientService.findByIdAndDel(patientApplyLog.getCreateUser()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                patientFamilyMember2.setFamilyRelation(familyRelationTrans(patientApplyLog.getFamilyBindRole(),createUser.getSex())); 
															 | 
															
															 | 
															
																                patientFamilyMember2.setFamilyRelation(familyRelationTrans(patientApplyLog.getFamilyBindRole(),createUser.getSex())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                patientFamilyMember2.setIsAuthorize(isAuthorize); 
															 | 
															
															 | 
															
																                patientFamilyMember2.setIsAuthorize(isAuthorize); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -407,7 +413,7 @@ public class MyFamilyService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                map2.put("principalNum","");//社保卡号 
															 | 
															
															 | 
															
																                map2.put("principalNum","");//社保卡号 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            map2.put("mobile",basePatientDO.getMobile());//手机号码 
															 | 
															
															 | 
															
																            map2.put("mobile",basePatientDO.getMobile());//手机号码 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            if(StringUtils.isEmpty(packageId)){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            if(!StringUtils.isEmpty(packageId)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                if(packageService.findPatientSignExist(basePatientDO.getId(),packageId)){ 
															 | 
															
															 | 
															
																                if(packageService.findPatientSignExist(basePatientDO.getId(),packageId)){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    map2.put("isPackage",1); 
															 | 
															
															 | 
															
																                    map2.put("isPackage",1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                }else{ 
															 | 
															
															 | 
															
																                }else{ 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -567,6 +573,19 @@ public class MyFamilyService { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    } 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    /** 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																     * 根据身份判断是否未成年 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																     * @param idcard 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																     */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    public Integer nonageByIdcard(String idcard){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        Integer age = IdCardUtil.getAgeForIdcard(idcard); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        if(age>18){ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            return 1; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        }else { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            return 0; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    /** 
															 | 
															
															 | 
															
																    /** 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * 家庭关系转换 
															 | 
															
															 | 
															
																     * 家庭关系转换 
															 |