This commit is contained in:
chi
2022-07-20 11:43:55 +09:00
parent 38a681000f
commit f96c853911
26 changed files with 14146 additions and 1442 deletions

View File

@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
// 지정되도록 할 수 있습니다.
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("22.07.04.0930")]
[assembly: AssemblyFileVersion("22.07.04.0930")]
[assembly: AssemblyVersion("22.07.20.1130")]
[assembly: AssemblyFileVersion("22.07.20.1130")]

View File

@@ -82,11 +82,13 @@
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem10 = new System.Windows.Forms.ToolStripSeparator();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem11 = new System.Windows.Forms.ToolStripSeparator();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.personalInventoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.mn_docu = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -132,8 +134,6 @@
this.toolStripMenuItem6 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.toolStripMenuItem11 = new System.Windows.Forms.ToolStripSeparator();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.cmTab.SuspendLayout();
this.statusStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout();
@@ -213,8 +213,8 @@
this.ToolStripMenuItem,
this.ToolStripMenuItem,
this.btDev,
this.ToolStripMenuItem,
this.ToolStripMenuItem});
this.ToolStripMenuItem,
this.ToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(1, 1);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(1094, 27);
@@ -572,13 +572,6 @@
this.ToolStripMenuItem.Text = "개인별 근태 원장";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// 근태입력오류확인ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "근태입력오류확인ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(248, 24);
this.ToolStripMenuItem.Text = "근태 입력 오류 확인";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// toolStripMenuItem10
//
this.toolStripMenuItem10.Name = "toolStripMenuItem10";
@@ -607,6 +600,25 @@
this.ToolStripMenuItem.Visible = false;
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// toolStripMenuItem11
//
this.toolStripMenuItem11.Name = "toolStripMenuItem11";
this.toolStripMenuItem11.Size = new System.Drawing.Size(245, 6);
//
// 근태입력오류확인ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "근태입력오류확인ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(248, 24);
this.ToolStripMenuItem.Text = "근태 입력 오류 확인";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// 근태마감ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "근태마감ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(248, 24);
this.ToolStripMenuItem.Text = "근태 마감";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// personalInventoryToolStripMenuItem
//
this.personalInventoryToolStripMenuItem.ForeColor = System.Drawing.Color.Tomato;
@@ -1004,18 +1016,6 @@
this.toolStripButton2.Text = "품목정보";
this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click_1);
//
// toolStripMenuItem11
//
this.toolStripMenuItem11.Name = "toolStripMenuItem11";
this.toolStripMenuItem11.Size = new System.Drawing.Size(245, 6);
//
// 근태마감ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "근태마감ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(248, 24);
this.ToolStripMenuItem.Text = "근태 마감";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// fMain
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;

View File

@@ -69,15 +69,21 @@ namespace Project
//catch { }
}
bool closeforce = false;
private void __Closing(object sender, FormClosingEventArgs e)
{
MessageWindow.CloseAll();
if (closeforce == false)
{
var rlt = Util.MsgQ(Lang.Question_Exit);
if (rlt != DialogResult.Yes)
{
e.Cancel = true;
return;
}
}
////close redis
//if (this.redisConnection != null && this.redisConnection.IsConnected && this.db != null)
@@ -979,7 +985,10 @@ namespace Project
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
//업무현황 전자실
//menu_work_eboard();
Util.MsgE("자스민 이용하세요!!");
string formkey = "EBOARD";
if (!ShowForm(formkey))
AddForm(formkey, new FPJ0000.fEboardList(), "ALL");
}
@@ -1111,7 +1120,8 @@ namespace Project
if (verchk < 0)
{
//내버젼이 낮다
Util.MsgE("현재 구 버젼을 사용하고 있습니다.\n업데이트를 하고 사용하시기 바랍니다");
if (Util.MsgQ("현재 구 버젼을 사용하고 있습니다.\n업데이트를 할까요?") == DialogResult.OK)
UpdateRun();
}
else
{
@@ -1119,7 +1129,7 @@ namespace Project
"서버 : " + MaxVerstion + "\n" +
"현재 : " + curversion);
}
}
} else Util.MsgE("버젼 확인 불가");
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
@@ -1127,5 +1137,36 @@ namespace Project
var f = new FCOMMON.fMagam();
f.ShowDialog();
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
closeforce = true;
UpdateRun();
}
void UpdateRun()
{
var pn = System.Diagnostics.Process.GetCurrentProcess().ProcessName;
System.Text.StringBuilder script = new StringBuilder();
script.AppendLine($"echo \" \"");
script.AppendLine($"$nid = (get-process {pn}).id");
script.AppendLine($"echo \" (ID:$nid) \"");
script.AppendLine($"wait-process -id $nid");
var fn = $"{AppDomain.CurrentDomain.BaseDirectory}update.exe";
script.AppendLine($"echo \"start update {fn}\"");
script.AppendLine($"start-process \"{fn}\"");
byte[] byteArray = Encoding.Unicode.GetBytes(script.ToString());
string scriptBase64Encoded = Convert.ToBase64String(byteArray);
var processStartInfo = new System.Diagnostics.ProcessStartInfo()
{
FileName = "powershell.exe",
Arguments = $"-NoProfile -ExecutionPolicy unrestricted -EncodedCommand {scriptBase64Encoded}",
UseShellExecute = false
};
System.Diagnostics.Process.Start(processStartInfo);
Application.Exit();
//this.Close();
}
}
}

View File

@@ -153,6 +153,83 @@
Mi4wAwEBAAAh+QQBAAAXACwAAAAAEAAQAAAIggAvCBwo0IJBCwQTFqwAAQEDhAoXTpgoYQDEhBYqTKDA
kYKEBRclciRAoMEDCREuZtw40oKCCihVauxIIYEBmCkJruxYoWfMggYPsOyJU+WAABMqCJDgM+eFg0iV
Aigg4WfBo0kFADAYwWnBABSkQjSIcYDYiAMtBHCwFW3ag24HBgQAOw==
</value>
</data>
<data name="commonToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAP/umP/eN//kV//riOuzSuujJ+usOuu3VuvKgf/0uf/yq+ucF//bJf/pfOvOiO/O
fP/52//ZGP/UAP/haf/ma//hR//ncevDceu8YP39/OuuQP/rp//pdP/nZf///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIkAA/CByYwUOGgQgTfvDgwINChQw9IHD4UGBEABAuUETo
oaNEDxg1erTo4IGDiQAGNFCA4QABAg4jdkxpoYOABAkUGKD4UaUFARUCMLCwk6NGCkADRKBQNKEHDB6E
RpDQlCNUoRYkSJhQYKPFAyqZThjbleMBDxw07CxQYMKGBRs9vNTQcaGHBXjjjuS4t2LFgAA7
</value>
</data>
<data name="managementToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQQAP/cpv/GcNvb292RIP+kG/+5T6m5rMStgK13Jv+wOt2TJKmwrP/zcZOru////wAA
AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAQACwAAAAAEAAQAAAIZQAhCBxIsKBABgQBGCTIoCEEBgEWDmRAgMAAAwUgKJQ4
QIEDBwciSmw4QMDHBRIBBCiQAIGABw8aSBSosgHMmCkH2oQpc6bAnTh9QgDa0ydRoUMffCw6s4FJB0wl
OoWKdGiDBgEBADs=
</value>
</data>
<data name="mn_docu.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAJrM+3OSsKfS++zx9uXt9Yis1FdwkZW51ElVa8fj/bba/NXb5PL2+o276b3d/VJh
e7TR4ENLXNXn8KLD536kwIyzzJ/E2KjL3t7n7ykxQz5FVa/W/OLp8I+w1P///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAItgA9CBxIcOCHgx4kQIBwwcKBChQiBgjgASEECQQGZNRI
oGMDAxU9QCCQoGRJBygZNPgo8AKDBB1iyuzAoOYDgRZeonSgoGfPDQxuejjwcsLMAkgFBBVY4aVPBRui
ClCKQCCFojGRIm0ggEBVDxQG8IQqdSoAAhGsijWqdSsADmk9BBBLdqoAAHgxaBAYgAHPsnjxDtjrwcAC
Bhw5KOaAYQCEDHwNSH7wAAGCCBE0aMggtKBnggEBADs=
</value>
</data>
<data name="기타ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAKnrVsfvlYnVOHy8KnfJLJneRWqyJLvth1W7GzGTEVWnHT2aFIPNMkuiGmrKJGKt
Io7eOXa5KU64GDiWE1yqIHK3KHa5J0WeGGC/IG+1JW/FKGjCJHnRLWrOIP///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIqwA/CBTooeDAgwg9DFjoAWHCAQEAFBjQ0CHBAQAEFLBQ
8WDBjxEARPjY8YPChREiZshg4EFJhQFiFmBQAAIECh8vLoTAgAEBAgIUeGhwoaHCghUE/NTAgcCFAxAW
GDWZQamGDRgwIEAgYUJBjh4MCODAAYODBRMkSEhQMAJLARQUNODgwGsCtiYjHBDgsuCCDl4NmqxQAK7R
v3gHemD5QK4HtBMSEyRplOTBgAA7
</value>
</data>
<data name="즐겨찾기ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIMPAEWi6azap1WzS9LusYrSbApexXLHV+z41vH559Ltw8ns+pe75hBs0iCZEP//////
/yH/C05FVFNDQVBFMi4wAwEBAAAh+QQBAAAPACwAAAAAEAAQAAAIiwAfCBxIsKDBBw4SOjg4MGGDBgwY
JDzo4OEBBAgUMGiwkGBFBAcODAAAYMEAjh4ZIBgwQAAAAgZOdkTIQEGCAQRICoAZACVNBQACkHxpQEDP
jg5qLhgKQIDTowIrJoA5NGKDABIbNpjqlEGBAguyag3QEiLYsDOjPgwQYEFYsQUdRpSY1qDCugzzBgQA
Ow==
</value>
</data>
<data name="btDev.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAKxoR8VkLxFw1feVPITSWv+eQv7Qo0Cc6OyIN/v7+3PLTSCZEFy17Wa6XuT1x2bG
Q3nNUU6vRXPAa9mLXMTkwJZEHJt7LL5aJ/z8/O2KONx3L/ubP/r6+rtVI////////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIpgA/CBxIsOBADBgEeljoweAHDB06eIi4QICAhRwOdjAQ
kaMDCgwELOiQ8WGHAQYMFIjIgMEBCBEzQkSwoUCBCR0OSGigIKZJDQM2cKxwoAGBBx0ykISoIcOGiAcO
EFCAVCkHphueAtgaIYKFpks7NM0qFIDFCxk0kPyQQCzZiB0CbLAqsO1YslnTrq0r9m4GvSUHcoioobDa
vQU5DIar2KFgxYEHBgQAOw==
</value>
</data>
<data name="버젼확인ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAGm6/idTd4yTmF+v8Xa37KvW+lyh3KHJ62aq41ee2bXZ98nm/2mt5W2Ck5XN/C1c
hEZieho8WXXA/2Gn4P39/W+y6V+l3qjP8Njt/lx2izxPYGyv51Oa1EJWZ////////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIqgA/CPzgoaBBDwMTEoQgoGGDBhAQKvSQAcOCBQUcaHwg
USBFDARCEqhQgYEEjh47gKxwweAFBAgkREDooYMCAhs8XGCAwMOEmB1o2qywYSdMnxMABCVocwMDngUP
GLAAYCZTBTARHPAgdWpVoQV+TrBgoGwCA1+ZOkgwduuBBAk4pCWogUBcDnjxAgjQkS4BAAMCD9jrgcJE
DQ8eBAjwYKZhhQQPFoRMuXJAADs=
</value>
</data>
<data name="설명서ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQAAP/99v/qaOvOSem4M+zSSv/ypf/ug//1w//2zP/xnv/te//zrf/0uv/41/nWdufB
MP/vkevTVf/rcv/0s//wlv/57OvRM//vi+/OQtaXIuuYEuvTLNyhJ+vHUP///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIoAA/CBxIsCBBDwgTKizogUCEhwQIYLBgYYOHgR4cKPQA
oMEBBAgsfsjoAQGDCQsKJEhAAcKBChYQajyZkiWECwYMAHiAkAAAlCop4FRA9ABPDxgqABVqQIGEpxQG
IMTQoCaEphICaFXAAaEABCmZZtUawECGi0gRHGigloFWCgzOYhRAt0OHASg1yD24cUAFDRcNMhwAWLBB
D4UNMwz8ISAAOw==
</value>
</data>
<data name="codesToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -173,15 +250,6 @@
gYDHjyAJKNjogQIBChoQZAgQAEGCiQUOKFxAIEMEDhsQPEDAQEKDBzI9dKiZIYOFowwENPg5QeHQlRIi
SJAwYIADBwWaegCQIMAACQEEKK2KFYNCrgMihBXbwEHVBGY9GFCQIEGBu3jvKrhw1oBfCBAOHJgwAQOG
CyQdKlaIsLHjggEBADs=
</value>
</data>
<data name="commonToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAP/umP/eN//kV//riOuzSuujJ+usOuu3VuvKgf/0uf/yq+ucF//bJf/pfOvOiO/O
fP/52//ZGP/UAP/haf/ma//hR//ncevDceu8YP39/OuuQP/rp//pdP/nZf///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIkAA/CByYwUOGgQgTfvDgwINChQw9IHD4UGBEABAuUETo
oaNEDxg1erTo4IGDiQAGNFCA4QABAg4jdkxpoYOABAkUGKD4UaUFARUCMLCwk6NGCkADRKBQNKEHDB6E
RpDQlCNUoRYkSJhQYKPFAyqZThjbleMBDxw07CxQYMKGBRs9vNTQcaGHBXjjjuS4t2LFgAA7
</value>
</data>
<data name="mn_purchase.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -297,74 +365,6 @@
h58L4755nzwWACmRSEixWEynl0gQtXWDq9efcWesTLPb7RZmkg1AikQiUigU0uklEoREZl63mEkW430F
g0EHv2mdHpgsyzvNJMvHQ/n9fofX69XJ7HK5bGaSrfBQPNXBzU92nQFgfwCJli/+LKS33wAAAABJRU5E
rkJggg==
</value>
</data>
<data name="managementToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQQAP/cpv/GcNvb292RIP+kG/+5T6m5rMStgK13Jv+wOt2TJKmwrP/zcZOru////wAA
AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAQACwAAAAAEAAQAAAIZQAhCBxIsKBABgQBGCTIoCEEBgEWDmRAgMAAAwUgKJQ4
QIEDBwciSmw4QMDHBRIBBCiQAIGABw8aSBSosgHMmCkH2oQpc6bAnTh9QgDa0ydRoUMffCw6s4FJB0wl
OoWKdGiDBgEBADs=
</value>
</data>
<data name="mn_docu.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAJrM+3OSsKfS++zx9uXt9Yis1FdwkZW51ElVa8fj/bba/NXb5PL2+o276b3d/VJh
e7TR4ENLXNXn8KLD536kwIyzzJ/E2KjL3t7n7ykxQz5FVa/W/OLp8I+w1P///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAItgA9CBxIcOCHgx4kQIBwwcKBChQiBgjgASEECQQGZNRI
oGMDAxU9QCCQoGRJBygZNPgo8AKDBB1iyuzAoOYDgRZeonSgoGfPDQxuejjwcsLMAkgFBBVY4aVPBRui
ClCKQCCFojGRIm0ggEBVDxQG8IQqdSoAAhGsijWqdSsADmk9BBBLdqoAAHgxaBAYgAHPsnjxDtjrwcAC
Bhw5KOaAYQCEDHwNSH7wAAGCCBE0aMggtKBnggEBADs=
</value>
</data>
<data name="기타ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAKnrVsfvlYnVOHy8KnfJLJneRWqyJLvth1W7GzGTEVWnHT2aFIPNMkuiGmrKJGKt
Io7eOXa5KU64GDiWE1yqIHK3KHa5J0WeGGC/IG+1JW/FKGjCJHnRLWrOIP///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIqwA/CBTooeDAgwg9DFjoAWHCAQEAFBjQ0CHBAQAEFLBQ
8WDBjxEARPjY8YPChREiZshg4EFJhQFiFmBQAAIECh8vLoTAgAEBAgIUeGhwoaHCghUE/NTAgcCFAxAW
GDWZQamGDRgwIEAgYUJBjh4MCODAAYODBRMkSEhQMAJLARQUNODgwGsCtiYjHBDgsuCCDl4NmqxQAK7R
v3gHemD5QK4HtBMSEyRplOTBgAA7
</value>
</data>
<data name="즐겨찾기ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIMPAEWi6azap1WzS9LusYrSbApexXLHV+z41vH559Ltw8ns+pe75hBs0iCZEP//////
/yH/C05FVFNDQVBFMi4wAwEBAAAh+QQBAAAPACwAAAAAEAAQAAAIiwAfCBxIsKDBBw4SOjg4MGGDBgwY
JDzo4OEBBAgUMGiwkGBFBAcODAAAYMEAjh4ZIBgwQAAAAgZOdkTIQEGCAQRICoAZACVNBQACkHxpQEDP
jg5qLhgKQIDTowIrJoA5NGKDABIbNpjqlEGBAguyag3QEiLYsDOjPgwQYEFYsQUdRpSY1qDCugzzBgQA
Ow==
</value>
</data>
<data name="btDev.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAKxoR8VkLxFw1feVPITSWv+eQv7Qo0Cc6OyIN/v7+3PLTSCZEFy17Wa6XuT1x2bG
Q3nNUU6vRXPAa9mLXMTkwJZEHJt7LL5aJ/z8/O2KONx3L/ubP/r6+rtVI////////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIpgA/CBxIsOBADBgEeljoweAHDB06eIi4QICAhRwOdjAQ
kaMDCgwELOiQ8WGHAQYMFIjIgMEBCBEzQkSwoUCBCR0OSGigIKZJDQM2cKxwoAGBBx0ykISoIcOGiAcO
EFCAVCkHphueAtgaIYKFpks7NM0qFIDFCxk0kPyQQCzZiB0CbLAqsO1YslnTrq0r9m4GvSUHcoioobDa
vQU5DIar2KFgxYEHBgQAOw==
</value>
</data>
<data name="설명서ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQAAP/99v/qaOvOSem4M+zSSv/ypf/ug//1w//2zP/xnv/te//zrf/0uv/41/nWdufB
MP/vkevTVf/rcv/0s//wlv/57OvRM//vi+/OQtaXIuuYEuvTLNyhJ+vHUP///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIoAA/CBxIsCBBDwgTKizogUCEhwQIYLBgYYOHgR4cKPQA
oMEBBAgsfsjoAQGDCQsKJEhAAcKBChYQajyZkiWECwYMAHiAkAAAlCop4FRA9ABPDxgqABVqQIGEpxQG
IMTQoCaEphICaFXAAaEABCmZZtUawECGi0gRHGigloFWCgzOYhRAt0OHASg1yD24cUAFDRcNMhwAWLBB
D4UNMwz8ISAAOw==
</value>
</data>
<data name="버젼확인ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAGm6/idTd4yTmF+v8Xa37KvW+lyh3KHJ62aq41ee2bXZ98nm/2mt5W2Ck5XN/C1c
hEZieho8WXXA/2Gn4P39/W+y6V+l3qjP8Njt/lx2izxPYGyv51Oa1EJWZ////////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIqgA/CPzgoaBBDwMTEoQgoGGDBhAQKvSQAcOCBQUcaHwg
USBFDARCEqhQgYEEjh47gKxwweAFBAgkREDooYMCAhs8XGCAwMOEmB1o2qywYSdMnxMABCVocwMDngUP
GLAAYCZTBTARHPAgdWpVoQV+TrBgoGwCA1+ZOkgwduuBBAk4pCWogUBcDnjxAgjQkS4BAAMCD9jrgcJE
DQ8eBAjwYKZhhQQPFoRMuXJAADs=
</value>
</data>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

View File

@@ -63,13 +63,13 @@ namespace FBS0000.Holiday
this.panel2 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.dtED = new System.Windows.Forms.DateTimePicker();
this.dtSD = new System.Windows.Forms.DateTimePicker();
this.button3 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.panel4 = new System.Windows.Forms.Panel();
this.panel5 = new System.Windows.Forms.Panel();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.dtSD = new System.Windows.Forms.DateTimePicker();
this.dtED = new System.Windows.Forms.DateTimePicker();
this.lvOK = new System.Windows.Forms.ListView();
this.columnHeader7 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader8 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
@@ -79,6 +79,8 @@ namespace FBS0000.Holiday
this.columnHeader12 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.columnHeader13 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader14 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.panel2.SuspendLayout();
@@ -315,7 +317,8 @@ namespace FBS0000.Holiday
this.columnHeader2,
this.columnHeader3,
this.columnHeader4,
this.columnHeader5});
this.columnHeader5,
this.columnHeader14});
this.lvNG.Dock = System.Windows.Forms.DockStyle.Fill;
this.lvNG.HideSelection = false;
this.lvNG.Location = new System.Drawing.Point(3, 17);
@@ -397,6 +400,53 @@ namespace FBS0000.Holiday
this.groupBox3.TabStop = false;
this.groupBox3.Text = "검사기간";
//
// dtED
//
this.dtED.Location = new System.Drawing.Point(223, 20);
this.dtED.Name = "dtED";
this.dtED.Size = new System.Drawing.Size(200, 21);
this.dtED.TabIndex = 8;
//
// dtSD
//
this.dtSD.Location = new System.Drawing.Point(17, 20);
this.dtSD.Name = "dtSD";
this.dtSD.Size = new System.Drawing.Size(200, 21);
this.dtSD.TabIndex = 7;
//
// button3
//
this.button3.Dock = System.Windows.Forms.DockStyle.Right;
this.button3.Location = new System.Drawing.Point(431, 17);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(100, 29);
this.button3.TabIndex = 6;
this.button3.Text = "<< 이전달";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// button2
//
this.button2.Dock = System.Windows.Forms.DockStyle.Right;
this.button2.Location = new System.Drawing.Point(531, 17);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(100, 29);
this.button2.TabIndex = 5;
this.button2.Text = "이번달";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click_1);
//
// button1
//
this.button1.Dock = System.Windows.Forms.DockStyle.Right;
this.button1.Location = new System.Drawing.Point(631, 17);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(100, 29);
this.button1.TabIndex = 4;
this.button1.Text = "다음달 >>";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click_1);
//
// panel4
//
this.panel4.Dock = System.Windows.Forms.DockStyle.Top;
@@ -413,53 +463,6 @@ namespace FBS0000.Holiday
this.panel5.Size = new System.Drawing.Size(734, 10);
this.panel5.TabIndex = 22;
//
// button1
//
this.button1.Dock = System.Windows.Forms.DockStyle.Right;
this.button1.Location = new System.Drawing.Point(631, 17);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(100, 29);
this.button1.TabIndex = 4;
this.button1.Text = "다음달 >>";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click_1);
//
// button2
//
this.button2.Dock = System.Windows.Forms.DockStyle.Right;
this.button2.Location = new System.Drawing.Point(531, 17);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(100, 29);
this.button2.TabIndex = 5;
this.button2.Text = "이번달";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click_1);
//
// button3
//
this.button3.Dock = System.Windows.Forms.DockStyle.Right;
this.button3.Location = new System.Drawing.Point(431, 17);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(100, 29);
this.button3.TabIndex = 6;
this.button3.Text = "<< 이전달";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// dtSD
//
this.dtSD.Location = new System.Drawing.Point(17, 20);
this.dtSD.Name = "dtSD";
this.dtSD.Size = new System.Drawing.Size(200, 21);
this.dtSD.TabIndex = 7;
//
// dtED
//
this.dtED.Location = new System.Drawing.Point(223, 20);
this.dtED.Name = "dtED";
this.dtED.Size = new System.Drawing.Size(200, 21);
this.dtED.TabIndex = 8;
//
// lvOK
//
this.lvOK.BackColor = System.Drawing.Color.Silver;
@@ -469,7 +472,8 @@ namespace FBS0000.Holiday
this.columnHeader9,
this.columnHeader10,
this.columnHeader11,
this.columnHeader12});
this.columnHeader12,
this.columnHeader13});
this.lvOK.Dock = System.Windows.Forms.DockStyle.Fill;
this.lvOK.HideSelection = false;
this.lvOK.Location = new System.Drawing.Point(3, 17);
@@ -531,6 +535,14 @@ namespace FBS0000.Holiday
this.groupBox5.TabStop = false;
this.groupBox5.Text = "불량 (불일치 데이터가 있는 날짜 입니다)";
//
// columnHeader13
//
this.columnHeader13.Text = "구분";
//
// columnHeader14
//
this.columnHeader14.Text = "구분";
//
// fErrorChk
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@@ -619,5 +631,7 @@ namespace FBS0000.Holiday
private System.Windows.Forms.ColumnHeader columnHeader12;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.ColumnHeader columnHeader13;
private System.Windows.Forms.ColumnHeader columnHeader14;
}
}

View File

@@ -111,17 +111,37 @@ namespace FBS0000.Holiday
//휴가신청확인
cmd.CommandText = "select sum(HolyDays),sum(HolyTimes) from EETGW_HolydayRequest where gcode = @gcode and sdate = '{0}' and isnull(conf,0) = 1";
cmd.CommandText = "select cate,sum(HolyDays),sum(HolyTimes) from EETGW_HolydayRequest where gcode = @gcode and sdate = '{0}' and isnull(conf,0) = 1 group by cate";
cmd.CommandText = string.Format(cmd.CommandText, pdate);
var dar = cmd.ExecuteReader();
double val_day = 0;
double val_time = 0;
Dictionary<string, double> catelistd = new Dictionary<string, double>();
Dictionary<string, double> catelistt = new Dictionary<string, double>();
while (dar.Read())
{
var str_day = dar[0].ToString();
var str_time = dar[1].ToString();
if (string.IsNullOrEmpty(str_day) == false) val_day = double.Parse(str_day);
if (string.IsNullOrEmpty(str_time) == false) val_time = double.Parse(str_time);
var str_cate = dar[0].ToString();
var str_day = dar[1].ToString();
var str_time = dar[2].ToString();
var v_day = 0.0;
var v_time = 0.0;
v_day += double.Parse(str_day);
v_time += double.Parse(str_time);
val_day += v_day;
val_time += v_time;
if (v_day != 0.0 && catelistd.ContainsKey(str_cate))
catelistd[str_cate] = catelistd[str_cate] + v_day;
else
catelistd.Add(str_cate, v_day);
if (v_time != 0.0 && catelistt.ContainsKey(str_cate))
catelistt[str_cate] = catelistt[str_cate] + v_time;
else
catelistt.Add(str_cate, v_time);
}
textBox3.Tag = val_day;// db_jobreport.Sum(t => t.kisulamt);
textBox3.Text = textBox3.Tag.ToString();
@@ -131,9 +151,11 @@ namespace FBS0000.Holiday
//근태입력자료확인
cmd.CommandText = "select sum(term) ,sum(crtime),sum(termdr),sum(drtime)" +
cmd.CommandText = "select cate,sum(term) ,sum(crtime),sum(termdr),sum(drtime)" +
" from Holyday " +
" where gcode = @gcode and sdate = '{0}' and isnull(extidx,-1) <> -1";
" where gcode = @gcode and sdate = '{0}' and isnull(extidx,-1) <> -1" +
" group by cate";
cmd.CommandText = string.Format(cmd.CommandText, pdate);
dar = cmd.ExecuteReader();
@@ -141,20 +163,141 @@ namespace FBS0000.Holiday
val_time = 0;
double val_day_dr = 0;
double val_time_dr = 0;
Dictionary<string, double> d_drd = new Dictionary<string, double>();
Dictionary<string, double> d_drt = new Dictionary<string, double>();
Dictionary<string, double> d_crd = new Dictionary<string, double>();
Dictionary<string, double> d_crt = new Dictionary<string, double>();
double v_crd, v_crt, v_drd, v_drt;
System.Text.StringBuilder sbcate = new StringBuilder();
while (dar.Read())
{
var str_day_cr = dar[0].ToString();
var str_time_cr = dar[1].ToString();
var str_day_dr = dar[2].ToString();
var str_time_dr = dar[3].ToString();
v_crd = v_crt = v_drd = v_drt = 0.0;
var str_cate = dar[0].ToString();
var str_day_cr = dar[1].ToString();
var str_time_cr = dar[2].ToString();
var str_day_dr = dar[3].ToString();
var str_time_dr = dar[4].ToString();
if (string.IsNullOrEmpty(str_day_cr) == false) val_day = double.Parse(str_day_cr);
if (string.IsNullOrEmpty(str_time_cr) == false) val_time = double.Parse(str_time_cr);
if (string.IsNullOrEmpty(str_day_cr) == false) v_crd = double.Parse(str_day_cr);
if (string.IsNullOrEmpty(str_time_cr) == false) v_crt = double.Parse(str_time_cr);
if (string.IsNullOrEmpty(str_day_dr) == false) val_day_dr = double.Parse(str_day_dr);
if (string.IsNullOrEmpty(str_time_dr) == false) val_time_dr = double.Parse(str_time_dr);
if (string.IsNullOrEmpty(str_day_dr) == false) v_drd = double.Parse(str_day_dr);
if (string.IsNullOrEmpty(str_time_dr) == false) v_drt = double.Parse(str_time_dr);
if (d_crd.ContainsKey(str_cate))
d_crd[str_cate] = d_crd[str_cate] + v_crd;
else
d_crd.Add(str_cate, v_crd);
if (d_crt.ContainsKey(str_cate))
d_crt[str_cate] = d_crt[str_cate] + v_crt;
else
d_crt.Add(str_cate, v_crt);
if (d_drd.ContainsKey(str_cate))
d_drd[str_cate] = d_drd[str_cate] + v_drd;
else
d_drd.Add(str_cate, v_drd);
if (d_drt.ContainsKey(str_cate))
d_drt[str_cate] = d_drt[str_cate] + v_drt;
else
d_drt.Add(str_cate, v_drt);
val_day += v_crd;// double.Parse(str_day_cr);
val_time += v_crt;// double.Parse(str_time_cr);
val_day_dr += v_drd;// double.Parse(str_day_dr);
val_time_dr += v_drt;// double.Parse(str_time_dr);
}
dar.Close();
//카테고리별데이터확인 (대변[CR]자료를 대상으로함)
bool cateerr = false;
foreach (var item in catelistd)
{
if (d_crd.ContainsKey(item.Key) == false)
{
sbcate.Append($"{item.Key}(X)");
cateerr = true;
break;
}
else
{
if (d_crd[item.Key] != item.Value)
{
sbcate.Append($"{item.Key}({d_crd[item.Key]}|{item.Value})");
cateerr = true;
break;
}
}
}
if (cateerr == false)
{
foreach (var item in catelistt)
{
if (d_crt.ContainsKey(item.Key) == false)
{
sbcate.Append($"{item.Key}(X)");
cateerr = true;
break;
}
else
{
if (d_crt[item.Key] != item.Value)
{
sbcate.Append($"{item.Key}({d_crt[item.Key]}|{item.Value})");
cateerr = true;
break;
}
}
}
}
if (cateerr == false)
{
foreach (var item in d_crd)
{
if (item.Key.Equals("대체")) continue;
if (catelistd.ContainsKey(item.Key) == false)
{
sbcate.Append($"{item.Key}(X)");
cateerr = true;
break;
}
else
{
if (catelistd[item.Key] != item.Value)
{
sbcate.Append($"{item.Key}({catelistd[item.Key]}|{item.Value})");
cateerr = true;
break;
}
}
}
}
if (cateerr == false)
{
foreach (var item in d_crt)
{
if (item.Key.Equals("대체")) continue;
if (catelistt.ContainsKey(item.Key) == false)
{
sbcate.Append($"{item.Key}(X)");
cateerr = true;
break;
}
else
{
if (catelistt[item.Key] != item.Value)
{
sbcate.Append($"{item.Key}({catelistt[item.Key]}|{item.Value})");
cateerr = true;
break;
}
}
}
}
textBox6.Tag = val_day;// db_jobreport.Sum(t => t.kisulamt);
textBox6.Text = textBox6.Tag.ToString();
textBox5.Tag = val_time;// db_jobreport.Sum(t => t.kisulamt);
@@ -170,6 +313,7 @@ namespace FBS0000.Holiday
if (textBox2.Text.Equals(textBox7.Text) == false) dataError = true;
if (textBox3.Text.Equals(textBox6.Text) == false) dataError = true;
if (textBox4.Text.Equals(textBox5.Text) == false) dataError = true;
if (cateerr) dataError = true;
ListViewItem lv = dataError ? this.lvNG.Items.Add(pdate) : this.lvOK.Items.Add(pdate);
@@ -178,6 +322,7 @@ namespace FBS0000.Holiday
lv.SubItems.Add($"{textBox2.Text}/{textBox7.Text}");
lv.SubItems.Add($"{textBox3.Text}/{textBox6.Text}");
lv.SubItems.Add($"{textBox4.Text}/{textBox5.Text}");
lv.SubItems.Add(sbcate.ToString());
if (dataError)
{

View File

@@ -117,4 +117,121 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="btChk.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="btCorr.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="progressBar1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="tbDate.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="textBox2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label5.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="textBox3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label6.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label7.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="textBox4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label8.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupBox2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="textBox7.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="textBox8.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label10.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="textBox5.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label9.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="textBox6.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label11.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="label12.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="lvNG.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="panel1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="panel2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="panel3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupBox3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dtED.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dtSD.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="button3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="button2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="button1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="panel4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="panel5.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="lvOK.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupBox4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupBox5.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

4018
SubProject/FPJ0000/DSEboard.Designer.cs generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!--<autogenerated>
This code was generated by a tool.
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TableUISettings />
</DataSetUISetting>

View File

@@ -0,0 +1,465 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="DSEboard" targetNamespace="http://tempuri.org/DSEboard.xsd" xmlns:mstns="http://tempuri.org/DSEboard.xsd" xmlns="http://tempuri.org/DSEboard.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:annotation>
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
<DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<Connections>
<Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="gwcs" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="gwcs (Settings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.FPJ0000.Properties.Settings.GlobalReference.Default.gwcs" Provider="System.Data.SqlClient" />
</Connections>
<Tables>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="EETGW_JobReport_EBoardTableAdapter" GeneratorDataComponentClassName="EETGW_JobReport_EBoardTableAdapter" Name="EETGW_JobReport_EBoard" UserDataComponentName="EETGW_JobReport_EBoardTableAdapter">
<MainSource>
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.EETGW_JobReport_EBoard" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>DELETE FROM [EETGW_JobReport_EBoard] WHERE (([idx] = @Original_idx) AND ([gcode] = @Original_gcode) AND ((@IsNull_pdate = 1 AND [pdate] IS NULL) OR ([pdate] = @Original_pdate)) AND ((@IsNull_uid = 1 AND [uid] IS NULL) OR ([uid] = @Original_uid)) AND ((@IsNull_Site = 1 AND [Site] IS NULL) OR ([Site] = @Original_Site)) AND ((@IsNull_요청자 = 1 AND [요청자] IS NULL) OR ([요청자] = @Original_요청자)) AND ((@IsNull_수리완료일 = 1 AND [수리완료일] IS NULL) OR ([수리완료일] = @Original_수리완료일)) AND ((@IsNull_Status = 1 AND [Status] IS NULL) OR ([Status] = @Original_Status)) AND ((@IsNull_분류 = 1 AND [분류] IS NULL) OR ([분류] = @Original_분류)) AND ((@IsNull_Line = 1 AND [Line] IS NULL) OR ([Line] = @Original_Line)) AND ((@IsNull_Division = 1 AND [Division] IS NULL) OR ([Division] = @Original_Division)) AND ((@IsNull_Team = 1 AND [Team] IS NULL) OR ([Team] = @Original_Team)) AND ((@IsNull_Process = 1 AND [Process] IS NULL) OR ([Process] = @Original_Process)) AND ((@IsNull_Equipment = 1 AND [Equipment] IS NULL) OR ([Equipment] = @Original_Equipment)) AND ((@IsNull_Model = 1 AND [Model] IS NULL) OR ([Model] = @Original_Model)) AND ((@IsNull_BoardName = 1 AND [BoardName] IS NULL) OR ([BoardName] = @Original_BoardName)) AND ((@IsNull_BoardVender = 1 AND [BoardVender] IS NULL) OR ([BoardVender] = @Original_BoardVender)) AND ((@IsNull_SN = 1 AND [SN] IS NULL) OR ([SN] = @Original_SN)) AND ((@IsNull_QTY = 1 AND [QTY] IS NULL) OR ([QTY] = @Original_QTY)) AND ((@IsNull_NPrice = 1 AND [NPrice] IS NULL) OR ([NPrice] = @Original_NPrice)) AND ((@IsNull_OPrice = 1 AND [OPrice] IS NULL) OR ([OPrice] = @Original_OPrice)) AND ((@IsNull_RepairCost = 1 AND [RepairCost] IS NULL) OR ([RepairCost] = @Original_RepairCost)) AND ((@IsNull_CostReduction = 1 AND [CostReduction] IS NULL) OR ([CostReduction] = @Original_CostReduction)) AND ((@IsNull_외주업체 = 1 AND [외주업체] IS NULL) OR ([외주업체] = @Original_외주업체)) AND ((@IsNull_RepairTime = 1 AND [RepairTime] IS NULL) OR ([RepairTime] = @Original_RepairTime)) AND ((@IsNull_memo = 1 AND [memo] IS NULL) OR ([memo] = @Original_memo)) AND ((@IsNull_import = 1 AND [import] IS NULL) OR ([import] = @Original_import)) AND ([wuid] = @Original_wuid) AND ([wdate] = @Original_wdate) AND ((@IsNull_refdata = 1 AND [refdata] IS NULL) OR ([refdata] = @Original_refdata)))</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_idx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_pdate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_uid" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_uid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Site" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Site" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Site" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Site" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_요청자" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="요청자" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_요청자" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="요청자" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_수리완료일" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="수리완료일" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_수리완료일" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="수리완료일" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Status" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_분류" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="분류" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_분류" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="분류" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Line" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Line" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Line" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Line" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Division" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Division" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Division" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Division" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Team" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Team" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Team" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Team" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Process" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Process" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Process" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Process" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Equipment" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Equipment" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Equipment" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Equipment" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Model" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Model" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Model" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Model" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_BoardName" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BoardName" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_BoardName" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardName" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_BoardVender" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BoardVender" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_BoardVender" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardVender" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_SN" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SN" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_SN" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="SN" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_QTY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="QTY" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_QTY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="QTY" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_NPrice" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NPrice" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_NPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="NPrice" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_OPrice" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OPrice" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_OPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="OPrice" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_RepairCost" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RepairCost" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_RepairCost" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="RepairCost" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CostReduction" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CostReduction" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_CostReduction" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="CostReduction" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_외주업체" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="외주업체" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_외주업체" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="외주업체" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_RepairTime" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RepairTime" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_RepairTime" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="RepairTime" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_memo" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_memo" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_import" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="import" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_import" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="import" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_refdata" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="refdata" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_refdata" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="refdata" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</DeleteCommand>
<InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>INSERT INTO [EETGW_JobReport_EBoard] ([gcode], [pdate], [uid], [Site], [요청자], [수리완료일], [Status], [분류], [Line], [Division], [Team], [Process], [Equipment], [Model], [BoardName], [BoardVender], [원인], [결과], [SN], [QTY], [NPrice], [OPrice], [RepairCost], [CostReduction], [외주업체], [RepairTime], [memo], [import], [wuid], [wdate], [원인2], [결과2], [refdata]) VALUES (@gcode, @pdate, @uid, @Site, @요청자, @수리완료일, @Status, @분류, @Line, @Division, @Team, @Process, @Equipment, @Model, @BoardName, @BoardVender, @원인, @결과, @SN, @QTY, @NPrice, @OPrice, @RepairCost, @CostReduction, @외주업체, @RepairTime, @memo, @import, @wuid, @wdate, @원인2, @결과2, @refdata);
SELECT idx, gcode, pdate, uid, Site, 요청자, 수리완료일, Status, 분류, Line, Division, Team, Process, Equipment, Model, BoardName, BoardVender, 원인, 결과, SN, QTY, NPrice, OPrice, RepairCost, CostReduction, 외주업체, RepairTime, memo, import, wuid, wdate, 원인2, 결과2, refdata FROM EETGW_JobReport_EBoard WHERE (idx = SCOPE_IDENTITY())</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@uid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Site" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Site" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@요청자" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="요청자" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@수리완료일" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="수리완료일" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@분류" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="분류" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Line" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Line" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Division" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Division" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Team" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Team" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Process" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Process" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Equipment" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Equipment" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Model" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Model" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@BoardName" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardName" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@BoardVender" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardVender" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@원인" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="원인" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@결과" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="결과" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@SN" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="SN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@QTY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="QTY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@NPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="NPrice" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@OPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="OPrice" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@RepairCost" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="RepairCost" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@CostReduction" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="CostReduction" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@외주업체" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="외주업체" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@RepairTime" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="RepairTime" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@memo" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@import" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="import" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@원인2" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="원인2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@결과2" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="결과2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@refdata" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="refdata" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</InsertCommand>
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>SELECT idx, gcode, pdate, uid, Site, 요청자, 수리완료일, Status, 분류, Line, Division, Team, Process, Equipment, Model, BoardName, BoardVender, 원인, 결과, SN, QTY, NPrice, OPrice,
RepairCost, CostReduction, 외주업체, RepairTime, memo, import, wuid, wdate, 원인2, 결과2, refdata
FROM EETGW_JobReport_EBoard
WHERE (gcode = @gcode)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="gcode" ColumnName="gcode" DataSourceName="EE.dbo.EETGW_JobReport_EBoard" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
<UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>UPDATE [EETGW_JobReport_EBoard] SET [gcode] = @gcode, [pdate] = @pdate, [uid] = @uid, [Site] = @Site, [요청자] = @요청자, [수리완료일] = @수리완료일, [Status] = @Status, [분류] = @분류, [Line] = @Line, [Division] = @Division, [Team] = @Team, [Process] = @Process, [Equipment] = @Equipment, [Model] = @Model, [BoardName] = @BoardName, [BoardVender] = @BoardVender, [원인] = @원인, [결과] = @결과, [SN] = @SN, [QTY] = @QTY, [NPrice] = @NPrice, [OPrice] = @OPrice, [RepairCost] = @RepairCost, [CostReduction] = @CostReduction, [외주업체] = @외주업체, [RepairTime] = @RepairTime, [memo] = @memo, [import] = @import, [wuid] = @wuid, [wdate] = @wdate, [원인2] = @원인2, [결과2] = @결과2, [refdata] = @refdata WHERE (([idx] = @Original_idx) AND ([gcode] = @Original_gcode) AND ((@IsNull_pdate = 1 AND [pdate] IS NULL) OR ([pdate] = @Original_pdate)) AND ((@IsNull_uid = 1 AND [uid] IS NULL) OR ([uid] = @Original_uid)) AND ((@IsNull_Site = 1 AND [Site] IS NULL) OR ([Site] = @Original_Site)) AND ((@IsNull_요청자 = 1 AND [요청자] IS NULL) OR ([요청자] = @Original_요청자)) AND ((@IsNull_수리완료일 = 1 AND [수리완료일] IS NULL) OR ([수리완료일] = @Original_수리완료일)) AND ((@IsNull_Status = 1 AND [Status] IS NULL) OR ([Status] = @Original_Status)) AND ((@IsNull_분류 = 1 AND [분류] IS NULL) OR ([분류] = @Original_분류)) AND ((@IsNull_Line = 1 AND [Line] IS NULL) OR ([Line] = @Original_Line)) AND ((@IsNull_Division = 1 AND [Division] IS NULL) OR ([Division] = @Original_Division)) AND ((@IsNull_Team = 1 AND [Team] IS NULL) OR ([Team] = @Original_Team)) AND ((@IsNull_Process = 1 AND [Process] IS NULL) OR ([Process] = @Original_Process)) AND ((@IsNull_Equipment = 1 AND [Equipment] IS NULL) OR ([Equipment] = @Original_Equipment)) AND ((@IsNull_Model = 1 AND [Model] IS NULL) OR ([Model] = @Original_Model)) AND ((@IsNull_BoardName = 1 AND [BoardName] IS NULL) OR ([BoardName] = @Original_BoardName)) AND ((@IsNull_BoardVender = 1 AND [BoardVender] IS NULL) OR ([BoardVender] = @Original_BoardVender)) AND ((@IsNull_SN = 1 AND [SN] IS NULL) OR ([SN] = @Original_SN)) AND ((@IsNull_QTY = 1 AND [QTY] IS NULL) OR ([QTY] = @Original_QTY)) AND ((@IsNull_NPrice = 1 AND [NPrice] IS NULL) OR ([NPrice] = @Original_NPrice)) AND ((@IsNull_OPrice = 1 AND [OPrice] IS NULL) OR ([OPrice] = @Original_OPrice)) AND ((@IsNull_RepairCost = 1 AND [RepairCost] IS NULL) OR ([RepairCost] = @Original_RepairCost)) AND ((@IsNull_CostReduction = 1 AND [CostReduction] IS NULL) OR ([CostReduction] = @Original_CostReduction)) AND ((@IsNull_외주업체 = 1 AND [외주업체] IS NULL) OR ([외주업체] = @Original_외주업체)) AND ((@IsNull_RepairTime = 1 AND [RepairTime] IS NULL) OR ([RepairTime] = @Original_RepairTime)) AND ((@IsNull_memo = 1 AND [memo] IS NULL) OR ([memo] = @Original_memo)) AND ((@IsNull_import = 1 AND [import] IS NULL) OR ([import] = @Original_import)) AND ([wuid] = @Original_wuid) AND ([wdate] = @Original_wdate) AND ((@IsNull_refdata = 1 AND [refdata] IS NULL) OR ([refdata] = @Original_refdata)));
SELECT idx, gcode, pdate, uid, Site, 요청자, 수리완료일, Status, 분류, Line, Division, Team, Process, Equipment, Model, BoardName, BoardVender, 원인, 결과, SN, QTY, NPrice, OPrice, RepairCost, CostReduction, 외주업체, RepairTime, memo, import, wuid, wdate, 원인2, 결과2, refdata FROM EETGW_JobReport_EBoard WHERE (idx = @idx)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@uid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Site" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Site" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@요청자" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="요청자" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@수리완료일" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="수리완료일" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@분류" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="분류" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Line" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Line" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Division" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Division" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Team" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Team" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Process" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Process" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Equipment" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Equipment" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Model" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Model" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@BoardName" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardName" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@BoardVender" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardVender" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@원인" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="원인" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@결과" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="결과" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@SN" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="SN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@QTY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="QTY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@NPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="NPrice" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@OPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="OPrice" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@RepairCost" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="RepairCost" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@CostReduction" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="CostReduction" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@외주업체" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="외주업체" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@RepairTime" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="RepairTime" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@memo" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@import" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="import" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@원인2" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="원인2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@결과2" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="결과2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@refdata" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="refdata" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_idx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_pdate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_uid" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_uid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Site" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Site" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Site" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Site" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_요청자" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="요청자" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_요청자" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="요청자" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_수리완료일" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="수리완료일" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_수리완료일" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="수리완료일" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Status" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_분류" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="분류" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_분류" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="분류" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Line" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Line" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Line" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Line" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Division" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Division" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Division" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Division" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Team" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Team" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Team" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Team" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Process" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Process" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Process" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Process" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Equipment" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Equipment" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Equipment" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Equipment" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Model" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Model" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Model" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Model" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_BoardName" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BoardName" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_BoardName" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardName" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_BoardVender" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BoardVender" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_BoardVender" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardVender" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_SN" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SN" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_SN" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="SN" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_QTY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="QTY" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_QTY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="QTY" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_NPrice" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NPrice" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_NPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="NPrice" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_OPrice" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OPrice" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_OPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="OPrice" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_RepairCost" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RepairCost" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_RepairCost" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="RepairCost" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CostReduction" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CostReduction" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_CostReduction" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="CostReduction" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_외주업체" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="외주업체" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_외주업체" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="외주업체" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_RepairTime" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RepairTime" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_RepairTime" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="RepairTime" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_memo" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_memo" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_import" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="import" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_import" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="import" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_refdata" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="refdata" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_refdata" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="refdata" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="idx" ColumnName="idx" DataSourceName="EE.dbo.EETGW_JobReport_EBoard" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@idx" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</UpdateCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="idx" DataSetColumn="idx" />
<Mapping SourceColumn="gcode" DataSetColumn="gcode" />
<Mapping SourceColumn="pdate" DataSetColumn="pdate" />
<Mapping SourceColumn="uid" DataSetColumn="uid" />
<Mapping SourceColumn="Site" DataSetColumn="Site" />
<Mapping SourceColumn="요청자" DataSetColumn="요청자" />
<Mapping SourceColumn="수리완료일" DataSetColumn="수리완료일" />
<Mapping SourceColumn="Status" DataSetColumn="Status" />
<Mapping SourceColumn="분류" DataSetColumn="분류" />
<Mapping SourceColumn="Line" DataSetColumn="Line" />
<Mapping SourceColumn="Division" DataSetColumn="Division" />
<Mapping SourceColumn="Team" DataSetColumn="Team" />
<Mapping SourceColumn="Process" DataSetColumn="Process" />
<Mapping SourceColumn="Equipment" DataSetColumn="Equipment" />
<Mapping SourceColumn="Model" DataSetColumn="Model" />
<Mapping SourceColumn="BoardName" DataSetColumn="BoardName" />
<Mapping SourceColumn="BoardVender" DataSetColumn="BoardVender" />
<Mapping SourceColumn="원인" DataSetColumn="원인" />
<Mapping SourceColumn="결과" DataSetColumn="결과" />
<Mapping SourceColumn="SN" DataSetColumn="SN" />
<Mapping SourceColumn="QTY" DataSetColumn="QTY" />
<Mapping SourceColumn="NPrice" DataSetColumn="NPrice" />
<Mapping SourceColumn="OPrice" DataSetColumn="OPrice" />
<Mapping SourceColumn="RepairCost" DataSetColumn="RepairCost" />
<Mapping SourceColumn="CostReduction" DataSetColumn="CostReduction" />
<Mapping SourceColumn="외주업체" DataSetColumn="외주업체" />
<Mapping SourceColumn="RepairTime" DataSetColumn="RepairTime" />
<Mapping SourceColumn="memo" DataSetColumn="memo" />
<Mapping SourceColumn="import" DataSetColumn="import" />
<Mapping SourceColumn="wuid" DataSetColumn="wuid" />
<Mapping SourceColumn="wdate" DataSetColumn="wdate" />
<Mapping SourceColumn="원인2" DataSetColumn="원인2" />
<Mapping SourceColumn="결과2" DataSetColumn="결과2" />
<Mapping SourceColumn="refdata" DataSetColumn="refdata" />
</Mappings>
<Sources />
</TableAdapter>
</Tables>
<Sources />
</DataSource>
</xs:appinfo>
</xs:annotation>
<xs:element name="DSEboard" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DSEboard" msprop:Generator_UserDSName="DSEboard">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="EETGW_JobReport_EBoard" msprop:Generator_TableClassName="EETGW_JobReport_EBoardDataTable" msprop:Generator_TableVarName="tableEETGW_JobReport_EBoard" msprop:Generator_TablePropName="EETGW_JobReport_EBoard" msprop:Generator_RowDeletingName="EETGW_JobReport_EBoardRowDeleting" msprop:Generator_RowChangingName="EETGW_JobReport_EBoardRowChanging" msprop:Generator_RowEvHandlerName="EETGW_JobReport_EBoardRowChangeEventHandler" msprop:Generator_RowDeletedName="EETGW_JobReport_EBoardRowDeleted" msprop:Generator_UserTableName="EETGW_JobReport_EBoard" msprop:Generator_RowChangedName="EETGW_JobReport_EBoardRowChanged" msprop:Generator_RowEvArgName="EETGW_JobReport_EBoardRowChangeEvent" msprop:Generator_RowClassName="EETGW_JobReport_EBoardRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_UserColumnName="idx" type="xs:int" />
<xs:element name="gcode" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_ColumnPropNameInRow="gcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_UserColumnName="gcode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="pdate" msprop:Generator_ColumnVarNameInTable="columnpdate" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:Generator_UserColumnName="pdate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="uid" msprop:Generator_ColumnVarNameInTable="columnuid" msprop:Generator_ColumnPropNameInRow="uid" msprop:Generator_ColumnPropNameInTable="uidColumn" msprop:Generator_UserColumnName="uid" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Site" msprop:Generator_ColumnVarNameInTable="columnSite" msprop:Generator_ColumnPropNameInRow="Site" msprop:Generator_ColumnPropNameInTable="SiteColumn" msprop:Generator_UserColumnName="Site" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="요청자" msprop:Generator_ColumnVarNameInTable="column요청자" msprop:Generator_ColumnPropNameInRow="요청자" msprop:Generator_ColumnPropNameInTable="요청자Column" msprop:Generator_UserColumnName="요청자" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="수리완료일" msprop:Generator_ColumnVarNameInTable="column수리완료일" msprop:Generator_ColumnPropNameInRow="수리완료일" msprop:Generator_ColumnPropNameInTable="수리완료일Column" msprop:Generator_UserColumnName="수리완료일" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Status" msprop:Generator_ColumnVarNameInTable="columnStatus" msprop:Generator_ColumnPropNameInRow="Status" msprop:Generator_ColumnPropNameInTable="StatusColumn" msprop:Generator_UserColumnName="Status" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="분류" msprop:Generator_ColumnVarNameInTable="column분류" msprop:Generator_ColumnPropNameInRow="분류" msprop:Generator_ColumnPropNameInTable="분류Column" msprop:Generator_UserColumnName="분류" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Line" msprop:Generator_ColumnVarNameInTable="columnLine" msprop:Generator_ColumnPropNameInRow="Line" msprop:Generator_ColumnPropNameInTable="LineColumn" msprop:Generator_UserColumnName="Line" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Division" msprop:Generator_ColumnVarNameInTable="columnDivision" msprop:Generator_ColumnPropNameInRow="Division" msprop:Generator_ColumnPropNameInTable="DivisionColumn" msprop:Generator_UserColumnName="Division" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Team" msprop:Generator_ColumnVarNameInTable="columnTeam" msprop:Generator_ColumnPropNameInRow="Team" msprop:Generator_ColumnPropNameInTable="TeamColumn" msprop:Generator_UserColumnName="Team" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Process" msprop:Generator_ColumnVarNameInTable="columnProcess" msprop:Generator_ColumnPropNameInRow="Process" msprop:Generator_ColumnPropNameInTable="ProcessColumn" msprop:Generator_UserColumnName="Process" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Equipment" msprop:Generator_ColumnVarNameInTable="columnEquipment" msprop:Generator_ColumnPropNameInRow="Equipment" msprop:Generator_ColumnPropNameInTable="EquipmentColumn" msprop:Generator_UserColumnName="Equipment" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Model" msprop:Generator_ColumnVarNameInTable="columnModel" msprop:Generator_ColumnPropNameInRow="Model" msprop:Generator_ColumnPropNameInTable="ModelColumn" msprop:Generator_UserColumnName="Model" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BoardName" msprop:Generator_ColumnVarNameInTable="columnBoardName" msprop:Generator_ColumnPropNameInRow="BoardName" msprop:Generator_ColumnPropNameInTable="BoardNameColumn" msprop:Generator_UserColumnName="BoardName" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BoardVender" msprop:Generator_ColumnVarNameInTable="columnBoardVender" msprop:Generator_ColumnPropNameInRow="BoardVender" msprop:Generator_ColumnPropNameInTable="BoardVenderColumn" msprop:Generator_UserColumnName="BoardVender" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="원인" msprop:Generator_ColumnVarNameInTable="column원인" msprop:Generator_ColumnPropNameInRow="원인" msprop:Generator_ColumnPropNameInTable="원인Column" msprop:Generator_UserColumnName="원인" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="결과" msprop:Generator_ColumnVarNameInTable="column결과" msprop:Generator_ColumnPropNameInRow="결과" msprop:Generator_ColumnPropNameInTable="결과Column" msprop:Generator_UserColumnName="결과" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SN" msprop:Generator_ColumnVarNameInTable="columnSN" msprop:Generator_ColumnPropNameInRow="SN" msprop:Generator_ColumnPropNameInTable="SNColumn" msprop:Generator_UserColumnName="SN" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QTY" msprop:Generator_ColumnVarNameInTable="columnQTY" msprop:Generator_ColumnPropNameInRow="QTY" msprop:Generator_ColumnPropNameInTable="QTYColumn" msprop:Generator_UserColumnName="QTY" type="xs:int" minOccurs="0" />
<xs:element name="NPrice" msprop:Generator_ColumnVarNameInTable="columnNPrice" msprop:Generator_ColumnPropNameInRow="NPrice" msprop:Generator_ColumnPropNameInTable="NPriceColumn" msprop:Generator_UserColumnName="NPrice" type="xs:decimal" minOccurs="0" />
<xs:element name="OPrice" msprop:Generator_ColumnVarNameInTable="columnOPrice" msprop:Generator_ColumnPropNameInRow="OPrice" msprop:Generator_ColumnPropNameInTable="OPriceColumn" msprop:Generator_UserColumnName="OPrice" type="xs:decimal" minOccurs="0" />
<xs:element name="RepairCost" msprop:Generator_ColumnVarNameInTable="columnRepairCost" msprop:Generator_ColumnPropNameInRow="RepairCost" msprop:Generator_ColumnPropNameInTable="RepairCostColumn" msprop:Generator_UserColumnName="RepairCost" type="xs:decimal" minOccurs="0" />
<xs:element name="CostReduction" msprop:Generator_ColumnVarNameInTable="columnCostReduction" msprop:Generator_ColumnPropNameInRow="CostReduction" msprop:Generator_ColumnPropNameInTable="CostReductionColumn" msprop:Generator_UserColumnName="CostReduction" type="xs:decimal" minOccurs="0" />
<xs:element name="외주업체" msprop:Generator_ColumnVarNameInTable="column외주업체" msprop:Generator_ColumnPropNameInRow="외주업체" msprop:Generator_ColumnPropNameInTable="외주업체Column" msprop:Generator_UserColumnName="외주업체" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="RepairTime" msprop:Generator_ColumnVarNameInTable="columnRepairTime" msprop:Generator_ColumnPropNameInRow="RepairTime" msprop:Generator_ColumnPropNameInTable="RepairTimeColumn" msprop:Generator_UserColumnName="RepairTime" type="xs:double" minOccurs="0" />
<xs:element name="memo" msprop:Generator_ColumnVarNameInTable="columnmemo" msprop:Generator_ColumnPropNameInRow="memo" msprop:Generator_ColumnPropNameInTable="memoColumn" msprop:Generator_UserColumnName="memo" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="import" msprop:Generator_ColumnVarNameInTable="columnimport" msprop:Generator_ColumnPropNameInRow="import" msprop:Generator_ColumnPropNameInTable="importColumn" msprop:Generator_UserColumnName="import" type="xs:boolean" minOccurs="0" />
<xs:element name="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_UserColumnName="wuid">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
<xs:element name="원인2" msprop:Generator_ColumnVarNameInTable="column원인2" msprop:Generator_ColumnPropNameInRow="원인2" msprop:Generator_ColumnPropNameInTable="원인2Column" msprop:Generator_UserColumnName="원인2" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="결과2" msprop:Generator_ColumnVarNameInTable="column결과2" msprop:Generator_ColumnPropNameInRow="결과2" msprop:Generator_ColumnPropNameInTable="결과2Column" msprop:Generator_UserColumnName="결과2" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="refdata" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="refdata" msprop:Generator_ColumnVarNameInTable="columnrefdata" msprop:Generator_ColumnPropNameInTable="refdataColumn" msprop:Generator_UserColumnName="refdata" type="xs:boolean" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:EETGW_JobReport_EBoard" />
<xs:field xpath="mstns:idx" />
</xs:unique>
</xs:element>
</xs:schema>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!--<autogenerated>
This code was generated by a tool to store the dataset designer's layout information.
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="0" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:EETGW_JobReport_EBoard" ZOrder="1" X="251" Y="138" Height="305" Width="299" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
</Shapes>
<Connectors />
</DiagramLayout>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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)
{
}
}
}

View 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>

View 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;
}
}

View 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)
{
}
}
}

View 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>

File diff suppressed because it is too large Load Diff

View 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자료를 저장한 후 다시 시도하세요");
}
}
}

View 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>

File diff suppressed because it is too large Load Diff

View 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자료를 저장한 후 다시 시도하세요");
}
}
}

View 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>

View File

@@ -137,6 +137,11 @@
<DependentUpon>Model1.tt</DependentUpon>
</Compile>
<Compile Include="DataBaseManager.cs" />
<Compile Include="DSEboard.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>DSEboard.xsd</DependentUpon>
</Compile>
<Compile Include="dsJobReport.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@@ -183,6 +188,30 @@
<DesignTime>True</DesignTime>
<DependentUpon>dsReport.xsd</DependentUpon>
</Compile>
<Compile Include="EBoard\fEboardData.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EBoard\fEboardData.Designer.cs">
<DependentUpon>fEboardData.cs</DependentUpon>
</Compile>
<Compile Include="EBoard\fEBoardImport.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EBoard\fEBoardImport.Designer.cs">
<DependentUpon>fEBoardImport.cs</DependentUpon>
</Compile>
<Compile Include="EBoard\fEboardList.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EBoard\fEboardList.Designer.cs">
<DependentUpon>fEboardList.cs</DependentUpon>
</Compile>
<Compile Include="EBoard\fEBoardReport.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EBoard\fEBoardReport.Designer.cs">
<DependentUpon>fEBoardReport.cs</DependentUpon>
</Compile>
<Compile Include="EETGW_DocuForm.cs">
<DependentUpon>Model1.tt</DependentUpon>
</Compile>
@@ -582,6 +611,19 @@
<Compile Include="vUserWorkTimeList.cs">
<DependentUpon>Model1.tt</DependentUpon>
</Compile>
<EmbeddedResource Include="EBoard\fEboardData.resx">
<DependentUpon>fEboardData.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="EBoard\fEBoardImport.resx">
<DependentUpon>fEBoardImport.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="EBoard\fEboardList.resx">
<DependentUpon>fEboardList.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="EBoard\fEBoardReport.resx">
<DependentUpon>fEBoardReport.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="EBoard\Report1.rdlc" />
<EmbeddedResource Include="fHistAddDay.resx">
<DependentUpon>fHistAddDay.cs</DependentUpon>
</EmbeddedResource>
@@ -757,6 +799,17 @@
<None Include="CostReduction_2021.xlsx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="DSEboard.xsc">
<DependentUpon>DSEboard.xsd</DependentUpon>
</None>
<None Include="DSEboard.xsd">
<Generator>MSDataSetGenerator</Generator>
<LastGenOutput>DSEboard.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</None>
<None Include="DSEboard.xss">
<DependentUpon>DSEboard.xsd</DependentUpon>
</None>
<None Include="dsJobReport.xsc">
<DependentUpon>dsJobReport.xsd</DependentUpon>
</None>

View File

@@ -1,180 +1,168 @@
////180917 chi makefilepath,MakeFTPPath 입력
////180705 chi GetHexStringNoSpace 다시 추가 ,UrlPathEncode 추가
//// getDateValue 추가
////180625 chi GetHexStringNoSpace 삭제(이것은 util.cs로 이동)
////180614 chi Map 명령추가
//180917 chi makefilepath,MakeFTPPath 입력
//180705 chi GetHexStringNoSpace 다시 추가 ,UrlPathEncode 추가
// getDateValue 추가
//180625 chi GetHexStringNoSpace 삭제(이것은 util.cs로 이동)
//180614 chi Map 명령추가
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Runtime.InteropServices;
//using System.Text;
//using System.Text.RegularExpressions;
//using System.Threading.Tasks;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
//namespace FPJ0000
//{
// / <summary>
// / generic method Extension
// / </summary>
// public static class MethodExtensions
// {
// public static string MakeFilePath(this string value, params string[] param)
// {
// System.Text.StringBuilder sb = new System.Text.StringBuilder();
// sb.Append(value.Replace("/", "\\"));
// foreach (var item in param)
// {
// if (sb.Length > 0 && sb.ToString().EndsWith("\\") == false) sb.Append("\\");
// sb.Append(item.Replace("/", "\\"));
// }
// var retval = sb.ToString().Replace("/", "\\").Replace("\\\\", "\\");
// return retval.ToString();
// }
namespace FPJ0000
{
public static class MethodExtensions
{
public static string MakeFilePath(this string value, params string[] param)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(value.Replace("/", "\\"));
foreach (var item in param)
{
if (sb.Length > 0 && sb.ToString().EndsWith("\\") == false) sb.Append("\\");
sb.Append(item.Replace("/", "\\"));
}
var retval = sb.ToString().Replace("/", "\\").Replace("\\\\", "\\");
return retval.ToString();
}
// public static string MakeFTPPath(this string value, params string[] param)
// {
// System.Text.StringBuilder sb = new System.Text.StringBuilder();
// sb.Append(value.Replace("\\", "/"));
// foreach (var item in param)
// {
// if (sb.Length > 0 && sb.ToString().EndsWith("/") == false) sb.Append("/");
// sb.Append(item.Replace("\\", "/"));
// }
// var retval = sb.ToString().Replace("//", "/");
// return retval.ToString();
// }
public static string MakeFTPPath(this string value, params string[] param)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append(value.Replace("\\", "/"));
foreach (var item in param)
{
if (sb.Length > 0 && sb.ToString().EndsWith("/") == false) sb.Append("/");
sb.Append(item.Replace("\\", "/"));
}
var retval = sb.ToString().Replace("//", "/");
return retval.ToString();
}
// public static double map(this double x, int in_min, int in_max, int out_min, int out_max)
// {
// return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
// }
public static double map(this double x, int in_min, int in_max, int out_min, int out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}
// public static string Base64Encode(this string src)
// {
// string base64enc = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(src));
// return base64enc;
// }
// public static string Base64Decode(this string src)
// {
// var base64dec = Convert.FromBase64String(src);
// return System.Text.Encoding.UTF8.GetString(base64dec);
// }
public static string Base64Encode(this string src)
{
string base64enc = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(src));
return base64enc;
}
public static string Base64Decode(this string src)
{
var base64dec = Convert.FromBase64String(src);
return System.Text.Encoding.UTF8.GetString(base64dec);
}
// public static string ToString(this System.Drawing.Rectangle rect)
// {
// return string.Format("X={0},Y={1},W={2},H={3}", rect.X, rect.Y, rect.Width, rect.Height);
// }
// public static string ToString(this System.Drawing.RectangleF rect)
// {
// return string.Format("X={0},Y={1},W={2},H={3}", rect.X, rect.Y, rect.Width, rect.Height);
// }
public static string ToString(this System.Drawing.Rectangle rect)
{
return string.Format("X={0},Y={1},W={2},H={3}", rect.X, rect.Y, rect.Width, rect.Height);
}
public static string ToString(this System.Drawing.RectangleF rect)
{
return string.Format("X={0},Y={1},W={2},H={3}", rect.X, rect.Y, rect.Width, rect.Height);
}
// //public static void SetBGColor(this System.Windows.Forms.Label ctl,System.Drawing.Color color1)
// //{
// // ctl.BackColor = System.Drawing.Color.Red;
// //}
//public static void SetBGColor(this System.Windows.Forms.Label ctl,System.Drawing.Color color1)
//{
// ctl.BackColor = System.Drawing.Color.Red;
//}
// /// <summary>
// /// 0101이 반복되는 문자열 형태로 전환합니다.
// /// </summary>
// /// <param name="arr"></param>
// /// <returns></returns>
// public static string BitString(this System.Collections.BitArray arr)
// {
// System.Text.StringBuilder sb = new System.Text.StringBuilder();
// for (int i = arr.Length; i > 0; i--)
// sb.Append(arr[i - 1] ? "1" : "0");
// return sb.ToString();
// }
/// <summary>
/// 0101이 반복되는 문자열 형태로 전환합니다.
/// </summary>
/// <param name="arr"></param>
/// <returns></returns>
public static string BitString(this System.Collections.BitArray arr)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for (int i = arr.Length; i > 0; i--)
sb.Append(arr[i - 1] ? "1" : "0");
return sb.ToString();
}
// /// <summary>
// /// int 값으로 변환합니다.
// /// </summary>
// /// <param name="arr"></param>
// /// <returns></returns>
// public static int ValueI(this System.Collections.BitArray arr)
// {
// byte[] buf = new byte[4];
// arr.CopyTo(buf, 0);
// return BitConverter.ToInt32(buf, 0);
// }
// / <summary>
// / 숫자인지 검사합니다.
// / </summary>
// / <param name = "input" ></ param >
// / < returns ></ returns >
// public static bool IsNumeric(this string input)
// {
// double data;
// input = input.Replace(",", "");
// return double.TryParse(input, out data);
// return Regex.IsMatch(input, @"^\d+$");
// }
// public static int ToInt(this string input)
// {
// input = input.Replace(",", "");
// if (input.IsNumeric() == false) return 0;
// return int.Parse(input);
// }
// public static decimal ToDecimal(this string input)
// {
// input = input.Replace(",", "");
// if (input.IsNumeric() == false) return 0;
// return decimal.Parse(input);
// }
// public static double ToDouble(this string input)
// {
// input = input.Replace(",", "");
// if (input.IsNumeric() == false) return 0;
// return double.Parse(input);
// }
// / <summary>
// / isnullorempty 를 수행합니다.
// / </summary>
// / <param name = "input" ></ param >
// / < returns ></ returns >
// public static Boolean isEmpty(this string input)
// {
// return string.IsNullOrEmpty(input);
// }
// public static Boolean isDate(this string input)
// {
// DateTime v;
// return DateTime.TryParse(input, out v);
// }
// /// <summary>
// /// default 인코딩을 사용하여 문자열로 반환합니다.
// /// </summary>
// /// <param name="input"></param>
// /// <returns></returns>
// public static string GetString(this Byte[] input)
// {
// return System.Text.Encoding.Default.GetString(input);
// }
// /// <summary>
// /// 16진수 문자열 형태로 반환합니다.
// /// </summary>
// /// <param name="input"></param>
// /// <returns></returns>
// public static string GetHexString(this Byte[] input)
// {
// System.Text.StringBuilder sb = new System.Text.StringBuilder();
// foreach (byte b in input)
// sb.Append(" " + b.ToString("X2"));
// return sb.ToString();
// }
// }
/// <summary>
/// int 값으로 변환합니다.
/// </summary>
/// <param name="arr"></param>
/// <returns></returns>
public static int ValueI(this System.Collections.BitArray arr)
{
byte[] buf = new byte[4];
arr.CopyTo(buf, 0);
return BitConverter.ToInt32(buf, 0);
}
//}
//}
public static bool IsNumeric(this string input)
{
double data;
input = input.Replace(",", "");
return double.TryParse(input, out data);
//return Regex.IsMatch(input, @"^\d+$");
}
public static int ToInt(this string input)
{
input = input.Replace(",", "");
if (input.IsNumeric() == false) return 0;
return int.Parse(input);
}
public static decimal ToDecimal(this string input)
{
input = input.Replace(",", "");
if (input.IsNumeric() == false) return 0;
return decimal.Parse(input);
}
public static double ToDouble(this string input)
{
input = input.Replace(",", "");
if (input.IsNumeric() == false) return 0;
return double.Parse(input);
}
public static Boolean isEmpty(this string input)
{
return string.IsNullOrEmpty(input);
}
public static Boolean isDate(this string input)
{
DateTime v;
return DateTime.TryParse(input, out v);
}
/// <summary>
/// default 인코딩을 사용하여 문자열로 반환합니다.
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string GetString(this Byte[] input)
{
return System.Text.Encoding.Default.GetString(input);
}
/// <summary>
/// 16진수 문자열 형태로 반환합니다.
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string GetHexString(this Byte[] input)
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
foreach (byte b in input)
sb.Append(" " + b.ToString("X2"));
return sb.ToString();
}
}
}