|  | @ -11,14 +11,19 @@ import com.yihu.jw.hospital.family.dao.WlyyPatientFamilyMemberDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.mapping.dao.PatientMappingDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.prescription.service.entrance.EntranceService;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.prescription.service.entrance.YkyyEntranceService;
 | 
	
		
			
				|  |  | import com.yihu.jw.hospital.ykyy.service.YkyyService;
 | 
	
		
			
				|  |  | import com.yihu.jw.patient.dao.BasePatientDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.patient.dao.BasePatientMedicareCardDao;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.Envelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.restmodel.web.MixEnvelop;
 | 
	
		
			
				|  |  | import com.yihu.jw.rm.base.BaseRequestMapping;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.common.IdCardUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.date.DateUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.utils.hibernate.HibenateUtils;
 | 
	
		
			
				|  |  | import com.yihu.mysql.query.BaseJpaService;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import jdk.management.resource.internal.inst.SocketOutputStreamRMHooks;
 | 
	
		
			
				|  |  | import net.sf.json.JSON;
 | 
	
		
			
				|  |  | import net.sf.json.JSONArray;
 | 
	
		
			
				|  |  | import org.apache.commons.lang.StringUtils;
 | 
	
		
			
				|  |  | import org.checkerframework.checker.units.qual.A;
 | 
	
	
		
			
				|  | @ -50,12 +55,14 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
 | 
	
		
			
				|  |  |     private YkyyEntranceService ykyyEntranceService;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private BasePatientMedicareCardDao basePatientMedicareCardDao;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private YkyyService ykyyService;
 | 
	
		
			
				|  |  |     @Value("${wechat.id}")
 | 
	
		
			
				|  |  |     private String wxId;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     //添加关联家属
 | 
	
		
			
				|  |  |     @Transactional
 | 
	
		
			
				|  |  |     public MixEnvelop addFamily(String id,String patientId, String familyName, String dictId, String cardType, String idCard, String phoneNum,boolean demo,String medicareType,String medicare) throws Exception {
 | 
	
		
			
				|  |  |     public MixEnvelop addFamily(String id,String patientId, String familyName, String dictId, String cardType, String idCard, String phoneNum,boolean demo,String medicareType,String medicare,String clinicId) throws Exception {
 | 
	
		
			
				|  |  |         MixEnvelop mixEnvelop = new MixEnvelop();
 | 
	
		
			
				|  |  |         try{
 | 
	
		
			
				|  |  |         BasePatientMemberDictDO basePatientMemberDictDO = basePatientMemberDictDao.findOne(dictId);
 | 
	
	
		
			
				|  | @ -79,11 +86,12 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         String familyId="";
 | 
	
		
			
				|  |  |         String birth = "";
 | 
	
		
			
				|  |  |         String yktFamilyId = "";
 | 
	
		
			
				|  |  |         int sex=3;
 | 
	
		
			
				|  |  |         //获取his家属数据
 | 
	
		
			
				|  |  |         JSONArray jsonArray = new JSONArray();
 | 
	
		
			
				|  |  |         if("xm_ykyy_wx".equalsIgnoreCase(wxId)){
 | 
	
		
			
				|  |  |             jsonArray = ykyyEntranceService.findHisPatientBymMedicare(medicare,false);
 | 
	
		
			
				|  |  |             jsonArray = ykyyEntranceService.findHisPatientBymMedicare(medicare,clinicId,false);
 | 
	
		
			
				|  |  |             if(jsonArray!=null&&jsonArray.size()>0){
 | 
	
		
			
				|  |  |                 net.sf.json.JSONObject jsonObject= net.sf.json.JSONObject.fromObject(jsonArray.get(0).toString());
 | 
	
		
			
				|  |  |                 if (null!=jsonObject.get("brid")){
 | 
	
	
		
			
				|  | @ -98,6 +106,63 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
 | 
	
		
			
				|  |  |                     long lt = new Long(birth);
 | 
	
		
			
				|  |  |                     SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |                     birth = sf.format(lt);
 | 
	
		
			
				|  |  |                     String familySex = IdCardUtil.getSexForIdcard(idCard);
 | 
	
		
			
				|  |  |                     if (familySex.equalsIgnoreCase("男")){
 | 
	
		
			
				|  |  |                         familySex= "1";
 | 
	
		
			
				|  |  |                     }else if (familySex.equalsIgnoreCase("女")){
 | 
	
		
			
				|  |  |                         familySex = "0";
 | 
	
		
			
				|  |  |                     }else {
 | 
	
		
			
				|  |  |                         familySex = "2";
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     String familyAge = String.valueOf(IdCardUtil.getAgeForIdcard(idCard));
 | 
	
		
			
				|  |  |                     BasePatientMemberDictDO basePatientMemberDictDO1 = basePatientMemberDictDao.findOne(dictId);
 | 
	
		
			
				|  |  |                     String relationName = "";
 | 
	
		
			
				|  |  |                     if (null!=basePatientMemberDictDO1){
 | 
	
		
			
				|  |  |                         relationName=basePatientMemberDictDO1.getRelationName();
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     BasePatientDO basePatientDO1  = basePatientDao.findById(patientId);
 | 
	
		
			
				|  |  |                     String res = "";
 | 
	
		
			
				|  |  |                     //id不为空则为修改家人关系
 | 
	
		
			
				|  |  |                     if (StringUtils.isNotBlank(id)){
 | 
	
		
			
				|  |  |                         if (null!=basePatientDO1){
 | 
	
		
			
				|  |  |                             res = ykyyService.updateYktFamily(familyName,idCard, familySex,familyAge,phoneNum,medicare,relationName,clinicId,result.getYktFamilyId(),birth);
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                         if (StringUtils.isNotEmpty(res)){
 | 
	
		
			
				|  |  |                             JSONObject jsonObject1 = JSONObject.parseObject(res);
 | 
	
		
			
				|  |  |                             if ("200".equalsIgnoreCase(jsonObject1.getString("code"))){
 | 
	
		
			
				|  |  |                                 /*JSONObject jsonObject2 = JSONObject.parseObject(jsonObject1.getString("data"));
 | 
	
		
			
				|  |  |                                 yktFamilyId = jsonObject2.getString("ID");*/
 | 
	
		
			
				|  |  |                             }else {
 | 
	
		
			
				|  |  |                                 mixEnvelop.setStatus(408);
 | 
	
		
			
				|  |  |                                 mixEnvelop.setMessage("更新家人关系至眼科通失败");
 | 
	
		
			
				|  |  |                                 return mixEnvelop;
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                         }else {
 | 
	
		
			
				|  |  |                             mixEnvelop.setStatus(408);
 | 
	
		
			
				|  |  |                             mixEnvelop.setMessage("更新家人关系至眼科通失败");
 | 
	
		
			
				|  |  |                             return mixEnvelop;
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }else {
 | 
	
		
			
				|  |  |                         if (null!=basePatientDO1){
 | 
	
		
			
				|  |  |                             res = ykyyService.addYktFamily(familyName,idCard, familySex,familyAge,phoneNum,medicare,relationName,"1",basePatientDO1.getUserId(),birth);
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                         if (StringUtils.isNotEmpty(res)){
 | 
	
		
			
				|  |  |                             JSONObject jsonObject1 = JSONObject.parseObject(res);
 | 
	
		
			
				|  |  |                             if ("200".equalsIgnoreCase(jsonObject1.getString("code"))){
 | 
	
		
			
				|  |  |                                 JSONObject jsonObject2 = JSONObject.parseObject(jsonObject1.getString("data"));
 | 
	
		
			
				|  |  |                                 yktFamilyId = jsonObject2.getString("ID");
 | 
	
		
			
				|  |  |                             }else {
 | 
	
		
			
				|  |  |                                 mixEnvelop.setStatus(408);
 | 
	
		
			
				|  |  |                                 mixEnvelop.setMessage("添加家人关系至眼科通失败");
 | 
	
		
			
				|  |  |                                 return mixEnvelop;
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                         }else {
 | 
	
		
			
				|  |  |                             mixEnvelop.setStatus(408);
 | 
	
		
			
				|  |  |                             mixEnvelop.setMessage("添加家人关系至眼科通失败");
 | 
	
		
			
				|  |  |                             return mixEnvelop;
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                     System.out.println("眼科转换后的csny"+birth);
 | 
	
		
			
				|  |  |                 }else {
 | 
	
		
			
				|  |  |                     mixEnvelop.setStatus(408);
 | 
	
	
		
			
				|  | @ -149,6 +214,7 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
 | 
	
		
			
				|  |  |         basePatientDO.setBirthday(saveBirth1);
 | 
	
		
			
				|  |  |         result.setFamilyRelation(dictId);
 | 
	
		
			
				|  |  |         result.setFamilyRelationName(dictName);
 | 
	
		
			
				|  |  |         result.setYktFamilyId(yktFamilyId);
 | 
	
		
			
				|  |  |         result.setIsDel(1);
 | 
	
		
			
				|  |  |         result.setPatient(patientId);
 | 
	
		
			
				|  |  |         result.setCardNo(idCard);
 | 
	
	
		
			
				|  | @ -200,7 +266,7 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 patientMedicareCardDO.setCode(medicare);
 | 
	
		
			
				|  |  |                 patientMedicareCardDO.setType(medicareType);
 | 
	
		
			
				|  |  |                 //patientMedicareCardDO.setType(medicareType);
 | 
	
		
			
				|  |  |                 patientMedicareCardDO.setPatientCode(patientNewId);
 | 
	
		
			
				|  |  |                 patientMedicareCardDO.setDel("1");
 | 
	
		
			
				|  |  |                 basePatientMedicareCardDao.save(patientMedicareCardDO);
 | 
	
	
		
			
				|  | @ -215,28 +281,168 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return mixEnvelop;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     //眼科同步家人信息
 | 
	
		
			
				|  |  |     public void saveYktFamily(String patientId) throws Exception{
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String userId="";
 | 
	
		
			
				|  |  |             BasePatientDO basePatientDO = basePatientDao.findById(patientId);
 | 
	
		
			
				|  |  |             if (null!=basePatientDO){
 | 
	
		
			
				|  |  |                 userId = basePatientDO.getUserId();
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             List<Map<String, String>> list=new ArrayList<Map<String, String>>();
 | 
	
		
			
				|  |  |             String res  = ykyyService.findYktFamily(userId);
 | 
	
		
			
				|  |  |             if (StringUtils.isNotEmpty(res)){
 | 
	
		
			
				|  |  |                 JSONObject jsonObject = JSONObject.parseObject(res);
 | 
	
		
			
				|  |  |                 if ("200".equalsIgnoreCase(jsonObject.getString("code"))){
 | 
	
		
			
				|  |  |                     JSONObject data = JSONObject.parseObject(jsonObject.getString("data"));
 | 
	
		
			
				|  |  |                     JSONArray jsonArray = JSONArray.fromObject(data.get("list"));
 | 
	
		
			
				|  |  |                     if(jsonArray!=null && jsonArray.size()>0) {
 | 
	
		
			
				|  |  |                         for (int i = 0; i < jsonArray.size(); i++) {
 | 
	
		
			
				|  |  |                             JSONObject jsonObject1 = JSONObject.parseObject(jsonArray.get(i).toString());
 | 
	
		
			
				|  |  |                             System.out.println("==="+jsonArray.get(i).toString());
 | 
	
		
			
				|  |  |                             if (StringUtils.isNotEmpty(jsonObject1.getString("IDCARD"))){
 | 
	
		
			
				|  |  |                                 System.out.println("同步的身份证号:"+jsonObject1.getString("IDCARD"));
 | 
	
		
			
				|  |  |                                 BasePatientDO patientDO = basePatientDao.findByIdcardAndDel(jsonObject1.getString("IDCARD"),"1");
 | 
	
		
			
				|  |  |                                 if (null==patientDO){
 | 
	
		
			
				|  |  |                                     patientDO = new BasePatientDO();
 | 
	
		
			
				|  |  |                                 }
 | 
	
		
			
				|  |  |                                 patientDO.setMobile(jsonObject1.getString("TEL"));
 | 
	
		
			
				|  |  |                                 if(StringUtils.isNotBlank(jsonObject1.getString("BIRTHDAY"))){
 | 
	
		
			
				|  |  |                                     patientDO.setBirthday(DateUtil.strToDate(jsonObject1.getString("BIRTHDAY")));
 | 
	
		
			
				|  |  |                                 }
 | 
	
		
			
				|  |  |                                 patientDO.setIdcard(jsonObject1.getString("IDCARD"));
 | 
	
		
			
				|  |  |                                 patientDO.setName(jsonObject1.getString("NAME"));
 | 
	
		
			
				|  |  |                                 patientDO.setSex(jsonObject1.getInteger("SEX"));
 | 
	
		
			
				|  |  |                                 patientDO.setDel("1");
 | 
	
		
			
				|  |  |                                 patientDO.setEnabled(1);
 | 
	
		
			
				|  |  |                                 patientDO.setLocked(0);
 | 
	
		
			
				|  |  |                                 patientDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                                 patientDO = basePatientDao.save(patientDO);
 | 
	
		
			
				|  |  |                                 //取his中的病人code
 | 
	
		
			
				|  |  |                                 JSONArray hisArray = ykyyEntranceService.findHisPatientBymMedicare(null,patientDO.getIdcard(),false);
 | 
	
		
			
				|  |  |                                 if(hisArray!=null&&hisArray.size()>0) {
 | 
	
		
			
				|  |  |                                     net.sf.json.JSONObject hisObject = net.sf.json.JSONObject.fromObject(hisArray.get(0).toString());
 | 
	
		
			
				|  |  |                                     PatientMappingDO patientMappingDO = patientMappingDao.findByIdcard(patientDO.getIdcard());
 | 
	
		
			
				|  |  |                                     if(null==patientMappingDO){
 | 
	
		
			
				|  |  |                                         patientMappingDO= new PatientMappingDO();
 | 
	
		
			
				|  |  |                                     }
 | 
	
		
			
				|  |  |                                     patientMappingDO.setPatientName(jsonObject1.getString("NAME"));
 | 
	
		
			
				|  |  |                                     patientMappingDO.setPatient(patientDO.getId());
 | 
	
		
			
				|  |  |                                     patientMappingDO.setMappingCode(hisObject.getString("brid"));
 | 
	
		
			
				|  |  |                                     patientMappingDO.setSource("1");
 | 
	
		
			
				|  |  |                                     patientMappingDO.setCreateTime(new Date());
 | 
	
		
			
				|  |  |                                     patientMappingDO.setIdcard(patientDO.getIdcard());
 | 
	
		
			
				|  |  |                                     patientMappingDao.save(patientMappingDO);
 | 
	
		
			
				|  |  |                                 }
 | 
	
		
			
				|  |  |                                 WlyyPatientFamilyMemberDO wlyyPatientFamilyMemberDO = wlyyPatientFamilyMemberDao.findbyCardNoAndPatient(patientDO.getIdcard(),patientId);
 | 
	
		
			
				|  |  |                                 if (null==wlyyPatientFamilyMemberDO){
 | 
	
		
			
				|  |  |                                     wlyyPatientFamilyMemberDO = new WlyyPatientFamilyMemberDO();
 | 
	
		
			
				|  |  |                                 }
 | 
	
		
			
				|  |  |                                 BasePatientMemberDictDO basePatientMemberDictDO =basePatientMemberDictDao.findByRelationName(jsonObject1.getString("ILLNESS"));
 | 
	
		
			
				|  |  |                                 if (null!=basePatientMemberDictDO){
 | 
	
		
			
				|  |  |                                     wlyyPatientFamilyMemberDO.setIsDel(1);
 | 
	
		
			
				|  |  |                                     wlyyPatientFamilyMemberDO.setPatient(patientId);
 | 
	
		
			
				|  |  |                                     wlyyPatientFamilyMemberDO.setClinicid(jsonObject1.getString("CLINICID"));
 | 
	
		
			
				|  |  |                                     wlyyPatientFamilyMemberDO.setCardType("身份证");
 | 
	
		
			
				|  |  |                                     wlyyPatientFamilyMemberDO.setFamilyMember(patientDO.getId());
 | 
	
		
			
				|  |  |                                     wlyyPatientFamilyMemberDO.setFamilyRelation(basePatientMemberDictDO.getId());
 | 
	
		
			
				|  |  |                                     wlyyPatientFamilyMemberDO.setFamilyRelationName(basePatientMemberDictDO.getRelationName());
 | 
	
		
			
				|  |  |                                     wlyyPatientFamilyMemberDO.setCardNo(jsonObject1.getString("IDCARD"));
 | 
	
		
			
				|  |  |                                     wlyyPatientFamilyMemberDO.setYktFamilyId(jsonObject1.getString("ID"));
 | 
	
		
			
				|  |  |                                     wlyyPatientFamilyMemberDao.save(wlyyPatientFamilyMemberDO);
 | 
	
		
			
				|  |  |                                 }
 | 
	
		
			
				|  |  |                                 if(null!=jsonObject1.get("MEDICALCARD")){
 | 
	
		
			
				|  |  |                                     PatientMedicareCardDO patientMedicareCardDO = basePatientMedicareCardDao.findByCode(jsonObject1.getString("MEDICALCARD"));
 | 
	
		
			
				|  |  |                                     if (null==patientMedicareCardDO){
 | 
	
		
			
				|  |  |                                         patientMedicareCardDO = new PatientMedicareCardDO();
 | 
	
		
			
				|  |  |                                     }
 | 
	
		
			
				|  |  |                                     patientMedicareCardDO.setCode(jsonObject1.getString("MEDICALCARD"));
 | 
	
		
			
				|  |  |                                     //patientMedicareCardDO.setType(medicareType);
 | 
	
		
			
				|  |  |                                     patientMedicareCardDO.setPatientCode(patientDO.getId());
 | 
	
		
			
				|  |  |                                     patientMedicareCardDO.setDel("1");
 | 
	
		
			
				|  |  |                                     basePatientMedicareCardDao.save(patientMedicareCardDO);
 | 
	
		
			
				|  |  |                                 }
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         } catch (ParseException e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             System.out.println("同步家人关系失败");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     //根据患者id查询关联家属
 | 
	
		
			
				|  |  |     public List<Map<String,Object>> findFamilyByPatientId(String patientId) throws ParseException {
 | 
	
		
			
				|  |  |         String sql = "select t.id as \"id\",t.card_type as \"cardType\", " +
 | 
	
		
			
				|  |  |                 "t.patient as \"patient\",b.name as \"name\",b.sex as \"sex\","+
 | 
	
		
			
				|  |  |                 "b.birthday as\"birthday\",b.idcard as \"idcard\"," +
 | 
	
		
			
				|  |  |                 "t.family_member as \"familyMember\",c.relation_name as \"relationName\" "+
 | 
	
		
			
				|  |  |                 " from wlyy_patient_family_member t left join base_patient b" +
 | 
	
		
			
				|  |  |                 " on t.family_member = b.id left join base_patient_member_dict c on t.family_relation=c.id where 1=1";
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(patientId)){
 | 
	
		
			
				|  |  |             sql += " and t.patient = '"+patientId+"'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
 | 
	
		
			
				|  |  |         if (list!=null&&list.size()>0){
 | 
	
		
			
				|  |  |             for (Map<String,Object> map:list){
 | 
	
		
			
				|  |  |                 if (map.get("birthday")!=null){
 | 
	
		
			
				|  |  |                     SimpleDateFormat sp = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |                     int age = getAgeByBirth(sp.parse(map.get("birthday").toString()));
 | 
	
		
			
				|  |  |                     map.put("age",age);
 | 
	
		
			
				|  |  |         if("xm_ykyy_wx".equalsIgnoreCase(wxId)){
 | 
	
		
			
				|  |  |             try {
 | 
	
		
			
				|  |  |                 saveYktFamily(patientId);
 | 
	
		
			
				|  |  |             }catch (Exception e){
 | 
	
		
			
				|  |  |                 e.printStackTrace();
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             String sql = "select t.id as \"id\",t.card_type as \"cardType\", " +
 | 
	
		
			
				|  |  |                     "t.patient as \"patient\",b.name as \"name\",b.sex as \"sex\","+
 | 
	
		
			
				|  |  |                     "to_char(b.birthday,'yyyy-MM-dd') as\"birthday\",b.idcard as \"idcard\",t.clinicid as \"clinicid\"," +
 | 
	
		
			
				|  |  |                     "t.family_member as \"familyMember\",c.relation_name as \"relationName\" "+
 | 
	
		
			
				|  |  |                     " from wlyy_patient_family_member t left join base_patient b" +
 | 
	
		
			
				|  |  |                     " on t.family_member = b.id left join base_patient_member_dict c on t.family_relation=c.id where 1=1 and t.is_del=1 ";
 | 
	
		
			
				|  |  |             if (StringUtils.isNotBlank(patientId)){
 | 
	
		
			
				|  |  |                 sql += " and t.patient = '"+patientId+"'";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
 | 
	
		
			
				|  |  |             if (list!=null&&list.size()>0){
 | 
	
		
			
				|  |  |                 for (Map<String,Object> map:list){
 | 
	
		
			
				|  |  |                     if (null!=map.get("idcard")){
 | 
	
		
			
				|  |  |                         map.put("age",IdCardUtil.getAgeForIdcard(map.get("idcard").toString()));
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     if (null!=map.get("birthday")){
 | 
	
		
			
				|  |  |                         System.out.println("birthday:"+map.get("birthday").toString());
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     List<PatientMedicareCardDO> list1 = basePatientMedicareCardDao.findByPatientCode(patientId);
 | 
	
		
			
				|  |  |                     if (null!=list1&&list.size()>0){
 | 
	
		
			
				|  |  |                         map.put("card",list1.get(0));
 | 
	
		
			
				|  |  |                     }else {
 | 
	
		
			
				|  |  |                         map.put("card","");
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             return list;
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             String sql = "select t.id as \"id\",t.card_type as \"cardType\", " +
 | 
	
		
			
				|  |  |                     "t.patient as \"patient\",b.name as \"name\",b.sex as \"sex\","+
 | 
	
		
			
				|  |  |                     "b.birthday as\"birthday\",b.idcard as \"idcard\"," +
 | 
	
		
			
				|  |  |                     "t.family_member as \"familyMember\",c.relation_name as \"relationName\" "+
 | 
	
		
			
				|  |  |                     " from wlyy_patient_family_member t left join base_patient b" +
 | 
	
		
			
				|  |  |                     " on t.family_member = b.id left join base_patient_member_dict c on t.family_relation=c.id where 1=1 and t.is_del=1 ";
 | 
	
		
			
				|  |  |             if (StringUtils.isNotBlank(patientId)){
 | 
	
		
			
				|  |  |                 sql += " and t.patient = '"+patientId+"'";
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
 | 
	
		
			
				|  |  |             if (list!=null&&list.size()>0){
 | 
	
		
			
				|  |  |                 for (Map<String,Object> map:list){
 | 
	
		
			
				|  |  |                     if (map.get("birthday")!=null){
 | 
	
		
			
				|  |  |                         SimpleDateFormat sp = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |                         if ("xm_ykyy_wx".equalsIgnoreCase(wxId)){
 | 
	
		
			
				|  |  |                             map.put("birthday",sp.parse(map.get("birthday").toString()));
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                         int age = getAgeByBirth(sp.parse(map.get("birthday").toString()));
 | 
	
		
			
				|  |  |                         map.put("age",age);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     List<PatientMedicareCardDO> list1 = basePatientMedicareCardDao.findByPatientCode(patientId);
 | 
	
		
			
				|  |  |                     map.put("cardList",list1);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             return list;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return list;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public static void main(String[] args) {
 | 
	
		
			
				|  |  |         String ss ="561657600000";
 | 
	
		
			
				|  |  |         Date da = new Date(Long.parseLong(ss));
 | 
	
		
			
				|  |  |         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |         System.out.println(simpleDateFormat.format(da));
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     private static int getAgeByBirth(Date birthday) {
 | 
	
		
			
				|  |  |         int age = 0;
 | 
	
	
		
			
				|  | @ -265,7 +471,26 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
 | 
	
		
			
				|  |  |         Envelop envelop = new Envelop();
 | 
	
		
			
				|  |  |         WlyyPatientFamilyMemberDO wlyyPatientFamilyMemberDO = wlyyPatientFamilyMemberDao.findOne(id);
 | 
	
		
			
				|  |  |         if (wlyyPatientFamilyMemberDO!=null){
 | 
	
		
			
				|  |  |             wlyyPatientFamilyMemberDao.delete(id);
 | 
	
		
			
				|  |  |             wlyyPatientFamilyMemberDO.setIsDel(0);
 | 
	
		
			
				|  |  |             if ("xm_ykyy_wx".equalsIgnoreCase(wxId)){
 | 
	
		
			
				|  |  |                 //删除眼科通的家人关系
 | 
	
		
			
				|  |  |                 String res = ykyyService.deleteYktFamily(wlyyPatientFamilyMemberDO.getYktFamilyId());
 | 
	
		
			
				|  |  |                 if (StringUtils.isNotEmpty(res)){
 | 
	
		
			
				|  |  |                     JSONObject jsonObject = JSONObject.parseObject(res);
 | 
	
		
			
				|  |  |                     if ("200".equalsIgnoreCase(jsonObject.getString("code"))){
 | 
	
		
			
				|  |  |                         envelop.setMessage("删除成功");
 | 
	
		
			
				|  |  |                     }else {
 | 
	
		
			
				|  |  |                         envelop.setMessage("删除失败");
 | 
	
		
			
				|  |  |                         envelop.setStatus(-1);
 | 
	
		
			
				|  |  |                         return envelop;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }else {
 | 
	
		
			
				|  |  |                     envelop.setMessage("删除失败");
 | 
	
		
			
				|  |  |                     envelop.setStatus(-1);
 | 
	
		
			
				|  |  |                     return envelop;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             wlyyPatientFamilyMemberDao.save(wlyyPatientFamilyMemberDO);
 | 
	
		
			
				|  |  |             envelop.setMessage("删除成功");
 | 
	
		
			
				|  |  |             return envelop;
 | 
	
		
			
				|  |  |         }else {
 | 
	
	
		
			
				|  | @ -278,11 +503,11 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
 | 
	
		
			
				|  |  |     public List<Map<String,Object>>  findMemberById(String id) throws ParseException {
 | 
	
		
			
				|  |  |         String sql="select t.id as \"id\",t.card_type as \"cardType\"," +
 | 
	
		
			
				|  |  |                 "t.family_member as \"familyMember\",t.patient as \"patient\"," +
 | 
	
		
			
				|  |  |                 "b.name as \"name\",b.idcard as \"idcard\",b.mobile as \"mobile\"," +
 | 
	
		
			
				|  |  |                 "b.name as \"name\",b.idcard as \"idcard\",b.mobile as \"mobile\",t.clinicid as \"clinicid\"," +
 | 
	
		
			
				|  |  |                 "c.relation_name \"relationName\",b.birthday as\"birthday\",b.sex as\"sex\"" +
 | 
	
		
			
				|  |  |                 " from wlyy_patient_family_member t left join base_patient b" +
 | 
	
		
			
				|  |  |                 " on t.family_member = b.id left join base_patient_member_dict c on t.family_relation=c.id " +
 | 
	
		
			
				|  |  |                 " where 1=1";
 | 
	
		
			
				|  |  |                 " where 1=1 and t.is_del = 1 ";
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(id)){
 | 
	
		
			
				|  |  |             sql+=" and t.id='"+id+"'";
 | 
	
		
			
				|  |  |         }
 | 
	
	
		
			
				|  | @ -294,6 +519,16 @@ public class WlyyFamilyMemberService extends BaseJpaService<WlyyPatientFamilyMem
 | 
	
		
			
				|  |  |                     int age = getAgeByBirth(sp.parse(map.get("birthday").toString()));
 | 
	
		
			
				|  |  |                     map.put("age",age);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if ("xm_ykyy_wx".equalsIgnoreCase(wxId)){
 | 
	
		
			
				|  |  |                     if(null!=map.get("familyMember")){
 | 
	
		
			
				|  |  |                         List<PatientMedicareCardDO> list1 = basePatientMedicareCardDao.findByPatientCode(map.get("familyMember").toString());
 | 
	
		
			
				|  |  |                         if (null!=list1&&list.size()>0){
 | 
	
		
			
				|  |  |                             map.put("card",list1.get(0));
 | 
	
		
			
				|  |  |                         }else {
 | 
	
		
			
				|  |  |                             map.put("card","");
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return list;
 |