Exemplo n.º 1
0
        /// <summary>
        /// 获取导出数据列表
        /// </summary>
        public DataTable GetExportList(RawMonthDemSupplyPlanRequest request)
        {
            //组装查询语句
            #region 模糊搜索条件

            var where = new Where <TbRawMaterialMonthDemandSupplyPlan>();
            if (!string.IsNullOrWhiteSpace(request.ProcessFactoryCode))
            {
                where.And(p => p.ProcessFactoryCode == request.ProcessFactoryCode);
            }
            //if (!string.IsNullOrWhiteSpace(request.SiteCode))
            //{
            //    List<string> WorkAreaList = _workOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 4);//工区
            //    where.And(p => p.WorkAreaCode.In(WorkAreaList));
            //}
            if (!string.IsNullOrWhiteSpace(request.SiteCode))
            {
                List <string> SiteList     = _workOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 5); //站点
                List <string> WorkAreaList = _workOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 4); //工区
                where.And(p => p.SiteCode.In(SiteList) || p.WorkAreaCode.In(WorkAreaList));
            }
            if (!string.IsNullOrEmpty(request.ProjectId))
            {
                where.And(p => p.ProjectId == request.ProjectId);
            }
            if (!string.IsNullOrWhiteSpace(request.DemandPlanCode))
            {
                where.And(p => p.DemandPlanCode.StartsWith(request.DemandPlanCode));
            }
            if (!string.IsNullOrWhiteSpace(request.SupplyPlanCode))
            {
                where.And(p => p.SupplyPlanCode.StartsWith(request.SupplyPlanCode));
            }
            if (request.HistoryMonth.HasValue)
            {
                var historyMonth = new WhereClip("YEAR(TbRawMaterialMonthDemandSupplyPlan.InsertTime)=" + request.HistoryMonth.Value.Year + " and MONTH(TbRawMaterialMonthDemandSupplyPlan.InsertTime)=" + request.HistoryMonth.Value.Month);
                where.And(historyMonth);
            }
            #endregion

            try
            {
                var ret = Db.Context.From <TbRawMaterialMonthDemandSupplyPlan>()
                          .Select(
                    TbRawMaterialMonthDemandSupplyPlan._.All
                    , TbCompany._.CompanyFullName.As("BranchName")
                    , TbSysDictionaryData._.DictionaryText.As("RebarTypeNew")
                    , TbSupplier._.SupplierName
                    , TbUser._.UserName)
                          .LeftJoin <TbCompany>((a, c) => a.BranchCode == c.CompanyCode)
                          .AddSelect(Db.Context.From <TbCompany>().Select(p => p.CompanyFullName)
                                     .Where(TbCompany._.CompanyCode == TbRawMaterialMonthDemandSupplyPlan._.SiteCode), "SiteName")
                          .AddSelect(Db.Context.From <TbCompany>().Select(p => p.CompanyFullName)
                                     .Where(TbCompany._.CompanyCode == TbRawMaterialMonthDemandSupplyPlan._.ProcessFactoryCode), "ProcessFactoryName")
                          .AddSelect(Db.Context.From <TbCompany>().Select(p => p.CompanyFullName)
                                     .Where(TbCompany._.CompanyCode == TbRawMaterialMonthDemandSupplyPlan._.WorkAreaCode), "WorkAreaName")
                          .LeftJoin <TbSysDictionaryData>((a, c) => a.RebarType == c.DictionaryCode && c.FDictionaryCode == "RebarType")
                          .LeftJoin <TbSupplier>((a, c) => a.SupplierCode == c.SupplierCode)
                          .LeftJoin <TbUser>((a, c) => a.InsertUserCode == c.UserCode)
                          .Where(where).OrderByDescending(d => d.ID).ToDataTable();
                return(ret);
            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// 获取分页列表数据
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ActionResult GetGridJson(RawMonthDemSupplyPlanRequest request)
        {
            var data = _rawMonthDemSupplyPlanLogic.GetDataListForPage(request);

            return(Content(data.ToJson()));
        }