private void OpRevCombo_SelectedIndexChanged(object sender, EventArgs e) { CaxLoading.RunDlg(); OISTree.Nodes.Clear(); comPEMain = session.QueryOver <Com_PEMain>() .Where(x => x.partName == PartNoCombo.Text) .Where(x => x.customerVer == CusRevCombo.Text) .Where(x => x.opVer == OpRevCombo.Text) .SingleOrDefault <Com_PEMain>(); listComPartOperation = session.QueryOver <Com_PartOperation>().Where(x => x.comPEMain == comPEMain).List(); foreach (Com_PartOperation i in listComPartOperation) { status = cGetOISData.InitializeOISTree(i, OISTree); if (!status) { MessageBox.Show("製程資料取得失敗,請聯繫開發工程師"); CaxLoading.CloseDlg(); this.Close(); return; } } CaxLoading.CloseDlg(); }
public static bool SetOp1Data(Com_PEMain comPEMain, ComboBoxEx Op1Combobox) { try { //IList<Com_PartOperation> comPartOperation = session.QueryOver<Com_PartOperation>() // .Where(x => x.comPEMain == comPEMain) // .OrderBy(x => x.operation1).Asc // .List<Com_PartOperation>(); IList <Com_PartOperation> comPartOperation = new List <Com_PartOperation>(); CaxSQL.GetListCom_PartOperation(comPEMain, out comPartOperation); Op1Combobox.DisplayMember = "operation1"; Op1Combobox.ValueMember = "partOperationSrNo"; //Op1Combobox.DataSource = comPartOperation; foreach (Com_PartOperation i in comPartOperation) { Op1Combobox.Items.Add(i); } } catch (System.Exception ex) { return(false); } return(true); }
private void InitialLabel(PartInfo sPartInfo, Dictionary <string, List <string> > DicToolNoControl) { try { //設定基礎資料資訊 CusName.Text = sPartInfo.CusName; PartNo.Text = sPartInfo.PartNo; CusRev.Text = sPartInfo.CusRev; OpRev.Text = sPartInfo.OpRev; OIS.Text = sPartInfo.OpNum; ToolNoCombo.Items.AddRange(DicToolNoControl.Keys.ToArray()); //由料號取得DB中PEMain的資訊 comPEMain = session.QueryOver <Com_PEMain>() .Where(x => x.partName == sPartInfo.PartNo) .And(x => x.customerVer == sPartInfo.CusRev) .And(x => x.opVer == sPartInfo.OpRev) .SingleOrDefault <Com_PEMain>(); //由PEMain與OIS取得DB中PartOperation的資訊 comPartOperation = session.QueryOver <Com_PartOperation>() .Where(x => x.comPEMain == comPEMain) .And(x => x.operation1 == sPartInfo.OpNum) .SingleOrDefault <Com_PartOperation>(); //由PartOperation取得DB中DraftingVer的資訊 comMEMain = session.QueryOver <Com_MEMain>() .Where(x => x.comPartOperation == comPartOperation) .List <Com_MEMain>(); //設定圖版 foreach (Com_MEMain i in comMEMain) { DraftingRev.Items.Add(i.draftingVer); } if (DraftingRev.Items.Count == 1) { DraftingRev.Text = DraftingRev.Items[0].ToString(); } //設定ToolPathPanel foreach (KeyValuePair <string, List <string> > kvp in DicToolNoControl) { foreach (string i in kvp.Value) { GridRow row = new GridRow(kvp.Key, i); panel.Rows.Add(row); } } } catch (System.Exception ex) { } }
public static bool GetCom_PartOperation(string op1, Com_PEMain comPEMain, out Com_PartOperation comPartOperation) { comPartOperation = new Com_PartOperation(); try { comPartOperation = FixInsUploadDlg.session.QueryOver <Com_PartOperation>().Where(x => x.comPEMain.peSrNo == comPEMain.peSrNo).Where(x => x.operation1 == op1).SingleOrDefault <Com_PartOperation>(); if (comPartOperation == null) { System.Windows.Forms.MessageBox.Show("資料庫無此製程序,無法上傳"); return(false); } } catch (System.Exception ex) { return(false); } return(true); }
public static bool GetCom_PEMain(string[] splitFullPath, out Com_PEMain comPEMain) { comPEMain = new Com_PEMain(); try { comPEMain = FixInsUploadDlg.session.QueryOver <Com_PEMain>().Where(x => x.partName == splitFullPath[4]).Where(x => x.customerVer == splitFullPath[5]).Where(x => x.opVer == splitFullPath[6]).SingleOrDefault(); if (comPEMain == null) { System.Windows.Forms.MessageBox.Show("資料庫無此料號,無法上傳"); return(false); } } catch (System.Exception ex) { return(false); } return(true); }
public static bool GetCom_PartOperation(PartInfo sPartInfo, Com_PEMain comPEMain, out Com_PartOperation comPartOperation) { comPartOperation = new Com_PartOperation(); try { comPartOperation = session.QueryOver <Com_PartOperation>() .Where(x => x.comPEMain.peSrNo == comPEMain.peSrNo) .And(x => x.operation1 == sPartInfo.OpNum) .SingleOrDefault <Com_PartOperation>(); if (comPartOperation == null) { return(false); } } catch (System.Exception ex) { return(false); } return(true); }
public static bool GetCom_PEMain(PartInfo sPartInfo, out Com_PEMain comPEMain) { comPEMain = new Com_PEMain(); try { comPEMain = session.QueryOver <Com_PEMain>().Where(x => x.partName == sPartInfo.PartNo) .Where(x => x.customerVer == sPartInfo.CusRev) .Where(x => x.opVer == sPartInfo.OpRev) .SingleOrDefault <Com_PEMain>(); if (comPEMain == null) { return(false); } } catch (System.Exception ex) { return(false); } return(true); }
public static bool GetControlPlanData(Com_PEMain comPEMain, out Dictionary <DB_CPKey, List <DB_CPValue> > DicCPData) { DicCPData = new Dictionary <DB_CPKey, List <DB_CPValue> >(); try { bool IsCP = false; for (int i = 0; i < OutputForm.PEPanel.Rows.Count; i++) { if (((bool)OutputForm.PEPanel.GetCell(i, 0).Value) == false || OutputForm.PEPanel.GetCell(i, 1).Value.ToString() != "Control Plan") { continue; } IsCP = true; } if (!IsCP) { return(true); } IList <Com_PartOperation> listComPartOperation = session.QueryOver <Com_PartOperation>() .Where(x => x.comPEMain == comPEMain) .OrderBy(x => x.operation1).Asc .List <Com_PartOperation>(); foreach (Com_PartOperation i in listComPartOperation) { DB_CPKey sDB_CPKey = new DB_CPKey(); sDB_CPKey.PartNo = comPEMain.partName; sDB_CPKey.CusVer = comPEMain.customerVer; sDB_CPKey.OpVer = comPEMain.opVer; sDB_CPKey.PartDesc = comPEMain.partDes; sDB_CPKey.excelTemplateFilePath = string.Format(@"{0}\{1}\{2}\{3}\{4}.xls" , OutputForm.EnvVariables.env , "PE_Config" , "Config" , "ControlPlan" , "ControlPlan"); DB_CPValue sDB_CPValue = new DB_CPValue(); sDB_CPValue.Op1 = i.operation1; sDB_CPValue.Op2 = session.QueryOver <Sys_Operation2>().Where(x => x.operation2SrNo == i.sysOperation2.operation2SrNo) .SingleOrDefault().operation2Name; Com_MEMain comMEMain = session.QueryOver <Com_MEMain>().Where(x => x.comPartOperation == i).SingleOrDefault <Com_MEMain>(); //過濾製程中有外包的尺寸,不可顯示在CP上避免客戶稽核,EX:250有外包則回來的IQC不能顯示在CP上 sDB_CPValue.comDimension = session.QueryOver <Com_Dimension>() .Where(x => x.comMEMain == comMEMain) .OrderBy(x => x.ballon).Asc.List <Com_Dimension>(); foreach (var o in sDB_CPValue.comDimension.ToArray()) { if (sDB_CPValue.Op1 != "001" & o.excelType == "IQC") { sDB_CPValue.comDimension.Remove(o); } } Dictionary <int, IList <Com_Dimension> > DicBalloonData = new Dictionary <int, IList <Com_Dimension> >(); foreach (Com_Dimension ii in sDB_CPValue.comDimension) { IList <Com_Dimension> dimension = new List <Com_Dimension>(); status = DicBalloonData.TryGetValue(ii.ballon, out dimension); if (!status) { dimension = new List <Com_Dimension>(); dimension.Add(ii); DicBalloonData.Add(ii.ballon, dimension); } else { dimension.Add(ii); DicBalloonData[ii.ballon] = dimension; } } sDB_CPValue.DicBalloonData = DicBalloonData; List <DB_CPValue> listDB_CPValue = new List <DB_CPValue>(); status = DicCPData.TryGetValue(sDB_CPKey, out listDB_CPValue); if (!status) { listDB_CPValue = new List <DB_CPValue>(); listDB_CPValue.Add(sDB_CPValue); DicCPData.Add(sDB_CPKey, listDB_CPValue); } else { listDB_CPValue.Add(sDB_CPValue); DicCPData[sDB_CPKey] = listDB_CPValue; } } } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); return(false); } return(true); }
public static bool GetPFDData(Com_PEMain comPEMain, out Dictionary <DB_PEMain, List <DB_PartOperation> > DicPFDData) { DicPFDData = new Dictionary <DB_PEMain, List <DB_PartOperation> >(); try { for (int i = 0; i < OutputForm.PEPanel.Rows.Count; i++) { if (((bool)OutputForm.PEPanel.GetCell(i, 0).Value) == false) { continue; } if (OutputForm.PEPanel.GetCell(i, 1).Value.ToString() != "PFD") { continue; } DB_PEMain sDB_PEMain = new DB_PEMain(); sDB_PEMain.PartNo = comPEMain.partName; sDB_PEMain.CusVer = comPEMain.customerVer; sDB_PEMain.OpVer = comPEMain.opVer; //sDB_PEMain.excelTemplateFilePath = string.Format(@"{0}\{1}\{2}\{3}\{4}.xls" // , OutputForm.EnvVariables.env // , "PE_Config" // , "Config" // , "PFD" // , "PFD"); sDB_PEMain.excelTemplateFilePath = string.Format(@"{0}\{1}\{2}\{3}\{4}.xls" , OutputForm.EnvVariables.env , "PE_Config" , "Config" , "PFD" , "PFD"); //sDB_PEMain.excelTemplateFilePath = string.Format(@"{0}\{1}\{2}\{3}\{4}\{5}\{6}.xls" // , "\\\\192.168.35.1" // , "cax" // , "Globaltek" // , "PE_Config" // , "Config" // , "PFD" // , "PFD"); IList <Com_PartOperation> listComPartOperation = session.QueryOver <Com_PartOperation>() .Where(x => x.comPEMain == comPEMain) .OrderBy(x => x.operation1).Asc .List <Com_PartOperation>(); List <DB_PartOperation> listDBPartOperation = new List <DB_PartOperation>(); foreach (Com_PartOperation j in listComPartOperation) { DB_PartOperation sDB_PartOperation = new DB_PartOperation(); sDB_PartOperation.Op1 = j.operation1; sDB_PartOperation.Op2 = j.sysOperation2.operation2Name; sDB_PartOperation.Form = j.form; listDBPartOperation.Add(sDB_PartOperation); } DicPFDData.Add(sDB_PEMain, listDBPartOperation); } } catch (System.Exception ex) { return(false); } return(true); }
public static bool SetPEPanelData(Com_PEMain comPEMain, ref GridPanel PEPanel) { try { #region 插入PFD object[] o = new object[] { false, "PFD", comPEMain.customerVer, comPEMain.opVer , string.Format("{0}_{1}_{2}資料夾" , comPEMain.partName , comPEMain.customerVer , comPEMain.opVer) }; PEPanel.Rows.Add(new GridRow(o)); PEPanel.GetCell(0, 0).Value = false; #endregion #region (註解)判斷所有製程是否都有上傳MEMain,如果有上傳才顯示Control Plan /* * IList<Com_PartOperation> listComPartOperation = session.QueryOver<Com_PartOperation>() * .Where(x => x.comPEMain == comPEMain).List<Com_PartOperation>(); * * bool IsComplete = true; * foreach (Com_PartOperation i in listComPartOperation) * { * IList<Com_MEMain> comMEMain = session.QueryOver<Com_MEMain>() * .Where(x => x.comPartOperation == i).List<Com_MEMain>(); * if (comMEMain.Count > 0) * continue; * else * { * IsComplete = false; * break; * } * } * * if (IsComplete) * { * o = new object[] { false, "Control Plan", comPEMain.customerVer, comPEMain.opVer * , string.Format("{0}_{1}_{2}資料夾" * , comPEMain.partName * , comPEMain.customerVer * , comPEMain.opVer) }; * PEPanel.Rows.Add(new GridRow(o)); * PEPanel.GetCell(1, 0).Value = false; * } */ #endregion #region 插入Control Plan o = new object[] { false, "Control Plan", comPEMain.customerVer, comPEMain.opVer , string.Format("{0}_{1}_{2}資料夾" , comPEMain.partName , comPEMain.customerVer , comPEMain.opVer) }; PEPanel.Rows.Add(new GridRow(o)); PEPanel.GetCell(1, 0).Value = false; #endregion } catch (System.Exception ex) { return(false); } return(true); }
public static bool SetPEPanelData(Sys_Customer customerSrNo, string partNo, string cusVer, string opVer, ref GridPanel PEPanel) { try { Com_PEMain comPEMain = session.QueryOver <Com_PEMain>() .Where(x => x.sysCustomer == customerSrNo) .Where(x => x.partName == partNo) .Where(x => x.customerVer == cusVer) .Where(x => x.opVer == opVer) .SingleOrDefault <Com_PEMain>(); #region 插入Panel object[] o = new object[] { false, "PFD", cusVer, opVer , string.Format("{0}_{1}_{2}資料夾" , partNo , comPEMain.customerVer , comPEMain.opVer) }; PEPanel.Rows.Add(new GridRow(o)); PEPanel.GetCell(0, 0).Value = false; #region 判斷所有製程是否都有上傳MEMain,如果有上傳才顯示Control Plan IList <Com_PartOperation> listComPartOperation = session.QueryOver <Com_PartOperation>() .Where(x => x.comPEMain == comPEMain).List <Com_PartOperation>(); bool IsComplete = true; foreach (Com_PartOperation i in listComPartOperation) { IList <Com_MEMain> comMEMain = session.QueryOver <Com_MEMain>() .Where(x => x.comPartOperation == i).List <Com_MEMain>(); if (comMEMain.Count > 0) { continue; } else { IsComplete = false; break; } } if (IsComplete) { o = new object[] { false, "Control Plan", cusVer, opVer , string.Format("{0}_{1}_{2}資料夾" , partNo , comPEMain.customerVer , comPEMain.opVer) }; PEPanel.Rows.Add(new GridRow(o)); PEPanel.GetCell(1, 0).Value = false; } #endregion #endregion } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); return(false); } return(true); }
private void OK_Click(object sender, EventArgs e) { try { #region (註解中)檢查PC有無Excel在執行 //bool flag = false; //foreach (var item in Process.GetProcesses()) //{ // if (item.ProcessName == "EXCEL") // { // flag = true; // break; // } //} //if (flag) //{ // MessageBox.Show("請先關閉所有Excel再重新執行輸出,如沒有EXCEL在執行,請開啟工作管理員關閉背景EXCEL"); // return; //} #endregion bool flag = false; Dictionary <string, List <Sys_TipTop> > DicToolERP = new Dictionary <string, List <Sys_TipTop> >(); if (productNo.Text != "") { if (!File.Exists("D:\\Knife.xls")) { MessageBox.Show("TipTop的文件不存在,無法比對資料,僅由UG資料輸出"); flag = true; goto ExportFromUG; } string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=D:\\Knife.xls;" + "Extended Properties='Excel 8.0;" + "HDR=YES;" + "IMEX=1'"; OleDbConnection GetXLS = new OleDbConnection(strCon); GetXLS.Open(); System.Data.DataTable Table = GetXLS.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); //查詢此Excel所有的工作表名稱 //List<Sys_TipTop> ListSheetA = new List<Sys_TipTop>(); string SelectSheetName = ""; foreach (DataRow row in Table.Rows) { //抓取Xls各個Sheet的名稱(+'$')-有的名稱需要加名稱'',有的不用 SelectSheetName = (string)row["TABLE_NAME"]; //工作表名稱有特殊字元、空格,需加'工作表名稱$',ex:'Sheet_A$' //工作表名稱沒有特殊字元、空格,需加工作表名稱$,ex:SheetA$ //所有工作表名稱為Sheet1,讀取此工作表的內容 if (SelectSheetName == "工作表1$") { //select 工作表名稱 OleDbCommand cmSheetA = new OleDbCommand(" SELECT * FROM [工作表1$] ", GetXLS); OleDbDataReader drSheetA = cmSheetA.ExecuteReader(); //讀取工作表SheetA資料 //List<string> ListSheetA = new List<string>(); while (drSheetA.Read()) { if (drSheetA[0].ToString() == "") { break; } List <Sys_TipTop> ListSheetA = new List <Sys_TipTop>(); status = DicToolERP.TryGetValue(drSheetA[0].ToString(), out ListSheetA); if (!status) { ListSheetA = new List <Sys_TipTop>(); Sys_TipTop sSys_TipTop = new Sys_TipTop(); sSys_TipTop.productNo = drSheetA[0].ToString(); sSys_TipTop.stepNo = drSheetA[1].ToString(); sSys_TipTop.partNo = drSheetA[2].ToString(); sSys_TipTop.ois = drSheetA[3].ToString(); sSys_TipTop.erpNo = drSheetA[4].ToString(); sSys_TipTop.toolNo = drSheetA[5].ToString(); sSys_TipTop.usedCount = drSheetA[6].ToString(); sSys_TipTop.toolLife = drSheetA[7].ToString(); sSys_TipTop.toolChangeTime = drSheetA[8].ToString(); sSys_TipTop.toolSpec = drSheetA[9].ToString(); ListSheetA.Add(sSys_TipTop); DicToolERP.Add(drSheetA[0].ToString(), ListSheetA); } else { Sys_TipTop sSys_TipTop = new Sys_TipTop(); sSys_TipTop.productNo = drSheetA[0].ToString(); sSys_TipTop.stepNo = drSheetA[1].ToString(); sSys_TipTop.partNo = drSheetA[2].ToString(); sSys_TipTop.ois = drSheetA[3].ToString(); sSys_TipTop.erpNo = drSheetA[4].ToString(); sSys_TipTop.toolNo = drSheetA[5].ToString(); sSys_TipTop.usedCount = drSheetA[6].ToString(); sSys_TipTop.toolLife = drSheetA[7].ToString(); sSys_TipTop.toolChangeTime = drSheetA[8].ToString(); sSys_TipTop.toolSpec = drSheetA[9].ToString(); ListSheetA.Add(sSys_TipTop); DicToolERP[drSheetA[0].ToString()] = ListSheetA; } } /*步驟4:關閉檔案*/ //結束關閉讀檔(必要,不關會有error) drSheetA.Close(); GetXLS.Close(); } } } else { flag = true; } ExportFromUG: excelApp = new ApplicationClass(); book = null; sheet = null; oRng = null; excelApp.Visible = false; book = excelApp.Workbooks.Open(ToolListPath); sheet = (Worksheet)book.Sheets[1]; oRng = (Range)sheet.Cells; oRng[52, 10] = PartNo; //Insert所需欄位並填入資料 //新版CurrentRow從7開始、ToolNumberColumn從1開始、ToolNameColumn從8開始 //舊版CurrentRow從8開始、ToolNumberColumn從2開始、ToolNameColumn從3開始 int CurrentRow = 6, ToolNumberColumn = 1, ToolERPColumn = 2, ToolCutterQtyColumn = 3, ToolCutterLifeColumn = 4, ToolFluteQtyColumn = 5, ToolTitleColumn = 6, ToolSpecColumn = 8, ToolNoteColumn = 10; //將相同刀號記錄起來,只輸出一筆資料 Dictionary <string, OperData> DicToolData = new Dictionary <string, OperData>(); //for (int i = 0; i < panel.Rows.Count; i++) //{ // OperData toolData = new OperData(); // status = DicToolData.TryGetValue(ReplaceToolNumber(panel.GetCell(i, 0).Value.ToString()), out toolData); // if (!status) // { // toolData.ERP_NO = panel.GetCell(i, 1).Value.ToString(); // toolData.CUTTER_QTY = panel.GetCell(i, 2).Value.ToString(); // toolData.CUTTER_LIFE = panel.GetCell(i, 3).Value.ToString(); // toolData.FLUTE_QTY = panel.GetCell(i, 4).Value.ToString(); // toolData.TITLE = panel.GetCell(i, 5).Value.ToString(); // toolData.SPECIFICATION = panel.GetCell(i, 6).Value.ToString(); // toolData.NOTE = panel.GetCell(i, 7).Value.ToString(); // DicToolData.Add(ReplaceToolNumber(panel.GetCell(i, 0).Value.ToString()), toolData); // } //} if (flag) { int StartRow = 0, EndRow = 0; oRng = (Range)sheet.Cells; foreach (KeyValuePair <string, List <OperData> > kvp in DicNCData) { if (CurrentNCName != kvp.Key) { continue; } foreach (OperData i in kvp.Value) { CurrentRow = CurrentRow + 1; StartRow = CurrentRow; oRng[CurrentRow, ToolNumberColumn] = i.ToolNumber;//暫時不寫TOOL_NO,原因是有些刀子不是用系統掉進來會沒有屬性 oRng[CurrentRow, ToolERPColumn] = i.ERP_NO; oRng[CurrentRow, ToolCutterQtyColumn] = i.CUTTER_QTY; oRng[CurrentRow, ToolCutterLifeColumn] = i.CUTTER_LIFE; oRng[CurrentRow, ToolFluteQtyColumn] = i.FLUTE_QTY; oRng[CurrentRow, ToolTitleColumn] = i.TITLE; oRng[CurrentRow, ToolSpecColumn] = i.SPECIFICATION; oRng[CurrentRow, ToolNoteColumn] = i.NOTE; if (i.ACCESSORY != "") { // xxx!QQ!TC10D20FL5R2SD10L40 ? zxb!zxv!zxc ? 34!23!12 string[] SplitAccessory = i.ACCESSORY.Split('?'); foreach (string j in SplitAccessory) { CurrentRow = CurrentRow + 1; string[] Spliti = j.Split('!'); oRng[CurrentRow, ToolERPColumn] = Spliti[0]; oRng[CurrentRow, ToolTitleColumn] = Spliti[1]; oRng[CurrentRow, ToolSpecColumn] = Spliti[2]; } } EndRow = CurrentRow; //合併儲存格 sheet.get_Range("A" + StartRow, "A" + EndRow).Merge(false); } } //foreach (KeyValuePair<string, OperData> kvp in DicToolData) //{ // CurrentRow = CurrentRow + 1; // oRng[CurrentRow, ToolNumberColumn] = kvp.Key; // oRng[CurrentRow, ToolERPColumn] = kvp.Value.ERP_NO; // oRng[CurrentRow, ToolCutterQtyColumn] = kvp.Value.CUTTER_QTY; // oRng[CurrentRow, ToolCutterLifeColumn] = kvp.Value.CUTTER_LIFE; // oRng[CurrentRow, ToolFluteQtyColumn] = kvp.Value.FLUTE_QTY; // oRng[CurrentRow, ToolTitleColumn] = kvp.Value.TITLE; // oRng[CurrentRow, ToolSpecColumn] = kvp.Value.SPECIFICATION; // oRng[CurrentRow, ToolNoteColumn] = kvp.Value.NOTE; //} oRng[51, 10] = "OIS-" + comboBoxNCName.Text.Split('P')[1].Split('_')[0]; } else { //判斷TipTopExcel與UG的資料整理出要輸出的資料 Dictionary <string, List <Sys_TipTop> > DicExportData = new Dictionary <string, List <Sys_TipTop> >(); foreach (KeyValuePair <string, List <Sys_TipTop> > i in DicToolERP) { if (i.Key != productNo.Text) { continue; } foreach (KeyValuePair <string, OperData> j in DicToolData) { foreach (Sys_TipTop k in i.Value) { if (k.ois != ois.Text) { continue; } if (k.toolNo != j.Key) { continue; } List <Sys_TipTop> temp = new List <Sys_TipTop>(); status = DicExportData.TryGetValue(j.Key, out temp); if (!status) { temp = new List <Sys_TipTop>(); Sys_TipTop sSys_TipTop = new Sys_TipTop(); sSys_TipTop.productNo = k.productNo; sSys_TipTop.stepNo = k.stepNo; sSys_TipTop.partNo = k.partNo; sSys_TipTop.ois = k.ois; sSys_TipTop.erpNo = k.erpNo; sSys_TipTop.toolNo = k.toolNo; sSys_TipTop.usedCount = k.usedCount; sSys_TipTop.toolLife = k.toolLife; sSys_TipTop.toolChangeTime = k.toolChangeTime; sSys_TipTop.toolSpec = k.toolSpec; sSys_TipTop.toolUGSpec = j.Value.SPECIFICATION; temp.Add(sSys_TipTop); DicExportData.Add(j.Key, temp); } else { Sys_TipTop sSys_TipTop = new Sys_TipTop(); sSys_TipTop.productNo = k.productNo; sSys_TipTop.stepNo = k.stepNo; sSys_TipTop.partNo = k.partNo; sSys_TipTop.ois = k.ois; sSys_TipTop.erpNo = k.erpNo; sSys_TipTop.toolNo = k.toolNo; sSys_TipTop.usedCount = k.usedCount; sSys_TipTop.toolLife = k.toolLife; sSys_TipTop.toolChangeTime = k.toolChangeTime; sSys_TipTop.toolSpec = k.toolSpec; sSys_TipTop.toolUGSpec = j.Value.SPECIFICATION; temp.Add(sSys_TipTop); DicExportData[j.Key] = temp; } } } } oRng = (Range)sheet.Cells; foreach (KeyValuePair <string, List <Sys_TipTop> > kvp in DicExportData) { foreach (Sys_TipTop i in kvp.Value) { CurrentRow = CurrentRow + 1; oRng[CurrentRow, ToolNumberColumn] = i.toolNo; oRng[CurrentRow, ToolERPColumn] = i.erpNo; oRng[CurrentRow, ToolCutterQtyColumn] = "1"; oRng[CurrentRow, ToolCutterLifeColumn] = i.toolLife; oRng[CurrentRow, ToolFluteQtyColumn] = i.usedCount; oRng[CurrentRow, ToolTitleColumn] = i.toolSpec; oRng[CurrentRow, ToolSpecColumn] = i.toolUGSpec; } } } if (Is_Local != null) { ISession session = MyHibernateHelper.SessionFactory.OpenSession(); Com_PEMain comPEMain = new Com_PEMain(); #region 由料號查peSrNo try { comPEMain = session.QueryOver <Com_PEMain>().Where(x => x.partName == sPartInfo.PartNo) .Where(x => x.customerVer == sPartInfo.CusRev) .Where(x => x.opVer == sPartInfo.OpRev) .SingleOrDefault <Com_PEMain>(); } catch (System.Exception ex) { MessageBox.Show("1.資料庫中沒有此料號的紀錄,無法上傳刀具清單資料"); return; } #endregion Com_PartOperation comPartOperation = new Com_PartOperation(); #region 由peSrNo和OpNum查partOperationSrNo try { comPartOperation = session.QueryOver <Com_PartOperation>() .Where(x => x.comPEMain.peSrNo == comPEMain.peSrNo) .Where(x => x.operation1 == sPartInfo.OpNum) .SingleOrDefault <Com_PartOperation>(); } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); MessageBox.Show("2.資料庫中沒有此料號的紀錄,無法上傳刀具清單資料"); return; } #endregion #region 比對資料庫TEMain是否有同筆數據 IList <Com_TEMain> DBData_ComTEMain = session.QueryOver <Com_TEMain>().List <Com_TEMain>(); bool Is_Exist = false; Com_TEMain currentComTEMain = new Com_TEMain(); foreach (Com_TEMain i in DBData_ComTEMain) { if (i.comPartOperation == comPartOperation && i.ncGroupName == CurrentNCName) { Is_Exist = true; currentComTEMain = i; break; } } #endregion if (Is_Exist) { #region 刪除Com_ToolList IList <Com_ToolList> DB_ToolList = session.QueryOver <Com_ToolList>() .Where(x => x.comTEMain.teSrNo == currentComTEMain.teSrNo).List <Com_ToolList>(); using (ITransaction trans = session.BeginTransaction()) { foreach (Com_ToolList i in DB_ToolList) { session.Delete(i); } trans.Commit(); } #endregion foreach (KeyValuePair <string, List <OperData> > kvp in DicNCData) { if (CurrentNCName != kvp.Key) { continue; } foreach (OperData i in kvp.Value) { Com_ToolList comToolList = new Com_ToolList(); comToolList.comTEMain = currentComTEMain; comToolList.toolNumber = i.TOOL_NO; comToolList.erpNumber = i.ERP_NO; comToolList.cutterQty = i.CUTTER_QTY; comToolList.cutterLife = i.CUTTER_LIFE; comToolList.fluteQty = i.FLUTE_QTY; comToolList.title = i.TITLE; comToolList.specification = i.SPECIFICATION; comToolList.note = i.NOTE; comToolList.accessory = i.ACCESSORY; using (ITransaction trans = session.BeginTransaction()) { session.Save(comToolList); trans.Commit(); } } } //foreach (KeyValuePair<string, OperData> kvp in DicToolData) //{ // Com_ToolList comToolList = new Com_ToolList(); // comToolList.comTEMain = currentComTEMain; // comToolList.toolNumber = kvp.Key; // comToolList.erpNumber = kvp.Value.ERP_NO; // comToolList.cutterQty = kvp.Value.CUTTER_QTY; // comToolList.cutterLife = kvp.Value.CUTTER_LIFE; // comToolList.fluteQty = kvp.Value.FLUTE_QTY; // comToolList.title = kvp.Value.TITLE; // comToolList.specification = kvp.Value.SPECIFICATION; // comToolList.note = kvp.Value.NOTE; // using (ITransaction trans = session.BeginTransaction()) // { // session.Save(comToolList); // trans.Commit(); // } //} } } //oRng = (Range)sheet.Cells; //foreach (KeyValuePair<string,string> kvp in DicToolData) //{ // CurrentRow = CurrentRow + 1; // oRng[CurrentRow, ToolNumberColumn] = kvp.Key; // oRng[CurrentRow, ToolNameColumn] = kvp.Value; //} //oRng = (Range)sheet.Cells; //for (int i = 0; i < panel.Rows.Count; i++) //{ // //取得Row,Column // CurrentRow = CurrentRow + 1; // //新版 // oRng[CurrentRow, ToolNumberColumn] = panel.GetCell(i, 1).Value.ToString(); // oRng[CurrentRow, ToolNameColumn] = panel.GetCell(i, 2).Value.ToString(); // //舊版 // //oRng[CurrentRow, OpNameColumn] = panel.GetCell(i, 0).Value.ToString(); // //oRng[CurrentRow, ToolNumberColumn] = panel.GetCell(i, 1).Value.ToString(); // //oRng[CurrentRow, ToolNameColumn] = panel.GetCell(i, 2).Value.ToString(); // //oRng[CurrentRow, ToolDescColumn] = panel.GetCell(i, 3).Value.ToString(); //} MessageBox.Show("刀具清單【完成】"); } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); MessageBox.Show("刀具清單【失敗】"); } finally { book.SaveAs(OutputPath, XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); book.Close(Type.Missing, Type.Missing, Type.Missing); excelApp.Quit(); } this.Close(); }
private void InitialLabel(PartInfo sPartInfo, string OpName) { try { //設定基礎資料資訊 CusName.Text = sPartInfo.CusName; PartNo.Text = sPartInfo.PartNo; CusRev.Text = sPartInfo.CusRev; OpRev.Text = sPartInfo.OpRev; OIS.Text = sPartInfo.OpNum; //由料號取得DB中PEMain的資訊 comPEMain = session.QueryOver <Com_PEMain>() .Where(x => x.partName == sPartInfo.PartNo) .And(x => x.customerVer == sPartInfo.CusRev) .And(x => x.opVer == sPartInfo.OpRev) .SingleOrDefault <Com_PEMain>(); //由PEMain與OIS取得DB中PartOperation的資訊 comPartOperation = session.QueryOver <Com_PartOperation>() .Where(x => x.comPEMain == comPEMain) .And(x => x.operation1 == sPartInfo.OpNum) .SingleOrDefault <Com_PartOperation>(); //由PartOperation取得DB中DraftingVer的資訊 comMEMain = session.QueryOver <Com_MEMain>() .Where(x => x.comPartOperation == comPartOperation) .List <Com_MEMain>(); foreach (Com_MEMain i in comMEMain) { DraftingRev.Items.Add(i.draftingVer); } if (DraftingRev.Items.Count == 1) { DraftingRev.Text = DraftingRev.Items[0].ToString(); } //設定程式資訊 OperationName.Text = OpName; foreach (KeyValuePair <ExportShopDocDlg.ControlDimen_Key, List <ExportShopDocDlg.ControlDimen_Value> > kvp in ExportShopDocDlg.DicControlDimen) { if (kvp.Key.OperationName != OpName) { continue; } ToolNo.Text = kvp.Key.ToolNo; ToolName.Text = kvp.Key.ToolName; ToolHolder.Text = kvp.Key.ToolHolder; foreach (ExportShopDocDlg.ControlDimen_Value i in kvp.Value) { if (i.ControlBallon == "" || i.TheoryTolRange == "" || i.ControlTolRange == "") { break; } DraftingRev.Text = i.DraftingRev; GridRow row = new GridRow(i.ControlBallon, i.TheoryTolRange, i.ControlTolRange, "刪除"); panel.Rows.Add(row); } } } catch (System.Exception ex) { } }
private void Upload_Click(object sender, EventArgs e) { try { int SheetCount = 0; NXOpen.Tag[] SheetTagAry = null; theUfSession.Draw.AskDrawings(out SheetCount, out SheetTagAry); //判斷是否需要出PDF List <DrawingSheet> drawingSheets = new List <DrawingSheet>(); for (int j = 0; j < SheetCount; j++) { drawingSheets.Add((DrawingSheet)NXObjectManager.Get(SheetTagAry[j])); } if (this.ExportPDF.Checked) { if (!Directory.Exists(this.L_Folder)) { Directory.CreateDirectory(this.L_Folder); } string str1 = string.Format(@"{0}\{1}.pdf", this.L_Folder, Path.GetFileNameWithoutExtension(FixInsUploadDlg.displayPart.FullPath)); CaxME.CreateOISPDF(drawingSheets, str1); //傳OIS圖到SERVER if (!Directory.Exists(S_Folder)) { System.IO.Directory.CreateDirectory(S_Folder); } CaxPublic.DirectoryCopy(this.L_Folder, S_Folder, true); } //取得WorkPart資訊並檢查資料是否完整 DadDimension.WorkPartAttribute sWorkPartAttribute = new DadDimension.WorkPartAttribute(); status = DadDimension.GetWorkPartAttribute(workPart, out sWorkPartAttribute); if (!status) { if (this.ExportPDF.Checked) { MessageBox.Show("量測資訊不足,僅上傳PDF檔案,上傳完成!"); } else { MessageBox.Show("量測資訊不足,無法上傳資料!"); } this.Close(); return; } //if (sWorkPartAttribute.draftingVer == "" || sWorkPartAttribute.draftingDate == "" || // sWorkPartAttribute.partDescription == "" || sWorkPartAttribute.material == "") //{ // MessageBox.Show("量測資訊不足"); // this.Close(); // return; //} //取得所有量測尺寸資料 List <DadDimension> listDimensionData = new List <DadDimension>(); for (int i = 0; i < SheetCount; i++) { //打開Sheet並記錄所有OBJ NXOpen.Drawings.DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); CurrentSheet.Open(); CurrentSheet.View.UpdateDisplay(); DisplayableObject[] SheetObj = CurrentSheet.View.AskVisibleObjects(); status = Com_FixDimension.RecordFixDimension(SheetObj, sWorkPartAttribute, ref listDimensionData); if (!status) { this.Close(); return; } } //將圖片存到本機Globaltek內 for (int i = 0; i < PicNameStr.Length; i++) { string destFileName = string.Format(@"{0}\{1}", this.L_Folder, PicNameStr[i]); File.Copy(PicPathStr[i], destFileName, true); } //由料號查Com_PEMain Com_PEMain cCom_PEMain = new Com_PEMain(); status = CaxSQL.GetCom_PEMain(cCaxUpLoad.CusName, cCaxUpLoad.PartName, cCaxUpLoad.CusRev, cCaxUpLoad.OpRev, out cCom_PEMain); if (!status) { return; } //由Com_PEMain和Op查Com_PartOperation Com_PartOperation cCom_PartOperation = new Com_PartOperation(); status = CaxSQL.GetCom_PartOperation(cCom_PEMain, cCaxUpLoad.OpNum, out cCom_PartOperation); if (!status) { return; } #region 比對資料庫FixInspection是否有同筆數據 bool Is_Exit = true; Com_FixInspection cCom_FixInspection = new Com_FixInspection(); CaxSQL.GetCom_FixInspection(cCom_PartOperation, Path.GetFileNameWithoutExtension(workPart.FullPath), out cCom_FixInspection); if (cCom_FixInspection == null) { Is_Exit = false; } if (Is_Exit && eTaskDialogResult.Yes == CaxPublic.ShowMsgYesNo("此檢、治具已存在上一筆資料,是否更新?")) { #region 刪除Com_FixDimension IList <Com_FixDimension> listComFixDimension = new List <Com_FixDimension>(); CaxSQL.GetListCom_FixDimension(cCom_FixInspection, out listComFixDimension); foreach (Com_FixDimension i in listComFixDimension) { CaxSQL.Delete <Com_FixDimension>(i); } #endregion #region 刪除Com_FixInspection CaxSQL.Delete <Com_FixInspection>(cCom_FixInspection); #endregion Is_Exit = false; } if (!Is_Exit) { cCom_FixInspection = new Com_FixInspection() { comPartOperation = cCom_PartOperation, fixinsDescription = this.Desc.Text, fixinsERP = this.ERPNo.Text, fixinsNo = this.FixInsNo.Text, fixPicPath = this.S_PicPath, fixPartName = Path.GetFileNameWithoutExtension(FixInsUploadDlg.workPart.FullPath) }; IList <Com_FixDimension> listCom_FixDimension = new List <Com_FixDimension>(); foreach (DadDimension i in listDimensionData) { //Com_FixDimension cCom_FixDimension = new Com_FixDimension() //{ // comFixInspection = comFixInspection //}; ////cCom_FixDimension.comFixInspection = comFixInspection; //CaxME.MappingData(i, ref cCom_FixDimension); //listCom_FixDimension.Add(cCom_FixDimension); Com_FixDimension cCom_FixDimension = new Com_FixDimension(); cCom_FixDimension.MappingData(i); cCom_FixDimension.comFixInspection = cCom_FixInspection; listCom_FixDimension.Add(cCom_FixDimension); } cCom_FixInspection.comFixDimension = listCom_FixDimension; CaxSQL.Save <Com_FixInspection>(cCom_FixInspection); //傳OIS圖到SERVER if (!Directory.Exists(S_Folder)) { System.IO.Directory.CreateDirectory(S_Folder); } CaxPublic.DirectoryCopy(this.L_Folder, S_Folder, true); } #endregion MessageBox.Show("上傳完成"); base.Close(); } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); } }
private void OK_Click(object sender, EventArgs e) { CaxPart.SaveAll(); //Part上傳 List <string> ListPartName = new List <string>(); status = CaxMEUpLoad.UploadPart(DicPartDirData, out ListPartName); //status = Function.UploadPart(DicPartDirData, out ListPartName); if (!status) { this.Close(); return; } System.IO.File.WriteAllLines(string.Format(@"{0}\{1}\{2}", sDownUpLoadDat.Server_ShareStr, "OP" + cCaxMEUpLoad.OpNum, "PartNameText_OIS.txt"), ListPartName.ToArray()); //新增TE的下載文件 if (TEDownloadText.Count > 0) { string PartNameText_CAM = string.Format(@"{0}\{1}\{2}", sDownUpLoadDat.Server_ShareStr, "OP" + cCaxMEUpLoad.OpNum, "PartNameText_CAM.txt"); foreach (string i in TEDownloadText) { using (StreamWriter sw = File.AppendText(PartNameText_CAM)) { sw.WriteLine(i); } } } #region (註解)Excel上傳 /* * //Excel上傳 * if (File.Exists(sExcelDirData.ExcelIPQCLocalDir)) * { * try * { * File.Copy(sExcelDirData.ExcelIPQCLocalDir, sExcelDirData.ExcelIPQCServerDir, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("IPQC.xls上傳失敗"); * this.Close(); * } * } * * if (File.Exists(sExcelDirData.ExcelSelfCheckLocalDir)) * { * try * { * File.Copy(sExcelDirData.ExcelSelfCheckLocalDir, sExcelDirData.ExcelSelfCheckServerDir, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("SelfCheck.xls上傳失敗"); * this.Close(); * } * } * * if (File.Exists(sExcelDirData.ExcelIQCLocalDir)) * { * try * { * File.Copy(sExcelDirData.ExcelIQCLocalDir, sExcelDirData.ExcelIQCServerDir, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("IQC.xls上傳失敗"); * this.Close(); * } * } * * if (File.Exists(sExcelDirData.ExcelFAILocalDir)) * { * try * { * File.Copy(sExcelDirData.ExcelFAILocalDir, sExcelDirData.ExcelFAIServerDir, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("FAI.xls上傳失敗"); * this.Close(); * } * } * * if (File.Exists(sExcelDirData.ExcelFQCLocalDir)) * { * try * { * File.Copy(sExcelDirData.ExcelFQCLocalDir, sExcelDirData.ExcelFQCServerDir, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("FQC.xls上傳失敗"); * this.Close(); * } * } */ #endregion int SheetCount = 0; NXOpen.Tag[] SheetTagAry = null; theUfSession.Draw.AskDrawings(out SheetCount, out SheetTagAry); List <NXOpen.Drawings.DrawingSheet> listDrawingSheet = new List <NXOpen.Drawings.DrawingSheet>(); for (int i = 0; i < SheetCount; i++) { //打開Sheet並記錄所有OBJ NXOpen.Drawings.DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); listDrawingSheet.Add(CurrentSheet); } #region 輸出OIS //輸出PDF if (ExportPFD.Checked == true) { //建立PFD資料夾 string PFDFullPath = string.Format(@"{0}\{1}", sDownUpLoadDat.Local_Folder_OIS, cCaxMEUpLoad.PartName + "_OIS" + cCaxMEUpLoad.OpNum + ".pdf"); CaxME.CreateOISPDF(listDrawingSheet, PFDFullPath); //OIS資料夾上傳 status = CaxPublic.DirectoryCopy(sDownUpLoadDat.Local_Folder_OIS, sDownUpLoadDat.Server_Folder_OIS, true); if (!status) { MessageBox.Show("OIS資料夾複製失敗,請聯繫開發工程師"); this.Close(); } } #endregion #region 資料上傳至Database //取得WorkPart資訊並檢查資料是否完整 DadDimension.WorkPartAttribute sWorkPartAttribute = new DadDimension.WorkPartAttribute(); //status = Function.GetWorkPartAttribute(workPart, out sWorkPartAttribute); status = DadDimension.GetWorkPartAttribute(workPart, out sWorkPartAttribute); if (!status) { MessageBox.Show("量測資訊不足,僅上傳CAD檔案,上傳完成!"); this.Close(); return; } #region 取得所有量測尺寸資料 /* * //取得泡泡特徵,並記錄總共有幾個泡泡,後續比對數量用 * IdSymbolCollection BallonCollection = workPart.Annotations.IdSymbols; * IdSymbol[] BallonAry = BallonCollection.ToArray(); * int balloonCount = 0; * foreach (IdSymbol i in BallonAry) * { * try * { * i.GetStringAttribute("BalloonAtt"); * balloonCount++; * } * catch (System.Exception ex) * { * continue; * } * } * * List<CaxME.DimensionData> listDimensionData = new List<CaxME.DimensionData>(); * List<int> listBalloonCount = new List<int>(); * NXOpen.Drawings.DrawingSheet FirstSheet = null; * while (listBalloonCount.Count != balloonCount) * { * for (int i = 0; i < SheetCount; i++) * { * //打開Sheet並記錄所有OBJ * NXOpen.Drawings.DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); * if (CurrentSheet.Name == "S1") * { * FirstSheet = CurrentSheet; * } * CurrentSheet.Open(); * CurrentSheet.View.UpdateDisplay(); * DisplayableObject[] SheetObj = CurrentSheet.View.AskVisibleObjects(); * status = CaxME.RecordDimension(SheetObj, sWorkPartAttribute, ref listDimensionData); * if (!status) * { * this.Close(); * return; * } * } * foreach (CaxME.DimensionData i in listDimensionData) * { * if (!listBalloonCount.Contains(i.ballonNum)) * { * listBalloonCount.Add(i.ballonNum); * } * } * * } */ //List<CaxME.DimensionData> listDimensionData = new List<CaxME.DimensionData>(); List <DadDimension> listDimensionData = new List <DadDimension>(); NXOpen.Drawings.DrawingSheet FirstSheet = null; for (int i = 0; i < SheetCount; i++) { //打開Sheet並記錄所有OBJ NXOpen.Drawings.DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); if (CurrentSheet.Name == "S1") { FirstSheet = CurrentSheet; } CurrentSheet.Open(); CurrentSheet.View.UpdateDisplay(); DisplayableObject[] SheetObj = CurrentSheet.View.AskVisibleObjects(); status = Com_Dimension.RecordDimension(SheetObj, sWorkPartAttribute, ref listDimensionData); if (!status) { this.Close(); return; } } #endregion //切回首頁 if (FirstSheet != null) { FirstSheet.Open(); } //由料號查Com_PEMain Com_PEMain cCom_PEMain = new Com_PEMain(); status = CaxSQL.GetCom_PEMain(cCaxMEUpLoad.CusName, cCaxMEUpLoad.PartName, cCaxMEUpLoad.CusRev, cCaxMEUpLoad.OpRev, out cCom_PEMain); if (!status) { return; } //由Com_PEMain和Op查Com_PartOperation Com_PartOperation cCom_PartOperation = new Com_PartOperation(); status = CaxSQL.GetCom_PartOperation(cCom_PEMain, cCaxMEUpLoad.OpNum, out cCom_PartOperation); if (!status) { return; } #region (註解)由excelType查meExcelSrNo //Sys_MEExcel sysMEExcel = new Sys_MEExcel(); //try //{ // sysMEExcel = session.QueryOver<Sys_MEExcel>().Where(x => x.meExcelType == meExcelType).SingleOrDefault<Sys_MEExcel>(); //} //catch (System.Exception ex) //{ // MessageBox.Show("資料庫中沒有此料號的紀錄,故無法上傳量測尺寸,僅成功上傳實體檔案"); // return; //} #endregion #region 比對資料庫MEMain是否有同筆數據 IList <Com_MEMain> ListCom_MEMain = new List <Com_MEMain>(); CaxSQL.GetListCom_MEMain(out ListCom_MEMain); bool Is_Exist = false; Com_MEMain currentComMEMain = new Com_MEMain(); foreach (Com_MEMain i in ListCom_MEMain) { if (i.comPartOperation == cCom_PartOperation) { Is_Exist = true; currentComMEMain = i; break; } } #endregion #region 如果本次上傳的資料不存在於資料庫,則開始上傳資料;如果已存在資料庫,則詢問是否要更新尺寸 bool Is_Update = true; if (Is_Exist) { if (eTaskDialogResult.Yes == CaxPublic.ShowMsgYesNo("此料號已存在上一次的標註尺寸資料,是否更新?")) { #region 刪除Com_Dimension資料表 IList <Com_Dimension> ListCom_Dimension = new List <Com_Dimension>(); CaxSQL.GetListCom_Dimension(currentComMEMain, out ListCom_Dimension); foreach (Com_Dimension i in ListCom_Dimension) { CaxSQL.Delete <Com_Dimension>(i); } #endregion #region 刪除Com_MEMain資料表 Com_MEMain cCom_MEMain = new Com_MEMain(); CaxSQL.GetCom_MEMain(cCom_PartOperation, out cCom_MEMain); CaxSQL.Delete <Com_MEMain>(cCom_MEMain); #endregion } else { Is_Update = false; } } if (Is_Update) { #region 整理資料並上傳 try { Com_MEMain cCom_MEMain = new Com_MEMain(); cCom_MEMain.comPartOperation = cCom_PartOperation; //cCom_MEMain.sysMEExcel = sysMEExcel; cCom_MEMain.partDescription = sWorkPartAttribute.partDescription; cCom_MEMain.createDate = sWorkPartAttribute.createDate; cCom_MEMain.material = sWorkPartAttribute.material; cCom_MEMain.draftingVer = sWorkPartAttribute.draftingVer; IList <Com_Dimension> listCom_Dimension = new List <Com_Dimension>(); foreach (DadDimension i in listDimensionData) { Com_Dimension cCom_Dimension = new Com_Dimension(); cCom_Dimension.MappingData(i); cCom_Dimension.comMEMain = cCom_MEMain; listCom_Dimension.Add(cCom_Dimension); //Com_Dimension cCom_Dimension = new Com_Dimension(); //cCom_Dimension.comMEMain = cCom_MEMain; //CaxME.MappingData(i, ref cCom_Dimension); //listCom_Dimension.Add(cCom_Dimension); } cCom_MEMain.comDimension = listCom_Dimension; CaxSQL.Save <Com_MEMain>(cCom_MEMain); } catch (System.Exception ex) { MessageBox.Show("上傳資料庫時發生錯誤,僅上傳實體檔案"); } #endregion } #endregion #endregion CaxPart.Save(); MessageBox.Show("上傳完成!"); this.Close(); }