|  | @ -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;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | }
 |