public void OnAuthorization(AuthorizationFilterContext context)
        {
            bool bPass = false;
            var  model = Global.db_FuncAccess.FirstOrDefault(m => m.AKeyId == FuncAccessKey);

            if (model != null)
            {
                var    doctorId  = int.Parse(context.HttpContext.User.FindFirst("DoctorId").Value);
                var    stationId = int.Parse(context.HttpContext.User.FindFirst("StationId").Value);
                string sql       = string.Format("exec sp_Sys_GetFuncDetailAccess '{0}','{1}',{2},{3}", model.ActionKey, model.FuncName, doctorId, stationId);
                var    db        = new Code.Utility.DataBaseHelper().GetMainDbContext();
                CHIS.Models.DataModel.typevalue rtn = db.SqlQuery <CHIS.Models.DataModel.typevalue>(sql).First();
                if (model.ResultType == "bool")
                {
                    bPass = new Ass.ObjReturn(rtn.value, rtn.type).ToBool();
                    //通过则不予理睬
                }
            }

            //未通过返回页面
            if (!bPass)
            {
                context.Result = new RedirectResult("/Home/Unaccess");        //转到未被授权的页面
            }
        }
Example #2
0
        /// <summary>
        /// 获取工作站的当日接诊量
        /// </summary>
        public static Models.StatisticsModels.TreatBasicSummary StationTodayTreatSummary(this CHIS.Models.vwCHIS_Code_WorkStation model, int doctorId)
        {
            var    db  = new Code.Utility.DataBaseHelper().GetMainDbContext();
            string sql = string.Format(@"
  select tt.name,sum(tt.waiting) waiting,sum(tt.treating) treating,sum(tt.treated) treated from (
   select 'ThisToday' name,0 waiting,0 treating,0 treated
   union
   select a as name,waiting,treating,treated from ( 
     select 'ThisToday' a,TreatStatus b ,count(1) n from vwCHIS_Register
     where StationId={0} and EmployeeID={1} and RegisterDate >= '{2}' and RegisterDate< '{3}' 
     group by TreatStatus) t pivot(max(n) for b in(waiting,treating,treated)) m
  ) tt group by tt.name
", model.StationID, doctorId, DateTime.Today.ToDateString(), DateTime.Today.AddDays(1).ToDateString());
            var    rlt = db.SqlQuery <Models.StatisticsModels.TreatBasicSummary>(sql).FirstOrDefault();

            return(rlt);
        }