/// <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)); }
/// <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); }
/// <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)); }
/// <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)); }
/// <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)); }