Exemple #1
0
 public HttpResponseMessage GetGridJson([FromUri] RawMaterialStockRequest request)
 {
     try
     {
         var data = _rawMaterialStock.GetIndexListInfo(request);
         return(AjaxResult.Success(data).ToJsonApi());
     }
     catch (Exception)
     {
         return(AjaxResult.Error("操作失败").ToJsonApi());
     }
 }
        /// <summary>
        /// 获取数据列表(原材料)
        /// </summary>
        public PageModel GetMaterialDataList(RawMaterialStockRequest request)
        {
            #region 模糊搜索条件

            var where = new Where <TbRawMaterialArchives>();
            if (!string.IsNullOrWhiteSpace(request.keyword))
            {
                where.And(p => p.MaterialName.Like(request.keyword) || p.SpecificationModel.Like(request.keyword));
            }
            if (request.IsYL)
            {
                string a = typeof(OperationEnum.MaterialType).GetEnumName(OperationEnum.MaterialType.圆钢);
                string b = typeof(OperationEnum.MaterialType).GetEnumName(OperationEnum.MaterialType.螺纹钢);
                where.And(p => p.MaterialName == a || p.MaterialName == b);
            }
            #endregion

            try
            {
                var data = Db.Context.From <TbRawMaterialArchives>().Select(
                    TbRawMaterialArchives._.MaterialCode,
                    TbRawMaterialArchives._.MaterialName,
                    TbRawMaterialArchives._.SpecificationModel,
                    TbRawMaterialArchives._.MeasurementUnit,
                    TbRawMaterialArchives._.RebarType,
                    TbSysDictionaryData._.DictionaryText.As("MeasurementUnitText"),
                    TbRawMaterialArchives._.MeasurementUnitZl)
                           .AddSelect(Db.Context.From <TbSysDictionaryData>()
                                      .Select(p => p.DictionaryText)
                                      .Where(TbSysDictionaryData._.DictionaryCode == TbRawMaterialArchives._.RebarType), "RebarTypeName")
                           .LeftJoin <TbSysDictionaryData>((a, c) => a.MeasurementUnit == c.DictionaryCode)
                           .Where(where).OrderBy(TbRawMaterialArchives._.MaterialCode)
                           .ToPageList(request.rows, request.page);
                return(data);
            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// 获取数据列表(仓库)
        /// </summary>
        public PageModel GetStorageDataList(RawMaterialStockRequest request)
        {
            #region 模糊搜索条件

            var where = new Where <TbStorage>();
            if (!string.IsNullOrWhiteSpace(request.keyword))
            {
                where.And(p => p.StorageName.Like(request.keyword));
            }
            if (!string.IsNullOrWhiteSpace(request.ProcessFactoryCode))
            {
                where.And(p => p.ProcessFactoryCode == request.ProcessFactoryCode);
            }
            if (!string.IsNullOrEmpty(request.MaterialType))
            {
                where.And(p => p.StorageAttribute == request.MaterialType);
            }
            #endregion
            try
            {
                var data = Db.Context.From <TbStorage>().Select(
                    TbStorage._.ID,
                    TbStorage._.StorageCode,
                    TbStorage._.StorageName,
                    TbStorage._.StorageAdd,
                    TbCompany._.CompanyFullName.As("StorageAscription"))
                           .LeftJoin <TbCompany>((a, c) => a.ProcessFactoryCode == c.CompanyCode)
                           .Where(where)
                           .OrderByDescending(p => p.ID)
                           .ToPageList(request.rows, request.page);
                return(data);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #4
0
        public ActionResult GetMaterialGridJson(RawMaterialStockRequest request)
        {
            var data = _fbnpBus.GetMaterialDataList(request);

            return(Content(data.ToJson()));
        }
Exemple #5
0
        /// <summary>
        /// 获取分页列表数据(明细)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ActionResult GetDetialGridJson(RawMaterialStockRequest request)
        {
            var data = _rawMaterialStock.GetDataDetialForPage(request);

            return(Content(data.ToJson()));
        }
Exemple #6
0
        /// <summary>
        /// 获取数据列表(仓库)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ActionResult GetStorageGridJson(RawMaterialStockRequest request)
        {
            var data = _rawMaterialStock.GetStorageDataList(request);

            return(Content(data.ToJson()));
        }
        /// <summary>
        /// 导出
        /// </summary>
        /// <returns></returns>
        public DataTable GetExportList(RawMaterialStockRequest request)
        {
            #region 模糊搜索条件
            string where = " where 1=1 ";
            if (!string.IsNullOrWhiteSpace(request.MaterialName))
            {
                where += (" and b.MaterialName like '%" + request.MaterialName + "%'");
            }

            if (!string.IsNullOrWhiteSpace(request.SpecificationModel))
            {
                where += (" and b.SpecificationModel like '%" + request.SpecificationModel + "%'");
            }

            if (!string.IsNullOrWhiteSpace(request.SiteCode))
            {
                List <string> SiteList     = _workOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 5); //站点
                List <string> WorkAreaList = _workOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 4); //工区
                string        siteStr      = string.Join("','", SiteList);
                string        workAreaStr  = string.Join("','", WorkAreaList);
                where += (" and (rms.SiteCode in('" + siteStr + "') or rms.WorkAreaCode in('" + workAreaStr + "'))");
            }
            if (!string.IsNullOrEmpty(request.ProjectId))
            {
                where += (" and rms.ProjectId='" + request.ProjectId + "'");
            }
            if (!string.IsNullOrEmpty(request.ProcessFactoryCode))
            {
                where += (" and c.ProcessFactoryCode='" + request.ProcessFactoryCode + "'");
            }
            //排序
            where += " order by MaterialCode desc";
            #endregion
            try
            {
                var sql  = @"select 
                                rms.*,
                                b.MaterialName,
                                b.SpecificationModel,
                                c.StorageName,
                                cp1.CompanyFullName as SiteName,
                                cp2.CompanyFullName as WorkAreaName,
                                cp3.CompanyFullName as BranchName,
                                sdd2.DictionaryText as RebarTypeText,
                                sdd3.DictionaryText as MeasurementUnitText,
                                rms.LockCount + rms.UseCount as PassCount,
                                case when  rms.LockCount + rms.UseCount>=0 then rms.LockCount + rms.UseCount else 0 end SurplusNumber 
                                from (
                                select 
                                MaterialCode,
                                ProjectId,
                                SiteCode,
                                StorageCode,
                                WorkAreaCode,
                                SUM(COUNT) as COUNT,
                                SUM(LockCount) as LockCount,
                                SUM(UseCount) as UseCount
                                FROM TbRawMaterialStockRecord
                                group by MaterialCode,SiteCode,WorkAreaCode,StorageCode,ProjectId
                                )as rms
                            left join TbCompany cp1 on rms.SiteCode=cp1.CompanyCode
                            left join TbCompany cp2 on rms.WorkAreaCode=cp2.CompanyCode
                            left join TbCompany cp3 on cp2.ParentCompanyCode=cp3.CompanyCode
                            left join TbStorage c on c.StorageCode=rms.StorageCode
                            left join TbRawMaterialArchives b on b.MaterialCode=rms.MaterialCode
                            left join TbSysDictionaryData sdd2 on b.RebarType=sdd2.DictionaryCode
                            left join TbSysDictionaryData sdd3 on b.MeasurementUnit=sdd3.DictionaryCode ";
                var data = Db.Context.FromSql(sql + where).ToDataTable();
                return(data);
            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// 列表信息
        /// </summary>
        public PageModel GetIndexListInfo(RawMaterialStockRequest request)
        {
            #region 模糊搜索条件

            string where = " where 1=1 ";
            string where2 = " where 1=1 ";
            if (!string.IsNullOrWhiteSpace(request.MaterialName))
            {
                where += (" and MaterialName like '%" + request.MaterialName + "%'");
            }

            if (!string.IsNullOrWhiteSpace(request.SpecificationModel))
            {
                where += (" and SpecificationModel like '%" + request.SpecificationModel + "%'");
            }
            if (!string.IsNullOrEmpty(request.ProjectId))
            {
                where += (" and ProjectId='" + request.ProjectId + "'");
            }
            if (!string.IsNullOrEmpty(request.ProcessFactoryCode))
            {
                where += (" and ProcessFactoryCode='" + request.ProcessFactoryCode + "'");
            }
            if (request.IsEarly)
            {
                where2 += " and Point>50";
            }

            if (!string.IsNullOrWhiteSpace(request.SiteCode))
            {
                List <string> WorkAreaList = _workOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 4);//工区
                string        workAreaStr  = string.Join("','", WorkAreaList);
                where2 += (" and WorkAreaCode in('" + workAreaStr + "')");
            }

            #endregion

            string sql = @"SELECT 
                            MaterialCode,
                            MaterialName,
                            SpecificationModel,
                            WorkAreaCode,
                            WorkAreaName, 
                            BranchName, 
                            Total,
                            WeightSmallPlan, 
                            Point  
                            FROM (
                            select 
                                rms.MaterialCode,
                                rms.WorkAreaCode,
                                CASE WHEN (rms.LockCount +rms.UseCount)>0
                                THEN
                                    rms.LockCount +rms.UseCount
                                ELSE
                                    0
                                END AS Total,
                                isnull(c.WeightSmallPlan,0)AS WeightSmallPlan,
                                CASE
                                WHEN (rms.LockCount +rms.UseCount)>0
                                THEN
                                    Convert(decimal(18,2),isnull((WeightSmallPlan/(rms.LockCount +rms.UseCount)*100),0))
                                WHEN isnull(WeightSmallPlan,0)=0
                                THEN
                                    0
                                ELSE
                                    100
                                END AS Point,
                                b.MaterialName,
                                b.SpecificationModel,
                                cp2.CompanyFullName as WorkAreaName,
                                cp3.CompanyFullName as BranchName
                                from (
                                select 
                                trmsr.MaterialCode,
                                trmsr.WorkAreaCode,
                                SUM(trmsr.LockCount) as LockCount,
                                SUM(trmsr.UseCount) as UseCount
                                FROM TbRawMaterialStockRecord trmsr
                                INNER join TbStorage d on d.StorageCode=trmsr.StorageCode
                                @WHERE
                                group by trmsr.MaterialCode,trmsr.WorkAreaCode
                                )as rms
                                LEFT JOIN  
                                (
                                       SELECT 
                                       tcpy.ParentCompanyCode,
                                       twod.MaterialCode,SUM(twod.WeightSmallPlan) AS WeightSmallPlan 
                                        FROM TbWorkOrderDetail twod
                                        INNER JOIN TbWorkOrder two ON two.OrderCode = twod.OrderCode
                                        INNER JOIN TbCompany tcpy ON two.SiteCode=tcpy.CompanyCode
                                        and ProcessingState='Received'
                                        @WHERE
                                        GROUP BY 
                                        tcpy.ParentCompanyCode,
                                        twod.MaterialCode
                                ) as c ON rms.WorkAreaCode=c.ParentCompanyCode 
                                and rms.MaterialCode=c.MaterialCode
                            left join TbCompany cp2 on rms.WorkAreaCode=cp2.CompanyCode
                            left join TbCompany cp3 on cp2.ParentCompanyCode=cp3.CompanyCode
                            INNER join TbRawMaterialArchives b on b.MaterialCode=rms.MaterialCode
                        ) retdata";
            sql = sql.Replace("@WHERE", where);
            //参数化
            List <Dos.ORM.Parameter> para = new List <Dos.ORM.Parameter>();
            var data = Repository <TbRawMaterialStockRecord> .FromSqlToPageTable(sql + where2, para, request.rows, request.page, "Point", "desc");

            return(data);
        }
        /// <summary>
        /// 列表统计信息
        /// </summary>
        public DataTable GetIndexReportInfo(RawMaterialStockRequest request)
        {
            #region 模糊搜索条件

            string where = " ";
            string where2 = " ";
            if (!string.IsNullOrWhiteSpace(request.MaterialName))
            {
                where += (" and MaterialName like '%" + request.MaterialName + "%'");
            }

            if (!string.IsNullOrWhiteSpace(request.SpecificationModel))
            {
                where += (" and SpecificationModel like '%" + request.SpecificationModel + "%'");
            }
            if (!string.IsNullOrEmpty(request.ProjectId))
            {
                where += (" and ProjectId='" + request.ProjectId + "'");
            }
            if (!string.IsNullOrEmpty(request.ProcessFactoryCode))
            {
                where += (" and ProcessFactoryCode='" + request.ProcessFactoryCode + "'");
            }

            if (!string.IsNullOrWhiteSpace(request.SiteCode))
            {
                where2 += where;
                List <string> siteList = _workOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 5);//站点
                string        siteStr  = string.Join("','", siteList);
                where2 += (" and SiteCode in('" + siteStr + "')");

                List <string> WorkAreaList = _workOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 4);//工区
                string        workAreaStr  = string.Join("','", WorkAreaList);
                where += (" and WorkAreaCode in('" + workAreaStr + "')");
            }

            #endregion
            string sql = @"SELECT b.RebarType,
                           SUM(a.UseCount) AS UseCount, 
                           SUM(iSNULL(c.WeightSmallPlan,0)) AS WeightSmallPlan,
                           FLOOR(((SUM(a.UseCount)-SUM(iSNULL(c.WeightSmallPlan,0)))/SUM(a.UseCount))*100) AS Point
                           FROM 
                           (
                           SELECT MaterialCode,ISNULL(SUM(UseCount),0)AS UseCount
                           FROM TbRawMaterialStockRecord sr
                           LEFT JOIN TbStorage ts ON sr.StorageCode=ts.StorageCode
                           WHERE ChackState=1  @WHERE1
                           GROUP BY MaterialCode
                           ) a
                           LEFT JOIN 
                           (
                           SELECT twod.MaterialCode,SUM(twod.WeightSmallPlan) AS WeightSmallPlan 
                                        FROM TbWorkOrderDetail twod
                                        INNER JOIN TbWorkOrder two ON two.OrderCode = twod.OrderCode
                                        and ProcessingState='Received'
                                        where 1=1  @WHERE2
                           GROUP BY twod.MaterialCode
                           ) c ON a.MaterialCode=c.MaterialCode
                           INNER JOIN TbRawMaterialArchives b ON a.MaterialCode=b.MaterialCode
                           GROUP BY b.RebarType";
            sql = sql.Replace("@WHERE1", where);
            sql = sql.Replace("@WHERE2", where2);
            var retData = Db.Context.FromSql(sql).ToDataTable();
            return(retData);
        }
        /// <summary>
        /// 获取数据列表(明细)
        /// </summary>
        public PageModel GetDataDetialForPage(RawMaterialStockRequest request)
        {
            #region 模糊搜索条件

            string where = " where 1=1 ";
            where       += " and a.MaterialCode='" + request.MaterialCode + "'";
            if (!string.IsNullOrWhiteSpace(request.SiteCode))
            {
                where += " and a.SiteCode='" + request.SiteCode + "'";
            }
            else
            {
                where += " and a.SiteCode=''";
            }
            where += " and a.WorkAreaCode='" + request.WorkAreaCode + "'";
            if (!string.IsNullOrEmpty(request.ProjectId))
            {
                where += " and a.ProjectId='" + request.ProjectId + "'";
            }
            if (!string.IsNullOrEmpty(request.ProcessFactoryCode))
            {
                where += " and s.ProcessFactoryCode='" + request.ProcessFactoryCode + "'";
            }
            if (request.IsOld)
            {
                where += " and ((a.LockCount+a.UseCount=0 and a.LockCount!=0) or a.ChackState>1)";
            }
            else
            {
                where += " and ((a.LockCount+a.UseCount!=0 or a.LockCount=0) and a.ChackState<=1)";
            }
            #endregion

            try
            {
                var sql = @"select
                                a.ID,
                                a.Factory,
                                a.BatchNumber,
                                a.InsertTime,
                                a.Count,
                                a.LockCount,
                                a.UseCount,
                                a.HistoryCount,
                                a.ChackState,
                                tsoi.Enclosure,
                                tsoi.TestReportNo
                                from 
                                TbRawMaterialStockRecord a
                                left join TbStorage s on a.StorageCode=s.StorageCode
                                LEFT JOIN TbSampleOrderItem tsoi ON tsoi.InOrderItemId=a.InOrderitemId";
                //参数化
                List <Dos.ORM.Parameter> para = new List <Dos.ORM.Parameter>();
                var data = Repositorys <RawMaterialStockItemResponse> .FromSqlToPage(sql + where, para, request.rows, request.page, "ID", "desc");

                return(data);
            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// 获取数据列表(分页)
        /// </summary>
        public PageModel GetDataListForPage(RawMaterialStockRequest request)
        {
            #region 模糊搜索条件
            string where = " where 1=1 ";
            if (!string.IsNullOrWhiteSpace(request.MaterialName))
            {
                where += (" and b.MaterialName like '%" + request.MaterialName + "%'");
            }

            if (!string.IsNullOrWhiteSpace(request.SpecificationModel))
            {
                where += (" and b.SpecificationModel like '%" + request.SpecificationModel + "%'");
            }
            if (!string.IsNullOrWhiteSpace(request.SiteCode))
            {
                List <string> SiteList     = _workOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 5); //站点
                List <string> WorkAreaList = _workOrderLogic.GetCompanyWorkAreaOrSiteList(request.SiteCode, 4); //工区
                string        siteStr      = string.Join("','", SiteList);
                string        workAreaStr  = string.Join("','", WorkAreaList);
                where += (" and (rms.SiteCode in('" + siteStr + "') or rms.WorkAreaCode in('" + workAreaStr + "'))");
            }
            if (!string.IsNullOrEmpty(request.ProjectId))
            {
                where += (" and rms.ProjectId='" + request.ProjectId + "'");
            }
            if (!string.IsNullOrEmpty(request.ProcessFactoryCode))
            {
                where += (" and c.ProcessFactoryCode='" + request.ProcessFactoryCode + "'");
            }
            if (!string.IsNullOrEmpty(request.RebarType))
            {
                where += (" and b.RebarType='" + request.RebarType + "'");
            }
            if (!string.IsNullOrWhiteSpace(request.IsQkl))
            {
                if (request.IsQkl == "是")
                {
                    where += "and -1*((isnull(rms.LockCount,0)+isnull(rms.UseCount,0))-isnull(tbwork.WeightSmallPlan,0))>0";
                }
                else
                {
                    where += "and (isnull(rms.LockCount,0)+isnull(rms.UseCount,0))-isnull(tbwork.WeightSmallPlan,0)>=0";
                }
            }
            #endregion
            try
            {
                var sql = @"select 
                                rms.*,
                                b.MaterialName,
                                b.SpecificationModel,
								c.ProcessFactoryCode,
                                c.StorageName,
                                cp1.CompanyFullName as SiteName,
                                cp2.CompanyFullName as WorkAreaName,
                                cp3.CompanyFullName as BranchName,
                                sdd2.DictionaryText as RebarTypeText,
                                sdd3.DictionaryText as MeasurementUnitText,
								case when (isnull(rms.LockCount,0)+isnull(rms.UseCount,0))-isnull(tbwork.WeightSmallPlan,0)>=0 then 0 else -1*((isnull(rms.LockCount,0)+isnull(rms.UseCount,0))-isnull(tbwork.WeightSmallPlan,0)) end as QKl
                                from (
                                select 
                                MaterialCode,
                                ProjectId,
                                SiteCode,
                                StorageCode,
                                WorkAreaCode,
                                SUM(COUNT) as COUNT,
                                SUM(LockCount) as LockCount,
                                SUM(UseCount) as UseCount
                                FROM TbRawMaterialStockRecord
                                group by MaterialCode,SiteCode,WorkAreaCode,StorageCode,ProjectId
                                )as rms
                            left join TbCompany cp1 on rms.SiteCode=cp1.CompanyCode
                            left join TbCompany cp2 on rms.WorkAreaCode=cp2.CompanyCode
                            left join TbCompany cp3 on cp2.ParentCompanyCode=cp3.CompanyCode
                            left join TbStorage c on c.StorageCode=rms.StorageCode
                            left join TbRawMaterialArchives b on b.MaterialCode=rms.MaterialCode
                            left join TbSysDictionaryData sdd2 on b.RebarType=sdd2.DictionaryCode
                            left join TbSysDictionaryData sdd3 on b.MeasurementUnit=sdd3.DictionaryCode
							left join(select od.MaterialCode,od.MaterialName,od.SpecificationModel,isnull(sum(od.WeightSmallPlan),0) as WeightSmallPlan,wo.ProjectId,cp1.ParentCompanyCode as WorkAreaCode,cp2.ParentCompanyCode as BranchCode,wo.ProcessFactoryCode from TbWorkOrder wo 
							left join TbWorkOrderDetail od on wo.OrderCode=od.OrderCode
							left join TbCompany cp1 on wo.SiteCode=cp1.CompanyCode
							left join TbCompany cp2 on cp1.ParentCompanyCode=cp2.CompanyCode
							where wo.Examinestatus='审核完成' and wo.ProcessingState='Received'
							group by od.MaterialCode,od.MaterialName,od.SpecificationModel,wo.ProjectId,cp1.ParentCompanyCode,cp2.ParentCompanyCode,wo.ProcessFactoryCode) tbwork on rms.MaterialCode=tbwork.MaterialCode and b.MaterialName=tbwork.MaterialName and b.SpecificationModel=tbwork.SpecificationModel and rms.WorkAreaCode=tbwork.WorkAreaCode
							and c.ProcessFactoryCode=tbwork.ProcessFactoryCode "                            ;
                //参数化
                List <Dos.ORM.Parameter> para = new List <Dos.ORM.Parameter>();
                var data = Repositorys <RawMaterialStockResponse> .FromSqlToPage(sql + where, para, request.rows, request.page, "MaterialCode", "desc");

                string    sqljzgj          = @"select 
                                rms.SurplusNumber
                                from (
                                select 
                                MaterialCode,
                                ProjectId,
                                SiteCode,
                                StorageCode,
                                WorkAreaCode,
                                SUM(COUNT) as COUNT,
                                SUM(LockCount) as LockCount,
                                SUM(UseCount) as UseCount,
                                case when SUM(LockCount)+SUM(UseCount)<0 then 0 else SUM(LockCount)+SUM(UseCount) end as SurplusNumber
                                FROM TbRawMaterialStockRecord
                                group by MaterialCode,SiteCode,WorkAreaCode,StorageCode,ProjectId
                                )as rms
                            left join TbCompany cp1 on rms.SiteCode=cp1.CompanyCode
                            left join TbCompany cp2 on rms.WorkAreaCode=cp2.CompanyCode
                            left join TbCompany cp3 on cp2.ParentCompanyCode=cp3.CompanyCode
                            left join TbStorage c on c.StorageCode=rms.StorageCode
                            left join TbRawMaterialArchives b on b.MaterialCode=rms.MaterialCode
                            left join TbSysDictionaryData sdd2 on b.RebarType=sdd2.DictionaryCode
                            left join TbSysDictionaryData sdd3 on b.MeasurementUnit=sdd3.DictionaryCode
							left join(select od.MaterialCode,od.MaterialName,od.SpecificationModel,isnull(sum(od.WeightSmallPlan),0) as WeightSmallPlan,wo.ProjectId,cp1.ParentCompanyCode as WorkAreaCode,cp2.ParentCompanyCode as BranchCode,wo.ProcessFactoryCode from TbWorkOrder wo 
							left join TbWorkOrderDetail od on wo.OrderCode=od.OrderCode
							left join TbCompany cp1 on wo.SiteCode=cp1.CompanyCode
							left join TbCompany cp2 on cp1.ParentCompanyCode=cp2.CompanyCode
							where wo.Examinestatus='审核完成' and wo.ProcessingState='Received'
							group by od.MaterialCode,od.MaterialName,od.SpecificationModel,wo.ProjectId,cp1.ParentCompanyCode,cp2.ParentCompanyCode,wo.ProcessFactoryCode) tbwork on rms.MaterialCode=tbwork.MaterialCode and b.MaterialName=tbwork.MaterialName and b.SpecificationModel=tbwork.SpecificationModel and rms.WorkAreaCode=tbwork.WorkAreaCode
							and c.ProcessFactoryCode=tbwork.ProcessFactoryCode "                             + where + @" and  b.RebarType='BuildingSteel'";
                decimal   BuildingSteelSum = 0;
                DataTable dtjzgj           = Db.Context.FromSql(sqljzgj).ToDataTable();
                if (dtjzgj.Rows.Count > 0)
                {
                    BuildingSteelSum = Convert.ToDecimal(dtjzgj.Compute("sum(SurplusNumber)", ""));
                }
                string    sqlxg           = @"select 
                                rms.SurplusNumber
                                from (
                                select 
                                MaterialCode,
                                ProjectId,
                                SiteCode,
                                StorageCode,
                                WorkAreaCode,
                                SUM(COUNT) as COUNT,
                                SUM(LockCount) as LockCount,
                                SUM(UseCount) as UseCount,
                                case when SUM(LockCount)+SUM(UseCount)<0 then 0 else SUM(LockCount)+SUM(UseCount) end as SurplusNumber
                                FROM TbRawMaterialStockRecord
                                group by MaterialCode,SiteCode,WorkAreaCode,StorageCode,ProjectId
                                )as rms
                            left join TbCompany cp1 on rms.SiteCode=cp1.CompanyCode
                            left join TbCompany cp2 on rms.WorkAreaCode=cp2.CompanyCode
                            left join TbCompany cp3 on cp2.ParentCompanyCode=cp3.CompanyCode
                            left join TbStorage c on c.StorageCode=rms.StorageCode
                            left join TbRawMaterialArchives b on b.MaterialCode=rms.MaterialCode
                            left join TbSysDictionaryData sdd2 on b.RebarType=sdd2.DictionaryCode
                            left join TbSysDictionaryData sdd3 on b.MeasurementUnit=sdd3.DictionaryCode
							left join(select od.MaterialCode,od.MaterialName,od.SpecificationModel,isnull(sum(od.WeightSmallPlan),0) as WeightSmallPlan,wo.ProjectId,cp1.ParentCompanyCode as WorkAreaCode,cp2.ParentCompanyCode as BranchCode,wo.ProcessFactoryCode from TbWorkOrder wo 
							left join TbWorkOrderDetail od on wo.OrderCode=od.OrderCode
							left join TbCompany cp1 on wo.SiteCode=cp1.CompanyCode
							left join TbCompany cp2 on cp1.ParentCompanyCode=cp2.CompanyCode
							where wo.Examinestatus='审核完成' and wo.ProcessingState='Received'
							group by od.MaterialCode,od.MaterialName,od.SpecificationModel,wo.ProjectId,cp1.ParentCompanyCode,cp2.ParentCompanyCode,wo.ProcessFactoryCode) tbwork on rms.MaterialCode=tbwork.MaterialCode and b.MaterialName=tbwork.MaterialName and b.SpecificationModel=tbwork.SpecificationModel and rms.WorkAreaCode=tbwork.WorkAreaCode
							and c.ProcessFactoryCode=tbwork.ProcessFactoryCode "                             + where + @" and  b.RebarType='SectionSteel'";
                decimal   SectionSteelSum = 0;
                DataTable dtxg            = Db.Context.FromSql(sqlxg).ToDataTable();
                if (dtxg.Rows.Count > 0)
                {
                    SectionSteelSum = Convert.ToDecimal(dtxg.Compute("sum(SurplusNumber)", ""));
                }
                data.userdata = new { BuildingSteel = BuildingSteelSum, SectionSteel = SectionSteelSum };
                return(data);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #12
0
        /// <summary>
        /// 获取数据列表(原材料)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ActionResult GetMaterialGridJson(RawMaterialStockRequest request, string RebarType)
        {
            var data = _rawMonthDemPlanLogic.GetMaterialDataList(request, RebarType);

            return(Content(data.ToJson()));
        }
Exemple #13
0
        public HttpResponseMessage GetDetialGridJson([FromUri] RawMaterialStockRequest request)
        {
            var data = _rawMaterialStock.GetDataDetialForPage(request);

            return(AjaxResult.Success(data).ToJsonApi());
        }