| 
					
				 | 
			
			
				@ -82,6 +82,8 @@ public class YkyyEntranceService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private final static String updateJdxx="http://192.168.20.55:10023/ykyy/updateJdxx"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private final static String updateJzkh = "http://192.168.20.55:10023/ykyy/updateJzkh"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private final static String orgCode ="350211A5004"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private final static String orgName ="厦门大学附属厦门眼科中心"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3111,33 +3113,92 @@ public class YkyyEntranceService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return content; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //判断居民是否建过档,没有就建档 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject patientJDKH(String patientId, String idcard, String name,String phoneNum, String medicare) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject res = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查询是否建档 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String brid = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String bridSql = "SELECT brid \"brid\" from portal_his.V_ZKSG_BRCX@xec_link where jzkh = '" + medicare + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //获取调用hospital-entrance createSQLQuery 返回结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONArray getSqlResult(String sql) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, Object> params = new HashedMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        params.put("sql", bridSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("bridSql:" + bridSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        params.put("sql", sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        HttpResponse response = HttpUtils.doGet(url, params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String content = response.getContent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("sql:" + sql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("response:" + content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject rs = JSON.parseObject(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Integer status = rs.getInteger("status"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject rsult = JSON.parseObject(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Integer status = rsult.getInteger("status"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONArray array = rs.getJSONArray("detailModelList"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            int size = array.size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (size == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                brid = ((JSONObject) array.get(0)).getString("BRID"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else if (size > 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONArray array = rsult.getJSONArray("detailModelList"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return array; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //判断居民是否建过档,没有就建档 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject patientJDKH(String idcard, String name, String phoneNum, String medicare) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject res = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Float brid = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //根据身份证查询是否建档 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sfzhSql = "SELECT jzkh \"jzkh\" ,brid \"brid\" from portal_his.V_ZKSG_BRCX@xec_link where sfzh = '" + idcard + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //根据社保卡查询是否建档 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String jzkhSql = "SELECT brid \"brid\",sfzh \"sfzh\" from portal_his.V_ZKSG_BRCX@xec_link where jzkh = '" + medicare + "' "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray sfzhArray = getSqlResult(sfzhSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int size = sfzhArray.size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (size == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject json = sfzhArray.getJSONObject(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Object jzkh = json.get("JZKH");//社保卡 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //获取居民信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            brid = json.getFloat("brid");//病人id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (jzkh != null && !jzkh.toString().equals(medicare)) {//判断是否跟当前医保卡号一致 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                res.put("status", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                res.put("message", "该居民存在多条建档信息!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                res.put("message", "您输入的卡号和该就诊人在医院预留的卡号不一致,请重新输入。"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else if (jzkh == null) {//若为空则更新社保卡 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Map<String, Object> updateParams = new HashedMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                updateParams.put("brid", brid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                updateParams.put("jzkh", medicare); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logger.info("更新params:" + updateParams); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                HttpResponse updateResponse = HttpUtils.doGet(updateJzkh, updateParams); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String updateContent = updateResponse.getContent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                logger.info("更新患者信息updateResponse:" + updateContent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                JSONObject rsult = JSON.parseObject(updateContent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Integer s = rsult.getInteger("status"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (s != 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    res.put("status", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    res.put("message", "更新社保卡失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else if (size > 1) {//如果存在多条数据,查看是否有跟当前社保卡号一致的,如果有则跳过,如果社保卡都为空则取其中一条更新,否则就提示与预留卡号不一致 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            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.size() == 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                brid = sfzhArray.getJSONObject(0).getFloat("brid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } else { //判断社保卡号是否都为空 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                String nullSql = "SELECT brid \"brid\" from portal_his.V_ZKSG_BRCX@xec_link where sfzh = '" + idcard + "' and  jzkh is null "; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                Integer count = getSqlResult(nullSql).size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (count == size) {//如果都为空就默认取一条,然后更新社保卡号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    brid = sfzhArray.getJSONObject(0).getFloat("brid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Map<String, Object> updateParams = new HashedMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    updateParams.put("brid", brid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    updateParams.put("jzkh", medicare); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logger.info("更新params:" + updateParams); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    HttpResponse updateResponse = HttpUtils.doGet(updateJzkh, updateParams); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    String updateContent = updateResponse.getContent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    logger.info("更新患者信息updateResponse:" + updateContent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    JSONObject rsult = JSON.parseObject(updateContent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    Integer s = rsult.getInteger("status"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if (s != 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        res.put("status", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        res.put("message", "更新社保卡失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } else { //身份证号没查到信息,就用社保卡号查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONArray jzkhArray = getSqlResult(jzkhSql); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            brid = jzkhArray.getJSONObject(0).getFloat("brid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //先通过身份证查询是否有这个病人id 如果有直接返回 如果没有则新建 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (StringUtil.isBlank(brid)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //查询是否有这个病人id 如果有直接返回 如果没有则新建 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (brid != null) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String, Object> params1 = new HashedMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            params1.put("brxm", name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            params1.put("csny", IdCardUtil.getBirthdayForIdcardStr(idcard)); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -3150,44 +3211,17 @@ public class YkyyEntranceService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            params1.put("zy", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpResponse response1 = HttpUtils.doGet(saveJdxxUrl, params1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String content1 = response1.getContent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("params1:" + params1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("response1:" + content1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("建档params:" + params1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            logger.info("建档response:" + content1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            JSONObject rs1 = JSON.parseObject(content1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (rs1.getInteger("status") != 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                res.put("status", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                res.put("message", "操作失败,失败原因:" + rs1.getString("message")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //获取病人id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                response = HttpUtils.doGet(url, params); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                content = response.getContent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                rs = JSON.parseObject(content); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                status = rs.getInteger("status"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if (status == 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    res.put("status", 200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    /*JSONArray array = rs.getJSONArray("detailModelList"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    int size = array.size(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    if(size == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        logger.info("array:" + array.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        brid = ((JSONObject)array.get(0)).getString("brid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        res.put("status", 200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        res.put("message", brid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        logger.info("brid:" + brid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }else if (size > 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        res.put("status", -1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        res.put("message", "该居民存在多条建档信息!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    }*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return res; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |