This commit is contained in:
chi
2023-01-15 23:05:53 +09:00
parent cd902327c8
commit 913ae6b261
28 changed files with 5278 additions and 2059 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -827,5 +827,11 @@ namespace FPJ0000
var f = new JobReport_.fProjectConnect(dtSD.Text,dtED.Text);
f.ShowDialog();
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
var f = new JobReport_.rJobReportPrjSche();
f.Show();
}
}
}

View File

@@ -240,52 +240,23 @@
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButton9.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE3SURBVDhPnZIxS8NQFEb7W/wLjh0Fl9a1SxBHBekkWFd1
qYg4Ci5dndSCg2AHl4LQSaRSKDqoFUE7VAjUmvTKueWmL2mw2gunL7zmO+/mJhmZoTJusdF868vpXUfO
b5/lpPEox9f3SvnsRtk8uojxHQ7HEgSEkXS6vrz3xqtdu+xdfUiheEBsJOGCk/mz/hROUHsIIrp+qIKY
hB/a9r+CVAG4Auj5g7iA5/1NACaptgIVLHkb0wWVw13ZL60p2+uerqkCJs1mMgwUU6d1k/xJwI10RZj1
9TPUN7Wam9dgTMC75QR7TjCBkRQs5Jd1jQS8c1ewtZLTPcQW/peADpC44cudgnjZOQ1OCGjTwkwaGBon
GoSrpcVIQqmAj6LZftFBup9vWiUlUQdIDCbsQrsGZRJKBbOXyA++SlEsu6QjvQAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButton3.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="dsMSSQL.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="toolStripButton10.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALxSURBVDhPhZLrS1NhHMf3Kv+EsF70UohSyqjIF6WpTQ3s
Zipm3uYUTU10YZAtppF5CU1UqBCl6EWFdtGpTc1tzm04I9NMbc45L+BlqbucoztnfnvO2VIDoR98eF48
5/vh/L7nCLgJu6dMvlihU0RX6n6HS3UUOWmeKu7U09EVWjrysWY0SKKuORzzZh8f2j0RD/vVSzZ6Zcxo
Zq2ODVjtO6zYOGj8XLCh+KMF8ZXjTmGO3Mcb9UxUmWZp0mRhtWYX9DMM9BYGOjMDzfQmlL820DnmwAYD
tI1TKH4/g7Sno9Q/knBpJ7Xu3MTQLIuvsww5GQzykk2ojBv4POYkAjeGFljo510olVsQcrf3NR+Oqwo2
XZfGbInrryKt7hrquppR0lKFEKk/ggnC0jMIk51EdVs1v4qdZrC46kSYWMXwgtiKkHe9I+1on3yBOl0h
L0mqjUThq0TkNsdD1HAJqQ2paBteRPuoHZ++r2ON9BQu66d5gbBG6BMkzWN1E314OSJDuTKHlyTXR5Hw
ZWQ+y4Da6OBX6ZmkoCA9rDpcCC8Z8Ai4iShT0fmNKTAYNWjQ38Gj7gLEVZ1Hcm0MDGYnDKRYrmD1lKcT
KxGEyXYJzt6Xuk4VHUJijRBDU1qU9mVBJs9H/JNQNCs/4NscAwMpVjvtwgBhyeZCyAOv4LjEVxwoOYjc
pgTcqI9AQvUFXpIvT4SkJYO8SSi4+yELi0HuExNspMiAPI1HECjZPxcoOUAe8kVgoS+ulIci+3kK1GMK
lCqKkPU2BaL6WBiIQE/+DR0R0C43ESh3VjiX108vrNEYnmN5VBPzuN2YiXQSFDfEo6Dp1vYdh3OTJYLW
HQFnm7XuCP6Hg1shY5fgdP4Xp3Zkamuvh/fCPDvvPprUZvfGSZGZ3aaZdadNOzrtNi1TMC1RMHpZtrt4
uObtNAujec5NUdSa382OH964QHAisys7QNTZfUyssAaIW+lt0j34/0XUSvuJOlaPpHb0+KfI0wQCgeAP
5eegBTzkqG4AAAAASUVORK5CYII=
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALySURBVDhPhZLrS1NhHMf3qv6EsF70UohSyqiwF6WpTQ3s
Zipm3uYUTU10YZAtppF5CU1UqBCl6EWFdtGpTc05Nzeckde8zE3nBbwsdZdzdOfMb885W2og9IMPz4vn
fD+c3/ccATfBD5UJV0q1iogy7e8QqZYiJ81Tzp06OqK0jw57ph45L1FVHot8f4AP7Z3QJ72qZSu9Ojpl
Yi32TVhsu6xaOWj8WrSi4IsZMWXjDmGm/KAn6p7wYvXyxPQs2zfjhG6Wgc7MQDvDQG3agnJqE21jdmwy
QPM4hYJPs0h+MUL9IwmRtlEbji0MzLH4MceQk0E/L9lCj2ET38YcRODCwCIL3YITRXIzAh90vePD0eUB
xlvSyG1xzQ0kV99EdXsDChvLESj1QQBBWOSPYNkZVDRX8KvYaAZLaw4Ep/QwvCCqNPBj13ALWiZfo1qb
x0viq8KQ9zYOWQ0xENVeRVJtEpoHl9AyYsPXoQ2sk55CZL00LxBWCg/6S7NZ7UQ33gzLUKLM5CUJNeEk
fA1pL1OhMtj5VTonKShID2t2J0IKNW4BN6HFPXROXSL0BjVqdffxtCMX0eWXkFAVCf2MA3pSLFewatrd
iYUIgmV7BBceSZ1n848irlKIgek+FHWnQybPQczzIDQoP+PnPAM9KbbP5ISGsGx1IvCxR3BK4iX2kxxB
Vn0sbteEIrbiMi/JkcdB0phK3iQI3P2AmUU/94kJVlKkb7baLfCTHJr3kxwmD3nBL88L10uCkPEqEaox
BYoU+Uj/kAhRTRT0RKAj/4aWCGiniwiUuytczO6lF9dpDM6zPD0TC7hXl4YUEhTXxiC3/u7OHYdjiyWC
pl0BZ5uz7Ar+h51bIXWP4FzOd4dmyLC938P7YTLPu07EN9s8cVJkWodxdsNh1QwbXcYVCsZlCgYPKzYn
D9e8jWYxZZpzURS17n2nddQTFwhOp7Vn+IraOk6KFRZfcRO9Q4obn7+ImmhvUeva8aTWTp9EebJAIBD8
AcSjn/E9z3PXAAAAAElFTkSuQmCC
</value>
</data>
<data name="toolStripButton11.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -341,6 +312,32 @@
hB/a9r+CVAG4Auj5g7iA5/1NACaptgIVLHkb0wWVw13ZL60p2+uerqkCJs1mMgwUU6d1k/xJwI10RZj1
9TPUN7Wam9dgTMC75QR7TjCBkRQs5Jd1jQS8c1ewtZLTPcQW/peADpC44cudgnjZOQ1OCGjTwkwaGBon
GoSrpcVIQqmAj6LZftFBup9vWiUlUQdIDCbsQrsGZRJKBbOXyA++SlEsu6QjvQAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButton9.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE3SURBVDhPnZIxS8NQFEb7W/wLjh0Fl9a1SxBHBekkWFd1
qYg4Ci5dndSCg2AHl4LQSaRSKDqoFUE7VAjUmvTKueWmL2mw2gunL7zmO+/mJhmZoTJusdF868vpXUfO
b5/lpPEox9f3SvnsRtk8uojxHQ7HEgSEkXS6vrz3xqtdu+xdfUiheEBsJOGCk/mz/hROUHsIIrp+qIKY
hB/a9r+CVAG4Auj5g7iA5/1NACaptgIVLHkb0wWVw13ZL60p2+uerqkCJs1mMgwUU6d1k/xJwI10RZj1
9TPUN7Wam9dgTMC75QR7TjCBkRQs5Jd1jQS8c1ewtZLTPcQW/peADpC44cudgnjZOQ1OCGjTwkwaGBon
GoSrpcVIQqmAj6LZftFBup9vWiUlUQdIDCbsQrsGZRJKBbOXyA++SlEsu6QjvQAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButton3.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">
@@ -394,24 +391,24 @@
<metadata name="fpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>561, 17</value>
</metadata>
<data name="dateTimeCellType3.Calendar" mimetype="application/x-microsoft.net.object.binary.base64">
<data name="dateTimeCellType1.Calendar" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAEAQAAACZTeXN0ZW0uR2xvYmFsaXphdGlvbi5HcmVnb3JpYW5DYWxlbmRh
cgYAAAAGbV90eXBlEW1fY3VycmVudEVyYVZhbHVlD3R3b0RpZ2l0WWVhck1heBpDYWxlbmRhcittX2N1
cnJlbnRFcmFWYWx1ZRVDYWxlbmRhcittX2lzUmVhZE9ubHkYQ2FsZW5kYXIrdHdvRGlnaXRZZWFyTWF4
AwAAAAAAK1N5c3RlbS5HbG9iYWxpemF0aW9uLkdyZWdvcmlhbkNhbGVuZGFyVHlwZXMICAgBCAT+////
K1N5c3RlbS5HbG9iYWxpemF0aW9uLkdyZWdvcmlhbkNhbGVuZGFyVHlwZXMBAAAAB3ZhbHVlX18ACAEA
AAD/////AQgAAP////8AAQgAAAs=
AAD///////////////8A/////ws=
</value>
</data>
<data name="dateTimeCellType4.Calendar" mimetype="application/x-microsoft.net.object.binary.base64">
<data name="dateTimeCellType2.Calendar" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAEAQAAACZTeXN0ZW0uR2xvYmFsaXphdGlvbi5HcmVnb3JpYW5DYWxlbmRh
cgYAAAAGbV90eXBlEW1fY3VycmVudEVyYVZhbHVlD3R3b0RpZ2l0WWVhck1heBpDYWxlbmRhcittX2N1
cnJlbnRFcmFWYWx1ZRVDYWxlbmRhcittX2lzUmVhZE9ubHkYQ2FsZW5kYXIrdHdvRGlnaXRZZWFyTWF4
AwAAAAAAK1N5c3RlbS5HbG9iYWxpemF0aW9uLkdyZWdvcmlhbkNhbGVuZGFyVHlwZXMICAgBCAT+////
K1N5c3RlbS5HbG9iYWxpemF0aW9uLkdyZWdvcmlhbkNhbGVuZGFyVHlwZXMBAAAAB3ZhbHVlX18ACAEA
AAD/////AQgAAP////8AAQgAAAs=
AAD///////////////8A/////ws=
</value>
</data>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -420,41 +417,41 @@
<data name="toolStripButton8.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="toolStripButton7.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="toolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@@ -33,6 +33,9 @@
this.dsReport = new FPJ0000.dsReport();
this.ta = new FPJ0000.dsReportTableAdapters.JobReportDayTableAdapter();
this.panel1 = new System.Windows.Forms.Panel();
this.linkLabel13 = new System.Windows.Forms.LinkLabel();
this.linkLabel14 = new System.Windows.Forms.LinkLabel();
this.button1 = new System.Windows.Forms.Button();
this.linkLabel9 = new System.Windows.Forms.LinkLabel();
this.linkLabel10 = new System.Windows.Forms.LinkLabel();
this.linkLabel11 = new System.Windows.Forms.LinkLabel();
@@ -56,9 +59,6 @@
this.label1 = new System.Windows.Forms.Label();
this.btRefresh = new System.Windows.Forms.Button();
this.dv1 = new arCtl.arDatagridView();
this.button1 = new System.Windows.Forms.Button();
this.linkLabel13 = new System.Windows.Forms.LinkLabel();
this.linkLabel14 = new System.Windows.Forms.LinkLabel();
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dsReport)).BeginInit();
this.panel1.SuspendLayout();
@@ -114,6 +114,42 @@
this.panel1.Size = new System.Drawing.Size(1114, 58);
this.panel1.TabIndex = 7;
//
// linkLabel13
//
this.linkLabel13.AutoSize = true;
this.linkLabel13.Font = new System.Drawing.Font("맑은 고딕", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.linkLabel13.Location = new System.Drawing.Point(717, 31);
this.linkLabel13.Name = "linkLabel13";
this.linkLabel13.Size = new System.Drawing.Size(51, 19);
this.linkLabel13.TabIndex = 27;
this.linkLabel13.TabStop = true;
this.linkLabel13.Text = "하반기";
this.linkLabel13.Click += new System.EventHandler(this.linkLabel13_Click);
//
// linkLabel14
//
this.linkLabel14.AutoSize = true;
this.linkLabel14.Font = new System.Drawing.Font("맑은 고딕", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.linkLabel14.Location = new System.Drawing.Point(717, 7);
this.linkLabel14.Name = "linkLabel14";
this.linkLabel14.Size = new System.Drawing.Size(51, 19);
this.linkLabel14.TabIndex = 26;
this.linkLabel14.TabStop = true;
this.linkLabel14.Text = "상반기";
this.linkLabel14.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel14_LinkClicked);
this.linkLabel14.Click += new System.EventHandler(this.linkLabel13_Click);
//
// button1
//
this.button1.Dock = System.Windows.Forms.DockStyle.Right;
this.button1.Location = new System.Drawing.Point(884, 5);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 48);
this.button1.TabIndex = 25;
this.button1.Text = "WW축소";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// linkLabel9
//
this.linkLabel9.AutoSize = true;
@@ -368,42 +404,6 @@
this.dv1.Size = new System.Drawing.Size(1114, 641);
this.dv1.TabIndex = 1;
//
// button1
//
this.button1.Dock = System.Windows.Forms.DockStyle.Right;
this.button1.Location = new System.Drawing.Point(884, 5);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 48);
this.button1.TabIndex = 25;
this.button1.Text = "WW축소";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// linkLabel13
//
this.linkLabel13.AutoSize = true;
this.linkLabel13.Font = new System.Drawing.Font("맑은 고딕", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.linkLabel13.Location = new System.Drawing.Point(717, 31);
this.linkLabel13.Name = "linkLabel13";
this.linkLabel13.Size = new System.Drawing.Size(51, 19);
this.linkLabel13.TabIndex = 27;
this.linkLabel13.TabStop = true;
this.linkLabel13.Text = "하반기";
this.linkLabel13.Click += new System.EventHandler(this.linkLabel13_Click);
//
// linkLabel14
//
this.linkLabel14.AutoSize = true;
this.linkLabel14.Font = new System.Drawing.Font("맑은 고딕", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.linkLabel14.Location = new System.Drawing.Point(717, 7);
this.linkLabel14.Name = "linkLabel14";
this.linkLabel14.Size = new System.Drawing.Size(51, 19);
this.linkLabel14.TabIndex = 26;
this.linkLabel14.TabStop = true;
this.linkLabel14.Text = "상반기";
this.linkLabel14.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel14_LinkClicked);
this.linkLabel14.Click += new System.EventHandler(this.linkLabel13_Click);
//
// rJobReportPrj
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
@@ -412,7 +412,7 @@
this.Controls.Add(this.dv1);
this.Controls.Add(this.panel1);
this.Name = "rJobReportPrj";
this.Text = "개인별 프로젝트 집계";
this.Text = "개인별 프로젝트 점유율(%) 현황";
this.Load += new System.EventHandler(this.rJobReport_Load);
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dsReport)).EndInit();

View File

@@ -123,9 +123,6 @@
<metadata name="dsReport.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>17, 17</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>245, 17</value>
</metadata>

View File

@@ -0,0 +1,189 @@
namespace FPJ0000.JobReport_
{
partial class rJobReportPrjSche
{
/// <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.panel1 = new System.Windows.Forms.Panel();
this.btSave = new System.Windows.Forms.Button();
this.cmbUser = new System.Windows.Forms.ComboBox();
this.label4 = new System.Windows.Forms.Label();
this.tbProcess = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label();
this.btRefresh = new System.Windows.Forms.Button();
this.dv1 = new arCtl.arDatagridView();
this.bs = new System.Windows.Forms.BindingSource(this.components);
this.dsReport = new FPJ0000.dsReport();
this.ta = new FPJ0000.dsReportTableAdapters.JobReportDayTableAdapter();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dv1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dsReport)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200)))));
this.panel1.Controls.Add(this.btSave);
this.panel1.Controls.Add(this.cmbUser);
this.panel1.Controls.Add(this.label4);
this.panel1.Controls.Add(this.tbProcess);
this.panel1.Controls.Add(this.label1);
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, 58);
this.panel1.TabIndex = 7;
//
// btSave
//
this.btSave.Dock = System.Windows.Forms.DockStyle.Right;
this.btSave.Enabled = false;
this.btSave.Location = new System.Drawing.Point(959, 5);
this.btSave.Name = "btSave";
this.btSave.Size = new System.Drawing.Size(75, 48);
this.btSave.TabIndex = 12;
this.btSave.Text = "파일저장";
this.btSave.UseVisualStyleBackColor = true;
this.btSave.Click += new System.EventHandler(this.btSave_Click);
//
// cmbUser
//
this.cmbUser.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbUser.FormattingEnabled = true;
this.cmbUser.Location = new System.Drawing.Point(57, 33);
this.cmbUser.Name = "cmbUser";
this.cmbUser.Size = new System.Drawing.Size(180, 20);
this.cmbUser.TabIndex = 11;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(22, 37);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(29, 12);
this.label4.TabIndex = 10;
this.label4.Text = "사원";
//
// tbProcess
//
this.tbProcess.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.tbProcess.FormattingEnabled = true;
this.tbProcess.Location = new System.Drawing.Point(57, 9);
this.tbProcess.Name = "tbProcess";
this.tbProcess.Size = new System.Drawing.Size(180, 20);
this.tbProcess.TabIndex = 5;
this.tbProcess.SelectedIndexChanged += new System.EventHandler(this.tbProcess_SelectedIndexChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(23, 13);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(29, 12);
this.label1.TabIndex = 3;
this.label1.Text = "공정";
//
// 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, 48);
this.btRefresh.TabIndex = 2;
this.btRefresh.Text = "새로고침";
this.btRefresh.UseVisualStyleBackColor = true;
this.btRefresh.Click += new System.EventHandler(this.btRefresh_Click);
//
// dv1
//
this.dv1.A_DelCurrentCell = true;
this.dv1.A_EnterToTab = true;
this.dv1.A_KoreanField = null;
this.dv1.A_UpperField = null;
this.dv1.A_ViewRownumOnHeader = true;
this.dv1.AllowUserToAddRows = false;
this.dv1.AllowUserToDeleteRows = false;
this.dv1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dv1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dv1.Location = new System.Drawing.Point(0, 58);
this.dv1.Name = "dv1";
this.dv1.ReadOnly = true;
this.dv1.RowTemplate.Height = 23;
this.dv1.Size = new System.Drawing.Size(1114, 641);
this.dv1.TabIndex = 1;
//
// bs
//
this.bs.DataMember = "JobReportDay";
this.bs.DataSource = this.dsReport;
//
// dsReport
//
this.dsReport.DataSetName = "dsReport";
this.dsReport.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
//
// ta
//
this.ta.ClearBeforeFill = true;
//
// rJobReportPrjSche
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1114, 699);
this.Controls.Add(this.dv1);
this.Controls.Add(this.panel1);
this.Name = "rJobReportPrjSche";
this.Text = "개인별 프로젝트 스케쥴 현황";
this.Load += new System.EventHandler(this.rJobReport_Load);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dv1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dsReport)).EndInit();
this.ResumeLayout(false);
}
#endregion
private dsReport dsReport;
private System.Windows.Forms.BindingSource bs;
private dsReportTableAdapters.JobReportDayTableAdapter ta;
private arCtl.arDatagridView dv1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button btSave;
private System.Windows.Forms.ComboBox cmbUser;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.ComboBox tbProcess;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btRefresh;
}
}

View File

@@ -0,0 +1,401 @@
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.JobReport_
{
public partial class rJobReportPrjSche : Form
{
Boolean binit = false;
public rJobReportPrjSche()
{
InitializeComponent();
this.WindowState = FormWindowState.Maximized;
// this.dts.Value = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyy-MM-01"));
//this.dte.Value = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1);
}
private void rJobReport_Load(object sender, EventArgs e)
{
this.tbProcess.Items.Clear();
tbProcess.Items.Add("--전체--");
var taProcess = new dsReportTableAdapters.ProcessListTableAdapter();
var dtProcessList = taProcess.GetData(FCOMMON.info.Login.gcode);
foreach (dsReport.ProcessListRow dr in dtProcessList.Rows)
tbProcess.Items.Add(dr.processs);
this.tbProcess.Text = FCOMMON.info.Login.process;
if (tbProcess.SelectedIndex < 0) tbProcess.SelectedIndex = 0;
//사용자 목록을 선택한다
UpdateUserList();
//this.tbMon.Text = DateTime.Now.ToString("yyyy-MM");
refrehData();
binit = true;
}
void UpdateUserList()
{
var ta = new dsPRJTableAdapters.vJobReportForUserListTableAdapter();
cmbUser.Items.Clear();
//일반사용자 목록 가져온다
dsPRJ.vJobReportForUserListDataTable userlist;
if (tbProcess.SelectedIndex <= 0)
{
//공정구분없이 전체사용자를 가져온다
userlist = ta.GetData(FCOMMON.info.Login.gcode, "%");
// db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode).OrderBy(t => t.name).GroupBy(t => t.name);
}
else
{
userlist = ta.GetData(FCOMMON.info.Login.gcode, tbProcess.Text);
//db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.userProcess == tbProcess.Text).OrderBy(t => t.name).GroupBy(t => t.name);
}
//if (tbProcess.SelectedIndex != 0) userlist = userlist.Where(t => t.processs == tbProcess.Text); //해당 공정의 인원만 처리한다
foreach (var dr in userlist)
{
//var dr = item.First();
cmbUser.Items.Add(String.Format("[{0}] {1}", dr.id, dr.name));
}
if (tbProcess.SelectedIndex > 0)
cmbUser.Text = string.Format("[{0}] {1}", FCOMMON.info.Login.no, FCOMMON.info.Login.nameK);
if (cmbUser.SelectedIndex < 0) cmbUser.SelectedIndex = 0; //기본전체로 선택해준다.
}
void refrehData()
{
//근문일수,시간
// var vSD = dts.Value.ToShortDateString();
//var vED = dte.Value.ToShortDateString();
string prcname = tbProcess.SelectedIndex < 1 ? "%" : tbProcess.Text.Trim();
var taH = new dsReportTableAdapters.UserScheduleTableTableAdapter();
var username = cmbUser.Text.Trim();
var uid = username.Substring(1, username.IndexOf("]") - 1);// "395552";
taH.Fill(this.dsReport.UserScheduleTable, FCOMMON.info.Login.gcode, "%" + uid + "%");
//this.reportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout);
//this.reportViewer1.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.PageWidth;
//this.reportViewer1.RefreshReport();
//그리드뷰 생성
this.dv1.Rows.Clear();
this.dv1.Columns.Clear();
var wekklist = new string[] { "일", "월", "화", "수", "목", "금", "토" };
//날짜에 해당하는 열을 먼저 생성한다
dv1.Columns.Add("dvcu_pidx", "*");
dv1.Columns.Add("dvcu_title", "프로젝트");
dv1.Columns.Add("dvcu_title", "시작");
dv1.Columns.Add("dvcu_title", "만료");
//dv1.Columns.Add("dvcu_hrs", "시간");
//오늘의WW추가
var myCI = new System.Globalization.CultureInfo("ko-KR");
var myCal = myCI.Calendar;
var myCWR = myCI.DateTimeFormat.CalendarWeekRule;
DayOfWeek myFirstDOW = myCI.DateTimeFormat.FirstDayOfWeek;
var dat = myCal.GetWeekOfYear(DateTime.Now, myCWR, myFirstDOW);
var curwwstr = (DateTime.Now.Year - 2000).ToString() + dat.ToString("00");
//ww컬럼생성
List<int> wwlist = new List<int>();
wwlist.Add(int.Parse(curwwstr));
int ww = 0;
foreach (dsReport.UserScheduleTableRow dr in dsReport.UserScheduleTable.Rows)
{
if (dr.sw.Equals("00-00") == false)
{
ww = int.Parse(dr.sw.Replace("-", ""));
if (wwlist.Contains(ww) == false) wwlist.Add(ww);
}
if (dr.ew.Equals("00-00") == false)
{
ww = int.Parse(dr.ew.Replace("-", ""));
if (wwlist.Contains(ww) == false) wwlist.Add(ww);
}
if (dr.swa.Equals("00-00") == false)
{
ww = int.Parse(dr.swa.Replace("-", ""));
if (wwlist.Contains(ww) == false) wwlist.Add(ww);
}
if (dr.ewa.Equals("00-00") == false)
{
ww = int.Parse(dr.ewa.Replace("-", ""));
if (wwlist.Contains(ww) == false) wwlist.Add(ww);
}
}
//var wwlist = dsReport.UserScheduleTable.GroupBy(t => t.ww).Select(t => int.Parse(t.Key)).OrderBy(t => t).ToList();
var wwfont = new Font("Consolas", 8f);
dv1.ColumnHeadersDefaultCellStyle.Font = wwfont;
foreach (var item in wwlist.OrderBy(t => t))
{
var wwname = item.ToString("0000");
var yy1 = wwname.Substring(0, 2);
var ww1 = wwname.Substring(2);
dv1.Columns.Add("dvcu_ww" + item, $"w{ww1}\ny{yy1}");
dv1.Columns[dv1.Columns.Count - 1].Tag = item;
dv1.Columns[dv1.Columns.Count - 1].DefaultCellStyle.NullValue = "";
dv1.Columns[dv1.Columns.Count - 1].DefaultCellStyle.Format = "N2";
dv1.Columns[dv1.Columns.Count - 1].DefaultCellStyle.Font = wwfont;
dv1.Columns[dv1.Columns.Count - 1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
}
//프로젝트별로 데이터를 표시한다.
var grp_list = dsReport.UserScheduleTable.GroupBy(t => t.name).OrderBy(t => t.Key);
foreach (var grp in grp_list)
{
var prjname = grp.Key;
var sdate = grp.Max(t => t.sdate);
var ddate = grp.Max(t => t.ddate);
string[] columns = new string[dv1.ColumnCount];
var row = 0;
columns[row++] = grp.Max(t => t.idx).ToString();
columns[row++] = prjname;
columns[row++] = sdate;
columns[row++] = ddate;
//세부항목데이터를 넣는다
foreach (var dr in grp)
{
//예측일
var sw = dr.sw;
if (sw.Equals("00-00")) continue;
var ew = dr.ew;
if (ew.Equals("00-00")) continue;
var isw = int.Parse(sw.Replace("-", ""));
var iew = int.Parse(ew.Replace("-", ""));
for (int i = row; i < dv1.ColumnCount; i++)
{
var col = dv1.Columns[i];
if (col.Tag == null) continue;
var colno = int.Parse(col.Tag.ToString());
if (colno >= isw && colno <= iew)
{
columns[i] = "O";
}
}
}
dv1.Rows.Add(columns);
}
//cell formation
foreach(DataGridViewRow dr in this.dv1.Rows)
{
for(int i = 4; i < dv1.ColumnCount;i++)
{
var cell = dr.Cells[i];
if (cell.Value == null)
{
cell.Style.BackColor = Color.White;
continue;
}
if (cell.Value.ToString().Equals("O")) cell.Style.BackColor = Color.Green;
else cell.Style.BackColor = Color.White;
}
}
dv1.AutoResizeColumns();
return;
dv1.Columns.Add("dvcu_hrs", "합계(h)");
dv1.Columns[dv1.Columns.Count - 1].DefaultCellStyle.BackColor = Color.LightGray;
dv1.Columns.Add("dvcu_hrs", "비율(%)");
dv1.Columns[dv1.Columns.Count - 1].DefaultCellStyle.Format = "N2";
var TotHrs = dsReport.JobProjectTimes.Sum(t => t.hrs);
//데이터를 추가한다.
foreach (var dr in dsReport.JobProjectTimes.OrderByDescending(t => t.PrjStatus + t.PrjName).GroupBy(t => t.pidx))
{
var pidx = dr.Key;
var fdr = dr.First();
List<object> row = new List<object>();
row.Add(dr.Key);
if (dr.Key == -1)
{
row.Add("--");
row.Add("비 프로젝트 업무");
}
else
{
row.Add(fdr.PrjStatus);
if (fdr.PrjName.isEmpty())
{
row.Add($"{fdr.title}");
}
else
{
row.Add($"{fdr.PrjName}");
}
}
//row.Add("--");
foreach (var item in wwlist)
{
var wwsum = dsReport.JobProjectTimes.Where(t => t.ww == item.ToString()).Sum(t => t.hrs);
var wwhrs = 0.0;
var hrsdata = dr.Where(t => t.ww == item.ToString());
if (hrsdata.Any()) wwhrs = hrsdata.Sum(t => t.hrs);
var perc = 0.0;
if (wwsum > 0) perc = (wwhrs / wwsum) * 100.0;
if (perc == 0.0) row.Add(null);
else row.Add(perc);
}
row.Add(dr.Sum(t => t.hrs));
var tperc = 0.0;
if (TotHrs > 0) tperc = (dr.Sum(t => t.hrs) / TotHrs) * 100.0;
row.Add(tperc);
if (dr.Key == -1)
dv1.Rows.Insert(0, row.ToArray());
else
dv1.Rows.Add(row.ToArray());
}
dv1.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dv1.Columns[0].DefaultCellStyle.BackColor = Color.LightGray;
dv1.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
for (int i = 0; i < this.dv1.ColumnCount; i++)
{
var col = this.dv1.Columns[i];
if (col.Name.StartsWith("dvcu_ww") == false) continue;
foreach (DataGridViewRow dvrow in this.dv1.Rows)
{
var c = dvrow.Cells[col.Index];
var v = c.Value;
double hrs = 0.0;
if (v != null) hrs = double.Parse(v.ToString());
if (hrs > 0)
{
c.Style.BackColor = Color.Gold;
}
else
{
c.Style.BackColor = Color.White;
}
}
}
//첫줄은 색상을 변경해준다.
if (dv1.RowCount > 0)
{
var dvrow = dv1.Rows[0];
for (int i = 0; i < this.dv1.ColumnCount; i++)
{
var c = dvrow.Cells[i];
c.Style.BackColor = Color.LightGray;
}
}
this.dv1.AutoResizeColumns();
}
private void btSave_Click(object sender, EventArgs e)
{
dv1.ExportData(string.Empty);
}
private void btRefresh_Click(object sender, EventArgs e)
{
refrehData();
}
private void tbProcess_SelectedIndexChanged(object sender, EventArgs e)
{
if (binit == false) return;
UpdateUserList();
}
private void button1_Click(object sender, EventArgs e)
{
var newsize = dv1.Columns[2].Width < 10 ? 100 : 5;
this.dv1.SuspendLayout();
for (int i = 3; i < this.dv1.ColumnCount - 2; i++)
{
this.dv1.Columns[i].Width = newsize;
}
this.dv1.ResumeLayout();
}
private void linkLabel7_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
}
private void linkLabel13_Click(object sender, EventArgs e)
{
//var lnk = sender as LinkLabel;
//if (lnk.Text.Equals("상반기"))
//{
// dts.Value = DateTime.Parse(DateTime.Now.Year.ToString("0000") + "-01-01");
// dte.Value = DateTime.Parse(DateTime.Now.Year.ToString("0000") + "-05-31");
//}
//else if (lnk.Text.Equals("하반기"))
//{
// dts.Value = DateTime.Parse(DateTime.Now.Year.ToString("0000") + "-06-01");
// dte.Value = DateTime.Parse(DateTime.Now.Year.ToString("0000") + "-12-31");
//}
//else
//{
// if (int.TryParse(lnk.Text.Substring(0, 2), out int mon) == false) return;
// dts.Value = DateTime.Parse(DateTime.Now.Year.ToString("0000") + "-" + mon.ToString("00" + "-01"));
// dte.Value = dts.Value.AddMonths(1).AddDays(-1);
//}
}
private void linkLabel14_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
}
}
}

View File

@@ -0,0 +1,129 @@
<?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>181, 17</value>
</metadata>
<metadata name="dsReport.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>245, 17</value>
</metadata>
</root>