..
This commit is contained in:
		
							
								
								
									
										1050
									
								
								SubProject/FPJ0000/EBoard/Report1.rdlc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1050
									
								
								SubProject/FPJ0000/EBoard/Report1.rdlc
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1378
									
								
								SubProject/FPJ0000/EBoard/fEBoardImport.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										1378
									
								
								SubProject/FPJ0000/EBoard/fEBoardImport.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										374
									
								
								SubProject/FPJ0000/EBoard/fEBoardImport.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										374
									
								
								SubProject/FPJ0000/EBoard/fEBoardImport.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,374 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.ComponentModel; | ||||
| using System.Data; | ||||
| using System.Drawing; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
| namespace FPJ0000 | ||||
| { | ||||
|     public partial class fEBoardImport : Form | ||||
|     { | ||||
|         string setFile; | ||||
|         dsPRJ.EETGW_JobReport_EBoardDataTable dt = new dsPRJ.EETGW_JobReport_EBoardDataTable(); | ||||
|         DataTable dtExcel = new DataTable(); | ||||
|         public fEBoardImport() | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|             setFile = System.IO.Path.Combine(FCOMMON.Util.CurrentPath, "PreSet", Name + ".xml"); | ||||
|             this.FormClosed += __Closed; | ||||
|         } | ||||
|  | ||||
|         private void __Load(object sender, EventArgs e) | ||||
|         { | ||||
|             //this.sd.Value = DateTime.Now.AddMonths(-1); | ||||
|             this.dtPdate.Value = DateTime.Now; | ||||
|         } | ||||
|  | ||||
|         void __Closed(object sender, FormClosedEventArgs e) | ||||
|         { | ||||
|  | ||||
|         } | ||||
|  | ||||
|         private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) | ||||
|         { | ||||
|             OpenFileDialog od = new OpenFileDialog(); | ||||
|             od.Filter = "excel|*.xlsx|all files|*.*"; | ||||
|  | ||||
|             var fi = new System.IO.FileInfo(setFile); | ||||
|             if (fi.Directory.Exists == false) fi.Directory.Create(); | ||||
|             var xml = new arUtil.XMLHelper(setFile); | ||||
|             if (xml.Exist() == false) xml.CreateFile(); | ||||
|             od.FileName = xml.get_Data("path", "xls"); // FCOMMON.Util.CurrentPath + "model";             | ||||
|             //od.FilterIndex = 1; | ||||
|             //od.RestoreDirectory = true; | ||||
|             if (od.ShowDialog() != System.Windows.Forms.DialogResult.OK) return; | ||||
|             //선택하면 저장해준다. | ||||
|  | ||||
|             xml.set_Data("path", "xls", od.FileName); | ||||
|             textBox1.Text = od.FileName; | ||||
|         } | ||||
|  | ||||
|         private void button1_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             int ColumnNameNo = (int)numericUpDown2.Value; | ||||
|             if (textBox1.Text.isEmpty()) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("파일을 선택하세요"); | ||||
|                 textBox1.Focus(); | ||||
|                 return; | ||||
|             } | ||||
|             if (!System.IO.File.Exists(textBox1.Text)) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("입력하신 파일이 존재하지 않습니다."); | ||||
|                 textBox1.Focus(); | ||||
|                 textBox1.SelectAll(); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             dtExcel.Columns.Clear(); | ||||
|             dtExcel.Rows.Clear(); | ||||
|             dtExcel.AcceptChanges(); | ||||
|  | ||||
|             libxl.Book book;// = new libxl.BinBook(); | ||||
|             book = new libxl.XmlBook(); | ||||
|             book.setKey(FCOMMON.info.libxlCompany, FCOMMON.info.libxlKey); | ||||
|             try | ||||
|             { | ||||
|                 book.load(textBox1.Text); | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE(ex.Message); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             int sheetNum = (int)numericUpDown1.Value; | ||||
|             if (sheetNum >= book.sheetCount()) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("입력한 시트 번호는 존재하지 않습니다."); | ||||
|                 book = null; | ||||
|                 return; | ||||
|             } | ||||
|             var sheet = book.getSheet(sheetNum); | ||||
|             var MaxRow = sheet.lastRow(); | ||||
|             var MinRow = sheet.firstRow(); | ||||
|  | ||||
|             MaxRow = (int)Math.Min(MaxRow, nudE.Value - 1); | ||||
|             MinRow = (int)Math.Max(MinRow, nudS.Value - 1); | ||||
|             if (MinRow <= (ColumnNameNo - 1)) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgI("시작줄을 제목줄 보다 커야 합니다. 자동으로 +1 증가합니다."); | ||||
|                 MinRow = ColumnNameNo; | ||||
|             } | ||||
|  | ||||
|  | ||||
|             var MaxCol = sheet.lastCol(); | ||||
|             var MinCol = sheet.firstCol(); | ||||
|  | ||||
|             MaxCol = (int)Math.Min(MaxCol, nudCE.Value - 1); | ||||
|             MinCol = (int)Math.Max(MinCol, nudCS.Value - 1); | ||||
|  | ||||
|             //제목줄을 처리한다.  181029 | ||||
|             List<string> cols = new List<string>(); | ||||
|  | ||||
|             //string sDate = sd.Value.ToShortDateString(); | ||||
|             //string eDate = ed.Value.ToShortDateString(); | ||||
|  | ||||
|             for (int c = MinCol; c <= MaxCol; c++) | ||||
|             { | ||||
|                 var strVallue = sheet.readStr(ColumnNameNo - 1, c); | ||||
|                 if (strVallue.isEmpty()) | ||||
|                 { | ||||
|                     if (c == MinCol) | ||||
|                     { | ||||
|                         //첫줄 첫행이 빈값이면 처리하지 않는다. | ||||
|                         FCOMMON.Util.MsgE("열 제목에 빈값이 있어 처리되지 못합니다."); | ||||
|                         return; | ||||
|                     } | ||||
|                     else | ||||
|                     { | ||||
|                         //빈값이 나왓으므로 열 최대값을 변경해준다. | ||||
|                         if (c < MaxCol) | ||||
|                         { | ||||
|                             FCOMMON.Util.MsgI("빈값으로 인해 최대 열 번호를 " + c.ToString() + "로 변경합니다"); | ||||
|                             MaxCol = c; | ||||
|                             break; | ||||
|                         } | ||||
|                     } | ||||
|                 } | ||||
|                 cols.Add(strVallue); | ||||
|                 this.dtExcel.Columns.Add(strVallue); | ||||
|             } | ||||
|  | ||||
|  | ||||
|             try | ||||
|             { | ||||
|                 for (int r = MinRow; r <= MaxRow; r++) | ||||
|                 { | ||||
|                     DataRow dr = dtExcel.NewRow(); | ||||
|  | ||||
|                     Boolean nullColumn = false; | ||||
|                     for (int c = MinCol; c <= MaxCol; c++) | ||||
|                     { | ||||
|                         var colNo = c - MinCol; | ||||
|                         if (sheet.isDate(r, c)) | ||||
|                         { | ||||
|  | ||||
|                             var datevalue = sheet.readNum(r, c); | ||||
|                             int y, m, d; | ||||
|                             y = m = d = 0; | ||||
|                             book.dateUnpack(datevalue, ref y, ref m, ref d); | ||||
|                             if (y >= 2000) | ||||
|                                 dr[cols[colNo]] = string.Format("{0:0000}-{1:00}-{2:00}", y, m, d); | ||||
|                             else | ||||
|                                 dr[cols[colNo]] = string.Empty; | ||||
|  | ||||
|                             //일자가 만약 넘어서면 패스한다. | ||||
|                             if (cols[colNo] == "일자") | ||||
|                             { | ||||
|                                 string value = dr[cols[colNo]].ToString(); | ||||
|                                 if (value == "") | ||||
|                                 { | ||||
|                                     nullColumn = true;  //날짜가 없다면 패스 | ||||
|                                     break; | ||||
|                                 } | ||||
|                                 //else if(value.CompareTo(sDate) < 0) | ||||
|                                 //{ | ||||
|                                 //    nullColumn = true;  //과거데이터라서 패스 | ||||
|                                 //    break; | ||||
|                                 //} else if(value.CompareTo(eDate) > 0) | ||||
|                                 //{ | ||||
|                                 //    nullColumn = true; //미래데이터 패스 | ||||
|                                 //    break; | ||||
|                                 //} | ||||
|                             } | ||||
|                         } | ||||
|                         else | ||||
|                         { | ||||
|                             var dateStrin = sheet.readStr(r, c); | ||||
|  | ||||
|                             var strVallue = sheet.readStr(r, c); | ||||
|                             if (strVallue.isEmpty() && c == MinCol) | ||||
|                             { | ||||
|                                 //첫줄 첫행이 빈값이면 처리하지 않는다. | ||||
|                                 nullColumn = true; | ||||
|                                 break; | ||||
|                             } | ||||
|                             if (!cols[colNo].isEmpty()) | ||||
|                                 dr[cols[colNo]] = strVallue; | ||||
|                         } | ||||
|                     } | ||||
|                     if (nullColumn) continue; //줄처리를 못한 경우 넘어감 | ||||
|                     if (dr != null) | ||||
|                     { | ||||
|                         dtExcel.Rows.Add(dr); | ||||
|                     } | ||||
|                 } | ||||
|                 dtExcel.AcceptChanges(); | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("불러오는 중 오류 발생\n" + ex.Message); | ||||
|             } | ||||
|             // | ||||
|             book = null; | ||||
|  | ||||
|             this.bs.DataSource = dtExcel; | ||||
|             this.dataGridView1.DataSource = dtExcel; | ||||
|             this.bn.BindingSource = this.bs; | ||||
|  | ||||
|             if (this.bs.Count < 1) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("입력된 자료가 없습니다.\n\n지정된 엑셀의 1번째 칸에 값이 없다면 입력되지 않습니다."); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|  | ||||
|         private void button3_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             if (dtExcel == null || dtExcel.Rows.Count < 1) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("등록 가능한 자료가 없습니다."); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             if (col_sdate.Value < 1) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("CR번호/품명/SId는 반드시 입력되어야 합니다."); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             System.Text.StringBuilder sb = new StringBuilder(); | ||||
|             sb.AppendLine("다음 자료를 추가하시겠습니까?"); | ||||
|             sb.AppendLine(); | ||||
|             sb.AppendLine("'저장 완료' 메세지가 나올때 까지 기다려 주세요."); | ||||
|             sb.AppendLine(); | ||||
|             sb.AppendLine("실행 하려면 '예' 를 누르세요"); | ||||
|             var dlg = FCOMMON.Util.MsgQ(sb.ToString()); | ||||
|             if (dlg != System.Windows.Forms.DialogResult.Yes) return; | ||||
|  | ||||
|             dt.Clear(); | ||||
|             dt.AcceptChanges(); | ||||
|  | ||||
|             this.progressBar1.Value = 0; | ||||
|             this.progressBar1.Maximum = dtExcel.Rows.Count; | ||||
|  | ||||
|             //12,13 | ||||
|             foreach (DataRow dr in dtExcel.Rows) | ||||
|             { | ||||
|                 this.progressBar1.Value += 1; | ||||
|  | ||||
|                 //데이터추가 | ||||
|                 var newdr = dt.NewEETGW_JobReport_EBoardRow(); | ||||
|                 if (dr[(int)col_sdate.Value] == DBNull.Value) continue;   //nullerror | ||||
|  | ||||
|                 newdr["wdate"] = dtPdate.Value;//.ToString("yyyy-MM-dd");// "2019-01-01";// dr[0].ToString(); | ||||
|                 newdr["wuid"] = FCOMMON.info.Login.no; | ||||
|                 newdr["gcode"] = FCOMMON.info.Login.gcode; | ||||
|                 newdr["import"] = true; | ||||
|                 newdr["memo"] = string.Empty; | ||||
|  | ||||
|                 if (col_site.Value >= 0) newdr["Site"] = dr[(int)col_site.Value].ToString().Trim(); | ||||
|                 if (col_request.Value >= 0) newdr["요청자"] = dr[(int)col_request.Value].ToString().Trim(); | ||||
|                 if (col_sdate.Value >= 0) newdr["pdate"] = dr[(int)col_sdate.Value].ToString().Trim(); | ||||
|                 if (col_edate.Value >= 0) newdr["수리완료일"] = dr[(int)col_edate.Value].ToString().Trim(); | ||||
|  | ||||
|                 if (col_status.Value >= 0) newdr["Status"] = dr[(int)col_status.Value].ToString().Trim(); | ||||
|                 if (col_div.Value >= 0) newdr["분류"] = dr[(int)col_div.Value].ToString().Trim(); | ||||
|                 if (col_line.Value >= 0) newdr["Line"] = dr[(int)col_line.Value].ToString().Trim(); | ||||
|                 if (col_division.Value >= 0) newdr["Division"] = dr[(int)col_division.Value].ToString().Trim(); | ||||
|                 if (col_team.Value >= 0) newdr["Team"] = dr[(int)col_team.Value].ToString().Trim(); | ||||
|                 if (col_process.Value >= 0) newdr["Process"] = dr[(int)col_process.Value].ToString().Trim(); | ||||
|                 if (col_model.Value >= 0) newdr["Model"] = dr[(int)col_model.Value].ToString().Trim(); | ||||
|                 if (col_boardname.Value >= 0) newdr["BoardName"] = dr[(int)col_boardname.Value].ToString().Trim(); | ||||
|                 if (col_boardvender.Value >= 0) newdr["BoardVender"] = dr[(int)col_boardvender.Value].ToString().Trim(); | ||||
|  | ||||
|                 if (col_reason.Value >= 0) newdr["원인"] = dr[(int)col_reason.Value].ToString().Trim(); | ||||
|                 if (col_result.Value >= 0) newdr["결과"] = dr[(int)col_result.Value].ToString().Trim(); | ||||
|  | ||||
|                 if (col_sn.Value >= 0) newdr["SN"] = dr[(int)col_sn.Value].ToString().Trim(); | ||||
|  | ||||
|                 var s_qty = dr[(int)col_qty.Value].ToString().Trim(); | ||||
|                 var i_qty = 0; | ||||
|                 if (s_qty.isEmpty()) s_qty = "0"; | ||||
|                 int.TryParse(s_qty, out i_qty); | ||||
|                 if (col_qty.Value >= 0) newdr["QTY"] = i_qty;// int.Parse(s_qty); | ||||
|  | ||||
|                 var s_nprice = dr[(int)col_pricen.Value].ToString().Trim(); | ||||
|                 var f_nprice = 0f; | ||||
|                 if (s_nprice.isEmpty()) s_nprice = "0"; | ||||
|                 float.TryParse(s_nprice, out f_nprice); | ||||
|                 if (col_pricen.Value >= 0) newdr["NPrice"] = f_nprice;// float.Parse(s_nprice); | ||||
|  | ||||
|                 var s_oprice = dr[(int)col_pricen.Value].ToString().Trim(); | ||||
|                 var f_oprice = 0f; | ||||
|                 if (s_oprice.isEmpty()) s_oprice = "0"; | ||||
|                 float.TryParse(s_oprice, out f_oprice); | ||||
|                 if (col_priceo.Value >= 0) newdr["OPrice"] = f_oprice;// float.Parse(s_oprice); | ||||
|  | ||||
|                 var s_rcost = dr[(int)col_pricerep.Value].ToString().Trim(); | ||||
|                 if (s_rcost.isEmpty()) s_rcost = "0"; | ||||
|                 float f_rcost = 0f; | ||||
|                 float.TryParse(s_rcost, out f_rcost); | ||||
|                 if (col_pricerep.Value >= 0) newdr["RepairCost"] = f_rcost;// float.Parse(s_rcost); | ||||
|  | ||||
|                 newdr["CostReduction"] = newdr.OPrice - newdr.RepairCost;// (float)(newdr["OPrice"]) - (float)(newdr["RepairCost"]); | ||||
|                 if (col_extsou.Value >= 0) newdr["외주업체"] = dr[(int)col_extsou.Value].ToString().Trim(); | ||||
|  | ||||
|  | ||||
|                 if (col_repairtime.Value >= 0) | ||||
|                 { | ||||
|                     var s_rtime = dr[(int)col_repairtime.Value].ToString().Trim(); | ||||
|                     if (s_rtime.isEmpty()) s_rtime = "0"; | ||||
|                     newdr["RepairTime"] = float.Parse(s_rtime); | ||||
|                 } | ||||
|                 if (col_engineer.Value >= 0) newdr["uid"] = dr[(int)col_engineer.Value].ToString().Trim(); | ||||
|  | ||||
|  | ||||
|                 dt.Rows.Add(newdr); | ||||
|             } | ||||
|  | ||||
|             var taE = new dsPRJTableAdapters.EETGW_JobReport_EBoardTableAdapter(); | ||||
|  | ||||
|             //과거데이터 삭제 | ||||
|             if (checkBox1.Checked) taE.DeleteImport(FCOMMON.info.Login.gcode, | ||||
|                 FCOMMON.info.Login.no, | ||||
|                 dtPdate.Value.ToShortDateString(), | ||||
|                 dtPdate.Value.ToShortDateString()); | ||||
|  | ||||
|             taE.Update((dsPRJ.EETGW_JobReport_EBoardDataTable)dt); | ||||
|  | ||||
|             dt.AcceptChanges(); | ||||
|             FCOMMON.Util.MsgI("Save OK"); | ||||
|         } | ||||
|  | ||||
|         private void panel1_Paint(object sender, PaintEventArgs e) | ||||
|         { | ||||
|  | ||||
|         } | ||||
|  | ||||
|         private void button2_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             var dlg = FCOMMON.Util.MsgQ("데이터의 SID를 ITEM정보와 확인하여 업데이트 합니다."); | ||||
|             if (dlg != System.Windows.Forms.DialogResult.Yes) return; | ||||
|  | ||||
|             var i = FCOMMON.DBM.UpdateItemIndexbySID(); | ||||
|             FCOMMON.Util.MsgI(i.ToString() + "건의 자료가 업데이트 되었습니다."); | ||||
|  | ||||
|  | ||||
|         } | ||||
|  | ||||
|         private void dateTimePicker1_ValueChanged(object sender, EventArgs e) | ||||
|         { | ||||
|  | ||||
|         } | ||||
|  | ||||
|         private void numericUpDown13_ValueChanged(object sender, EventArgs e) | ||||
|         { | ||||
|  | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										191
									
								
								SubProject/FPJ0000/EBoard/fEBoardImport.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								SubProject/FPJ0000/EBoard/fEBoardImport.resx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,191 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <root> | ||||
|   <!--  | ||||
|     Microsoft ResX Schema  | ||||
|      | ||||
|     Version 2.0 | ||||
|      | ||||
|     The primary goals of this format is to allow a simple XML format  | ||||
|     that is mostly human readable. The generation and parsing of the  | ||||
|     various data types are done through the TypeConverter classes  | ||||
|     associated with the data types. | ||||
|      | ||||
|     Example: | ||||
|      | ||||
|     ... ado.net/XML headers & schema ... | ||||
|     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||
|     <resheader name="version">2.0</resheader> | ||||
|     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||
|     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||
|     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||
|     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||
|     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||
|         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||
|     </data> | ||||
|     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||
|         <comment>This is a comment</comment> | ||||
|     </data> | ||||
|                  | ||||
|     There are any number of "resheader" rows that contain simple  | ||||
|     name/value pairs. | ||||
|      | ||||
|     Each data row contains a name, and value. The row also contains a  | ||||
|     type or mimetype. Type corresponds to a .NET class that support  | ||||
|     text/value conversion through the TypeConverter architecture.  | ||||
|     Classes that don't support this are serialized and stored with the  | ||||
|     mimetype set. | ||||
|      | ||||
|     The mimetype is used for serialized objects, and tells the  | ||||
|     ResXResourceReader how to depersist the object. This is currently not  | ||||
|     extensible. For a given mimetype the value must be set accordingly: | ||||
|      | ||||
|     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||
|     that the ResXResourceWriter will generate, however the reader can  | ||||
|     read any of the formats listed below. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.binary.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.soap.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|  | ||||
|     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||
|     value   : The object must be serialized into a byte array  | ||||
|             : using a System.ComponentModel.TypeConverter | ||||
|             : and then encoded with base64 encoding. | ||||
|     --> | ||||
|   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
|     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||
|     <xsd:element name="root" msdata:IsDataSet="true"> | ||||
|       <xsd:complexType> | ||||
|         <xsd:choice maxOccurs="unbounded"> | ||||
|           <xsd:element name="metadata"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="assembly"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:attribute name="alias" type="xsd:string" /> | ||||
|               <xsd:attribute name="name" type="xsd:string" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="data"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="resheader"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|         </xsd:choice> | ||||
|       </xsd:complexType> | ||||
|     </xsd:element> | ||||
|   </xsd:schema> | ||||
|   <resheader name="resmimetype"> | ||||
|     <value>text/microsoft-resx</value> | ||||
|   </resheader> | ||||
|   <resheader name="version"> | ||||
|     <value>2.0</value> | ||||
|   </resheader> | ||||
|   <resheader name="reader"> | ||||
|     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 17</value> | ||||
|   </metadata> | ||||
|   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> | ||||
|   <data name="bindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC | ||||
|         pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++ | ||||
|         Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ | ||||
|         /5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA | ||||
|         zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/ | ||||
|         IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E | ||||
|         rkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>83, 17</value> | ||||
|   </metadata> | ||||
|   <data name="bindingNavigatorDeleteItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC | ||||
|         DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC | ||||
|         rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV | ||||
|         i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG | ||||
|         86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG | ||||
|         QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX | ||||
|         bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77 | ||||
|         wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0 | ||||
|         v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg | ||||
|         UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA | ||||
|         Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu | ||||
|         lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w | ||||
|         5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f | ||||
|         Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+ | ||||
|         08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78 | ||||
|         n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI | ||||
|         N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f | ||||
|         oAc0QjgAAAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+// | ||||
|         h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B | ||||
|         twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA | ||||
|         kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG | ||||
|         WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9 | ||||
|         8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg== | ||||
| </value> | ||||
|   </data> | ||||
| </root> | ||||
							
								
								
									
										338
									
								
								SubProject/FPJ0000/EBoard/fEBoardReport.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										338
									
								
								SubProject/FPJ0000/EBoard/fEBoardReport.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,338 @@ | ||||
|  | ||||
| namespace FPJ0000.EBoard | ||||
| { | ||||
|     partial class fEBoardReport | ||||
|     { | ||||
|         /// <summary> | ||||
|         /// Required designer variable. | ||||
|         /// </summary> | ||||
|         private System.ComponentModel.IContainer components = null; | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Clean up any resources being used. | ||||
|         /// </summary> | ||||
|         /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> | ||||
|         protected override void Dispose(bool disposing) | ||||
|         { | ||||
|             if (disposing && (components != null)) | ||||
|             { | ||||
|                 components.Dispose(); | ||||
|             } | ||||
|             base.Dispose(disposing); | ||||
|         } | ||||
|  | ||||
|         #region Windows Form Designer generated code | ||||
|  | ||||
|         /// <summary> | ||||
|         /// Required method for Designer support - do not modify | ||||
|         /// the contents of this method with the code editor. | ||||
|         /// </summary> | ||||
|         private void InitializeComponent() | ||||
|         { | ||||
|             this.components = new System.ComponentModel.Container(); | ||||
|             this.bs = new System.Windows.Forms.BindingSource(this.components); | ||||
|             this.ds1 = new FPJ0000.DSEboard(); | ||||
|             this.fpSpread1 = new FarPoint.Win.Spread.FpSpread(); | ||||
|             this.fpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView(); | ||||
|             this.progressBar2 = new System.Windows.Forms.ProgressBar(); | ||||
|             this.btSave = new System.Windows.Forms.Button(); | ||||
|             this.label3 = new System.Windows.Forms.Label(); | ||||
|             this.dte = new System.Windows.Forms.DateTimePicker(); | ||||
|             this.label2 = new System.Windows.Forms.Label(); | ||||
|             this.dts = new System.Windows.Forms.DateTimePicker(); | ||||
|             this.btRefresh = new System.Windows.Forms.Button(); | ||||
|             this.panel1 = new System.Windows.Forms.Panel(); | ||||
|             this.groupBox1 = new System.Windows.Forms.GroupBox(); | ||||
|             this.radPdate = new System.Windows.Forms.RadioButton(); | ||||
|             this.radEdate = new System.Windows.Forms.RadioButton(); | ||||
|             this.radioButton2 = new System.Windows.Forms.RadioButton(); | ||||
|             this.radioButton1 = new System.Windows.Forms.RadioButton(); | ||||
|             this.button4 = new System.Windows.Forms.Button(); | ||||
|             this.button3 = new System.Windows.Forms.Button(); | ||||
|             this.button2 = new System.Windows.Forms.Button(); | ||||
|             this.button1 = new System.Windows.Forms.Button(); | ||||
|             this.dsReport = new FPJ0000.dsReport(); | ||||
|             this.ta = new FPJ0000.DSEboardTableAdapters.EETGW_JobReport_EBoardTableAdapter(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.ds1)).BeginInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.fpSpread1)).BeginInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.fpSpread1_Sheet1)).BeginInit(); | ||||
|             this.panel1.SuspendLayout(); | ||||
|             this.groupBox1.SuspendLayout(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dsReport)).BeginInit(); | ||||
|             this.SuspendLayout(); | ||||
|             //  | ||||
|             // bs | ||||
|             //  | ||||
|             this.bs.DataMember = "EETGW_JobReport_EBoard"; | ||||
|             this.bs.DataSource = this.ds1; | ||||
|             //  | ||||
|             // ds1 | ||||
|             //  | ||||
|             this.ds1.DataSetName = "DSEboard"; | ||||
|             this.ds1.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema; | ||||
|             //  | ||||
|             // fpSpread1 | ||||
|             //  | ||||
|             this.fpSpread1.AccessibleDescription = ""; | ||||
|             this.fpSpread1.Dock = System.Windows.Forms.DockStyle.Fill; | ||||
|             this.fpSpread1.Location = new System.Drawing.Point(0, 68); | ||||
|             this.fpSpread1.Name = "fpSpread1"; | ||||
|             this.fpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] { | ||||
|             this.fpSpread1_Sheet1}); | ||||
|             this.fpSpread1.Size = new System.Drawing.Size(1114, 529); | ||||
|             this.fpSpread1.TabIndex = 7; | ||||
|             //  | ||||
|             // fpSpread1_Sheet1 | ||||
|             //  | ||||
|             this.fpSpread1_Sheet1.Reset(); | ||||
|             this.fpSpread1_Sheet1.SheetName = "Sheet1"; | ||||
|             //  | ||||
|             // progressBar2 | ||||
|             //  | ||||
|             this.progressBar2.Dock = System.Windows.Forms.DockStyle.Bottom; | ||||
|             this.progressBar2.Location = new System.Drawing.Point(0, 597); | ||||
|             this.progressBar2.Name = "progressBar2"; | ||||
|             this.progressBar2.Size = new System.Drawing.Size(1114, 23); | ||||
|             this.progressBar2.TabIndex = 8; | ||||
|             //  | ||||
|             // btSave | ||||
|             //  | ||||
|             this.btSave.Dock = System.Windows.Forms.DockStyle.Right; | ||||
|             this.btSave.Location = new System.Drawing.Point(959, 5); | ||||
|             this.btSave.Name = "btSave"; | ||||
|             this.btSave.Size = new System.Drawing.Size(75, 58); | ||||
|             this.btSave.TabIndex = 12; | ||||
|             this.btSave.Text = "파일저장"; | ||||
|             this.btSave.UseVisualStyleBackColor = true; | ||||
|             this.btSave.Click += new System.EventHandler(this.btSave_Click); | ||||
|             //  | ||||
|             // label3 | ||||
|             //  | ||||
|             this.label3.AutoSize = true; | ||||
|             this.label3.Location = new System.Drawing.Point(171, 42); | ||||
|             this.label3.Name = "label3"; | ||||
|             this.label3.Size = new System.Drawing.Size(41, 12); | ||||
|             this.label3.TabIndex = 9; | ||||
|             this.label3.Text = "종료일"; | ||||
|             //  | ||||
|             // dte | ||||
|             //  | ||||
|             this.dte.Location = new System.Drawing.Point(222, 38); | ||||
|             this.dte.Name = "dte"; | ||||
|             this.dte.Size = new System.Drawing.Size(180, 21); | ||||
|             this.dte.TabIndex = 8; | ||||
|             //  | ||||
|             // label2 | ||||
|             //  | ||||
|             this.label2.AutoSize = true; | ||||
|             this.label2.Location = new System.Drawing.Point(171, 15); | ||||
|             this.label2.Name = "label2"; | ||||
|             this.label2.Size = new System.Drawing.Size(41, 12); | ||||
|             this.label2.TabIndex = 7; | ||||
|             this.label2.Text = "시작일"; | ||||
|             //  | ||||
|             // dts | ||||
|             //  | ||||
|             this.dts.Location = new System.Drawing.Point(222, 11); | ||||
|             this.dts.Name = "dts"; | ||||
|             this.dts.Size = new System.Drawing.Size(180, 21); | ||||
|             this.dts.TabIndex = 6; | ||||
|             //  | ||||
|             // btRefresh | ||||
|             //  | ||||
|             this.btRefresh.Dock = System.Windows.Forms.DockStyle.Right; | ||||
|             this.btRefresh.Location = new System.Drawing.Point(1034, 5); | ||||
|             this.btRefresh.Name = "btRefresh"; | ||||
|             this.btRefresh.Size = new System.Drawing.Size(75, 58); | ||||
|             this.btRefresh.TabIndex = 2; | ||||
|             this.btRefresh.Text = "새로고침"; | ||||
|             this.btRefresh.UseVisualStyleBackColor = true; | ||||
|             this.btRefresh.Click += new System.EventHandler(this.btRefresh_Click); | ||||
|             //  | ||||
|             // panel1 | ||||
|             //  | ||||
|             this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200))))); | ||||
|             this.panel1.Controls.Add(this.groupBox1); | ||||
|             this.panel1.Controls.Add(this.radioButton2); | ||||
|             this.panel1.Controls.Add(this.radioButton1); | ||||
|             this.panel1.Controls.Add(this.button4); | ||||
|             this.panel1.Controls.Add(this.button3); | ||||
|             this.panel1.Controls.Add(this.button2); | ||||
|             this.panel1.Controls.Add(this.button1); | ||||
|             this.panel1.Controls.Add(this.btSave); | ||||
|             this.panel1.Controls.Add(this.label3); | ||||
|             this.panel1.Controls.Add(this.dte); | ||||
|             this.panel1.Controls.Add(this.label2); | ||||
|             this.panel1.Controls.Add(this.dts); | ||||
|             this.panel1.Controls.Add(this.btRefresh); | ||||
|             this.panel1.Dock = System.Windows.Forms.DockStyle.Top; | ||||
|             this.panel1.Location = new System.Drawing.Point(0, 0); | ||||
|             this.panel1.Name = "panel1"; | ||||
|             this.panel1.Padding = new System.Windows.Forms.Padding(5); | ||||
|             this.panel1.Size = new System.Drawing.Size(1114, 68); | ||||
|             this.panel1.TabIndex = 6; | ||||
|             this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.panel1_Paint); | ||||
|             this.panel1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseDoubleClick); | ||||
|             //  | ||||
|             // groupBox1 | ||||
|             //  | ||||
|             this.groupBox1.Controls.Add(this.radPdate); | ||||
|             this.groupBox1.Controls.Add(this.radEdate); | ||||
|             this.groupBox1.Location = new System.Drawing.Point(9, 9); | ||||
|             this.groupBox1.Name = "groupBox1"; | ||||
|             this.groupBox1.Size = new System.Drawing.Size(152, 48); | ||||
|             this.groupBox1.TabIndex = 19; | ||||
|             this.groupBox1.TabStop = false; | ||||
|             this.groupBox1.Text = "기준일"; | ||||
|             //  | ||||
|             // radPdate | ||||
|             //  | ||||
|             this.radPdate.AutoSize = true; | ||||
|             this.radPdate.Checked = true; | ||||
|             this.radPdate.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.radPdate.Location = new System.Drawing.Point(12, 18); | ||||
|             this.radPdate.Name = "radPdate"; | ||||
|             this.radPdate.Size = new System.Drawing.Size(61, 19); | ||||
|             this.radPdate.TabIndex = 18; | ||||
|             this.radPdate.TabStop = true; | ||||
|             this.radPdate.Text = "입고일"; | ||||
|             this.radPdate.UseVisualStyleBackColor = true; | ||||
|             //  | ||||
|             // radEdate | ||||
|             //  | ||||
|             this.radEdate.AutoSize = true; | ||||
|             this.radEdate.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129))); | ||||
|             this.radEdate.Location = new System.Drawing.Point(81, 18); | ||||
|             this.radEdate.Name = "radEdate"; | ||||
|             this.radEdate.Size = new System.Drawing.Size(61, 19); | ||||
|             this.radEdate.TabIndex = 18; | ||||
|             this.radEdate.Text = "완료일"; | ||||
|             this.radEdate.UseVisualStyleBackColor = true; | ||||
|             //  | ||||
|             // radioButton2 | ||||
|             //  | ||||
|             this.radioButton2.AutoSize = true; | ||||
|             this.radioButton2.Font = new System.Drawing.Font("Consolas", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); | ||||
|             this.radioButton2.Location = new System.Drawing.Point(625, 36); | ||||
|             this.radioButton2.Name = "radioButton2"; | ||||
|             this.radioButton2.Size = new System.Drawing.Size(128, 26); | ||||
|             this.radioButton2.TabIndex = 17; | ||||
|             this.radioButton2.Text = "Capability"; | ||||
|             this.radioButton2.UseVisualStyleBackColor = true; | ||||
|             //  | ||||
|             // radioButton1 | ||||
|             //  | ||||
|             this.radioButton1.AutoSize = true; | ||||
|             this.radioButton1.Checked = true; | ||||
|             this.radioButton1.Font = new System.Drawing.Font("Consolas", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); | ||||
|             this.radioButton1.Location = new System.Drawing.Point(625, 9); | ||||
|             this.radioButton1.Name = "radioButton1"; | ||||
|             this.radioButton1.Size = new System.Drawing.Size(208, 26); | ||||
|             this.radioButton1.TabIndex = 16; | ||||
|             this.radioButton1.TabStop = true; | ||||
|             this.radioButton1.Text = "Performance Report"; | ||||
|             this.radioButton1.UseVisualStyleBackColor = true; | ||||
|             //  | ||||
|             // button4 | ||||
|             //  | ||||
|             this.button4.Location = new System.Drawing.Point(559, 10); | ||||
|             this.button4.Name = "button4"; | ||||
|             this.button4.Size = new System.Drawing.Size(48, 49); | ||||
|             this.button4.TabIndex = 15; | ||||
|             this.button4.Text = "일"; | ||||
|             this.button4.UseVisualStyleBackColor = true; | ||||
|             this.button4.Click += new System.EventHandler(this.button3_Click); | ||||
|             //  | ||||
|             // button3 | ||||
|             //  | ||||
|             this.button3.Location = new System.Drawing.Point(406, 10); | ||||
|             this.button3.Name = "button3"; | ||||
|             this.button3.Size = new System.Drawing.Size(48, 49); | ||||
|             this.button3.TabIndex = 14; | ||||
|             this.button3.Text = "년"; | ||||
|             this.button3.UseVisualStyleBackColor = true; | ||||
|             this.button3.Click += new System.EventHandler(this.button3_Click); | ||||
|             //  | ||||
|             // button2 | ||||
|             //  | ||||
|             this.button2.Location = new System.Drawing.Point(508, 10); | ||||
|             this.button2.Name = "button2"; | ||||
|             this.button2.Size = new System.Drawing.Size(48, 49); | ||||
|             this.button2.TabIndex = 13; | ||||
|             this.button2.Text = "주"; | ||||
|             this.button2.UseVisualStyleBackColor = true; | ||||
|             this.button2.Click += new System.EventHandler(this.button3_Click); | ||||
|             //  | ||||
|             // button1 | ||||
|             //  | ||||
|             this.button1.Location = new System.Drawing.Point(457, 10); | ||||
|             this.button1.Name = "button1"; | ||||
|             this.button1.Size = new System.Drawing.Size(48, 49); | ||||
|             this.button1.TabIndex = 13; | ||||
|             this.button1.Text = "월"; | ||||
|             this.button1.UseVisualStyleBackColor = true; | ||||
|             this.button1.Click += new System.EventHandler(this.button3_Click); | ||||
|             //  | ||||
|             // dsReport | ||||
|             //  | ||||
|             this.dsReport.DataSetName = "dsReport"; | ||||
|             this.dsReport.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema; | ||||
|             //  | ||||
|             // ta | ||||
|             //  | ||||
|             this.ta.ClearBeforeFill = true; | ||||
|             //  | ||||
|             // fEBoardReport | ||||
|             //  | ||||
|             this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); | ||||
|             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | ||||
|             this.ClientSize = new System.Drawing.Size(1114, 620); | ||||
|             this.Controls.Add(this.fpSpread1); | ||||
|             this.Controls.Add(this.progressBar2); | ||||
|             this.Controls.Add(this.panel1); | ||||
|             this.Name = "fEBoardReport"; | ||||
|             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; | ||||
|             this.Text = "전자실 Report"; | ||||
|             this.WindowState = System.Windows.Forms.FormWindowState.Maximized; | ||||
|             this.Load += new System.EventHandler(this.fEBoardReport_Load); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.ds1)).EndInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.fpSpread1)).EndInit(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.fpSpread1_Sheet1)).EndInit(); | ||||
|             this.panel1.ResumeLayout(false); | ||||
|             this.panel1.PerformLayout(); | ||||
|             this.groupBox1.ResumeLayout(false); | ||||
|             this.groupBox1.PerformLayout(); | ||||
|             ((System.ComponentModel.ISupportInitialize)(this.dsReport)).EndInit(); | ||||
|             this.ResumeLayout(false); | ||||
|  | ||||
|         } | ||||
|  | ||||
|         #endregion | ||||
|  | ||||
|         private FarPoint.Win.Spread.FpSpread fpSpread1; | ||||
|         private FarPoint.Win.Spread.SheetView fpSpread1_Sheet1; | ||||
|         private System.Windows.Forms.ProgressBar progressBar2; | ||||
|         private System.Windows.Forms.Button btSave; | ||||
|         private System.Windows.Forms.Label label3; | ||||
|         private System.Windows.Forms.DateTimePicker dte; | ||||
|         private System.Windows.Forms.Label label2; | ||||
|         private System.Windows.Forms.DateTimePicker dts; | ||||
|         private System.Windows.Forms.Button btRefresh; | ||||
|         private System.Windows.Forms.Panel panel1; | ||||
|         private dsReport dsReport; | ||||
|         private System.Windows.Forms.BindingSource bs; | ||||
|         private System.Windows.Forms.Button button1; | ||||
|         private System.Windows.Forms.Button button2; | ||||
|         private System.Windows.Forms.Button button4; | ||||
|         private System.Windows.Forms.Button button3; | ||||
|         private System.Windows.Forms.RadioButton radioButton1; | ||||
|         private System.Windows.Forms.RadioButton radioButton2; | ||||
|         private System.Windows.Forms.RadioButton radEdate; | ||||
|         private System.Windows.Forms.RadioButton radPdate; | ||||
|         private System.Windows.Forms.GroupBox groupBox1; | ||||
|         private DSEboard ds1; | ||||
|         private DSEboardTableAdapters.EETGW_JobReport_EBoardTableAdapter ta; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										438
									
								
								SubProject/FPJ0000/EBoard/fEBoardReport.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										438
									
								
								SubProject/FPJ0000/EBoard/fEBoardReport.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,438 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.ComponentModel; | ||||
| using System.Data; | ||||
| using System.Drawing; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
| using System.Threading.Tasks; | ||||
| using System.Windows.Forms; | ||||
|  | ||||
| namespace FPJ0000.EBoard | ||||
| { | ||||
|     public partial class fEBoardReport : Form | ||||
|     { | ||||
|         public fEBoardReport() | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|         } | ||||
|  | ||||
|         private void fEBoardReport_Load(object sender, EventArgs e) | ||||
|         { | ||||
|             //기본엑셀파일을 가져온다 | ||||
|             this.Show(); | ||||
|             Application.DoEvents(); | ||||
|  | ||||
|             //파일불러오기 | ||||
|             //LoadExcel(); | ||||
|             this.fpSpread1.ActiveSheet.RowCount = 0; | ||||
|             //this.rv1.RefreshReport(); | ||||
|         } | ||||
|  | ||||
|         string Loadexcel = string.Empty; | ||||
|  | ||||
|         void LoadExcel() | ||||
|         { | ||||
|             //파일불러오기 | ||||
|             if (radioButton1.Checked) | ||||
|             { | ||||
|                 var fi = new System.IO.FileInfo(FCOMMON.Util.CurrentPath + "EBoardReport.xlsx"); | ||||
|                 if (this.Loadexcel != fi.FullName) | ||||
|                 { | ||||
|                     this.fpSpread1.OpenExcel(fi.FullName); | ||||
|                     this.Loadexcel = fi.FullName; | ||||
|                 } | ||||
|  | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 var fi = new System.IO.FileInfo(FCOMMON.Util.CurrentPath + "EBoardReportCapa.xlsx"); | ||||
|                 if (this.Loadexcel != fi.FullName) | ||||
|                 { | ||||
|                     this.fpSpread1.OpenExcel(fi.FullName); | ||||
|                     this.Loadexcel = fi.FullName; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private void btRefresh_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             RefreshData(); | ||||
|         } | ||||
|         void RefreshData() | ||||
|         { | ||||
|  | ||||
|  | ||||
|             LoadExcel(); | ||||
|  | ||||
|             if (radioButton1.Checked) Refresh1(); | ||||
|             else Refresh2(); | ||||
|  | ||||
|  | ||||
|             this.fpSpread1.Invalidate(); | ||||
|         } | ||||
|  | ||||
|         void Refresh1() | ||||
|         { | ||||
|  | ||||
|             //var sql = "select * from eetgw_jobreport_eboard where gcode=@gcode and pdate between @sd and @ed"; | ||||
|             //var cmd = new System.Data.SqlClient.SqlCommand(sql, this.ta.Connection); | ||||
|             //cmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode; | ||||
|             //cmd.Parameters.Add("sd", SqlDbType.VarChar).Value = dts.Value.ToShortDateString(); | ||||
|             //cmd.Parameters.Add("ed", SqlDbType.VarChar).Value = dte.Value.ToShortDateString(); | ||||
|             //var da = new System.Data.SqlClient.SqlDataAdapter(cmd); | ||||
|             //ds1.EETGW_JobReport_EBoard.Clear(); | ||||
|             //da.Fill(this.ds1.EETGW_JobReport_EBoard); | ||||
|             //ds1.EETGW_JobReport_EBoard.AcceptChanges(); | ||||
|             //this.rv1.RefreshReport(); | ||||
|  | ||||
|             //새로고침 | ||||
|             //a2 에 날짜를 표시함. | ||||
|             var db = new EEEntities(); | ||||
|             var sd = this.dts.Value.ToShortDateString(); | ||||
|             var ed = this.dte.Value.ToShortDateString(); | ||||
|  | ||||
|             var 분류목록 = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.분류) == false).OrderBy(t => t.분류).GroupBy(t => t.분류).ToList(); | ||||
|             IQueryable<EETGW_JobReport_EBoard> 기간자료; | ||||
|             if (radPdate.Checked) | ||||
|                 기간자료 = db.EETGW_JobReport_EBoard.Where(t => t.pdate.CompareTo(sd) >= 0 && t.pdate.CompareTo(ed) <= 0); | ||||
|             else | ||||
|                 기간자료 = db.EETGW_JobReport_EBoard.Where(t => t.수리완료일.CompareTo(sd) >= 0 && t.수리완료일.CompareTo(ed) <= 0); | ||||
|  | ||||
|              db = new EEEntities(); | ||||
|             var 담당목록raw = db.vGroupUser.AsNoTracking().Where(t => t.gcode == FCOMMON.info.Login.gcode && t.processs == "전자실" && string.IsNullOrEmpty(t.state) == true).ToList(); | ||||
|             var 담당목록 = 담당목록raw.GroupBy(t => t.name).ToList(); | ||||
|  | ||||
|  | ||||
|             var row = 1; | ||||
|             var col = 1; | ||||
|             var col0 = 1; | ||||
|             foreach (var item in 분류목록) | ||||
|             { | ||||
|                 var dr = item.FirstOrDefault(); | ||||
|                 var cell = this.fpSpread1.Sheets[0].Cells[row, col + 0]; | ||||
|                 cell.Value = dr.분류; | ||||
|                 cell.ColumnSpan = 2; | ||||
|                 cell.BackColor = Color.SkyBlue; | ||||
|                 cell.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; | ||||
|                 cell.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; | ||||
|  | ||||
|                 cell = this.fpSpread1.Sheets[0].Cells[row + 1, col + 0]; | ||||
|                 cell.Value = "건"; | ||||
|                 cell.BackColor = Color.Khaki; | ||||
|                 cell.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; | ||||
|                 cell.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; | ||||
|  | ||||
|                 cell = this.fpSpread1.Sheets[0].Cells[row + 1, col + 1]; | ||||
|                 cell.Value = "시간"; | ||||
|                 cell.BackColor = Color.Khaki; | ||||
|                 cell.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; | ||||
|                 cell.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; | ||||
|  | ||||
|                 col += 2; | ||||
|                 col0 += 1; | ||||
|             } | ||||
|  | ||||
|             //마지막 열에는 비용절감항목을 추가한다. | ||||
|             fpSpread1.Sheets[0].Cells[1, col].Value = "비용절감"; | ||||
|             fpSpread1.Sheets[0].Cells[1, col].BackColor = Color.WhiteSmoke; | ||||
|             fpSpread1.Sheets[0].Cells[1, col].RowSpan = 2; | ||||
|             fpSpread1.Sheets[0].Cells[1, col].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; | ||||
|             fpSpread1.Sheets[0].Cells[1, col].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; | ||||
|  | ||||
|             var MaxCol = col0; | ||||
|             col = 0; | ||||
|             row = 3; | ||||
|             foreach (var item in 담당목록) | ||||
|             { | ||||
|                  | ||||
|                 //var dr = item.KeY; | ||||
|                 this.fpSpread1.Sheets[0].Cells[row, col].Value = item.Key; | ||||
|  | ||||
|                  | ||||
|  | ||||
|                 var fistdr = item.FirstOrDefault(); | ||||
|                 //var userdr = db.Users.Where(t => t.id == fistdr.id).FirstOrDefault(); | ||||
|                 if (fistdr.outdate.isEmpty() ==false && fistdr.outdate.CompareTo(sd) <= 0) | ||||
|                 { | ||||
|                     //퇴사자 처리 | ||||
|                     continue; | ||||
|                 } | ||||
|                 //if (item.Key == "이상호") continue; | ||||
|  | ||||
|                 //이 담당자의 횟수를 읽어온다 | ||||
|                 for (int i = 1; i < MaxCol; i++) | ||||
|                 { | ||||
|                     var 분류명 = fpSpread1.Sheets[0].Cells[1, 1 + (i - 1) * 2].Value.ToString(); | ||||
|                     var 분류데이터 = 기간자료.Where(t => t.uid.Contains(item.Key) && t.분류 == 분류명); | ||||
|                     var 건수 = 분류데이터.Sum(t => t.QTY); | ||||
|                     var 시간 = 분류데이터.Sum(t => t.RepairTime); | ||||
|                     this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 1].Value = 건수; | ||||
|                     this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 2].Value = 시간; | ||||
|                     this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 2].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; | ||||
|                     this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 2].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; | ||||
|  | ||||
|                     this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 1].Column.Width = 50; | ||||
|                     this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 2].Column.Width = 70; | ||||
|                 } | ||||
|  | ||||
|                 //이 담당자의 수리완료건의 비용절감비용을 가져온다 | ||||
|                 var 절감비용 = 기간자료.Where(t => t.uid.Contains(item.Key) && t.분류 == "수리완료" && string.IsNullOrEmpty(t.수리완료일) == false && string.IsNullOrEmpty(t.외주업체) == true).Sum(t => t.CostReduction); | ||||
|                 this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].Value = 절감비용; | ||||
|                 this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].BackColor = Color.WhiteSmoke; | ||||
|                 this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; | ||||
|                 this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; | ||||
|                 row += 1; | ||||
|             } | ||||
|  | ||||
|             this.fpSpread1.Sheets[0].Cells[row, 0].Value = "합계"; | ||||
|  | ||||
|  | ||||
|             for (int i = 1; i < MaxCol; i++) | ||||
|             { | ||||
|                 var colIdx = (i - 1) * 2; | ||||
|                 var c1 = (char)(65 + colIdx + 1); | ||||
|                 var c2 = (char)(65 + colIdx + 2); | ||||
|                 this.fpSpread1.Sheets[0].Cells[row, colIdx + 1].Formula = $"SUM({c1}4:{c1}" + row.ToString() + ")"; | ||||
|                 this.fpSpread1.Sheets[0].Cells[row, colIdx + 2].Formula = $"SUM({c2}4:{c2}" + row.ToString() + ")"; | ||||
|             } | ||||
|             var c3 = (char)(65 + MaxCol * 2 - 1); | ||||
|             this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].Formula = $"SUM({c3}4:{c3}" + row.ToString() + ")"; | ||||
|             this.fpSpread1.Sheets[0].Cells["A1"].Value = "Performance"; | ||||
|             this.fpSpread1.Sheets[0].Cells["A1"].ColumnSpan = MaxCol * 2; | ||||
|             this.fpSpread1.Sheets[0].Cells["A2"].Value = "성명"; | ||||
|             this.fpSpread1.Sheets[0].Cells["A2"].RowSpan = 2; | ||||
|  | ||||
|             this.fpSpread1.Sheets[0].Cells[$"A2:A{row}"].BackColor = Color.WhiteSmoke; | ||||
|  | ||||
|             //합계필드 색상변경 | ||||
|             this.fpSpread1.Sheets[0].Cells[$"A{row + 1}:{c3}{row + 1}"].BackColor = Color.WhiteSmoke; | ||||
|             //this.fpSpread1.Sheets[0].Cells[$"A{row + 1}:{c3}{row + 1}"].Border = | ||||
|             //    new FarPoint.Win.ComplexBorder( | ||||
|             //        new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.MediumLine));  | ||||
|             var 비용절감줄 = (char)( 65 + ((MaxCol) * 2 - 1));// "T"; | ||||
|  | ||||
|             //차트데이터 | ||||
|             var chart1 = this.fpSpread1.ActiveSheet.Charts[0]; | ||||
|             chart1.Model.LabelAreas[0].Text = "Technical Support Q'ty & Cost Save(Kwon)";   //상단차트제목 | ||||
|  | ||||
|             var ser1 = chart1.Model.PlotAreas[0].Series[0] as FarPoint.Win.Chart.ClusteredBarSeries; | ||||
|             var ser1_df = ser1.Series[0].Values.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField; | ||||
|             var ser1_cn = ser1.Series[0].CategoryNames.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField; | ||||
|             ser1_df.Formula = $"Performance!${비용절감줄}$4:${비용절감줄}${row}"; | ||||
|             ser1_cn.Formula = $"Performance!$A$4:$A${row}"; | ||||
|  | ||||
|             var ser2 = chart1.Model.PlotAreas[0].Series[1] as FarPoint.Win.Chart.LineSeries; | ||||
|             var ser2_df = ser2.Values.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField; | ||||
|             var ser2_cn = ser2.CategoryNames.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField; | ||||
|             ser2_df.Formula = $"Performance!$D$4:$D${row}"; | ||||
|             ser2_cn.Formula = $"Performance!$A$4:$A${row}"; | ||||
|  | ||||
|             var chart2 = this.fpSpread1.ActiveSheet.Charts[1]; //qty | ||||
|             var ser21 = chart2.Model.PlotAreas[0].Series[0] as FarPoint.Win.Chart.PieSeries; | ||||
|             var ser21_df = ser21.Values.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField; | ||||
|             var ser21_cn = ser21.CategoryNames.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField; | ||||
|             ser21_df.Formula = $"Performance!$D$4:$D${row}"; | ||||
|             ser21_cn.Formula = $"Performance!$A$4:$A${row}"; | ||||
|  | ||||
|             var chart3 = this.fpSpread1.ActiveSheet.Charts[2]; //cost | ||||
|             var ser31 = chart3.Model.PlotAreas[0].Series[0] as FarPoint.Win.Chart.PieSeries; | ||||
|             var ser31_df = ser31.Values.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField; | ||||
|             var ser31_cn = ser31.CategoryNames.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField; | ||||
|             ser31_df.Formula = $"Performance!${비용절감줄}$4:${비용절감줄}${row}"; | ||||
|             ser31_cn.Formula = $"Performance!$A$4:$A${row}"; | ||||
|         } | ||||
|         void Refresh2() | ||||
|         { | ||||
|             //Process / Equipment / BordName 으로 그룹핑 | ||||
|             //a2 에 날짜를 표시함. | ||||
|  | ||||
|             this.progressBar2.Value = 0; | ||||
|  | ||||
|             var db = new EEEntities(); | ||||
|             var sd = this.dts.Value.ToShortDateString(); | ||||
|             var ed = this.dte.Value.ToShortDateString(); | ||||
|  | ||||
|             var fi = new System.IO.FileInfo(FCOMMON.Util.CurrentPath + "EBoardReportCapa.xlsx"); | ||||
|             this.fpSpread1.OpenExcel(fi.FullName); | ||||
|             this.Loadexcel = fi.FullName; | ||||
|  | ||||
|  | ||||
|  | ||||
|             IQueryable<EETGW_JobReport_EBoard> 기간자료; | ||||
|             if (radPdate.Checked) | ||||
|                 기간자료 = db.EETGW_JobReport_EBoard.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.pdate.CompareTo(sd) >= 0 && t.pdate.CompareTo(ed) <= 0); | ||||
|             else | ||||
|                 기간자료 = db.EETGW_JobReport_EBoard.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.수리완료일.CompareTo(sd) >= 0 && t.수리완료일.CompareTo(ed) <= 0); | ||||
|  | ||||
|             var Grp_process = 기간자료.GroupBy(t => t.Process); | ||||
|  | ||||
|             this.fpSpread1.Sheets[0].ColumnCount = 5; | ||||
|             var row = 3; | ||||
|  | ||||
|             this.progressBar2.Maximum = Grp_process.Count(); | ||||
|             foreach (var item in Grp_process) | ||||
|             { | ||||
|                 this.progressBar2.Value += 1; | ||||
|  | ||||
|                 //포맷초기화 | ||||
|                 //var rangec = this.fpSpread1.Sheets[0].Cells[$"A{row}:D{row}"]; | ||||
|                 //rangec.BackColor = Color.White; | ||||
|                 //rangec.RowSpan = 1; | ||||
|                 //rangec.ColumnSpan = 1; | ||||
|                 //rangec.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center; | ||||
|                 //rangec.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center; | ||||
|  | ||||
|                 var dr = item.FirstOrDefault(); | ||||
|                 var cell = this.fpSpread1.Sheets[0].Cells[$"A{row}"]; | ||||
|                 cell.Value = dr.Process; | ||||
|                 //cell.BackColor = Color.Lime; | ||||
|  | ||||
|                 var row_grp = row; | ||||
|  | ||||
|                 //이것아래의 모델그룹을 찾는다. | ||||
|                 var grp_model = item.GroupBy(t => t.Model); | ||||
|                 var cntg1 = 0; | ||||
|                 foreach (var itemModel in grp_model) | ||||
|                 { | ||||
|                     var drModel = itemModel.FirstOrDefault(); | ||||
|                     var cellModel = this.fpSpread1.Sheets[0].Cells[$"B{row}"]; | ||||
|                     cellModel.Value = drModel.Model; | ||||
|                     cellModel.BackColor = Color.White; | ||||
|  | ||||
|                     var row_mod = row; | ||||
|  | ||||
|                     if (cntg1 > 0) | ||||
|                     { | ||||
|                         this.fpSpread1.Sheets[0].Cells[$"A{row}"].Value = string.Empty; | ||||
|                     } | ||||
|  | ||||
|                     //이것아래의 보드를 찾는다. | ||||
|                     var grp_brd = itemModel.GroupBy(t => t.BoardName); | ||||
|                     var cntg2 = 0; | ||||
|                     foreach (var itemBrd in grp_brd) | ||||
|                     { | ||||
|                         var drBrd = itemBrd.FirstOrDefault(); | ||||
|                         var cellBrd = this.fpSpread1.Sheets[0].Cells[$"C{row}"]; | ||||
|                         cellBrd.Value = drBrd.BoardName; | ||||
|                         cellBrd.BackColor = Color.White; | ||||
|  | ||||
|                         if (cntg2 > 0) | ||||
|                         { | ||||
|                             this.fpSpread1.Sheets[0].Cells[$"A{row}"].Value = string.Empty; | ||||
|                             this.fpSpread1.Sheets[0].Cells[$"B{row}"].Value = string.Empty; | ||||
|                         } | ||||
|  | ||||
|                         //합계수량 | ||||
|                         var sumQty = itemBrd.Sum(t => t.QTY); | ||||
|                         var sumAmt = itemBrd.Sum(t => t.CostReduction); | ||||
|  | ||||
|                         var cellQty = this.fpSpread1.Sheets[0].Cells[$"D{row}"]; | ||||
|                         var cellAmt = this.fpSpread1.Sheets[0].Cells[$"E{row}"]; | ||||
|                         cellQty.Value = sumQty; | ||||
|                         cellAmt.Value = sumAmt; | ||||
|  | ||||
|                         cntg2 += 1; | ||||
|                         cntg1 += 1; | ||||
|                         if (grp_brd.Count() > 1) | ||||
|                             row += 1; | ||||
|                     } | ||||
|  | ||||
|                     //소계를 추가한다. | ||||
|                     if (cntg2 > 1) | ||||
|                     { | ||||
|                         this.fpSpread1.Sheets[0].Cells[$"A{row}"].Value = string.Empty; | ||||
|                         this.fpSpread1.Sheets[0].Cells[$"B{row}"].Value = string.Empty; | ||||
|                         this.fpSpread1.Sheets[0].Cells[$"C{row}"].Value = $"({drModel.Model}) Sub Total"; | ||||
|                         this.fpSpread1.Sheets[0].Cells[$"C{row}"].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left; | ||||
|  | ||||
|  | ||||
|                         this.fpSpread1.Sheets[0].Cells[$"D{row}"].Value = itemModel.Sum(t => t.QTY); | ||||
|                         this.fpSpread1.Sheets[0].Cells[$"E{row}"].Value = itemModel.Sum(t => t.CostReduction); | ||||
|                         this.fpSpread1.Sheets[0].Cells[$"C{row}:E{row}"].BackColor = Color.FromArgb(200, 200, 200); | ||||
|                         this.fpSpread1.Sheets[0].Cells[$"B{row_mod}"].RowSpan = row - row_mod + 1; | ||||
|                     } | ||||
|  | ||||
|  | ||||
|                     //cntg1 += cntg2; | ||||
|                     if ((grp_model.Count() + grp_brd.Count()) > 2) | ||||
|                         row += 1; | ||||
|                 } | ||||
|  | ||||
|                 if (cntg1 > 1) | ||||
|                 { | ||||
|                     this.fpSpread1.Sheets[0].Cells[$"A{row}"].Value = string.Empty; | ||||
|                     this.fpSpread1.Sheets[0].Cells[$"B{row}"].Value = $"({dr.Process}) Sub Total"; | ||||
|                     this.fpSpread1.Sheets[0].Cells[$"B{row}"].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left; | ||||
|                     this.fpSpread1.Sheets[0].Cells[$"B{row}"].ColumnSpan = 2; | ||||
|                     //this.fpSpread1.Sheets[0].Cells[$"C{row}"].Value = string.Empty;// item.Count(); | ||||
|                     this.fpSpread1.Sheets[0].Cells[$"D{row}"].Value = item.Sum(t => t.QTY); | ||||
|                     this.fpSpread1.Sheets[0].Cells[$"E{row}"].Value = item.Sum(t => t.CostReduction); | ||||
|                     this.fpSpread1.Sheets[0].Cells[$"B{row}:E{row}"].BackColor = Color.FromArgb(150, 150, 150); | ||||
|                     this.fpSpread1.Sheets[0].Cells[$"A{row_grp}"].RowSpan = row - row_grp + 1; | ||||
|                 } | ||||
|  | ||||
|                 row += 1; | ||||
|             } | ||||
|             this.fpSpread1.Sheets[0].Cells[$"A{row}"].Value = "Total"; | ||||
|             this.fpSpread1.Sheets[0].Cells[$"B{row}"].Value = string.Empty;// $"({dr.Process})-{cntg1}";             | ||||
|             this.fpSpread1.Sheets[0].Cells[$"C{row}"].Value = string.Empty;// item.Count(); | ||||
|             this.fpSpread1.Sheets[0].Cells[$"D{row}"].Value = 기간자료.Sum(t => t.QTY); | ||||
|             this.fpSpread1.Sheets[0].Cells[$"E{row}"].Value = 기간자료.Sum(t => t.CostReduction); | ||||
|  | ||||
|             this.fpSpread1.Sheets[0].Cells[$"A{row}:E{row}"].BackColor = Color.SkyBlue; | ||||
|  | ||||
|             this.fpSpread1.Sheets[0].RowCount = row; | ||||
|             this.progressBar2.Value = this.progressBar2.Maximum; | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|         private void btSave_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             //파일저장 | ||||
|             var sd = new SaveFileDialog(); | ||||
|             sd.Filter = "excel|*.xls"; | ||||
|             if (sd.ShowDialog() == DialogResult.OK) | ||||
|             { | ||||
|                 this.fpSpread1.SaveExcel(sd.FileName); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private void panel1_MouseDoubleClick(object sender, MouseEventArgs e) | ||||
|         { | ||||
|             LoadExcel(); | ||||
|         } | ||||
|  | ||||
|         private void button3_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             var bt = sender as Button; | ||||
|             if (bt.Text == "년") | ||||
|             { | ||||
|                 dts.Value = new DateTime(DateTime.Now.Year, 1, 1); | ||||
|                 dte.Value = new DateTime(DateTime.Now.Year, 12, 31); | ||||
|             } | ||||
|             if (bt.Text == "월") | ||||
|             { | ||||
|                 dts.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); | ||||
|                 dte.Value = dts.Value.AddMonths(1).AddDays(-1); | ||||
|             } | ||||
|             if (bt.Text == "주") | ||||
|             { | ||||
|                 dts.Value = DateTime.Now.AddDays(-(int)DateTime.Now.DayOfWeek); | ||||
|                 dte.Value = DateTime.Now.AddDays(6 - (int)DateTime.Now.DayOfWeek); | ||||
|             } | ||||
|             if (bt.Text == "일") | ||||
|             { | ||||
|                 dts.Value = DateTime.Now; | ||||
|                 dte.Value = DateTime.Now; | ||||
|             } | ||||
|             RefreshData(); | ||||
|         } | ||||
|  | ||||
|         private void panel1_Paint(object sender, PaintEventArgs e) | ||||
|         { | ||||
|  | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										135
									
								
								SubProject/FPJ0000/EBoard/fEBoardReport.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										135
									
								
								SubProject/FPJ0000/EBoard/fEBoardReport.resx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,135 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <root> | ||||
|   <!--  | ||||
|     Microsoft ResX Schema  | ||||
|      | ||||
|     Version 2.0 | ||||
|      | ||||
|     The primary goals of this format is to allow a simple XML format  | ||||
|     that is mostly human readable. The generation and parsing of the  | ||||
|     various data types are done through the TypeConverter classes  | ||||
|     associated with the data types. | ||||
|      | ||||
|     Example: | ||||
|      | ||||
|     ... ado.net/XML headers & schema ... | ||||
|     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||
|     <resheader name="version">2.0</resheader> | ||||
|     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||
|     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||
|     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||
|     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||
|     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||
|         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||
|     </data> | ||||
|     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||
|         <comment>This is a comment</comment> | ||||
|     </data> | ||||
|                  | ||||
|     There are any number of "resheader" rows that contain simple  | ||||
|     name/value pairs. | ||||
|      | ||||
|     Each data row contains a name, and value. The row also contains a  | ||||
|     type or mimetype. Type corresponds to a .NET class that support  | ||||
|     text/value conversion through the TypeConverter architecture.  | ||||
|     Classes that don't support this are serialized and stored with the  | ||||
|     mimetype set. | ||||
|      | ||||
|     The mimetype is used for serialized objects, and tells the  | ||||
|     ResXResourceReader how to depersist the object. This is currently not  | ||||
|     extensible. For a given mimetype the value must be set accordingly: | ||||
|      | ||||
|     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||
|     that the ResXResourceWriter will generate, however the reader can  | ||||
|     read any of the formats listed below. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.binary.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.soap.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|  | ||||
|     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||
|     value   : The object must be serialized into a byte array  | ||||
|             : using a System.ComponentModel.TypeConverter | ||||
|             : and then encoded with base64 encoding. | ||||
|     --> | ||||
|   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
|     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||
|     <xsd:element name="root" msdata:IsDataSet="true"> | ||||
|       <xsd:complexType> | ||||
|         <xsd:choice maxOccurs="unbounded"> | ||||
|           <xsd:element name="metadata"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="assembly"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:attribute name="alias" type="xsd:string" /> | ||||
|               <xsd:attribute name="name" type="xsd:string" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="data"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="resheader"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|         </xsd:choice> | ||||
|       </xsd:complexType> | ||||
|     </xsd:element> | ||||
|   </xsd:schema> | ||||
|   <resheader name="resmimetype"> | ||||
|     <value>text/microsoft-resx</value> | ||||
|   </resheader> | ||||
|   <resheader name="version"> | ||||
|     <value>2.0</value> | ||||
|   </resheader> | ||||
|   <resheader name="reader"> | ||||
|     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>271, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="ds1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>335, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="fpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="dsReport.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>169, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>406, 17</value> | ||||
|   </metadata> | ||||
| </root> | ||||
							
								
								
									
										1099
									
								
								SubProject/FPJ0000/EBoard/fEboardData.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										1099
									
								
								SubProject/FPJ0000/EBoard/fEboardData.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										318
									
								
								SubProject/FPJ0000/EBoard/fEboardData.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										318
									
								
								SubProject/FPJ0000/EBoard/fEboardData.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,318 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Data; | ||||
| using System.Linq; | ||||
| using System.Windows.Forms; | ||||
| using System.Threading.Tasks; | ||||
|  | ||||
| namespace FPJ0000 | ||||
| { | ||||
|     public partial class fEboardData : FCOMMON.fBase | ||||
|     { | ||||
|         dsPRJ.EETGW_JobReport_EBoardRow dr = null; | ||||
|         public fEboardData(dsPRJ.EETGW_JobReport_EBoardRow dr_) | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|             this.UseFormSetting = false; | ||||
|             this.dr = dr_; | ||||
|             this.dsPRJ.ProjectsHistory.TableNewRow += ProjectsHistory_TableNewRow; | ||||
|         } | ||||
|  | ||||
|         void ProjectsHistory_TableNewRow(object sender, DataTableNewRowEventArgs e) | ||||
|         { | ||||
|  | ||||
|         } | ||||
|  | ||||
|         delegate void SetComboboxItemsHandler(ComboBox ctl, string[] list); | ||||
|         void SetComboboxItems(ComboBox ctl, string[] list) | ||||
|         { | ||||
|             //콤보박스의 아이템을 업데이트합니다. | ||||
|             if (ctl.InvokeRequired) | ||||
|             { | ||||
|                 this.BeginInvoke(new SetComboboxItemsHandler(SetComboboxItems), new object[] { ctl, list }); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             ctl.Items.Clear(); | ||||
|             ctl.Items.AddRange(list); | ||||
|             ctl.Enabled = true; | ||||
|  | ||||
|         } | ||||
|  | ||||
|         private void fProjectData_Load(object sender, EventArgs e) | ||||
|         { | ||||
|             var db = new EEEntities(); | ||||
|  | ||||
|             //자동완성목록 업데이트 | ||||
|             Task.Run(new Action(() => | ||||
|             { | ||||
|  | ||||
|                 //UID목록 | ||||
|                 var lst_uid = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.uid) == false).OrderBy(t => t.uid).GroupBy(t => t.uid).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbUID, lst_uid.Select(t => t.uid).ToArray()); | ||||
|  | ||||
|                 //요청자 | ||||
|                 var lst_req = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.요청자) == false).OrderBy(t => t.요청자).GroupBy(t => t.요청자).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmb요청자, lst_req.Select(t => t.요청자).ToArray()); | ||||
|  | ||||
|                 //모델 | ||||
|                 var lst_mod = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Model) == false).OrderBy(t => t.Model).GroupBy(t => t.Model).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbModel, lst_mod.Select(t => t.Model).ToArray()); | ||||
|                 cmbModel.Enabled = true; | ||||
|  | ||||
|                 //BoardName | ||||
|                 var lst_bon = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.BoardName) == false).OrderBy(t => t.BoardName).GroupBy(t => t.BoardName).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbBoardName, lst_bon.Select(t => t.BoardName).ToArray()); | ||||
|                 cmbBoardName.Enabled = true; | ||||
|  | ||||
|                 //BoardVender | ||||
|                 var lst_bvn = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.BoardVender) == false).OrderBy(t => t.BoardVender).GroupBy(t => t.BoardVender).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbBoardVender, lst_bvn.Select(t => t.BoardVender).ToArray()); | ||||
|  | ||||
|                 //SN | ||||
|                 var lst_srn = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.SN) == false).OrderBy(t => t.SN).GroupBy(t => t.SN).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbSN, lst_srn.Select(t => t.SN).ToArray()); | ||||
|  | ||||
|                 ////status | ||||
|                 //var lst_sta = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Status) == false).OrderBy(t => t.Status).GroupBy(t => t.Status).Select(t => t.FirstOrDefault()); | ||||
|                 //SetComboboxItems(cmbStatus,lst_sta.Select(t => t.Status).ToArray()); | ||||
|  | ||||
|                 //분류 | ||||
|                 var lst_cat = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.분류) == false).OrderBy(t => t.분류).GroupBy(t => t.분류).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmb분류, lst_cat.Select(t => t.분류).ToArray()); | ||||
|  | ||||
|                 //Site | ||||
|                 var lst_sit = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Site) == false).OrderBy(t => t.Site).GroupBy(t => t.Site).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbSite, lst_sit.Select(t => t.Site).ToArray()); | ||||
|  | ||||
|                 //Line | ||||
|                 var lst_lin = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Line) == false).OrderBy(t => t.Line).GroupBy(t => t.Line).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbLine, lst_lin.Select(t => t.Line).ToArray()); | ||||
|  | ||||
|                 //division | ||||
|                 var lst_div = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Division) == false).OrderBy(t => t.Division).GroupBy(t => t.Division).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbDivision, lst_div.Select(t => t.Division).ToArray()); | ||||
|  | ||||
|                 ////Team | ||||
|                 //var lst_tem = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Team) == false).OrderBy(t => t.Team).GroupBy(t => t.Team).Select(t => t.FirstOrDefault()); | ||||
|                 //SetComboboxItems(cmbTeam,lst_tem.Select(t => t.Team).ToArray()); | ||||
|  | ||||
|                 //Process | ||||
|                 var lst_prc = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Process) == false).OrderBy(t => t.Process).GroupBy(t => t.Process).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmbProcess, lst_prc.Select(t => t.Process).ToArray()); | ||||
|                 cmbProcess.Enabled = true; | ||||
|  | ||||
|                 //외주업체 | ||||
|                 var lst_ext = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.외주업체) == false).OrderBy(t => t.외주업체).GroupBy(t => t.외주업체).Select(t => t.FirstOrDefault()); | ||||
|                 SetComboboxItems(cmb외주업체, lst_ext.Select(t => t.외주업체).ToArray()); | ||||
|             })); | ||||
|  | ||||
|  | ||||
|             ///원인 | ||||
|             if (string.IsNullOrEmpty(dr.원인2)) | ||||
|             { | ||||
|                 this.richTextBoxEx1.Text = dr.원인; | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 try | ||||
|                 { | ||||
|                     this.richTextBoxEx1.Rtf = dr.원인2; | ||||
|                 } | ||||
|                 catch (Exception ex) | ||||
|                 { | ||||
|                     this.richTextBoxEx1.Text = dr.원인; | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             ///결과 | ||||
|             if (string.IsNullOrEmpty(dr.결과2)) | ||||
|             { | ||||
|                 this.richTextBoxEx2.Text = dr.결과; | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 try | ||||
|                 { | ||||
|                     this.richTextBoxEx2.Rtf = dr.결과2; | ||||
|                 } | ||||
|                 catch (Exception ex) | ||||
|                 { | ||||
|                     this.richTextBoxEx2.Text = dr.결과; | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             this.checkBox1.Checked = dr.refdata; | ||||
|             this.tbSdate.Text = dr.pdate; | ||||
|             this.tbEdate.Text = dr.수리완료일; | ||||
|             this.tbQty.Text = dr.QTY.ToString(); | ||||
|             this.tbCostNew.Text = dr.NPrice.ToString(); | ||||
|             this.tbCostOutSource.Text = dr.OPrice.ToString(); | ||||
|             this.tbCostRepair.Text = dr.RepairCost.ToString(); | ||||
|             this.tbCostReduct.Text = dr.CostReduction.ToString(); | ||||
|             this.bs.DataSource = dr; | ||||
|  | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|         private void btSave_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             this.Validate(); | ||||
|             this.bs.EndEdit(); | ||||
|  | ||||
|             var s1 = tbCostOutSource.Text.Trim(); | ||||
|             var s2 = tbCostRepair.Text.Trim(); | ||||
|             float v1; | ||||
|             float v2; | ||||
|             var b1 = float.TryParse(s1, out v1); | ||||
|             var b2 = float.TryParse(s2, out v2); | ||||
|  | ||||
|             if (b1 == false) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("입력값이 올바르지 않습니다. 숫자로 입력하세요"); | ||||
|                 tbCostOutSource.SelectAll(); | ||||
|                 tbCostOutSource.Focus(); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|             if (b2 == false) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE("입력값이 올바르지 않습니다. 숫자로 입력하세요"); | ||||
|                 tbCostRepair.SelectAll(); | ||||
|                 tbCostRepair.Focus(); | ||||
|                 return; | ||||
|             } | ||||
|  | ||||
|  | ||||
|             if (tbSdate.Text.isEmpty() == false) | ||||
|             { | ||||
|                 if (tbSdate.Text.isDate() == false) | ||||
|                 { | ||||
|                     FCOMMON.Util.MsgE("날짜형태로 입력하세요\n\n예) 2000-01-01"); | ||||
|                     tbSdate.SelectAll(); | ||||
|                     tbSdate.Focus(); | ||||
|                     return; | ||||
|                 } | ||||
|             } | ||||
|             if (tbEdate.Text.isEmpty() == false) | ||||
|             { | ||||
|                 if (tbEdate.Text.isDate() == false) | ||||
|                 { | ||||
|                     FCOMMON.Util.MsgE("날짜형태로 입력하세요\n\n예) 2000-01-01"); | ||||
|                     tbEdate.SelectAll(); | ||||
|                     tbEdate.Focus(); | ||||
|                     return; | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             this.dr.원인 = richTextBoxEx1.Text; | ||||
|             this.dr.원인2 = richTextBoxEx1.Rtf; | ||||
|  | ||||
|             this.dr.결과 = richTextBoxEx2.Text; | ||||
|             this.dr.결과2 = richTextBoxEx2.Rtf; | ||||
|             this.dr.refdata = this.checkBox1.Checked; | ||||
|              | ||||
|  | ||||
|             this.dr.pdate = tbSdate.Text.Trim(); | ||||
|             this.dr.수리완료일 = tbEdate.Text.Trim(); | ||||
|             this.dr.QTY = tbQty.Text.ToInt(); | ||||
|             this.dr.NPrice = tbCostNew.Text.ToDecimal(); | ||||
|             this.dr.OPrice = tbCostOutSource.Text.ToDecimal(); | ||||
|             this.dr.RepairCost = tbCostRepair.Text.ToDecimal(); | ||||
|             this.dr.CostReduction = tbCostReduct.Text.ToDecimal(); | ||||
|             this.dr.EndEdit(); | ||||
|  | ||||
|  | ||||
|             this.DialogResult = System.Windows.Forms.DialogResult.OK; | ||||
|             this.Close(); | ||||
|             //this.tableAdapterManager.UpdateAll(this.dsPRJ); | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|         void SelectDate(TextBox ctl) | ||||
|         { | ||||
|             DateTime dt; | ||||
|             var dateStr = ctl.Text.Trim(); | ||||
|             if (dateStr == "") dateStr = DateTime.Now.ToShortDateString(); | ||||
|             else | ||||
|             { | ||||
|                 if (DateTime.TryParse(dateStr, out dt)) dateStr = dt.ToShortDateString(); | ||||
|                 else | ||||
|                 { | ||||
|                     FCOMMON.Util.MsgE("날짜 형식으로 변환할 수 없는 문자열 입니다.\n" + | ||||
|                         "기준일자가 금일로 변경 됩니다"); | ||||
|                     dateStr = DateTime.Now.ToShortDateString(); | ||||
|                 } | ||||
|             } | ||||
|             dt = DateTime.Parse(dateStr); | ||||
|             var f = new FCOMMON.fSelectDay(dt); | ||||
|             if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK) | ||||
|             { | ||||
|                 ctl.Text = f.dtPick.SelectionStart.ToShortDateString(); | ||||
|             } | ||||
|         } | ||||
|         private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) | ||||
|         { | ||||
|             SelectDate(tbSdate); | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|         private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) | ||||
|         { | ||||
|             SelectDate(tbEdate); | ||||
|             //if (edateTextBox.Text.isEmpty() == false) | ||||
|             //    cmbStatus.Text = "완료"; | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|         private void bs_CurrentChanged(object sender, EventArgs e) | ||||
|         { | ||||
|  | ||||
|         } | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|         private void panel1_Paint(object sender, PaintEventArgs e) | ||||
|         { | ||||
|  | ||||
|         } | ||||
|         private void tbQty_TextChanged(object sender, EventArgs e) | ||||
|         { | ||||
|             //수량변경시 금액 업데이트            | ||||
|             var qty = tbQty.Text.ToInt(); | ||||
|             var nAmt = tbCostNew.Text.ToDouble(); | ||||
|             var oAmt = (nAmt * qty) * 0.5f; | ||||
|             var rAmt = tbCostRepair.Text.ToDouble(); | ||||
|             var reduction = oAmt - rAmt; | ||||
|             this.tbCostOutSource.Text = oAmt.ToString(); | ||||
|             //this.tbCostReduct.Text = reduction.ToString(); | ||||
|         } | ||||
|  | ||||
|         private void costnTextBox_TextChanged(object sender, EventArgs e) | ||||
|         { | ||||
|             //Out source 가 변경되면  | ||||
|             var oAmt = tbCostOutSource.Text.ToDouble(); | ||||
|             var rAmt = tbCostRepair.Text.ToDouble(); | ||||
|             var reduction = oAmt - rAmt; | ||||
|             tbCostReduct.Text = reduction.ToString(); | ||||
|         } | ||||
|  | ||||
|         private void toolStripButton1_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             if (dr != null && (dr.RowState == DataRowState.Modified || dr.RowState == DataRowState.Unchanged)) | ||||
|             { | ||||
|                 Util.openEboarditemPath(dr.idx); | ||||
|             } | ||||
|             else FCOMMON.Util.MsgE("자료가 저장되기 전에는 폴더를 확인할 수 없습니다.\r\n자료를 저장한 후 다시 시도하세요"); | ||||
|         } | ||||
|  | ||||
|          | ||||
|     } | ||||
| } | ||||
							
								
								
									
										266
									
								
								SubProject/FPJ0000/EBoard/fEboardData.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										266
									
								
								SubProject/FPJ0000/EBoard/fEboardData.resx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,266 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <root> | ||||
|   <!--  | ||||
|     Microsoft ResX Schema  | ||||
|      | ||||
|     Version 2.0 | ||||
|      | ||||
|     The primary goals of this format is to allow a simple XML format  | ||||
|     that is mostly human readable. The generation and parsing of the  | ||||
|     various data types are done through the TypeConverter classes  | ||||
|     associated with the data types. | ||||
|      | ||||
|     Example: | ||||
|      | ||||
|     ... ado.net/XML headers & schema ... | ||||
|     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||
|     <resheader name="version">2.0</resheader> | ||||
|     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||
|     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||
|     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||
|     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||
|     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||
|         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||
|     </data> | ||||
|     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||
|         <comment>This is a comment</comment> | ||||
|     </data> | ||||
|                  | ||||
|     There are any number of "resheader" rows that contain simple  | ||||
|     name/value pairs. | ||||
|      | ||||
|     Each data row contains a name, and value. The row also contains a  | ||||
|     type or mimetype. Type corresponds to a .NET class that support  | ||||
|     text/value conversion through the TypeConverter architecture.  | ||||
|     Classes that don't support this are serialized and stored with the  | ||||
|     mimetype set. | ||||
|      | ||||
|     The mimetype is used for serialized objects, and tells the  | ||||
|     ResXResourceReader how to depersist the object. This is currently not  | ||||
|     extensible. For a given mimetype the value must be set accordingly: | ||||
|      | ||||
|     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||
|     that the ResXResourceWriter will generate, however the reader can  | ||||
|     read any of the formats listed below. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.binary.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.soap.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|  | ||||
|     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||
|     value   : The object must be serialized into a byte array  | ||||
|             : using a System.ComponentModel.TypeConverter | ||||
|             : and then encoded with base64 encoding. | ||||
|     --> | ||||
|   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
|     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||
|     <xsd:element name="root" msdata:IsDataSet="true"> | ||||
|       <xsd:complexType> | ||||
|         <xsd:choice maxOccurs="unbounded"> | ||||
|           <xsd:element name="metadata"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="assembly"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:attribute name="alias" type="xsd:string" /> | ||||
|               <xsd:attribute name="name" type="xsd:string" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="data"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="resheader"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|         </xsd:choice> | ||||
|       </xsd:complexType> | ||||
|     </xsd:element> | ||||
|   </xsd:schema> | ||||
|   <resheader name="resmimetype"> | ||||
|     <value>text/microsoft-resx</value> | ||||
|   </resheader> | ||||
|   <resheader name="version"> | ||||
|     <value>2.0</value> | ||||
|   </resheader> | ||||
|   <resheader name="reader"> | ||||
|     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <metadata name="costoLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="costnLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="costeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="cntLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="uidLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="siteLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="lineLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="divisionLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="processLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="modelLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="boardNameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="sNLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="외주업체Label.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="요청자Label.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="분류Label.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="repairTimeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||||
|     <value>False</value> | ||||
|   </metadata> | ||||
|   <metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>164, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>100, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="dsPRJ.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 17</value> | ||||
|   </metadata> | ||||
|   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> | ||||
|   <data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77 | ||||
|         wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0 | ||||
|         v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg | ||||
|         UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA | ||||
|         Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu | ||||
|         lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w | ||||
|         5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f | ||||
|         Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+ | ||||
|         08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78 | ||||
|         n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI | ||||
|         N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f | ||||
|         oAc0QjgAAAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+// | ||||
|         h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B | ||||
|         twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA | ||||
|         kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG | ||||
|         WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9 | ||||
|         8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="btSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG | ||||
|         YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 | ||||
|         0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw | ||||
|         bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc | ||||
|         VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 | ||||
|         c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 | ||||
|         Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo | ||||
|         mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ | ||||
|         kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D | ||||
|         TgDQASA1MVpwzwAAAABJRU5ErkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG | ||||
|         YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 | ||||
|         0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw | ||||
|         bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc | ||||
|         VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 | ||||
|         c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 | ||||
|         Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo | ||||
|         mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ | ||||
|         kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D | ||||
|         TgDQASA1MVpwzwAAAABJRU5ErkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <metadata name="dsPRJ.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>230, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="tableAdapterManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>292, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="tableAdapterManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 56</value> | ||||
|   </metadata> | ||||
| </root> | ||||
							
								
								
									
										1200
									
								
								SubProject/FPJ0000/EBoard/fEboardList.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										1200
									
								
								SubProject/FPJ0000/EBoard/fEboardList.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										661
									
								
								SubProject/FPJ0000/EBoard/fEboardList.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										661
									
								
								SubProject/FPJ0000/EBoard/fEboardList.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,661 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.ComponentModel; | ||||
| using System.Data; | ||||
| using System.Drawing; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
| using System.Windows.Forms; | ||||
| using util = FCOMMON.Util; | ||||
|  | ||||
| namespace FPJ0000 | ||||
| { | ||||
|     public partial class fEboardList : FCOMMON.fBase | ||||
|     { | ||||
|         string fn_fpcolsize = ""; | ||||
|         public fEboardList() | ||||
|         { | ||||
|             InitializeComponent(); | ||||
|             fn_fpcolsize = util.MakeFilePath(util.CurrentPath, "formSetting", "fp_" + this.Name + ".ini"); | ||||
|             this.dsMSSQL.Projects.TableNewRow += Projects_TableNewRow; | ||||
|             this.FormClosed += __Closed; | ||||
|             this.fpSpread1.KeyDown += FpSpread1_KeyDown; | ||||
|  | ||||
|         } | ||||
|  | ||||
|         private void FpSpread1_KeyDown(object sender, KeyEventArgs e) | ||||
|         { | ||||
|             var cell = this.fpSpread1.ActiveSheet.ActiveCell; | ||||
|             if (cell == null) return; | ||||
|             var colIndex = cell.Column.Index; | ||||
|             var rowIndex = cell.Row.Index; | ||||
|             if (e.KeyCode == Keys.L && e.Alt) | ||||
|             { | ||||
|  | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         void __Closed(object sender, FormClosedEventArgs e) | ||||
|         { | ||||
|  | ||||
|         } | ||||
|  | ||||
|         private void __Load(object sender, EventArgs e) | ||||
|         { | ||||
|             //프로젝트 목록을 처리함 | ||||
|             this.tbRequest.Text = FCOMMON.info.Login.nameK; | ||||
|  | ||||
|             //this.cmbSort.SelectedIndex = 0; | ||||
|             this.cmbYearS.Items.Clear(); | ||||
|             this.cmbYearE.Items.Clear(); | ||||
|             for (int i = 2010; i <= DateTime.Now.Year; i++) | ||||
|             { | ||||
|                 cmbYearS.Items.Add(i.ToString("0000") + "-01-01"); | ||||
|                 cmbYearE.Items.Add(i.ToString("0000") + "-01-01"); | ||||
|             } | ||||
|             this.cmbYearS.Text = DateTime.Now.Year.ToString("0000") + "-01-01"; | ||||
|             this.cmbYearE.Text = DateTime.Now.Year.ToString("0000") + "-12-31"; | ||||
|             refreshData(); | ||||
|  | ||||
|             //일반사용자의경우에는 상태를 변경하지 못한다. | ||||
|             //int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.project)); | ||||
|             //if (curLevel >= 5) | ||||
|             //{ | ||||
|             //    btSave.Visible = true; | ||||
|             //} | ||||
|             //else | ||||
|             //{ | ||||
|             //    btSave.Visible = false; //목록에서 저장버튼은 제거한다. | ||||
|             //    //btViewDel.Visible = false; | ||||
|             //    //fpSpread1.EditMode = false; | ||||
|             //    //fpSpread1.Sheets[0].SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row; | ||||
|             //    //fpSpread1.EditModePermanent = false; | ||||
|             //    //fpSpread1.EditModeReplace = false; | ||||
|  | ||||
|             //    //foreach (FarPoint.Win.Spread.Column col in fpSpread1.ActiveSheet.Columns) | ||||
|             //    //    col.Locked = true; | ||||
|             //} | ||||
|  | ||||
|  | ||||
|         } | ||||
|  | ||||
|         void refreshData() | ||||
|         { | ||||
|             //수리지연추가 210208 - 장은철 | ||||
|  | ||||
|  | ||||
|             if (this.dsMSSQL.EETGW_JobReport_EBoard.GetChanges() != null) | ||||
|             { | ||||
|                 var dlg = util.MsgQ("변경된 내용이 있습니다. 지금 새로고침 하면 해당 자료는 손실 됩니다. 진행 할까요?"); | ||||
|                 if (dlg != DialogResult.Yes) return; | ||||
|             } | ||||
|  | ||||
|             //string state = "[status] like  '" + cmbStat.Text + "'"; //아무것도 선택안하면 진행을 선택해준다. | ||||
|  | ||||
|             string State_Select = " SELECT  * FROM  EETGW_JobReport_EBoard"; | ||||
|             string State_where = " WHERE gcode=@gcode and  pdate between "; | ||||
|             State_where += "'" + cmbYearS.Text + "' and '" + cmbYearE.Text + "' AND (ISNULL(uid, '')) LIKE @username "; | ||||
|  | ||||
|             if (chkDelay.Checked) | ||||
|             { | ||||
|                 var 시작일 = DateTime.Now.AddDays(-int.Parse(tbSd.Text));  //일반기간 | ||||
|                 var 시작일2 = DateTime.Now.AddDays(-int.Parse(tbSD2.Text));    //외주기간 | ||||
|                 State_where += string.Format("and isnull(수리완료일,'') = '' and ((isnull(분류,'') like '%외주%' and pdate <= '{0}') or (isnull(분류,'') not like '%외주%' and pdate <= '{1}'))", 시작일2.ToShortDateString(), 시작일.ToShortDateString()); | ||||
|                 tbSd.BackColor = Color.Gold; | ||||
|                 tbSD2.BackColor = Color.Gold; | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 tbSd.BackColor = Color.WhiteSmoke; | ||||
|                 tbSD2.BackColor = Color.WhiteSmoke; | ||||
|             } | ||||
|  | ||||
|             //if (cmbCate.SelectedIndex > 0) State_where += " AND isnull(분류,'') = '" + cmbCate.Text + "'"; | ||||
|             //if (cmbProcess.SelectedIndex > 0) State_where += " and isnull(Process,'') = '" + cmbProcess.Text.Trim() + "'"; | ||||
|             string State_order = " ORDER BY pdate desc,uid"; | ||||
|  | ||||
|             string request = "%"; | ||||
|  | ||||
|             if (tbRequest.Text.Trim() != "") request = "%" + this.tbRequest.Text.Trim() + "%"; | ||||
|  | ||||
|             System.Data.SqlClient.SqlCommand selCmd = new System.Data.SqlClient.SqlCommand(); | ||||
|             selCmd.Connection = ta.Connection; | ||||
|             selCmd.CommandText = State_Select + State_where + State_order; | ||||
|             selCmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode; | ||||
|             selCmd.Parameters.Add("username", SqlDbType.VarChar); | ||||
|             selCmd.Parameters["username"].Value = request; | ||||
|  | ||||
|             System.Data.SqlClient.SqlDataAdapter sda = new System.Data.SqlClient.SqlDataAdapter(); | ||||
|             sda.SelectCommand = selCmd; | ||||
|  | ||||
|             this.dsMSSQL.EETGW_JobReport_EBoard.Clear(); | ||||
|             sda.Fill(this.dsMSSQL.EETGW_JobReport_EBoard); | ||||
|  | ||||
|             //this.ta.Adapter.SelectCommand = selCmd; | ||||
|             //this.ta.Fill(this.dsMSSQL.Projects, state,request); | ||||
|             //  this.ta.Adapter.SelectCommand.CommandText = orgQuery; | ||||
|             this.dsMSSQL.EETGW_JobReport_EBoard.AcceptChanges(); | ||||
|  | ||||
|             sbSumReduction.Text = this.dsMSSQL.EETGW_JobReport_EBoard.Sum(t => t.OPrice).ToString("N2"); | ||||
|             sbSumO.Text = this.dsMSSQL.EETGW_JobReport_EBoard.Sum(t => t.RepairCost).ToString("N2"); | ||||
|             sbSumRepair.Text = this.dsMSSQL.EETGW_JobReport_EBoard.Sum(t => t.CostReduction).ToString("N2"); | ||||
|  | ||||
|             FormattingData(); | ||||
|             FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize); | ||||
|             this.bs.Sort = "pdate desc,idx"; | ||||
|         } | ||||
|  | ||||
|         void FormattingData() | ||||
|         { | ||||
|             //삭제컬럼인덱스 | ||||
|             this.fpSpread1.SuspendLayout(); | ||||
|             var col_status = this.fpSpread1.ActiveSheet.Columns["status"].Index; | ||||
|             var col_costreduc = this.fpSpread1.ActiveSheet.Columns["costreduction"].Index; | ||||
|             var col_refdata = this.fpSpread1.ActiveSheet.Columns["refdata"].Index; | ||||
|             for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++) | ||||
|             { | ||||
|                 var state = this.fpSpread1.ActiveSheet.GetValue(i, col_status); | ||||
|                 string stateStr = string.Empty; | ||||
|                 if (state != null) stateStr = state.ToString(); | ||||
|  | ||||
|                 var vrefdata = this.fpSpread1.ActiveSheet.GetValue(i, col_refdata); | ||||
|                 Boolean refdata = false; | ||||
|                 if (vrefdata != null) refdata = (bool)vrefdata; | ||||
|  | ||||
|  | ||||
|                 if (stateStr.ToLower().Contains("완료")) this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.FromArgb(240, 240, 240); | ||||
|                 else if (stateStr.ToLower().Contains("외주")) this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.LightSteelBlue; | ||||
|                 else | ||||
|                     this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.White; | ||||
|                 this.fpSpread1.ActiveSheet.Cells[i, col_costreduc].BackColor = Color.FromArgb(240, 240, 240); | ||||
|  | ||||
|                 if(refdata) | ||||
|                 { | ||||
|                     this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Magenta; | ||||
|                 } | ||||
|                 else | ||||
|                 { | ||||
|                     this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Black; | ||||
|                 } | ||||
|             } | ||||
|             FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize); | ||||
|             this.fpSpread1.ResumeLayout(); | ||||
|         } | ||||
|  | ||||
|         void funcSave(Boolean pmt) | ||||
|         { | ||||
|             this.Validate(); | ||||
|             this.bs.EndEdit(); | ||||
|  | ||||
|             if (pmt) | ||||
|             { | ||||
|                 var dlg = FCOMMON.Util.MsgQ("변경 사항을 저장하시겠습니까?"); | ||||
|                 if (dlg != System.Windows.Forms.DialogResult.Yes) return; | ||||
|             } | ||||
|  | ||||
|             try | ||||
|             { | ||||
|                 this.ta.Update(this.dsMSSQL.EETGW_JobReport_EBoard); | ||||
|                 dsMSSQL.AcceptChanges(); | ||||
|                 FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize); | ||||
|             } | ||||
|             catch (Exception ex) | ||||
|             { | ||||
|                 FCOMMON.Util.MsgE(ex.Message); | ||||
|             } | ||||
|             FormattingData(); | ||||
|         } | ||||
|  | ||||
|         private void projectsBindingNavigatorSaveItem_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             funcSave(true); | ||||
|  | ||||
|         } | ||||
|         void Projects_TableNewRow(object sender, DataTableNewRowEventArgs e) | ||||
|         { | ||||
|             e.Row["gcode"] = FCOMMON.info.Login.gcode; | ||||
|             e.Row["wuid"] = FCOMMON.info.Login.no; | ||||
|             e.Row["wdate"] = DateTime.Now; | ||||
|         } | ||||
|  | ||||
|  | ||||
|         void menu_partlist() | ||||
|         { | ||||
|             var drv = this.bs.Current as DataRowView; | ||||
|             if (drv == null) return; | ||||
|             var dr = drv.Row as dsPRJ.ProjectsRow; | ||||
|             var f = new fPartList(dr.idx); | ||||
|             f.StartPosition = FormStartPosition.CenterScreen; | ||||
|             f.Show(); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         private void autoToolStripMenuItem_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             this.fpSpread1.ActiveSheet.DataAutoSizeColumns = true; | ||||
|  | ||||
|             for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++) | ||||
|                 this.fpSpread1.ActiveSheet.SetRowHeight(i, 25); | ||||
|             //dv1.AutoResizeColumns(); | ||||
|         } | ||||
|  | ||||
|         private void resetToolStripMenuItem_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             foreach (FarPoint.Win.Spread.Column col in this.fpSpread1.ActiveSheet.Columns) | ||||
|             { | ||||
|                 col.ResetVisible(); | ||||
|                 col.Width = 100; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private void saveToolStripMenuItem_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             FPUtil.ColsizeSave(this.fpSpread1, fn_fpcolsize); | ||||
|         } | ||||
|  | ||||
|         private void loadToolStripMenuItem_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         private void toolStripLabel3_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             //사용자목록처리 | ||||
|             if (tbRequest.Text != "") | ||||
|             { | ||||
|                 tbRequest.Text = string.Empty; | ||||
|             } | ||||
|             else tbRequest.Text = FCOMMON.info.Login.nameK; | ||||
|  | ||||
|             refreshData(); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         void funcCopy() | ||||
|         { | ||||
|             var drv = this.bs.Current as DataRowView; | ||||
|             if (drv == null) return; | ||||
|             var dr = drv.Row as dsPRJ.EETGW_JobReport_EBoardRow; | ||||
|             var dlg = FCOMMON.Util.MsgQ("선택된 데이터를 복사하시겠습니까?"); | ||||
|             if (dlg == System.Windows.Forms.DialogResult.Yes) | ||||
|             { | ||||
|                 var newdr = this.dsMSSQL.EETGW_JobReport_EBoard.NewEETGW_JobReport_EBoardRow(); | ||||
|                 //컬럼을 모두 돌아서 해당 값을 모두 복사한다. | ||||
|                 foreach (DataColumn dc in dsMSSQL.EETGW_JobReport_EBoard.Columns) | ||||
|                 { | ||||
|                     if (dc.ColumnName.ToLower() == "idx") continue; | ||||
|                     newdr[dc.ColumnName] = dr[dc.ColumnName];   //값을 모두 복사한다. | ||||
|                 } | ||||
|                 newdr.pdate = DateTime.Now.ToShortDateString();  //등록일을 오늘로한다 | ||||
|                 newdr.수리완료일 = string.Empty; | ||||
|                 newdr.EndEdit(); | ||||
|  | ||||
|                 var f = new fEboardData(newdr); | ||||
|                 f.Show(); | ||||
|                 f.FormClosed += (s1, e1) => | ||||
|                 { | ||||
|                     if (f.DialogResult == System.Windows.Forms.DialogResult.OK) | ||||
|                     { | ||||
|                         this.dsMSSQL.EETGW_JobReport_EBoard.AddEETGW_JobReport_EBoardRow(newdr); | ||||
|                     } | ||||
|                     else newdr.Delete(); | ||||
|                     this.Validate(); | ||||
|                     this.bs.EndEdit(); | ||||
|                     this.bs.Position = 0; | ||||
|                 }; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         void menu_iomap() | ||||
|         { | ||||
|             var drv = this.bs.Current as DataRowView; | ||||
|             if (drv == null) return; | ||||
|             var dr = drv.Row as dsPRJ.ProjectsRow; | ||||
|             var f = new fProjectIOMap(dr.idx); | ||||
|             f.Show(); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         private void tbFind_KeyDown(object sender, KeyEventArgs e) | ||||
|         { | ||||
|             if (e.KeyCode == Keys.Enter) | ||||
|                 btFind.PerformClick(); | ||||
|         } | ||||
|  | ||||
|         private void btFind_Click(object sender, EventArgs e) | ||||
|         { | ||||
|  | ||||
|             string search = tbFind.Text.Trim(); | ||||
|             if (search == "") | ||||
|             { | ||||
|  | ||||
|                 bs.Filter = ""; | ||||
|                 tbFind.BackColor = SystemColors.Control; | ||||
|                 FormattingData(); | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 try | ||||
|                 { | ||||
|                     var cols = new string[] { | ||||
|                         "Process","Equipment","Model","BoardName", | ||||
|                         "원인","결과","외주업체","BoardVender", | ||||
|                         "uid","요청자","SN"}; | ||||
|                     bs.Filter = FCOMMON.Util.MakeFilterString(cols, search); | ||||
|                     tbFind.BackColor = Color.Lime; | ||||
|                     tbFind.SelectAll(); | ||||
|                     tbFind.Focus(); | ||||
|                     FormattingData(); | ||||
|                 } | ||||
|                 catch (Exception ex) | ||||
|                 { | ||||
|                     bs.Filter = ""; | ||||
|                     FCOMMON.Util.MsgE(ex.Message); | ||||
|                     tbFind.BackColor = Color.Red; | ||||
|                     FormattingData(); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             funcDelete(); | ||||
|         } | ||||
|         void funcDelete() | ||||
|         { | ||||
|             var dlg = FCOMMON.Util.MsgQ("현재 선택된 자료를 삭제하시겠습니까?"); | ||||
|             if (dlg == System.Windows.Forms.DialogResult.Yes) | ||||
|             { | ||||
|                 bs.RemoveCurrent(); | ||||
|  | ||||
|                 //일반사용자는 바로 저장되도록 함 | ||||
|                 int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.project)); | ||||
|                 if (curLevel < 5) | ||||
|                 { | ||||
|                     funcSave(false); //자동저장 | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         private void 엑셀파일로저장ToolStripMenuItem_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             SaveFileDialog sd = new SaveFileDialog(); | ||||
|             sd.Filter = ("excel|*.xlsx"); | ||||
|             var dlg = sd.ShowDialog(); | ||||
|             if (dlg == System.Windows.Forms.DialogResult.OK) | ||||
|             { | ||||
|                 var book = new libxl.XmlBook(); | ||||
|                 book.setKey("Amkor Technology", "windows-242f240302c3e50d6cb1686ba2q4k0o9"); | ||||
|                 var fn = System.IO.Path.Combine(FCOMMON.Util.CurrentPath, "EBoardDailyform.xlsx"); | ||||
|                 System.IO.File.Copy(fn, sd.FileName, true); | ||||
|                 book.load(sd.FileName); | ||||
|  | ||||
|                 //week 기록 | ||||
|                 var lastrow = dsMSSQL.EETGW_JobReport_EBoard.FirstOrDefault(); | ||||
|                 if(lastrow != null) | ||||
|                 { | ||||
|                     var ww = ISO8601.Calender.GetWorkWeek(DateTime.Parse( lastrow.pdate)); | ||||
|                     var sht1 = book.getSheet(2); | ||||
|                     sht1.writeNum(1, 0, ww); | ||||
|                 } | ||||
|                  | ||||
|  | ||||
|                 var sht = book.getSheet(0); | ||||
|                 //2번쨰 줄부터 데이터를 기록한다. | ||||
|                 var row = 1; | ||||
|                 foreach (dsPRJ.EETGW_JobReport_EBoardRow dr in this.dsMSSQL.EETGW_JobReport_EBoard.Select(this.bs.Filter, this.bs.Sort)) | ||||
|                 { | ||||
|                     if (dr.RowState == DataRowState.Detached || dr.RowState == DataRowState.Deleted) continue; | ||||
|                     sht.writeStr(row, 3, dr.요청자); | ||||
|                     sht.writeStr(row, 4, dr.pdate); | ||||
|                     sht.writeStr(row, 5, dr.수리완료일); | ||||
|                     sht.writeStr(row, 8, dr.분류); | ||||
|  | ||||
|                     sht.writeStr(row, 9, dr.Line); | ||||
|                     sht.writeStr(row, 10, dr.Division); | ||||
|                     sht.writeStr(row, 12, dr.Process); | ||||
|                     sht.writeStr(row, 13, dr.Model); | ||||
|                     sht.writeStr(row, 14, dr.BoardName); | ||||
|                     sht.writeStr(row, 15, dr.BoardVender); | ||||
|                     sht.writeStr(row, 16, dr.원인 + ":" + dr.결과); | ||||
|                     sht.writeStr(row, 17, dr.SN); | ||||
|                     sht.writeNum(row, 18, dr.QTY); | ||||
|                     sht.writeNum(row, 19, (double)dr.NPrice); | ||||
|                     sht.writeNum(row, 21, (double)dr.RepairCost); | ||||
|                     sht.writeStr(row, 23, dr.외주업체.isEmpty() ? "자체" : "외주"); | ||||
|                     sht.writeStr(row, 24, dr.외주업체); | ||||
|                     sht.writeNum(row, 25, dr.RepairTime); | ||||
|                     sht.writeStr(row, 27, dr.uid); | ||||
|  | ||||
|                     row += 1; | ||||
|                 } | ||||
|                 var maxrow = sht.lastRow(); | ||||
|                 for (int r = row; r <= maxrow; r++) | ||||
|                 { | ||||
|                     sht.writeBlank(r, 3, sht.cellFormat(row, 3));//, String.Empty); | ||||
|                     sht.writeBlank(r, 4, sht.cellFormat(row, 4));//, string.Empty); | ||||
|                     sht.writeBlank(r, 5, sht.cellFormat(row, 5));//, dr.수리완료일); | ||||
|                     sht.writeBlank(r, 8, sht.cellFormat(row, 8));//, dr.분류); | ||||
|                     sht.writeBlank(r, 9, sht.cellFormat(row, 9));//, dr.Line); | ||||
|                     sht.writeBlank(r, 10, sht.cellFormat(row, 10));//, dr.Division); | ||||
|                     sht.writeBlank(r, 12, sht.cellFormat(row, 11));//, dr.Process); | ||||
|                     sht.writeBlank(r, 13, sht.cellFormat(row, 12));//, dr.Model); | ||||
|                     sht.writeBlank(r, 14, sht.cellFormat(row, 13));//, dr.BoardName); | ||||
|                     sht.writeBlank(r, 15, sht.cellFormat(row, 14));//, dr.BoardVender); | ||||
|                     sht.writeBlank(r, 16, sht.cellFormat(row, 15));//, dr.원인 + ":" + dr.결과); | ||||
|                     sht.writeBlank(r, 17, sht.cellFormat(row, 16));//, dr.SN); | ||||
|                     sht.writeBlank(r, 18, sht.cellFormat(row, 17));//, dr.QTY); | ||||
|                     sht.writeBlank(r, 19, sht.cellFormat(row, 18));//, (double)dr.NPrice); | ||||
|                     sht.writeBlank(r, 21, sht.cellFormat(row, 20));//, (double)dr.RepairCost); | ||||
|                     sht.writeBlank(r, 23, sht.cellFormat(row, 22));//, dr.외주업체.isEmpty() ? "자체" : "외주"); | ||||
|                     sht.writeBlank(r, 24, sht.cellFormat(row, 23));//, dr.외주업체); | ||||
|                     sht.writeBlank(r, 25, sht.cellFormat(row, 24));//, dr.RepairTime); | ||||
|                     sht.writeBlank(r, 27, sht.cellFormat(row, 26));//, dr.uid); | ||||
|                 } | ||||
|  | ||||
|                 //this.fpSpread1.SaveExcel(sd.FileName, | ||||
|                 //    FarPoint.Excel.ExcelSaveFlags.SaveAsViewed | ||||
|                 //    | FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered | ||||
|                 //    | FarPoint.Excel.ExcelSaveFlags.NoFormulas | ||||
|                 //    | FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders); | ||||
|  | ||||
|                 //var cols = new List<string>(); | ||||
|                 //cols.Add("Mon"); | ||||
|                 //cols.Add("수리완료"); | ||||
|                 //cols.Add("Site"); | ||||
|                 //cols.Add("Request"); | ||||
|                 //cols.Add("입고일"); | ||||
|                 //cols.Add("수리완료"); | ||||
|                 //cols.Add("완료월"); | ||||
|                 book.save(sd.FileName); | ||||
|                 var dlg2 = FCOMMON.Util.MsgQ("파일생성 완료\n\n열까요?" + sd.FileName); | ||||
|                 if (dlg2 == DialogResult.Yes) FCOMMON.Util.RunExplorer(sd.FileName); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|  | ||||
|         private void bs_CurrentChanged(object sender, EventArgs e) | ||||
|         { | ||||
|             //히스토리 데이터를 업데이트하고 첫번재 자료를 표시한다. | ||||
|             var drv = this.bs.Current as DataRowView; | ||||
|             if (drv == null) | ||||
|             { | ||||
|                 // this.label1.Text = "프로젝트가 선택되지 않았습니다"; | ||||
|                 return; | ||||
|             } | ||||
|             var dr = drv.Row as dsPRJ.EETGW_JobReport_EBoardRow; | ||||
|             // this.label1.Text = string.Format("[{0}] {1}", dr.BoardName, dr.memo); | ||||
|  | ||||
|         } | ||||
|  | ||||
|  | ||||
|         private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             FuncAdd(); | ||||
|         } | ||||
|         void FuncAdd() | ||||
|         { | ||||
|             var newdr = this.dsMSSQL.EETGW_JobReport_EBoard.NewEETGW_JobReport_EBoardRow(); | ||||
|             newdr.wuid = FCOMMON.info.Login.no; | ||||
|             newdr.wdate = DateTime.Now; | ||||
|             newdr.pdate = DateTime.Now.ToString("yyyy-MM-dd"); | ||||
|             newdr.수리완료일 = string.Empty; | ||||
|             newdr.uid = FCOMMON.info.Login.nameK; | ||||
|             newdr.gcode = FCOMMON.info.Login.gcode; | ||||
|             newdr.Site = "ATK"; | ||||
|             //this.dsMSSQL.EETGW_JobReport_EBoard.AddEETGW_JobReport_EBoardRow(newdr); | ||||
|             //this.bs.Position = this.bs.Count - 1; | ||||
|  | ||||
|             var f = new fEboardData(newdr); | ||||
|             f.Show(); | ||||
|             f.FormClosed += (s1, e1) => | ||||
|             { | ||||
|                 if (f.DialogResult == System.Windows.Forms.DialogResult.OK) | ||||
|                 { | ||||
|                     this.dsMSSQL.EETGW_JobReport_EBoard.AddEETGW_JobReport_EBoardRow(newdr); | ||||
|                 } | ||||
|                 else newdr.Delete(); | ||||
|                 this.Validate(); | ||||
|                 this.bs.EndEdit(); | ||||
|             }; | ||||
|         } | ||||
|  | ||||
|         private void btEdit_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             funcEdit(); | ||||
|         } | ||||
|         void funcEdit() | ||||
|         { | ||||
|             var drv = this.bs.Current as DataRowView; | ||||
|             if (drv == null) return; | ||||
|             var dr = drv.Row as dsPRJ.EETGW_JobReport_EBoardRow; | ||||
|             var f = new fEboardData(dr); | ||||
|             f.Show(); | ||||
|             f.FormClosed += (s1, e1) => | ||||
|             { | ||||
|                 if (f.DialogResult == System.Windows.Forms.DialogResult.OK) | ||||
|                 { | ||||
|                     this.Validate(); | ||||
|                     this.bs.EndEdit(); | ||||
|                 } | ||||
|             }; | ||||
|  | ||||
|         } | ||||
|  | ||||
|         private void 편집ToolStripMenuItem_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             FuncAdd(); | ||||
|         } | ||||
|  | ||||
|         private void tbRequest_KeyDown(object sender, KeyEventArgs e) | ||||
|         { | ||||
|             if (e.KeyCode == Keys.Enter) | ||||
|                 btSearch.PerformClick(); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         private void 삭제ToolStripMenuItem_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             funcDelete(); | ||||
|         } | ||||
|  | ||||
|  | ||||
|         private void button1_Click_1(object sender, EventArgs e) | ||||
|         { | ||||
|             this.Close(); | ||||
|         } | ||||
|  | ||||
|         private void button2_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             refreshData(); | ||||
|         } | ||||
|  | ||||
|         private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e) | ||||
|         { | ||||
|  | ||||
|         } | ||||
|  | ||||
|         private void toolStripButton1_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             var f = new fEBoardImport(); | ||||
|             f.ShowDialog(); | ||||
|             this.refreshData(); | ||||
|         } | ||||
|  | ||||
|         private void toolStripButton2_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             // | ||||
|         } | ||||
|  | ||||
|         private void btCopy_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             funcCopy(); | ||||
|         } | ||||
|  | ||||
|         private void 복사ToolStripMenuItem_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             funcCopy(); | ||||
|         } | ||||
|  | ||||
|         private void 편집ToolStripMenuItem1_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             funcEdit(); | ||||
|         } | ||||
|  | ||||
|         private void toolStripButton2_Click_1(object sender, EventArgs e) | ||||
|         { | ||||
|             var f = new EBoard.fEBoardReport(); | ||||
|             f.Show(); | ||||
|         } | ||||
|  | ||||
|         private void toolStripButton3_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             var newdr = this.dsMSSQL.EETGW_JobReport_EBoard.NewEETGW_JobReport_EBoardRow(); | ||||
|             newdr.uid = FCOMMON.info.Login.nameK; | ||||
|             newdr.wuid = FCOMMON.info.Login.no; | ||||
|             newdr.wdate = DateTime.Now; | ||||
|             newdr.gcode = FCOMMON.info.Login.gcode; | ||||
|             newdr.pdate = DateTime.Now.ToShortDateString(); | ||||
|             newdr.Site = "ATK"; | ||||
|             this.dsMSSQL.EETGW_JobReport_EBoard.AddEETGW_JobReport_EBoardRow(newdr); | ||||
|         } | ||||
|  | ||||
|         private void toolStripButton4_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             this.chkDelay.BackColor = chkDelay.Checked ? Color.Lime : SystemColors.Control; | ||||
|             this.refreshData(); | ||||
|         } | ||||
|  | ||||
|         private void toolStripButton4_Click_1(object sender, EventArgs e) | ||||
|         { | ||||
|             var dt = DateTime.Parse(this.cmbYearS.Text); | ||||
|             var f = new FCOMMON.fSelectDay(dt); | ||||
|             if (f.ShowDialog() == DialogResult.OK) | ||||
|             { | ||||
|                 this.cmbYearS.Text = f.dtPick.SelectionStart.ToShortDateString(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private void toolStripButton5_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             var dt = DateTime.Parse(this.cmbYearE.Text); | ||||
|             var f = new FCOMMON.fSelectDay(dt); | ||||
|             if (f.ShowDialog() == DialogResult.OK) | ||||
|             { | ||||
|                 this.cmbYearE.Text = f.dtPick.SelectionStart.ToShortDateString(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private void btOpenFolder_Click(object sender, EventArgs e) | ||||
|         { | ||||
|             var drv = this.bs.Current as DataRowView; | ||||
|             if (drv == null) return; | ||||
|             var dr = drv.Row as dsPRJ.EETGW_JobReport_EBoardRow; | ||||
|             if (dr != null && (dr.RowState == DataRowState.Modified || dr.RowState == DataRowState.Unchanged)) | ||||
|             { | ||||
|                 Util.openEboarditemPath(dr.idx); | ||||
|             } | ||||
|             else FCOMMON.Util.MsgE("자료가 저장되기 전에는 폴더를 확인할 수 없습니다.\r\n자료를 저장한 후 다시 시도하세요"); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										394
									
								
								SubProject/FPJ0000/EBoard/fEboardList.resx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										394
									
								
								SubProject/FPJ0000/EBoard/fEboardList.resx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,394 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <root> | ||||
|   <!--  | ||||
|     Microsoft ResX Schema  | ||||
|      | ||||
|     Version 2.0 | ||||
|      | ||||
|     The primary goals of this format is to allow a simple XML format  | ||||
|     that is mostly human readable. The generation and parsing of the  | ||||
|     various data types are done through the TypeConverter classes  | ||||
|     associated with the data types. | ||||
|      | ||||
|     Example: | ||||
|      | ||||
|     ... ado.net/XML headers & schema ... | ||||
|     <resheader name="resmimetype">text/microsoft-resx</resheader> | ||||
|     <resheader name="version">2.0</resheader> | ||||
|     <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||||
|     <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||||
|     <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||||
|     <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||||
|     <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||||
|         <value>[base64 mime encoded serialized .NET Framework object]</value> | ||||
|     </data> | ||||
|     <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||||
|         <comment>This is a comment</comment> | ||||
|     </data> | ||||
|                  | ||||
|     There are any number of "resheader" rows that contain simple  | ||||
|     name/value pairs. | ||||
|      | ||||
|     Each data row contains a name, and value. The row also contains a  | ||||
|     type or mimetype. Type corresponds to a .NET class that support  | ||||
|     text/value conversion through the TypeConverter architecture.  | ||||
|     Classes that don't support this are serialized and stored with the  | ||||
|     mimetype set. | ||||
|      | ||||
|     The mimetype is used for serialized objects, and tells the  | ||||
|     ResXResourceReader how to depersist the object. This is currently not  | ||||
|     extensible. For a given mimetype the value must be set accordingly: | ||||
|      | ||||
|     Note - application/x-microsoft.net.object.binary.base64 is the format  | ||||
|     that the ResXResourceWriter will generate, however the reader can  | ||||
|     read any of the formats listed below. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.binary.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|      | ||||
|     mimetype: application/x-microsoft.net.object.soap.base64 | ||||
|     value   : The object must be serialized with  | ||||
|             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||||
|             : and then encoded with base64 encoding. | ||||
|  | ||||
|     mimetype: application/x-microsoft.net.object.bytearray.base64 | ||||
|     value   : The object must be serialized into a byte array  | ||||
|             : using a System.ComponentModel.TypeConverter | ||||
|             : and then encoded with base64 encoding. | ||||
|     --> | ||||
|   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||||
|     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||||
|     <xsd:element name="root" msdata:IsDataSet="true"> | ||||
|       <xsd:complexType> | ||||
|         <xsd:choice maxOccurs="unbounded"> | ||||
|           <xsd:element name="metadata"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" use="required" type="xsd:string" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="assembly"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:attribute name="alias" type="xsd:string" /> | ||||
|               <xsd:attribute name="name" type="xsd:string" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="data"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||||
|               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||||
|               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||||
|               <xsd:attribute ref="xml:space" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|           <xsd:element name="resheader"> | ||||
|             <xsd:complexType> | ||||
|               <xsd:sequence> | ||||
|                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||||
|               </xsd:sequence> | ||||
|               <xsd:attribute name="name" type="xsd:string" use="required" /> | ||||
|             </xsd:complexType> | ||||
|           </xsd:element> | ||||
|         </xsd:choice> | ||||
|       </xsd:complexType> | ||||
|     </xsd:element> | ||||
|   </xsd:schema> | ||||
|   <resheader name="resmimetype"> | ||||
|     <value>text/microsoft-resx</value> | ||||
|   </resheader> | ||||
|   <resheader name="version"> | ||||
|     <value>2.0</value> | ||||
|   </resheader> | ||||
|   <resheader name="reader"> | ||||
|     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <resheader name="writer"> | ||||
|     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||||
|   </resheader> | ||||
|   <metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>186, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>122, 17</value> | ||||
|   </metadata> | ||||
|   <metadata name="dsMSSQL.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 17</value> | ||||
|   </metadata> | ||||
|   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> | ||||
|   <data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77 | ||||
|         wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0 | ||||
|         v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg | ||||
|         UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA | ||||
|         Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu | ||||
|         lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w | ||||
|         5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f | ||||
|         Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+ | ||||
|         08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78 | ||||
|         n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI | ||||
|         N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f | ||||
|         oAc0QjgAAAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+// | ||||
|         h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B | ||||
|         twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA | ||||
|         kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG | ||||
|         WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9 | ||||
|         8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="toolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC | ||||
|         pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++ | ||||
|         Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ | ||||
|         /5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA | ||||
|         zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/ | ||||
|         IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E | ||||
|         rkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="btAdd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC | ||||
|         pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++ | ||||
|         Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ | ||||
|         /5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA | ||||
|         zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/ | ||||
|         IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E | ||||
|         rkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="btEdit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         R0lGODlhEAAQAIQAAGB3lYivyMDf/XiZt+Ts9ajT/Mbh/UlVa/P2+bLY/FRlfu3x9ZzN++Xy/rTR4ENL | ||||
|         XN7v/tTk8Jm/1enx96jL3uDo7ykxQz5FVb2JAP+8Bv/RV6HQ/FSr9qfR+jhllf///yH/C05FVFNDQVBF | ||||
|         Mi4wAwEBAAAh+QQAAAAAACwAAAAAEAAQAAAIugA/CBxIsKDACA4cUJAgIUCAARA9eJAg0EEEAhMyTiDA | ||||
|         0UMHDh4qTjBAkqSABh5BKhBIAUFJASdTekCw8oMElwZgovzoAQJNgTdzxuQJocDPDwEQ6MRAtIDRAwKT | ||||
|         nsSgIUPPAh02EID6YcCCBlQzYCiaVesDgV4jVB2LdcMGBhXOdl2QQIFdBQAGMNhb4QJaBAkSYC0wAIBh | ||||
|         AAv8fgAQAcFGjgQqSF7gwAJavHcPHHjw4MIFCzUNihYYEAA7 | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="btDel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC | ||||
|         DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC | ||||
|         rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV | ||||
|         i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG | ||||
|         86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG | ||||
|         QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX | ||||
|         bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="btSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO | ||||
|         wwAADsMBx2+oZAAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo | ||||
|         dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL1SURBVDhPhZLrS1NhHMf3qv6EsF70UojSyqioF6WpTQ3s | ||||
|         Zipm3uYUTZfowiBbTCPzEpqoUCFK0YsKtdKpTc05pxvO0DRTm/dLTZ2XXc7RnTO/PedsOQOhH3x4Xjzn | ||||
|         ++H8vucIuAm4r4q9VKhVhhZpVwJlWoqcNE8xd+ro0MIeOviJZuisVF16KOztHj60c4IedakXzfTy5LyR | ||||
|         NVk3YLK4WTZz0PixYEbOxxlEFo3YhGmKva6oc0LyNYuzv5bYnik7dNMMdDMMtFMMNJObUP3cQPOwFRsM | ||||
|         0DBCIad+GgnPhqh/JIGyZmrdtom+WRZfZxlyMujlJZvoNGzg87CNCBzoW2Chm7cjTzEDv3vtb/hwRLHv | ||||
|         xA1Z2Ja44hoSyq+jvKUGubXF8JN5wZcgzDuDAPlJlDSU8KtYaAbGVRsCJJ0MLwgv9HvfPtiIxrGXKNdm | ||||
|         8ZKYsmBkvY5Gek0kRJWXEV8Zj4YBIxqHLPj0bR1rpKdAeRfNC4Slwr3+MgmrHe3Aq0E5ClRpvCS2IoSE | ||||
|         ryD5eRLUBiu/StsYBSXpYdVqR2But1PATVB+J51RFQe9QYNK3V08bs1ERPEFxJaFQT9lg54UyxWsHnd2 | ||||
|         YiKCAPkOwbkHMvup7IOILhWib7wHeR0pkCsyEPnUHzWqD+ifY6AnxfZM2tFNWDTb4ffQJTgu9RD7SA8g | ||||
|         vToKNyuCEFVykZdkKKIhrU0ib+IP7r5vhkUv94kJZlLkUYnGKfCR7pvzke4nD3nAJ8sDVwv8kfoiDuph | ||||
|         JfKU2Uh5FwdRRTj0RKAj/4aWCGi7A94SlXuF85IuemGNxsAcy9M5Oo87VclIJEFxZSQyq29v33HYNlki | ||||
|         qHcLONusyS34H1aygndSnVtwOuOLrd+wsLXbw7thXF5xHIlpsLjipMjk1onpdZu5f/y3Y2KJwsQiBYOL | ||||
|         JYudh2veQrOYN5ocFEWted5q+u6KCwQnkltSvUXNrcfESpO3uI7eJtGJ119EdbSnqGn1cHxTm1ecIkEg | ||||
|         EAj+ABQBoLtReJTrAAAAAElFTkSuQmCC | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG | ||||
|         YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 | ||||
|         0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw | ||||
|         bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc | ||||
|         VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 | ||||
|         c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 | ||||
|         Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo | ||||
|         mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ | ||||
|         kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D | ||||
|         TgDQASA1MVpwzwAAAABJRU5ErkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="btOpenFolder.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG | ||||
|         YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 | ||||
|         0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw | ||||
|         bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc | ||||
|         VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 | ||||
|         c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 | ||||
|         Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo | ||||
|         mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ | ||||
|         kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D | ||||
|         TgDQASA1MVpwzwAAAABJRU5ErkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <metadata name="cm.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>252, 17</value> | ||||
|   </metadata> | ||||
|   <data name="autoToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         R0lGODlhEAAQAIQfAJXG2JXa+ZLO5ChrlkCy4TZ1kiVvpCN0trvo9SN5xTd4lrfh7iR9zo3S+EGz7JDJ | ||||
|         4TaCromrvC9ymyV+0Dd3mTl1koe72YvN7LTj+9ne6N3g6v7+/0Cw2Stoh////////yH/C05FVFNDQVBF | ||||
|         Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAInwA/CBzooaAHgQUHKvRQoUABCgUlHFT4IYMCBAsQIIBg | ||||
|         wcBEgh0WCBDAgcAFDAc+fvDQIUKHDgMeEHDQIIFKlgoMGgjQoAGDmwUOehhg4EACBhM+GlzKVOkEBgkO | ||||
|         GBggNOhCBhgCBPBYUEGHmwkCOCDwYMCAll8XHghwgQCHkQDSLjRgAcKDBwAAKNCwgaIHiR4oOKygkuDE | ||||
|         pRQTK6YYEAA7 | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="resetToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         R0lGODlhEAAQAIQfALnik2aXQv7+/dPut73llbfala3LmW6gSWqdQ2eYRGqaSLfck568iYrUQN7yzF6R | ||||
|         PLTXlYjUP8XwmYfQQLbYl4jRQGiaQsPumNbyu7nglNPzsLXYlf7+/lCHK////////yH/C05FVFNDQVBF | ||||
|         Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIlgA/CBzooaAHgQUHEvSgIEAABQUfHFTIwQECDAMwYDhg | ||||
|         oENCgRw8dBgAAECFBgsweJxYsAODDjApTIhAwCMHkCItGOxwgUCGlQQTeAgJsyhQg0iTGvzQ0qhND0IX | ||||
|         dtBwQcJKDxZsIhQpIcIECkVffmwpYUGDCiUheBQg1cCBAgU2QFDg4KZCDxIZOoQ48S7LpQoDCx4cEAA7 | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="saveToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         R0lGODlhEAAQAIQAAJXD9Iasxm6MqnSn2lZtjVaRyEpXbYu767TX/2KZztvr/4Gy5KrT/3ut32+gzlFh | ||||
|         e+r0/0RNX9/u/9Ln+8Xg//n8/4e36CkxQz9GVkSCvKjL35/N/Je91K7T5bDS4////yH/C05FVFNDQVBF | ||||
|         Mi4wAwEBAAAh+QQAAAAAACwAAAAAEAAQAAAIuQA/CBxIsKDACRwScggQwIGAhwIICBDYQcEEgwg+bNjw | ||||
|         QKCHCQgkQBgpQcKBCg0AEBCoAaRIkhIsVBigUiAHCgwkKNjJU8GAAx0/3NwIAMABCwsaDHCwIGgAChuK | ||||
|         HjiQdMDSAQYEPpWKtKqDBA6yfgiAwGhXpUsTJIgg0AGCo0nRfi1QgO0HAQyQNpCrtkAGDAIFbKi69GsC | ||||
|         un8FEohqdEFavxkyXAhMoPKDBwYMRIiAAcOFoAZDCwwIADs= | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="loadToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         R0lGODlhEAAQAIQfAJfL/OTs9HWVsW6aUqnT+6bnZldwkYiux7TZ/O3z+UlVa/P2+ZfTW36wWJDLV4m7 | ||||
|         69nn78bi/qjL3qDP+VJhe4rAVa7S40NLXJ3bYJrA1ikxQz5FVdDU22OPRf///////yH/C05FVFNDQVBF | ||||
|         Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIwQA9CBxIcOCHgx4gWLAgIUOGAwcESBTgAaEFCAEGaBwQ | ||||
|         IGOABwYqerCQsYBJBho7JHgAUqCEDjAxYGBQgYHKBAsoCMzQIUIEmA6CdkCAIOfOBT5/MnBQYSgBozCj | ||||
|         SoVJ4KkCDx1MFhhKFEFVAhMCXM1aAANMoh2qTgh7AWvZmQ6igp0AIEDbDg0aLA06YC4AABA2eBjgYcHG | ||||
|         vmv/Akgg2IMBDgsSdJwcAEICDhoECjDAmQIFBQouXNiwQYPOgqgLBgQAOw== | ||||
| </value> | ||||
|   </data> | ||||
|   <metadata name="fpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>17, 56</value> | ||||
|   </metadata> | ||||
|   <metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>320, 17</value> | ||||
|   </metadata> | ||||
|   <data name="toolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFESURBVDhPpZO9SgNBFIV9A5/D0gdQkJBC7MQ0YmEbUtip | ||||
|         wVJEBJNSUil2RhALERS000orYyEqNorBqCSG+IPNle/AjDMrG0EPHA67O/Pdu7N3e+yfEuCq3rbtszt5 | ||||
|         4+TG1o4ubOWgZss7pza/eWxz64c2XdmVp0pbNl5ctdly9RvARiD15ruym1mDxvJLSg9odMyyi/veAzPp | ||||
|         RhGAth9e3myv9iTQb4kiAO9MayzQouuSt7sXGo1OFpUCcGCN5qceUiEEpHUQAThtB9CiAMD1wmXem2s0 | ||||
|         nCsoBeBT3T93fIVksnHovFfpOogAfOfbx9aPSs7J+ygzMqH0ADpgQVjJdZBMFAGYMAcIK6UZDWZzSgEY | ||||
|         z/brhx52q+wSRQBmmzEFQifOnEto1jBwqK8/oxSAH4PJcuYbY04a876YqpjN0Rz8XWZfJmBk74oVPr4A | ||||
|         AAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="toolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 | ||||
|         YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFESURBVDhPpZO9SgNBFIV9A5/D0gdQkJBC7MQ0YmEbUtip | ||||
|         wVJEBJNSUil2RhALERS000orYyEqNorBqCSG+IPNle/AjDMrG0EPHA67O/Pdu7N3e+yfEuCq3rbtszt5 | ||||
|         4+TG1o4ubOWgZss7pza/eWxz64c2XdmVp0pbNl5ctdly9RvARiD15ruym1mDxvJLSg9odMyyi/veAzPp | ||||
|         RhGAth9e3myv9iTQb4kiAO9MayzQouuSt7sXGo1OFpUCcGCN5qceUiEEpHUQAThtB9CiAMD1wmXem2s0 | ||||
|         nCsoBeBT3T93fIVksnHovFfpOogAfOfbx9aPSs7J+ygzMqH0ADpgQVjJdZBMFAGYMAcIK6UZDWZzSgEY | ||||
|         z/brhx52q+wSRQBmmzEFQifOnEto1jBwqK8/oxSAH4PJcuYbY04a876YqpjN0Rz8XWZfJmBk74oVPr4A | ||||
|         AAAASUVORK5CYII= | ||||
| </value> | ||||
|   </data> | ||||
|   <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>426, 17</value> | ||||
|   </metadata> | ||||
|   <data name="btSearch.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAABEpJREFUSEut | ||||
|         V+tPW2UYb7xE/wQvMZmZbs7v6hK/+M24EKfMpoiWy+hYUTZxso3aoWepwfXCoKYNqw500hVQ0Mgc98Kq | ||||
|         bSllA3YxM2SUgq7MGwV0fpv1/R19Tt8eXuua8uHXnvPcfue9PM/7vJpnawpyglb72Z3PH/rqgV31g08V | ||||
|         1g89vdM8+NAz0thdIttsEArV0EkjW8obI/bqlov+N9uuLtR555elnsRfR3sSqUOfXvuz2DK6Q+SXDUIh | ||||
|         oUga21ThnOwwnY79ZutLpuz9K+vw3pc/pV6xjBSI/LNBKARKbeHa2lOzP9r7xYQENXGZPeSvOfldXI0S | ||||
|         W3DxpXcGdpJdBhmANdztiHik7sRNngAjNncsrO7zXA5XuWY6Kp3nP9rjnGitdEZ7tZL/SfKvPnFpkPcD | ||||
|         TL74Db0jpOd5lAcCSBt6f7lFTra+ldTh9mvXdx+PenQNI1vU9mqsJ06myhzjvWq7jBdMLz9S69nl1F7X | ||||
|         hYDeHniYt8sG0Yjf7b5+s9Qa2s/bKQ/YSP+saZrU0Bz94rl9fffwDv8HIjZ3xpPHvl5WyGs/mV3kB6A4 | ||||
|         MJJO2kiYXqN76lyupACI5TW1BiuMrukwESOmoXmynezkn1cto1uRMmSENc1lennoraFzenuoCM8vWgLb | ||||
|         EIvimryxG8WWoUehk43L7WE75Sn+K5omTlCgXPFCXf8m/p3NZFs6JZMpFCLIZSUqEn2V2Te/tuvfr9oI | ||||
|         IBNYzFWK/3rLzBDkct6iDJJiv+dySO2cL6o9VyIUH1yo7ZoC85kHTb7YCimq3FOdIud8YPxguovim3zz | ||||
|         KzhkNIXS8PajPUtKwTA0TXpEzvnA4Jz0UHwcLoXm4e0aHG/sJU3MjETO+WBPc/RDhbg7cauwvv8Jear5 | ||||
|         xd/rvrDxU+2e/pzi13ljyzsOnr1PU1l5/u7MzXUlInLOB9WeS8rmOtD2/Tw2tKx4reXiCCnMvvjqRqbT | ||||
|         y9LYY+auhTWKz7iGIZeV7ERy8EmOpOed1UUhFxiOT5zki1OpI2SFXFZqj4xurWuf+5m+CmVO2/DN49Ch | ||||
|         /KEMUqBcgJbpcPvckhLXG/tV+/7AI9ApRhXN0Q4UcjJi+RwqPhYoYZshgcJPdrcLViTurXJNhdIx2Uw2 | ||||
|         Rb2kVwx1Nv/mg6dmfyBiHGlsvZN4zpUYpKze9+JopXhvfTy7WMQ6UrLJcCizBo1Sz9LvZEzIhRjTa3RN | ||||
|         BXlSlrt/lDi+fYO3y3ACyhvHz6Q32u0T6yzD29goW7Gm/JKhjSprDK877TJeSmwBnck7l+BJAZ4YjR0a | ||||
|         PDR6BtbwGd0zXUwfOdIZX6PdS8BIQYq85XkA5QGtJ1pQUWuKlpXs0MqipeUJ1iOZqmVrqrcHa8hPDaEw | ||||
|         G7IRY8RIGZYhp/mNJIJQmA24ruDagusLThrU3gOtV+OofuWOcavO4t8s8lNDKMwGHOK4qOHCJl/c3h64 | ||||
|         X5KkO0S2/40Czd+YEQefvqIj4QAAAABJRU5ErkJggg== | ||||
| </value> | ||||
|   </data> | ||||
|   <data name="button1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||||
|     <value> | ||||
|         iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAN | ||||
|         1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAMZSURBVEhLzVdd | ||||
|         TxNBFF3/hi8+GH0xJmriq5HdzralCMKDGl/LxwMphCe+QqKBmCBB3oDAzyD8A4F+AfJATFRMoAhtUVrY | ||||
|         CqXajvcss2Ep07KlEDzJSSY7d+7p3Llz51b57zHvcj0M6vpgxOuNhD2eGI2NIGMGxmF8Y+ztHGMPhHl1 | ||||
|         4IpyI6hpr0K6vhn1+fbX2tpyPwcGeHpoiGeGh01ijG/fW1uPyMYIu92xBZfrBdYKN5UhpGl3aVeflxoa | ||||
|         jGRfHz8cG3PEBNliTdDtXp1T1dvCnTOEVFWlXRqxjo68zLkTrgcCefig3T8VbsuDQltDCw4q2WUpYvfw | ||||
|         RTt/ItzLEa6puRdiLIMzkzm6COGLwr5PiXhHyJwGkoEydHWzq+vC4S3FWGfn34jHsyJNOLour1eamgzZ | ||||
|         wsvgp8ZGY0HXXwq5Y+CXhOgaJPv7pYvA3MwMz05MSOfA7OSkaSObA3HedNXWheQx5jTtcbSubl+2AMzN | ||||
|         znJeKPBCMmkKFM/jW2Fnx7SBbfG8RWgsqOojIUvXR9ffozjIjMHs+DjPx+McKOzu8uzU1MkcjfENgM0h | ||||
|         2drX2rnW0nJESfZOyFI2e73L5cJsUiJeiSiIKxqprY0KWRJ2u7dR+mTGp2gXT6dNAk5EwdTgIKebsyVk | ||||
|         KdSMZTMjI1LjM4Q4nbUFnLsTURAa0BKylQlnp6d5IZUSsiRMY/uZl+MZYQr1lpNQ20XziYRJoDjhSjFF | ||||
|         GqT1Q8gqCr2xyzvnJNcp0e3t4/Ai7DQGTHGyka21eCa58MB/bW4+khmDUlFr3i6OsJcR/+b3H9LVfSNk | ||||
|         qYBQ54BHXGYMXlYBod1mqDTfF7K2klnmKbySkgnMa9rzpfp64+DDB+nCagifiz5fhsrlMyF3AutZXK+i | ||||
|         6yjFjfb20s8iQJ3CLaql6XhPj9TBRRjv7uZ0jL8+MnZTyMhxLa2PBbPZY2xvIxAoecXOIzV7eIn2HDd7 | ||||
|         Fq6lvbWAZLAaetxBKjK5RG+vWfp+j46axIuDnPji9+dgQ1emuoa+GLa/MIt4RoMu1x8Q46jXG73UvzBX | ||||
|         B0X5B56Fg+LhPgWxAAAAAElFTkSuQmCC | ||||
| </value> | ||||
|   </data> | ||||
|   <metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> | ||||
|     <value>523, 17</value> | ||||
|   </metadata> | ||||
| </root> | ||||
		Reference in New Issue
	
	Block a user
	 chi
					chi