Example #1
0
 /// <summary>
 /// 格式化参数:更新和插入时调用
 /// </summary>
 /// <param name="objBed"></param>
 /// <returns></returns>
 private string[] myGetParm(Neusoft.HISFC.Models.Base.Bed objBed)
 {
     string[] strParm = { objBed.ID,                                                               //0 床号
                          objBed.NurseStation.ID,                                                  //1 护理站编码
                          objBed.BedGrade.ID,                                                      //2 床位等级编码
                          objBed.BedRankEnumService.ID.ToString(),                                 //3 床位编制编码
                          objBed.Status.ID.ToString(),                                             //4 床位状态编码
                          Neusoft.FrameWork.Function.NConvert.ToInt32(objBed.IsValid).ToString(),  //5 是否有效
                          objBed.SickRoom.ID,                                                      //6 房号
                          objBed.Doctor.ID,                                                        //7 医生编码
                          objBed.Phone,                                                            //8 电话
                          objBed.OwnerPc,                                                          //9 归属
                          objBed.SortID.ToString(),                                                //10序号
                          this.Operator.ID,                                                        //11操作员
                          objBed.InpatientNO,                                                      //12患者住院号
                          Neusoft.FrameWork.Function.NConvert.ToInt32(objBed.IsPrepay).ToString(), //13是否预约
                          objBed.PrepayOutdate.ToString(),                                         //14预约日期
                          objBed.AdmittingDoctor.ID,                                               //住院医生
                          objBed.AttendingDoctor.ID,                                               //主治医生
                          objBed.ConsultingDoctor.ID,                                              //主任医生
                          objBed.AdmittingNurse.ID,                                                //责任护士
                          objBed.TendGroup,                                                        //护理组
                                                                                                   //{4A0E8D9F-2FF5-4fc5-A050-8AA719E4D302}
                          objBed.Status.User03 == string.Empty?"ALL":objBed.Status.User03 };
     return(strParm);
 }
        private void cmbBedNo_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            if (this.cmbBedNo.Tag == null || this.cmbBedNo.Tag.ToString() == "")
            {
                return;
            }
            if (this.arrivetype == ArriveType.Regedit)
            {
                Neusoft.HISFC.Models.Base.Bed obj = manager.GetBed(this.cmbBedNo.Tag.ToString());
                if (obj == null)
                {
                    return;
                }
                //this.cmbDoc.Tag = obj.Doctor.ID;					//住院医生
                //this.cmbAttendingDoc.Tag = obj.AttendingDoctor.ID;	//主治医生
                //this.cmbConsultingDoc.Tag = obj.ConsultingDoctor.ID;//主任医生
                //this.cmbAdmittingNur.Tag = obj.AdmittingNurse.ID;	//责任护士
                //this.cmbDirector.Tag = obj.AttendingDoctor.ID;//科主任

                #region {52158BBD-8AAF-4048-9C51-2BB6AF9F6F81}
                this.cmbDoc.Tag           = this.patientInfo.PVisit.AdmittingDoctor.ID;   //住院医生
                this.cmbAttendingDoc.Tag  = this.patientInfo.PVisit.AttendingDoctor.ID;   //主治医生
                this.cmbConsultingDoc.Tag = this.patientInfo.PVisit.ConsultingDoctor.ID;  //主任医生
                this.cmbAdmittingNur.Tag  = this.patientInfo.PVisit.AdmittingNurse.ID;    //责任护士
                this.cmbDirector.Tag      = this.patientInfo.PVisit.AttendingDirector.ID; //科主任
                #endregion
            }
        }
Example #3
0
        /// <summary>
        /// 清屏
        /// </summary>
        private void ClearInfo()
        {
            //清空床位信息
            this.myBed = null;
            this.cmbStatus.AddItems(Neusoft.HISFC.Models.Base.BedStatusEnumService.UnoccupiedList());
            this.cmbStatus.Enabled   = true;
            this.txtBedNo.Enabled    = false;
            this.dtOutDate.Enabled   = false;
            this.cmbIsprepay.Enabled = false;
            this.btnDelete.Enabled   = true;

            this.txtBedNo.Text          = "";
            this.txtBedNo.Tag           = "";
            this.txtOwnPc.Text          = "";
            this.txtPhone.Text          = "";
            this.txtSortId.Text         = "";
            this.txtWardNo.Text         = "";
            this.cmbGrade.SelectedIndex = 0;
            this.cmbWeave.Tag           = "A";
            //this.cmbWeave.SelectedIndex = 0;
            this.cmbStatus.Tag           = "U";
            this.cmbIsValid.Tag          = "True";
            this.dtOutDate.Text          = "";
            this.cmbIsprepay.Tag         = "False";
            this.cmbAdmittingDoctor.Tag  = "";
            this.cmbAttendingDoctor.Tag  = "";
            this.cmbConsultingDoctor.Tag = "";
            this.cmbAdmittingNurse.Tag   = "";
            this.cmbBedDoctor.Tag        = "";
        }
Example #4
0
        /// <summary>
        /// 取控件中维护的床位信息
        /// </summary>
        /// <returns></returns>
        private Neusoft.HISFC.Models.Base.Bed GetBedInfo()
        {
            //如果是新增床位,则取床号信息
            if (this.myBed == null)
            {
                this.myBed             = new Neusoft.HISFC.Models.Base.Bed();
                this.myBed.ID          = this.txtBedNo.Text;
                this.myBed.InpatientNO = "N";
            }

            this.myBed.OwnerPc     = this.txtOwnPc.Text;                                                //归属
            this.myBed.Phone       = this.txtPhone.Text;                                                //电话
            this.myBed.SortID      = Neusoft.FrameWork.Function.NConvert.ToInt32(this.txtSortId.Text);  //序号(不用了)
            this.myBed.SickRoom.ID = this.txtWardNo.Text;                                               //房号
            //this.myBed.Doctor.ID = this.cmbAdmittingDoctor.Tag.ToString();			//医生姓名
            this.myBed.BedGrade.ID           = this.cmbGrade.Tag.ToString();                            //床位等级编码
            this.myBed.BedRankEnumService.ID = this.cmbWeave.Tag.ToString();                            //床位编制编码
            this.myBed.Status.ID             = this.cmbStatus.Tag.ToString();                           //床位状态编码
            //是否有效:0有效,1无效---跟实际正好相反
            this.myBed.IsValid             = Neusoft.FrameWork.Function.NConvert.ToBoolean(this.cmbIsValid.Tag.ToString());
            this.myBed.IsPrepay            = Neusoft.FrameWork.Function.NConvert.ToBoolean(this.cmbIsprepay.Tag.ToString()); //是否有效
            this.myBed.NurseStation.ID     = this.nurseCell.ID;                                                              //护理站编码
            this.myBed.PrepayOutdate       = this.dtOutDate.Value;                                                           //预约出院时间
            this.myBed.AdmittingDoctor.ID  = this.cmbAdmittingDoctor.Tag.ToString();                                         //住院医生
            this.myBed.AttendingDoctor.ID  = this.cmbAttendingDoctor.Tag.ToString();                                         //住院医生
            this.myBed.ConsultingDoctor.ID = this.cmbConsultingDoctor.Tag.ToString();                                        //住院医生
            this.myBed.AdmittingNurse.ID   = this.cmbAdmittingNurse.Tag.ToString();                                          //住院医生
            this.myBed.TendGroup           = this.txtTendGroup.Text;                                                         //护理组
            this.myBed.Doctor.ID           = this.cmbBedDoctor.Tag.ToString();                                               //床位医生
            //返回床位信息
            return(this.myBed);
        }
        public void GetBedInfo()
        {
            if (BedInfo == null)
            {
                BedInfo = new Neusoft.HISFC.Models.Base.Bed();
            }
            if (txtBedNo.Tag != null)
            {
                BedInfo.InpatientNO = txtBedNo.Tag.ToString();
            }
            if (BedInfo.InpatientNO == "" || BedInfo.InpatientNO == null)
            {
                BedInfo.InpatientNO = "N";
            }
            BedInfo.NurseStation.ID = cmbNurse.Tag.ToString();                //»¤Ê¿Õ¾±àºÅ

            BedInfo.SickRoom.ID = this.txtWardNo.Text.Trim();                 //²¡ÇøºÅ

            BedInfo.ID                    = txtBedNo.Text.Trim();             //²¡´²ºÅ
            BedInfo.BedGrade.ID           = this.cmdBedGrade.Tag.ToString();  //²¡´²µÈ¼¶
            BedInfo.Status.ID             = this.cmbBedStatus.Tag.ToString(); //²¡´²×´Ì¬
            BedInfo.BedRankEnumService.ID = this.cmbBedWeave.Tag.ToString();  //²¡´²±àÖÆ
            BedInfo.Phone                 = txtPhone.Text.Trim();             //µç»°
            BedInfo.SortID                = int.Parse(this.txtSort.Text);     //˳ÐòºÅ
            BedInfo.OwnerPc               = this.txtOwn.Text.Trim();          //¹éÊô
            BedInfo.IsValid               = true;                             //ĬÈÏ´²Î»×´Ì¬¶¼ÎªÓÐЧ
        }
        /// <summary>
        /// 根据病区查找空位病床
        /// </summary>
        /// <param name="nurseCellId"></param>
        protected virtual void GetBedByDeptCode(Neusoft.FrameWork.Models.NeuObject deptObj)
        {
            ArrayList alNurseCell = mamagerInteger.QueryNurseStationByDept(deptObj);
            ArrayList alBed       = new ArrayList();

            foreach (NeuObject obj in alNurseCell)
            {
                ArrayList temp = mamagerInteger.QueryUnoccupiedBed(obj.ID);
                if (temp != null && temp.Count > 0)
                {
                    alBed.AddRange(temp);
                }
            }
            lvBed.Items.Clear();
            if (alBed != null)
            {
                ListViewItem lvi;
                for (int i = 0; i < alBed.Count; i++)
                {
                    bed      = alBed[i] as Neusoft.HISFC.Models.Base.Bed;
                    lvi      = new ListViewItem();
                    lvi.Text = bed.ID.Length > 4 ? bed.ID.Substring(4) : "";
                    lvi.SubItems.Add(new ListViewItem.ListViewSubItem(lvi, bed.Sex.Name));
                    lvi.SubItems.Add(new ListViewItem.ListViewSubItem(lvi, bed.BedGrade.Name));
                    lvi.SubItems.Add(new ListViewItem.ListViewSubItem(lvi, bed.SickRoom.ID));
                    lvi.SubItems.Add(new ListViewItem.ListViewSubItem(lvi, bed.IsValid ? "是" : "否"));
                    lvi.Tag = bed;
                    this.lvBed.Items.Add(lvi);
                }
            }
        }
Example #7
0
 public void SetBedInfo(Neusoft.HISFC.Models.Base.Bed bedInfo)
 {
     if (bedInfo != null)
     {
         this.cmbNurse.Tag      = bedInfo.NurseStation.ID;                  //»¤Ê¿Õ¾±àºÅ
         this.txtWardNo.Text    = bedInfo.SickRoom.ID;                      //²¡ÇøºÅ
         this.txtBedNo.Text     = bedInfo.ID;                               //²¡´²ºÅ
         this.cmdBedGrade.Tag   = bedInfo.BedGrade.ID.ToString();           //²¡´²µÈ¼¶
         this.cmdBedGrade.Text  = bedInfo.BedGrade.Name;
         this.cmbBedStatus.Tag  = bedInfo.Status.ID.ToString();             //²¡´²×´Ì¬
         this.cmbBedStatus.Text = bedInfo.Status.Name;
         this.cmbBedWeave.Tag   = bedInfo.BedRankEnumService.ID.ToString(); //²¡´²±àÖÆ
         this.cmbBedWeave.Text  = bedInfo.BedRankEnumService.Name;
         this.txtPhone.Text     = bedInfo.Phone;                            //µç»°
         this.txtSort.Text      = bedInfo.SortID.ToString();                //˳ÐòºÅ
         this.txtOwn.Text       = bedInfo.OwnerPc.Trim();                   //¹éÊô
         if (isUpdate)
         {
             if (bedInfo.Status.ID.ToString() == "O" ||
                 bedInfo.Status.ID.ToString() == "R" ||
                 bedInfo.Status.ID.ToString() == "W") //Õ¼Óô²Î»²»ÄÜÐÞ¸Ä״̬
             {
                 this.cmbBedStatus.Enabled = true;
             }
         }
     }
 }
        /// <summary>
        /// 保存
        /// </summary>
        /// <returns></returns>
        protected virtual int Save()
        {
            if (patient == null)
            {
                MessageBox.Show("请选择患者!", "提示");
                return(-1);
            }

            #region 获得患者所在位置
            Neusoft.HISFC.Models.RADT.Location newlocation = new Neusoft.HISFC.Models.RADT.Location();
            newdeptObj            = this.lblDept.Tag as NeuObject;
            newlocation.Dept.ID   = newdeptObj.ID;
            newlocation.Dept.Name = newdeptObj.Name;
            bed                   = this.lblBed.Tag as Neusoft.HISFC.Models.Base.Bed;
            newlocation.Bed       = bed;
            newlocation.NurseCell = bed.NurseStation;
            #endregion

            //Neusoft.FrameWork.Management.Transaction tran = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance);
            Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();
            radtInteger.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);
            mamagerInteger.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);

            int resultValue = radtInteger.ChangeDept(patient, newlocation);
            if (resultValue < 0)
            {
                Neusoft.FrameWork.Management.PublicTrans.RollBack();
                MessageBox.Show(this.radtInteger.Err);
                return(-1);
            }
            Neusoft.FrameWork.Management.PublicTrans.Commit();
            if (isFresh)
            {
                deptObj = this.txtdept.Tag as NeuObject;
                RefreshListPatient(deptObj);
            }
            GetBedByDeptCode(newdeptObj);


            #region addby xuewj 2010-3-15

            Neusoft.HISFC.Models.RADT.PatientInfo p = patient.Clone();
            p.PVisit.PatientLocation = newlocation;

            if (this.adt == null)
            {
                this.adt = Neusoft.FrameWork.WinForms.Classes.UtilInterface.CreateObject(this.GetType(), typeof(Neusoft.HISFC.BizProcess.Interface.IHE.IADT)) as Neusoft.HISFC.BizProcess.Interface.IHE.IADT;
            }
            if (this.adt != null)
            {
                adt.TransferPatient(p);
            }

            #endregion

            MessageBox.Show("转科、床成功!", "提示");
            this.cmbDept.Tag = newdeptObj.ID;
            return(1);
        }
Example #9
0
        /// <summary>
        /// 显示床位列表
        /// </summary>
        public void ShowBedList()
        {
            //清屏
            this.ClearInfo();

            //取床位信息
            ArrayList al = this.manager.QueryBedList(this.nurseCell.ID);

            if (al == null)
            {
                MessageBox.Show(this.manager.Err, "提示");
                return;
            }

            //显示数据总行数
            this.fpSpread1_Sheet1.RowCount = al.Count;

            //逐行显示数据
            Neusoft.HISFC.Models.Base.Bed bed = null;
            this.patientnum = 0; //用于计算占用床位数
            for (int i = 0; i < al.Count; i++)
            {
                bed = al[i] as Neusoft.HISFC.Models.Base.Bed;
                if (bed == null)
                {
                    return;
                }
                //赋值
                this.fpSpread1_Sheet1.Cells[i, 0].Value  = bed.ID.Substring(4);                                        //床号
                this.fpSpread1_Sheet1.Cells[i, 1].Value  = bed.TendGroup;                                              //护理组
                this.fpSpread1_Sheet1.Cells[i, 2].Value  = bed.BedGrade.Name;                                          //床位等级
                this.fpSpread1_Sheet1.Cells[i, 3].Value  = bed.User03;                                                 //床位费
                this.fpSpread1_Sheet1.Cells[i, 4].Value  = bed.BedRankEnumService.Name;                                //床位编制
                this.fpSpread1_Sheet1.Cells[i, 5].Value  = bed.Status.Name;                                            //床位状态
                this.fpSpread1_Sheet1.Cells[i, 6].Value  = bed.InpatientNO == "N" ? "" : bed.InpatientNO.Substring(4); //住院号
                this.fpSpread1_Sheet1.Cells[i, 7].Value  = bed.Phone;                                                  //床位电话
                this.fpSpread1_Sheet1.Cells[i, 8].Value  = bed.OwnerPc;                                                //归属
                this.fpSpread1_Sheet1.Cells[i, 9].Value  = bed.IsValid;                                                //是否停用
                this.fpSpread1_Sheet1.Cells[i, 10].Value = bed.IsPrepay;                                               //是否预约
                this.fpSpread1_Sheet1.Rows[i].Tag        = bed;
                //计算床位占用数(占用,挂床,包床)
                if (bed.Status.ID.ToString() == "O" || bed.Status.ID.ToString() == "H" || bed.Status.ID.ToString() == "W")
                {
                    this.patientnum++;
                }
            }

            decimal rate = Neusoft.FrameWork.Public.String.FormatNumber(this.patientnum / Neusoft.FrameWork.Function.NConvert.ToDecimal(al.Count) * 100, 2);

            this.txtshow.Text = "占用床数:" + patientnum.ToString() + "   病床总数:" + al.Count.ToString() + "   占用率:" + rate.ToString() + "%";

            //选中第一行
            if (this.fpSpread1_Sheet1.RowCount > 0)
            {
                this.fpSpread1_Sheet1.ActiveRowIndex = 0;
            }
            this.fpSpread1.Focus();
        }
        /// <summary>
        /// 保存设置
        /// </summary>
        public virtual int Save()
        {
            //取婴儿接珍时的信息信息
            //Neusoft.HISFC.Models.RADT.PatientInfo PatientInfo = null;

            //取患者最新的住院主表信息
            //PatientInfo = this.Inpatient.QueryPatientInfoByInpatientNO(this.patientInfo.ID);
            if (this.patientInfo == null)
            {
                MessageBox.Show("请选择住院患者");
                return(-1);
            }

            //取变动信息:取医生、护士、科室等信息
            //this.GetPatientInfo(PatientInfo);

            //判断是否已选择床位
            if (this.cmbBedNo.Text.Trim() == "" &&
                patientInfo.IsBaby == false)
            {
                MessageBox.Show("未选择床位!");
                return(-1);
            }

            //取处理时的床位信息
            Neusoft.HISFC.Models.Base.Bed bed = new Neusoft.HISFC.Models.Base.Bed();
            bed.ID          = this.cmbBedNo.Tag.ToString(); //床号
            bed.InpatientNO = patientInfo.ID;               //床位上患者住院流水号


            #region 业务处理
            Neusoft.HISFC.BizProcess.Integrate.RADT managerRADT = new Neusoft.HISFC.BizProcess.Integrate.RADT();

            Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();

            //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance);
            //t.BeginTransaction();

            managerRADT.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);
            if (managerRADT.CallBack(patientInfo, bed) == -1)//调用召回业务
            {
                Neusoft.FrameWork.Management.PublicTrans.RollBack();
                MessageBox.Show(managerRADT.Err);
                return(-1);
            }
            else
            {
            }
            #endregion

            Neusoft.FrameWork.Management.PublicTrans.Commit();
            MessageBox.Show(managerRADT.Err);
            this.Refresh();
            this.ClearPatintInfo();
            return(1);
        }
Example #11
0
        /// <summary>
        /// 将传入的数组中的数据保存在myDataSet中
        /// </summary>
        /// <param name="arrBed">床位信息</param>
        public void dataSet_Init(ArrayList arrBed)
        {
            DataSet dts = new DataSet();

            dts.EnforceConstraints = true;            //是否遵循约束规则
            this.fpSpread1_Sheet1.OperationMode = FarPoint.Win.Spread.OperationMode.SingleSelect;

            //定义表并增加到myDataSet中
            DataTable myDataTable = dts.Tables.Add();

            //清空当前myDataSet中的所有列
            myDataTable.Columns.Clear();
            myDataTable.Columns.AddRange
                (new System.Data.DataColumn[]
            {
                new System.Data.DataColumn("护士站号", Type.GetType("System.String")),                                //0
                new System.Data.DataColumn("病房号", Type.GetType("System.String")),                                 //1
                new System.Data.DataColumn("床号", Type.GetType("System.String")),                                  //2
                new System.Data.DataColumn("床位等级", Type.GetType("System.String")),                                //3
                new System.Data.DataColumn("床位状态", Type.GetType("System.String")),                                //4
                new System.Data.DataColumn("床位编制", Type.GetType("System.String")),                                //5
                new System.Data.DataColumn("病床电话", Type.GetType("System.String")),                                //6
                new System.Data.DataColumn("归属", Type.GetType("System.String")),                                  //7
                new System.Data.DataColumn("费用", Type.GetType("System.String")),                                  //8
                new System.Data.DataColumn("顺序号", Type.GetType("System.String")),                                 //9
                new System.Data.DataColumn("Levelid", Type.GetType("System.String")),                             //10
                new System.Data.DataColumn("Stateid", Type.GetType("System.String")),                             //11
                new System.Data.DataColumn("Weaveid", Type.GetType("System.String")),                             //12
                new System.Data.DataColumn("住院号", Type.GetType("System.String"))
            }
                );

            DataRow dr;

            Neusoft.HISFC.Models.Base.Bed oEBed = new Neusoft.HISFC.Models.Base.Bed();;
            if (arrBed != null)
            {
                //循环插入基本信息
                for (int i = 0; i < arrBed.Count; i++)
                {
                    oEBed = (Neusoft.HISFC.Models.Base.Bed)arrBed[i];
                    dr    = myDataTable.NewRow();
                    this.SetRow(dr, oEBed);
                    myDataTable.Rows.Add(dr);
                }
            }

            //将与DataView绑定
            this.fpSpread1_Sheet1.DataSource = dts.Tables[0].DefaultView;
            InitSpread();
        }
Example #12
0
        /// <summary>
        /// 保存床位信息--先执行更新操作,如果没有找到可以更新的数据,则插入一条新记录
        /// </summary>
        /// <param name="objBed">床位信息实体</param>
        /// <returns>0未更新,大于1成功,-1失败</returns>
        public int SetBedInfo(Neusoft.HISFC.Models.Base.Bed objBed)
        {
            int parm;

            //执行更新操作
            parm = this.UpdateBedInfo(objBed);

            //如果没有找到可以更新的数据,则插入一条新记录
            if (parm == 0)
            {
                parm = this.CreatBedInfo(objBed);
            }

            return(parm);
        }
Example #13
0
        public int Compare(object x, object y)
        {
            if (x == null)
            {
                return(y == null ? 0 : 1);
            }
            else if (y == null)
            {
                return(-1);
            }
            Neusoft.HISFC.Models.Base.Bed sX = x as Neusoft.HISFC.Models.Base.Bed;
            Neusoft.HISFC.Models.Base.Bed sY = y as Neusoft.HISFC.Models.Base.Bed;

            return(string.Compare(sX.ID, sY.ID));
        }
 private void cmbBedNo_SelectedIndexChanged_1(object sender, EventArgs e)
 {
     if (this.cmbBedNo.Tag == null || this.cmbBedNo.Tag.ToString() == "")
     {
         return;
     }
     Neusoft.HISFC.Models.Base.Bed obj = deptManager.GetBed(this.cmbBedNo.Tag.ToString());
     if (obj == null)
     {
         return;
     }
     this.cmbDoc.Tag           = obj.Doctor.ID;              //住院医生
     this.cmbAttendingDoc.Tag  = obj.AttendingDoctor.ID;     //主治医生
     this.cmbConsultingDoc.Tag = obj.ConsultingDoctor.ID;    //主任医生
     this.cmbAdmittingNur.Tag  = obj.AdmittingNurse.ID;      //责任护士
 }
Example #15
0
        /// <summary>
        /// 取床位信息--私有方法
        /// </summary>
        /// <returns>床位数组,错误返回null</returns>
        private ArrayList myGetBedList()
        {
            ArrayList al = new ArrayList();

            Neusoft.HISFC.Models.Base.Bed obj = null;
            while (this.Reader.Read())
            {
                obj = new Neusoft.HISFC.Models.Base.Bed();
                try {
                    obj.ID                    = this.Reader[0].ToString();                                                  //床位编码
                    obj.Name                  = obj.ID.Substring(4);                                                        //去掉后四位做为床位名称
                    obj.NurseStation.ID       = this.Reader[1].ToString();                                                  //护理站
                    obj.BedGrade.ID           = this.Reader[2].ToString();                                                  //床位登记
                    obj.BedRankEnumService.ID = this.Reader[3].ToString();                                                  //床位编制
                    obj.Status.ID             = this.Reader[4].ToString();                                                  //床位状态
                    obj.SickRoom.ID           = this.Reader[5].ToString();                                                  //房号
                    obj.Doctor.ID             = this.Reader[6].ToString();                                                  //床位医生
                    obj.Phone                 = this.Reader[7].ToString();                                                  //床位电话
                    obj.OwnerPc               = this.Reader[8].ToString();                                                  //归属
                    obj.InpatientNO           = this.Reader[9].ToString();                                                  //患者住院流水号
                    obj.PrepayOutdate         = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.Reader[10].ToString()); //预约出院日期
                    obj.IsValid               = Neusoft.FrameWork.Function.NConvert.ToBoolean(this.Reader[11].ToString());  //是否有效:0有效,1无效
                    obj.IsPrepay              = Neusoft.FrameWork.Function.NConvert.ToBoolean(this.Reader[12].ToString());  //是否预约
                    obj.SortID                = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[13].ToString());    //排序
                    obj.User01                = this.Reader[14].ToString();                                                 //操作人编码
                    obj.User02                = this.Reader[15].ToString();                                                 //操作日期
                    obj.BedGrade.Name         = this.Reader[16].ToString();                                                 //床位等级名称
                    obj.User03                = this.Reader["sumfee"].ToString();                                           //床位费
                    obj.AdmittingDoctor.ID    = this.Reader[18].ToString();                                                 //住院医生
                    obj.AttendingDoctor.ID    = this.Reader[19].ToString();                                                 //主治医生
                    obj.ConsultingDoctor.ID   = this.Reader[20].ToString();                                                 //主任医生
                    obj.AdmittingNurse.ID     = this.Reader[21].ToString();                                                 //责任护士
                    obj.TendGroup             = this.Reader[22].ToString();                                                 //护理组
                    al.Add(obj);
                }
                catch (Exception ex) {
                    this.Err = ex.Message;
                    this.WriteErr();
                    this.Reader.Close();
                    return(null);
                }
            }
            this.Reader.Close();
            return(al);
        }
 private void cmbBedNo_SelectedIndexChanged(object sender, System.EventArgs e)
 {
     if (this.cmbBedNo.Tag == null || this.cmbBedNo.Tag.ToString() == "")
     {
         return;
     }
     if (this.arrivetype == ArriveType.Regedit)
     {
         Neusoft.HISFC.Models.Base.Bed obj = manager.GetBed(this.cmbBedNo.Tag.ToString());
         if (obj == null)
         {
             return;
         }
         this.cmbDoc.Tag           = obj.Doctor.ID;           //住院医生
         this.cmbAttendingDoc.Tag  = obj.AttendingDoctor.ID;  //主治医生
         this.cmbConsultingDoc.Tag = obj.ConsultingDoctor.ID; //主任医生
         this.cmbAdmittingNur.Tag  = obj.AdmittingNurse.ID;   //责任护士
     }
 }
Example #17
0
        //按床号查询床位信息(床号可以录入本病区的序列号)
        public Neusoft.HISFC.Models.Base.Bed GetBedInfo(string BedNo)
        {
            Neusoft.HISFC.Models.Base.Bed obj = new Neusoft.HISFC.Models.Base.Bed();

            //床号可以录入本病区的序列号
            if (BedNo.Length < 10)
            {
            }

            string strSql = "";

            if (this.Sql.GetSql("Manager.Bed.GetBedInfo.1", ref strSql) == 0)
            {
                try {
                    strSql = string.Format(strSql, BedNo);
                }
                catch (Exception ex) {
                    this.Err     = ex.Message;
                    this.ErrCode = ex.Message;
                    return(null);
                }
                if (this.ExecQuery(myGetQueryString() + " " + strSql) < 0)
                {
                    return(null);
                }

                ArrayList al = this.myGetBedList();

                if (al == null)
                {
                    return(null);
                }
                else
                {
                    return(al[0] as  Neusoft.HISFC.Models.Base.Bed);
                }
            }
            else
            {
                return(null);
            }
        }
Example #18
0
        private void mnuI_Unwap_Click(object sender, EventArgs e)
        {
            Neusoft.HISFC.Models.RADT.PatientInfo patient = new Neusoft.HISFC.Models.RADT.PatientInfo();
            Neusoft.HISFC.Models.Base.Bed         objBed  = new Neusoft.HISFC.Models.Base.Bed();

            objBed = (Neusoft.HISFC.Models.Base.Bed) this.lsvBedView.SelectedItems[0].Tag;

            patient.ID = objBed.InpatientNO;
            try
            {
                Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();

                //Neusoft.FrameWork.Management.Transaction SQLCA = new Neusoft.FrameWork.Management.Transaction(this.radtManager.Connection);
                //SQLCA.BeginTransaction();

                this.radtManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);

                //解包处理
                if (this.radtManager.UnWrapPatientBed(patient, objBed.ID, "2") == 0)
                {
                    Neusoft.FrameWork.Management.PublicTrans.Commit();
                    //重新绘制浏览床位界面
                    objBed.InpatientNO = "N";
                    objBed.Status.ID   = Neusoft.HISFC.Models.Base.EnumBedStatus.U;
                    this.lsvBedView.Items[this.lsvBedView.SelectedIndices[0]] = this.GetListViewInfo(objBed);
                    //
                    this.Err = "保存成功!";
                    MessageBox.Show(this.Err);
                    //刷新床位列表
                    this.RefreshView();
                }
                else
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();
                    this.Err = "保存失败!" + this.radtManager.Err;
                    MessageBox.Show(this.Err);
                }
            }
            catch
            {
            }
        }
Example #19
0
        public Neusoft.HISFC.Models.Base.Bed GetBedInfo()
        {
            Neusoft.HISFC.Models.Base.Bed oBedInfo = new Neusoft.HISFC.Models.Base.Bed();
            int iIndex = fpSpread1.Sheets[0].ActiveRow.Index;

            oBedInfo.NurseStation.ID = fpSpread1.Sheets[0].Cells[iIndex, 0].Text;                                    //护士站编号
            oBedInfo.SickRoom.ID     = fpSpread1.Sheets[0].Cells[iIndex, 1].Text;                                    //病区号
            oBedInfo.ID                      = oBedInfo.NurseStation.ID + fpSpread1.Sheets[0].Cells[iIndex, 2].Text; //病床号 liuxq070924
            oBedInfo.BedGrade.Memo           = fpSpread1.Sheets[0].Cells[iIndex, 3].Text;                            //病床等级
            oBedInfo.Status.Name             = fpSpread1.Sheets[0].Cells[iIndex, 4].Text;                            //病床状态
            oBedInfo.BedRankEnumService.Name = fpSpread1.Sheets[0].Cells[iIndex, 5].Text;                            //病床编制
            oBedInfo.Phone                   = fpSpread1.Sheets[0].Cells[iIndex, 6].Text;                            //电话
            oBedInfo.SortID                  = Convert.ToInt32(fpSpread1.Sheets[0].Cells[iIndex, 9].Text);           //顺序号
            oBedInfo.OwnerPc                 = fpSpread1.Sheets[0].Cells[iIndex, 7].Text;                            //归属
            oBedInfo.BedGrade.ID             = fpSpread1.Sheets[0].Cells[iIndex, 10].Text;
            oBedInfo.Status.ID               = fpSpread1.Sheets[0].Cells[iIndex, 11].Text;
            oBedInfo.BedRankEnumService.ID   = fpSpread1.Sheets[0].Cells[iIndex, 12].Text;
            oBedInfo.InpatientNO             = fpSpread1_Sheet1.Cells[iIndex, 13].Text;
            return(oBedInfo);
        }
Example #20
0
 private DataRow SetRow(DataRow dr, Neusoft.HISFC.Models.Base.Bed objBed)
 {
     if (objBed != null)
     {
         dr["护士站号"] = objBed.NurseStation.ID;                                                                                    //护士站编号
         //			oBedInfo.NurseStation.Name = cboNurseCell.Text.Trim();
         dr["病房号"]     = objBed.SickRoom.ID;                                                                                     //.NurseStation.ID ;//病区号
         dr["床号"]      = objBed.ID.Substring(objBed.NurseStation.ID.Length, (objBed.ID.Length - objBed.NurseStation.ID.Length)); //病床号 liuxq070924
         dr["床位等级"]    = objBed.BedGrade.Name;                                                                                   //病床等级
         dr["床位状态"]    = objBed.Status.Name;                                                                                     //病床状态
         dr["床位编制"]    = objBed.BedRankEnumService.Name;                                                                         //病床编制
         dr["病床电话"]    = objBed.Phone;                                                                                           //电话
         dr["顺序号"]     = objBed.SortID;                                                                                          //顺序号
         dr["归属"]      = objBed.OwnerPc;                                                                                         //归属
         dr["费用"]      = objBed.User03.ToString();                                                                               //费用
         dr["Levelid"] = objBed.BedGrade.ID;
         dr["Stateid"] = objBed.Status.ID;
         dr["Weaveid"] = objBed.BedRankEnumService.ID;
         dr["住院号"]     = objBed.InpatientNO;
     }
     return(dr);
 }
Example #21
0
        /// <summary>
        /// 增加床位信息
        /// </summary>
        /// <param name="objBed"></param>
        /// <returns></returns>
        public int CreatBedInfo(Neusoft.HISFC.Models.Base.Bed objBed)
        {
            string strSql = "";

            if (this.Sql.GetSql("Manager.Bed.CreatBedInfo.1", ref strSql) == -1)
            {
                this.Err = this.Sql.Err;
                return(-1);
            }
            try {
                //如果床号小于四位,或者(大于四位的时候)前四位不等于护理站编码时,生成床号10位:护理站编码+床号
                if (objBed.ID.Length <= 4 || objBed.ID.Substring(0, 4) != objBed.NurseStation.ID)
                {
                    //生成床号10位:护理站编码+床号(后六位)
                    objBed.ID = objBed.NurseStation.ID + (objBed.ID.Length > 6 ?objBed.ID.Substring(0, 6) :objBed.ID);
                }

                try {
                    string[] strParm = myGetParm(objBed);                      //取参数列表
                    strSql = string.Format(strSql, strParm);
                }
                catch (Exception ex) {
                    this.ErrCode = ex.Message;
                    this.Err     = ex.Message;
                    return(-1);
                }
            }
            catch (Exception ex) {
                this.Err = "付数值时候出错!" + ex.Message;
                this.WriteErr();
                return(-1);
            }

            //执行SQL语句
            return(this.ExecNoQuery(strSql));
        }
Example #22
0
        /// <summary>
        /// 获取护士站列表[2007/01/04 xuweizhe]
        /// </summary>
        /// <returns>null失败</returns>
        public ArrayList QueryNurseStationInfo()
        {
            string strsql = "";

            if (this.Sql.GetSql("Manager.Bed.GetNurseStationInfo", ref strsql) == -1)
            {
                return(null);
            }
            if (this.ExecQuery(strsql) == -1)
            {
                return(null);
            }
            ArrayList alBeds = new ArrayList();

            while (this.Reader.Read())
            {
                Neusoft.HISFC.Models.Base.Bed bed = new Neusoft.HISFC.Models.Base.Bed();
                bed.ID   = this.Reader.GetString(0);
                bed.Name = this.Reader.GetString(1);
                alBeds.Add(bed);
            }
            this.Reader.Close();
            return(alBeds);
        }
Example #23
0
        /// <summary>
        /// 更改床位信息
        /// </summary>
        /// <param name="objBed"></param>
        /// <returns></returns>
        public int UpdateBedInfo(Neusoft.HISFC.Models.Base.Bed objBed)
        {
            string strSql = "";

            if (this.Sql.GetSql("Manager.Bed.UpdateBedInfo.1", ref strSql) == -1)
            {
                this.Err = this.Sql.Err;
                return(-1);
            }

            try {
                string[] strParm = myGetParm(objBed);                  //取参数列表

                strSql = string.Format(strSql, strParm);
            }
            catch (Exception ex) {
                this.ErrCode = ex.Message;
                this.Err     = ex.Message;
                return(-1);
            }

            //执行SQL语句
            return(this.ExecNoQuery(strSql));
        }
Example #24
0
        /// <summary>
        /// 根据床位信息生成ListView的节点
        /// </summary>
        /// <param name="bed"></param>
        /// <returns></returns>
        private ListViewItem GetListViewInfo(Neusoft.HISFC.Models.Base.Bed bed)
        {
            System.Windows.Forms.ListViewItem lvi = new ListViewItem();

            //去掉床号的前四位,取其余的字符串
            string tempBedNo = bed.ID.Length > 4 ? bed.ID.Substring(4) : bed.ID;

            //Get patientinfo
            Neusoft.HISFC.Models.Registration.Register patient = null;
            //如果存在患者,则将患者信息保存在lvi的Tag属性中(包床也是这样处理)
            if (bed.InpatientNO.Trim() != "N" && bed.InpatientNO.Trim() != "")
            {
                //取患者基本信息
                patient = this.regManager.GetByClinic(bed.InpatientNO);
                if (patient == null || patient.ID == "")
                {
                    MessageBox.Show(bed.InpatientNO + Neusoft.FrameWork.Management.Language.Msg("患者没找到!"));
                }
                try
                {
                    //如果是包床,则将床位付给此患者
                    if (bed.Status.ID.ToString() == Neusoft.HISFC.Models.Base.EnumBedStatus.W.ToString())
                    {
                        bed.Memo = patient.Name;
                        lvi.Tag  = bed;
                    }
                    else
                    {
                        patient.PVisit.PatientLocation.Bed = bed;
                        lvi.Tag = patient;
                    }
                    lvi.SubItems.Clear();
                    lvi.SubItems.Add(patient.Sex.Name);
                    lvi.SubItems.Add(patient.PID.PatientNO);
                    lvi.SubItems.Add(patient.PVisit.PatientLocation.Dept.Name);
                    lvi.SubItems.Add(bed.Status.Name);

                    //根据参数是否显示科室名称
                    if (bShowDept)
                    {
                        lvi.Text = bed.Dept.Name + "【" + tempBedNo + "】" + patient.Name;
                    }
                    else
                    {
                        lvi.Text = "【" + tempBedNo + "】\n" + patient.Name;
                    }
                }
                catch
                {
                }
            }
            else
            {
                //将床位信息保存在lvi的Tag属性中
                lvi.Tag = bed;
                lvi.SubItems.Clear();
                lvi.SubItems.Add(bed.Sex.Name);
                lvi.SubItems.Add("");
                lvi.SubItems.Add(bed.NurseStation.Name);
                lvi.SubItems.Add(bed.Status.Name);
                lvi.Text = "【" + tempBedNo + "】";
            }


            //如果床位被占用(有患者,包床,挂床,请假)
            if (bed.InpatientNO != "N" &&
                bed.Status.ID.ToString() != "W" &&
                bed.Status.ID.ToString() != "R" &&
                bed.Status.ID.ToString() != "H")
            {
                //lvi.ImageIndex = GetIconIndex(patient.Disease.Tend.Name);
                lvi.ImageIndex = 4;
            }
            else
            {
                lvi.ImageIndex = GetIconIndex(bed.Sex.ID.ToString(), bed);
            }


            return(lvi);
        }
Example #25
0
        /// <summary>
        /// 通过床位属性和状态返回图片index
        /// </summary>
        /// <param name="property"></param>
        /// <param name="bed"></param>
        /// <returns></returns>
        private int GetIconIndex(string property, Neusoft.HISFC.Models.Base.Bed bed)
        {
            int n = 0;

            if (bed.IsPrepay)
            {//预约
                n = 12;
            }
            else
            {//正常不预约的床
                switch (bed.Status.ID.ToString())
                {
                case "C":    //close
                    n = 3;
                    break;

                case "H":    //挂床
                    n = 11;
                    break;

                case "O":    //占用
                    //Occupied
                    n = 4;
                    break;

                case "U":
                    //Unoccupied
                    n = 0;
                    break;

                case "K":
                    n = 13;
                    //污染的
                    break;

                case "I":
                    n = 13;
                    //隔离的
                    break;

                case "W":    //包床
                    n = 9;
                    break;

                //放假
                case "R":
                    n = 10;
                    break;

                default:
                    n = 0;
                    break;
                }
            }
            if (n == 0)
            {
                switch (property)
                {
                case "M":
                    n = 2;
                    break;

                case "F":
                    n = 1;
                    break;

                default:
                    n = 0;
                    break;
                }
            }
            return(n);
        }
Example #26
0
        /// <summary>
        /// 打印
        /// </summary>
        //public void Print()
        //{
        //    Neusoft.FrameWork.WinForms.Classes.Print pf = new Neusoft.FrameWork.WinForms.Classes.Print();
        //    //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(ordManager.Connection);
        //    Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();
        //    //t.BeginTransaction();

        //    //orderBillManager.SetTrans(t.Trans);
        //    orderBillManager.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);

        //    if (this.tabControl1.SelectedIndex == 0)
        //    {
        //        pf.PageLabel = (Control)this.lblPage;
        //        this.SetLongRePrint(false);
        //        for (int i = 0; i < sheetLong.Rows.Count; i++)
        //        {
        //            int j = Neusoft.FrameWork.Function.NConvert.ToInt32(sheetLong.Rows.Count / this.intLineNum);

        //            Neusoft.HISFC.Models.Order.Inpatient.Order ord = sheetLong.Rows[i].Tag as Neusoft.HISFC.Models.Order.Inpatient.Order;
        //            if (ord != null && ord.ID != null && ord.ID != "")
        //            {
        //                Neusoft.HISFC.Models.Order.OrderBill orderBill = new Neusoft.HISFC.Models.Order.OrderBill();
        //                orderBill = orderBillManager.GetOrderBillByOrderID(ord.ID);
        //                if (Neusoft.FrameWork.Function.NConvert.ToBoolean(orderBill.PrintFlag))
        //                {
        //                    this.sheetLong.SetValue(i, 0, "");
        //                    this.sheetLong.SetValue(i, 1, "");
        //                    this.sheetLong.SetValue(i, 2, "");
        //                    this.sheetLong.SetValue(i, 3, "");
        //                    this.sheetLong.SetValue(i, 4, "");
        //                    this.sheetLong.SetValue(i, 5, "");
        //                    this.sheetLong.SetValue(i, 6, "");
        //                    this.sheetLong.SetValue(i, 7, "");
        //                    this.sheetLong.SetValue(i, 8, "");
        //                    this.sheetLong.SetValue(i, 9, "");
        //                    this.sheetLong.SetValue(i, 10, "");
        //                }
        //                else
        //                {
        //                    int myLineNo = 0;
        //                    int myPageNo = 0;
        //                    int myPrnSeq = 0;
        //                    this.orderBillManager.GetLastOrderBillArg(this.pInfo.ID, orderBill.Order.OrderType.ID, out myPrnSeq, out myPageNo, out myLineNo);

        //                    if (myPageNo > 0)
        //                    {
        //                        if (i < this.intLineNum)
        //                        {
        //                            myLineNo = i + 1;

        //                        }
        //                        else
        //                        {
        //                            myLineNo = 1;
        //                            myPageNo = myPageNo + 1;
        //                            this.SetLongRePrint(true);
        //                        }
        //                    }
        //                    else
        //                    {
        //                        myLineNo = i + 1;
        //                        myPageNo = 1;
        //                        this.SetLongRePrint(true);
        //                    }
        //                    if (Neusoft.FrameWork.Function.NConvert.ToBoolean(orderBill.PrintDCFlag) && orderBill.PageNO > 0)
        //                    {
        //                        this.sheetLong.SetValue(i, 0, "");
        //                        this.sheetLong.SetValue(i, 1, "");
        //                        this.sheetLong.SetValue(i, 2, "");
        //                        this.sheetLong.SetValue(i, 3, "");
        //                        this.sheetLong.SetValue(i, 4, "");
        //                        this.sheetLong.SetValue(i, 5, "");
        //                    }
        //                    if (orderBill.PageNO == 0)
        //                    {
        //                        if (orderBillManager.UpdateLineNoPageNo(ord.ID, myLineNo, myPageNo) < 0)
        //                        {
        //                            //t.RollBack();
        //                            Neusoft.FrameWork.Management.PublicTrans.RollBack();
        //                            MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("更新医嘱单行号、页码失败!" + orderBillManager.Err));
        //                            return;
        //                        }
        //                    }

        //                    if (orderBillManager.UpdatePrnFlag(ord.ID, "1") < 0)
        //                    {
        //                        //t.RollBack();
        //                        Neusoft.FrameWork.Management.PublicTrans.RollBack();
        //                        MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("更新医嘱单打印标志失败!" + orderBillManager.Err));
        //                        return;
        //                    }
        //                }
        //            }
        //            else
        //            {
        //                this.sheetLong.SetValue(i, 0, "");
        //                this.sheetLong.SetValue(i, 1, "");
        //                this.sheetLong.SetValue(i, 2, "");
        //                this.sheetLong.SetValue(i, 3, "");
        //                this.sheetLong.SetValue(i, 4, "");
        //                this.sheetLong.SetValue(i, 5, "");
        //                this.sheetLong.SetValue(i, 6, "");
        //                this.sheetLong.SetValue(i, 7, "");
        //                this.sheetLong.SetValue(i, 8, "");
        //                this.sheetLong.SetValue(i, 9, "");
        //                this.sheetLong.SetValue(i, 10, "");


        //            }
        //        }
        //        //this.neuLabel15.Text = "第";
        //        //this.neuLabel19.Text = "页";

        //        //if (this.sheetLong.RowCount < intLineNum)
        //        //{
        //        //    this.sheetLong.RowCount = intLineNum;

        //        //}
        //        //if (this.sheetLong.RowCount > intLineNum)
        //        //{
        //        //    long longNum = 0;
        //        //    System.Math.DivRem(this.sheetLong.RowCount, intLineNum, out longNum);
        //        //    this.sheetLong.RowCount = this.sheetLong.RowCount - Neusoft.FrameWork.Function.NConvert.ToInt32(longNum) + intLineNum;
        //        //}


        //        pf.PrintPreview(this.plLong);

        //    }
        //    else
        //    {
        //        pf.PageLabel = (Control)this.lblPages;
        //        this.SetShortRePrint(false);
        //        for (int i = 0; i < sheetShort.Rows.Count; i++)
        //        {

        //            Neusoft.HISFC.Models.Order.Inpatient.Order ord = sheetShort.Rows[i].Tag as Neusoft.HISFC.Models.Order.Inpatient.Order;
        //            if (ord != null && ord.ID != null && ord.ID != "")
        //            {
        //                Neusoft.HISFC.Models.Order.OrderBill orderBill = new Neusoft.HISFC.Models.Order.OrderBill();
        //                orderBill = orderBillManager.GetOrderBillByOrderID(ord.ID);
        //                if (Neusoft.FrameWork.Function.NConvert.ToBoolean(orderBill.PrintFlag))
        //                {
        //                    this.sheetShort.SetValue(i, 0, "");
        //                    this.sheetShort.SetValue(i, 1, "");
        //                    this.sheetShort.SetValue(i, 2, "");
        //                    this.sheetShort.SetValue(i, 3, "");
        //                    this.sheetShort.SetValue(i, 4, "");
        //                    this.sheetShort.SetValue(i, 5, "");
        //                    this.sheetShort.SetValue(i, 6, "");
        //                    this.sheetShort.SetValue(i, 7, "");
        //                    this.sheetShort.SetValue(i, 8, "");
        //                }
        //                else
        //                {
        //                    int myLineNo = 0;
        //                    int myPageNo = 0;
        //                    int myPrnSeq = 0;
        //                    this.orderBillManager.GetLastOrderBillArg(this.pInfo.ID, orderBill.Order.OrderType.ID, out myPrnSeq, out myPageNo, out myLineNo);

        //                    if (myPageNo > 0)
        //                    {
        //                        if (i < this.intLineNum)
        //                        {
        //                            myLineNo = i + 1;

        //                        }
        //                        else
        //                        {
        //                            myLineNo = 1;
        //                            myPageNo = myPageNo + 1;
        //                            this.SetShortRePrint(true);
        //                        }
        //                    }
        //                    else
        //                    {
        //                        myLineNo = i + 1;
        //                        myPageNo = 1;
        //                        this.SetShortRePrint(true);
        //                    }
        //                    if (orderBill.PageNO == 0)
        //                    {
        //                        if (orderBillManager.UpdateLineNoPageNo(ord.ID, myLineNo, myPageNo) < 0)
        //                        {
        //                            //t.RollBack();
        //                            Neusoft.FrameWork.Management.PublicTrans.RollBack();
        //                            MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("更新医嘱单行号、页码失败!" + orderBillManager.Err));
        //                            return;
        //                        }
        //                    }
        //                    if (orderBillManager.UpdatePrnFlag(ord.ID, "1") < 0)
        //                    {
        //                        //t.RollBack();
        //                        Neusoft.FrameWork.Management.PublicTrans.RollBack();
        //                        MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("更新医嘱单打印标志失败!" + orderBillManager.Err));
        //                        return;
        //                    }
        //                }
        //            }
        //            else
        //            {
        //                this.sheetShort.SetValue(i, 0, "");
        //                this.sheetShort.SetValue(i, 1, "");
        //                this.sheetShort.SetValue(i, 2, "");
        //                this.sheetShort.SetValue(i, 3, "");
        //                this.sheetShort.SetValue(i, 4, "");
        //                this.sheetShort.SetValue(i, 5, "");
        //                this.sheetShort.SetValue(i, 6, "");
        //                this.sheetShort.SetValue(i, 7, "");
        //                this.sheetShort.SetValue(i, 8, "");

        //                this.SetShortRePrint(false);
        //            }
        //        }

        //        //if (this.sheetShort.RowCount < intLineNum)
        //        //{
        //        //    this.sheetShort.RowCount = intLineNum;
        //        //}
        //        //if (this.sheetShort.RowCount > intLineNum)
        //        //{
        //        //    long shortNum = 0;
        //        //    System.Math.DivRem(this.sheetShort.RowCount, intLineNum, out shortNum);
        //        //    this.sheetShort.RowCount = this.sheetShort.RowCount - Neusoft.FrameWork.Function.NConvert.ToInt32(shortNum) + intLineNum;
        //        //}

        //        pf.PrintPreview(this.plShort);

        //        //this.lblPage.Text = pf.PageLabel.Text;
        //    }
        //    //t.Commit();
        //    Neusoft.FrameWork.Management.PublicTrans.Commit();
        //    this.SetShortRePrint(true);
        //    this.SetLongRePrint(true);
        //    this.SetPatient(this.pInfo);
        //}
        /// <summary>
        /// 设置患者信息
        /// </summary>
        /// <param name="patientInfo"></param>
        public void SetPatient(Neusoft.HISFC.Models.RADT.PatientInfo patientInfo)
        {
            this.intLineNum = this.controlManager.GetControlParam <int>("200008", false, 21);
            //打印标题

            //查询医嘱(暂时不支持续打)
            pInfo = patientInfo;
            string hospitalName = constant.GetHospitalName();

            if (string.IsNullOrEmpty(patientInfo.PVisit.PatientLocation.Room) && patientInfo.PVisit.PatientLocation.Bed != null)
            {//查询病房
                Neusoft.HISFC.Models.Base.Bed bed = this.bedMgr.GetBedInfo(patientInfo.PVisit.PatientLocation.Bed.ID);
                if (bed != null)
                {
                    patientInfo.PVisit.PatientLocation.Room = bed.SickRoom.ID;
                }
            }

            this.lbLongPatientNo.Text     = patientInfo.ID;
            this.lbLonglName.Text         = patientInfo.Name;
            this.lblShortInpatientNO.Text = patientInfo.ID;
            this.lblShortName.Text        = patientInfo.Name;
            this.neuLabel2.Text           = hospitalName;
            this.neuLabel10.Text          = hospitalName;

            if (patientInfo.Sex != null)
            {
                this.lblSex.Text  = patientInfo.Sex.Name;
                this.lblSexs.Text = patientInfo.Sex.Name;
            }
            if (patientInfo.Age != null)
            {
                this.lblAge.Text  = patientInfo.Age.ToString();
                this.lblAges.Text = patientInfo.Age;
            }
            if (patientInfo.PVisit.PatientLocation.Room != null)
            {
                this.lblRoom.Text  = patientInfo.PVisit.PatientLocation.Room.ToString();
                this.lblRooms.Text = patientInfo.PVisit.PatientLocation.Room;
            }
            if (patientInfo.PVisit.PatientLocation.Bed != null)
            {
                this.lblBed.Text  = patientInfo.PVisit.PatientLocation.Bed.ToString();
                this.lblBeds.Text = patientInfo.PVisit.PatientLocation.Bed.ToString();
            }
            if (patientInfo.PVisit.PatientLocation.Dept != null)
            {
                this.lblDept.Text  = patientInfo.PVisit.PatientLocation.Dept.Name.ToString();
                this.lblDepts.Text = patientInfo.PVisit.PatientLocation.Dept.Name;
            }

            Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm("正在查询显示医嘱信息,请稍候......");

            Application.DoEvents();

            ArrayList alAll = new ArrayList();

            try
            {
                //alAll = this.ordManager.QueryDcOrder(patientInfo.ID);
                alAll = this.ordManager.QueryPrnOrder(patientInfo.ID);
            }
            catch
            {
                Neusoft.FrameWork.WinForms.Classes.Function.MessageBox(ordManager.Err);
            }

            alLong.Clear();
            alShort.Clear();

            if (alAll != null)
            {
                foreach (object obj in alAll)
                {
                    Neusoft.HISFC.Models.Order.Inpatient.Order order = obj as Neusoft.HISFC.Models.Order.Inpatient.Order;
                    if (order.OrderType.Type == Neusoft.HISFC.Models.Order.EnumType.LONG)
                    {
                        //长期医嘱
                        alLong.Add(obj);
                    }
                    else
                    {
                        //临时医嘱
                        alShort.Add(obj);
                    }
                }
            }
            AddObjecToLongOrderSheet(alLong);
            AddObjecToShortOrderSheet(alShort);
            this.GetPrintOrder();
            Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();
        }
Example #27
0
        /// <summary>
        /// 显示要修改的床位信息,并控制各控件是否可用
        /// </summary>
        /// <param name="bed"></param>
        private void ShowInfoForModify(Neusoft.HISFC.Models.Base.Bed bed)
        {
            //取当前行中的数据
            this.myBed = this.fpSpread1_Sheet1.ActiveRow.Tag as Neusoft.HISFC.Models.Base.Bed;
            if (this.myBed == null)
            {
                return;
            }

            //this.cmbStatus.Items.Clear();
            //如果是占用O,请假R,挂床H,包床W,则显示全部的床位状态.并控制控件是否可用
            if (this.myBed.Status.ID.ToString() == "O" ||
                this.myBed.Status.ID.ToString() == "R" ||
                this.myBed.Status.ID.ToString() == "H" ||
                this.myBed.Status.ID.ToString() == "W")
            {
                this.cmbStatus.AddItems(Neusoft.HISFC.Models.Base.BedStatusEnumService.List());
                this.cmbStatus.Enabled   = false; //床位状态
                this.cmbIsprepay.Enabled = false; //是否预约
                this.cmbIsValid.Enabled  = false; //是否有效
                //{8EA2FE76-AF13-4a83-8EDD-2067016038B2}
                //this.cmbGrade.Enabled = false;	//床位等级
                this.btnDelete.Enabled = false; //不允许删除
            }
            else
            {
                this.cmbStatus.AddItems(Neusoft.HISFC.Models.Base.BedStatusEnumService.UnoccupiedList());
                this.cmbStatus.Enabled = true;   //床位状态
                //this.cmbWeave.Enabled    = true;	//床位编制
                this.cmbIsprepay.Enabled = true; //是否预约
                this.cmbIsValid.Enabled  = true; //是否有效
                //{8EA2FE76-AF13-4a83-8EDD-2067016038B2}
                //this.cmbGrade.Enabled = false;	//床位等级
                if (this.myBed.BedRankEnumService.ID.ToString() == "A")
                {
                    this.btnDelete.Enabled = true;      //加床可以删除
                }
                else
                {
                    this.btnDelete.Enabled = false;     //其他床位不允许删除
                }
            }

            //显示信息
            this.txtBedNo.Text  = this.myBed.ID.Substring(4);       //床号
            this.txtBedNo.Tag   = this.myBed.ID;                    //床号
            this.txtOwnPc.Text  = this.myBed.OwnerPc;               //归属
            this.txtPhone.Text  = this.myBed.Phone;                 //床位电话
            this.txtSortId.Text = this.myBed.SortID.ToString();     //排序
            this.txtWardNo.Text = this.myBed.SickRoom.ID;           //房号
            this.cmbGrade.Tag   = this.myBed.BedGrade.ID;           //床位等级
            this.cmbWeave.Tag   = this.myBed.BedRankEnumService.ID; //床位编制
            this.cmbStatus.Tag  = this.myBed.Status.ID;             //床位状态
            this.cmbIsValid.Tag = this.myBed.IsValid.ToString();    //是否有效
            if (this.myBed.PrepayOutdate != DateTime.MinValue)
            {
                this.dtOutDate.Value = this.myBed.PrepayOutdate;           //预约出院时间(不需要用户维护)
            }
            this.cmbIsprepay.Tag         = this.myBed.IsPrepay.ToString(); //是否预约
            this.cmbAdmittingDoctor.Tag  = this.myBed.AdmittingDoctor.ID;  //住院医生
            this.cmbAttendingDoctor.Tag  = this.myBed.AttendingDoctor.ID;  //主治医生
            this.cmbConsultingDoctor.Tag = this.myBed.ConsultingDoctor.ID; //主任医生
            this.cmbAdmittingNurse.Tag   = this.myBed.AdmittingNurse.ID;   //责任护士
            this.txtTendGroup.Text       = this.myBed.TendGroup;           //护理组
            //{255E2A05-2A48-4d50-B05E-0E0AA225B9B4}
            this.cmbBedDoctor.Tag = this.myBed.Doctor.ID;                  //床位医生
            //修改床位信息时,不允许修改床号
            this.txtBedNo.Enabled = false;
        }
Example #28
0
        /// <summary>
        /// 设置病床信息
        /// </summary>
        /// <param name="bed"></param>
        /// <returns></returns>
        public int SetBed(Neusoft.HISFC.Models.Base.Bed bed)
        {
            this.SetDB(managerBed);

            return(managerBed.SetBedInfo(bed));
        }
        /// <summary>
        /// 保存设置
        /// </summary>
        public virtual int Save()
        {
            //取婴儿接珍时的信息信息
            Neusoft.HISFC.Models.RADT.PatientInfo PatientInfo = null;

            //取患者最新的住院主表信息
            PatientInfo = this.Inpatient.QueryPatientInfoByInpatientNO(this.patientInfo.ID);
            if (this.patientInfo == null)
            {
                MessageBox.Show(this.Inpatient.Err);
                return(-1);
            }

            //换医生时,如果患者已不在本科,则清空数据---当患者转科后,如果本窗口没有关闭,会出现此种情况
            if (PatientInfo.PVisit.PatientLocation.NurseCell.ID != this.NurseCell.ID &&
                this.arrivetype == ArriveType.ChangeDoc)
            {
                MessageBox.Show("患者已不在本病区,请刷新当前窗口");
                return(-1);
            }

            //如果患者已不是在院状态,则不允许操作
            if (PatientInfo.PVisit.InState.ID.ToString() != this.patientInfo.PVisit.InState.ID.ToString())
            {
                MessageBox.Show("患者信息已发生变化,请刷新当前窗口");
                return(-1);
            }

            //取变动信息:取医生、护士、科室等信息
            this.GetPatientInfo(PatientInfo);

            //判断是否已选择床位
            if (this.cmbBedNo.Text.Trim() == "" &&
                patientInfo.IsBaby == false)
            {
                MessageBox.Show("未选择床位!");
                return(-1);
            }

            //取处理时的床位信息
            Neusoft.HISFC.Models.Base.Bed bed = new Neusoft.HISFC.Models.Base.Bed();
            bed.ID          = this.cmbBedNo.Tag.ToString(); //床号
            bed.InpatientNO = patientInfo.ID;               //床位上患者住院流水号


            #region 业务处理
            Neusoft.HISFC.BizProcess.Integrate.RADT managerRADT = new Neusoft.HISFC.BizProcess.Integrate.RADT();
            //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance);
            Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();
            managerRADT.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);

            //转科
            if (this.arrivetype == ArriveType.ShiftIn)
            {
                if (managerRADT.ShiftIn(PatientInfo, this.NurseCell, this.cmbBedNo.Tag.ToString()) == -1)//调用转科业务
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();
                    MessageBox.Show(managerRADT.Err);
                    return(-1);
                }
                else
                {
                }
            }

            //接珍护理站为当前护理站(转入操作时,需要保留原护理站信息,所以在此处处理)
            PatientInfo.PVisit.PatientLocation.NurseCell = this.NurseCell;
            PatientInfo.PVisit.PatientLocation.Bed       = bed;

            //接诊
            if (this.arrivetype == ArriveType.Regedit)
            {
                if (managerRADT.ArrivePatient(PatientInfo, bed) == -1)//调用接诊业务
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();
                    MessageBox.Show(managerRADT.Err);
                    return(-1);
                }
                else
                {
                }
            }

            //召回
            if (this.arrivetype == ArriveType.CallBack)
            {
                if (managerRADT.CallBack(PatientInfo, bed) == -1)//调用召回业务
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();
                    MessageBox.Show(managerRADT.Err);
                    return(-1);
                }
                else
                {
                }
            }

            //换医师
            if (this.arrivetype == ArriveType.ChangeDoc)
            {
                if (managerRADT.ChangeDoc(PatientInfo) == -1)//调用换医生业务
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();
                    MessageBox.Show(managerRADT.Err);
                    return(-1);
                }
                else
                {
                }
            }
            #endregion

            Neusoft.FrameWork.Management.PublicTrans.Commit();
            MessageBox.Show(managerRADT.Err);
            base.OnRefreshTree();//刷新树
            return(1);
        }
        /// <summary>
        /// 保存设置
        /// </summary>
        public virtual int Save()
        {
            //取婴儿接珍时的信息信息
            //Neusoft.HISFC.Models.RADT.PatientInfo PatientInfo = null;

            //取患者最新的住院主表信息
            //PatientInfo = this.Inpatient.QueryPatientInfoByInpatientNO(this.patientInfo.ID);
            if (this.patientInfo == null)
            {
                MessageBox.Show(this.Inpatient.Err);
                return(-1);
            }

            //取变动信息:取医生、护士、科室等信息
            //this.GetPatientInfo(PatientInfo);

            //判断是否已选择床位
            if (this.cmbBedNo.Text.Trim() == "" &&
                patientInfo.IsBaby == false)
            {
                MessageBox.Show("未选择床位!");
                return(-1);
            }

            //取处理时的床位信息
            Neusoft.HISFC.Models.Base.Bed bed = new Neusoft.HISFC.Models.Base.Bed();
            bed.ID          = this.cmbBedNo.Tag.ToString(); //床号
            bed.InpatientNO = patientInfo.ID;               //床位上患者住院流水号


            #region 业务处理

            Neusoft.FrameWork.Management.PublicTrans.BeginTransaction();

            Neusoft.HISFC.BizProcess.Integrate.RADT managerRADT = new Neusoft.HISFC.BizProcess.Integrate.RADT();
            //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance);
            //t.BeginTransaction();
            //managerRADT.SetTrans(t.Trans);

            if (managerRADT.CallBack(patientInfo, bed) == -1)//调用召回业务
            {
                Neusoft.FrameWork.Management.PublicTrans.RollBack();
                MessageBox.Show(managerRADT.Err);
                return(-1);
            }
            else
            {
            }
            #endregion

            #region addby xuewj 2010-3-15

            if (this.adt == null)
            {
                this.adt = Neusoft.FrameWork.WinForms.Classes.UtilInterface.CreateObject(this.GetType(), typeof(Neusoft.HISFC.BizProcess.Interface.IHE.IADT)) as Neusoft.HISFC.BizProcess.Interface.IHE.IADT;
            }
            if (this.adt != null)
            {
                this.adt.CancelDischargePatientMessage(patientInfo);
            }

            #endregion

            Neusoft.FrameWork.Management.PublicTrans.Commit();
            MessageBox.Show(managerRADT.Err);
            this.Refresh();
            this.ClearPatintInfo();
            return(1);
        }