public static bool GetFixInsData(ComboBoxEx Op1Combobox, string fixPartName, out Dictionary <DB_FixInspection, IList <Com_FixDimension> > DicFixDimensionData) { DicFixDimensionData = new Dictionary <DB_FixInspection, IList <Com_FixDimension> >(); try { Com_FixInspection comFixInspection = session.QueryOver <Com_FixInspection>() .Where(x => x.comPartOperation == (Com_PartOperation)Op1Combobox.SelectedItem) .And(x => x.fixPartName == fixPartName).SingleOrDefault(); IList <Com_FixDimension> listComFixDimension = session.QueryOver <Com_FixDimension>() .Where(x => x.comFixInspection == comFixInspection).OrderBy(x => x.ballon).Asc.List(); DB_FixInspection sDB_FixInspection = new DB_FixInspection(); sDB_FixInspection.comFixInspection = comFixInspection; sDB_FixInspection.excelTemplateFilePath = string.Format(@"{0}\{1}\{2}\{3}\{4}.xls" , OutputForm.EnvVariables.env , "ME_Config" , "Config" , "FixtureInspection" , "FixtureInspection"); DicFixDimensionData.Add(sDB_FixInspection, listComFixDimension); } catch (System.Exception ex) { return(false); } return(true); }
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()); } }