|  | @ -1903,11 +1903,20 @@ public class YkyyEntranceService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //挂号
 | 
	
		
			
				|  |  |         Map<String,Object> map = findYkDoctor(natAppointmentDO.getHospitalFlag());
 | 
	
		
			
				|  |  |         PatientMappingDO patientMappingDO = patientMappingDao.findByPatient(natAppointmentDO.getPatientId());
 | 
	
		
			
				|  |  |         //PatientMappingDO patientMappingDO = patientMappingDao.findByPatient(natAppointmentDO.getPatientId());
 | 
	
		
			
				|  |  |         PatientMedicareCardDO patientMedicareCardDO = patientMedicareCardDao.findByTypeAndPatientCodeAndDel("A_01",natAppointmentDO.getPatientId(),"1");
 | 
	
		
			
				|  |  |         Integer brid= 0;
 | 
	
		
			
				|  |  |         //病人性质
 | 
	
		
			
				|  |  |         Integer GHXH = 0;
 | 
	
		
			
				|  |  |         //挂号明细表HLW_GHMX
 | 
	
		
			
				|  |  |         HlwGhmxDO hlwGhmxDO = new HlwGhmxDO();
 | 
	
		
			
				|  |  |         JSONArray jsonArray = findHisPatient(patientMedicareCardDO.getCode(),demoFlag);
 | 
	
		
			
				|  |  |         if(jsonArray!=null&&jsonArray.size()>0){
 | 
	
		
			
				|  |  |             //获取居民信息
 | 
	
		
			
				|  |  |             JSONObject json = jsonArray.getJSONObject(0);
 | 
	
		
			
				|  |  |             hlwGhmxDO.setBRXZ(json.getInteger("brxz"));
 | 
	
		
			
				|  |  |             brid = json.getInteger("brid");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         hlwGhmxDO.setSBXH(0);
 | 
	
		
			
				|  |  |         hlwGhmxDO.setGHCS(1);
 | 
	
		
			
				|  |  |         hlwGhmxDO.setGHJE(0);
 | 
	
	
		
			
				|  | @ -1927,24 +1936,18 @@ public class YkyyEntranceService {
 | 
	
		
			
				|  |  |         hlwGhmxDO.setJZZT(2);
 | 
	
		
			
				|  |  |         hlwGhmxDO.setJZXH(0);
 | 
	
		
			
				|  |  |         hlwGhmxDO.setKSDM(map.get("deptCode").toString());
 | 
	
		
			
				|  |  |         hlwGhmxDO.setBRID(Integer.parseInt(patientMappingDO.getMappingCode()));
 | 
	
		
			
				|  |  |         hlwGhmxDO.setBRID(brid);
 | 
	
		
			
				|  |  |         hlwGhmxDO.setGHSJ(new Date());//挂号时间
 | 
	
		
			
				|  |  |         hlwGhmxDO.setGHLB(1);//挂号类别
 | 
	
		
			
				|  |  |         hlwGhmxDO.setYSDM(map.get("doctorCode").toString());//医生代码
 | 
	
		
			
				|  |  |         hlwGhmxDO.setJZYS(map.get("doctorCode").toString());//接诊医生
 | 
	
		
			
				|  |  |         //病人性质
 | 
	
		
			
				|  |  |         JSONArray jsonArray = findHisPatient(patientMedicareCardDO.getCode(),demoFlag);
 | 
	
		
			
				|  |  |         if(jsonArray!=null&&jsonArray.size()>0){
 | 
	
		
			
				|  |  |             //获取居民信息
 | 
	
		
			
				|  |  |             JSONObject json = jsonArray.getJSONObject(0);
 | 
	
		
			
				|  |  |             hlwGhmxDO.setBRXZ(json.getInteger("brxz"));
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //获取医生信息
 | 
	
		
			
				|  |  |         hlwGhmxDO.setCZGH(map.get("doctorMappingCode").toString());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 同一个医生同一个病人,一天一条挂号记录。
 | 
	
		
			
				|  |  |         JSONArray ja = fingHlwGhmx(patientMappingDO.getMappingCode(),map.get("doctorCode").toString());
 | 
	
		
			
				|  |  |         JSONArray ja = fingHlwGhmx(String.valueOf(brid),map.get("doctorCode").toString());
 | 
	
		
			
				|  |  |         if(ja!=null&&ja.size()>0){
 | 
	
		
			
				|  |  |             //更新
 | 
	
		
			
				|  |  |             JSONObject json = ja.getJSONObject(0);
 | 
	
	
		
			
				|  | @ -1991,7 +1994,7 @@ public class YkyyEntranceService {
 | 
	
		
			
				|  |  |         HlwYsMzJzLsDO hlwYsMzJzLsDO = new HlwYsMzJzLsDO();
 | 
	
		
			
				|  |  |         hlwYsMzJzLsDO.setJZXH(0);
 | 
	
		
			
				|  |  |         hlwYsMzJzLsDO.setGHXH(GHXH);
 | 
	
		
			
				|  |  |         hlwYsMzJzLsDO.setBRBH(Integer.parseInt(patientMappingDO.getMappingCode()));
 | 
	
		
			
				|  |  |         hlwYsMzJzLsDO.setBRBH(brid);
 | 
	
		
			
				|  |  |         hlwYsMzJzLsDO.setKSDM(Integer.parseInt(map.get("deptCode").toString()));
 | 
	
		
			
				|  |  |         hlwYsMzJzLsDO.setYSDM(map.get("doctorCode").toString());
 | 
	
		
			
				|  |  |         hlwYsMzJzLsDO.setKSSJ(DateUtil.getNowDate());
 | 
	
	
		
			
				|  | @ -2038,7 +2041,7 @@ public class YkyyEntranceService {
 | 
	
		
			
				|  |  |             hlwYsMzJbzdDO.setICD("Z00.001");
 | 
	
		
			
				|  |  |             hlwYsMzJbzdDO.setMSZD("健康查体");
 | 
	
		
			
				|  |  |             hlwYsMzJbzdDO.setJBBH(icd10Flag);
 | 
	
		
			
				|  |  |             hlwYsMzJbzdDO.setBRBH(Integer.valueOf(patientMappingDO.getMappingCode()));
 | 
	
		
			
				|  |  |             hlwYsMzJbzdDO.setBRBH(brid);
 | 
	
		
			
				|  |  |             hlwYsMzJbzdDO.setZDLB(11);//诊断类别
 | 
	
		
			
				|  |  |             hlwYsMzJbzdDO.setZDSJ(DateUtil.getNowDate());//诊断时间
 | 
	
		
			
				|  |  |             hlwYsMzJbzdDO.setZFPB(0);//作废标志
 | 
	
	
		
			
				|  | @ -2087,7 +2090,7 @@ public class YkyyEntranceService {
 | 
	
		
			
				|  |  |         Integer brnl =0;
 | 
	
		
			
				|  |  |         String doctorHis="";
 | 
	
		
			
				|  |  |         Integer kdks = 0;
 | 
	
		
			
				|  |  |         Integer brid=0;
 | 
	
		
			
				|  |  |         /*Integer brid=0;*/
 | 
	
		
			
				|  |  |         String mzhm="0";
 | 
	
		
			
				|  |  |         JSONArray jsonArray3 = findHisPatient(patientMedicareCardDO.getCode(),demoFlag);
 | 
	
		
			
				|  |  |         Map<String,Object> resultMap = new HashMap();
 | 
	
	
		
			
				|  | @ -3134,6 +3137,7 @@ public class YkyyEntranceService {
 | 
	
		
			
				|  |  |     //判断居民是否建过档,没有就建档
 | 
	
		
			
				|  |  |     public JSONObject patientJDKH(String idcard, String name, String phoneNum, String medicare) throws Exception {
 | 
	
		
			
				|  |  |         JSONObject res = new JSONObject();
 | 
	
		
			
				|  |  |         res.put("status", 200);
 | 
	
		
			
				|  |  |         Float brid = null;
 | 
	
		
			
				|  |  |         //根据身份证查询是否建档
 | 
	
		
			
				|  |  |         String sfzhSql = "SELECT jzkh \"jzkh\" ,brid \"brid\" from portal_his.V_ZKSG_BRCX@xec_link where sfzh = '" + idcard + "' order by JDSJ ";
 | 
	
	
		
			
				|  | @ -3170,6 +3174,11 @@ public class YkyyEntranceService {
 | 
	
		
			
				|  |  |             String sql = "SELECT brid \"brid\" from portal_his.V_ZKSG_BRCX@xec_link where sfzh = '" + idcard + "' and  jzkh = '" + medicare + "' ";
 | 
	
		
			
				|  |  |             JSONArray array = getSqlResult(sql);
 | 
	
		
			
				|  |  |             logger.info("查询身份证和社保卡:" + array.toString());
 | 
	
		
			
				|  |  |             if (array==null||array.size()==0){
 | 
	
		
			
				|  |  |                 res.put("status", -1);
 | 
	
		
			
				|  |  |                 res.put("message", "您输入的卡号和该就诊人在医院预留的卡号不一致,请重新输入。");
 | 
	
		
			
				|  |  |                 return res;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (array.size() == 1) {
 | 
	
		
			
				|  |  |                 brid = sfzhArray.getJSONObject(0).getFloat("brid");
 | 
	
		
			
				|  |  |             } else { //否则就取最早一条更新
 | 
	
	
		
			
				|  | @ -3191,10 +3200,12 @@ public class YkyyEntranceService {
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         } else { //身份证号没查到信息,就用社保卡号查询
 | 
	
		
			
				|  |  |             JSONArray jzkhArray = getSqlResult(jzkhSql);
 | 
	
		
			
				|  |  |             brid = jzkhArray.getJSONObject(0).getFloat("brid");
 | 
	
		
			
				|  |  |             if (jzkhArray!=null&&jzkhArray.size()>0){
 | 
	
		
			
				|  |  |                 brid = jzkhArray.getJSONObject(0).getFloat("brid");
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         //查询是否有这个病人id 如果有直接返回 如果没有则新建
 | 
	
		
			
				|  |  |         if (brid != null)
 | 
	
		
			
				|  |  |         if (brid == null)
 | 
	
		
			
				|  |  |         {
 | 
	
		
			
				|  |  |             Map<String, Object> params1 = new HashedMap();
 | 
	
		
			
				|  |  |             params1.put("brxm", name);
 | 
	
	
		
			
				|  | @ -3215,14 +3226,6 @@ public class YkyyEntranceService {
 | 
	
		
			
				|  |  |                 res.put("status", -1);
 | 
	
		
			
				|  |  |                 res.put("message", "建档失败,失败原因:" + rs1.getString("message"));
 | 
	
		
			
				|  |  |                 return res;
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 if (rs1.get("message")!=null){
 | 
	
		
			
				|  |  |                     if (rs1.getString("message").contains("已经建过档案")){
 | 
	
		
			
				|  |  |                         res.put("status", 200);
 | 
	
		
			
				|  |  |                         res.put("message",rs1.getString("message"));
 | 
	
		
			
				|  |  |                         return res;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return res;
 |