Пример #1
0
        public void Add(AnnualLeaveEntity entity)
        {
            DbParamDict paramDict = new DbParamDict();

            paramDict.Add("strAnnualGUID", entity.ID, ParamDataType.dtString);
            paramDict.Add("strTrainmanNumber", entity.TrainmanNumber, ParamDataType.dtString);
            paramDict.Add("strTrainmanName", entity.TrainmanName, ParamDataType.dtString);
            paramDict.Add("strWorkShopGUID", entity.WorkShopGUID, ParamDataType.dtString);
            paramDict.Add("nYear", entity.Year, ParamDataType.dtInt);
            paramDict.Add("nMonth", entity.Month, ParamDataType.dtInt);
            paramDict.Add("nNeedDays", entity.NeedDays, ParamDataType.dtInt);
            string sql = "select count(*) from TAB_LeaveMgr_AnnualLeave where nYear=@nYear and nMonth=@nMonth and strTrainmanNumber = @strTrainmanNumber";

            object ret = SqlHelper.ExecuteScalar(SqlHelper.ConnString, CommandType.Text, sql, paramDict.GetParams());

            //判断是否已经存在对应月份的记录
            if (Convert.ToInt32(ret) > 0)
            {
                return;
            }


            sql = "insert into TAB_LeaveMgr_AnnualLeave " + paramDict.GetInsertSqlString();

            SqlHelper.ExecuteNonQuery(SqlHelper.ConnString, CommandType.Text, sql, paramDict.GetParams());
        }
Пример #2
0
        public InterfaceOutPut Add(string data)
        {
            ClearOutput();
            AnnualLeaveEntity entity = Newtonsoft.Json.JsonConvert.DeserializeObject <AnnualLeaveEntity>(data);

            new DBAnnualLeave().Add(entity);
            return(output);
        }
Пример #3
0
        public HrmResultEntity <AnnualLeaveEntity> SaveAnnualLeave(AnnualLeaveEntity entity, int type, string dbName)
        {
            var par = new DynamicParameters();

            par.Add("@Id", entity.Id);
            par.Add("@AnnualLeave", entity.AnnualLeave);
            par.Add("@AnnualLeaveSeniority", entity.AnnualLeaveSeniority);
            par.Add("@NumberOfLeaveGranted", entity.NumberOfLeaveGranted);
            par.Add("@HandlingAnnualLeaveBacklog", entity.HandlingAnnualLeaveBacklog);
            par.Add("@DateRemoveSurplusAnnualLeave", entity.DateRemoveSurplusAnnualLeave);
            par.Add("@Type", type);
            par.Add("@DbName", dbName);
            return(ListProcedure <AnnualLeaveEntity>("WorkingdayAnnualLeave_Update_SaveAnnualLeave", par, dbName: dbName));
        }
Пример #4
0
        public List <AnnualLeaveEntity> Get(AnnualQC Condition)
        {
            List <AnnualLeaveEntity> ret = new List <AnnualLeaveEntity>();

            string sql = @"select *, 
                        (case nLeaveState  
                        when 2 then DATEDIFF( day , dtLeaveTime,dtUnleaveTime)  
                        else DATEDIFF( day , dtLeaveTime,getdate())  
                        end) as nLeaveDays 
                        from TAB_LeaveMgr_AnnualLeave where ";



            DbCDBuilder <AnnualQC> ConditionBuilder = new DbCDBuilder <AnnualQC>();

            DbParamDict paramDict = new DbParamDict();


            paramDict.Add("strAnnualGUID", Condition.ID, ParamDataType.dtString);
            paramDict.Add("nMonth", Condition.Month, ParamDataType.dtInt);
            paramDict.Add("nYear", Condition.Year, ParamDataType.dtInt);
            paramDict.Add("strWorkShopGUID", Condition.WorkShopGUID, ParamDataType.dtString);
            paramDict.Add("strTrainmanNumber", Condition.TrainmanNumber, ParamDataType.dtString);
            paramDict.Add("nState", Condition.State, ParamDataType.dtInt);

            string strCondition = " 1=1 ";

            if (!string.IsNullOrEmpty(Condition.ID))
            {
                strCondition += " and strAnnualGUID = @strAnnualGUID ";
            }

            if (Condition.Month > 0)
            {
                strCondition += " and nMonth = @nMonth ";
            }

            if (Condition.Year > 0)
            {
                strCondition += " and nYear = @nYear ";
            }

            if (!string.IsNullOrEmpty(Condition.WorkShopGUID))
            {
                strCondition += " and strWorkShopGUID = @strWorkShopGUID ";
            }

            if (!string.IsNullOrEmpty(Condition.TrainmanNumber))
            {
                strCondition += " and strTrainmanNumber = @strTrainmanNumber ";
            }

            strCondition += " and nState = @nState ";



            DataTable         dt = SqlHelper.ExecuteDataset(SqlHelper.ConnString, CommandType.Text, sql + strCondition, paramDict.GetParams()).Tables[0];
            AnnualLeaveEntity LeaveEntity;

            foreach (DataRow dr in dt.Rows)
            {
                LeaveEntity                = new AnnualLeaveEntity();
                LeaveEntity.ID             = DBConvert.ToString(dr["strAnnualGUID"]);
                LeaveEntity.TrainmanNumber = DBConvert.ToString(dr["strTrainmanNumber"]);
                LeaveEntity.TrainmanName   = DBConvert.ToString(dr["strTrainmanName"]);
                LeaveEntity.WorkShopGUID   = DBConvert.ToString(dr["strWorkShopGUID"]);
                LeaveEntity.Year           = DBConvert.ToInt(dr["nYear"]);
                LeaveEntity.Month          = DBConvert.ToInt(dr["nMonth"]);
                LeaveEntity.LeaveState     = DBConvert.ToInt(dr["nLeaveState"]);
                LeaveEntity.LeaveDays      = DBConvert.ToInt(dr["nLeaveDays"]);
                if (dr["nNeedDays"] != DBNull.Value)
                {
                    LeaveEntity.NeedDays = DBConvert.ToInt(dr["nNeedDays"]);
                }

                //有些非正常记录,请假开始时间大于当前时间或开始时间大于结束时间
                if (LeaveEntity.LeaveDays < 0)
                {
                    LeaveEntity.LeaveDays = 0;
                }
                LeaveEntity.CreateTime = DBConvert.ToDateTime_N(dr["dtCreateTime"]);

                if (dr["strDelReason"] != DBNull.Value)
                {
                    LeaveEntity.DelReason = dr["strDelReason"].ToString();
                }


                ret.Add(LeaveEntity);
            }


            return(ret);
        }