예제 #1
0
        /// <summary>
        /// 出勤类别基本查询
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        private int QueryType(string sql)
        {
            if (this.ExecQuery(sql) == -1)
            {
                return(-1);
            }

            al = new ArrayList();
            while (Reader.Read())
            {
                worktype           = new neusoft.HISFC.Object.Registration.WorkType();
                worktype.ID        = Reader[2].ToString();       //id
                worktype.Name      = Reader[3].ToString();       //Name
                worktype.SpellCode = Reader[4].ToString();       //拼音码
                worktype.ClassID   = Reader[5].ToString();       //大类代码
                worktype.Sign      = Reader[6].ToString();       //简称
                if (Reader.IsDBNull(7) == false)
                {
                    worktype.BeginTime = DateTime.Parse(Reader[7].ToString());
                }
                if (Reader.IsDBNull(8) == false)
                {
                    worktype.EndTime = DateTime.Parse(Reader[8].ToString());
                }
                if (Reader.IsDBNull(9) == false)
                {
                    worktype.Quotiety = decimal.Parse(Reader[9].ToString());                                       //扣款系数
                }
                if (Reader.IsDBNull(10) == false)
                {
                    worktype.PositiveDays = decimal.Parse(Reader[10].ToString());                                        //出勤权值
                }
                if (Reader.IsDBNull(11) == false)
                {
                    worktype.MinusDays = decimal.Parse(Reader[11].ToString()); //缺勤权值
                }
                worktype.Memo = Reader[12].ToString();                         //备注
                if (Reader.IsDBNull(13) == false)
                {
                    worktype.Isvalid = neusoft.neuFC.Function.NConvert.ToBoolean(Reader[13].ToString());
                }
                worktype.OperID = Reader[14].ToString();              //操作员
                if (Reader.IsDBNull(15) == false)
                {
                    worktype.OperDate = DateTime.Parse(Reader[15].ToString());
                }
                worktype.ForeColor = Reader[16].ToString();              //前景色

                al.Add(worktype);
            }
            Reader.Close();
            return(0);
        }
예제 #2
0
        /// <summary>
        /// 插入科常用出勤类别_goa_med_depttype,出勤类别实体,实体只要赋值id,OperID
        /// </summary>
        /// <param name="deptID"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public int Insert(string deptID, neusoft.HISFC.Object.Registration.WorkType type)
        {
            #region sql
            //			 INSERT INTO goa_med_depttype   --科常用出勤类型表
            //          ( parent_code,   --父级医疗机构编码
            //            current_code,   --本机医疗机构编码
            //            dept_code,   --科室编码
            //            id,   --出勤类型编码
            //            oper_code,   --操作员
            //            oper_date )  --操作日期
            //     VALUES
            //          ( '[父级编码]',   --父级医疗机构编码
            //            '[本级编码]',   --本机医疗机构编码
            //            '{0}',   --科室编码
            //            '{1}',   --出勤类型编码
            //            '{2}',   --操作员
            //            sysdate ) --操作日期
            #endregion
            string sql = "";
            if (this.Sql.GetSql("Registration.Tabulation.Insert.2", ref sql) == -1)
            {
                return(-1);
            }

            try
            {
                sql = string.Format(sql, deptID, type.ID, type.OperID);
                return(this.ExecNoQuery(sql));
            }
            catch (Exception e)
            {
                this.Err     = "插入科常用出勤表出错![Registration.Tabulation.Insert.2]" + e.Message;
                this.ErrCode = e.Message;
                return(-1);
            }
        }
예제 #3
0
        /// <summary>
        /// 出勤类别实体合法性验证
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        private int valid(neusoft.HISFC.Object.Registration.WorkType type)
        {
            type.Quotiety = decimal.Round(type.Quotiety, 2);         //取小数两位
            if (type.Quotiety > 99.99m || type.Quotiety < 0m)
            {
                this.Err = "类别扣款系数必须小于100,且大于0!";
                return(-1);
            }
            type.PositiveDays = decimal.Round(type.PositiveDays, 1);
            if (type.PositiveDays < 0m || type.PositiveDays > 99.9m)
            {
                this.Err = "出勤系数必须小于100,且大于0!";
                return(-1);
            }
            type.MinusDays = decimal.Round(type.MinusDays, 1);
            if (type.MinusDays < 0m || type.MinusDays > 99.9m)
            {
                this.Err = "缺勤系数必须小于100,且大于0!";
                return(-1);
            }

            if (neusoft.neuFC.Public.String.ValidMaxLengh(type.Name, 20) == false)
            {
                this.Err = "出勤类别名称不大于10个汉字!";
                return(-1);
            }
            if (type.Name == null || type.Name == "")
            {
                this.Err = "出勤类别名称不能为空!";
                return(-1);
            }
            if (neusoft.neuFC.Public.String.ValidMaxLengh(type.Memo, 100) == false)
            {
                this.Err = "备注必须不大于50个汉字!";
                return(-1);
            }
            if (neusoft.neuFC.Public.String.ValidMaxLengh(type.SpellCode, 8) == false)
            {
                this.Err = "拼音码必须不大于8个字符!";
                return(-1);
            }
            if (neusoft.neuFC.Public.String.ValidMaxLengh(type.ClassID, 2) == false)
            {
                this.Err = "出勤大类编码必须不大于2个字符!";
                return(-1);
            }
            if (type.ClassID == null || type.ClassID == "")
            {
                this.Err = "出勤大类编码不能为空!";
                return(-1);
            }
            if (neusoft.neuFC.Public.String.ValidMaxLengh(type.Sign, 8) == false)
            {
                this.Err = "简称必须不大于8个字符!";
                return(-1);
            }
            if (neusoft.neuFC.Public.String.ValidMaxLengh(type.ID, 3) == false)
            {
                this.Err = "出勤类别编码不大于3个字符!";
                return(-1);
            }
            if (type.ID == null || type.ID == "")
            {
                this.Err = "出勤类别编码不能为空!";
                return(-1);
            }

            return(0);
        }
예제 #4
0
        /// <summary>
        /// 插入出勤类别_goa_med_worktype
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public int Insert(neusoft.HISFC.Object.Registration.WorkType type)
        {
            #region sql
            //			INSERT INTO goa_med_worktype   --出勤类型表
            //          ( parent_code,   --父级医疗机构编码
            //            current_code,   --本机医疗机构编码
            //            id,   --出勤类型编码
            //            name,   --出勤类型名称
            //            spell_code,   --拼音码
            //            class_code,   --出勤类型大类
            //            sign,   --出勤类型符号
            //            begin_time,   --出勤起始时间
            //            end_time,   --出勤结束时间
            //            re_quotiety,   --扣款系数
            //            positive_days,   --相应出勤天数
            //            minus_days,   --相应缺勤天数
            //            remark,   --备注
            //            valid_flag,   --有效 1是/0否
            //            oper_code,   --操作员
            //            oper_date )  --操作日期
            //     VALUES
            //          ( '[父级编码]',   --父级医疗机构编码
            //            '[本级编码]',   --本机医疗机构编码
            //            '{0}',   --出勤类型编码
            //            '{1}',   --出勤类型名称
            //            '{2}',   --拼音码
            //            '{3}',   --出勤类型大类
            //            '{4}',   --出勤类型符号
            //            to_date('{5}','yyyy-mm-dd HH24:mi:ss'),   --出勤起始时间
            //            to_date('{6}','yyyy-mm-dd HH24:mi:ss'),   --出勤结束时间
            //            '{7}',   --扣款系数
            //            '{8}',   --相应出勤天数
            //            '{9}',   --相应缺勤天数
            //            '{10}',   --备注
            //            '{11}',   --有效 1是/0否
            //            '{12}',   --操作员
            //            sysdate) --操作日期
            #endregion
            string sql = "";
            if (this.Sql.GetSql("Registration.Tabulation.Insert.1", ref sql) == -1)
            {
                return(-1);
            }

            #region 验证
            if (valid(type) == -1)
            {
                return(-1);
            }
            #endregion
            try
            {
                sql = string.Format(sql, type.ID, type.Name, type.SpellCode, type.ClassID,
                                    type.Sign, type.BeginTime.ToString(), type.EndTime.ToString(), type.Quotiety.ToString(),
                                    type.PositiveDays.ToString(), type.MinusDays.ToString(), type.Memo, neusoft.neuFC.Function.NConvert.ToInt32(type.Isvalid),
                                    type.OperID, type.ForeColor);
                return(this.ExecNoQuery(sql));
            }
            catch (Exception e)
            {
                this.Err     = "插入出勤类别表出错![Registration.Tabulation.Insert.1]" + e.Message;
                this.ErrCode = e.Message;
                return(-1);
            }
        }