Exemplo n.º 1
0
        /// <summary>
        /// 安排试听
        /// </summary>
        /// <returns></returns>
        public ActionResult AddST()
        {
            AjaxStatusModel ajax = new AjaxStatusModel();

            ajax.status = EnumAjaxStatus.Error;  //默认失败
            ajax.msg    = "获取失败!";               //前台获取,用于显示提示信息
            string apid    = Request["apid"];    //预约单
            string classid = Request["classid"]; //班级号

            if (string.IsNullOrEmpty(apid))
            {
                return(Json(ajax));
            }
            if (EnrollData.GetEnrollPrintByApidAndClassid(apid, classid).Count() > 0)
            {
                ajax.msg = "此资源记录已经预约试听过了,不允许重复报名!";
                return(Json(ajax));
            }
            DataProvider.Entities.Enroll obj = new DataProvider.Entities.Enroll();
            Appointment ap = AppointmentData.GetOneByID(apid);

            obj.ID         = CommonData.DPGetTableMaxId("EN", "ID", "Enroll", 8);
            obj.APID       = apid;
            obj.StudentID  = ap.ApStudentID;
            obj.ClassID    = classid;
            obj.CreatorId  = UserSession.userid;
            obj.CreateTime = DateTime.Now;
            if (EnrollData.Add(obj))//注意时间类型
            {
                ajax.msg    = "预约试听报名成功!";
                ajax.status = EnumAjaxStatus.Success;
            }
            return(Json(ajax));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 转让课程,乙方没有报过名
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <param name="loginid"></param>
        /// <returns></returns>
        public static bool TransferAudit2(DataProvider.Entities.Enroll a, DataProvider.Entities.Enroll b, string loginid, Transfer rb)
        {
            bool         ret = false;
            DBRepository db  = new DBRepository(DBKeys.PRX);

            db.BeginTransaction();
            try
            {
                DataProvider.Entities.Enroll j = EnrollData.GetEnrollByID(a.ID); //甲方原始报名记录
                TransferRecord tr1             = new TransferRecord();           //甲方的转移记录
                tr1.StudentID   = j.StudentID;
                tr1.BeforeHours = j.ClassHour - j.UsedHour;
                tr1.AfterHours  = a.ClassHour - a.UsedHour;
                tr1.TypeID      = 1;//转让产生的
                tr1.CreateTime  = DateTime.Now;
                tr1.CreatorId   = loginid;
                tr1.Remark      = "转班:原报名号:" + a.ID + " 原班级号:" + a.ClassID + " 转至班级:" + b.ClassID;
                db.Insert(tr1);
                db.Update(a);//扣除课时



                TransferRecord tr2 = new TransferRecord();//乙方的转移记录
                tr2.StudentID   = b.StudentID;
                tr2.BeforeHours = 0;
                tr2.AfterHours  = b.ClassHour - b.UsedHour;
                tr2.TypeID      = 1;//转让产生的
                tr2.CreateTime  = DateTime.Now;
                tr2.CreatorId   = loginid;
                tr2.Remark      = "转班:来自报名号:" + a.ID + " 来自班级号:" + a.ClassID + " 转至班级:" + b.ClassID;

                db.Insert(tr2);
                db.Insert(b);

                rb.StateID      = 2;
                rb.ApprovedBy   = loginid;
                rb.ApprovedTime = DateTime.Now;
                db.Update(rb);

                ret = true;
                db.Commit();
            }
            catch (Exception ex)
            {
                db.Rollback();
                db.Dispose();
                throw new Exception(ex.Message);
            }
            return(ret);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 保存编辑转班
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public JsonResult SaveClass_transfe()
        {
            AjaxStatusModel ajax = new AjaxStatusModel();          //功能操作类的返回类型都是AjaxStatusModel,数据放到AjaxStatusModel.data中,前台获取json后加载

            ajax.status = EnumAjaxStatus.Error;                    //默认失败
            ajax.msg    = "保存失败!";                                 //前台获取,用于显示提示信息
            string Classes_ID       = Request["Classes_ID"];       //班级ID,班级号(新)
            string Enroll_ID        = Request["Enroll_ID"];        //报名表主键
            string Enroll_StudentID = Request["Enroll_StudentID"]; //报名表学员号
            string Enroll_ClassID   = Request["Enroll_ClassID"];   //报名表班级ID(旧)

            if (string.IsNullOrEmpty(Classes_ID))
            {
                return(Json(ajax));
            }
            if (string.IsNullOrEmpty(Enroll_ID))
            {
                return(Json(ajax));
            }
            if (string.IsNullOrEmpty(Enroll_StudentID))
            {
                return(Json(ajax));
            }
            if (string.IsNullOrEmpty(Enroll_ClassID))
            {
                return(Json(ajax));
            }

            DataProvider.Entities.Enroll en = new DataProvider.Entities.Enroll();
            en.ClassID    = Classes_ID;
            en.ID         = Enroll_ID;
            en.UpdateTime = DateTime.Now;
            en.UpdatorId  = UserSession.userid;

            ClassesTrans ct = new ClassesTrans();

            ct.CreateTime = DateTime.Now;
            ct.CreatorId  = UserSession.userid;
            ct.StudentID  = Enroll_StudentID;
            ct.ClassFrom  = Enroll_ClassID;
            ct.ClassTo    = Classes_ID;
            ct.ENID       = Enroll_ID;                 //报名单号
            if (ClassesData.SaveClass_transfe(en, ct)) //注意时间类型,而且需要在前台把所有的值
            {
                ajax.msg    = "保存成功!";
                ajax.status = EnumAjaxStatus.Success;
            }
            return(Json(ajax));
        }
Exemplo n.º 4
0
        /// <summary>
        /// 转让协议的审核
        /// </summary>
        /// <returns></returns>
        public ActionResult TransferAudit()
        {
            AjaxStatusModel ajax = new AjaxStatusModel(); //功能操作类的返回类型都是AjaxStatusModel,数据放到AjaxStatusModel.data中,前台获取json后加载

            ajax.status = EnumAjaxStatus.Error;           //默认失败
            ajax.msg    = "审核失败!";                        //前台获取,用于显示提示信息
            string tid = Request["tfid"];                 //获取协议id

            if (string.IsNullOrEmpty(tid))
            {
                return(Json(ajax));
            }
            Transfer rb = TransferData.GetTransferByID(int.Parse(tid));                                        //获取协议

            DataProvider.Entities.Enroll jen = EnrollData.GetEnrollByID(rb.JENID);                             //甲方报名记录
            DataProvider.Entities.Enroll yen = EnrollData.getEnrollByStudentClass(rb.YStudentID, rb.YClassid); //乙方报名记录

            if (yen != null)                                                                                   //如果乙方有报名记录,则在原来的报名记录上增加课时,并且减少甲方课时,同时插入流水记录
            {
                jen.UsedHour = jen.UsedHour + rb.TranHour;                                                     //甲方剩余课时要扣除转让的课时,新增转让记录
                EnrollData.TransferAudit1(jen, yen, UserSession.userid, rb);
            }
            else//如果乙方没有报名记录,则新增乙方报名记录,扣除甲方的报名课时
            {
                DataProvider.Entities.Enroll yy = new DataProvider.Entities.Enroll();
                yy.ID         = CommonData.DPGetTableMaxId("EN", "ID", "Enroll", 8);
                yy.APID       = "";
                yy.StudentID  = rb.YStudentID;
                yy.ClassID    = rb.YClassid;
                yy.ClassHour  = rb.TranHour;
                yy.UsedHour   = 0;
                yy.Price      = 0;
                yy.Paid       = 0;
                yy.CreatorId  = UserSession.userid;
                yy.CreateTime = DateTime.Now;
                yy.StateID    = 0;
                yy.Transferid = int.Parse(tid);

                jen.UsedHour = jen.UsedHour + rb.TranHour;//甲方剩余课时要扣除转让的课时,新增转让记录
                EnrollData.TransferAudit2(jen, yy, UserSession.userid, rb);
            }


            ajax.msg    = "审核成功!";
            ajax.status = EnumAjaxStatus.Success;

            return(Json(ajax));
        }
        /// <summary>
        /// 冻结
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public JsonResult Frozen()
        {
            AjaxStatusModel ajax = new AjaxStatusModel(); //功能操作类的返回类型都是AjaxStatusModel,数据放到AjaxStatusModel.data中,前台获取json后加载

            ajax.status = EnumAjaxStatus.Error;           //默认失败

            ajax.msg = "冻结失败!";                           //前台获取,用于显示提示信息
            var data = Request["data"];                   //获取前台传递的数据,主要序列化

            DataProvider.Entities.Enroll enl = (DataProvider.Entities.Enroll)(JsonConvert.DeserializeObject(data.ToString(), typeof(DataProvider.Entities.Enroll)));
            enl.UpdateTime = DateTime.Now;           //添加修改时间
            enl.UpdatorId  = UserSession.userid;     //添加修改人
            if (EnrollData.UpdateEnroll_ed(enl) > 0) //注意时间类型,而且需要在前台把所有的值
            {
                ajax.msg    = "冻结成功!";
                ajax.status = EnumAjaxStatus.Success;
            }
            return(Json(ajax));
        }
Exemplo n.º 6
0
        /// <summary>
        /// 报名结算
        /// </summary>
        /// <returns></returns>
        public JsonResult AddEnroll(string _did)
        {
            AjaxStatusModel ajax = new AjaxStatusModel();

            ajax.status = EnumAjaxStatus.Error; //默认失败
            ajax.msg    = "结算失败!";              //前台获取,用于显示提示信息
            if (string.IsNullOrEmpty(_did))
            {
                return(Json(ajax));
            }
            JArray ja = (JArray)JsonConvert.DeserializeObject(_did); //序列化前台获取的列表数据,因为报名数据可能存在多笔

            int submittype = 1;                                      //结算,直接完成报名

            foreach (var item in ja)
            {
                int discountid = int.Parse(((JObject)item)["discountid"].ToString() == "" ? "0" : ((JObject)item)["discountid"].ToString()); //选择的优惠ID
                if (discountid == -1)                                                                                                        //存在自定义优惠项
                {
                    submittype = 2;
                }
            }
            if (submittype == 1)
            {
                List <DataProvider.Entities.Enroll> ENList = new List <DataProvider.Entities.Enroll>();
                foreach (var item in ja)
                {
                    string  classid   = ((JObject)item)["classid"].ToString();                //报名的班级ID
                    decimal payment   = decimal.Parse(((JObject)item)["payment"].ToString()); //本次付款
                    string  apid      = ((JObject)item)["apid"].ToString();                   //预约号
                    string  studentid = ((JObject)item)["studentid"].ToString();              //学员号
                    if (string.IsNullOrEmpty(((JObject)item)["classhour"].ToString()))
                    {
                        ajax.msg = "报名课时不能为空!";
                        return(Json(ajax));
                    }
                    int      classhour     = int.Parse(((JObject)item)["classhour"].ToString());                                                         //报名课时
                    int      discountid    = int.Parse(((JObject)item)["discountid"].ToString() == "" ? "0" : ((JObject)item)["discountid"].ToString()); //选择的优惠ID
                    decimal  discountprice = decimal.Parse(((JObject)item)["discountprice"].ToString());                                                 //本次优惠的金额
                    string[] collectionrec = ((JObject)item)["collectionrec"].ToString().TrimEnd(',').Split(',');                                        //自己明细,需要验证总和等于付款金额
                    decimal  paymentrec    = 0M;
                    foreach (string i in collectionrec)
                    {
                        if (!string.IsNullOrEmpty(i))
                        {
                            paymentrec += decimal.Parse(i);
                        }
                    }
                    if (payment != paymentrec)
                    {
                        ajax.msg = "资金明细与付款金额不同,请重新填写";
                        return(Json(ajax));
                    }
                    if (string.IsNullOrEmpty(studentid))
                    {
                        ajax.msg = "不是正式学员不允许结算!清先绑定学员或者成为正式学员。";
                        return(Json(ajax));
                    }
                    DataProvider.Entities.Enroll en = new DataProvider.Entities.Enroll();

                    en.APID          = apid;
                    en.StudentID     = studentid;
                    en.ClassID       = classid;
                    en.ClassHour     = classhour;
                    en.UsedHour      = 0;
                    en.Price         = payment;
                    en.Paid          = payment;
                    en.DiscountID    = discountid;
                    en.DiscountPrice = discountprice;
                    en.CreateTime    = DateTime.Now;
                    en.CreatorId     = UserSession.userid;
                    en.CollectionRec = ((JObject)item)["collectionrec"].ToString().TrimEnd(',');
                    ENList.Add(en);
                }
                int EnrollRes = EnrollData.AddList(ENList);
                if (EnrollRes == 1)
                {
                    ajax.status = EnumAjaxStatus.Success;
                    ajax.msg    = "结算成功,完成报名!";
                }
                else if (EnrollRes == -1)
                {
                    ajax.status = EnumAjaxStatus.Error;
                    ajax.msg    = "不允许重复报名!";
                }
            }
            else//提交到审核
            {
                List <EnrollAudit> ENList = new List <EnrollAudit>();
                foreach (var item in ja)
                {
                    string  classid    = ((JObject)item)["classid"].ToString();                                                                      //报名的班级ID
                    decimal payment    = decimal.Parse(((JObject)item)["payment"].ToString());                                                       //报名的班级ID
                    string  apid       = ((JObject)item)["apid"].ToString();                                                                         //预约号
                    string  studentid  = ((JObject)item)["studentid"].ToString();                                                                    //学员号
                    int     classhour  = int.Parse(((JObject)item)["classhour"].ToString());                                                         //报名课时
                    int     discountid = int.Parse(((JObject)item)["discountid"].ToString() == "" ? "0" : ((JObject)item)["discountid"].ToString()); //选择的优惠ID
                    if (discountid != -1)
                    {
                        ajax.msg = "自定义优惠与普通优惠不允许同时存在!";
                        return(Json(ajax));
                    }
                    decimal discountprice = decimal.Parse(((JObject)item)["discountprice"].ToString()); //本次优惠的金额
                    //验证资金明细
                    string[] collectionrec = ((JObject)item)["collectionrec"].ToString().Split(',');    //自己明细,需要验证总和等于付款金额
                    decimal  paymentrec    = 0M;
                    foreach (string i in collectionrec)
                    {
                        if (!string.IsNullOrEmpty(i))
                        {
                            paymentrec += decimal.Parse(i);
                        }
                    }
                    if (payment != paymentrec)
                    {
                        ajax.msg = "资金明细与付款金额不同,请重新填写";
                        return(Json(ajax));
                    }

                    if (string.IsNullOrEmpty(studentid))
                    {
                        ajax.msg = "不是正式学员不允许结算!清先绑定学员或者成为正式学员。";
                        return(Json(ajax));
                    }
                    EnrollAudit en = new EnrollAudit();
                    en.APID          = apid;
                    en.StudentID     = studentid;
                    en.ClassID       = classid;
                    en.ClassHour     = classhour;
                    en.UsedHour      = 0;
                    en.Price         = payment;
                    en.Paid          = payment;
                    en.DiscountID    = discountid;
                    en.DiscountPrice = discountprice;
                    en.StateID       = 2;//待审核数据
                    en.CreateTime    = DateTime.Now;
                    en.CreatorId     = UserSession.userid;
                    en.CollectionRec = ((JObject)item)["collectionrec"].ToString().TrimEnd(',');
                    ENList.Add(en);
                }
                if (EnrollData.AddEnrollAuditList(ENList))
                {
                    ajax.status = EnumAjaxStatus.Success;
                    ajax.msg    = "已提交审核!";
                }
            }

            return(Json(ajax));
        }