public JsonResult IsLahei(string resId, string supplier, int?dataState)
 {
     if (dataState != OrderState.SCHEDULEDSUCCESS)
     {
         //先判断是否加载餐厅管理平台黑名单餐厅,再判断餐厅是否被拉黑
         if (WebConfigHandler.IsLoadRestaurantData == "1")
         {
             var    baseDataChannel = BaseDataClientChannelFactory.GetChannel();
             string alertMessage    = "此餐厅已下线,请您重新选择其他餐厅。";
             var    resLaheiLIst    = baseDataChannel.LoadRestaurantState();
             var    lahei           = resLaheiLIst.Where(p => p.ResId == resId && p.Status == 0);
             //if (lahei == null || lahei.Count() == 0)
             //{
             //    return Json(new { state = 0, txt = alertMessage });
             //}
             //else
             //{
             //    lahei = lahei.Where(x => x.Status == 0);
             //}
             if (lahei.Count() > 0)
             {
                 return(Json(new { state = 0, txt = alertMessage }));
             }
         }
     }
     return(Json(new { state = 1, data = "" }));
 }
        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());
        }
Exemplo n.º 3
0
        public JsonResult FindMeeting(string code)
        {
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var listMeeting     = baseDataChannel.FindMeeting(code);

            return(Json(new { state = 1, data = listMeeting }));
        }
Exemplo n.º 4
0
        public JsonResult LoadNextHoliday()
        {
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var holiday         = baseDataChannel.FindNextRange(DateTime.Now);

            return(Json(new { state = 1, data = new { holiday = holiday, now = DateTime.Now.Date } }));
        }
Exemplo n.º 5
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 JsonResult CalculateFee(string hospitalId, string resId, FoodRequest[] foods, string supplier, int?dataState, string sendTime)
        {
            //var openApiChannel = OpenApiChannelFactory.GetChannel();
            //var res = openApiChannel.calculateFee(hospitalId, resId, foods);
            if (dataState != OrderState.SCHEDULEDSUCCESS)
            {
                //先判断是否加载餐厅管理平台黑名单餐厅,再判断餐厅是否被拉黑
                if (WebConfigHandler.IsLoadRestaurantData == "1")
                {
                    var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
                    //var resLaheiLIst = baseDataChannel.LoadRestaurantState();
                    //var lahei = resLaheiLIst.Where(p => p.ResId == resId);
                    string alertMessage = "此餐厅已下线,请您重新选择其他餐厅。";
                    var    resLaheiLIst = baseDataChannel.LoadRestaurantState();
                    var    lahei        = resLaheiLIst.Where(p => p.ResId == resId && p.Status == 0);
                    //if (lahei == null || lahei.Count() == 0)
                    //{
                    //    return Json(new { state = 0, txt = alertMessage });
                    //}
                    //else
                    //{
                    //    lahei = lahei.Where(x => x.Status == 0);
                    //}
                    if (lahei.Count() > 0)
                    {
                        return(Json(new { state = 0, txt = alertMessage }));
                    }
                }
            }

            var foodList = new List <iPathFeast.ApiEntity.Food>();

            foreach (var item in foods)
            {
                foodList.Add(new iPathFeast.ApiEntity.Food()
                {
                    foodId   = item.foodId,
                    foodName = item.foodName,
                    count    = Convert.ToInt32(item.count),
                });
            }
            var req = new CalcFeeReq()
            {
                _Channels  = supplier,
                resId      = resId,
                hospitalId = PreApproval.HospitalAddressCode,
                longitude  = WeChatOrderInfo.hospital.Latitude,
                latitude   = WeChatOrderInfo.hospital.Longitude,
                phone      = "",
                foods      = foodList,
                sendTime   = sendTime
            };
            var res = apiClient.CalcFee(req);

            if (res != null)
            {
                return(Json(new { state = 1, data = res }));
            }
            return(Json(new { state = 0, txt = "预算餐费失败!", errCode = 9014 }));
        }
        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());
        }
Exemplo n.º 8
0
        public JsonResult FindCity(int cityId)
        {
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var city            = baseDataChannel.FindCity(cityId);

            return(Json(new { state = 1, data = city }));
        }
Exemplo n.º 9
0
        /// <summary>
        /// 根据market获取TA
        /// </summary>
        /// <param name="marketName"></param>
        /// <returns></returns>
        public JsonResult LoadTa(string Market, string UserId)
        {
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var res             = baseDataChannel.LoadTACodeByMarketAndUser(Market, UserId);

            return(Json(new { state = 1, data = res }));
        }
Exemplo n.º 10
0
        /// <summary>
        /// 页面Js权限注入
        /// </summary>
        /// <param name="url"></param>
        /// <param name="debug"></param>
        /// <returns></returns>
        public ActionResult QyConfigJs(string url, string debug)
        {
            LogHelper.Info("url:" + url);
            string noncestr        = Guid.NewGuid().ToString();
            string timestamp       = DateTimeHelper.NowToJavaTimeMillis().ToString();
            var    baseDataChannel = BaseDataClientChannelFactory.GetChannel();

            var ticket = baseDataChannel.GetJsApiTicket();

            LogHelper.Info("ticket=" + ticket.Signature);

            if (DateTime.Compare(ticket.Timestamp, DateTime.Now) > 0)
            {
                string[] brr = new string[]
                {
                    "noncestr=" + noncestr,
                    "jsapi_ticket=" + ticket.Signature,
                    "timestamp=" + timestamp,
                    "url=" + url
                };
                Array.Sort(brr);
                string p1        = string.Join("&", brr);
                string signature = SHA1Helper.SHA1_Hash(p1);

                ViewBag.debug     = debug;
                ViewBag.appId     = GlobalHandler.QyApiHandler.wxConfigManager.CorpID;
                ViewBag.noncestr  = noncestr;
                ViewBag.timestamp = timestamp;
                ViewBag.url       = url;
                ViewBag.signature = signature;
            }
            else
            {
                //string signature = GlobalHandler.QyApiHandler.GetJsapiSignature(noncestr, timestamp, url);
                var jsap_ticket = GlobalHandler.QyApiHandler.Get_jsapi_ticket();
                baseDataChannel.UpdateJsApiTicket(jsap_ticket.ticket, DateTime.Now.AddSeconds(7200).ToString());
                string[] arr = new string[]
                {
                    "noncestr=" + noncestr,
                    "jsapi_ticket=" + jsap_ticket.ticket,
                    "timestamp=" + timestamp,
                    "url=" + url
                };
                Array.Sort(arr);
                string p1        = string.Join("&", arr);
                string signature = SHA1Helper.SHA1_Hash(p1);

                ViewBag.debug     = debug;
                ViewBag.appId     = GlobalHandler.QyApiHandler.wxConfigManager.CorpID;
                ViewBag.noncestr  = noncestr;
                ViewBag.timestamp = timestamp;
                ViewBag.url       = url;
                ViewBag.signature = signature;
            }
            return(View());
        }
Exemplo n.º 11
0
        public ActionResult ChooseCN()
        {
            var nowDate         = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd HH:mm:ss");
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var listMeeting     = baseDataChannel.LoadMeeting(CurrentWxUser.UserId, nowDate);

            ViewBag.listMeeting      = listMeeting;
            ViewBag.P_ChooseHospital = HospitalInfo;
            return(View());
        }
Exemplo n.º 12
0
        public JsonResult LoadHospital(int cityId, string market, string userid, string TA)
        {
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var listHospital    = baseDataChannel.LoadHospital(cityId, market, TA);

            //if (CurrentWxUser.TerritoryCode != null && CurrentWxUser.TerritoryCode != "")
            //{
            //    listHospital = baseDataChannel.LoadHospitalByTaUser(cityId, market, CurrentWxUser.UserId, CurrentWxUser.TerritoryCode);
            //}
            return(Json(new { state = 1, rows = listHospital }));
        }
Exemplo n.º 13
0
        public JsonResult LoadCity(int provinceId, string Type, string TA)
        {
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var listCity        = baseDataChannel.LoadCity(provinceId, Type, TA);

            //if (CurrentWxUser.TerritoryCode != null && CurrentWxUser.TerritoryCode != "")
            //{
            //    listCity = baseDataChannel.LoadCityByHos(provinceId, Type, CurrentWxUser.UserId, CurrentWxUser.TerritoryCode);
            //}
            return(Json(new { state = 1, rows = listCity }));
        }
Exemplo n.º 14
0
        public JsonResult LoadProvince(string Type, string TA)
        {
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var listProvince    = baseDataChannel.LoadProvince(Type, TA);

            //if (CurrentWxUser.TerritoryCode != null && CurrentWxUser.TerritoryCode != "")
            //{
            //    listProvince = baseDataChannel.LoadProvinceByHos(Type, CurrentWxUser.UserId);
            //}
            return(Json(new { state = 1, rows = listProvince }));
        }
Exemplo n.º 15
0
        public JsonResult LoadTA(string market)
        {
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var listTA          = baseDataChannel.LoadTAByMarket(market);

            //if (CurrentWxUser.TerritoryCode != null && CurrentWxUser.TerritoryCode != "")
            //{
            //    listTA = baseDataChannel.LoadTAByMarketUserId(market, CurrentWxUser.UserId);
            //}
            return(Json(new { state = 1, rows = listTA }));
        }
Exemplo n.º 16
0
        /// <summary>
        /// 根据医院编码搜索医院
        /// </summary>
        /// <param name="keyword"></param>
        /// <param name="province"></param>
        /// <param name="city"></param>
        /// <param name="market"></param>
        /// <param name="userid"></param>
        /// <returns></returns>
        public JsonResult SearchHospitalByCode(string keyword, int province, int city, string market, string TA)
        {
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var listHospital    = baseDataChannel.SearchHospitalByCode(keyword, province, city, market, TA);

            //if (CurrentWxUser.TerritoryCode != null && CurrentWxUser.TerritoryCode != "")
            //{
            //    listHospital = baseDataChannel.SearchHospitalByCodeTA(keyword, province, city, market, CurrentWxUser.UserId, CurrentWxUser.TerritoryCode);
            //}
            return(Json(new { state = 1, rows = listHospital }));
        }
Exemplo n.º 17
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 JsonResult FindRestaurant(string hospitalId, string restaurantId, string supplier, int?dataState, string sendTime)
        {
            //var openApiChannel = OpenApiChannelFactory.GetChannel();
            //var res = openApiChannel.queryResFood(restaurantId);
            if (dataState != OrderState.SCHEDULEDSUCCESS)
            {
                //先判断是否加载餐厅管理平台黑名单餐厅,再判断餐厅是否被拉黑
                if (WebConfigHandler.IsLoadRestaurantData == "1")
                {
                    var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
                    //var resLaheiLIst = baseDataChannel.LoadRestaurantState();
                    //var lahei = resLaheiLIst.Where(p => p.ResId == restaurantId);
                    string alertMessage = "此餐厅已下线,请您重新选择其他餐厅。";
                    var    resLaheiLIst = baseDataChannel.LoadRestaurantState();
                    var    lahei        = resLaheiLIst.Where(p => p.ResId == restaurantId && p.Status == 0);
                    //if (lahei == null || lahei.Count() == 0)
                    //{
                    //    return Json(new { state = 0, txt = alertMessage });
                    //}
                    //else
                    //{
                    //    lahei = lahei.Where(x => x.Status == 0);
                    //}
                    if (lahei.Count() > 0)
                    {
                        return(Json(new { state = 0, txt = alertMessage }));
                    }
                }
            }
            var req = new LoadMenuReq()
            {
                _Channels  = supplier,
                resId      = restaurantId,
                resName    = "",
                hospitalId = hospitalId,
                sendTime   = sendTime
            };
            var res = apiClient.LoadMenu(req);

            if (res != null)
            {
                return(Json(new { state = 1, data = res }));
            }
            return(Json(new { state = 0, txt = "操作失败!", errCode = 9008 }));
        }
Exemplo n.º 19
0
        public JsonResult _ChooseHospital(P_ChooseHospital entity)
        {
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var listMarket      = baseDataChannel.LoadMarket();
            var hospitalChannel = HospitalClientChannelFactory.GetChannel();
            var Hospital        = hospitalChannel.FindByCode(entity.addressCode);
            var market          = listMarket.First(a => a.Name == entity.market);

            entity.hospital      = Hospital.GskHospital;
            entity.invoiceTitle  = market.InvoiceTitle;
            entity.dutyParagraph = market.DutyParagraph;
            entity.isExternal    = Hospital.External;
            entity.longitude     = Hospital.Longitude;
            entity.latitude      = Hospital.Latitude;
            entity.addressCode   = Hospital.HospitalCode;
            HospitalInfo         = entity;
            return(Json(new { state = 1 }));
        }
        //更新会议信息
        public void ChangeMeeting(string code)
        {
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var meeting         = baseDataChannel.FindMeeting(code);

            OrderInfo.meeting = new P_Meeting()
            {
                code          = meeting.Code,
                title         = meeting.Title,
                budgetTotal   = meeting.BudgetTotal,
                submittedDate = meeting.SubmittedDate,
                approvedDate  = meeting.ApprovedDate,
                status        = meeting.Status,
                pendingWith   = meeting.PendingWith,
                userId        = meeting.UserId,
                userName      = meeting.UserId
            };
        }
Exemplo n.º 21
0
        public JsonResult _ChooseCN(string code)
        {
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var meeting         = baseDataChannel.FindMeeting(code);

            OrderInfo.CnCode  = code;
            OrderInfo.meeting = new P_Meeting()
            {
                code          = meeting.Code,
                title         = meeting.Title,
                budgetTotal   = meeting.BudgetTotal,
                submittedDate = meeting.SubmittedDate,
                approvedDate  = meeting.ApprovedDate,
                status        = meeting.Status,
                pendingWith   = meeting.PendingWith,
                userId        = meeting.UserId,
                userName      = meeting.UserId
            };
            return(Json(new { state = 1 }));
        }
Exemplo n.º 22
0
        /// <summary>
        /// 加载时间配置
        /// </summary>
        /// <returns></returns>
        public ActionResult Time()
        {
            var channel = BaseDataClientChannelFactory.GetChannel();
            var config  = channel.GetTimeConfig();

            config._3_1_SysWorkTimeBegin                         = TimeFormatter(config._3_1_SysWorkTimeBegin);
            config._3_2_SysWorkTimeEnd                           = TimeFormatter(config._3_2_SysWorkTimeEnd);
            config._4_1_ThatDayCanOrderMealTimeBegin             = TimeFormatter(config._4_1_ThatDayCanOrderMealTimeBegin);
            config._4_2_ThatDayCanOrderMealTimeEnd               = TimeFormatter(config._4_2_ThatDayCanOrderMealTimeEnd);
            config._5_1_ThatDayCanSendMealTimeBegin              = TimeFormatter(config._5_1_ThatDayCanSendMealTimeBegin);
            config._5_2_ThatDayCanSendMealTimeEnd                = TimeFormatter(config._5_2_ThatDayCanSendMealTimeEnd);
            config._6_1_NotThatDayCanSendMealTimeBegin           = TimeFormatter(config._6_1_NotThatDayCanSendMealTimeBegin);
            config._6_2_NotThatDayCanSendMealTimeEnd             = TimeFormatter(config._6_2_NotThatDayCanSendMealTimeEnd);
            config._11_1_SysOperableTimeBegin                    = TimeFormatter(config._11_1_SysOperableTimeBegin);
            config._11_2_SysOperableTimeEnd                      = TimeFormatter(config._11_2_SysOperableTimeEnd);
            config._12_1_PreApprovalCanApplyMeetingTimeSpanBegin = TimeFormatter(config._12_1_PreApprovalCanApplyMeetingTimeSpanBegin);
            config._12_2_PreApprovalCanApplyMeetingTimeSpanEnd   = TimeFormatter(config._12_2_PreApprovalCanApplyMeetingTimeSpanEnd);
            config._13_1_PreApprovalNextWorkDaySendTimeSpanBegin = TimeFormatter(config._13_1_PreApprovalNextWorkDaySendTimeSpanBegin);
            config._13_2_PreApprovalNextWorkDaySendTimeSpanEnd   = TimeFormatter(config._13_2_PreApprovalNextWorkDaySendTimeSpanEnd);
            config._14_1_PreWorkTimeSpanBegin                    = TimeFormatter(config._14_1_PreWorkTimeSpanBegin);
            config._14_2_PreWorkTimeSpanEnd                      = TimeFormatter(config._14_2_PreWorkTimeSpanEnd);
            config._15_1_PreOperableTimeSpanBegin                = TimeFormatter(config._15_1_PreOperableTimeSpanBegin);
            config._15_2_PreOperableTimeSpanEnd                  = TimeFormatter(config._15_2_PreOperableTimeSpanEnd);
            config._16_1_UploadWorkTimeSpanBegin                 = TimeFormatter(config._16_1_UploadWorkTimeSpanBegin);
            config._16_2_UploadWorkTimeSpanEnd                   = TimeFormatter(config._16_2_UploadWorkTimeSpanEnd);
            config._17_1_UploadOperableTimeSpanBegin             = TimeFormatter(config._17_1_UploadOperableTimeSpanBegin);
            config._17_2_UploadOperableTimeSpanEnd               = TimeFormatter(config._17_2_UploadOperableTimeSpanEnd);

            config._18_1_AddAddressTimeSpanBegin      = TimeFormatter(config._18_1_AddAddressTimeSpanBegin);
            config._18_2_AddAddressTimeSpanEnd        = TimeFormatter(config._18_2_AddAddressTimeSpanEnd);
            config._19_1_ResubmitAddressTimeSpanBegin = TimeFormatter(config._19_1_ResubmitAddressTimeSpanBegin);
            config._19_2_ResubmitAddressTimeSpanEnd   = TimeFormatter(config._19_2_ResubmitAddressTimeSpanEnd);
            config._20_1_UpdateAddressTimeSpanBegin   = TimeFormatter(config._20_1_UpdateAddressTimeSpanBegin);
            config._20_2_UpdateAddressTimeSpanEnd     = TimeFormatter(config._20_2_UpdateAddressTimeSpanEnd);

            var _7_OrderingBufferMin = TimeFormatter($"0:{config._7_OrderingBufferMin}");

            ViewBag._7_OrderingBufferMin = _7_OrderingBufferMin;
            return(View(config));
        }
        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());
        }
Exemplo n.º 24
0
        public bool CheckApproveStep(string userid, string TA)
        {
            var  baseDataChannel    = BaseDataClientChannelFactory.GetChannel();
            var  preApprovalChannel = PreApprovalClientChannelFactory.GetChannel();
            bool result             = false;
            bool flag = preApprovalChannel.HasApproveByTA(userid, TA);

            if (flag)
            {
                return(true);
            }
            for (int i = 0; i < 6; i++)
            {
                var pre = baseDataChannel.GetNameUserId(userid);
                if (string.IsNullOrEmpty(pre.CurrentApproverMUDID) || pre == null)
                {
                    result = false;
                    break;
                }
                else
                {
                    userid = pre.CurrentApproverMUDID;
                }
                bool flag1 = preApprovalChannel.HasApproveByTA(userid, TA);

                if (flag1)
                {
                    result = true;
                    break;
                }
                else
                {
                    continue;
                }
            }

            return(result);
        }
        public JsonResult IsOnLine(string RestaurantId)
        {
            var baseDataChannel  = BaseDataClientChannelFactory.GetChannel();
            var resstatelist     = baseDataChannel.LoadRestaurantState();
            var isCurrentDisable = resstatelist.Any(p => p.ResId == RestaurantId);

            if (!isCurrentDisable)
            {
                return(Json(new { state = 0 }));
            }
            else
            {
                var status = resstatelist.Where(x => x.ResId == RestaurantId && x.Status == 0);
                if (status != null && status.Count() > 0)
                {
                    return(Json(new { state = 0 }));
                }
                else
                {
                    return(Json(new { state = 1 }));
                }
            }
        }
Exemplo n.º 26
0
        public JsonResult OrderFeeChange()
        {
            try
            {
                StreamReader reader = new StreamReader(Request.InputStream);
                var          req    = reader.ReadToEnd();
                LogHelper.Info(req);

                OrderFeeChangeCallBack request = JsonConvert.DeserializeObject <OrderFeeChangeCallBack>(req);

                var channel = OrderApiClientChannelFactory.GetChannel();
                var res     = request.requestData;
                var order   = channel.FindByXmlOrderId(res.supplierOrderId);
                var detail  = (JObject)JsonConvert.DeserializeObject(order.Detail);
                var timeNow = DateTime.Now;

                #region 判断是否超预算
                var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
                var cBudget         = baseDataChannel.FindCityBudget(order.HospitalId);
                if (cBudget.IsOut == 0)
                {
                    if (res.totalFee / order.AttendCount > 60)
                    {
                        LogHelper.Info("code=802");
                        return(Json(new { code = 802, message = "人均实际金额超过60元" }));
                    }
                }
                else
                {
                    if (string.IsNullOrEmpty(cBudget.CityName))
                    {
                        if (res.totalFee / order.AttendCount > 100)
                        {
                            LogHelper.Info("code=802");
                            return(Json(new { code = 802, message = "人均实际金额超过100元" }));
                        }
                    }
                    //一二线城市
                    else
                    {
                        if (res.totalFee / order.AttendCount > 150)
                        {
                            LogHelper.Info("code=802");
                            return(Json(new { code = 802, message = "人均实际金额超过150元" }));
                        }
                    }
                }
                #endregion

                if (timeNow > DateTime.Parse(detail["details"]["deliverTime"].ToString()))
                {
                    LogHelper.Info("code=803");
                    return(Json(new { code = 803, message = "修改实际金额时间超过送餐时间" }));
                }
                else if (res.totalFee > decimal.Parse(detail["preApproval"]["BudgetTotal"].ToString()))
                {
                    LogHelper.Info("code=801");
                    return(Json(new { code = 801, message = "实际金额大于会议预算金额" }));
                }
                else if (res.totalFee > order.TotalPrice)
                {
                    LogHelper.Info("code=804");
                    return(Json(new { code = 804, message = "实际金额大于会议预定金额" }));
                }
                //else if (res.totalFee / order.AttendCount > 60)
                //{
                //    LogHelper.Info("code=802");
                //    return Json(new { code = 802, message = "人均实际金额超过60元" });
                //}
                else
                {
                    int result = channel.XmsChangeTotalFee(res.supplierOrderId, res.totalFee, res.remark);
                    if (result > 0)
                    {
                        if (order.IsNonHT == 0)
                        {
                            WxMessageHandler.GetInstance().SendMessageToUserForChangeFee(res.supplierOrderId);
                        }
                        else
                        {
                            WxMessageHandler.GetInstance().SendNonHTMessageToUserForChangeFee(res.supplierOrderId);
                        }
                        LogHelper.Info("code=200");
                        return(Json(new { code = 200, message = "ok" }));
                    }
                    else
                    {
                        LogHelper.Info("数据库连接超时,更改订单金额失败,code=500");
                        return(Json(new { code = 500, message = "fail" }));
                    }
                }
            }
            catch (Exception exp)
            {
                LogHelper.Error("Exception OrderFeeChange", exp);
                return(Json(new { code = 500, message = "error" }));
            }
        }
Exemplo n.º 27
0
        /// <summary>
        /// 返回JsApi配置参数
        /// </summary>
        /// <param name="url"></param>
        /// <returns></returns>
        public JsonResult QyConfig(string url)
        {
            LogHelper.Info("url=" + url);
            string noncestr  = Guid.NewGuid().ToString();
            string timestamp = DateTimeHelper.NowToJavaTimeMillis().ToString();
            //string signature = GlobalHandler.QyApiHandler.GetJsapiSignature(noncestr, timestamp, url);

            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var ticket          = baseDataChannel.GetJsApiTicket();

            if (DateTime.Compare(ticket.Timestamp, DateTime.Now) > 0)
            {
                string[] arr = new string[]
                {
                    "noncestr=" + noncestr,
                    "jsapi_ticket=" + ticket,
                    "timestamp=" + timestamp,
                    "url=" + url
                };
                Array.Sort(arr);
                string p1        = string.Join("&", arr);
                string signature = SHA1Helper.SHA1_Hash(p1);

                return(Json(
                           new
                {
                    state = 1,
                    config =
                        new
                    {
                        appId = GlobalHandler.QyApiHandler.wxConfigManager.CorpID,
                        timestamp = timestamp,
                        nonceStr = noncestr,
                        signature = signature
                    }
                }));
            }
            else
            {
                var jsap_ticket = GlobalHandler.QyApiHandler.Get_jsapi_ticket();

                baseDataChannel.UpdateJsApiTicket(jsap_ticket.ticket, DateTime.Now.AddSeconds(7200).ToString());

                string[] arr = new string[]
                {
                    "noncestr=" + noncestr,
                    "jsapi_ticket=" + jsap_ticket.ticket,
                    "timestamp=" + timestamp,
                    "url=" + url
                };
                Array.Sort(arr);
                string p1        = string.Join("&", arr);
                string signature = SHA1Helper.SHA1_Hash(p1);

                return(Json(
                           new
                {
                    state = 1,
                    config =
                        new
                    {
                        appId = GlobalHandler.QyApiHandler.wxConfigManager.CorpID,
                        timestamp = timestamp,
                        nonceStr = noncestr,
                        signature = signature
                    }
                }));
            }
        }
Exemplo n.º 28
0
        /// <summary>
        /// 判断是否超出预算
        /// </summary>
        /// <param name="cityID"></param>
        /// <returns></returns>
        public JsonResult IsSubmit(string hospitalId, decimal budget, int attendance, int state)
        {
            var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
            var res             = baseDataChannel.FindCityBudget(hospitalId);
            var mss             = "";

            //院内会
            if (res.IsOut == 0)
            {
                if (budget / attendance > 60)
                {
                    if (state == 1)
                    {
                        mss = "您的预申请已超出人均60元标准,请修改预申请";
                    }
                    else
                    {
                        mss = "您的订单已超出人均60元标准,请修改订单";
                    }
                    return(Json(new { state = 1, data = false, txt = mss }));
                }
                else if (budget > 0 && budget / attendance <= 1)
                {
                    mss = "您的订单人均<=1元,请修改订单";
                    return(Json(new { state = 1, data = false, txt = mss }));
                }
                return(Json(new { state = 1, data = true }));
            }
            //院外会
            else
            {
                //非一二线城市
                if (string.IsNullOrEmpty(res.CityName))
                {
                    if (budget / attendance > 100)
                    {
                        if (state == 1)
                        {
                            mss = "您的预申请已超出人均100元标准,请修改预申请";
                        }
                        else
                        {
                            mss = "您的订单已超出人均100元标准,请修改订单";
                        }
                        return(Json(new { state = 1, data = false, txt = mss }));
                    }
                    else if (budget > 0 && budget / attendance <= 1)
                    {
                        mss = "您的订单人均<=1元,请修改订单";
                        return(Json(new { state = 1, data = false, txt = mss }));
                    }
                    return(Json(new { state = 1, data = true }));
                }
                //一二线城市
                else
                {
                    if (budget / attendance > 150)
                    {
                        if (state == 1)
                        {
                            mss = "您的预申请已超出人均150元标准,请修改预申请";
                        }
                        else
                        {
                            mss = "您的订单已超出人均150元标准,请修改订单";
                        }
                        return(Json(new { state = 1, data = false, txt = mss }));
                    }
                    else if (budget > 0 && budget / attendance <= 1)
                    {
                        mss = "您的订单人均<=1元,请修改订单";
                        return(Json(new { state = 1, data = false, txt = mss }));
                    }
                    return(Json(new { state = 1, data = true }));
                }
            }
        }
Exemplo n.º 29
0
        /// <summary>
        /// 判断是否超出预算
        /// </summary>
        /// <param name="cityID"></param>
        /// <returns></returns>
        public JsonResult IsBindRes(string hospitalId)
        {
            System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("zh-cn");
            var channel  = HospitalClientChannelFactory.GetChannel();
            var hospital = channel.FindByCode(hospitalId);

            if (hospital == null || string.IsNullOrEmpty(hospital.Name))
            {
                return(Json(new { state = 1, data = false, txt = "该目标医院暂不支持送餐服务,是否继续?" }));
            }

            //var openApiChannel = OpenApiChannelFactory.GetChannel();
            //var res = openApiChannel.queryRes(hospital.ID.ToString(), hospital.Address, hospital.Latitude, hospital.Longitude);
            //if (string.IsNullOrEmpty(supplier))
            //{
            //    supplier = "";
            //}

            var req = new SearchRestaurantReq()
            {
                _Channels  = "",
                hospitalId = hospital.HospitalCode,
                address    = hospital.Address,
                latitude   = hospital.Latitude,
                longitude  = hospital.Longitude,
                keyword    = ""
            };
            var res = apiClient.SearchRestaurant(req);

            if (res == null)
            {
                return(Json(new { state = 1, data = false, txt = "该目标医院暂不支持送餐服务,是否继续?" }));
            }

            res = res.OrderBy(a => a.resName).ToList();

            #region 对接餐厅管理平台,排除黑名单餐厅
            //比对黑名单数据,对接餐厅管理平台
            if (WebConfigHandler.IsLoadRestaurantData == "1")
            {
                var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
                var resstatelist    = baseDataChannel.LoadRestaurantState();
                var resstateResID   = resstatelist.Select(x => x.ResId).ToList();
                res          = res.Where(x => resstateResID.Contains(x.resId) || x.resName.Contains("堂食")).ToList();
                resstatelist = resstatelist.Where(p => p.Status == 0).ToList();
                foreach (var item in resstatelist)
                {
                    var inlist = res.FirstOrDefault(p => p.resId == item.ResId);
                    if (inlist != null)
                    {
                        res.Remove(inlist);
                    }
                }
            }
            #endregion

            //IComparer<SearchRestaurantRes> comparer = new Restaurant();
            //res.Sort(comparer);
            if (res.Count > 0)
            {
                return(Json(new { state = 1, data = true }));
            }
            else
            {
                return(Json(new { state = 1, data = false, txt = "该目标医院暂不支持送餐服务,是否继续?" }));
            }
        }
        public JsonResult LoadRestaurant(string hospitalId, string supplier, string sendTime)
        {
            System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("zh-cn");
            var channel  = HospitalClientChannelFactory.GetChannel();
            var hospital = channel.FindByCode(hospitalId);

            if (hospital == null || string.IsNullOrEmpty(hospital.Name))
            {
                return(Json(new { state = 0, txt = "载入餐厅列表数据失败!", errCode = 9013 }));
            }

            //var openApiChannel = OpenApiChannelFactory.GetChannel();
            //var res = openApiChannel.queryRes(hospital.ID.ToString(), hospital.Address, hospital.Latitude, hospital.Longitude);
            if (string.IsNullOrEmpty(supplier))
            {
                supplier = "";
            }
            if (string.IsNullOrEmpty(sendTime))
            {
                sendTime = "";
            }
            var req = new SearchRestaurantReq()
            {
                _Channels  = supplier,
                hospitalId = hospital.HospitalCode,
                address    = hospital.Address,
                latitude   = hospital.Latitude,
                longitude  = hospital.Longitude,
                sendTime   = sendTime,
                keyword    = ""
            };
            var res = apiClient.SearchRestaurant(req);

            if (res == null)
            {
                return(Json(new { state = 0, txt = "载入餐厅列表数据失败!", errCode = 9013 }));
            }

            res = res.OrderBy(a => a.resName).ToList();

            #region 对接餐厅管理平台,排除黑名单餐厅
            //比对黑名单数据,对接餐厅管理平台
            try
            {
                if (WebConfigHandler.IsLoadRestaurantData == "1")
                {
                    var baseDataChannel = BaseDataClientChannelFactory.GetChannel();
                    var resstatelist    = baseDataChannel.LoadRestaurantState();
                    var resstateResID   = resstatelist.Select(x => x.ResId).ToList();
                    res          = res.Where(x => resstateResID.Contains(x.resId) || x.resName.Contains("堂食")).ToList();
                    resstatelist = resstatelist.Where(p => p.Status == 0).ToList();
                    foreach (var item in resstatelist)
                    {
                        var inlist = res.FirstOrDefault(p => p.resId == item.ResId);
                        if (inlist != null)
                        {
                            res.Remove(inlist);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                return(Json(new { state = 1, rows = e.Message }));
            }
            #endregion

            //IComparer<SearchRestaurantRes> comparer = new Restaurant();
            //res.Sort(comparer);

            //20200221 修改订单修改餐厅过滤原餐厅
            if (ChangeOrderID != null)
            {
                var    channelOrder = OrderApiClientChannelFactory.GetChannel();
                var    list         = channelOrder.FindOrderByCN(PreApproval.HTCode);
                string restaurantId = list.RestaurantId;
                var    re           = res.Where(a => a.resId != restaurantId).ToList();
                return(Json(new { state = 1, rows = re }));
            }
            return(Json(new { state = 1, rows = res }));
        }