Exemple #1
0
        //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);
        }
Exemple #2
0
        /// <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);
        }