/// <summary> /// 插入队列 /// </summary> /// <param name="obj"></param> /// <returns></returns> public int InsertQueue(Neusoft.HISFC.Models.Nurse.Queue obj) { string strSQL = ""; //取插入操作的SQL语句 string[] strParam; if (this.Sql.GetSql("Nurse.Queue.InsertQueue", ref strSQL) == -1) { this.Err = "没有找到字段!"; return(-1); } try { if (obj.ID == null) { return(-1); } obj.ID = "T" + this.GetQueueNo(); strParam = this.myGetParmInsertQueue(obj); } catch (Exception ex) { this.Err = "格式化SQL语句时出错:" + ex.Message; this.WriteErr(); return(-1); } return(this.ExecNoQuery(strSQL, strParam)); }
/// <summary> /// 获得修改队列参数列表 /// </summary> /// <param name="obj"></param> /// <returns></returns> protected string[] myGetParmUpdateQueue(Neusoft.HISFC.Models.Nurse.Queue obj) { string[] strParm = { obj.ID, //队列号 obj.Dept.ID, //科室代码 obj.Name, //队列名称 obj.Noon.ID, //午别 obj.User01, //队列类别 obj.Order.ToString(), //顺序 obj.IsValid?"1":"0", //是否有效 obj.Memo, //备注 obj.Oper.ID, //操作员 obj.QueueDate.ToString(), //操作时间 obj.Doctor.ID, //医生代码 obj.SRoom.ID, //诊室代码 obj.SRoom.Name, //诊室名称 obj.Console.ID, //诊台 obj.Console.Name, //诊台名称 obj.ExpertFlag, //专家16 obj.AssignDept.ID, obj.AssignDept.Name }; return(strParm); }
/// <summary> /// 获得插入参数列表 /// </summary> /// <param name="obj"></param> /// <returns></returns> protected string[] myGetParmInsertQueue(Neusoft.HISFC.Models.Nurse.Queue obj) { string[] strParm = { obj.Dept.ID, //代码1 obj.Name, //队列名称2 obj.Noon.ID, //午别3 obj.User01, //队列类别4 obj.Order.ToString(), //顺序5 obj.IsValid?"1":"0", //是否有效6 obj.Memo, //备注7 obj.Oper.ID, //操作员8 obj.QueueDate.ToString(), //队列时间9 obj.Doctor.ID, //医生代码10 obj.ID, //队列号11 obj.SRoom.ID, //诊室代码12 obj.SRoom.Name, //诊室名称13 obj.Console.ID, //诊台代码14 obj.Console.Name, //诊台名称15 obj.ExpertFlag, //专家16 obj.AssignDept.ID, obj.AssignDept.Name }; return(strParm); }
private void btnRefresh_Click(object sender, EventArgs e) { if (this.btnRefresh.Tag != null && this.btnRefresh.Tag.ToString() == "SAVE") { #region {B3E7633A-D9FB-492f-9D62-D2F7188D5643} ArrayList alSave = new ArrayList(); for (int i = 0; i < this.neuSpread1_Sheet1.RowCount; i++) { Neusoft.HISFC.Models.Nurse.Queue obj = new Neusoft.HISFC.Models.Nurse.Queue(); obj = this.neuSpread1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.Nurse.Queue; alSave.Add(obj); } this.SaveQueue(alSave); //this.SaveQueue(this.al); #endregion } if (this.tabPage1.Tag != null && this.btnRefresh.Tag.ToString() == "REF") { Neusoft.FrameWork.Models.NeuObject obj = new Neusoft.FrameWork.Models.NeuObject(); obj = this.tabPage1.Tag as Neusoft.FrameWork.Models.NeuObject; this.RefreshList(obj); } }
/// <summary> /// 查询分诊表中队列诊台的 分诊,进诊信息 /// </summary> /// <returns></returns> public ArrayList Query(string nurse, Neusoft.HISFC.Models.Nurse.EnuTriageStatus status, DateTime dtfrom, DateTime dtto, string noon) { string sql = ""; if (this.Sql.GetSql("Nurse.Assign.Auto.Query.3", ref sql) == -1) { this.Err = "查询sql出错,索引为[Nurse.Assign.Auto.Query.3]"; this.ErrCode = "查询sql出错,索引为[Nurse.Assign.Auto.Query.3]"; return(null); } try { sql = string.Format(sql, nurse, status, dtfrom.ToString(), dtto.ToString(), noon); } catch (Exception e) { this.Err = "字符转换出错!" + e.Message; this.ErrCode = e.Message; return(null); } if (this.ExecQuery(sql) == -1) { this.Err = "基本sql出错!" + sql; this.ErrCode = "基本sql出错!" + sql; return(null); } this.al = new ArrayList(); try { while (this.Reader.Read()) { this.queue = new Neusoft.HISFC.Models.Nurse.Queue(); this.queue.ID = this.Reader[0].ToString(); this.queue.Console.ID = this.Reader[1].ToString(); this.queue.WaitingCount = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[2]); this.al.Add(this.queue); } this.Reader.Close(); } catch (Exception e) { if (!this.Reader.IsClosed) { this.Reader.Close(); } this.Err = "查询队列信息出错!" + e.Message; this.ErrCode = e.Message; return(null); } return(this.al); }
private void SetEdit(int iRow) { if (this.myResult == null) { this.myResult = new cResult(); } #region {231F627C-1215-4024-AE4A-6E06F7D20FC1} this.myResult.Queue = (this.neuSpread1_Sheet1.Rows[iRow].Tag as Neusoft.HISFC.Models.Nurse.Queue).Clone(); #endregion }
private void GetQueue() { for (int i = 0; i < this.neuSpread1_Sheet1.RowCount; i++) { if (this.neuSpread1_Sheet1.Rows[i].Tag == null) { return; } Neusoft.HISFC.Models.Nurse.Queue obj = new Neusoft.HISFC.Models.Nurse.Queue(); obj = this.neuSpread1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.Nurse.Queue; this.QueueInfo.Add(obj); } }
private void ucAddQueue_Load(object sender, EventArgs e) { try { this.Queue = this.myResult.Queue; this.myOldQueue = this.myResult.Queue.Clone(); this.Init(); this.FindForm().Text = "队列维护"; this.FindForm().MinimizeBox = false; this.FindForm().MaximizeBox = false; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } this.dtQueue.Focus(); }
/// <summary> /// 判断诊室诊台已经被其它科室使用 /// </summary> /// <param name="myQueue">分诊队列实体</param> /// <returns></returns> private bool ValidUsed(Neusoft.HISFC.Models.Nurse.Queue myQueue) { if (this.queue.User03 == "0") { return(true); } bool returnValue = this.myQueue.QueryUsed(myQueue.Console.ID, myQueue.Noon.ID, myQueue.QueueDate.ToString()); if (returnValue == false) { MessageBox.Show(this.myQueue.Err); return(false); } return(true); }
//private void SelectItem(Neusoft.HISFC.Models.Nurse.Queue queue, Neusoft.HISFC.Models.Registration.Register register) private void SelectItem(Neusoft.HISFC.Models.Registration.Register register) { for (int i = 0; i < this.queues.Count; i++) { //ArrayList al = new ArrayList(); Neusoft.HISFC.Models.Nurse.Queue queue = new Neusoft.HISFC.Models.Nurse.Queue(); queue = queues[i] as Neusoft.HISFC.Models.Nurse.Queue; //判断是不是专家号 this.regLevel = this.registrationIntergrade.QueryRegLevelByCode(register.DoctorInfo.Templet.RegLevel.ID); register.RegLvlFee.RegLevel.IsExpert = this.regLevel.IsExpert; //全都符合 if (Neusoft.FrameWork.Function.NConvert.ToBoolean(queue.ExpertFlag) == register.RegLvlFee.RegLevel.IsExpert && queue.Doctor.ID == register.DoctorInfo.Templet.Doct.ID && queue.AssignDept.ID == register.DoctorInfo.Templet.Dept.ID) { this.cmbQueue.SelectedIndex = i; return; } } for (int i = 0; i < this.queues.Count; i++) { //ArrayList al = new ArrayList(); Neusoft.HISFC.Models.Nurse.Queue queue = new Neusoft.HISFC.Models.Nurse.Queue(); queue = queues[i] as Neusoft.HISFC.Models.Nurse.Queue; //判断是不是专家号 this.regLevel = this.registrationIntergrade.QueryRegLevelByCode(register.DoctorInfo.Templet.RegLevel.ID); register.RegLvlFee.RegLevel.IsExpert = this.regLevel.IsExpert; //号别相同(指是否专家)科室相同 if (Neusoft.FrameWork.Function.NConvert.ToBoolean(queue.ExpertFlag) == register.RegLvlFee.RegLevel.IsExpert && queue.AssignDept.ID == register.DoctorInfo.Templet.Dept.ID) { this.cmbQueue.SelectedIndex = i; return; } } #region {4600A33C-8065-4b2c-93D2-9B26B24F61CF} if (this.cmbQueue.Items.Count > 0) { this.cmbQueue.SelectedIndex = 0; // return; } #endregion //this.cmbQueue.SelectedIndex = 0; }
/// <summary> /// 重新加载界面某一行的数据 /// {B3E7633A-D9FB-492f-9D62-D2F7188D5643} /// </summary> /// <param name="activeRow">行号</param> /// <param name="obj">队列实体</param> private void ReLoadFpData(int activeRow, Neusoft.HISFC.Models.Nurse.Queue obj) { //队列名称 this.neuSpread1_Sheet1.SetValue(activeRow, 0, obj.Name, false); //午别 obj.Noon.Name = this.GetNoonNameByID(obj.Noon.ID); this.neuSpread1_Sheet1.SetValue(activeRow, 1, obj.Noon.Name, false); //显示顺序 this.neuSpread1_Sheet1.SetValue(activeRow, 2, obj.Order, false); //是否有效 this.neuSpread1_Sheet1.SetValue(activeRow, 3, obj.IsValid ? "有效" : "无效", false); //队列日期 this.neuSpread1_Sheet1.SetValue(activeRow, 4, obj.QueueDate.ToString("yyyy-MM-dd"), false); //看诊科室 this.neuSpread1_Sheet1.SetValue(activeRow, 5, obj.AssignDept.Name); //看诊医生 obj.Doctor.Name = this.GetDoctNameByID(obj.Doctor.ID); this.neuSpread1_Sheet1.SetValue(activeRow, 6, obj.Doctor.Name, false); //诊室 this.neuSpread1_Sheet1.SetValue(activeRow, 7, obj.SRoom.Name, false); //诊台 this.neuSpread1_Sheet1.SetValue(activeRow, 8, obj.Console.Name, false); //是否专家 if (obj.ExpertFlag == "1") { this.neuSpread1_Sheet1.SetValue(activeRow, 9, "是", false); } else { this.neuSpread1_Sheet1.SetValue(activeRow, 9, "否", false); } //备注 this.neuSpread1_Sheet1.SetValue(activeRow, 10, obj.Memo, false); //操作员 this.neuSpread1_Sheet1.SetValue(activeRow, 11, obj.Oper.ID, false); //操作时间 this.neuSpread1_Sheet1.SetValue(activeRow, 12, this.myQueue.GetDateTimeFromSysDateTime(), false); //队列类型 this.neuSpread1_Sheet1.SetValue(activeRow, 13, obj.User01); this.neuSpread1_Sheet1.Rows[activeRow].Tag = obj; }
/// <summary> /// 如果队列已经存在则返回true /// </summary> /// <param name="queue">队列实体,用于比较</param> /// <returns>true,已经存在</returns> private bool FilterExistQueue(Neusoft.HISFC.Models.Nurse.Queue queue) { Neusoft.HISFC.Models.Nurse.Queue temp = null; for (int i = 0, j = this.neuSpread1_Sheet1.RowCount; i < j; i++) { temp = this.neuSpread1_Sheet1.Rows[i].Tag as Neusoft.HISFC.Models.Nurse.Queue; if (queue.Noon.ID == temp.Noon.ID && queue.QueueDate.Date == temp.QueueDate.Date && queue.AssignDept.ID == temp.AssignDept.ID && queue.Doctor.ID == temp.Doctor.ID && queue.Console.ID == temp.Console.ID && queue.IsValid == temp.IsValid) { return(true); } } return(false); }
/// <summary> /// 赋值 /// </summary> private void timer1_Tick(object sender, EventArgs e) { //专家队列标志 this.rtbcontent.Tag = "0"; ArrayList al = new ArrayList(); Neusoft.HISFC.Models.Nurse.Queue queue = new Neusoft.HISFC.Models.Nurse.Queue(); DateTime current = this.assMgr.GetDateTimeFromSysDateTime().Date; for (int i = nowNum; i < this.queueNum; i++) { nowNum++; if (nowNum >= queueNum) { nowNum = 0; } queue = (Neusoft.HISFC.Models.Nurse.Queue) this.alQueue[nowNum]; if (queue.ExpertFlag == "1") { this.rtbcontent.Tag = "1"; } al = this.assMgr.QueryPatient(current, current.AddDays(1), queue.Console.ID, "1", queue.Doctor.ID); if (al.Count > 0) { break; } } Neusoft.HISFC.BizProcess.Integrate.Manager psMgrt = new Neusoft.HISFC.BizProcess.Integrate.Manager(); Neusoft.HISFC.Models.Base.Employee pst = new Neusoft.HISFC.Models.Base.Employee(); pst = psMgrt.GetEmployeeInfo(queue.Doctor.ID); this.rtbcontent.Text = queue.SRoom.Name + "--" + queue.Console.Name + "[" + pst.Name + "]" + "\n"; for (int i = 0; i < al.Count; i++) { Neusoft.HISFC.Models.Nurse.Assign info = (Neusoft.HISFC.Models.Nurse.Assign)al[i]; this.rtbcontent.Text = this.rtbcontent.Text + "[" + (i + 1).ToString().PadLeft(2, '0') + "]" + this.PadName(info.Register.Name); } }
private int ValidModify(Neusoft.HISFC.Models.Nurse.Queue OldQueue, Neusoft.HISFC.Models.Nurse.Queue Queue) { if (OldQueue.QueueDate != Queue.QueueDate || OldQueue.SRoom.ID != Queue.SRoom.ID || OldQueue.Console.ID != Queue.Console.ID || OldQueue.AssignDept.ID != Queue.AssignDept.ID || OldQueue.Doctor.ID != Queue.Doctor.ID || OldQueue.ExpertFlag != Queue.ExpertFlag || OldQueue.Name != Queue.Name || OldQueue.User01 != Queue.User01 || OldQueue.Noon.ID != Queue.Noon.ID || OldQueue.Order != Queue.Order || OldQueue.IsValid != Queue.IsValid ) { return(-1); } return(1); }
/// <summary> /// 获得修改队列参数列表 /// </summary> /// <param name="obj"></param> /// <returns></returns> public int UpdateQueue(Neusoft.HISFC.Models.Nurse.Queue obj) { string strSql = ""; string[] strParam; if (this.Sql.GetSql("Nurse.Queue.UpdateQueue", ref strSql) == -1) { return(-1); } try { //获取参数列表 strParam = this.myGetParmUpdateQueue(obj); strSql = string.Format(strSql, strParam); } catch (Exception ex) { this.Err = ex.Message; this.ErrCode = ex.Message; return(-1); } return(this.ExecNoQuery(strSql)); }
private void neuButton1_Click(object sender, EventArgs e) { Neusoft.FrameWork.Models.NeuObject obj = this.cmbQueue.SelectedItem; if (obj == null) { MessageBox.Show("请选择分诊队列!", "提示"); this.cmbQueue.Focus(); return; } Neusoft.HISFC.BizProcess.Integrate.Manager deptMgr = new Neusoft.HISFC.BizProcess.Integrate.Manager(); Neusoft.HISFC.Models.Nurse.Assign assgin = new Neusoft.HISFC.Models.Nurse.Assign(); Neusoft.HISFC.Models.Nurse.Queue queueinfo = new Neusoft.HISFC.Models.Nurse.Queue(); queueinfo = (Neusoft.HISFC.Models.Nurse.Queue) this.cmbQueue.SelectedItem; if (this.Register.DoctorInfo.Templet.Dept.ID != queueinfo.AssignDept.ID) { } #region 实体赋值 assgin.Register = this.Register; if (obj.GetType() == typeof(Neusoft.HISFC.Models.Nurse.Queue))//队列 { assgin.Queue = (Neusoft.HISFC.Models.Nurse.Queue)obj; //if (this.Regdoc_id != null && this.Regdoc_id != "") //{ if (assgin.Queue.ExpertFlag == "1" && assgin.Register.DoctorInfo.Templet.RegLevel.IsExpert == false) { if (MessageBox.Show("普通号进诊专家队列" + "是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No) { return; } } if (Neusoft.FrameWork.Function.NConvert.ToBoolean(assgin.Queue.ExpertFlag) == assgin.Register.DoctorInfo.Templet.RegLevel.IsExpert && assgin.Queue.Doctor.ID != this.Regdoc_id) { if (MessageBox.Show("选择医师与挂号医师不一致,是否继续", " ", MessageBoxButtons.OKCancel) == DialogResult.Cancel) { return; } } //} //if (this.Regdoc_id == null || this.Regdoc_id == "") //{ if (assgin.Queue.ExpertFlag == "0" && assgin.Register.DoctorInfo.Templet.RegLevel.IsExpert == true) { if (MessageBox.Show("专家挂号进诊普通队列" + "是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No) { return; } } //} } else { Neusoft.HISFC.Models.Registration.DoctSchema doct = this.GetDoctor(obj.ID); //add by niuxy if (this.Regdoc_id != null && this.Regdoc_id != "") { if (doct.ID != this.Regdoc_id) { if (MessageBox.Show("专家挂号进诊普通队列" + "是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No) { return; } } { if (MessageBox.Show("选择医师与挂号医师不一致,是否继续", " ", MessageBoxButtons.OKCancel) == DialogResult.Cancel) { return; } } } if (this.Regdoc_id == null || this.Regdoc_id == "") { if (assgin.Queue.ExpertFlag == "1") { if (MessageBox.Show("普通号进诊专家队列" + "是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.No) { return; } } } assgin.Queue.ID = obj.ID; assgin.Queue.Name = obj.Name; assgin.Queue.Dept.ID = doct.Dept; assgin.Queue.Doctor = doct.Doctor; assgin.Queue.SRoom = doct.Room; } Neusoft.HISFC.BizLogic.Nurse.Assign a = new Neusoft.HISFC.BizLogic.Nurse.Assign(); assgin.TriageStatus = Neusoft.HISFC.Models.Nurse.EnuTriageStatus.Triage; //assgin.TriageDept = ((Neusoft.HISFC.Models.Base.Employee)Neusoft.FrameWork.Management.Connection.Operator).Nurse.ID; assgin.TriageDept = ((Neusoft.HISFC.Models.Base.Employee)Neusoft.FrameWork.Management.Connection.Operator).Dept.ID; assgin.TirageTime = a.GetDateTimeFromSysDateTime(); // deptMgr.GetDateTimeFromSysDateTime(); assgin.Oper.OperTime = assgin.TirageTime; assgin.Oper.ID = Neusoft.FrameWork.Management.Connection.Operator.ID; // var.User.ID; assgin.Queue.Dept = assgin.Register.DoctorInfo.Templet.Dept; #endregion Neusoft.FrameWork.Management.PublicTrans.BeginTransaction(); //Neusoft.FrameWork.Management.Transaction t = new Neusoft.FrameWork.Management.Transaction(Neusoft.FrameWork.Management.Connection.Instance); //t.BeginTransaction(); string error = ""; if (Function.Triage(assgin, "1", ref error) == -1) { Neusoft.FrameWork.Management.PublicTrans.RollBack(); #region {9EB5D321-AA03-435f-8581-F64F852D2656} MessageBox.Show("无法保存分诊信息,请刷新后重新分诊!", "提示"); //MessageBox.Show(error, "提示"); #endregion return; } Neusoft.FrameWork.Management.PublicTrans.Commit(); if (this.OK != null) { this.OK(assgin); } this.FindForm().Close(); }
/// <summary> /// 根据sql查询队列信息 /// </summary> /// <param name="sql"></param> /// <returns></returns> protected ArrayList Query(string sql) { if (this.ExecQuery(sql) == -1) { this.Err = "基本sql出错!" + sql; this.ErrCode = "基本sql出错!" + sql; return(null); } this.al = new ArrayList(); try { while (this.Reader.Read()) { this.queue = new Neusoft.HISFC.Models.Nurse.Queue(); //所属护士站 this.queue.Dept.ID = this.Reader[0].ToString(); //队列代码 this.queue.ID = this.Reader[1].ToString(); //队列名称 this.queue.Name = this.Reader[2].ToString(); //午别代码 this.queue.Noon.ID = this.Reader[3].ToString(); //队列类型[2007/03/27] this.queue.User01 = this.Reader[4].ToString(); //显示顺序 if (!this.Reader.IsDBNull(5)) { this.queue.Order = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[5].ToString()); } //是否有效 this.queue.IsValid = Neusoft.FrameWork.Function.NConvert.ToBoolean(this.Reader[6].ToString()); //备注 this.queue.Memo = this.Reader[7].ToString(); //操作员 this.queue.Oper.ID = this.Reader[8].ToString(); //操作时间 this.queue.Oper.OperTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.Reader[9].ToString()); //队列日期 this.queue.QueueDate = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.Reader[10].ToString()); //看诊医生 this.queue.Doctor.ID = this.Reader[11].ToString(); //诊室 this.queue.SRoom.ID = this.Reader[12].ToString(); this.queue.SRoom.Name = this.Reader[13].ToString(); //诊台 this.queue.Console.ID = this.Reader[14].ToString(); this.queue.Console.Name = this.Reader[15].ToString(); //专家标志 this.queue.ExpertFlag = this.Reader[16].ToString(); //分诊科室 this.queue.AssignDept.ID = this.Reader[17].ToString(); this.queue.AssignDept.Name = this.Reader[18].ToString(); this.queue.WaitingCount = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[19]); this.al.Add(this.queue); } this.Reader.Close(); } catch (Exception e) { if (!this.Reader.IsClosed) { this.Reader.Close(); } this.Err = "查询门诊护士站分诊队列信息出错!" + e.Message; this.ErrCode = e.Message; return(null); } return(this.al); }