|
@ -69,7 +69,7 @@ public class YkyyEntranceService {
|
|
|
|
|
|
|
|
|
private final static String url="http://192.168.20.55:10023/ykyy/createSQLQuery";
|
|
|
// private final static String url="http://localhost:10023/ykyy/createSQLQuery";
|
|
|
// private final static String url="http://localhost:10023/ykyy/createSQLQuery";192.168.33.197
|
|
|
|
|
|
private final static String saveUrl="http://192.168.20.55:10023/ykyy/save";
|
|
|
private final static String orderUrl="http://192.168.20.55:10023/ykyy/outPatientOrder";
|
|
@ -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);//作废标志
|
|
@ -2079,6 +2082,7 @@ public class YkyyEntranceService {
|
|
|
ykEmrJcsqDO.setSqsl(1);
|
|
|
ykEmrJcsqDO.setJclx(1);
|
|
|
ykEmrJcsqDO.setXmdw("人次");
|
|
|
ykEmrJcsqDO.setJbbh(icd10Flag);
|
|
|
ykEmrJcsqDO.setKdsj(new Date());
|
|
|
Integer brxb = 0;
|
|
|
String brxm = "";
|
|
@ -2086,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();
|
|
@ -3133,16 +3137,17 @@ 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 + "' ";
|
|
|
String sfzhSql = "SELECT jzkh \"jzkh\" ,brid \"brid\" from portal_his.V_ZKSG_BRCX@xec_link where sfzh = '" + idcard + "' order by JDSJ ";
|
|
|
//根据社保卡查询是否建档
|
|
|
String jzkhSql = "SELECT brid \"brid\",sfzh \"sfzh\" from portal_his.V_ZKSG_BRCX@xec_link where jzkh = '" + medicare + "' ";
|
|
|
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) {
|
|
|
JSONObject json = sfzhArray.getJSONObject(0);
|
|
|
Object jzkh = json.get("JZKH");//社保卡
|
|
|
Object jzkh = json.get("jzkh");//社保卡
|
|
|
//获取居民信息
|
|
|
brid = json.getFloat("brid");//病人id
|
|
|
if (jzkh != null && !jzkh.toString().equals(medicare)) {//判断是否跟当前医保卡号一致
|
|
@ -3159,9 +3164,10 @@ public class YkyyEntranceService {
|
|
|
logger.info("更新患者信息updateResponse:" + updateContent);
|
|
|
JSONObject rsult = JSON.parseObject(updateContent);
|
|
|
Integer s = rsult.getInteger("status");
|
|
|
if (s != 200) {
|
|
|
String message = rsult.getString("message");
|
|
|
if (s != 200 || !message.equals("成功")) {
|
|
|
res.put("status", -1);
|
|
|
res.put("message", "更新社保卡失败!");
|
|
|
res.put("message", message);
|
|
|
return res;
|
|
|
}
|
|
|
}
|
|
@ -3169,9 +3175,14 @@ 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 { //判断社保卡号是否都为空
|
|
|
} 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) {//如果都为空就默认取一条,然后更新社保卡号
|
|
@ -3185,19 +3196,26 @@ public class YkyyEntranceService {
|
|
|
logger.info("更新患者信息updateResponse:" + updateContent);
|
|
|
JSONObject rsult = JSON.parseObject(updateContent);
|
|
|
Integer s = rsult.getInteger("status");
|
|
|
if (s != 200) {
|
|
|
String message = rsult.getString("message");
|
|
|
if (s != 200 || !message.equals("成功")) {
|
|
|
res.put("status", -1);
|
|
|
res.put("message", "更新社保卡失败!");
|
|
|
res.put("message", message);
|
|
|
return res;
|
|
|
}
|
|
|
}else {
|
|
|
res.put("status", -1);
|
|
|
res.put("message", "您输入的卡号和该就诊人在医院预留的卡号不一致,请重新输入。");
|
|
|
return res;
|
|
|
}
|
|
|
}
|
|
|
} 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);
|