Esempio n. 1
0
        /// <summary>
        /// 获取BOM下所有物料档案
        /// </summary>
        /// <param name="PartNum"></param>
        /// <returns></returns>
        public List <DTO_MPART> GetPLMBOMPart(string PartNum, out List <DTO_MBOM> MBom)
        {
            List <string> PartNums = new List <string>();

            PartNums.Add(PartNum);
            List <DTO_MBOM> PLM_MBOM = new List <DTO_MBOM>();

            GetPLMBOM(PartNum, PLM_MBOM);
            MBom = PLM_MBOM;
            foreach (var item in PLM_MBOM)
            {
                if (!string.IsNullOrEmpty(item.MtlPartNum))
                {
                    if (!PartNums.Contains(item.MtlPartNum.Trim()))
                    {
                        PartNums.Add(item.MtlPartNum.Trim());
                    }
                }
            }
            List <DTO_MPART> lists     = new List <DTO_MPART>();
            List <MPART>     ListMPart = new List <MPART>();

            ListMPart = BasicDatas.PLM_MPART.Where(o => o.DEL == false && o.STATE == "A" && PartNums.Contains(o.NO)).Distinct().ToList();
            List <MATERIAL> ListMtl = new List <MATERIAL>();

            ListMtl = BasicDatas.PLM_MATERIAL.Where(o => o.DEL == false && o.STATE == "A" && PartNums.Contains(o.NO)).Distinct().ToList();

            foreach (var item in ListMPart)
            {
                DTO_MPART obj = new DTO_MPART();
                obj.Company               = "001";
                obj.CostMethod            = "A";
                obj.IUM                   = CvtUM(item.UNIT);
                obj.PartDescription       = item.NAME + " " + item.ASUSER01 + " " + item.SPECS + " " + item.MTLMARK + " " + item.SMEMO + " " + item.ASUSER02 + " " + item.STANDARDNO;
                obj.PartNum               = string.IsNullOrEmpty(item.NO) ? "" : item.NO.Trim();
                obj.PartPlant_Plant       = "MfgSys";
                obj.PartPlant_PrimWhse    = ChkWGJ(item.SMEMO, "WGJ", "BCP");
                obj.PartRev_RevisionNum   = ChkWGJ(item.SMEMO, "", "A");
                obj.PartRev_RevShortDesc  = ChkWGJ(item.SMEMO, "", "A");
                obj.PUM                   = obj.IUM;
                obj.SalesUM               = obj.IUM;
                obj.TypeCode              = ChkWGJ(item.SMEMO, "P", "M");
                obj.UOMClassID            = CvtUMClassID(obj.IUM);
                obj.ClassId               = CvtClssId(obj.TypeCode, obj.PartNum);
                obj.PartRev_Approved      = obj.TypeCode == "M" ? "TRUE" : "";
                obj.PartRev_EffectiveDate = obj.TypeCode == "M" ? DateTime.Now.ToString() : "";
                lists.Add(obj);
            }

            foreach (var item in ListMtl)
            {
                DTO_MPART obj = new DTO_MPART();
                obj.Company              = "001";
                obj.CostMethod           = "A";
                obj.IUM                  = CvtUM(item.MTLUNITNAME);
                obj.PartDescription      = item.NAME + " " + item.MTLSPECS + " " + item.MTLCATANAME + " " + item.MTLMARK + " " + item.MTLSTANDNO + " " + item.MTLDENSITY + " " + item.SMEMO;
                obj.PartNum              = item.NO;
                obj.PartPlant_Plant      = "MfgSys";
                obj.PartPlant_PrimWhse   = "WGJ";
                obj.PartRev_RevisionNum  = "";
                obj.PartRev_RevShortDesc = "";
                obj.PUM                  = obj.IUM;
                obj.SalesUM              = obj.IUM;
                obj.TypeCode             = "P";
                obj.UOMClassID           = CvtUMClassID(obj.IUM);
                obj.ClassId              = CvtClssId("P", obj.PartNum);
                lists.Add(obj);
            }
            return(lists);
        }
Esempio n. 2
0
        public List <DTO_MPART> ConvertMPART(List <MPART> ListMPart, List <MATERIAL> ListMaterial, List <PRODUCT> ListProduct, List <MTL> ListMtl, List <MACH> ListMACH = null)
        {
            List <DTO_MPART> lists = new List <DTO_MPART>();

            if (ListMPart != null && ListMPart.Count > 0)
            {
                foreach (var item in ListMPart)
                {
                    DTO_MPART obj = new DTO_MPART();
                    obj.Company               = "001";
                    obj.CostMethod            = "A";
                    obj.IUM                   = CvtUM(item.UNIT);
                    obj.PartDescription       = item.NAME + " " + item.ENAME + " " + item.ASUSER01 + " " + item.SPECS + " " + item.MTLMARK + " " + item.SMEMO + " " + item.ASUSER02 + " " + item.STANDARDNO;
                    obj.PartNum               = item.NO;
                    obj.PartPlant_Plant       = "MfgSys";
                    obj.PartPlant_PrimWhse    = ChkWGJ(item.SMEMO, "WGJ", "BCP");
                    obj.PartRev_RevisionNum   = ChkWGJ(item.SMEMO, "", "A");
                    obj.PartRev_RevShortDesc  = ChkWGJ(item.SMEMO, "", "A");
                    obj.PUM                   = obj.IUM;
                    obj.SalesUM               = obj.IUM;
                    obj.TypeCode              = ChkWGJ(item.SMEMO, "P", "M");
                    obj.UOMClassID            = CvtUMClassID(obj.IUM);
                    obj.ClassId               = CvtClssId(obj.TypeCode, obj.PartNum);
                    obj.PartRev_Approved      = obj.TypeCode == "M" ? "TRUE" : "";
                    obj.PartRev_EffectiveDate = (item.CTIME != null ? item.CTIME.Value : DateTime.Now).ToShortDateString();
                    if (lists.Where(o => o.PartNum == item.NO).Count() <= 0)
                    {
                        lists.Add(obj);
                    }
                }
            }
            if (ListMaterial != null && ListMaterial.Count > 0)
            {
                foreach (var item in ListMaterial)
                {
                    DTO_MPART obj = new DTO_MPART();
                    obj.Company               = "001";
                    obj.CostMethod            = "A";
                    obj.IUM                   = CvtUM(item.MTLUNITNAME);
                    obj.PartDescription       = item.NAME + " " + item.ENAME + " " + item.MTLSPECS + " " + item.MTLCATANAME + " " + item.MTLMARK + " " + item.MTLSTANDNO + " " + item.MTLDENSITY + " " + item.SMEMO;
                    obj.PartNum               = item.NO;
                    obj.PartPlant_Plant       = "MfgSys";
                    obj.PartPlant_PrimWhse    = "WGJ";
                    obj.PartRev_RevisionNum   = "";
                    obj.PartRev_RevShortDesc  = "";
                    obj.PUM                   = obj.IUM;
                    obj.SalesUM               = obj.IUM;
                    obj.TypeCode              = "P";
                    obj.UOMClassID            = CvtUMClassID(obj.IUM);
                    obj.ClassId               = CvtClssId("P", obj.PartNum);
                    obj.PartRev_Approved      = obj.TypeCode == "M" ? "TRUE" : "";
                    obj.PartRev_EffectiveDate = (item.CTIME != null ? item.CTIME.Value : DateTime.Now).ToShortDateString();
                    if (lists.Where(o => o.PartNum == item.NO).Count() <= 0)
                    {
                        lists.Add(obj);
                    }
                }
            }
            if (ListProduct != null && ListProduct.Count > 0)
            {
                foreach (var item in ListProduct)
                {
                    DTO_MPART obj = new DTO_MPART();
                    obj.Company               = "001";
                    obj.CostMethod            = "A";
                    obj.IUM                   = "PCS";
                    obj.PartDescription       = item.NAME + " " + item.ENAME + " " + item.SERIES + " " + item.DESCRIBE + " " + item.SMEMO;
                    obj.PartNum               = item.NO;
                    obj.PartPlant_Plant       = "MfgSys";
                    obj.PartPlant_PrimWhse    = "WGJ";
                    obj.PartRev_RevisionNum   = "A";
                    obj.PartRev_RevShortDesc  = "A";
                    obj.PUM                   = "PCS";
                    obj.SalesUM               = "PCS";
                    obj.TypeCode              = "M";
                    obj.UOMClassID            = CvtUMClassID(obj.IUM);
                    obj.ClassId               = "PC06";
                    obj.PartRev_Approved      = "TRUE";
                    obj.PartRev_EffectiveDate = (item.CTIME != null ? item.CTIME.Value : DateTime.Now).ToShortDateString();
                    if (lists.Where(o => o.PartNum == item.NO).Count() <= 0)
                    {
                        lists.Add(obj);
                    }
                }
            }
            if (ListMtl != null && ListMtl.Count > 0)
            {
                foreach (var item in ListMtl)
                {
                    DTO_MPART obj = new DTO_MPART();
                    obj.Company               = "001";
                    obj.CostMethod            = "A";
                    obj.IUM                   = CvtUM(item.UNITNAME);
                    obj.PartDescription       = item.NAME + " " + item.ENAME + " " + item.XH + " " + item.GG + " " + item.CL + " " + item.ZZS + " " + item.PTYPE + " " + item.FSIZE + " " + item.SPECS + " " + item.SMEMO;
                    obj.PartNum               = item.NO;
                    obj.PartPlant_Plant       = "MfgSys";
                    obj.PartPlant_PrimWhse    = "WGJ";
                    obj.PartRev_RevisionNum   = "";
                    obj.PartRev_RevShortDesc  = "";
                    obj.PUM                   = obj.IUM;
                    obj.SalesUM               = obj.IUM;
                    obj.TypeCode              = "P";
                    obj.UOMClassID            = CvtUMClassID(obj.IUM);
                    obj.ClassId               = "PC01";
                    obj.PartRev_Approved      = "";
                    obj.PartRev_EffectiveDate = (item.CTIME != null ? item.CTIME.Value : DateTime.Now).ToShortDateString();
                    if (lists.Where(o => o.PartNum == item.NO).Count() <= 0)
                    {
                        lists.Add(obj);
                    }
                }
            }
            if (ListMACH != null && ListMACH.Count > 0)
            {
                foreach (var item in ListMACH)
                {
                    DTO_MPART obj = new DTO_MPART();
                    obj.Company               = "001";
                    obj.CostMethod            = "A";
                    obj.IUM                   = "PCS";
                    obj.PartDescription       = item.NAME + " " + item.ENAME + " " + item.MODEL + " " + item.SPECS + " " + item.SBZT + " " + item.FACTORY + " " + item.SMEMO + " " + item.PTYPE + " " + item.ENAME;
                    obj.PartNum               = item.NO;
                    obj.PartPlant_Plant       = "MfgSys";
                    obj.PartPlant_PrimWhse    = "WGJ";
                    obj.PartRev_RevisionNum   = "";
                    obj.PartRev_RevShortDesc  = "";
                    obj.PUM                   = "PCS";
                    obj.SalesUM               = "PCS";
                    obj.TypeCode              = "P";
                    obj.UOMClassID            = CvtUMClassID(obj.IUM);
                    obj.ClassId               = "PC11";
                    obj.PartRev_Approved      = "";
                    obj.PartRev_EffectiveDate = (item.CTIME != null ? item.CTIME.Value : DateTime.Now).ToShortDateString();
                    if (lists.Where(o => o.PartNum == item.NO).Count() <= 0)
                    {
                        lists.Add(obj);
                    }
                }
            }
            return(lists);
        }