///门诊结算修改his标记 /// </summary> public static void modifyMZJSBJ(Dictionary <string, string> sqlParam) { if (sqlParam == null || sqlParam.Count == 0) { XnhLogger.log("modifyMZCZBJ sqlParam参数为空"); return; } string sql = "UPDATE cl_recipe SET yb_up = '1'," + "yb_caseno = '+此处结算返回的门诊登记流水号(不知道参数在哪里取)+' " + "where rec_no in ('$REC_NO$') and reg_no in ('$REG_NO$') "; try { sql = sql.Replace("0", (sqlParam.ContainsKey("yb_up") == true ? sqlParam["yb_up"] : "")); sql = sql.Replace("$REC_NO$", (sqlParam.ContainsKey("rec_no") == true ? sqlParam["rec_no"] : "")); sql = sql.Replace("$REG_NO$", (sqlParam.ContainsKey("reg_no") == true ? sqlParam["reg_no"] : "")); DBUtil.updateExecute(sql); } catch (Exception ex) { XnhLogger.log(ex.ToString() + " SQL:" + sql); } }
///住院发票打印 /// </summary> public static DataTable printZYFP(string fpdy) { string sql = ""; try { sql = "select a.name, " //--姓名 + "a.ip_no, " //--住院号 + "a.D505_02, " //-- 住院登记流水号 + "a.TOTAL_COSTS, " // --住院总费用 + "a.TOTAL_CHAGE, " //--住院可补偿金额 + "a.ZF_COSTS, " // --住院自费费用 + "b.area_code " //--地区编码 + "from ZYJS a left join ZYBC b on a.ip_no = b.D504_01 where ip_no = '" + fpdy + "'"; DataTable dt = DBUtil.queryExecute(sql); return(dt); } catch (Exception ex) { XnhLogger.log("发票信息提取:sql=" + sql + " 异常:" + ex.StackTrace); } return(null); }
///入院登记修改对应his标记 /// </summary> public static void modifyRYDJ(Dictionary <string, string> sqlParam) { if (sqlParam == null || sqlParam.Count == 0) { XnhLogger.log("modifyRYDJ sqlParam参数为空"); return; } string sql = "UPDATE ip_register SET up_flag = '$up_flag$' " //入院登记成功改成‘1’ + "where REG_NO ='$reg_no$' "; try { sql = sql.Replace("$up_flag$", (sqlParam.ContainsKey("up_flag") == true ? sqlParam["up_flag"] : "")); sql = sql.Replace("$reg_no$", (sqlParam.ContainsKey("reg_no") == true ? sqlParam["reg_no"] : "")); DBUtil.updateExecute(sql); } catch (Exception ex) { XnhLogger.log(ex.ToString() + " SQL:" + sql); } }
/// <summary> /// 修改入院登记更新入院诊断 /// </summary> /// <param name="sqlParam"></param> public static void xgZYBC(Dictionary <string, string> sqlParam) { if (sqlParam == null || sqlParam.Count == 0) { XnhLogger.log("xgZYBC sqlParam参数为空"); return; } //update zybc set D504_21 = D504_21 WHERE D401_10 = D401_10 AND D401_21 = D401_21; string sql = "UPDATE zybc t SET t.D504_21='$D504_21$' WHERE t.D401_10 = '$D401_10$' AND t.D401_21 = '$D401_21$'"; try { sql = sql.Replace("$D401_10$", (sqlParam.ContainsKey("D401_10") == true ? sqlParam["D401_10"] : "")); sql = sql.Replace("$D401_21$", (sqlParam.ContainsKey("D401_21") == true ? sqlParam["D401_21"] : "")); sql = sql.Replace("$D504_21$", (sqlParam.ContainsKey("D504_21") == true ? sqlParam["D504_21"] : "")); DBUtil.updateExecute(sql); } catch (Exception ex) { XnhLogger.log(ex.ToString() + " SQL:" + sql); } }
public static void updateMZBC(Dictionary <string, string> sqlParam) { if (sqlParam == null || sqlParam.Count == 0) { XnhLogger.log("updateMZBC sqlParam参数为空"); return; } string sql = "UPDATE mzbc t SET t.T_D502_01='$T_D502_01$' WHERE t.D401_10 = '$D401_10$' AND t.D401_21 = '$D401_21$'"; try { sql = sql.Replace("$D401_10$", (sqlParam.ContainsKey("D401_10") == true ? sqlParam["D401_10"] : "")); sql = sql.Replace("$D401_21$", (sqlParam.ContainsKey("D401_21") == true ? sqlParam["D401_21"] : "")); sql = sql.Replace("$T_D502_01$", (sqlParam.ContainsKey("T_D502_01") == true ? sqlParam["T_D502_01"] : "")); DBUtil.updateExecute(sql); } catch (Exception ex) { XnhLogger.log(ex.ToString() + " SQL:" + sql); } }
public static DataTable cxzymx(string reg_no) { string sql = ""; try { sql = "select " + "b.ip_no, " //--住院号 + "a.item_code, " //--HIS项目编码 + "price, " //--HIS项目单价 + "(select wydm from xnh_dm where xnh_dm.item_code = a.item_code) as nh_bm, " //农合编码 + "(select bxbl from xnh_ypzl where xnh_ypzl.wydm = d.wydm and d.item_code = a.item_code) as nh_bnw, " //--报销比例 + "qty, " //--HIS项目数量 + "total, " //--HIS项目总价格 + "bill_time, " //--记账时间 + "a.basic_cls, " //多条同批次缺库存,其他批次收费标志 + "pre_no, " //--医嘱编号 + "a.up_flag, " //--上传标志 + "standard, " //--规格 + "small_unit, " //--单位 + "(select item_cls from code_item where item_code=a.item_code ) as item_cls, " //--项目类型(1,2,3:药品 4,5,6,7,8,9:其他) + "(select item_name from code_item where item_code=a.item_code ) as item_name " //--项目名称 + "from " + "IP_BILL a left join IP_REGISTER b on a.reg_no=b.reg_no ,plus_item c left join xnh_dm d on c.item_code = d.item_code " + "where " + "c.item_code=a.item_code and c.type=3 and a.reg_no='" + reg_no + "' and a.up_flag is null " + "order by bill_time,a.item_code "; DataTable dt = DBUtil.queryExecute(sql); return(dt); } catch (Exception ex) { XnhLogger.log("查询住院明细:sql=" + sql + " 异常:" + ex.StackTrace); } return(null); }
///住院作废单个项目修改对应his标记 /// </summary> public static void modifyZYZFBJ(Dictionary <string, string> sqlParam) { if (sqlParam == null || sqlParam.Count == 0) { XnhLogger.log("modifyZYCZBJ sqlParam参数为空"); return; } string sql = "UPDATE ip_bill SET up_flag = '$up_flag$'" + "where REG_NO ='$reg_no$' and pre_no = '$pre_no$' and bill_time = '$bill_time$' and basic_cls = '$basic_cls$'"; try { sql = sql.Replace("$up_flag$", (sqlParam.ContainsKey("up_flag") == true ? sqlParam["up_flag"] : "")); sql = sql.Replace("$pre_no$", (sqlParam.ContainsKey("pre_no") == true ? sqlParam["pre_no"] : "")); sql = sql.Replace("$reg_no$", (sqlParam.ContainsKey("reg_no") == true ? sqlParam["reg_no"] : "")); sql = sql.Replace("$bill_time$", (sqlParam.ContainsKey("bill_time") == true ? sqlParam["bill_time"] : "")); sql = sql.Replace("$basic_cls$", (sqlParam.ContainsKey("basic_cls") == true ? sqlParam["basic_cls"] : "")); DBUtil.updateExecute(sql); } catch (Exception ex) { XnhLogger.log(ex.ToString() + " SQL:" + sql); } }
/// <summary> /// 存储门诊结算返回结果,后期做报表 /// create table MZJS /// (D401_02 VARCHAR2(18), -- 成员姓名 /// T_D502_01 CHAR(30), -- 门诊登记流水号 /// O_TOTAL_COSTS NUMBER(8,2), --总费用 /// O_ZF_COSTS NUMBER(8,2), --自费费用 /// O_TOTAL_CHAGE NUMBER(8,2), --合理费用 /// O_OUTP_FACC NUMBER(8,2), --帐户补偿 /// O_OUT_JJ NUMBER(8,2), --基金补偿 /// O_D503_09 NUMBER(8,2), --核算补偿金额[实际补偿合计额) /// D601_17_OUT NUMBER(8,2), --家庭账户支出 /// XY_OUT NUMBER(8,2), --西药补偿金额 /// ZCAOY_OUT NUMBER(8,2), --中草药补偿金额 /// ZCHENGY_OUT NUMBER(8,2), --中成药补偿金额 /// MZ_BILL_TIME CHAR(30), --门诊结算日期 /// AREA_NO VARCHAR2(18) --地区编码 /// ) /// </summary> /// <param name="sqlParam"></param> public static void CCMZJS(Dictionary <string, string> sqlParam) { if (sqlParam == null || sqlParam.Count == 0) { XnhLogger.log("MZJS sqlParam参数为空"); return; } string sql = "insert into MZJS(D401_02,T_D502_01,O_TOTAL_COSTS ,O_ZF_COSTS,O_TOTAL_CHAGE,O_OUTP_FACC,O_OUT_JJ,O_D503_09,D601_17_OUT,XY_OUT,ZCAOY_OUT,ZCHENGY_OUT,MZ_BILL_TIME,AREA_NO) " + "values ('$D401_02$','$T_D502_01$','$O_TOTAL_COSTS$','$O_ZF_COSTS$','$O_TOTAL_CHAGE$','$O_OUTP_FACC$','$O_OUT_JJ$','$O_D503_09$','$D601_17_OUT$','$XY_OUT$','$ZCAOY_OUT$','$ZCHENGY_OUT$','$MZ_BILL_TIME$','$AREA_NO$')"; ///依次是:成员姓名,门诊登记流水号,总费用,自费费用,合理费用,实际补偿金额,核算补偿金额[实际补偿合计额),本次起伏线,报销比例,大病支付额,单次补偿合计 try { sql = sql.Replace("$D401_02$", (sqlParam.ContainsKey("D401_02") == true ? sqlParam["D401_02"] : "")); sql = sql.Replace("$T_D502_01$", (sqlParam.ContainsKey("T_D502_01") == true ? sqlParam["T_D502_01"] : "")); sql = sql.Replace("$O_TOTAL_COSTS$", (sqlParam.ContainsKey("O_TOTAL_COSTS") == true ? sqlParam["O_TOTAL_COSTS"] : "")); sql = sql.Replace("$O_ZF_COSTS$", (sqlParam.ContainsKey("O_ZF_COSTS") == true ? sqlParam["O_ZF_COSTS"] : "")); sql = sql.Replace("$O_TOTAL_CHAGE$", (sqlParam.ContainsKey("O_TOTAL_CHAGE") == true ? sqlParam["O_TOTAL_CHAGE"] : "")); sql = sql.Replace("$O_OUTP_FACC$", (sqlParam.ContainsKey("O_OUTP_FACC") == true ? sqlParam["O_OUTP_FACC"] : "")); sql = sql.Replace("$O_OUT_JJ$", (sqlParam.ContainsKey("O_OUT_JJ") == true ? sqlParam["O_OUT_JJ"] : "")); sql = sql.Replace("$O_D503_09$", (sqlParam.ContainsKey("O_D503_09") == true ? sqlParam["O_D503_09"] : "")); sql = sql.Replace("$D601_17_OUT$", (sqlParam.ContainsKey("D601_17_OUT") == true ? sqlParam["D601_17_OUT"] : "")); sql = sql.Replace("$XY_OUT$", (sqlParam.ContainsKey("XY_OUT") == true ? sqlParam["XY_OUT"] : "")); sql = sql.Replace("$ZCAOY_OUT$", (sqlParam.ContainsKey("ZCAOY_OUT") == true ? sqlParam["ZCAOY_OUT"] : "")); sql = sql.Replace("$ZCHENGY_OUT$", (sqlParam.ContainsKey("ZCHENGY_OUT") == true ? sqlParam["ZCHENGY_OUT"] : "")); sql = sql.Replace("$MZ_BILL_TIME$", (sqlParam.ContainsKey("MZ_BILL_TIME") == true ? sqlParam["MZ_BILL_TIME"] : "")); sql = sql.Replace("$AREA_NO$", (sqlParam.ContainsKey("AREA_NO") == true ? sqlParam["AREA_NO"] : "")); //sql = sql.Replace("$TOTAL_COSTS$", (sqlParam.ContainsKey("TOTAL_COSTS") == true ? sqlParam["TOTAL_COSTS"] : "")); DBUtil.updateExecute(sql); XnhLogger.log("存储门诊结算返回结果 SQL:" + sql); } catch (Exception ex) { XnhLogger.log(ex.ToString() + " SQL:" + sql); } }
public string zhyChaxun(string zyh) { string retStr = ""; try { //todo:查询HIS string sql = "select a.name,(select fee_name from CODE_FEE where CODE_FEE.fee_code = a.FEE_CODE) as fee_name, " + "a.ip_no, a.reg_no,(select name from CODE_SEX where CODE_SEX.code = a.sex) as sex, " + "a.birth,a.age,a.cont_tel,a.cont_addr,a.op_time, " + "(select oper_name from code_operator where oper_code = a.ip_dr) as ip_dr, " + "a.ip_time,(select dept_name from code_department where dept_code = a.ip_dept) as dept " + "from ip_register a " + "where a.ip_no ='" + zyh + "'"; DataTable dt = new DataTable(); dt = DBUtil.queryExecute(sql); if ((dt == null) || (dt.Rows.Count == 0)) { retStr = DataConvert.getReturnJson("-1", "住院号不存在!"); return(retStr); } //todo:返回的DataTable数据,可以通过调用DataTable2Json转为JSON格式,方便前台JavaScript处理和绑定 string msg = DataConvert.DataTable2Json(dt); retStr = DataConvert.getReturnJson("0", msg); } catch (Exception ex) { XnhLogger.log(this.GetType().ToString() + " " + ex.StackTrace); retStr = DataConvert.getReturnJson("-1", ex.ToString()); } XnhLogger.log(retStr); return(retStr); }
public string qxrydj(string AREA_NO, string D504_01) { string retStr = ""; try { ZYBC_PROC_DELETE_NOTICE deleteNotice = new ZYBC_PROC_DELETE_NOTICE(); deleteNotice.executeSql(new Dictionary <string, string>() { { "AREA_NO", AREA_NO }, { "D504_01", D504_01 } }); //0 成功 //1 失败 //删除成功: S_Returns= 0 //删除失败:S_Returns= 1;错误信息 (分号分隔) if (deleteNotice.getExecuteStatus() == true) { //删除HIS的登记信息 HIS.scZYBC(new Dictionary <string, string>() { { "D504_01", D504_01 } }); retStr = DataConvert.getReturnJson("0", "删除入院登记成功"); } else { retStr = DataConvert.getReturnJson("-1", deleteNotice.getExecuteResultPlainString()); } } catch (Exception ex) { XnhLogger.log(this.GetType().ToString() + " " + ex.StackTrace); retStr = DataConvert.getReturnJson("-1", ex.ToString()); } return(retStr); }
public string hzxmcx(string date, string query) { string retStr = ""; try { string sql = " SELECT cl_CHARGE_RECIPE.REC_NO as REC_NO,CODE_OPERATOR.oper_name,PATIENTINFO.NAME ,CL_RECIPE.REC_TIME, " + "CL_RECIPE.UP_FLAG,CL_RECIPE.REG_NO,CL_RECIPE.REG_NO as mzh, CL_CHARGE.CHRG_NO ,CL_CHARGE.CHRG_TIME, " + "CL_CHARGE.OPER_CODE ,CL_CHARGE.TYPE ,CL_CHARGE.REC_FLAG ,CL_CHARGE.FEE_CODE ,CL_CHARGE.STATUS, " + "WMSYS.WM_CONCAT(CL_CHARGE_INVOICE.INVO_NO) as INVO_NO, " + "(select sum(total_sum) from CL_CHRGENTRY where chrg_no = CL_CHARGE.CHRG_NO) as total, " + "max((select sum(total) from CL_RECENTRY where CL_RECENTRY.rec_no = CL_RECIPE.rec_no)) as total_rec,d.dept_name " + "FROM CL_CHARGE , CL_CHARGE_INVOICE ,CL_CHARGE_RECIPE,CL_RECIPE , PATIENTINFO,CODE_OPERATOR , CODE_DEPARTMENT d " + "WHERE ( CL_CHARGE.CHRG_NO = CL_CHARGE_INVOICE.CHRG_NO(+)) and (CL_CHARGE.CHRG_NO = CL_CHARGE_RECIPE.CHRG_NO) AND " + "(CL_CHARGE_RECIPE.REC_NO = CL_RECIPE.REC_NO) AND (CL_RECIPE.PID = PATIENTINFO.PID) AND (CL_CHARGE_RECIPE.FLAG = '1') AND " + "(CL_CHARGE.CLASS = '2' ) AND ((PATIENTINFO.NAME LIKE '%" + query + "%') or (INVO_NO like '%" + query + "%') ) AND " + "(CL_CHARGE.CHRG_DATE >= '2016.01.01') AND (cl_CHARGE_RECIPE.TYPE = '2') and " + "d.dept_code=CL_RECIPE.dept_code and CODE_OPERATOR.OPER_CODE=CL_RECIPE.dr_code " + "group by cl_CHARGE_RECIPE.REC_NO,CODE_OPERATOR.oper_name,PATIENTINFO.NAME ,CL_RECIPE.REC_TIME, " + "CL_RECIPE.UP_FLAG,CL_RECIPE.REG_NO,CL_CHARGE.CHRG_NO ,CL_CHARGE.CHRG_TIME ,CL_CHARGE.OPER_CODE ,CL_CHARGE.TYPE , " + "CL_CHARGE.REC_FLAG ,CL_CHARGE.FEE_CODE ,CL_CHARGE.STATUS,d.dept_name " + "order by cl_CHARGE_RECIPE.REC_NO "; DataTable dt = DBUtil.queryExecute(sql); // XnhLogger.log(dt.ReadXml); if ((dt == null) || (dt.Rows.Count == 0)) { retStr = DataConvert.getReturnJson("-1", "信息有误,请核实信息!"); return(retStr); } /* * string sql = "select a.name,(select fee_name from CODE_FEE where CODE_FEE.fee_code = a.FEE_CODE) as fee_name, " + * "a.ip_no, a.reg_no,(select name from CODE_SEX where CODE_SEX.code = a.sex) as sex, " + * "a.birth,a.age,a.cont_tel,a.cont_addr,a.op_time, " + * "(select oper_name from code_operator where oper_code = a.ip_dr) as ip_dr, " + * "a.ip_time,(select dept_name from code_department where dept_code = a.ip_dept) as dept " + * "from ip_register a " + * "where a.ip_no ='" + zyh + "'"; * * DataTable dt = new DataTable(); * dt = DBUtil.queryExecute(sql); * * if ((dt == null) || (dt.Rows.Count == 0)) * { * retStr = DataConvert.getReturnJson("-1", "住院号不存在!"); * return retStr; * } * * //todo:返回的DataTable数据,可以通过调用DataTable2Json转为JSON格式,方便前台JavaScript处理和绑定 * string msg = DataConvert.DataTable2Json(dt); * retStr = DataConvert.getReturnJson("0", msg);*/ //todo:由HIS提供视图或查询字段绑定 string msg = DataConvert.DataTable2Json(dt); retStr = DataConvert.getReturnJson("0", msg); //retStr = DataConvert.DataTable2Json(dt); //retStr = DataConvert.getReturnJson("-1","date=" + date + " query=" + query + " 患者姓名查询待由HIS提供视图或查询字段完成数据绑定"); } catch (Exception ex) { XnhLogger.log(this.GetType().ToString() + " " + ex.StackTrace); retStr = DataConvert.getReturnJson("-1", ex.ToString()); } Console.WriteLine(retStr); //日志 log里面是字符串 XnhLogger.log(retStr); //MessageBox.Show(retStr); return(retStr); }
public string tryCalculate(string user_id, string DIAGNOSIS_CODE) { try { //(1)根据用户选择的疾病编码调用 验证输入疾病是否在疾病库中存在交易,判断是否存在,不存在提示报错,中断试算;存在进行试算业务交易。 MZBC_PROC_DIAGNOSIS_CHECK dCheck = new MZBC_PROC_DIAGNOSIS_CHECK(); string retStr = dCheck.executeSql( new Dictionary <string, string>() { { "DIAGNOSIS_CODE", DIAGNOSIS_CODE } } ); if (retStr == "0") { //(2)疾病存在,进行试算交易 RJZ_getShisuanResult shisuan = new RJZ_getShisuanResult(); Dictionary <string, string> param = new Dictionary <string, string>(); param.Add("D505_02", ""); //登记流水号 param.Add("COME_AREA", ""); //地区代码(支付单位) param.Add("AREA_CODE", ""); //病人地区编码(取前台选择的地区编码) param.Add("D504_07", ""); //家庭编号 param.Add("D504_02", ""); //成员序号 param.Add("D504_14", ""); //就医机构 param.Add("D504_21", ""); //入院诊断(疾病代码) param.Add("D504_11", ""); //就诊日期(入院时间) (格式为YYYY-MM-DD) param.Add("D506_15", ""); //补偿类别代码 param.Add("D504_15", ""); //就医机构级别(相关数据代码标准:S201-06) param.Add("D504_06", ""); //年龄 param.Add("D504_10", ""); //就诊类型(相关数据代码标准:S301-05) param.Add("D504_12", ""); //出院时间(格式为YYYY-MM-DD) param.Add("D504_29", ""); //出院诊断(疾病代码) param.Add("D504_16_D", ""); //入院科室(相关数据代码标准:S201-03) param.Add("D504_16_T", ""); //出院科室(相关数据代码标准:S201-03) param.Add("S701_01", ""); //是否是中途结算(相关数据代码标准:S701-01) shisuan.executeSql(param); if (shisuan.getExecuteStatus() == true) //试算成功 { //需要存储试算结果,进行收费交易 Dictionary <string, string> retDict = shisuan.getResponseResultWrapperMap(); //retDict["TOTAL_COSTS"];//总费用 //retDict["ZF_COSTS"];//自费费用 //retDict["TOTAL_CHAGE"];//合理费用 //retDict["D506_23"];//实际补偿金额 //retDict["D506_18"];//核算补偿金额[实际补偿合计额) //retDict["BEGINPAY"];//本次起伏线 //retDict["SCALE"];//报销比例 //retDict["HEAV_REDEEM_SUM"];//大病支付额 //retDict["REDEEM_TOTAL"];//单次补偿合计 } } else if (retStr == "1") { //疾病不存在 } else { //出错,记录日志 XnhLogger.log(this.GetType().ToString() + " tryCalculate " + DIAGNOSIS_CODE + "疾病代码不存在,接口返回结果:" + retStr); } } catch (Exception ex) { XnhLogger.log(this.GetType().ToString() + " tryCalculate " + ex.StackTrace); } return("fail"); }
public string login(string name, string pwd) { string retVal = ""; try { //todo:HIS系统先验证用户名和密码 /* * string str_sql; * str_sql = "select oper_name,pwd from code_operator where oper_code='" + name + "'"; * DataTable dt1 = DBUtil.queryExecute(str_sql); * * long ll_c; * ll_c = dt1.Rows.Count; * if (ll_c > 0) * { * //p===pass * if (dt1.Rows[0]["pwd"].ToString() != pwd) * { * return "";//== * } * else * { * return "0;10011;admin;admin;刘德华;8881122;18012345678;天泰医院;DEP_AREA;USER_JG;DEP_LEVEL;AREA_CODE;T_IS_FLASH_AUTHORIZED;T_YEARS;T_IS_SK;T_IS_SK_HOSP;T_IS_XJ;T_RJZ_DATE;T_CH_START_DATE;T_CH_END_DATE;T_DY_MX_IS_HZ;T_IS_BLUSH_DAY;T_BLUSH_DAY;"; * } * } * else * { * return ""; * } */ // return "0;10011;admin;admin;刘德华;8881122;18012345678;天泰医院;DEP_AREA;USER_JG;DEP_LEVEL;AREA_CODE;T_IS_FLASH_AUTHORIZED;T_YEARS;T_IS_SK;T_IS_SK_HOSP;T_IS_XJ;T_RJZ_DATE;T_CH_START_DATE;T_CH_END_DATE;T_DY_MX_IS_HZ;T_IS_BLUSH_DAY;T_BLUSH_DAY;"; //调用接口认证 LoginAuth service = new LoginAuth(); //直接塞参数进入Dictionary,由框架自动组装顺序 Dictionary <string, string> requestParam = new Dictionary <string, string>(); requestParam.Add("USER_CODE", name); requestParam.Add("USER_PASS", pwd); //使用executeSql重载的Dictionary参数方法 string response = service.executeSql("", requestParam, "&"); Dictionary <string, string> responseDict = service.getResponseResultWrapperMap(); //登录失败 if (service.getExecuteStatus() == false) { retVal = ""; //记日志 XnhLogger.log(this.GetType().ToString() + service.getExecuteResultPlainString()); } else { //登录成功,缓存用户信息,服务器缓存以每个用户的user_id作为区分的cookie string user_id = responseDict["USER_ID"]; foreach (KeyValuePair <string, string> item in responseDict) { BufferUtil.setBuffer(user_id, item.Key, item.Value); } retVal = DataConvert.Dict2Json(responseDict); } } catch (Exception ex) { XnhLogger.log(this.GetType().ToString() + " " + ex.StackTrace); retVal = ""; } return(retVal); }
public string rydj(string USER_ID, string PARAM) { string retStr = ""; try { //根据USER_ID获取缓存的新医疗卡号信息 string D401_10 = BufferUtil.getBufferByKey(USER_ID, "D401_10"); //(1)验证输入疾病是否在疾病库中存在,存在可以继续登记 MZBC_PROC_DIAGNOSIS_CHECK check = new MZBC_PROC_DIAGNOSIS_CHECK(); string DIAGNOSIS_CODE = ""; //疾病代码 check.executeSql( new Dictionary <string, string>() { { "DIAGNOSIS_CODE", DIAGNOSIS_CODE } } ); //0 成功 //1 此疾病在疾病库中不存在 //2 程序异常 if (check.getExecuteResultPlainString() != null && check.getExecuteResultPlainString().Length >= 1 && check.getExecuteResultPlainString().Substring(0, 1) != "0") { if (check.getExecuteResultPlainString().Substring(0, 1) == "1") { retStr = DataConvert.getReturnJson("-1", "此疾病在疾病库中不存在"); } if (check.getExecuteResultPlainString().Substring(0, 1) == "2") { retStr = DataConvert.getReturnJson("-1", check.getExecuteResultPlainString()); } return(retStr); } //疾病代码存在,可以继续登记 //(2)检查是否可以做入院登记 //调用验证住院号是否重复交易,如果重复说明已经登记,此时调用修改住院登记交易; //如果不重复调用保存入院登记交易进行入院登记,入院登记成功修改HIS端标志并保存农合信息。 MZBC_PROC_ZYBZ_NOTICE_CHECK zydjCheck = new MZBC_PROC_ZYBZ_NOTICE_CHECK(); string AREA_NO = ""; string D401_21 = ""; string DEP_ID = ""; zydjCheck.executeSql( new Dictionary <string, string>() { { "AREA_NO", AREA_NO }, { "D401_10", D401_10 }, { "D401_21", D401_21 }, { "DEP_ID", DEP_ID } } ); //0 成功 //1 此病人在本院已经做过入院登记 //2 此病人在其他医院已经做过入院登记 //3 程序异常 //此病人在其他医院已经做过入院登记: 2;医院名称(分号分隔) //程序异常: 3;错误信息(分号分隔) string flag = zydjCheck.getExecuteResultPlainString().Substring(0, 1); if (flag == "2") { return(retStr = DataConvert.getReturnJson("-1", "此病人在其他医院已经做过入院登记:" + zydjCheck.getExecuteResultPlainString())); } if (flag == "3") { return(retStr = DataConvert.getReturnJson("-1", "程序异常:" + zydjCheck.getExecuteResultPlainString())); } string decodeParam = DataConvert.Base64Decode(PARAM); //解码 Dictionary <string, string> jsonDict = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, string> >(decodeParam); if (flag == "0") { Dictionary <string, string> param = new Dictionary <string, string>(); param.Add("COME_AREA", jsonDict["COME_AREA"]); //医疗机构所在地区编码(取用户所在机构地区编码AREA_CODE) param.Add("AREA_CODE", jsonDict["AREA_CODE"]); //地区代码(病人所在地区编码)取前台选择的地区编码 param.Add("D401_10", jsonDict["D401_10"]); //医疗证号 param.Add("D504_02", jsonDict["D504_02"]); //个人编号 param.Add("D504_03", jsonDict["D504_03"]); //姓名 param.Add("D504_04", jsonDict["D504_04"]); //性别(1:男 2:女)传代码 param.Add("D504_05", jsonDict["D504_05"]); //身份证号 param.Add("D504_06", jsonDict["D504_06"]); //年龄 param.Add("D504_21", jsonDict["D504_21"]); //疾病代码 param.Add("D504_09", jsonDict["D504_09"]); //住院号 param.Add("D504_10", jsonDict["D504_10"]); //就诊类型代码(对应s301_05.xls) param.Add("D504_11", jsonDict["D504_11"]); //入院时间(格式为YYYY-MM-DD) param.Add("D504_14", jsonDict["D504_14"]); //就医机构代码=DEP_ID param.Add("D504_19", jsonDict["D504_19"]); //入院状态代码 (对应S301-02.xls) param.Add("D504_16", jsonDict["D504_16"]); //入院科室代码(对应S201-03.xls) param.Add("D504_28", jsonDict["D504_28"]); //病人联系电话 //保存入院登记 ZYBC_PROC_NEW_NOTICE newNotice = new ZYBC_PROC_NEW_NOTICE(); newNotice.executeSql(param); //0 成功 //1 失败 //保存成功:S_Returns= 0;D504_01 //D504_01:VARCHAR2(24) 住院登记流水号 //保存失败: S_Returns= 1;错误信息 (分号分隔) if (newNotice.getExecuteStatus() == true) { //保存住院登记流水号到HIS string D504_01 = newNotice.getResponseResultWrapperMap()["D504_01"]; Dictionary <string, string> record = new Dictionary <string, string>() { { "D401_10", D401_10 }, { "D401_21", D401_21 }, { "D504_21", jsonDict["D504_21"] }, { "D504_01", D504_01 }, }; HIS.bcZYBC(record); retStr = DataConvert.getReturnJson("0", "保存住院登记成功"); } else { retStr = DataConvert.getReturnJson("-1", newNotice.getExecuteResultPlainString()); } } if (flag == "1") { //修改住院登记 ZYBC_PROC_UPDATE_NOTICE updateNotice = new ZYBC_PROC_UPDATE_NOTICE(); Dictionary <string, string> param = new Dictionary <string, string>(); param.Add("AREA_CODE", jsonDict["AREA_CODE"]); //病人地区编码(取前台选择的地区编码) param.Add("D504_01", jsonDict["D504_01"]); //住院登记流水号 param.Add("D504_21", jsonDict["D504_21"]); //疾病代码 param.Add("D504_09", jsonDict["D504_09"]); //住院号 param.Add("D504_10", jsonDict["D504_10"]); //就诊类型 param.Add("D504_19", jsonDict["D504_19"]); //入院状态代码(对应S301-02.xls) param.Add("D504_16", jsonDict["D504_16"]); //入院科室代码(对应S201-03.xls) param.Add("D504_11", jsonDict["D504_11"]); //入院时间(格式为YYYY-MM-DD) param.Add("D504_28", jsonDict["D504_28"]); //联系电话 updateNotice.executeSql(param); if (updateNotice.getExecuteStatus() == true) { //保存修改到HIS Dictionary <string, string> record = new Dictionary <string, string>() { { "D401_10", D401_10 }, { "D401_21", D401_21 }, { "D504_21", jsonDict["D504_21"] } }; HIS.xgZYBC(record); retStr = DataConvert.getReturnJson("0", "修改住院登记成功"); } else { retStr = DataConvert.getReturnJson("-1", updateNotice.getExecuteResultPlainString()); } } } catch (Exception ex) { XnhLogger.log(this.GetType().ToString() + " " + ex.StackTrace); retStr = DataConvert.getReturnJson("-1", ex.ToString()); } return(retStr); }
public string readCard(string USER_ID, string M_MM, string AREA_NO) { string retVal = ""; //todo:M_MM 读卡的加密串 此值的获取需要接口 //string M_MM = ""; //由前台的ActiveX控件获取提供 try { //(1)调用验证此卡号是否存在交易 MZBC_Check_Ylzh_Bulsh check = new MZBC_Check_Ylzh_Bulsh(); string retStr = check.executeSql( new Dictionary <string, string>() { { "AREA_NO", AREA_NO }, { "M_MM", M_MM } } ); if (check.getExecuteStatus() == false) { retStr = DataConvert.getReturnJson("-1", "不存在此卡号交易"); XnhLogger.log("卡号:" + M_MM + " " + "不存在此卡号交易"); } //卡号存在交易 if (check.getExecuteStatus() == true) { Dictionary <string, string> retDic = check.getResponseResultWrapperMap(); //返回的医疗证号 string D401_10 = retDic["D401_10"]; //缓存医疗号 BufferUtil.setBuffer(USER_ID, "D401_10", D401_10); //(2)调用获取家庭成员交易 MZBC_Get_Member getMember = new MZBC_Get_Member(); string getMemberRetStr = getMember.executeSql( new Dictionary <string, string>() { { "AREA_NO", AREA_NO }, { "D401_10", D401_10 } } ); if (getMember.getExecuteStatus() == true) { //返回的家庭成员信息D401_21/D401_02;D401_21/D401_02 //成员序号:D401_21 CHAR(2) //成员姓名:D401_02 VARCHAR2(24) string retMember = (string)getMember.getResponseResultOtherWrapper(); retVal = DataConvert.Dict2Json(new Dictionary <string, string>() { { "lyzh", D401_10 }, { "data", retMember } }); //家庭成员信息存储到HIS string[] memberArray = retMember.Split(new string[] { ";" }, StringSplitOptions.None); foreach (string one in memberArray) { string D401_21 = one.Split(new string[] { "/" }, StringSplitOptions.None)[0]; //成员序号 Dictionary <string, string> record = new Dictionary <string, string>() { { "D401_10", D401_10 }, { "D401_21", D401_21 } }; HIS.insertMZBC(record); HIS.insertZYBC(record); } //(3)根据医疗证号和序号调用查询基础人员信息交易,将信息显示到用户画面。 //string[] memberArray = retMember.Split(new string[]{";"},StringSplitOptions.None); //foreach (string one in memberArray) //{ // string D401_21 = one.Split(new string[] { "/" }, StringSplitOptions.None)[0]; //成员序号 // //查询成员基本信息 // MZBC_Get_Member_Information getMemberInfo = new MZBC_Get_Member_Information(); // getMemberInfo.executeSql( // new Dictionary<string, string>() { { "AREA_NO", AREA_NO }, { "D401_10", D401_10 }, { "D401_21", D401_21 } } // ); // Dictionary<string,string> memberBaseInfo = getMemberInfo.getResponseResultWrapperMap(); //成员基本信息 // //(4)成员基本信息显示在用户界面 todo // //(5)验证本人是否已经住院(注:应该是住院状态不允许门诊报销) // //AREA_NO&D401_10&D401_21&DEP_ID // MZBC_PROC_ZYBZ_NOTICE_CHECK zy = new MZBC_PROC_ZYBZ_NOTICE_CHECK(); // //从缓存获取信息 // string DEP_ID = BufferUtil.getBufferByKey(USER_ID, "DEP_ID"); // zy.executeSql( // new Dictionary<string, string>() { { "AREA_NO", AREA_NO }, { "D401_10", D401_10 }, { "D401_21", D401_21 }, { "DEP_ID", DEP_ID } } // ); //} } } } catch (Exception ex) { XnhLogger.log(this.GetType().ToString() + " " + ex.StackTrace); } return(retVal); }