개인/월별 작업 시간 합계, 그래프에서 폼즈로 변경

This commit is contained in:
chi
2020-10-27 12:47:09 +09:00
parent ae92e22f8c
commit ed3517eb79
15 changed files with 1172 additions and 297 deletions

View File

@@ -1,4 +1,5 @@
201007 chi 부서로그인 기능 추가, 구매내역 메일 보내기 기능 201027 chi 개인별/월별 근무시간 합계표 차트 -> 폼 변경
201007 chi 부서로그인 기능 추가, 구매내역 메일 보내기 기능
200921 chi 파트리스트 저장시 sid 의 공백이 제거되게함 200921 chi 파트리스트 저장시 sid 의 공백이 제거되게함
200812 chi 1일최대근무시간 8시간 적용 200812 chi 1일최대근무시간 8시간 적용
200730 chi 파트리스트에 입력되는 단가 자릿수 증가 200730 chi 파트리스트에 입력되는 단가 자릿수 증가

View File

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

412
Project/_Common/fAddNewUser.Designer.cs generated Normal file
View File

@@ -0,0 +1,412 @@
namespace Project._Common
{
partial class fAddNewUser
{
/// <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()
{
System.Windows.Forms.Label idLabel;
System.Windows.Forms.Label passwordLabel;
System.Windows.Forms.Label nameLabel;
System.Windows.Forms.Label deptLabel;
System.Windows.Forms.Label gradeLabel;
System.Windows.Forms.Label emailLabel;
System.Windows.Forms.Label levelLabel;
System.Windows.Forms.Label indateLabel;
System.Windows.Forms.Label outdateLabel;
System.Windows.Forms.Label memoLabel;
System.Windows.Forms.Label label1;
System.Windows.Forms.Label label2;
System.Windows.Forms.Label label3;
System.Windows.Forms.Label label4;
System.Windows.Forms.Label label5;
this.tbId = new System.Windows.Forms.TextBox();
this.tbNameK = new System.Windows.Forms.TextBox();
this.tbDept = new System.Windows.Forms.TextBox();
this.tbGrade = new System.Windows.Forms.TextBox();
this.tbEmail = new System.Windows.Forms.TextBox();
this.tbLevel = new System.Windows.Forms.TextBox();
this.tbDateIn = new System.Windows.Forms.TextBox();
this.tbDateO = new System.Windows.Forms.TextBox();
this.tbMemo = new System.Windows.Forms.TextBox();
this.button2 = new System.Windows.Forms.Button();
this.tbTel = new System.Windows.Forms.TextBox();
this.tbHp = new System.Windows.Forms.TextBox();
this.tbNameE = new System.Windows.Forms.TextBox();
this.tbKJPath = new System.Windows.Forms.TextBox();
this.tbProcess = new System.Windows.Forms.TextBox();
this.textBox1 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
idLabel = new System.Windows.Forms.Label();
passwordLabel = new System.Windows.Forms.Label();
nameLabel = new System.Windows.Forms.Label();
deptLabel = new System.Windows.Forms.Label();
gradeLabel = new System.Windows.Forms.Label();
emailLabel = new System.Windows.Forms.Label();
levelLabel = new System.Windows.Forms.Label();
indateLabel = new System.Windows.Forms.Label();
outdateLabel = new System.Windows.Forms.Label();
memoLabel = new System.Windows.Forms.Label();
label1 = new System.Windows.Forms.Label();
label2 = new System.Windows.Forms.Label();
label3 = new System.Windows.Forms.Label();
label4 = new System.Windows.Forms.Label();
label5 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// idLabel
//
idLabel.AutoSize = true;
idLabel.Location = new System.Drawing.Point(26, 15);
idLabel.Name = "idLabel";
idLabel.Size = new System.Drawing.Size(74, 21);
idLabel.TabIndex = 0;
idLabel.Text = "사원번호";
//
// passwordLabel
//
passwordLabel.AutoSize = true;
passwordLabel.Location = new System.Drawing.Point(26, 49);
passwordLabel.Name = "passwordLabel";
passwordLabel.Size = new System.Drawing.Size(74, 21);
passwordLabel.TabIndex = 2;
passwordLabel.Text = "비밀번호";
//
// nameLabel
//
nameLabel.AutoSize = true;
nameLabel.Location = new System.Drawing.Point(58, 86);
nameLabel.Name = "nameLabel";
nameLabel.Size = new System.Drawing.Size(42, 21);
nameLabel.TabIndex = 4;
nameLabel.Text = "이름";
//
// deptLabel
//
deptLabel.AutoSize = true;
deptLabel.Location = new System.Drawing.Point(58, 123);
deptLabel.Name = "deptLabel";
deptLabel.Size = new System.Drawing.Size(42, 21);
deptLabel.TabIndex = 8;
deptLabel.Text = "부서";
//
// gradeLabel
//
gradeLabel.AutoSize = true;
gradeLabel.Location = new System.Drawing.Point(360, 123);
gradeLabel.Name = "gradeLabel";
gradeLabel.Size = new System.Drawing.Size(42, 21);
gradeLabel.TabIndex = 10;
gradeLabel.Text = "직책";
//
// emailLabel
//
emailLabel.AutoSize = true;
emailLabel.Location = new System.Drawing.Point(26, 159);
emailLabel.Name = "emailLabel";
emailLabel.Size = new System.Drawing.Size(74, 21);
emailLabel.TabIndex = 12;
emailLabel.Text = "전자메일";
//
// levelLabel
//
levelLabel.AutoSize = true;
levelLabel.Location = new System.Drawing.Point(360, 229);
levelLabel.Name = "levelLabel";
levelLabel.Size = new System.Drawing.Size(42, 21);
levelLabel.TabIndex = 18;
levelLabel.Text = "권한";
//
// indateLabel
//
indateLabel.AutoSize = true;
indateLabel.Location = new System.Drawing.Point(344, 15);
indateLabel.Name = "indateLabel";
indateLabel.Size = new System.Drawing.Size(58, 21);
indateLabel.TabIndex = 20;
indateLabel.Text = "입사일";
//
// outdateLabel
//
outdateLabel.AutoSize = true;
outdateLabel.Location = new System.Drawing.Point(344, 49);
outdateLabel.Name = "outdateLabel";
outdateLabel.Size = new System.Drawing.Size(58, 21);
outdateLabel.TabIndex = 22;
outdateLabel.Text = "퇴사일";
//
// memoLabel
//
memoLabel.AutoSize = true;
memoLabel.Location = new System.Drawing.Point(360, 156);
memoLabel.Name = "memoLabel";
memoLabel.Size = new System.Drawing.Size(42, 21);
memoLabel.TabIndex = 24;
memoLabel.Text = "비고";
//
// label1
//
label1.AutoSize = true;
label1.Location = new System.Drawing.Point(10, 193);
label1.Name = "label1";
label1.Size = new System.Drawing.Size(90, 21);
label1.TabIndex = 14;
label1.Text = "사무실전화";
//
// label2
//
label2.AutoSize = true;
label2.Location = new System.Drawing.Point(26, 229);
label2.Name = "label2";
label2.Size = new System.Drawing.Size(74, 21);
label2.TabIndex = 16;
label2.Text = "휴대전화";
//
// label3
//
label3.AutoSize = true;
label3.Location = new System.Drawing.Point(318, 86);
label3.Name = "label3";
label3.Size = new System.Drawing.Size(84, 21);
label3.TabIndex = 6;
label3.Text = "이름(영문)";
//
// label4
//
label4.AutoSize = true;
label4.Location = new System.Drawing.Point(106, 330);
label4.Name = "label4";
label4.Size = new System.Drawing.Size(96, 21);
label4.TabIndex = 27;
label4.Text = "견적서 위치";
//
// label5
//
label5.AutoSize = true;
label5.Location = new System.Drawing.Point(360, 193);
label5.Name = "label5";
label5.Size = new System.Drawing.Size(42, 21);
label5.TabIndex = 29;
label5.Text = "공정";
//
// tbId
//
this.tbId.Location = new System.Drawing.Point(105, 11);
this.tbId.Name = "tbId";
this.tbId.Size = new System.Drawing.Size(145, 29);
this.tbId.TabIndex = 1;
//
// tbNameK
//
this.tbNameK.Location = new System.Drawing.Point(105, 82);
this.tbNameK.Name = "tbNameK";
this.tbNameK.Size = new System.Drawing.Size(200, 29);
this.tbNameK.TabIndex = 5;
//
// tbDept
//
this.tbDept.Location = new System.Drawing.Point(105, 119);
this.tbDept.Name = "tbDept";
this.tbDept.Size = new System.Drawing.Size(200, 29);
this.tbDept.TabIndex = 9;
//
// tbGrade
//
this.tbGrade.Location = new System.Drawing.Point(407, 119);
this.tbGrade.Name = "tbGrade";
this.tbGrade.Size = new System.Drawing.Size(189, 29);
this.tbGrade.TabIndex = 11;
//
// tbEmail
//
this.tbEmail.Location = new System.Drawing.Point(105, 156);
this.tbEmail.Name = "tbEmail";
this.tbEmail.Size = new System.Drawing.Size(200, 29);
this.tbEmail.TabIndex = 13;
//
// tbLevel
//
this.tbLevel.Location = new System.Drawing.Point(407, 225);
this.tbLevel.Name = "tbLevel";
this.tbLevel.ReadOnly = true;
this.tbLevel.Size = new System.Drawing.Size(189, 29);
this.tbLevel.TabIndex = 19;
//
// tbDateIn
//
this.tbDateIn.Location = new System.Drawing.Point(407, 11);
this.tbDateIn.Name = "tbDateIn";
this.tbDateIn.Size = new System.Drawing.Size(189, 29);
this.tbDateIn.TabIndex = 21;
//
// tbDateO
//
this.tbDateO.Location = new System.Drawing.Point(407, 45);
this.tbDateO.Name = "tbDateO";
this.tbDateO.Size = new System.Drawing.Size(189, 29);
this.tbDateO.TabIndex = 23;
//
// tbMemo
//
this.tbMemo.Location = new System.Drawing.Point(407, 156);
this.tbMemo.Name = "tbMemo";
this.tbMemo.Size = new System.Drawing.Size(189, 29);
this.tbMemo.TabIndex = 25;
//
// button2
//
this.button2.Location = new System.Drawing.Point(105, 264);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(491, 54);
this.button2.TabIndex = 26;
this.button2.Text = "저장(&S)";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// tbTel
//
this.tbTel.Location = new System.Drawing.Point(105, 190);
this.tbTel.Name = "tbTel";
this.tbTel.Size = new System.Drawing.Size(200, 29);
this.tbTel.TabIndex = 15;
//
// tbHp
//
this.tbHp.Location = new System.Drawing.Point(105, 225);
this.tbHp.Name = "tbHp";
this.tbHp.Size = new System.Drawing.Size(200, 29);
this.tbHp.TabIndex = 17;
//
// tbNameE
//
this.tbNameE.Location = new System.Drawing.Point(407, 82);
this.tbNameE.Name = "tbNameE";
this.tbNameE.Size = new System.Drawing.Size(189, 29);
this.tbNameE.TabIndex = 7;
//
// tbKJPath
//
this.tbKJPath.Location = new System.Drawing.Point(184, 327);
this.tbKJPath.Name = "tbKJPath";
this.tbKJPath.ReadOnly = true;
this.tbKJPath.Size = new System.Drawing.Size(177, 29);
this.tbKJPath.TabIndex = 28;
//
// tbProcess
//
this.tbProcess.Location = new System.Drawing.Point(407, 190);
this.tbProcess.Name = "tbProcess";
this.tbProcess.Size = new System.Drawing.Size(189, 29);
this.tbProcess.TabIndex = 30;
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(105, 45);
this.textBox1.Name = "textBox1";
this.textBox1.ReadOnly = true;
this.textBox1.Size = new System.Drawing.Size(200, 29);
this.textBox1.TabIndex = 31;
this.textBox1.Text = "기본값 0";
this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// button1
//
this.button1.Font = new System.Drawing.Font("맑은 고딕", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.button1.Location = new System.Drawing.Point(256, 11);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(49, 29);
this.button1.TabIndex = 32;
this.button1.Text = "조회";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// fAddNewUser
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(601, 326);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox1);
this.Controls.Add(label5);
this.Controls.Add(this.tbProcess);
this.Controls.Add(label4);
this.Controls.Add(this.tbKJPath);
this.Controls.Add(label3);
this.Controls.Add(this.tbNameE);
this.Controls.Add(label2);
this.Controls.Add(this.tbHp);
this.Controls.Add(label1);
this.Controls.Add(this.tbTel);
this.Controls.Add(this.button2);
this.Controls.Add(idLabel);
this.Controls.Add(this.tbId);
this.Controls.Add(passwordLabel);
this.Controls.Add(nameLabel);
this.Controls.Add(this.tbNameK);
this.Controls.Add(deptLabel);
this.Controls.Add(this.tbDept);
this.Controls.Add(gradeLabel);
this.Controls.Add(this.tbGrade);
this.Controls.Add(emailLabel);
this.Controls.Add(this.tbEmail);
this.Controls.Add(levelLabel);
this.Controls.Add(this.tbLevel);
this.Controls.Add(indateLabel);
this.Controls.Add(this.tbDateIn);
this.Controls.Add(outdateLabel);
this.Controls.Add(this.tbDateO);
this.Controls.Add(memoLabel);
this.Controls.Add(this.tbMemo);
this.Font = new System.Drawing.Font("맑은 고딕", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "fAddNewUser";
this.Text = "사용자추가";
this.Load += new System.EventHandler(this.fUserInfo_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox tbId;
private System.Windows.Forms.TextBox tbNameK;
private System.Windows.Forms.TextBox tbDept;
private System.Windows.Forms.TextBox tbGrade;
private System.Windows.Forms.TextBox tbEmail;
private System.Windows.Forms.TextBox tbLevel;
private System.Windows.Forms.TextBox tbDateIn;
private System.Windows.Forms.TextBox tbDateO;
private System.Windows.Forms.TextBox tbMemo;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.TextBox tbTel;
private System.Windows.Forms.TextBox tbHp;
private System.Windows.Forms.TextBox tbNameE;
private System.Windows.Forms.TextBox tbKJPath;
private System.Windows.Forms.TextBox tbProcess;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button button1;
}
}

View File

@@ -0,0 +1,146 @@
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 Project._Common
{
public partial class fAddNewUser : Form // FCOMMON.fBase
{
public fAddNewUser(string dept)
{
InitializeComponent();
this.tbDept.Text = dept;
}
dsMSSQL.UsersRow dr = null;
private void fUserInfo_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
//입력한 id확인해서 잇으면 해당 자료를 표시해준다.
var id = this.tbId.Text.Trim();
if (id.isEmpty())
{
FCOMMON.Util.MsgE("id를 입력하세요");
this.tbId.SelectAll();
this.tbId.Focus();
return;
}
var db = new DataClasses1DataContext();
var dr_user = db.Users.Where(t => t.id == id).FirstOrDefault();
if (dr_user == null)
{
FCOMMON.Util.MsgE("등록된 자료가 없습니다");
tbNameK.Focus();
}
else
{
tbNameK.Text = dr_user.name;
tbNameE.Text = dr_user.nameE;
if (tbDept.Text.isEmpty()) tbDept.Text = dr_user.dept;
tbEmail.Text = dr_user.email;
tbTel.Text = dr_user.tel;
tbHp.Text = dr_user.hp;
tbDateIn.Text = dr_user.indate;
tbDateO.Text = dr_user.outdate;
tbGrade.Text = dr_user.grade;
tbMemo.Text = dr_user.memo;
tbProcess.Text = string.Empty;
//부서가잇다면 해당 부서에서 해당 사용자의 공정을 찾는다
if (tbDept.Text.isEmpty() == false)
{
var drGrp = db.vGroupUser.Where(t => t.id == id).FirstOrDefault();
if (drGrp != null)
{
tbProcess.Text = drGrp.processs;
}
}
}
}
private void button2_Click(object sender, EventArgs e)
{
this.Validate();
var db = new DataClasses1DataContext();
//해당 그룹에 데이터를 추가한다.
var drDept = db.UserGroup.Where(t => t.dept == tbDept.Text).FirstOrDefault();
if (drDept == null)
{
FCOMMON.Util.MsgE("해당 부서정보가 존재하지 않습니다\n\n부서를 신규로 추가할 수는 없습니다\n관리자에 문의하세요");
return;
}
//해당 그룹에 해당 사용자가 존재하는지 확이한다.
var gcode = drDept.gcode;
var drGuser = db.EETGW_GroupUser.Where(t => t.gcode == gcode && t.uid == this.tbId.Text.Trim()).FirstOrDefault();
if (drGuser != null)
{
drGuser.Process = this.tbProcess.Text.Trim();
}
else
{
drGuser = new EETGW_GroupUser();
drGuser.wuid = FCOMMON.info.Login.no;
drGuser.wdate = DateTime.Now;
drGuser.gcode = gcode;
drGuser.level = 1;
drGuser.uid = this.tbId.Text.Trim();
drGuser.Process = this.tbProcess.Text.Trim();
db.EETGW_GroupUser.InsertOnSubmit(drGuser);
}
//사용자 목록에 없다면 추가한다
var drUser = db.Users.Where(t => t.id == tbId.Text.Trim()).FirstOrDefault();
if(drUser == null)
{
drUser = new Users();
drUser.wuid = FCOMMON.info.Login.no;
drUser.wdate = DateTime.Now;
drUser.gcode = gcode;
drUser.level = 1;
drUser.id = tbId.Text.Trim();
drUser.name = tbNameK.Text.Trim();
drUser.nameE = tbNameE.Text.Trim();
drUser.dept = this.tbDept.Text.Trim();
drUser.email = tbEmail.Text;
drUser.tel = tbTel.Text;
drUser.hp = tbHp.Text;
drUser.indate = tbDateIn.Text;
drUser.outdate = tbDateO.Text;
drUser.memo = tbMemo.Text;
drUser.processs = tbProcess.Text;
db.Users.InsertOnSubmit(drUser);
}
else
{
drUser.name = tbNameK.Text.Trim();
drUser.nameE = tbNameE.Text.Trim();
drUser.dept = this.tbDept.Text.Trim();
drUser.email = tbEmail.Text;
drUser.tel = tbTel.Text;
drUser.hp = tbHp.Text;
drUser.indate = tbDateIn.Text;
drUser.outdate = tbDateO.Text;
drUser.memo = tbMemo.Text;
drUser.processs = tbProcess.Text;
}
db.SubmitChanges();
this.DialogResult = DialogResult.OK;
}
}
}

View File

@@ -0,0 +1,165 @@
<?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="idLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="passwordLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="nameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="deptLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="gradeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="emailLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="levelLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="indateLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="outdateLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="memoLabel.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="label2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label3.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label4.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>

View File

@@ -22,6 +22,8 @@ namespace FCM0000
public string itemSupply { get; set; } public string itemSupply { get; set; }
public int itemSupplyidx { get; set; } public int itemSupplyidx { get; set; }
public string itemManu { get; set; }
public fLovItem(string search_) public fLovItem(string search_)
{ {
InitializeComponent(); InitializeComponent();
@@ -37,6 +39,7 @@ namespace FCM0000
itemUnit = "EA"; itemUnit = "EA";
itemSupply = string.Empty; itemSupply = string.Empty;
itemSupplyidx = -1; itemSupplyidx = -1;
itemManu = string.Empty;
this.KeyPreview = true; this.KeyPreview = true;
this.KeyDown += (s1, e1) => this.KeyDown += (s1, e1) =>
@@ -61,6 +64,8 @@ namespace FCM0000
tbFind.SelectAll(); tbFind.SelectAll();
} }
} }
Boolean searchOk = false;
void refreshData(string search) void refreshData(string search)
{ {
if(search == "") if(search == "")
@@ -77,6 +82,7 @@ namespace FCM0000
//검색을 수행 //검색을 수행
this.taPMP.Fill(this.dSPMP.SPMaster, "%" + search + "%"); this.taPMP.Fill(this.dSPMP.SPMaster, "%" + search + "%");
this.arDatagridView1.AutoResizeColumns(); this.arDatagridView1.AutoResizeColumns();
searchOk = true;
} }
@@ -93,6 +99,7 @@ namespace FCM0000
itemprice = 0; itemprice = 0;
itemSupply = string.Empty; itemSupply = string.Empty;
itemSupplyidx = -1; itemSupplyidx = -1;
itemManu = string.Empty;
itemUnit = "EA"; itemUnit = "EA";
SID = string.Empty; SID = string.Empty;
return; return;
@@ -105,6 +112,8 @@ namespace FCM0000
else itemName = dr.name; else itemName = dr.name;
if (dr.IsmodelNull()) itemmodel = string.Empty; if (dr.IsmodelNull()) itemmodel = string.Empty;
else itemmodel = dr.model; else itemmodel = dr.model;
if (dr.IsmanuNull()) itemManu = string.Empty;
else itemManu = dr.manu;
if (dr.IspriceNull()) itemprice = 0; if (dr.IspriceNull()) itemprice = 0;
else itemprice = dr.price; else itemprice = dr.price;
if (dr.IssupplyNull()) itemSupply = string.Empty; if (dr.IssupplyNull()) itemSupply = string.Empty;
@@ -217,12 +226,20 @@ namespace FCM0000
private void btAdd_Click(object sender, EventArgs e) private void btAdd_Click(object sender, EventArgs e)
{ {
if(searchOk==false)
{
FCOMMON.Util.MsgE("먼저 검색을 통해서 아이템을 찾은 후 없다면 신규추가를 눌러 주세요");
tbFind.Focus();
tbFind.SelectAll();
return;
}
var f = new Item.fItemAdd(); var f = new Item.fItemAdd();
if(f.ShowDialog() == System.Windows.Forms.DialogResult.OK) if(f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{ {
itemName = f.tbName.Text.Trim(); itemName = f.tbName.Text.Trim();
item = f.newIDX; item = f.newIDX;
itemmodel = f.tbModel.Text.Trim(); itemmodel = f.tbModel.Text.Trim();
itemManu = f.tbManu.Text.Trim();
decimal price; decimal price;
decimal.TryParse(f.tbPrice.Text.Replace(",",""),out price); decimal.TryParse(f.tbPrice.Text.Replace(",",""),out price);
itemprice =price;// decimal.Parse(f.tbPrice.Text.Trim().Replace(",","")); itemprice =price;// decimal.Parse(f.tbPrice.Text.Trim().Replace(",",""));

View File

@@ -8,8 +8,8 @@ using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using util = FCOMMON.Util; using util = FCOMMON.Util;
using NetOffice; using NetOffice;
using Outlook = NetOffice.OutlookApi; using Outlook = NetOffice.OutlookApi;
using NetOffice.OutlookApi.Enums; using NetOffice.OutlookApi.Enums;
namespace FEQ0000 namespace FEQ0000

View File

@@ -302,7 +302,6 @@
// btReport // btReport
// //
this.btReport.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; this.btReport.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.btReport.Enabled = false;
this.btReport.Image = ((System.Drawing.Image)(resources.GetObject("btReport.Image"))); this.btReport.Image = ((System.Drawing.Image)(resources.GetObject("btReport.Image")));
this.btReport.ImageTransparentColor = System.Drawing.Color.Magenta; this.btReport.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btReport.Name = "btReport"; this.btReport.Name = "btReport";

View File

@@ -1,89 +1,144 @@
namespace FPJ0000.JobReport namespace FPJ0000.JobReport
{ {
partial class rJobReport partial class rJobReport
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
private System.ComponentModel.IContainer components = null; private System.ComponentModel.IContainer components = null;
/// <summary> /// <summary>
/// Clean up any resources being used. /// Clean up any resources being used.
/// </summary> /// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && (components != null)) if (disposing && (components != null))
{ {
components.Dispose(); components.Dispose();
} }
base.Dispose(disposing); base.Dispose(disposing);
} }
#region Windows Form Designer generated code #region Windows Form Designer generated code
/// <summary> /// <summary>
/// Required method for Designer support - do not modify /// Required method for Designer support - do not modify
/// the contents of this method with the code editor. /// the contents of this method with the code editor.
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
Microsoft.Reporting.WinForms.ReportDataSource reportDataSource1 = new Microsoft.Reporting.WinForms.ReportDataSource(); this.bs = new System.Windows.Forms.BindingSource(this.components);
this.bs = new System.Windows.Forms.BindingSource(this.components); this.dsReport = new FPJ0000.dsReport();
this.dsReport = new FPJ0000.dsReport(); this.ta = new FPJ0000.dsReportTableAdapters.jobReportTableAdapter();
this.reportViewer1 = new Microsoft.Reporting.WinForms.ReportViewer(); this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.ta = new FPJ0000.dsReportTableAdapters.jobReportTableAdapter(); this.panel1 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit(); this.linkLabel1 = new System.Windows.Forms.LinkLabel();
((System.ComponentModel.ISupportInitialize)(this.dsReport)).BeginInit(); this.btRefresh = new System.Windows.Forms.Button();
this.SuspendLayout(); this.tbMon = new System.Windows.Forms.TextBox();
// ((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
// bs ((System.ComponentModel.ISupportInitialize)(this.dsReport)).BeginInit();
// ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.bs.DataMember = "jobreport"; this.panel1.SuspendLayout();
this.bs.DataSource = this.dsReport; this.SuspendLayout();
// //
// dsReport // bs
// //
this.dsReport.DataSetName = "dsReport"; this.bs.DataMember = "jobreport";
this.dsReport.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema; this.bs.DataSource = this.dsReport;
// //
// reportViewer1 // dsReport
// //
this.reportViewer1.Dock = System.Windows.Forms.DockStyle.Fill; this.dsReport.DataSetName = "dsReport";
reportDataSource1.Name = "DataSet1"; this.dsReport.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
reportDataSource1.Value = this.bs; //
this.reportViewer1.LocalReport.DataSources.Add(reportDataSource1); // ta
this.reportViewer1.LocalReport.ReportEmbeddedResource = "FPJ0000.JobReport.rJobReport.rdlc"; //
this.reportViewer1.Location = new System.Drawing.Point(0, 0); this.ta.ClearBeforeFill = true;
this.reportViewer1.Name = "reportViewer1"; //
this.reportViewer1.Size = new System.Drawing.Size(721, 586); // dataGridView1
this.reportViewer1.TabIndex = 0; //
// this.dataGridView1.AllowUserToAddRows = false;
// ta this.dataGridView1.AllowUserToDeleteRows = false;
// this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.ta.ClearBeforeFill = true; this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
// this.dataGridView1.Location = new System.Drawing.Point(0, 42);
// rJobReport this.dataGridView1.Name = "dataGridView1";
// this.dataGridView1.ReadOnly = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.dataGridView1.RowTemplate.Height = 23;
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.dataGridView1.Size = new System.Drawing.Size(721, 544);
this.ClientSize = new System.Drawing.Size(721, 586); this.dataGridView1.TabIndex = 2;
this.Controls.Add(this.reportViewer1); //
this.Name = "rJobReport"; // panel1
this.Text = "월/개인별 근무시간 내역 집계"; //
this.Load += new System.EventHandler(this.rJobReport_Load); this.panel1.Controls.Add(this.linkLabel1);
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit(); this.panel1.Controls.Add(this.btRefresh);
((System.ComponentModel.ISupportInitialize)(this.dsReport)).EndInit(); this.panel1.Controls.Add(this.tbMon);
this.ResumeLayout(false); 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);
#endregion this.panel1.Size = new System.Drawing.Size(721, 42);
this.panel1.TabIndex = 3;
private Microsoft.Reporting.WinForms.ReportViewer reportViewer1; //
private System.Windows.Forms.BindingSource bs; // linkLabel1
private dsReport dsReport; //
private dsReportTableAdapters.jobReportTableAdapter ta; this.linkLabel1.AutoSize = true;
} this.linkLabel1.Location = new System.Drawing.Point(13, 15);
this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.Size = new System.Drawing.Size(45, 12);
this.linkLabel1.TabIndex = 0;
this.linkLabel1.TabStop = true;
this.linkLabel1.Text = "조회 년";
//
// btRefresh
//
this.btRefresh.Dock = System.Windows.Forms.DockStyle.Right;
this.btRefresh.Location = new System.Drawing.Point(641, 5);
this.btRefresh.Name = "btRefresh";
this.btRefresh.Size = new System.Drawing.Size(75, 32);
this.btRefresh.TabIndex = 2;
this.btRefresh.Text = "새로고침";
this.btRefresh.UseVisualStyleBackColor = true;
this.btRefresh.Click += new System.EventHandler(this.btRefresh_Click);
//
// tbMon
//
this.tbMon.Location = new System.Drawing.Point(66, 10);
this.tbMon.Name = "tbMon";
this.tbMon.Size = new System.Drawing.Size(115, 21);
this.tbMon.TabIndex = 1;
this.tbMon.Text = "2020";
this.tbMon.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// rJobReport
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(721, 586);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.panel1);
this.Name = "rJobReport";
this.Text = "월/개인별 근무시간 내역 집계";
this.Load += new System.EventHandler(this.rJobReport_Load);
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dsReport)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.BindingSource bs;
private dsReport dsReport;
private dsReportTableAdapters.jobReportTableAdapter ta;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.LinkLabel linkLabel1;
private System.Windows.Forms.Button btRefresh;
private System.Windows.Forms.TextBox tbMon;
}
} }

View File

@@ -10,7 +10,7 @@ using System.Windows.Forms;
namespace FPJ0000.JobReport namespace FPJ0000.JobReport
{ {
public partial class rJobReport : Form public partial class rJobReport : Form
{ {
public rJobReport() public rJobReport()
{ {
InitializeComponent(); InitializeComponent();
@@ -19,10 +19,92 @@ namespace FPJ0000.JobReport
private void rJobReport_Load(object sender, EventArgs e) private void rJobReport_Load(object sender, EventArgs e)
{ {
this.ta.Fill(this.dsReport.jobReport, DateTime.Now.Year.ToString("0000"),FCOMMON.info.Login.gcode); RefreshData();
this.reportViewer1.SetDisplayMode( Microsoft.Reporting.WinForms.DisplayMode.PrintLayout); }
this.reportViewer1.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.PageWidth;
this.reportViewer1.RefreshReport(); void RefreshData()
{
this.ta.Fill(this.dsReport.jobReport, tbMon.Text, FCOMMON.info.Login.gcode);
//this.reportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout);
//this.reportViewer1.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.PageWidth;
//그리드뷰 생성
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.Rows.Clear();
this.dataGridView1.Columns.Clear();
this.dataGridView1.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
this.dataGridView1.ColumnHeadersHeight = 35;
this.dataGridView1.Columns.Add("이름", "이름");
//이름/년도데이터추가
var ymlist = dsReport.jobReport.OrderBy(t => t.yymm).GroupBy(t => t.yymm);
foreach (var ym in ymlist)
{
var drYm = ym.FirstOrDefault();
var basehr = int.Parse(drYm.yymm.Substring(drYm.yymm.IndexOf('(')).Replace("(", "").Replace(")", ""));
this.dataGridView1.Columns.Add(drYm.yymm, drYm.yymm.Substring(0, 7) + "\r\n(" + basehr.ToString() + ")");
}
//이름으로 정렬해서 데이터를 가져온다
var namelist = this.dsReport.jobReport.OrderBy(t => t.uname).GroupBy(t => t.uname);
foreach (var uname in namelist)
{
var drName = uname.FirstOrDefault();
List<string> rowdata = new List<string>();
rowdata.Add(drName.uname + "(" + drName.uid + ")");
List<Boolean> high = new List<bool>();
List<Boolean> low = new List<bool>();
for (int i = 1; i < this.dataGridView1.ColumnCount; i++)
{
var coltitle = dataGridView1.Columns[i].HeaderText;
var basehr = int.Parse(coltitle.Split('\n')[1].Replace("(","").Replace(")",""));
var userDatas = dsReport.jobReport.Where(t => t.uid == drName.uid && t.yymm == dataGridView1.Columns[i].Name);
if (userDatas == null || userDatas.Count() == 0)
{
//이달에는 데이터가없다
rowdata.Add("--");
high.Add(false);
low.Add(false);
}
else
{
var sumhr = userDatas.Sum(t => t.hrs);
var sumot = userDatas.Sum(t => t.ot);
if (sumot == 0) rowdata.Add(string.Format("{0}", sumhr, sumot));
else rowdata.Add(string.Format("{0}+{1}", sumhr, sumot));
if (sumhr > basehr) high.Add(true);
else high.Add(false);
if (sumhr < basehr) low.Add(true);
else low.Add(false);
}
}
dataGridView1.Rows.Add(rowdata.ToArray());
//이번에 추가한 줄의 셀 컬러를 지정한다
var currentrow = dataGridView1.Rows.Count - 1;
for (int i = 1; i < this.dataGridView1.ColumnCount; i++)
{
if (high[i - 1]) dataGridView1.Rows[currentrow].Cells[i].Style.ForeColor = Color.Red;
else if (low[i - 1]) dataGridView1.Rows[currentrow].Cells[i].Style.ForeColor = Color.Blue;
else dataGridView1.Rows[currentrow].Cells[i].Style.ForeColor = Color.Black;
}
}
this.dataGridView1.AutoResizeColumns();
}
private void btRefresh_Click(object sender, EventArgs e)
{
RefreshData();
} }
} }
} }

View File

@@ -1,129 +1,132 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, 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="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="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <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> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : 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: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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <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:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <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="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>119, 17</value> <value>119, 17</value>
</metadata> </metadata>
<metadata name="dsReport.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="dsReport.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="dsReport.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>183, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>183, 17</value>
</metadata>
</root> </root>

View File

@@ -29,17 +29,16 @@
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
this.bs = new System.Windows.Forms.BindingSource(this.components); this.bs = new System.Windows.Forms.BindingSource(this.components);
this.dsReport = new FPJ0000.dsReport(); this.dsReport = new FPJ0000.dsReport();
this.panel1 = new System.Windows.Forms.Panel(); this.panel1 = new System.Windows.Forms.Panel();
this.tbProcess = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.linkLabel1 = new System.Windows.Forms.LinkLabel(); this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.btRefresh = new System.Windows.Forms.Button(); this.btRefresh = new System.Windows.Forms.Button();
this.tbMon = new System.Windows.Forms.TextBox(); this.tbMon = new System.Windows.Forms.TextBox();
this.ta = new FPJ0000.dsReportTableAdapters.JobReportDayTableAdapter(); this.ta = new FPJ0000.dsReportTableAdapters.JobReportDayTableAdapter();
this.dataGridView1 = new System.Windows.Forms.DataGridView(); this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.tbProcess = new System.Windows.Forms.ComboBox();
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dsReport)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dsReport)).BeginInit();
this.panel1.SuspendLayout(); this.panel1.SuspendLayout();
@@ -70,6 +69,15 @@
this.panel1.Size = new System.Drawing.Size(751, 42); this.panel1.Size = new System.Drawing.Size(751, 42);
this.panel1.TabIndex = 0; this.panel1.TabIndex = 0;
// //
// tbProcess
//
this.tbProcess.FormattingEnabled = true;
this.tbProcess.Location = new System.Drawing.Point(233, 10);
this.tbProcess.Name = "tbProcess";
this.tbProcess.Size = new System.Drawing.Size(158, 20);
this.tbProcess.TabIndex = 5;
this.tbProcess.SelectedIndexChanged += new System.EventHandler(this.tbProcess_SelectedIndexChanged);
//
// label1 // label1
// //
this.label1.AutoSize = true; this.label1.AutoSize = true;
@@ -115,30 +123,13 @@
// //
// dataGridView1 // dataGridView1
// //
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.AllowUserToResizeColumns = false;
this.dataGridView1.AllowUserToResizeRows = false;
dataGridViewCellStyle3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
this.dataGridView1.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 42); this.dataGridView1.Location = new System.Drawing.Point(0, 42);
this.dataGridView1.Name = "dataGridView1"; this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowHeadersVisible = false;
this.dataGridView1.RowTemplate.Height = 23; this.dataGridView1.RowTemplate.Height = 23;
this.dataGridView1.Size = new System.Drawing.Size(751, 546); this.dataGridView1.Size = new System.Drawing.Size(751, 546);
this.dataGridView1.TabIndex = 2; this.dataGridView1.TabIndex = 1;
//
// tbProcess
//
this.tbProcess.FormattingEnabled = true;
this.tbProcess.Location = new System.Drawing.Point(233, 10);
this.tbProcess.Name = "tbProcess";
this.tbProcess.Size = new System.Drawing.Size(158, 20);
this.tbProcess.TabIndex = 5;
this.tbProcess.SelectedIndexChanged += new System.EventHandler(this.tbProcess_SelectedIndexChanged);
// //
// rJobReportDay // rJobReportDay
// //
@@ -167,8 +158,8 @@
private System.Windows.Forms.TextBox tbMon; private System.Windows.Forms.TextBox tbMon;
private System.Windows.Forms.LinkLabel linkLabel1; private System.Windows.Forms.LinkLabel linkLabel1;
private dsReportTableAdapters.JobReportDayTableAdapter ta; private dsReportTableAdapters.JobReportDayTableAdapter ta;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox tbProcess; private System.Windows.Forms.ComboBox tbProcess;
private System.Windows.Forms.DataGridView dataGridView1;
} }
} }

View File

@@ -38,6 +38,7 @@
System.Windows.Forms.Label statusLabel; System.Windows.Forms.Label statusLabel;
System.Windows.Forms.Label label1; System.Windows.Forms.Label label1;
System.Windows.Forms.Label label2; System.Windows.Forms.Label label2;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fPartList));
FarPoint.Win.Spread.FlatFocusIndicatorRenderer flatFocusIndicatorRenderer1 = new FarPoint.Win.Spread.FlatFocusIndicatorRenderer(); FarPoint.Win.Spread.FlatFocusIndicatorRenderer flatFocusIndicatorRenderer1 = new FarPoint.Win.Spread.FlatFocusIndicatorRenderer();
FarPoint.Win.Spread.FlatScrollBarRenderer flatScrollBarRenderer1 = new FarPoint.Win.Spread.FlatScrollBarRenderer(); FarPoint.Win.Spread.FlatScrollBarRenderer flatScrollBarRenderer1 = new FarPoint.Win.Spread.FlatScrollBarRenderer();
FarPoint.Win.Spread.FlatScrollBarRenderer flatScrollBarRenderer2 = new FarPoint.Win.Spread.FlatScrollBarRenderer(); FarPoint.Win.Spread.FlatScrollBarRenderer flatScrollBarRenderer2 = new FarPoint.Win.Spread.FlatScrollBarRenderer();
@@ -63,8 +64,9 @@
FarPoint.Win.Spread.CellType.NumberCellType numberCellType8 = new FarPoint.Win.Spread.CellType.NumberCellType(); FarPoint.Win.Spread.CellType.NumberCellType numberCellType8 = new FarPoint.Win.Spread.CellType.NumberCellType();
FarPoint.Win.Spread.CellType.NumberCellType numberCellType9 = new FarPoint.Win.Spread.CellType.NumberCellType(); FarPoint.Win.Spread.CellType.NumberCellType numberCellType9 = new FarPoint.Win.Spread.CellType.NumberCellType();
FarPoint.Win.Spread.NoPrinterPrintInfo noPrinterPrintInfo1 = new FarPoint.Win.Spread.NoPrinterPrintInfo(); FarPoint.Win.Spread.NoPrinterPrintInfo noPrinterPrintInfo1 = new FarPoint.Win.Spread.NoPrinterPrintInfo();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fPartList));
this.panel1 = new System.Windows.Forms.Panel(); this.panel1 = new System.Windows.Forms.Panel();
this.button4 = new System.Windows.Forms.Button();
this.panel7 = new System.Windows.Forms.Panel();
this.button3 = new System.Windows.Forms.Button(); this.button3 = new System.Windows.Forms.Button();
this.panel6 = new System.Windows.Forms.Panel(); this.panel6 = new System.Windows.Forms.Panel();
this.button2 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button();
@@ -137,8 +139,6 @@
this.fpSpread1 = new FarPoint.Win.Spread.FpSpread(); this.fpSpread1 = new FarPoint.Win.Spread.FpSpread();
this.fpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView(); this.fpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.panel7 = new System.Windows.Forms.Panel();
this.button4 = new System.Windows.Forms.Button();
pdateLabel = new System.Windows.Forms.Label(); pdateLabel = new System.Windows.Forms.Label();
requestLabel = new System.Windows.Forms.Label(); requestLabel = new System.Windows.Forms.Label();
reqstaffLabel = new System.Windows.Forms.Label(); reqstaffLabel = new System.Windows.Forms.Label();
@@ -263,6 +263,29 @@
this.panel1.Size = new System.Drawing.Size(1345, 170); this.panel1.Size = new System.Drawing.Size(1345, 170);
this.panel1.TabIndex = 0; this.panel1.TabIndex = 0;
// //
// button4
//
this.button4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.button4.Dock = System.Windows.Forms.DockStyle.Left;
this.button4.Image = ((System.Drawing.Image)(resources.GetObject("button4.Image")));
this.button4.Location = new System.Drawing.Point(962, 0);
this.button4.Name = "button4";
this.button4.Padding = new System.Windows.Forms.Padding(0, 0, 0, 10);
this.button4.Size = new System.Drawing.Size(87, 119);
this.button4.TabIndex = 42;
this.button4.Text = "공용폴더";
this.button4.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// panel7
//
this.panel7.Dock = System.Windows.Forms.DockStyle.Left;
this.panel7.Location = new System.Drawing.Point(955, 0);
this.panel7.Name = "panel7";
this.panel7.Size = new System.Drawing.Size(7, 119);
this.panel7.TabIndex = 41;
//
// button3 // button3
// //
this.button3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; this.button3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
@@ -1378,29 +1401,6 @@
this.fpSpread1_Sheet1.TitleInfo.Value = "Partlist"; this.fpSpread1_Sheet1.TitleInfo.Value = "Partlist";
this.fpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1; this.fpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
// //
// panel7
//
this.panel7.Dock = System.Windows.Forms.DockStyle.Left;
this.panel7.Location = new System.Drawing.Point(955, 0);
this.panel7.Name = "panel7";
this.panel7.Size = new System.Drawing.Size(7, 119);
this.panel7.TabIndex = 41;
//
// button4
//
this.button4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.button4.Dock = System.Windows.Forms.DockStyle.Left;
this.button4.Image = ((System.Drawing.Image)(resources.GetObject("button4.Image")));
this.button4.Location = new System.Drawing.Point(962, 0);
this.button4.Name = "button4";
this.button4.Padding = new System.Windows.Forms.Padding(0, 0, 0, 10);
this.button4.Size = new System.Drawing.Size(87, 119);
this.button4.TabIndex = 42;
this.button4.Text = "공용폴더";
this.button4.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// fPartList // fPartList
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);

View File

@@ -25,6 +25,7 @@ namespace FPJ0000
int colidx_supply = -1; int colidx_supply = -1;
int colidx_supplyidx = -1; int colidx_supplyidx = -1;
int colidx_sid = -1; int colidx_sid = -1;
int colidx_manu = -1;
public fPartList(int idx_) public fPartList(int idx_)
@@ -112,6 +113,7 @@ namespace FPJ0000
else if (colname == "itemsupplyidx") colidx_supplyidx = col.Index; else if (colname == "itemsupplyidx") colidx_supplyidx = col.Index;
else if (colname == "itemsupply") colidx_supply = col.Index; else if (colname == "itemsupply") colidx_supply = col.Index;
else if (colname == "itemsid") colidx_sid = col.Index; else if (colname == "itemsid") colidx_sid = col.Index;
else if (colname == "itemmanu") colidx_manu = col.Index;
} }
this.Show(); this.Show();
Application.DoEvents(); Application.DoEvents();
@@ -483,6 +485,8 @@ namespace FPJ0000
//fpSpread1.ActiveSheet.Cells[Rowidx, colidx_supplyidx].Value = f.itemSupplyidx; //fpSpread1.ActiveSheet.Cells[Rowidx, colidx_supplyidx].Value = f.itemSupplyidx;
//fpSpread1.ActiveSheet.Cells[Rowidx, colidx_supply].Value = f.itemSupply; //fpSpread1.ActiveSheet.Cells[Rowidx, colidx_supply].Value = f.itemSupply;
//제조사추가 201022
fpSpread1.ActiveSheet.Cells[Rowidx, colidx_manu].Value = f.itemManu.Replace(" ", "").Trim();
if (f.itemmodel != "") if (f.itemmodel != "")
fpSpread1.ActiveSheet.Cells[Rowidx, colidx_model].Value = f.itemmodel; fpSpread1.ActiveSheet.Cells[Rowidx, colidx_model].Value = f.itemmodel;

View File

@@ -147,15 +147,15 @@
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="button4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="button4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAi
YQUAAAAJcEhZcwAAIpoAACKaAb7d+yoAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwa mgAAIpoBvt37KgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAGHSURBVFhH7ZUx
AAABh0lEQVRYR+2VMUoDYRSE92i2igewslcsBCu7eAErIY0gNtY2FjZiYSt4BG+grdXqZ97wfsIgwYWX SgNhFIT3aLaKB7CyVywEK7t4ASshjSA21jYWNmJhK3gEb6Ct1epn3vB+wiDBhZdd2IFpJjP/+wpNullD
XdiBaSYz//sKTbpZQ3V7vLcYswHsx+zpAL4tz/r+5XoUhmUGHOIZcKgt4Fg9CcDVt/bR7rPCx8XhVqz7 dXu8txizAezH7OkAvi3P+v7lehSGZQYc4hlwqC3gWD0JwNW39tHus8LHxeFWrPvBsvolkSL4Lbi/iwrr
wbL6JZEi+C24v4sK6z4sgZUiVMGNK6z7sARWilAFN66w7sMSWClCFdy4wroPS2ClCFVw43W/3130r1en PiyBlSJUwY0rrPuwBFaKUAU3rrDuwxJYKUIV3LjCug9LYKUIVXDjdb/fXfSvV6cbma57Y926D0tgpQhV
G5mue2Pdug9LYKUIVXDj1h8Pl+1jG/nzZ+Peat30hwF+PS37+/OD9sE/TZeNe6t1s5n/Sf5l3YclsFKE cOPWHw+X7WMb+fNn495q3fSHAX49Lfv784P2wT9Nl417q3Wzmf9J/mXdhyWwUoQquHGFdR+WwEoRquDG
KrhxhXUflsBKEargxhXWfVgCK0WoghtXWPdhCawUoQpuXGHdhyWwUoQquHGFdR+WwEoRquDGFdZ9WAIr FdZ9WAIrRaiCG1dY92EJrBShCm5cYd2HJbBShCq4cYV1H5bAShGq4MYV1n1YAitFqIIbV1j3YQmsFKEK
RaiCG1dY92EJrBShCm5cYd2HJbBShCq4cYV1H5bAShGq4MYV1n1YAitFqIIbV1j3YQmsFKEKblxh3Ycl blxh3YclsFKEKrhxhXUflsBKEargxhXWfVgCK0WoghtXWPdhCawUoQpuXGHdhyWwUoQquHGFdR+WwEoR
sFKEKrhxhXUflsBKETaFbXuCgDcn+zt8MAbDElizBqrrvgEhPDwfDcBtdQAAAABJRU5ErkJggg== NoVte4KANyf7O3wwBsMSWLMGquu+ASE8PB8NwG11AAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="button3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="button3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -396,20 +396,20 @@
<data name="toolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="toolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALuSURBVDhPhZLrS1NhHMf3Kv+EsF70UghTyqioF6WpTQ3s YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAALvSURBVDhPhZJZTxNRGIZ7JT/BoBdekrhAFKNGLxQELGCC
Zipm3uYUTW3owiBbzEXmJTRRoUKUohcV2kWnNm9zzm24ieY0Ne838LLUXc7Rnc1vzzlbzkDoBx+eF8/5 GwJBZCuFgIAEajARawpGZDEgARI1BKLxQg24QAHLVtrSNrQKUhCQfUtYKtBlpu20vJ6ZVsCExC95ci7O
fji/7zk8dkIeKROvlmgVkaXa36ESLUVOmqOMPXV0ZImGDn+uNl4QqyqOR304xIX2T9jTXtWqmV43Go0O vE/me2d47AQ/kCdcLtXIIso0v0PEGoqcNEc5e2rpiFI1HfZUZTgnUlQejny3jwvtntDHSsWKiV4zGAxO
k3UbJouHdTMLjZ/LZhR8nUds6ZiNnyX3ckddE1GkXmXDmlk7dHMMdPMMtLMM1DM7UP7aRuuoFdsM0DRG o8UGo3mHNRMLjZ9LJhR8nkNM2aiVnyn18kTdE16sWmHD6hkHtLMMtHMMNDMMVNN2yH/Z0DZigY0Bmkcp
oeDzHFJeGql/JKGSVmrLtgPDggMDCww5GfRzkh30TG7j+6iNCJwwLDugW7JDJp9H0MPO91w4pixw+rYk FHycRfJzA/WPJETcRm1a7dDPO/FtniEng35OYkfvhA1fR6xE4IJ+yQntogNF0jkE3u96y4WjywOmbooj
aldYfRMpVbdQ1VaPwoYyBEn8EEjgy84jRHoG5U3l3CoWmsHKhg0hCT0MJ4guCfrUOdyM5ok3qNLmcZKE t4Q115FcfQPV7Q0obCxHoNgXAQR+0VkES06hormCW8VMM1hetyI4vpfhBFGlgR+6hlrQMv4K1Zo8ThJf
ynDkvYtHdn0sBDXXkFyTjKahFTQbLfj2YwubpKdQaS/NCfgVfC9fSY5DO96Nt8NSFCuzOElidQQJX0f6 FYa8N3HIaoiBoPYKkmqT0Dy4jBaDGV9+bGKD9BQiUdKcgF/J9zoiznZqxnrwekiCEnkmJ0moCSfhq0h7
qzSoJq3cKh0TFBSkhw2rHaGFfS4BO2FFPbSoNgn6STVqdA/wrD0XMWWXkVgZBf2sDXpSLFuwasrViYkI kQrFhIVbpXOcgoz0sG5xIKSwzy1gJ7S4l86pS4RuQoVa7T086chFdPlFJFRFQjdjhY4UyxasmHR3YiSC
QqT7BBcfS+xn848hvoIPw5QGsu4MSOUixL4IRr3yCwYXGehJsZoZO/oIq2Y7gp64BafE3sIA8VFk18Xh YMkuwfmHYsfp/EOIq+RDP6lGUU86JNIcxDwLQoP8EwYWGOhIseppB/oIKyYHAh95BCdE3kJ/0UFk1cfi
TnUY4sqvcBKRPB7ihjTyJsFg7w3zDvSzn5hgJkX656hdggDx4cUA8RHykDcC8rxxozgYma+ToBpVQKbI Vk0oYisucZIcaRxEjankTYLA3uvnnOhnPzHBRIr0y1a5Bf6i/Qv+ogPkIW/453njWkkQMl4mQjEiQ5Es
R8bHJAiqo6EnAh35N7REQNudRKD0rHApp5de3qQxtOjg6Blfwv3adKSSoLAmFrl19/buWGw7DiJo9AhY H+nvEyGoiYKOCLTk39AQAe1wEYF8Z4UL2Up6aYPG4IKTo3dsEXfr0pBCgsLaGOTW39m+Y7HanUTQtCNg
24LJI/gfVnaFtH2Cc6IuW2vvwO5BDx+IcdR5IqHJ4o6TItPbp+e2bOYu9aBzeo3C9CqFSTdrFjsH27yF bfPGHcH/sLArpO4SnMnptrYq9Ft7PbwXA0PDrmPxzWZPnBSZ1jE1u2k1dSu/u6ZWKUytUJjwsGp2cLDN
dsAwNOKkKGrT527LiDvO451Ob8v0F7S2nxQqTP7CRnqPVBd+fxE00j6Clg3f5JYOvyR5Co/H4/0Bl8Sf m2kndAMGF0VRGz63W4c9cR7vZFp7hp+greO4UGb0EzbR26S48f2LoIn2EbSuH01q7fRNlCbzeDzeH4+W
DuVD3wEAAAAASUVORK5CYII= nwKzKldlAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="toolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="toolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">