예제 #1
0
        public MesBom LoadBom(String code, bool includeDetail)
        {
            MesBom bom = this.LoadBom(code);

            if (bom != null && includeDetail && bom.BomDetails != null && bom.BomDetails.Count > 0)
            {
            }

            return(bom);
        }
예제 #2
0
        public MesBom CheckAndLoadBom(string bomCode)
        {
            MesBom bom = this.LoadBom(bomCode);

            if (bom == null)
            {
                throw new BusinessErrorException("Bom.Error.BomCodeNotExist", bomCode);
            }

            return(bom);
        }
예제 #3
0
        public List <MesBomDetail> GetBomDetailList(MesBom mesBom)
        {
            MesBom topBom = mesBomMgr.LoadBom(mesBom.Code, true);
            List <MesBomDetail> mesBomDetailList = new List <MesBomDetail>();

            if (topBom.BomDetails != null && topBom.BomDetails.Count > 0)
            {
                foreach (MesBomDetail mesBomDetail in topBom.BomDetails)
                {
                    if (mesBomDetail.StructureType == BusinessConstants.CODE_MASTER_BOM_DETAIL_TYPE_VALUE_N)
                    {
                        mesBomDetailList.Add(mesBomDetail);
                    }
                    else if (mesBomDetail.StructureType == BusinessConstants.CODE_MASTER_BOM_DETAIL_TYPE_VALUE_X)
                    {
                        List <MesBomDetail> xBomDetail = GetBomDetailList(mesBomDetail.Bom.Code, mesBomDetail.Item.Code);
                        mesBomDetailList.AddRange(xBomDetail);
                    }
                }
            }

            var query = mesBomDetailList.Select(l => new
            {
                Bom     = l.Bom,
                Item    = l.Item,
                RateQty = (from m in mesBomDetailList
                           where m.Bom.Code.Trim().ToUpper() == l.Bom.Code.Trim().ToUpper() &&
                           m.Item.Code.Trim().ToUpper() == l.Item.Code.Trim().ToUpper() &&
                           m.IsActive == l.IsActive
                           select m.RateQty).Sum(),
                IsActive = l.IsActive
            }).Distinct();

            List <MesBomDetail> list = new List <MesBomDetail>();

            foreach (var item in query)
            {
                MesBomDetail mesBomDetail = new MesBomDetail();
                mesBomDetail.Bom      = item.Bom;
                mesBomDetail.Item     = item.Item;
                mesBomDetail.RateQty  = item.RateQty;
                mesBomDetail.IsActive = item.IsActive;
                list.Add(mesBomDetail);
            }
            return(list);
        }
예제 #4
0
        public List<MesBomDetail> GetBomDetailList(MesBom mesBom)
        {
            MesBom topBom = mesBomMgr.LoadBom(mesBom.Code, true);
            List<MesBomDetail> mesBomDetailList = new List<MesBomDetail>();
            if (topBom.BomDetails != null && topBom.BomDetails.Count > 0)
            {
                foreach (MesBomDetail mesBomDetail in topBom.BomDetails)
                {
                    if (mesBomDetail.StructureType == BusinessConstants.CODE_MASTER_BOM_DETAIL_TYPE_VALUE_N)
                    {
                        mesBomDetailList.Add(mesBomDetail);
                    }
                    else if (mesBomDetail.StructureType == BusinessConstants.CODE_MASTER_BOM_DETAIL_TYPE_VALUE_X)
                    {
                        List<MesBomDetail> xBomDetail = GetBomDetailList(mesBomDetail.Bom.Code, mesBomDetail.Item.Code);
                        mesBomDetailList.AddRange(xBomDetail);
                    }
                }
            }

            var query = mesBomDetailList.Select(l => new
            {
                Bom = l.Bom,
                Item = l.Item,
                RateQty = (from m in mesBomDetailList
                           where m.Bom.Code.Trim().ToUpper() == l.Bom.Code.Trim().ToUpper()
                           && m.Item.Code.Trim().ToUpper() == l.Item.Code.Trim().ToUpper()
                           && m.IsActive == l.IsActive
                           select m.RateQty).Sum(),
                IsActive = l.IsActive
            }).Distinct();

            List<MesBomDetail> list = new List<MesBomDetail>();
            foreach (var item in query)
            {
                MesBomDetail mesBomDetail = new MesBomDetail();
                mesBomDetail.Bom = item.Bom;
                mesBomDetail.Item = item.Item;
                mesBomDetail.RateQty = item.RateQty;
                mesBomDetail.IsActive = item.IsActive;
                list.Add(mesBomDetail);
            }
            return list;
        }
예제 #5
0
        private MesBom LoadMesBom(string code)
        {
            MesBom mesBom = this.mesBomMgr.LoadBom(code);

            if (mesBom == null)
            {
                mesBom      = new MesBom();
                mesBom.Code = code;
                Item item = this.itemMgr.LoadItem(code);
                if (item != null)
                {
                    mesBom.Description = item.Description;
                    mesBom.Uom         = item.Uom;
                    mesBom.IsActive    = true;
                }
                this.mesBomMgr.CreateBom(mesBom);
            }
            return(mesBom);
        }
예제 #6
0
 private MesBom LoadMesBom(string code)
 {
     MesBom mesBom = this.mesBomMgr.LoadBom(code);
     if (mesBom == null)
     {
         mesBom = new MesBom();
         mesBom.Code = code;
         Item item = this.itemMgr.LoadItem(code);
         if (item != null)
         {
             mesBom.Description = item.Description;
             mesBom.Uom = item.Uom;
             mesBom.IsActive = true;
         }
         this.mesBomMgr.CreateBom(mesBom);
     }
     return mesBom;
 }
예제 #7
0
 public virtual void UpdateBom(MesBom entity)
 {
     entityDao.UpdateBom(entity);
 }
예제 #8
0
 public virtual void UpdateBom(MesBom entity)
 {
     Update(entity);
 }
예제 #9
0
 public virtual void DeleteBom(MesBom entity)
 {
     Delete(entity);
 }
예제 #10
0
 public virtual void CreateBom(MesBom entity)
 {
     Create(entity);
 }
예제 #11
0
 public virtual void UpdateBom(MesBom entity)
 {
     entityDao.UpdateBom(entity);
 }
예제 #12
0
 public virtual void DeleteBom(MesBom entity)
 {
     entityDao.DeleteBom(entity);
 }
예제 #13
0
 public virtual void CreateBom(MesBom entity)
 {
     entityDao.CreateBom(entity);
 }
예제 #14
0
 public virtual void CreateBom(MesBom entity)
 {
     entityDao.CreateBom(entity);
 }
예제 #15
0
 public virtual void DeleteBom(MesBom entity)
 {
     Delete(entity);
 }
예제 #16
0
 public virtual void UpdateBom(MesBom entity)
 {
     Update(entity);
 }
예제 #17
0
 public virtual void CreateBom(MesBom entity)
 {
     Create(entity);
 }
예제 #18
0
 public virtual void DeleteBom(MesBom entity)
 {
     entityDao.DeleteBom(entity);
 }