Esempio n. 1
0
        public FrmBedEdit(DeptInfo deptInfo, RoomInfo roomInfo)
        {
            //
            // Windows 窗体设计器支持所必需的
            //
            InitializeComponent();
            //
            // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
            //
            //新增床位
            //
            _addNew = true;
            AddButtonToTextBox(this.btnChargeDoc, this.txtChargeDoc);
            AddButtonToTextBox(this.btnManageDoc, this.txtManageDoc);
            AddButtonToTextBox(this.btnFunNurse, this.txtFunNurse);
            AddButtonToTextBox(this.btnLinkFee, this.txtLinkFee);
            #region 初始化录入控件
            this.ClearTextBoxInfo(this.txtChargeDoc);
            this.ClearTextBoxInfo(this.txtManageDoc);
            this.ClearTextBoxInfo(this.txtFunNurse);
            this.ClearTextBoxInfo(this.txtLinkFee);
            #endregion
            _deptInfo          = deptInfo;
            _roomInfo          = roomInfo;
            _bedInfo           = new BedInfo();
            lblWardInfo.Text   = "病区:[" + roomInfo.WardName + "] 科室:[" + deptInfo.DeptName + "]";
            lblCaption.Text    = "新增病房";
            this.Text          = lblCaption.Text;
            this.txtBedNo.Text = this.GetDefaultBedNo();

            LoadWardDept(deptInfo.WardID);
        }
Esempio n. 2
0
 private void bedCardControl1_BedFormatStyleEvent(BedInfo bed, string dataPropertyName, ref Font contextFont, ref Brush contextBrush)
 {
     if (bed.PatientID % 3 == 1 && dataPropertyName == "PatientNum")
     {
         contextFont  = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
         contextBrush = new SolidBrush(Color.Red);
     }
 }
Esempio n. 3
0
        public List <BedInfo> getBedInfoList(DataConnection pclsCache, string id)
        {
            List <BedInfo> bedInfoList = new List <BedInfo>();

            CacheCommand    cmd = null;
            CacheDataReader cdr = null;

            try
            {
                if (!pclsCache.Connect())
                {
                    //MessageBox.Show("Cache数据库连接失败");
                    return(null);
                }
                cmd = new CacheCommand();
                cmd = Vs.DeckBed.GetBedInfoList(pclsCache.CacheConnectionObject);
                //cmd = Vs.MstDeckInfo.SetData(pclsCache.CacheConnectionObject);
                cmd.Parameters.Add("DeckId", CacheDbType.NVarChar).Value = id;

                cdr = cmd.ExecuteReader();
                while (cdr.Read())
                {
                    BedInfo bedInfo = new BedInfo();
                    bedInfo.DeckId        = cdr["DeckId"].ToString();
                    bedInfo.DeckSectionId = cdr["DeckSectionId"].ToString();
                    bedInfo.WardCode      = cdr["WardCode"].ToString();
                    bedInfo.RoomCode      = cdr["RoomCode"].ToString();
                    bedInfo.BedCode       = cdr["BedCode"].ToString();
                    bedInfo.Status        = Convert.ToInt32(cdr["Status"]);
                    bedInfo.PatientName   = cdr["PatientId"].ToString();
                    bedInfoList.Add(bedInfo);
                }

                return(bedInfoList);
            }
            catch (Exception ex)
            {
                HygeiaComUtility.WriteClientLog(HygeiaEnum.LogType.ErrorLog, "DeckInfoMethod.getBedInfoList", "数据库操作异常! error information : " + ex.Message + Environment.NewLine + ex.StackTrace);
                return(null);
            }
            finally
            {
                if ((cdr != null))
                {
                    cdr.Close();
                    cdr.Dispose(true);
                    cdr = null;
                }

                if ((cmd != null))
                {
                    cmd.Parameters.Clear();
                    cmd.Dispose();
                    cmd = null;
                }
                pclsCache.DisConnect();
            }
        }
        private void LoadBedDataNew()
        {
            //other
            //bedCardControl1.BedContextFields.Add(new ContextField("其 他", "other"));

            //第二步:获取病人数据,数据必须是List集合
            List <BedInfo> list = new List <BedInfo>();

            for (int i = 0; i < 20; i++)//前20病人显示信息
            {
                //支持自定义床头卡的内容显示
                BedInfo bed = new BedInfo();
                bed.BedNo       = "W" + i.ToString();
                bed.PatientID   = i + 1;
                bed.PatientNum  = "0000012" + i;
                bed.PatientName = "昂三" + i;
                if (i % 3 == 0)
                {
                    bed.Sex = "男";
                }
                else
                {
                    bed.Sex = "女";
                }
                bed.Age          = "120岁";
                bed.Diet         = "计算";
                bed.PatTypeName  = "居民医保";
                bed.Diagnosis    = "诊断是的安定和水电费水电费和、安定和水电费水电费和";
                bed.Dept         = "妇产科";
                bed.Doctor       = "李医生";
                bed.Nurse        = "王美女";
                bed.NursingLever = "3";
                bed.EnterTime    = DateTime.Now.ToString("yyyy-MM-dd hh:mm");
                bed.Situation    = (i % 5).ToString();
                bed.NursingLever = (i % 5).ToString();
                bed.DietType     = (i % 6).ToString();
                if (i > 16)
                {
                    bed.Group = true;
                }
                if (i == 15)
                {
                    bed.Step = 8;
                }
                //bed.other = "!@#$%^&";
                list.Add(bed);
            }
            //后面的显示空床位
            for (int i = 20; i < 34; i++)
            {
                BedInfo bed = new BedInfo();
                bed.BedNo = i.ToString();
                list.Add(bed);
            }
            //第三步:将病人数据绑定到数据源上显示
            bedCardControlNew1.DataSource = list;
        }
        private void LoadBedData()
        {
            //第一步:添加床头卡要显示的内容项
            bedCardControl1.BedContextFields = new List <ContextField>();
            bedCardControl1.BedContextFields.Add(new ContextField("住院号", "PatientNum"));
            bedCardControl1.BedContextFields.Add(new ContextField("结 算", "Diet"));
            //bedCardControl1.BedContextFields.Add(new ContextField("诊 断", "Diagnosis"));
            bedCardControl1.BedContextFields.Add(new ContextField("科 室", "Dept"));
            bedCardControl1.BedContextFields.Add(new ContextField("医 生", "Doctor"));
            bedCardControl1.BedContextFields.Add(new ContextField("入 科", "EnterTime"));
            //other
            //bedCardControl1.BedContextFields.Add(new ContextField("其 他", "other"));

            //第二步:获取病人数据,数据必须是List集合
            List <BedInfo> list = new List <BedInfo>();

            for (int i = 0; i < 20; i++)//前20病人显示信息
            {
                //支持自定义床头卡的内容显示
                BedInfo bed = new BedInfo();
                bed.BedNo       = i.ToString();
                bed.PatientID   = i + 1;
                bed.PatientNum  = "0000012" + i;
                bed.PatientName = "昂三" + i;
                if (i % 3 == 0)
                {
                    bed.Sex = "男";
                }
                else
                {
                    bed.Sex = "女";
                }
                bed.Age       = "11岁";
                bed.Diet      = "计算";
                bed.Diagnosis = "诊断是的安定和水电费水电费和、安定和水电费水电费和";
                bed.Dept      = "妇产科";
                bed.Doctor    = "李医生";
                bed.Nurse     = "03";
                bed.EnterTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm");
                //bed.other = "!@#$%^&";
                list.Add(bed);
            }
            //后面的显示空床位
            for (int i = 20; i < 34; i++)
            {
                BedInfo bed = new BedInfo();
                bed.BedNo = i.ToString();
                list.Add(bed);
            }
            //第三步:将病人数据绑定到数据源上显示
            bedCardControl1.DataSource = list;
        }
Esempio n. 6
0
 private void ShowBedInfo(BedInfo bedInfo)
 {
     this.txtBedNo.Tag      = bedInfo.BedID;
     this.txtBedNo.Text     = bedInfo.BedNo;
     this.txtChargeDoc.Text = bedInfo.ChargeDocName;
     this.txtChargeDoc.Tag  = bedInfo.ChargeDocID;
     this.txtManageDoc.Text = bedInfo.ManageDocName;
     this.txtManageDoc.Tag  = bedInfo.ManageDocID;
     this.txtFunNurse.Text  = bedInfo.FunNurseName;
     this.txtFunNurse.Tag   = bedInfo.FunNurseID;
     this.txtLinkFee.Text   = bedInfo.LinkFeeName.Trim();
     this.txtLinkFee.Tag    = bedInfo.LinkFeeID;
     this.chkPlus.Checked   = bedInfo.IsPlus;
 }
Esempio n. 7
0
 public void Execute
 (
     Entity entity,
     int index,
     [ReadOnly] ref Bed c0,
     [ReadOnly] ref Translation c1)
 {
     BedInfos[index] = new BedInfo
     {
         Entity      = entity,
         Pos         = c1.Value,
         SleepTime   = c0.SleepTime,
         Restoration = c0.Restoration,
     };
 }
Esempio n. 8
0
        private bool DataExists(BedInfo bedInfo)
        {
            string  sql = "";
            DataRow dr  = null;

            //判断床位号是否存在
            sql = "select bed_id from zy_beddiction where ward_id='" + bedInfo.WardID + "' and bed_no='" + bedInfo.BedNo + "'";
            dr  = InstanceForm.BDatabase.GetDataRow(sql);
            if (dr != null)
            {
                MessageBox.Show("[" + bedInfo.WardName + "] 已经有床号为[" + bedInfo.BedNo + "]的病床", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
            return(true);
        }
Esempio n. 9
0
 private void ultraButtonRefresh_Click(object sender, EventArgs e)
 {
     dsBedList = new DataSet();
     //ultraGridBedList.Rows.Refresh(Infragistics.Win.UltraWinGrid.RefreshRow.RefreshDisplay);
     try
     {
         objHospDB = new HospitalDB();
         BedInfo objBedinfo = new BedInfo(objHospDB);
         dtBedList = objBedinfo.GetAllAsDataTable();
         ultraGridBedList.DataSource = dtBedList;
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error");
     }
 }
Esempio n. 10
0
 public FrmBedEdit(BedInfo bedInfo)
 {
     //
     // Windows 窗体设计器支持所必需的
     //
     InitializeComponent();
     //
     // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
     //
     //修改床位
     //
     _addNew = false;
     AddButtonToTextBox(this.btnChargeDoc, this.txtChargeDoc);
     AddButtonToTextBox(this.btnManageDoc, this.txtManageDoc);
     AddButtonToTextBox(this.btnFunNurse, this.txtFunNurse);
     AddButtonToTextBox(this.btnLinkFee, this.txtLinkFee);
     _bedInfo = bedInfo;
     this.ShowBedInfo(bedInfo);
     lblWardInfo.Text      = "病区:[" + bedInfo.WardName + "] 科室:[" + bedInfo.DeptName + "]";
     lblCaption.Text       = "修改病房";
     this.Text             = lblCaption.Text;
     this.txtBedNo.Enabled = false;
     #region 增加房间菜单
     DataTable dtRoom = InstanceForm.BDatabase.GetDataTable("select distinct(room_no) as room_no from zy_beddiction where ward_id='" + bedInfo.WardID + "' and room_no<>'" + bedInfo.RoomNo + "' order by room_no");
     for (int i = 0; i <= dtRoom.Rows.Count - 1; i++)
     {
         MenuItem mRoom = new MenuItem();
         mRoom.Text   = dtRoom.Rows[i]["room_no"].ToString();
         mRoom.Click += new EventHandler(mRoom_Click);
         this.mnuRoom.MenuItems.Add(mRoom);
     }
     #endregion
     LoadWardDept(bedInfo.WardID);
     for (int i = 0; i <= this.cboKs.Items.Count - 1; i++)
     {
         cboKs.SelectedIndex = i;
         if (Convert.ToInt64(cboKs.SelectedValue) == bedInfo.DeptID)
         {
             break;
         }
     }
 }
Esempio n. 11
0
        private void ultraButtonDelete_Click(object sender, EventArgs e)
        {
            ultraGridBedList.Rows[this.ultraGridBedList.ActiveRow.Index].Delete(true);
            try
            {
                objHospDB = new HospitalDB();
                BedInfo    objBedInfo    = new BedInfo(objHospDB);
                BedInfoRow objBedInfoRow = new BedInfoRow();

                objBedInfoRow.BedIDD = Convert.ToInt32(id);
                objBedInfo.Delete(objBedInfoRow);
                //SqlCommand cmd = objHospDB.CreateCommand("delete from BedInfo where ID='" + this.id + "';");
                // int o = cmd.ExecuteNonQuery();
                // conn.Close();
                MessageBox.Show(":deleted");
            }catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 12
0
        /// <summary>
        /// 床头卡信息绑定
        /// </summary>
        /// <param name="dtPatient">病人信息</param>
        /// <returns>床头卡信息</returns>
        private List <BedInfo> GetBedInfo(DataTable dtPatient)
        {
            // 定义床位集合
            List <BedInfo> list = new List <BedInfo>();

            // 当前病区有床位的场合
            if (dtPatient != null && dtPatient.Rows.Count > 0)
            {
                // 循环显示床位
                for (int i = 0; i < dtPatient.Rows.Count; i++)
                {
                    BedInfo bed = new BedInfo();
                    // 床位相关数据
                    bed.BedNo        = dtPatient.Rows[i]["BedNO"].ToString();                                             // 床位号
                    bed.WardCode     = dtPatient.Rows[i]["WardID"].ToString();                                            // 病区ID
                    bed.PatientID    = Convert.ToInt32(dtPatient.Rows[i]["PatListID"].ToString());                        // 病人登记ID
                    bed.PatientNum   = dtPatient.Rows[i]["SerialNumber"].ToString();                                      // 住院流水号
                    bed.CaseNumber   = Tools.ToDecimal(dtPatient.Rows[i]["CaseNumber"].ToString());                       // 住院病案号
                    bed.PatientName  = dtPatient.Rows[i]["PatName"].ToString();                                           // 病人姓名
                    bed.Sex          = dtPatient.Rows[i]["PatSex"].ToString();                                            // 性别
                    bed.Age          = GetAge(dtPatient.Rows[i]["Age"].ToString());                                       // 年龄
                    bed.Diagnosis    = dtPatient.Rows[i]["EnterDiseaseName"].ToString();                                  // 入院诊断
                    bed.Dept         = dtPatient.Rows[i]["DeptName"].ToString();                                          // 入院科室
                    bed.DeptCode     = dtPatient.Rows[i]["PatDeptID"].ToString();                                         // 入院科室
                    bed.Doctor       = dtPatient.Rows[i]["DoctorName"].ToString();                                        // 医生
                    bed.Nurse        = dtPatient.Rows[i]["NurseName"].ToString();                                         // 护士
                    bed.EnterTime    = DateTime.Parse(dtPatient.Rows[i]["EnterHDate"].ToString()).ToString("yyyy-MM-dd"); // 入院时间
                    bed.PatTypeName  = dtPatient.Rows[i]["patTypeName"].ToString();
                    bed.NursingLever = dtPatient.Rows[i]["NursingLever"].ToString();                                      //护理级别
                    bed.DietType     = dtPatient.Rows[i]["DietType"].ToString();                                          //饮食种类
                    bed.Situation    = dtPatient.Rows[i]["OutSituation"].ToString();                                      //出院情况
                    bed.Step         = Convert.ToInt32(dtPatient.Rows[i]["IsLeaveHosOrder"]);                             //是否定义出院
                    list.Add(bed);
                }
            }

            return(list);
        }
        private void ultraButtonRegister_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.frmStrMode == "Edit")
                {
                    objHospDB = new HospitalDB();
                    BedInfo    objBedInfo    = new BedInfo(objHospDB);
                    BedInfoRow objBedInfoRow = new BedInfoRow();

                    objBedInfoRow.BedIDD     = Convert.ToInt32(classtextEditorID.Text);
                    objBedInfoRow.BedName    = ultraTextEditorBedName.Text;
                    objBedInfoRow.RatePerDay = Convert.ToInt32(classtERatePerDay.Text);
                    objBedInfoRow.BedType    = ultraComboBedType.Value.ToString();
                    objBedInfo.Update(objBedInfoRow);
                    MessageBox.Show(":updated");
                    openfrmBedList();
                }
                else
                {
                    objHospDB = new HospitalDB();
                    BedInfo    objBedInfo    = new BedInfo(objHospDB);
                    BedInfoRow objBedInfoRow = new BedInfoRow();
                    objBedInfoRow.BedName    = ultraTextEditorBedName.Text;
                    objBedInfoRow.RatePerDay = Convert.ToInt32(classtextEditorID.Text);
                    objBedInfoRow.BedType    = ultraComboBedType.Text;

                    objBedInfo.Insert(objBedInfoRow);

                    MessageBox.Show(":Registerd");
                    openfrmBedList();
                }
            }catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Esempio n. 14
0
        private bool SaveBedInfo(BedInfo _bedInfo_old)
        {
            if (!DataExists())
            {
                return(false);
            }
            try
            {
                string sql  = "";
                int    plus = this.chkPlus.Checked ? 1 : 0;
                string cznr = "";
                if (_addNew)
                {
                    //新增
                    sql  = "insert into zy_beddiction (ward_id,dept_id,room_no,bed_no,hoitem_id,zz_doc,zy_doc,chargenurse,isplus,isinuse)";
                    sql += " values('" + _bedInfo.WardID + "'," + _bedInfo.DeptID + ",'" + _bedInfo.RoomNo + "','" + _bedInfo.BedNo + "'," + _bedInfo.LinkFeeID + "," + _bedInfo.ChargeDocID + "," + _bedInfo.ManageDocID + "," + _bedInfo.FunNurseID + "," + plus + ",0)";
                    cznr = "增加: " + _bedInfo.WardName + _bedInfo.DeptName + "(" + _bedInfo.BedNo + "床) hoitem_id:" + _bedInfo.LinkFeeName + "(" + _bedInfo.LinkFeeID + ")";
                }
                else
                {
                    //更新
                    sql  = "update zy_beddiction set zz_doc=" + _bedInfo.ChargeDocID + ",zy_doc=" + _bedInfo.ManageDocID + ",chargenurse=" + _bedInfo.FunNurseID + ",hoitem_id=" + _bedInfo.LinkFeeID + ",isplus=" + plus + ",dept_id=" + _bedInfo.DeptID;
                    sql += " where bed_id='" + _bedInfo.BedID + "'";
                    cznr = "修改:原" + _bedInfo_old.WardName + _bedInfo_old.DeptName + "(" + _bedInfo_old.BedNo + "床) hoitem_id:" + _bedInfo_old.LinkFeeName + "(" + _bedInfo_old.LinkFeeID + ")  现改为" + _bedInfo.WardName + _bedInfo.DeptName + "(" + _bedInfo.BedNo + "床) hoitem_id:" + _bedInfo.LinkFeeName + "(" + _bedInfo.LinkFeeID + ")" + " 主治医生|" + _bedInfo.ChargeDocName + "|护士|" + _bedInfo.FunNurseName + "|管床医生|" + _bedInfo.ManageDocName;
                }
                InstanceForm.BDatabase.DoCommand(sql);
                SaveLog("床位保存", cznr);

                return(true);
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }
Esempio n. 15
0
        private void btnSave_Click(object sender, System.EventArgs e)
        {
            #region 重新赋值_bedInfo
            BedInfo _bedInfo_old = _bedInfo;
            _bedInfo.DeptID        = Convert.ToInt64(this.cboKs.SelectedValue);//this._deptInfo.DeptID;
            _bedInfo.BedNo         = this.txtBedNo.Text;
            _bedInfo.RoomNo        = this._roomInfo.RoomNo;
            _bedInfo.WardID        = this._roomInfo.WardID;
            _bedInfo.WardName      = this._roomInfo.WardName;
            _bedInfo.ChargeDocID   = Convert.ToInt64(this.txtChargeDoc.Tag);
            _bedInfo.ChargeDocName = this.txtChargeDoc.Text;
            _bedInfo.ManageDocID   = Convert.ToInt64(this.txtManageDoc.Tag);
            _bedInfo.ManageDocName = this.txtManageDoc.Text;
            _bedInfo.FunNurseID    = Convert.ToInt64(this.txtFunNurse.Tag);
            _bedInfo.FunNurseName  = this.txtFunNurse.Text;

            SystemCfg cfg = new SystemCfg(7601);
            if (cfg != null && cfg.Config != null && cfg.Config.ToString().Trim() == "1")
            {
                if (this.txtLinkFee.Tag == null || string.Empty == this.txtLinkFee.Text.Trim())
                {
                    MessageBox.Show("床位费不能为空,请录入床位费!");
                    txtLinkFee.Focus();
                    return;
                }
            }
            _bedInfo.LinkFeeID   = Convert.ToInt64(this.txtLinkFee.Tag);
            _bedInfo.LinkFeeName = this.txtLinkFee.Text;
            _bedInfo.IsPlus      = this.chkPlus.Checked;
            #endregion
            if (this.SaveBedInfo(_bedInfo_old))
            {
                this._operateCancel = false;
                this.Close();
            }
        }
Esempio n. 16
0
        private void btnSave_Click(object sender, System.EventArgs e)
        {
            SystemCfg cfg   = new SystemCfg(7601);
            bool      sfbt  = cfg != null && cfg.Config != null && cfg.Config.ToString().Trim() == "1" ? true : false;
            string    bedNo = "";
            int       count = ((DataTable)dtgrdBed.DataSource).Rows.Count;

            try
            {
                string strCws       = string.Format("select CWS from jc_dept_property where DEPT_ID='{0}'", _deptInfo.DeptID);
                string strUnPlusCws = string.Format("select count(1) as Num from zy_beddiction where dept_id='{0}' and ISPLUS=0", _deptInfo.DeptID);

                int iCws     = int.Parse(InstanceForm.BDatabase.GetDataResult(strCws).ToString());
                int iNonPlus = int.Parse(InstanceForm.BDatabase.GetDataResult(strUnPlusCws).ToString());

                if (iCws != 0)
                {
                    int myNonPlusCw = 0;
                    for (int i = 0; i <= count - 1; i++)
                    {
                        DataTable dtCw = dtgrdBed.DataSource as DataTable;
                        if (Convert.ToInt32(dtCw.Rows[i]["plus"]) == 0)
                        {
                            ++myNonPlusCw;
                        }
                    }

                    if (iCws < iNonPlus + myNonPlusCw)
                    {
                        MessageBox.Show("本次添加床位已大于该科室编制床位数:" + iCws + ",请添加加床!", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }
            }
            catch { }

            for (int i = 0; i <= count - 1; i++)
            {
                bedNo = ((DataTable)dtgrdBed.DataSource).Rows[i]["bed_no"].ToString().Trim();
                DataRow[] drs = ((DataTable)dtgrdBed.DataSource).Select("bed_no='" + bedNo + "'");
                if (drs.Length > 1)
                {
                    MessageBox.Show("床位号" + bedNo + "有重复!", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                if (sfbt) //床位费为必填项
                {
                    object hoitem = ((DataTable)dtgrdBed.DataSource).Rows[i]["hoitem_id"];
                    if (hoitem == null || hoitem.ToString().Trim() == string.Empty || Convert.ToInt64(hoitem) <= 0) //Modify By Tany 2015-04-20 增加<=0的判断
                    {
                        MessageBox.Show("床位费不能为空,请录入床位费!");
                        return;
                    }
                }
            }

            for (int i = 0; i <= count - 1; i++)
            {
                bedNo = ((DataTable)dtgrdBed.DataSource).Rows[i]["bed_no"].ToString().Trim();
                int sel = Convert.ToInt32(((DataTable)dtgrdBed.DataSource).Rows[dtgrdBed.CurrentRowIndex]["plus"]);
                if (bedNo != "")
                {
                    #region GetData
                    string zz_doc_name = ((DataTable)dtgrdBed.DataSource).Rows[i]["zz_doc_name"].ToString();
                    long   zz_doc      = -1;
                    if (!Convert.IsDBNull(((DataTable)dtgrdBed.DataSource).Rows[i]["zz_doc"]))
                    {
                        if (((DataTable)dtgrdBed.DataSource).Rows[i]["zz_doc"].ToString() != "")
                        {
                            zz_doc = Convert.ToInt64(((DataTable)dtgrdBed.DataSource).Rows[i]["zz_doc"]);
                        }
                    }

                    string zy_doc_name = ((DataTable)dtgrdBed.DataSource).Rows[i]["zy_doc_name"].ToString();
                    long   zy_doc      = -1;
                    if (!Convert.IsDBNull(((DataTable)dtgrdBed.DataSource).Rows[i]["zy_doc"]))
                    {
                        if (((DataTable)dtgrdBed.DataSource).Rows[i]["zy_doc"].ToString() != "")
                        {
                            zy_doc = Convert.ToInt64(((DataTable)dtgrdBed.DataSource).Rows[i]["zy_doc"]);
                        }
                    }

                    string nurse_name   = ((DataTable)dtgrdBed.DataSource).Rows[i]["nurse_name"].ToString();
                    long   charge_nurse = -1;
                    if (!Convert.IsDBNull(((DataTable)dtgrdBed.DataSource).Rows[i]["charge_nurse"]))
                    {
                        if (((DataTable)dtgrdBed.DataSource).Rows[i]["charge_nurse"].ToString() != "")
                        {
                            charge_nurse = Convert.ToInt64(((DataTable)dtgrdBed.DataSource).Rows[i]["charge_nurse"]);
                        }
                    }

                    string hoitem_name = ((DataTable)dtgrdBed.DataSource).Rows[i]["hoitem_name"].ToString();
                    long   hoitem_id   = -1;

                    if (!Convert.IsDBNull(((DataTable)dtgrdBed.DataSource).Rows[i]["hoitem_id"]))
                    {
                        if (((DataTable)dtgrdBed.DataSource).Rows[i]["hoitem_id"].ToString() != "")
                        {
                            hoitem_id = Convert.ToInt64(((DataTable)dtgrdBed.DataSource).Rows[i]["hoitem_id"]);
                        }
                    }
                    #endregion

                    if (bedNo.Trim() != "")
                    {
                        #region InitBed
                        BedInfo bedInfo = new BedInfo();
                        bedInfo.WardID        = _deptInfo.WardID;
                        bedInfo.WardName      = _deptInfo.WardName;
                        bedInfo.DeptID        = _deptInfo.DeptID;
                        bedInfo.DeptName      = _deptInfo.DeptName;
                        bedInfo.RoomNo        = _roomInfo.RoomNo;
                        bedInfo.BedNo         = bedNo;
                        bedInfo.ChargeDocID   = zz_doc;
                        bedInfo.ChargeDocName = zz_doc_name;
                        bedInfo.ManageDocID   = zy_doc;
                        bedInfo.ManageDocName = zy_doc_name;
                        bedInfo.FunNurseID    = charge_nurse;
                        bedInfo.FunNurseName  = nurse_name;
                        bedInfo.LinkFeeID     = hoitem_id;
                        bedInfo.LinkFeeName   = hoitem_name;
                        bedInfo.IsInuse       = false;
                        bedInfo.IsPlus        = false;
                        int plus = sel;
                        #endregion
                        if (DataExists(bedInfo))
                        {
                            int    _jgbm = Convert.ToInt32(InstanceForm.BDatabase.GetDataResult("select jgbm from jc_DEpt_property where dept_id = " + bedInfo.DeptID.ToString()));
                            string sql   = "insert into zy_beddiction (bed_id,ward_id,dept_id,room_no,bed_no,hoitem_id,zz_doc,zy_doc,chargenurse,isplus,isinuse,pxxh,jgbm)";
                            sql += " values(DBO.FUN_GETGUID(NEWID(),GETDATE()),'" + bedInfo.WardID + "'," + bedInfo.DeptID + ",'" + bedInfo.RoomNo + "','" + bedInfo.BedNo + "'," + bedInfo.LinkFeeID + "," + bedInfo.ChargeDocID + "," + bedInfo.ManageDocID + "," + bedInfo.FunNurseID + "," + plus + ",0,0," + _jgbm + ")";
                            InstanceForm.BDatabase.DoCommand(sql);
                        }
                        else
                        {
                            return;
                        }
                    }
                }
            }
            MessageBox.Show("操作成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            this.Close();
        }
Esempio n. 17
0
        /// <summary>
        /// 绑定床位列表
        /// </summary>
        /// <param name="bedListDt">床位列表</param>
        public void Bind_BedList(DataTable bedListDt)
        {
            // 定义床位集合
            List <BedInfo> list = new List <BedInfo>();

            // 当前病区有床位的场合
            if (bedListDt != null && bedListDt.Rows.Count > 0)
            {
                // 循环显示床位
                for (int i = 0; i < bedListDt.Rows.Count; i++)
                {
                    BedInfo bed = new BedInfo();
                    // 床位相关数据
                    bed.BedNo    = bedListDt.Rows[i]["BedNO"].ToString();  // 床位号
                    bed.WardCode = bedListDt.Rows[i]["WardID"].ToString(); // 病区ID

                    // 病人住院信息相关数据
                    if (Convert.ToInt32(bedListDt.Rows[i]["PatListID"].ToString()) > 0)
                    {
                        bed.PatientID    = Convert.ToInt32(bedListDt.Rows[i]["PatListID"].ToString());                              // 病人登记ID
                        bed.PatientNum   = bedListDt.Rows[i]["SerialNumber"].ToString();                                            // 住院流水号
                        bed.CaseNumber   = Tools.ToDecimal(bedListDt.Rows[i]["CaseNumber"]);                                        // 住院流水号
                        bed.PatientName  = bedListDt.Rows[i]["PatName"].ToString();                                                 // 病人姓名
                        bed.Sex          = bedListDt.Rows[i]["PatSex"].ToString();                                                  // 性别
                        bed.Age          = GetAge(bedListDt.Rows[i]["Age"].ToString());                                             // 年龄
                        bed.Diagnosis    = bedListDt.Rows[i]["EnterDiseaseName"].ToString();                                        // 入院诊断
                        bed.Dept         = bedListDt.Rows[i]["DeptName"].ToString();                                                // 入院科室
                        bed.DeptCode     = bedListDt.Rows[i]["PatDeptID"].ToString();                                               // 入院科室
                        bed.Doctor       = bedListDt.Rows[i]["DoctorName"].ToString();                                              // 医生
                        bed.Nurse        = bedListDt.Rows[i]["NurseName"].ToString();                                               // 护士
                        bed.EnterTime    = DateTime.Parse(bedListDt.Rows[i]["EnterHDate"].ToString()).ToString("yyyy-MM-dd HH:mm"); // 入院时间
                        bed.Situation    = bedListDt.Rows[i]["OutSituation"].ToString();                                            // 病人情况
                        bed.Step         = Convert.ToInt32(bedListDt.Rows[i]["IsLeaveHosOrder"].ToString());                        // 是否出院医嘱
                        bed.DietType     = bedListDt.Rows[i]["DietType"].ToString();                                                // 饮食级别
                        bed.NursingLever = bedListDt.Rows[i]["NursingLever"].ToString();                                            // 护理级别
                        bed.PatTypeName  = bedListDt.Rows[i]["PatTypeName"].ToString();                                             // 病人类型
                        bed.Group        = bedListDt.Rows[i]["IsPack"].ToString().Trim() == "1";
                    }

                    list.Add(bed);
                }
            }

            bedCardControl1.DataSource = list;
            StatisticalBedCount();

            if (sumBedCount > 0)
            {
                decimal occupancyRate = 0;

                if (occupyBedCount > 0)
                {
                    decimal tempOccupancyRate = ((occupyBedCount / sumBedCount) * 100);
                    occupancyRate = Math.Round(tempOccupancyRate, 2);
                }

                lblBedStatistical.Text = string.Format(
                    "        总床位数:{0}    占用床位:{1}    占床比例:{2}%   可用床位:{3}",
                    sumBedCount,
                    occupyBedCount,
                    occupancyRate,
                    sumBedCount - occupyBedCount);
            }
            else
            {
                lblBedStatistical.Text = string.Format(
                    "        总床位数:{0}    占用床位:{1}    占床比例:{2}%   可用床位:{3}",
                    0,
                    0,
                    0,
                    0);
            }
        }