public HttpResponseMessage GetDischargeCargoList([FromUri] SiteDischargeCargoRequest request) { try { var data = _siteDischargeCargo.GetDataListForPage(request); return(AjaxResult.Success(data).ToJsonApi()); } catch (Exception) { return(AjaxResult.Error("操作失败").ToJsonApi()); } }
/// <summary> /// 获取数据列表(分页) /// </summary> public PageModel GetDataListForPage(SiteDischargeCargoRequest request) { ////组装查询语句 //#region 模糊搜索条件 //var where = new Where<TbSiteDischargeCargo>(); //if (!string.IsNullOrWhiteSpace(request.DistributionTime)) //{ // where.And(p => p.DistributionTime.ToString() == request.DistributionTime); //} //if (!string.IsNullOrWhiteSpace(request.SiteCode)) //{ // List<string> SiteList = _workOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 5); // where.And(p => p.SiteCode.In(SiteList)); //} //if (!string.IsNullOrWhiteSpace(request.VehicleCode)) //{ // where.And(p => p.VehicleCode == request.VehicleCode); //} //if (!string.IsNullOrEmpty(request.DischargeType)) //{ // where.And(p => p.DischargeType == request.DischargeType); //} //if (!string.IsNullOrEmpty(request.ProjectId)) // where.And(p => p.ProjectId == request.ProjectId); //if (!string.IsNullOrEmpty(request.ProcessFactoryCode)) // where.And(p => p.ProcessFactoryCode == request.ProcessFactoryCode); //#endregion //#region 数据权限 ////数据权限 //var authorizaModel = new AuthorizeLogic().CheckAuthoriza(new AuthorizationParameterModel() { FormCode = "SiteDischargeCargo", UserCode = request.UserCode }); //if (authorizaModel.IsAuthorize) //{ // if (authorizaModel.Ids.Count > 0 && authorizaModel.UserCodes.Count > 0) // where.And(d => d.InsertUserCode.In(authorizaModel.UserCodes) || d.ID.In(authorizaModel.Ids)); // else if (authorizaModel.Ids.Count > 0) // where.Or(d => d.ID.In(authorizaModel.Ids)); // else if (authorizaModel.UserCodes.Count > 0) // where.And(d => d.InsertUserCode.In(authorizaModel.UserCodes)); //} //#endregion //try //{ // var ret = Db.Context.From<TbSiteDischargeCargo>() // .Select( // TbSiteDischargeCargo._.All // , TbCompany._.CompanyFullName.As("SiteName") // , TbSysDictionaryData._.DictionaryText.As("DischargeTypeNew") // , TbUser._.UserName // , TbCarInfo._.CarCph // , TbDistributionEnt._.OrderCode) // .LeftJoin<TbCompany>((a, c) => a.SiteCode == c.CompanyCode) // .AddSelect(Db.Context.From<TbCompany>().Select(p => p.CompanyFullName) // .Where(TbCompany._.CompanyCode == TbSiteDischargeCargo._.ProcessFactoryCode), "ProcessFactoryName") // .AddSelect(Db.Context.From<TbUser>().Select(p => p.UserName) // .Where(TbUser._.UserCode == TbSiteDischargeCargo._.Contacts), "ContactsName") // .AddSelect(Db.Context.From<TbUser>().Select(p => p.UserName) // .Where(TbUser._.UserCode == TbSiteDischargeCargo._.Driver), "CarUser") // .LeftJoin<TbSysDictionaryData>((a, c) => a.DischargeType == c.DictionaryCode && c.FDictionaryCode == "DischargeType") // .LeftJoin<TbUser>((a, c) => a.InsertUserCode == c.UserCode) // .LeftJoin<TbCarInfo>((a, c) => a.VehicleCode == c.CarCode) // .LeftJoin<TbDistributionEnt>((a, c) => a.DistributionCode == c.DistributionCode) // .Where(where).OrderBy(d => d.ID).ToPageList(request.rows, request.page); // return ret; //} //catch (Exception) //{ // throw; //} try { string where = " where 1=1 "; StringBuilder sbSiteCode = new StringBuilder(); #region 数据权限新 if (!string.IsNullOrWhiteSpace(request.ProcessFactoryCode)) { where += " and Tb.ProcessFactoryCode='" + request.ProcessFactoryCode + "'"; } if (!string.IsNullOrWhiteSpace(request.ProjectId)) { where += " and Tb.ProjectId='" + request.ProjectId + "'"; } if (!string.IsNullOrWhiteSpace(request.CarCph)) { where += " and Tb.CarCph like '%" + request.CarCph + "%'"; } if (!string.IsNullOrWhiteSpace(request.TypeCode)) { where += " and Tb.TypeCode like '%" + request.TypeCode + "%'"; } if (!string.IsNullOrWhiteSpace(request.OrderCode)) { where += " and Tb.OrderCode like '%" + request.OrderCode + "%'"; } if (!string.IsNullOrWhiteSpace(request.SiteCode)) { List <string> SiteList = _workOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 5); for (int i = 0; i < SiteList.Count; i++) { if (i == (SiteList.Count - 1)) { sbSiteCode.Append("'" + SiteList[i] + "'"); } else { sbSiteCode.Append("'" + SiteList[i] + "',"); } } if (SiteList.Count > 0) { where += " and Tb.SiteCode in(" + sbSiteCode + ")"; } } #endregion string sql = @"select * from (select siteDc.ID,siteDc.DischargeCargoCode,siteDc.DistributionCode,siteDc.SiteCode,siteDc.ProcessFactoryCode,siteDc.ProjectId,sd.DictionaryText as DischargeTypeNew,case when siteDc.OrderCode is null then disEnt.OrderCode else siteDc.OrderCode end as OrderCode,siteDc.TypeCode,siteDc.TypeName,cp.CompanyFullName as SiteName,ur1.UserName as CarUser,siteDc.ContactWay,ur2.UserName as UserName,ur3.UserName as ContactsName,siteDc.DistributionAddress,siteDc.DistributionTime,siteDc.SumTotal,car.CarCph,siteDc.InsertTime from TbSiteDischargeCargo siteDc left join TbDistributionEnt disEnt on siteDc.DistributionCode=disEnt.DistributionCode left join TbSysDictionaryData sd on siteDc.DischargeType=sd.DictionaryCode and sd.FDictionaryCode='DischargeType' left join TbCompany cp on siteDc.SiteCode=cp.CompanyCode left join TbUser ur1 on siteDc.Driver=ur1.UserCode left join TbUser ur2 on siteDc.InsertUserCode=ur2.UserCode left join TbUser ur3 on siteDc.Contacts=ur3.UserCode left join TbCarInfo car on siteDc.VehicleCode=car.CarCode) Tb"; //参数化 List <Parameter> parameter = new List <Parameter>(); var model = Repository <TbSiteDischargeCargo> .FromSqlToPageTable(sql + where, parameter, request.rows, request.page, "DischargeCargoCode", "desc"); return(model); } catch (Exception) { throw; } }
/// <summary> /// 获取分页列表数据 /// </summary> /// <param name="request"></param> /// <returns></returns> public ActionResult GetGridJson(SiteDischargeCargoRequest request) { var data = _siteDiscCargoLogic.GetDataListForPage(request); return(Content(data.ToJson())); }