Exemplo n.º 1
0
        /// <summary>
        /// 排班的基本查询
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        private int QueryTabular(string sql)
        {
            if (this.ExecQuery(sql) == -1)
            {
                return(-1);
            }

            al = new ArrayList();
            while (Reader.Read())
            {
                tabulation              = new Neusoft.HISFC.Models.Registration.Tabulation();
                tabulation.EmplID       = Reader[2].ToString();                                                 //员工代码
                tabulation.DeptID       = Reader[3].ToString();                                                 //科室代码
                tabulation.Workdate     = Neusoft.FrameWork.Function.NConvert.ToDateTime(Reader[4].ToString()); //出勤日期
                tabulation.Kind.ID      = Reader[5].ToString();                                                 //出勤类别
                tabulation.Kind.Name    = Reader[6].ToString();                                                 //出勤类别名称
                tabulation.Kind.ClassID = Reader[7].ToString();                                                 //大类编码
                if (Reader.IsDBNull(8) == false)
                {
                    tabulation.Kind.BeginTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(Reader[8].ToString());
                }
                if (Reader.IsDBNull(9) == false)
                {
                    tabulation.Kind.EndTime = Neusoft.FrameWork.Function.NConvert.ToDateTime(Reader[9].ToString());
                }
                if (Reader.IsDBNull(10) == false)
                {
                    tabulation.Kind.MinusDays = Neusoft.FrameWork.Function.NConvert.ToDecimal(Reader[10].ToString());
                }
                if (Reader.IsDBNull(11) == false)
                {
                    tabulation.Kind.PositiveDays = Neusoft.FrameWork.Function.NConvert.ToDecimal(Reader[11].ToString());
                }
                tabulation.arrangeID = Reader[12].ToString();           //排班序号
                tabulation.OperID    = Reader[13].ToString();           //操作员
                if (Reader.IsDBNull(14) == false)
                {
                    tabulation.OperDate = Neusoft.FrameWork.Function.NConvert.ToDateTime(Reader[14].ToString()); //操作时间
                }
                tabulation.Memo   = Reader[16].ToString();                                                       //备注
                tabulation.SortID = Neusoft.FrameWork.Function.NConvert.ToInt32(Reader[17].ToString());

                al.Add(tabulation);
            }
            Reader.Close();

            return(0);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取当前排班信息
        /// </summary>
        /// <returns></returns>
        public ArrayList getTabular()
        {
            al = new ArrayList();
            //安排序号
            string arrangeID = DateTime.Parse(fpSpread1_Sheet1.ColumnHeader.Cells[0, 2].Text).ToString("yyyyMMdd") +
                               DateTime.Parse(fpSpread1_Sheet1.ColumnHeader.Cells[0, 8].Text).ToString("yyyyMMdd");
            string deptID = this.Tag.ToString();//科室代码

            for (int i = 0; i < fpSpread1_Sheet1.RowCount; i++)
            {
                //员工代码
                string emplID = (fpSpread1_Sheet1.GetTag(i, 1) as Neusoft.HISFC.Models.Base.Employee).ID;

                for (int j = 2; j < 9; j++)
                {
                    if (fpSpread1_Sheet1.GetTag(i, j) != null)
                    {
                        //排班日期
                        DateTime workDate = DateTime.Parse(fpSpread1_Sheet1.ColumnHeader.Cells[0, j].Text);

                        tabular      = new Neusoft.HISFC.Models.Registration.Tabulation();
                        tabular.Kind = (Neusoft.HISFC.Models.Registration.WorkType)fpSpread1_Sheet1.GetTag(i, j);
                        //
                        tabular.arrangeID = arrangeID; //安排序号
                        tabular.DeptID    = deptID;    //科室
                        tabular.EmplID    = emplID;
                        tabular.Workdate  = workDate;
                        tabular.Memo      = fpSpread1_Sheet1.GetNote(i, j);
                        tabular.SortID    = i;

                        al.Add(tabular);
                    }
                }
            }
            return(al);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 插入排班_goa_med_tabulation
        /// </summary>
        /// <param name="tabular"></param>
        /// <returns></returns>
        public int Insert(Neusoft.HISFC.Models.Registration.Tabulation tabular)
        {
            #region sql

            /*INSERT INTO goa_med_tabular   --排班表
             * ( parent_code,   --父级医疗机构编码
             * current_code,   --本机医疗机构编码
             * empl_code,   --员工编号
             * dept_code,   --科室编码
             * work_date,   --出勤日期
             * worktype_id,   --出勤类型
             * worktype_name,   --出勤类型名称
             * class_code,   --排班大类
             * begin_time,   --出勤类型起始时间
             * end_time,   --出勤类型结束时间
             * minus_days,   --矿工天数权值
             * positive_days,   --出勤天数权值
             * arrange_code,   --排班序号-排班开始时间+结束时间
             * oper_code,   --排班人
             * oper_date,   --排班时间
             * check_flag,   --是否审核 1是/0否
             * remark )  --备注
             * VALUES
             * ( '[父级编码]',   --父级医疗机构编码
             * '[本级编码]',   --本机医疗机构编码
             * '{0}',   --员工编号
             * '{1}',   --科室编码
             * to_date('{2}','yyyy-mm-dd HH24:mi:ss'),   --出勤日期
             * '{3}',   --出勤类型
             * '{4}',   --出勤类型名称
             * '{5}',   --排班大类
             * to_date('{6}','yyyy-mm-dd HH24:mi:ss'),   --出勤类型起始时间
             * to_date('{7}','yyyy-mm-dd HH24:mi:ss'),   --出勤类型结束时间
             * '{8}',   --矿工天数权值
             * '{9}',   --出勤天数权值
             * '{10}',   --排班序号-排班开始时间+结束时间
             * '{11}',   --排班人
             * sysdate,   --排班时间
             * '{12}',   --是否审核 1是/0否
             * '{13}' ) --备注*/
            #endregion
            string sql = "";
            if (this.Sql.GetSql("Registration.Tabulation.Insert.3", ref sql) == -1)
            {
                return(-1);
            }

            if (Neusoft.FrameWork.Public.String.ValidMaxLengh(tabular.Memo, 100) == false)
            {
                this.Err = "备注不能大于50个字符!";
                return(-1);
            }

            try
            {
                sql = string.Format(sql, tabular.EmplID, tabular.DeptID, tabular.Workdate.ToString(), tabular.Kind.ID,
                                    tabular.Kind.Name, tabular.Kind.ClassID, tabular.Kind.BeginTime.ToString(), tabular.Kind.EndTime.ToString(),
                                    tabular.Kind.MinusDays.ToString(), tabular.Kind.PositiveDays.ToString(), tabular.arrangeID, tabular.OperID,
                                    "0", tabular.Memo, tabular.SortID);

                return(this.ExecNoQuery(sql));
            }
            catch (Exception e)
            {
                this.Err     = "插入排班信息表出错![Registration.Tabulation.Insert.3]" + e.Message;
                this.ErrCode = e.Message;
                return(-1);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <returns></returns>
        public int Save()
        {
            //验证
            if (valid() == -1)
            {
                return(-1);
            }

            //安排序号
            string arrangeID = DateTime.Parse(fpSpread1_Sheet1.ColumnHeader.Cells[0, 2].Text).ToString("yyyyMMdd") +
                               DateTime.Parse(fpSpread1_Sheet1.ColumnHeader.Cells[0, 8].Text).ToString("yyyyMMdd");
            string deptID = this.Tag.ToString();//科室代码

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

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

            tabMgr.SetTrans(Neusoft.FrameWork.Management.PublicTrans.Trans);

            try
            {
                //删除已经保存的排班记录
                if (tabMgr.DeleteTabular(arrangeID, deptID) == -1)
                {
                    Neusoft.FrameWork.Management.PublicTrans.RollBack();
                    MessageBox.Show(this.tabMgr.Err, "提示");
                    return(-1);
                }
                //添加排班记录
                for (int i = 0; i < fpSpread1_Sheet1.RowCount; i++)
                {
                    //员工代码
                    string emplID = (fpSpread1_Sheet1.GetTag(i, 1) as Neusoft.HISFC.Models.Base.Employee).ID;

                    for (int j = 2; j < 9; j++)
                    {
                        if (fpSpread1_Sheet1.GetTag(i, j) != null)
                        {
                            //排班日期
                            DateTime workDate = DateTime.Parse(fpSpread1_Sheet1.ColumnHeader.Cells[0, j].Text);

                            tabular      = new Neusoft.HISFC.Models.Registration.Tabulation();
                            tabular.Kind = (Neusoft.HISFC.Models.Registration.WorkType)fpSpread1_Sheet1.GetTag(i, j);
                            //
                            tabular.arrangeID = arrangeID; //安排序号
                            tabular.DeptID    = deptID;    //科室
                            tabular.EmplID    = emplID;
                            tabular.Workdate  = workDate;
                            tabular.OperID    = var.ID;
                            tabular.Memo      = fpSpread1_Sheet1.GetNote(i, j);
                            tabular.SortID    = 2 * i;

                            if (tabMgr.Insert(tabular) == -1)
                            {
                                Neusoft.FrameWork.Management.PublicTrans.RollBack();
                                MessageBox.Show(tabMgr.Err, "提示");
                                return(-1);
                            }
                        }
                    }
                }
                Neusoft.FrameWork.Management.PublicTrans.Commit();
            }
            catch (Exception e)
            {
                Neusoft.FrameWork.Management.PublicTrans.RollBack();
                MessageBox.Show(e.Message, "提示");
                return(-1);
            }

            MessageBox.Show("安排成功!", "提示");

            return(0);
        }
Exemplo n.º 5
0
 /// <summary>
 /// 插入排班_goa_med_tabulation
 /// </summary>
 /// <param name="tabular"></param>
 /// <returns></returns>
 public int Insert(Neusoft.HISFC.Models.Registration.Tabulation tabular)
 {
     this.SetDB(tabulationManager);
     return(tabulationManager.Insert(tabular));
 }