|
@ -87,22 +87,32 @@ 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,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);
|
|
BasePatientDO patientDO = patientService.findByIdAndDel(patient);
|
|
//1、检验手机号码是否有存在账号,
|
|
//1、检验手机号码是否有存在账号,
|
|
BasePatientDO familyPatient = patientService.findByMobileAndDel(familyMobile);
|
|
BasePatientDO familyPatient = patientService.findByMobileAndDel(familyMobile);
|
|
Long time = 1000*60*60*24*Long.valueOf(qrCodeFailurTime);
|
|
Long time = 1000*60*60*24*Long.valueOf(qrCodeFailurTime);
|
|
|
|
Long minutes = 60*24*Long.valueOf(qrCodeFailurTime);
|
|
if(familyPatient==null){
|
|
if(familyPatient==null){
|
|
//2、没有存在账号的,预注册一个账号,调用预注册接口
|
|
//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){
|
|
if(Integer.valueOf(map.get("code")+"")==1){
|
|
familyPatient = (BasePatientDO)map.get("patient");
|
|
familyPatient = (BasePatientDO)map.get("patient");
|
|
}else{
|
|
}else{
|
|
throw new Exception(map.get("message")+"");
|
|
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、生成申请绑定的记录
|
|
//3、生成申请绑定的记录
|
|
PatientApplyLog patientApplyLog = patientApplyLogService.findValidOne(patient,familyPatient.getId(),new Date(),familyBindRole);
|
|
PatientApplyLog patientApplyLog = patientApplyLogService.findValidOne(patient,familyPatient.getId(),new Date(),familyBindRole);
|
|
if(patientApplyLog==null){
|
|
if(patientApplyLog==null){
|
|
@ -171,9 +181,18 @@ 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,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){
|
|
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;
|
|
return p;
|
|
}else if(isAdult==0){
|
|
}else if(isAdult==0){
|
|
//注册一个没有手机号码的用户信息
|
|
//注册一个没有手机号码的用户信息
|
|
@ -184,6 +203,7 @@ public class MyFamilyService {
|
|
familyPatient.setLoginFailureCount(0);
|
|
familyPatient.setLoginFailureCount(0);
|
|
familyPatient.setPatientStatus("1");
|
|
familyPatient.setPatientStatus("1");
|
|
familyPatient.setName(familyName);
|
|
familyPatient.setName(familyName);
|
|
|
|
familyPatient.setIdcard(idcard);
|
|
familyPatient = patientService.save(familyPatient);
|
|
familyPatient = patientService.save(familyPatient);
|
|
//生成绑定信息
|
|
//生成绑定信息
|
|
BasePatientFamilyMemberDO patientFamilyMember = new BasePatientFamilyMemberDO();
|
|
BasePatientFamilyMemberDO patientFamilyMember = new BasePatientFamilyMemberDO();
|
|
@ -193,15 +213,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);
|
|
|
|
|
|
//生成家人绑定信息
|
|
|
|
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;
|
|
return null;
|
|
}
|
|
}
|
|
@ -379,6 +399,9 @@ public class MyFamilyService {
|
|
map.put("name",basePatientDO.getName());//姓名
|
|
map.put("name",basePatientDO.getName());//姓名
|
|
map.put("cardTypeName","身份证");
|
|
map.put("cardTypeName","身份证");
|
|
map.put("idcard",basePatientDO.getIdcard());//身份证
|
|
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");
|
|
PatientMedicareCardDO patientMedicareCardDO = patientMedicareCardService.findByTypeAndPatientCodeAndDel(PatientMedicareCardDO.Type.MedicareCard.getType(),patient,"1");
|
|
if(patientMedicareCardDO!=null){
|
|
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);
|
|
resultList.add(map2);
|
|
}
|
|
}
|
|
return resultList;
|
|
return resultList;
|