public ActionResult ResList(string formenu, string supplier, string changeOrder)
        {
            ViewBag.isForMenu = formenu == "1";
            //20200211
            if (ViewBag.isForMenu == false)
            {
                ViewBag.sendTime = "";
            }

            ViewBag.hospitalId = HospitalInfo.addressCode;
            ViewBag.supplier   = supplier;
            ViewBag.isChange   = changeOrder == "1";
            //ViewBag.hospitalId = "64942";
            var channelBase = BaseDataClientChannelFactory.GetChannel();
            var channelUser = UserInfoClientChannelFactory.GetChannel();
            var userInfo    = channelUser.FindByUserId(CurrentWxUser.UserId);
            var listGroup   = channelBase.LoadUserGroup(CurrentWxUser.UserId).Select(a => a.GroupType).ToArray();

            if (listGroup.Contains(GroupType.ServPause))
            {
                userInfo.IsServPause = 1;
            }
            ViewBag.IsServPause = CurrentWxUser.IsServPause;
            return(View());
        }
예제 #2
0
        public ActionResult ChoosePreApproval()
        {
            WeChatOrderInfo = null;
            ChangeOrderID   = null;
            var preApprovalClient = PreApprovalClientChannelFactory.GetChannel();
            var userId            = CurrentWxUser.UserId;
            var channelBase       = BaseDataClientChannelFactory.GetChannel();
            var channelUser       = UserInfoClientChannelFactory.GetChannel();
            var userInfo          = channelUser.FindByUserId(userId);

            var listGroup = channelBase.LoadUserGroup(userId).Select(a => a.GroupType).ToArray();

            if (listGroup.Contains(GroupType.ServPause))
            {
                userInfo.IsServPause = 1;
            }
            var listHTCode = preApprovalClient.LoadHTCode(userId);
            //判断当前时间是否在可订当日单时间范围
            var      channel = BaseDataClientChannelFactory.GetChannel();
            var      config  = channel.GetTimeConfig();
            DateTime timeNow = DateTime.Now;

            if (!(DateTime.Compare(Convert.ToDateTime(config._4_2_ThatDayCanOrderMealTimeEnd), timeNow) >= 0))
            {
                listHTCode = listHTCode.Where(p => p.MeetingDate.Value.Day != timeNow.Day).ToList();
            }
            CurrentWxUser       = userInfo;
            ViewBag.listHTCode  = listHTCode;
            ViewBag.IsServPause = CurrentWxUser.IsServPause;
            return(View());
        }
        public ActionResult SendTime(string formenu, string supplier, string changeOrder, string restaurantId,
                                     string businessHourStart, string businessHourEnd, string eveningHourStart, string eveningHourEnd, int?dataState, string changeSendTime, string restaurantName, string orderCreateDate)
        {
            ViewBag.isForMenu         = formenu == "1";
            ViewBag.hospitalId        = PreApproval.HospitalAddressCode;
            ViewBag.meetingTime       = String.Format("{0:yyyy-MM-dd HH:mm:ss}", PreApproval.MeetingDate);
            ViewBag.supplier          = supplier;
            ViewBag.isChange          = changeOrder == "1";
            ViewBag.restaurantId      = restaurantId;
            ViewBag.businessHourStart = businessHourStart;
            ViewBag.businessHourEnd   = businessHourEnd;
            ViewBag.eveningHourStart  = eveningHourStart;
            ViewBag.eveningHourEnd    = eveningHourEnd;
            ViewBag.changeSendTime    = changeSendTime;
            ViewBag.dataState         = dataState != null? dataState:0;
            var channelBase = BaseDataClientChannelFactory.GetChannel();
            var channelUser = UserInfoClientChannelFactory.GetChannel();
            var userInfo    = channelUser.FindByUserId(CurrentWxUser.UserId);
            var listGroup   = channelBase.LoadUserGroup(CurrentWxUser.UserId).Select(a => a.GroupType).ToArray();

            if (listGroup.Contains(GroupType.ServPause))
            {
                userInfo.IsServPause = 1;
            }
            ViewBag.IsServPause    = CurrentWxUser.IsServPause;
            ViewBag.restaurantName = restaurantName;
            return(View());
        }
예제 #4
0
        public JsonResult _Statement()
        {
            var channelUser = UserInfoClientChannelFactory.GetChannel();

            channelUser.CheckedStatement(CurrentWxUser.UserId);

            return(Json(new { state = 1 }));
        }
예제 #5
0
        public ActionResult ChooseHospital()
        {
            SetResponseFlag();
            // 标记当前是新单
            ChangeOrderID = null;
            OrderInfo     = null;

            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var listMarket      = baseDataChannel.LoadMarket();

            var channelUser = UserInfoClientChannelFactory.GetChannel();
            var channelBase = BaseDataClientChannelFactory.GetChannel();

            var userId   = CurrentWxUser.UserId;
            var userInfo = channelUser.FindByUserId(userId);

            if (userInfo == null)
            {
                userInfo = new P_USERINFO()
                {
                    UserId = userId
                };
            }

            if (userInfo.IsCheckedStatement == 0)
            {
                return(RedirectToAction("Statement", "Other"));
            }

            var listGroup = channelBase.LoadUserGroup(userId).Select(a => a.GroupType).ToArray();

            if (listGroup.Contains(GroupType.ServPause))
            {
                userInfo.IsServPause = 1;
            }
            if (listGroup.Contains(GroupType.OutSideHT))
            {
                userInfo.IsOutSideHT = 1;
            }
            CurrentWxUser = userInfo;
            var market = CurrentWxUser.Market;

            market                = market ?? "";
            ViewBag.Market        = market;
            ViewBag.listMarket    = listMarket.Where(a => a.Name == market).ToList();
            ViewBag.IsServPause   = CurrentWxUser.IsServPause;
            ViewBag.IsOutSideHT   = CurrentWxUser.IsOutSideHT;
            ViewBag.CurrentUserId = CurrentWxUser.UserId;
            return(View());
        }
        public ActionResult List(string formenu, string supplier, string changeOrder, string sendTime, string changeSendTime)
        {
            ViewBag.isForMenu = formenu == "1";
            //20200214
            if (ViewBag.isForMenu == false && (sendTime == "" || sendTime == null))
            {
                ViewBag.sendTime = "";
            }
            else
            {
                ViewBag.sendTime = sendTime;
            }
            ViewBag.hospitalId     = PreApproval.HospitalAddressCode;
            ViewBag.supplier       = supplier;
            ViewBag.isChange       = changeOrder == "1";
            ViewBag.changeSendTime = changeSendTime;
            ViewBag.restaurantId   = "";
            ViewBag.restaurantName = "";

            if (changeOrder == "1")
            {
                var channelOrder = OrderApiClientChannelFactory.GetChannel();
                var res          = channelOrder.FindOrderByCN(PreApproval.HTCode);
                ViewBag.restaurantId   = res.RestaurantId;
                ViewBag.restaurantName = res.RestaurantName;
            }
            //ViewBag.hospitalId = "64942";
            var channelBase = BaseDataClientChannelFactory.GetChannel();
            var channelUser = UserInfoClientChannelFactory.GetChannel();
            var userInfo    = channelUser.FindByUserId(CurrentWxUser.UserId);
            var listGroup   = channelBase.LoadUserGroup(CurrentWxUser.UserId).Select(a => a.GroupType).ToArray();

            if (listGroup.Contains(GroupType.ServPause))
            {
                userInfo.IsServPause = 1;
            }
            ViewBag.IsServPause = CurrentWxUser.IsServPause;
            return(View());
        }
예제 #7
0
        /// <summary>
        /// 进入Action之前进行拦截
        /// </summary>
        /// <param name="filterContext"></param>
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            filterContext.HttpContext.Response.Headers.Add("mic", "1");

            var uri = filterContext.HttpContext.Request.AppRelativeCurrentExecutionFilePath;

            HttpSessionStateBase Session = filterContext.HttpContext.Session;
            var wxUser = Session[ConstantHelper.CURRENTWXUSER] as P_USERINFO;

            if (wxUser == null || string.IsNullOrEmpty(wxUser.UserId))
            {
                var user_ticket = filterContext.HttpContext.Request["user_ticket"];
                if (string.IsNullOrEmpty(user_ticket))
                {
                    // 还未通过oauth2取得openid

                    var oauth2url = $"{ConfigurationManager.AppSettings["ShortUrlService"]}/s/{MappingKey}";
                    if (CallBackUrl)
                    {
                        var nowUrl = System.Configuration.ConfigurationManager.AppSettings["CurrentRootDomain"] + filterContext.HttpContext.Request.Url.PathAndQuery;
                        oauth2url += $"?callback={HttpUtility.UrlEncode(nowUrl)}";
                    }

                    filterContext.Result = new RedirectResult(oauth2url);
                }
                else
                {
                    var getUserInfoUrl = $"{ConfigurationManager.AppSettings["iPathAuthService"]}/UrlMapping/GetUserInfoByTicket/{user_ticket}";
                    LogHelper.Info(getUserInfoUrl);

                    var json = ThreadWebClientFactory.GetWebClient().DownloadString(getUserInfoUrl);
                    LogHelper.Info(json);
                    var userInfoRes = JsonConvert.DeserializeObject <WxUserInfoRes>(json);
                    if (userInfoRes.state == 1 && userInfoRes.userinfo.errcode == 1)
                    {
                        var channelUser = UserInfoClientChannelFactory.GetChannel();
                        var channelBase = BaseDataClientChannelFactory.GetChannel();

                        var userId   = userInfoRes.userinfo.userId;
                        var userInfo = channelUser.FindByUserId(userId);
                        if (userInfo == null)
                        {
                            var res1 = channelUser.Find(userId);

                            P_USERINFO entity = new P_USERINFO();
                            entity.ID         = Guid.NewGuid();
                            entity.UserId     = userId;
                            entity.Name       = res1.Name;
                            entity.CreateDate = DateTime.Now;
                            var _res = channelUser.Add(entity);

                            userInfo = channelUser.FindByUserId(userId);
                        }

                        var listGroup = channelBase.LoadUserGroup(userId).Select(a => a.GroupType).ToArray();

                        if (listGroup.Contains(GroupType.ServPause))
                        {
                            userInfo.IsServPause = 1;
                        }
                        if (listGroup.Contains(GroupType.OutSideHT))
                        {
                            userInfo.IsOutSideHT = 1;
                        }


                        Session[ConstantHelper.CURRENTWXUSER] = userInfo;
                        var url = filterContext.HttpContext.Request.RawUrl;
                        if (url.Contains("user_ticket"))
                        {
                            url = url.Replace($"user_ticket={user_ticket}", string.Empty);
                        }

                        filterContext.Result = new RedirectResult(url);
                    }
                    else
                    {
                        // 没有权限
                        filterContext.Result = new ContentResult()
                        {
                            Content = "您无使用此功能的权限"
                        };
                    }
                }
            }
            else
            {
                var           IsPublishProgram = ConfigurationManager.AppSettings["IsPublishProgram"];
                var           SystemCoders     = ConfigurationManager.AppSettings["SystemCoders"];
                List <string> Coders           = new List <string>();
                if (!string.IsNullOrEmpty(SystemCoders))
                {
                    Coders = SystemCoders.Split(';').ToList();
                }
                if (IsPublishProgram == "1" && !Coders.Contains(wxUser.UserId))
                {
                    var LocalService = ConfigurationManager.AppSettings["LocalService"];
                    filterContext.Result = new RedirectResult(LocalService + "/P/Publish/Index");
                }
            }
        }
예제 #8
0
        public JsonResult _Edit(Guid UploadOrderId, string htCode, string MMCoEImageOne, string MMCoEImageTwo, string MMCoEImageThree, int FileType, int IsAttentSame, string AttentSameReason, string SpecialReason, int IsAddFile, int IsMeetingInfoSame, string MeetingInfoSameReason, string Memo)
        {
            //用户信息
            P_USERINFO userInfo        = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;
            var        uploadChannel   = UploadOrderApiClientChannelFactory.GetChannel();
            var        userInfoChannel = UserInfoClientChannelFactory.GetChannel();
            var        orderChannel    = OrderApiClientChannelFactory.GetChannel();
            //DM
            var uploadInfo = uploadChannel.FindApproveInfo(userInfo.UserId);

            if (uploadInfo == null || uploadInfo.UserId == null)
            {
                return(Json(new { state = 0, txt = "您的直线经理信息有误,请隔日再尝试提交。", errCode = 6666 }));
            }

            var uploadInfoDMDelegate = userInfoChannel.isAgent(uploadInfo.UserId);
            //RM
            var            uploaderRMInfo     = new WP_QYUSER();
            var            uploaderRDInfo     = new WP_QYUSER();
            P_UserDelegate uploaderRDDelegate = null;

            if (uploadInfo != null && uploadInfo.UserId != null)
            {
                uploaderRMInfo = uploadChannel.FindApproveInfo(uploadInfo.UserId);

                if (uploaderRMInfo != null && uploaderRMInfo.UserId != null)
                {
                    //RD/SD
                    uploaderRDInfo     = uploadChannel.FindApproveInfo(uploaderRMInfo.UserId);
                    uploaderRDDelegate = userInfoChannel.isAgent(uploaderRDInfo.UserId);
                }
            }

            var uploadOrderInfo = uploadChannel.LoadPreUploadOrder(UploadOrderId);
            var orderInfo       = orderChannel.FindOrderByCN(htCode);

            uploadOrderInfo.ModifyDate            = DateTime.Now;                                                                                                                                                                                              //修改日期
            uploadOrderInfo.State                 = "1";
            uploadOrderInfo.BUHeadName            = FileType == 2 ? (uploaderRDDelegate == null ? uploaderRDInfo.Name : uploaderRDDelegate.DelegateUserName) : (uploadInfoDMDelegate == null ? uploadInfo.Name : uploadInfoDMDelegate.DelegateUserName);       //审批人姓名
            uploadOrderInfo.BUHeadMUDID           = FileType == 2 ? (uploaderRDDelegate == null ? uploaderRDInfo.UserId : uploaderRDDelegate.DelegateUserMUDID) : (uploadInfoDMDelegate == null ? uploadInfo.UserId : uploadInfoDMDelegate.DelegateUserMUDID); //审批人ID
            uploadOrderInfo.MMCoEImageOne         = MMCoEImageOne;                                                                                                                                                                                             //上传文件1
            uploadOrderInfo.MMCoEImageTwo         = MMCoEImageTwo;                                                                                                                                                                                             //上传文件2
            uploadOrderInfo.MMCoEImageThree       = MMCoEImageThree;                                                                                                                                                                                           //上传文件2
            uploadOrderInfo.IsAttentSame          = IsAttentSame;
            uploadOrderInfo.AttentSameReason      = AttentSameReason;
            uploadOrderInfo.SpecialReason         = SpecialReason;
            uploadOrderInfo.IsAddFile             = IsAddFile;
            uploadOrderInfo.IsMeetingInfoSame     = IsMeetingInfoSame;
            uploadOrderInfo.MeetingInfoSameReason = MeetingInfoSameReason;
            uploadOrderInfo.Memo = Memo;
            if (orderInfo.IsTransfer == 1)
            {
                uploadOrderInfo.IsTransfer            = orderInfo.IsTransfer;
                uploadOrderInfo.TransferUserName      = orderInfo.TransferUserName;
                uploadOrderInfo.TransferUserMUDID     = orderInfo.TransferUserMUDID;
                uploadOrderInfo.TransferOperatorName  = orderInfo.TransferOperatorName;
                uploadOrderInfo.TransferOperatorMUDID = orderInfo.TransferOperatorMUDID;
                uploadOrderInfo.TransferOperateDate   = orderInfo.TransferOperateDate;
            }
            uploadChannel.Update(uploadOrderInfo);
            P_OrderApproveHistory history = new P_OrderApproveHistory()
            {
                ID          = Guid.NewGuid(),
                PID         = UploadOrderId,
                UserName    = CurrentWxUser.Name,
                UserId      = CurrentWxUser.UserId,
                ActionType  = 4,
                ApproveDate = DateTime.Now,
                type        = 2
            };

            uploadChannel.AddOrderApproveHistory(history);

            WxMessageHandler.GetInstance().SendOrderStateChangeMessageToUser(uploadOrderInfo);
            return(Json(new { state = 1 }));
        }
예제 #9
0
        public JsonResult _Submit(string htCode, string MMCoEImageOne, string MMCoEImageTwo, string MMCoEImageThree, int FileType, int IsAttentSame, string AttentSameReason, string SpecialReason, int IsAddFile, int IsMeetingInfoSame, string MeetingInfoSameReason, string Memo)
        {
            //用户信息
            P_USERINFO userInfo        = Session[MealH5.Util.ConstantHelper.CURRENTWXUSER] as P_USERINFO;
            var        uploadChannel   = UploadOrderApiClientChannelFactory.GetChannel();
            var        userInfoChannel = UserInfoClientChannelFactory.GetChannel();
            var        orderChannel    = OrderApiClientChannelFactory.GetChannel();
            //DM
            var uploadInfo = uploadChannel.FindApproveInfo(userInfo.UserId);


            if (uploadInfo == null || uploadInfo.UserId == null)
            {
                return(Json(new { state = 0, txt = "您的直线经理信息有误,请隔日再尝试提交。", errCode = 6666 }));
            }

            var uploadInfoDMDelegate = userInfoChannel.isAgent(uploadInfo.UserId);
            //RM
            var            uploaderRMInfo     = new WP_QYUSER();
            var            uploaderRDInfo     = new WP_QYUSER();
            P_UserDelegate uploaderRDDelegate = null;

            if (uploadInfo != null && uploadInfo.UserId != null)
            {
                uploaderRMInfo = uploadChannel.FindApproveInfo(uploadInfo.UserId);

                if (uploaderRMInfo != null && uploaderRMInfo.UserId != null)
                {
                    //RD/SD
                    uploaderRDInfo     = uploadChannel.FindApproveInfo(uploaderRMInfo.UserId);
                    uploaderRDDelegate = userInfoChannel.isAgent(uploaderRDInfo.UserId);
                }
            }

            var orderInfo   = orderChannel.FindOrderByCN(htCode);
            var orderUpload = new P_PREUPLOADORDER();

            orderUpload.ID                    = Guid.NewGuid();
            orderUpload.ApplierName           = orderInfo.IsTransfer == 0 ? userInfo.Name : orderInfo.Consignee;                                                                                                                                           //登录人姓名
            orderUpload.ApplierMUDID          = orderInfo.IsTransfer == 0 ? userInfo.UserId : orderInfo.UserId;                                                                                                                                            //登录人ID
            orderUpload.CreateDate            = DateTime.Now;                                                                                                                                                                                              //创建日期
            orderUpload.ModifyDate            = orderUpload.CreateDate;                                                                                                                                                                                    //修改日期
            orderUpload.HTCode                = htCode;                                                                                                                                                                                                    //HT编号
            orderUpload.BUHeadName            = FileType == 2 ? (uploaderRDDelegate == null ? uploaderRDInfo.Name : uploaderRDDelegate.DelegateUserName) : (uploadInfoDMDelegate == null ? uploadInfo.Name : uploadInfoDMDelegate.DelegateUserName);       //审批人姓名
            orderUpload.BUHeadMUDID           = FileType == 2 ? (uploaderRDDelegate == null ? uploaderRDInfo.UserId : uploaderRDDelegate.DelegateUserMUDID) : (uploadInfoDMDelegate == null ? uploadInfo.UserId : uploadInfoDMDelegate.DelegateUserMUDID); //审批人ID
            orderUpload.IsReAssign            = false;                                                                                                                                                                                                     //是否重新分配
            orderUpload.State                 = "1";                                                                                                                                                                                                       //状态
            orderUpload.MMCoEImageOne         = MMCoEImageOne;                                                                                                                                                                                             //上传文件1
            orderUpload.MMCoEImageTwo         = MMCoEImageTwo;                                                                                                                                                                                             //上传文件2
            orderUpload.MMCoEImageThree       = MMCoEImageThree;                                                                                                                                                                                           //上传文件2
            orderUpload.FileType              = FileType;
            orderUpload.IsAttentSame          = IsAttentSame;
            orderUpload.AttentSameReason      = AttentSameReason;
            orderUpload.SpecialReason         = SpecialReason;
            orderUpload.IsAddFile             = IsAddFile;
            orderUpload.IsMeetingInfoSame     = IsMeetingInfoSame;
            orderUpload.MeetingInfoSameReason = MeetingInfoSameReason;
            orderUpload.Memo                  = Memo;
            if (orderInfo.IsTransfer == 1)
            {
                orderUpload.IsTransfer            = orderInfo.IsTransfer;
                orderUpload.TransferUserName      = orderInfo.TransferUserName;
                orderUpload.TransferUserMUDID     = orderInfo.TransferUserMUDID;
                orderUpload.TransferOperatorName  = orderInfo.TransferOperatorName;
                orderUpload.TransferOperatorMUDID = orderInfo.TransferOperatorMUDID;
                orderUpload.TransferOperateDate   = orderInfo.TransferOperateDate;
            }
            var res = uploadChannel.Add(orderUpload);

            if (res > 0)
            {
                P_OrderApproveHistory history = new P_OrderApproveHistory()
                {
                    ID          = Guid.NewGuid(),
                    PID         = orderUpload.ID,
                    UserName    = userInfo.Name,
                    UserId      = userInfo.UserId,
                    ActionType  = 1,
                    ApproveDate = DateTime.Now,
                    type        = 2
                };
                uploadChannel.AddOrderApproveHistory(history);
                WxMessageHandler.GetInstance().SendOrderStateChangeMessageToUser(orderUpload);
                return(Json(new { state = 1 }));
            }
            if (res == 0)
            {
                return(Json(new { state = 0, txt = "您的文件已经提交过,请勿重复提交。", errCode = 5555 }));
            }
            else
            {
                return(Json(new { state = 0 }));
            }
        }