/// <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 } }
/// <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 = ""; }
/// <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); } } }
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); }
/// <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); }
/// <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(); }
/// <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); }
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; //责任护士 }
/// <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; //责任护士 } }
//按床号查询床位信息(床号可以录入本病区的序列号) 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); } }
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 { } }
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); }
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); }
/// <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)); }
/// <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); }
/// <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)); }
/// <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); }
/// <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); }
/// <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(); }
/// <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; }
/// <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); }