//Add BY Tany 2015-04-01 /// <summary> /// 同步新系统的医生给老系统 /// </summary> /// <param name="zyh"></param> /// <param name="db"></param> /// <returns></returns> public static void SyncDoc(Guid inpatientId, RelationalDatabase db) { string ssql = @"select inpatient_no,inpatient_id,zy_doc doc_id from zy_inpatient where inpatient_id='" + inpatientId + "'"; DataTable tb = db.GetDataTable(ssql); if (tb == null || tb.Rows.Count == 0) { throw new Exception("【同步老系统责任医生出错】在新系统中未找到该病人信息,请检查!"); } string zyh = Convert.ToInt64(tb.Rows[0]["inpatient_no"].ToString()).ToString(); string zrys = HisFunctions.ConvertNewhisidToOldHisid(HisFunctions.DataMapType.JC_EMPLOYEE_PROPERTY, tb.Rows[0]["doc_id"].ToString(), db); if (zrys == "") { throw new Exception("【同步老系统责任医生出错】未找到对应的责任医生,请检查!"); } InstanceOldHISDb(); ssql = "UPDATE ZY_ZYBRXX SET zrys='" + zrys + "' WHERE ZYH='" + zyh + "'"; InFomixDb.DoCommand(ssql); }
/// <summary> /// 出院处理 /// </summary> /// <param name="zyh"></param> /// <param name="db"></param> /// <returns></returns> public static bool Cycl(string zyh, RelationalDatabase db) { InstanceOldHISDb(); Judgeorder jd = new Judgeorder(db); ReturnInfo ri = new ReturnInfo(); string gflb = ""; string ls_return = ""; string ssql = ""; bool lb_ff = false; DataTable tb = new DataTable(); DataRow dr = tb.NewRow(); Ts_zygl_ybgl.FrmDataGridView frmDv = new Ts_zygl_ybgl.FrmDataGridView(); try { gflb = jd.GetLb(zyh); if (gflb == "新医保") { bool isOk = Ybcydj(zyh, db); if (!isOk) { return(isOk); } } zyh = Convert.ToInt64(zyh).ToString(); //打开病人出院登记界面 switch (gflb) { case "工会会员": //这个返回值为空,应该是屏蔽了,不写了 { //lb_ff = true; //Open(w_bq_yzgl_djcysj_bzxz); break; } case "合作医疗": case "新农合(东西湖)": { lb_ff = true; //Open(w_bq_yzgl_djcysj_bzxz_hzyl); tb = GetHzylDm(); break; } case "合约(部分病种结算)": { lb_ff = true; //Open(w_bq_yzgl_djcysj_bzxz2); tb = GetHyDm(); break; } } if (gflb == "") { ssql = "select gflb from zy_brjbxx where zyh = '" + zyh + "'"; gflb = Convertor.IsNull(InFomixDb.GetDataResult(ssql), ""); } ssql = "select count(*) from nb_brxx where zyh = '" + zyh + "'"; if (Convert.ToInt32(Convertor.IsNull(InFomixDb.GetDataResult(ssql), "0")) > 0) { if (MessageBox.Show("该新农合病人是否为外伤患者?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { ssql = "update zy_zybrxx set bz = '1' where zyh = '" + zyh + "'"; InFomixDb.DoCommand(ssql); } } //ssql = "select count(*) from zy_dbzjs where gflb = '" + DAL.BaseDal.GetEncodingStringToInforMix(gflb) + "'"; ssql = "select count(*) from zy_dbzjs where gflb = '" + gflb + "'"; if (Convert.ToInt32(Convertor.IsNull(InFomixDb.GetDataResult(ssql), "0")) > 0) { lb_ff = true; //openwithparm(w_bq_yzgl_djcysj_jslx,is_gflb); //ssql = "SELECT bzbm code,bzmc name FROM zy_dbzjs WHERE gflb = '" + DAL.BaseDal.GetEncodingStringToInforMix(gflb) + "'"; ssql = "SELECT bzbm code,bzmc name FROM zy_dbzjs WHERE gflb = '" + gflb + "'"; tb = InFomixDb.GetDataTable(ssql); //做转换 //for (int r = 0; r < tb.Rows.Count; r++) //{ // for (int c = 0; c < tb.Columns.Count; c++) // { // tb.Rows[r][c] = DAL.BaseDal.GetEncodingString(Convertor.IsNull(tb.Rows[r][c], "")); // } //} } if (lb_ff) { if (tb == null || tb.Rows.Count == 0) { throw new Exception("未找到需填写的的信息!"); } frmDv = new Ts_zygl_ybgl.FrmDataGridView(); frmDv.dgv.DataSource = tb; frmDv.dgv.MultiSelect = false; frmDv.ShowDialog(); if (frmDv.DialogResult == System.Windows.Forms.DialogResult.Yes) { if (frmDv.dgv.SelectedRows.Count == 0) { throw new Exception("未选择数据!"); } else { ls_return = Convertor.IsNull(tb.Rows[frmDv.dgv.SelectedRows[0].Index]["code"], ""); } } if (ls_return == "") { return(false); } else { ls_return = Convert.ToInt32(ls_return).ToString(); if (ls_return == "0") { if (MessageBox.Show("您所填写的是无优惠政策的病种,确定吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No) { return(false); } } //ssql = "UPDATE zy_zybrxx Set fybh = '" + DAL.BaseDal.GetEncodingStringToInforMix(ls_return) + "' Where zyh = '" + zyh + "'"; ssql = "UPDATE zy_zybrxx Set fybh = '" + ls_return + "' Where zyh = '" + zyh + "'"; InFomixDb.DoCommand(ssql); } } //ls_return = '' //OpenWithParm(w_bq_yzgl_djcysj,GetParm) //ls_return = Message.StringParm //IF ls_return <> 'OK' THEN // ll_return = 1 OK // RETURN -1 //END IF //RETURN 1 } catch (Exception ex) { throw ex; } return(true); }