예제 #1
0
        public ApiBaseResult PathTest()
        {
            ApiBaseResult result = new ApiBaseResult();

            result.data = HttpContext.Current.Server.MapPath("~/");
            return(result);
        }
예제 #2
0
        public ApiBaseResult LeaveLesson([FromBody] LeaveClassModel data)
        {
            ApiBaseResult result;

            if (data != null)
            {
                if (data.Check())
                {
                    result = Check(data.access_token);
                    if (result == null)
                    {
                        return(leaveClass(data));
                    }
                    else
                    {
                        return(result);
                    }
                }
                else
                {
                    result          = new ApiBaseResult();
                    result.result   = "error";
                    result.messages = "参数格式错误或缺少参数!";
                    return(result);
                }
            }
            else
            {
                result          = new ApiBaseResult();
                result.result   = "error";
                result.messages = "参数错误!";
                return(result);
            }
        }
예제 #3
0
        public ApiBaseResult PrintLeave(string access_token, string LV_NUM)
        {
            ApiBaseResult result = Check(access_token);

            if (result == null)
            {
                result = new ApiBaseResult();

                #region 检查此人是否有打印此请假条的权限
                string[] sArray     = access_token.Split('_');
                string   UserID     = sArray[0];
                string   GuidString = sArray[1];

                var accountList = from T_Account in db.T_Account where (T_Account.YB_AccessToken == GuidString) select T_Account;
                if (accountList.Any())
                {
                    T_Account accountModel = accountList.ToList().First();
                    if (accountModel.RoleID.ToString().Trim() == "1")
                    {
                        var leavelist = from vw_LeaveList in db.vw_LeaveList
                                        where (vw_LeaveList.StudentID == accountModel.ID && vw_LeaveList.ID == LV_NUM)
                                        select vw_LeaveList;
                        if (leavelist.Any())
                        {
                            string url = UpLoadQiNiu.UpLoadData(Print.Print_Form(LV_NUM), LV_NUM);
                            if (url != null)
                            {
                                result.result = "success";
                                result.data   = url;
                            }
                            else
                            {
                                result.result   = "error";
                                result.messages = "出现错误,请联系系统维护人员";
                            }
                        }
                        else
                        {
                            result.result   = "error";
                            result.messages = "您没有请假单号为" + LV_NUM + "此条请假记录";
                        }
                    }
                    else
                    {
                        result.result   = "error";
                        result.messages = "此接口仅支持学生账号访问";
                    }
                }
                else
                {
                    result.result   = "error";
                    result.messages = "出现未知错误,请联系维护人员";
                }
                #endregion
            }
            return(result);
        }
예제 #4
0
        public ApiBaseResult Revoke(string leavelistID, string access_token)
        {
            ApiBaseResult result = Check(access_token);

            if (result == null)
            {
                result = new ApiBaseResult();

                if (leavelistID == null)
                {
                    result.result   = "error";
                    result.messages = "参数格式错误或缺少参数!";
                    return(result);
                }

                #region 获取数据

                string UserID = access_token.Substring(0, access_token.IndexOf("_"));

                var list = from T_LeaveList in db.T_LeaveList where ((T_LeaveList.StudentID == UserID) && (T_LeaveList.ID == leavelistID)) select T_LeaveList;//注意,不能删除其他人的请假记录

                if (list.Any())
                {
                    T_LeaveList ll = db.T_LeaveList.Find(leavelistID);
                    if (ll.StateBack == "0" && ll.StateLeave == "0")
                    {
                        db.T_LeaveList.Remove(ll);
                        db.SaveChanges();
                        result.result   = "success";
                        result.messages = "撤回成功!";
                    }
                    else
                    {
                        result.result   = "error";
                        result.messages = "非待审核状态,不能撤回!";
                    }
                }
                else
                {
                    result.result   = "error";
                    result.messages = "该条请假记录不存在!";
                }

                #endregion

                return(result);
            }
            else
            {
                return(result);
            }
        }
예제 #5
0
        public ApiBaseResult Me(string access_token)
        {
            ApiBaseResult result = Check(access_token);

            if (result == null)
            {
                result = new ApiBaseResult();

                #region 获取用户信息

                string UserID = access_token.Substring(0, access_token.IndexOf("_"));

                var studentInfo = from vw_Student in db.vw_Student where (vw_Student.ST_Num == UserID) select vw_Student;
                if (studentInfo.Any())
                {
                    vw_Student student = studentInfo.ToList().First();

                    //创建数据模型
                    UserInfo userInfo = new UserInfo();
                    userInfo.UserID          = student.ST_Num;
                    userInfo.UserName        = student.ST_Name;
                    userInfo.UserClass       = (student.ST_Class == null) ? "" : student.ST_Class;
                    userInfo.UserYear        = (student.ST_Grade == null) ? "" : student.ST_Grade;
                    userInfo.UserTeacherID   = (student.ST_TeacherID == null) ? "" : student.ST_TeacherID;
                    userInfo.UserTeacherName = (student.ST_Teacher == null) ? "" : student.ST_Teacher;
                    userInfo.UserTel         = (student.ST_Tel == null) ? "" : student.ST_Tel;
                    userInfo.UserQQ          = (student.ST_QQ == null) ? "" : student.ST_QQ;
                    userInfo.UserEmail       = (student.ST_Email == null) ? "" : student.ST_Email;
                    userInfo.UserSex         = (student.ST_Sex == null) ? "" : student.ST_Sex;
                    userInfo.UserDoor        = (student.ST_Dor == null) ? "" : student.ST_Dor;
                    userInfo.ContactName     = (student.ContactOne == null) ? "" : student.ContactOne;
                    userInfo.ContactTel      = (student.OneTel == null) ? "" : student.OneTel;
                    userInfo.IsFreshman      = (ConfigurationManager.AppSettings["FreshmanYear"].ToString().Trim() == student.ST_Grade.ToString().Trim()) ? "true" : "false";

                    result.result = "success";
                    result.data   = userInfo;
                }
                else
                {
                    result.result   = "error";
                    result.messages = "出现未知错误、请联系管理员";
                }

                #endregion

                return(result);
            }
            else
            {
                return(result);
            }
        }
예제 #6
0
        public ApiBaseResult PassWord([FromBody] ChangePsdModel PsdModel)
        {
            ApiBaseResult result;

            if (PsdModel != null)
            {
                if (PsdModel.old_psd == null || PsdModel.new_psd == null || PsdModel.access_token == null)
                {
                    result          = new ApiBaseResult();
                    result.result   = "error";
                    result.messages = "参数格式错误或缺少参数!";
                    return(result);
                }
            }
            else
            {
                result          = new ApiBaseResult();
                result.result   = "error";
                result.messages = "参数格式错误或缺少参数!";
                return(result);
            }

            result = Check(PsdModel.access_token);
            if (result == null)
            {
                result = new ApiBaseResult();

                string    StudentID = PsdModel.access_token.Substring(0, PsdModel.access_token.IndexOf("_"));
                T_Account account   = db.T_Account.Find(StudentID);
                if (account.Psd == PsdModel.old_psd)
                {
                    account.Psd = PsdModel.new_psd;
                    db.SaveChanges();

                    result.result = "success";
                }
                else
                {
                    result.result   = "error";
                    result.messages = "原密码错误,修改密码失败";
                }
                return(result);
            }
            else
            {
                return(result);
            }
        }
예제 #7
0
        public ApiBaseResult Holiaday(string access_token)
        {
            ApiBaseResult result = Check(access_token);

            if (result == null)
            {
                result = new ApiBaseResult();

                #region 获取数据

                Holiday holiday = new Holiday();

                string UserID      = access_token.Substring(0, access_token.IndexOf("_"));
                var    studentInfo = from vw_Student in db.vw_Student where (vw_Student.ST_Num == UserID) select vw_Student;
                if (studentInfo.Any())
                {
                    string TeacherID = studentInfo.ToList().First().ST_TeacherID;
                    holiday.TeacherID = TeacherID;

                    var deadLineList = from T_Deadline in db.T_Deadline where ((T_Deadline.TeacherID == TeacherID) && (T_Deadline.TypeID == 1)) select T_Deadline;
                    if (deadLineList.Any())
                    {
                        holiday.DeadLine = deadLineList.ToList().First().Time.ToString();
                        result.result    = "success";
                        result.data      = holiday;
                    }
                    else
                    {
                        result.result   = "error";
                        result.messages = "未设置节假日请假截止时间,请联系辅导员";
                    }
                }
                else
                {
                    result.result   = "error";
                    result.messages = "出现未知错误、请联系管理员";
                }

                #endregion

                return(result);
            }
            else
            {
                return(result);
            }
        }
예제 #8
0
        public ApiBaseResult ChangeInfo([FromBody] ChangeInfoModel changeInfo)
        {
            ApiBaseResult result;

            if (changeInfo != null)
            {
                if (!changeInfo.CheckInfo())
                {
                    result          = new ApiBaseResult();
                    result.result   = "error";
                    result.messages = "参数格式错误或缺少参数!";
                    return(result);
                }
            }
            else
            {
                result          = new ApiBaseResult();
                result.result   = "error";
                result.messages = "参数格式错误或缺少参数!";
                return(result);
            }

            result = Check(changeInfo.access_token);
            if (result == null)
            {
                result = new ApiBaseResult();

                string    StudentID = changeInfo.access_token.Substring(0, changeInfo.access_token.IndexOf("_"));
                T_Student student   = db.T_Student.Find(StudentID);
                student.Tel        = changeInfo.ST_Tel;
                student.QQ         = changeInfo.ST_QQ;
                student.Email      = changeInfo.ST_Email;
                student.ContactOne = changeInfo.ST_Guardian + "-" + changeInfo.ST_GuardianName;
                student.OneTel     = changeInfo.ST_GuardianTel;
                db.SaveChanges();

                result.result = "success";

                return(result);
            }
            else
            {
                return(result);
            }
        }
예제 #9
0
        /// <summary>
        /// 同步煤种信息
        /// </summary>
        /// <param name="output"></param>
        /// <returns></returns>
        public void SyncFuelKindData(string OutsideAddress, Action <string, eOutputType> output)
        {
            int res      = 0;
            var syncList = selfDber.EntitiesContainDeleted <CmcsFuelKind>("where SyncFlag=0 order by Code");

            foreach (var item in syncList)
            {
                string        str    = apiHelper.HttpApi(OutsideAddress + "api/services/baseinfo/FuelKind/SyncData", JsonConvert.SerializeObject(item), "post");
                ApiBaseResult result = JsonConvert.DeserializeObject <ApiBaseResult>(str);
                if (result.success)
                {
                    item.SyncFlag = 1;
                    res          += selfDber.Update(item);
                }
            }
            if (res > 0)
            {
                output(string.Format("煤种信息同步(单向:内网-->外网) {0} 条", res), eOutputType.Normal);
            }
        }
예제 #10
0
        /// <summary>
        /// 检查Access_Token
        /// </summary>
        /// <param name="access_token"></param>
        /// <returns></returns>
        public ApiBaseResult Check(string access_token)
        {
            ApiBaseResult result = new ApiBaseResult();

            if (access_token != null)
            {
                string[] sArray     = access_token.Split('_');
                string   UserID     = sArray[0];
                string   GuidString = sArray[1];

                T_Account account = db.T_Account.Find(UserID);
                if (account != null)
                {
                    if (account.YB_AccessToken == GuidString)
                    {
                        return(null);
                    }
                    else
                    {
                        result.result   = "error";
                        result.messages = "Access_Token错误";
                        return(result);
                    }
                }
                else
                {
                    result.result   = "error";
                    result.messages = "Access_Token错误";
                    return(result);
                }
            }
            else
            {
                result.result   = "error";
                result.messages = "Access_Token为空,传值错误";
                return(result);
            }
        }
예제 #11
0
        public ApiBaseResult Nigth(string access_token)
        {
            ApiBaseResult result = Check(access_token);

            if (result == null)
            {
                result = new ApiBaseResult();

                #region 获取数据

                string UserID = access_token.Substring(0, access_token.IndexOf("_"));

                NightInfo nightInfo = new NightInfo();

                var studentInfo = from vw_Student in db.vw_Student where (vw_Student.ST_Num == UserID) select vw_Student;
                if (studentInfo.Any())
                {
                    string className = studentInfo.ToList().First().ST_Class;
                    string TeacherID = studentInfo.ToList().First().ST_TeacherID;
                    nightInfo.TeacherID   = TeacherID;
                    nightInfo.TeacherName = studentInfo.ToList().First().ST_Teacher;

                    var batchList = from vw_ClassBatch in db.vw_ClassBatch where (vw_ClassBatch.ClassName == className) select vw_ClassBatch;
                    if (batchList.Any())
                    {
                        nightInfo.BatchTime = batchList.ToList().First().Datetime.ToString();
                    }
                    else
                    {
                        result.result   = "error";
                        result.messages = "未设置晚点名时间!";
                    }

                    T_Deadline deadLine = new T_Deadline();
                    try
                    {
                        deadLine           = (from T_Deadline in db.T_Deadline where ((T_Deadline.TeacherID == TeacherID) && (T_Deadline.TypeID == 2)) select T_Deadline).ToList().First();
                        nightInfo.DeadLine = deadLine.Time.ToString();
                        result.result      = "success";
                        result.data        = nightInfo;
                    }
                    catch
                    {
                        result.result   = "error";
                        result.messages = "未设置晚点名请假截止时间";
                    }
                }
                else
                {
                    result.result   = "error";
                    result.messages = "出现未知错误、请联系管理员";
                }

                #endregion

                return(result);
            }
            else
            {
                return(result);
            }
        }
예제 #12
0
        public ApiBaseResult Authorize([FromBody] User_Login user_login_info)
        {
            ApiBaseResult result = new ApiBaseResult();

            string UserID  = "";
            string UserPSd = "";
            string YiBanID = "";

            #region 检查参数是否正确

            if (user_login_info == null)
            {
                //参数错误
                result.result   = "error";
                result.messages = "未接收到合法参数!";
                return(result);
            }
            else
            {
                //存在合法参数正确
                try
                {
                    UserID  = user_login_info.UserID;
                    UserPSd = user_login_info.UserPsd;
                    YiBanID = user_login_info.YiBanID;
                    if (UserID == null || UserPSd == null || YiBanID == null)
                    {
                        result.result   = "error";
                        result.messages = "参数格式错误或缺少参数!";
                        return(result);
                    }
                }
                catch
                {
                    result.result   = "error";
                    result.messages = "参数格式错误或缺少参数!";
                    return(result);
                }
            }

            #endregion

            #region 账号绑定

            var accountList = from T_Account in db.T_Account where (T_Account.YiBanID == YiBanID) select T_Account;
            if (accountList.Any())
            {
                //此账号已绑定
                result.result   = "error";
                result.messages = "此账号已绑定!";
            }
            else
            {
                //此账号尚未绑定
                T_Account account = db.T_Account.Find(UserID);
                if (account != null)
                {
                    if (account.Psd == UserPSd)
                    {
                        //验证通过
                        string GuidString   = Guid.NewGuid().ToString();
                        string access_token = UserID + "_" + GuidString;
                        account.YiBanID        = YiBanID;
                        account.YB_AccessToken = GuidString;
                        db.SaveChanges();

                        AccessToken authorizeModel = new AccessToken();
                        authorizeModel.access_token = access_token;
                        result.result = "success";
                        result.data   = authorizeModel;
                    }
                    else
                    {
                        //用户密码错误
                        result.result   = "error";
                        result.messages = "账号密码错误!";
                    }
                }
                else
                {
                    //此用户ID不存在
                    result.result   = "error";
                    result.messages = "此用户ID不存在!";
                }
            }

            #endregion

            return(result);
        }
예제 #13
0
        private ApiBaseResult leaveClass(LeaveClassModel data)
        {
            ApiBaseResult result = new ApiBaseResult();

            try
            {
                #region 请假操作
                string access_token = data.access_token;
                string ST_Num       = access_token.Substring(0, access_token.IndexOf("_"));
                string LL_Type      = "上课请假备案(" + data.leave_child_type + ")";
                string leaveDate    = data.leave_date;
                string leaveTime    = "";
                string backDate     = data.leave_date;
                string backTime     = "";
                string leaveReason  = data.leave_reason;
                string lesson       = data.lesson;

                if (lesson == "1")
                {
                    leaveTime = "08:00";
                    backTime  = "09:40";
                }
                if (lesson == "2")
                {
                    leaveTime = "10:10";
                    backTime  = "11:50";
                }
                if (lesson == "3")
                {
                    leaveTime = "14:00";
                    backTime  = "15:40";
                }
                if (lesson == "4")
                {
                    leaveTime = "16:00";
                    backTime  = "17:40";
                }
                if (lesson == "5")
                {
                    leaveTime = "18:30";
                    backTime  = "21:00";
                }
                string teacher = data.teacher_name;

                string LV_NUM = DateTime.Now.ToString("yyMMdd");//流水号生成
                //DateTime time_go = Convert.ToDateTime(leaveDate + " " + leaveTime + ":00");
                //DateTime time_back = Convert.ToDateTime(backDate + " " + backTime + ":00");
                DateTime time_go   = Convert.ToDateTime(leaveDate + " " + leaveTime);
                DateTime time_back = Convert.ToDateTime(backDate + " " + backTime);

                var exist = from T_LeaveList in db.T_LeaveList where ((T_LeaveList.StudentID == ST_Num) && (T_LeaveList.Lesson == lesson) && (T_LeaveList.TypeID == 3) && (T_LeaveList.TimeLeave == time_go)) select T_LeaveList;

                if (exist.Any())
                {
                    bool flag = true;
                    foreach (qingjia_MVC.Models.T_LeaveList leaveList in exist.ToList())
                    {
                        if (leaveList.StateBack == "0")
                        {
                            flag = false;
                            break;
                        }
                    }
                    if (flag)
                    {
                        //插入数据库操作
                        if (Insert_LeaveList(LV_NUM, ST_Num, LL_Type, time_go, time_back, leaveReason, null, null, null, null, null, lesson, teacher) == 1)
                        {
                            result.result   = "success";
                            result.messages = "请假申请成功!";
                        }
                        else
                        {
                            result.result   = "error";
                            result.messages = "数据库提交失败,请重新尝试!";
                        }
                    }
                    else
                    {
                        result.result   = "error";
                        result.messages = "您已提交过此时间段的请假申请,请不要重复提交!";
                    }
                }
                else
                {
                    //插入数据库操作
                    if (Insert_LeaveList(LV_NUM, ST_Num, LL_Type, time_go, time_back, leaveReason, null, null, null, null, null, lesson, teacher) == 1)
                    {
                        result.result   = "success";
                        result.messages = "请假申请成功";
                    }
                    else
                    {
                        result.result   = "error";
                        result.messages = "数据库提交失败,请重新尝试!";
                    }
                }
                #endregion
            }
            catch
            {
                result.result   = "error";
                result.messages = "请假失败,请检查参数格式";
            }

            return(result);
        }
예제 #14
0
        private ApiBaseResult leaveSpecial(LeaveSpecialModel data)
        {
            ApiBaseResult result = new ApiBaseResult();

            try
            {
                #region 请假操作
                string access_token = data.access_token;
                string ST_Num       = access_token.Substring(0, access_token.IndexOf("_"));
                string LL_Type      = data.leave_type + data.leave_child_type;
                string leaveDate    = data.leave_date;
                string leaveTime    = data.leave_time;
                string backDate     = data.back_date;
                string backTime     = data.leave_time;
                string leaveReason  = data.leave_reason;
                string leaveWay     = null;
                string backWay      = null;
                string address      = null;
                string holidayType  = null;


                if (data.leave_type == "晚点名请假")
                {
                    string   LV_NUM       = DateTime.Now.ToString("yyMMdd");//流水号生成
                    string   studytime_sp = leaveDate + " " + leaveTime;
                    DateTime time_go      = Convert.ToDateTime(studytime_sp);
                    DateTime time_back    = time_go;
                    var      exist        = from T_LeaveList in db.T_LeaveList where ((T_LeaveList.StudentID == ST_Num) && (T_LeaveList.TimeLeave == time_go) && (T_LeaveList.TypeID == 2)) select T_LeaveList;

                    if (exist.Any())
                    {
                        bool flag = true;
                        foreach (qingjia_MVC.Models.T_LeaveList leaveList in exist.ToList())
                        {
                            if (leaveList.StateBack == "0")
                            {
                                flag = false;
                                break;
                            }
                        }
                        if (flag)
                        {
                            //插入数据库操作
                            if (Insert_LeaveList(LV_NUM, ST_Num, LL_Type, time_go, time_back, leaveReason, leaveWay, backWay, address, holidayType, null, null, null) == 1)
                            {
                                result.result   = "success";
                                result.messages = "请假申请成功!";
                            }
                            else
                            {
                                result.result   = "error";
                                result.messages = "数据库提交失败,请重新尝试!";
                            }
                        }
                        else
                        {
                            result.result   = "error";
                            result.messages = "您已提交过此时间段的请假申请,请不要重复提交!";
                        }
                    }
                    else
                    {
                        //插入数据库操作
                        if (Insert_LeaveList(LV_NUM, ST_Num, LL_Type, time_go, time_back, leaveReason, leaveWay, backWay, address, holidayType, null, null, null) == 1)
                        {
                            result.result   = "success";
                            result.messages = "请假申请成功!";
                        }
                        else
                        {
                            result.result   = "error";
                            result.messages = "数据库提交失败,请重新尝试!";
                        }
                    }
                }
                else if (data.leave_type == "早晚自习请假")
                {
                    string   LV_NUM       = DateTime.Now.ToString("yyMMdd");//流水号生成
                    string   studytime_sp = leaveDate + " " + leaveTime;
                    DateTime time_go      = Convert.ToDateTime(studytime_sp);
                    DateTime time_back    = time_go;
                    var      exist        = from T_LeaveList in db.T_LeaveList where ((T_LeaveList.StudentID == ST_Num) && (T_LeaveList.TimeLeave == time_go) && (T_LeaveList.TypeID == 2)) select T_LeaveList;

                    if (exist.Any())
                    {
                        bool flag = true;
                        foreach (qingjia_MVC.Models.T_LeaveList leaveList in exist.ToList())
                        {
                            if (leaveList.StateBack == "0")
                            {
                                flag = false;
                                break;
                            }
                        }
                        if (flag)
                        {
                            //插入数据库操作
                            if (Insert_LeaveList(LV_NUM, ST_Num, LL_Type, time_go, time_back, leaveReason, leaveWay, backWay, address, holidayType, null, null, null) == 1)
                            {
                                result.result   = "success";
                                result.messages = "请假申请成功!";
                            }
                            else
                            {
                                result.result   = "error";
                                result.messages = "数据库提交失败,请重新尝试!";
                            }
                        }
                        else
                        {
                            result.result   = "error";
                            result.messages = "您已提交过此时间段的请假申请,请不要重复提交!";
                        }
                    }
                    else
                    {
                        //插入数据库操作
                        if (Insert_LeaveList(LV_NUM, ST_Num, LL_Type, time_go, time_back, leaveReason, leaveWay, backWay, address, holidayType, null, null, null) == 1)
                        {
                            result.result   = "success";
                            result.messages = "请假申请成功!";
                        }
                        else
                        {
                            result.result   = "error";
                            result.messages = "数据库提交失败,请重新尝试!";
                        }
                    }
                }
                #endregion
            }
            catch
            {
                result.result   = "error";
                result.messages = "请假失败,请检查参数格式是否符合要求!";
            }

            return(result);
        }
예제 #15
0
        //是否可以请假 存在bug
        #region 学生请假操作

        private ApiBaseResult leaveSchool(LeaveSchoolModel data)
        {
            ApiBaseResult result = new ApiBaseResult();

            try
            {
                #region 请假操作
                string access_token = data.access_token;
                string ST_Num       = access_token.Substring(0, access_token.IndexOf("_"));
                string LL_Type      = data.leave_type;
                string leaveDate    = data.leave_date;
                string leaveTime    = data.leave_time;
                string backDate     = data.back_date;
                string backTime     = data.back_time;
                string leaveReason  = data.leave_reason;
                string leaveWay     = data.leave_way;
                string backWay      = data.back_way;
                string address      = data.leave_reason;
                string holidayType  = data.leave_reason;//节假日请假的原因只能为三种

                //节假日请假时,请假原因为节假日请假的类型
                if (LL_Type == "节假日请假")
                {
                    leaveReason = data.leave_reason;
                }

                //string LV_Time_Go = leaveDate + " " + leaveTime + ":00";
                //string LV_Time_Back = backDate + " " + backTime + ":00";
                string LV_Time_Go   = leaveDate + " " + leaveTime;
                string LV_Time_Back = backDate + " " + backTime;

                if (Convert.ToDateTime(LV_Time_Go) < Convert.ToDateTime(LV_Time_Back))
                {
                    DateTime time_go   = Convert.ToDateTime(LV_Time_Go);
                    DateTime time_back = Convert.ToDateTime(LV_Time_Back);
                    TimeSpan time_days = time_back - time_go;
                    int      days      = time_days.Days;

                    if (LL_Type == "短期请假")
                    {
                        if (days < 3)//短期请假小于三天
                        {
                            //生成请假单号
                            string LV_NUM = DateTime.Now.ToString("yyMMdd");
                            var    exist  = from T_LeaveList in db.T_LeaveList where (T_LeaveList.StudentID == ST_Num) && (((T_LeaveList.TimeLeave >= time_go) && (T_LeaveList.TimeLeave <= time_back)) || ((T_LeaveList.TimeBack >= time_go) && (T_LeaveList.TimeBack <= time_back)) || ((T_LeaveList.TimeLeave <= time_go) && (T_LeaveList.TimeBack >= time_back))) select T_LeaveList;

                            if (exist.Any())
                            {
                                bool flag = true;
                                foreach (qingjia_MVC.Models.T_LeaveList leaveList in exist.ToList())
                                {
                                    if (leaveList.StateBack == "0")
                                    {
                                        flag = false;
                                        break;
                                    }
                                }
                                if (flag)
                                {
                                    //插入数据库操作
                                    if (Insert_LeaveList(LV_NUM, ST_Num, LL_Type, time_go, time_back, leaveReason, leaveWay, backWay, address, holidayType, null, null, null) == 1)
                                    {
                                        result.result   = "success";
                                        result.messages = "请假申请成功!";
                                    }
                                    else
                                    {
                                        result.result   = "error";
                                        result.messages = "数据库提交失败,请重新尝试!";
                                    }
                                }
                                else
                                {
                                    result.result   = "error";
                                    result.messages = "您已提交过此时间段的请假申请,请不要重复提交!";
                                }
                            }
                            else
                            {
                                //插入数据库操作
                                if (Insert_LeaveList(LV_NUM, ST_Num, LL_Type, time_go, time_back, leaveReason, leaveWay, backWay, address, holidayType, null, null, null) == 1)
                                {
                                    result.result   = "success";
                                    result.messages = "请假申请成功!";
                                }
                                else
                                {
                                    result.result   = "error";
                                    result.messages = "数据库提交失败,请重新尝试!";
                                }
                            }
                        }
                        else
                        {
                            result.result   = "error";
                            result.messages = "短期请假不能超过3天!";
                        }
                    }
                    else if (LL_Type == "长期请假")
                    {
                        if (days >= 3)//长期请假
                        {
                            //生成请假单号
                            string LV_NUM = DateTime.Now.ToString("yyMMdd");
                            var    exist  = from T_LeaveList in db.T_LeaveList where (T_LeaveList.StudentID == ST_Num) && (((T_LeaveList.TimeLeave >= time_go) && (T_LeaveList.TimeLeave <= time_back)) || ((T_LeaveList.TimeBack >= time_go) && (T_LeaveList.TimeBack <= time_back)) || ((T_LeaveList.TimeLeave <= time_go) && (T_LeaveList.TimeBack >= time_back))) select T_LeaveList;

                            if (exist.Any())
                            {
                                bool flag = true;
                                foreach (qingjia_MVC.Models.T_LeaveList leaveList in exist.ToList())
                                {
                                    if (leaveList.StateBack == "0")
                                    {
                                        flag = false;
                                        break;
                                    }
                                }
                                if (flag)
                                {
                                    //插入数据库操作
                                    if (Insert_LeaveList(LV_NUM, ST_Num, LL_Type, time_go, time_back, leaveReason, leaveWay, backWay, address, holidayType, null, null, null) == 1)
                                    {
                                        result.result   = "success";
                                        result.messages = "请假申请成功!";
                                    }
                                    else
                                    {
                                        result.result   = "error";
                                        result.messages = "数据库提交失败,请重新尝试!";
                                    }
                                }
                                else
                                {
                                    result.result   = "error";
                                    result.messages = "您已提交过此时间段的请假申请,请不要重复提交!";
                                }
                            }
                            else
                            {
                                //插入数据库操作
                                if (Insert_LeaveList(LV_NUM, ST_Num, LL_Type, time_go, time_back, leaveReason, leaveWay, backWay, address, holidayType, null, null, null) == 1)
                                {
                                    result.result   = "success";
                                    result.messages = "请假申请成功!";
                                }
                                else
                                {
                                    result.result   = "error";
                                    result.messages = "数据库提交失败,请重新尝试!";
                                }
                            }
                        }
                        else
                        {
                            result.result   = "error";
                            result.messages = "长期请假短期请假不能少于3天!";
                        }
                    }
                    else if (LL_Type == "节假日请假")
                    {
                        //生成请假单号
                        string LV_NUM = DateTime.Now.ToString("yyMMdd");
                        var    exist  = from T_LeaveList in db.T_LeaveList where (T_LeaveList.StudentID == ST_Num) && (((T_LeaveList.TimeLeave >= time_go) && (T_LeaveList.TimeLeave <= time_back)) || ((T_LeaveList.TimeBack >= time_go) && (T_LeaveList.TimeBack <= time_back)) || ((T_LeaveList.TimeLeave <= time_go) && (T_LeaveList.TimeBack >= time_back))) select T_LeaveList;

                        if (exist.Any())
                        {
                            bool flag = true;
                            foreach (qingjia_MVC.Models.T_LeaveList leaveList in exist.ToList())
                            {
                                if (leaveList.StateBack == "0")
                                {
                                    flag = false;
                                    break;
                                }
                            }
                            if (flag)
                            {
                                //插入数据库操作
                                if (Insert_LeaveList(LV_NUM, ST_Num, LL_Type, time_go, time_back, leaveReason, leaveWay, backWay, address, holidayType, null, null, null) == 1)
                                {
                                    result.result   = "success";
                                    result.messages = "请假申请成功!";
                                }
                                else
                                {
                                    result.result   = "error";
                                    result.messages = "数据库提交失败,请重新尝试!";
                                }
                            }
                            else
                            {
                                result.result   = "error";
                                result.messages = "您已提交过此时间段的请假申请,请不要重复提交!";
                            }
                        }
                        else
                        {
                            //插入数据库操作
                            if (Insert_LeaveList(LV_NUM, ST_Num, LL_Type, time_go, time_back, leaveReason, leaveWay, backWay, address, holidayType, null, null, null) == 1)
                            {
                                result.result   = "success";
                                result.messages = "请假申请成功!";
                            }
                            else
                            {
                                result.result   = "error";
                                result.messages = "数据库提交失败,请重新尝试!";
                            }
                        }
                    }
                    else
                    {
                        //非离校请假类型
                    }
                }
                else
                {
                    result.result   = "error";
                    result.messages = "请假开始时间不能小于结束时间!";
                }
                #endregion
            }
            catch
            {
                result.result   = "error";
                result.messages = "请假失败,请检查参数格式是否符合要求!";
            }

            return(result);
        }
예제 #16
0
        public ApiBaseResult GetList(string access_token)
        {
            ApiBaseResult result = Check(access_token);

            if (result == null)
            {
                result = new ApiBaseResult();

                #region 获取数据

                string UserID = access_token.Substring(0, access_token.IndexOf("_"));

                var leavelist = from vw_LeaveList in db.vw_LeaveList where ((vw_LeaveList.StudentID == UserID) && (vw_LeaveList.StateBack == "0")) select vw_LeaveList;
                if (leavelist.Any())
                {
                    List <LeaveList> data = new List <LeaveList>();
                    foreach (vw_LeaveList item in leavelist)
                    {
                        LeaveList ll = new LeaveList();
                        ll.ID         = item.ID;
                        ll.Reasoon    = item.Reason;
                        ll.SubmitTime = item.Reason;
                        ll.Type       = item.LeaveType;
                        ll.State      = "";
                        ll.TimeLeave  = (DateTime)item.TimeLeave;
                        ll.TimeBack   = (DateTime)item.TimeBack;
                        if (item.StateLeave == "0")
                        {
                            ll.State = "待审核";
                        }
                        if (item.StateLeave == "1")
                        {
                            ll.State = "待销假";
                        }
                        ll.RejectNote   = (item.Notes == null) ? "" : item.Notes;
                        ll.LeaveWay     = (item.LeaveWay == null) ? "" : item.LeaveWay;
                        ll.BackWay      = (item.BackWay == null) ? "" : item.BackWay;
                        ll.LeaveAddress = (item.Address == null) ? "" : item.Address;
                        ll.Lesson       = (item.Lesson == null) ? "" : item.Lesson;
                        ll.TeacherName  = (item.Teacher == null) ? "" : item.Teacher;

                        data.Add(ll);
                    }
                    result.result = "success";
                    result.data   = data;
                }
                else
                {
                    result.result   = "success";
                    result.messages = "无待审核或待销假请假记录!";
                }

                #endregion

                return(result);
            }
            else
            {
                return(result);
            }
        }
예제 #17
0
        public ApiBaseResult Access_Token_WeChat(string OpenID)
        {
            //存在问题:Access_Token会被访问两次,未找到原因

            ApiBaseResult result = new ApiBaseResult();

            var userList = from T_Account in db.T_Account where (T_Account.Wechat == OpenID) select T_Account;

            if (userList.Any())
            {
                if (userList.ToList().First().LoginTime != null)
                {
                    //判断1分钟内是否访问过该接口
                    TimeSpan ts = DateTime.Now - (DateTime)userList.ToList().First().LoginTime;
                    //1分钟内已获得access_token
                    if (ts.Minutes < 1)
                    {
                        AccessToken authorizeModel = new AccessToken();
                        string      access_token   = userList.ToList().First().ID + "_" + userList.ToList().First().YB_AccessToken;
                        authorizeModel.access_token = access_token;
                        result.result = "success";
                        result.data   = authorizeModel;

                        WriteLog("Old access_token", access_token);
                    }
                    else
                    {
                        //验证通过
                        string    GuidString   = Guid.NewGuid().ToString();
                        string    access_token = "";
                        string    UserID       = userList.ToList().First().ID;
                        T_Account account      = db.T_Account.Find(UserID);
                        account.LoginTime      = DateTime.Now;
                        access_token           = account.ID + "_" + GuidString;
                        account.Wechat         = OpenID;
                        account.YB_AccessToken = GuidString;
                        db.SaveChanges();

                        AccessToken authorizeModel = new AccessToken();
                        authorizeModel.access_token = access_token;
                        result.result = "success";
                        result.data   = authorizeModel;

                        WriteLog("New access_token", access_token);
                    }
                }
                else
                {
                    //验证通过
                    string    GuidString   = Guid.NewGuid().ToString();
                    string    access_token = "";
                    string    UserID       = userList.ToList().First().ID;
                    T_Account account      = db.T_Account.Find(UserID);
                    account.LoginTime      = DateTime.Now;
                    access_token           = account.ID + "_" + GuidString;
                    account.Wechat         = OpenID;
                    account.YB_AccessToken = GuidString;
                    db.SaveChanges();

                    AccessToken authorizeModel = new AccessToken();
                    authorizeModel.access_token = access_token;
                    result.result = "success";
                    result.data   = authorizeModel;

                    WriteLog("New access_token", access_token);
                }
            }
            else
            {
                //尚未绑定YiBanID
                result.result   = "error";
                result.messages = "尚未绑定账号的易班ID,通过Authorize接口实现易班账号绑定。";
            }
            return(result);
        }
예제 #18
0
        public ApiBaseResult GetList(string access_token)
        {
            ApiBaseResult result = Check(access_token);

            if (result == null)
            {
                result = new ApiBaseResult();

                #region 获取数据

                string UserID = access_token.Substring(0, access_token.IndexOf("_"));

                var leavelist = from vw_LeaveList in db.vw_LeaveList where ((vw_LeaveList.StudentID == UserID)) orderby vw_LeaveList.SubmitTime descending select vw_LeaveList;
                if (leavelist.Any())
                {
                    List <vw_LeaveList> list = new List <vw_LeaveList>();
                    if (leavelist.Count() >= 30)
                    {
                        list = (List <vw_LeaveList>)leavelist.ToList().Take(30);
                    }
                    else
                    {
                        list = leavelist.ToList();
                    }

                    List <LeaveList> data = new List <LeaveList>();
                    foreach (vw_LeaveList item in leavelist)
                    {
                        string leaveTypeName = item.LeaveType.ToString().Trim();

                        LeaveList ll = new LeaveList();
                        ll.ID         = item.ID;
                        ll.Reasoon    = item.Reason;
                        ll.SubmitTime = item.SubmitTime.ToString("yyyy-MM-dd HH:MM:ss");
                        ll.Type       = item.LeaveType;
                        ll.State      = "";
                        ll.TimeLeave  = item.TimeLeave;
                        ll.TimeBack   = (DateTime)item.TimeBack;
                        if (item.StateLeave == "0" && item.StateBack == "0")
                        {
                            ll.State = "待审核";
                        }
                        if (item.StateLeave == "1" && item.StateBack == "0")
                        {
                            ll.State = "待销假";
                        }
                        if (item.StateLeave == "1" && item.StateBack == "1")
                        {
                            ll.State = "已销假";
                        }
                        if (item.StateLeave == "2" && item.StateBack == "1")
                        {
                            ll.State = "已驳回";
                        }
                        ll.RejectNote   = (item.Notes == null) ? "" : item.Notes;
                        ll.LeaveWay     = (item.LeaveWay == null) ? "" : item.LeaveWay;
                        ll.BackWay      = (item.BackWay == null) ? "" : item.BackWay;
                        ll.LeaveAddress = (item.Address == null) ? "" : item.Address;
                        ll.Lesson       = (item.Lesson == null) ? "" : item.Lesson;
                        ll.TeacherName  = (item.Teacher == null) ? "" : item.Teacher;

                        //上课请假、短期请假、长期请假 需要打印请假条
                        if (item.StateLeave == "1" && (leaveTypeName.Substring(0, 2) == "上课" || leaveTypeName.Substring(0, 2) == "短期" || leaveTypeName.Substring(0, 2) == "长期"))
                        {
                            ll.IsPrint = "1";//需要打印
                        }
                        else
                        {
                            ll.IsPrint = "0";//不需要打印
                        }

                        data.Add(ll);
                    }
                    result.result = "success";
                    result.data   = data;
                }
                else
                {
                    result.result   = "success";
                    result.messages = "无待审核或待销假请假记录!";
                }

                #endregion

                return(result);
            }
            else
            {
                return(result);
            }
        }