public ActionResult GetPageListJson(Pagination pagination, string queryJson, string mode = "") { pagination.p_kid = "ID"; pagination.p_fields = "PLANNAME,startdate,enddate,0 num1,0 num2,0 num3,0 num4,0 num5,0 num6,areaid,'' bsusers,'' pgusers,deptcode,status,createuserid,deptname,createuserorgcode"; pagination.p_tablename = "BIS_RISKPLAN t"; pagination.conditionJson = "1=1"; pagination.sidx = pagination.sidx + " " + pagination.sord + ",id"; Operator user = ERCHTMS.Code.OperatorProvider.Provider.Current(); if (!string.IsNullOrEmpty(mode)) { //当前用户待辨识或评估的计划 if (mode == "0") { pagination.conditionJson += string.Format(" and status=0 and (',' || userids || ',' like '%,{0},%' or createuserid='{1}')", user.Account, user.UserId); } //当前用户所在部门待辨识或评估的计划 else { pagination.conditionJson += " and status=0"; } } string authType = new AuthorizeBLL().GetOperAuthorzeType(user, HttpContext.Request.Cookies["currentmoduleId"].Value, "search"); if (!string.IsNullOrEmpty(authType)) { switch (authType) { case "1": pagination.conditionJson += " and (createuserid='" + user.UserId + "'"; break; case "2": pagination.conditionJson += string.Format(" and (deptcode='{0}' or id in(select planid from BIS_RISKPPLANDATA where deptcode='{0}')", user.DeptCode); break; case "3": pagination.conditionJson += string.Format(" and (deptcode like '{0}%' or id in(select planid from BIS_RISKPPLANDATA where deptcode='{0}')", user.DeptCode); break; case "4": pagination.conditionJson += " and (deptcode like '" + user.OrganizeCode + "%'"; break; case "5": pagination.conditionJson += " and (1=1 "; break; } pagination.conditionJson += " or (',' || userids || ',') like '%," + user.Account + ",%'"; pagination.conditionJson += string.Format(" or id in(select planid from BIS_RISKPPLANDATA where deptcode='{0}')) ", user.DeptCode); } else { pagination.conditionJson = " (',' || userids || ',') like '%," + user.Account + ",%' or createuserid='" + user.UserId + "'"; } var watch = CommonHelper.TimerStart(); DataTable data = riskplanbll.GetPageList(pagination, queryJson); foreach (DataRow dr in data.Rows) { List <int> list = riskplanbll.GetNumbers(dr[0].ToString(), DateTime.Parse(dr[2].ToString()).ToString("yyyy-MM-dd"), DateTime.Parse(dr[3].ToString()).ToString("yyyy-MM-dd"), int.Parse(dr["status"].ToString()), dr["areaid"].ToString()); dr["num1"] = list[0]; dr["num2"] = list[1]; dr["num3"] = list[2]; dr["num4"] = list[3]; dr["num5"] = list[4]; dr["num6"] = list[5]; string[] users = riskplanbll.GetUsers(dr[0].ToString()).Split('|'); dr["bsusers"] = users[0]; dr["pgusers"] = users[1]; } var JsonData = new { rows = data, total = pagination.total, page = pagination.page, records = pagination.records, costtime = CommonHelper.TimerEnd(watch) }; return(Content(JsonData.ToJson())); }