示例#1
0
        /// <summary>
        /// 增加排班记录
        /// </summary>
        /// <param name="schema"></param>
        /// <returns></returns>
        public int Insert(Neusoft.HISFC.Models.Registration.DoctSchema schema)
        {
            string sql = "";

            if (this.Sql.GetSql("Registration.DoctSchema.Insert.1", ref sql) == -1)
            {
                return(-1);
            }

            try
            {
                sql = string.Format(sql, schema.SeeDate, schema.Week, schema.NoonID, schema.Doctor.ID,
                                    schema.Doctor.Name, schema.Dept, schema.Room.ID, schema.Room.Name,
                                    schema.Estrade, schema.DoctType, schema.RegLevel, schema.RegLimit,
                                    schema.PreRegLimit, Neusoft.FrameWork.Function.NConvert.ToInt32(schema.IsValid), schema.StopReason.ID, schema.StopReason.Name,
                                    schema.StopID, schema.StopDate, schema.Memo, schema.OperID,
                                    schema.ID);


                return(this.ExecNoQuery(sql));
            }
            catch (Exception e)
            {
                this.Err     = "插入医生出诊信息表出错!" + e.Message;
                this.ErrCode = e.Message;
                return(-1);
            }
        }
示例#2
0
        /// <summary>
        /// 按sql查询排班信息
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        private ArrayList QuerySchema(string sql)
        {
            al = new ArrayList();
            try
            {
                if (this.ExecQuery(sql) == -1)
                {
                    return(null);
                }
                while (this.Reader.Read())
                {
                    schema         = new Neusoft.HISFC.Models.Registration.DoctSchema();
                    schema.SeeDate = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.Reader[2].ToString()); //出诊时间

                    schema.NoonID      = this.Reader[4].ToString();                                             //午别
                    schema.Doctor.ID   = this.Reader[5].ToString();                                             //医生代码
                    schema.Doctor.Name = this.Reader[6].ToString();                                             //医生名称
                    schema.Dept        = this.Reader[7].ToString();                                             //出诊科室
                    schema.Room.Name   = this.Reader[9].ToString();                                             //诊室
                    schema.Estrade     = this.Reader[10].ToString();                                            //诊台
                    schema.DoctType    = this.Reader[11].ToString();                                            //医生类别
                    schema.RegLevel    = this.Reader[12].ToString();                                            //挂号级别

                    if (this.Reader.IsDBNull(13) == false)
                    {
                        schema.RegLimit = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[13].ToString());                      //挂号限额
                    }
                    if (this.Reader.IsDBNull(14) == false)
                    {
                        schema.PreRegLimit = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[14].ToString()); //预约挂号限额
                    }
                    schema.HasReg          = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[16].ToString()); //已挂
                    schema.HasPreReg       = Neusoft.FrameWork.Function.NConvert.ToInt32(this.Reader[17].ToString()); //预约已挂
                    schema.IsValid         = Neusoft.FrameWork.Function.NConvert.ToBoolean(this.Reader[20].ToString());
                    schema.StopReason.ID   = this.Reader[21].ToString();
                    schema.StopReason.Name = this.Reader[22].ToString();         //停诊原因
                    schema.StopID          = this.Reader[23].ToString();         //停止人

                    if (this.Reader.IsDBNull(24) == false)
                    {
                        schema.StopDate = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.Reader[24].ToString());
                    }
                    schema.Memo     = this.Reader[25].ToString();              //备注
                    schema.OperID   = this.Reader[26].ToString();              //操作时间
                    schema.OperDate = Neusoft.FrameWork.Function.NConvert.ToDateTime(this.Reader[27].ToString());
                    schema.ID       = this.Reader[28].ToString();

                    al.Add(schema);
                }
                this.Reader.Close();
            }
            catch (Exception e)
            {
                this.Err     = "获取医生出诊排班信息出错!" + e.Message;
                this.ErrCode = e.Message;
                return(null);
            }
            return(al);
        }
示例#3
0
        /// <summary>
        /// 删除排班记录
        /// </summary>
        /// <param name="schema"></param>
        /// <returns></returns>
        public int Delete(Neusoft.HISFC.Models.Registration.DoctSchema schema)
        {
            string sql = "";

            if (this.Sql.GetSql("Registration.DoctSchema.Delete.1", ref sql) == -1)
            {
                return(-1);
            }

            try
            {
                sql = string.Format(sql, schema.ID);

                return(this.ExecNoQuery(sql));
            }
            catch (Exception e)
            {
                this.Err     = "删除医生出诊排班信息时出错!" + e.Message;
                this.ErrCode = e.Message;
                return(-1);
            }
        }
示例#4
0
        /// <summary>
        /// 更新排班记录
        /// </summary>
        /// <param name="schema"></param>
        /// <returns></returns>
        public int Update(Neusoft.HISFC.Models.Registration.DoctSchema schema)
        {
            string sql = "";

            if (this.Sql.GetSql("Registration.DoctSchema.Update.1", ref sql) == -1)
            {
                return(-1);
            }

            try
            {
                sql = string.Format(sql, schema.ID, schema.RegLimit, schema.PreRegLimit, Neusoft.FrameWork.Function.NConvert.ToInt32(schema.IsValid),
                                    schema.StopReason.ID, schema.StopReason.Name, schema.StopID, schema.StopDate.ToString());

                return(this.ExecNoQuery(sql));
            }
            catch (Exception e)
            {
                this.Err     = "更新医生出诊排班信息时出错!" + e.Message;
                this.ErrCode = e.Message;
                return(-1);
            }
        }
示例#5
0
        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();
        }