Ejemplo n.º 1
0
        public void Cancel(string id)
        {
            var entity = TrainingOrderBLL.Instance.GetEntity(id);

            if (entity != null)
            {
                entity.TrainingOrderId = id;
                entity.Status          = (int)QX360.Model.Enums.TrainingStatus.已取消;
                this.Update(entity);
                //修改预约时间状态
                var detail = TrainingOrderDetailBLL.Instance.GetList(new TrainingOrderDetailEntity()
                {
                    TrainingOrderId = id
                });
                detail.ForEach((o) =>
                {
                    TrainingFreeTimeEntity freetime = new TrainingFreeTimeEntity();
                    freetime.TrainingFreeTimeId     = o.TrainingFreeTimeId;
                    freetime.FreeStatus             = (int)QX360.Model.Enums.FreeTimeStatus.空闲;
                    TrainingFreeTimeBLL.Instance.Update(freetime);
                });
            }
        }
Ejemplo n.º 2
0
        public bool Delete(string keyValue)
        {
            var detail = TrainingOrderDetailBLL.Instance.GetList(new TrainingOrderDetailEntity()
            {
                TrainingOrderId = keyValue
            });

            detail.ForEach((o) =>
            {
                //修改系统预约时间状态
                TrainingFreeTimeEntity freetime = new TrainingFreeTimeEntity();
                freetime.TrainingFreeTimeId     = o.TrainingFreeTimeId;
                freetime.FreeStatus             = (int)QX360.Model.Enums.FreeTimeStatus.空闲;
                TrainingFreeTimeBLL.Instance.Update(freetime);
                //删除加班时间明细
                var customtime = TrainingCustomFreeTimeBLL.Instance.GetEntity(o.TrainingFreeTimeId);
                if (customtime != null)
                {
                    TrainingCustomFreeTimeBLL.Instance.Delete(customtime.TrainingCustomFreeTimeId);
                }
                TrainingOrderDetailBLL.Instance.Delete(o.TrainingOrderDetailId);
            });
            return(InstanceDAL.Delete(keyValue));
        }
Ejemplo n.º 3
0
        public JsonResult CreateOrder2(string data)
        {
            var result = new ReturnMessage(false)
            {
                Message = "创建订单失败!"
            };

            try
            {
                lock (objLock)
                {
                    var order = JsonConvert.DeserializeObject <TrainingOrderEntity>(data);
                    if (order == null)
                    {
                        return(Json(result));
                    }
                    //验证时间段是否有预约
                    var hasflag = false;
                    foreach (var item in order.DetailList)
                    {
                        var freetime = TrainingFreeTimeBLL.Instance.GetEntity(item.TrainingFreeTimeId);
                        if (freetime != null)
                        {
                            if (freetime.FreeStatus != (int)RCHL.Model.Enums.FreeTimeStatus.空闲)
                            {
                                hasflag = true;
                                break;
                            }
                        }
                    }
                    if (hasflag)
                    {
                        result.Message = "您下手晚了,请重新选择预约时间";
                        return(Json(result));
                    }

                    int _TrainingStatus = (int)Model.Enums.TrainingStatus.待支付;
                    int _FreeTimeStatus = (int)Model.Enums.FreeTimeStatus.已预约;
                    //判断教练师傅黑名单,黑名单需要审核
                    var blackList = BlackListBLL.Instance.GetList(new BlackListEntity()
                    {
                        ObjectId = LoginTeacher.UserId
                    });
                    if (blackList != null && blackList.Count > 0)
                    {
                        _TrainingStatus = (int)Model.Enums.TrainingStatus.待审核;
                        _FreeTimeStatus = (int)Model.Enums.FreeTimeStatus.锁定;
                    }
                    order.TrainingOrderId = Util.NewUpperGuid();
                    order.TrainingOrderNo = TrainingOrderBLL.Instance.GetOrderNo();
                    order.CreateTime      = DateTime.Now;
                    order.Status          = _TrainingStatus;
                    order.MemberId        = LoginTeacher.UserId;
                    order.MemberName      = LoginTeacher.UserName;
                    order.MemberMobile    = LoginTeacher.Mobile;
                    order.UserType        = (int)RCHL.Model.Enums.TrainingUserType.教练;
                    string _ServiceTime = "";
                    if (TrainingOrderBLL.Instance.Add(order))
                    {
                        if (order.DetailList != null)
                        {
                            foreach (var item in order.DetailList)
                            {
                                TrainingOrderDetailEntity detail = new TrainingOrderDetailEntity();
                                detail.TrainingOrderDetailId = Util.NewUpperGuid();
                                detail.ServiceTime           = item.ServiceTime;
                                detail.ServiceDate           = item.ServiceDate;
                                detail.TrainingOrderId       = order.TrainingOrderId;
                                detail.TrainingFreeTimeId    = item.TrainingFreeTimeId;
                                if (TrainingOrderDetailBLL.Instance.Add(detail))
                                {
                                    _ServiceTime += detail.ServiceTime + ",";
                                    //修改预约时间状态
                                    TrainingFreeTimeEntity freetime = new TrainingFreeTimeEntity();
                                    freetime.TrainingFreeTimeId = detail.TrainingFreeTimeId;
                                    freetime.FreeStatus         = _FreeTimeStatus;
                                    TrainingFreeTimeBLL.Instance.Update(freetime);
                                }
                            }
                        }
                    }
                    result.IsSuccess = true;
                    result.Message   = "创建成功";

                    //写消息
                    string servicetime = string.Format("{0} {1}", DateTime.Parse(order.ServiceDate.ToString()).ToString("yyyy-MM-dd"), _ServiceTime.TrimEnd(','));
                    string tex         = "预约实训," + order.SchoolName + order.TrainingTypeName + "考场实训";
                    if (_TrainingStatus == (int)Model.Enums.TrainingStatus.待审核)
                    {
                        tex = "预约实训," + order.SchoolName + order.TrainingTypeName + "考场实训,该订单等待管理员审核。";
                    }
                    SendSysMessageBLL.SendMessageTeacher(RCHL.Model.Enums.NoticeType.预约提醒, LoginTeacher.UserId, servicetime, tex, order.TrainingOrderNo);
                }
            }
            catch (Exception ex)
            {
                ex.Data["Method"] = "TrainingCarController>>CreateOrder";
                new ExceptionHelper().LogException(ex);
            }
            return(Json(result));
        }
Ejemplo n.º 4
0
        public ActionResult ChangeTime(string keyValue, string json)
        {
            try
            {
                var detaillist = Serializer.DeserializeJson <List <TrainingOrderDetailEntity> >(json, true);
                if (detaillist != null && detaillist.Count == 0)
                {
                    return(Error("请选择预约时间"));
                }
                var entity = TrainingOrderBLL.Instance.GetEntity(keyValue);
                if (entity != null)
                {
                    var _OldServiceTime = "";
                    var _OldServiceDate = "";
                    //修改之前状态
                    var olddetail = TrainingOrderDetailBLL.Instance.GetList(new TrainingOrderDetailEntity()
                    {
                        TrainingOrderId = entity.TrainingOrderId
                    });
                    olddetail.ForEach((o) =>
                    {
                        //更改之前预约时间状态
                        TrainingFreeTimeEntity freetime = new TrainingFreeTimeEntity();
                        freetime.TrainingFreeTimeId     = o.TrainingFreeTimeId;
                        freetime.FreeStatus             = (int)RCHL.Model.Enums.FreeTimeStatus.空闲;
                        TrainingFreeTimeBLL.Instance.Update(freetime);
                        //删除明细
                        TrainingOrderDetailBLL.Instance.Delete(o.TrainingOrderDetailId);
                        _OldServiceTime += o.ServiceTime + ",";
                        _OldServiceDate  = DateTime.Parse(o.ServiceDate.ToString()).ToString("yyyy-MM-dd");
                    });

                    //插入新的预约
                    var _ServiceTime = "";
                    foreach (var item in detaillist)
                    {
                        TrainingOrderDetailEntity detail = new TrainingOrderDetailEntity();
                        detail.TrainingOrderDetailId = Util.Util.NewUpperGuid();
                        detail.ServiceTime           = item.ServiceTime;
                        detail.ServiceDate           = item.ServiceDate;
                        detail.TrainingOrderId       = entity.TrainingOrderId;
                        detail.TrainingFreeTimeId    = item.TrainingFreeTimeId;
                        if (TrainingOrderDetailBLL.Instance.Add(detail))
                        {
                            _ServiceTime += detail.ServiceTime + ",";
                            //修改预约时间状态
                            TrainingFreeTimeEntity freetime = new TrainingFreeTimeEntity();
                            freetime.TrainingFreeTimeId = detail.TrainingFreeTimeId;
                            freetime.FreeStatus         = (int)RCHL.Model.Enums.FreeTimeStatus.已预约;
                            TrainingFreeTimeBLL.Instance.Update(freetime);
                        }
                    }
                    //发送取消微信通知

                    string servicetime = string.Format("{0} {1}", DateTime.Parse(entity.ServiceDate.ToString()).ToString("yyyy-MM-dd"), _ServiceTime.TrimEnd(','));
                    string text        = "预约实训,预约时间调整,原预约时间:" + string.Format("{0} {1}", _OldServiceDate.ToString(), _OldServiceTime.TrimEnd(','));
                    if (entity.UserType == (int)RCHL.Model.Enums.TrainingUserType.学员)
                    {
                        SendSysMessageBLL.SendMessage(RCHL.Model.Enums.MessageAlterType.实训预约提示, RCHL.Model.Enums.NoticeType.更改提醒, entity.MemberId, entity.MemberName, servicetime, text, entity.TrainingOrderNo);
                    }
                    else if (entity.UserType == (int)RCHL.Model.Enums.TrainingUserType.教练)
                    {
                        SendSysMessageBLL.SendMessageTeacher(RCHL.Model.Enums.NoticeType.预约提醒, entity.MemberId, servicetime, text, entity.TrainingOrderNo);
                    }
                }
                return(Success("操作成功"));
            }
            catch (Exception ex)
            {
                ex.Data["Method"] = "TrainingOrderController>>ChangeTime";
                new ExceptionHelper().LogException(ex);
                return(Error("操作失败"));
            }
        }
Ejemplo n.º 5
0
        public ActionResult Audit(string keyValue)
        {
            try
            {
                string[] keys = keyValue.Split(',');
                if (keys != null)
                {
                    bool flag = true;
                    foreach (var key in keys)
                    {
                        var entity = TrainingOrderBLL.Instance.GetEntity(key);
                        if (entity != null && entity.Status != (int)RCHL.Model.Enums.TrainingStatus.待审核)
                        {
                            flag = false;
                            return(Error("非待审核状态的订单不能审核操作"));
                        }
                    }
                    if (flag)
                    {
                        foreach (var key in keys)
                        {
                            var order = TrainingOrderBLL.Instance.GetEntity(key);
                            if (order != null)
                            {
                                if (order.Status == (int)RCHL.Model.Enums.TrainingStatus.待审核)
                                {
                                    order.Status = (int)RCHL.Model.Enums.TrainingStatus.待支付;
                                    TrainingOrderBLL.Instance.Update(order);
                                    var _ServiceTime = "";
                                    var detail       = TrainingOrderDetailBLL.Instance.GetList(new TrainingOrderDetailEntity()
                                    {
                                        TrainingOrderId = order.TrainingOrderId
                                    });
                                    detail.ForEach((o) =>
                                    {
                                        _ServiceTime += o.ServiceTime + ",";

                                        //修改预约状态为已预约
                                        TrainingFreeTimeEntity freetime = new TrainingFreeTimeEntity();
                                        freetime.TrainingFreeTimeId     = o.TrainingFreeTimeId;
                                        freetime.FreeStatus             = (int)RCHL.Model.Enums.FreeTimeStatus.已预约;
                                        TrainingFreeTimeBLL.Instance.Update(freetime);
                                    });
                                    string servicetime = string.Format("{0} {1}", DateTime.Parse(order.ServiceDate.ToString()).ToString("yyyy-MM-dd"), _ServiceTime.TrimEnd(','));
                                    if (order.UserType == (int)RCHL.Model.Enums.TrainingUserType.学员)
                                    {
                                        SendSysMessageBLL.SendMessage(RCHL.Model.Enums.MessageAlterType.实训预约提示, RCHL.Model.Enums.NoticeType.预约提醒, order.MemberId, order.MemberName, servicetime, "预约实训,单据已审核。请前往机构缴费完成实训", order.TrainingOrderNo);
                                    }
                                    else if (order.UserType == (int)RCHL.Model.Enums.TrainingUserType.教练)
                                    {
                                        SendSysMessageBLL.SendMessageTeacher(RCHL.Model.Enums.NoticeType.预约提醒, order.MemberId, servicetime, "预约实训,单据已审核。请前往机构缴费完成实训", order.TrainingOrderNo);
                                    }
                                }
                            }
                        }
                    }
                }
                return(Success("操作成功"));
            }
            catch (Exception ex)
            {
                ex.Data["Method"] = "TrainingOrderController>>Audit";
                new ExceptionHelper().LogException(ex);
                return(Error("操作失败"));
            }
        }
Ejemplo n.º 6
0
        public ActionResult SaveForm(string keyValue, string issend, string json)
        {
            try
            {
                if (keyValue != "")
                {
                }
                else
                {
                    var order = Serializer.DeserializeJson <TrainingOrderEntity>(json, true);
                    if (order == null)
                    {
                        return(Error("无效对象"));
                    }
                    if (order.DetailList == null || order.DetailList.Count == 0)
                    {
                        return(Error("请选择预约时间"));
                    }
                    var hasflag = false;
                    foreach (var item in order.DetailList)
                    {
                        var freetime = TrainingFreeTimeBLL.Instance.GetEntity(item.TrainingFreeTimeId);
                        if (freetime != null)
                        {
                            if (freetime.FreeStatus != (int)RCHL.Model.Enums.FreeTimeStatus.空闲)
                            {
                                hasflag = true;
                                break;
                            }
                        }
                    }
                    if (hasflag)
                    {
                        return(Error("您下手晚了,请重新选择预约时间"));
                    }
                    order.TrainingOrderId = Util.Util.NewUpperGuid();
                    order.TrainingOrderNo = TrainingOrderBLL.Instance.GetOrderNo();
                    order.CreateTime      = DateTime.Now;
                    order.Status          = (int)RCHL.Model.Enums.TrainingStatus.待支付;
                    //order.Price = order.Price * order.DetailList.Count;
                    string _ServiceTime = "";
                    if (TrainingOrderBLL.Instance.Add(order))
                    {
                        if (order.DetailList != null)
                        {
                            foreach (var item in order.DetailList)
                            {
                                TrainingOrderDetailEntity detail = new TrainingOrderDetailEntity();
                                detail.TrainingOrderDetailId = Util.Util.NewUpperGuid();
                                detail.ServiceTime           = item.ServiceTime;
                                detail.ServiceDate           = item.ServiceDate;
                                detail.TrainingOrderId       = order.TrainingOrderId;

                                if (item.SubritTimeType == (int)RCHL.Model.Enums.SubritFreeTimeStatus.自定义)
                                {
                                    detail.SubritTimeType = (int)RCHL.Model.Enums.SubritFreeTimeStatus.自定义;
                                }
                                detail.TrainingFreeTimeId = item.TrainingFreeTimeId == "-1" ? Util.Util.NewUpperGuid() : item.TrainingFreeTimeId;
                                if (TrainingOrderDetailBLL.Instance.Add(detail))
                                {
                                    _ServiceTime += detail.ServiceTime + ",";
                                    //修改预约时间状态
                                    TrainingFreeTimeEntity freetime = new TrainingFreeTimeEntity();
                                    freetime.TrainingFreeTimeId = detail.TrainingFreeTimeId;
                                    freetime.FreeStatus         = (int)RCHL.Model.Enums.FreeTimeStatus.已预约;
                                    TrainingFreeTimeBLL.Instance.Update(freetime);

                                    //插入自定义时间段
                                    if (item.SubritTimeType == (int)RCHL.Model.Enums.SubritFreeTimeStatus.自定义)
                                    {
                                        TrainingCustomFreeTimeBLL.Instance.Add(new TrainingCustomFreeTimeEntity()
                                        {
                                            TrainingCustomFreeTimeId = detail.TrainingFreeTimeId,//
                                            TrainingFreeDateId       = item.FreedateId,
                                            TimeSection = item.ServiceTime
                                        });
                                    }
                                }
                            }
                        }
                    }

                    if (issend == "1")
                    {
                        //发送短信提醒
                        string servicetime = string.Format("{0} {1}", DateTime.Parse(order.ServiceDate.ToString()).ToString("yyyy-MM-dd"), _ServiceTime.TrimEnd(','));
                        string txt         = string.Format("考场实训,预约考场:{0},预约车辆:{1}请您提前30分钟到达办理相关手续", order.SchoolName, order.TrainingCarName + order.TrainingCarNumber);
                        SendSmsMessageBLL.SendSubricNotice(order.MemberId, order.MemberMobile, order.MemberName, servicetime, txt, order.TrainingOrderNo);
                    }
                }
                return(Success("创建成功"));
            }
            catch (Exception ex)
            {
                ex.Data["Method"] = "TrainingOrderController>>Register";
                new ExceptionHelper().LogException(ex);
                return(Error("保存失败"));
            }
        }