Ejemplo n.º 1
0
        public SldBsp GetSldPrdInfoFromFile(IEdmVault5 poVault, string filePath)
        {
            SldBsp      bspPrt = null;
            IEdmFolder5 opParentFolder;
            //bspPrt = new SldBuy();
            IEdmFile5 poFile = poVault.GetFileFromPath(filePath, out opParentFolder);

            if (poFile == null)
            {
                bspPrt      = new SldPrt();
                bspPrt.type = 1;
                return(bspPrt);
            }
            IEdmEnumeratorVariable5 enumVar = poFile.GetEnumeratorVariable();

            if (enumVar == null)
            {
                return(null);
            }

            object tmpVar;
            string partType = "";

            if (enumVar.GetVar("Part Type", "@", out tmpVar))
            {
                partType = tmpVar.ToString();
            }
            if (partType == "自制件")
            {
                bspPrt      = new SldPrt();
                bspPrt.type = 1;
                SldPrt prt = (SldPrt)bspPrt;
                if (enumVar.GetVar("工艺路线", "@", out tmpVar))
                {
                    prt.route = tmpVar.ToString();
                }
            }
            else if (partType == "标准件")
            {
                bspPrt      = new SldStd();
                bspPrt.type = 2;
            }
            else
            {
                bspPrt      = new SldBuy();
                bspPrt.type = 3;
            }
            bspPrt.path = filePath;
            return(bspPrt);
        }
Ejemplo n.º 2
0
        public bool SaveBuyToWorkbook(Workbook workbook, SldAsm asmPrd)
        {
            int    count       = asmPrd.sldBuyList.Count;
            int    perPageSize = WiseUtil.buyPageSize;//
            string pageName    = WiseUtil.buyStr;

            int       pageSize      = count / perPageSize + (count % perPageSize > 0 ? 1 : 0);
            int       rowStartIndex = 4;
            Sheets    sheets        = workbook.Worksheets;
            Worksheet worksheet     = (Worksheet)sheets.get_Item(pageName);

            if (count <= 0)
            {
                worksheet.Delete();
                return(true);
            }
            List <SldBuy> .Enumerator iEnum = asmPrd.sldBuyList.GetEnumerator();
            Worksheet nextWorksheet         = null;

            for (int pageIndex = 0; pageIndex < pageSize; pageIndex++)
            {
                if (pageIndex < pageSize - 1)//最后一个不能再复制了
                {
                    worksheet.Copy(Type.Missing, worksheet);
                    nextWorksheet = worksheet.Next;
                }
                Range dyn = worksheet.Cells.get_Item("31", "A");// worksheet.Cells.get_Item("25", "A").set_Value(asmPrd.ztdm);
                worksheet.Range["A38"].Value = asmPrd.ztdm;
                worksheet.Range["A44"].Value = asmPrd.zjdm;
                worksheet.Range["E43"].Value = asmPrd.bzr;
                worksheet.Range["H43"].Value = asmPrd.bzsj;
                worksheet.Range["E44"].Value = asmPrd.pzr;
                worksheet.Range["H44"].Value = asmPrd.pzsj;
                if (asmPrd.jdbj == "S")
                {
                    worksheet.Range["K42"].Value = asmPrd.jdbj;
                }
                else if (asmPrd.jdbj == "A")
                {
                    worksheet.Range["L42"].Value = asmPrd.jdbj;
                }
                else if (asmPrd.jdbj == "B")
                {
                    worksheet.Range["M42"].Value = asmPrd.jdbj;
                }
                else
                {
                    worksheet.Range["N42"].Value = asmPrd.jdbj;
                }
                worksheet.Range["K44"].Value = "共 " + pageSize + " 页";
                worksheet.Range["P44"].Value = "第 " + (pageIndex + 1) + " 页";
                worksheet.Range["S44"].Value = asmPrd.sbxh;
                int row = 0;
                while (iEnum.MoveNext())
                {
                    SldBuy prt        = iEnum.Current;
                    int    totalIndex = row + rowStartIndex;
                    worksheet.Range["B" + totalIndex].Value = prt.materialNumber;
                    worksheet.Range["E" + totalIndex].Value = prt.number;
                    worksheet.Range["J" + totalIndex].Value = prt.name;
                    worksheet.Range["O" + totalIndex].Value = prt.amout == 0 ? "" : prt.amout.ToString();
                    worksheet.Range["Q" + totalIndex].Value = prt.material;
                    worksheet.Range["S" + totalIndex].Value = prt.weight == 0 ? "" : prt.weight.ToString();
                    worksheet.Range["T" + totalIndex].Value = prt.totalWeight == 0 ? "" : prt.totalWeight.ToString();
                    worksheet.Range["U" + totalIndex].Value = prt.remark;

                    row++;
                    if (row >= perPageSize)
                    {
                        break;
                    }
                }
                worksheet = nextWorksheet;
            }
            return(true);
        }
Ejemplo n.º 3
0
        public SldBsp GetSldPrdInfoFromFile(IEdmVault5 poVault, string filePath)
        {
            IEdmFolder5 opParentFolder;
            //bspPrt = new SldBuy();
            IEdmFile5 poFile = poVault.GetFileFromPath(filePath, out opParentFolder);

            if (poFile == null)
            {
                return(null);
            }
            IEdmEnumeratorVariable5 enumVar = poFile.GetEnumeratorVariable();

            if (enumVar == null)
            {
                return(null);
            }
            IEdmVariableMgr5 varMgr = (IEdmVariableMgr5)poVault;

            if (varMgr == null)
            {
                return(null);
            }

            object tmpVar;
            string partType = "";

            if (varMgr.GetVariable("Part Type") != null && enumVar.GetVar("Part Type", "@", out tmpVar) && tmpVar != null)
            {
                partType = tmpVar.ToString();
            }
            if (partType == "自制件")
            {
                SldPrt prt = new SldPrt();
                prt.type = 1;
                object route = null;
                if (varMgr.GetVariable("工艺路线") != null)
                {
                    if (enumVar.GetVar("工艺路线", "@", out route) && route != null)
                    {
                        prt.route = route.ToString();
                    }
                }

                return(prt);
            }
            else if (partType == "标准件")
            {
                SldStd std = new SldStd();
                std.type = 2;
                return(std);
            }
            else if (partType == "外购件")
            {
                SldBuy buy = new SldBuy();
                buy.type = 3;
                return(buy);
            }
            else
            {
                SldBsp buy = new SldBsp();
                buy.type = 4;
                return(buy);
            }
        }