Selaa lähdekoodia

修改建档接口

humingfen 4 vuotta sitten
vanhempi
commit
a95a6f499a

+ 14 - 11
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/YkyyEntranceService.java

@ -3145,15 +3145,15 @@ public class YkyyEntranceService {
        String jzkhSql = "SELECT brid \"brid\",sfzh \"sfzh\" from portal_his.V_ZKSG_BRCX@xec_link where jzkh = '" + medicare + "' order by JDSJ ";
        JSONArray sfzhArray = getSqlResult(sfzhSql);
        int size = sfzhArray.size();
        if (size == 1) {
        /*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", "您输入的卡号和该就诊人在医院预留的卡号不一致,请重新输入。");
                return res;
//                res.put("status", -1);
//                res.put("message", "您输入的卡号和该就诊人在医院预留的卡号不一致,请重新输入。");
//                return res;
            } else if (jzkh == null) {//若为空则更新社保卡
                Map<String, Object> updateParams = new HashedMap();
                updateParams.put("brid", brid);
@ -3171,18 +3171,21 @@ public class YkyyEntranceService {
                    return res;
                }
            }
        } else if (size > 1) {//如果存在多条数据,查看是否有跟当前社保卡号一致的,如果有则跳过,如果社保卡都为空则取其中一条更新,否则就提示与预留卡号不一致
        } else*/ if (size > 1) {//如果存在多条数据,查看是否有跟当前社保卡号一致的,如果有则跳过,如果社保卡都为空则取其中一条更新,否则就提示与预留卡号不一致
            if(size > 6){
                throw new Exception("建档超过6次,请到线下变更。");
            }else {
            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){
            /*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 { //否则就去最早一条更新
            } }/*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) {//如果都为空就默认取一条,然后更新社保卡号
@ -3206,14 +3209,14 @@ public class YkyyEntranceService {
                    res.put("status", -1);
                    res.put("message", "您输入的卡号和该就诊人在医院预留的卡号不一致,请重新输入。");
                    return res;
                }
                }*/
            }
        } else { //身份证号没查到信息,就用社保卡号查询
        /*} else { //身份证号没查到信息,就用社保卡号查询
            JSONArray jzkhArray = getSqlResult(jzkhSql);
            if (jzkhArray!=null&&jzkhArray.size()>0){
                brid = jzkhArray.getJSONObject(0).getFloat("brid");
            }
        }
        }*/
        //查询是否有这个病人id 如果有直接返回 如果没有则新建
        if (brid == null)
        {