..
This commit is contained in:
@@ -173,9 +173,21 @@
|
||||
<Reference Include="Microsoft.Web.WebView2.Wpf, Version=1.0.2210.55, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Web.WebView2.1.0.2210.55\lib\net45\Microsoft.Web.WebView2.Wpf.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NetOffice, Version=1.8.1.0, Culture=neutral, PublicKeyToken=297f57b43ae7c1de, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NetOfficeFw.Core.1.8.1\lib\net40\NetOffice.dll</HintPath>
|
||||
<EmbedInteropTypes>False</EmbedInteropTypes>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="OfficeApi, Version=1.8.1.0, Culture=neutral, PublicKeyToken=a39beb0835c43c8e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NetOfficeFw.Core.1.8.1\lib\net40\OfficeApi.dll</HintPath>
|
||||
<EmbedInteropTypes>False</EmbedInteropTypes>
|
||||
</Reference>
|
||||
<Reference Include="OutlookApi, Version=1.8.1.0, Culture=neutral, PublicKeyToken=b118031aaa1097f3, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NetOfficeFw.Outlook.1.8.1\lib\net40\OutlookApi.dll</HintPath>
|
||||
<EmbedInteropTypes>False</EmbedInteropTypes>
|
||||
</Reference>
|
||||
<Reference Include="System">
|
||||
<HintPath>..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6\System.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -214,6 +226,10 @@
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="VBIDEApi, Version=1.8.1.0, Culture=neutral, PublicKeyToken=931cec8882205047, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NetOfficeFw.Core.1.8.1\lib\net40\VBIDEApi.dll</HintPath>
|
||||
<EmbedInteropTypes>False</EmbedInteropTypes>
|
||||
</Reference>
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="Winsock Orcas">
|
||||
<HintPath>..\DLL\Winsock Orcas.dll</HintPath>
|
||||
@@ -369,6 +385,8 @@
|
||||
<Compile Include="Web\MachineBridge\MachineBridge.Customs.cs" />
|
||||
<Compile Include="Web\MachineBridge\MachineBridge.UserGroup.cs" />
|
||||
<Compile Include="Web\MachineBridge\MachineBridge.UserAuth.cs" />
|
||||
<Compile Include="Web\MachineBridge\MachineBridge.License.cs" />
|
||||
<Compile Include="Web\MachineBridge\MachineBridge.PartList.cs" />
|
||||
<Compile Include="Web\MachineBridge\WebSocketServer.cs" />
|
||||
<Compile Include="Web\Model\PageModel.cs" />
|
||||
<Compile Include="Web\Model\ProjectModel.cs" />
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<ErrorReportUrlHistory />
|
||||
<FallbackCulture>ko-KR</FallbackCulture>
|
||||
<VerifyUploadedFiles>false</VerifyUploadedFiles>
|
||||
<ProjectView>ProjectFiles</ProjectView>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<EnableSecurityDebugging>false</EnableSecurityDebugging>
|
||||
|
||||
320
Project/Web/MachineBridge/MachineBridge.License.cs
Normal file
320
Project/Web/MachineBridge/MachineBridge.License.cs
Normal file
@@ -0,0 +1,320 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
using FCOMMON;
|
||||
|
||||
namespace Project.Web
|
||||
{
|
||||
public partial class MachineBridge
|
||||
{
|
||||
/// <summary>
|
||||
/// 라이선스 목록 조회
|
||||
/// </summary>
|
||||
public string License_GetList()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(info.Login.no) || string.IsNullOrEmpty(info.Login.gcode))
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "로그인이 필요합니다." });
|
||||
}
|
||||
|
||||
var connStr = Project.Properties.Settings.Default.CS;
|
||||
using (var conn = new SqlConnection(connStr))
|
||||
{
|
||||
conn.Open();
|
||||
|
||||
var cmd = new SqlCommand(@"
|
||||
SELECT
|
||||
idx, gcode, expire, name, Version, MeterialNo, Supply, qty,
|
||||
uids, SerialNo, Remark, sdate, edate, manu, wuid, wdate
|
||||
FROM EETGW_License WITH (nolock)
|
||||
WHERE gcode = @gcode
|
||||
ORDER BY expire DESC, name, sdate", conn);
|
||||
|
||||
cmd.Parameters.Add("@gcode", SqlDbType.VarChar).Value = info.Login.gcode;
|
||||
|
||||
var list = new List<object>();
|
||||
using (var reader = cmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
list.Add(new
|
||||
{
|
||||
idx = reader.GetInt32(0),
|
||||
gcode = reader.IsDBNull(1) ? "" : reader.GetString(1),
|
||||
expire = !reader.IsDBNull(2) && reader.GetBoolean(2),
|
||||
name = reader.IsDBNull(3) ? "" : reader.GetString(3),
|
||||
version = reader.IsDBNull(4) ? "" : reader.GetString(4),
|
||||
meterialNo = reader.IsDBNull(5) ? "" : reader.GetString(5),
|
||||
supply = reader.IsDBNull(6) ? "" : reader.GetString(6),
|
||||
qty = reader.IsDBNull(7) ? 0 : reader.GetInt32(7),
|
||||
uids = reader.IsDBNull(8) ? "" : reader.GetString(8),
|
||||
serialNo = reader.IsDBNull(9) ? "" : reader.GetString(9),
|
||||
remark = reader.IsDBNull(10) ? "" : reader.GetString(10),
|
||||
sdate = reader.IsDBNull(11) ? "" : reader.GetString(11),
|
||||
edate = reader.IsDBNull(12) ? "" : reader.GetString(12),
|
||||
manu = reader.IsDBNull(13) ? "" : reader.GetString(13),
|
||||
wuid = reader.IsDBNull(14) ? "" : reader.GetString(14),
|
||||
wdate = reader.IsDBNull(15) ? "" : reader.GetDateTime(15).ToString("yyyy-MM-dd HH:mm:ss")
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return JsonConvert.SerializeObject(new { Success = true, Data = list });
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "라이선스 목록 조회 중 오류가 발생했습니다: " + ex.Message });
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 라이선스 추가
|
||||
/// </summary>
|
||||
public string License_Add(string name, string version, string meterialNo, string supply,
|
||||
int qty, string uids, string serialNo, string remark, string sdate, string edate,
|
||||
string manu, bool expire)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
|
||||
if (string.IsNullOrEmpty(info.Login.no) || string.IsNullOrEmpty(info.Login.gcode))
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "로그인이 필요합니다." });
|
||||
}
|
||||
|
||||
var connStr = Project.Properties.Settings.Default.CS;
|
||||
using (var conn = new SqlConnection(connStr))
|
||||
{
|
||||
conn.Open();
|
||||
|
||||
var cmd = new SqlCommand(@"
|
||||
INSERT INTO EETGW_License
|
||||
(gcode, expire, name, manu, Supply, qty, uids, sdate, edate, Remark, wuid, wdate, Version, SerialNo, MeterialNo)
|
||||
VALUES
|
||||
(@gcode, @expire, @name, @manu, @Supply, @qty, @uids, @sdate, @edate, @Remark, @wuid, @wdate, @Version, @SerialNo, @MeterialNo);
|
||||
SELECT SCOPE_IDENTITY();", conn);
|
||||
|
||||
cmd.Parameters.Add("@gcode", SqlDbType.VarChar).Value = info.Login.gcode;
|
||||
cmd.Parameters.Add("@expire", SqlDbType.Bit).Value = expire;
|
||||
cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = name ?? "";
|
||||
cmd.Parameters.Add("@manu", SqlDbType.NVarChar).Value = manu ?? "";
|
||||
cmd.Parameters.Add("@Supply", SqlDbType.NVarChar).Value = supply ?? "";
|
||||
cmd.Parameters.Add("@qty", SqlDbType.Int).Value = qty;
|
||||
cmd.Parameters.Add("@uids", SqlDbType.NVarChar).Value = uids ?? "";
|
||||
cmd.Parameters.Add("@sdate", SqlDbType.VarChar).Value = string.IsNullOrEmpty(sdate) ? DateTime.Now.ToString("yyyy-MM-dd") : sdate;
|
||||
cmd.Parameters.Add("@edate", SqlDbType.VarChar).Value = (object)edate ?? DBNull.Value;
|
||||
cmd.Parameters.Add("@Remark", SqlDbType.NVarChar).Value = remark ?? "";
|
||||
cmd.Parameters.Add("@wuid", SqlDbType.VarChar).Value = info.Login.no;
|
||||
cmd.Parameters.Add("@wdate", SqlDbType.DateTime).Value = DateTime.Now;
|
||||
cmd.Parameters.Add("@Version", SqlDbType.NVarChar).Value = version ?? "";
|
||||
cmd.Parameters.Add("@SerialNo", SqlDbType.NVarChar).Value = serialNo ?? "";
|
||||
cmd.Parameters.Add("@MeterialNo", SqlDbType.NVarChar).Value = meterialNo ?? "";
|
||||
|
||||
var idx = Convert.ToInt32(cmd.ExecuteScalar());
|
||||
|
||||
return JsonConvert.SerializeObject(new { Success = true, Message = "라이선스가 추가되었습니다.", Data = new { idx } });
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "라이선스 추가 중 오류가 발생했습니다: " + ex.Message });
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 라이선스 수정
|
||||
/// </summary>
|
||||
public string License_Update(int idx, string name, string version, string meterialNo,
|
||||
string supply, int qty, string uids, string serialNo, string remark, string sdate,
|
||||
string edate, string manu, bool expire)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(info.Login.no) || string.IsNullOrEmpty(info.Login.gcode))
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "로그인이 필요합니다." });
|
||||
}
|
||||
|
||||
var connStr = Project.Properties.Settings.Default.CS;
|
||||
using (var conn = new SqlConnection(connStr))
|
||||
{
|
||||
conn.Open();
|
||||
|
||||
var cmd = new SqlCommand(@"
|
||||
UPDATE EETGW_License SET
|
||||
expire = @expire, name = @name, manu = @manu, Supply = @Supply,
|
||||
qty = @qty, uids = @uids, sdate = @sdate, edate = @edate,
|
||||
Remark = @Remark, wuid = @wuid, wdate = @wdate,
|
||||
Version = @Version, SerialNo = @SerialNo, MeterialNo = @MeterialNo
|
||||
WHERE idx = @idx AND gcode = @gcode", conn);
|
||||
|
||||
cmd.Parameters.Add("@idx", SqlDbType.Int).Value = idx;
|
||||
cmd.Parameters.Add("@gcode", SqlDbType.VarChar).Value = info.Login.gcode;
|
||||
cmd.Parameters.Add("@expire", SqlDbType.Bit).Value = expire;
|
||||
cmd.Parameters.Add("@name", SqlDbType.NVarChar).Value = name ?? "";
|
||||
cmd.Parameters.Add("@manu", SqlDbType.NVarChar).Value = manu ?? "";
|
||||
cmd.Parameters.Add("@Supply", SqlDbType.NVarChar).Value = supply ?? "";
|
||||
cmd.Parameters.Add("@qty", SqlDbType.Int).Value = qty;
|
||||
cmd.Parameters.Add("@uids", SqlDbType.NVarChar).Value = uids ?? "";
|
||||
cmd.Parameters.Add("@sdate", SqlDbType.VarChar).Value = string.IsNullOrEmpty(sdate) ? DateTime.Now.ToString("yyyy-MM-dd") : sdate;
|
||||
cmd.Parameters.Add("@edate", SqlDbType.VarChar).Value = (object)edate ?? DBNull.Value;
|
||||
cmd.Parameters.Add("@Remark", SqlDbType.NVarChar).Value = remark ?? "";
|
||||
cmd.Parameters.Add("@wuid", SqlDbType.VarChar).Value = info.Login.no;
|
||||
cmd.Parameters.Add("@wdate", SqlDbType.DateTime).Value = DateTime.Now;
|
||||
cmd.Parameters.Add("@Version", SqlDbType.NVarChar).Value = version ?? "";
|
||||
cmd.Parameters.Add("@SerialNo", SqlDbType.NVarChar).Value = serialNo ?? "";
|
||||
cmd.Parameters.Add("@MeterialNo", SqlDbType.NVarChar).Value = meterialNo ?? "";
|
||||
|
||||
var cnt = cmd.ExecuteNonQuery();
|
||||
|
||||
return JsonConvert.SerializeObject(new { Success = true, Message = "라이선스가 수정되었습니다.", Data = new { UpdatedCount = cnt } });
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "라이선스 수정 중 오류가 발생했습니다: " + ex.Message });
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 라이선스 삭제
|
||||
/// </summary>
|
||||
public string License_Delete(int idx)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(info.Login.no) || string.IsNullOrEmpty(info.Login.gcode))
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "로그인이 필요합니다." });
|
||||
}
|
||||
|
||||
var connStr = Project.Properties.Settings.Default.CS;
|
||||
using (var conn = new SqlConnection(connStr))
|
||||
{
|
||||
conn.Open();
|
||||
|
||||
var cmd = new SqlCommand(@"
|
||||
DELETE FROM EETGW_License
|
||||
WHERE idx = @idx AND gcode = @gcode", conn);
|
||||
|
||||
cmd.Parameters.Add("@idx", SqlDbType.Int).Value = idx;
|
||||
cmd.Parameters.Add("@gcode", SqlDbType.VarChar).Value = info.Login.gcode;
|
||||
|
||||
var cnt = cmd.ExecuteNonQuery();
|
||||
|
||||
return JsonConvert.SerializeObject(new { Success = true, Message = "라이선스가 삭제되었습니다.", Data = new { DeletedCount = cnt } });
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "라이선스 삭제 중 오류가 발생했습니다: " + ex.Message });
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 라이선스 폴더 열기
|
||||
/// </summary>
|
||||
public string License_OpenFolder(int idx)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(info.Login.no) || string.IsNullOrEmpty(info.Login.gcode))
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "로그인이 필요합니다." });
|
||||
}
|
||||
|
||||
var serverpath = DBM.getCodeSvalue("55", "01");
|
||||
if (string.IsNullOrEmpty(serverpath) || !Directory.Exists(serverpath))
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "프로젝트 기본경로가 존재하지 않습니다.\\n\\n공용정보->공용코드->55-01 데이터를 설정 하시기 바랍니다." });
|
||||
}
|
||||
|
||||
var folderPath = Path.Combine(serverpath, "Data", "License", idx.ToString());
|
||||
|
||||
// 폴더가 없으면 생성
|
||||
if (!Directory.Exists(folderPath))
|
||||
{
|
||||
Directory.CreateDirectory(folderPath);
|
||||
}
|
||||
|
||||
// 탐색기로 폴더 열기
|
||||
Process.Start("explorer.exe", folderPath);
|
||||
|
||||
return JsonConvert.SerializeObject(new { Success = true, Message = "폴더를 열었습니다.", Data = new { Path = folderPath } });
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "폴더 열기 중 오류가 발생했습니다: " + ex.Message });
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// CSV로 내보내기
|
||||
/// </summary>
|
||||
public string License_ExportCSV(string filePath)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(info.Login.no) || string.IsNullOrEmpty(info.Login.gcode))
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "로그인이 필요합니다." });
|
||||
}
|
||||
|
||||
var connStr = Project.Properties.Settings.Default.CS;
|
||||
using (var conn = new SqlConnection(connStr))
|
||||
{
|
||||
conn.Open();
|
||||
|
||||
var cmd = new SqlCommand(@"
|
||||
SELECT
|
||||
idx, expire, name, Version, MeterialNo, Supply, qty,
|
||||
uids, SerialNo, Remark, sdate, edate, manu
|
||||
FROM EETGW_License WITH (nolock)
|
||||
WHERE gcode = @gcode
|
||||
ORDER BY expire DESC, name, sdate", conn);
|
||||
|
||||
cmd.Parameters.Add("@gcode", SqlDbType.VarChar).Value = info.Login.gcode;
|
||||
|
||||
var sb = new StringBuilder();
|
||||
sb.AppendLine("idx,expire,name,Version,MeterialNo,Supply,qty,uids,SerialNo,Remark,sdate,edate,manu");
|
||||
|
||||
using (var reader = cmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
var values = new List<string>();
|
||||
for (int i = 0; i < reader.FieldCount; i++)
|
||||
{
|
||||
var value = reader.IsDBNull(i) ? "" : reader.GetValue(i).ToString();
|
||||
// CSV 이스케이프 처리
|
||||
if (value.Contains(",") || value.Contains("\"") || value.Contains("\n"))
|
||||
{
|
||||
value = "\"" + value.Replace("\"", "\"\"") + "\"";
|
||||
}
|
||||
values.Add(value);
|
||||
}
|
||||
sb.AppendLine(string.Join(",", values));
|
||||
}
|
||||
}
|
||||
|
||||
File.WriteAllText(filePath, sb.ToString(), Encoding.UTF8);
|
||||
|
||||
return JsonConvert.SerializeObject(new { Success = true, Message = "CSV 파일이 생성되었습니다.", Data = new { Path = filePath } });
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "CSV 내보내기 중 오류가 발생했습니다: " + ex.Message });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,9 @@ using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using FCOMMON;
|
||||
using NetOffice;
|
||||
using Outlook = NetOffice.OutlookApi;
|
||||
using NetOffice.OutlookApi.Enums;
|
||||
|
||||
namespace Project.Web
|
||||
{
|
||||
@@ -71,5 +74,164 @@ namespace Project.Web
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = ex.Message });
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 메일 데이터 추가 (발송 대기열)
|
||||
/// </summary>
|
||||
public string Mail_AddData(string cate, string subject, string fromlist, string tolist, string cc, string bcc, string body)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(info.Login.no) || string.IsNullOrEmpty(info.Login.gcode))
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "로그인이 필요합니다." });
|
||||
}
|
||||
|
||||
var connStr = Project.Properties.Settings.Default.CS;
|
||||
using (var conn = new SqlConnection(connStr))
|
||||
{
|
||||
conn.Open();
|
||||
|
||||
var cmd = new SqlCommand(@"
|
||||
INSERT INTO MailData
|
||||
(gcode, cate, pdate, subject, fromlist, tolist, cc, bcc, body, SendOK, wuid, wdate)
|
||||
VALUES
|
||||
(@gcode, @cate, @pdate, @subject, @fromlist, @tolist, @cc, @bcc, @body, 0, @wuid, GETDATE())", conn);
|
||||
|
||||
cmd.Parameters.Add("@gcode", SqlDbType.VarChar).Value = info.Login.gcode;
|
||||
cmd.Parameters.Add("@cate", SqlDbType.VarChar).Value = cate ?? "";
|
||||
cmd.Parameters.Add("@pdate", SqlDbType.VarChar).Value = DateTime.Now.ToString("yyyy-MM-dd");
|
||||
cmd.Parameters.Add("@subject", SqlDbType.VarChar).Value = subject ?? "";
|
||||
cmd.Parameters.Add("@fromlist", SqlDbType.VarChar).Value = fromlist ?? "";
|
||||
cmd.Parameters.Add("@tolist", SqlDbType.VarChar).Value = tolist ?? "";
|
||||
cmd.Parameters.Add("@cc", SqlDbType.VarChar).Value = cc ?? "";
|
||||
cmd.Parameters.Add("@bcc", SqlDbType.VarChar).Value = bcc ?? "";
|
||||
cmd.Parameters.Add("@body", SqlDbType.VarChar).Value = body ?? "";
|
||||
cmd.Parameters.Add("@wuid", SqlDbType.VarChar).Value = info.Login.no;
|
||||
|
||||
int affected = cmd.ExecuteNonQuery();
|
||||
|
||||
if (affected > 0)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = true, Message = "메일이 발송 대기열에 추가되었습니다." });
|
||||
}
|
||||
else
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "메일 등록에 실패했습니다." });
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = ex.Message });
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 메일 직접 발송 (SMTP)
|
||||
/// </summary>
|
||||
public string Mail_SendDirect(string cate, string subject, string fromlist, string tolist, string cc, string bcc, string body)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(info.Login.no) || string.IsNullOrEmpty(info.Login.gcode))
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "로그인이 필요합니다." });
|
||||
}
|
||||
|
||||
// SMTP 직접 발송
|
||||
var mailserver = info.mailserver ?? "scwa.amkor.co.kr";
|
||||
var mc = new System.Net.Mail.SmtpClient(mailserver);
|
||||
var msg = new System.Net.Mail.MailMessage(
|
||||
string.IsNullOrEmpty(fromlist) ? "gw@amkor.co.kr" : fromlist,
|
||||
tolist,
|
||||
subject,
|
||||
body
|
||||
);
|
||||
|
||||
if (!string.IsNullOrEmpty(bcc)) msg.Bcc.Add(bcc);
|
||||
if (!string.IsNullOrEmpty(cc)) msg.CC.Add(cc);
|
||||
msg.IsBodyHtml = true;
|
||||
|
||||
mc.Send(msg);
|
||||
|
||||
// 발송 성공 시 MailData에도 저장 (SendOK=1)
|
||||
var connStr = Project.Properties.Settings.Default.CS;
|
||||
using (var conn = new SqlConnection(connStr))
|
||||
{
|
||||
conn.Open();
|
||||
|
||||
var cmd = new SqlCommand(@"
|
||||
INSERT INTO MailData
|
||||
(gcode, cate, pdate, subject, fromlist, tolist, cc, bcc, body, SendOK, SendMsg, wuid, wdate, suid, sdate)
|
||||
VALUES
|
||||
(@gcode, @cate, @pdate, @subject, @fromlist, @tolist, @cc, @bcc, @body, 1, @SendMsg, @wuid, GETDATE(), @wuid, GETDATE())", conn);
|
||||
|
||||
cmd.Parameters.Add("@gcode", SqlDbType.VarChar).Value = info.Login.gcode;
|
||||
cmd.Parameters.Add("@cate", SqlDbType.VarChar).Value = cate ?? "";
|
||||
cmd.Parameters.Add("@pdate", SqlDbType.VarChar).Value = DateTime.Now.ToString("yyyy-MM-dd");
|
||||
cmd.Parameters.Add("@subject", SqlDbType.VarChar).Value = subject ?? "";
|
||||
cmd.Parameters.Add("@fromlist", SqlDbType.VarChar).Value = string.IsNullOrEmpty(fromlist) ? "gw@amkor.co.kr" : fromlist;
|
||||
cmd.Parameters.Add("@tolist", SqlDbType.VarChar).Value = tolist ?? "";
|
||||
cmd.Parameters.Add("@cc", SqlDbType.VarChar).Value = cc ?? "";
|
||||
cmd.Parameters.Add("@bcc", SqlDbType.VarChar).Value = bcc ?? "";
|
||||
cmd.Parameters.Add("@body", SqlDbType.VarChar).Value = body ?? "";
|
||||
cmd.Parameters.Add("@SendMsg", SqlDbType.VarChar).Value = "Direct Send";
|
||||
cmd.Parameters.Add("@wuid", SqlDbType.VarChar).Value = info.Login.no;
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
|
||||
return JsonConvert.SerializeObject(new { Success = true, Message = "메일이 발송되었습니다." });
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = $"메일 발송 실패: {ex.Message}" });
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Outlook으로 메일 미리보기/발송
|
||||
/// </summary>
|
||||
public string Mail_SendOutlook(string subject, string _tolist, string cc, string bcc, string body)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(info.Login.no) || string.IsNullOrEmpty(info.Login.gcode))
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "로그인이 필요합니다." });
|
||||
}
|
||||
|
||||
// Outlook COM 객체 생성
|
||||
var tolist = new string[] { "Chikyun.kim@amkor.co.kr" }; //dr.tolist.Split(',');
|
||||
Outlook.Application outlookApplication = new Outlook.Application();
|
||||
|
||||
foreach (var to in tolist)
|
||||
{
|
||||
if (to.isEmpty()) continue;
|
||||
var newMail = outlookApplication.CreateItem(OlItemType.olMailItem) as Outlook.MailItem;
|
||||
newMail.Display();
|
||||
newMail.Subject = subject.Trim(); // dr.title;
|
||||
newMail.To = to;
|
||||
newMail.CC = cc;
|
||||
newMail.BCC = bcc;
|
||||
// newMail.BodyFormat = OlBodyFormat.olFormatHTML;
|
||||
newMail.HTMLBody = body
|
||||
.Replace("{USER}", FCOMMON.info.Login.nameK)
|
||||
.Replace("{EUSER}", FCOMMON.info.Login.nameE)
|
||||
.Replace("{EMAIL}", FCOMMON.info.Login.email)
|
||||
.Replace("%7BEMAIL%7D", FCOMMON.info.Login.email)
|
||||
.Replace("{HP}", FCOMMON.info.Login.hp)
|
||||
.Replace("{TEL}", FCOMMON.info.Login.tel)
|
||||
.Replace("{ITEM}", subject) + newMail.HTMLBody;
|
||||
}
|
||||
|
||||
return JsonConvert.SerializeObject(new { Success = true, Message = "Outlook 메일 창이 열렸습니다." });
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = $"Outlook 실행 실패: {ex.Message}" });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
247
Project/Web/MachineBridge/MachineBridge.PartList.cs
Normal file
247
Project/Web/MachineBridge/MachineBridge.PartList.cs
Normal file
@@ -0,0 +1,247 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using Newtonsoft.Json;
|
||||
using FCOMMON;
|
||||
|
||||
namespace Project.Web
|
||||
{
|
||||
public partial class MachineBridge
|
||||
{
|
||||
/// <summary>
|
||||
/// 프로젝트별 파트리스트 조회
|
||||
/// </summary>
|
||||
public string PartList_GetList(int projectIdx)
|
||||
{
|
||||
try
|
||||
{
|
||||
var connStr = Properties.Settings.Default.CS;
|
||||
using (var conn = new SqlConnection(connStr))
|
||||
{
|
||||
conn.Open();
|
||||
|
||||
|
||||
var cmd = new SqlCommand(@"
|
||||
SELECT
|
||||
idx, no, Project, ItemGroup, ItemModel, ItemUnit, ItemName,
|
||||
ItemSid, ItemSupply, ItemSupplyidx, ItemManu, Item,
|
||||
option1, qty, qtyn, price, amt, remark, qtybuy
|
||||
FROM ProjectsPart
|
||||
WHERE Project = @ProjectIdx
|
||||
ORDER BY ItemGroup, option1, no, ItemName
|
||||
", conn);
|
||||
|
||||
cmd.Parameters.Add("@ProjectIdx", SqlDbType.Int).Value = projectIdx;
|
||||
|
||||
var list = new List<object>();
|
||||
using (var reader = cmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
list.Add(new
|
||||
{
|
||||
idx = reader.GetInt32(0),
|
||||
no = reader.IsDBNull(1) ? 0 : reader.GetInt32(1),
|
||||
Project = reader.GetInt32(2),
|
||||
itemgroup = reader.IsDBNull(3) ? "" : reader.GetString(3),
|
||||
itemmodel = reader.IsDBNull(4) ? "" : reader.GetString(4),
|
||||
itemunit = reader.IsDBNull(5) ? "" : reader.GetString(5),
|
||||
itemname = reader.IsDBNull(6) ? "" : reader.GetString(6),
|
||||
itemsid = reader.IsDBNull(7) ? "" : reader.GetString(7),
|
||||
itemsupply = reader.IsDBNull(8) ? "" : reader.GetString(8),
|
||||
itemsupplyidx = reader.IsDBNull(9) ? 0 : reader.GetInt32(9),
|
||||
itemmanu = reader.IsDBNull(10) ? "" : reader.GetString(10),
|
||||
item = reader.IsDBNull(11) ? "" : reader.GetInt32(11).ToString(),
|
||||
option1 = reader.IsDBNull(12) ? "" : reader.GetString(12),
|
||||
qty = reader.IsDBNull(13) ? 0 : reader.GetInt32(13),
|
||||
qtyn = reader.IsDBNull(14) ? 0 : reader.GetInt32(14),
|
||||
price = reader.IsDBNull(15) ? 0.0 : (double)reader.GetDecimal(15),
|
||||
amt = reader.IsDBNull(16) ? 0.0 : (double)reader.GetDecimal(16),
|
||||
remark = reader.IsDBNull(17) ? "" : reader.GetString(17),
|
||||
qtybuy = reader.IsDBNull(18) ? 0 : reader.GetInt32(18)
|
||||
});
|
||||
}
|
||||
} var result = new
|
||||
{
|
||||
Success = true,
|
||||
Data = list
|
||||
};
|
||||
return JsonConvert.SerializeObject(result);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new
|
||||
{
|
||||
Success = false,
|
||||
Message = "파트리스트 조회 실패: " + ex.Message
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 파트리스트 항목 저장 (추가/수정)
|
||||
/// </summary>
|
||||
public string PartList_Save(
|
||||
int idx,
|
||||
int projectIdx,
|
||||
string itemgroup,
|
||||
string itemname,
|
||||
string item,
|
||||
string itemmodel,
|
||||
string itemscale,
|
||||
string itemunit,
|
||||
double qty,
|
||||
double price,
|
||||
string itemsupply,
|
||||
int itemsupplyidx,
|
||||
string itemmanu,
|
||||
string itemsid,
|
||||
string option1,
|
||||
string remark,
|
||||
int no,
|
||||
double qtybuy)
|
||||
{
|
||||
try
|
||||
{
|
||||
var connStr = Properties.Settings.Default.CS;
|
||||
using (var con = new SqlConnection(connStr))
|
||||
{
|
||||
con.Open();
|
||||
|
||||
if (idx == 0 || idx == -1) // 새로 추가
|
||||
{
|
||||
using (var cmd = new SqlCommand(@"
|
||||
INSERT INTO ProjectsPart (
|
||||
Project, ItemGroup, ItemName, Item, ItemModel,
|
||||
ItemUnit, Qty, Price, ItemSupply,
|
||||
ItemSupplyIdx, ItemManu, ItemSid, option1,
|
||||
remark, no, qtybuy, wuid, wdate
|
||||
) VALUES (
|
||||
@Project, @ItemGroup, @ItemName, @Item, @ItemModel,
|
||||
@ItemUnit, @Qty, @Price, @ItemSupply,
|
||||
@ItemSupplyIdx, @ItemManu, @ItemSid, @option1,
|
||||
@remark, @no, @qtybuy, @wuid, @wdate
|
||||
)
|
||||
", con))
|
||||
{
|
||||
cmd.Parameters.AddWithValue("@Project", projectIdx);
|
||||
cmd.Parameters.AddWithValue("@ItemGroup", itemgroup ?? "");
|
||||
cmd.Parameters.AddWithValue("@ItemName", itemname ?? "");
|
||||
cmd.Parameters.AddWithValue("@Item", item ?? "");
|
||||
cmd.Parameters.AddWithValue("@ItemModel", itemmodel ?? "");
|
||||
cmd.Parameters.AddWithValue("@ItemUnit", itemunit ?? "");
|
||||
cmd.Parameters.AddWithValue("@Qty", qty);
|
||||
cmd.Parameters.AddWithValue("@Price", price);
|
||||
cmd.Parameters.AddWithValue("@ItemSupply", itemsupply ?? "");
|
||||
cmd.Parameters.AddWithValue("@ItemSupplyIdx", itemsupplyidx);
|
||||
cmd.Parameters.AddWithValue("@ItemManu", itemmanu ?? "");
|
||||
cmd.Parameters.AddWithValue("@ItemSid", itemsid ?? "");
|
||||
cmd.Parameters.AddWithValue("@option1", option1 ?? "");
|
||||
cmd.Parameters.AddWithValue("@remark", remark ?? "");
|
||||
cmd.Parameters.AddWithValue("@no", no);
|
||||
cmd.Parameters.AddWithValue("@qtybuy", qtybuy);
|
||||
cmd.Parameters.AddWithValue("@wuid", info.Login.no);
|
||||
cmd.Parameters.AddWithValue("@wdate", DateTime.Now);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
else // 수정
|
||||
{
|
||||
using (var cmd = new SqlCommand(@"
|
||||
UPDATE ProjectsPart SET
|
||||
ItemGroup = @ItemGroup,
|
||||
ItemName = @ItemName,
|
||||
Item = @Item,
|
||||
ItemModel = @ItemModel,
|
||||
ItemUnit = @ItemUnit,
|
||||
Qty = @Qty,
|
||||
Price = @Price,
|
||||
ItemSupply = @ItemSupply,
|
||||
ItemSupplyIdx = @ItemSupplyIdx,
|
||||
ItemManu = @ItemManu,
|
||||
ItemSid = @ItemSid,
|
||||
option1 = @option1,
|
||||
remark = @remark,
|
||||
no = @no,
|
||||
qtybuy = @qtybuy
|
||||
WHERE idx = @idx
|
||||
", con))
|
||||
{
|
||||
cmd.Parameters.AddWithValue("@idx", idx);
|
||||
cmd.Parameters.AddWithValue("@ItemGroup", itemgroup ?? "");
|
||||
cmd.Parameters.AddWithValue("@ItemName", itemname ?? "");
|
||||
cmd.Parameters.AddWithValue("@Item", item ?? "");
|
||||
cmd.Parameters.AddWithValue("@ItemModel", itemmodel ?? "");
|
||||
cmd.Parameters.AddWithValue("@ItemUnit", itemunit ?? "");
|
||||
cmd.Parameters.AddWithValue("@Qty", qty);
|
||||
cmd.Parameters.AddWithValue("@Price", price);
|
||||
cmd.Parameters.AddWithValue("@ItemSupply", itemsupply ?? "");
|
||||
cmd.Parameters.AddWithValue("@ItemSupplyIdx", itemsupplyidx);
|
||||
cmd.Parameters.AddWithValue("@ItemManu", itemmanu ?? "");
|
||||
cmd.Parameters.AddWithValue("@ItemSid", itemsid ?? "");
|
||||
cmd.Parameters.AddWithValue("@option1", option1 ?? "");
|
||||
cmd.Parameters.AddWithValue("@remark", remark ?? "");
|
||||
cmd.Parameters.AddWithValue("@no", no);
|
||||
cmd.Parameters.AddWithValue("@qtybuy", qtybuy);
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
|
||||
return JsonConvert.SerializeObject(new
|
||||
{
|
||||
Success = true,
|
||||
Message = "저장되었습니다."
|
||||
});
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new
|
||||
{
|
||||
Success = false,
|
||||
Message = "저장 실패: " + ex.Message
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 파트리스트 항목 삭제
|
||||
/// </summary>
|
||||
public string PartList_Delete(int idx)
|
||||
{
|
||||
try
|
||||
{
|
||||
var connStr = Properties.Settings.Default.CS;
|
||||
using (var con = new SqlConnection(connStr))
|
||||
{
|
||||
con.Open();
|
||||
|
||||
var cmd = new SqlCommand(@"
|
||||
DELETE FROM ProjectsPart WHERE idx = @idx
|
||||
", con);
|
||||
|
||||
cmd.Parameters.Add("@idx", SqlDbType.Int).Value = idx;
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
return JsonConvert.SerializeObject(new
|
||||
{
|
||||
Success = true,
|
||||
Message = "삭제되었습니다."
|
||||
});
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new
|
||||
{
|
||||
Success = false,
|
||||
Message = "삭제 실패: " + ex.Message
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -606,6 +606,64 @@ namespace Project.Web
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 프로젝트 히스토리 저장
|
||||
/// </summary>
|
||||
public string Project_SaveHistory(int idx, int pidx, string pdate, int progress, string remark)
|
||||
{
|
||||
try
|
||||
{
|
||||
var cs = Properties.Settings.Default.gwcs;
|
||||
using (var cn = new SqlConnection(cs))
|
||||
{
|
||||
cn.Open();
|
||||
string sql;
|
||||
|
||||
if (idx > 0)
|
||||
{
|
||||
// 수정
|
||||
sql = @"UPDATE ProjectsHistory
|
||||
SET remark = @remark, progress = @progress, wdate = GETDATE(), wuid = @wuid
|
||||
WHERE idx = @idx";
|
||||
}
|
||||
else
|
||||
{
|
||||
// 신규 등록
|
||||
sql = @"INSERT INTO ProjectsHistory (pidx, pdate, progress, remark, wuid, wdate)
|
||||
VALUES (@pidx, @pdate, @progress, @remark, @wuid, GETDATE())";
|
||||
}
|
||||
|
||||
using (var cmd = new SqlCommand(sql, cn))
|
||||
{
|
||||
if (idx > 0)
|
||||
{
|
||||
cmd.Parameters.AddWithValue("@idx", idx);
|
||||
}
|
||||
cmd.Parameters.AddWithValue("@pidx", pidx);
|
||||
cmd.Parameters.AddWithValue("@pdate", pdate);
|
||||
cmd.Parameters.AddWithValue("@progress", progress);
|
||||
cmd.Parameters.AddWithValue("@remark", remark ?? "");
|
||||
cmd.Parameters.AddWithValue("@wuid", info.Login.no);
|
||||
|
||||
int affected = cmd.ExecuteNonQuery();
|
||||
|
||||
if (affected > 0)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = true, Message = "저장되었습니다." });
|
||||
}
|
||||
else
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "저장에 실패했습니다." });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = ex.Message });
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 프로젝트 일일 메모 조회
|
||||
/// </summary>
|
||||
|
||||
@@ -101,12 +101,27 @@ namespace Project.Web
|
||||
{
|
||||
try
|
||||
{
|
||||
var productVersion = Application.ProductVersion;
|
||||
var maxVersion = DBM.GetMaxVersion();
|
||||
var hasNewVersion = false;
|
||||
|
||||
if (!string.IsNullOrEmpty(maxVersion))
|
||||
{
|
||||
var verchk = productVersion.CompareTo(maxVersion);
|
||||
if (verchk < 0)
|
||||
{
|
||||
hasNewVersion = true;
|
||||
}
|
||||
}
|
||||
|
||||
return JsonConvert.SerializeObject(new
|
||||
{
|
||||
Success = true,
|
||||
ProductName = Application.ProductName,
|
||||
ProductVersion = Application.ProductVersion,
|
||||
DisplayVersion = $"{Application.ProductName} v{Application.ProductVersion}"
|
||||
ProductVersion = productVersion,
|
||||
DisplayVersion = $"{Application.ProductName} v{productVersion}",
|
||||
MaxVersion = maxVersion,
|
||||
HasNewVersion = hasNewVersion
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
@@ -986,6 +986,171 @@ namespace Project.Web
|
||||
}
|
||||
break;
|
||||
|
||||
case "MAIL_ADD_DATA":
|
||||
{
|
||||
string cate = json.cate ?? "";
|
||||
string subject = json.subject ?? "";
|
||||
string fromlist = json.fromlist ?? "";
|
||||
string tolist = json.tolist ?? "";
|
||||
string cc = json.cc ?? "";
|
||||
string bcc = json.bcc ?? "";
|
||||
string body = json.body ?? "";
|
||||
string result = _bridge.Mail_AddData(cate, subject, fromlist, tolist, cc, bcc, body);
|
||||
var response = new { type = "MAIL_ADD_DATA_RESULT", data = JsonConvert.DeserializeObject(result) };
|
||||
await Send(socket, JsonConvert.SerializeObject(response));
|
||||
}
|
||||
break;
|
||||
|
||||
case "MAIL_SEND_DIRECT":
|
||||
{
|
||||
string cate = json.cate ?? "";
|
||||
string subject = json.subject ?? "";
|
||||
string fromlist = json.fromlist ?? "";
|
||||
string tolist = json.tolist ?? "";
|
||||
string cc = json.cc ?? "";
|
||||
string bcc = json.bcc ?? "";
|
||||
string body = json.body ?? "";
|
||||
string result = _bridge.Mail_SendDirect(cate, subject, fromlist, tolist, cc, bcc, body);
|
||||
var response = new { type = "MAIL_SEND_DIRECT_RESULT", data = JsonConvert.DeserializeObject(result) };
|
||||
await Send(socket, JsonConvert.SerializeObject(response));
|
||||
}
|
||||
break;
|
||||
|
||||
case "MAIL_SEND_OUTLOOK":
|
||||
{
|
||||
string subject = json.subject ?? "";
|
||||
string tolist = json.tolist ?? "";
|
||||
string cc = json.cc ?? "";
|
||||
string bcc = json.bcc ?? "";
|
||||
string body = json.body ?? "";
|
||||
string result = _bridge.Mail_SendOutlook(subject, tolist, cc, bcc, body);
|
||||
var response = new { type = "MAIL_SEND_OUTLOOK_RESULT", data = JsonConvert.DeserializeObject(result) };
|
||||
await Send(socket, JsonConvert.SerializeObject(response));
|
||||
}
|
||||
break;
|
||||
|
||||
// ===== License API (라이선스 관리) =====
|
||||
case "LICENSE_GET_LIST":
|
||||
{
|
||||
string result = _bridge.License_GetList();
|
||||
var response = new { type = "LICENSE_LIST_DATA", data = JsonConvert.DeserializeObject(result) };
|
||||
await Send(socket, JsonConvert.SerializeObject(response));
|
||||
}
|
||||
break;
|
||||
|
||||
case "LICENSE_ADD":
|
||||
{
|
||||
string name = json.name ?? "";
|
||||
string version = json.version ?? "";
|
||||
string meterialNo = json.meterialNo ?? "";
|
||||
string supply = json.supply ?? "";
|
||||
int qty = json.qty ?? 0;
|
||||
string uids = json.uids ?? "";
|
||||
string serialNo = json.serialNo ?? "";
|
||||
string remark = json.remark ?? "";
|
||||
string sdate = json.sdate ?? "";
|
||||
string edate = json.edate ?? "";
|
||||
string manu = json.manu ?? "";
|
||||
bool expire = json.expire ?? false;
|
||||
string result = _bridge.License_Add(name, version, meterialNo, supply, qty, uids, serialNo, remark, sdate, edate, manu, expire);
|
||||
var response = new { type = "LICENSE_ADD_RESULT", data = JsonConvert.DeserializeObject(result) };
|
||||
await Send(socket, JsonConvert.SerializeObject(response));
|
||||
}
|
||||
break;
|
||||
|
||||
case "LICENSE_UPDATE":
|
||||
{
|
||||
int idx = json.idx ?? 0;
|
||||
string name = json.name ?? "";
|
||||
string version = json.version ?? "";
|
||||
string meterialNo = json.meterialNo ?? "";
|
||||
string supply = json.supply ?? "";
|
||||
int qty = json.qty ?? 0;
|
||||
string uids = json.uids ?? "";
|
||||
string serialNo = json.serialNo ?? "";
|
||||
string remark = json.remark ?? "";
|
||||
string sdate = json.sdate ?? "";
|
||||
string edate = json.edate ?? "";
|
||||
string manu = json.manu ?? "";
|
||||
bool expire = json.expire ?? false;
|
||||
string result = _bridge.License_Update(idx, name, version, meterialNo, supply, qty, uids, serialNo, remark, sdate, edate, manu, expire);
|
||||
var response = new { type = "LICENSE_UPDATE_RESULT", data = JsonConvert.DeserializeObject(result) };
|
||||
await Send(socket, JsonConvert.SerializeObject(response));
|
||||
}
|
||||
break;
|
||||
|
||||
case "LICENSE_DELETE":
|
||||
{
|
||||
int idx = json.idx ?? 0;
|
||||
string result = _bridge.License_Delete(idx);
|
||||
var response = new { type = "LICENSE_DELETE_RESULT", data = JsonConvert.DeserializeObject(result) };
|
||||
await Send(socket, JsonConvert.SerializeObject(response));
|
||||
}
|
||||
break;
|
||||
|
||||
case "LICENSE_OPEN_FOLDER":
|
||||
{
|
||||
int idx = json.idx ?? 0;
|
||||
string result = _bridge.License_OpenFolder(idx);
|
||||
var response = new { type = "LICENSE_OPEN_FOLDER_RESULT", data = JsonConvert.DeserializeObject(result) };
|
||||
await Send(socket, JsonConvert.SerializeObject(response));
|
||||
}
|
||||
break;
|
||||
|
||||
case "LICENSE_EXPORT_CSV":
|
||||
{
|
||||
string filePath = json.filePath ?? "";
|
||||
string result = _bridge.License_ExportCSV(filePath);
|
||||
var response = new { type = "LICENSE_EXPORT_CSV_RESULT", data = JsonConvert.DeserializeObject(result) };
|
||||
await Send(socket, JsonConvert.SerializeObject(response));
|
||||
}
|
||||
break;
|
||||
|
||||
// ===== PartList API (파트리스트) =====
|
||||
case "PARTLIST_GET_LIST":
|
||||
{
|
||||
int projectIdx = json.projectIdx ?? 0;
|
||||
string result = _bridge.PartList_GetList(projectIdx);
|
||||
var response = new { type = "PARTLIST_LIST_DATA", data = JsonConvert.DeserializeObject(result) };
|
||||
await Send(socket, JsonConvert.SerializeObject(response));
|
||||
}
|
||||
break;
|
||||
|
||||
case "PARTLIST_SAVE":
|
||||
{
|
||||
int idx = json.idx ?? 0;
|
||||
int projectIdx = json.projectIdx ?? 0;
|
||||
string itemgroup = json.itemgroup ?? "";
|
||||
string itemname = json.itemname ?? "";
|
||||
string item = json.item ?? "";
|
||||
string itemmodel = json.itemmodel ?? "";
|
||||
string itemscale = json.itemscale ?? "";
|
||||
string itemunit = json.itemunit ?? "";
|
||||
double qty = json.qty ?? 0.0;
|
||||
double price = json.price ?? 0.0;
|
||||
string itemsupply = json.itemsupply ?? "";
|
||||
int itemsupplyidx = json.itemsupplyidx ?? 0;
|
||||
string itemmanu = json.itemmanu ?? "";
|
||||
string itemsid = json.itemsid ?? "";
|
||||
string option1 = json.option1 ?? "";
|
||||
string remark = json.remark ?? "";
|
||||
int no = json.no ?? 0;
|
||||
double qtybuy = json.qtybuy ?? 0.0;
|
||||
string result = _bridge.PartList_Save(idx, projectIdx, itemgroup, itemname, item, itemmodel, itemscale, itemunit, qty, price, itemsupply, itemsupplyidx, itemmanu, itemsid, option1, remark, no, qtybuy);
|
||||
var response = new { type = "PARTLIST_SAVE_RESULT", data = JsonConvert.DeserializeObject(result) };
|
||||
await Send(socket, JsonConvert.SerializeObject(response));
|
||||
}
|
||||
break;
|
||||
|
||||
case "PARTLIST_DELETE":
|
||||
{
|
||||
int idx = json.idx ?? 0;
|
||||
string result = _bridge.PartList_Delete(idx);
|
||||
var response = new { type = "PARTLIST_DELETE_RESULT", data = JsonConvert.DeserializeObject(result) };
|
||||
await Send(socket, JsonConvert.SerializeObject(response));
|
||||
}
|
||||
break;
|
||||
|
||||
// ===== Customs API (업체정보) =====
|
||||
case "CUSTOMS_GET_LIST":
|
||||
{
|
||||
@@ -1295,6 +1460,19 @@ namespace Project.Web
|
||||
}
|
||||
break;
|
||||
|
||||
case "PROJECT_SAVE_HISTORY":
|
||||
{
|
||||
int idx = json.idx ?? 0;
|
||||
int pidx = json.pidx ?? 0;
|
||||
string pdate = json.pdate ?? "";
|
||||
int progress = json.progress ?? 0;
|
||||
string remark = json.remark ?? "";
|
||||
string result = _bridge.Project_SaveHistory(idx, pidx, pdate, progress, remark);
|
||||
var response = new { type = "PROJECT_SAVE_HISTORY_RESULT", data = JsonConvert.DeserializeObject(result) };
|
||||
await Send(socket, JsonConvert.SerializeObject(response));
|
||||
}
|
||||
break;
|
||||
|
||||
case "PROJECT_GET_DAILY_MEMO":
|
||||
{
|
||||
int projectIdx = json.projectIdx ?? 0;
|
||||
|
||||
@@ -3,26 +3,16 @@
|
||||
<configSections>
|
||||
</configSections>
|
||||
<connectionStrings>
|
||||
<add name="Project.Properties.Settings.gwcs" connectionString="Data Source=K4FASQL.kr.ds.amkor.com,50150;Initial Catalog=EE;Persist Security Info=True;User ID=eeadm;Password=uJnU8a8q&DJ+ug-D;Encrypt=False;TrustServerCertificate=True"
|
||||
providerName="System.Data.SqlClient" />
|
||||
<add name="EEEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;persist security info=True;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;MultipleActiveResultSets=True;App=EntityFramework"TrustServerCertificate=True"
|
||||
providerName="System.Data.EntityClient" />
|
||||
<add name="EEEntities1" connectionString="metadata=res://*/ModelMain.csdl|res://*/ModelMain.ssdl|res://*/ModelMain.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;connect timeout=30;encrypt=False;trustservercertificate=True;MultipleActiveResultSets=True;App=EntityFramework""
|
||||
providerName="System.Data.EntityClient" />
|
||||
<add name="EEEntitiesMain" connectionString="metadata=res://*/AdoNetEFMain.csdl|res://*/AdoNetEFMain.ssdl|res://*/AdoNetEFMain.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;connect timeout=30;encrypt=False;trustservercertificate=True;MultipleActiveResultSets=True;App=EntityFramework""
|
||||
providerName="System.Data.EntityClient" />
|
||||
<add name="S1ACCESS300Entities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=10.141.18.50;initial catalog=S1ACCESS300;persist security info=True;user id=amkoruser;password=AmkorUser!;MultipleActiveResultSets=True;App=EntityFramework"TrustServerCertificate=True"
|
||||
providerName="System.Data.EntityClient" />
|
||||
<add name="EEEntitiesPurchase" connectionString="metadata=res://*/ModelPurchase.csdl|res://*/ModelPurchase.ssdl|res://*/ModelPurchase.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;persist security info=True;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;MultipleActiveResultSets=True;App=EntityFramework"TrustServerCertificate=True"
|
||||
providerName="System.Data.EntityClient" />
|
||||
<add name="EEEntitiesCommon" connectionString="metadata=res://*/ModelCommon.csdl|res://*/ModelCommon.ssdl|res://*/ModelCommon.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;persist security info=True;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;MultipleActiveResultSets=True;App=EntityFramework"TrustServerCertificate=True"
|
||||
providerName="System.Data.EntityClient" />
|
||||
<add name="EEEntitiesJobreport" connectionString="metadata=res://*/ModelJobreport.csdl|res://*/ModelJobreport.ssdl|res://*/ModelJobreport.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;persist security info=True;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;MultipleActiveResultSets=True;App=EntityFramework"TrustServerCertificate=True"
|
||||
providerName="System.Data.EntityClient" />
|
||||
<add name="EEEntitiesProject" connectionString="metadata=res://*/ModelProject.csdl|res://*/ModelProject.ssdl|res://*/ModelProject.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;persist security info=True;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;MultipleActiveResultSets=True;App=EntityFramework"TrustServerCertificate=True"
|
||||
providerName="System.Data.EntityClient" />
|
||||
<add name="Project.Properties.Settings.CS" connectionString="Data Source=K4FASQL.kr.ds.amkor.com,50150;Initial Catalog=EE;Persist Security Info=True;User ID=eeadm;Password=uJnU8a8q&DJ+ug-D;Encrypt=False;TrustServerCertificate=True"
|
||||
providerName="System.Data.SqlClient" />
|
||||
<add name="Project.Properties.Settings.gwcs" connectionString="Data Source=K4FASQL.kr.ds.amkor.com,50150;Initial Catalog=EE;Persist Security Info=True;User ID=eeadm;Password=uJnU8a8q&DJ+ug-D;Encrypt=False;TrustServerCertificate=True" providerName="System.Data.SqlClient" />
|
||||
<add name="EEEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;persist security info=True;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;MultipleActiveResultSets=True;App=EntityFramework"TrustServerCertificate=True" providerName="System.Data.EntityClient" />
|
||||
<add name="EEEntities1" connectionString="metadata=res://*/ModelMain.csdl|res://*/ModelMain.ssdl|res://*/ModelMain.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;connect timeout=30;encrypt=False;trustservercertificate=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
|
||||
<add name="EEEntitiesMain" connectionString="metadata=res://*/AdoNetEFMain.csdl|res://*/AdoNetEFMain.ssdl|res://*/AdoNetEFMain.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;connect timeout=30;encrypt=False;trustservercertificate=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
|
||||
<add name="S1ACCESS300Entities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=10.141.18.50;initial catalog=S1ACCESS300;persist security info=True;user id=amkoruser;password=AmkorUser!;MultipleActiveResultSets=True;App=EntityFramework"TrustServerCertificate=True" providerName="System.Data.EntityClient" />
|
||||
<add name="EEEntitiesPurchase" connectionString="metadata=res://*/ModelPurchase.csdl|res://*/ModelPurchase.ssdl|res://*/ModelPurchase.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;persist security info=True;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;MultipleActiveResultSets=True;App=EntityFramework"TrustServerCertificate=True" providerName="System.Data.EntityClient" />
|
||||
<add name="EEEntitiesCommon" connectionString="metadata=res://*/ModelCommon.csdl|res://*/ModelCommon.ssdl|res://*/ModelCommon.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;persist security info=True;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;MultipleActiveResultSets=True;App=EntityFramework"TrustServerCertificate=True" providerName="System.Data.EntityClient" />
|
||||
<add name="EEEntitiesJobreport" connectionString="metadata=res://*/ModelJobreport.csdl|res://*/ModelJobreport.ssdl|res://*/ModelJobreport.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;persist security info=True;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;MultipleActiveResultSets=True;App=EntityFramework"TrustServerCertificate=True" providerName="System.Data.EntityClient" />
|
||||
<add name="EEEntitiesProject" connectionString="metadata=res://*/ModelProject.csdl|res://*/ModelProject.ssdl|res://*/ModelProject.msl;provider=System.Data.SqlClient;provider connection string="data source=K4FASQL.kr.ds.amkor.com,50150;initial catalog=EE;persist security info=True;user id=eeadm;password=uJnU8a8q&DJ+ug-D!;MultipleActiveResultSets=True;App=EntityFramework"TrustServerCertificate=True" providerName="System.Data.EntityClient" />
|
||||
<add name="Project.Properties.Settings.CS" connectionString="Data Source=K4FASQL.kr.ds.amkor.com,50150;Initial Catalog=EE;Persist Security Info=True;User ID=eeadm;Password=uJnU8a8q&DJ+ug-D;Encrypt=False;TrustServerCertificate=True" providerName="System.Data.SqlClient" />
|
||||
</connectionStrings>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
|
||||
166
Project/fMain.Designer.cs
generated
166
Project/fMain.Designer.cs
generated
@@ -78,8 +78,6 @@
|
||||
this.업무분류및형태설정ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.자동입력ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.교육목록ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.비용절감ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.라이선스ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.mn_jago = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.관리ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -102,14 +100,6 @@
|
||||
this.근태마감ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.대체시간이월ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.personalInventoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.mn_docu = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.메모장ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.메일내역ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.기타ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.품목검색ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.대쉬보드ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem17 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.webview2TestToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.즐겨찾기ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.btDev = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.purchaseImportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -123,17 +113,11 @@
|
||||
this.addSIdDataToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.계정목록ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.그룹정보ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.임의테이블조작ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.mailBackupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.메일자동발신테스트ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.아이템비활성화하기ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.sPR설정ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem13 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.프로젝트스케쥴담당자사번업데이트ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.버젼확인ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.설명서ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tabControl1 = new System.Windows.Forms.TabControl();
|
||||
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
this.toolStripMenuItem8 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@@ -236,12 +220,8 @@
|
||||
this.btSetting,
|
||||
this.commonToolStripMenuItem,
|
||||
this.managementToolStripMenuItem,
|
||||
this.mn_docu,
|
||||
this.기타ToolStripMenuItem,
|
||||
this.즐겨찾기ToolStripMenuItem,
|
||||
this.btDev,
|
||||
this.버젼확인ToolStripMenuItem,
|
||||
this.설명서ToolStripMenuItem});
|
||||
this.btDev});
|
||||
this.menuStrip1.Location = new System.Drawing.Point(1, 1);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(1094, 27);
|
||||
@@ -368,8 +348,6 @@
|
||||
this.mn_purchase,
|
||||
this.mn_project,
|
||||
this.mn_dailyhistory,
|
||||
this.교육목록ToolStripMenuItem,
|
||||
this.비용절감ToolStripMenuItem,
|
||||
this.라이선스ToolStripMenuItem,
|
||||
this.mn_jago,
|
||||
this.휴가관리ToolStripMenuItem,
|
||||
@@ -508,7 +486,6 @@
|
||||
this.mn_dailyhistory.Name = "mn_dailyhistory";
|
||||
this.mn_dailyhistory.Size = new System.Drawing.Size(203, 24);
|
||||
this.mn_dailyhistory.Text = "업무관리";
|
||||
this.mn_dailyhistory.Click += new System.EventHandler(this.업무일지ToolStripMenuItem1_Click);
|
||||
//
|
||||
// 목록ToolStripMenuItem1
|
||||
//
|
||||
@@ -548,22 +525,6 @@
|
||||
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
|
||||
this.toolStripMenuItem2.Size = new System.Drawing.Size(231, 6);
|
||||
//
|
||||
// 교육목록ToolStripMenuItem
|
||||
//
|
||||
this.교육목록ToolStripMenuItem.Name = "교육목록ToolStripMenuItem";
|
||||
this.교육목록ToolStripMenuItem.Size = new System.Drawing.Size(203, 24);
|
||||
this.교육목록ToolStripMenuItem.Text = "교육목록";
|
||||
this.교육목록ToolStripMenuItem.Click += new System.EventHandler(this.교육목록ToolStripMenuItem_Click);
|
||||
//
|
||||
// 비용절감ToolStripMenuItem
|
||||
//
|
||||
this.비용절감ToolStripMenuItem.ForeColor = System.Drawing.Color.Black;
|
||||
this.비용절감ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("비용절감ToolStripMenuItem.Image")));
|
||||
this.비용절감ToolStripMenuItem.Name = "비용절감ToolStripMenuItem";
|
||||
this.비용절감ToolStripMenuItem.Size = new System.Drawing.Size(203, 24);
|
||||
this.비용절감ToolStripMenuItem.Text = "비용절감";
|
||||
this.비용절감ToolStripMenuItem.Click += new System.EventHandler(this.비용절감ToolStripMenuItem_Click);
|
||||
//
|
||||
// 라이선스ToolStripMenuItem
|
||||
//
|
||||
this.라이선스ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("라이선스ToolStripMenuItem.Image")));
|
||||
@@ -740,68 +701,6 @@
|
||||
this.personalInventoryToolStripMenuItem.Visible = false;
|
||||
this.personalInventoryToolStripMenuItem.Click += new System.EventHandler(this.personalInventoryToolStripMenuItem_Click);
|
||||
//
|
||||
// mn_docu
|
||||
//
|
||||
this.mn_docu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.메모장ToolStripMenuItem,
|
||||
this.메일내역ToolStripMenuItem});
|
||||
this.mn_docu.Image = ((System.Drawing.Image)(resources.GetObject("mn_docu.Image")));
|
||||
this.mn_docu.Name = "mn_docu";
|
||||
this.mn_docu.Size = new System.Drawing.Size(65, 23);
|
||||
this.mn_docu.Text = "문서";
|
||||
//
|
||||
// 메모장ToolStripMenuItem
|
||||
//
|
||||
this.메모장ToolStripMenuItem.Name = "메모장ToolStripMenuItem";
|
||||
this.메모장ToolStripMenuItem.Size = new System.Drawing.Size(152, 24);
|
||||
this.메모장ToolStripMenuItem.Text = "메모장";
|
||||
this.메모장ToolStripMenuItem.Click += new System.EventHandler(this.메모장ToolStripMenuItem_Click);
|
||||
//
|
||||
// 메일내역ToolStripMenuItem
|
||||
//
|
||||
this.메일내역ToolStripMenuItem.Name = "메일내역ToolStripMenuItem";
|
||||
this.메일내역ToolStripMenuItem.Size = new System.Drawing.Size(152, 24);
|
||||
this.메일내역ToolStripMenuItem.Text = "메일 내역";
|
||||
this.메일내역ToolStripMenuItem.Click += new System.EventHandler(this.메일내역ToolStripMenuItem_Click);
|
||||
//
|
||||
// 기타ToolStripMenuItem
|
||||
//
|
||||
this.기타ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.품목검색ToolStripMenuItem,
|
||||
this.대쉬보드ToolStripMenuItem,
|
||||
this.toolStripMenuItem17,
|
||||
this.webview2TestToolStripMenuItem});
|
||||
this.기타ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("기타ToolStripMenuItem.Image")));
|
||||
this.기타ToolStripMenuItem.Name = "기타ToolStripMenuItem";
|
||||
this.기타ToolStripMenuItem.Size = new System.Drawing.Size(65, 23);
|
||||
this.기타ToolStripMenuItem.Text = "기타";
|
||||
//
|
||||
// 품목검색ToolStripMenuItem
|
||||
//
|
||||
this.품목검색ToolStripMenuItem.Name = "품목검색ToolStripMenuItem";
|
||||
this.품목검색ToolStripMenuItem.Size = new System.Drawing.Size(171, 24);
|
||||
this.품목검색ToolStripMenuItem.Text = "품목 검색";
|
||||
this.품목검색ToolStripMenuItem.Click += new System.EventHandler(this.품목검색ToolStripMenuItem_Click);
|
||||
//
|
||||
// 대쉬보드ToolStripMenuItem
|
||||
//
|
||||
this.대쉬보드ToolStripMenuItem.Name = "대쉬보드ToolStripMenuItem";
|
||||
this.대쉬보드ToolStripMenuItem.Size = new System.Drawing.Size(171, 24);
|
||||
this.대쉬보드ToolStripMenuItem.Text = "대쉬보드";
|
||||
this.대쉬보드ToolStripMenuItem.Click += new System.EventHandler(this.대쉬보드ToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripMenuItem17
|
||||
//
|
||||
this.toolStripMenuItem17.Name = "toolStripMenuItem17";
|
||||
this.toolStripMenuItem17.Size = new System.Drawing.Size(168, 6);
|
||||
//
|
||||
// webview2TestToolStripMenuItem
|
||||
//
|
||||
this.webview2TestToolStripMenuItem.Name = "webview2TestToolStripMenuItem";
|
||||
this.webview2TestToolStripMenuItem.Size = new System.Drawing.Size(171, 24);
|
||||
this.webview2TestToolStripMenuItem.Text = "Webview2 Test";
|
||||
this.webview2TestToolStripMenuItem.Click += new System.EventHandler(this.webview2TestToolStripMenuItem_Click);
|
||||
//
|
||||
// 즐겨찾기ToolStripMenuItem
|
||||
//
|
||||
this.즐겨찾기ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("즐겨찾기ToolStripMenuItem.Image")));
|
||||
@@ -823,11 +722,7 @@
|
||||
this.addSIdDataToolStripMenuItem,
|
||||
this.계정목록ToolStripMenuItem,
|
||||
this.그룹정보ToolStripMenuItem1,
|
||||
this.toolStripMenuItem1,
|
||||
this.임의테이블조작ToolStripMenuItem,
|
||||
this.mailBackupToolStripMenuItem,
|
||||
this.메일자동발신테스트ToolStripMenuItem,
|
||||
this.toolStripMenuItem5,
|
||||
this.아이템비활성화하기ToolStripMenuItem,
|
||||
this.sPR설정ToolStripMenuItem,
|
||||
this.toolStripMenuItem13,
|
||||
@@ -916,21 +811,6 @@
|
||||
this.그룹정보ToolStripMenuItem1.Text = "그룹정보";
|
||||
this.그룹정보ToolStripMenuItem1.Click += new System.EventHandler(this.그룹정보ToolStripMenuItem1_Click);
|
||||
//
|
||||
// toolStripMenuItem1
|
||||
//
|
||||
this.toolStripMenuItem1.ForeColor = System.Drawing.Color.HotPink;
|
||||
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(302, 24);
|
||||
this.toolStripMenuItem1.Text = "Staff Grid";
|
||||
this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click);
|
||||
//
|
||||
// 임의테이블조작ToolStripMenuItem
|
||||
//
|
||||
this.임의테이블조작ToolStripMenuItem.Name = "임의테이블조작ToolStripMenuItem";
|
||||
this.임의테이블조작ToolStripMenuItem.Size = new System.Drawing.Size(302, 24);
|
||||
this.임의테이블조작ToolStripMenuItem.Text = "구매내역 suuply 다시 설정 하기";
|
||||
this.임의테이블조작ToolStripMenuItem.Click += new System.EventHandler(this.임의테이블조작ToolStripMenuItem_Click);
|
||||
//
|
||||
// mailBackupToolStripMenuItem
|
||||
//
|
||||
this.mailBackupToolStripMenuItem.Name = "mailBackupToolStripMenuItem";
|
||||
@@ -938,18 +818,6 @@
|
||||
this.mailBackupToolStripMenuItem.Text = "Mail Backup";
|
||||
this.mailBackupToolStripMenuItem.Click += new System.EventHandler(this.mailBackupToolStripMenuItem_Click);
|
||||
//
|
||||
// 메일자동발신테스트ToolStripMenuItem
|
||||
//
|
||||
this.메일자동발신테스트ToolStripMenuItem.Name = "메일자동발신테스트ToolStripMenuItem";
|
||||
this.메일자동발신테스트ToolStripMenuItem.Size = new System.Drawing.Size(302, 24);
|
||||
this.메일자동발신테스트ToolStripMenuItem.Text = "메일자동발신(테스트)";
|
||||
this.메일자동발신테스트ToolStripMenuItem.Click += new System.EventHandler(this.메일자동발신테스트ToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripMenuItem5
|
||||
//
|
||||
this.toolStripMenuItem5.Name = "toolStripMenuItem5";
|
||||
this.toolStripMenuItem5.Size = new System.Drawing.Size(299, 6);
|
||||
//
|
||||
// 아이템비활성화하기ToolStripMenuItem
|
||||
//
|
||||
this.아이템비활성화하기ToolStripMenuItem.Name = "아이템비활성화하기ToolStripMenuItem";
|
||||
@@ -978,22 +846,6 @@
|
||||
this.프로젝트스케쥴담당자사번업데이트ToolStripMenuItem.Text = "프로젝트스케쥴담당자사번업데이트";
|
||||
this.프로젝트스케쥴담당자사번업데이트ToolStripMenuItem.Click += new System.EventHandler(this.프로젝트스케쥴담당자사번업데이트ToolStripMenuItem_Click);
|
||||
//
|
||||
// 버젼확인ToolStripMenuItem
|
||||
//
|
||||
this.버젼확인ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("버젼확인ToolStripMenuItem.Image")));
|
||||
this.버젼확인ToolStripMenuItem.Name = "버젼확인ToolStripMenuItem";
|
||||
this.버젼확인ToolStripMenuItem.Size = new System.Drawing.Size(93, 23);
|
||||
this.버젼확인ToolStripMenuItem.Text = "버젼확인";
|
||||
this.버젼확인ToolStripMenuItem.Click += new System.EventHandler(this.버젼확인ToolStripMenuItem_Click);
|
||||
//
|
||||
// 설명서ToolStripMenuItem
|
||||
//
|
||||
this.설명서ToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("설명서ToolStripMenuItem.Image")));
|
||||
this.설명서ToolStripMenuItem.Name = "설명서ToolStripMenuItem";
|
||||
this.설명서ToolStripMenuItem.Size = new System.Drawing.Size(79, 23);
|
||||
this.설명서ToolStripMenuItem.Text = "설명서";
|
||||
this.설명서ToolStripMenuItem.Click += new System.EventHandler(this.설명서ToolStripMenuItem_Click);
|
||||
//
|
||||
// tabControl1
|
||||
//
|
||||
this.tabControl1.Appearance = System.Windows.Forms.TabAppearance.FlatButtons;
|
||||
@@ -1146,7 +998,6 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem itemsToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripStatusLabel sbLogin;
|
||||
private System.Windows.Forms.ToolStripMenuItem codesToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem mn_docu;
|
||||
private System.Windows.Forms.ToolStripMenuItem managementToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem personalInventoryToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem userInfoToolStripMenuItem;
|
||||
@@ -1175,12 +1026,8 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem 권한설정ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 관리ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 재고현황ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem 임의테이블조작ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 메일양식ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 메일내역ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem mailBackupToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 메모장ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStrip toolStrip1;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem6;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem7;
|
||||
@@ -1189,32 +1036,24 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem 근태입력ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 근로명부ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripStatusLabel lbSvr;
|
||||
private System.Windows.Forms.ToolStripMenuItem 비용절감ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 목록ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton1;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton2;
|
||||
private System.Windows.Forms.ToolStripMenuItem 목록ToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem 자동입력ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 기타ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 품목검색ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem layoutToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 교육목록ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 양식ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 설명서ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 라이선스ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 휴일연장근무승인ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem9;
|
||||
private System.Windows.Forms.ToolStripMenuItem 휴일연장근무집계표출력ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 메일자동발신테스트ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 출근부출력ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 휴가신청ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem10;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem5;
|
||||
private System.Windows.Forms.ToolStripMenuItem 아이템비활성화하기ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 휴가사용현황ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 개인별근태원장ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 근태입력오류확인ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 버젼확인ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem11;
|
||||
private System.Windows.Forms.ToolStripMenuItem 근태마감ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem sPR설정ToolStripMenuItem;
|
||||
@@ -1233,7 +1072,6 @@
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem15;
|
||||
private System.Windows.Forms.ToolStripMenuItem 개인별근태집계표ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 연차현황ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 대쉬보드ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripStatusLabel sbLoginUseTime;
|
||||
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem16;
|
||||
private System.Windows.Forms.ToolStripMenuItem 담당자별업무현황ToolStripMenuItem;
|
||||
@@ -1242,8 +1080,6 @@
|
||||
private System.Windows.Forms.ToolStripMenuItem 업무분류및형태설정ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 대체시간이월ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 월별NRCR기준금액입력ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem17;
|
||||
private System.Windows.Forms.ToolStripMenuItem webview2TestToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripStatusLabel sbWeb;
|
||||
private System.Windows.Forms.ToolStripStatusLabel sbChat;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem18;
|
||||
|
||||
@@ -183,8 +183,6 @@ namespace Project
|
||||
this.mn_jago.Visible = FCOMMON.Util.getBit(FCOMMON.info.Login.gpermission, (int)FCOMMON.eGroupPermission.menu_jago);
|
||||
//this.mn_eq.Visible = FCOMMON.Util.getBit(FCOMMON.info.Login.gpermission, (int)FCOMMON.eGroupPermission.menu_equipment);
|
||||
this.mn_kuntae.Visible = FCOMMON.Util.getBit(FCOMMON.info.Login.gpermission, (int)FCOMMON.eGroupPermission.menu_workday);
|
||||
this.mn_docu.Visible = FCOMMON.Util.getBit(FCOMMON.info.Login.gpermission, (int)FCOMMON.eGroupPermission.menu_docu);
|
||||
//this.mn_logdata.Visible = FCOMMON.Util.getBit(FCOMMON.info.Login.gpermission, (int)FCOMMON.eGroupPermission.menu_logdata);
|
||||
|
||||
//220421
|
||||
FCOMMON.info.Disable_8hourover = Pub.setting.Disable8HourOver;
|
||||
@@ -377,12 +375,7 @@ namespace Project
|
||||
|
||||
|
||||
}
|
||||
void menu_save_cost()
|
||||
{
|
||||
string formkey = "SAVECOST";
|
||||
if (!ShowForm(formkey))
|
||||
AddForm(formkey, new FPJ0000.fSaveCostList());
|
||||
}
|
||||
|
||||
|
||||
void menu_dayhistory()
|
||||
{
|
||||
@@ -680,23 +673,6 @@ namespace Project
|
||||
Menu_Dashboard();
|
||||
}
|
||||
|
||||
private void 메일전송ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (FCOMMON.info.Login.level < 10)
|
||||
{
|
||||
FCOMMON.Util.MsgE("테스트 기능이므로 개발자만 사용가능 합니다.");
|
||||
return;
|
||||
}
|
||||
FCM0000.fSendMail f = new FCM0000.fSendMail();
|
||||
//f.MdiParent = this;
|
||||
f.Show();
|
||||
}
|
||||
|
||||
private void 업무일지ToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void workReportImportToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
@@ -801,12 +777,7 @@ namespace Project
|
||||
if (!ShowForm(formkey))
|
||||
AddForm(formkey, new FCM0000.fInventoryJagoList());
|
||||
}
|
||||
void Menu_Note()
|
||||
{
|
||||
string formkey = "NOTELIST";
|
||||
if (!ShowForm(formkey))
|
||||
AddForm(formkey, new FPJ0000.Note.fNote());
|
||||
}
|
||||
|
||||
private void 재고현황ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Menu_InventoryList();
|
||||
@@ -908,11 +879,6 @@ namespace Project
|
||||
FCOMMON.Util.MsgI("complete");
|
||||
}
|
||||
|
||||
private void sMTRepairLogToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void 메일양식ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
string formkey = "MAILFORM";
|
||||
@@ -920,20 +886,6 @@ namespace Project
|
||||
AddForm(formkey, new FCM0000.fMailform());
|
||||
}
|
||||
|
||||
private void 메일내역ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
string formkey = "MAILLIST";
|
||||
if (!ShowForm(formkey))
|
||||
AddForm(formkey, new FCM0000.Mail.fMailList());
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void pMP데이터베이스업데이트ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
private void mailBackupToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var f = new FCM0000.Mail.fMailBackup();
|
||||
@@ -941,11 +893,6 @@ namespace Project
|
||||
f.Show();
|
||||
}
|
||||
|
||||
private void 메모장ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Menu_Note();
|
||||
}
|
||||
|
||||
|
||||
private void toolStripMenuItem7_Click(object sender, EventArgs e)
|
||||
{
|
||||
@@ -976,11 +923,7 @@ namespace Project
|
||||
AddForm(formkey, new FBS0000.fWorkTableUser());
|
||||
}
|
||||
|
||||
private void 비용절감ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
menu_save_cost();
|
||||
}
|
||||
|
||||
|
||||
private void 목록ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
menu_projecT_list();
|
||||
@@ -1018,12 +961,6 @@ namespace Project
|
||||
AddForm(formkey, new FPJ0000.fProjectLayout());
|
||||
}
|
||||
|
||||
private void 교육목록ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
string formkey = "EDLIST";
|
||||
if (!ShowForm(formkey))
|
||||
AddForm(formkey, new FED0000.fEdulist());
|
||||
}
|
||||
|
||||
private void 양식ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
@@ -1032,16 +969,6 @@ namespace Project
|
||||
AddForm(formkey, new FCM0000.fJRForm());
|
||||
}
|
||||
|
||||
private void 설명서ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
// 로컬 PDF 파일 열기
|
||||
var pdfPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Manual.pdf");
|
||||
if (System.IO.File.Exists(pdfPath))
|
||||
Util.RunExplorer(pdfPath);
|
||||
else
|
||||
Util.MsgE("설명서 파일을 찾을 수 없습니다.");
|
||||
}
|
||||
|
||||
private void 라이선스ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
string formkey = "LICENSE";
|
||||
|
||||
@@ -150,94 +150,6 @@
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIkAA/CByYwUOGgQgTfvDgwINChQw9IHD4UGBEABAuUETo
|
||||
oaNEDxg1erTo4IGDiQAGNFCA4QABAg4jdkxpoYOABAkUGKD4UaUFARUCMLCwk6NGCkADRKBQNKEHDB6E
|
||||
RpDQlCNUoRYkSJhQYKPFAyqZThjbleMBDxw07CxQYMKGBRs9vNTQcaGHBXjjjuS4t2LFgAA7
|
||||
</value>
|
||||
</data>
|
||||
<data name="managementToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQQAP/cpv/GcNvb292RIP+kG/+5T6m5rMStgK13Jv+wOt2TJKmwrP/zcZOru////wAA
|
||||
AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAQACwAAAAAEAAQAAAIZQAhCBxIsKBABgQBGCTIoCEEBgEWDmRAgMAAAwUgKJQ4
|
||||
QIEDBwciSmw4QMDHBRIBBCiQAIGABw8aSBSosgHMmCkH2oQpc6bAnTh9QgDa0ydRoUMffCw6s4FJB0wl
|
||||
OoWKdGiDBgEBADs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="mn_docu.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfAJrM+3OSsKfS++zx9uXt9Yis1FdwkZW51ElVa8fj/bba/NXb5PL2+o276b3d/VJh
|
||||
e7TR4ENLXNXn8KLD536kwIyzzJ/E2KjL3t7n7ykxQz5FVa/W/OLp8I+w1P///////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAItgA9CBxIcOCHgx4kQIBwwcKBChQiBgjgASEECQQGZNRI
|
||||
oGMDAxU9QCCQoGRJBygZNPgo8AKDBB1iyuzAoOYDgRZeonSgoGfPDQxuejjwcsLMAkgFBBVY4aVPBRui
|
||||
ClCKQCCFojGRIm0ggEBVDxQG8IQqdSoAAhGsijWqdSsADmk9BBBLdqoAAHgxaBAYgAHPsnjxDtjrwcAC
|
||||
Bhw5KOaAYQCEDHwNSH7wAAGCCBE0aMggtKBnggEBADs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="기타ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfAKnrVsfvlYnVOHy8KnfJLJneRWqyJLvth1W7GzGTEVWnHT2aFIPNMkuiGmrKJGKt
|
||||
Io7eOXa5KU64GDiWE1yqIHK3KHa5J0WeGGC/IG+1JW/FKGjCJHnRLWrOIP///////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIqwA/CBTooeDAgwg9DFjoAWHCAQEAFBjQ0CHBAQAEFLBQ
|
||||
8WDBjxEARPjY8YPChREiZshg4EFJhQFiFmBQAAIECh8vLoTAgAEBAgIUeGhwoaHCghUE/NTAgcCFAxAW
|
||||
GDWZQamGDRgwIEAgYUJBjh4MCODAAYODBRMkSEhQMAJLARQUNODgwGsCtiYjHBDgsuCCDl4NmqxQAK7R
|
||||
v3gHemD5QK4HtBMSEyRplOTBgAA7
|
||||
</value>
|
||||
</data>
|
||||
<data name="즐겨찾기ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIMPAEWi6azap1WzS9LusYrSbApexXLHV+z41vH559Ltw8ns+pe75hBs0iCZEP//////
|
||||
/yH/C05FVFNDQVBFMi4wAwEBAAAh+QQBAAAPACwAAAAAEAAQAAAIiwAfCBxIsKDBBw4SOjg4MGGDBgwY
|
||||
JDzo4OEBBAgUMGiwkGBFBAcODAAAYMEAjh4ZIBgwQAAAAgZOdkTIQEGCAQRICoAZACVNBQACkHxpQEDP
|
||||
jg5qLhgKQIDTowIrJoA5NGKDABIbNpjqlEGBAguyag3QEiLYsDOjPgwQYEFYsQUdRpSY1qDCugzzBgQA
|
||||
Ow==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btDev.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfAKxoR8VkLxFw1feVPITSWv+eQv7Qo0Cc6OyIN/v7+3PLTSCZEFy17Wa6XuT1x2bG
|
||||
Q3nNUU6vRXPAa9mLXMTkwJZEHJt7LL5aJ/z8/O2KONx3L/ubP/r6+rtVI////////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIpgA/CBxIsOBADBgEeljoweAHDB06eIi4QICAhRwOdjAQ
|
||||
kaMDCgwELOiQ8WGHAQYMFIjIgMEBCBEzQkSwoUCBCR0OSGigIKZJDQM2cKxwoAGBBx0ykISoIcOGiAcO
|
||||
EFCAVCkHphueAtgaIYKFpks7NM0qFIDFCxk0kPyQQCzZiB0CbLAqsO1YslnTrq0r9m4GvSUHcoioobDa
|
||||
vQU5DIar2KFgxYEHBgQAOw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="버젼확인ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfAGm6/idTd4yTmF+v8Xa37KvW+lyh3KHJ62aq41ee2bXZ98nm/2mt5W2Ck5XN/C1c
|
||||
hEZieho8WXXA/2Gn4P39/W+y6V+l3qjP8Njt/lx2izxPYGyv51Oa1EJWZ////////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIqgA/CPzgoaBBDwMTEoQgoGGDBhAQKvSQAcOCBQUcaHwg
|
||||
USBFDARCEqhQgYEEjh47gKxwweAFBAgkREDooYMCAhs8XGCAwMOEmB1o2qywYSdMnxMABCVocwMDngUP
|
||||
GLAAYCZTBTARHPAgdWpVoQV+TrBgoGwCA1+ZOkgwduuBBAk4pCWogUBcDnjxAgjQkS4BAAMCD9jrgcJE
|
||||
DQ8eBAjwYKZhhQQPFoRMuXJAADs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="설명서ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQAAP/99v/qaOvOSem4M+zSSv/ypf/ug//1w//2zP/xnv/te//zrf/0uv/41/nWdufB
|
||||
MP/vkevTVf/rcv/0s//wlv/57OvRM//vi+/OQtaXIuuYEuvTLNyhJ+vHUP///////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIoAA/CBxIsCBBDwgTKizogUCEhwQIYLBgYYOHgR4cKPQA
|
||||
oMEBBAgsfsjoAQGDCQsKJEhAAcKBChYQajyZkiWECwYMAHiAkAAAlCop4FRA9ABPDxgqABVqQIGEpxQG
|
||||
IMTQoCaEphICaFXAAaEABCmZZtUawECGi0gRHGigloFWCgzOYhRAt0OHASg1yD24cUAFDRcNMhwAWLBB
|
||||
D4UNMwz8ISAAOw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="codesToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQAAHan1azQ4ldvj9vp9HSQruTr80lVa+vx9pu811SRuXifuj13uYyz2VFhe4Gt2UNL
|
||||
XPL1+Orv+ufu9YOqxYyzzNHW3SkxQz5FVWag2T6CuZe3y5G0t+Do7+r0/77a9f///yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQAAAAAACwAAAAAEAAQAAAIrwA/CBxIsKDAAQESIkBAYYICBQQICCAgMMAACQMyaswo
|
||||
oUKDih0SZMiwoKTJBQcEVDyAoEMHDy5hdnAg4eMHBBIQeNjJcyeDAjYRRNAQs+hMoAIpRNjQs6eDAgYE
|
||||
TshpVCYAqAIV5GzKU0GBB1klMKjqEgMHsB8IiOW60+wFgQQgIGDgoC4AABgwADjw9oOAChAkSChAmIPh
|
||||
AxUswBXAuEEDAwYePLhwwYJNg5gFBgQAOw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="메일양식ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfAHWSrbTY+6nU/I+74/r8/drj7FlxkUlVa9Xp/eLs9cvT2oWpxG+bwqPQ+57N++v1
|
||||
/lJgeabK7JnB5kNLXJG0z5nA1oyw0SkxQz5FVb7e/aC91tHl8qXB2n2gu////////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIpAA/CBxIsKDBgwQ9KFzIsKHCDRUqUFhAsQOAiwAMQFBY
|
||||
gYDHjyAJKNjogQIBChoQZAgQAEGCiQUOKFxAIEMEDhsQPEDAQEKDBzI9dKiZIYOFowwENPg5QeHQlRIi
|
||||
SJAwYIADBwWaegCQIMAACQEEKK2KFYNCrgMihBXbwEHVBGY9GFCQIEGBu3jvKrhw1oBfCBAOHJgwAQOG
|
||||
CyQdKlaIsLHjggEBADs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="mn_purchase.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
@@ -342,6 +254,54 @@
|
||||
Nq7P2vgxc+6aH3lHuKt0Ou1PJpM2vUR2cdVbXL34iF+O65kFQWDmnQCSJEn+WCxm00tc/2IyS5K0Yb4X
|
||||
QIpGoz5RFG16YM1mc6d5L4AUiUR8oVDIJjPP81vm/wJIgiD4eJ5/8O98rT+Jli/+ECJFiAAAAABJRU5E
|
||||
rkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="managementToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQQAP/cpv/GcNvb292RIP+kG/+5T6m5rMStgK13Jv+wOt2TJKmwrP/zcZOru////wAA
|
||||
AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAQACwAAAAAEAAQAAAIZQAhCBxIsKBABgQBGCTIoCEEBgEWDmRAgMAAAwUgKJQ4
|
||||
QIEDBwciSmw4QMDHBRIBBCiQAIGABw8aSBSosgHMmCkH2oQpc6bAnTh9QgDa0ydRoUMffCw6s4FJB0wl
|
||||
OoWKdGiDBgEBADs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="즐겨찾기ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIMPAEWi6azap1WzS9LusYrSbApexXLHV+z41vH559Ltw8ns+pe75hBs0iCZEP//////
|
||||
/yH/C05FVFNDQVBFMi4wAwEBAAAh+QQBAAAPACwAAAAAEAAQAAAIiwAfCBxIsKDBBw4SOjg4MGGDBgwY
|
||||
JDzo4OEBBAgUMGiwkGBFBAcODAAAYMEAjh4ZIBgwQAAAAgZOdkTIQEGCAQRICoAZACVNBQACkHxpQEDP
|
||||
jg5qLhgKQIDTowIrJoA5NGKDABIbNpjqlEGBAguyag3QEiLYsDOjPgwQYEFYsQUdRpSY1qDCugzzBgQA
|
||||
Ow==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btDev.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfAKxoR8VkLxFw1feVPITSWv+eQv7Qo0Cc6OyIN/v7+3PLTSCZEFy17Wa6XuT1x2bG
|
||||
Q3nNUU6vRXPAa9mLXMTkwJZEHJt7LL5aJ/z8/O2KONx3L/ubP/r6+rtVI////////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIpgA/CBxIsOBADBgEeljoweAHDB06eIi4QICAhRwOdjAQ
|
||||
kaMDCgwELOiQ8WGHAQYMFIjIgMEBCBEzQkSwoUCBCR0OSGigIKZJDQM2cKxwoAGBBx0ykISoIcOGiAcO
|
||||
EFCAVCkHphueAtgaIYKFpks7NM0qFIDFCxk0kPyQQCzZiB0CbLAqsO1YslnTrq0r9m4GvSUHcoioobDa
|
||||
vQU5DIar2KFgxYEHBgQAOw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="codesToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQAAHan1azQ4ldvj9vp9HSQruTr80lVa+vx9pu811SRuXifuj13uYyz2VFhe4Gt2UNL
|
||||
XPL1+Orv+ufu9YOqxYyzzNHW3SkxQz5FVWag2T6CuZe3y5G0t+Do7+r0/77a9f///yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQAAAAAACwAAAAAEAAQAAAIrwA/CBxIsKDAAQESIkBAYYICBQQICCAgMMAACQMyaswo
|
||||
oUKDih0SZMiwoKTJBQcEVDyAoEMHDy5hdnAg4eMHBBIQeNjJcyeDAjYRRNAQs+hMoAIpRNjQs6eDAgYE
|
||||
TshpVCYAqAIV5GzKU0GBB1klMKjqEgMHsB8IiOW60+wFgQQgIGDgoC4AABgwADjw9oOAChAkSChAmIPh
|
||||
AxUswBXAuEEDAwYePLhwwYJNg5gFBgQAOw==
|
||||
</value>
|
||||
</data>
|
||||
<data name="메일양식ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfAHWSrbTY+6nU/I+74/r8/drj7FlxkUlVa9Xp/eLs9cvT2oWpxG+bwqPQ+57N++v1
|
||||
/lJgeabK7JnB5kNLXJG0z5nA1oyw0SkxQz5FVb7e/aC91tHl8qXB2n2gu////////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIpAA/CBxIsKDBgwQ9KFzIsKHCDRUqUFhAsQOAiwAMQFBY
|
||||
gYDHjyAJKNjogQIBChoQZAgQAEGCiQUOKFxAIEMEDhsQPEDAQEKDBzI9dKiZIYOFowwENPg5QeHQlRIi
|
||||
SJAwYIADBwWaegCQIMAACQEEKK2KFYNCrgMihBXbwEHVBGY9GFCQIEGBu3jvKrhw1oBfCBAOHJgwAQOG
|
||||
CyQdKlaIsLHjggEBADs=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
@@ -445,14 +405,14 @@
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIHSURBVDhPY2CAgZnGrAxLtTMZluosYFim08KwWFcdLL5K
|
||||
i4dhmVYhwzLteQzLdFoZlqlLwfWggKU6qxmW6fyH48U6PxiWaHoyLNO8jiK+VOsJwyotCTTNWjYgSYG1
|
||||
lv/9Tub8T7lc/z/3ZMX/eXNiP9Q05f9LvdzwP/Jc2X/VbV5QQ7T7UA1YpjOBf435seQr9d+Kb/X8L7nZ
|
||||
lv/9Tub8T7lc/z/3ZMX/eXNiP9TU5/9LvdzwP/Jc2X/VbV5QQ7T7UA1YpjOBf435seQr9d+Kb/X8L7nZ
|
||||
8//QzJz/jzrT/l+dlPkTJAbDJrtDTzAs0bmGasBSXcHiW911MEUdh+r/Xy+N+L+/1f7v9UKvzz3bCuEG
|
||||
FN/qugBSj2oAAwND8c3uuTBFlZc6lp0vDDl4Odnt28Ugtf/bKpz2Fl/s+AiSK7jZ8w5dLxjAXFB0s6cE
|
||||
xH/RGiH+uMzz/5UMrT9Psm3UCm/26hff6vpcdKvnPLpeMCi+02NcfKPrOIz/uNjT81Gpx38wLvHyAKu5
|
||||
2V1afKu7BUUjMii+0y0GYz+p8MqCGfCk0jsTJFZ/v54j99ZEPhRNuMCjCs++J+Ve/0H4cblXL7o8QfC4
|
||||
zHMj3AulHhvQ5fGC//vrOV50RZ1+0xP3H4RfdkaeAomhq0MB/w70a/490Nv3/0DvmfsHen//P9D7HxlD
|
||||
xc6A1ezv0UBo3DaR/e+B3vnH2uv/oWvChUFq/x7omQfSy/B3f28vugJiMUgvw78DfbZ/D/Qs/3+gdxUp
|
||||
GKQHpBcAG6GqRqSz0QwAAAAASUVORK5CYII=
|
||||
xc6A1ezv0UBo3DaR/e+B3vmHmuv/oWvChUFq/x7omQfSy/B3f28vugJiMUgvw78DfbZ/D/Qs/3+gdxUp
|
||||
GKQHpBcAByWqM8i7D2wAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
|
||||
@@ -6,6 +6,8 @@ import { PatchList } from '@/pages/PatchList';
|
||||
import { BugReport } from '@/pages/BugReport';
|
||||
import { MailList } from '@/pages/MailList';
|
||||
import { Customs } from '@/pages/Customs';
|
||||
import { LicenseList } from '@/components/license/LicenseList';
|
||||
import { PartList } from '@/pages/PartList';
|
||||
import { comms } from '@/communication';
|
||||
import { UserInfo } from '@/types';
|
||||
import { Loader2 } from 'lucide-react';
|
||||
@@ -101,6 +103,8 @@ export default function App() {
|
||||
<Route path="/patch-list" element={<PatchList />} />
|
||||
<Route path="/bug-report" element={<BugReport />} />
|
||||
<Route path="/mail-list" element={<MailList />} />
|
||||
<Route path="/license" element={<LicenseList />} />
|
||||
<Route path="/partlist" element={<PartList />} />
|
||||
</Route>
|
||||
</Routes>
|
||||
{/* Tailwind Breakpoint Indicator - 개발용 */}
|
||||
|
||||
@@ -42,6 +42,8 @@ import type {
|
||||
BoardItem,
|
||||
MailItem,
|
||||
CustomItem,
|
||||
LicenseItem,
|
||||
PartListItem,
|
||||
} from '@/types';
|
||||
|
||||
// WebView2 환경 감지
|
||||
@@ -464,6 +466,21 @@ class CommunicationLayer {
|
||||
}
|
||||
}
|
||||
|
||||
public async saveProjectHistory(historyData: { idx?: number; pidx: number; pdate: string; progress: number; remark: string }): Promise<ApiResponse> {
|
||||
if (isWebView && machine) {
|
||||
const result = await machine.Project_SaveHistory(
|
||||
historyData.idx || 0,
|
||||
historyData.pidx,
|
||||
historyData.pdate,
|
||||
historyData.progress,
|
||||
historyData.remark
|
||||
);
|
||||
return JSON.parse(result);
|
||||
} else {
|
||||
return this.wsRequest<ApiResponse>('PROJECT_SAVE_HISTORY', 'PROJECT_SAVE_HISTORY_RESULT', historyData);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ===== Login API =====
|
||||
|
||||
@@ -1361,6 +1378,64 @@ class CommunicationLayer {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 메일 데이터 추가 (발송 대기열)
|
||||
* @param cate 분류
|
||||
* @param subject 제목
|
||||
* @param fromlist 발신자
|
||||
* @param tolist 수신자
|
||||
* @param cc 참조
|
||||
* @param bcc 숨은참조
|
||||
* @param body 내용
|
||||
* @returns ApiResponse
|
||||
*/
|
||||
public async addMailData(cate: string, subject: string, fromlist: string, tolist: string, cc: string, bcc: string, body: string): Promise<ApiResponse> {
|
||||
if (isWebView && machine) {
|
||||
const result = await machine.Mail_AddData(cate, subject, fromlist, tolist, cc, bcc, body);
|
||||
return JSON.parse(result);
|
||||
} else {
|
||||
return this.wsRequest<ApiResponse>('MAIL_ADD_DATA', 'MAIL_ADD_DATA_RESULT', { cate, subject, fromlist, tolist, cc, bcc, body });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 메일 직접 발송 (SMTP)
|
||||
* @param cate 분류
|
||||
* @param subject 제목
|
||||
* @param fromlist 발신자
|
||||
* @param tolist 수신자
|
||||
* @param cc 참조
|
||||
* @param bcc 숨은참조
|
||||
* @param body 내용
|
||||
* @returns ApiResponse
|
||||
*/
|
||||
public async sendMailDirect(cate: string, subject: string, fromlist: string, tolist: string, cc: string, bcc: string, body: string): Promise<ApiResponse> {
|
||||
if (isWebView && machine) {
|
||||
const result = await machine.Mail_SendDirect(cate, subject, fromlist, tolist, cc, bcc, body);
|
||||
return JSON.parse(result);
|
||||
} else {
|
||||
return this.wsRequest<ApiResponse>('MAIL_SEND_DIRECT', 'MAIL_SEND_DIRECT_RESULT', { cate, subject, fromlist, tolist, cc, bcc, body });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Outlook으로 메일 미리보기/발송
|
||||
* @param subject 제목
|
||||
* @param tolist 수신자
|
||||
* @param cc 참조
|
||||
* @param bcc 숨은참조
|
||||
* @param body 내용
|
||||
* @returns ApiResponse
|
||||
*/
|
||||
public async sendMailOutlook(subject: string, tolist: string, cc: string, bcc: string, body: string): Promise<ApiResponse> {
|
||||
if (isWebView && machine) {
|
||||
const result = await machine.Mail_SendOutlook(subject, tolist, cc, bcc, body);
|
||||
return JSON.parse(result);
|
||||
} else {
|
||||
return this.wsRequest<ApiResponse>('MAIL_SEND_OUTLOOK', 'MAIL_SEND_OUTLOOK_RESULT', { subject, tolist, cc, bcc, body });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 업체정보 목록 조회
|
||||
* @param searchKey 검색어
|
||||
@@ -1388,6 +1463,175 @@ class CommunicationLayer {
|
||||
return this.wsRequest<ApiResponse<CustomItem>>('CUSTOMS_GET_DETAIL', 'CUSTOMS_DETAIL_DATA', { idx });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 라이선스 목록 조회
|
||||
* @returns ApiResponse<LicenseItem[]>
|
||||
*/
|
||||
public async getLicenseList(): Promise<ApiResponse<LicenseItem[]>> {
|
||||
if (isWebView && machine) {
|
||||
const result = await machine.License_GetList();
|
||||
return JSON.parse(result);
|
||||
} else {
|
||||
return this.wsRequest<ApiResponse<LicenseItem[]>>('LICENSE_GET_LIST', 'LICENSE_LIST_DATA', {});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 라이선스 추가
|
||||
*/
|
||||
public async addLicense(
|
||||
name: string,
|
||||
version: string,
|
||||
meterialNo: string,
|
||||
supply: string,
|
||||
qty: number,
|
||||
uids: string,
|
||||
serialNo: string,
|
||||
remark: string,
|
||||
sdate: string,
|
||||
edate: string,
|
||||
manu: string,
|
||||
expire: boolean
|
||||
): Promise<ApiResponse> {
|
||||
if (isWebView && machine) {
|
||||
const result = await machine.License_Add(name, version, meterialNo, supply, qty, uids, serialNo, remark, sdate, edate, manu, expire);
|
||||
return JSON.parse(result);
|
||||
} else {
|
||||
return this.wsRequest<ApiResponse>('LICENSE_ADD', 'LICENSE_ADD_RESULT', {
|
||||
name, version, meterialNo, supply, qty, uids, serialNo, remark, sdate, edate, manu, expire
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 라이선스 수정
|
||||
*/
|
||||
public async updateLicense(
|
||||
idx: number,
|
||||
name: string,
|
||||
version: string,
|
||||
meterialNo: string,
|
||||
supply: string,
|
||||
qty: number,
|
||||
uids: string,
|
||||
serialNo: string,
|
||||
remark: string,
|
||||
sdate: string,
|
||||
edate: string,
|
||||
manu: string,
|
||||
expire: boolean
|
||||
): Promise<ApiResponse> {
|
||||
if (isWebView && machine) {
|
||||
const result = await machine.License_Update(idx, name, version, meterialNo, supply, qty, uids, serialNo, remark, sdate, edate, manu, expire);
|
||||
return JSON.parse(result);
|
||||
} else {
|
||||
return this.wsRequest<ApiResponse>('LICENSE_UPDATE', 'LICENSE_UPDATE_RESULT', {
|
||||
idx, name, version, meterialNo, supply, qty, uids, serialNo, remark, sdate, edate, manu, expire
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 라이선스 삭제
|
||||
*/
|
||||
public async deleteLicense(idx: number): Promise<ApiResponse> {
|
||||
if (isWebView && machine) {
|
||||
const result = await machine.License_Delete(idx);
|
||||
return JSON.parse(result);
|
||||
} else {
|
||||
return this.wsRequest<ApiResponse>('LICENSE_DELETE', 'LICENSE_DELETE_RESULT', { idx });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 라이선스 폴더 열기
|
||||
*/
|
||||
public async openLicenseFolder(idx: number): Promise<ApiResponse> {
|
||||
if (isWebView && machine) {
|
||||
const result = await machine.License_OpenFolder(idx);
|
||||
return JSON.parse(result);
|
||||
} else {
|
||||
return this.wsRequest<ApiResponse>('LICENSE_OPEN_FOLDER', 'LICENSE_OPEN_FOLDER_RESULT', { idx });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 라이선스 CSV 내보내기
|
||||
*/
|
||||
public async exportLicenseCSV(filePath: string): Promise<ApiResponse> {
|
||||
if (isWebView && machine) {
|
||||
const result = await machine.License_ExportCSV(filePath);
|
||||
return JSON.parse(result);
|
||||
} else {
|
||||
return this.wsRequest<ApiResponse>('LICENSE_EXPORT_CSV', 'LICENSE_EXPORT_CSV_RESULT', { filePath });
|
||||
}
|
||||
}
|
||||
|
||||
// ===== PartList API =====
|
||||
|
||||
/**
|
||||
* 프로젝트별 파트리스트 조회
|
||||
*/
|
||||
public async getPartList(projectIdx: number): Promise<ApiResponse<PartListItem[]>> {
|
||||
if (isWebView && machine) {
|
||||
const result = await machine.PartList_GetList(projectIdx);
|
||||
return JSON.parse(result);
|
||||
} else {
|
||||
return this.wsRequest<ApiResponse<PartListItem[]>>('PARTLIST_GET_LIST', 'PARTLIST_LIST_DATA', { projectIdx });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 파트리스트 항목 저장 (추가/수정)
|
||||
*/
|
||||
public async savePartList(
|
||||
idx: number,
|
||||
projectIdx: number,
|
||||
itemgroup: string,
|
||||
itemname: string,
|
||||
item: string,
|
||||
itemmodel: string,
|
||||
itemscale: string,
|
||||
itemunit: string,
|
||||
qty: number,
|
||||
price: number,
|
||||
itemsupply: string,
|
||||
itemsupplyidx: number,
|
||||
itemmanu: string,
|
||||
itemsid: string,
|
||||
option1: string,
|
||||
remark: string,
|
||||
no: number,
|
||||
qtybuy: number
|
||||
): Promise<ApiResponse> {
|
||||
if (isWebView && machine) {
|
||||
const result = await machine.PartList_Save(
|
||||
idx, projectIdx, itemgroup, itemname, item, itemmodel, itemscale,
|
||||
itemunit, qty, price, itemsupply, itemsupplyidx, itemmanu, itemsid,
|
||||
option1, remark, no, qtybuy
|
||||
);
|
||||
return JSON.parse(result);
|
||||
} else {
|
||||
return this.wsRequest<ApiResponse>('PARTLIST_SAVE', 'PARTLIST_SAVE_RESULT', {
|
||||
idx, projectIdx, itemgroup, itemname, item, itemmodel, itemscale,
|
||||
itemunit, qty, price, itemsupply, itemsupplyidx, itemmanu, itemsid,
|
||||
option1, remark, no, qtybuy
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 파트리스트 항목 삭제
|
||||
*/
|
||||
public async deletePartList(idx: number): Promise<ApiResponse> {
|
||||
if (isWebView && machine) {
|
||||
const result = await machine.PartList_Delete(idx);
|
||||
return JSON.parse(result);
|
||||
} else {
|
||||
return this.wsRequest<ApiResponse>('PARTLIST_DELETE', 'PARTLIST_DELETE_RESULT', { idx });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const comms = new CommunicationLayer();
|
||||
|
||||
@@ -262,7 +262,9 @@ export function JobreportEditModal({
|
||||
onMouseDown={(e) => e.stopPropagation()}
|
||||
>
|
||||
{/* 헤더 */}
|
||||
<div className="px-6 py-4 border-b border-white/10 flex items-center justify-between sticky top-0 bg-slate-800/95 backdrop-blur z-10">
|
||||
<div className={`px-6 py-4 border-b border-white/10 flex items-center justify-between sticky top-0 backdrop-blur z-10 ${
|
||||
editingItem ? 'bg-slate-800/95' : 'bg-primary-600/30'
|
||||
}`}>
|
||||
<h2 className="text-xl font-semibold text-white flex items-center">
|
||||
<FileText className="w-5 h-5 mr-2" />
|
||||
{editingItem ? '업무일지 수정' : '업무일지 등록'}
|
||||
|
||||
@@ -22,8 +22,11 @@ import {
|
||||
Building,
|
||||
Star,
|
||||
Bug,
|
||||
Settings,
|
||||
Key,
|
||||
} from 'lucide-react';
|
||||
import { clsx } from 'clsx';
|
||||
import { comms } from '@/communication';
|
||||
import { UserInfoDialog } from '@/components/user/UserInfoDialog';
|
||||
import { UserGroupDialog } from '@/components/user/UserGroupDialog';
|
||||
import { KuntaeErrorCheckDialog } from '@/components/kuntae/KuntaeErrorCheckDialog';
|
||||
@@ -39,6 +42,7 @@ interface NavItem {
|
||||
icon: React.ElementType;
|
||||
label: string;
|
||||
action?: string;
|
||||
className?: string; // 추가: 클래스 이름
|
||||
}
|
||||
|
||||
interface SubMenu {
|
||||
@@ -54,6 +58,7 @@ interface MenuItem {
|
||||
label: string;
|
||||
submenu?: SubMenu;
|
||||
action?: string;
|
||||
className?: string; // gold 등 스타일 적용용
|
||||
}
|
||||
|
||||
interface DropdownMenuConfig {
|
||||
@@ -78,6 +83,13 @@ const leftDropdownMenus: DropdownMenuConfig[] = [
|
||||
{ type: 'action', icon: AlertTriangle, label: '오류검사', action: 'kuntaeErrorCheck' },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '관리',
|
||||
icon: Settings,
|
||||
items: [
|
||||
{ type: 'link', path: '/license', icon: Key, label: '라이선스' },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
// 좌측 단독 액션 버튼
|
||||
@@ -90,44 +102,54 @@ const rightNavItems: NavItem[] = [
|
||||
];
|
||||
|
||||
// 드롭다운 메뉴 (2단계 지원)
|
||||
const dropdownMenus: DropdownMenuConfig[] = [
|
||||
{
|
||||
label: '공용정보',
|
||||
icon: Database,
|
||||
items: [
|
||||
{ type: 'link', path: '/common', icon: Code, label: '공용코드' },
|
||||
{ type: 'link', path: '/items', icon: Package, label: '품목정보' },
|
||||
{ type: 'link', path: '/customs', icon: Building, label: '업체정보' },
|
||||
{
|
||||
type: 'submenu',
|
||||
icon: Users,
|
||||
label: '사용자',
|
||||
submenu: {
|
||||
label: '사용자',
|
||||
const getDropdownMenus = (userLevel: number, userCode: string): DropdownMenuConfig[] => {
|
||||
const mailListItem = {
|
||||
type: 'link' as const,
|
||||
path: '/mail-list',
|
||||
icon: Mail,
|
||||
label: '메일 내역',
|
||||
className: (userCode === '395552') ? 'text-[gold] font-bold' : '',
|
||||
};
|
||||
|
||||
return [
|
||||
{
|
||||
label: '공용정보',
|
||||
icon: Database,
|
||||
items: [
|
||||
{ type: 'link', path: '/common', icon: Code, label: '공용코드' },
|
||||
{ type: 'link', path: '/items', icon: Package, label: '품목정보' },
|
||||
{ type: 'link', path: '/customs', icon: Building, label: '업체정보' },
|
||||
{
|
||||
type: 'submenu',
|
||||
icon: Users,
|
||||
items: [
|
||||
{ icon: User, label: '정보', action: 'userInfo' },
|
||||
{ path: '/user/list', icon: Users, label: '목록' },
|
||||
{ path: '/user/auth', icon: Shield, label: '권한' },
|
||||
{ icon: Users, label: '그룹정보', action: 'userGroup' },
|
||||
],
|
||||
label: '사용자',
|
||||
submenu: {
|
||||
label: '사용자',
|
||||
icon: Users,
|
||||
items: [
|
||||
{ icon: User, label: '정보', action: 'userInfo' },
|
||||
{ path: '/user/list', icon: Users, label: '목록' },
|
||||
{ path: '/user/auth', icon: Shield, label: '권한' },
|
||||
{ icon: Users, label: '그룹정보', action: 'userGroup' },
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
{ type: 'link', path: '/monthly-work', icon: CalendarDays, label: '월별근무표' },
|
||||
{ type: 'link', path: '/mail-form', icon: Mail, label: '메일양식' },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '문서',
|
||||
icon: FileText,
|
||||
items: [
|
||||
{ type: 'link', path: '/note', icon: FileText, label: '메모장' },
|
||||
{ type: 'link', path: '/patch-list', icon: FileText, label: '패치 내역' },
|
||||
{ type: 'link', path: '/bug-report', icon: Bug, label: '버그 신고' },
|
||||
{ type: 'link', path: '/mail-list', icon: Mail, label: '메일 내역' },
|
||||
],
|
||||
},
|
||||
];
|
||||
{ type: 'link', path: '/monthly-work', icon: CalendarDays, label: '월별근무표' },
|
||||
{ type: 'link', path: '/mail-form', icon: Mail, label: '메일양식' },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '문서',
|
||||
icon: FileText,
|
||||
items: [
|
||||
{ type: 'link', path: '/note', icon: FileText, label: '메모장' },
|
||||
{ type: 'link', path: '/patch-list', icon: FileText, label: '패치 내역' },
|
||||
{ type: 'link', path: '/bug-report', icon: Bug, label: '버그 신고' },
|
||||
...(userLevel >= 9 || userCode === '395552' ? [mailListItem] : []),
|
||||
],
|
||||
},
|
||||
];
|
||||
};
|
||||
|
||||
function DropdownNavMenu({
|
||||
menu,
|
||||
@@ -194,7 +216,7 @@ function DropdownNavMenu({
|
||||
'flex items-center space-x-2 px-4 py-2 text-sm transition-colors',
|
||||
isActive
|
||||
? 'bg-white/20 text-white'
|
||||
: 'text-white/70 hover:bg-white/10 hover:text-white'
|
||||
: (item.className || 'text-white/70 hover:bg-white/10 hover:text-white')
|
||||
)
|
||||
}
|
||||
>
|
||||
@@ -326,7 +348,7 @@ function MobileDropdownMenu({
|
||||
'flex items-center space-x-3 px-4 py-2 rounded-lg transition-all duration-200',
|
||||
isActive
|
||||
? 'bg-white/20 text-white'
|
||||
: 'text-white/70 hover:bg-white/10 hover:text-white'
|
||||
: (item.className || 'text-white/70 hover:bg-white/10 hover:text-white')
|
||||
)
|
||||
}
|
||||
>
|
||||
@@ -373,7 +395,7 @@ function MobileDropdownMenu({
|
||||
'flex items-center space-x-3 px-4 py-2 rounded-lg transition-all duration-200',
|
||||
isActive
|
||||
? 'bg-white/20 text-white'
|
||||
: 'text-white/70 hover:bg-white/10 hover:text-white'
|
||||
: (item.className || 'text-white/70 hover:bg-white/10 hover:text-white')
|
||||
)
|
||||
}
|
||||
>
|
||||
@@ -409,6 +431,27 @@ export function Header(_props: HeaderProps) {
|
||||
const [showUserGroupDialog, setShowUserGroupDialog] = useState(false);
|
||||
const [showKuntaeErrorCheckDialog, setShowKuntaeErrorCheckDialog] = useState(false);
|
||||
const [showFavoriteDialog, setShowFavoriteDialog] = useState(false);
|
||||
const [userLevel, setUserLevel] = useState<number>(0);
|
||||
const [userCode, setUserCode] = useState<string>('');
|
||||
|
||||
// 사용자 정보 로드
|
||||
useEffect(() => {
|
||||
const loadUserInfo = async () => {
|
||||
try {
|
||||
const loginStatus = await comms.checkLoginStatus();
|
||||
console.log('Login Status:', loginStatus);
|
||||
if (loginStatus.Success && loginStatus.IsLoggedIn && loginStatus.User) {
|
||||
const user = loginStatus.User as { Level?: number; Id?: string };
|
||||
setUserLevel(user.Level || 0);
|
||||
setUserCode(user.Id || '');
|
||||
console.log('userLevel:', user.Level, 'userCode:', user.Id);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('사용자 정보 로드 오류:', error);
|
||||
}
|
||||
};
|
||||
loadUserInfo();
|
||||
}, []);
|
||||
|
||||
const handleAction = (action: string) => {
|
||||
if (action === 'userInfo') {
|
||||
@@ -485,7 +528,7 @@ export function Header(_props: HeaderProps) {
|
||||
{/* Desktop Navigation - Right */}
|
||||
<nav className="hidden lg:flex items-center space-x-1">
|
||||
{/* 드롭다운 메뉴들 (공용정보) */}
|
||||
{dropdownMenus.map((menu) => (
|
||||
{getDropdownMenus(userLevel, userCode).map((menu) => (
|
||||
<DropdownNavMenu key={menu.label} menu={menu} onAction={handleAction} />
|
||||
))}
|
||||
|
||||
@@ -574,7 +617,7 @@ export function Header(_props: HeaderProps) {
|
||||
<div className="border-t border-white/10 my-2" />
|
||||
|
||||
{/* 우측 드롭다운 메뉴들 (공용정보) */}
|
||||
{dropdownMenus.map((menu) => (
|
||||
{getDropdownMenus(userLevel, userCode).map((menu) => (
|
||||
<MobileDropdownMenu
|
||||
key={menu.label}
|
||||
menu={menu}
|
||||
|
||||
@@ -12,6 +12,7 @@ interface StatusBarProps {
|
||||
export function StatusBar({ userName, userDept, isConnected }: StatusBarProps) {
|
||||
const [currentTime, setCurrentTime] = useState(new Date());
|
||||
const [versionDisplay, setVersionDisplay] = useState('');
|
||||
const [hasNewVersion, setHasNewVersion] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
const timer = setInterval(() => setCurrentTime(new Date()), 1000);
|
||||
@@ -25,6 +26,7 @@ export function StatusBar({ userName, userDept, isConnected }: StatusBarProps) {
|
||||
const result = await comms.getAppVersion();
|
||||
if (result.Success) {
|
||||
setVersionDisplay(result.DisplayVersion);
|
||||
setHasNewVersion(result.HasNewVersion || false);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('버전 정보 로드 오류:', error);
|
||||
@@ -41,8 +43,13 @@ export function StatusBar({ userName, userDept, isConnected }: StatusBarProps) {
|
||||
</div>
|
||||
|
||||
{/* Center: App Version */}
|
||||
<div className="text-white/50">
|
||||
<div className={`font-medium ${hasNewVersion ? 'text-yellow-400 animate-pulse' : 'text-white/50'}`}>
|
||||
{versionDisplay || 'Loading...'}
|
||||
{hasNewVersion && (
|
||||
<span className="ml-2 text-xs bg-yellow-500/20 text-yellow-400 px-2 py-0.5 rounded animate-pulse">
|
||||
업데이트 필요
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Right: Connection Status & Time */}
|
||||
|
||||
293
Project/frontend/src/components/license/LicenseEditDialog.tsx
Normal file
293
Project/frontend/src/components/license/LicenseEditDialog.tsx
Normal file
@@ -0,0 +1,293 @@
|
||||
import { X, Save, Trash2 } from 'lucide-react';
|
||||
import { useState, useEffect } from 'react';
|
||||
import type { LicenseItem } from '@/types';
|
||||
|
||||
interface LicenseEditDialogProps {
|
||||
item: LicenseItem | null;
|
||||
isOpen: boolean;
|
||||
onClose: () => void;
|
||||
onSave: (data: Partial<LicenseItem>) => Promise<void>;
|
||||
onDelete?: (idx: number) => Promise<void>;
|
||||
}
|
||||
|
||||
export function LicenseEditDialog({ item, isOpen, onClose, onSave, onDelete }: LicenseEditDialogProps) {
|
||||
const [formData, setFormData] = useState<Partial<LicenseItem>>({});
|
||||
const [saving, setSaving] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
if (item) {
|
||||
setFormData({
|
||||
idx: item.idx,
|
||||
expire: item.expire || false,
|
||||
name: item.name || '',
|
||||
version: item.version || '',
|
||||
meterialNo: item.meterialNo || '',
|
||||
supply: item.supply || '',
|
||||
qty: item.qty || 1,
|
||||
uids: item.uids || '',
|
||||
serialNo: item.serialNo || '',
|
||||
remark: item.remark || '',
|
||||
sdate: item.sdate ? item.sdate.split('T')[0] : '',
|
||||
edate: item.edate ? item.edate.split('T')[0] : '',
|
||||
manu: item.manu || '',
|
||||
});
|
||||
}
|
||||
}, [item]);
|
||||
|
||||
useEffect(() => {
|
||||
const handleEscape = (e: KeyboardEvent) => {
|
||||
if (e.key === 'Escape' && isOpen) {
|
||||
onClose();
|
||||
}
|
||||
};
|
||||
|
||||
if (isOpen) {
|
||||
document.addEventListener('keydown', handleEscape);
|
||||
return () => document.removeEventListener('keydown', handleEscape);
|
||||
}
|
||||
}, [isOpen, onClose]);
|
||||
|
||||
const handleSave = async () => {
|
||||
if (!formData.name?.trim()) {
|
||||
alert('제품명을 입력해주세요.');
|
||||
return;
|
||||
}
|
||||
|
||||
setSaving(true);
|
||||
try {
|
||||
await onSave(formData);
|
||||
onClose();
|
||||
} catch (error) {
|
||||
console.error('Save failed:', error);
|
||||
alert('저장에 실패했습니다.');
|
||||
} finally {
|
||||
setSaving(false);
|
||||
}
|
||||
};
|
||||
|
||||
const handleDelete = async () => {
|
||||
if (!formData.idx) return;
|
||||
if (!confirm('삭제하시겠습니까?')) return;
|
||||
|
||||
setSaving(true);
|
||||
try {
|
||||
if (onDelete) {
|
||||
await onDelete(formData.idx);
|
||||
}
|
||||
onClose();
|
||||
} catch (error) {
|
||||
console.error('Delete failed:', error);
|
||||
alert('삭제에 실패했습니다.');
|
||||
} finally {
|
||||
setSaving(false);
|
||||
}
|
||||
};
|
||||
|
||||
if (!isOpen) return null;
|
||||
|
||||
return (
|
||||
<div className="fixed inset-0 z-50 flex items-center justify-center bg-black/50" onClick={onClose}>
|
||||
<div className="glass-effect rounded-lg w-full max-w-3xl max-h-[90vh] overflow-y-auto m-4" onClick={(e) => e.stopPropagation()}>
|
||||
{/* Header */}
|
||||
<div className="flex items-center justify-between p-4 border-b border-white/10">
|
||||
<h2 className="text-xl font-semibold text-white">
|
||||
{formData.idx ? '라이선스 수정' : '라이선스 추가'}
|
||||
</h2>
|
||||
<button
|
||||
onClick={onClose}
|
||||
className="text-white/70 hover:text-white transition-colors"
|
||||
>
|
||||
<X className="w-6 h-6" />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{/* Body */}
|
||||
<div className="p-6 space-y-6">
|
||||
{/* 기본 정보 */}
|
||||
<div className="space-y-4">
|
||||
<h3 className="text-sm font-semibold text-white/90 flex items-center space-x-2 border-b border-white/10 pb-2">
|
||||
<span>기본 정보</span>
|
||||
</h3>
|
||||
<div className="grid grid-cols-12 gap-4">
|
||||
<div className="col-span-1 flex items-center">
|
||||
<label className="flex items-center space-x-2 cursor-pointer">
|
||||
<input
|
||||
type="checkbox"
|
||||
checked={formData.expire || false}
|
||||
onChange={(e) => setFormData({ ...formData, expire: e.target.checked })}
|
||||
className="w-4 h-4"
|
||||
/>
|
||||
<span className="text-sm text-white/70">만료</span>
|
||||
</label>
|
||||
</div>
|
||||
<div className="col-span-5">
|
||||
<label className="block text-sm text-white/70 mb-1">제품명 *</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.name || ''}
|
||||
onChange={(e) => setFormData({ ...formData, name: e.target.value })}
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded text-white focus:outline-none focus:border-blue-500"
|
||||
/>
|
||||
</div>
|
||||
<div className="col-span-3">
|
||||
<label className="block text-sm text-white/70 mb-1">버전</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.version || ''}
|
||||
onChange={(e) => setFormData({ ...formData, version: e.target.value })}
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded text-white focus:outline-none focus:border-blue-500"
|
||||
/>
|
||||
</div>
|
||||
<div className="col-span-3">
|
||||
<label className="block text-sm text-white/70 mb-1">자재번호</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.meterialNo || ''}
|
||||
onChange={(e) => setFormData({ ...formData, meterialNo: e.target.value })}
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded text-white focus:outline-none focus:border-blue-500"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 공급 정보 */}
|
||||
<div className="space-y-4">
|
||||
<h3 className="text-sm font-semibold text-white/90 flex items-center space-x-2 border-b border-white/10 pb-2">
|
||||
<span>공급 정보</span>
|
||||
</h3>
|
||||
<div className="grid grid-cols-2 gap-4">
|
||||
<div>
|
||||
<label className="block text-sm text-white/70 mb-1">공급업체</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.supply || ''}
|
||||
onChange={(e) => setFormData({ ...formData, supply: e.target.value })}
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded text-white focus:outline-none focus:border-blue-500"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label className="block text-sm text-white/70 mb-1">제조사</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.manu || ''}
|
||||
onChange={(e) => setFormData({ ...formData, manu: e.target.value })}
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded text-white focus:outline-none focus:border-blue-500"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 사용 정보 */}
|
||||
<div className="space-y-4">
|
||||
<h3 className="text-sm font-semibold text-white/90 flex items-center space-x-2 border-b border-white/10 pb-2">
|
||||
<span>사용 정보</span>
|
||||
</h3>
|
||||
<div className="grid grid-cols-12 gap-4">
|
||||
<div className="col-span-2">
|
||||
<label className="block text-sm text-white/70 mb-1">수량</label>
|
||||
<input
|
||||
type="number"
|
||||
value={formData.qty || 1}
|
||||
onChange={(e) => setFormData({ ...formData, qty: parseInt(e.target.value) || 1 })}
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded text-white focus:outline-none focus:border-blue-500"
|
||||
/>
|
||||
</div>
|
||||
<div className="col-span-4">
|
||||
<label className="block text-sm text-white/70 mb-1">사용자</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.uids || ''}
|
||||
onChange={(e) => setFormData({ ...formData, uids: e.target.value })}
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded text-white focus:outline-none focus:border-blue-500"
|
||||
/>
|
||||
</div>
|
||||
<div className="col-span-6">
|
||||
<label className="block text-sm text-white/70 mb-1">S/N</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.serialNo || ''}
|
||||
onChange={(e) => setFormData({ ...formData, serialNo: e.target.value })}
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded text-white focus:outline-none focus:border-blue-500"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 기간 정보 */}
|
||||
<div className="space-y-4">
|
||||
<h3 className="text-sm font-semibold text-white/90 flex items-center space-x-2 border-b border-white/10 pb-2">
|
||||
<span>기간 정보</span>
|
||||
</h3>
|
||||
<div className="grid grid-cols-2 gap-4">
|
||||
<div>
|
||||
<label className="block text-sm text-white/70 mb-1">시작일</label>
|
||||
<input
|
||||
type="date"
|
||||
value={formData.sdate || ''}
|
||||
onChange={(e) => setFormData({ ...formData, sdate: e.target.value })}
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded text-white focus:outline-none focus:border-blue-500"
|
||||
/>
|
||||
</div>
|
||||
<div>
|
||||
<label className="block text-sm text-white/70 mb-1">종료일</label>
|
||||
<input
|
||||
type="date"
|
||||
value={formData.edate || ''}
|
||||
onChange={(e) => setFormData({ ...formData, edate: e.target.value })}
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded text-white focus:outline-none focus:border-blue-500"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 비고 */}
|
||||
<div className="space-y-4">
|
||||
<h3 className="text-sm font-semibold text-white/90 flex items-center space-x-2 border-b border-white/10 pb-2">
|
||||
<span>비고</span>
|
||||
</h3>
|
||||
<textarea
|
||||
value={formData.remark || ''}
|
||||
onChange={(e) => setFormData({ ...formData, remark: e.target.value })}
|
||||
rows={3}
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded text-white focus:outline-none focus:border-blue-500 resize-none"
|
||||
placeholder="추가 메모를 입력하세요..."
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Footer */}
|
||||
<div className="flex items-center justify-between p-4 border-t border-white/10">
|
||||
<div>
|
||||
{formData.idx && onDelete && (
|
||||
<button
|
||||
onClick={handleDelete}
|
||||
disabled={saving}
|
||||
className="flex items-center space-x-2 px-4 py-2 bg-red-500 hover:bg-red-600 disabled:bg-gray-600 text-white rounded-lg transition-colors"
|
||||
>
|
||||
<Trash2 className="w-4 h-4" />
|
||||
<span>삭제</span>
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
<div className="flex items-center space-x-2">
|
||||
<button
|
||||
onClick={onClose}
|
||||
disabled={saving}
|
||||
className="px-4 py-2 bg-gray-600 hover:bg-gray-700 disabled:bg-gray-800 text-white rounded-lg transition-colors"
|
||||
>
|
||||
취소
|
||||
</button>
|
||||
<button
|
||||
onClick={handleSave}
|
||||
disabled={saving}
|
||||
className="flex items-center space-x-2 px-4 py-2 bg-blue-500 hover:bg-blue-600 disabled:bg-gray-600 text-white rounded-lg transition-colors"
|
||||
>
|
||||
<Save className="w-4 h-4" />
|
||||
<span>{saving ? '저장 중...' : '저장'}</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
387
Project/frontend/src/components/license/LicenseList.tsx
Normal file
387
Project/frontend/src/components/license/LicenseList.tsx
Normal file
@@ -0,0 +1,387 @@
|
||||
import { useState, useEffect } from 'react';
|
||||
import {
|
||||
Plus,
|
||||
FolderOpen,
|
||||
Download,
|
||||
Search,
|
||||
X,
|
||||
ChevronLeft,
|
||||
ChevronRight,
|
||||
CheckCircle,
|
||||
XCircle,
|
||||
} from 'lucide-react';
|
||||
import { comms } from '@/communication';
|
||||
import { LicenseEditDialog } from './LicenseEditDialog';
|
||||
import type { LicenseItem } from '@/types';
|
||||
|
||||
export function LicenseList() {
|
||||
const [list, setList] = useState<LicenseItem[]>([]);
|
||||
const [filteredList, setFilteredList] = useState<LicenseItem[]>([]);
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [searchText, setSearchText] = useState('');
|
||||
const [selectedItem, setSelectedItem] = useState<LicenseItem | null>(null);
|
||||
const [isDialogOpen, setIsDialogOpen] = useState(false);
|
||||
|
||||
// Pagination
|
||||
const [currentPage, setCurrentPage] = useState(1);
|
||||
const pageSize = 25;
|
||||
|
||||
useEffect(() => {
|
||||
loadData();
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
applyFilter();
|
||||
}, [searchText, list]);
|
||||
|
||||
const loadData = async () => {
|
||||
setLoading(true);
|
||||
try {
|
||||
const response = await comms.getLicenseList();
|
||||
if (response.Success && response.Data) {
|
||||
setList(response.Data);
|
||||
} else {
|
||||
alert(response.Message || '라이선스 목록을 불러오는데 실패했습니다.');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to load license list:', error);
|
||||
alert('라이선스 목록을 불러오는데 실패했습니다.');
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
};
|
||||
|
||||
const applyFilter = () => {
|
||||
if (!searchText.trim()) {
|
||||
setFilteredList(list);
|
||||
return;
|
||||
}
|
||||
|
||||
const search = searchText.toLowerCase();
|
||||
const filtered = list.filter((item) => {
|
||||
return (
|
||||
item.name?.toLowerCase().includes(search) ||
|
||||
item.version?.toLowerCase().includes(search) ||
|
||||
item.supply?.toLowerCase().includes(search) ||
|
||||
item.manu?.toLowerCase().includes(search) ||
|
||||
item.serialNo?.toLowerCase().includes(search) ||
|
||||
item.meterialNo?.toLowerCase().includes(search) ||
|
||||
item.remark?.toLowerCase().includes(search)
|
||||
);
|
||||
});
|
||||
setFilteredList(filtered);
|
||||
setCurrentPage(1);
|
||||
};
|
||||
|
||||
const handleAdd = () => {
|
||||
setSelectedItem({
|
||||
expire: false,
|
||||
name: '',
|
||||
version: '',
|
||||
meterialNo: '',
|
||||
supply: '',
|
||||
qty: 1,
|
||||
uids: '',
|
||||
serialNo: '',
|
||||
remark: '',
|
||||
sdate: new Date().toISOString().split('T')[0],
|
||||
edate: '',
|
||||
manu: '',
|
||||
});
|
||||
setIsDialogOpen(true);
|
||||
};
|
||||
|
||||
const handleRowClick = (item: LicenseItem) => {
|
||||
setSelectedItem(item);
|
||||
setIsDialogOpen(true);
|
||||
};
|
||||
|
||||
const handleSave = async (formData: Partial<LicenseItem>) => {
|
||||
if (!formData.name?.trim()) {
|
||||
alert('제품명을 입력해주세요.');
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
setLoading(true);
|
||||
let response;
|
||||
|
||||
if (formData.idx) {
|
||||
// Update
|
||||
response = await comms.updateLicense(
|
||||
formData.idx,
|
||||
formData.name!,
|
||||
formData.version || '',
|
||||
formData.meterialNo || '',
|
||||
formData.supply || '',
|
||||
formData.qty || 1,
|
||||
formData.uids || '',
|
||||
formData.serialNo || '',
|
||||
formData.remark || '',
|
||||
formData.sdate || '',
|
||||
formData.edate || '',
|
||||
formData.manu || '',
|
||||
formData.expire || false
|
||||
);
|
||||
} else {
|
||||
// Add
|
||||
response = await comms.addLicense(
|
||||
formData.name!,
|
||||
formData.version || '',
|
||||
formData.meterialNo || '',
|
||||
formData.supply || '',
|
||||
formData.qty || 1,
|
||||
formData.uids || '',
|
||||
formData.serialNo || '',
|
||||
formData.remark || '',
|
||||
formData.sdate || '',
|
||||
formData.edate || '',
|
||||
formData.manu || '',
|
||||
formData.expire || false
|
||||
);
|
||||
}
|
||||
|
||||
if (response.Success) {
|
||||
alert(response.Message || '저장되었습니다.');
|
||||
await loadData();
|
||||
} else {
|
||||
alert(response.Message || '저장에 실패했습니다.');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to save license:', error);
|
||||
alert('저장에 실패했습니다.');
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
};
|
||||
|
||||
const handleDelete = async (idx: number) => {
|
||||
try {
|
||||
setLoading(true);
|
||||
const response = await comms.deleteLicense(idx);
|
||||
if (response.Success) {
|
||||
alert(response.Message || '삭제되었습니다.');
|
||||
await loadData();
|
||||
} else {
|
||||
alert(response.Message || '삭제에 실패했습니다.');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to delete license:', error);
|
||||
alert('삭제에 실패했습니다.');
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
};
|
||||
|
||||
const handleOpenFolder = async (item: LicenseItem, e: React.MouseEvent) => {
|
||||
e.stopPropagation();
|
||||
if (!item.idx) {
|
||||
alert('저장된 자료만 폴더를 열 수 있습니다.');
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await comms.openLicenseFolder(item.idx);
|
||||
if (!response.Success) {
|
||||
alert(response.Message || '폴더 열기에 실패했습니다.');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to open folder:', error);
|
||||
alert('폴더 열기에 실패했습니다.');
|
||||
}
|
||||
};
|
||||
|
||||
const handleExportCSV = async () => {
|
||||
const filename = `license_${new Date().toISOString().split('T')[0]}.csv`;
|
||||
const filepath = `C:\\Temp\\${filename}`;
|
||||
|
||||
try {
|
||||
const response = await comms.exportLicenseCSV(filepath);
|
||||
if (response.Success) {
|
||||
alert(`CSV 파일이 생성되었습니다.\n\n${filepath}`);
|
||||
} else {
|
||||
alert(response.Message || 'CSV 내보내기에 실패했습니다.');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Failed to export CSV:', error);
|
||||
alert('CSV 내보내기에 실패했습니다.');
|
||||
}
|
||||
};
|
||||
|
||||
const handleCloseDialog = () => {
|
||||
setIsDialogOpen(false);
|
||||
setSelectedItem(null);
|
||||
};
|
||||
|
||||
// Pagination
|
||||
const totalPages = Math.ceil(filteredList.length / pageSize);
|
||||
const paginatedList = filteredList.slice(
|
||||
(currentPage - 1) * pageSize,
|
||||
currentPage * pageSize
|
||||
);
|
||||
|
||||
const goToPreviousPage = () => {
|
||||
setCurrentPage((prev) => Math.max(1, prev - 1));
|
||||
};
|
||||
|
||||
const goToNextPage = () => {
|
||||
setCurrentPage((prev) => Math.min(totalPages, prev + 1));
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="p-6 space-y-4">
|
||||
{/* Header */}
|
||||
<div className="flex items-center justify-between">
|
||||
<h1 className="text-2xl font-bold text-white">라이선스 관리</h1>
|
||||
<div className="flex items-center space-x-2">
|
||||
<button
|
||||
onClick={handleAdd}
|
||||
disabled={loading}
|
||||
className="flex items-center space-x-2 px-4 py-2 bg-blue-500 hover:bg-blue-600 disabled:bg-gray-600 text-white rounded-lg transition-colors"
|
||||
>
|
||||
<Plus className="w-4 h-4" />
|
||||
<span>추가</span>
|
||||
</button>
|
||||
<button
|
||||
onClick={handleExportCSV}
|
||||
disabled={loading}
|
||||
className="flex items-center space-x-2 px-4 py-2 bg-green-500 hover:bg-green-600 disabled:bg-gray-600 text-white rounded-lg transition-colors"
|
||||
>
|
||||
<Download className="w-4 h-4" />
|
||||
<span>CSV</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Search */}
|
||||
<div className="flex items-center space-x-2">
|
||||
<div className="flex-1 relative">
|
||||
<Search className="absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-white/50" />
|
||||
<input
|
||||
type="text"
|
||||
value={searchText}
|
||||
onChange={(e) => setSearchText(e.target.value)}
|
||||
placeholder="검색 (제품명, 버전, 공급업체, 제조사, S/N, 자재번호, 비고)"
|
||||
className="w-full pl-10 pr-10 py-2 bg-white/10 border border-white/20 rounded-lg text-white placeholder-white/50 focus:outline-none focus:border-blue-500"
|
||||
/>
|
||||
{searchText && (
|
||||
<button
|
||||
onClick={() => setSearchText('')}
|
||||
className="absolute right-3 top-1/2 -translate-y-1/2 text-white/50 hover:text-white"
|
||||
>
|
||||
<X className="w-4 h-4" />
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Table */}
|
||||
<div className="glass-effect rounded-lg overflow-hidden">
|
||||
<div className="overflow-x-auto">
|
||||
<table className="w-full border-collapse">
|
||||
<thead className="bg-white/10">
|
||||
<tr>
|
||||
<th className="px-4 py-3 text-center text-sm font-semibold text-white border-r border-white/10 w-16">상태</th>
|
||||
<th className="px-4 py-3 text-left text-sm font-semibold text-white border-r border-white/10" style={{ width: '25%' }}>제품명</th>
|
||||
<th className="px-4 py-3 text-left text-sm font-semibold text-white border-r border-white/10" style={{ width: '25%' }}>버전</th>
|
||||
<th className="px-4 py-3 text-left text-sm font-semibold text-white border-r border-white/10 w-20">수량</th>
|
||||
<th className="px-4 py-3 text-left text-sm font-semibold text-white border-r border-white/10" style={{ width: '12%' }}>사용자</th>
|
||||
<th className="px-4 py-3 text-left text-sm font-semibold text-white" style={{ width: '15%' }}>S/N</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{loading && (
|
||||
<tr>
|
||||
<td colSpan={6} className="px-4 py-8 text-center text-white/70">
|
||||
로딩 중...
|
||||
</td>
|
||||
</tr>
|
||||
)}
|
||||
{!loading && paginatedList.length === 0 && (
|
||||
<tr>
|
||||
<td colSpan={6} className="px-4 py-8 text-center text-white/70">
|
||||
데이터가 없습니다.
|
||||
</td>
|
||||
</tr>
|
||||
)}
|
||||
{!loading &&
|
||||
paginatedList.map((item) => (
|
||||
<tr
|
||||
key={item.idx}
|
||||
onClick={() => handleRowClick(item)}
|
||||
className={`border-t border-white/10 hover:bg-white/10 cursor-pointer transition-colors ${
|
||||
item.expire ? 'bg-red-500/10' : ''
|
||||
}`}
|
||||
>
|
||||
<td className="px-4 py-3 text-center border-r border-white/10">
|
||||
<div className="flex justify-center" title={item.expire ? '만료' : '유효'}>
|
||||
{item.expire ? (
|
||||
<XCircle className="w-5 h-5 text-red-500" />
|
||||
) : (
|
||||
<CheckCircle className="w-5 h-5 text-green-500" />
|
||||
)}
|
||||
</div>
|
||||
</td>
|
||||
<td className="px-4 py-3 text-sm text-white border-r border-white/10 max-w-xs">
|
||||
<div className="flex items-center space-x-2">
|
||||
<button
|
||||
onClick={(e) => handleOpenFolder(item, e)}
|
||||
className="p-1 text-yellow-400 hover:text-yellow-300 transition-colors flex-shrink-0"
|
||||
title="폴더 열기"
|
||||
>
|
||||
<FolderOpen className="w-4 h-4" />
|
||||
</button>
|
||||
<span className="break-words">{item.name}</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="px-4 py-3 text-sm text-white border-r border-white/10 break-words">{item.version}</td>
|
||||
<td className="px-4 py-3 text-sm text-white border-r border-white/10">{item.qty}</td>
|
||||
<td className="px-4 py-3 text-sm text-white border-r border-white/10 break-words max-w-[8rem]">{item.uids}</td>
|
||||
<td className="px-4 py-3 text-sm text-white break-words">{item.serialNo}</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{/* Pagination */}
|
||||
{totalPages > 1 && (
|
||||
<div className="flex items-center justify-between px-4 py-3 border-t border-white/10">
|
||||
<div className="text-sm text-white/70">
|
||||
전체 {filteredList.length}건 중 {(currentPage - 1) * pageSize + 1}~
|
||||
{Math.min(currentPage * pageSize, filteredList.length)}건
|
||||
</div>
|
||||
<div className="flex items-center space-x-2">
|
||||
<button
|
||||
onClick={goToPreviousPage}
|
||||
disabled={currentPage === 1}
|
||||
className="p-2 text-white/70 hover:text-white disabled:text-white/30 disabled:cursor-not-allowed"
|
||||
>
|
||||
<ChevronLeft className="w-5 h-5" />
|
||||
</button>
|
||||
<span className="text-sm text-white">
|
||||
{currentPage} / {totalPages}
|
||||
</span>
|
||||
<button
|
||||
onClick={goToNextPage}
|
||||
disabled={currentPage === totalPages}
|
||||
className="p-2 text-white/70 hover:text-white disabled:text-white/30 disabled:cursor-not-allowed"
|
||||
>
|
||||
<ChevronRight className="w-5 h-5" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Edit Dialog */}
|
||||
<LicenseEditDialog
|
||||
item={selectedItem}
|
||||
isOpen={isDialogOpen}
|
||||
onClose={handleCloseDialog}
|
||||
onSave={handleSave}
|
||||
onDelete={handleDelete}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
304
Project/frontend/src/components/mail/MailTestDialog.tsx
Normal file
304
Project/frontend/src/components/mail/MailTestDialog.tsx
Normal file
@@ -0,0 +1,304 @@
|
||||
import { useState, useEffect } from 'react';
|
||||
import { X, Mail, Send } from 'lucide-react';
|
||||
import { comms } from '@/communication';
|
||||
|
||||
interface MailTestDialogProps {
|
||||
isOpen: boolean;
|
||||
onClose: () => void;
|
||||
}
|
||||
|
||||
export function MailTestDialog({ isOpen, onClose }: MailTestDialogProps) {
|
||||
const [formData, setFormData] = useState({
|
||||
cate: '테스트',
|
||||
subject: '',
|
||||
fromlist: '',
|
||||
tolist: '',
|
||||
cc: '',
|
||||
bcc: '',
|
||||
body: '',
|
||||
});
|
||||
const [processing, setProcessing] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
const loadUserEmail = async () => {
|
||||
try {
|
||||
const response = await comms.checkLoginStatus();
|
||||
if (response.Success && response.IsLoggedIn && response.User) {
|
||||
const user = response.User as { Email?: string };
|
||||
if (user.Email) {
|
||||
setFormData(prev => ({ ...prev, fromlist: user.Email || '' }));
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('사용자 정보 로드 오류:', error);
|
||||
}
|
||||
};
|
||||
|
||||
if (isOpen) {
|
||||
loadUserEmail();
|
||||
}
|
||||
}, [isOpen]);
|
||||
|
||||
useEffect(() => {
|
||||
const handleEscape = (e: KeyboardEvent) => {
|
||||
if (e.key === 'Escape' && isOpen) {
|
||||
onClose();
|
||||
}
|
||||
};
|
||||
|
||||
if (isOpen) {
|
||||
window.addEventListener('keydown', handleEscape);
|
||||
return () => window.removeEventListener('keydown', handleEscape);
|
||||
}
|
||||
}, [isOpen, onClose]);
|
||||
|
||||
const handleSubmit = async (mode: 'queue' | 'direct' | 'outlook' = 'queue') => {
|
||||
if (!formData.subject.trim()) {
|
||||
alert('제목을 입력해주세요.');
|
||||
return;
|
||||
}
|
||||
if (!formData.tolist.trim()) {
|
||||
alert('수신자를 입력해주세요.');
|
||||
return;
|
||||
}
|
||||
if (!formData.body.trim()) {
|
||||
alert('내용을 입력해주세요.');
|
||||
return;
|
||||
}
|
||||
|
||||
setProcessing(true);
|
||||
try {
|
||||
let response;
|
||||
if (mode === 'outlook') {
|
||||
// Outlook 미리보기
|
||||
response = await comms.sendMailOutlook(
|
||||
formData.subject,
|
||||
formData.tolist,
|
||||
formData.cc,
|
||||
formData.bcc,
|
||||
formData.body
|
||||
);
|
||||
} else if (mode === 'direct') {
|
||||
// 직접 발송
|
||||
response = await comms.sendMailDirect(
|
||||
formData.cate,
|
||||
formData.subject,
|
||||
formData.fromlist,
|
||||
formData.tolist,
|
||||
formData.cc,
|
||||
formData.bcc,
|
||||
formData.body
|
||||
);
|
||||
} else {
|
||||
// 발송 대기열에 추가
|
||||
response = await comms.addMailData(
|
||||
formData.cate,
|
||||
formData.subject,
|
||||
formData.fromlist,
|
||||
formData.tolist,
|
||||
formData.cc,
|
||||
formData.bcc,
|
||||
formData.body
|
||||
);
|
||||
}
|
||||
|
||||
if (response.Success) {
|
||||
alert(response.Message || '처리되었습니다.');
|
||||
if (mode !== 'outlook') {
|
||||
onClose();
|
||||
// 폼 초기화
|
||||
setFormData({
|
||||
cate: '테스트',
|
||||
subject: '',
|
||||
fromlist: formData.fromlist, // 발신자는 유지
|
||||
tolist: '',
|
||||
cc: '',
|
||||
bcc: '',
|
||||
body: '',
|
||||
});
|
||||
}
|
||||
} else {
|
||||
alert(response.Message || '메일 처리에 실패했습니다.');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('메일 처리 오류:', error);
|
||||
alert('메일 처리 중 오류가 발생했습니다.');
|
||||
} finally {
|
||||
setProcessing(false);
|
||||
}
|
||||
};
|
||||
|
||||
if (!isOpen) return null;
|
||||
|
||||
return (
|
||||
<div className="fixed inset-0 z-[10000] flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm">
|
||||
<div className="relative w-full max-w-3xl glass-effect-solid rounded-2xl shadow-2xl overflow-hidden">
|
||||
{/* Header */}
|
||||
<div className="flex items-center justify-between px-6 py-4 border-b border-white/10">
|
||||
<div className="flex items-center gap-3">
|
||||
<Mail className="w-5 h-5 text-primary-400" />
|
||||
<h2 className="text-lg font-semibold text-white">메일 테스트</h2>
|
||||
</div>
|
||||
<button
|
||||
onClick={onClose}
|
||||
className="p-2 rounded-lg text-white/60 hover:text-white hover:bg-white/10 transition-colors"
|
||||
>
|
||||
<X className="w-5 h-5" />
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{/* Content */}
|
||||
<div className="p-6 space-y-4 max-h-[70vh] overflow-y-auto">
|
||||
{/* 분류 */}
|
||||
<div>
|
||||
<label className="block text-white/80 text-sm font-medium mb-2">분류</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.cate}
|
||||
onChange={(e) => setFormData({ ...formData, cate: e.target.value })}
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded-lg text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* 제목 */}
|
||||
<div>
|
||||
<label className="block text-white/80 text-sm font-medium mb-2">제목 *</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.subject}
|
||||
onChange={(e) => setFormData({ ...formData, subject: e.target.value })}
|
||||
placeholder="메일 제목을 입력하세요"
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded-lg text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* 발신자 */}
|
||||
<div>
|
||||
<label className="block text-white/80 text-sm font-medium mb-2">발신자</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.fromlist}
|
||||
onChange={(e) => setFormData({ ...formData, fromlist: e.target.value })}
|
||||
placeholder="발신자 이메일 (쉼표로 구분)"
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded-lg text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* 수신자 */}
|
||||
<div>
|
||||
<label className="block text-white/80 text-sm font-medium mb-2">수신자 *</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.tolist}
|
||||
onChange={(e) => setFormData({ ...formData, tolist: e.target.value })}
|
||||
placeholder="수신자 이메일 (쉼표로 구분)"
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded-lg text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* 참조 */}
|
||||
<div>
|
||||
<label className="block text-white/80 text-sm font-medium mb-2">참조 (CC)</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.cc}
|
||||
onChange={(e) => setFormData({ ...formData, cc: e.target.value })}
|
||||
placeholder="참조 이메일 (쉼표로 구분)"
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded-lg text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* 숨은참조 */}
|
||||
<div>
|
||||
<label className="block text-white/80 text-sm font-medium mb-2">숨은참조 (BCC)</label>
|
||||
<input
|
||||
type="text"
|
||||
value={formData.bcc}
|
||||
onChange={(e) => setFormData({ ...formData, bcc: e.target.value })}
|
||||
placeholder="숨은참조 이메일 (쉼표로 구분)"
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded-lg text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* 내용 */}
|
||||
<div>
|
||||
<label className="block text-white/80 text-sm font-medium mb-2">내용 *</label>
|
||||
<textarea
|
||||
value={formData.body}
|
||||
onChange={(e) => setFormData({ ...formData, body: e.target.value })}
|
||||
placeholder="메일 내용을 입력하세요 (HTML 가능)"
|
||||
rows={8}
|
||||
className="w-full px-3 py-2 bg-white/10 border border-white/20 rounded-lg text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400 resize-none"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="text-white/50 text-xs">
|
||||
* 메일은 발송 대기열에 추가됩니다. 실제 발송은 메일 서비스가 처리합니다.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Footer */}
|
||||
<div className="flex items-center justify-end gap-2 px-6 py-4 border-t border-white/10 bg-black/20">
|
||||
<button
|
||||
onClick={onClose}
|
||||
disabled={processing}
|
||||
className="px-4 py-2 rounded-lg bg-white/10 hover:bg-white/20 text-white transition-colors disabled:opacity-50"
|
||||
>
|
||||
취소
|
||||
</button>
|
||||
<button
|
||||
onClick={() => handleSubmit('queue')}
|
||||
disabled={processing}
|
||||
className="px-4 py-2 rounded-lg bg-blue-500 hover:bg-blue-600 text-white transition-colors flex items-center gap-2 disabled:opacity-50"
|
||||
>
|
||||
{processing ? (
|
||||
<>
|
||||
<div className="w-4 h-4 border-2 border-white/30 border-t-white rounded-full animate-spin" />
|
||||
처리중...
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<Mail className="w-4 h-4" />
|
||||
대기열 추가
|
||||
</>
|
||||
)}
|
||||
</button>
|
||||
<button
|
||||
onClick={() => handleSubmit('direct')}
|
||||
disabled={processing}
|
||||
className="px-4 py-2 rounded-lg bg-green-500 hover:bg-green-600 text-white transition-colors flex items-center gap-2 disabled:opacity-50"
|
||||
>
|
||||
{processing ? (
|
||||
<>
|
||||
<div className="w-4 h-4 border-2 border-white/30 border-t-white rounded-full animate-spin" />
|
||||
처리중...
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<Send className="w-4 h-4" />
|
||||
즉시 발송
|
||||
</>
|
||||
)}
|
||||
</button>
|
||||
<button
|
||||
onClick={() => handleSubmit('outlook')}
|
||||
disabled={processing}
|
||||
className="px-4 py-2 rounded-lg bg-orange-500 hover:bg-orange-600 text-white transition-colors flex items-center gap-2 disabled:opacity-50"
|
||||
>
|
||||
{processing ? (
|
||||
<>
|
||||
<div className="w-4 h-4 border-2 border-white/30 border-t-white rounded-full animate-spin" />
|
||||
처리중...
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<Mail className="w-4 h-4" />
|
||||
Outlook
|
||||
</>
|
||||
)}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
519
Project/frontend/src/components/project/PartListDialog.tsx
Normal file
519
Project/frontend/src/components/project/PartListDialog.tsx
Normal file
@@ -0,0 +1,519 @@
|
||||
import { useState, useEffect } from 'react';
|
||||
import { X, Save, Trash2, Plus, RefreshCw } from 'lucide-react';
|
||||
import { comms } from '@/communication';
|
||||
import { PartListItem } from '@/types';
|
||||
|
||||
interface PartListDialogProps {
|
||||
projectIdx: number;
|
||||
projectName: string;
|
||||
onClose: () => void;
|
||||
}
|
||||
|
||||
export function PartListDialog({ projectIdx, projectName, onClose }: PartListDialogProps) {
|
||||
const [parts, setParts] = useState<PartListItem[]>([]);
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [editingIdx, setEditingIdx] = useState<number | null>(null);
|
||||
const [editForm, setEditForm] = useState<Partial<PartListItem>>({});
|
||||
|
||||
// ESC 키 핸들러
|
||||
useEffect(() => {
|
||||
const handleKeyDown = (e: KeyboardEvent) => {
|
||||
if (e.key === 'Escape') {
|
||||
if (editingIdx !== null) {
|
||||
setEditingIdx(null);
|
||||
setEditForm({});
|
||||
} else {
|
||||
onClose();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('keydown', handleKeyDown);
|
||||
return () => window.removeEventListener('keydown', handleKeyDown);
|
||||
}, [editingIdx, onClose]);
|
||||
|
||||
// 데이터 로드
|
||||
const loadParts = async () => {
|
||||
setLoading(true);
|
||||
try {
|
||||
console.log('[PartList] 로드 시작, projectIdx:', projectIdx);
|
||||
const result = await comms.getPartList(projectIdx);
|
||||
console.log('[PartList] 결과:', result);
|
||||
if (result.Success && result.Data) {
|
||||
console.log('[PartList] 데이터 개수:', result.Data.length);
|
||||
setParts(result.Data);
|
||||
} else {
|
||||
console.error('[PartList] 실패:', result.Message);
|
||||
alert(result.Message || '파트리스트 로드 실패');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('파트리스트 로드 실패:', error);
|
||||
alert('파트리스트 로드 중 오류: ' + error);
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
loadParts();
|
||||
}, [projectIdx]);
|
||||
|
||||
// 편집 시작
|
||||
const startEdit = (part: PartListItem) => {
|
||||
setEditingIdx(part.idx);
|
||||
setEditForm({ ...part });
|
||||
};
|
||||
|
||||
// 편집 취소
|
||||
const cancelEdit = () => {
|
||||
setEditingIdx(null);
|
||||
setEditForm({});
|
||||
};
|
||||
|
||||
// 저장
|
||||
const handleSave = async () => {
|
||||
if (!editForm.itemname || !editForm.item) {
|
||||
alert('품명과 자재번호는 필수입니다.');
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const result = await comms.savePartList(
|
||||
editingIdx || 0,
|
||||
projectIdx,
|
||||
editForm.itemgroup || '',
|
||||
editForm.itemname || '',
|
||||
editForm.item || '',
|
||||
editForm.itemmodel || '',
|
||||
editForm.itemscale || '',
|
||||
editForm.itemunit || '',
|
||||
editForm.qty || 0,
|
||||
editForm.price || 0,
|
||||
editForm.itemsupply || '',
|
||||
editForm.itemsupplyidx || 0,
|
||||
editForm.itemmanu || '',
|
||||
editForm.itemsid || '',
|
||||
editForm.option1 || '',
|
||||
editForm.remark || '',
|
||||
editForm.no || 0,
|
||||
editForm.qtybuy || 0
|
||||
);
|
||||
|
||||
if (result.Success) {
|
||||
await loadParts();
|
||||
cancelEdit();
|
||||
} else {
|
||||
alert(result.Message || '저장 실패');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('저장 실패:', error);
|
||||
alert('저장 중 오류가 발생했습니다.');
|
||||
}
|
||||
};
|
||||
|
||||
// 삭제
|
||||
const handleDelete = async (idx: number) => {
|
||||
if (!confirm('정말 삭제하시겠습니까?')) return;
|
||||
|
||||
try {
|
||||
const result = await comms.deletePartList(idx);
|
||||
if (result.Success) {
|
||||
await loadParts();
|
||||
} else {
|
||||
alert(result.Message || '삭제 실패');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('삭제 실패:', error);
|
||||
alert('삭제 중 오류가 발생했습니다.');
|
||||
}
|
||||
};
|
||||
|
||||
// 새 항목 추가
|
||||
const addNew = () => {
|
||||
setEditingIdx(-1);
|
||||
setEditForm({
|
||||
Project: projectIdx,
|
||||
itemgroup: '',
|
||||
itemname: '',
|
||||
item: '',
|
||||
itemmodel: '',
|
||||
itemscale: '',
|
||||
itemunit: 'EA',
|
||||
qty: 1,
|
||||
price: 0,
|
||||
itemsupply: '',
|
||||
itemsupplyidx: 0,
|
||||
itemmanu: '',
|
||||
itemsid: '',
|
||||
option1: '',
|
||||
remark: '',
|
||||
no: 0,
|
||||
qtybuy: 0,
|
||||
});
|
||||
};
|
||||
|
||||
// 금액 계산
|
||||
const getAmount = (qty: number, price: number) => qty * price;
|
||||
|
||||
return (
|
||||
<div className="fixed inset-0 bg-black/70 flex items-center justify-center z-50 p-4">
|
||||
<div className="bg-slate-800/95 backdrop-blur rounded-lg w-full max-w-7xl max-h-[90vh] flex flex-col shadow-2xl border border-white/10">
|
||||
{/* 헤더 */}
|
||||
<div className="flex items-center justify-between p-4 border-b border-white/10 bg-primary-600/30 sticky top-0 z-10">
|
||||
<div>
|
||||
<h2 className="text-lg font-bold text-white">파트리스트</h2>
|
||||
<p className="text-sm text-white/60">{projectName}</p>
|
||||
</div>
|
||||
<div className="flex items-center gap-2">
|
||||
<button
|
||||
onClick={addNew}
|
||||
className="flex items-center gap-2 px-3 py-1.5 bg-primary-600 hover:bg-primary-500 text-white rounded transition-colors"
|
||||
>
|
||||
<Plus className="w-4 h-4" />
|
||||
<span className="text-sm">추가</span>
|
||||
</button>
|
||||
<button
|
||||
onClick={loadParts}
|
||||
disabled={loading}
|
||||
className="p-2 hover:bg-white/10 rounded transition-colors disabled:opacity-50"
|
||||
title="새로고침"
|
||||
>
|
||||
<RefreshCw className={`w-5 h-5 text-white/70 ${loading ? 'animate-spin' : ''}`} />
|
||||
</button>
|
||||
<button
|
||||
onClick={onClose}
|
||||
className="p-2 hover:bg-white/10 rounded transition-colors"
|
||||
>
|
||||
<X className="w-5 h-5 text-white/70" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 테이블 */}
|
||||
<div className="flex-1 overflow-auto p-4">
|
||||
{loading && parts.length === 0 ? (
|
||||
<div className="flex items-center justify-center h-64">
|
||||
<RefreshCw className="w-8 h-8 text-primary-500 animate-spin" />
|
||||
</div>
|
||||
) : (
|
||||
<table className="w-full border-collapse">
|
||||
<thead className="sticky top-0 bg-slate-700/50 backdrop-blur z-10">
|
||||
<tr className="border-b border-white/10">
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium w-12">No</th>
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium w-24">그룹</th>
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium">품명</th>
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium w-32">모델</th>
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium w-32">규격</th>
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium w-16">단위</th>
|
||||
<th className="px-2 py-2 text-right text-xs text-white/70 font-medium w-20">수량</th>
|
||||
<th className="px-2 py-2 text-right text-xs text-white/70 font-medium w-28">단가</th>
|
||||
<th className="px-2 py-2 text-right text-xs text-white/70 font-medium w-32">금액</th>
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium w-32">공급처</th>
|
||||
<th className="px-2 py-2 text-center text-xs text-white/70 font-medium w-20">작업</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{parts.length === 0 && !loading ? (
|
||||
<tr>
|
||||
<td colSpan={11} className="px-2 py-8 text-center text-white/40 text-sm">
|
||||
등록된 파트가 없습니다.
|
||||
</td>
|
||||
</tr>
|
||||
) : (
|
||||
parts.map((part) => {
|
||||
const isEditing = editingIdx === part.idx;
|
||||
return (
|
||||
<tr
|
||||
key={part.idx}
|
||||
className={`border-b border-white/5 hover:bg-white/5 transition-colors ${
|
||||
isEditing ? 'bg-primary-500/10' : ''
|
||||
}`}
|
||||
>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="number"
|
||||
value={editForm.no || 0}
|
||||
onChange={(e) => setEditForm({ ...editForm, no: parseInt(e.target.value) || 0 })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.no || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemgroup || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemgroup: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.itemgroup || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemname || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemname: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
required
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/90 text-xs font-medium">{part.itemname || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemmodel || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemmodel: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.itemmodel || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemscale || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemscale: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.itemscale || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemunit || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemunit: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.itemunit || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2 text-right">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="number"
|
||||
value={editForm.qty || 0}
|
||||
onChange={(e) => setEditForm({ ...editForm, qty: parseFloat(e.target.value) || 0 })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none text-right"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.qty?.toLocaleString() || 0}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2 text-right">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="number"
|
||||
value={editForm.price || 0}
|
||||
onChange={(e) => setEditForm({ ...editForm, price: parseFloat(e.target.value) || 0 })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none text-right"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.price?.toLocaleString() || 0}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2 text-right">
|
||||
<span className="text-white/90 text-xs font-medium">
|
||||
{getAmount(
|
||||
isEditing ? editForm.qty || 0 : part.qty || 0,
|
||||
isEditing ? editForm.price || 0 : part.price || 0
|
||||
).toLocaleString()}
|
||||
</span>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemsupply || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemsupply: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.itemsupply || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<div className="flex items-center justify-center gap-1">
|
||||
<button
|
||||
onClick={handleSave}
|
||||
className="p-1 hover:bg-green-500/20 text-green-400 rounded transition-colors"
|
||||
title="저장"
|
||||
>
|
||||
<Save className="w-4 h-4" />
|
||||
</button>
|
||||
<button
|
||||
onClick={cancelEdit}
|
||||
className="p-1 hover:bg-white/10 text-white/50 rounded transition-colors"
|
||||
title="취소"
|
||||
>
|
||||
<X className="w-4 h-4" />
|
||||
</button>
|
||||
</div>
|
||||
) : (
|
||||
<div className="flex items-center justify-center gap-1">
|
||||
<button
|
||||
onClick={() => startEdit(part)}
|
||||
className="p-1 hover:bg-white/10 text-white/70 rounded transition-colors text-xs"
|
||||
>
|
||||
편집
|
||||
</button>
|
||||
<button
|
||||
onClick={() => handleDelete(part.idx)}
|
||||
className="p-1 hover:bg-red-500/20 text-red-400 rounded transition-colors"
|
||||
title="삭제"
|
||||
>
|
||||
<Trash2 className="w-4 h-4" />
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
</td>
|
||||
</tr>
|
||||
);
|
||||
})
|
||||
)}
|
||||
{/* 새 항목 추가 행 */}
|
||||
{editingIdx === -1 && (
|
||||
<tr className="border-b border-white/5 bg-primary-500/10">
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="number"
|
||||
value={editForm.no || 0}
|
||||
onChange={(e) => setEditForm({ ...editForm, no: parseInt(e.target.value) || 0 })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemgroup || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemgroup: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
placeholder="그룹"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemname || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemname: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
placeholder="품명 *"
|
||||
required
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemmodel || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemmodel: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
placeholder="모델"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemscale || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemscale: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
placeholder="규격"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemunit || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemunit: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
placeholder="단위"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2 text-right">
|
||||
<input
|
||||
type="number"
|
||||
value={editForm.qty || 0}
|
||||
onChange={(e) => setEditForm({ ...editForm, qty: parseFloat(e.target.value) || 0 })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none text-right"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2 text-right">
|
||||
<input
|
||||
type="number"
|
||||
value={editForm.price || 0}
|
||||
onChange={(e) => setEditForm({ ...editForm, price: parseFloat(e.target.value) || 0 })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none text-right"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2 text-right">
|
||||
<span className="text-white/90 text-xs font-medium">
|
||||
{getAmount(editForm.qty || 0, editForm.price || 0).toLocaleString()}
|
||||
</span>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemsupply || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemsupply: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
placeholder="공급처"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<div className="flex items-center justify-center gap-1">
|
||||
<button
|
||||
onClick={handleSave}
|
||||
className="p-1 hover:bg-green-500/20 text-green-400 rounded transition-colors"
|
||||
title="저장"
|
||||
>
|
||||
<Save className="w-4 h-4" />
|
||||
</button>
|
||||
<button
|
||||
onClick={cancelEdit}
|
||||
className="p-1 hover:bg-white/10 text-white/50 rounded transition-colors"
|
||||
title="취소"
|
||||
>
|
||||
<X className="w-4 h-4" />
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
)}
|
||||
</tbody>
|
||||
</table>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* 합계 */}
|
||||
{parts.length > 0 && (
|
||||
<div className="p-4 border-t border-white/10 bg-slate-900/50">
|
||||
<div className="flex justify-end gap-4 text-sm">
|
||||
<span className="text-white/70">
|
||||
총 <span className="text-white font-medium">{parts.length}</span>개 항목
|
||||
</span>
|
||||
<span className="text-white/70">
|
||||
합계: <span className="text-primary-400 font-medium">
|
||||
{parts.reduce((sum, part) => sum + getAmount(part.qty || 0, part.price || 0), 0).toLocaleString()}
|
||||
</span>원
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
export { ProjectDetailDialog } from './ProjectDetailDialog';
|
||||
export { PartListDialog } from './PartListDialog';
|
||||
|
||||
@@ -101,6 +101,24 @@ export function Dashboard() {
|
||||
setUrgentTodos(allUrgentTodos.slice(start, end));
|
||||
}, [todoPage, allUrgentTodos]);
|
||||
|
||||
// ESC 키로 모달 닫기
|
||||
useEffect(() => {
|
||||
const handleEscape = (e: KeyboardEvent) => {
|
||||
if (e.key === 'Escape') {
|
||||
if (showTodoAddModal) {
|
||||
setShowTodoAddModal(false);
|
||||
} else if (showTodoEditModal) {
|
||||
setShowTodoEditModal(false);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
if (showTodoAddModal || showTodoEditModal) {
|
||||
document.addEventListener('keydown', handleEscape);
|
||||
return () => document.removeEventListener('keydown', handleEscape);
|
||||
}
|
||||
}, [showTodoAddModal, showTodoEditModal]);
|
||||
|
||||
const loadDashboardData = useCallback(async () => {
|
||||
try {
|
||||
// 오늘 날짜 (로컬 시간 기준)
|
||||
@@ -225,6 +243,7 @@ export function Dashboard() {
|
||||
|
||||
const getPriorityText = (seqno: number) => {
|
||||
switch (seqno) {
|
||||
case -1: return '낮음';
|
||||
case 1: return '중요';
|
||||
case 2: return '매우 중요';
|
||||
case 3: return '긴급';
|
||||
@@ -234,6 +253,7 @@ export function Dashboard() {
|
||||
|
||||
const getPriorityClass = (seqno: number) => {
|
||||
switch (seqno) {
|
||||
case -1: return 'bg-white/5 text-white/40';
|
||||
case 1: return 'bg-primary-500/20 text-primary-300';
|
||||
case 2: return 'bg-warning-500/20 text-warning-300';
|
||||
case 3: return 'bg-danger-500/20 text-danger-300';
|
||||
@@ -782,10 +802,11 @@ export function Dashboard() {
|
||||
onChange={(e) => setTodoFormData(prev => ({ ...prev, seqno: parseInt(e.target.value) as TodoPriority }))}
|
||||
className="w-full bg-white/20 backdrop-blur-sm border border-white/30 rounded-lg px-4 py-2 text-white focus:outline-none focus:ring-2 focus:ring-primary-400 transition-all"
|
||||
>
|
||||
<option value={0}>보통</option>
|
||||
<option value={1}>중요</option>
|
||||
<option value={2}>매우 중요</option>
|
||||
<option value={3}>긴급</option>
|
||||
<option value={2}>매우 중요</option>
|
||||
<option value={1}>중요</option>
|
||||
<option value={0}>보통</option>
|
||||
<option value={-1}>낮음</option>
|
||||
</select>
|
||||
</div>
|
||||
<div className="flex items-end">
|
||||
@@ -844,9 +865,22 @@ export function Dashboard() {
|
||||
<Edit2 className="w-5 h-5 mr-2" />
|
||||
할일 수정
|
||||
</h2>
|
||||
<button onClick={() => setShowTodoEditModal(false)} className="text-white/70 hover:text-white transition-colors">
|
||||
<X className="w-6 h-6" />
|
||||
</button>
|
||||
<div className="flex items-center space-x-2">
|
||||
{editingTodo.status !== '5' && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={handleTodoComplete}
|
||||
disabled={processing}
|
||||
className="bg-success-500 hover:bg-success-600 text-white px-3 py-1.5 rounded-lg transition-colors flex items-center disabled:opacity-50 text-sm"
|
||||
>
|
||||
<CheckCircle className="w-4 h-4 mr-1" />
|
||||
완료 처리
|
||||
</button>
|
||||
)}
|
||||
<button onClick={() => setShowTodoEditModal(false)} className="text-white/70 hover:text-white transition-colors">
|
||||
<X className="w-6 h-6" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 내용 */}
|
||||
@@ -929,10 +963,11 @@ export function Dashboard() {
|
||||
onChange={(e) => setTodoFormData(prev => ({ ...prev, seqno: parseInt(e.target.value) as TodoPriority }))}
|
||||
className="w-full bg-white/20 backdrop-blur-sm border border-white/30 rounded-lg px-4 py-2 text-white focus:outline-none focus:ring-2 focus:ring-primary-400 transition-all"
|
||||
>
|
||||
<option value={0}>보통</option>
|
||||
<option value={1}>중요</option>
|
||||
<option value={2}>매우 중요</option>
|
||||
<option value={3}>긴급</option>
|
||||
<option value={2}>매우 중요</option>
|
||||
<option value={1}>중요</option>
|
||||
<option value={0}>보통</option>
|
||||
<option value={-1}>낮음</option>
|
||||
</select>
|
||||
</div>
|
||||
<div className="flex items-end">
|
||||
@@ -950,40 +985,8 @@ export function Dashboard() {
|
||||
</div>
|
||||
|
||||
{/* 푸터 */}
|
||||
<div className="px-6 py-4 border-t border-white/10 flex justify-between">
|
||||
{/* 왼쪽: 삭제 버튼 */}
|
||||
<div>
|
||||
<button
|
||||
type="button"
|
||||
onClick={handleTodoDelete}
|
||||
disabled={processing}
|
||||
className="bg-danger-500 hover:bg-danger-600 text-white px-4 py-2 rounded-lg transition-colors flex items-center disabled:opacity-50"
|
||||
>
|
||||
<Trash2 className="w-4 h-4 mr-2" />
|
||||
삭제
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{/* 오른쪽: 취소, 완료, 수정 버튼 */}
|
||||
<div className="px-6 py-4 border-t border-white/10 flex justify-end">
|
||||
<div className="flex space-x-3">
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => setShowTodoEditModal(false)}
|
||||
className="bg-white/20 hover:bg-white/30 text-white px-4 py-2 rounded-lg transition-colors"
|
||||
>
|
||||
취소
|
||||
</button>
|
||||
{editingTodo.status !== '5' && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={handleTodoComplete}
|
||||
disabled={processing}
|
||||
className="bg-success-500 hover:bg-success-600 text-white px-4 py-2 rounded-lg transition-colors flex items-center disabled:opacity-50"
|
||||
>
|
||||
<CheckCircle className="w-4 h-4 mr-2" />
|
||||
완료 처리
|
||||
</button>
|
||||
)}
|
||||
<button
|
||||
type="button"
|
||||
onClick={handleTodoUpdate}
|
||||
@@ -997,6 +1000,15 @@ export function Dashboard() {
|
||||
)}
|
||||
수정
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
onClick={handleTodoDelete}
|
||||
disabled={processing}
|
||||
className="bg-danger-500 hover:bg-danger-600 text-white px-4 py-2 rounded-lg transition-colors flex items-center disabled:opacity-50"
|
||||
>
|
||||
<Trash2 className="w-4 h-4 mr-2" />
|
||||
삭제
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -4,6 +4,7 @@ import {
|
||||
Search,
|
||||
RefreshCw,
|
||||
Copy,
|
||||
Info,
|
||||
Plus,
|
||||
Calendar,
|
||||
} from 'lucide-react';
|
||||
@@ -567,8 +568,8 @@ export function Jobreport() {
|
||||
<thead className="bg-white/10">
|
||||
<tr>
|
||||
<th className="px-2 py-3 text-center text-xs font-medium text-white/70 uppercase w-10"></th>
|
||||
<th className="px-4 py-3 text-left text-xs font-medium text-white/70 uppercase">날짜</th>
|
||||
<th className="px-4 py-3 text-left text-xs font-medium text-white/70 uppercase">프로젝트</th>
|
||||
<th className="px-4 py-3 text-left text-xs font-medium text-white/70 uppercase w-24">날짜</th>
|
||||
<th className="px-4 py-3 text-left text-xs font-medium text-white/70 uppercase" style={{ width: '35%' }}>프로젝트</th>
|
||||
<th className="px-4 py-3 text-left text-xs font-medium text-white/70 uppercase">업무형태</th>
|
||||
<th className="px-4 py-3 text-left text-xs font-medium text-white/70 uppercase">상태</th>
|
||||
<th className="px-4 py-3 text-left text-xs font-medium text-white/70 uppercase">시간</th>
|
||||
@@ -596,38 +597,51 @@ export function Jobreport() {
|
||||
paginatedList.map((item) => (
|
||||
<tr
|
||||
key={item.idx}
|
||||
className={`hover:bg-white/5 transition-colors cursor-pointer ${item.type === '휴가' ? 'bg-gradient-to-r from-lime-400/30 via-emerald-400/20 to-teal-400/30' : ''}`}
|
||||
onClick={() => openEditModal(item)}
|
||||
className="hover:bg-white/5 transition-colors"
|
||||
>
|
||||
<td className="px-2 py-3 text-center">
|
||||
<button
|
||||
onClick={(e) => openCopyModal(item, e)}
|
||||
className="text-white/40 hover:text-primary-400 transition-colors"
|
||||
title="복사하여 새로 작성"
|
||||
>
|
||||
<Copy className="w-4 h-4" />
|
||||
</button>
|
||||
<td
|
||||
className="px-2 py-3 text-center cursor-pointer hover:bg-primary-500/10 transition-colors"
|
||||
onClick={(e) => openCopyModal(item, e)}
|
||||
title="복사하여 새로 작성"
|
||||
>
|
||||
<Copy className="w-4 h-4 mx-auto text-white/40" />
|
||||
</td>
|
||||
<td className="px-4 py-3 text-white text-sm">{formatDate(item.pdate)}</td>
|
||||
<td className={`px-4 py-3 text-sm font-medium max-w-xs truncate ${item.pidx && item.pidx > 0 ? 'text-white' : 'text-white/50'}`} title={item.projectName}>
|
||||
{item.projectName || '-'}
|
||||
<td className="px-4 py-3 text-white text-sm cursor-pointer" onClick={() => openEditModal(item)}>{formatDate(item.pdate)}</td>
|
||||
<td className={`px-4 py-3 text-sm font-medium ${item.pidx && item.pidx > 0 ? 'text-white' : 'text-white/50'}`}>
|
||||
<div className="flex items-center space-x-2">
|
||||
{item.pidx && item.pidx > 0 && (
|
||||
<button
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
window.open(`#/project-detail/${item.pidx}`, '_blank');
|
||||
}}
|
||||
className="text-primary-400 hover:text-primary-300 transition-colors flex-shrink-0"
|
||||
title="프로젝트 정보 보기"
|
||||
>
|
||||
<Info className="w-4 h-4" />
|
||||
</button>
|
||||
)}
|
||||
<span className="truncate cursor-pointer" onClick={() => openEditModal(item)} title={item.projectName}>
|
||||
{item.projectName || '-'}
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<td className="px-4 py-3 text-white text-sm">{item.type || '-'}</td>
|
||||
<td className="px-4 py-3 text-sm">
|
||||
<td className="px-4 py-3 text-white text-sm cursor-pointer" onClick={() => openEditModal(item)}>{item.type || '-'}</td>
|
||||
<td className="px-4 py-3 text-sm cursor-pointer" onClick={() => openEditModal(item)}>
|
||||
<span className={`px-2 py-1 rounded text-xs ${item.status?.includes('완료') ? 'bg-green-500/20 text-green-400' : 'bg-white/20 text-white/70'
|
||||
}`}>
|
||||
{item.status || '-'}
|
||||
</span>
|
||||
</td>
|
||||
<td className="px-4 py-3 text-white text-sm">
|
||||
<td className="px-4 py-3 text-white text-sm cursor-pointer" onClick={() => openEditModal(item)}>
|
||||
{item.hrs || 0}
|
||||
</td>
|
||||
{canViewOT && (
|
||||
<td className="px-4 py-3 text-white text-sm">
|
||||
<td className="px-4 py-3 text-white text-sm cursor-pointer" onClick={() => openEditModal(item)}>
|
||||
{item.ot ? <span className="text-warning-400">{item.ot}</span> : '-'}
|
||||
</td>
|
||||
)}
|
||||
<td className="px-4 py-3 text-white text-sm">{item.name || item.id || '-'}</td>
|
||||
<td className="px-4 py-3 text-white text-sm cursor-pointer" onClick={() => openEditModal(item)}>{item.name || item.id || '-'}</td>
|
||||
</tr>
|
||||
))
|
||||
)}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import { useState, useEffect } from 'react';
|
||||
import { Mail, Search, RefreshCw, Calendar } from 'lucide-react';
|
||||
import { Mail, Search, RefreshCw, Calendar, ChevronLeft, ChevronRight } from 'lucide-react';
|
||||
import { comms } from '@/communication';
|
||||
import { MailItem, UserInfo } from '@/types';
|
||||
import { MailTestDialog } from '@/components/mail/MailTestDialog';
|
||||
|
||||
export function MailList() {
|
||||
const [mailList, setMailList] = useState<MailItem[]>([]);
|
||||
@@ -11,7 +12,10 @@ export function MailList() {
|
||||
const [searchKey, setSearchKey] = useState('');
|
||||
const [selectedItem, setSelectedItem] = useState<MailItem | null>(null);
|
||||
const [showModal, setShowModal] = useState(false);
|
||||
const [showTestDialog, setShowTestDialog] = useState(false);
|
||||
const [currentUser, setCurrentUser] = useState<UserInfo | null>(null);
|
||||
const [currentPage, setCurrentPage] = useState(1);
|
||||
const pageSize = 25;
|
||||
|
||||
const formatDateLocal = (date: Date) => {
|
||||
return `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;
|
||||
@@ -78,9 +82,17 @@ export function MailList() {
|
||||
alert('시작일은 종료일보다 늦을 수 없습니다.');
|
||||
return;
|
||||
}
|
||||
setCurrentPage(1);
|
||||
loadData();
|
||||
};
|
||||
|
||||
// 페이징 계산
|
||||
const totalPages = Math.ceil(mailList.length / pageSize);
|
||||
const paginatedList = mailList.slice(
|
||||
(currentPage - 1) * pageSize,
|
||||
currentPage * pageSize
|
||||
);
|
||||
|
||||
const handleRowClick = (item: MailItem) => {
|
||||
// 레벨 9 이상(개발자)만 상세보기 가능
|
||||
if (!currentUser || currentUser.Level < 9) {
|
||||
@@ -151,6 +163,16 @@ export function MailList() {
|
||||
)}
|
||||
조회
|
||||
</button>
|
||||
|
||||
{currentUser && currentUser.Level >= 9 && (
|
||||
<button
|
||||
onClick={() => setShowTestDialog(true)}
|
||||
className="h-10 bg-green-500 hover:bg-green-600 text-white px-6 rounded-lg transition-colors flex items-center justify-center"
|
||||
>
|
||||
<Mail className="w-4 h-4 mr-2" />
|
||||
테스트
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -164,7 +186,7 @@ export function MailList() {
|
||||
<span className="text-white/60 text-sm">{mailList.length}건</span>
|
||||
</div>
|
||||
|
||||
<div className="divide-y divide-white/10 max-h-[calc(100vh-300px)] overflow-y-auto">
|
||||
<div className="divide-y divide-white/10 max-h-[calc(100vh-380px)] overflow-y-auto">
|
||||
{loading ? (
|
||||
<div className="px-6 py-8 text-center">
|
||||
<div className="flex items-center justify-center">
|
||||
@@ -178,7 +200,7 @@ export function MailList() {
|
||||
<p className="text-white/50">조회된 데이터가 없습니다.</p>
|
||||
</div>
|
||||
) : (
|
||||
mailList.map((item) => (
|
||||
paginatedList.map((item) => (
|
||||
<div
|
||||
key={item.idx}
|
||||
className={`px-6 py-4 transition-colors ${currentUser && currentUser.Level >= 9 ? 'hover:bg-white/5 cursor-pointer' : 'cursor-default'}`}
|
||||
@@ -215,6 +237,29 @@ export function MailList() {
|
||||
))
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* 페이징 */}
|
||||
{totalPages > 1 && (
|
||||
<div className="flex items-center justify-center gap-2 px-6 py-3 border-t border-white/10">
|
||||
<button
|
||||
onClick={() => setCurrentPage((p) => Math.max(1, p - 1))}
|
||||
disabled={currentPage === 1}
|
||||
className="p-1 rounded hover:bg-white/10 disabled:opacity-30 text-white/70"
|
||||
>
|
||||
<ChevronLeft className="w-5 h-5" />
|
||||
</button>
|
||||
<span className="text-white/70 text-sm">
|
||||
{currentPage} / {totalPages}
|
||||
</span>
|
||||
<button
|
||||
onClick={() => setCurrentPage((p) => Math.min(totalPages, p + 1))}
|
||||
disabled={currentPage === totalPages}
|
||||
className="p-1 rounded hover:bg-white/10 disabled:opacity-30 text-white/70"
|
||||
>
|
||||
<ChevronRight className="w-5 h-5" />
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* 상세 모달 */}
|
||||
@@ -283,6 +328,15 @@ export function MailList() {
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* 메일 테스트 다이얼로그 */}
|
||||
<MailTestDialog
|
||||
isOpen={showTestDialog}
|
||||
onClose={() => {
|
||||
setShowTestDialog(false);
|
||||
loadData(); // 목록 새로고침
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
588
Project/frontend/src/pages/PartList.tsx
Normal file
588
Project/frontend/src/pages/PartList.tsx
Normal file
@@ -0,0 +1,588 @@
|
||||
import { useState, useEffect } from 'react';
|
||||
import {
|
||||
ClipboardList,
|
||||
Search,
|
||||
RefreshCw,
|
||||
Plus,
|
||||
Save,
|
||||
Trash2,
|
||||
X,
|
||||
DollarSign,
|
||||
} from 'lucide-react';
|
||||
import { comms } from '@/communication';
|
||||
import { PartListItem } from '@/types';
|
||||
import { useSearchParams } from 'react-router-dom';
|
||||
|
||||
export function PartList() {
|
||||
const [searchParams] = useSearchParams();
|
||||
const projectIdx = parseInt(searchParams.get('idx') || '0');
|
||||
const projectName = searchParams.get('name') || '';
|
||||
|
||||
const [parts, setParts] = useState<PartListItem[]>([]);
|
||||
const [filteredParts, setFilteredParts] = useState<PartListItem[]>([]);
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [searchKey, setSearchKey] = useState('');
|
||||
const [editingIdx, setEditingIdx] = useState<number | null>(null);
|
||||
const [editForm, setEditForm] = useState<Partial<PartListItem>>({});
|
||||
const [showSummary, setShowSummary] = useState(false);
|
||||
|
||||
// 데이터 로드
|
||||
const loadParts = async () => {
|
||||
setLoading(true);
|
||||
try {
|
||||
console.log('[PartList] 로드 시작, projectIdx:', projectIdx);
|
||||
const result = await comms.getPartList(projectIdx);
|
||||
console.log('[PartList] 결과:', result);
|
||||
if (result.Success && result.Data) {
|
||||
console.log('[PartList] 데이터 개수:', result.Data.length);
|
||||
setParts(result.Data);
|
||||
setFilteredParts(result.Data);
|
||||
} else {
|
||||
console.error('[PartList] 실패:', result.Message);
|
||||
alert(result.Message || '파트리스트 로드 실패');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('파트리스트 로드 실패:', error);
|
||||
alert('파트리스트 로드 중 오류: ' + error);
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (projectIdx > 0) {
|
||||
loadParts();
|
||||
}
|
||||
}, [projectIdx]);
|
||||
|
||||
// 검색
|
||||
useEffect(() => {
|
||||
if (!searchKey.trim()) {
|
||||
setFilteredParts(parts);
|
||||
return;
|
||||
}
|
||||
|
||||
const search = searchKey.toLowerCase();
|
||||
const filtered = parts.filter((part) => {
|
||||
return (
|
||||
part.itemsid?.toLowerCase().includes(search) ||
|
||||
part.itemname?.toLowerCase().includes(search) ||
|
||||
part.itemmodel?.toLowerCase().includes(search)
|
||||
);
|
||||
});
|
||||
setFilteredParts(filtered);
|
||||
}, [searchKey, parts]);
|
||||
|
||||
// 편집 시작
|
||||
const startEdit = (part: PartListItem) => {
|
||||
setEditingIdx(part.idx);
|
||||
setEditForm({ ...part });
|
||||
};
|
||||
|
||||
// 편집 취소
|
||||
const cancelEdit = () => {
|
||||
setEditingIdx(null);
|
||||
setEditForm({});
|
||||
};
|
||||
|
||||
// 저장
|
||||
const handleSave = async () => {
|
||||
if (!editForm.itemname || !editForm.item) {
|
||||
alert('품명과 자재번호는 필수입니다.');
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const result = await comms.savePartList(
|
||||
editingIdx || 0,
|
||||
projectIdx,
|
||||
editForm.itemgroup || '',
|
||||
editForm.itemname || '',
|
||||
editForm.item || '',
|
||||
editForm.itemmodel || '',
|
||||
'', // itemscale 제거됨
|
||||
editForm.itemunit || '',
|
||||
editForm.qty || 0,
|
||||
editForm.price || 0,
|
||||
editForm.itemsupply || '',
|
||||
editForm.itemsupplyidx || 0,
|
||||
editForm.itemmanu || '',
|
||||
editForm.itemsid || '',
|
||||
editForm.option1 || '',
|
||||
editForm.remark || '',
|
||||
editForm.no || 0,
|
||||
editForm.qtybuy || 0
|
||||
);
|
||||
|
||||
if (result.Success) {
|
||||
await loadParts();
|
||||
cancelEdit();
|
||||
} else {
|
||||
alert(result.Message || '저장 실패');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('저장 실패:', error);
|
||||
alert('저장 중 오류가 발생했습니다.');
|
||||
}
|
||||
};
|
||||
|
||||
// 삭제
|
||||
const handleDelete = async (idx: number) => {
|
||||
if (!confirm('정말 삭제하시겠습니까?')) return;
|
||||
|
||||
try {
|
||||
const result = await comms.deletePartList(idx);
|
||||
if (result.Success) {
|
||||
await loadParts();
|
||||
} else {
|
||||
alert(result.Message || '삭제 실패');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('삭제 실패:', error);
|
||||
alert('삭제 중 오류가 발생했습니다.');
|
||||
}
|
||||
};
|
||||
|
||||
// 새 항목 추가
|
||||
const addNew = () => {
|
||||
setEditingIdx(-1);
|
||||
setEditForm({
|
||||
Project: projectIdx,
|
||||
itemgroup: '',
|
||||
itemname: '',
|
||||
item: '',
|
||||
itemmodel: '',
|
||||
itemunit: 'EA',
|
||||
qty: 1,
|
||||
price: 0,
|
||||
itemsupply: '',
|
||||
itemsupplyidx: 0,
|
||||
itemmanu: '',
|
||||
itemsid: '',
|
||||
option1: '',
|
||||
remark: '',
|
||||
no: 0,
|
||||
qtybuy: 0,
|
||||
});
|
||||
};
|
||||
|
||||
// 금액 계산
|
||||
const getAmount = (qty: number, price: number) => qty * price;
|
||||
|
||||
// 합계 계산
|
||||
const totalAmount = filteredParts.reduce((sum, part) => sum + getAmount(part.qty || 0, part.price || 0), 0);
|
||||
|
||||
// 그룹별 합계
|
||||
const groupSummary = filteredParts.reduce((acc, part) => {
|
||||
const group = part.itemgroup || '미분류';
|
||||
if (!acc[group]) {
|
||||
acc[group] = { count: 0, amount: 0 };
|
||||
}
|
||||
acc[group].count++;
|
||||
acc[group].amount += getAmount(part.qty || 0, part.price || 0);
|
||||
return acc;
|
||||
}, {} as Record<string, { count: number; amount: number }>);
|
||||
|
||||
return (
|
||||
<div className="p-4 space-y-4">
|
||||
{/* 헤더 */}
|
||||
<div className="glass-effect rounded-xl p-4">
|
||||
<div className="flex items-center justify-between mb-4">
|
||||
<div className="flex items-center gap-3">
|
||||
<ClipboardList className="w-6 h-6 text-amber-400" />
|
||||
<div>
|
||||
<h1 className="text-xl font-bold text-white">파트리스트</h1>
|
||||
<p className="text-sm text-white/60">{projectName}</p>
|
||||
</div>
|
||||
<span className="text-white/50 text-sm">({filteredParts.length}건)</span>
|
||||
</div>
|
||||
<div className="flex items-center gap-2">
|
||||
<button
|
||||
onClick={addNew}
|
||||
className="flex items-center gap-2 px-3 py-1.5 bg-primary-600 hover:bg-primary-500 text-white rounded transition-colors"
|
||||
>
|
||||
<Plus className="w-4 h-4" />
|
||||
<span className="text-sm">추가</span>
|
||||
</button>
|
||||
<button
|
||||
onClick={loadParts}
|
||||
disabled={loading}
|
||||
className="p-2 hover:bg-white/10 rounded transition-colors disabled:opacity-50"
|
||||
title="새로고침"
|
||||
>
|
||||
<RefreshCw className={`w-5 h-5 text-white/70 ${loading ? 'animate-spin' : ''}`} />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 검색 */}
|
||||
<div className="flex items-center gap-2 bg-white/5 rounded-lg px-3 py-2">
|
||||
<Search className="w-4 h-4 text-white/50" />
|
||||
<input
|
||||
type="text"
|
||||
value={searchKey}
|
||||
onChange={(e) => setSearchKey(e.target.value)}
|
||||
placeholder="SID, 품명, 모델로 검색..."
|
||||
className="flex-1 bg-transparent text-white placeholder-white/30 focus:outline-none text-sm"
|
||||
/>
|
||||
{searchKey && (
|
||||
<button onClick={() => setSearchKey('')} className="text-white/50 hover:text-white/70">
|
||||
<X className="w-4 h-4" />
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 테이블 */}
|
||||
<div className="glass-effect rounded-xl overflow-hidden">
|
||||
<div className="overflow-x-auto">
|
||||
{loading && parts.length === 0 ? (
|
||||
<div className="flex items-center justify-center h-64">
|
||||
<RefreshCw className="w-8 h-8 text-primary-500 animate-spin" />
|
||||
</div>
|
||||
) : (
|
||||
<table className="w-full">
|
||||
<thead className="bg-slate-700/50 sticky top-0 z-10">
|
||||
<tr className="border-b border-white/10">
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium w-12">No</th>
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium w-24">그룹</th>
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium w-24">SID</th>
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium">품명</th>
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium w-32">모델</th>
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium w-16">단위</th>
|
||||
<th className="px-2 py-2 text-right text-xs text-white/70 font-medium w-20">수량</th>
|
||||
<th className="px-2 py-2 text-right text-xs text-white/70 font-medium w-28">단가</th>
|
||||
<th className="px-2 py-2 text-right text-xs text-white/70 font-medium w-32">금액</th>
|
||||
<th className="px-2 py-2 text-left text-xs text-white/70 font-medium w-32">공급처</th>
|
||||
<th className="px-2 py-2 text-center text-xs text-white/70 font-medium w-20">작업</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{filteredParts.length === 0 && !loading ? (
|
||||
<tr>
|
||||
<td colSpan={11} className="px-2 py-8 text-center text-white/40 text-sm">
|
||||
{searchKey ? '검색 결과가 없습니다.' : '등록된 파트가 없습니다.'}
|
||||
</td>
|
||||
</tr>
|
||||
) : (
|
||||
filteredParts.map((part) => {
|
||||
const isEditing = editingIdx === part.idx;
|
||||
return (
|
||||
<tr
|
||||
key={part.idx}
|
||||
className={`border-b border-white/5 hover:bg-white/5 transition-colors ${
|
||||
isEditing ? 'bg-primary-500/10' : ''
|
||||
}`}
|
||||
>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="number"
|
||||
value={editForm.no || 0}
|
||||
onChange={(e) => setEditForm({ ...editForm, no: parseInt(e.target.value) || 0 })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.no || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemgroup || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemgroup: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.itemgroup || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemsid || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemsid: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.itemsid || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemname || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemname: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
required
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/90 text-xs font-medium">{part.itemname || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemmodel || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemmodel: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.itemmodel || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemunit || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemunit: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.itemunit || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2 text-right">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="number"
|
||||
value={editForm.qty || 0}
|
||||
onChange={(e) => setEditForm({ ...editForm, qty: parseFloat(e.target.value) || 0 })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none text-right"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.qty?.toLocaleString() || 0}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2 text-right">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="number"
|
||||
value={editForm.price || 0}
|
||||
onChange={(e) => setEditForm({ ...editForm, price: parseFloat(e.target.value) || 0 })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none text-right"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.price?.toLocaleString() || 0}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2 text-right">
|
||||
<span className="text-white/90 text-xs font-medium">
|
||||
{getAmount(
|
||||
isEditing ? editForm.qty || 0 : part.qty || 0,
|
||||
isEditing ? editForm.price || 0 : part.price || 0
|
||||
).toLocaleString()}
|
||||
</span>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemsupply || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemsupply: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
) : (
|
||||
<span className="text-white/70 text-xs">{part.itemsupply || ''}</span>
|
||||
)}
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
{isEditing ? (
|
||||
<div className="flex items-center justify-center gap-1">
|
||||
<button
|
||||
onClick={handleSave}
|
||||
className="p-1 hover:bg-green-500/20 text-green-400 rounded transition-colors"
|
||||
title="저장"
|
||||
>
|
||||
<Save className="w-4 h-4" />
|
||||
</button>
|
||||
<button
|
||||
onClick={cancelEdit}
|
||||
className="p-1 hover:bg-white/10 text-white/50 rounded transition-colors"
|
||||
title="취소"
|
||||
>
|
||||
<X className="w-4 h-4" />
|
||||
</button>
|
||||
</div>
|
||||
) : (
|
||||
<div className="flex items-center justify-center gap-1">
|
||||
<button
|
||||
onClick={() => startEdit(part)}
|
||||
className="p-1 hover:bg-white/10 text-white/70 rounded transition-colors text-xs"
|
||||
>
|
||||
편집
|
||||
</button>
|
||||
<button
|
||||
onClick={() => handleDelete(part.idx)}
|
||||
className="p-1 hover:bg-red-500/20 text-red-400 rounded transition-colors"
|
||||
title="삭제"
|
||||
>
|
||||
<Trash2 className="w-4 h-4" />
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
</td>
|
||||
</tr>
|
||||
);
|
||||
})
|
||||
)}
|
||||
{/* 새 항목 추가 행 */}
|
||||
{editingIdx === -1 && (
|
||||
<tr className="border-b border-white/5 bg-primary-500/10">
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="number"
|
||||
value={editForm.no || 0}
|
||||
onChange={(e) => setEditForm({ ...editForm, no: parseInt(e.target.value) || 0 })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemgroup || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemgroup: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
placeholder="그룹"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemsid || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemsid: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
placeholder="SID"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemname || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemname: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
placeholder="품명 *"
|
||||
required
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemmodel || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemmodel: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
placeholder="모델"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemunit || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemunit: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
placeholder="단위"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2 text-right">
|
||||
<input
|
||||
type="number"
|
||||
value={editForm.qty || 0}
|
||||
onChange={(e) => setEditForm({ ...editForm, qty: parseFloat(e.target.value) || 0 })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none text-right"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2 text-right">
|
||||
<input
|
||||
type="number"
|
||||
value={editForm.price || 0}
|
||||
onChange={(e) => setEditForm({ ...editForm, price: parseFloat(e.target.value) || 0 })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none text-right"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2 text-right">
|
||||
<span className="text-white/90 text-xs font-medium">
|
||||
{getAmount(editForm.qty || 0, editForm.price || 0).toLocaleString()}
|
||||
</span>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<input
|
||||
type="text"
|
||||
value={editForm.itemsupply || ''}
|
||||
onChange={(e) => setEditForm({ ...editForm, itemsupply: e.target.value })}
|
||||
className="w-full bg-slate-700/50 text-white text-xs px-2 py-1 rounded border border-white/10 focus:border-primary-500 focus:outline-none"
|
||||
placeholder="공급처"
|
||||
/>
|
||||
</td>
|
||||
<td className="px-2 py-2">
|
||||
<div className="flex items-center justify-center gap-1">
|
||||
<button
|
||||
onClick={handleSave}
|
||||
className="p-1 hover:bg-green-500/20 text-green-400 rounded transition-colors"
|
||||
title="저장"
|
||||
>
|
||||
<Save className="w-4 h-4" />
|
||||
</button>
|
||||
<button
|
||||
onClick={cancelEdit}
|
||||
className="p-1 hover:bg-white/10 text-white/50 rounded transition-colors"
|
||||
title="취소"
|
||||
>
|
||||
<X className="w-4 h-4" />
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
)}
|
||||
</tbody>
|
||||
</table>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 하단 정보 */}
|
||||
<div className="flex gap-4">
|
||||
{/* 좌측: 비용 요약 */}
|
||||
<div className="glass-effect rounded-xl p-4 flex-1">
|
||||
<button
|
||||
onClick={() => setShowSummary(!showSummary)}
|
||||
className="flex items-center gap-2 text-amber-400 hover:text-amber-300 mb-3"
|
||||
>
|
||||
<DollarSign className="w-5 h-5" />
|
||||
<span className="font-medium">비용 요약</span>
|
||||
</button>
|
||||
|
||||
{showSummary && (
|
||||
<div className="space-y-2">
|
||||
{Object.entries(groupSummary).map(([group, data]) => (
|
||||
<div key={group} className="flex items-center justify-between text-sm border-b border-white/5 pb-2">
|
||||
<span className="text-white/70">{group}</span>
|
||||
<div className="flex items-center gap-4">
|
||||
<span className="text-white/50 text-xs">{data.count}건</span>
|
||||
<span className="text-primary-400 font-medium">{data.amount.toLocaleString()}원</span>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* 우측: 합계 */}
|
||||
<div className="glass-effect rounded-xl p-4 min-w-[300px]">
|
||||
<div className="flex justify-between items-center mb-2">
|
||||
<span className="text-white/70 text-sm">총 항목</span>
|
||||
<span className="text-white font-medium">{filteredParts.length}개</span>
|
||||
</div>
|
||||
<div className="flex justify-between items-center">
|
||||
<span className="text-white/70 text-sm">총 금액</span>
|
||||
<span className="text-amber-400 font-bold text-lg">{totalAmount.toLocaleString()}원</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -8,10 +8,14 @@ import {
|
||||
User,
|
||||
Calendar,
|
||||
ExternalLink,
|
||||
ClipboardList,
|
||||
Mail,
|
||||
Edit2,
|
||||
} from 'lucide-react';
|
||||
import { comms } from '@/communication';
|
||||
import { ProjectListItem, ProjectListResponse } from '@/types';
|
||||
import { ProjectDetailDialog } from '@/components/project';
|
||||
import clsx from 'clsx';
|
||||
|
||||
// 상태별 색상 매핑
|
||||
const statusColors: Record<string, { text: string; bg: string }> = {
|
||||
@@ -29,6 +33,11 @@ export function Project() {
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [selectedProject, setSelectedProject] = useState<ProjectListItem | null>(null);
|
||||
const [showDetailDialog, setShowDetailDialog] = useState(false);
|
||||
const [expandedProject, setExpandedProject] = useState<number | null>(null);
|
||||
const [projectHistory, setProjectHistory] = useState<any[]>([]);
|
||||
const [loadingHistory, setLoadingHistory] = useState(false);
|
||||
const [editingHistory, setEditingHistory] = useState<any | null>(null);
|
||||
const [editRemark, setEditRemark] = useState('');
|
||||
|
||||
// 필터 상태
|
||||
const [categories, setCategories] = useState<string[]>([]);
|
||||
@@ -37,13 +46,15 @@ export function Project() {
|
||||
const [selectedProcess, setSelectedProcess] = useState('전체');
|
||||
const [userFilter, setUserFilter] = useState('');
|
||||
const [currentUserName, setCurrentUserName] = useState('');
|
||||
const [userLevel, setUserLevel] = useState<number>(0);
|
||||
const [userCode, setUserCode] = useState<string>('');
|
||||
|
||||
// 상태 필터 체크박스
|
||||
const [statusChecks, setStatusChecks] = useState({
|
||||
검토: true,
|
||||
진행: true,
|
||||
대기: false,
|
||||
보류: false,
|
||||
보류: true,
|
||||
완료: true,
|
||||
'완료(보고)': false,
|
||||
취소: false,
|
||||
@@ -82,9 +93,12 @@ export function Project() {
|
||||
try {
|
||||
const loginStatus = await comms.checkLoginStatus();
|
||||
if (loginStatus.Success && loginStatus.IsLoggedIn && loginStatus.User) {
|
||||
const userName = (loginStatus.User as { NameK?: string }).NameK || loginStatus.User.Name || '';
|
||||
const user = loginStatus.User as { NameK?: string; Level?: number; Code?: string };
|
||||
const userName = user.NameK || loginStatus.User.Name || '';
|
||||
setCurrentUserName(userName);
|
||||
setUserFilter(userName);
|
||||
setUserLevel(user.Level || 0);
|
||||
setUserCode(user.Code || '');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('로그인 정보 로드 오류:', error);
|
||||
@@ -155,8 +169,11 @@ export function Project() {
|
||||
const filtered = projects.filter(
|
||||
(p) =>
|
||||
p.name?.toLowerCase().includes(key) ||
|
||||
p.userManager?.toLowerCase().includes(key) ||
|
||||
p.usermain?.toLowerCase().includes(key) ||
|
||||
p.name_champion?.toLowerCase().includes(key) ||
|
||||
p.name_design?.toLowerCase().includes(key) ||
|
||||
p.name_epanel?.toLowerCase().includes(key) ||
|
||||
p.name_software?.toLowerCase().includes(key) ||
|
||||
p.reqstaff?.toLowerCase().includes(key) ||
|
||||
p.orderno?.toLowerCase().includes(key) ||
|
||||
p.memo?.toLowerCase().includes(key)
|
||||
);
|
||||
@@ -186,6 +203,82 @@ export function Project() {
|
||||
setStatusChecks((prev) => ({ ...prev, [status]: !prev[status as keyof typeof prev] }));
|
||||
};
|
||||
|
||||
// 히스토리 토글 (편집 아이콘 클릭)
|
||||
const toggleHistory = async (projectIdx: number) => {
|
||||
if (expandedProject === projectIdx) {
|
||||
setExpandedProject(null);
|
||||
setProjectHistory([]);
|
||||
setEditingHistory(null);
|
||||
} else {
|
||||
setExpandedProject(projectIdx);
|
||||
setLoadingHistory(true);
|
||||
try {
|
||||
const result = await comms.getProjectHistory(projectIdx);
|
||||
if (result.Success && result.Data) {
|
||||
setProjectHistory(result.Data as any[]);
|
||||
} else {
|
||||
setProjectHistory([]);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('히스토리 로드 오류:', error);
|
||||
setProjectHistory([]);
|
||||
} finally {
|
||||
setLoadingHistory(false);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// 히스토리 편집 시작
|
||||
const startEditHistory = (history: any) => {
|
||||
setEditingHistory(history);
|
||||
setEditRemark(history.remark || '');
|
||||
};
|
||||
|
||||
// 새 히스토리 추가 시작
|
||||
const startAddHistory = (projectIdx: number) => {
|
||||
const today = new Date().toISOString().substring(0, 10);
|
||||
setEditingHistory({ pidx: projectIdx, pdate: today, progress: 0, remark: '', isNew: true });
|
||||
setEditRemark('');
|
||||
};
|
||||
|
||||
// 히스토리 저장
|
||||
const saveHistory = async () => {
|
||||
if (!editingHistory) return;
|
||||
|
||||
try {
|
||||
const historyData = {
|
||||
idx: editingHistory.idx || 0,
|
||||
pidx: editingHistory.pidx,
|
||||
pdate: editingHistory.pdate,
|
||||
progress: editingHistory.progress || 0,
|
||||
remark: editRemark,
|
||||
};
|
||||
|
||||
const result = await comms.saveProjectHistory(historyData);
|
||||
|
||||
if (result.Success) {
|
||||
// 저장 성공 후 히스토리 다시 로드
|
||||
const historyResult = await comms.getProjectHistory(editingHistory.pidx);
|
||||
if (historyResult.Success && historyResult.Data) {
|
||||
setProjectHistory(historyResult.Data as any[]);
|
||||
}
|
||||
} else {
|
||||
alert(result.Message || '저장에 실패했습니다.');
|
||||
}
|
||||
|
||||
setEditingHistory(null);
|
||||
setEditRemark('');
|
||||
} catch (error) {
|
||||
console.error('히스토리 저장 오류:', error);
|
||||
}
|
||||
};
|
||||
|
||||
// 편집 취소
|
||||
const cancelEdit = () => {
|
||||
setEditingHistory(null);
|
||||
setEditRemark('');
|
||||
};
|
||||
|
||||
// 페이징 계산
|
||||
const totalPages = Math.ceil(filteredProjects.length / pageSize);
|
||||
const paginatedProjects = filteredProjects.slice(
|
||||
@@ -326,7 +419,7 @@ export function Project() {
|
||||
<tr className="text-white/60 text-left">
|
||||
<th className="px-3 py-2 w-16">상태</th>
|
||||
<th className="px-3 py-2">프로젝트명</th>
|
||||
<th className="px-3 py-2 w-20">담당</th>
|
||||
<th className="px-3 py-2 w-20">챔피언</th>
|
||||
<th className="px-3 py-2 w-28">요청자</th>
|
||||
<th className="px-3 py-2 w-20 text-center">진행률</th>
|
||||
<th className="px-3 py-2 w-24">시작</th>
|
||||
@@ -351,33 +444,40 @@ export function Project() {
|
||||
) : (
|
||||
paginatedProjects.map((project) => {
|
||||
const statusColor = statusColors[project.status] || { text: 'text-white', bg: 'bg-white/10' };
|
||||
const isSelected = selectedProject?.idx === project.idx;
|
||||
const rowBg = project.bHighlight
|
||||
? 'bg-lime-500/10'
|
||||
: project.bCost
|
||||
? 'bg-yellow-500/10'
|
||||
: project.bmajoritem
|
||||
? 'bg-pink-500/10'
|
||||
: '';
|
||||
const isExpanded = expandedProject === project.idx;
|
||||
|
||||
return (
|
||||
<tr
|
||||
key={project.idx}
|
||||
onClick={() => handleSelectProject(project)}
|
||||
className={`cursor-pointer transition-colors ${rowBg} ${
|
||||
isSelected ? 'bg-primary-500/20' : 'hover:bg-white/5'
|
||||
}`}
|
||||
>
|
||||
<td className="px-3 py-2">
|
||||
<span className={`px-2 py-0.5 rounded text-xs ${statusColor.bg} ${statusColor.text}`}>
|
||||
{project.status}
|
||||
</span>
|
||||
</td>
|
||||
<td className={`px-3 py-2 ${statusColor.text}`}>
|
||||
<div className="truncate max-w-xs" title={project.name}>
|
||||
{project.name}
|
||||
</div>
|
||||
</td>
|
||||
<>
|
||||
<tr
|
||||
key={project.idx}
|
||||
className={clsx(
|
||||
'border-b border-white/10 cursor-pointer hover:bg-white/5',
|
||||
isExpanded && 'bg-primary-900/30'
|
||||
)}
|
||||
onClick={() => toggleHistory(project.idx)}
|
||||
>
|
||||
<td className="px-3 py-2">
|
||||
<span className={`px-2 py-0.5 rounded text-xs ${statusColor.bg} ${statusColor.text}`}>
|
||||
{project.status}
|
||||
</span>
|
||||
</td>
|
||||
<td className={`px-3 py-2 ${statusColor.text}`}>
|
||||
<div className="truncate max-w-xs" title={project.name}>
|
||||
<div className="flex items-center gap-2">
|
||||
<button
|
||||
onClick={e => {
|
||||
e.stopPropagation();
|
||||
handleSelectProject(project);
|
||||
}}
|
||||
className="text-primary-300 hover:text-primary-200 transition-colors"
|
||||
title="편집"
|
||||
>
|
||||
<Edit2 className="w-4 h-4" />
|
||||
</button>
|
||||
<span className="font-regular text-white/90">{project.name}</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td className="px-3 py-2 text-white/70">{project.name_champion || project.userManager}</td>
|
||||
<td className="px-3 py-2 text-white/70 text-xs">
|
||||
<div>{project.ReqLine}</div>
|
||||
@@ -400,20 +500,115 @@ export function Project() {
|
||||
<div className="text-white/40">{formatDate(project.edate)}</div>
|
||||
</td>
|
||||
<td className="px-3 py-2">
|
||||
{project.jasmin && project.jasmin > 0 && (
|
||||
<button
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
openJasmin(project.jasmin);
|
||||
}}
|
||||
className="text-primary-400 hover:text-primary-300"
|
||||
title="자스민 열기"
|
||||
<div className="flex items-center gap-2">
|
||||
{project.jasmin && project.jasmin > 0 && (
|
||||
<button
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
openJasmin(project.jasmin);
|
||||
}}
|
||||
className="text-primary-400 hover:text-primary-300"
|
||||
title="자스민 열기"
|
||||
>
|
||||
<ExternalLink className="w-4 h-4" />
|
||||
</button>
|
||||
)}
|
||||
{(userLevel >= 9 || userCode === '395552') && (
|
||||
<button
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
const w = window as any;
|
||||
if (w.CefSharp) {
|
||||
w.CefSharp.BindObjectAsync('bridge').then(() => {
|
||||
w.bridge?.OpenMailHistory();
|
||||
});
|
||||
}
|
||||
}}
|
||||
className="text-cyan-400 hover:text-cyan-300"
|
||||
title="메일내역"
|
||||
>
|
||||
<Mail className="w-4 h-4" />
|
||||
</button>
|
||||
)}
|
||||
<a
|
||||
href={`#/partlist?idx=${project.idx}&name=${encodeURIComponent(project.name)}`}
|
||||
onClick={(e) => e.stopPropagation()}
|
||||
className="text-amber-400 hover:text-amber-300"
|
||||
title="파트리스트"
|
||||
>
|
||||
<ExternalLink className="w-4 h-4" />
|
||||
</button>
|
||||
)}
|
||||
<ClipboardList className="w-4 h-4" />
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{isExpanded && (
|
||||
<tr key={`history-${project.idx}`}>
|
||||
<td colSpan={8} className="px-3 py-2 bg-primary-950/50">
|
||||
<div className="p-4">
|
||||
<div className="flex items-center justify-between mb-3">
|
||||
<div className="text-sm font-semibold text-primary-300">주간 업무 내용</div>
|
||||
<button
|
||||
onClick={() => startAddHistory(project.idx)}
|
||||
className="text-xs px-3 py-1 bg-primary-500/20 hover:bg-primary-500/30 text-primary-400 rounded transition-colors"
|
||||
>
|
||||
+ 새 내용 등록
|
||||
</button>
|
||||
</div>
|
||||
{loadingHistory ? (
|
||||
<div className="text-white/50 text-sm">로딩 중...</div>
|
||||
) : editingHistory ? (
|
||||
<div className="bg-white/10 rounded p-3 space-y-3">
|
||||
<div className="flex gap-4 text-xs text-white/60">
|
||||
<span className="text-primary-400 font-semibold">{formatDate(editingHistory.pdate)}</span>
|
||||
<span>진행률: {editingHistory.progress || 0}%</span>
|
||||
</div>
|
||||
<textarea
|
||||
value={editRemark}
|
||||
onChange={(e) => setEditRemark(e.target.value)}
|
||||
className="w-full h-32 px-3 py-2 bg-white/5 border border-white/10 rounded text-white text-sm resize-none"
|
||||
placeholder="업무 내용을 입력하세요..."
|
||||
/>
|
||||
<div className="flex gap-2 justify-end">
|
||||
<button
|
||||
onClick={cancelEdit}
|
||||
className="px-3 py-1 bg-white/5 hover:bg-white/10 text-white/70 rounded text-sm transition-colors"
|
||||
>
|
||||
취소
|
||||
</button>
|
||||
<button
|
||||
onClick={saveHistory}
|
||||
className="px-3 py-1 bg-primary-500/20 hover:bg-primary-500/30 text-primary-400 rounded text-sm transition-colors"
|
||||
>
|
||||
저장
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
) : projectHistory.length > 0 ? (
|
||||
<div
|
||||
className="bg-white/5 rounded p-3 border-l-2 border-primary-500 cursor-pointer hover:bg-white/10 transition-colors"
|
||||
onClick={() => startEditHistory(projectHistory[0])}
|
||||
>
|
||||
<div className="flex gap-4 mb-2 text-xs">
|
||||
<span className="text-primary-400 font-semibold">{formatDate(projectHistory[0].pdate)}</span>
|
||||
<span className="text-white/60">진행률: {projectHistory[0].progress || 0}%</span>
|
||||
<span className="text-white/40">{projectHistory[0].wname || ''}</span>
|
||||
</div>
|
||||
{projectHistory[0].remark ? (
|
||||
<div className="text-sm text-white/80 whitespace-pre-wrap">{projectHistory[0].remark}</div>
|
||||
) : (
|
||||
<div className="text-sm text-white/40 italic">내용이 비어있습니다. 클릭하여 입력하세요.</div>
|
||||
)}
|
||||
</div>
|
||||
) : (
|
||||
<div className="text-white/50 text-sm text-center py-4">
|
||||
업무 내용이 없습니다. 새 내용을 등록하세요.
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
})
|
||||
)}
|
||||
@@ -452,6 +647,8 @@ export function Project() {
|
||||
onClose={handleCloseDialog}
|
||||
/>
|
||||
)}
|
||||
|
||||
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ const getStatusClass = (status: string): string => {
|
||||
|
||||
const getPriorityText = (seqno: number): string => {
|
||||
switch (seqno) {
|
||||
case -1: return '낮음';
|
||||
case 1: return '중요';
|
||||
case 2: return '매우 중요';
|
||||
case 3: return '긴급';
|
||||
@@ -46,6 +47,7 @@ const getPriorityText = (seqno: number): string => {
|
||||
|
||||
const getPriorityClass = (seqno: number): string => {
|
||||
switch (seqno) {
|
||||
case -1: return 'bg-white/5 text-white/40';
|
||||
case 1: return 'bg-primary-500/20 text-primary-300';
|
||||
case 2: return 'bg-warning-500/20 text-warning-300';
|
||||
case 3: return 'bg-danger-500/20 text-danger-300';
|
||||
@@ -561,9 +563,22 @@ function TodoModal({
|
||||
<Plus className="w-5 h-5 mr-2" />
|
||||
{title}
|
||||
</h2>
|
||||
<button onClick={onClose} className="text-white/70 hover:text-white transition-colors">
|
||||
<X className="w-6 h-6" />
|
||||
</button>
|
||||
<div className="flex items-center space-x-2">
|
||||
{isEdit && onComplete && currentStatus !== '5' && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={onComplete}
|
||||
disabled={processing}
|
||||
className="bg-success-500 hover:bg-success-600 text-white px-3 py-1.5 rounded-lg transition-colors flex items-center disabled:opacity-50 text-sm"
|
||||
>
|
||||
<CheckCircle className="w-4 h-4 mr-1" />
|
||||
완료 처리
|
||||
</button>
|
||||
)}
|
||||
<button onClick={onClose} className="text-white/70 hover:text-white transition-colors">
|
||||
<X className="w-6 h-6" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* 내용 */}
|
||||
@@ -640,10 +655,11 @@ function TodoModal({
|
||||
onChange={(e) => setFormData(prev => ({ ...prev, seqno: parseInt(e.target.value) as TodoPriority }))}
|
||||
className="w-full bg-white/20 backdrop-blur-sm border border-white/30 rounded-lg px-4 py-2 text-white focus:outline-none focus:ring-2 focus:ring-primary-400 transition-all"
|
||||
>
|
||||
<option value={0}>보통</option>
|
||||
<option value={1}>중요</option>
|
||||
<option value={2}>매우 중요</option>
|
||||
<option value={3}>긴급</option>
|
||||
<option value={2}>매우 중요</option>
|
||||
<option value={1}>중요</option>
|
||||
<option value={0}>보통</option>
|
||||
<option value={-1}>낮음</option>
|
||||
</select>
|
||||
</div>
|
||||
<div className="flex items-end">
|
||||
@@ -661,42 +677,8 @@ function TodoModal({
|
||||
</div>
|
||||
|
||||
{/* 푸터 */}
|
||||
<div className="px-6 py-4 border-t border-white/10 flex justify-between">
|
||||
{/* 왼쪽: 삭제 버튼 (편집 모드일 때만) */}
|
||||
<div>
|
||||
{isEdit && onDelete && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={onDelete}
|
||||
disabled={processing}
|
||||
className="bg-danger-500 hover:bg-danger-600 text-white px-4 py-2 rounded-lg transition-colors flex items-center disabled:opacity-50"
|
||||
>
|
||||
<Trash2 className="w-4 h-4 mr-2" />
|
||||
삭제
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* 오른쪽: 취소, 완료, 수정 버튼 */}
|
||||
<div className="px-6 py-4 border-t border-white/10 flex justify-end">
|
||||
<div className="flex space-x-3">
|
||||
<button
|
||||
type="button"
|
||||
onClick={onClose}
|
||||
className="bg-white/20 hover:bg-white/30 text-white px-4 py-2 rounded-lg transition-colors"
|
||||
>
|
||||
취소
|
||||
</button>
|
||||
{isEdit && onComplete && currentStatus !== '5' && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={onComplete}
|
||||
disabled={processing}
|
||||
className="bg-success-500 hover:bg-success-600 text-white px-4 py-2 rounded-lg transition-colors flex items-center disabled:opacity-50"
|
||||
>
|
||||
<CheckCircle className="w-4 h-4 mr-2" />
|
||||
완료 처리
|
||||
</button>
|
||||
)}
|
||||
<button
|
||||
type="button"
|
||||
onClick={onSubmit}
|
||||
@@ -710,6 +692,17 @@ function TodoModal({
|
||||
)}
|
||||
{submitText}
|
||||
</button>
|
||||
{isEdit && onDelete && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={onDelete}
|
||||
disabled={processing}
|
||||
className="bg-danger-500 hover:bg-danger-600 text-white px-4 py-2 rounded-lg transition-colors flex items-center disabled:opacity-50"
|
||||
>
|
||||
<Trash2 className="w-4 h-4 mr-2" />
|
||||
삭제
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -64,7 +64,7 @@ export interface PurchaseItem {
|
||||
|
||||
// 상태 관련 타입
|
||||
export type TodoStatus = '0' | '1' | '2' | '3' | '5';
|
||||
export type TodoPriority = 0 | 1 | 2 | 3;
|
||||
export type TodoPriority = -1 | 0 | 1 | 2 | 3;
|
||||
|
||||
// 로그 타입
|
||||
export interface LogEntry {
|
||||
@@ -447,6 +447,7 @@ export interface MachineBridgeInterface {
|
||||
Project_GetProcesses(): Promise<string>;
|
||||
Project_GetList(statusFilter: string, category: string, process: string, userFilter: string, yearStart: string, yearEnd: string, dateType: string): Promise<string>;
|
||||
Project_GetHistory(projectIdx: number): Promise<string>;
|
||||
Project_SaveHistory(idx: number, pidx: number, pdate: string, progress: number, remark: string): Promise<string>;
|
||||
Project_GetDailyMemo(projectIdx: number): Promise<string>;
|
||||
|
||||
// Note API (메모장)
|
||||
@@ -467,10 +468,26 @@ export interface MachineBridgeInterface {
|
||||
|
||||
// Mail API (메일 발신 내역)
|
||||
Mail_GetList(startDate: string, endDate: string, searchKey: string): Promise<string>;
|
||||
Mail_AddData(cate: string, subject: string, fromlist: string, tolist: string, cc: string, bcc: string, body: string): Promise<string>;
|
||||
Mail_SendDirect(cate: string, subject: string, fromlist: string, tolist: string, cc: string, bcc: string, body: string): Promise<string>;
|
||||
Mail_SendOutlook(subject: string, tolist: string, cc: string, bcc: string, body: string): Promise<string>;
|
||||
|
||||
// Customs API (업체정보)
|
||||
Customs_GetList(searchKey: string): Promise<string>;
|
||||
Customs_GetDetail(idx: number): Promise<string>;
|
||||
|
||||
// License API (라이선스 관리)
|
||||
License_GetList(): Promise<string>;
|
||||
License_Add(name: string, version: string, meterialNo: string, supply: string, qty: number, uids: string, serialNo: string, remark: string, sdate: string, edate: string, manu: string, expire: boolean): Promise<string>;
|
||||
License_Update(idx: number, name: string, version: string, meterialNo: string, supply: string, qty: number, uids: string, serialNo: string, remark: string, sdate: string, edate: string, manu: string, expire: boolean): Promise<string>;
|
||||
License_Delete(idx: number): Promise<string>;
|
||||
License_OpenFolder(idx: number): Promise<string>;
|
||||
License_ExportCSV(filePath: string): Promise<string>;
|
||||
|
||||
// PartList API (파트리스트)
|
||||
PartList_GetList(projectIdx: number): Promise<string>;
|
||||
PartList_Save(idx: number, projectIdx: number, itemgroup: string, itemname: string, item: string, itemmodel: string, itemscale: string, itemunit: string, qty: number, price: number, itemsupply: string, itemsupplyidx: number, itemmanu: string, itemsid: string, option1: string, remark: string, no: number, qtybuy: number): Promise<string>;
|
||||
PartList_Delete(idx: number): Promise<string>;
|
||||
}
|
||||
|
||||
// 사용자 권한 정보 타입
|
||||
@@ -503,6 +520,8 @@ export interface AppVersionInfo {
|
||||
ProductName: string;
|
||||
ProductVersion: string;
|
||||
DisplayVersion: string;
|
||||
MaxVersion?: string;
|
||||
HasNewVersion?: boolean;
|
||||
}
|
||||
|
||||
// 사용자 전체 정보 저장용 타입
|
||||
@@ -895,3 +914,48 @@ export interface CustomItem {
|
||||
name2: string;
|
||||
gcode: string;
|
||||
}
|
||||
|
||||
// 라이선스 타입
|
||||
export interface LicenseItem {
|
||||
idx?: number;
|
||||
gcode?: string;
|
||||
expire?: boolean;
|
||||
name?: string;
|
||||
version?: string;
|
||||
meterialNo?: string;
|
||||
supply?: string;
|
||||
qty?: number;
|
||||
uids?: string;
|
||||
serialNo?: string;
|
||||
remark?: string;
|
||||
sdate?: string;
|
||||
edate?: string;
|
||||
manu?: string;
|
||||
wuid?: string;
|
||||
wdate?: string;
|
||||
}
|
||||
|
||||
// 파트리스트 타입 (ProjectsPart 테이블)
|
||||
export interface PartListItem {
|
||||
idx: number;
|
||||
Project: number;
|
||||
itemgroup?: string;
|
||||
itemname: string;
|
||||
item: string; // 자재번호
|
||||
itemmodel?: string;
|
||||
itemscale?: string;
|
||||
itemunit?: string;
|
||||
qty?: number;
|
||||
price?: number;
|
||||
amt?: number; // 계산된 금액 (qty * price)
|
||||
itemsupply?: string;
|
||||
itemsupplyidx?: number;
|
||||
itemmanu?: string;
|
||||
itemsid?: string;
|
||||
option1?: string;
|
||||
remark?: string;
|
||||
no?: number;
|
||||
qtybuy?: number;
|
||||
wuid?: string;
|
||||
wdate?: string;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="CsvHelper" version="30.0.1" targetFramework="net46" />
|
||||
<package id="EntityFramework" version="6.2.0" targetFramework="net45" />
|
||||
@@ -9,9 +9,11 @@
|
||||
<package id="Microsoft.ReportingServices.ReportViewerControl.Winforms" version="150.1586.0" targetFramework="net46" />
|
||||
<package id="Microsoft.SqlServer.Types" version="14.0.314.76" targetFramework="net46" />
|
||||
<package id="Microsoft.Web.WebView2" version="1.0.2210.55" targetFramework="net46" />
|
||||
<package id="NetOfficeFw.Core" version="1.8.1" targetFramework="net46" />
|
||||
<package id="NetOfficeFw.Outlook" version="1.8.1" targetFramework="net46" />
|
||||
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net46" />
|
||||
<package id="System.Buffers" version="4.5.1" targetFramework="net46" />
|
||||
<package id="System.Memory" version="4.5.5" targetFramework="net46" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="4.7.1" targetFramework="net46" />
|
||||
<package id="System.ValueTuple" version="4.5.0" targetFramework="net46" />
|
||||
</packages>
|
||||
</packages>
|
||||
@@ -12,7 +12,7 @@ namespace Console_SendMail.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<Settings>
|
||||
<Setting Name="gwcs" Type="(Connection string)" Scope="Application">
|
||||
<DesignTimeValue Profile="(Default)"><?xml version="1.0" encoding="utf-16"?>
|
||||
<SerializableConnectionString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<ConnectionString>Data Source=K4FASQL.kr.ds.amkor.com,50150;Initial Catalog=EE;Persist Security Info=True;User ID=eeadm;Password=uJnU8a8q&amp;DJ+ug-D;Encrypt=False;TrustServerCertificate=True</ConnectionString>
|
||||
<ProviderName>System.Data.SqlClient</ProviderName>
|
||||
</SerializableConnectionString></DesignTimeValue>
|
||||
@@ -12,7 +12,7 @@
|
||||
</Setting>
|
||||
<Setting Name="cs" Type="(Connection string)" Scope="Application">
|
||||
<DesignTimeValue Profile="(Default)"><?xml version="1.0" encoding="utf-16"?>
|
||||
<SerializableConnectionString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<ConnectionString>Data Source=K4FASQL.kr.ds.amkor.com,50150;Initial Catalog=EE;Persist Security Info=True;User ID=eeadm;Password=uJnU8a8q&amp;DJ+ug-D;Encrypt=False;TrustServerCertificate=True</ConnectionString>
|
||||
</SerializableConnectionString></DesignTimeValue>
|
||||
<Value Profile="(Default)">Data Source=K4FASQL.kr.ds.amkor.com,50150;Initial Catalog=EE;Persist Security Info=True;User ID=eeadm;Password=uJnU8a8q&DJ+ug-D;Encrypt=False;TrustServerCertificate=True</Value>
|
||||
|
||||
@@ -185,18 +185,6 @@
|
||||
<Compile Include="Mail\fJRForm.Designer.cs">
|
||||
<DependentUpon>fJRForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Mail\fMailList.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Mail\fMailList.Designer.cs">
|
||||
<DependentUpon>fMailList.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Mail\fSendMail.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Mail\fSendMail.Designer.cs">
|
||||
<DependentUpon>fSendMail.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DSInventory.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
@@ -388,12 +376,6 @@
|
||||
<EmbeddedResource Include="Mail\fJRForm.resx">
|
||||
<DependentUpon>fJRForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Mail\fMailList.resx">
|
||||
<DependentUpon>fMailList.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Mail\fSendMail.resx">
|
||||
<DependentUpon>fSendMail.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="fCode.resx">
|
||||
<DependentUpon>fCode.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
525
SubProject/FCM0000/Mail/fMailList.Designer.cs
generated
525
SubProject/FCM0000/Mail/fMailList.Designer.cs
generated
@@ -1,525 +0,0 @@
|
||||
namespace FCM0000.Mail
|
||||
{
|
||||
partial class fMailList
|
||||
{
|
||||
/// <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();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fMailList));
|
||||
this.bn = new System.Windows.Forms.BindingNavigator(this.components);
|
||||
this.btAdd = new System.Windows.Forms.ToolStripButton();
|
||||
this.bs = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.dSMail = new FCM0000.DSMail();
|
||||
this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
|
||||
this.btDel = new System.Windows.Forms.ToolStripButton();
|
||||
this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.bindingNavigatorPositionItem = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.bindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.btSave = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
|
||||
this.tbFind = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.btRefresh = new System.Windows.Forms.Button();
|
||||
this.dtEd = new System.Windows.Forms.DateTimePicker();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.dtSd = new System.Windows.Forms.DateTimePicker();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.arDatagridView1 = new arCtl.arDatagridView();
|
||||
this.tam = new FCM0000.DSMailTableAdapters.TableAdapterManager();
|
||||
this.pdateDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.subjectDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.fromlistDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.tolistDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.ccDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.wuidDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.wdateDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.sendOKDataGridViewCheckBoxColumn = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.suid = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.sdate = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.cateDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.SendMsg2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bn)).BeginInit();
|
||||
this.bn.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dSMail)).BeginInit();
|
||||
this.panel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.arDatagridView1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// bn
|
||||
//
|
||||
this.bn.AddNewItem = this.btAdd;
|
||||
this.bn.BindingSource = this.bs;
|
||||
this.bn.CountItem = this.bindingNavigatorCountItem;
|
||||
this.bn.DeleteItem = this.btDel;
|
||||
this.bn.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.bn.ImageScalingSize = new System.Drawing.Size(32, 32);
|
||||
this.bn.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.bindingNavigatorMoveFirstItem,
|
||||
this.bindingNavigatorMovePreviousItem,
|
||||
this.bindingNavigatorSeparator,
|
||||
this.bindingNavigatorPositionItem,
|
||||
this.bindingNavigatorCountItem,
|
||||
this.bindingNavigatorSeparator1,
|
||||
this.bindingNavigatorMoveNextItem,
|
||||
this.bindingNavigatorMoveLastItem,
|
||||
this.bindingNavigatorSeparator2,
|
||||
this.btAdd,
|
||||
this.btDel,
|
||||
this.btSave,
|
||||
this.toolStripButton1,
|
||||
this.toolStripSeparator1,
|
||||
this.toolStripLabel1,
|
||||
this.tbFind,
|
||||
this.toolStripButton2});
|
||||
this.bn.Location = new System.Drawing.Point(0, 514);
|
||||
this.bn.MoveFirstItem = this.bindingNavigatorMoveFirstItem;
|
||||
this.bn.MoveLastItem = this.bindingNavigatorMoveLastItem;
|
||||
this.bn.MoveNextItem = this.bindingNavigatorMoveNextItem;
|
||||
this.bn.MovePreviousItem = this.bindingNavigatorMovePreviousItem;
|
||||
this.bn.Name = "bn";
|
||||
this.bn.PositionItem = this.bindingNavigatorPositionItem;
|
||||
this.bn.Size = new System.Drawing.Size(855, 39);
|
||||
this.bn.TabIndex = 0;
|
||||
this.bn.Text = "bindingNavigator1";
|
||||
//
|
||||
// btAdd
|
||||
//
|
||||
this.btAdd.Image = ((System.Drawing.Image)(resources.GetObject("btAdd.Image")));
|
||||
this.btAdd.Name = "btAdd";
|
||||
this.btAdd.RightToLeftAutoMirrorImage = true;
|
||||
this.btAdd.Size = new System.Drawing.Size(79, 36);
|
||||
this.btAdd.Text = "테스트";
|
||||
this.btAdd.Click += new System.EventHandler(this.btAdd_Click);
|
||||
//
|
||||
// bs
|
||||
//
|
||||
this.bs.DataMember = "MailData";
|
||||
this.bs.DataSource = this.dSMail;
|
||||
this.bs.Sort = "wdate desc,pdate";
|
||||
//
|
||||
// dSMail
|
||||
//
|
||||
this.dSMail.DataSetName = "DSMail";
|
||||
this.dSMail.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
|
||||
//
|
||||
// bindingNavigatorCountItem
|
||||
//
|
||||
this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem";
|
||||
this.bindingNavigatorCountItem.Size = new System.Drawing.Size(27, 36);
|
||||
this.bindingNavigatorCountItem.Text = "/{0}";
|
||||
this.bindingNavigatorCountItem.ToolTipText = "전체 항목 수";
|
||||
//
|
||||
// btDel
|
||||
//
|
||||
this.btDel.Enabled = false;
|
||||
this.btDel.Image = ((System.Drawing.Image)(resources.GetObject("btDel.Image")));
|
||||
this.btDel.Name = "btDel";
|
||||
this.btDel.RightToLeftAutoMirrorImage = true;
|
||||
this.btDel.Size = new System.Drawing.Size(67, 36);
|
||||
this.btDel.Text = "삭제";
|
||||
//
|
||||
// bindingNavigatorMoveFirstItem
|
||||
//
|
||||
this.bindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.bindingNavigatorMoveFirstItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveFirstItem.Image")));
|
||||
this.bindingNavigatorMoveFirstItem.Name = "bindingNavigatorMoveFirstItem";
|
||||
this.bindingNavigatorMoveFirstItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorMoveFirstItem.Size = new System.Drawing.Size(36, 36);
|
||||
this.bindingNavigatorMoveFirstItem.Text = "처음으로 이동";
|
||||
//
|
||||
// bindingNavigatorMovePreviousItem
|
||||
//
|
||||
this.bindingNavigatorMovePreviousItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.bindingNavigatorMovePreviousItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMovePreviousItem.Image")));
|
||||
this.bindingNavigatorMovePreviousItem.Name = "bindingNavigatorMovePreviousItem";
|
||||
this.bindingNavigatorMovePreviousItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorMovePreviousItem.Size = new System.Drawing.Size(36, 36);
|
||||
this.bindingNavigatorMovePreviousItem.Text = "이전으로 이동";
|
||||
//
|
||||
// bindingNavigatorSeparator
|
||||
//
|
||||
this.bindingNavigatorSeparator.Name = "bindingNavigatorSeparator";
|
||||
this.bindingNavigatorSeparator.Size = new System.Drawing.Size(6, 39);
|
||||
//
|
||||
// bindingNavigatorPositionItem
|
||||
//
|
||||
this.bindingNavigatorPositionItem.AccessibleName = "위치";
|
||||
this.bindingNavigatorPositionItem.AutoSize = false;
|
||||
this.bindingNavigatorPositionItem.Font = new System.Drawing.Font("맑은 고딕", 9F);
|
||||
this.bindingNavigatorPositionItem.Name = "bindingNavigatorPositionItem";
|
||||
this.bindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 23);
|
||||
this.bindingNavigatorPositionItem.Text = "0";
|
||||
this.bindingNavigatorPositionItem.ToolTipText = "현재 위치";
|
||||
//
|
||||
// bindingNavigatorSeparator1
|
||||
//
|
||||
this.bindingNavigatorSeparator1.Name = "bindingNavigatorSeparator1";
|
||||
this.bindingNavigatorSeparator1.Size = new System.Drawing.Size(6, 39);
|
||||
//
|
||||
// bindingNavigatorMoveNextItem
|
||||
//
|
||||
this.bindingNavigatorMoveNextItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.bindingNavigatorMoveNextItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveNextItem.Image")));
|
||||
this.bindingNavigatorMoveNextItem.Name = "bindingNavigatorMoveNextItem";
|
||||
this.bindingNavigatorMoveNextItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorMoveNextItem.Size = new System.Drawing.Size(36, 36);
|
||||
this.bindingNavigatorMoveNextItem.Text = "다음으로 이동";
|
||||
//
|
||||
// bindingNavigatorMoveLastItem
|
||||
//
|
||||
this.bindingNavigatorMoveLastItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.bindingNavigatorMoveLastItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveLastItem.Image")));
|
||||
this.bindingNavigatorMoveLastItem.Name = "bindingNavigatorMoveLastItem";
|
||||
this.bindingNavigatorMoveLastItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorMoveLastItem.Size = new System.Drawing.Size(36, 36);
|
||||
this.bindingNavigatorMoveLastItem.Text = "마지막으로 이동";
|
||||
//
|
||||
// bindingNavigatorSeparator2
|
||||
//
|
||||
this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator2";
|
||||
this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 39);
|
||||
//
|
||||
// btSave
|
||||
//
|
||||
this.btSave.Enabled = false;
|
||||
this.btSave.Image = ((System.Drawing.Image)(resources.GetObject("btSave.Image")));
|
||||
this.btSave.Name = "btSave";
|
||||
this.btSave.Size = new System.Drawing.Size(67, 36);
|
||||
this.btSave.Text = "저장";
|
||||
this.btSave.Click += new System.EventHandler(this.mailDataBindingNavigatorSaveItem_Click);
|
||||
//
|
||||
// toolStripButton1
|
||||
//
|
||||
this.toolStripButton1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
|
||||
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton1.Name = "toolStripButton1";
|
||||
this.toolStripButton1.Size = new System.Drawing.Size(119, 36);
|
||||
this.toolStripButton1.Text = "목록 내보내기";
|
||||
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 39);
|
||||
//
|
||||
// toolStripLabel1
|
||||
//
|
||||
this.toolStripLabel1.Name = "toolStripLabel1";
|
||||
this.toolStripLabel1.Size = new System.Drawing.Size(31, 36);
|
||||
this.toolStripLabel1.Text = "검색";
|
||||
//
|
||||
// tbFind
|
||||
//
|
||||
this.tbFind.Font = new System.Drawing.Font("맑은 고딕", 9F);
|
||||
this.tbFind.Name = "tbFind";
|
||||
this.tbFind.Size = new System.Drawing.Size(120, 39);
|
||||
this.tbFind.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tbFind_KeyDown_1);
|
||||
//
|
||||
// toolStripButton2
|
||||
//
|
||||
this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
|
||||
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton2.Name = "toolStripButton2";
|
||||
this.toolStripButton2.Size = new System.Drawing.Size(36, 36);
|
||||
this.toolStripButton2.Text = "toolStripButton2";
|
||||
this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click);
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.button1);
|
||||
this.panel1.Controls.Add(this.btRefresh);
|
||||
this.panel1.Controls.Add(this.dtEd);
|
||||
this.panel1.Controls.Add(this.label2);
|
||||
this.panel1.Controls.Add(this.dtSd);
|
||||
this.panel1.Controls.Add(this.label1);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(855, 36);
|
||||
this.panel1.TabIndex = 3;
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.button1.Location = new System.Drawing.Point(785, 7);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(64, 21);
|
||||
this.button1.TabIndex = 5;
|
||||
this.button1.Text = "닫기";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// btRefresh
|
||||
//
|
||||
this.btRefresh.Location = new System.Drawing.Point(482, 9);
|
||||
this.btRefresh.Name = "btRefresh";
|
||||
this.btRefresh.Size = new System.Drawing.Size(64, 21);
|
||||
this.btRefresh.TabIndex = 4;
|
||||
this.btRefresh.Text = "조회";
|
||||
this.btRefresh.UseVisualStyleBackColor = true;
|
||||
this.btRefresh.Click += new System.EventHandler(this.btRefresh_Click);
|
||||
//
|
||||
// dtEd
|
||||
//
|
||||
this.dtEd.Location = new System.Drawing.Point(273, 9);
|
||||
this.dtEd.Name = "dtEd";
|
||||
this.dtEd.Size = new System.Drawing.Size(200, 21);
|
||||
this.dtEd.TabIndex = 3;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(253, 13);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(14, 12);
|
||||
this.label2.TabIndex = 2;
|
||||
this.label2.Text = "~";
|
||||
//
|
||||
// dtSd
|
||||
//
|
||||
this.dtSd.Location = new System.Drawing.Point(45, 7);
|
||||
this.dtSd.Name = "dtSd";
|
||||
this.dtSd.Size = new System.Drawing.Size(200, 21);
|
||||
this.dtSd.TabIndex = 1;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(10, 12);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(29, 12);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "기간";
|
||||
//
|
||||
// arDatagridView1
|
||||
//
|
||||
this.arDatagridView1.A_DelCurrentCell = true;
|
||||
this.arDatagridView1.A_EnterToTab = true;
|
||||
this.arDatagridView1.A_KoreanField = null;
|
||||
this.arDatagridView1.A_UpperField = null;
|
||||
this.arDatagridView1.A_ViewRownumOnHeader = true;
|
||||
this.arDatagridView1.AllowUserToAddRows = false;
|
||||
this.arDatagridView1.AllowUserToDeleteRows = false;
|
||||
this.arDatagridView1.AutoGenerateColumns = false;
|
||||
this.arDatagridView1.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.arDatagridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.arDatagridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.pdateDataGridViewTextBoxColumn,
|
||||
this.subjectDataGridViewTextBoxColumn,
|
||||
this.fromlistDataGridViewTextBoxColumn,
|
||||
this.tolistDataGridViewTextBoxColumn,
|
||||
this.ccDataGridViewTextBoxColumn,
|
||||
this.wuidDataGridViewTextBoxColumn,
|
||||
this.wdateDataGridViewTextBoxColumn,
|
||||
this.sendOKDataGridViewCheckBoxColumn,
|
||||
this.suid,
|
||||
this.sdate,
|
||||
this.cateDataGridViewTextBoxColumn,
|
||||
this.SendMsg2});
|
||||
this.arDatagridView1.DataSource = this.bs;
|
||||
this.arDatagridView1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.arDatagridView1.Location = new System.Drawing.Point(0, 36);
|
||||
this.arDatagridView1.Name = "arDatagridView1";
|
||||
this.arDatagridView1.ReadOnly = true;
|
||||
this.arDatagridView1.RowTemplate.Height = 23;
|
||||
this.arDatagridView1.Size = new System.Drawing.Size(855, 478);
|
||||
this.arDatagridView1.TabIndex = 4;
|
||||
//
|
||||
// tam
|
||||
//
|
||||
this.tam.BackupDataSetBeforeUpdate = false;
|
||||
this.tam.Connection = null;
|
||||
this.tam.MailAutoTableAdapter = null;
|
||||
this.tam.MailDataTableAdapter = null;
|
||||
this.tam.MailFormTableAdapter = null;
|
||||
this.tam.UpdateOrder = FCM0000.DSMailTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
|
||||
//
|
||||
// pdateDataGridViewTextBoxColumn
|
||||
//
|
||||
this.pdateDataGridViewTextBoxColumn.DataPropertyName = "pdate";
|
||||
this.pdateDataGridViewTextBoxColumn.HeaderText = "등록일";
|
||||
this.pdateDataGridViewTextBoxColumn.Name = "pdateDataGridViewTextBoxColumn";
|
||||
this.pdateDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
//
|
||||
// subjectDataGridViewTextBoxColumn
|
||||
//
|
||||
this.subjectDataGridViewTextBoxColumn.DataPropertyName = "subject";
|
||||
this.subjectDataGridViewTextBoxColumn.HeaderText = "제목";
|
||||
this.subjectDataGridViewTextBoxColumn.Name = "subjectDataGridViewTextBoxColumn";
|
||||
this.subjectDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
//
|
||||
// fromlistDataGridViewTextBoxColumn
|
||||
//
|
||||
this.fromlistDataGridViewTextBoxColumn.DataPropertyName = "fromlist";
|
||||
this.fromlistDataGridViewTextBoxColumn.HeaderText = "From";
|
||||
this.fromlistDataGridViewTextBoxColumn.Name = "fromlistDataGridViewTextBoxColumn";
|
||||
this.fromlistDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
//
|
||||
// tolistDataGridViewTextBoxColumn
|
||||
//
|
||||
this.tolistDataGridViewTextBoxColumn.DataPropertyName = "tolist";
|
||||
this.tolistDataGridViewTextBoxColumn.HeaderText = "To";
|
||||
this.tolistDataGridViewTextBoxColumn.Name = "tolistDataGridViewTextBoxColumn";
|
||||
this.tolistDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
//
|
||||
// ccDataGridViewTextBoxColumn
|
||||
//
|
||||
this.ccDataGridViewTextBoxColumn.DataPropertyName = "cc";
|
||||
this.ccDataGridViewTextBoxColumn.HeaderText = "CC";
|
||||
this.ccDataGridViewTextBoxColumn.Name = "ccDataGridViewTextBoxColumn";
|
||||
this.ccDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
//
|
||||
// wuidDataGridViewTextBoxColumn
|
||||
//
|
||||
this.wuidDataGridViewTextBoxColumn.DataPropertyName = "wuid";
|
||||
this.wuidDataGridViewTextBoxColumn.HeaderText = "작성자";
|
||||
this.wuidDataGridViewTextBoxColumn.Name = "wuidDataGridViewTextBoxColumn";
|
||||
this.wuidDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
//
|
||||
// wdateDataGridViewTextBoxColumn
|
||||
//
|
||||
this.wdateDataGridViewTextBoxColumn.DataPropertyName = "wdate";
|
||||
this.wdateDataGridViewTextBoxColumn.HeaderText = "작성일";
|
||||
this.wdateDataGridViewTextBoxColumn.Name = "wdateDataGridViewTextBoxColumn";
|
||||
this.wdateDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
//
|
||||
// sendOKDataGridViewCheckBoxColumn
|
||||
//
|
||||
this.sendOKDataGridViewCheckBoxColumn.DataPropertyName = "SendOK2";
|
||||
this.sendOKDataGridViewCheckBoxColumn.HeaderText = "전송";
|
||||
this.sendOKDataGridViewCheckBoxColumn.Name = "sendOKDataGridViewCheckBoxColumn";
|
||||
this.sendOKDataGridViewCheckBoxColumn.ReadOnly = true;
|
||||
//
|
||||
// suid
|
||||
//
|
||||
this.suid.DataPropertyName = "suid2";
|
||||
this.suid.HeaderText = "전송자";
|
||||
this.suid.Name = "suid";
|
||||
this.suid.ReadOnly = true;
|
||||
//
|
||||
// sdate
|
||||
//
|
||||
this.sdate.DataPropertyName = "sdate2";
|
||||
this.sdate.HeaderText = "전송시간";
|
||||
this.sdate.Name = "sdate";
|
||||
this.sdate.ReadOnly = true;
|
||||
//
|
||||
// cateDataGridViewTextBoxColumn
|
||||
//
|
||||
this.cateDataGridViewTextBoxColumn.DataPropertyName = "cate";
|
||||
this.cateDataGridViewTextBoxColumn.HeaderText = "분류";
|
||||
this.cateDataGridViewTextBoxColumn.Name = "cateDataGridViewTextBoxColumn";
|
||||
this.cateDataGridViewTextBoxColumn.ReadOnly = true;
|
||||
//
|
||||
// SendMsg2
|
||||
//
|
||||
this.SendMsg2.DataPropertyName = "SendMsg2";
|
||||
this.SendMsg2.HeaderText = "Message";
|
||||
this.SendMsg2.Name = "SendMsg2";
|
||||
this.SendMsg2.ReadOnly = true;
|
||||
//
|
||||
// fMailList
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(855, 553);
|
||||
this.Controls.Add(this.arDatagridView1);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.bn);
|
||||
this.Name = "fMailList";
|
||||
this.Text = "메일 발신 내역";
|
||||
this.Load += new System.EventHandler(this.@__Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.bn)).EndInit();
|
||||
this.bn.ResumeLayout(false);
|
||||
this.bn.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dSMail)).EndInit();
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.arDatagridView1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DSMail dSMail;
|
||||
private System.Windows.Forms.BindingSource bs;
|
||||
private DSMailTableAdapters.TableAdapterManager tam;
|
||||
private System.Windows.Forms.BindingNavigator bn;
|
||||
private System.Windows.Forms.ToolStripButton btAdd;
|
||||
private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
|
||||
private System.Windows.Forms.ToolStripButton btDel;
|
||||
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem;
|
||||
private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem;
|
||||
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator;
|
||||
private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem;
|
||||
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1;
|
||||
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem;
|
||||
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem;
|
||||
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2;
|
||||
private System.Windows.Forms.ToolStripButton btSave;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.DateTimePicker dtEd;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.DateTimePicker dtSd;
|
||||
private System.Windows.Forms.Button btRefresh;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private arCtl.arDatagridView arDatagridView1;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton1;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
private System.Windows.Forms.ToolStripLabel toolStripLabel1;
|
||||
private System.Windows.Forms.ToolStripTextBox tbFind;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton2;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn pdateDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn subjectDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn fromlistDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn tolistDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn ccDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn wuidDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn wdateDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn sendOKDataGridViewCheckBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn suid;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn sdate;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn cateDataGridViewTextBoxColumn;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn SendMsg2;
|
||||
}
|
||||
}
|
||||
@@ -1,147 +0,0 @@
|
||||
using FCOMMON;
|
||||
using NetOffice.OutlookApi;
|
||||
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 FCM0000.Mail
|
||||
{
|
||||
public partial class fMailList : fBase
|
||||
{
|
||||
string fn_fpcolsize = "";
|
||||
public fMailList()
|
||||
{
|
||||
InitializeComponent();
|
||||
Properties.Settings.Default["gwcs"] = FCOMMON.info.CS;
|
||||
this.FormClosed += fAutoSendSetting_FormClosed;
|
||||
fn_fpcolsize = System.IO.Path.Combine(FCOMMON.Util.CurrentPath, "formSetting", "fp_" + this.Name + ".ini");
|
||||
}
|
||||
|
||||
void fAutoSendSetting_FormClosed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
//FCOMMON.Util.FPColsizeSave(this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
private void mailDataBindingNavigatorSaveItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Validate();
|
||||
this.bs.EndEdit();
|
||||
this.tam.UpdateAll(this.dSMail);
|
||||
|
||||
}
|
||||
private void __Load(object sender, EventArgs e)
|
||||
{
|
||||
EnsureVisibleAndUsableSize();
|
||||
this.dtEd.Value = DateTime.Now;
|
||||
this.dtSd.Value = DateTime.Now.AddDays(-10);
|
||||
refreshData();
|
||||
}
|
||||
|
||||
private void fillToolStripButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
void refreshData()
|
||||
{
|
||||
try
|
||||
{
|
||||
var ta = new DSMailTableAdapters.MailDataTableAdapter();
|
||||
ta.Fill(this.dSMail.MailData, FCOMMON.info.Login.gcode, dtSd.Value.ToShortDateString(), dtEd.Value.ToShortDateString(), "%");
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(ex.Message);
|
||||
}
|
||||
this.arDatagridView1.AutoResizeColumns();
|
||||
// FCOMMON.Util.FPColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
private void btRefresh_Click(object sender, EventArgs e)
|
||||
{
|
||||
refreshData();
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void btFind_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
void find()
|
||||
{
|
||||
var txt = tbFind.Text.Trim();
|
||||
if (txt.isEmpty())
|
||||
{
|
||||
bs.Filter = "";
|
||||
tbFind.BackColor = Color.White;
|
||||
}
|
||||
else
|
||||
{
|
||||
var cols = new string[] { "subject", "fromlist", "tolist", "cate" };
|
||||
var where = string.Join(" like @ or ", cols) + " like @";
|
||||
where = where.Replace("@", $"'%{txt.Replace("'", "''")}%'");
|
||||
|
||||
try
|
||||
{
|
||||
bs.Filter = where;
|
||||
tbFind.BackColor = Color.Lime;
|
||||
}
|
||||
catch
|
||||
{
|
||||
bs.Filter = "";
|
||||
tbFind.BackColor = Color.HotPink;
|
||||
}
|
||||
|
||||
}
|
||||
tbFind.SelectAll();
|
||||
tbFind.Focus();
|
||||
|
||||
}
|
||||
|
||||
private void tbFind_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click(object sender, EventArgs e)
|
||||
{
|
||||
var fn = "export_mail_data.csv";
|
||||
using (var sd = new SaveFileDialog() { FileName = fn, RestoreDirectory = true })
|
||||
{
|
||||
if (sd.ShowDialog() != DialogResult.OK) return;
|
||||
arDatagridView1.ExportData(sd.FileName);
|
||||
var dlg = Util.MsgQ("생성된 파일을 확인 할까요?");
|
||||
if (dlg == DialogResult.Yes) Util.RunExplorer(sd.FileName);
|
||||
}
|
||||
}
|
||||
|
||||
private void toolStripButton2_Click(object sender, EventArgs e)
|
||||
{
|
||||
find();
|
||||
}
|
||||
|
||||
private void tbFind_KeyDown_1(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter) find();
|
||||
}
|
||||
|
||||
private void btAdd_Click(object sender, EventArgs e)
|
||||
{
|
||||
using (var f = new fSendMail())
|
||||
f.ShowDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,250 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>245, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="btAdd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vQAADr0BR/uQrQAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
|
||||
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++
|
||||
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ
|
||||
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA
|
||||
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/
|
||||
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E
|
||||
rkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>179, 17</value>
|
||||
</metadata>
|
||||
<metadata name="dSMail.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>90, 17</value>
|
||||
</metadata>
|
||||
<data name="btDel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vQAADr0BR/uQrQAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
|
||||
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC
|
||||
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV
|
||||
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG
|
||||
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG
|
||||
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX
|
||||
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vQAADr0BR/uQrQAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
|
||||
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
|
||||
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
|
||||
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
|
||||
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
|
||||
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vQAADr0BR/uQrQAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
|
||||
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
|
||||
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
|
||||
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vQAADr0BR/uQrQAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
|
||||
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
|
||||
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
|
||||
oAc0QjgAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vQAADr0BR/uQrQAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
|
||||
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
|
||||
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
|
||||
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
|
||||
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
|
||||
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vQAADr0BR/uQrQAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo
|
||||
dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIESURBVFhH7ZXLK0RxFMfnD7GQlY2dmMkMTVnIu6QsyCsb
|
||||
pZTyTLaKGY0xxivlubCY8SwWFEqR8S6xkdyRVyhGKI75HXdu5vqpyT0/G/c7fere0+/c87m3+7tj0CMq
|
||||
pnZTbKItqY6EjpRo+bJ0MdnM+Ua7GbRi6bRCYrv5NN5ujpEvTRMqQe/BFKT3ZNFLUgluSJvg8/voJSkF
|
||||
LwKX9JLUguSSIgRJJUUJkkmKFPwqaWxLOklwpETJYyMPlWDv2gB49rxcOpYdYLJbgM2Sx0YeKsFI0AW1
|
||||
ogtq5f8KNs+1gGvVjaS5M5R6tadGqecPFoT18BAm2DjbDKEMrQ9jzepMhdvALdb89+dgcVi/9akRJsjY
|
||||
lnZQ5un1CZ+ic8WF5yzsBng9aoQKFo+Wwdv7GwqNbo7D9eMNHu+f7+O/BK9HjVBBxvzhAkqF8h78lY1X
|
||||
cNfyEC6Y05+nPEWWxaMl7rqfEC7YMNMkq31GuvdHtDlCCBVkItKdhGKh94/FueziruchVLBrpVtWAqid
|
||||
qgff2RYeB14CkNGbze1RI0wwzZ0JD8+PKHR8dYy7tnKiCs9ZPLtebp8aYYLe3UlZBaBuulGpb51tY41t
|
||||
nMLh4rAeHsIEi0ZKoWSsHPn6zUvvyVbqmX25YT08hAlSoQtqRRfUii6olV8JGm3JccHm1j8hOEseq4c4
|
||||
BsMH9in5LvAGb8kAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL1SURBVEhLtVZbTxNBFCZeYrxEjY8++KKiMfHFRAgvCv4H
|
||||
o/4Bn9RoDBETzcQgRmjLtrbQVuwFygKloZZud5dLJYZCdxce5NpCQMrFpLyYlKeSCFl7mmlizEB3YPsl
|
||||
XyY7e+b7MufMnN0yPfDC5D/52ui8/q6lpwZGeMav9Mf93t6jjE947hVkMTCeXI/OpLfHUlsqjPDsys0z
|
||||
nZFnCKEjeMnh0dQerPIOKJKS2tqZ/q2qe1FJZXbcvBT/0B6uwksPDsYnPgpP/lwnGe3FoLSwZmaFh1iC
|
||||
HgZ3+HZIWVwliRdjcGL5VxN7gJ1DTSG9JFGthLRT1xwOUrGaFqO8ktmBA4cltcHDSwMkMVp6eVnEksXx
|
||||
0tBxOhhLbJCEaAlXTfM9r238cu3b7OY2SYiW4kw6W9vovoql9wdq7bo3lsoQhWgZW8moyNpdjaX3R53x
|
||||
c/nAzGaWJERLcSqdrTO1XcHS+wMh5ymoDUmIln3x5BpVL4feSxKipUeUeSypDXD/oPeSxLRSTmX+mDv4
|
||||
J1hSG6DjuMTDdS6PII1Td67cgmNGT/9wv7xIFC3G0MTyBnWvfmqxnGjuCHFcfFb1RyfV8MQSUXwvwteJ
|
||||
6eYfYDltgBNt8H4VOWlWFZSEysXn1CZPKObi4hL0XpJRgVBTSK/BFarEctqAGM/53E5jEWkubwqj0R0a
|
||||
hAxAreDAuUVZgCsiTqez8AcCY1BKrkJPhoNEX1NT2wUry49G5Pm8KS/Nq80+boh0B2EOmgyyd1fDeOB/
|
||||
LmTtumjt4hWhYKrMq2Y2MopstjM4RH/UW7yXbX5+is8ZgimYmzvDk5ABHKI/Guy+G3b/4FzeML/ThGpj
|
||||
+SnIAA7RH+8dPbccgWiiYAq0B8QfyNx+CYfoj3pH5x1H3/DSf6aJ3OerHIfoj1cfnedaA9HFf03bgtHk
|
||||
G6v/Jg4pDd4yrsrAiLxbMHXldo4+sRX4denw2Ok8zvi4770j0q6zb2ihoYW9i1+VHmCOTN4KZPGdxVMl
|
||||
RlnZX9i+Wt0gvITgAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="dSMail.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>90, 17</value>
|
||||
</metadata>
|
||||
<metadata name="suid.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="sdate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="SendMsg2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="tam.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
295
SubProject/FCM0000/Mail/fSendMail.Designer.cs
generated
295
SubProject/FCM0000/Mail/fSendMail.Designer.cs
generated
@@ -1,295 +0,0 @@
|
||||
namespace FCM0000
|
||||
{
|
||||
partial class fSendMail
|
||||
{
|
||||
/// <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();
|
||||
System.Windows.Forms.Label tolistLabel;
|
||||
System.Windows.Forms.Label bccLabel;
|
||||
System.Windows.Forms.Label ccLabel;
|
||||
System.Windows.Forms.Label subjectLabel;
|
||||
System.Windows.Forms.Label bodyLabel;
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fSendMail));
|
||||
this.bn = new System.Windows.Forms.BindingNavigator(this.components);
|
||||
this.bs = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.dsMSSQL = new FCM0000.DSMail();
|
||||
this.btSend = new System.Windows.Forms.ToolStripButton();
|
||||
this.btOUtlook = new System.Windows.Forms.ToolStripButton();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.tbBody = new YARTE.UI.HtmlEditor();
|
||||
this.tbTo = new System.Windows.Forms.TextBox();
|
||||
this.tbBCC = new System.Windows.Forms.TextBox();
|
||||
this.tbCC = new System.Windows.Forms.TextBox();
|
||||
this.tbSubject = new System.Windows.Forms.TextBox();
|
||||
this.tam = new FCM0000.DSMailTableAdapters.TableAdapterManager();
|
||||
this.ta = new FCM0000.DSMailTableAdapters.MailDataTableAdapter();
|
||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||
tolistLabel = new System.Windows.Forms.Label();
|
||||
bccLabel = new System.Windows.Forms.Label();
|
||||
ccLabel = new System.Windows.Forms.Label();
|
||||
subjectLabel = new System.Windows.Forms.Label();
|
||||
bodyLabel = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bn)).BeginInit();
|
||||
this.bn.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dsMSSQL)).BeginInit();
|
||||
this.panel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tolistLabel
|
||||
//
|
||||
tolistLabel.AutoSize = true;
|
||||
tolistLabel.Location = new System.Drawing.Point(30, 15);
|
||||
tolistLabel.Name = "tolistLabel";
|
||||
tolistLabel.Size = new System.Drawing.Size(35, 12);
|
||||
tolistLabel.TabIndex = 0;
|
||||
tolistLabel.Text = "tolist:";
|
||||
//
|
||||
// bccLabel
|
||||
//
|
||||
bccLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
bccLabel.AutoSize = true;
|
||||
bccLabel.Location = new System.Drawing.Point(35, 467);
|
||||
bccLabel.Name = "bccLabel";
|
||||
bccLabel.Size = new System.Drawing.Size(30, 12);
|
||||
bccLabel.TabIndex = 8;
|
||||
bccLabel.Text = "bcc:";
|
||||
//
|
||||
// ccLabel
|
||||
//
|
||||
ccLabel.AutoSize = true;
|
||||
ccLabel.Location = new System.Drawing.Point(42, 43);
|
||||
ccLabel.Name = "ccLabel";
|
||||
ccLabel.Size = new System.Drawing.Size(23, 12);
|
||||
ccLabel.TabIndex = 2;
|
||||
ccLabel.Text = "cc:";
|
||||
//
|
||||
// subjectLabel
|
||||
//
|
||||
subjectLabel.AutoSize = true;
|
||||
subjectLabel.Location = new System.Drawing.Point(15, 71);
|
||||
subjectLabel.Name = "subjectLabel";
|
||||
subjectLabel.Size = new System.Drawing.Size(50, 12);
|
||||
subjectLabel.TabIndex = 4;
|
||||
subjectLabel.Text = "subject:";
|
||||
//
|
||||
// bodyLabel
|
||||
//
|
||||
bodyLabel.AutoSize = true;
|
||||
bodyLabel.Location = new System.Drawing.Point(28, 97);
|
||||
bodyLabel.Name = "bodyLabel";
|
||||
bodyLabel.Size = new System.Drawing.Size(37, 12);
|
||||
bodyLabel.TabIndex = 6;
|
||||
bodyLabel.Text = "body:";
|
||||
//
|
||||
// bn
|
||||
//
|
||||
this.bn.AddNewItem = null;
|
||||
this.bn.BindingSource = this.bs;
|
||||
this.bn.CountItem = null;
|
||||
this.bn.DeleteItem = null;
|
||||
this.bn.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.bn.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.btSend,
|
||||
this.btOUtlook,
|
||||
this.toolStripButton1});
|
||||
this.bn.Location = new System.Drawing.Point(0, 498);
|
||||
this.bn.MoveFirstItem = null;
|
||||
this.bn.MoveLastItem = null;
|
||||
this.bn.MoveNextItem = null;
|
||||
this.bn.MovePreviousItem = null;
|
||||
this.bn.Name = "bn";
|
||||
this.bn.PositionItem = null;
|
||||
this.bn.Size = new System.Drawing.Size(579, 25);
|
||||
this.bn.TabIndex = 0;
|
||||
this.bn.Text = "bindingNavigator1";
|
||||
//
|
||||
// bs
|
||||
//
|
||||
this.bs.DataMember = "MailData";
|
||||
this.bs.DataSource = this.dsMSSQL;
|
||||
//
|
||||
// dsMSSQL
|
||||
//
|
||||
this.dsMSSQL.DataSetName = "dsMSSQL";
|
||||
this.dsMSSQL.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
|
||||
//
|
||||
// btSend
|
||||
//
|
||||
this.btSend.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.btSend.Image = ((System.Drawing.Image)(resources.GetObject("btSend.Image")));
|
||||
this.btSend.Name = "btSend";
|
||||
this.btSend.Size = new System.Drawing.Size(69, 22);
|
||||
this.btSend.Text = "Send(&S)";
|
||||
this.btSend.Click += new System.EventHandler(this.mailFormBindingNavigatorSaveItem_Click);
|
||||
//
|
||||
// btOUtlook
|
||||
//
|
||||
this.btOUtlook.Image = global::FCM0000.Properties.Resources.action_refresh;
|
||||
this.btOUtlook.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btOUtlook.Name = "btOUtlook";
|
||||
this.btOUtlook.Size = new System.Drawing.Size(90, 22);
|
||||
this.btOUtlook.Text = "To OutLook";
|
||||
this.btOUtlook.Click += new System.EventHandler(this.toolStripButton1_Click_1);
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Controls.Add(this.tbBody);
|
||||
this.panel1.Controls.Add(tolistLabel);
|
||||
this.panel1.Controls.Add(this.tbTo);
|
||||
this.panel1.Controls.Add(bccLabel);
|
||||
this.panel1.Controls.Add(this.tbBCC);
|
||||
this.panel1.Controls.Add(ccLabel);
|
||||
this.panel1.Controls.Add(this.tbCC);
|
||||
this.panel1.Controls.Add(subjectLabel);
|
||||
this.panel1.Controls.Add(this.tbSubject);
|
||||
this.panel1.Controls.Add(bodyLabel);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(579, 498);
|
||||
this.panel1.TabIndex = 1;
|
||||
//
|
||||
// tbBody
|
||||
//
|
||||
this.tbBody.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tbBody.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.tbBody.Html = "";
|
||||
this.tbBody.Location = new System.Drawing.Point(74, 97);
|
||||
this.tbBody.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
this.tbBody.Name = "tbBody";
|
||||
this.tbBody.ReadOnly = false;
|
||||
this.tbBody.ShowToolbar = true;
|
||||
this.tbBody.Size = new System.Drawing.Size(493, 361);
|
||||
this.tbBody.TabIndex = 7;
|
||||
//
|
||||
// tbTo
|
||||
//
|
||||
this.tbTo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tbTo.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "tolist", true));
|
||||
this.tbTo.Location = new System.Drawing.Point(74, 12);
|
||||
this.tbTo.Name = "tbTo";
|
||||
this.tbTo.Size = new System.Drawing.Size(493, 21);
|
||||
this.tbTo.TabIndex = 1;
|
||||
//
|
||||
// tbBCC
|
||||
//
|
||||
this.tbBCC.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tbBCC.BackColor = System.Drawing.Color.SkyBlue;
|
||||
this.tbBCC.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "bcc", true));
|
||||
this.tbBCC.Location = new System.Drawing.Point(74, 464);
|
||||
this.tbBCC.Name = "tbBCC";
|
||||
this.tbBCC.Size = new System.Drawing.Size(493, 21);
|
||||
this.tbBCC.TabIndex = 9;
|
||||
//
|
||||
// tbCC
|
||||
//
|
||||
this.tbCC.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tbCC.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "cc", true));
|
||||
this.tbCC.Location = new System.Drawing.Point(74, 40);
|
||||
this.tbCC.Name = "tbCC";
|
||||
this.tbCC.Size = new System.Drawing.Size(493, 21);
|
||||
this.tbCC.TabIndex = 3;
|
||||
//
|
||||
// tbSubject
|
||||
//
|
||||
this.tbSubject.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.tbSubject.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "subject", true));
|
||||
this.tbSubject.Location = new System.Drawing.Point(74, 68);
|
||||
this.tbSubject.Name = "tbSubject";
|
||||
this.tbSubject.Size = new System.Drawing.Size(493, 21);
|
||||
this.tbSubject.TabIndex = 5;
|
||||
//
|
||||
// tam
|
||||
//
|
||||
this.tam.BackupDataSetBeforeUpdate = false;
|
||||
this.tam.MailAutoTableAdapter = null;
|
||||
this.tam.MailDataTableAdapter = this.ta;
|
||||
this.tam.MailFormTableAdapter = null;
|
||||
this.tam.UpdateOrder = FCM0000.DSMailTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
|
||||
//
|
||||
// ta
|
||||
//
|
||||
this.ta.ClearBeforeFill = true;
|
||||
//
|
||||
// toolStripButton1
|
||||
//
|
||||
this.toolStripButton1.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
|
||||
this.toolStripButton1.Name = "toolStripButton1";
|
||||
this.toolStripButton1.Size = new System.Drawing.Size(90, 22);
|
||||
this.toolStripButton1.Text = "Direct Send";
|
||||
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click);
|
||||
//
|
||||
// fSendMail
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(579, 523);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.bn);
|
||||
this.Name = "fSendMail";
|
||||
this.Text = "Send Mail";
|
||||
this.Load += new System.EventHandler(this.fMailform_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.bn)).EndInit();
|
||||
this.bn.ResumeLayout(false);
|
||||
this.bn.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dsMSSQL)).EndInit();
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DSMail dsMSSQL;
|
||||
private System.Windows.Forms.BindingSource bs;
|
||||
private DSMailTableAdapters.TableAdapterManager tam;
|
||||
private System.Windows.Forms.BindingNavigator bn;
|
||||
private System.Windows.Forms.ToolStripButton btSend;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.TextBox tbTo;
|
||||
private System.Windows.Forms.TextBox tbBCC;
|
||||
private System.Windows.Forms.TextBox tbCC;
|
||||
private System.Windows.Forms.TextBox tbSubject;
|
||||
private YARTE.UI.HtmlEditor tbBody;
|
||||
private DSMailTableAdapters.MailDataTableAdapter ta;
|
||||
private System.Windows.Forms.ToolStripButton btOUtlook;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton1;
|
||||
}
|
||||
}
|
||||
@@ -1,145 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using YARTE.UI.Buttons;
|
||||
using NetOffice;
|
||||
using Outlook = NetOffice.OutlookApi;
|
||||
using NetOffice.OutlookApi.Enums;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Tab;
|
||||
|
||||
namespace FCM0000
|
||||
{
|
||||
public partial class fSendMail : FCOMMON.fBase
|
||||
{
|
||||
public fSendMail()
|
||||
{
|
||||
InitializeComponent();
|
||||
Properties.Settings.Default["gwcs"] = FCOMMON.info.CS;
|
||||
PredefinedButtonSets.SetupDefaultButtons(this.tbBody);
|
||||
this.dsMSSQL.MailData.TableNewRow += MailForm_TableNewRow;
|
||||
|
||||
|
||||
}
|
||||
|
||||
void MailForm_TableNewRow(object sender, DataTableNewRowEventArgs e)
|
||||
{
|
||||
e.Row["gcode"] = FCOMMON.info.Login.gcode;
|
||||
e.Row["wuid"] = FCOMMON.info.Login.no;
|
||||
e.Row["wdate"] = DateTime.Now;
|
||||
e.Row["cate"] = "NR";
|
||||
e.Row["pdate"] = DateTime.Now.ToShortDateString();
|
||||
e.Row["fromlist"] = "gw@amkor.co.kr";
|
||||
}
|
||||
|
||||
private void fMailform_Load(object sender, EventArgs e)
|
||||
{
|
||||
EnsureVisibleAndUsableSize();
|
||||
this.bs.AddNew(); //신규메일데이터생성
|
||||
LoadNRData();
|
||||
}
|
||||
|
||||
|
||||
void LoadNRData()
|
||||
{
|
||||
//자로에서 불러와서 그 값을 가져온다.
|
||||
var taMF = new DSMailTableAdapters.MailFormTableAdapter();
|
||||
var data = taMF.GetByCate(FCOMMON.info.Login.gcode, "NR");
|
||||
if (data != null && data.Rows.Count > 0)
|
||||
{
|
||||
var drForm = data.Rows[0] as DSMail.MailFormRow;
|
||||
this.tbSubject.Text = drForm.subject;
|
||||
this.tbBody.Html = drForm.body;
|
||||
this.tbTo.Text = drForm.tolist;
|
||||
//this.tbBCC.Text = drForm.bcc;
|
||||
//this.tbCC.Text = drForm.cc;
|
||||
}
|
||||
}
|
||||
|
||||
private void mailFormBindingNavigatorSaveItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Validate();
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
|
||||
drv["subject"] = this.tbSubject.Text;
|
||||
drv["body"] = this.tbBody.Html;
|
||||
drv.EndEdit();
|
||||
this.bs.EndEdit();
|
||||
var cnt = this.tam.UpdateAll(this.dsMSSQL);
|
||||
MessageBox.Show($"{cnt}");
|
||||
|
||||
this.bs.AddNew();
|
||||
tbTo.Text = FCOMMON.info.Login.email;
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
|
||||
var dr = drv.Row as DSMail.MailFormRow;
|
||||
var tolist = new string[] { "Chikyun.kim@amkor.co.kr" }; //dr.tolist.Split(',');
|
||||
Outlook.Application outlookApplication = new Outlook.Application();
|
||||
foreach (var to in tolist)
|
||||
{
|
||||
if (to.isEmpty()) continue;
|
||||
var newMail = outlookApplication.CreateItem(OlItemType.olMailItem) as Outlook.MailItem;
|
||||
newMail.Display();
|
||||
newMail.Subject = this.tbSubject.Text.Trim(); // dr.title;
|
||||
newMail.To = to;
|
||||
newMail.CC = tbCC.Text.Trim();
|
||||
newMail.BCC = tbBCC.Text.Trim();
|
||||
// newMail.BodyFormat = OlBodyFormat.olFormatHTML;
|
||||
newMail.HTMLBody = this.tbBody.Html
|
||||
.Replace("{USER}", FCOMMON.info.Login.nameK)
|
||||
.Replace("{EUSER}", FCOMMON.info.Login.nameE)
|
||||
.Replace("{EMAIL}", FCOMMON.info.Login.email)
|
||||
.Replace("%7BEMAIL%7D", FCOMMON.info.Login.email)
|
||||
.Replace("{HP}", FCOMMON.info.Login.hp)
|
||||
.Replace("{TEL}", FCOMMON.info.Login.tel)
|
||||
.Replace("{ITEM}", tbSubject.Text) + newMail.HTMLBody;
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click(object sender, EventArgs e)
|
||||
{
|
||||
//direct send
|
||||
var list_from = "gw@amkor.co.kr";
|
||||
var list_to = tbTo.Text;
|
||||
var subject = tbSubject.Text;
|
||||
var body = tbBody.Html;
|
||||
var list_bcc = tbBCC.Text;
|
||||
var list_cc = tbCC.Text;
|
||||
|
||||
//전송을 해야 함
|
||||
var mc = new System.Net.Mail.SmtpClient(FCOMMON.info.mailserver);
|
||||
var msg = new System.Net.Mail.MailMessage
|
||||
(list_from,
|
||||
list_to,
|
||||
subject,
|
||||
body);
|
||||
|
||||
if (list_bcc != "") msg.Bcc.Add(list_bcc);
|
||||
if (list_cc != "") msg.CC.Add(list_cc);
|
||||
msg.IsBodyHtml = true;
|
||||
|
||||
try
|
||||
{
|
||||
mc.Send(msg);
|
||||
MessageBox.Show("ok");
|
||||
}
|
||||
catch (Exception eX)
|
||||
{
|
||||
MessageBox.Show(eX.Message);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,168 +0,0 @@
|
||||
<?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="tolistLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="bccLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="ccLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="subjectLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="bodyLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>259, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>122, 17</value>
|
||||
</metadata>
|
||||
<metadata name="dsMSSQL.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="btSend.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wgAADsIBFShKgAAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo
|
||||
dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wQAADsEBuJFr7QAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo
|
||||
dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII=
|
||||
</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>
|
||||
<metadata name="tam.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>186, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>325, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
2211
SubProject/FED0000/EEDataSet.Designer.cs
generated
2211
SubProject/FED0000/EEDataSet.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -7,154 +7,6 @@
|
||||
<Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="gwcs" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="gwcs (Settings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.FED0000.Properties.Settings.GlobalReference.Default.gwcs" Provider="System.Data.SqlClient" />
|
||||
</Connections>
|
||||
<Tables>
|
||||
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="EETGW_EducationListTableAdapter" GeneratorDataComponentClassName="EETGW_EducationListTableAdapter" Name="EETGW_EducationList" UserDataComponentName="EETGW_EducationListTableAdapter">
|
||||
<MainSource>
|
||||
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.EETGW_EducationList" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
<DeleteCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>DELETE FROM [EETGW_EducationList] WHERE (([idx] = @Original_idx) AND ([gcode] = @Original_gcode) AND ((@IsNull_sdate = 1 AND [sdate] IS NULL) OR ([sdate] = @Original_sdate)) AND ((@IsNull_edate = 1 AND [edate] IS NULL) OR ([edate] = @Original_edate)) AND ((@IsNull_title = 1 AND [title] IS NULL) OR ([title] = @Original_title)) AND ((@IsNull_edutype = 1 AND [edutype] IS NULL) OR ([edutype] = @Original_edutype)) AND ((@IsNull_proposal = 1 AND [proposal] IS NULL) OR ([proposal] = @Original_proposal)) AND ((@IsNull_target = 1 AND [target] IS NULL) OR ([target] = @Original_target)) AND ((@IsNull_eduoffice = 1 AND [eduoffice] IS NULL) OR ([eduoffice] = @Original_eduoffice)) AND ((@IsNull_meettype = 1 AND [meettype] IS NULL) OR ([meettype] = @Original_meettype)) AND ((@IsNull_location = 1 AND [location] IS NULL) OR ([location] = @Original_location)) AND ((@IsNull_price = 1 AND [price] IS NULL) OR ([price] = @Original_price)) AND ((@IsNull_qty = 1 AND [qty] IS NULL) OR ([qty] = @Original_qty)) AND ((@IsNull_amt = 1 AND [amt] IS NULL) OR ([amt] = @Original_amt)) AND ([wuid] = @Original_wuid) AND ([wdate] = @Original_wdate))</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_idx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sdate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sdate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_sdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="sdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_edate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="edate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_edate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="edate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_title" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_title" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_edutype" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="edutype" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_edutype" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="edutype" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_proposal" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="proposal" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_proposal" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="proposal" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_target" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="target" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_target" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="target" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_eduoffice" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="eduoffice" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_eduoffice" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="eduoffice" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_meettype" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="meettype" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_meettype" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="meettype" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_location" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="location" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_location" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="location" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_price" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="price" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_price" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="price" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_qty" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="qty" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int16" Direction="Input" ParameterName="@Original_qty" Precision="0" ProviderType="SmallInt" Scale="0" Size="0" SourceColumn="qty" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_amt" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="amt" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_amt" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="amt" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</DeleteCommand>
|
||||
<InsertCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>INSERT INTO [EETGW_EducationList] ([gcode], [sdate], [edate], [title], [edutype], [proposal], [target], [eduoffice], [meettype], [location], [price], [qty], [amt], [wuid], [wdate]) VALUES (@gcode, @sdate, @edate, @title, @edutype, @proposal, @target, @eduoffice, @meettype, @location, @price, @qty, @amt, @wuid, @wdate);
|
||||
SELECT idx, gcode, sdate, edate, title, edutype, proposal, target, eduoffice, meettype, location, price, qty, amt, wuid, wdate FROM EETGW_EducationList WHERE (idx = SCOPE_IDENTITY()) ORDER BY sdate</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@sdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="sdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@edate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="edate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@title" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@edutype" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="edutype" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@proposal" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="proposal" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@target" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="target" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@eduoffice" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="eduoffice" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@meettype" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="meettype" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@location" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="location" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@price" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="price" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int16" Direction="Input" ParameterName="@qty" Precision="0" ProviderType="SmallInt" Scale="0" Size="0" SourceColumn="qty" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@amt" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="amt" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</InsertCommand>
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>SELECT idx, gcode, sdate, edate, title, edutype, proposal, target, eduoffice, meettype, location, price, qty, amt, wuid, wdate
|
||||
FROM EETGW_EducationList WITH (nolock)
|
||||
WHERE (gcode = @gcode) AND (sdate BETWEEN @sd AND @ed)
|
||||
ORDER BY sdate</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="gcode" ColumnName="gcode" DataSourceName="EE.dbo.EETGW_EducationList" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="sd" ColumnName="sdate" DataSourceName="EE.dbo.EETGW_EducationList" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@sd" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="sdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="ed" ColumnName="sdate" DataSourceName="EE.dbo.EETGW_EducationList" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@ed" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="sdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
<UpdateCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>UPDATE [EETGW_EducationList] SET [gcode] = @gcode, [sdate] = @sdate, [edate] = @edate, [title] = @title, [edutype] = @edutype, [proposal] = @proposal, [target] = @target, [eduoffice] = @eduoffice, [meettype] = @meettype, [location] = @location, [price] = @price, [qty] = @qty, [amt] = @amt, [wuid] = @wuid, [wdate] = @wdate WHERE (([idx] = @Original_idx) AND ([gcode] = @Original_gcode) AND ((@IsNull_sdate = 1 AND [sdate] IS NULL) OR ([sdate] = @Original_sdate)) AND ((@IsNull_edate = 1 AND [edate] IS NULL) OR ([edate] = @Original_edate)) AND ((@IsNull_title = 1 AND [title] IS NULL) OR ([title] = @Original_title)) AND ((@IsNull_edutype = 1 AND [edutype] IS NULL) OR ([edutype] = @Original_edutype)) AND ((@IsNull_proposal = 1 AND [proposal] IS NULL) OR ([proposal] = @Original_proposal)) AND ((@IsNull_target = 1 AND [target] IS NULL) OR ([target] = @Original_target)) AND ((@IsNull_eduoffice = 1 AND [eduoffice] IS NULL) OR ([eduoffice] = @Original_eduoffice)) AND ((@IsNull_meettype = 1 AND [meettype] IS NULL) OR ([meettype] = @Original_meettype)) AND ((@IsNull_location = 1 AND [location] IS NULL) OR ([location] = @Original_location)) AND ((@IsNull_price = 1 AND [price] IS NULL) OR ([price] = @Original_price)) AND ((@IsNull_qty = 1 AND [qty] IS NULL) OR ([qty] = @Original_qty)) AND ((@IsNull_amt = 1 AND [amt] IS NULL) OR ([amt] = @Original_amt)) AND ([wuid] = @Original_wuid) AND ([wdate] = @Original_wdate));
|
||||
SELECT idx, gcode, sdate, edate, title, edutype, proposal, target, eduoffice, meettype, location, price, qty, amt, wuid, wdate FROM EETGW_EducationList WHERE (idx = @idx) ORDER BY sdate</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@sdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="sdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@edate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="edate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@title" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@edutype" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="edutype" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@proposal" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="proposal" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@target" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="target" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@eduoffice" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="eduoffice" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@meettype" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="meettype" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@location" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="location" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@price" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="price" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int16" Direction="Input" ParameterName="@qty" Precision="0" ProviderType="SmallInt" Scale="0" Size="0" SourceColumn="qty" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@amt" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="amt" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_idx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sdate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sdate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_sdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="sdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_edate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="edate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_edate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="edate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_title" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_title" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_edutype" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="edutype" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_edutype" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="edutype" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_proposal" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="proposal" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_proposal" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="proposal" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_target" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="target" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_target" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="target" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_eduoffice" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="eduoffice" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_eduoffice" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="eduoffice" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_meettype" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="meettype" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_meettype" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="meettype" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_location" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="location" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_location" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="location" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_price" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="price" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_price" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="price" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_qty" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="qty" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int16" Direction="Input" ParameterName="@Original_qty" Precision="0" ProviderType="SmallInt" Scale="0" Size="0" SourceColumn="qty" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_amt" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="amt" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_amt" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="amt" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="idx" ColumnName="idx" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@idx" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</UpdateCommand>
|
||||
</DbSource>
|
||||
</MainSource>
|
||||
<Mappings>
|
||||
<Mapping SourceColumn="idx" DataSetColumn="idx" />
|
||||
<Mapping SourceColumn="gcode" DataSetColumn="gcode" />
|
||||
<Mapping SourceColumn="sdate" DataSetColumn="sdate" />
|
||||
<Mapping SourceColumn="edate" DataSetColumn="edate" />
|
||||
<Mapping SourceColumn="title" DataSetColumn="title" />
|
||||
<Mapping SourceColumn="edutype" DataSetColumn="edutype" />
|
||||
<Mapping SourceColumn="proposal" DataSetColumn="proposal" />
|
||||
<Mapping SourceColumn="target" DataSetColumn="target" />
|
||||
<Mapping SourceColumn="eduoffice" DataSetColumn="eduoffice" />
|
||||
<Mapping SourceColumn="meettype" DataSetColumn="meettype" />
|
||||
<Mapping SourceColumn="location" DataSetColumn="location" />
|
||||
<Mapping SourceColumn="price" DataSetColumn="price" />
|
||||
<Mapping SourceColumn="qty" DataSetColumn="qty" />
|
||||
<Mapping SourceColumn="amt" DataSetColumn="amt" />
|
||||
<Mapping SourceColumn="wuid" DataSetColumn="wuid" />
|
||||
<Mapping SourceColumn="wdate" DataSetColumn="wdate" />
|
||||
</Mappings>
|
||||
<Sources />
|
||||
</TableAdapter>
|
||||
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="EETGW_LicenseTableAdapter" GeneratorDataComponentClassName="EETGW_LicenseTableAdapter" Name="EETGW_License" UserDataComponentName="EETGW_LicenseTableAdapter">
|
||||
<MainSource>
|
||||
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.EETGW_License" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
@@ -306,182 +158,94 @@ SELECT idx, gcode, expire, name, manu, Supply, qty, uids, sdate, edate, Remark,
|
||||
</DataSource>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:element name="EEDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="True" msprop:Generator_UserDSName="EEDataSet" msprop:Generator_DataSetName="EEDataSet">
|
||||
<xs:element name="EEDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="True" msprop:Generator_DataSetName="EEDataSet" msprop:Generator_UserDSName="EEDataSet">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="EETGW_EducationList" msprop:Generator_RowClassName="EETGW_EducationListRow" msprop:Generator_RowEvHandlerName="EETGW_EducationListRowChangeEventHandler" msprop:Generator_RowDeletedName="EETGW_EducationListRowDeleted" msprop:Generator_RowDeletingName="EETGW_EducationListRowDeleting" msprop:Generator_RowEvArgName="EETGW_EducationListRowChangeEvent" msprop:Generator_TablePropName="EETGW_EducationList" msprop:Generator_RowChangedName="EETGW_EducationListRowChanged" msprop:Generator_RowChangingName="EETGW_EducationListRowChanging" msprop:Generator_TableClassName="EETGW_EducationListDataTable" msprop:Generator_UserTableName="EETGW_EducationList" msprop:Generator_TableVarName="tableEETGW_EducationList">
|
||||
<xs:element name="EETGW_License" msprop:Generator_TableClassName="EETGW_LicenseDataTable" msprop:Generator_RowEvArgName="EETGW_LicenseRowChangeEvent" msprop:Generator_TableVarName="tableEETGW_License" msprop:Generator_TablePropName="EETGW_License" msprop:Generator_RowDeletingName="EETGW_LicenseRowDeleting" msprop:Generator_RowChangingName="EETGW_LicenseRowChanging" msprop:Generator_RowEvHandlerName="EETGW_LicenseRowChangeEventHandler" msprop:Generator_RowDeletedName="EETGW_LicenseRowDeleted" msprop:Generator_UserTableName="EETGW_License" msprop:Generator_RowChangedName="EETGW_LicenseRowChanged" msprop:Generator_RowClassName="EETGW_LicenseRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_UserColumnName="idx" type="xs:int" />
|
||||
<xs:element name="gcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="gcode" msprop:Generator_UserColumnName="gcode" msprop:Generator_ColumnVarNameInTable="columngcode">
|
||||
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_UserColumnName="idx" type="xs:int" />
|
||||
<xs:element name="gcode" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="gcode" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_UserColumnName="gcode">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="sdate" msprop:Generator_ColumnPropNameInTable="sdateColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="sdate" msprop:Generator_UserColumnName="sdate" msprop:Generator_ColumnVarNameInTable="columnsdate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="edate" msprop:Generator_ColumnPropNameInTable="edateColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="edate" msprop:Generator_UserColumnName="edate" msprop:Generator_ColumnVarNameInTable="columnedate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="title" msprop:Generator_ColumnPropNameInTable="titleColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="title" msprop:Generator_UserColumnName="title" msprop:Generator_ColumnVarNameInTable="columntitle" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="255" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="edutype" msprop:Generator_ColumnPropNameInTable="edutypeColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="edutype" msprop:Generator_UserColumnName="edutype" msprop:Generator_ColumnVarNameInTable="columnedutype" minOccurs="0">
|
||||
<xs:element name="expire" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="expire" msprop:Generator_ColumnVarNameInTable="columnexpire" msprop:Generator_ColumnPropNameInTable="expireColumn" msprop:Generator_UserColumnName="expire" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="name" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" msprop:Generator_UserColumnName="name" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="proposal" msprop:Generator_ColumnPropNameInTable="proposalColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="proposal" msprop:Generator_UserColumnName="proposal" msprop:Generator_ColumnVarNameInTable="columnproposal" minOccurs="0">
|
||||
<xs:element name="manu" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="manu" msprop:Generator_ColumnVarNameInTable="columnmanu" msprop:Generator_ColumnPropNameInTable="manuColumn" msprop:Generator_UserColumnName="manu" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="255" />
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="target" msprop:Generator_ColumnPropNameInTable="targetColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="target" msprop:Generator_UserColumnName="target" msprop:Generator_ColumnVarNameInTable="columntarget" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="eduoffice" msprop:Generator_ColumnPropNameInTable="eduofficeColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="eduoffice" msprop:Generator_UserColumnName="eduoffice" msprop:Generator_ColumnVarNameInTable="columneduoffice" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="255" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="meettype" msprop:Generator_ColumnPropNameInTable="meettypeColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="meettype" msprop:Generator_UserColumnName="meettype" msprop:Generator_ColumnVarNameInTable="columnmeettype" minOccurs="0">
|
||||
<xs:element name="Supply" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="Supply" msprop:Generator_ColumnVarNameInTable="columnSupply" msprop:Generator_ColumnPropNameInTable="SupplyColumn" msprop:Generator_UserColumnName="Supply" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="location" msprop:Generator_ColumnPropNameInTable="locationColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="location" msprop:Generator_UserColumnName="location" msprop:Generator_ColumnVarNameInTable="columnlocation" minOccurs="0">
|
||||
<xs:element name="qty" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="qty" msprop:Generator_ColumnVarNameInTable="columnqty" msprop:Generator_ColumnPropNameInTable="qtyColumn" msprop:Generator_UserColumnName="qty" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="uids" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="uids" msprop:Generator_ColumnVarNameInTable="columnuids" msprop:Generator_ColumnPropNameInTable="uidsColumn" msprop:Generator_UserColumnName="uids" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="255" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="price" msprop:Generator_ColumnPropNameInTable="priceColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="price" msprop:Generator_UserColumnName="price" msprop:Generator_ColumnVarNameInTable="columnprice" type="xs:decimal" minOccurs="0" />
|
||||
<xs:element name="qty" msprop:Generator_ColumnPropNameInTable="qtyColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="qty" msprop:Generator_UserColumnName="qty" msprop:Generator_ColumnVarNameInTable="columnqty" type="xs:short" minOccurs="0" />
|
||||
<xs:element name="amt" msprop:Generator_ColumnPropNameInTable="amtColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="amt" msprop:Generator_UserColumnName="amt" msprop:Generator_ColumnVarNameInTable="columnamt" type="xs:decimal" minOccurs="0" />
|
||||
<xs:element name="wuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_UserColumnName="wuid">
|
||||
<xs:element name="sdate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="sdate" msprop:Generator_ColumnVarNameInTable="columnsdate" msprop:Generator_ColumnPropNameInTable="sdateColumn" msprop:Generator_UserColumnName="sdate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="edate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="edate" msprop:Generator_ColumnVarNameInTable="columnedate" msprop:Generator_ColumnPropNameInTable="edateColumn" msprop:Generator_UserColumnName="edate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_UserColumnName="wuid">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="EETGW_License" msprop:Generator_RowClassName="EETGW_LicenseRow" msprop:Generator_RowEvHandlerName="EETGW_LicenseRowChangeEventHandler" msprop:Generator_RowDeletedName="EETGW_LicenseRowDeleted" msprop:Generator_RowDeletingName="EETGW_LicenseRowDeleting" msprop:Generator_RowEvArgName="EETGW_LicenseRowChangeEvent" msprop:Generator_TablePropName="EETGW_License" msprop:Generator_RowChangedName="EETGW_LicenseRowChanged" msprop:Generator_RowChangingName="EETGW_LicenseRowChanging" msprop:Generator_TableClassName="EETGW_LicenseDataTable" msprop:Generator_UserTableName="EETGW_License" msprop:Generator_TableVarName="tableEETGW_License">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_UserColumnName="idx" type="xs:int" />
|
||||
<xs:element name="gcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="gcode" msprop:Generator_UserColumnName="gcode" msprop:Generator_ColumnVarNameInTable="columngcode">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="expire" msprop:Generator_ColumnPropNameInTable="expireColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="expire" msprop:Generator_UserColumnName="expire" msprop:Generator_ColumnVarNameInTable="columnexpire" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="name" msprop:Generator_ColumnPropNameInTable="nameColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="manu" msprop:Generator_ColumnPropNameInTable="manuColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="manu" msprop:Generator_UserColumnName="manu" msprop:Generator_ColumnVarNameInTable="columnmanu" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="Supply" msprop:Generator_ColumnPropNameInTable="SupplyColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="Supply" msprop:Generator_UserColumnName="Supply" msprop:Generator_ColumnVarNameInTable="columnSupply" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="qty" msprop:Generator_ColumnPropNameInTable="qtyColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="qty" msprop:Generator_UserColumnName="qty" msprop:Generator_ColumnVarNameInTable="columnqty" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="uids" msprop:Generator_ColumnPropNameInTable="uidsColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="uids" msprop:Generator_UserColumnName="uids" msprop:Generator_ColumnVarNameInTable="columnuids" minOccurs="0">
|
||||
<xs:element name="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
|
||||
<xs:element name="Remark" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="Remark" msprop:Generator_ColumnVarNameInTable="columnRemark" msprop:Generator_ColumnPropNameInTable="RemarkColumn" msprop:Generator_UserColumnName="Remark" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="255" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="sdate" msprop:Generator_ColumnPropNameInTable="sdateColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="sdate" msprop:Generator_UserColumnName="sdate" msprop:Generator_ColumnVarNameInTable="columnsdate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="edate" msprop:Generator_ColumnPropNameInTable="edateColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="edate" msprop:Generator_UserColumnName="edate" msprop:Generator_ColumnVarNameInTable="columnedate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_UserColumnName="wuid">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
|
||||
<xs:element name="Remark" msprop:Generator_ColumnPropNameInTable="RemarkColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="Remark" msprop:Generator_UserColumnName="Remark" msprop:Generator_ColumnVarNameInTable="columnRemark" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="255" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="Version" msprop:Generator_ColumnPropNameInTable="VersionColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="Version" msprop:Generator_UserColumnName="Version" msprop:Generator_ColumnVarNameInTable="columnVersion" minOccurs="0">
|
||||
<xs:element name="Version" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="Version" msprop:Generator_ColumnVarNameInTable="columnVersion" msprop:Generator_ColumnPropNameInTable="VersionColumn" msprop:Generator_UserColumnName="Version" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="SerialNo" msprop:Generator_ColumnPropNameInTable="SerialNoColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="SerialNo" msprop:Generator_UserColumnName="SerialNo" msprop:Generator_ColumnVarNameInTable="columnSerialNo" minOccurs="0">
|
||||
<xs:element name="SerialNo" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="SerialNo" msprop:Generator_ColumnVarNameInTable="columnSerialNo" msprop:Generator_ColumnPropNameInTable="SerialNoColumn" msprop:Generator_UserColumnName="SerialNo" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="MeterialNo" msprop:Generator_ColumnPropNameInTable="MeterialNoColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="MeterialNo" msprop:Generator_UserColumnName="MeterialNo" msprop:Generator_ColumnVarNameInTable="columnMeterialNo" minOccurs="0">
|
||||
<xs:element name="MeterialNo" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="MeterialNo" msprop:Generator_ColumnVarNameInTable="columnMeterialNo" msprop:Generator_ColumnPropNameInTable="MeterialNoColumn" msprop:Generator_UserColumnName="MeterialNo" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
@@ -494,10 +258,6 @@ SELECT idx, gcode, expire, name, manu, Supply, qty, uids, sdate, edate, Remark,
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:EETGW_EducationList" />
|
||||
<xs:field xpath="mstns:idx" />
|
||||
</xs:unique>
|
||||
<xs:unique name="EETGW_License_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:EETGW_License" />
|
||||
<xs:field xpath="mstns:idx" />
|
||||
</xs:unique>
|
||||
|
||||
@@ -4,9 +4,8 @@
|
||||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="29" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="110" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<Shapes>
|
||||
<Shape ID="DesignTable:EETGW_EducationList" ZOrder="2" X="204" Y="154" Height="305" Width="270" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:EETGW_License" ZOrder="1" X="599" Y="151" Height="305" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
</Shapes>
|
||||
<Connectors />
|
||||
|
||||
680
SubProject/FED0000/Education/fEdulist.Designer.cs
generated
680
SubProject/FED0000/Education/fEdulist.Designer.cs
generated
@@ -1,680 +0,0 @@
|
||||
namespace FED0000
|
||||
{
|
||||
partial class fEdulist
|
||||
{
|
||||
/// <summary>
|
||||
/// 필수 디자이너 변수입니다.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// 사용 중인 모든 리소스를 정리합니다.
|
||||
/// </summary>
|
||||
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region 구성 요소 디자이너에서 생성한 코드
|
||||
|
||||
/// <summary>
|
||||
/// 디자이너 지원에 필요한 메서드입니다.
|
||||
/// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fEdulist));
|
||||
FarPoint.Win.Spread.CellType.TextCellType textCellType1 = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
FarPoint.Win.Spread.CellType.TextCellType textCellType2 = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
FarPoint.Win.Spread.CellType.TextCellType textCellType3 = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
FarPoint.Win.Spread.CellType.TextCellType textCellType4 = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
FarPoint.Win.Spread.CellType.TextCellType textCellType5 = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
FarPoint.Win.Spread.CellType.TextCellType textCellType6 = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
FarPoint.Win.Spread.CellType.TextCellType textCellType7 = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
FarPoint.Win.Spread.CellType.TextCellType textCellType8 = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
FarPoint.Win.Spread.CellType.TextCellType textCellType9 = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
FarPoint.Win.Spread.CellType.NumberCellType numberCellType1 = new FarPoint.Win.Spread.CellType.NumberCellType();
|
||||
FarPoint.Win.Spread.CellType.NumberCellType numberCellType2 = new FarPoint.Win.Spread.CellType.NumberCellType();
|
||||
FarPoint.Win.Spread.CellType.NumberCellType numberCellType3 = new FarPoint.Win.Spread.CellType.NumberCellType();
|
||||
this.dsPurchase = new FED0000.EEDataSet();
|
||||
this.bs = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.ta = new FED0000.EEDataSetTableAdapters.EETGW_EducationListTableAdapter();
|
||||
this.tam = new FED0000.EEDataSetTableAdapters.TableAdapterManager();
|
||||
this.bn = new System.Windows.Forms.BindingNavigator(this.components);
|
||||
this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
|
||||
this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.bindingNavigatorPositionItem = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.bindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.btAdd = new System.Windows.Forms.ToolStripButton();
|
||||
this.btCopy = new System.Windows.Forms.ToolStripButton();
|
||||
this.btEdit = new System.Windows.Forms.ToolStripButton();
|
||||
this.btDel = new System.Windows.Forms.ToolStripButton();
|
||||
this.btSave = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.toolStripLabel2 = new System.Windows.Forms.ToolStripLabel();
|
||||
this.tbFind = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.btFind = new System.Windows.Forms.ToolStripButton();
|
||||
this.cm1 = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.columnSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.autoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.resetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.loadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.exportDataToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
this.toolStripLabel4 = new System.Windows.Forms.ToolStripLabel();
|
||||
this.dtSD = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.lbEnd = new System.Windows.Forms.ToolStripLabel();
|
||||
this.dtED = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.toolStripLabel3 = new System.Windows.Forms.ToolStripLabel();
|
||||
this.tbRequest = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.btSearch = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
|
||||
this.fpSpread1 = new FarPoint.Win.Spread.FpSpread();
|
||||
this.fpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dsPurchase)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bn)).BeginInit();
|
||||
this.bn.SuspendLayout();
|
||||
this.cm1.SuspendLayout();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1_Sheet1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// dsPurchase
|
||||
//
|
||||
this.dsPurchase.DataSetName = "EEDataSet";
|
||||
this.dsPurchase.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
|
||||
//
|
||||
// bs
|
||||
//
|
||||
this.bs.DataMember = "EETGW_EducationList";
|
||||
this.bs.DataSource = this.dsPurchase;
|
||||
this.bs.CurrentChanged += new System.EventHandler(this.bs_CurrentChanged);
|
||||
//
|
||||
// ta
|
||||
//
|
||||
this.ta.ClearBeforeFill = true;
|
||||
//
|
||||
// tam
|
||||
//
|
||||
this.tam.BackupDataSetBeforeUpdate = true;
|
||||
this.tam.EETGW_EducationListTableAdapter = this.ta;
|
||||
this.tam.EETGW_LicenseTableAdapter = null;
|
||||
this.tam.UpdateOrder = FED0000.EEDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
|
||||
//
|
||||
// bn
|
||||
//
|
||||
this.bn.AddNewItem = null;
|
||||
this.bn.BindingSource = this.bs;
|
||||
this.bn.CountItem = this.bindingNavigatorCountItem;
|
||||
this.bn.DeleteItem = null;
|
||||
this.bn.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.bn.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.bindingNavigatorMoveFirstItem,
|
||||
this.bindingNavigatorMovePreviousItem,
|
||||
this.bindingNavigatorSeparator,
|
||||
this.bindingNavigatorPositionItem,
|
||||
this.bindingNavigatorCountItem,
|
||||
this.bindingNavigatorSeparator1,
|
||||
this.bindingNavigatorMoveNextItem,
|
||||
this.bindingNavigatorMoveLastItem,
|
||||
this.bindingNavigatorSeparator2,
|
||||
this.btAdd,
|
||||
this.btCopy,
|
||||
this.btEdit,
|
||||
this.btDel,
|
||||
this.btSave,
|
||||
this.toolStripSeparator1,
|
||||
this.toolStripLabel2,
|
||||
this.tbFind,
|
||||
this.btFind});
|
||||
this.bn.Location = new System.Drawing.Point(0, 645);
|
||||
this.bn.MoveFirstItem = this.bindingNavigatorMoveFirstItem;
|
||||
this.bn.MoveLastItem = this.bindingNavigatorMoveLastItem;
|
||||
this.bn.MoveNextItem = this.bindingNavigatorMoveNextItem;
|
||||
this.bn.MovePreviousItem = this.bindingNavigatorMovePreviousItem;
|
||||
this.bn.Name = "bn";
|
||||
this.bn.PositionItem = this.bindingNavigatorPositionItem;
|
||||
this.bn.Size = new System.Drawing.Size(1244, 25);
|
||||
this.bn.TabIndex = 0;
|
||||
this.bn.Text = "bindingNavigator1";
|
||||
//
|
||||
// bindingNavigatorCountItem
|
||||
//
|
||||
this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem";
|
||||
this.bindingNavigatorCountItem.Size = new System.Drawing.Size(27, 22);
|
||||
this.bindingNavigatorCountItem.Text = "/{0}";
|
||||
this.bindingNavigatorCountItem.ToolTipText = "전체 항목 수";
|
||||
//
|
||||
// bindingNavigatorMoveFirstItem
|
||||
//
|
||||
this.bindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.bindingNavigatorMoveFirstItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveFirstItem.Image")));
|
||||
this.bindingNavigatorMoveFirstItem.Name = "bindingNavigatorMoveFirstItem";
|
||||
this.bindingNavigatorMoveFirstItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorMoveFirstItem.Size = new System.Drawing.Size(23, 22);
|
||||
this.bindingNavigatorMoveFirstItem.Text = "처음으로 이동";
|
||||
//
|
||||
// bindingNavigatorMovePreviousItem
|
||||
//
|
||||
this.bindingNavigatorMovePreviousItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.bindingNavigatorMovePreviousItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMovePreviousItem.Image")));
|
||||
this.bindingNavigatorMovePreviousItem.Name = "bindingNavigatorMovePreviousItem";
|
||||
this.bindingNavigatorMovePreviousItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorMovePreviousItem.Size = new System.Drawing.Size(23, 22);
|
||||
this.bindingNavigatorMovePreviousItem.Text = "이전으로 이동";
|
||||
//
|
||||
// bindingNavigatorSeparator
|
||||
//
|
||||
this.bindingNavigatorSeparator.Name = "bindingNavigatorSeparator";
|
||||
this.bindingNavigatorSeparator.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// bindingNavigatorPositionItem
|
||||
//
|
||||
this.bindingNavigatorPositionItem.AccessibleName = "위치";
|
||||
this.bindingNavigatorPositionItem.AutoSize = false;
|
||||
this.bindingNavigatorPositionItem.Font = new System.Drawing.Font("맑은 고딕", 9F);
|
||||
this.bindingNavigatorPositionItem.Name = "bindingNavigatorPositionItem";
|
||||
this.bindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 23);
|
||||
this.bindingNavigatorPositionItem.Text = "0";
|
||||
this.bindingNavigatorPositionItem.ToolTipText = "현재 위치";
|
||||
//
|
||||
// bindingNavigatorSeparator1
|
||||
//
|
||||
this.bindingNavigatorSeparator1.Name = "bindingNavigatorSeparator1";
|
||||
this.bindingNavigatorSeparator1.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// bindingNavigatorMoveNextItem
|
||||
//
|
||||
this.bindingNavigatorMoveNextItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.bindingNavigatorMoveNextItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveNextItem.Image")));
|
||||
this.bindingNavigatorMoveNextItem.Name = "bindingNavigatorMoveNextItem";
|
||||
this.bindingNavigatorMoveNextItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorMoveNextItem.Size = new System.Drawing.Size(23, 22);
|
||||
this.bindingNavigatorMoveNextItem.Text = "다음으로 이동";
|
||||
//
|
||||
// bindingNavigatorMoveLastItem
|
||||
//
|
||||
this.bindingNavigatorMoveLastItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.bindingNavigatorMoveLastItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveLastItem.Image")));
|
||||
this.bindingNavigatorMoveLastItem.Name = "bindingNavigatorMoveLastItem";
|
||||
this.bindingNavigatorMoveLastItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorMoveLastItem.Size = new System.Drawing.Size(23, 22);
|
||||
this.bindingNavigatorMoveLastItem.Text = "마지막으로 이동";
|
||||
//
|
||||
// bindingNavigatorSeparator2
|
||||
//
|
||||
this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator2";
|
||||
this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// btAdd
|
||||
//
|
||||
this.btAdd.Image = ((System.Drawing.Image)(resources.GetObject("btAdd.Image")));
|
||||
this.btAdd.Name = "btAdd";
|
||||
this.btAdd.RightToLeftAutoMirrorImage = true;
|
||||
this.btAdd.Size = new System.Drawing.Size(67, 22);
|
||||
this.btAdd.Text = "추가(&A)";
|
||||
this.btAdd.Click += new System.EventHandler(this.bindingNavigatorAddNewItem_Click);
|
||||
//
|
||||
// btCopy
|
||||
//
|
||||
this.btCopy.Image = ((System.Drawing.Image)(resources.GetObject("btCopy.Image")));
|
||||
this.btCopy.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btCopy.Name = "btCopy";
|
||||
this.btCopy.Size = new System.Drawing.Size(67, 22);
|
||||
this.btCopy.Text = "복사(&C)";
|
||||
//
|
||||
// btEdit
|
||||
//
|
||||
this.btEdit.Image = ((System.Drawing.Image)(resources.GetObject("btEdit.Image")));
|
||||
this.btEdit.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btEdit.Name = "btEdit";
|
||||
this.btEdit.Size = new System.Drawing.Size(65, 22);
|
||||
this.btEdit.Text = "편집(&E)";
|
||||
this.btEdit.Visible = false;
|
||||
this.btEdit.Click += new System.EventHandler(this.toolStripButton2_Click);
|
||||
//
|
||||
// btDel
|
||||
//
|
||||
this.btDel.Image = ((System.Drawing.Image)(resources.GetObject("btDel.Image")));
|
||||
this.btDel.Name = "btDel";
|
||||
this.btDel.RightToLeftAutoMirrorImage = true;
|
||||
this.btDel.Size = new System.Drawing.Size(68, 22);
|
||||
this.btDel.Text = "삭제(&D)";
|
||||
this.btDel.Click += new System.EventHandler(this.bindingNavigatorDeleteItem_Click);
|
||||
//
|
||||
// btSave
|
||||
//
|
||||
this.btSave.Image = global::FED0000.Properties.Resources.action_save;
|
||||
this.btSave.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btSave.Name = "btSave";
|
||||
this.btSave.Size = new System.Drawing.Size(66, 22);
|
||||
this.btSave.Text = "저장(&S)";
|
||||
this.btSave.Click += new System.EventHandler(this.btSave_Click);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// toolStripLabel2
|
||||
//
|
||||
this.toolStripLabel2.Name = "toolStripLabel2";
|
||||
this.toolStripLabel2.Size = new System.Drawing.Size(31, 22);
|
||||
this.toolStripLabel2.Text = "검색";
|
||||
//
|
||||
// tbFind
|
||||
//
|
||||
this.tbFind.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.tbFind.Font = new System.Drawing.Font("맑은 고딕", 9F);
|
||||
this.tbFind.Name = "tbFind";
|
||||
this.tbFind.Size = new System.Drawing.Size(100, 25);
|
||||
this.tbFind.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tbFind_KeyDown);
|
||||
//
|
||||
// btFind
|
||||
//
|
||||
this.btFind.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.btFind.Image = ((System.Drawing.Image)(resources.GetObject("btFind.Image")));
|
||||
this.btFind.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btFind.Name = "btFind";
|
||||
this.btFind.Size = new System.Drawing.Size(23, 22);
|
||||
this.btFind.Text = "toolStripButton2";
|
||||
this.btFind.Click += new System.EventHandler(this.btFind_Click);
|
||||
//
|
||||
// cm1
|
||||
//
|
||||
this.cm1.Font = new System.Drawing.Font("맑은 고딕", 20F);
|
||||
this.cm1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.columnSizeToolStripMenuItem,
|
||||
this.toolStripMenuItem3,
|
||||
this.exportDataToolStripMenuItem});
|
||||
this.cm1.Name = "contextMenuStrip1";
|
||||
this.cm1.Size = new System.Drawing.Size(314, 94);
|
||||
//
|
||||
// columnSizeToolStripMenuItem
|
||||
//
|
||||
this.columnSizeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.autoToolStripMenuItem,
|
||||
this.resetToolStripMenuItem,
|
||||
this.saveToolStripMenuItem,
|
||||
this.loadToolStripMenuItem});
|
||||
this.columnSizeToolStripMenuItem.Name = "columnSizeToolStripMenuItem";
|
||||
this.columnSizeToolStripMenuItem.Size = new System.Drawing.Size(313, 42);
|
||||
this.columnSizeToolStripMenuItem.Text = "Column Size";
|
||||
//
|
||||
// autoToolStripMenuItem
|
||||
//
|
||||
this.autoToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("autoToolStripMenuItem.Image")));
|
||||
this.autoToolStripMenuItem.Name = "autoToolStripMenuItem";
|
||||
this.autoToolStripMenuItem.Size = new System.Drawing.Size(159, 42);
|
||||
this.autoToolStripMenuItem.Text = "Auto";
|
||||
this.autoToolStripMenuItem.Click += new System.EventHandler(this.autoToolStripMenuItem_Click);
|
||||
//
|
||||
// resetToolStripMenuItem
|
||||
//
|
||||
this.resetToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("resetToolStripMenuItem.Image")));
|
||||
this.resetToolStripMenuItem.Name = "resetToolStripMenuItem";
|
||||
this.resetToolStripMenuItem.Size = new System.Drawing.Size(159, 42);
|
||||
this.resetToolStripMenuItem.Text = "Reset";
|
||||
this.resetToolStripMenuItem.Click += new System.EventHandler(this.resetToolStripMenuItem_Click);
|
||||
//
|
||||
// saveToolStripMenuItem
|
||||
//
|
||||
this.saveToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripMenuItem.Image")));
|
||||
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
|
||||
this.saveToolStripMenuItem.Size = new System.Drawing.Size(159, 42);
|
||||
this.saveToolStripMenuItem.Text = "Save";
|
||||
this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
|
||||
//
|
||||
// loadToolStripMenuItem
|
||||
//
|
||||
this.loadToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("loadToolStripMenuItem.Image")));
|
||||
this.loadToolStripMenuItem.Name = "loadToolStripMenuItem";
|
||||
this.loadToolStripMenuItem.Size = new System.Drawing.Size(159, 42);
|
||||
this.loadToolStripMenuItem.Text = "Load";
|
||||
this.loadToolStripMenuItem.Click += new System.EventHandler(this.loadToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripMenuItem3
|
||||
//
|
||||
this.toolStripMenuItem3.Name = "toolStripMenuItem3";
|
||||
this.toolStripMenuItem3.Size = new System.Drawing.Size(310, 6);
|
||||
//
|
||||
// exportDataToolStripMenuItem
|
||||
//
|
||||
this.exportDataToolStripMenuItem.Name = "exportDataToolStripMenuItem";
|
||||
this.exportDataToolStripMenuItem.Size = new System.Drawing.Size(313, 42);
|
||||
this.exportDataToolStripMenuItem.Text = "목록 내보내기(xls)";
|
||||
this.exportDataToolStripMenuItem.Click += new System.EventHandler(this.exportDataToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStrip1
|
||||
//
|
||||
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(30, 30);
|
||||
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripLabel4,
|
||||
this.dtSD,
|
||||
this.lbEnd,
|
||||
this.dtED,
|
||||
this.toolStripSeparator2,
|
||||
this.toolStripLabel3,
|
||||
this.tbRequest,
|
||||
this.toolStripSeparator4,
|
||||
this.btSearch,
|
||||
this.toolStripSeparator5,
|
||||
this.toolStripButton2});
|
||||
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStrip1.Name = "toolStrip1";
|
||||
this.toolStrip1.Size = new System.Drawing.Size(1244, 37);
|
||||
this.toolStrip1.TabIndex = 3;
|
||||
this.toolStrip1.Text = "toolStrip1";
|
||||
//
|
||||
// toolStripLabel4
|
||||
//
|
||||
this.toolStripLabel4.Name = "toolStripLabel4";
|
||||
this.toolStripLabel4.Size = new System.Drawing.Size(43, 34);
|
||||
this.toolStripLabel4.Text = "시작일";
|
||||
//
|
||||
// dtSD
|
||||
//
|
||||
this.dtSD.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.dtSD.Font = new System.Drawing.Font("맑은 고딕", 9F);
|
||||
this.dtSD.Name = "dtSD";
|
||||
this.dtSD.Size = new System.Drawing.Size(90, 37);
|
||||
this.dtSD.Text = "1982-11-23";
|
||||
this.dtSD.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// lbEnd
|
||||
//
|
||||
this.lbEnd.Name = "lbEnd";
|
||||
this.lbEnd.Size = new System.Drawing.Size(15, 34);
|
||||
this.lbEnd.Text = "~";
|
||||
this.lbEnd.Click += new System.EventHandler(this.lbEnd_Click);
|
||||
//
|
||||
// dtED
|
||||
//
|
||||
this.dtED.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.dtED.Font = new System.Drawing.Font("맑은 고딕", 9F);
|
||||
this.dtED.Name = "dtED";
|
||||
this.dtED.Size = new System.Drawing.Size(90, 37);
|
||||
this.dtED.Text = "1982-11-23";
|
||||
this.dtED.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// toolStripSeparator2
|
||||
//
|
||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 37);
|
||||
//
|
||||
// toolStripLabel3
|
||||
//
|
||||
this.toolStripLabel3.Name = "toolStripLabel3";
|
||||
this.toolStripLabel3.Size = new System.Drawing.Size(43, 34);
|
||||
this.toolStripLabel3.Text = "사용자";
|
||||
this.toolStripLabel3.Click += new System.EventHandler(this.toolStripLabel3_Click);
|
||||
//
|
||||
// tbRequest
|
||||
//
|
||||
this.tbRequest.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.tbRequest.Font = new System.Drawing.Font("맑은 고딕", 9F);
|
||||
this.tbRequest.Name = "tbRequest";
|
||||
this.tbRequest.Size = new System.Drawing.Size(70, 37);
|
||||
this.tbRequest.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.tbRequest.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tbRequest_KeyDown);
|
||||
//
|
||||
// toolStripSeparator4
|
||||
//
|
||||
this.toolStripSeparator4.Name = "toolStripSeparator4";
|
||||
this.toolStripSeparator4.Size = new System.Drawing.Size(6, 37);
|
||||
//
|
||||
// btSearch
|
||||
//
|
||||
this.btSearch.Image = ((System.Drawing.Image)(resources.GetObject("btSearch.Image")));
|
||||
this.btSearch.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btSearch.Name = "btSearch";
|
||||
this.btSearch.Size = new System.Drawing.Size(80, 34);
|
||||
this.btSearch.Text = "조회(&R)";
|
||||
this.btSearch.Click += new System.EventHandler(this.btSearch_Click);
|
||||
//
|
||||
// toolStripSeparator5
|
||||
//
|
||||
this.toolStripSeparator5.Name = "toolStripSeparator5";
|
||||
this.toolStripSeparator5.Size = new System.Drawing.Size(6, 37);
|
||||
//
|
||||
// toolStripButton2
|
||||
//
|
||||
this.toolStripButton2.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
|
||||
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton2.Name = "toolStripButton2";
|
||||
this.toolStripButton2.Size = new System.Drawing.Size(65, 34);
|
||||
this.toolStripButton2.Text = "닫기";
|
||||
this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click_1);
|
||||
//
|
||||
// fpSpread1
|
||||
//
|
||||
this.fpSpread1.AccessibleDescription = "";
|
||||
this.fpSpread1.ContextMenuStrip = this.cm1;
|
||||
this.fpSpread1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fpSpread1.Location = new System.Drawing.Point(0, 37);
|
||||
this.fpSpread1.Name = "fpSpread1";
|
||||
this.fpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
|
||||
this.fpSpread1_Sheet1});
|
||||
this.fpSpread1.Size = new System.Drawing.Size(1244, 585);
|
||||
this.fpSpread1.TabIndex = 4;
|
||||
this.fpSpread1.EditModeOff += new System.EventHandler(this.fpSpread1_EditModeOff);
|
||||
//
|
||||
// fpSpread1_Sheet1
|
||||
//
|
||||
this.fpSpread1_Sheet1.Reset();
|
||||
this.fpSpread1_Sheet1.SheetName = "Sheet1";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.fpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.fpSpread1_Sheet1.ColumnCount = 12;
|
||||
this.fpSpread1_Sheet1.ActiveColumnIndex = -1;
|
||||
this.fpSpread1_Sheet1.ActiveRowIndex = -1;
|
||||
this.fpSpread1_Sheet1.AutoGenerateColumns = false;
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 0).Value = "시작일";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 1).Value = "완료일";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).Value = "교육과정명";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 3).Value = "교육유형";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 4).Value = "교육목적";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 5).Value = "교육목표";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 6).Value = "교육기관";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 7).Value = "집합유형";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 8).Value = "교육장소";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 9).Value = "교육비";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 10).Value = "인원수";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 11).Value = "총 교육비";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 39F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).CellType = textCellType1;
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).DataField = "sdate";
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).Label = "시작일";
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).Width = 151F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).CellType = textCellType2;
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).DataField = "edate";
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).Label = "완료일";
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).Width = 151F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).CellType = textCellType3;
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).DataField = "title";
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).Label = "교육과정명";
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).Width = 151F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).CellType = textCellType4;
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).DataField = "edutype";
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).Label = "교육유형";
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).Width = 151F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(4).CellType = textCellType5;
|
||||
this.fpSpread1_Sheet1.Columns.Get(4).DataField = "proposal";
|
||||
this.fpSpread1_Sheet1.Columns.Get(4).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
|
||||
this.fpSpread1_Sheet1.Columns.Get(4).Label = "교육목적";
|
||||
this.fpSpread1_Sheet1.Columns.Get(4).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(4).Width = 151F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(5).CellType = textCellType6;
|
||||
this.fpSpread1_Sheet1.Columns.Get(5).DataField = "target";
|
||||
this.fpSpread1_Sheet1.Columns.Get(5).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(5).Label = "교육목표";
|
||||
this.fpSpread1_Sheet1.Columns.Get(5).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(5).Width = 151F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(6).CellType = textCellType7;
|
||||
this.fpSpread1_Sheet1.Columns.Get(6).DataField = "eduoffice";
|
||||
this.fpSpread1_Sheet1.Columns.Get(6).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
|
||||
this.fpSpread1_Sheet1.Columns.Get(6).Label = "교육기관";
|
||||
this.fpSpread1_Sheet1.Columns.Get(6).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(6).Width = 151F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(7).CellType = textCellType8;
|
||||
this.fpSpread1_Sheet1.Columns.Get(7).DataField = "meettype";
|
||||
this.fpSpread1_Sheet1.Columns.Get(7).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(7).Label = "집합유형";
|
||||
this.fpSpread1_Sheet1.Columns.Get(7).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(7).Width = 151F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(8).CellType = textCellType9;
|
||||
this.fpSpread1_Sheet1.Columns.Get(8).DataField = "location";
|
||||
this.fpSpread1_Sheet1.Columns.Get(8).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
|
||||
this.fpSpread1_Sheet1.Columns.Get(8).Label = "교육장소";
|
||||
this.fpSpread1_Sheet1.Columns.Get(8).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(8).Width = 151F;
|
||||
numberCellType1.MaximumValue = 999999999999999D;
|
||||
numberCellType1.MinimumValue = -999999999999999D;
|
||||
this.fpSpread1_Sheet1.Columns.Get(9).CellType = numberCellType1;
|
||||
this.fpSpread1_Sheet1.Columns.Get(9).DataField = "price";
|
||||
this.fpSpread1_Sheet1.Columns.Get(9).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(9).Label = "교육비";
|
||||
this.fpSpread1_Sheet1.Columns.Get(9).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(9).Width = 75F;
|
||||
numberCellType2.DecimalPlaces = 0;
|
||||
numberCellType2.LeadingZero = FarPoint.Win.Spread.CellType.LeadingZero.Yes;
|
||||
numberCellType2.MaximumValue = 32767D;
|
||||
numberCellType2.MinimumValue = -32768D;
|
||||
this.fpSpread1_Sheet1.Columns.Get(10).CellType = numberCellType2;
|
||||
this.fpSpread1_Sheet1.Columns.Get(10).DataField = "qty";
|
||||
this.fpSpread1_Sheet1.Columns.Get(10).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(10).Label = "인원수";
|
||||
this.fpSpread1_Sheet1.Columns.Get(10).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(11).BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224)))));
|
||||
numberCellType3.MaximumValue = 999999999999999D;
|
||||
numberCellType3.MinimumValue = -999999999999999D;
|
||||
this.fpSpread1_Sheet1.Columns.Get(11).CellType = numberCellType3;
|
||||
this.fpSpread1_Sheet1.Columns.Get(11).DataField = "amt";
|
||||
this.fpSpread1_Sheet1.Columns.Get(11).Formula = "RC[-2]+RC[-1]";
|
||||
this.fpSpread1_Sheet1.Columns.Get(11).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right;
|
||||
this.fpSpread1_Sheet1.Columns.Get(11).Label = "총 교육비";
|
||||
this.fpSpread1_Sheet1.Columns.Get(11).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(11).Width = 75F;
|
||||
this.fpSpread1_Sheet1.DataAutoSizeColumns = false;
|
||||
this.fpSpread1_Sheet1.DataSource = this.bs;
|
||||
this.fpSpread1_Sheet1.RowHeader.Columns.Default.Resizable = false;
|
||||
this.fpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.label1.Font = new System.Drawing.Font("맑은 고딕", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.label1.Location = new System.Drawing.Point(0, 622);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0);
|
||||
this.label1.Size = new System.Drawing.Size(1244, 23);
|
||||
this.label1.TabIndex = 6;
|
||||
this.label1.Text = "--";
|
||||
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
//
|
||||
// fEdulist
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1244, 670);
|
||||
this.Controls.Add(this.fpSpread1);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.toolStrip1);
|
||||
this.Controls.Add(this.bn);
|
||||
this.DoubleBuffered = true;
|
||||
this.Name = "fEdulist";
|
||||
this.Text = "교육 목록";
|
||||
this.Load += new System.EventHandler(this.@__Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dsPurchase)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bn)).EndInit();
|
||||
this.bn.ResumeLayout(false);
|
||||
this.bn.PerformLayout();
|
||||
this.cm1.ResumeLayout(false);
|
||||
this.toolStrip1.ResumeLayout(false);
|
||||
this.toolStrip1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1_Sheet1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private EEDataSet dsPurchase;
|
||||
private System.Windows.Forms.BindingSource bs;
|
||||
private EEDataSetTableAdapters.EETGW_EducationListTableAdapter ta;
|
||||
private EEDataSetTableAdapters.TableAdapterManager tam;
|
||||
private System.Windows.Forms.BindingNavigator bn;
|
||||
private System.Windows.Forms.ToolStripButton btAdd;
|
||||
private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
|
||||
private System.Windows.Forms.ToolStripButton btDel;
|
||||
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem;
|
||||
private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem;
|
||||
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator;
|
||||
private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem;
|
||||
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1;
|
||||
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem;
|
||||
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem;
|
||||
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2;
|
||||
private System.Windows.Forms.ToolStrip toolStrip1;
|
||||
private System.Windows.Forms.ToolStripTextBox dtSD;
|
||||
private System.Windows.Forms.ToolStripLabel lbEnd;
|
||||
private System.Windows.Forms.ToolStripTextBox dtED;
|
||||
private System.Windows.Forms.ToolStripButton btSearch;
|
||||
private System.Windows.Forms.ContextMenuStrip cm1;
|
||||
private System.Windows.Forms.ToolStripLabel toolStripLabel3;
|
||||
private System.Windows.Forms.ToolStripTextBox tbRequest;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
private System.Windows.Forms.ToolStripButton btSave;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
|
||||
private System.Windows.Forms.ToolStripLabel toolStripLabel2;
|
||||
private System.Windows.Forms.ToolStripTextBox tbFind;
|
||||
private System.Windows.Forms.ToolStripButton btFind;
|
||||
private FarPoint.Win.Spread.FpSpread fpSpread1;
|
||||
private System.Windows.Forms.ToolStripMenuItem columnSizeToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem autoToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem resetToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem loadToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripButton btEdit;
|
||||
private System.Windows.Forms.ToolStripMenuItem exportDataToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem3;
|
||||
private System.Windows.Forms.ToolStripButton btCopy;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton2;
|
||||
private System.Windows.Forms.ToolStripLabel toolStripLabel4;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private FarPoint.Win.Spread.SheetView fpSpread1_Sheet1;
|
||||
}
|
||||
}
|
||||
@@ -1,781 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using util = FCOMMON.Util;
|
||||
|
||||
|
||||
namespace FED0000
|
||||
{
|
||||
public partial class fEdulist : FCOMMON.fBase
|
||||
{
|
||||
string fn_fpcolsize = "";
|
||||
|
||||
public fEdulist()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Properties.Settings.Default["gwcs"] = FCOMMON.info.CS;
|
||||
Properties.Settings.Default["EEEntities"] = FCOMMON.info.CS;
|
||||
|
||||
|
||||
fn_fpcolsize = util.MakeFilePath(util.CurrentPath, "formSetting", "fp_" + this.Name + ".ini");
|
||||
this.dsPurchase.EETGW_EducationList.TableNewRow += Purchase_TableNewRow;
|
||||
this.FormClosing += FPurchase_FormClosing;
|
||||
this.FormClosed += __Closed;
|
||||
dtSD.KeyDown += dtSD_KeyDown;
|
||||
dtED.KeyDown += dtSD_KeyDown;
|
||||
//this.dv1.CellFormatting += dv1_CellFormatting;
|
||||
}
|
||||
|
||||
private void FPurchase_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (dsPurchase.HasChanges())
|
||||
{
|
||||
var dlg = FCOMMON.Util.MsgQ("변경된 자료가 있습니다. 화면을 닫을까요? 닫으면 변경된 자료는 손실 됩니다");
|
||||
if (dlg != DialogResult.Yes)
|
||||
{
|
||||
e.Cancel = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void dtSD_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode != Keys.Enter) return;
|
||||
var tb = sender as ToolStripTextBox;
|
||||
var input = tb.Text.Trim();
|
||||
if (input == "") tb.Text = DateTime.Now.ToShortDateString();
|
||||
else
|
||||
{
|
||||
string dt = string.Empty;
|
||||
if (!util.MakeDateString(input, out dt))
|
||||
{
|
||||
FCOMMON.Util.MsgE("입력값이 올바르지 않습니다.");
|
||||
tb.SelectAll();
|
||||
tb.Focus();
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
tb.Text = dt;
|
||||
}
|
||||
}
|
||||
if (tb == dtSD)
|
||||
{
|
||||
dtED.Focus();
|
||||
dtED.SelectAll();
|
||||
}
|
||||
else
|
||||
{
|
||||
btSearch.PerformClick();
|
||||
tb.SelectAll();
|
||||
}
|
||||
}
|
||||
|
||||
void __Closed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Purchase_TableNewRow(object sender, DataTableNewRowEventArgs e)
|
||||
{
|
||||
e.Row["gcode"] = FCOMMON.info.Login.gcode;
|
||||
e.Row["sdate"] = DateTime.Now.ToShortDateString();
|
||||
e.Row["edate"] = DateTime.Now.ToShortDateString();
|
||||
e.Row["wuid"] = FCOMMON.info.Login.no;
|
||||
e.Row["wdate"] = DateTime.Now;
|
||||
|
||||
}
|
||||
|
||||
private void __Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
EnsureVisibleAndUsableSize();
|
||||
this.tbRequest.Text = string.Empty; //양진원 FCOMMON.info.Login.nameK;
|
||||
|
||||
this.dtSD.Text = DateTime.Now.ToString("yyyy-01-01");
|
||||
this.dtED.Text = DateTime.Now.ToString("yyyy-12-31");
|
||||
|
||||
////state list
|
||||
//var stList = FCOMMON.DBM.getCodeList("04");
|
||||
//this.cmbState.Items.Clear();
|
||||
//cmbState.Items.Add("-- 전체 --");
|
||||
//foreach (var item in stList)
|
||||
// cmbState.Items.Add(item.Value);
|
||||
//cmbState.Items.Add("<=Received");
|
||||
//this.cmbState.SelectedIndex = 0; //all기본 - 양진원
|
||||
////this.cmbCr.SelectedIndex = 1;
|
||||
|
||||
//일반사용자의경우에는 상태를 변경하지 못한다.
|
||||
//int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.purchase));
|
||||
//if (curLevel >= 5)
|
||||
//{
|
||||
// btSave.Visible = true;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// btSave.Visible = false;
|
||||
// fpSpread1.EditMode = false;
|
||||
// fpSpread1.Sheets[0].SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row;
|
||||
// fpSpread1.EditModePermanent = false;
|
||||
// fpSpread1.EditModeReplace = false;
|
||||
|
||||
// foreach (FarPoint.Win.Spread.Column col in fpSpread1.ActiveSheet.Columns)
|
||||
// col.Locked = true;
|
||||
//}
|
||||
|
||||
|
||||
|
||||
refreshData();
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void refreshData()
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
//string state = "%";
|
||||
//if (cmbState.SelectedIndex > 0) state = cmbState.Text.Split(',')[0];
|
||||
|
||||
//string request = "%";
|
||||
//if (tbRequest.Text.Trim() != "")
|
||||
// request = "%" + tbRequest.Text.Trim() + "%";// tbRequest.Text.Substring(1, tbRequest.Text.IndexOf("]") - 1);
|
||||
|
||||
|
||||
//string dateField = "pdate";
|
||||
//if (cmDate.SelectedIndex == 1) dateField = "indate";
|
||||
//else if (cmDate.SelectedIndex == 2) dateField = "expdate";
|
||||
|
||||
|
||||
//System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter();
|
||||
//System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
|
||||
//cmd.CommandText = " select *,dbo.getusername(request) as requestName,dbo.getusername(receive) as receiveName" +
|
||||
// " from purchase " +
|
||||
// " where gcode='" + FCOMMON.info.Login.gcode + "' and isnull(" + dateField + ",'') between @sd and @ed ";
|
||||
|
||||
|
||||
|
||||
//if (btViewDel.Checked == false)
|
||||
// cmd.CommandText += " and isnull(isdel,0) = 0";
|
||||
|
||||
|
||||
//if (tbRequest.Text.Trim() != "")
|
||||
//{
|
||||
// cmd.CommandText += " and (isnull(dbo.getusername(request),'') like @req or isnull(dbo.getusername(receive),'') like @req)";
|
||||
//}
|
||||
|
||||
|
||||
//if (cmbState.SelectedIndex != 0)
|
||||
//{
|
||||
// if (cmbState.Text.ToUpper() == "<=RECEIVED")
|
||||
// {
|
||||
// cmd.CommandText += " and isnull([state],'') in ('','---','Approving','PR','PO')";
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// cmd.CommandText += " and isnull([state],'') like @st";
|
||||
// }
|
||||
//}
|
||||
//// else cmd.CommandText += " and (state < '04' or state > '07')";
|
||||
|
||||
|
||||
//if (cmbSort.SelectedIndex == 1) dateField = "edate";
|
||||
//else if (cmbSort.SelectedIndex == 2) dateField = "sc";
|
||||
|
||||
//cmd.CommandText += " ORDER BY " + dateField + " DESC, idx DESC";
|
||||
|
||||
//cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@sd", dtSD.Text));
|
||||
//cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ed", dtED.Text));
|
||||
//cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@req", request));
|
||||
//cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@st", state));
|
||||
//cmd.Connection = this.ta.Connection;
|
||||
//da.SelectCommand = cmd;
|
||||
|
||||
////read adata
|
||||
//this.dsPurchase.Purchase.Clear();
|
||||
//da.Fill(this.dsPurchase.Purchase);
|
||||
//this.dsPurchase.AcceptChanges();
|
||||
//showSummary();
|
||||
|
||||
var sd = this.dtSD.Text.Trim();
|
||||
var ed = this.dtED.Text.Trim();
|
||||
this.ta.Fill(this.dsPurchase.EETGW_EducationList, FCOMMON.info.Login.gcode, sd, ed);
|
||||
FCOMMON.Util.FPColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(ex.Message);
|
||||
}
|
||||
|
||||
FormattingData();
|
||||
}
|
||||
void FormattingData()
|
||||
{
|
||||
//삭제컬럼인덱스
|
||||
//this.fpSpread1.SuspendLayout();
|
||||
//var delindex = this.fpSpread1.ActiveSheet.Columns["isdel"].Index;
|
||||
//var statindex = this.fpSpread1.ActiveSheet.Columns["state"].Index;
|
||||
//var crcfindex = this.fpSpread1.ActiveSheet.Columns["crcf"].Index;
|
||||
//var prjindex = this.fpSpread1.ActiveSheet.Columns["projectidx"].Index;
|
||||
|
||||
|
||||
//for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
|
||||
//{
|
||||
// var state = this.fpSpread1.ActiveSheet.GetValue(i, statindex);
|
||||
// string stateStr = string.Empty;
|
||||
// if (state != null) stateStr = state.ToString();
|
||||
|
||||
// var value = this.fpSpread1.ActiveSheet.GetValue(i, delindex);
|
||||
// var crcf = this.fpSpread1.ActiveSheet.GetValue(i, crcfindex);
|
||||
|
||||
// var str_crcf = string.Empty;
|
||||
// if (crcf != null) str_crcf = crcf.ToString();
|
||||
|
||||
|
||||
// if (value != null && (Boolean)value)
|
||||
// {
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.Red;
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.White;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// //crcf 에 따라서 배경색 변경
|
||||
// if (str_crcf != "")
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.FromArgb(50, Color.PowderBlue);
|
||||
// else
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.White;
|
||||
|
||||
|
||||
// switch (stateStr.ToLower())
|
||||
// {
|
||||
// case "cancled":
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Red;
|
||||
// break;
|
||||
// case "rejected":
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Tomato;
|
||||
// break;
|
||||
// case "spr":
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Magenta;
|
||||
// break;
|
||||
// case "---":
|
||||
// case "----":
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Blue;
|
||||
// break;
|
||||
// case "received":
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Gray;
|
||||
// break;
|
||||
// case "hold":
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.HotPink;
|
||||
// break;
|
||||
// default:
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Black;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
// //프로젝트가 걸린데이터는 글자를 bold체로 변경한다.
|
||||
// var prjdata = this.fpSpread1.ActiveSheet.GetValue(i, prjindex);
|
||||
// if (prjdata != null)
|
||||
// {
|
||||
// var pidx = (int)this.fpSpread1.ActiveSheet.GetValue(i, prjindex);
|
||||
// if (pidx == -1) //프로젝트가 없다
|
||||
// {
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].Font = fBase;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].Font = fBold;
|
||||
// }
|
||||
// }
|
||||
// else this.fpSpread1.ActiveSheet.Rows[i].Font = fBold;
|
||||
|
||||
|
||||
//}
|
||||
//this.fpSpread1.ResumeLayout();
|
||||
}
|
||||
|
||||
Font fBase = new Font("맑은 고딕", 9);
|
||||
Font fBold = new Font("맑은 고딕", 9, FontStyle.Bold);
|
||||
|
||||
private void saveData(Boolean prompt)
|
||||
{
|
||||
this.Validate();
|
||||
this.bs.EndEdit();
|
||||
try
|
||||
{
|
||||
var cnt = this.tam.UpdateAll(this.dsPurchase);
|
||||
if (prompt) FCOMMON.Util.MsgI(string.Format("{0}건의 자료가 저장 되었습니다.", cnt));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
FCOMMON.Util.MsgE("저장 실패\n" + ex.Message);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void btSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
refreshData();
|
||||
}
|
||||
|
||||
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
func_add();
|
||||
}
|
||||
|
||||
private void tbRequest_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
btSearch.PerformClick();
|
||||
}
|
||||
|
||||
private void btSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
saveData(true);
|
||||
}
|
||||
|
||||
|
||||
private void lbEnd_Click(object sender, EventArgs e)
|
||||
{
|
||||
//end date
|
||||
var list = FCOMMON.DBM.getGroupList("pdate", "purchase", "pdate >= '" + dtSD.Text + "'", true);
|
||||
FCM0000.fLovOneItem f = new FCM0000.fLovOneItem(list);
|
||||
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
dtED.Text = f.Title;
|
||||
btSearch.PerformClick();
|
||||
}
|
||||
}
|
||||
|
||||
private void toolStripLabel3_Click(object sender, EventArgs e)
|
||||
{
|
||||
//사용자목록처리
|
||||
if (tbRequest.Text.Trim() == "")
|
||||
{
|
||||
tbRequest.Text = FCOMMON.info.Login.nameK;
|
||||
}
|
||||
else
|
||||
{
|
||||
tbRequest.Text = string.Empty;
|
||||
}
|
||||
|
||||
refreshData();
|
||||
}
|
||||
|
||||
private bool getAdminInput
|
||||
{
|
||||
get
|
||||
{
|
||||
return FCOMMON.Util.getBit(
|
||||
FCOMMON.info.Login.gpermission,
|
||||
(int)FCOMMON.eGroupPermission.purchase_adv);
|
||||
}
|
||||
}
|
||||
|
||||
private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
func_delete();
|
||||
}
|
||||
void func_add()
|
||||
{
|
||||
var newdr = this.bs.AddNew();
|
||||
this.bs.Position = this.bs.Count - 1;
|
||||
|
||||
//var newdr = this.dsPurchase.Purchase.NewPurchaseRow();
|
||||
|
||||
//if (FCOMMON.info.Login.no == "dev")
|
||||
// newdr.request = "395552";//string.Format("[{0}] {1}", "395552", "김치균");
|
||||
//else
|
||||
// newdr.request = FCOMMON.info.Login.no;
|
||||
|
||||
//repeat:
|
||||
|
||||
//bool repeat = false;
|
||||
//DialogResult dlg;
|
||||
|
||||
//{
|
||||
// var f = new fPurchase_Add(newdr);
|
||||
// dlg = f.ShowDialog();
|
||||
// repeat = f.repeatAdd;
|
||||
//}
|
||||
|
||||
//if (dlg == System.Windows.Forms.DialogResult.OK)
|
||||
//{
|
||||
// //존재하지 않는 sid 는 추가를 해준다.
|
||||
// var newidx = AddItemInfoGetIndex(newdr);
|
||||
// if (newidx != -1)
|
||||
// {
|
||||
// newdr.pumidx = newidx;
|
||||
// newdr.EndEdit();
|
||||
// }
|
||||
|
||||
// this.dsPurchase.Purchase.AddPurchaseRow(newdr);
|
||||
|
||||
// int cnt = this.ta.Update(newdr);
|
||||
// if (cnt == 1)
|
||||
// {
|
||||
// if (repeat)
|
||||
// {
|
||||
// FCOMMON.Util.MsgI("저장 완료\n\n연속 저장 모드이므로 직전에 입력된 자료가 자동으로 설정 됩니다.");
|
||||
|
||||
// }
|
||||
// else FCOMMON.Util.MsgI("저장 완료");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// FCOMMON.Util.MsgE("저장 실패\n\n다시 시도하시고 증상이 반복되면 chikyun.kim@amkor.co.kr 로 문의 주십시요");
|
||||
// }
|
||||
|
||||
|
||||
// newdr.AcceptChanges();
|
||||
// if (repeat)
|
||||
// {
|
||||
// var newdro = this.dsPurchase.Purchase.NewPurchaseRow();
|
||||
// FCOMMON.Util.CopyData(newdr, newdro);
|
||||
// newdro.idx = -1;
|
||||
// newdro.wdate = DateTime.Now;
|
||||
// newdr = newdro; //change
|
||||
// goto repeat;
|
||||
// }
|
||||
// else refreshData(); //181210
|
||||
//}
|
||||
//else newdr.Delete();
|
||||
|
||||
|
||||
|
||||
}
|
||||
void func_delete()
|
||||
{
|
||||
var drv = bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
|
||||
//var dlg = FCOMMON.Util.MsgQ("현재 선택된 데이터를 삭제 하시겠습니까?");
|
||||
//if (dlg != DialogResult.Yes) return;
|
||||
|
||||
|
||||
int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.purchase));
|
||||
var dr = drv.Row as EEDataSet.EETGW_EducationListRow;
|
||||
|
||||
//if (dr.sc != "")
|
||||
//{
|
||||
// if (curLevel < 5)
|
||||
// {
|
||||
// FCOMMON.Util.MsgE("일반 사용자는 SC값이 있는 자료를 삭제할 수 없습니다.");
|
||||
// return;
|
||||
// }
|
||||
//}
|
||||
|
||||
//if (dr.request != FCOMMON.info.Login.no)
|
||||
//{
|
||||
// if (curLevel < 5)
|
||||
// {
|
||||
// FCOMMON.Util.MsgE("일반 사용자는 타인의 자료를 삭제할 수 없습니다.");
|
||||
// return;
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
var dlg = FCOMMON.Util.MsgQ("현재 선택된 자료를 삭제하시겠습니까?");
|
||||
if (dlg != System.Windows.Forms.DialogResult.Yes) return;
|
||||
|
||||
bs.RemoveCurrent();
|
||||
bs.EndEdit();
|
||||
}
|
||||
|
||||
|
||||
private void btFind_Click(object sender, EventArgs e)
|
||||
{
|
||||
var search = tbFind.Text.Trim();
|
||||
search = search.Replace("*", "x");
|
||||
if (tbFind.Text != search) tbFind.Text = search;
|
||||
try
|
||||
{
|
||||
if (search.isEmpty())
|
||||
{
|
||||
this.bs.Filter = "";
|
||||
tbFind.BackColor = Color.White;
|
||||
}
|
||||
else
|
||||
{
|
||||
var cols = new List<string>();
|
||||
cols.Add("title like ?");
|
||||
cols.Add("proposal like ?");
|
||||
cols.Add("target like ?");
|
||||
cols.Add("eduoffice like ?");
|
||||
cols.Add("location like ?");
|
||||
|
||||
search = search.Replace("'", "''");
|
||||
string filter = string.Join(" or ", cols.ToArray());
|
||||
filter = filter.Replace("?", "'%" + search + "%'");
|
||||
this.bs.Filter = filter;
|
||||
tbFind.BackColor = Color.Lime;
|
||||
}
|
||||
tbFind.SelectAll();
|
||||
tbFind.Focus();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.tbFind.BackColor = Color.Tomato;
|
||||
FCOMMON.Util.MsgE(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void tbFind_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter) btFind.PerformClick();
|
||||
}
|
||||
|
||||
private void editDataToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Func_Edit();
|
||||
}
|
||||
void Func_Edit()
|
||||
{
|
||||
//var drv = this.bs.Current as DataRowView;
|
||||
//if (drv == null) return;
|
||||
//var newdr = drv.Row as dsPurchase.PurchaseRow;
|
||||
|
||||
//bool repeat = false;
|
||||
//DialogResult dlg;
|
||||
|
||||
//{
|
||||
// var f = new fPurchase_Add(newdr);
|
||||
// dlg = f.ShowDialog();
|
||||
// repeat = f.repeatAdd;
|
||||
//}
|
||||
|
||||
//if (dlg == System.Windows.Forms.DialogResult.OK)
|
||||
//{
|
||||
// //존재하지 않는 sid 는 추가를 해준다.
|
||||
// var newidx = AddItemInfoGetIndex(newdr);
|
||||
// if (newidx != -1)
|
||||
// {
|
||||
// newdr.pumidx = newidx;
|
||||
// newdr.EndEdit();
|
||||
// }
|
||||
// if (newdr.RowState != DataRowState.Unchanged)
|
||||
// {
|
||||
// this.ta.Update(newdr);
|
||||
// newdr.AcceptChanges();
|
||||
// }
|
||||
//}
|
||||
//else newdr.RejectChanges();
|
||||
|
||||
}
|
||||
|
||||
private void autoToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
FCOMMON.Util.FPColSizeAuto(this.fpSpread1);
|
||||
//this.fpSpread1.ActiveSheet.DataAutoSizeColumns = true;
|
||||
|
||||
//for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
|
||||
// this.fpSpread1.ActiveSheet.SetRowHeight(i, 25);
|
||||
//dv1.AutoResizeColumns();
|
||||
}
|
||||
|
||||
private void resetToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
foreach (FarPoint.Win.Spread.Column col in this.fpSpread1.ActiveSheet.Columns)
|
||||
{
|
||||
col.Width = 100;
|
||||
}
|
||||
}
|
||||
|
||||
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
FCOMMON.Util.FPColsizeSave(this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
|
||||
private void loadToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
FCOMMON.Util.FPColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
|
||||
private void toolStripButton2_Click(object sender, EventArgs e)
|
||||
{
|
||||
Func_Edit();
|
||||
}
|
||||
|
||||
|
||||
void dv1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
|
||||
{
|
||||
//if (e.ColumnIndex < 0 || e.RowIndex < 0) return;
|
||||
//var state = this.dv1.Rows[e.RowIndex].Cells["dvc_state"].Value.ToString();
|
||||
//switch (state)
|
||||
//{
|
||||
// case "00": //입력대기(미확인)
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Black;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.LightGray;
|
||||
// break;
|
||||
// case "01": //파트장 승인 기다림
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.DarkBlue;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
|
||||
// break;
|
||||
// case "03": //PO (협력업체 전달)
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.DarkMagenta;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
|
||||
// break;
|
||||
// case "04": //자재 수령
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Green;
|
||||
// break;
|
||||
// case "05": //canceld (취소)
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.LightGray;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Red;
|
||||
// break;
|
||||
// case "06": //cancel (취소됨)
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.HotPink;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Black;
|
||||
// break;
|
||||
// case "08": //문의
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.Green;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.White;
|
||||
// break;
|
||||
// default:
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Black;
|
||||
// break;
|
||||
//}
|
||||
}
|
||||
|
||||
private void updateSCToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var dlg = FCOMMON.Util.MsgQ("#SC가 없는 자료에 한하여 일괄 기록을 실행 합니다.");
|
||||
if (dlg == System.Windows.Forms.DialogResult.Yes)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void exportDataToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveFileDialog sd = new SaveFileDialog();
|
||||
sd.Filter = "excel|*.xls";
|
||||
sd.FileName = "edulist.xls";
|
||||
if (sd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
fpSpread1.SaveExcel(sd.FileName,
|
||||
FarPoint.Excel.ExcelSaveFlags.SaveAsViewed
|
||||
| FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered
|
||||
| FarPoint.Excel.ExcelSaveFlags.NoFormulas
|
||||
| FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders);
|
||||
FCOMMON.Util.MsgI("다음 파일이 생성 되었습니다.\n\n" + sd.FileName);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void btViewDel_Click(object sender, EventArgs e)
|
||||
{
|
||||
refreshData();
|
||||
}
|
||||
|
||||
|
||||
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void func_copy()
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
var dr = drv.Row as EEDataSet.EETGW_EducationListRow;
|
||||
|
||||
//현재 데이터를 입력하여 신규 추가를 한다.
|
||||
var newdr = this.dsPurchase.EETGW_EducationList.NewEETGW_EducationListRow();
|
||||
FCOMMON.Util.CopyData((System.Data.DataRow)dr, (System.Data.DataRow)newdr);
|
||||
newdr.sdate = DateTime.Now.ToShortDateString();
|
||||
newdr.edate = DateTime.Now.ToShortDateString();
|
||||
|
||||
newdr.wdate = DateTime.Now;
|
||||
newdr.wuid = FCOMMON.info.Login.no;
|
||||
newdr.EndEdit();
|
||||
|
||||
this.dsPurchase.EETGW_EducationList.AddEETGW_EducationListRow(newdr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void bs_CurrentChanged(object sender, EventArgs e)
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null)
|
||||
{
|
||||
this.label1.Text = "데이터가 선택되지 않았습니다";
|
||||
return;
|
||||
}
|
||||
var dr = drv.Row as EEDataSet.EETGW_EducationListRow;
|
||||
// this.label1.Text = string.Format("{0}", dr.bigo.Replace("\r", "").Replace("\n", ""));
|
||||
}
|
||||
|
||||
private void toolStripButton4_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
string getmaxstr(string src, int len = 30)
|
||||
{
|
||||
if (src.Length > len) return src.Substring(0, len) + "...";
|
||||
else return src;
|
||||
}
|
||||
|
||||
List<string> ChangeMailAddress(List<string> userid)
|
||||
{
|
||||
var db = new DataClasses1DataContext();
|
||||
|
||||
List<string> retval = new List<string>();
|
||||
foreach (var id in userid)
|
||||
{
|
||||
UInt32 userno;
|
||||
if (UInt32.TryParse(id, out userno) == true)
|
||||
{
|
||||
var user = db.Users.Where(t => t.id == id).FirstOrDefault();
|
||||
if (user != null)
|
||||
{
|
||||
var data = string.Format("{0}<{1}>", user.name, user.email);
|
||||
if (retval.Contains(data) == false)
|
||||
retval.Add(data);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (retval.Contains(id) == false)
|
||||
retval.Add(id);
|
||||
}
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
private void toolStripButton3_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
var fn = System.IO.Path.Combine(FCOMMON.Util.CurrentPath, "PurcManual.pdf");
|
||||
if (System.IO.File.Exists(fn))
|
||||
{
|
||||
FCOMMON.Util.RunExplorer(fn);
|
||||
}
|
||||
else FCOMMON.Util.MsgE("설명서 파일(manual.pdf)이 없습니다. 개발자 문의 해주세요(chikyun.kim@amkor.co.kr)");
|
||||
}
|
||||
|
||||
private void fpSpread1_EditModeOff(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void toolStripButton2_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,306 +0,0 @@
|
||||
<?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="dsPurchase.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>131, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>195, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tam.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>257, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>330, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
|
||||
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
|
||||
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
|
||||
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
|
||||
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
|
||||
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
|
||||
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
|
||||
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
|
||||
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
|
||||
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
|
||||
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
|
||||
oAc0QjgAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
|
||||
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
|
||||
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
|
||||
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
|
||||
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
|
||||
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btAdd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
|
||||
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++
|
||||
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ
|
||||
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA
|
||||
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/
|
||||
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E
|
||||
rkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btCopy.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFDSURBVDhPlZK9SgNREIXzOpY+gEXQIg+QkMLOTuwsLNRU
|
||||
ViKIja0SbMRCBQsLUxgQArERf1ARCaLBCErUIoWJjnyzTna4Ccs6cLLkzpzvnr17M5KiMknFQPXyQfbO
|
||||
m6rNkxtZ3q9LqVyR2bVdVSKEJsbr53dpvnVUrx/RE61W2zI5v6EQqz9rVCwAYLj2+KP6VyL+bJ825LPz
|
||||
pWYzpknUB7CLARgIE6HK/bfO0F86aklhZiWC8ENEA9D0iUKAKRHgE5kZHdz2VPTyUwsxYHHrWN+TIQAe
|
||||
6M07F10VvVx+OgZwsgaYO3wZAHhz+ayr5zMAwGAAn8gDMA8F8Fmu7p4Uwh3wibx5vd5TNVptyeaKMQAD
|
||||
p4o4HJ9oGAD42EQhBoTlE9kFYleEmZQjo+M6q5fJF4thIt4XEZudMfc/Y1i6mrpEfgGL0hchHI3KDgAA
|
||||
AABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btEdit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEvSURBVDhPpZI/S0JRGIed+i6Nbk0t0iCuSkuDi1MfIKfm
|
||||
+gAOQktTQkMggYtRkwgidKmgyQwMCgqz0CivvvK8cK7neG4KdeHhHs45v+c9/xLyz08Ft713OQ+6SqXV
|
||||
kfLlnXJw1lSK5VrERqGkMB4JCCLpvQ7lZfDlQJ+B4EnwI9nTkbYdAZMbjxOPq4eJPH1MvXC2sD8XsOzP
|
||||
0bcX/C3MXEfAfmzBsnCnP10uWBWu3IS+gJOm0w5fHCZiw0aQzu3GC0xYgm2R+poTRnh8HeqNOALu920w
|
||||
9MK0F8NGkMrs+ALewqrwUXss3ed+vKB6H+rh2OT3SjpO0IBgcyvnCjgDBGCq8mcMiQ3FHAGdLB/J4vMF
|
||||
KhoI83LXk6m5gCpmufbyOWlgv0BVIMx4JPj7JzIDGHRUPz2nxiQAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="btDel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
|
||||
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC
|
||||
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV
|
||||
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG
|
||||
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG
|
||||
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX
|
||||
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="btFind.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>
|
||||
<metadata name="cm1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>504, 23</value>
|
||||
</metadata>
|
||||
<data name="autoToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfAJXG2JXa+ZLO5ChrlkCy4TZ1kiVvpCN0trvo9SN5xTd4lrfh7iR9zo3S+EGz7JDJ
|
||||
4TaCromrvC9ymyV+0Dd3mTl1koe72YvN7LTj+9ne6N3g6v7+/0Cw2Stoh////////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAInwA/CBzooaAHgQUHKvRQoUABCgUlHFT4IYMCBAsQIIBg
|
||||
wcBEgh0WCBDAgcAFDAc+fvDQIUKHDgMeEHDQIIFKlgoMGgjQoAGDmwUOehhg4EACBhM+GlzKVOkEBgkO
|
||||
GBggNOhCBhgCBPBYUEGHmwkCOCDwYMCAll8XHghwgQCHkQDSLjRgAcKDBwAAKNCwgaIHiR4oOKygkuDE
|
||||
pRQTK6YYEAA7
|
||||
</value>
|
||||
</data>
|
||||
<data name="resetToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfALnik2aXQv7+/dPut73llbfala3LmW6gSWqdQ2eYRGqaSLfck568iYrUQN7yzF6R
|
||||
PLTXlYjUP8XwmYfQQLbYl4jRQGiaQsPumNbyu7nglNPzsLXYlf7+/lCHK////////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIlgA/CBzooaAHgQUHEvSgIEAABQUfHFTIwQECDAMwYDhg
|
||||
oENCgRw8dBgAAECFBgsweJxYsAODDjApTIhAwCMHkCItGOxwgUCGlQQTeAgJsyhQg0iTGvzQ0qhND0IX
|
||||
dtBwQcJKDxZsIhQpIcIECkVffmwpYUGDCiUheBQg1cCBAgU2QFDg4KZCDxIZOoQ48S7LpQoDCx4cEAA7
|
||||
</value>
|
||||
</data>
|
||||
<data name="saveToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQAAJXD9Iasxm6MqnSn2lZtjVaRyEpXbYu767TX/2KZztvr/4Gy5KrT/3ut32+gzlFh
|
||||
e+r0/0RNX9/u/9Ln+8Xg//n8/4e36CkxQz9GVkSCvKjL35/N/Je91K7T5bDS4////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQAAAAAACwAAAAAEAAQAAAIuQA/CBxIsKDACRwScggQwIGAhwIICBDYQcEEgwg+bNjw
|
||||
QKCHCQgkQBgpQcKBCg0AEBCoAaRIkhIsVBigUiAHCgwkKNjJU8GAAx0/3NwIAMABCwsaDHCwIGgAChuK
|
||||
HjiQdMDSAQYEPpWKtKqDBA6yfgiAwGhXpUsTJIgg0AGCo0nRfi1QgO0HAQyQNpCrtkAGDAIFbKi69GsC
|
||||
un8FEohqdEFavxkyXAhMoPKDBwYMRIiAAcOFoAZDCwwIADs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="loadToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfAJfL/OTs9HWVsW6aUqnT+6bnZldwkYiux7TZ/O3z+UlVa/P2+ZfTW36wWJDLV4m7
|
||||
69nn78bi/qjL3qDP+VJhe4rAVa7S40NLXJ3bYJrA1ikxQz5FVdDU22OPRf///////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIwQA9CBxIcOCHgx4gWLAgIUOGAwcESBTgAaEFCAEGaBwQ
|
||||
IGOABwYqerCQsYBJBho7JHgAUqCEDjAxYGBQgYHKBAsoCMzQIUIEmA6CdkCAIOfOBT5/MnBQYSgBozCj
|
||||
SoVJ4KkCDx1MFhhKFEFVAhMCXM1aAANMoh2qTgh7AWvZmQ6igp0AIEDbDg0aLA06YC4AABA2eBjgYcHG
|
||||
vmv/Akgg2IMBDgsSdJwcAEICDhoECjDAmQIFBQouXNiwQYPOgqgLBgQAOw==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>396, 17</value>
|
||||
</metadata>
|
||||
<data name="btSearch.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE4SURBVDhPtZPPasJAEMbzPn0FwWA92JtP4NGKB1/DP7ei
|
||||
QSsovkChh7ZBrCfpyR4sikopUgq9StFzM/UbZ5asSS4FfzAkO7vft5udiZMEnSBpk5dhFJmncjdHxXaG
|
||||
A+9K4SbFT1luEwQBbXavVO5d0nI3ovnW5yeiMriiu+kt5asXbABEdgRigAUQDr+aHLU3lxoLl/yPJhvF
|
||||
GsiYJ/vPdX5qPK3bVJ25VFukafztGQNsKHJ791I3w+8KcpNth8XDz5YxACI/gsR1J8sTYcO4UIzwv1gG
|
||||
cTshgJ5IT8hChTMHsHi+v+fvffmxywVwN2FDkdsGEOK2ceu4feQ0tDqKyKMGqDfqjvprLzyswuX7Tf4E
|
||||
dBo6zn/3OB7XHovRyuhQ6+hhYKA9DpL+A1keRebNAhkaJH0OHOcP031C4EjYr6wAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADlSURBVEhL7dQxCsIwFMbxnMrZWatzUXRUCo5ewSs4ewZR
|
||||
DyDeQfEETsUbRL7YYNSXNC/UOiQP/kvzyE9KUcQ7y/VJtlHFvQYPjzf50xKsJsFmq81WHq538swMO9il
|
||||
zhALxkWd7kAOJwsnjjPsYNeGs2B14fR5YTYq5O5c1u7sL987iAUjF+6LIjaMKJyDoiAYmVAvn8lsXHij
|
||||
KBhGwDWof4APihqHqQ+OKhg2X3U/n7+9ah88CKY+pM9ndTgbplDbmQtnwS7UtmPDWfDf/jIRLnKhOuzY
|
||||
UMSGmyrBauKE26jiohshHicE2B3dbRrmAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="fpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>579, 23</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>65</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -95,12 +95,6 @@
|
||||
<Compile Include="MethodExtentions.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Education\fEdulist.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Education\fEdulist.Designer.cs">
|
||||
<DependentUpon>fEdulist.cs</DependentUpon>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="License\fLicenseList.resx">
|
||||
<DependentUpon>fLicenseList.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -115,9 +109,6 @@
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Education\fEdulist.resx">
|
||||
<DependentUpon>fEdulist.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<None Include="app.config" />
|
||||
<None Include="DataClasses1.dbml">
|
||||
<Generator>MSLinqToSQLGenerator</Generator>
|
||||
|
||||
@@ -97,7 +97,6 @@
|
||||
//
|
||||
this.tam.BackupDataSetBeforeUpdate = true;
|
||||
this.tam.Connection = null;
|
||||
this.tam.EETGW_EducationListTableAdapter = null;
|
||||
this.tam.EETGW_LicenseTableAdapter = null;
|
||||
this.tam.UpdateOrder = FED0000.EEDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
|
||||
//
|
||||
|
||||
@@ -11,435 +11,407 @@ using util = FCOMMON.Util;
|
||||
|
||||
namespace FED0000
|
||||
{
|
||||
public partial class fLicenseList : FCOMMON.fBase
|
||||
{
|
||||
string fn_fpcolsize = "";
|
||||
public partial class fLicenseList : FCOMMON.fBase
|
||||
{
|
||||
string fn_fpcolsize = "";
|
||||
|
||||
public fLicenseList()
|
||||
{
|
||||
InitializeComponent();
|
||||
Properties.Settings.Default["gwcs"] = FCOMMON.info.CS;
|
||||
Properties.Settings.Default["EEEntities"] = FCOMMON.info.CS;
|
||||
public fLicenseList()
|
||||
{
|
||||
InitializeComponent();
|
||||
Properties.Settings.Default["gwcs"] = FCOMMON.info.CS;
|
||||
Properties.Settings.Default["EEEntities"] = FCOMMON.info.CS;
|
||||
|
||||
fn_fpcolsize = util.MakeFilePath(util.CurrentPath, "formSetting", "fp_" + this.Name + ".ini");
|
||||
this.dsPurchase.EETGW_License.TableNewRow += Purchase_TableNewRow;
|
||||
this.FormClosing += FPurchase_FormClosing;
|
||||
this.FormClosed += __Closed;
|
||||
}
|
||||
fn_fpcolsize = util.MakeFilePath(util.CurrentPath, "formSetting", "fp_" + this.Name + ".ini");
|
||||
this.dsPurchase.EETGW_License.TableNewRow += Purchase_TableNewRow;
|
||||
this.FormClosing += FPurchase_FormClosing;
|
||||
this.FormClosed += __Closed;
|
||||
}
|
||||
|
||||
private void FPurchase_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (dsPurchase.HasChanges())
|
||||
{
|
||||
var dlg = FCOMMON.Util.MsgQ("변경된 자료가 있습니다. 화면을 닫을까요? 닫으면 변경된 자료는 손실 됩니다");
|
||||
if (dlg != DialogResult.Yes)
|
||||
{
|
||||
e.Cancel = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
private void FPurchase_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (dsPurchase.HasChanges())
|
||||
{
|
||||
var dlg = FCOMMON.Util.MsgQ("변경된 자료가 있습니다. 화면을 닫을까요? 닫으면 변경된 자료는 손실 됩니다");
|
||||
if (dlg != DialogResult.Yes)
|
||||
{
|
||||
e.Cancel = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void __Closed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
void __Closed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void Purchase_TableNewRow(object sender, DataTableNewRowEventArgs e)
|
||||
{
|
||||
e.Row["gcode"] = FCOMMON.info.Login.gcode;
|
||||
e.Row["sdate"] = DateTime.Now.ToShortDateString();
|
||||
e.Row["wuid"] = FCOMMON.info.Login.no;
|
||||
e.Row["wdate"] = DateTime.Now;
|
||||
void Purchase_TableNewRow(object sender, DataTableNewRowEventArgs e)
|
||||
{
|
||||
e.Row["gcode"] = FCOMMON.info.Login.gcode;
|
||||
e.Row["sdate"] = DateTime.Now.ToShortDateString();
|
||||
e.Row["wuid"] = FCOMMON.info.Login.no;
|
||||
e.Row["wdate"] = DateTime.Now;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void __Load(object sender, EventArgs e)
|
||||
{
|
||||
{
|
||||
|
||||
|
||||
EnsureVisibleAndUsableSize();
|
||||
refreshData();
|
||||
EnsureVisibleAndUsableSize();
|
||||
refreshData();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void refreshData()
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
this.ta.Fill(this.dsPurchase.EETGW_License, FCOMMON.info.Login.gcode);
|
||||
//FCOMMON.Util.FPColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(ex.Message);
|
||||
}
|
||||
|
||||
FormattingData();
|
||||
}
|
||||
void FormattingData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Font fBase = new Font("맑은 고딕", 9);
|
||||
Font fBold = new Font("맑은 고딕", 9, FontStyle.Bold);
|
||||
|
||||
private void saveData(Boolean prompt)
|
||||
{
|
||||
this.Validate();
|
||||
this.bs.EndEdit();
|
||||
try
|
||||
{
|
||||
var cnt = this.ta.Update(this.dsPurchase);
|
||||
if (prompt) FCOMMON.Util.MsgI(string.Format("{0}건의 자료가 저장 되었습니다.", cnt));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
FCOMMON.Util.MsgE("저장 실패\n" + ex.Message);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void btSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
refreshData();
|
||||
}
|
||||
|
||||
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
func_add();
|
||||
}
|
||||
|
||||
private void tbRequest_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
btSearch.PerformClick();
|
||||
}
|
||||
|
||||
private void btSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
saveData(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
func_delete();
|
||||
}
|
||||
void func_add()
|
||||
{
|
||||
var newdr = this.bs.AddNew();
|
||||
this.bs.Position = this.bs.Count - 1;
|
||||
|
||||
|
||||
}
|
||||
void func_delete()
|
||||
{
|
||||
var drv = bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
|
||||
//var dlg = FCOMMON.Util.MsgQ("현재 선택된 데이터를 삭제 하시겠습니까?");
|
||||
//if (dlg != DialogResult.Yes) return;
|
||||
|
||||
|
||||
int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.purchase));
|
||||
var dr = drv.Row as EEDataSet.EETGW_EducationListRow;
|
||||
|
||||
|
||||
var dlg = FCOMMON.Util.MsgQ("현재 선택된 자료를 삭제하시겠습니까?");
|
||||
if (dlg != System.Windows.Forms.DialogResult.Yes) return;
|
||||
|
||||
bs.RemoveCurrent();
|
||||
bs.EndEdit();
|
||||
}
|
||||
|
||||
|
||||
private void btFind_Click(object sender, EventArgs e)
|
||||
{
|
||||
var dv = this.dv1;
|
||||
var cols = new List<string>();
|
||||
foreach (DataGridViewColumn col in dv.Columns)
|
||||
{
|
||||
if (col.Visible == false || col.DataPropertyName.isEmpty()) continue;
|
||||
if (col.ValueType == typeof(bool)) continue;
|
||||
if (col.ValueType == typeof(Int32)) continue;
|
||||
cols.Add(col.DataPropertyName);
|
||||
}
|
||||
|
||||
var search = tbFind.Text.Trim();
|
||||
search = search.Replace("*", "x");
|
||||
string filter = string.Empty;
|
||||
if (tbFind.Text != search) tbFind.Text = search;
|
||||
try
|
||||
{
|
||||
if (search.isEmpty())
|
||||
{
|
||||
this.bs.Filter = "";
|
||||
tbFind.BackColor = Color.White;
|
||||
}
|
||||
else
|
||||
{
|
||||
search = search.Replace("'", "''");
|
||||
filter = string.Join(" like ? or ", cols.ToArray());
|
||||
filter = filter.Replace("?", "'%" + search + "%'");
|
||||
filter += " like '%" + search + "%'";
|
||||
this.bs.Filter = filter;
|
||||
tbFind.BackColor = Color.Lime;
|
||||
}
|
||||
tbFind.SelectAll();
|
||||
tbFind.Focus();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.tbFind.BackColor = Color.Tomato;
|
||||
FCOMMON.Util.MsgE(ex.Message + "\n" + filter);
|
||||
}
|
||||
}
|
||||
|
||||
private void tbFind_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter) btFind.PerformClick();
|
||||
}
|
||||
|
||||
private void editDataToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Func_Edit();
|
||||
}
|
||||
void Func_Edit()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void autoToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
// FCOMMON.Util.FPColSizeAuto(this.fpSpread1);
|
||||
//this.fpSpread1.ActiveSheet.DataAutoSizeColumns = true;
|
||||
|
||||
//for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
|
||||
// this.fpSpread1.ActiveSheet.SetRowHeight(i, 25);
|
||||
//dv1.AutoResizeColumns();
|
||||
}
|
||||
|
||||
private void resetToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
//foreach (FarPoint.Win.Spread.Column col in this.fpSpread1.ActiveSheet.Columns)
|
||||
//{
|
||||
// col.Width = 100;
|
||||
//}
|
||||
}
|
||||
|
||||
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{//
|
||||
// FCOMMON.Util.FPColsizeSave(this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
|
||||
private void loadToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
// FCOMMON.Util.FPColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
|
||||
private void toolStripButton2_Click(object sender, EventArgs e)
|
||||
{
|
||||
Func_Edit();
|
||||
}
|
||||
|
||||
|
||||
void dv1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
|
||||
{
|
||||
//if (e.ColumnIndex < 0 || e.RowIndex < 0) return;
|
||||
//var state = this.dv1.Rows[e.RowIndex].Cells["dvc_state"].Value.ToString();
|
||||
//switch (state)
|
||||
//{
|
||||
// case "00": //입력대기(미확인)
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Black;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.LightGray;
|
||||
// break;
|
||||
// case "01": //파트장 승인 기다림
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.DarkBlue;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
|
||||
// break;
|
||||
// case "03": //PO (협력업체 전달)
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.DarkMagenta;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
|
||||
// break;
|
||||
// case "04": //자재 수령
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Green;
|
||||
// break;
|
||||
// case "05": //canceld (취소)
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.LightGray;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Red;
|
||||
// break;
|
||||
// case "06": //cancel (취소됨)
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.HotPink;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Black;
|
||||
// break;
|
||||
// case "08": //문의
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.Green;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.White;
|
||||
// break;
|
||||
// default:
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Black;
|
||||
// break;
|
||||
//}
|
||||
}
|
||||
|
||||
private void updateSCToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var dlg = FCOMMON.Util.MsgQ("#SC가 없는 자료에 한하여 일괄 기록을 실행 합니다.");
|
||||
if (dlg == System.Windows.Forms.DialogResult.Yes)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void exportDataToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveFileDialog sd = new SaveFileDialog();
|
||||
sd.Filter = "csv|*.csv";
|
||||
sd.FileName = "edulist.csv";
|
||||
if (sd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
dv1.ExportData(sd.FileName, false);
|
||||
//fpSpread1.SaveExcel(sd.FileName,
|
||||
// FarPoint.Excel.ExcelSaveFlags.SaveAsViewed
|
||||
// | FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered
|
||||
// | FarPoint.Excel.ExcelSaveFlags.NoFormulas
|
||||
// | FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders);
|
||||
FCOMMON.Util.MsgI("다음 파일이 생성 되었습니다.\n\n" + sd.FileName);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void btViewDel_Click(object sender, EventArgs e)
|
||||
{
|
||||
refreshData();
|
||||
}
|
||||
|
||||
|
||||
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void func_copy()
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
var dr = drv.Row as EEDataSet.EETGW_LicenseRow;
|
||||
|
||||
//현재 데이터를 입력하여 신규 추가를 한다.
|
||||
var newdr = this.dsPurchase.EETGW_EducationList.NewEETGW_EducationListRow();
|
||||
FCOMMON.Util.CopyData((System.Data.DataRow)dr, (System.Data.DataRow)newdr);
|
||||
newdr.sdate = DateTime.Now.ToShortDateString();
|
||||
newdr.edate = DateTime.Now.ToShortDateString();
|
||||
|
||||
newdr.wdate = DateTime.Now;
|
||||
newdr.wuid = FCOMMON.info.Login.no;
|
||||
newdr.EndEdit();
|
||||
|
||||
this.dsPurchase.EETGW_EducationList.AddEETGW_EducationListRow(newdr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void bs_CurrentChanged(object sender, EventArgs e)
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null)
|
||||
{
|
||||
this.label1.Text = "데이터가 선택되지 않았습니다";
|
||||
return;
|
||||
}
|
||||
var dr = drv.Row as EEDataSet.EETGW_EducationListRow;
|
||||
// this.label1.Text = string.Format("{0}", dr.bigo.Replace("\r", "").Replace("\n", ""));
|
||||
}
|
||||
|
||||
private void toolStripButton4_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
string getmaxstr(string src, int len = 30)
|
||||
{
|
||||
if (src.Length > len) return src.Substring(0, len) + "...";
|
||||
else return src;
|
||||
}
|
||||
|
||||
List<string> ChangeMailAddress(List<string> userid)
|
||||
{
|
||||
var db = new DataClasses1DataContext();
|
||||
|
||||
List<string> retval = new List<string>();
|
||||
foreach (var id in userid)
|
||||
{
|
||||
UInt32 userno;
|
||||
if (UInt32.TryParse(id, out userno) == true)
|
||||
{
|
||||
var user = db.Users.Where(t => t.id == id).FirstOrDefault();
|
||||
if (user != null)
|
||||
{
|
||||
var data = string.Format("{0}<{1}>", user.name, user.email);
|
||||
if (retval.Contains(data) == false)
|
||||
retval.Add(data);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (retval.Contains(id) == false)
|
||||
retval.Add(id);
|
||||
}
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
private void toolStripButton3_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
var fn = System.IO.Path.Combine(FCOMMON.Util.CurrentPath, "PurcManual.pdf");
|
||||
if (System.IO.File.Exists(fn))
|
||||
{
|
||||
FCOMMON.Util.RunExplorer(fn);
|
||||
}
|
||||
else FCOMMON.Util.MsgE("설명서 파일(manual.pdf)이 없습니다. 개발자 문의 해주세요(chikyun.kim@amkor.co.kr)");
|
||||
}
|
||||
|
||||
private void fpSpread1_EditModeOff(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void toolStripButton2_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click(object sender, EventArgs e)
|
||||
{
|
||||
//open path
|
||||
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
var dr = drv.Row as EEDataSet.EETGW_LicenseRow;
|
||||
if (dr.RowState == DataRowState.Added || dr.RowState == DataRowState.Detached)
|
||||
{
|
||||
FCOMMON.Util.MsgE("자료가 저장된 후 폴더열기를 사용할 수 있습니다");
|
||||
return;
|
||||
}
|
||||
|
||||
FCOMMON.Util.OpenSharedPath(null, "Data", "License", dr.idx.ToString());
|
||||
|
||||
}
|
||||
}
|
||||
private void refreshData()
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
|
||||
this.ta.Fill(this.dsPurchase.EETGW_License, FCOMMON.info.Login.gcode);
|
||||
//FCOMMON.Util.FPColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
catch (System.Exception ex)
|
||||
{
|
||||
System.Windows.Forms.MessageBox.Show(ex.Message);
|
||||
}
|
||||
|
||||
FormattingData();
|
||||
}
|
||||
void FormattingData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Font fBase = new Font("맑은 고딕", 9);
|
||||
Font fBold = new Font("맑은 고딕", 9, FontStyle.Bold);
|
||||
|
||||
private void saveData(Boolean prompt)
|
||||
{
|
||||
this.Validate();
|
||||
this.bs.EndEdit();
|
||||
try
|
||||
{
|
||||
var cnt = this.ta.Update(this.dsPurchase);
|
||||
if (prompt) FCOMMON.Util.MsgI(string.Format("{0}건의 자료가 저장 되었습니다.", cnt));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
FCOMMON.Util.MsgE("저장 실패\n" + ex.Message);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void btSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
refreshData();
|
||||
}
|
||||
|
||||
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
func_add();
|
||||
}
|
||||
|
||||
private void tbRequest_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
btSearch.PerformClick();
|
||||
}
|
||||
|
||||
private void btSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
saveData(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
func_delete();
|
||||
}
|
||||
void func_add()
|
||||
{
|
||||
var newdr = this.bs.AddNew();
|
||||
this.bs.Position = this.bs.Count - 1;
|
||||
|
||||
|
||||
}
|
||||
void func_delete()
|
||||
{
|
||||
var drv = bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
|
||||
//삭제기능구현필요
|
||||
}
|
||||
|
||||
|
||||
private void btFind_Click(object sender, EventArgs e)
|
||||
{
|
||||
var dv = this.dv1;
|
||||
var cols = new List<string>();
|
||||
foreach (DataGridViewColumn col in dv.Columns)
|
||||
{
|
||||
if (col.Visible == false || col.DataPropertyName.isEmpty()) continue;
|
||||
if (col.ValueType == typeof(bool)) continue;
|
||||
if (col.ValueType == typeof(Int32)) continue;
|
||||
cols.Add(col.DataPropertyName);
|
||||
}
|
||||
|
||||
var search = tbFind.Text.Trim();
|
||||
search = search.Replace("*", "x");
|
||||
string filter = string.Empty;
|
||||
if (tbFind.Text != search) tbFind.Text = search;
|
||||
try
|
||||
{
|
||||
if (search.isEmpty())
|
||||
{
|
||||
this.bs.Filter = "";
|
||||
tbFind.BackColor = Color.White;
|
||||
}
|
||||
else
|
||||
{
|
||||
search = search.Replace("'", "''");
|
||||
filter = string.Join(" like ? or ", cols.ToArray());
|
||||
filter = filter.Replace("?", "'%" + search + "%'");
|
||||
filter += " like '%" + search + "%'";
|
||||
this.bs.Filter = filter;
|
||||
tbFind.BackColor = Color.Lime;
|
||||
}
|
||||
tbFind.SelectAll();
|
||||
tbFind.Focus();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.tbFind.BackColor = Color.Tomato;
|
||||
FCOMMON.Util.MsgE(ex.Message + "\n" + filter);
|
||||
}
|
||||
}
|
||||
|
||||
private void tbFind_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter) btFind.PerformClick();
|
||||
}
|
||||
|
||||
private void editDataToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Func_Edit();
|
||||
}
|
||||
void Func_Edit()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void autoToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
// FCOMMON.Util.FPColSizeAuto(this.fpSpread1);
|
||||
//this.fpSpread1.ActiveSheet.DataAutoSizeColumns = true;
|
||||
|
||||
//for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
|
||||
// this.fpSpread1.ActiveSheet.SetRowHeight(i, 25);
|
||||
//dv1.AutoResizeColumns();
|
||||
}
|
||||
|
||||
private void resetToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
//foreach (FarPoint.Win.Spread.Column col in this.fpSpread1.ActiveSheet.Columns)
|
||||
//{
|
||||
// col.Width = 100;
|
||||
//}
|
||||
}
|
||||
|
||||
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{//
|
||||
// FCOMMON.Util.FPColsizeSave(this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
|
||||
private void loadToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
// FCOMMON.Util.FPColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
|
||||
private void toolStripButton2_Click(object sender, EventArgs e)
|
||||
{
|
||||
Func_Edit();
|
||||
}
|
||||
|
||||
|
||||
void dv1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
|
||||
{
|
||||
//if (e.ColumnIndex < 0 || e.RowIndex < 0) return;
|
||||
//var state = this.dv1.Rows[e.RowIndex].Cells["dvc_state"].Value.ToString();
|
||||
//switch (state)
|
||||
//{
|
||||
// case "00": //입력대기(미확인)
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Black;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.LightGray;
|
||||
// break;
|
||||
// case "01": //파트장 승인 기다림
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.DarkBlue;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
|
||||
// break;
|
||||
// case "03": //PO (협력업체 전달)
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.DarkMagenta;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
|
||||
// break;
|
||||
// case "04": //자재 수령
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Green;
|
||||
// break;
|
||||
// case "05": //canceld (취소)
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.LightGray;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Red;
|
||||
// break;
|
||||
// case "06": //cancel (취소됨)
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.HotPink;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Black;
|
||||
// break;
|
||||
// case "08": //문의
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.Green;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.White;
|
||||
// break;
|
||||
// default:
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.BackColor = Color.White;
|
||||
// this.dv1.Rows[e.RowIndex].Cells[e.ColumnIndex].Style.ForeColor = Color.Black;
|
||||
// break;
|
||||
//}
|
||||
}
|
||||
|
||||
private void updateSCToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var dlg = FCOMMON.Util.MsgQ("#SC가 없는 자료에 한하여 일괄 기록을 실행 합니다.");
|
||||
if (dlg == System.Windows.Forms.DialogResult.Yes)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void exportDataToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveFileDialog sd = new SaveFileDialog();
|
||||
sd.Filter = "csv|*.csv";
|
||||
sd.FileName = "edulist.csv";
|
||||
if (sd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
dv1.ExportData(sd.FileName, false);
|
||||
//fpSpread1.SaveExcel(sd.FileName,
|
||||
// FarPoint.Excel.ExcelSaveFlags.SaveAsViewed
|
||||
// | FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered
|
||||
// | FarPoint.Excel.ExcelSaveFlags.NoFormulas
|
||||
// | FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders);
|
||||
FCOMMON.Util.MsgI("다음 파일이 생성 되었습니다.\n\n" + sd.FileName);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void btViewDel_Click(object sender, EventArgs e)
|
||||
{
|
||||
refreshData();
|
||||
}
|
||||
|
||||
|
||||
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void func_copy()
|
||||
{
|
||||
//복사기능 구현해야함
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void bs_CurrentChanged(object sender, EventArgs e)
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null)
|
||||
{
|
||||
this.label1.Text = "데이터가 선택되지 않았습니다";
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private void toolStripButton4_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
string getmaxstr(string src, int len = 30)
|
||||
{
|
||||
if (src.Length > len) return src.Substring(0, len) + "...";
|
||||
else return src;
|
||||
}
|
||||
|
||||
List<string> ChangeMailAddress(List<string> userid)
|
||||
{
|
||||
var db = new DataClasses1DataContext();
|
||||
|
||||
List<string> retval = new List<string>();
|
||||
foreach (var id in userid)
|
||||
{
|
||||
UInt32 userno;
|
||||
if (UInt32.TryParse(id, out userno) == true)
|
||||
{
|
||||
var user = db.Users.Where(t => t.id == id).FirstOrDefault();
|
||||
if (user != null)
|
||||
{
|
||||
var data = string.Format("{0}<{1}>", user.name, user.email);
|
||||
if (retval.Contains(data) == false)
|
||||
retval.Add(data);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (retval.Contains(id) == false)
|
||||
retval.Add(id);
|
||||
}
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
||||
private void toolStripButton3_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
var fn = System.IO.Path.Combine(FCOMMON.Util.CurrentPath, "PurcManual.pdf");
|
||||
if (System.IO.File.Exists(fn))
|
||||
{
|
||||
FCOMMON.Util.RunExplorer(fn);
|
||||
}
|
||||
else FCOMMON.Util.MsgE("설명서 파일(manual.pdf)이 없습니다. 개발자 문의 해주세요(chikyun.kim@amkor.co.kr)");
|
||||
}
|
||||
|
||||
private void fpSpread1_EditModeOff(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void toolStripButton2_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click(object sender, EventArgs e)
|
||||
{
|
||||
//open path
|
||||
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
var dr = drv.Row as EEDataSet.EETGW_LicenseRow;
|
||||
if (dr.RowState == DataRowState.Added || dr.RowState == DataRowState.Detached)
|
||||
{
|
||||
FCOMMON.Util.MsgE("자료가 저장된 후 폴더열기를 사용할 수 있습니다");
|
||||
return;
|
||||
}
|
||||
|
||||
FCOMMON.Util.OpenSharedPath(null, "Data", "License", dr.idx.ToString());
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2335
SubProject/FPJ0000/DSNote.Designer.cs
generated
2335
SubProject/FPJ0000/DSNote.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--<autogenerated>
|
||||
This code was generated by a tool.
|
||||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TableUISettings />
|
||||
</DataSetUISetting>
|
||||
@@ -1,237 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xs:schema id="DSNote" targetNamespace="http://tempuri.org/DSNote.xsd" xmlns:mstns="http://tempuri.org/DSNote.xsd" xmlns="http://tempuri.org/DSNote.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
|
||||
<xs:annotation>
|
||||
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<Connections>
|
||||
<Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="gwcs" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="gwcs (Settings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.FPJ0000.Properties.Settings.GlobalReference.Default.gwcs" Provider="System.Data.SqlClient" />
|
||||
</Connections>
|
||||
<Tables>
|
||||
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="EETGW_NoteTableAdapter" GeneratorDataComponentClassName="EETGW_NoteTableAdapter" Name="EETGW_Note" UserDataComponentName="EETGW_NoteTableAdapter">
|
||||
<MainSource>
|
||||
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.EETGW_Note" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
<DeleteCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>DELETE FROM [EETGW_Note] WHERE (([idx] = @Original_idx) AND ([gcode] = @Original_gcode) AND ((@IsNull_pdate = 1 AND [pdate] IS NULL) OR ([pdate] = @Original_pdate)) AND ((@IsNull_title = 1 AND [title] IS NULL) OR ([title] = @Original_title)) AND ((@IsNull_uid = 1 AND [uid] IS NULL) OR ([uid] = @Original_uid)) AND ((@IsNull_share = 1 AND [share] IS NULL) OR ([share] = @Original_share)) AND ([wuid] = @Original_wuid) AND ([wdate] = @Original_wdate) AND ((@IsNull_guid = 1 AND [guid] IS NULL) OR ([guid] = @Original_guid)) AND ((@IsNull_viewcount = 1 AND [viewcount] IS NULL) OR ([viewcount] = @Original_viewcount)) AND ((@IsNull_viewdate = 1 AND [viewdate] IS NULL) OR ([viewdate] = @Original_viewdate)))</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_idx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_pdate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_title" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_title" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_uid" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_uid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_share" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="share" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_share" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="share" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_guid" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="guid" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_guid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="guid" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_viewcount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="viewcount" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_viewcount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="viewcount" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_viewdate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="viewdate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_viewdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="viewdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</DeleteCommand>
|
||||
<InsertCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>INSERT INTO [EETGW_Note] ([gcode], [pdate], [title], [uid], [description2], [share], [wuid], [wdate], [description], [guid], [viewcount], [viewdate]) VALUES (@gcode, @pdate, @title, @uid, @description2, @share, @wuid, @wdate, @description, @guid, @viewcount, @viewdate);
|
||||
SELECT idx, gcode, pdate, title, uid, description2, share, wuid, wdate, description, guid, viewcount, viewdate FROM EETGW_Note WITH (nolock) WHERE (idx = SCOPE_IDENTITY()) ORDER BY pdate DESC</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@title" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@uid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@description2" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="description2" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@share" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="share" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@description" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="description" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@guid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="guid" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@viewcount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="viewcount" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@viewdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="viewdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</InsertCommand>
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>SELECT idx, gcode, pdate, title, uid, description2, share, wuid, wdate, description, guid, viewcount, viewdate
|
||||
FROM EETGW_Note WITH (nolock)
|
||||
WHERE (gcode = @gcode) AND (pdate BETWEEN @sd AND @ed) AND (uid = @uid) OR
|
||||
(gcode = @gcode) AND (pdate BETWEEN @sd AND @ed) AND (ISNULL(share, 0) = 1)
|
||||
ORDER BY pdate DESC</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="gcode" ColumnName="gcode" DataSourceName="EE.dbo.EETGW_Note" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="sd" ColumnName="pdate" DataSourceName="EE.dbo.EETGW_Note" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@sd" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="ed" ColumnName="pdate" DataSourceName="EE.dbo.EETGW_Note" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@ed" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="uid" ColumnName="uid" DataSourceName="EE.dbo.EETGW_Note" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@uid" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
<UpdateCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>UPDATE [EETGW_Note] SET [gcode] = @gcode, [pdate] = @pdate, [title] = @title, [uid] = @uid, [description2] = @description2, [share] = @share, [wuid] = @wuid, [wdate] = @wdate, [description] = @description, [guid] = @guid, [viewcount] = @viewcount, [viewdate] = @viewdate WHERE (([idx] = @Original_idx) AND ([gcode] = @Original_gcode) AND ((@IsNull_pdate = 1 AND [pdate] IS NULL) OR ([pdate] = @Original_pdate)) AND ((@IsNull_title = 1 AND [title] IS NULL) OR ([title] = @Original_title)) AND ((@IsNull_uid = 1 AND [uid] IS NULL) OR ([uid] = @Original_uid)) AND ((@IsNull_share = 1 AND [share] IS NULL) OR ([share] = @Original_share)) AND ([wuid] = @Original_wuid) AND ([wdate] = @Original_wdate) AND ((@IsNull_guid = 1 AND [guid] IS NULL) OR ([guid] = @Original_guid)) AND ((@IsNull_viewcount = 1 AND [viewcount] IS NULL) OR ([viewcount] = @Original_viewcount)) AND ((@IsNull_viewdate = 1 AND [viewdate] IS NULL) OR ([viewdate] = @Original_viewdate)));
|
||||
SELECT idx, gcode, pdate, title, uid, description2, share, wuid, wdate, description, guid, viewcount, viewdate FROM EETGW_Note WITH (nolock) WHERE (idx = @idx) ORDER BY pdate DESC</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@title" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@uid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@description2" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="description2" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@share" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="share" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@description" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="description" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@guid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="guid" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@viewcount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="viewcount" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@viewdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="viewdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_idx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_pdate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_title" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_title" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_uid" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_uid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_share" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="share" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_share" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="share" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_guid" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="guid" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_guid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="guid" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_viewcount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="viewcount" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_viewcount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="viewcount" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_viewdate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="viewdate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_viewdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="viewdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="idx" ColumnName="idx" DataSourceName="EE.dbo.EETGW_Note" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@idx" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</UpdateCommand>
|
||||
</DbSource>
|
||||
</MainSource>
|
||||
<Mappings>
|
||||
<Mapping SourceColumn="idx" DataSetColumn="idx" />
|
||||
<Mapping SourceColumn="gcode" DataSetColumn="gcode" />
|
||||
<Mapping SourceColumn="pdate" DataSetColumn="pdate" />
|
||||
<Mapping SourceColumn="title" DataSetColumn="title" />
|
||||
<Mapping SourceColumn="uid" DataSetColumn="uid" />
|
||||
<Mapping SourceColumn="description2" DataSetColumn="description2" />
|
||||
<Mapping SourceColumn="share" DataSetColumn="share" />
|
||||
<Mapping SourceColumn="wuid" DataSetColumn="wuid" />
|
||||
<Mapping SourceColumn="wdate" DataSetColumn="wdate" />
|
||||
<Mapping SourceColumn="description" DataSetColumn="description" />
|
||||
<Mapping SourceColumn="guid" DataSetColumn="guid" />
|
||||
<Mapping SourceColumn="viewcount" DataSetColumn="viewcount" />
|
||||
<Mapping SourceColumn="viewdate" DataSetColumn="viewdate" />
|
||||
</Mappings>
|
||||
<Sources>
|
||||
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.EETGW_Note" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByIdx" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetbyIdx" GeneratorSourceName="FillByIdx" GetMethodModifier="Public" GetMethodName="GetbyIdx" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetbyIdx" UserSourceName="FillByIdx">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="true">
|
||||
<CommandText>SELECT description, description2, gcode, guid, idx, pdate, share, title, uid, viewcount, viewdate, wdate, wuid FROM EETGW_Note WITH (nolock) WHERE (idx = @idx)</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="idx" ColumnName="idx" DataSourceName="EE.dbo.EETGW_Note" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@idx" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.EETGW_Note" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByNoDesc" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetByNoDesc" GeneratorSourceName="FillByNoDesc" GetMethodModifier="Public" GetMethodName="GetByNoDesc" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetByNoDesc" UserSourceName="FillByNoDesc">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="true">
|
||||
<CommandText>SELECT gcode, guid, idx, pdate, share, title, uid, viewcount, viewdate, wdate, wuid FROM EETGW_Note WITH (nolock) WHERE (gcode = @gcode) AND (pdate BETWEEN @sd AND @ed) AND (uid = @uid) OR (gcode = @gcode) AND (pdate BETWEEN @sd AND @ed) AND (ISNULL(share, 0) = 1) ORDER BY pdate DESC</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="gcode" ColumnName="gcode" DataSourceName="EE.dbo.EETGW_Note" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="sd" ColumnName="pdate" DataSourceName="EE.dbo.EETGW_Note" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@sd" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="ed" ColumnName="pdate" DataSourceName="EE.dbo.EETGW_Note" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@ed" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="uid" ColumnName="uid" DataSourceName="EE.dbo.EETGW_Note" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@uid" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
</Sources>
|
||||
</TableAdapter>
|
||||
</Tables>
|
||||
<Sources />
|
||||
</DataSource>
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:element name="DSNote" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DSNote" msprop:Generator_UserDSName="DSNote">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="EETGW_Note" msprop:Generator_UserTableName="EETGW_Note" msprop:Generator_RowEvArgName="EETGW_NoteRowChangeEvent" msprop:Generator_TableVarName="tableEETGW_Note" msprop:Generator_TablePropName="EETGW_Note" msprop:Generator_RowDeletingName="EETGW_NoteRowDeleting" msprop:Generator_RowChangingName="EETGW_NoteRowChanging" msprop:Generator_RowEvHandlerName="EETGW_NoteRowChangeEventHandler" msprop:Generator_RowDeletedName="EETGW_NoteRowDeleted" msprop:Generator_TableClassName="EETGW_NoteDataTable" msprop:Generator_RowChangedName="EETGW_NoteRowChanged" msprop:Generator_RowClassName="EETGW_NoteRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_UserColumnName="idx" type="xs:int" />
|
||||
<xs:element name="gcode" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_ColumnPropNameInRow="gcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_UserColumnName="gcode">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="pdate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_ColumnVarNameInTable="columnpdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:Generator_UserColumnName="pdate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="title" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="title" msprop:Generator_ColumnVarNameInTable="columntitle" msprop:Generator_ColumnPropNameInTable="titleColumn" msprop:Generator_UserColumnName="title" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="uid" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="uid" msprop:Generator_ColumnVarNameInTable="columnuid" msprop:Generator_ColumnPropNameInTable="uidColumn" msprop:Generator_UserColumnName="uid" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="description2" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="description2" msprop:Generator_ColumnVarNameInTable="columndescription2" msprop:Generator_ColumnPropNameInTable="description2Column" msprop:Generator_UserColumnName="description2" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="share" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="share" msprop:Generator_ColumnVarNameInTable="columnshare" msprop:Generator_ColumnPropNameInTable="shareColumn" msprop:Generator_UserColumnName="share" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="wuid" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_UserColumnName="wuid">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
|
||||
<xs:element name="description" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" msprop:Generator_UserColumnName="description" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="guid" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="guid" msprop:Generator_ColumnVarNameInTable="columnguid" msprop:Generator_ColumnPropNameInTable="guidColumn" msprop:Generator_UserColumnName="guid" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="viewcount" msprop:Generator_ColumnVarNameInTable="columnviewcount" msprop:Generator_ColumnPropNameInRow="viewcount" msprop:Generator_ColumnPropNameInTable="viewcountColumn" msprop:Generator_UserColumnName="viewcount" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="viewdate" msprop:Generator_ColumnVarNameInTable="columnviewdate" msprop:Generator_ColumnPropNameInRow="viewdate" msprop:Generator_ColumnPropNameInTable="viewdateColumn" msprop:Generator_UserColumnName="viewdate" type="xs:dateTime" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:EETGW_Note" />
|
||||
<xs:field xpath="mstns:idx" />
|
||||
</xs:unique>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--<autogenerated>
|
||||
This code was generated by a tool to store the dataset designer's layout information.
|
||||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="115" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<Shapes>
|
||||
<Shape ID="DesignTable:EETGW_Note" ZOrder="1" X="260" Y="172" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
|
||||
</Shapes>
|
||||
<Connectors />
|
||||
</DiagramLayout>
|
||||
@@ -154,11 +154,6 @@
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>dsMail.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="DSNote.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>DSNote.xsd</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="dsPRJ.cs">
|
||||
<DependentUpon>dsPRJ.xsd</DependentUpon>
|
||||
</Compile>
|
||||
@@ -257,6 +252,12 @@
|
||||
<Compile Include="JobReport_\rJobReportOT.Designer.cs">
|
||||
<DependentUpon>rJobReportOT.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Note\fTextEditor.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Note\fTextEditor.Designer.cs">
|
||||
<DependentUpon>fTextEditor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="OtConfirm\fHolyRequest.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -323,12 +324,6 @@
|
||||
<Compile Include="JobReport_\rJobReportUser.Designer.cs">
|
||||
<DependentUpon>rJobReportUser.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Note\fNote.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Note\fNote.Designer.cs">
|
||||
<DependentUpon>fNote.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="OtConfirm\fOTConfirmValue.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -406,36 +401,6 @@
|
||||
<Compile Include="Project\fProjectPartListEdit.Designer.cs">
|
||||
<DependentUpon>fProjectPartListEdit.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SaveCost\fSaveCostReport.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SaveCost\fSaveCostReport.Designer.cs">
|
||||
<DependentUpon>fSaveCostReport.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SaveCost\fSaveCostData.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SaveCost\fSaveCostData.Designer.cs">
|
||||
<DependentUpon>fSaveCostData.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SaveCost\fSaveCostList.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SaveCost\fSaveCostList.Designer.cs">
|
||||
<DependentUpon>fSaveCostList.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Note\fTextEditor.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Note\fTextEditor.Designer.cs">
|
||||
<DependentUpon>fTextEditor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Note\fNote_Add.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Note\fNote_Add.Designer.cs">
|
||||
<DependentUpon>fNote_Add.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Project\fPartList.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -579,6 +544,9 @@
|
||||
<EmbeddedResource Include="JobReport_\rJobReportOT.resx">
|
||||
<DependentUpon>rJobReportOT.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Note\fTextEditor.resx">
|
||||
<DependentUpon>fTextEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="OtConfirm\fHolyRequest.resx">
|
||||
<DependentUpon>fHolyRequest.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -616,9 +584,6 @@
|
||||
<EmbeddedResource Include="JobReport_\rJobReportUser.resx">
|
||||
<DependentUpon>rJobReportUser.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Note\fNote.resx">
|
||||
<DependentUpon>fNote.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="OtConfirm\fOTConfirmValue.resx">
|
||||
<DependentUpon>fOTConfirmValue.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -652,21 +617,6 @@
|
||||
<EmbeddedResource Include="Project\fProjectPartListEdit.resx">
|
||||
<DependentUpon>fProjectPartListEdit.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SaveCost\fSaveCostReport.resx">
|
||||
<DependentUpon>fSaveCostReport.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SaveCost\fSaveCostData.resx">
|
||||
<DependentUpon>fSaveCostData.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SaveCost\fSaveCostList.resx">
|
||||
<DependentUpon>fSaveCostList.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Note\fTextEditor.resx">
|
||||
<DependentUpon>fTextEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Note\fNote_Add.resx">
|
||||
<DependentUpon>fNote_Add.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Project\fPartList.resx">
|
||||
<DependentUpon>fPartList.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -780,17 +730,6 @@
|
||||
<None Include="dsMail.xss">
|
||||
<DependentUpon>dsMail.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="DSNote.xsc">
|
||||
<DependentUpon>DSNote.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="DSNote.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSDataSetGenerator</Generator>
|
||||
<LastGenOutput>DSNote.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="DSNote.xss">
|
||||
<DependentUpon>DSNote.xsd</DependentUpon>
|
||||
</None>
|
||||
<None Include="dsPRJ.xsc">
|
||||
<DependentUpon>dsPRJ.xsd</DependentUpon>
|
||||
</None>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<ProjectView>ProjectFiles</ProjectView>
|
||||
<ProjectView>ShowAllFiles</ProjectView>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -609,7 +609,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = this.ta;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
@@ -680,7 +680,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = this.ta;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
@@ -323,7 +323,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = this.ta;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
597
SubProject/FPJ0000/Note/fNote.Designer.cs
generated
597
SubProject/FPJ0000/Note/fNote.Designer.cs
generated
@@ -1,597 +0,0 @@
|
||||
namespace FPJ0000.Note
|
||||
{
|
||||
partial class fNote
|
||||
{
|
||||
/// <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();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fNote));
|
||||
FarPoint.Win.Spread.CellType.NumberCellType numberCellType1 = new FarPoint.Win.Spread.CellType.NumberCellType();
|
||||
FarPoint.Win.Spread.CellType.TextCellType textCellType1 = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
FarPoint.Win.Spread.CellType.CheckBoxCellType checkBoxCellType1 = new FarPoint.Win.Spread.CellType.CheckBoxCellType();
|
||||
FarPoint.Win.Spread.CellType.TextCellType textCellType2 = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
FarPoint.Win.Spread.CellType.TextCellType textCellType3 = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
FarPoint.Win.Spread.CellType.TextCellType textCellType4 = new FarPoint.Win.Spread.CellType.TextCellType();
|
||||
this.bn = new System.Windows.Forms.BindingNavigator(this.components);
|
||||
this.bs = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.ds1 = new FPJ0000.DSNote();
|
||||
this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
|
||||
this.bindingNavigatorMoveFirstItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.bindingNavigatorMovePreviousItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.bindingNavigatorSeparator = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.bindingNavigatorPositionItem = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.bindingNavigatorSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.bindingNavigatorMoveNextItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.bindingNavigatorMoveLastItem = new System.Windows.Forms.ToolStripButton();
|
||||
this.bindingNavigatorSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.btAdd = new System.Windows.Forms.ToolStripButton();
|
||||
this.btCopy = new System.Windows.Forms.ToolStripButton();
|
||||
this.btEdit = new System.Windows.Forms.ToolStripButton();
|
||||
this.btDel = new System.Windows.Forms.ToolStripButton();
|
||||
this.btSave = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.toolStripLabel2 = new System.Windows.Forms.ToolStripLabel();
|
||||
this.tbFind = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.btFind = new System.Windows.Forms.ToolStripButton();
|
||||
this.cm = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||
this.columnSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.autoToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.resetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.loadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.exportListToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.복사ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.편집ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.삭제ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.fpSpread1 = new FarPoint.Win.Spread.FpSpread();
|
||||
this.fpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView();
|
||||
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
this.lbStt = new System.Windows.Forms.ToolStripLabel();
|
||||
this.dtSD = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.lbEnd = new System.Windows.Forms.ToolStripLabel();
|
||||
this.dtED = new System.Windows.Forms.ToolStripTextBox();
|
||||
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.btSearch = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
|
||||
this.ta = new FPJ0000.DSNoteTableAdapters.EETGW_NoteTableAdapter();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bn)).BeginInit();
|
||||
this.bn.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ds1)).BeginInit();
|
||||
this.cm.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1_Sheet1)).BeginInit();
|
||||
this.toolStrip1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// bn
|
||||
//
|
||||
this.bn.AddNewItem = null;
|
||||
this.bn.BindingSource = this.bs;
|
||||
this.bn.CountItem = this.bindingNavigatorCountItem;
|
||||
this.bn.DeleteItem = null;
|
||||
this.bn.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.bn.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.bindingNavigatorMoveFirstItem,
|
||||
this.bindingNavigatorMovePreviousItem,
|
||||
this.bindingNavigatorSeparator,
|
||||
this.bindingNavigatorPositionItem,
|
||||
this.bindingNavigatorCountItem,
|
||||
this.bindingNavigatorSeparator1,
|
||||
this.bindingNavigatorMoveNextItem,
|
||||
this.bindingNavigatorMoveLastItem,
|
||||
this.bindingNavigatorSeparator2,
|
||||
this.btAdd,
|
||||
this.btCopy,
|
||||
this.btEdit,
|
||||
this.btDel,
|
||||
this.btSave,
|
||||
this.toolStripButton1,
|
||||
this.toolStripSeparator1,
|
||||
this.toolStripLabel2,
|
||||
this.tbFind,
|
||||
this.btFind});
|
||||
this.bn.Location = new System.Drawing.Point(0, 595);
|
||||
this.bn.MoveFirstItem = this.bindingNavigatorMoveFirstItem;
|
||||
this.bn.MoveLastItem = this.bindingNavigatorMoveLastItem;
|
||||
this.bn.MoveNextItem = this.bindingNavigatorMoveNextItem;
|
||||
this.bn.MovePreviousItem = this.bindingNavigatorMovePreviousItem;
|
||||
this.bn.Name = "bn";
|
||||
this.bn.PositionItem = this.bindingNavigatorPositionItem;
|
||||
this.bn.Size = new System.Drawing.Size(969, 25);
|
||||
this.bn.TabIndex = 0;
|
||||
this.bn.Text = "bindingNavigator1";
|
||||
//
|
||||
// bs
|
||||
//
|
||||
this.bs.DataMember = "EETGW_Note";
|
||||
this.bs.DataSource = this.ds1;
|
||||
this.bs.Sort = "pdate desc";
|
||||
this.bs.CurrentChanged += new System.EventHandler(this.bs_CurrentChanged);
|
||||
//
|
||||
// ds1
|
||||
//
|
||||
this.ds1.DataSetName = "dsMSSQL";
|
||||
this.ds1.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
|
||||
//
|
||||
// bindingNavigatorCountItem
|
||||
//
|
||||
this.bindingNavigatorCountItem.Name = "bindingNavigatorCountItem";
|
||||
this.bindingNavigatorCountItem.Size = new System.Drawing.Size(27, 22);
|
||||
this.bindingNavigatorCountItem.Text = "/{0}";
|
||||
this.bindingNavigatorCountItem.ToolTipText = "전체 항목 수";
|
||||
//
|
||||
// bindingNavigatorMoveFirstItem
|
||||
//
|
||||
this.bindingNavigatorMoveFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.bindingNavigatorMoveFirstItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveFirstItem.Image")));
|
||||
this.bindingNavigatorMoveFirstItem.Name = "bindingNavigatorMoveFirstItem";
|
||||
this.bindingNavigatorMoveFirstItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorMoveFirstItem.Size = new System.Drawing.Size(23, 22);
|
||||
this.bindingNavigatorMoveFirstItem.Text = "처음으로 이동";
|
||||
//
|
||||
// bindingNavigatorMovePreviousItem
|
||||
//
|
||||
this.bindingNavigatorMovePreviousItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.bindingNavigatorMovePreviousItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMovePreviousItem.Image")));
|
||||
this.bindingNavigatorMovePreviousItem.Name = "bindingNavigatorMovePreviousItem";
|
||||
this.bindingNavigatorMovePreviousItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorMovePreviousItem.Size = new System.Drawing.Size(23, 22);
|
||||
this.bindingNavigatorMovePreviousItem.Text = "이전으로 이동";
|
||||
//
|
||||
// bindingNavigatorSeparator
|
||||
//
|
||||
this.bindingNavigatorSeparator.Name = "bindingNavigatorSeparator";
|
||||
this.bindingNavigatorSeparator.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// bindingNavigatorPositionItem
|
||||
//
|
||||
this.bindingNavigatorPositionItem.AccessibleName = "위치";
|
||||
this.bindingNavigatorPositionItem.AutoSize = false;
|
||||
this.bindingNavigatorPositionItem.Name = "bindingNavigatorPositionItem";
|
||||
this.bindingNavigatorPositionItem.Size = new System.Drawing.Size(50, 23);
|
||||
this.bindingNavigatorPositionItem.Text = "0";
|
||||
this.bindingNavigatorPositionItem.ToolTipText = "현재 위치";
|
||||
//
|
||||
// bindingNavigatorSeparator1
|
||||
//
|
||||
this.bindingNavigatorSeparator1.Name = "bindingNavigatorSeparator1";
|
||||
this.bindingNavigatorSeparator1.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// bindingNavigatorMoveNextItem
|
||||
//
|
||||
this.bindingNavigatorMoveNextItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.bindingNavigatorMoveNextItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveNextItem.Image")));
|
||||
this.bindingNavigatorMoveNextItem.Name = "bindingNavigatorMoveNextItem";
|
||||
this.bindingNavigatorMoveNextItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorMoveNextItem.Size = new System.Drawing.Size(23, 22);
|
||||
this.bindingNavigatorMoveNextItem.Text = "다음으로 이동";
|
||||
//
|
||||
// bindingNavigatorMoveLastItem
|
||||
//
|
||||
this.bindingNavigatorMoveLastItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.bindingNavigatorMoveLastItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorMoveLastItem.Image")));
|
||||
this.bindingNavigatorMoveLastItem.Name = "bindingNavigatorMoveLastItem";
|
||||
this.bindingNavigatorMoveLastItem.RightToLeftAutoMirrorImage = true;
|
||||
this.bindingNavigatorMoveLastItem.Size = new System.Drawing.Size(23, 22);
|
||||
this.bindingNavigatorMoveLastItem.Text = "마지막으로 이동";
|
||||
//
|
||||
// bindingNavigatorSeparator2
|
||||
//
|
||||
this.bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator2";
|
||||
this.bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// btAdd
|
||||
//
|
||||
this.btAdd.Image = ((System.Drawing.Image)(resources.GetObject("btAdd.Image")));
|
||||
this.btAdd.Name = "btAdd";
|
||||
this.btAdd.RightToLeftAutoMirrorImage = true;
|
||||
this.btAdd.Size = new System.Drawing.Size(67, 22);
|
||||
this.btAdd.Text = "추가(&A)";
|
||||
this.btAdd.Click += new System.EventHandler(this.bindingNavigatorAddNewItem_Click);
|
||||
//
|
||||
// btCopy
|
||||
//
|
||||
this.btCopy.Image = global::FPJ0000.Properties.Resources.copy;
|
||||
this.btCopy.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btCopy.Name = "btCopy";
|
||||
this.btCopy.Size = new System.Drawing.Size(67, 22);
|
||||
this.btCopy.Text = "복사(&C)";
|
||||
this.btCopy.Visible = false;
|
||||
this.btCopy.Click += new System.EventHandler(this.btCopy_Click);
|
||||
//
|
||||
// btEdit
|
||||
//
|
||||
this.btEdit.Image = ((System.Drawing.Image)(resources.GetObject("btEdit.Image")));
|
||||
this.btEdit.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btEdit.Name = "btEdit";
|
||||
this.btEdit.Size = new System.Drawing.Size(65, 22);
|
||||
this.btEdit.Text = "편집(&E)";
|
||||
this.btEdit.Click += new System.EventHandler(this.btEdit_Click);
|
||||
//
|
||||
// btDel
|
||||
//
|
||||
this.btDel.Image = ((System.Drawing.Image)(resources.GetObject("btDel.Image")));
|
||||
this.btDel.Name = "btDel";
|
||||
this.btDel.RightToLeftAutoMirrorImage = true;
|
||||
this.btDel.Size = new System.Drawing.Size(68, 22);
|
||||
this.btDel.Text = "삭제(&D)";
|
||||
this.btDel.Click += new System.EventHandler(this.btDel_Click);
|
||||
//
|
||||
// btSave
|
||||
//
|
||||
this.btSave.Image = global::FPJ0000.Properties.Resources.action_save;
|
||||
this.btSave.Name = "btSave";
|
||||
this.btSave.Size = new System.Drawing.Size(66, 22);
|
||||
this.btSave.Text = "저장(&S)";
|
||||
this.btSave.Click += new System.EventHandler(this.projectsBindingNavigatorSaveItem_Click);
|
||||
//
|
||||
// toolStripButton1
|
||||
//
|
||||
this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));
|
||||
this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton1.Name = "toolStripButton1";
|
||||
this.toolStripButton1.Size = new System.Drawing.Size(75, 22);
|
||||
this.toolStripButton1.Text = "폴더열기";
|
||||
this.toolStripButton1.Click += new System.EventHandler(this.toolStripButton1_Click_1);
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
this.toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// toolStripLabel2
|
||||
//
|
||||
this.toolStripLabel2.Name = "toolStripLabel2";
|
||||
this.toolStripLabel2.Size = new System.Drawing.Size(31, 22);
|
||||
this.toolStripLabel2.Text = "검색";
|
||||
//
|
||||
// tbFind
|
||||
//
|
||||
this.tbFind.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.tbFind.Name = "tbFind";
|
||||
this.tbFind.Size = new System.Drawing.Size(100, 25);
|
||||
this.tbFind.KeyDown += new System.Windows.Forms.KeyEventHandler(this.tbFind_KeyDown);
|
||||
//
|
||||
// btFind
|
||||
//
|
||||
this.btFind.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.btFind.Image = ((System.Drawing.Image)(resources.GetObject("btFind.Image")));
|
||||
this.btFind.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btFind.Name = "btFind";
|
||||
this.btFind.Size = new System.Drawing.Size(23, 22);
|
||||
this.btFind.Text = "toolStripButton2";
|
||||
this.btFind.Click += new System.EventHandler(this.btFind_Click);
|
||||
//
|
||||
// cm
|
||||
//
|
||||
this.cm.Font = new System.Drawing.Font("맑은 고딕", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.cm.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.columnSizeToolStripMenuItem,
|
||||
this.exportListToolStripMenuItem,
|
||||
this.toolStripMenuItem2,
|
||||
this.복사ToolStripMenuItem,
|
||||
this.편집ToolStripMenuItem,
|
||||
this.삭제ToolStripMenuItem});
|
||||
this.cm.Name = "contextMenuStrip1";
|
||||
this.cm.Size = new System.Drawing.Size(226, 190);
|
||||
//
|
||||
// columnSizeToolStripMenuItem
|
||||
//
|
||||
this.columnSizeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.autoToolStripMenuItem,
|
||||
this.resetToolStripMenuItem,
|
||||
this.saveToolStripMenuItem,
|
||||
this.loadToolStripMenuItem});
|
||||
this.columnSizeToolStripMenuItem.Name = "columnSizeToolStripMenuItem";
|
||||
this.columnSizeToolStripMenuItem.Size = new System.Drawing.Size(225, 36);
|
||||
this.columnSizeToolStripMenuItem.Text = "Column Size";
|
||||
//
|
||||
// autoToolStripMenuItem
|
||||
//
|
||||
this.autoToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("autoToolStripMenuItem.Image")));
|
||||
this.autoToolStripMenuItem.Name = "autoToolStripMenuItem";
|
||||
this.autoToolStripMenuItem.Size = new System.Drawing.Size(149, 36);
|
||||
this.autoToolStripMenuItem.Text = "Auto";
|
||||
this.autoToolStripMenuItem.Click += new System.EventHandler(this.autoToolStripMenuItem_Click);
|
||||
//
|
||||
// resetToolStripMenuItem
|
||||
//
|
||||
this.resetToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("resetToolStripMenuItem.Image")));
|
||||
this.resetToolStripMenuItem.Name = "resetToolStripMenuItem";
|
||||
this.resetToolStripMenuItem.Size = new System.Drawing.Size(149, 36);
|
||||
this.resetToolStripMenuItem.Text = "Reset";
|
||||
this.resetToolStripMenuItem.Click += new System.EventHandler(this.resetToolStripMenuItem_Click);
|
||||
//
|
||||
// saveToolStripMenuItem
|
||||
//
|
||||
this.saveToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripMenuItem.Image")));
|
||||
this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
|
||||
this.saveToolStripMenuItem.Size = new System.Drawing.Size(149, 36);
|
||||
this.saveToolStripMenuItem.Text = "Save";
|
||||
this.saveToolStripMenuItem.Click += new System.EventHandler(this.saveToolStripMenuItem_Click);
|
||||
//
|
||||
// loadToolStripMenuItem
|
||||
//
|
||||
this.loadToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("loadToolStripMenuItem.Image")));
|
||||
this.loadToolStripMenuItem.Name = "loadToolStripMenuItem";
|
||||
this.loadToolStripMenuItem.Size = new System.Drawing.Size(149, 36);
|
||||
this.loadToolStripMenuItem.Text = "Load";
|
||||
this.loadToolStripMenuItem.Click += new System.EventHandler(this.loadToolStripMenuItem_Click);
|
||||
//
|
||||
// exportListToolStripMenuItem
|
||||
//
|
||||
this.exportListToolStripMenuItem.Name = "exportListToolStripMenuItem";
|
||||
this.exportListToolStripMenuItem.Size = new System.Drawing.Size(225, 36);
|
||||
this.exportListToolStripMenuItem.Text = "Export List";
|
||||
this.exportListToolStripMenuItem.Click += new System.EventHandler(this.exportListToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripMenuItem2
|
||||
//
|
||||
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
|
||||
this.toolStripMenuItem2.Size = new System.Drawing.Size(222, 6);
|
||||
//
|
||||
// 복사ToolStripMenuItem
|
||||
//
|
||||
this.복사ToolStripMenuItem.Name = "복사ToolStripMenuItem";
|
||||
this.복사ToolStripMenuItem.Size = new System.Drawing.Size(225, 36);
|
||||
this.복사ToolStripMenuItem.Text = "복사";
|
||||
this.복사ToolStripMenuItem.Visible = false;
|
||||
this.복사ToolStripMenuItem.Click += new System.EventHandler(this.복사ToolStripMenuItem_Click);
|
||||
//
|
||||
// 편집ToolStripMenuItem
|
||||
//
|
||||
this.편집ToolStripMenuItem.Name = "편집ToolStripMenuItem";
|
||||
this.편집ToolStripMenuItem.Size = new System.Drawing.Size(225, 36);
|
||||
this.편집ToolStripMenuItem.Text = "편집";
|
||||
this.편집ToolStripMenuItem.Click += new System.EventHandler(this.편집ToolStripMenuItem_Click);
|
||||
//
|
||||
// 삭제ToolStripMenuItem
|
||||
//
|
||||
this.삭제ToolStripMenuItem.Name = "삭제ToolStripMenuItem";
|
||||
this.삭제ToolStripMenuItem.Size = new System.Drawing.Size(225, 36);
|
||||
this.삭제ToolStripMenuItem.Text = "삭제";
|
||||
this.삭제ToolStripMenuItem.Click += new System.EventHandler(this.삭제ToolStripMenuItem_Click);
|
||||
//
|
||||
// fpSpread1
|
||||
//
|
||||
this.fpSpread1.AccessibleDescription = "";
|
||||
this.fpSpread1.ContextMenuStrip = this.cm;
|
||||
this.fpSpread1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fpSpread1.Location = new System.Drawing.Point(0, 37);
|
||||
this.fpSpread1.Name = "fpSpread1";
|
||||
this.fpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
|
||||
this.fpSpread1_Sheet1});
|
||||
this.fpSpread1.Size = new System.Drawing.Size(969, 558);
|
||||
this.fpSpread1.TabIndex = 2;
|
||||
//
|
||||
// fpSpread1_Sheet1
|
||||
//
|
||||
this.fpSpread1_Sheet1.Reset();
|
||||
this.fpSpread1_Sheet1.SheetName = "Sheet1";
|
||||
// Formulas and custom names must be loaded with R1C1 reference style
|
||||
this.fpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
|
||||
this.fpSpread1_Sheet1.ColumnCount = 6;
|
||||
this.fpSpread1_Sheet1.ActiveColumnIndex = -1;
|
||||
this.fpSpread1_Sheet1.ActiveRowIndex = -1;
|
||||
this.fpSpread1_Sheet1.AutoGenerateColumns = false;
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 2).Value = "공유";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 3).Value = "등록일";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Cells.Get(0, 4).Value = "제목";
|
||||
this.fpSpread1_Sheet1.ColumnHeader.Rows.Get(0).Height = 28F;
|
||||
numberCellType1.DecimalPlaces = 0;
|
||||
numberCellType1.LeadingZero = FarPoint.Win.Spread.CellType.LeadingZero.Yes;
|
||||
numberCellType1.MaximumValue = 2147483647D;
|
||||
numberCellType1.MinimumValue = -2147483648D;
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).CellType = numberCellType1;
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).DataField = "idx";
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).Visible = false;
|
||||
this.fpSpread1_Sheet1.Columns.Get(0).Width = 77F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).CellType = textCellType1;
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).DataField = "gcode";
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).Visible = false;
|
||||
this.fpSpread1_Sheet1.Columns.Get(1).Width = 151F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).CellType = checkBoxCellType1;
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).DataField = "share";
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).Label = "공유";
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).Tag = "share";
|
||||
this.fpSpread1_Sheet1.Columns.Get(2).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).CellType = textCellType2;
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).DataField = "pdate";
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).Label = "등록일";
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(3).Width = 151F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(4).CellType = textCellType3;
|
||||
this.fpSpread1_Sheet1.Columns.Get(4).DataField = "title";
|
||||
this.fpSpread1_Sheet1.Columns.Get(4).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
|
||||
this.fpSpread1_Sheet1.Columns.Get(4).Label = "제목";
|
||||
this.fpSpread1_Sheet1.Columns.Get(4).VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
this.fpSpread1_Sheet1.Columns.Get(4).Width = 255F;
|
||||
this.fpSpread1_Sheet1.Columns.Get(5).CellType = textCellType4;
|
||||
this.fpSpread1_Sheet1.Columns.Get(5).DataField = "description2";
|
||||
this.fpSpread1_Sheet1.Columns.Get(5).Visible = false;
|
||||
this.fpSpread1_Sheet1.Columns.Get(5).Width = 151F;
|
||||
this.fpSpread1_Sheet1.DataAutoSizeColumns = false;
|
||||
this.fpSpread1_Sheet1.DataSource = this.bs;
|
||||
this.fpSpread1_Sheet1.RowHeader.Columns.Default.Resizable = false;
|
||||
this.fpSpread1_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
|
||||
//
|
||||
// toolStrip1
|
||||
//
|
||||
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(30, 30);
|
||||
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.lbStt,
|
||||
this.dtSD,
|
||||
this.lbEnd,
|
||||
this.dtED,
|
||||
this.toolStripSeparator2,
|
||||
this.btSearch,
|
||||
this.toolStripButton2});
|
||||
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStrip1.Name = "toolStrip1";
|
||||
this.toolStrip1.Size = new System.Drawing.Size(969, 37);
|
||||
this.toolStrip1.TabIndex = 4;
|
||||
this.toolStrip1.Text = "toolStrip1";
|
||||
//
|
||||
// lbStt
|
||||
//
|
||||
this.lbStt.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
|
||||
this.lbStt.ForeColor = System.Drawing.Color.Blue;
|
||||
this.lbStt.Name = "lbStt";
|
||||
this.lbStt.Size = new System.Drawing.Size(31, 34);
|
||||
this.lbStt.Text = "기간";
|
||||
this.lbStt.Click += new System.EventHandler(this.lbStt_Click);
|
||||
//
|
||||
// dtSD
|
||||
//
|
||||
this.dtSD.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.dtSD.Name = "dtSD";
|
||||
this.dtSD.Size = new System.Drawing.Size(90, 37);
|
||||
this.dtSD.Text = "1982-11-23";
|
||||
this.dtSD.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// lbEnd
|
||||
//
|
||||
this.lbEnd.Name = "lbEnd";
|
||||
this.lbEnd.Size = new System.Drawing.Size(15, 34);
|
||||
this.lbEnd.Text = "~";
|
||||
//
|
||||
// dtED
|
||||
//
|
||||
this.dtED.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.dtED.Name = "dtED";
|
||||
this.dtED.Size = new System.Drawing.Size(90, 37);
|
||||
this.dtED.Text = "1982-11-23";
|
||||
this.dtED.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// toolStripSeparator2
|
||||
//
|
||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 37);
|
||||
//
|
||||
// btSearch
|
||||
//
|
||||
this.btSearch.Image = ((System.Drawing.Image)(resources.GetObject("btSearch.Image")));
|
||||
this.btSearch.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.btSearch.Name = "btSearch";
|
||||
this.btSearch.Size = new System.Drawing.Size(80, 34);
|
||||
this.btSearch.Text = "조회(&R)";
|
||||
this.btSearch.Click += new System.EventHandler(this.btSearch_Click);
|
||||
//
|
||||
// toolStripButton2
|
||||
//
|
||||
this.toolStripButton2.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
|
||||
this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));
|
||||
this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.toolStripButton2.Name = "toolStripButton2";
|
||||
this.toolStripButton2.Size = new System.Drawing.Size(65, 34);
|
||||
this.toolStripButton2.Text = "닫기";
|
||||
this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click);
|
||||
//
|
||||
// ta
|
||||
//
|
||||
this.ta.ClearBeforeFill = true;
|
||||
//
|
||||
// fNote
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(969, 620);
|
||||
this.Controls.Add(this.fpSpread1);
|
||||
this.Controls.Add(this.toolStrip1);
|
||||
this.Controls.Add(this.bn);
|
||||
this.Name = "fNote";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "메모장";
|
||||
this.Load += new System.EventHandler(this.@__Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.bn)).EndInit();
|
||||
this.bn.ResumeLayout(false);
|
||||
this.bn.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ds1)).EndInit();
|
||||
this.cm.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1_Sheet1)).EndInit();
|
||||
this.toolStrip1.ResumeLayout(false);
|
||||
this.toolStrip1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private DSNote ds1;
|
||||
private System.Windows.Forms.BindingSource bs;
|
||||
private System.Windows.Forms.BindingNavigator bn;
|
||||
private System.Windows.Forms.ToolStripButton btAdd;
|
||||
private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
|
||||
private System.Windows.Forms.ToolStripButton btDel;
|
||||
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveFirstItem;
|
||||
private System.Windows.Forms.ToolStripButton bindingNavigatorMovePreviousItem;
|
||||
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator;
|
||||
private System.Windows.Forms.ToolStripTextBox bindingNavigatorPositionItem;
|
||||
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator1;
|
||||
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveNextItem;
|
||||
private System.Windows.Forms.ToolStripButton bindingNavigatorMoveLastItem;
|
||||
private System.Windows.Forms.ToolStripSeparator bindingNavigatorSeparator2;
|
||||
private System.Windows.Forms.ToolStripButton btSave;
|
||||
private System.Windows.Forms.ContextMenuStrip cm;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||
private FarPoint.Win.Spread.FpSpread fpSpread1;
|
||||
private System.Windows.Forms.ToolStripMenuItem columnSizeToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem autoToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem resetToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem loadToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2;
|
||||
private System.Windows.Forms.ToolStrip toolStrip1;
|
||||
private System.Windows.Forms.ToolStripLabel lbStt;
|
||||
private System.Windows.Forms.ToolStripTextBox dtSD;
|
||||
private System.Windows.Forms.ToolStripLabel lbEnd;
|
||||
private System.Windows.Forms.ToolStripTextBox dtED;
|
||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
|
||||
private System.Windows.Forms.ToolStripButton btSearch;
|
||||
private System.Windows.Forms.ToolStripButton btCopy;
|
||||
private System.Windows.Forms.ToolStripButton btEdit;
|
||||
private System.Windows.Forms.ToolStripLabel toolStripLabel2;
|
||||
private System.Windows.Forms.ToolStripTextBox tbFind;
|
||||
private System.Windows.Forms.ToolStripButton btFind;
|
||||
private System.Windows.Forms.ToolStripMenuItem exportListToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 복사ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 편집ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem 삭제ToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton2;
|
||||
private DSNoteTableAdapters.EETGW_NoteTableAdapter ta;
|
||||
private FarPoint.Win.Spread.SheetView fpSpread1_Sheet1;
|
||||
private System.Windows.Forms.ToolStripButton toolStripButton1;
|
||||
}
|
||||
}
|
||||
@@ -1,456 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using util = FCOMMON.Util;
|
||||
|
||||
namespace FPJ0000.Note
|
||||
{
|
||||
public partial class fNote : FCOMMON.fBase
|
||||
{
|
||||
string fn_fpcolsize = "";
|
||||
public fNote()
|
||||
{
|
||||
|
||||
InitializeComponent();
|
||||
fn_fpcolsize = util.MakeFilePath(util.CurrentPath, "formSetting", "fp_" + this.Name + ".ini");
|
||||
this.ds1.EETGW_Note.TableNewRow += Projects_TableNewRow;
|
||||
this.FormClosed += __Closed;
|
||||
|
||||
dtSD.KeyDown += dtSD_KeyDown;
|
||||
dtED.KeyDown += dtSD_KeyDown;
|
||||
|
||||
}
|
||||
|
||||
void __Closed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
Boolean binit = false;
|
||||
|
||||
|
||||
private void __Load(object sender, EventArgs e)
|
||||
{
|
||||
EnsureVisibleAndUsableSize();
|
||||
this.dtSD.Text = DateTime.Now.AddYears(-10).ToString("yyyy-MM-01");
|
||||
this.dtED.Text = DateTime.Now.ToShortDateString();
|
||||
|
||||
//일반사용자의경우에는 상태를 변경하지 못한다.
|
||||
int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.jobreport));
|
||||
if (curLevel >= 5)
|
||||
{
|
||||
btSave.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
btSave.Visible = false;
|
||||
//btViewDel.Visible = false;
|
||||
fpSpread1.EditMode = false;
|
||||
fpSpread1.Sheets[0].SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row;
|
||||
fpSpread1.EditModePermanent = false;
|
||||
fpSpread1.EditModeReplace = false;
|
||||
|
||||
foreach (FarPoint.Win.Spread.Column col in fpSpread1.ActiveSheet.Columns)
|
||||
col.Locked = true;
|
||||
}
|
||||
|
||||
refreshData();
|
||||
binit = true;
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void cmbProcess_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (binit == false) return;
|
||||
}
|
||||
private void cmbProcess_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void dtSD_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode != Keys.Enter) return;
|
||||
var tb = sender as ToolStripTextBox;
|
||||
var input = tb.Text.Trim();
|
||||
if (input == "") tb.Text = DateTime.Now.ToShortDateString();
|
||||
else
|
||||
{
|
||||
string dt = string.Empty;
|
||||
if (!util.MakeDateString(input, out dt))
|
||||
{
|
||||
FCOMMON.Util.MsgE("입력값이 올바르지 않습니다.");
|
||||
tb.SelectAll();
|
||||
tb.Focus();
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
tb.Text = dt;
|
||||
}
|
||||
}
|
||||
if (tb == dtSD)
|
||||
{
|
||||
dtED.Focus();
|
||||
dtED.SelectAll();
|
||||
}
|
||||
else
|
||||
{
|
||||
btSearch.PerformClick();
|
||||
tb.SelectAll();
|
||||
}
|
||||
}
|
||||
|
||||
void refreshData()
|
||||
{
|
||||
// string state = "%";
|
||||
// if (cmbState.SelectedIndex > 0) state = cmbState.Text.Split(',')[0].Substring(1);
|
||||
|
||||
//var cmd = new System.Data.SqlClient.SqlCommand("select idx,gcode,pdate,uid,'' as description,'' as description2,share,wuid,wdate from eetgw_note where gcode = @gcode and pdate between @sd and @ed and (uid=@uid or isnull(share,0) = 1)",ta.Connection);
|
||||
//cmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode;
|
||||
//cmd.Parameters.Add("sd", SqlDbType.VarChar).Value = dtSD.Text;
|
||||
//cmd.Parameters.Add("ed", SqlDbType.VarChar).Value = dtED.Text;
|
||||
//cmd.Parameters.Add("uid", SqlDbType.VarChar).Value = FCOMMON.info.Login.no;
|
||||
//var da = new System.Data.SqlClient.SqlDataAdapter(cmd);
|
||||
//da.Fill(this.ds1.EETGW_Note);
|
||||
//cmd.Dispose();
|
||||
//da.Dispose();
|
||||
|
||||
//설명을 가져오지 않는다.
|
||||
this.ta.FillByNoDesc(this.ds1.EETGW_Note, FCOMMON.info.Login.gcode, dtSD.Text, dtED.Text, FCOMMON.info.Login.no);
|
||||
FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
FormattingData();
|
||||
}
|
||||
|
||||
void FormattingData()
|
||||
{
|
||||
//삭제컬럼인덱스
|
||||
this.fpSpread1.SuspendLayout();
|
||||
var delindex = this.fpSpread1.ActiveSheet.Columns["share"].Index;
|
||||
for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
|
||||
{
|
||||
var state = this.fpSpread1.ActiveSheet.GetValue(i, delindex);
|
||||
var stateStr = false;
|
||||
if (state != null) stateStr = (bool)state;
|
||||
|
||||
if (stateStr == true)
|
||||
this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.WhiteSmoke;
|
||||
else
|
||||
this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.SkyBlue;
|
||||
}
|
||||
this.fpSpread1.ResumeLayout();
|
||||
}
|
||||
void funcSave()
|
||||
{
|
||||
this.Validate();
|
||||
this.bs.EndEdit();
|
||||
try
|
||||
{
|
||||
this.ta.Update(ds1.EETGW_Note);
|
||||
FormattingData();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
FCOMMON.Util.MsgE("저장 실패\n" + ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void projectsBindingNavigatorSaveItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
funcSave();
|
||||
|
||||
}
|
||||
void Projects_TableNewRow(object sender, DataTableNewRowEventArgs e)
|
||||
{
|
||||
e.Row["gcode"] = FCOMMON.info.Login.gcode;
|
||||
e.Row["pdate"] = DateTime.Now.ToShortDateString();
|
||||
e.Row["wuid"] = FCOMMON.info.Login.no;
|
||||
e.Row["wdate"] = DateTime.Now;
|
||||
e.Row["uid"] = FCOMMON.info.Login.no; //이름을 직접 기록
|
||||
}
|
||||
|
||||
private void refreshToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
refreshData();
|
||||
}
|
||||
|
||||
private void partListToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
var dr = drv.Row as dsPRJ.ProjectsRow;
|
||||
var f = new fPartList(dr.idx);
|
||||
f.MdiParent = this.MdiParent;
|
||||
f.Show();
|
||||
}
|
||||
|
||||
|
||||
private void autoToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.fpSpread1.ActiveSheet.DataAutoSizeColumns = true;
|
||||
|
||||
for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
|
||||
this.fpSpread1.ActiveSheet.SetRowHeight(i, 25);
|
||||
//dv1.AutoResizeColumns();
|
||||
}
|
||||
|
||||
private void resetToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
foreach (FarPoint.Win.Spread.Column col in this.fpSpread1.ActiveSheet.Columns)
|
||||
{
|
||||
col.Width = 100;
|
||||
}
|
||||
}
|
||||
|
||||
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
FPUtil.ColsizeSave(this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
|
||||
private void loadToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
|
||||
private void btSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
refreshData();
|
||||
}
|
||||
|
||||
private void toolStripLabel3_Click(object sender, EventArgs e)
|
||||
{
|
||||
//사용자목록처리
|
||||
var namestr = string.Format("{0}({1})", FCOMMON.info.Login.nameK, FCOMMON.info.Login.no); ;
|
||||
if (FCOMMON.info.Login.no == "dev") namestr = "김치균(395552)";
|
||||
refreshData();
|
||||
}
|
||||
|
||||
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var f = new Note.fNote_Add(-1);
|
||||
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
refreshData();
|
||||
}
|
||||
}
|
||||
|
||||
private void btFind_Click(object sender, EventArgs e)
|
||||
{
|
||||
var search = tbFind.Text.Trim();
|
||||
search = search.Replace("*", "x");
|
||||
if (tbFind.Text != search) tbFind.Text = search;
|
||||
try
|
||||
{
|
||||
if (search.Trim() == "")
|
||||
{
|
||||
this.bs.Filter = "";
|
||||
tbFind.BackColor = Color.White;
|
||||
}
|
||||
else
|
||||
{
|
||||
search = search.Replace("'", "''");
|
||||
var collist = new string[] { "description" };
|
||||
string filter = ""; // "itemna like ? or package like ? or projectname like ? or process like ? or [type] like ? or description like ?";
|
||||
foreach (var col in collist)
|
||||
{
|
||||
if (filter != "") filter += " or ";
|
||||
filter += col + " like ?";
|
||||
}
|
||||
filter = filter.Replace("?", "'%" + search + "%'");
|
||||
this.bs.Filter = filter;
|
||||
tbFind.BackColor = Color.Lime;
|
||||
}
|
||||
tbFind.SelectAll();
|
||||
tbFind.Focus();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.tbFind.BackColor = Color.Tomato;
|
||||
FCOMMON.Util.MsgE(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void tbFind_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter) btFind.PerformClick();
|
||||
}
|
||||
|
||||
private void btEdit_Click(object sender, EventArgs e)
|
||||
{
|
||||
funcEdit();
|
||||
}
|
||||
void funcEdit()
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
var dr = drv.Row as DSNote.EETGW_NoteRow;
|
||||
//if(dr.uid != FCOMMON.info.Login.no && FCOMMON.info.Login.level<5)
|
||||
//{
|
||||
// FCOMMON.Util.MsgE("타인의 자료는 추가/변경/삭제 할 수 없습니다.");
|
||||
// return;
|
||||
//}
|
||||
|
||||
var f = new Note.fNote_Add(dr.idx);
|
||||
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
refreshData();
|
||||
}
|
||||
}
|
||||
|
||||
private void exportListToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveFileDialog sd = new SaveFileDialog();
|
||||
sd.Filter = "excel|*.xls";
|
||||
sd.FileName = "jobreport.xls";
|
||||
if (sd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
fpSpread1.SaveExcel(sd.FileName,
|
||||
FarPoint.Excel.ExcelSaveFlags.SaveAsViewed
|
||||
| FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered
|
||||
| FarPoint.Excel.ExcelSaveFlags.NoFormulas
|
||||
| FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders);
|
||||
FCOMMON.Util.MsgI("다음 파일이 생성 되었습니다.\n\n" + sd.FileName);
|
||||
}
|
||||
}
|
||||
|
||||
private void btCopy_Click(object sender, EventArgs e)
|
||||
{
|
||||
// funcCopy(); //190509
|
||||
}
|
||||
//void funcCopy()
|
||||
//{
|
||||
// var drv = this.bs.Current as DataRowView;
|
||||
// if (drv == null) return;
|
||||
// var dr = drv.Row as dsPRJ.JobReportRow;
|
||||
|
||||
// //현재 데이터를 입력하여 신규 추가를 한다.
|
||||
// var newdr = this.ds1.JobReport.NewJobReportRow();
|
||||
// FCOMMON.Util.CopyData((System.Data.DataRow)dr, (System.Data.DataRow)newdr);
|
||||
// newdr.wdate = DateTime.Now;
|
||||
// newdr.wuid = FCOMMON.info.Login.no;
|
||||
// newdr.uid = FCOMMON.info.Login.no;
|
||||
// //newdr.description = "";
|
||||
// newdr.pdate = DateTime.Now.ToShortDateString(); //190509
|
||||
// newdr.idx = -1;
|
||||
// newdr.hrs = 8.0;
|
||||
// newdr.ot = 0.0;
|
||||
// newdr.EndEdit();
|
||||
|
||||
// //var newdr = this.dsMSSQL.JobReport.NewJobReportRow();
|
||||
// JobReport.fJobReport_Add f = new JobReport.fJobReport_Add(newdr);
|
||||
// if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
// {
|
||||
// this.ds1.JobReport.AddJobReportRow(newdr);
|
||||
// this.ta.Update(newdr);
|
||||
// newdr.AcceptChanges();
|
||||
// }
|
||||
// else newdr.Delete();
|
||||
//}
|
||||
|
||||
private void btDel_Click(object sender, EventArgs e)
|
||||
{
|
||||
funcDelete();
|
||||
}
|
||||
void funcDelete()
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
var dr = drv.Row as DSNote.EETGW_NoteRow;
|
||||
if (dr.uid != FCOMMON.info.Login.no && FCOMMON.info.Login.level < 5)
|
||||
{
|
||||
FCOMMON.Util.MsgE("타인의 자료는 추가/변경/삭제 할 수 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
var dlg = FCOMMON.Util.MsgQ("현재 선택된 자료를 삭제하시겠습니까?");
|
||||
if (dlg != System.Windows.Forms.DialogResult.Yes) return;
|
||||
|
||||
dr.Delete();
|
||||
try
|
||||
{
|
||||
this.ta.Update(dr);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
FCOMMON.Util.MsgE("삭제실패\n\n" + ex.Message);
|
||||
}
|
||||
}
|
||||
private void lbStt_Click(object sender, EventArgs e)
|
||||
{
|
||||
var f = new FCOMMON.fSelectMonth();
|
||||
if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
|
||||
var sdDate = DateTime.Parse(DateTime.Now.ToString("yyyy-") + f.selectmon.ToString() + "-01");
|
||||
dtSD.Text = sdDate.ToShortDateString();
|
||||
dtED.Text = sdDate.AddMonths(1).AddDays(-1).ToShortDateString();
|
||||
refreshData();
|
||||
}
|
||||
|
||||
|
||||
private void 복사ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
//funcCopy();
|
||||
}
|
||||
|
||||
private void 편집ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
funcEdit();
|
||||
}
|
||||
|
||||
private void 삭제ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
funcDelete();
|
||||
}
|
||||
|
||||
|
||||
private void toolStripButton2_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void bs_CurrentChanged(object sender, EventArgs e)
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
var dr = drv.Row as DSNote.EETGW_NoteRow;
|
||||
//if (string.IsNullOrEmpty(dr.description2)) richTextBoxEx1.Text = dr.description;
|
||||
//else richTextBoxEx1.Rtf = dr.description2;
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
var dr = drv.Row as DSNote.EETGW_NoteRow;
|
||||
|
||||
|
||||
//var serverpath = Properties.Settings.Default.SharePath; // @"\\10.131.32.29\Data\Project";
|
||||
//if (System.IO.Directory.Exists(serverpath) == false)
|
||||
//{
|
||||
// FCOMMON.Util.MsgE("프로젝트 기본경로가 존재하지 않아 진행할 수 없습니다\n\n" +
|
||||
// serverpath);
|
||||
// return;
|
||||
//}
|
||||
var datapath = FCOMMON.DBM.getCodeSvalue("55", "01");
|
||||
var path = System.IO.Path.Combine(datapath,"Data","Note", dr.guid);
|
||||
if (System.IO.Directory.Exists(path) == false)
|
||||
{
|
||||
try
|
||||
{
|
||||
System.IO.Directory.CreateDirectory(path);
|
||||
}
|
||||
catch (Exception eX)
|
||||
{
|
||||
FCOMMON.Util.MsgE("프로젝트 저장소 생성실패\n" + eX.Message);
|
||||
return;
|
||||
}
|
||||
}
|
||||
FCOMMON.Util.RunExplorer(path);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,303 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>152, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>88, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ds1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+
|
||||
+8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A
|
||||
ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/
|
||||
+4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/
|
||||
xpHLcBtgkXfnf2r/a6yKDJJO/JdN+/pfN3gehhwcGGbd/h/W8hKnIv3Uy/81fKdhlQMDnbQb//2qH+JV
|
||||
pOIxAaccg1Pulf8gBXgVDUoAAPB2wKtYlLYeAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33
|
||||
wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ
|
||||
sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE
|
||||
9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5
|
||||
8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu
|
||||
I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+
|
||||
X6Bjq5qXAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe
|
||||
/w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/
|
||||
/tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI
|
||||
ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6
|
||||
3AZY5N35b1NwBUMzTC61/zXcS1iBYdZtrJpBACQX1vLyv27wPKzyYKCTdgOnJEjOr/rhfw3faTjV4AVO
|
||||
uVf+q3hMAGN0uYEFAL7Rv7NmXVYYAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="btAdd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAVdJREFUOE/Nz0tLAmEUBmB3kWRoCUVEISFUJGb1OywiKrDsIpZdkJAkDUvDQkij
|
||||
UKSbVIvatKhNi9oERRAGEQXhjJdp7Hd83/eGs2jhLGQ20QtndTgP71Gp/m0KZ1XInlTjM6XG+4EG5fuK
|
||||
yaTUIN8bIMUQ0gmtcuBtX/MLPMT0yoHnuA6kuA4iruI20lAZ+DiswWuyFum4Dk+7dbiP6kHEFVDBg+tQ
|
||||
My4DLbjwG3DqbcORxygHXxJakGIQRFwDEf0gwjKI4AYtzIHmHaA5Oxg/CsYPIb7YIQced+qluvTLCyIs
|
||||
gRYWQPNO0NwkWNYGxg+DcYNgGSu2Z0xy4C7SiJtwE66kuq049xlAs2Ng/AiS7nbszXci6jIh4jQjPGWR
|
||||
A+U59hiluowbQMzVVfmgPKU/GdcPxlmx5TArB6KzJunf0gTtPcqBzeluhCYsCIz3wm/rUw78WX4AJCPY
|
||||
nlwVm9EAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="btEdit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEuSURBVDhPpZKxS0JBHMff1P/S2NbUIg7RqrQ0tDj5B9jU
|
||||
nH+Ag9DSlOAQhNCi6BRBBD1SaDIDg4JCLVSqpz/5HJzdz3vp4MH3vcfdfT73e3cXyJot4NHs9qUSdkxK
|
||||
t20p1lsmJxc3JkfFq3m2MwUTxucCQCTd96G8DcYq9NkAnoc/kiqPzLcSMPn6eeKl8TSRl8+pB6cyx38C
|
||||
yv4afXvgfzBzlYD/cQXL4HZvulywCi49RL6AnabThWv5IBa2gt10Nl5gYQn3RaobCkZ4dh+ZE1ECzvdj
|
||||
MPRgvhdhK0jsHfgC7sIq+PTuVzqvvXjB5WNkNsfNYa5gxgFtEOwk01rAHiAgdlXejCFxw2JKQCflI1m8
|
||||
voQVbYC5uZtbCV2BLdctn50m/C9hVQKs7sE6bQYYdFQ/+SVRqQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btDel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAWtJREFUOE+1kE0ow2Ecx/9X5a2UiwtKOSCTmJBMhuQlMo3IvCUHDouEXHZwIOVC
|
||||
DrhIDiQl5USy07zNa2tKf2laaRf84/J8xBCetab4XL/f76fn+SnKX4DrGLqrwbHDzywkWJlHdJYjLEbY
|
||||
Wg8q4eYKlma+d1hbgF4TotWIaC+FuYmAktcXCksx2HrknBOHX1KbiTDngrXhW0kMdSBM2TA5Io+/wuI0
|
||||
oiz5TcRwB7hPYazfLx3rDz7+gCsXNBb4v1SdgajTQ19TaOMP2NtFmPSIilSo0v1y7FHBnAdZMWi6aO51
|
||||
kVCTGZoEzzWYciA/Dl9bBZwfvh3XmxIJy7PBJdx5odnAQ2E87qJUfPbtzwGjVpxJEWjH+4ElPD/BYBsY
|
||||
EjhKicW3sSoVb0vSUFsq0W6upUxhdxMtOxZnYhhqVz1oj3JJUZSdpCg0p0POmLKhJofjNqaDeikX3tFG
|
||||
uuHsQM65cML4ABzY5fA/eQGKIwMcVjm2bAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
|
||||
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
|
||||
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
|
||||
I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM
|
||||
cX79DFKrHHD5d9D26hvicx4pABt2lpg10zYzU0zr7+e3xXGcrkEB2O2TNec9nJFwB3alZn5jZorfeDZh
|
||||
6Q3g8s06BeCoKF4MRURoH1+BY2oNCbeb0TIclIYxOhzf8frTOuo7FxCbbVIAzpni0iceEc8vhzEwGkJD
|
||||
lx83ymxifejdKjRNk/8PWnyIyTQqAJek0jqHwfEVscu31baIu8+90sTE4nY025dQ2/5FIPpnXlzKuK8A
|
||||
HBUzHot52djqQ6HZhfR7IwK4mKpHtvEDMqvfCiQ6zaAAXM8x94aIWTNrLLG4kVUzgaTSPlzLtyJOZxbb
|
||||
1wtfyg4Q+AfA3aZlButjSfxGcUJBk4g5tuP3haQKRKXcUQDOmbvNTpPOJeFFjordZmbWTNvMTHFUcpUC
|
||||
nOccAdABIDXXE1nzAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="btFind.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEwSURBVDhPpZIxSwNBEIXzW/wLKS0Fm2ib5hBLBbESjG20
|
||||
UUQsBRtbKzVgIWhhIwhWIhFBtFAjgqaIcKDmLiPfwO7NXg6NZuDdLnv3vn03uyX5R5VssdB8+ZC9q5Yc
|
||||
XD7K7sW9bJ9eq1b3z1WLW4eBumkvgwDADKTVjuW1k41ubrV2/CbV+Y0sCRN25uXZQ9qnk7vEqx2nCggg
|
||||
PIgdfyZ95jwEAOrEXyGA//0JYCGNm0QBk9HC74CdzRVZr82q6nORjoUAOs1i3owouk50BxkIwIekwsz4
|
||||
/J7qSc1UymoMAJwtO9iOO4BTHjA2MRUCOHMLWJqu6BpgZ/4TgARArPlouSrR6EgxgJj2qBBNY0cnzI3a
|
||||
uId4AJeiefukjbTXt6jyEJ8AiBMdtiKuk4V4wDD1Db5KUSxr13uqAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="cm.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>218, 17</value>
|
||||
</metadata>
|
||||
<data name="autoToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfAJXG2JXa+ZLO5ChrlkCy4TZ1kiVvpCN0trvo9SN5xTd4lrfh7iR9zo3S+EGz7JDJ
|
||||
4TaCromrvC9ymyV+0Dd3mTl1koe72YvN7LTj+9ne6N3g6v7+/0Cw2Stoh////////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAInwA/CBzooaAHgQUHKvRQoUABCgUlHFT4IYMCBAsQIIBg
|
||||
wcBEgh0WCBDAgcAFDAc+fvDQIUKHDgMeEHDQIIFKlgoMGgjQoAGDmwUOehhg4EACBhM+GlzKVOkEBgkO
|
||||
GBggNOhCBhgCBPBYUEGHmwkCOCDwYMCAll8XHghwgQCHkQDSLjRgAcKDBwAAKNCwgaIHiR4oOKygkuDE
|
||||
pRQTK6YYEAA7
|
||||
</value>
|
||||
</data>
|
||||
<data name="resetToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfALnik2aXQv7+/dPut73llbfala3LmW6gSWqdQ2eYRGqaSLfck568iYrUQN7yzF6R
|
||||
PLTXlYjUP8XwmYfQQLbYl4jRQGiaQsPumNbyu7nglNPzsLXYlf7+/lCHK////////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIlgA/CBzooaAHgQUHEvSgIEAABQUfHFTIwQECDAMwYDhg
|
||||
oENCgRw8dBgAAECFBgsweJxYsAODDjApTIhAwCMHkCItGOxwgUCGlQQTeAgJsyhQg0iTGvzQ0qhND0IX
|
||||
dtBwQcJKDxZsIhQpIcIECkVffmwpYUGDCiUheBQg1cCBAgU2QFDg4KZCDxIZOoQ48S7LpQoDCx4cEAA7
|
||||
</value>
|
||||
</data>
|
||||
<data name="saveToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQAAJXD9Iasxm6MqnSn2lZtjVaRyEpXbYu767TX/2KZztvr/4Gy5KrT/3ut32+gzlFh
|
||||
e+r0/0RNX9/u/9Ln+8Xg//n8/4e36CkxQz9GVkSCvKjL35/N/Je91K7T5bDS4////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQAAAAAACwAAAAAEAAQAAAIuQA/CBxIsKDACRwScggQwIGAhwIICBDYQcEEgwg+bNjw
|
||||
QKCHCQgkQBgpQcKBCg0AEBCoAaRIkhIsVBigUiAHCgwkKNjJU8GAAx0/3NwIAMABCwsaDHCwIGgAChuK
|
||||
HjiQdMDSAQYEPpWKtKqDBA6yfgiAwGhXpUsTJIgg0AGCo0nRfi1QgO0HAQyQNpCrtkAGDAIFbKi69GsC
|
||||
un8FEohqdEFavxkyXAhMoPKDBwYMRIiAAcOFoAZDCwwIADs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="loadToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfAJfL/OTs9HWVsW6aUqnT+6bnZldwkYiux7TZ/O3z+UlVa/P2+ZfTW36wWJDLV4m7
|
||||
69nn78bi/qjL3qDP+VJhe4rAVa7S40NLXJ3bYJrA1ikxQz5FVdDU22OPRf///////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIwQA9CBxIcOCHgx4gWLAgIUOGAwcESBTgAaEFCAEGaBwQ
|
||||
IGOABwYqerCQsYBJBho7JHgAUqCEDjAxYGBQgYHKBAsoCMzQIUIEmA6CdkCAIOfOBT5/MnBQYSgBozCj
|
||||
SoVJ4KkCDx1MFhhKFEFVAhMCXM1aAANMoh2qTgh7AWvZmQ6igp0AIEDbDg0aLA06YC4AABA2eBjgYcHG
|
||||
vmv/Akgg2IMBDgsSdJwcAEICDhoECjDAmQIFBQouXNiwQYPOgqgLBgQAOw==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="fpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>606, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>286, 17</value>
|
||||
</metadata>
|
||||
<data name="btSearch.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEiSURBVDhPY2DAAf6jAXRxVNVIAKYga5bH/7TpTmAMYsNA
|
||||
3EQb3Ab8+/fv/71PZ/5nzXX+f+3T7v+X320H0yCct8Dz/9rTM/8HtGvDDcPQDAIgBSCNOx9NBuOOiw7/
|
||||
u644/N9+ZzLYIKwGwARAkvP2dIJpGN52Y/r/9gsO/zuu2P/f+3Qq3ACQhVhtz5jlBLcBJnb43Qyw5p0P
|
||||
pmB3AcwV6TNcwBLIBmLDKAbAeWQAFAPQbUG2DeYimAsxnA4z4PLnDWD/Hv2AGl0gAAobZAOxGgDSCApt
|
||||
UKiDQh/ZJbDYgQGcBoDiGxTvoPiHpYUt15Gj7y9uL4BSGijFbb81FYy33pgK1gxKyqAUiuJ0ZAAyAJbG
|
||||
QQBXPkDXBwfoCuA60MRpAgDTfULg/+7qPQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADiSURBVEhL7dVBCsIwEAXQnsq1a62ui6JLpeDSK3gF155B
|
||||
1AOId1A8gSvxBiNTCcTJJM3E2i6SwN9MhnklDW2WRbvW2wu0EepW8PkBf02CE2xks9vD6f4y6jTYg720
|
||||
riKCcVCvP4LxbOXEcQ97sNeGi+Bq4PwzMJ+UcLg+a3uON7NHDHODdZzu2dAgmAMQpzUXGgxTfFAsIJ+W
|
||||
3uhPMAZxBaoH8EExjcPcheMSDOtHPSyWX0ftgwfB3EWitTpcDFNAf6d0z4WLYDqYu0i0x4aL4M4+mZhO
|
||||
fhJNJsERw22EuvGsNycE2B33w41tAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>544, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
260
SubProject/FPJ0000/Note/fNote_Add.Designer.cs
generated
260
SubProject/FPJ0000/Note/fNote_Add.Designer.cs
generated
@@ -1,260 +0,0 @@
|
||||
namespace FPJ0000.Note
|
||||
{
|
||||
partial class fNote_Add
|
||||
{
|
||||
/// <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 label4;
|
||||
System.Windows.Forms.Label label5;
|
||||
System.Windows.Forms.Label label1;
|
||||
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
|
||||
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.lbIndex = new System.Windows.Forms.ToolStripStatusLabel();
|
||||
this.btSave = new System.Windows.Forms.Button();
|
||||
this.dtPdate = new System.Windows.Forms.DateTimePicker();
|
||||
this.cmbUser = new System.Windows.Forms.ComboBox();
|
||||
this.tbWW = new System.Windows.Forms.TextBox();
|
||||
this.richTextBoxEx1 = new RichTextBoxEx.RichTextBoxEx();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.checkBox1 = new System.Windows.Forms.CheckBox();
|
||||
this.tbTitle = new System.Windows.Forms.TextBox();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
label4 = new System.Windows.Forms.Label();
|
||||
label5 = new System.Windows.Forms.Label();
|
||||
label1 = new System.Windows.Forms.Label();
|
||||
this.statusStrip1.SuspendLayout();
|
||||
this.panel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label4
|
||||
//
|
||||
label4.AutoSize = true;
|
||||
label4.Location = new System.Drawing.Point(326, 14);
|
||||
label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
label4.Name = "label4";
|
||||
label4.Size = new System.Drawing.Size(41, 12);
|
||||
label4.TabIndex = 5;
|
||||
label4.Text = "담당자";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
label5.AutoSize = true;
|
||||
label5.Location = new System.Drawing.Point(17, 14);
|
||||
label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
label5.Name = "label5";
|
||||
label5.Size = new System.Drawing.Size(41, 12);
|
||||
label5.TabIndex = 0;
|
||||
label5.Text = "등록일";
|
||||
//
|
||||
// statusStrip1
|
||||
//
|
||||
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.toolStripStatusLabel1,
|
||||
this.lbIndex});
|
||||
this.statusStrip1.Location = new System.Drawing.Point(0, 659);
|
||||
this.statusStrip1.Name = "statusStrip1";
|
||||
this.statusStrip1.Size = new System.Drawing.Size(969, 22);
|
||||
this.statusStrip1.TabIndex = 28;
|
||||
this.statusStrip1.Text = "statusStrip1";
|
||||
//
|
||||
// toolStripStatusLabel1
|
||||
//
|
||||
this.toolStripStatusLabel1.Name = "toolStripStatusLabel1";
|
||||
this.toolStripStatusLabel1.Size = new System.Drawing.Size(36, 17);
|
||||
this.toolStripStatusLabel1.Text = "Index";
|
||||
//
|
||||
// lbIndex
|
||||
//
|
||||
this.lbIndex.Name = "lbIndex";
|
||||
this.lbIndex.Size = new System.Drawing.Size(17, 17);
|
||||
this.lbIndex.Text = "--";
|
||||
//
|
||||
// btSave
|
||||
//
|
||||
this.btSave.BackColor = System.Drawing.Color.SkyBlue;
|
||||
this.btSave.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.btSave.Location = new System.Drawing.Point(831, 5);
|
||||
this.btSave.Name = "btSave";
|
||||
this.btSave.Size = new System.Drawing.Size(133, 58);
|
||||
this.btSave.TabIndex = 20;
|
||||
this.btSave.Text = "저장(&S)";
|
||||
this.btSave.UseVisualStyleBackColor = false;
|
||||
this.btSave.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// dtPdate
|
||||
//
|
||||
this.dtPdate.Location = new System.Drawing.Point(66, 10);
|
||||
this.dtPdate.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.dtPdate.Name = "dtPdate";
|
||||
this.dtPdate.Size = new System.Drawing.Size(178, 21);
|
||||
this.dtPdate.TabIndex = 1;
|
||||
this.dtPdate.ValueChanged += new System.EventHandler(this.dtPdate_ValueChanged);
|
||||
//
|
||||
// cmbUser
|
||||
//
|
||||
this.cmbUser.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
|
||||
this.cmbUser.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
|
||||
this.cmbUser.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cmbUser.FormattingEnabled = true;
|
||||
this.cmbUser.ImeMode = System.Windows.Forms.ImeMode.Hangul;
|
||||
this.cmbUser.Location = new System.Drawing.Point(378, 10);
|
||||
this.cmbUser.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.cmbUser.Name = "cmbUser";
|
||||
this.cmbUser.Size = new System.Drawing.Size(234, 20);
|
||||
this.cmbUser.TabIndex = 6;
|
||||
this.cmbUser.SelectedIndexChanged += new System.EventHandler(this.cmbUser_SelectedIndexChanged);
|
||||
//
|
||||
// tbWW
|
||||
//
|
||||
this.tbWW.Location = new System.Drawing.Point(246, 10);
|
||||
this.tbWW.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.tbWW.Name = "tbWW";
|
||||
this.tbWW.ReadOnly = true;
|
||||
this.tbWW.Size = new System.Drawing.Size(63, 21);
|
||||
this.tbWW.TabIndex = 2;
|
||||
this.tbWW.TabStop = false;
|
||||
this.tbWW.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// richTextBoxEx1
|
||||
//
|
||||
this.richTextBoxEx1.AllowBullets = true;
|
||||
this.richTextBoxEx1.AllowDefaultInsertText = true;
|
||||
this.richTextBoxEx1.AllowDefaultSmartText = true;
|
||||
this.richTextBoxEx1.AllowHyphenation = true;
|
||||
this.richTextBoxEx1.AllowPictures = true;
|
||||
this.richTextBoxEx1.AllowSpellCheck = true;
|
||||
this.richTextBoxEx1.AutoValidate = System.Windows.Forms.AutoValidate.EnablePreventFocusChange;
|
||||
this.richTextBoxEx1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.richTextBoxEx1.FilePath = "";
|
||||
this.richTextBoxEx1.Location = new System.Drawing.Point(0, 68);
|
||||
this.richTextBoxEx1.Name = "richTextBoxEx1";
|
||||
this.richTextBoxEx1.Rtf = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\nouicompat{\\fonttbl{\\f0\\fnil\\fcharset0 Arial;}}\r\n{\\" +
|
||||
"*\\generator Riched20 10.0.18362}\\viewkind4\\uc1 \r\n\\pard\\fs20\\lang1042 richTextBox" +
|
||||
"Ex1\\par\r\n}\r\n";
|
||||
this.richTextBoxEx1.SetColorWithFont = true;
|
||||
this.richTextBoxEx1.ShowToolStrip = true;
|
||||
this.richTextBoxEx1.Size = new System.Drawing.Size(969, 591);
|
||||
this.richTextBoxEx1.TabIndex = 58;
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200)))));
|
||||
this.panel1.Controls.Add(this.button1);
|
||||
this.panel1.Controls.Add(this.tbTitle);
|
||||
this.panel1.Controls.Add(this.checkBox1);
|
||||
this.panel1.Controls.Add(this.dtPdate);
|
||||
this.panel1.Controls.Add(label1);
|
||||
this.panel1.Controls.Add(label5);
|
||||
this.panel1.Controls.Add(this.btSave);
|
||||
this.panel1.Controls.Add(this.cmbUser);
|
||||
this.panel1.Controls.Add(this.tbWW);
|
||||
this.panel1.Controls.Add(label4);
|
||||
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(969, 68);
|
||||
this.panel1.TabIndex = 59;
|
||||
//
|
||||
// checkBox1
|
||||
//
|
||||
this.checkBox1.AutoSize = true;
|
||||
this.checkBox1.Location = new System.Drawing.Point(619, 12);
|
||||
this.checkBox1.Name = "checkBox1";
|
||||
this.checkBox1.Size = new System.Drawing.Size(76, 16);
|
||||
this.checkBox1.TabIndex = 21;
|
||||
this.checkBox1.Text = "공유 메모";
|
||||
this.checkBox1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// tbTitle
|
||||
//
|
||||
this.tbTitle.Location = new System.Drawing.Point(66, 39);
|
||||
this.tbTitle.Margin = new System.Windows.Forms.Padding(4);
|
||||
this.tbTitle.Name = "tbTitle";
|
||||
this.tbTitle.Size = new System.Drawing.Size(546, 21);
|
||||
this.tbTitle.TabIndex = 22;
|
||||
this.tbTitle.TabStop = false;
|
||||
this.tbTitle.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
label1.AutoSize = true;
|
||||
label1.Location = new System.Drawing.Point(29, 42);
|
||||
label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
label1.Name = "label1";
|
||||
label1.Size = new System.Drawing.Size(29, 12);
|
||||
label1.TabIndex = 0;
|
||||
label1.Text = "제목";
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Location = new System.Drawing.Point(619, 39);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(121, 21);
|
||||
this.button1.TabIndex = 23;
|
||||
this.button1.Text = "폴더열기";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click_1);
|
||||
//
|
||||
// fNote_Add
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(969, 681);
|
||||
this.Controls.Add(this.richTextBoxEx1);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.statusStrip1);
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "fNote_Add";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "메모장 등록/변경";
|
||||
this.Load += new System.EventHandler(this.fJobReport_Add_Load);
|
||||
this.statusStrip1.ResumeLayout(false);
|
||||
this.statusStrip1.PerformLayout();
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private System.Windows.Forms.StatusStrip statusStrip1;
|
||||
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
|
||||
private System.Windows.Forms.ToolStripStatusLabel lbIndex;
|
||||
private System.Windows.Forms.Button btSave;
|
||||
private System.Windows.Forms.DateTimePicker dtPdate;
|
||||
private System.Windows.Forms.ComboBox cmbUser;
|
||||
private System.Windows.Forms.TextBox tbWW;
|
||||
private RichTextBoxEx.RichTextBoxEx richTextBoxEx1;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.CheckBox checkBox1;
|
||||
private System.Windows.Forms.TextBox tbTitle;
|
||||
private System.Windows.Forms.Button button1;
|
||||
}
|
||||
}
|
||||
@@ -1,243 +0,0 @@
|
||||
using FCOMMON;
|
||||
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.Note
|
||||
{
|
||||
public partial class fNote_Add : fBase
|
||||
{
|
||||
int idx = -1;
|
||||
Boolean copyMOde = false;
|
||||
// Boolean bInit = false;
|
||||
string sGUID = string.Empty;
|
||||
public fNote_Add(int idx_, Boolean copy = false)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.idx = idx_;
|
||||
this.KeyPreview = true;
|
||||
this.StartPosition = FormStartPosition.CenterScreen;
|
||||
this.KeyDown += (s1, e1) =>
|
||||
{
|
||||
if (e1.KeyCode == Keys.Escape) this.Close();
|
||||
};
|
||||
|
||||
foreach (Control ctl in this.panel1.Controls)
|
||||
{
|
||||
if (ctl.GetType() == typeof(TextBox) || ctl.GetType() == typeof(ComboBox))
|
||||
{
|
||||
ctl.KeyDown += ctl_KeyDown;
|
||||
}
|
||||
}
|
||||
copyMOde = copy;
|
||||
}
|
||||
|
||||
|
||||
private void fJobReport_Add_Load(object sender, EventArgs e)
|
||||
{
|
||||
EnsureVisibleAndUsableSize();
|
||||
//담당자목록
|
||||
var dt_users = FCOMMON.DBM.getActiveUserTable();// getGroupList("name + '(' + id + ')'", "Users", "[level] > 0 and [level] < 10", false, false);
|
||||
this.cmbUser.DisplayMember = "dispName";
|
||||
this.cmbUser.ValueMember = "id";
|
||||
this.cmbUser.DataSource = dt_users;
|
||||
if (FCOMMON.info.Login.level < 5) cmbUser.Enabled = false;
|
||||
|
||||
|
||||
//사용자목록
|
||||
//해당 자료를 불러온다.
|
||||
if (this.idx == -1)
|
||||
{
|
||||
//신규추가임
|
||||
this.dtPdate.Value = DateTime.Now;
|
||||
cmbUser.SelectedValue = FCOMMON.info.Login.no;
|
||||
checkBox1.Checked = false;
|
||||
richTextBoxEx1.Text = string.Empty;
|
||||
sGUID = string.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
var db = new DSNoteTableAdapters.EETGW_NoteTableAdapter();// EEEntities();
|
||||
var dr = db.GetbyIdx(this.idx).FirstOrDefault();//.Where(t => t.idx == this.idx).FirstOrDefault();
|
||||
dtPdate.Value = DateTime.Parse(dr.pdate);
|
||||
cmbUser.SelectedValue = dr.uid;
|
||||
checkBox1.Checked = (bool)dr.share;
|
||||
tbTitle.Text = dr.title;
|
||||
sGUID = dr.guid;
|
||||
|
||||
//내가 작성한 글이 아니면 공유를 지정할 수 없게 한다.
|
||||
if (dr.uid != FCOMMON.info.Login.no)
|
||||
{
|
||||
checkBox1.Enabled = false;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(dr.description2))
|
||||
{
|
||||
this.richTextBoxEx1.Text = dr.description;
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
this.richTextBoxEx1.Rtf = dr.description2;
|
||||
}
|
||||
catch
|
||||
{
|
||||
this.richTextBoxEx1.Text = dr.description;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (String.IsNullOrEmpty(sGUID))
|
||||
sGUID = Guid.NewGuid().ToString();
|
||||
|
||||
this.Show();
|
||||
Application.DoEvents();
|
||||
this.richTextBoxEx1.Focus();
|
||||
|
||||
// bInit = true;
|
||||
}
|
||||
// editform.editor ed;
|
||||
void ctl_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
{
|
||||
Control ctl = sender as Control;
|
||||
string nm = ctl.Name.ToLower();
|
||||
string search = ctl.Text.Trim();
|
||||
|
||||
Console.WriteLine("inner keydown " + nm + ":" + search);
|
||||
|
||||
switch (nm)
|
||||
{
|
||||
//case "cmbrequest":
|
||||
|
||||
// //요청자가 마지막으로 입력한 자료의 process 를 찾아서 기입해준다.
|
||||
// var lastprocess = FCOMMON.DBM.getFirstValue("process", "purchase", "request like '%" + this.cmbUser.Text + "%'", "pdate desc");
|
||||
// if (lastprocess != "") cbProcess.Text = lastprocess;
|
||||
// tbSID.Focus();
|
||||
// break;
|
||||
case "tbdescription":
|
||||
if (e.Control)
|
||||
{
|
||||
btSave.Focus();
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
SendKeys.Send("{TAB}");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
FCM0000.fSelectDate f = new FCM0000.fSelectDate(this.dtPdate.Value.ToShortDateString());
|
||||
if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
|
||||
dtPdate.Value = f.dtSelect;
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Invalidate();
|
||||
|
||||
if (cmbUser.SelectedIndex < 0)
|
||||
{
|
||||
FCOMMON.Util.MsgE("담당자가 선택되지 않았습니다.");
|
||||
cmbUser.Focus();
|
||||
return;
|
||||
}
|
||||
|
||||
//바로저장한다.
|
||||
var db = new DSNoteTableAdapters.EETGW_NoteTableAdapter();// EEEntities();
|
||||
if(idx == -1)
|
||||
{
|
||||
//신규
|
||||
var dt = new DSNote.EETGW_NoteDataTable();
|
||||
var dr = dt.NewEETGW_NoteRow();// new EETGW_Note();
|
||||
dr.wuid = FCOMMON.info.Login.no;
|
||||
dr.wdate = DateTime.Now;
|
||||
dr.pdate = dtPdate.Value.ToShortDateString();
|
||||
dr.uid = cmbUser.SelectedValue.ToString();
|
||||
dr.description = richTextBoxEx1.Text;
|
||||
dr.description2 = richTextBoxEx1.Rtf;
|
||||
dr.share = checkBox1.Checked;
|
||||
dr.title = tbTitle.Text;
|
||||
dr.guid = this.sGUID;
|
||||
dr.gcode = FCOMMON.info.Login.gcode;
|
||||
dt.AddEETGW_NoteRow(dr);
|
||||
//db.EETGW_Note.Add(dr);
|
||||
db.Update(dt);//.SaveChanges();
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//기존
|
||||
var dr = db.GetbyIdx(this.idx).FirstOrDefault();// db.EETGW_Note.Where(t => t.idx == this.idx).FirstOrDefault();
|
||||
if(dr != null)
|
||||
{
|
||||
dr.wuid = FCOMMON.info.Login.no;
|
||||
dr.wdate = DateTime.Now;
|
||||
dr.pdate = dtPdate.Value.ToShortDateString();
|
||||
dr.uid = cmbUser.SelectedValue.ToString();
|
||||
dr.description = richTextBoxEx1.Text;
|
||||
dr.description2 = richTextBoxEx1.Rtf;
|
||||
dr.share = checkBox1.Checked;
|
||||
dr.guid = this.sGUID;
|
||||
dr.title = tbTitle.Text;
|
||||
dr.EndEdit();
|
||||
db.Update(dr);
|
||||
}
|
||||
}
|
||||
DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
}
|
||||
|
||||
|
||||
private void dtPdate_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
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(dtPdate.Value, myCWR, myFirstDOW);
|
||||
tbWW.Text = "ww" + dat.ToString();
|
||||
|
||||
}
|
||||
|
||||
private void cmbUser_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void button1_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
var serverpath = FCOMMON.DBM.getCodeSvalue("55", "01");
|
||||
// var serverpath = FCOMMON.info.datapath; // @"\\10.131.32.29\Data\Project";
|
||||
if (System.IO.Directory.Exists(serverpath) == false)
|
||||
{
|
||||
FCOMMON.Util.MsgE("프로젝트 기본경로가 존재하지 않아 진행할 수 없습니다\n\n" +
|
||||
serverpath);
|
||||
return;
|
||||
}
|
||||
|
||||
var path = serverpath + "\\Note\\" + this.sGUID;
|
||||
if (System.IO.Directory.Exists(path) == false)
|
||||
{
|
||||
try
|
||||
{
|
||||
System.IO.Directory.CreateDirectory(path);
|
||||
}
|
||||
catch (Exception eX)
|
||||
{
|
||||
FCOMMON.Util.MsgE("프로젝트 저장소 생성실패\n" + eX.Message);
|
||||
return;
|
||||
}
|
||||
}
|
||||
FCOMMON.Util.RunExplorer(path);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,132 +0,0 @@
|
||||
<?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="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>
|
||||
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -537,7 +537,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = this.ta;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
Binary file not shown.
1
SubProject/FPJ0000/Project/fPartList.Designer.cs
generated
1
SubProject/FPJ0000/Project/fPartList.Designer.cs
generated
@@ -1179,7 +1179,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = null;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
@@ -267,7 +267,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = null;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = this.ta;
|
||||
|
||||
@@ -3029,7 +3029,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = null;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
@@ -168,7 +168,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = null;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
@@ -116,7 +116,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = null;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
@@ -529,7 +529,7 @@
|
||||
this.toolStripMenuItem1,
|
||||
this.엑셀파일로저장ToolStripMenuItem});
|
||||
this.cm.Name = "contextMenuStrip1";
|
||||
this.cm.Size = new System.Drawing.Size(299, 418);
|
||||
this.cm.Size = new System.Drawing.Size(299, 440);
|
||||
//
|
||||
// columnSizeToolStripMenuItem
|
||||
//
|
||||
@@ -676,7 +676,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = null;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
<!--
|
||||
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
|
||||
|
||||
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>
|
||||
@@ -26,36 +26,36 @@
|
||||
<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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
@@ -117,63 +117,66 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>122, 17</value>
|
||||
<value>340, 17</value>
|
||||
</metadata>
|
||||
<metadata name="dsMSSQL.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
<value>235, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
|
||||
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
|
||||
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
|
||||
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
|
||||
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
|
||||
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
|
||||
vAAADrwBlbxySQAAATFJREFUOE9jYBg0oHDW8/9NC57/z5z4+D+6HAyEtz/AKceQO/PZ/1VH3v/HpSi+
|
||||
+8H/4IZrWOXAIGPK0/8L933Aqii+5+H/pfv///evvoAhBwcJPU/+T9vyHkNRRPt9sObMWf//e5WewG1A
|
||||
ZNej/72rP6AoCm29B9bcuu7/f//Ov/9d8g/gNiCw+eH/uvnv4IqCW+7+X7T3//+Odf//Z8z5+d+u7ud/
|
||||
+4ztuA3wqLr/P3/aGxRFdsW3/6fP+f3fv+vbf53Cd/8tEtbjNsC+9O7/7MmvMRTpp5z/b1L04r9K1qf/
|
||||
xpHLcBtgkXfnf2r/a6yKDJJO/JdN+/pfN3gehhwcGGbd/h/W8hKnIv3Uy/81fKdhlQMDnbQb//2qH+JV
|
||||
pOIxAaccg1Pulf8gBXgVDUoAAPB2wKtYlLYeAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
|
||||
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
|
||||
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
|
||||
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
|
||||
vAAADrwBlbxySQAAALtJREFUOE9jYBgyILz9wX90MaJBfPeD/8EN18gzIL7n4f+l+///96++QLoBEe33
|
||||
wZozZ/3/71V6gjQDQlvvgTW3rvv/37/z73+X/APEGxDccvf/or3//3es+/8/Y87P/3Z1P//bZ2wn3gAQ
|
||||
sCu+/T99zu///l3f/usUvvtvkbCeNANAQD/l/H+Tohf/VbI+/TeOXEa6ASBgkHTiv2za1/+6wfPIMwAE
|
||||
9FMv/9fwnUa+ASCg4jGBMgMGLwAA0BRgmCws/7cAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
|
||||
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
|
||||
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
|
||||
oAc0QjgAAAAASUVORK5CYII=
|
||||
vAAADrwBlbxySQAAAKRJREFUOE9jYBh0oHDW8//oYiSB3JnP/id03yPfkIwpT//P2//7f0LXHfIMSeh5
|
||||
8n/2vl//O7f+/e9Wepl0QyK7Hv2fsu3X/5Klf/8nTP/73yb3LGmGBDY//N+69j1Ys3HJl//S0df+G0cu
|
||||
I94Qj6r7/0vmvoNrVnTpIV4zCNiX3v0f2PKMPM0gYJF3579NwRXyNIOAYdZt8jWDgE7aDfI1D00AAKB+
|
||||
X6Bjq5qXAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
|
||||
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
|
||||
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
|
||||
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
|
||||
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
|
||||
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
|
||||
vAAADrwBlbxySQAAAStJREFUOE9jYBhUoHDW8//oYjAAkmta8Px/5sTHONUw5M589j+h+x5WBSC5VUfe
|
||||
/w9vf4BVHgwypjz9P2//7/8JXXcwFIHkFu778D+44RqGHBwk9Dz5P3vfr/+dW//+dyu9jKIQJDdty/v/
|
||||
/tUXcBsQ2fXo/5Rtv/6XLP37P2H63/82uWfhikFyvas//PcqPYHbgMDmh/9b174HazYu+fJfOvraf+PI
|
||||
ZWANILm6+e/+u+QfwG2AR9X9/yVz38E1K7r0wBWD5PKnvflvn7EdtwH2pXf/B7Y8w9AMk8ue/Pq/RcJ6
|
||||
3AZY5N35b1NwBUMzTC61/zXcS1iBYdZtrJpBACQX1vLyv27wPKzyYKCTdgOnJEjOr/rhfw3faTjV4AVO
|
||||
uVf+q3hMAGN0uYEFAL7Rv7NmXVYYAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="btAdd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
|
||||
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++
|
||||
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ
|
||||
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA
|
||||
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/
|
||||
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E
|
||||
rkJggg==
|
||||
vAAADrwBlbxySQAAAVdJREFUOE/Nz0tLAmEUBmB3kWRoCUVEISFUJGb1OywiKrDsIpZdkJAkDUvDQkij
|
||||
UKSbVIvatKhNi9oERRAGEQXhjJdp7Hd83/eGs2jhLGQ20QtndTgP71Gp/m0KZ1XInlTjM6XG+4EG5fuK
|
||||
yaTUIN8bIMUQ0gmtcuBtX/MLPMT0yoHnuA6kuA4iruI20lAZ+DiswWuyFum4Dk+7dbiP6kHEFVDBg+tQ
|
||||
My4DLbjwG3DqbcORxygHXxJakGIQRFwDEf0gwjKI4AYtzIHmHaA5Oxg/CsYPIb7YIQced+qluvTLCyIs
|
||||
gRYWQPNO0NwkWNYGxg+DcYNgGSu2Z0xy4C7SiJtwE66kuq049xlAs2Ng/AiS7nbszXci6jIh4jQjPGWR
|
||||
A+U59hiluowbQMzVVfmgPKU/GdcPxlmx5TArB6KzJunf0gTtPcqBzeluhCYsCIz3wm/rUw78WX4AJCPY
|
||||
nlwVm9EAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="btEdit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
@@ -189,106 +192,106 @@
|
||||
<data name="btDel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
|
||||
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC
|
||||
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV
|
||||
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG
|
||||
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG
|
||||
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX
|
||||
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII=
|
||||
vAAADrwBlbxySQAAAWtJREFUOE+1kE0ow2Ecx/9X5a2UiwtKOSCTmJBMhuQlMo3IvCUHDouEXHZwIOVC
|
||||
DrhIDiQl5USy07zNa2tKf2laaRf84/J8xBCetab4XL/f76fn+SnKX4DrGLqrwbHDzywkWJlHdJYjLEbY
|
||||
Wg8q4eYKlma+d1hbgF4TotWIaC+FuYmAktcXCksx2HrknBOHX1KbiTDngrXhW0kMdSBM2TA5Io+/wuI0
|
||||
oiz5TcRwB7hPYazfLx3rDz7+gCsXNBb4v1SdgajTQ19TaOMP2NtFmPSIilSo0v1y7FHBnAdZMWi6aO51
|
||||
kVCTGZoEzzWYciA/Dl9bBZwfvh3XmxIJy7PBJdx5odnAQ2E87qJUfPbtzwGjVpxJEWjH+4ElPD/BYBsY
|
||||
EjhKicW3sSoVb0vSUFsq0W6upUxhdxMtOxZnYhhqVz1oj3JJUZSdpCg0p0POmLKhJofjNqaDeikX3tFG
|
||||
uuHsQM65cML4ABzY5fA/eQGKIwMcVjm2bAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
vAAADrwBlbxySQAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo
|
||||
dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII=
|
||||
vAAADrwBlbxySQAAAERJREFUOE9jYKAG+Pbt239SMYYBDMFz4PjD+49wjCwGomMm7MM0hBQDkA0h2wAQ
|
||||
JtoAbIbR3gBi8KgBg9IAcjDcAEoAAPRDDFMGBb7pAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL/SURBVDhPY6AYFB9PNQfh/ENAvC/RPGtnjHnqlhjzxA0R
|
||||
5jGrg80jFvmZB8/1Mveb4Wru1e9gDtWGAEXH013r98dzxCPj+TBsD8b2IFxvz+HUYe0K1YYAeQeSXQuP
|
||||
hXAWH0tvAuHCQylNufuSmjJ3xTWlbIlpSlgX0RSzIqgpbJFfk890twV+093qPCY61EG1MzBk70lwTduU
|
||||
xlV4LG1R3oFU08wdCVap22LtUzZGOMWtDnaLXOrvFbzQ18d/pluAU6dNlUevo5dTu/U8qHYGhvStMa4x
|
||||
O2O4cw8kLc7YHm1bdCz1Rt7R9JsFB5Nv5eyOv52xM/pOyoawu7Hrwu5GLgx4GrzI507ALLfXPlPdTrtP
|
||||
cDzNkLA2wjVpgx9v1u74xalbolyA3viftjW6KnljRFf82rBpsatClkUtD9wUutB3T8AM14t+U12POXc7
|
||||
3Hfrs98IDJP/DDHLAl2jF3vwpW6NWpywJswr/2DK/9TNEXMS1oevjFkZsi1qWeCBkIXexwNne5zxmuh8
|
||||
273f7oJju+Ujx3arzdYNpv8ZQub5uvrPtxdIWBe6JHxJQBAwTP4nbQjfEbcy5BDQ/6dCFvhc8Jvpcdl7
|
||||
kuM113bbB/btllct600fWdYabTStMPjP4DvdzdVzgpNr+GLfHb5TXGvTtsX8j1oRdC1sod8tv5nud32n
|
||||
uz5w7Qdq7LJ5aNds/tC6xvS6aYXeQ5NyvfX6hVr/oUHJwBA032ue7wz3oMT14f/Dl/qeD5kHtHWG61X3
|
||||
iY7XnLtsb9i1mN+wrDW+Zlyme1U3X/WBXp7Gaq0sVYQBQJvmAeN3XvTywP++sz0fu01yeeLYZw/0q+Uj
|
||||
m0azh6blug+MSnUfaGdr3tfMULqnmaG8TDVFEWEADITM9/nvN8N9s9ckh02uXTYbgTavt6o3Xmdarr/a
|
||||
oEBrhXau2lL1NJVFKsnyCxXjZTENAKa0/54THf87d9n8t2u2+A909n+Tcv3/IP9qZ6v9V09T/q+cpPBf
|
||||
IU72v1y0FKYBdAYMDACTvk5keWFIqgAAAABJRU5ErkJggg==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL+SURBVDhPvZDrT1JhAMb5aLVan9u6qpk6L8vohFwOF98D
|
||||
IufI5QQIR0HkgJfU0JWupRa2UbQ0XAZmQUCaRqJ4S8sVuYVbtVVrkl1MtPrUH/E22rSmH9t6tt/H57c9
|
||||
D4Pxr2leoJEkjfM00vi0EqmdpRB6kkIqx7QIFVIh2gCBqO5IEcIDEGk3H9ncZzQtWEHHM0OK4W9866C/
|
||||
QZN0oCnCy2ywuc9oiFYBW4zc1hyz2pPY5s32+qcme83jCrt5krIbw1o7NaS0qwOEXebG7hJurF3i4rdv
|
||||
COrmjMAybtlui1kCDVGaWTNjLKSny1FzRCusCKmwsoFSqcqPy0r7MLnwCuec5JpAKnSwvRsC6xQFqFlq
|
||||
R33UFKx+pOc2xeilhhfWj6efV3069cTwuXpW/8U8pl4uD6uXy/zyH6qA7Iv8FvZT1ou9El8XvGIYR7TA
|
||||
NEbsrH1iCNKTuqLmmBVapvTnqiJap2FEfbP8ATmou68YP+nH5+Qe8I7oBTHRVf4K1oVGhJfZkEENKoA+
|
||||
KNlFT+mCxodqaeNzM6QntLeNo5phapic1g0qoqS/ZEHRL3ktdYk+i7t5bwUO1prAUTjBvsCEDNKLg1If
|
||||
utsYPnlPc0+urJszQtOYZqZimJwvGyh9Sd6VvSX6JO9LegRx4OAmUAdrkdXBXGO1HY0wW/MhA3djoPi6
|
||||
EGiC+Ax+A7RZpimoG1LG1X7iE9EnXsbdIAG6uQnUyVnldSKr7PPMD8zW3NVjLbmjebYsuHGm0if14h6x
|
||||
snJUAzUD+BvSK3lf4gGLYpcgLnJyl3iXkCVWW0G84GzOYk5jeiK34Ugoqzb9jwB3A6/Exffq7ysg3l/8
|
||||
Desp+i7oQteSezkXj68yW3ISR8/kJLLrMlcyqw99zaxOHUw3H/wjWA/pk0HCI56Q9vDHgZMT4V1CRgs7
|
||||
CsLMlrxQ/umsoez6wwMZlrRAWtV+/0HD3q0Cwo3BYpcAipwcyOs8AVltBfBYSx5M7s2uOwwzLKkw1XQA
|
||||
HqjYC/fp92wV/Pf8ApO+TmTbjy6aAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIwSURBVDhPpZL/SxNxHMbvPwoClVIsFrTKUtcmLY0WGChF
|
||||
SKESs3bThpqMigpL15TLXClrrcWoLLd0MjV1aUv6al9mX7Zbm9taWxnd091nh+6WP9ULHg7u/TwPbz68
|
||||
qf/G6PiI9lsBGKzvoR9YwMn+N9Ayrx6LYwl9o1Fd78jSYu+jCMyuMLofhkEl07+Qq3qa5sSMBMYd/Z7r
|
||||
pU57W2Dw6KAf0eKEq5H8rDM9g5iR0OP+Sub981fA+C/DPHsRFHIQDIcuza1ZYBoOk3k2lMUTQrYEw8EL
|
||||
PklBlUWhqmB2oaxLDnW3QuKnrONBsStDOJ6G5uzUSkGVpVSlpEu45uEmtI02o/zcDhIUGBgLZgrskyHY
|
||||
J4JwTgfx9ksCezsmSIG6r1SloLdz2nv12GMqR/GpAshbt2DQG4JV0Dj79wavP8VR0eqFitlZWUbLuUZn
|
||||
HWR0IVdE520z3l5EPLUM2yRLvHb+SwrIFvwGNl411gNQ9pSg+vo+HHUcxmZ6A7eRXr9V2KjN9gGx5DIc
|
||||
UyzuTGdEDT1hkUitvqzmaiX0bi2O2GtQTBdw+U2ZsEDL4DssffuJu77MBg9m+UNyzrDIlrpLCVl7IYr0
|
||||
ecg/vm4lLKC7sUAKhvigECYFN/mHyOZFIAaN0bvmHWivvUSUL3A9DROv288XCIFcbepw/xYzEhqY54gk
|
||||
foCNpfE5kkKATYLabfAgV7KG+3YxI+GYeX6sttOfrO2cQ/V5H/afWb2Xf4Si/gBgZCyDUckeSQAAAABJ
|
||||
RU5ErkJggg==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAItSURBVDhPpZL9T1JxGMXvf9TWpq501miLylIJXKQt2mzT
|
||||
1ZqrqWtYXDSm5li1apYSuptJ6YiIxipLSHG8pBJGrld7wV7g3kBAgrR1T/teSuHmT/XZzi/f55yzZ989
|
||||
FPW/6G0f0XkrBJ35PbRDczg5+AZq5tVjsY8wMB7T9I8tzPc/isLo4ND7kAOVyvyAWI00zYvDBMYZ+yb2
|
||||
UqfdbdC5NNCOqXHC0Sw8NhieQRwm9Dm/CvPB2StggpdhDFwEBRHEcOjSzJoFhlFOmOdCmVwR5IoYDl7w
|
||||
5xXUmGSKKmYXKnqkUPbK8vyU2RPOa+QSGajOTq4U1JjKFXK6jG8dbUHHeCsqz+0QgoShiXC2wOqLwOoN
|
||||
wz4VxtsvSezt8goFyoFyhYzezqvvNWKPoRKlp4ogbd+CYXcEZiIP+/cGrz8lUNXuhoLZWV1BS/lmewMk
|
||||
dDFfQhds09+eRyK9DIuPFbxW3+8CYQtvGBZvGHXmA5D3laH2+j4ctR3GZnoDv5Fev5Vs1GH5gHhqGbZJ
|
||||
FnemsqJGnrBIpld/VnW1GlqnGkesdSili/jClmyY0Db8DguLS7jrz27wIMCBsk+zyJWyRw5JZzFKtAUo
|
||||
PL5uJUzQ3JgTCkYCnBAWCm56sm1/eBGKQ6V3r3kH6msvEVtcguMpJ3idQQ4UCYi1qcv5UxwmNDHPEU1+
|
||||
BxvP4HM0jRCbArVb54JYkqb7VnGYcMw4O1HfHUzVd8+g9rwf+8+s3ss/8wtgZCyDeJGLXgAAAABJRU5E
|
||||
rkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJySURBVDhPpZFLTNNwHMd78O7NuwcvIhJFpjcOJiYmHjwZ
|
||||
Eg8mGi9gosGEgwcqMSBqguGhJkgwCvIWlCFhM2TBwDZAGLKKZWyzG2PSCXS062Nd16//jSpqYuLjm37T
|
||||
R/6f7+9R6r+1NFK8EBk+o0d/8croiVDwxeF9ob7ivT/5TfFel6t0j4VTlLfDpplmFoBJrpx3njNqAjFX
|
||||
eXrVc1775vjcVTXiqYywr46es3CKYoZKkqahQos1QA43QuaeQIkMwMwIJCsF05CIt3feM1vgeT7NDtoY
|
||||
C6eoQNcRMatvE7gFqWAzxA812JwpR2L2CgR/LYTFmxAWbmDLV0VcSTrjERg8Jlk4Cegv0TPKOgSmBVvz
|
||||
9eAnrkPhp0lV0aqeuye/d5Abz9dfpFp4roPjen7+rEasAIacBw2FhRZ/AIbphd3tRfs4h+7JNTh9UeT2
|
||||
ZuEkoMWWNg0FhuhFRnBA3xhAer0N6uo9+Bc7MDLHY+WzjE8bGqZDIsYWvmDYThsWTv5Cq03L6iL0TTvS
|
||||
fGe+qhqthRKuQp87jqWYhBlOgTssY4rYH9fQ85aDhVOU736RauoCgZ9CW2uEGqkhcCXkwKV828GEBnco
|
||||
hclgCuOshLmohs6J2G7A8p3CuJJkki5Xdza10g4p8BAS2wDpYx16yMxLazImAjtwzu9WNbSOLu8GsHUF
|
||||
19j6Q13M7YMJX32h+qNfD9HGdFDEPIE8nIpZUt3+XgJN06aj+uQFK+L3anJw+1udHN1PdtE7Fcdjpyub
|
||||
g/1jbfA2l4nPKwrKrKN/rpfVpy97Hl0Uwo4mjN4qla3Pf6dnFQfKxuhTivPu2d1d/Jso6iuYciOObRud
|
||||
LgAAAABJRU5ErkJggg==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJqSURBVDhPpZBNSBRhHMY9dO/WvUOXzKTMrZuHIAg6dAqh
|
||||
Q1B00aAw8NDBSUKzAsOPCkyM0vxOyzVxN2QxdHfVdM2dbFx3p9mvydl0Z53Z+djZmXli15o1IYp64OF9
|
||||
X16e3/+jqOh/tTpethweO6dF9nh94lQo+OrogdBg2f5f/K5sv8tVsc8CeLttqmkaAEzAzHnnnlUSiLmq
|
||||
MlHPRfWn2cXrSthTE6beHL9gAcjR8pSpK1BjzZDoFkjMM8jhYZhZHqaRhqmLMPXtnXc2CY7jMtSIjbQA
|
||||
gd5jgqFtQ6LbkQ62QfhUj635KiQWroH3N4BfuQ1++RaSvlokfTXIKhwCIyfEAmCoXMvKG+DJdiSXmsBN
|
||||
34TMzcHUhR/Vc2fK6iA3nm+oVNnVwUktP7+hAoYM6FI+qMsUVPYRSHIAdrcXXVMM+mbicPoiyO2tAGi3
|
||||
ZUxdhi54keUd0DaHkdnohBJ9AP9KN8YXOax/lfBlU8VcSMDk8jeM2QndAng7bKqhCdC27MhwPfmqSqQB
|
||||
Ml2LQTeL1ZiIeUaGm5YwS0vwsyr63zOwAL6HpYqp8chwz6HGW6CE6yHTNZACV/JtBxMq3KE0ZoJpTFEi
|
||||
FiMqeqZjBcDavRJWTpEpl6vPSK93QQw8hkg1Q/zciP6ZOFbjEqYDO+GcP0RVdEysFQBUY/ENqulIL3n3
|
||||
cMLXVKLs9ttRQp8LCliKqvAwChYiKuwfRRAEYTrqTl+yIL9Tq4M52OFkiCE3i4FZFk+dLiMX9k92wttW
|
||||
KbysLq7cm/mjXtedvep5cpmnHa2YuFMh7f3/K72oPlQ5SZyRnffPF3bxr/oOmHIjjpOS/7wAAAAASUVO
|
||||
RK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
|
||||
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
|
||||
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
|
||||
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
|
||||
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
|
||||
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
|
||||
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
|
||||
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
|
||||
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
|
||||
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
|
||||
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
|
||||
I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM
|
||||
cX79DFKrHHD5d9D26hvicx4pABt2lpg10zYzU0zr7+e3xXGcrkEB2O2TNec9nJFwB3alZn5jZorfeDZh
|
||||
6Q3g8s06BeCoKF4MRURoH1+BY2oNCbeb0TIclIYxOhzf8frTOuo7FxCbbVIAzpni0iceEc8vhzEwGkJD
|
||||
lx83ymxifejdKjRNk/8PWnyIyTQqAJek0jqHwfEVscu31baIu8+90sTE4nY025dQ2/5FIPpnXlzKuK8A
|
||||
HBUzHot52djqQ6HZhfR7IwK4mKpHtvEDMqvfCiQ6zaAAXM8x94aIWTNrLLG4kVUzgaTSPlzLtyJOZxbb
|
||||
1wtfyg4Q+AfA3aZlButjSfxGcUJBk4g5tuP3haQKRKXcUQDOmbvNTpPOJeFFjordZmbWTNvMTHFUcpUC
|
||||
nOccAdABIDXXE1nzAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton5.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==
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIFSURBVDhPpZLtS1NhGMbPPxJmmlYSgqHiKzGU1EDxg4iK
|
||||
YKyG2WBogqMYJQOtCEVRFBGdTBCJfRnkS4VaaWNT5sqx1BUxRXxDHYxAJLvkusEeBaPAB+5z4Jzn+t3X
|
||||
/aLhnEfjo8m+dCoa+7/C3O2Hqe0zDC+8KG+cRZHZhdzaaWTVTCLDMIY0vfM04Nfh77/G/sEhwpEDbO3t
|
||||
I7TxE8urEVy99fT/AL5gWDLrTB/hnF4XsW0khCu5ln8DmJliT2AXrcNBsU1gj/MH4nMeKwBrPktM28xM
|
||||
cX79DFKrHHD5d9D26hvicx4pABt2lpg10zYzU0zr7+e3xXGcrkEB2O2TNec9nJFwB3alZn5jZorfeDZh
|
||||
6Q3g8s06BeCoKF4MRURoH1+BY2oNCbeb0TIclIYxOhzf8frTOuo7FxCbbVIAzpni0iceEc8vhzEwGkJD
|
||||
lx83ymxifejdKjRNk/8PWnyIyTQqAJek0jqHwfEVscu31baIu8+90sTE4nY025dQ2/5FIPpnXlzKuK8A
|
||||
HBUzHot52djqQ6HZhfR7IwK4mKpHtvEDMqvfCiQ6zaAAXM8x94aIWTNrLLG4kVUzgaTSPlzLtyJOZxbb
|
||||
1wtfyg4Q+AfA3aZlButjSfxGcUJBk4g5tuP3haQKRKXcUQDOmbvNTpPOJeFFjordZmbWTNvMTHFUcpUC
|
||||
nOccAdABIDXXE1nzAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="cm.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>387, 17</value>
|
||||
<value>539, 17</value>
|
||||
</metadata>
|
||||
<data name="autoToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
@@ -330,214 +333,217 @@
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>186, 17</value>
|
||||
<value>404, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tam.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>248, 17</value>
|
||||
<value>466, 17</value>
|
||||
</metadata>
|
||||
<metadata name="fpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>83, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>455, 17</value>
|
||||
<value>607, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bsHistD.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>934, 17</value>
|
||||
<value>220, 56</value>
|
||||
</metadata>
|
||||
<metadata name="bsHist.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>561, 17</value>
|
||||
<value>713, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>731, 17</value>
|
||||
<value>17, 56</value>
|
||||
</metadata>
|
||||
<metadata name="taHist.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>647, 17</value>
|
||||
<value>799, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>828, 17</value>
|
||||
<value>114, 56</value>
|
||||
</metadata>
|
||||
<data name="chk검토.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPbS5NxHMbfv6DrubX3LQ0vMi+KUVQK6UWE
|
||||
SLgGHtI0c5mHtr07qCltE4bNtEgD52FJimiWpVY7OJOpczadU8rEZVNCzN10oNowOtjT+45JGhUEPfDw
|
||||
+158P8/vTPx3ZU8lRJ0aP6xOdxz0JZn2BpJMsQGhLcYntO5Wp1h2RYXbfq8cV7wo1bHfr3JkoMNrQO9i
|
||||
Z8jt8w0osqUgsZvyH+kmReH2rcpxHhIJRwTBuhktrMt9aH1+HbqZspDZ2rzci9qJC9hn4AcP3OBtDTk5
|
||||
FhcpsgtWWZhtrPBIUOougmKiACrGJYzLJ4thenkXl52l2GPgrMYayMgwThAZdoGGHk4LzczCLEi7zkI6
|
||||
ngep8wzkzjzYVyzQuGQwMyHZt48h+tp2TRgnCOGjWF+7twFGbz1KJwsheyxmwFzIxhg7cjHyygZW/uAK
|
||||
mp/WonWmFlQ1xxfGCeKoKXrt/tItVHoUULrymZX0Y/7dLOjRPAyvDITgb+tf0fzkCjSjhej1toPUblsL
|
||||
4wSReI9a61vsgtZNo9KtxIfP70PQ20+vQyMLG6arIbdlQm0/hz5vG8iKzQFdlO/mbD1a5q5CNSaGfrIc
|
||||
wS8fQ/D693UYpi5BYk2Dgglo9FShxaUHpdq0hbgOUiPuT4Zp6Q7KR8WQ23NQNV6ChTdzaJ6uwXlLKqTm
|
||||
dKisWTC96MJxYwLIMu7PQxS0kpHs1egdCjzwdaNs6DSUg1mgBzIgM7Nm4Uw8XOiEdqAQJM1ZJelN18gq
|
||||
po4n2qHlBXV2CcxMSJNHD/VQPi4OitHEbMHEwGprPvgF3CAp/+UhbWhnDU9EaSP8J9oS0eLWo+eZET2z
|
||||
RhhcOiQ3xiOiOMJPSv8Ab4iv40eRGq6aquD4SCU3QNLcACVhapqr5kv4f/9M/y6C+AFrq7EfCv24YgAA
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPdS5NRHMf9C7qeW3ue0vAi86IYRaWQXkSI
|
||||
hGvgS5pmLpvZtmcvakrbhKEzLdLA+bIkRbSVplabcyZT52xzTikTlz2KiLmbXqg2jF7sG88DLhXqIvrA
|
||||
D87F7/M9nPM7JyLif5MzlRh9buK4JsN5lE62HAwmW+KCQnssLbTt16QO7Ive2b+NXHeCKM15OKB2ZqLD
|
||||
b0TvYidb7fMNuGxPRZKZDJwwE6KdHkuu65hIOCoI1c3oYFvpQ+ur29DPlLLFrK0rvaj1XMUhIz905A5v
|
||||
e8jZ8fgokUOwxshMY7lPihLvZSg9Eqg9EhR7JCibLIJluQfXXSU4YOSsxRmJqHBApkOgpUbS2Z0ZmREp
|
||||
90XIJvIhc12AwpUPx+oAtG45rMs9yLl/CjG3dmvDAcKncXS7vwEmfz1KJgshfyaGzJUH+Xge5M48jL6x
|
||||
gyEQWkXzi1q0ztSCrObQ4YCTlpj1R0v3UOFTQuUugG2lH/MfZkGN5WNkdZCVf2x8R/PzG9COFaLX3w5C
|
||||
t2s9HJD0kFzvW+yCzkuhwqvCp68fWen9l7dh2ThdDYU9CxrHJfT520CUbw3oIum7s/VombsJ9bgYhsky
|
||||
hL59ZuWNnxswTlVBakuH0p6FRl8lWtwGkOotR4jvILTi/hRYlh6gbEwMhSMXlRPFWHg3h+bpGlwZSIPM
|
||||
mgG1LRuW1104bUoEUcr9fYmCViKKGY3BqcRj2ozS4fNQDWWDGsyE3MoUI2fhyUIndIOFICjOGkFtGSND
|
||||
bB1PtEfHC+kdUlhpM5p8BmiGC3BtSIymqSpYFjqhsRWAL+GGCMWOh7TJ3hqeiNRFBs60JaHFa0D3SxO6
|
||||
Z00wuvVIaUxAZFFkgJD9Qd6Er+dHE1quhizn0ISKGyQobpCUcmiC4mr4Uv7fP9O/8Atrq7EfLhq0jAAA
|
||||
AABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="chk대기.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPbS5NxHMbfv6DrubX3LQ0vMi+KUVQK6UWE
|
||||
SLgGHtI0c5mHtr07qCltE4bNtEgD52FJimiWpVY7OJOpczadU8rEZVNCzN10oNowOtjT+45JGhUEPfDw
|
||||
+158P8/vTPx3ZU8lRJ0aP6xOdxz0JZn2BpJMsQGhLcYntO5Wp1h2RYXbfq8cV7wo1bHfr3JkoMNrQO9i
|
||||
Z8jt8w0osqUgsZvyH+kmReH2rcpxHhIJRwTBuhktrMt9aH1+HbqZspDZ2rzci9qJC9hn4AcP3OBtDTk5
|
||||
FhcpsgtWWZhtrPBIUOougmKiACrGJYzLJ4thenkXl52l2GPgrMYayMgwThAZdoGGHk4LzczCLEi7zkI6
|
||||
ngep8wzkzjzYVyzQuGQwMyHZt48h+tp2TRgnCOGjWF+7twFGbz1KJwsheyxmwFzIxhg7cjHyygZW/uAK
|
||||
mp/WonWmFlQ1xxfGCeKoKXrt/tItVHoUULrymZX0Y/7dLOjRPAyvDITgb+tf0fzkCjSjhej1toPUblsL
|
||||
4wSReI9a61vsgtZNo9KtxIfP70PQ20+vQyMLG6arIbdlQm0/hz5vG8iKzQFdlO/mbD1a5q5CNSaGfrIc
|
||||
wS8fQ/D693UYpi5BYk2Dgglo9FShxaUHpdq0hbgOUiPuT4Zp6Q7KR8WQ23NQNV6ChTdzaJ6uwXlLKqTm
|
||||
dKisWTC96MJxYwLIMu7PQxS0kpHs1egdCjzwdaNs6DSUg1mgBzIgM7Nm4Uw8XOiEdqAQJM1ZJelN18gq
|
||||
po4n2qHlBXV2CcxMSJNHD/VQPi4OitHEbMHEwGprPvgF3CAp/+UhbWhnDU9EaSP8J9oS0eLWo+eZET2z
|
||||
RhhcOiQ3xiOiOMJPSv8Ab4iv40eRGq6aquD4SCU3QNLcACVhapqr5kv4f/9M/y6C+AFrq7EfCv24YgAA
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPdS5NRHMf9C7qeW3ue0vAi86IYRaWQXkSI
|
||||
hGvgS5pmLpvZtmcvakrbhKEzLdLA+bIkRbSVplabcyZT52xzTikTlz2KiLmbXqg2jF7sG88DLhXqIvrA
|
||||
D87F7/M9nPM7JyLif5MzlRh9buK4JsN5lE62HAwmW+KCQnssLbTt16QO7Ive2b+NXHeCKM15OKB2ZqLD
|
||||
b0TvYidb7fMNuGxPRZKZDJwwE6KdHkuu65hIOCoI1c3oYFvpQ+ur29DPlLLFrK0rvaj1XMUhIz905A5v
|
||||
e8jZ8fgokUOwxshMY7lPihLvZSg9Eqg9EhR7JCibLIJluQfXXSU4YOSsxRmJqHBApkOgpUbS2Z0ZmREp
|
||||
90XIJvIhc12AwpUPx+oAtG45rMs9yLl/CjG3dmvDAcKncXS7vwEmfz1KJgshfyaGzJUH+Xge5M48jL6x
|
||||
gyEQWkXzi1q0ztSCrObQ4YCTlpj1R0v3UOFTQuUugG2lH/MfZkGN5WNkdZCVf2x8R/PzG9COFaLX3w5C
|
||||
t2s9HJD0kFzvW+yCzkuhwqvCp68fWen9l7dh2ThdDYU9CxrHJfT520CUbw3oIum7s/VombsJ9bgYhsky
|
||||
hL59ZuWNnxswTlVBakuH0p6FRl8lWtwGkOotR4jvILTi/hRYlh6gbEwMhSMXlRPFWHg3h+bpGlwZSIPM
|
||||
mgG1LRuW1104bUoEUcr9fYmCViKKGY3BqcRj2ozS4fNQDWWDGsyE3MoUI2fhyUIndIOFICjOGkFtGSND
|
||||
bB1PtEfHC+kdUlhpM5p8BmiGC3BtSIymqSpYFjqhsRWAL+GGCMWOh7TJ3hqeiNRFBs60JaHFa0D3SxO6
|
||||
Z00wuvVIaUxAZFFkgJD9Qd6Er+dHE1quhizn0ISKGyQobpCUcmiC4mr4Uv7fP9O/8Atrq7EfLhq0jAAA
|
||||
AABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="chk진행.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPbS5NxHMbfv6DrubX3LQ0vMi+KUVQK6UWE
|
||||
SLgGHtI0c5mHtr07qCltE4bNtEgD52FJimiWpVY7OJOpczadU8rEZVNCzN10oNowOtjT+45JGhUEPfDw
|
||||
+158P8/vTPx3ZU8lRJ0aP6xOdxz0JZn2BpJMsQGhLcYntO5Wp1h2RYXbfq8cV7wo1bHfr3JkoMNrQO9i
|
||||
Z8jt8w0osqUgsZvyH+kmReH2rcpxHhIJRwTBuhktrMt9aH1+HbqZspDZ2rzci9qJC9hn4AcP3OBtDTk5
|
||||
FhcpsgtWWZhtrPBIUOougmKiACrGJYzLJ4thenkXl52l2GPgrMYayMgwThAZdoGGHk4LzczCLEi7zkI6
|
||||
ngep8wzkzjzYVyzQuGQwMyHZt48h+tp2TRgnCOGjWF+7twFGbz1KJwsheyxmwFzIxhg7cjHyygZW/uAK
|
||||
mp/WonWmFlQ1xxfGCeKoKXrt/tItVHoUULrymZX0Y/7dLOjRPAyvDITgb+tf0fzkCjSjhej1toPUblsL
|
||||
4wSReI9a61vsgtZNo9KtxIfP70PQ20+vQyMLG6arIbdlQm0/hz5vG8iKzQFdlO/mbD1a5q5CNSaGfrIc
|
||||
wS8fQ/D693UYpi5BYk2Dgglo9FShxaUHpdq0hbgOUiPuT4Zp6Q7KR8WQ23NQNV6ChTdzaJ6uwXlLKqTm
|
||||
dKisWTC96MJxYwLIMu7PQxS0kpHs1egdCjzwdaNs6DSUg1mgBzIgM7Nm4Uw8XOiEdqAQJM1ZJelN18gq
|
||||
po4n2qHlBXV2CcxMSJNHD/VQPi4OitHEbMHEwGprPvgF3CAp/+UhbWhnDU9EaSP8J9oS0eLWo+eZET2z
|
||||
RhhcOiQ3xiOiOMJPSv8Ab4iv40eRGq6aquD4SCU3QNLcACVhapqr5kv4f/9M/y6C+AFrq7EfCv24YgAA
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPdS5NRHMf9C7qeW3ue0vAi86IYRaWQXkSI
|
||||
hGvgS5pmLpvZtmcvakrbhKEzLdLA+bIkRbSVplabcyZT52xzTikTlz2KiLmbXqg2jF7sG88DLhXqIvrA
|
||||
D87F7/M9nPM7JyLif5MzlRh9buK4JsN5lE62HAwmW+KCQnssLbTt16QO7Ive2b+NXHeCKM15OKB2ZqLD
|
||||
b0TvYidb7fMNuGxPRZKZDJwwE6KdHkuu65hIOCoI1c3oYFvpQ+ur29DPlLLFrK0rvaj1XMUhIz905A5v
|
||||
e8jZ8fgokUOwxshMY7lPihLvZSg9Eqg9EhR7JCibLIJluQfXXSU4YOSsxRmJqHBApkOgpUbS2Z0ZmREp
|
||||
90XIJvIhc12AwpUPx+oAtG45rMs9yLl/CjG3dmvDAcKncXS7vwEmfz1KJgshfyaGzJUH+Xge5M48jL6x
|
||||
gyEQWkXzi1q0ztSCrObQ4YCTlpj1R0v3UOFTQuUugG2lH/MfZkGN5WNkdZCVf2x8R/PzG9COFaLX3w5C
|
||||
t2s9HJD0kFzvW+yCzkuhwqvCp68fWen9l7dh2ThdDYU9CxrHJfT520CUbw3oIum7s/VombsJ9bgYhsky
|
||||
hL59ZuWNnxswTlVBakuH0p6FRl8lWtwGkOotR4jvILTi/hRYlh6gbEwMhSMXlRPFWHg3h+bpGlwZSIPM
|
||||
mgG1LRuW1104bUoEUcr9fYmCViKKGY3BqcRj2ozS4fNQDWWDGsyE3MoUI2fhyUIndIOFICjOGkFtGSND
|
||||
bB1PtEfHC+kdUlhpM5p8BmiGC3BtSIymqSpYFjqhsRWAL+GGCMWOh7TJ3hqeiNRFBs60JaHFa0D3SxO6
|
||||
Z00wuvVIaUxAZFFkgJD9Qd6Er+dHE1quhizn0ISKGyQobpCUcmiC4mr4Uv7fP9O/8Atrq7EfLhq0jAAA
|
||||
AABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="chk보류.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPbS5NxHMbfv6DrubX3LQ0vMi+KUVQK6UWE
|
||||
SLgGHtI0c5mHtr07qCltE4bNtEgD52FJimiWpVY7OJOpczadU8rEZVNCzN10oNowOtjT+45JGhUEPfDw
|
||||
+158P8/vTPx3ZU8lRJ0aP6xOdxz0JZn2BpJMsQGhLcYntO5Wp1h2RYXbfq8cV7wo1bHfr3JkoMNrQO9i
|
||||
Z8jt8w0osqUgsZvyH+kmReH2rcpxHhIJRwTBuhktrMt9aH1+HbqZspDZ2rzci9qJC9hn4AcP3OBtDTk5
|
||||
FhcpsgtWWZhtrPBIUOougmKiACrGJYzLJ4thenkXl52l2GPgrMYayMgwThAZdoGGHk4LzczCLEi7zkI6
|
||||
ngep8wzkzjzYVyzQuGQwMyHZt48h+tp2TRgnCOGjWF+7twFGbz1KJwsheyxmwFzIxhg7cjHyygZW/uAK
|
||||
mp/WonWmFlQ1xxfGCeKoKXrt/tItVHoUULrymZX0Y/7dLOjRPAyvDITgb+tf0fzkCjSjhej1toPUblsL
|
||||
4wSReI9a61vsgtZNo9KtxIfP70PQ20+vQyMLG6arIbdlQm0/hz5vG8iKzQFdlO/mbD1a5q5CNSaGfrIc
|
||||
wS8fQ/D693UYpi5BYk2Dgglo9FShxaUHpdq0hbgOUiPuT4Zp6Q7KR8WQ23NQNV6ChTdzaJ6uwXlLKqTm
|
||||
dKisWTC96MJxYwLIMu7PQxS0kpHs1egdCjzwdaNs6DSUg1mgBzIgM7Nm4Uw8XOiEdqAQJM1ZJelN18gq
|
||||
po4n2qHlBXV2CcxMSJNHD/VQPi4OitHEbMHEwGprPvgF3CAp/+UhbWhnDU9EaSP8J9oS0eLWo+eZET2z
|
||||
RhhcOiQ3xiOiOMJPSv8Ab4iv40eRGq6aquD4SCU3QNLcACVhapqr5kv4f/9M/y6C+AFrq7EfCv24YgAA
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPdS5NRHMf9C7qeW3ue0vAi86IYRaWQXkSI
|
||||
hGvgS5pmLpvZtmcvakrbhKEzLdLA+bIkRbSVplabcyZT52xzTikTlz2KiLmbXqg2jF7sG88DLhXqIvrA
|
||||
D87F7/M9nPM7JyLif5MzlRh9buK4JsN5lE62HAwmW+KCQnssLbTt16QO7Ive2b+NXHeCKM15OKB2ZqLD
|
||||
b0TvYidb7fMNuGxPRZKZDJwwE6KdHkuu65hIOCoI1c3oYFvpQ+ur29DPlLLFrK0rvaj1XMUhIz905A5v
|
||||
e8jZ8fgokUOwxshMY7lPihLvZSg9Eqg9EhR7JCibLIJluQfXXSU4YOSsxRmJqHBApkOgpUbS2Z0ZmREp
|
||||
90XIJvIhc12AwpUPx+oAtG45rMs9yLl/CjG3dmvDAcKncXS7vwEmfz1KJgshfyaGzJUH+Xge5M48jL6x
|
||||
gyEQWkXzi1q0ztSCrObQ4YCTlpj1R0v3UOFTQuUugG2lH/MfZkGN5WNkdZCVf2x8R/PzG9COFaLX3w5C
|
||||
t2s9HJD0kFzvW+yCzkuhwqvCp68fWen9l7dh2ThdDYU9CxrHJfT520CUbw3oIum7s/VombsJ9bgYhsky
|
||||
hL59ZuWNnxswTlVBakuH0p6FRl8lWtwGkOotR4jvILTi/hRYlh6gbEwMhSMXlRPFWHg3h+bpGlwZSIPM
|
||||
mgG1LRuW1104bUoEUcr9fYmCViKKGY3BqcRj2ozS4fNQDWWDGsyE3MoUI2fhyUIndIOFICjOGkFtGSND
|
||||
bB1PtEfHC+kdUlhpM5p8BmiGC3BtSIymqSpYFjqhsRWAL+GGCMWOh7TJ3hqeiNRFBs60JaHFa0D3SxO6
|
||||
Z00wuvVIaUxAZFFkgJD9Qd6Er+dHE1quhizn0ISKGyQobpCUcmiC4mr4Uv7fP9O/8Atrq7EfLhq0jAAA
|
||||
AABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="chk취소.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPbS5NxHMbfv6DrubX3LQ0vMi+KUVQK6UWE
|
||||
SLgGHtI0c5mHtr07qCltE4bNtEgD52FJimiWpVY7OJOpczadU8rEZVNCzN10oNowOtjT+45JGhUEPfDw
|
||||
+158P8/vTPx3ZU8lRJ0aP6xOdxz0JZn2BpJMsQGhLcYntO5Wp1h2RYXbfq8cV7wo1bHfr3JkoMNrQO9i
|
||||
Z8jt8w0osqUgsZvyH+kmReH2rcpxHhIJRwTBuhktrMt9aH1+HbqZspDZ2rzci9qJC9hn4AcP3OBtDTk5
|
||||
FhcpsgtWWZhtrPBIUOougmKiACrGJYzLJ4thenkXl52l2GPgrMYayMgwThAZdoGGHk4LzczCLEi7zkI6
|
||||
ngep8wzkzjzYVyzQuGQwMyHZt48h+tp2TRgnCOGjWF+7twFGbz1KJwsheyxmwFzIxhg7cjHyygZW/uAK
|
||||
mp/WonWmFlQ1xxfGCeKoKXrt/tItVHoUULrymZX0Y/7dLOjRPAyvDITgb+tf0fzkCjSjhej1toPUblsL
|
||||
4wSReI9a61vsgtZNo9KtxIfP70PQ20+vQyMLG6arIbdlQm0/hz5vG8iKzQFdlO/mbD1a5q5CNSaGfrIc
|
||||
wS8fQ/D693UYpi5BYk2Dgglo9FShxaUHpdq0hbgOUiPuT4Zp6Q7KR8WQ23NQNV6ChTdzaJ6uwXlLKqTm
|
||||
dKisWTC96MJxYwLIMu7PQxS0kpHs1egdCjzwdaNs6DSUg1mgBzIgM7Nm4Uw8XOiEdqAQJM1ZJelN18gq
|
||||
po4n2qHlBXV2CcxMSJNHD/VQPi4OitHEbMHEwGprPvgF3CAp/+UhbWhnDU9EaSP8J9oS0eLWo+eZET2z
|
||||
RhhcOiQ3xiOiOMJPSv8Ab4iv40eRGq6aquD4SCU3QNLcACVhapqr5kv4f/9M/y6C+AFrq7EfCv24YgAA
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPdS5NRHMf9C7qeW3ue0vAi86IYRaWQXkSI
|
||||
hGvgS5pmLpvZtmcvakrbhKEzLdLA+bIkRbSVplabcyZT52xzTikTlz2KiLmbXqg2jF7sG88DLhXqIvrA
|
||||
D87F7/M9nPM7JyLif5MzlRh9buK4JsN5lE62HAwmW+KCQnssLbTt16QO7Ive2b+NXHeCKM15OKB2ZqLD
|
||||
b0TvYidb7fMNuGxPRZKZDJwwE6KdHkuu65hIOCoI1c3oYFvpQ+ur29DPlLLFrK0rvaj1XMUhIz905A5v
|
||||
e8jZ8fgokUOwxshMY7lPihLvZSg9Eqg9EhR7JCibLIJluQfXXSU4YOSsxRmJqHBApkOgpUbS2Z0ZmREp
|
||||
90XIJvIhc12AwpUPx+oAtG45rMs9yLl/CjG3dmvDAcKncXS7vwEmfz1KJgshfyaGzJUH+Xge5M48jL6x
|
||||
gyEQWkXzi1q0ztSCrObQ4YCTlpj1R0v3UOFTQuUugG2lH/MfZkGN5WNkdZCVf2x8R/PzG9COFaLX3w5C
|
||||
t2s9HJD0kFzvW+yCzkuhwqvCp68fWen9l7dh2ThdDYU9CxrHJfT520CUbw3oIum7s/VombsJ9bgYhsky
|
||||
hL59ZuWNnxswTlVBakuH0p6FRl8lWtwGkOotR4jvILTi/hRYlh6gbEwMhSMXlRPFWHg3h+bpGlwZSIPM
|
||||
mgG1LRuW1104bUoEUcr9fYmCViKKGY3BqcRj2ozS4fNQDWWDGsyE3MoUI2fhyUIndIOFICjOGkFtGSND
|
||||
bB1PtEfHC+kdUlhpM5p8BmiGC3BtSIymqSpYFjqhsRWAL+GGCMWOh7TJ3hqeiNRFBs60JaHFa0D3SxO6
|
||||
Z00wuvVIaUxAZFFkgJD9Qd6Er+dHE1quhizn0ISKGyQobpCUcmiC4mr4Uv7fP9O/8Atrq7EfLhq0jAAA
|
||||
AABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="chk완료.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPbS5NxHMbfv6DrubX3LQ0vMi+KUVQK6UWE
|
||||
SLgGHtI0c5mHtr07qCltE4bNtEgD52FJimiWpVY7OJOpczadU8rEZVNCzN10oNowOtjT+45JGhUEPfDw
|
||||
+158P8/vTPx3ZU8lRJ0aP6xOdxz0JZn2BpJMsQGhLcYntO5Wp1h2RYXbfq8cV7wo1bHfr3JkoMNrQO9i
|
||||
Z8jt8w0osqUgsZvyH+kmReH2rcpxHhIJRwTBuhktrMt9aH1+HbqZspDZ2rzci9qJC9hn4AcP3OBtDTk5
|
||||
FhcpsgtWWZhtrPBIUOougmKiACrGJYzLJ4thenkXl52l2GPgrMYayMgwThAZdoGGHk4LzczCLEi7zkI6
|
||||
ngep8wzkzjzYVyzQuGQwMyHZt48h+tp2TRgnCOGjWF+7twFGbz1KJwsheyxmwFzIxhg7cjHyygZW/uAK
|
||||
mp/WonWmFlQ1xxfGCeKoKXrt/tItVHoUULrymZX0Y/7dLOjRPAyvDITgb+tf0fzkCjSjhej1toPUblsL
|
||||
4wSReI9a61vsgtZNo9KtxIfP70PQ20+vQyMLG6arIbdlQm0/hz5vG8iKzQFdlO/mbD1a5q5CNSaGfrIc
|
||||
wS8fQ/D693UYpi5BYk2Dgglo9FShxaUHpdq0hbgOUiPuT4Zp6Q7KR8WQ23NQNV6ChTdzaJ6uwXlLKqTm
|
||||
dKisWTC96MJxYwLIMu7PQxS0kpHs1egdCjzwdaNs6DSUg1mgBzIgM7Nm4Uw8XOiEdqAQJM1ZJelN18gq
|
||||
po4n2qHlBXV2CcxMSJNHD/VQPi4OitHEbMHEwGprPvgF3CAp/+UhbWhnDU9EaSP8J9oS0eLWo+eZET2z
|
||||
RhhcOiQ3xiOiOMJPSv8Ab4iv40eRGq6aquD4SCU3QNLcACVhapqr5kv4f/9M/y6C+AFrq7EfCv24YgAA
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPdS5NRHMf9C7qeW3ue0vAi86IYRaWQXkSI
|
||||
hGvgS5pmLpvZtmcvakrbhKEzLdLA+bIkRbSVplabcyZT52xzTikTlz2KiLmbXqg2jF7sG88DLhXqIvrA
|
||||
D87F7/M9nPM7JyLif5MzlRh9buK4JsN5lE62HAwmW+KCQnssLbTt16QO7Ive2b+NXHeCKM15OKB2ZqLD
|
||||
b0TvYidb7fMNuGxPRZKZDJwwE6KdHkuu65hIOCoI1c3oYFvpQ+ur29DPlLLFrK0rvaj1XMUhIz905A5v
|
||||
e8jZ8fgokUOwxshMY7lPihLvZSg9Eqg9EhR7JCibLIJluQfXXSU4YOSsxRmJqHBApkOgpUbS2Z0ZmREp
|
||||
90XIJvIhc12AwpUPx+oAtG45rMs9yLl/CjG3dmvDAcKncXS7vwEmfz1KJgshfyaGzJUH+Xge5M48jL6x
|
||||
gyEQWkXzi1q0ztSCrObQ4YCTlpj1R0v3UOFTQuUugG2lH/MfZkGN5WNkdZCVf2x8R/PzG9COFaLX3w5C
|
||||
t2s9HJD0kFzvW+yCzkuhwqvCp68fWen9l7dh2ThdDYU9CxrHJfT520CUbw3oIum7s/VombsJ9bgYhsky
|
||||
hL59ZuWNnxswTlVBakuH0p6FRl8lWtwGkOotR4jvILTi/hRYlh6gbEwMhSMXlRPFWHg3h+bpGlwZSIPM
|
||||
mgG1LRuW1104bUoEUcr9fYmCViKKGY3BqcRj2ozS4fNQDWWDGsyE3MoUI2fhyUIndIOFICjOGkFtGSND
|
||||
bB1PtEfHC+kdUlhpM5p8BmiGC3BtSIymqSpYFjqhsRWAL+GGCMWOh7TJ3hqeiNRFBs60JaHFa0D3SxO6
|
||||
Z00wuvVIaUxAZFFkgJD9Qd6Er+dHE1quhizn0ISKGyQobpCUcmiC4mr4Uv7fP9O/8Atrq7EfLhq0jAAA
|
||||
AABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="chk완료보고.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPbS5NxHMbfv6DrubX3LQ0vMi+KUVQK6UWE
|
||||
SLgGHtI0c5mHtr07qCltE4bNtEgD52FJimiWpVY7OJOpczadU8rEZVNCzN10oNowOtjT+45JGhUEPfDw
|
||||
+158P8/vTPx3ZU8lRJ0aP6xOdxz0JZn2BpJMsQGhLcYntO5Wp1h2RYXbfq8cV7wo1bHfr3JkoMNrQO9i
|
||||
Z8jt8w0osqUgsZvyH+kmReH2rcpxHhIJRwTBuhktrMt9aH1+HbqZspDZ2rzci9qJC9hn4AcP3OBtDTk5
|
||||
FhcpsgtWWZhtrPBIUOougmKiACrGJYzLJ4thenkXl52l2GPgrMYayMgwThAZdoGGHk4LzczCLEi7zkI6
|
||||
ngep8wzkzjzYVyzQuGQwMyHZt48h+tp2TRgnCOGjWF+7twFGbz1KJwsheyxmwFzIxhg7cjHyygZW/uAK
|
||||
mp/WonWmFlQ1xxfGCeKoKXrt/tItVHoUULrymZX0Y/7dLOjRPAyvDITgb+tf0fzkCjSjhej1toPUblsL
|
||||
4wSReI9a61vsgtZNo9KtxIfP70PQ20+vQyMLG6arIbdlQm0/hz5vG8iKzQFdlO/mbD1a5q5CNSaGfrIc
|
||||
wS8fQ/D693UYpi5BYk2Dgglo9FShxaUHpdq0hbgOUiPuT4Zp6Q7KR8WQ23NQNV6ChTdzaJ6uwXlLKqTm
|
||||
dKisWTC96MJxYwLIMu7PQxS0kpHs1egdCjzwdaNs6DSUg1mgBzIgM7Nm4Uw8XOiEdqAQJM1ZJelN18gq
|
||||
po4n2qHlBXV2CcxMSJNHD/VQPi4OitHEbMHEwGprPvgF3CAp/+UhbWhnDU9EaSP8J9oS0eLWo+eZET2z
|
||||
RhhcOiQ3xiOiOMJPSv8Ab4iv40eRGq6aquD4SCU3QNLcACVhapqr5kv4f/9M/y6C+AFrq7EfCv24YgAA
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAKrSURBVDhPrZPdS5NRHMf9C7qeW3ue0vAi86IYRaWQXkSI
|
||||
hGvgS5pmLpvZtmcvakrbhKEzLdLA+bIkRbSVplabcyZT52xzTikTlz2KiLmbXqg2jF7sG88DLhXqIvrA
|
||||
D87F7/M9nPM7JyLif5MzlRh9buK4JsN5lE62HAwmW+KCQnssLbTt16QO7Ive2b+NXHeCKM15OKB2ZqLD
|
||||
b0TvYidb7fMNuGxPRZKZDJwwE6KdHkuu65hIOCoI1c3oYFvpQ+ur29DPlLLFrK0rvaj1XMUhIz905A5v
|
||||
e8jZ8fgokUOwxshMY7lPihLvZSg9Eqg9EhR7JCibLIJluQfXXSU4YOSsxRmJqHBApkOgpUbS2Z0ZmREp
|
||||
90XIJvIhc12AwpUPx+oAtG45rMs9yLl/CjG3dmvDAcKncXS7vwEmfz1KJgshfyaGzJUH+Xge5M48jL6x
|
||||
gyEQWkXzi1q0ztSCrObQ4YCTlpj1R0v3UOFTQuUugG2lH/MfZkGN5WNkdZCVf2x8R/PzG9COFaLX3w5C
|
||||
t2s9HJD0kFzvW+yCzkuhwqvCp68fWen9l7dh2ThdDYU9CxrHJfT520CUbw3oIum7s/VombsJ9bgYhsky
|
||||
hL59ZuWNnxswTlVBakuH0p6FRl8lWtwGkOotR4jvILTi/hRYlh6gbEwMhSMXlRPFWHg3h+bpGlwZSIPM
|
||||
mgG1LRuW1104bUoEUcr9fYmCViKKGY3BqcRj2ozS4fNQDWWDGsyE3MoUI2fhyUIndIOFICjOGkFtGSND
|
||||
bB1PtEfHC+kdUlhpM5p8BmiGC3BtSIymqSpYFjqhsRWAL+GGCMWOh7TJ3hqeiNRFBs60JaHFa0D3SxO6
|
||||
Z00wuvVIaUxAZFFkgJD9Qd6Er+dHE1quhizn0ISKGyQobpCUcmiC4mr4Uv7fP9O/8Atrq7EfLhq0jAAA
|
||||
AABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btViewDel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADuSURBVDhPY6AK+E8mgGqHGPB5/rz/X6ZP//+pq/P/5+pq
|
||||
CM7N/f85Ofn/58jI/58DA/9HmknCMYYBIM1/X736//vBg/9/nj79//Py5f8/z50DGwzDJ4K8/28sc8Vu
|
||||
AMhmkGawjbGxEFuhNoOxjw/cgARrGUwDQE4G2YqiOTQUxYDZriZ4DAD69+umTTg1EzYA5HSQX9E1YzEA
|
||||
axiAnA4KSGwa0Q0IMZbAYgDQVlBAvgZ6BRfu1pfFbcBLU9P/95WV/9+Qlv5/ko8PjnewscExyOk4DSAG
|
||||
4DSAGEBVAzBigRgAMwCGyTIAHTAwMDAAABYIANCNo26UAAAAAElFTkSuQmCC
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADuSURBVDhPY2CgBvhPJkAx4PP8ef+/TJ/+/1NX5//P1dUQ
|
||||
nJv7/3Ny8v/PkZH/PwcG/o80k4RjDANAmv++evX/94MH//88ffr/5+XL/3+eOwc2GIZPBHn/31jmit0A
|
||||
kM0gzWAbY2MhtkJtBmMfH7gBCdYymAaAnAyyFUVzaCiKAbNdTfAYkJv7/+umTTg1EzYA5HSQX9E1YzEA
|
||||
axiAnA4KSGwa0Q0IMZbAYkBoKDggX+fm4sTd+rK4DXhpavr/vrLy/xvS0v9P8vHB8Q42NjgGOR2nAcQA
|
||||
nAYQA6hqAEYsEANgBmDNC8QAWDggA5A4ABYIANBlPZqZAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="btSearch.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAABEpJREFUSEut
|
||||
V+tPW2UYb7xE/wQvMZmZbs7v6hK/+M24EKfMpoiWy+hYUTZxso3aoWepwfXCoKYNqw500hVQ0Mgc98Kq
|
||||
bSllA3YxM2SUgq7MGwV0fpv1/R19Tt8eXuua8uHXnvPcfue9PM/7vJpnawpyglb72Z3PH/rqgV31g08V
|
||||
1g89vdM8+NAz0thdIttsEArV0EkjW8obI/bqlov+N9uuLtR555elnsRfR3sSqUOfXvuz2DK6Q+SXDUIh
|
||||
oUga21ThnOwwnY79ZutLpuz9K+vw3pc/pV6xjBSI/LNBKARKbeHa2lOzP9r7xYQENXGZPeSvOfldXI0S
|
||||
W3DxpXcGdpJdBhmANdztiHik7sRNngAjNncsrO7zXA5XuWY6Kp3nP9rjnGitdEZ7tZL/SfKvPnFpkPcD
|
||||
TL74Db0jpOd5lAcCSBt6f7lFTra+ldTh9mvXdx+PenQNI1vU9mqsJ06myhzjvWq7jBdMLz9S69nl1F7X
|
||||
hYDeHniYt8sG0Yjf7b5+s9Qa2s/bKQ/YSP+saZrU0Bz94rl9fffwDv8HIjZ3xpPHvl5WyGs/mV3kB6A4
|
||||
MJJO2kiYXqN76lyupACI5TW1BiuMrukwESOmoXmynezkn1cto1uRMmSENc1lennoraFzenuoCM8vWgLb
|
||||
EIvimryxG8WWoUehk43L7WE75Sn+K5omTlCgXPFCXf8m/p3NZFs6JZMpFCLIZSUqEn2V2Te/tuvfr9oI
|
||||
IBNYzFWK/3rLzBDkct6iDJJiv+dySO2cL6o9VyIUH1yo7ZoC85kHTb7YCimq3FOdIud8YPxguovim3zz
|
||||
KzhkNIXS8PajPUtKwTA0TXpEzvnA4Jz0UHwcLoXm4e0aHG/sJU3MjETO+WBPc/RDhbg7cauwvv8Jear5
|
||||
xd/rvrDxU+2e/pzi13ljyzsOnr1PU1l5/u7MzXUlInLOB9WeS8rmOtD2/Tw2tKx4reXiCCnMvvjqRqbT
|
||||
y9LYY+auhTWKz7iGIZeV7ERy8EmOpOed1UUhFxiOT5zki1OpI2SFXFZqj4xurWuf+5m+CmVO2/DN49Ch
|
||||
/KEMUqBcgJbpcPvckhLXG/tV+/7AI9ApRhXN0Q4UcjJi+RwqPhYoYZshgcJPdrcLViTurXJNhdIx2Uw2
|
||||
Rb2kVwx1Nv/mg6dmfyBiHGlsvZN4zpUYpKze9+JopXhvfTy7WMQ6UrLJcCizBo1Sz9LvZEzIhRjTa3RN
|
||||
BXlSlrt/lDi+fYO3y3ACyhvHz6Q32u0T6yzD29goW7Gm/JKhjSprDK877TJeSmwBnck7l+BJAZ4YjR0a
|
||||
PDR6BtbwGd0zXUwfOdIZX6PdS8BIQYq85XkA5QGtJ1pQUWuKlpXs0MqipeUJ1iOZqmVrqrcHa8hPDaEw
|
||||
G7IRY8RIGZYhp/mNJIJQmA24ruDagusLThrU3gOtV+OofuWOcavO4t8s8lNDKMwGHOK4qOHCJl/c3h64
|
||||
X5KkO0S2/40Czd+YEQefvqIj4QAAAABJRU5ErkJggg==
|
||||
iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAABEBJREFUSEut
|
||||
V+tvWmUYJ16if4KXLJmZbs7v6hK/7JtxaZx2EmqV3jjr6GSzbt0GnlXPgqnj0gEG0uLWzllGWy0au0uv
|
||||
tGNyKNCOXjYz06xAq6PzVmh1fpvH/NAXDu+hpaT98Auc5/Z7b8/zPq/s1foSWTGQy796+PXj3z21r3Hg
|
||||
5dLGwVf2sgNbdnOjj9B2hSAR5IOCG95e3Rw0aVqmvR+0357XumJLnCfxzylPQjj+5Z2/y/Uje2ifQpAI
|
||||
xCjjRreqbOOduovRP4xXk4KpLyXBJ9/+IryjHy6hfQtBIiCoNAYaGi7M/mzqy0+4GnGViffWn/shTqPC
|
||||
6F9466P+vasSYw9rzEEn15O4LybAjNnO+eVDzpuBOvtUZ61t4ux+W6it1hbulXPel4i/pnVmgB6czh2/
|
||||
pzTzSjGPhBikTb2/PcgSpoQTHXfu1pwJOxVNw9tpexpS4qRQZR7rpe1yPrC84pkariwJB+w3fEqT7xna
|
||||
cTVIiVPCxz1371ca+MN5iXGQ/tvTLCljDX/z2qGrj9HB1wIhZrviydOXlzLkDV/MLognkHFgrOEucpCw
|
||||
vGpH5FqxpIQ4vacGv0ptnwwQYsRkrOMdOcTv6kd2IGWIEfa0mOUVQ2ngrylNfBn+v6n37UQsElfnit4r
|
||||
1w8+lyGuNgVMJE/xq7KEWumA68Ub2r6t4m/GGm7PpmRSQCGCPK1ERSKjYt2xlX3/j2ozgExg3bFlEv+9
|
||||
lqlByNN5izJIFIedN3naeaPQOG8FSXxwobbLSthLT+vc0RRR1DkiXbTjRqH+bLI7s8/uWAqXjKyUG9p1
|
||||
yrOYKRiMZdxJO24UjG3cSeLjcillh3bJcL1xnkSW2Lb5xPut4c8zxD2JB6WNfS+ml1q8+QccNzZ/qR2T
|
||||
X5P4Wld0ac+xK0/IamsnHs09XLeCtONGoXHOZA7XkfYfYzjQacXBlulhomDd8eXNTKe3udHn2e75FRL/
|
||||
YMv0EORpZY05aBYnOZJe7EwXhWLAnAmdExenSjNvgDytlJ8c2aHtmPuVjAplTt50/QXoUP5QBumA6wFa
|
||||
phMdc4uZuK7o7/JP+5/NEAMqa7gThZwY1TkifPlpX4XWFU2g8NNBC2E3N/p4nT3CZ2MmBcYSdhF9dnRG
|
||||
77ZjF2Z/IsS40lh3PIn/xRKDVGUJ9eJqJfGOnp9dKGMHtkiIgSqDX815Fv8kxgTFEGN51faIX0zK9ST+
|
||||
qjB//77YTuJY3Tx2iW7w1kOs0A/tVFlCbdhT8ZahjapqDkhuu5yPCqNPoXPNJdaaMRo7NHho9BjbxFm1
|
||||
Y6pb0zoTPNkVX6FbYMwUpMjbVYnReqIFpdtSAC0rsUMri5aWHlwukkLDebQ6/nqaUEK8XqxFjBkjZVTW
|
||||
8EXxQcoHiaAQ8FzBswXPF9w0qL1H2m7HUf2qzWMGhd67jfbJB4mgEHCJ46GGB1v64fZh/5Mcxz1E2xXC
|
||||
v5gRB58HNrFKAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="button1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAN
|
||||
0AAADdABEGw9BwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAMZSURBVEhLzVdd
|
||||
TxNBFF3/hi8+GH0xJmriq5HdzralCMKDGl/LxwMphCe+QqKBmCBB3oDAzyD8A4F+AfJATFRMoAhtUVrY
|
||||
CqXajvcss2Ep07KlEDzJSSY7d+7p3Llz51b57zHvcj0M6vpgxOuNhD2eGI2NIGMGxmF8Y+ztHGMPhHl1
|
||||
4IpyI6hpr0K6vhn1+fbX2tpyPwcGeHpoiGeGh01ijG/fW1uPyMYIu92xBZfrBdYKN5UhpGl3aVeflxoa
|
||||
jGRfHz8cG3PEBNliTdDtXp1T1dvCnTOEVFWlXRqxjo68zLkTrgcCefig3T8VbsuDQltDCw4q2WUpYvfw
|
||||
RTt/ItzLEa6puRdiLIMzkzm6COGLwr5PiXhHyJwGkoEydHWzq+vC4S3FWGfn34jHsyJNOLour1eamgzZ
|
||||
wsvgp8ZGY0HXXwq5Y+CXhOgaJPv7pYvA3MwMz05MSOfA7OSkaSObA3HedNXWheQx5jTtcbSubl+2AMzN
|
||||
znJeKPBCMmkKFM/jW2Fnx7SBbfG8RWgsqOojIUvXR9ffozjIjMHs+DjPx+McKOzu8uzU1MkcjfENgM0h
|
||||
2drX2rnW0nJESfZOyFI2e73L5cJsUiJeiSiIKxqprY0KWRJ2u7dR+mTGp2gXT6dNAk5EwdTgIKebsyVk
|
||||
KdSMZTMjI1LjM4Q4nbUFnLsTURAa0BKylQlnp6d5IZUSsiRMY/uZl+MZYQr1lpNQ20XziYRJoDjhSjFF
|
||||
GqT1Q8gqCr2xyzvnJNcp0e3t4/Ai7DQGTHGyka21eCa58MB/bW4+khmDUlFr3i6OsJcR/+b3H9LVfSNk
|
||||
qYBQ54BHXGYMXlYBod1mqDTfF7K2klnmKbySkgnMa9rzpfp64+DDB+nCagifiz5fhsrlMyF3AutZXK+i
|
||||
6yjFjfb20s8iQJ3CLaql6XhPj9TBRRjv7uZ0jL8+MnZTyMhxLa2PBbPZY2xvIxAoecXOIzV7eIn2HDd7
|
||||
Fq6lvbWAZLAaetxBKjK5RG+vWfp+j46axIuDnPji9+dgQ1emuoa+GLa/MIt4RoMu1x8Q46jXG73UvzBX
|
||||
B0X5B56Fg+LhPgWxAAAAAElFTkSuQmCC
|
||||
0AAADdABEGw9BwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAMQSURBVEhLzZfR
|
||||
T9NAHMfnv+GLD0ZfjIma+Gqk7d21G4LwoMbXDXggg/AEjJBoWEyQAG+DbH8G4T9wW9sNkAdiImIyhmwr
|
||||
ygadMKbbmV9Nu+26jTIw+E2+SXP3+/0+7fV6d3W5/nfFBOGhjPFMQpISqiimZYx1GSEdrlVoQ+htFKEH
|
||||
bF5Hoi7XDZnnXykY7yU9nuOdoaHy9+lpWggGaXF21jBcQ9vXwcGzpMejq4Sk44LwAnLZeo6k8PxdGeNP
|
||||
6729uhYI0NPFRUfOBQIUcmRCtqIcd5ut21YKx3EKxnp6ZKTCFnbqlN9fgRpxQXjK1m8qmee7FIxPLvKU
|
||||
rQxPD7WiHPeE5TRI7eq6pyBUhHfGFunUUEsm5FhG6A7LMwSTQRXFrb2xsY6Ht5XTo6O/E6K42XTCxQTh
|
||||
9WZ/v84mXZU/9vXpcYxfNkDhThRC0trUlC3BdHllhZaWlmztpkvLy0YM224a3rdKSKoBHOX5x8nu7mM2
|
||||
2HR5dZXSapVWNc0AsP3QVj04MGIglu03DYw4xz2ywArG72FxYAOtwqEQrWSzFFQ9PKSlcLjWFw4bbSCI
|
||||
OQ2FbPmmdwYGzmSE3llgVZI22g2z4Sbwi0DB8Ikm3O5kDUxIBpY+NtDmenihYNgpFJyfmaGqKO5bYAWh
|
||||
UnFuzhbY1ADXNANo3ICmOYKCgQGsjsClSIRW8/kaOJ9veOftbAOrhOw7Gep6aCWXM2zAmQnXyvlgED6p
|
||||
bxY4IUkbB+dMrgZoJvN3eGHYM5kaPBKx5dXbNrlgg9/2+c7YwLZQs78eDsPeBv7F6z1VMH5jgeHkAJs4
|
||||
G2j6qhaQhNtdjAnCfQtsLZlttsJ/smSCYjz/fL2nRz9ZWLAlXdZQc83jKcY57hnLtbbF1CVOHa28Ozzc
|
||||
elsERTnuloxQITsxYUvu1NnxcaoQ8uMDQjdZXoOu5ehjyjjsIXS06/e3/MTOc8rvh53oyPFhz9S1HG9N
|
||||
1R/o4Rvc9vnKuclJY+n7OT9vGHYcmBOfvd4yxFz6QM+q7hdmDbZRWRB+geE6KUnJK/2F+Zf6A56Fg+J+
|
||||
aSUpAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="taHistD.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1029, 17</value>
|
||||
<value>315, 56</value>
|
||||
</metadata>
|
||||
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>1274, 17</value>
|
||||
<value>408, 56</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>82</value>
|
||||
|
||||
@@ -580,7 +580,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = null;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
@@ -200,7 +200,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = null;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
@@ -514,7 +514,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = null;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
@@ -336,7 +336,6 @@
|
||||
this.tableAdapterManager.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tableAdapterManager.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tableAdapterManager.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tableAdapterManager.EETGW_SaveCostTableAdapter = null;
|
||||
this.tableAdapterManager.JobReportTableAdapter = null;
|
||||
this.tableAdapterManager.ProjectPartStatusTableAdapter = this.ta;
|
||||
this.tableAdapterManager.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
@@ -228,7 +228,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = this.ta;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = this.taTodo;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = null;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
@@ -557,7 +557,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = null;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
1233
SubProject/FPJ0000/SaveCost/fSaveCostData.Designer.cs
generated
1233
SubProject/FPJ0000/SaveCost/fSaveCostData.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -1,216 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace FPJ0000
|
||||
{
|
||||
public partial class fSaveCostData : FCOMMON.fBase
|
||||
{
|
||||
dsPRJ.EETGW_SaveCostRow dr = null;
|
||||
public fSaveCostData(dsPRJ.EETGW_SaveCostRow pidx_)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.UseFormSetting = false;
|
||||
this.dr = pidx_;
|
||||
this.dsPRJ.ProjectsHistory.TableNewRow += ProjectsHistory_TableNewRow;
|
||||
}
|
||||
|
||||
void ProjectsHistory_TableNewRow(object sender, DataTableNewRowEventArgs e)
|
||||
{
|
||||
e.Row["wuid"] = FCOMMON.info.Login.no;
|
||||
e.Row["wdate"] = DateTime.Now;
|
||||
e.Row["pidx"] = this.dr.idx;
|
||||
e.Row["div"] = "";
|
||||
e.Row["remark"] = string.Empty;
|
||||
e.Row["pdate"] = DateTime.Now.ToShortDateString();
|
||||
}
|
||||
private void fProjectData_Load(object sender, EventArgs e)
|
||||
{
|
||||
EnsureVisibleAndUsableSize();
|
||||
//상태
|
||||
var dt_eetproc = FCOMMON.DBM.getCodeTable("10");
|
||||
this.cmbProcess.DisplayMember = "Value";
|
||||
this.cmbProcess.ValueMember = "Value";
|
||||
this.cmbProcess.DataSource = dt_eetproc;
|
||||
|
||||
//파트
|
||||
var dt_part = FCOMMON.DBM.getCodeTable("11");
|
||||
this.cmbPart.DisplayMember = "Value";
|
||||
this.cmbPart.ValueMember = "Value";
|
||||
this.cmbPart.DataSource = dt_part;
|
||||
|
||||
|
||||
var db = new dsPRJTableAdapters.EETGW_SaveCostTableAdapter();// EEEntities();
|
||||
|
||||
//담당파트목록
|
||||
//var lst_uid = db.EETGW_SaveCost.Where(t => string.IsNullOrEmpty(t.eepart) == false).OrderBy(t => t.eepart).GroupBy(t => t.eepart).Select(t => t.FirstOrDefault());
|
||||
//this.cmbEEPart.Items.AddRange(lst_uid.Select(t => t.eepart).ToArray());
|
||||
|
||||
////WorkGroup
|
||||
//var lst_wgp = db.EETGW_SaveCost.Where(t => string.IsNullOrEmpty(t.workgroup) == false).OrderBy(t => t.workgroup).GroupBy(t => t.workgroup).Select(t => t.FirstOrDefault());
|
||||
//this.cmbWorkgrp.Items.AddRange(lst_wgp.Select(t => t.workgroup).ToArray());
|
||||
|
||||
////Site
|
||||
//var lst_sit = db.EETGW_SaveCost.Where(t => string.IsNullOrEmpty(t.site) == false).OrderBy(t => t.site).GroupBy(t => t.site).Select(t => t.FirstOrDefault());
|
||||
//this.cmbSite.Items.AddRange(lst_sit.Select(t => t.site).ToArray());
|
||||
|
||||
////category
|
||||
//var lst_cat = db.EETGW_SaveCost.Where(t => string.IsNullOrEmpty(t.category) == false).OrderBy(t => t.category).GroupBy(t => t.category).Select(t => t.FirstOrDefault());
|
||||
//this.cmbCate.Items.AddRange(lst_cat.Select(t => t.category).ToArray());
|
||||
|
||||
////Sub Cate
|
||||
//var lst_sct = db.EETGW_SaveCost.Where(t => string.IsNullOrEmpty(t.subcate) == false).OrderBy(t => t.subcate).GroupBy(t => t.subcate).Select(t => t.FirstOrDefault());
|
||||
//this.cmbsubCate.Items.AddRange(lst_sct.Select(t => t.subcate).ToArray());
|
||||
|
||||
|
||||
//site 기본값
|
||||
var prelist = new string[] { "ATK", "ATC", "ATEP", "ATP", "J-Device" };
|
||||
foreach (var item in prelist)
|
||||
if (cmbSite.Items.Contains(item) == false) cmbSite.Items.Add(item);
|
||||
|
||||
//기본값(담당파트)
|
||||
prelist = new string[] { "EE1", "EE2", "K5EE" };
|
||||
foreach (var item in prelist)
|
||||
if (cmbEEPart.Items.Contains(item) == false) cmbEEPart.Items.Add(item);
|
||||
|
||||
|
||||
//기본값(워크그룹)
|
||||
prelist = new string[] { "Automation", "Bump", "Development", "FOL", "EOL", "K5EE", "Machine Shop", "SMT", "TCDS" };
|
||||
foreach (var item in prelist)
|
||||
if (cmbWorkgrp.Items.Contains(item) == false) cmbWorkgrp.Items.Add(item);
|
||||
|
||||
|
||||
//기본값추가
|
||||
prelist = new string[] { "Capex", "R&M" };
|
||||
foreach (var item in prelist)
|
||||
if (cmbCate.Items.Contains(item) == false) cmbCate.Items.Add(item);
|
||||
|
||||
//sub category
|
||||
prelist = new string[] { "비용절감", "생산성", "자동화", "품질", "환경안전" };
|
||||
foreach (var item in prelist)
|
||||
if (cmbsubCate.Items.Contains(item) == false) cmbsubCate.Items.Add(item);
|
||||
|
||||
|
||||
this.bs.DataSource = dr;
|
||||
|
||||
this.cmbProcess.Text = dr.process;
|
||||
this.cmbPart.Text = dr.part;
|
||||
|
||||
//일반사용자의경우에는 상태를 변경하지 못한다.
|
||||
int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.project));
|
||||
if (curLevel >= 5)
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void btSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.dr.process = cmbProcess.Text;
|
||||
this.dr.part = cmbPart.Text;
|
||||
this.dr.edate = edateTextBox.Text;
|
||||
|
||||
|
||||
|
||||
this.Validate();
|
||||
this.bs.EndEdit();
|
||||
|
||||
this.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
//this.tableAdapterManager.UpdateAll(this.dsPRJ);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SelectDate(TextBox ctl)
|
||||
{
|
||||
DateTime dt;
|
||||
var dateStr = ctl.Text.Trim();
|
||||
if (dateStr == "") dateStr = DateTime.Now.ToShortDateString();
|
||||
else
|
||||
{
|
||||
if (DateTime.TryParse(dateStr, out dt)) dateStr = dt.ToShortDateString();
|
||||
else
|
||||
{
|
||||
FCOMMON.Util.MsgE("날짜 형식으로 변환할 수 없는 문자열 입니다.\n" +
|
||||
"기준일자가 금일로 변경 됩니다");
|
||||
dateStr = DateTime.Now.ToShortDateString();
|
||||
}
|
||||
}
|
||||
dt = DateTime.Parse(dateStr);
|
||||
var f = new FCOMMON.fSelectDay(dt);
|
||||
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
ctl.Text = f.dtPick.SelectionStart.ToShortDateString();
|
||||
}
|
||||
}
|
||||
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
SelectDate(sdateTextBox);
|
||||
}
|
||||
|
||||
private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
SelectDate(edateTextBox);
|
||||
}
|
||||
|
||||
|
||||
private void bs_CurrentChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
int cnt;
|
||||
if (int.TryParse(cntTextBox.Text, out cnt) == false)
|
||||
{
|
||||
FCOMMON.Util.MsgE($"수량이 입려되지 않았습니다");
|
||||
cntTextBox.Focus();
|
||||
return;
|
||||
}
|
||||
|
||||
var sfi_type = "O";
|
||||
var sfi_count = 0D;
|
||||
var sfi_time = 0D;
|
||||
var sfi_shiftcount = 0D;
|
||||
if (dr.Issfi_typeNull() == false) sfi_type = dr.sfi_type;
|
||||
if (dr.Issfi_savecountNull() == false) sfi_count = dr.sfi_savecount;
|
||||
if (dr.Issfi_savetimeNull() == false) sfi_time = dr.sfi_savetime;
|
||||
if (dr.Issfi_shiftcountNull() == false) sfi_shiftcount = dr.sfi_shiftcount;
|
||||
if (sfi_shiftcount == 0) sfi_shiftcount = 4;
|
||||
|
||||
|
||||
var f = new FCOMMON.fSFI(sfi_type, sfi_time, sfi_count, sfi_shiftcount, cnt);
|
||||
if (f.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
tbSFI.Text = f.Value.ToString("N2");
|
||||
dr.sfi_type = f.radO.Checked ? "O" : "M";
|
||||
if (f.radO.Checked)
|
||||
{
|
||||
dr.sfi = f.Value; //office 는 sfi와 sfic 가 동일하다
|
||||
dr.sfi_savetime = (float)f.nudOsavetime.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
//m 데이터는 sfi가 아닌sfic에 값이 들어간다.
|
||||
dr.sfi = (float)f.nudSFIMFG.Value;
|
||||
dr.sfi_savetime = (float)f.nudMsavetime.Value;
|
||||
}
|
||||
dr.sfi_savecount = (float)f.nudMSaveCnt.Value;
|
||||
dr.sfi_shiftcount = (float)f.nudShiftCnt.Value;
|
||||
dr.EndEdit();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,248 +0,0 @@
|
||||
<?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="nameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="reqstaffLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="userManagerLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="costoLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="costnLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="costeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="cntLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="assetLabel.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="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="label6.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="label5.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="label7.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="label8.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="label9.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="label10.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="label11.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>100, 17</value>
|
||||
</metadata>
|
||||
<metadata name="dsPRJ.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>237, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wgAADsIBFShKgAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
|
||||
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
|
||||
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
|
||||
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
|
||||
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
|
||||
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wgAADsIBFShKgAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
|
||||
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
|
||||
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
|
||||
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wgAADsIBFShKgAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
|
||||
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
|
||||
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
|
||||
oAc0QjgAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wgAADsIBFShKgAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
|
||||
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
|
||||
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
|
||||
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
|
||||
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
|
||||
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
|
||||
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
|
||||
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
|
||||
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
|
||||
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
|
||||
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
|
||||
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
|
||||
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
|
||||
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="tam.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>164, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>303, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
1069
SubProject/FPJ0000/SaveCost/fSaveCostList.Designer.cs
generated
1069
SubProject/FPJ0000/SaveCost/fSaveCostList.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -1,447 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using util = FCOMMON.Util;
|
||||
|
||||
namespace FPJ0000
|
||||
{
|
||||
public partial class fSaveCostList : FCOMMON.fBase
|
||||
{
|
||||
string fn_fpcolsize = "";
|
||||
public fSaveCostList()
|
||||
{
|
||||
InitializeComponent();
|
||||
fn_fpcolsize = util.MakeFilePath(util.CurrentPath, "formSetting", "fp_" + this.Name + ".ini");
|
||||
this.dsMSSQL.EETGW_SaveCost.TableNewRow += Projects_TableNewRow;
|
||||
this.FormClosed += __Closed;
|
||||
|
||||
}
|
||||
|
||||
void __Closed(object sender, FormClosedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void __Load(object sender, EventArgs e)
|
||||
{
|
||||
EnsureVisibleAndUsableSize();
|
||||
//프로젝트 목록을 처리함
|
||||
//this.tbRequest.Text = FCOMMON.info.Login.nameK;
|
||||
cmbDateType.SelectedIndex = 0; //기본시작일 기준으로 한다
|
||||
|
||||
//일단 나만 보이게 함
|
||||
tbRequest.Text = string.Empty;// FCOMMON.info.Login.nameK;
|
||||
|
||||
|
||||
this.dtSD.Text = DateTime.Now.ToString("yyyy-01-01"); //1년치로 본다 210405
|
||||
var sdate = DateTime.Parse(dtSD.Text);
|
||||
this.dtED.Text = DateTime.Now.ToShortDateString();// sdate.AddMonths(1).AddDays(-1).ToShortDateString();
|
||||
|
||||
refreshData();
|
||||
|
||||
////일반사용자의경우에는 상태를 변경하지 못한다.
|
||||
//int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.savecost));
|
||||
//if (curLevel >= 5)
|
||||
//{
|
||||
// btSave.Visible = true;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// btSave.Visible = false; //목록에서 저장버튼은 제거한다.
|
||||
// fpSpread1.EditMode = false;
|
||||
// fpSpread1.Sheets[0].SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row;
|
||||
// fpSpread1.EditModePermanent = false;
|
||||
// fpSpread1.EditModeReplace = false;
|
||||
|
||||
// foreach (FarPoint.Win.Spread.Column col in fpSpread1.ActiveSheet.Columns)
|
||||
// col.Locked = true;
|
||||
//}
|
||||
}
|
||||
|
||||
void refreshData()
|
||||
{
|
||||
|
||||
if (this.dsMSSQL.EETGW_SaveCost.GetChanges() != null)
|
||||
{
|
||||
var dlg = util.MsgQ("변경된 내용이 있습니다. 지금 새로고침 하면 해당 자료는 손실 됩니다. 진행 할까요?");
|
||||
if (dlg != DialogResult.Yes) return;
|
||||
}
|
||||
|
||||
|
||||
string state = "";
|
||||
string State_Select = " SELECT * FROM EETGW_SaveCost";
|
||||
string State_where = " WHERE gcode=@gcode and ";
|
||||
|
||||
var dateField = "pdate";
|
||||
if (cmbDateType.SelectedIndex == 1) dateField = "edate";
|
||||
|
||||
State_where += " " + dateField + " between '" + dtSD.Text + "' and '" + dtED.Text + "' AND (ISNULL(userManager, '') LIKE @username OR " +
|
||||
"ISNULL(usermain, '') LIKE @username OR " +
|
||||
"ISNULL(reqstaff, '') LIKE @username) ";
|
||||
|
||||
if (state != "") State_where += " AND " + state;
|
||||
//if (cmbCate.SelectedIndex > 0) State_where += " AND isnull(category,'') = '" + cmbCate.Text + "'";
|
||||
//if (cmbProcess.SelectedIndex > 0) State_where += " and isnull(userprocess,'') = '" + cmbProcess.Text.Trim() + "'";
|
||||
string State_order = " ORDER BY pdate";
|
||||
|
||||
string request = "%";
|
||||
if (tbRequest.Text.Trim() != "") request = "%" + this.tbRequest.Text.Trim() + "%";
|
||||
|
||||
System.Data.SqlClient.SqlCommand selCmd = new System.Data.SqlClient.SqlCommand();
|
||||
selCmd.Connection = ta.Connection;
|
||||
selCmd.CommandText = State_Select + State_where + State_order;
|
||||
selCmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode;
|
||||
selCmd.Parameters.Add("username", SqlDbType.VarChar);
|
||||
selCmd.Parameters["username"].Value = request;
|
||||
|
||||
System.Data.SqlClient.SqlDataAdapter sda = new System.Data.SqlClient.SqlDataAdapter();
|
||||
sda.SelectCommand = selCmd;
|
||||
|
||||
this.dsMSSQL.EETGW_SaveCost.Clear();
|
||||
sda.Fill(this.dsMSSQL.EETGW_SaveCost);
|
||||
|
||||
|
||||
this.dsMSSQL.EETGW_SaveCost.AcceptChanges();
|
||||
|
||||
sbSumE.Text = this.dsMSSQL.EETGW_SaveCost.Sum(t => t.coste).ToString("N2");
|
||||
sbSumO.Text = this.dsMSSQL.EETGW_SaveCost.Sum(t => t.costo).ToString("N2");
|
||||
sbSumI.Text = this.dsMSSQL.EETGW_SaveCost.Sum(t => t.costn).ToString("N2");
|
||||
|
||||
FormattingData();
|
||||
FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
|
||||
void FormattingData()
|
||||
{
|
||||
|
||||
////삭제컬럼인덱스
|
||||
this.fpSpread1.SuspendLayout();
|
||||
var col_fanout = this.fpSpread1.ActiveSheet.Columns["fanout"].Index;
|
||||
var col_weekly = this.fpSpread1.ActiveSheet.Columns["weekly"].Index;
|
||||
var col_effect = this.fpSpread1.ActiveSheet.Columns["effect"].Index;
|
||||
for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
|
||||
{
|
||||
var o_fanout = this.fpSpread1.ActiveSheet.GetValue(i, col_fanout);
|
||||
var o_weekly = this.fpSpread1.ActiveSheet.GetValue(i, col_weekly);
|
||||
bool b_fanout = false;
|
||||
bool b_weekly = false;
|
||||
if (o_fanout != null) b_fanout = (bool)o_fanout;
|
||||
if (o_weekly != null) b_weekly = (bool)o_weekly;
|
||||
|
||||
if (b_weekly) this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.Lime;
|
||||
else this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.White;
|
||||
|
||||
this.fpSpread1.ActiveSheet.Cells[i, col_effect].BackColor = Color.FromArgb(200, 200, 200);
|
||||
|
||||
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.White;
|
||||
// switch (stateStr.ToLower())
|
||||
// {
|
||||
// case "검토":
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Blue;
|
||||
// break;
|
||||
// case "취소":
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Red;
|
||||
// break;
|
||||
// case "진행":
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Green;
|
||||
// break;
|
||||
// case "보류":
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Tomato;
|
||||
// break;
|
||||
// case "완료(보고)":
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Gray;
|
||||
// break;
|
||||
// case "완료":
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Magenta;
|
||||
// break;
|
||||
// default:
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Black;
|
||||
// break;
|
||||
// }
|
||||
|
||||
}
|
||||
FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
this.fpSpread1.ResumeLayout();
|
||||
}
|
||||
|
||||
void funcSave(Boolean pmt)
|
||||
{
|
||||
this.Validate();
|
||||
this.bs.EndEdit();
|
||||
|
||||
if (pmt)
|
||||
{
|
||||
var dlg = FCOMMON.Util.MsgQ("변경 사항을 저장하시겠습니까?");
|
||||
if (dlg != System.Windows.Forms.DialogResult.Yes) return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
this.ta.Update(this.dsMSSQL.EETGW_SaveCost);
|
||||
dsMSSQL.EETGW_SaveCost.AcceptChanges();
|
||||
FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
FormattingData();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
FCOMMON.Util.MsgE(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private void projectsBindingNavigatorSaveItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
funcSave(true);
|
||||
|
||||
}
|
||||
void Projects_TableNewRow(object sender, DataTableNewRowEventArgs e)
|
||||
{
|
||||
e.Row["gcode"] = FCOMMON.info.Login.gcode;
|
||||
e.Row["wuid"] = FCOMMON.info.Login.no;
|
||||
e.Row["wdate"] = DateTime.Now;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private void autoToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.fpSpread1.ActiveSheet.DataAutoSizeColumns = true;
|
||||
|
||||
for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
|
||||
this.fpSpread1.ActiveSheet.SetRowHeight(i, 25);
|
||||
//dv1.AutoResizeColumns();
|
||||
}
|
||||
|
||||
private void resetToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
foreach (FarPoint.Win.Spread.Column col in this.fpSpread1.ActiveSheet.Columns)
|
||||
{
|
||||
col.ResetVisible();
|
||||
col.Width = 100;
|
||||
}
|
||||
}
|
||||
|
||||
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
FPUtil.ColsizeSave(this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
|
||||
private void loadToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void toolStripLabel3_Click(object sender, EventArgs e)
|
||||
{
|
||||
//사용자목록처리
|
||||
if (tbRequest.Text != "")
|
||||
{
|
||||
tbRequest.Text = string.Empty;
|
||||
}
|
||||
else tbRequest.Text = FCOMMON.info.Login.nameK;
|
||||
|
||||
refreshData();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void tbFind_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
btFind.PerformClick();
|
||||
}
|
||||
|
||||
private void btFind_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
string search = tbFind.Text.Trim();
|
||||
if (search == "")
|
||||
{
|
||||
|
||||
bs.Filter = "";
|
||||
tbFind.BackColor = SystemColors.Control;
|
||||
FormattingData();
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
var cols = new string[] {
|
||||
"name","process","reqstaff","usermain",
|
||||
"orderno","usersub","userManager",
|
||||
"remark_req"};
|
||||
bs.Filter = FCOMMON.Util.MakeFilterString(cols, search);
|
||||
tbFind.BackColor = Color.Lime;
|
||||
tbFind.SelectAll();
|
||||
tbFind.Focus();
|
||||
FormattingData();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
bs.Filter = "";
|
||||
FCOMMON.Util.MsgE(ex.Message);
|
||||
tbFind.BackColor = Color.Red;
|
||||
FormattingData();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
funcDelete();
|
||||
}
|
||||
void funcDelete()
|
||||
{
|
||||
var dlg = FCOMMON.Util.MsgQ("현재 선택된 자료를 삭제하시겠습니까?");
|
||||
if (dlg == System.Windows.Forms.DialogResult.Yes)
|
||||
{
|
||||
bs.RemoveCurrent();
|
||||
|
||||
//일반사용자는 바로 저장되도록 함
|
||||
int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.savecost));
|
||||
if (curLevel < 5)
|
||||
{
|
||||
funcSave(false); //자동저장
|
||||
}
|
||||
}
|
||||
}
|
||||
private void 엑셀파일로저장ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
SaveFileDialog sd = new SaveFileDialog();
|
||||
sd.Filter = ("excel|*.xls");
|
||||
var dlg = sd.ShowDialog();
|
||||
if (dlg == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
this.fpSpread1.SaveExcel(sd.FileName,
|
||||
FarPoint.Excel.ExcelSaveFlags.SaveAsViewed
|
||||
| FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered
|
||||
| FarPoint.Excel.ExcelSaveFlags.NoFormulas
|
||||
| FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders);
|
||||
|
||||
FCOMMON.Util.MsgI("파일생성 완료\n\n" + sd.FileName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void bs_CurrentChanged(object sender, EventArgs e)
|
||||
{
|
||||
//히스토리 데이터를 업데이트하고 첫번재 자료를 표시한다.
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null)
|
||||
{
|
||||
this.label1.Text = "프로젝트가 선택되지 않았습니다";
|
||||
return;
|
||||
}
|
||||
var dr = drv.Row as dsPRJ.EETGW_SaveCostRow;
|
||||
this.label1.Text = string.Format("[{0}] {1}", dr.name, dr.memo);
|
||||
}
|
||||
|
||||
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
util.MsgE("프로젝트로 등록하세요. 프로젝트 정보 중 [비용절감]을 체크하세요");
|
||||
return;
|
||||
|
||||
//var newdr = this.dsMSSQL.EETGW_SaveCost.NewEETGW_SaveCostRow();
|
||||
//newdr.wuid = FCOMMON.info.Login.no;
|
||||
//newdr.wdate = DateTime.Now;
|
||||
//newdr.pdate = DateTime.Now.ToString("yyyy-MM-dd");
|
||||
//newdr.edate = DateTime.Now.ToString("yyyy-MM-dd");
|
||||
//newdr.userManager = FCOMMON.info.Login.nameK;
|
||||
//newdr.userprocess = FCOMMON.info.Login.process;
|
||||
//newdr.costn = 0;
|
||||
//newdr.costo = 0;
|
||||
//newdr.cnt = 1;
|
||||
//newdr.name = "Project Title";
|
||||
//var f = new fSaveCostData(newdr);
|
||||
//f.StartPosition = FormStartPosition.CenterScreen;
|
||||
//var dlg = f.ShowDialog();
|
||||
//if (dlg == System.Windows.Forms.DialogResult.OK)
|
||||
//{
|
||||
// this.dsMSSQL.EETGW_SaveCost.AddEETGW_SaveCostRow(newdr);
|
||||
// try
|
||||
// {
|
||||
|
||||
// ta.Update(newdr);
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// FCOMMON.Util.MsgE("Save Error\n" + ex.Message);
|
||||
// }
|
||||
|
||||
//}
|
||||
//else newdr.Delete();
|
||||
}
|
||||
|
||||
private void btEdit_Click(object sender, EventArgs e)
|
||||
{
|
||||
funcEdit();
|
||||
}
|
||||
void funcEdit()
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
if (drv == null) return;
|
||||
var dr = drv.Row as dsPRJ.EETGW_SaveCostRow;
|
||||
var f = new fSaveCostData(dr);
|
||||
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.savecost));
|
||||
if (curLevel < 5)
|
||||
{
|
||||
funcSave(false); //자동저장
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void tbRequest_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
btSearch.PerformClick();
|
||||
}
|
||||
|
||||
|
||||
private void 삭제ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
funcDelete();
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void toolStripButton2_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click_1(object sender, EventArgs e)
|
||||
{
|
||||
refreshData();
|
||||
}
|
||||
|
||||
private void 편집ToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||
{
|
||||
funcEdit();
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click(object sender, EventArgs e)
|
||||
{
|
||||
var f = new SaveCost.fSaveCostReport();
|
||||
f.Show();
|
||||
|
||||
}
|
||||
|
||||
private void toolStripButton2_Click(object sender, EventArgs e)
|
||||
{
|
||||
util.MsgE("프로젝트로 등록하세요. 프로젝트 정보 중 [비용절감]을 체크하세요");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,325 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>259, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>122, 17</value>
|
||||
</metadata>
|
||||
<metadata name="dsMSSQL.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wgAADsIBFShKgAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
|
||||
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
|
||||
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
|
||||
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
|
||||
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
|
||||
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wgAADsIBFShKgAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
|
||||
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
|
||||
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
|
||||
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wgAADsIBFShKgAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
|
||||
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
|
||||
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
|
||||
oAc0QjgAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wgAADsIBFShKgAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
|
||||
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
|
||||
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
|
||||
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
|
||||
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
|
||||
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wgAADsIBFShKgAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
|
||||
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++
|
||||
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ
|
||||
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA
|
||||
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/
|
||||
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E
|
||||
rkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btAdd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wgAADsIBFShKgAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
|
||||
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++
|
||||
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ
|
||||
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA
|
||||
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/
|
||||
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E
|
||||
rkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btEdit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQAAGB3lYivyMDf/XiZt+Ts9ajT/Mbh/UlVa/P2+bLY/FRlfu3x9ZzN++Xy/rTR4ENL
|
||||
XN7v/tTk8Jm/1enx96jL3uDo7ykxQz5FVb2JAP+8Bv/RV6HQ/FSr9qfR+jhllf///yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQAAAAAACwAAAAAEAAQAAAIugA/CBxIsKDACA4cUJAgIUCAARA9eJAg0EEEAhMyTiDA
|
||||
0UMHDh4qTjBAkqSABh5BKhBIAUFJASdTekCw8oMElwZgovzoAQJNgTdzxuQJocDPDwEQ6MRAtIDRAwKT
|
||||
nsSgIUPPAh02EID6YcCCBlQzYCiaVesDgV4jVB2LdcMGBhXOdl2QQIFdBQAGMNhb4QJaBAkSYC0wAIBh
|
||||
AAv8fgAQAcFGjgQqSF7gwAJavHcPHHjw4MIFCzUNihYYEAA7
|
||||
</value>
|
||||
</data>
|
||||
<data name="btDel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wgAADsIBFShKgAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
|
||||
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC
|
||||
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV
|
||||
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG
|
||||
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG
|
||||
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX
|
||||
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="btSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wgAADsIBFShKgAAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo
|
||||
dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
|
||||
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
|
||||
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
|
||||
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
|
||||
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
|
||||
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
|
||||
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
|
||||
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
|
||||
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="cm.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>325, 17</value>
|
||||
</metadata>
|
||||
<data name="autoToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfAJXG2JXa+ZLO5ChrlkCy4TZ1kiVvpCN0trvo9SN5xTd4lrfh7iR9zo3S+EGz7JDJ
|
||||
4TaCromrvC9ymyV+0Dd3mTl1koe72YvN7LTj+9ne6N3g6v7+/0Cw2Stoh////////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAInwA/CBzooaAHgQUHKvRQoUABCgUlHFT4IYMCBAsQIIBg
|
||||
wcBEgh0WCBDAgcAFDAc+fvDQIUKHDgMeEHDQIIFKlgoMGgjQoAGDmwUOehhg4EACBhM+GlzKVOkEBgkO
|
||||
GBggNOhCBhgCBPBYUEGHmwkCOCDwYMCAll8XHghwgQCHkQDSLjRgAcKDBwAAKNCwgaIHiR4oOKygkuDE
|
||||
pRQTK6YYEAA7
|
||||
</value>
|
||||
</data>
|
||||
<data name="resetToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfALnik2aXQv7+/dPut73llbfala3LmW6gSWqdQ2eYRGqaSLfck568iYrUQN7yzF6R
|
||||
PLTXlYjUP8XwmYfQQLbYl4jRQGiaQsPumNbyu7nglNPzsLXYlf7+/lCHK////////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIlgA/CBzooaAHgQUHEvSgIEAABQUfHFTIwQECDAMwYDhg
|
||||
oENCgRw8dBgAAECFBgsweJxYsAODDjApTIhAwCMHkCItGOxwgUCGlQQTeAgJsyhQg0iTGvzQ0qhND0IX
|
||||
dtBwQcJKDxZsIhQpIcIECkVffmwpYUGDCiUheBQg1cCBAgU2QFDg4KZCDxIZOoQ48S7LpQoDCx4cEAA7
|
||||
</value>
|
||||
</data>
|
||||
<data name="saveToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQAAJXD9Iasxm6MqnSn2lZtjVaRyEpXbYu767TX/2KZztvr/4Gy5KrT/3ut32+gzlFh
|
||||
e+r0/0RNX9/u/9Ln+8Xg//n8/4e36CkxQz9GVkSCvKjL35/N/Je91K7T5bDS4////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQAAAAAACwAAAAAEAAQAAAIuQA/CBxIsKDACRwScggQwIGAhwIICBDYQcEEgwg+bNjw
|
||||
QKCHCQgkQBgpQcKBCg0AEBCoAaRIkhIsVBigUiAHCgwkKNjJU8GAAx0/3NwIAMABCwsaDHCwIGgAChuK
|
||||
HjiQdMDSAQYEPpWKtKqDBA6yfgiAwGhXpUsTJIgg0AGCo0nRfi1QgO0HAQyQNpCrtkAGDAIFbKi69GsC
|
||||
un8FEohqdEFavxkyXAhMoPKDBwYMRIiAAcOFoAZDCwwIADs=
|
||||
</value>
|
||||
</data>
|
||||
<data name="loadToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
R0lGODlhEAAQAIQfAJfL/OTs9HWVsW6aUqnT+6bnZldwkYiux7TZ/O3z+UlVa/P2+ZfTW36wWJDLV4m7
|
||||
69nn78bi/qjL3qDP+VJhe4rAVa7S40NLXJ3bYJrA1ikxQz5FVdDU22OPRf///////yH/C05FVFNDQVBF
|
||||
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIwQA9CBxIcOCHgx4gWLAgIUOGAwcESBTgAaEFCAEGaBwQ
|
||||
IGOABwYqerCQsYBJBho7JHgAUqCEDjAxYGBQgYHKBAsoCMzQIUIEmA6CdkCAIOfOBT5/MnBQYSgBozCj
|
||||
SoVJ4KkCDx1MFhhKFEFVAhMCXM1aAANMoh2qTgh7AWvZmQ6igp0AIEDbDg0aLA06YC4AABA2eBjgYcHG
|
||||
vmv/Akgg2IMBDgsSdJwcAEICDhoECjDAmQIFBQouXNiwQYPOgqgLBgQAOw==
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="fpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>658, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>393, 17</value>
|
||||
</metadata>
|
||||
<data name="button1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
|
||||
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
|
||||
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
|
||||
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
|
||||
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
|
||||
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
|
||||
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
|
||||
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
|
||||
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
|
||||
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="btSearch.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="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>499, 17</value>
|
||||
</metadata>
|
||||
<metadata name="tam.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>186, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>596, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
231
SubProject/FPJ0000/SaveCost/fSaveCostReport.Designer.cs
generated
231
SubProject/FPJ0000/SaveCost/fSaveCostReport.Designer.cs
generated
@@ -1,231 +0,0 @@
|
||||
|
||||
namespace FPJ0000.SaveCost
|
||||
{
|
||||
partial class fSaveCostReport
|
||||
{
|
||||
/// <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.fpSpread1 = new FarPoint.Win.Spread.FpSpread();
|
||||
this.fpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView();
|
||||
this.progressBar2 = new System.Windows.Forms.ProgressBar();
|
||||
this.ta = new FPJ0000.dsReportTableAdapters.JobReportDayTableAdapter();
|
||||
this.btSave = new System.Windows.Forms.Button();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.dte = new System.Windows.Forms.DateTimePicker();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.dts = new System.Windows.Forms.DateTimePicker();
|
||||
this.btRefresh = new System.Windows.Forms.Button();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.dsReport = new FPJ0000.dsReport();
|
||||
this.bs = new System.Windows.Forms.BindingSource(this.components);
|
||||
this.checkBox1 = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox2 = new System.Windows.Forms.CheckBox();
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1_Sheet1)).BeginInit();
|
||||
this.panel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dsReport)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// fpSpread1
|
||||
//
|
||||
this.fpSpread1.AccessibleDescription = "";
|
||||
this.fpSpread1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.fpSpread1.Location = new System.Drawing.Point(0, 58);
|
||||
this.fpSpread1.Name = "fpSpread1";
|
||||
this.fpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
|
||||
this.fpSpread1_Sheet1});
|
||||
this.fpSpread1.Size = new System.Drawing.Size(1114, 539);
|
||||
this.fpSpread1.TabIndex = 7;
|
||||
//
|
||||
// fpSpread1_Sheet1
|
||||
//
|
||||
this.fpSpread1_Sheet1.Reset();
|
||||
this.fpSpread1_Sheet1.SheetName = "Sheet1";
|
||||
//
|
||||
// progressBar2
|
||||
//
|
||||
this.progressBar2.Dock = System.Windows.Forms.DockStyle.Bottom;
|
||||
this.progressBar2.Location = new System.Drawing.Point(0, 597);
|
||||
this.progressBar2.Name = "progressBar2";
|
||||
this.progressBar2.Size = new System.Drawing.Size(1114, 23);
|
||||
this.progressBar2.TabIndex = 8;
|
||||
//
|
||||
// ta
|
||||
//
|
||||
this.ta.ClearBeforeFill = true;
|
||||
//
|
||||
// btSave
|
||||
//
|
||||
this.btSave.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.btSave.Location = new System.Drawing.Point(959, 5);
|
||||
this.btSave.Name = "btSave";
|
||||
this.btSave.Size = new System.Drawing.Size(75, 48);
|
||||
this.btSave.TabIndex = 12;
|
||||
this.btSave.Text = "파일저장";
|
||||
this.btSave.UseVisualStyleBackColor = true;
|
||||
this.btSave.Click += new System.EventHandler(this.btSave_Click);
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(261, 27);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(14, 12);
|
||||
this.label3.TabIndex = 9;
|
||||
this.label3.Text = "~";
|
||||
//
|
||||
// dte
|
||||
//
|
||||
this.dte.Location = new System.Drawing.Point(289, 23);
|
||||
this.dte.Name = "dte";
|
||||
this.dte.Size = new System.Drawing.Size(180, 21);
|
||||
this.dte.TabIndex = 8;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(10, 27);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(53, 12);
|
||||
this.label2.TabIndex = 7;
|
||||
this.label2.Text = "검색기간";
|
||||
//
|
||||
// dts
|
||||
//
|
||||
this.dts.Location = new System.Drawing.Point(68, 23);
|
||||
this.dts.Name = "dts";
|
||||
this.dts.Size = new System.Drawing.Size(180, 21);
|
||||
this.dts.TabIndex = 6;
|
||||
//
|
||||
// btRefresh
|
||||
//
|
||||
this.btRefresh.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.btRefresh.Location = new System.Drawing.Point(1034, 5);
|
||||
this.btRefresh.Name = "btRefresh";
|
||||
this.btRefresh.Size = new System.Drawing.Size(75, 48);
|
||||
this.btRefresh.TabIndex = 2;
|
||||
this.btRefresh.Text = "새로고침";
|
||||
this.btRefresh.UseVisualStyleBackColor = true;
|
||||
this.btRefresh.Click += new System.EventHandler(this.btRefresh_Click);
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200)))));
|
||||
this.panel1.Controls.Add(this.checkBox2);
|
||||
this.panel1.Controls.Add(this.checkBox1);
|
||||
this.panel1.Controls.Add(this.btSave);
|
||||
this.panel1.Controls.Add(this.label3);
|
||||
this.panel1.Controls.Add(this.dte);
|
||||
this.panel1.Controls.Add(this.label2);
|
||||
this.panel1.Controls.Add(this.dts);
|
||||
this.panel1.Controls.Add(this.btRefresh);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Padding = new System.Windows.Forms.Padding(5);
|
||||
this.panel1.Size = new System.Drawing.Size(1114, 58);
|
||||
this.panel1.TabIndex = 6;
|
||||
this.panel1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseDoubleClick);
|
||||
//
|
||||
// dsReport
|
||||
//
|
||||
this.dsReport.DataSetName = "dsReport";
|
||||
this.dsReport.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
|
||||
//
|
||||
// bs
|
||||
//
|
||||
this.bs.DataMember = "JobReportDay";
|
||||
this.bs.DataSource = this.dsReport;
|
||||
//
|
||||
// checkBox1
|
||||
//
|
||||
this.checkBox1.AutoSize = true;
|
||||
this.checkBox1.Checked = true;
|
||||
this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.checkBox1.Location = new System.Drawing.Point(493, 25);
|
||||
this.checkBox1.Name = "checkBox1";
|
||||
this.checkBox1.Size = new System.Drawing.Size(108, 16);
|
||||
this.checkBox1.TabIndex = 13;
|
||||
this.checkBox1.Text = "High Light 포함";
|
||||
this.checkBox1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBox2
|
||||
//
|
||||
this.checkBox2.AutoSize = true;
|
||||
this.checkBox2.Checked = true;
|
||||
this.checkBox2.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.checkBox2.Location = new System.Drawing.Point(611, 25);
|
||||
this.checkBox2.Name = "checkBox2";
|
||||
this.checkBox2.Size = new System.Drawing.Size(96, 16);
|
||||
this.checkBox2.TabIndex = 14;
|
||||
this.checkBox2.Text = "Fan Out 포함";
|
||||
this.checkBox2.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// fSaveCostReport
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1114, 620);
|
||||
this.Controls.Add(this.fpSpread1);
|
||||
this.Controls.Add(this.progressBar2);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Name = "fSaveCostReport";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "Cost Reduction Report";
|
||||
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
|
||||
this.Load += new System.EventHandler(this.fEBoardReport_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.fpSpread1_Sheet1)).EndInit();
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dsReport)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private FarPoint.Win.Spread.FpSpread fpSpread1;
|
||||
private FarPoint.Win.Spread.SheetView fpSpread1_Sheet1;
|
||||
private System.Windows.Forms.ProgressBar progressBar2;
|
||||
private dsReportTableAdapters.JobReportDayTableAdapter ta;
|
||||
private System.Windows.Forms.Button btSave;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.DateTimePicker dte;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.DateTimePicker dts;
|
||||
private System.Windows.Forms.Button btRefresh;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private dsReport dsReport;
|
||||
private System.Windows.Forms.BindingSource bs;
|
||||
private System.Windows.Forms.CheckBox checkBox1;
|
||||
private System.Windows.Forms.CheckBox checkBox2;
|
||||
}
|
||||
}
|
||||
@@ -1,257 +0,0 @@
|
||||
using FCOMMON;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace FPJ0000.SaveCost
|
||||
{
|
||||
public partial class fSaveCostReport : fBase
|
||||
{
|
||||
public fSaveCostReport()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void fEBoardReport_Load(object sender, EventArgs e)
|
||||
{
|
||||
EnsureVisibleAndUsableSize();
|
||||
//기본엑셀파일을 가져온다
|
||||
this.Show();
|
||||
Application.DoEvents();
|
||||
|
||||
dts.Value = new DateTime(DateTime.Now.Year, 1, 1);
|
||||
dte.Value = new DateTime(DateTime.Now.Year, 12, 31);
|
||||
|
||||
//파일불러오기
|
||||
LoadExcel();
|
||||
}
|
||||
|
||||
void LoadExcel()
|
||||
{
|
||||
//파일불러오기
|
||||
var fn = "CostReduction_" + DateTime.Now.Year.ToString("0000") + ".xlsx";
|
||||
var fi = new System.IO.FileInfo(FCOMMON.Util.CurrentPath + fn);
|
||||
this.fpSpread1.OpenExcel(fi.FullName);
|
||||
}
|
||||
|
||||
|
||||
int GetColIndex(string colname)
|
||||
{
|
||||
var sIndex = (int)'A';
|
||||
var eIndex = (int)'Z';
|
||||
var colsize = eIndex - sIndex + 1;
|
||||
var collist = colname.ToCharArray();
|
||||
var idx = 0;
|
||||
|
||||
for (int i = collist.Length; i > 0; i--)
|
||||
{
|
||||
var c = collist[i - 1];
|
||||
idx += (int)(c - sIndex) + (colsize * (i - 1));
|
||||
}
|
||||
return idx;
|
||||
}
|
||||
string GetColName(int idx)
|
||||
{
|
||||
var sIndex = (int)'A';
|
||||
var eIndex = (int)'Z';
|
||||
var colsize = eIndex - sIndex + 1;
|
||||
string colName = string.Empty;
|
||||
while (true)
|
||||
{
|
||||
var mok = (int)(Math.Floor((idx * 1.0) / colsize));
|
||||
if (mok > 0) colName += (char)(mok + sIndex);
|
||||
var namoji = (idx % colsize);
|
||||
if (namoji < colsize)
|
||||
{
|
||||
colName += (char)(namoji + sIndex);
|
||||
break;
|
||||
}
|
||||
else idx = namoji;
|
||||
}
|
||||
return colName;
|
||||
}
|
||||
private void btRefresh_Click(object sender, EventArgs e)
|
||||
{
|
||||
//새로고침
|
||||
//a2 에 날짜를 표시함.
|
||||
var db = new dsPRJTableAdapters.EETGW_SaveCostTableAdapter();// EEEntities();
|
||||
var sd = this.dts.Value.ToShortDateString();
|
||||
var ed = this.dte.Value.ToShortDateString();
|
||||
|
||||
this.fpSpread1.ActiveSheetIndex = 1;
|
||||
var 기간자료 = db.GetByDate(FCOMMON.info.Login.gcode,sd,ed).GroupBy(t => t.name);
|
||||
|
||||
|
||||
var row = 6;
|
||||
foreach (var item in 기간자료)
|
||||
{
|
||||
var dr = item.FirstOrDefault();
|
||||
this.fpSpread1.ActiveSheet.Cells["C" + row.ToString()].Value = dr.eepart;
|
||||
this.fpSpread1.ActiveSheet.Cells["D" + row.ToString()].Value = dr.workgroup;
|
||||
this.fpSpread1.ActiveSheet.Cells["E" + row.ToString()].Value = dr.process;
|
||||
this.fpSpread1.ActiveSheet.Cells["F" + row.ToString()].Value = dr.site;
|
||||
this.fpSpread1.ActiveSheet.Cells["G" + row.ToString()].Value = dr.category;
|
||||
this.fpSpread1.ActiveSheet.Cells["H" + row.ToString()].Value = dr.subcate;
|
||||
this.fpSpread1.ActiveSheet.Cells["I" + row.ToString()].Value = dr.name;
|
||||
|
||||
this.fpSpread1.ActiveSheet.Cells["J" + row.ToString()].Value = "--";
|
||||
this.fpSpread1.ActiveSheet.Cells["K" + row.ToString()].Value = "--";
|
||||
|
||||
this.fpSpread1.ActiveSheet.Cells["L" + row.ToString()].Value = dr.part;
|
||||
var str_fanout = dr.IsfanoutNull() ? "New" : ((bool)dr.fanout ? "Fan-Out" : "New");
|
||||
this.fpSpread1.ActiveSheet.Cells["M" + row.ToString()].Value = str_fanout;
|
||||
|
||||
this.fpSpread1.ActiveSheet.Cells["N" + row.ToString()].Value = item.Sum(t => t.costo);
|
||||
this.fpSpread1.ActiveSheet.Cells["O" + row.ToString()].Value = item.Sum(t => t.costn);
|
||||
|
||||
this.fpSpread1.ActiveSheet.Cells["AM" + row.ToString()].Value = dr.userManager;
|
||||
|
||||
//1월수량
|
||||
var colZ = GetColIndex("Z");
|
||||
for (int ii = 0; ii < 12; ii++)
|
||||
{
|
||||
var psd = new DateTime(2021,ii+1,1);
|
||||
var ped = psd.AddMonths(1).AddDays(-1);
|
||||
var datas = item.Where(t => t.pdate.CompareTo(psd.ToShortDateString()) >= 0 && t.pdate.CompareTo(ped.ToShortDateString()) <= 0);
|
||||
var tCnt = datas.Count();
|
||||
this.fpSpread1.ActiveSheet.Cells[row, colZ + ii].Value = tCnt;// datas.Count();
|
||||
}
|
||||
|
||||
row += 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//var 분류목록 = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.분류) == false).OrderBy(t => t.분류).GroupBy(t => t.분류).ToList();
|
||||
|
||||
|
||||
//var 담당목록 = db.vGroupUser.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.processs == "전자실" && string.IsNullOrEmpty(t.state) == true).OrderBy(t => t.name).GroupBy(t => t.name);
|
||||
|
||||
|
||||
//var row = 1;
|
||||
//var col = 1;
|
||||
//var col0 = 1;
|
||||
//foreach (var item in 분류목록)
|
||||
//{
|
||||
// var dr = item.FirstOrDefault();
|
||||
// var cell = this.fpSpread1.Sheets[0].Cells[row, col + 0];
|
||||
// cell.Value = dr.분류;
|
||||
// cell.ColumnSpan = 2;
|
||||
// cell.BackColor = Color.SkyBlue;
|
||||
// cell.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
// cell.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
|
||||
// cell = this.fpSpread1.Sheets[0].Cells[row + 1, col + 0];
|
||||
// cell.Value = "건";
|
||||
// cell.BackColor = Color.Khaki;
|
||||
// cell.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
// cell.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
|
||||
// cell = this.fpSpread1.Sheets[0].Cells[row + 1, col + 1];
|
||||
// cell.Value = "시간";
|
||||
// cell.BackColor = Color.Khaki;
|
||||
// cell.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
// cell.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
|
||||
// col += 2;
|
||||
// col0 += 1;
|
||||
//}
|
||||
|
||||
////마지막 열에는 비용절감항목을 추가한다.
|
||||
//fpSpread1.Sheets[0].Cells[1, col].Value = "비용절감";
|
||||
//fpSpread1.Sheets[0].Cells[1, col].BackColor = Color.WhiteSmoke;
|
||||
//fpSpread1.Sheets[0].Cells[1, col].RowSpan = 2;
|
||||
//fpSpread1.Sheets[0].Cells[1, col].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
//fpSpread1.Sheets[0].Cells[1, col].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
|
||||
//var MaxCol = col0;
|
||||
//col = 0;
|
||||
//row = 3;
|
||||
//foreach (var item in 담당목록)
|
||||
//{
|
||||
// //var dr = item.KeY;
|
||||
// this.fpSpread1.Sheets[0].Cells[row, col].Value = item.Key;
|
||||
|
||||
// //이 담당자의 횟수를 읽어온다
|
||||
// for (int i = 1; i < MaxCol; i++)
|
||||
// {
|
||||
// var 분류명 = fpSpread1.Sheets[0].Cells[1, 1 + (i - 1) * 2].Value.ToString();
|
||||
// var 분류데이터 = 기간자료.Where(t => t.uid.Contains(item.Key) && t.분류 == 분류명);
|
||||
// var 건수 = 분류데이터.Count();
|
||||
// var 시간 = 분류데이터.Sum(t => t.RepairTime);
|
||||
// this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 1].Value = 건수;
|
||||
// this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 2].Value = 시간;
|
||||
// this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 2].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
// this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 2].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
|
||||
// this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 1].Column.Width = 50;
|
||||
// this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 2].Column.Width = 70;
|
||||
// }
|
||||
|
||||
// //이 담당자의 수리완료건의 비용절감비용을 가져온다
|
||||
// var 절감비용 = 기간자료.Where(t => t.uid.Contains(item.Key) && t.분류 == "수리완료" && string.IsNullOrEmpty(t.수리완료일) == false && string.IsNullOrEmpty(t.외주업체) == true).Sum(t => t.CostReduction);
|
||||
// this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].Value = 절감비용;
|
||||
// this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].BackColor = Color.WhiteSmoke;
|
||||
// this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
|
||||
// this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
|
||||
// row += 1;
|
||||
//}
|
||||
|
||||
//this.fpSpread1.Sheets[0].Cells[row, 0].Value = "합계";
|
||||
|
||||
|
||||
//for (int i = 1; i < MaxCol; i++)
|
||||
//{
|
||||
// var colIdx = (i - 1) * 2;
|
||||
// var c1 = (char)(65 + colIdx + 1);
|
||||
// var c2 = (char)(65 + colIdx + 2);
|
||||
// this.fpSpread1.Sheets[0].Cells[row, colIdx + 1].Formula = $"SUM({c1}4:{c1}" + row.ToString() + ")";
|
||||
// this.fpSpread1.Sheets[0].Cells[row, colIdx + 2].Formula = $"SUM({c2}4:{c2}" + row.ToString() + ")";
|
||||
//}
|
||||
//var c3 = (char)(65 + MaxCol * 2 - 1);
|
||||
//this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].Formula = $"SUM({c3}4:{c3}" + row.ToString() + ")";
|
||||
//this.fpSpread1.Sheets[0].Cells["A1"].Value = "Performance";
|
||||
//this.fpSpread1.Sheets[0].Cells["A1"].ColumnSpan = MaxCol * 2;
|
||||
//this.fpSpread1.Sheets[0].Cells["A2"].Value = "성명";
|
||||
//this.fpSpread1.Sheets[0].Cells["A2"].RowSpan = 2;
|
||||
|
||||
//this.fpSpread1.Sheets[0].Cells[$"A2:A{row}"].BackColor = Color.WhiteSmoke;
|
||||
|
||||
////합계필드 색상변경
|
||||
//this.fpSpread1.Sheets[0].Cells[$"A{row + 1}:{c3}{row + 1}"].BackColor = Color.WhiteSmoke;
|
||||
////this.fpSpread1.Sheets[0].Cells[$"A{row + 1}:{c3}{row + 1}"].Border =
|
||||
//// new FarPoint.Win.ComplexBorder(
|
||||
//// new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.MediumLine));
|
||||
|
||||
|
||||
////모든열을 중앙정렬한다
|
||||
|
||||
this.fpSpread1.ActiveSheetIndex = 0;
|
||||
this.fpSpread1.Invalidate();
|
||||
}
|
||||
|
||||
private void btSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
//파일저장
|
||||
var sd = new SaveFileDialog();
|
||||
sd.Filter = "excel|*.xls";
|
||||
if (sd.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
this.fpSpread1.SaveExcel(sd.FileName);
|
||||
}
|
||||
}
|
||||
|
||||
private void panel1_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
LoadExcel();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,135 +0,0 @@
|
||||
<?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="fpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>397, 17</value>
|
||||
</metadata>
|
||||
<metadata name="fpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>397, 17</value>
|
||||
</metadata>
|
||||
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>549, 17</value>
|
||||
</metadata>
|
||||
<metadata name="dsReport.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>611, 17</value>
|
||||
</metadata>
|
||||
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>713, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
4187
SubProject/FPJ0000/dsPRJ.Designer.cs
generated
4187
SubProject/FPJ0000/dsPRJ.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@@ -5,35 +5,5 @@
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DataSetUISetting Version="1.00" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<TableUISettings>
|
||||
<TableUISetting Name="EETGW_SaveCost">
|
||||
<ColumnUISettings>
|
||||
<ColumnUISetting Name="category">
|
||||
<ControlSettings><ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<BindableControlInfo Name="ComboBox" Type="System.Windows.Forms.ComboBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
</ControlSetting></ControlSettings>
|
||||
</ColumnUISetting>
|
||||
<ColumnUISetting Name="workgroup">
|
||||
<ControlSettings><ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<BindableControlInfo Name="ComboBox" Type="System.Windows.Forms.ComboBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
</ControlSetting></ControlSettings>
|
||||
</ColumnUISetting>
|
||||
<ColumnUISetting Name="site">
|
||||
<ControlSettings><ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<BindableControlInfo Name="ComboBox" Type="System.Windows.Forms.ComboBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
</ControlSetting></ControlSettings>
|
||||
</ColumnUISetting>
|
||||
<ColumnUISetting Name="subcate">
|
||||
<ControlSettings><ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<BindableControlInfo Name="ComboBox" Type="System.Windows.Forms.ComboBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
</ControlSetting></ControlSettings>
|
||||
</ColumnUISetting>
|
||||
<ColumnUISetting Name="eepart">
|
||||
<ControlSettings><ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
|
||||
<BindableControlInfo Name="ComboBox" Type="System.Windows.Forms.ComboBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
</ControlSetting></ControlSettings>
|
||||
</ColumnUISetting>
|
||||
</ColumnUISettings>
|
||||
</TableUISetting>
|
||||
</TableUISettings>
|
||||
<TableUISettings />
|
||||
</DataSetUISetting>
|
||||
@@ -1270,324 +1270,6 @@ SELECT idx, gcode, pdate, uid, description, description2, share, wuid, wdate FRO
|
||||
</Mappings>
|
||||
<Sources />
|
||||
</TableAdapter>
|
||||
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="EETGW_SaveCostTableAdapter" GeneratorDataComponentClassName="EETGW_SaveCostTableAdapter" Name="EETGW_SaveCost" UserDataComponentName="EETGW_SaveCostTableAdapter">
|
||||
<MainSource>
|
||||
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.EETGW_SaveCost" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
<DeleteCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>DELETE FROM [EETGW_SaveCost] WHERE (([idx] = @Original_idx) AND ([gcode] = @Original_gcode) AND ((@IsNull_isdel = 1 AND [isdel] IS NULL) OR ([isdel] = @Original_isdel)) AND ((@IsNull_asset = 1 AND [asset] IS NULL) OR ([asset] = @Original_asset)) AND ((@IsNull_process = 1 AND [process] IS NULL) OR ([process] = @Original_process)) AND ((@IsNull_part = 1 AND [part] IS NULL) OR ([part] = @Original_part)) AND ((@IsNull_pdate = 1 AND [pdate] IS NULL) OR ([pdate] = @Original_pdate)) AND ((@IsNull_name = 1 AND [name] IS NULL) OR ([name] = @Original_name)) AND ((@IsNull_userManager = 1 AND [userManager] IS NULL) OR ([userManager] = @Original_userManager)) AND ((@IsNull_usermain = 1 AND [usermain] IS NULL) OR ([usermain] = @Original_usermain)) AND ((@IsNull_reqstaff = 1 AND [reqstaff] IS NULL) OR ([reqstaff] = @Original_reqstaff)) AND ((@IsNull_costo = 1 AND [costo] IS NULL) OR ([costo] = @Original_costo)) AND ((@IsNull_costn = 1 AND [costn] IS NULL) OR ([costn] = @Original_costn)) AND ((@IsNull_cnt = 1 AND [cnt] IS NULL) OR ([cnt] = @Original_cnt)) AND ((@IsNull_edate = 1 AND [edate] IS NULL) OR ([edate] = @Original_edate)) AND ((@IsNull_progress = 1 AND [progress] IS NULL) OR ([progress] = @Original_progress)) AND ((@IsNull_memo = 1 AND [memo] IS NULL) OR ([memo] = @Original_memo)) AND ([wuid] = @Original_wuid) AND ([wdate] = @Original_wdate) AND ((@IsNull_orderno = 1 AND [orderno] IS NULL) OR ([orderno] = @Original_orderno)) AND ((@IsNull_userprocess = 1 AND [userprocess] IS NULL) OR ([userprocess] = @Original_userprocess)) AND ((@IsNull_category = 1 AND [category] IS NULL) OR ([category] = @Original_category)) AND ((@IsNull_status = 1 AND [status] IS NULL) OR ([status] = @Original_status)) AND ((@IsNull_workgroup = 1 AND [workgroup] IS NULL) OR ([workgroup] = @Original_workgroup)) AND ((@IsNull_site = 1 AND [site] IS NULL) OR ([site] = @Original_site)) AND ((@IsNull_subcate = 1 AND [subcate] IS NULL) OR ([subcate] = @Original_subcate)) AND ((@IsNull_eepart = 1 AND [eepart] IS NULL) OR ([eepart] = @Original_eepart)) AND ((@IsNull_fanout = 1 AND [fanout] IS NULL) OR ([fanout] = @Original_fanout)) AND ((@IsNull_weekly = 1 AND [weekly] IS NULL) OR ([weekly] = @Original_weekly)) AND ((@IsNull_bef_time = 1 AND [bef_time] IS NULL) OR ([bef_time] = @Original_bef_time)) AND ((@IsNull_aft_time = 1 AND [aft_time] IS NULL) OR ([aft_time] = @Original_aft_time)) AND ((@IsNull_sfi = 1 AND [sfi] IS NULL) OR ([sfi] = @Original_sfi)) AND ((@IsNull_sfi_type = 1 AND [sfi_type] IS NULL) OR ([sfi_type] = @Original_sfi_type)) AND ((@IsNull_sfi_savetime = 1 AND [sfi_savetime] IS NULL) OR ([sfi_savetime] = @Original_sfi_savetime)) AND ((@IsNull_sfi_savecount = 1 AND [sfi_savecount] IS NULL) OR ([sfi_savecount] = @Original_sfi_savecount)) AND ((@IsNull_sfi_shiftcount = 1 AND [sfi_shiftcount] IS NULL) OR ([sfi_shiftcount] = @Original_sfi_shiftcount)) AND ((@IsNull_sfic = 1 AND [sfic] IS NULL) OR ([sfic] = @Original_sfic)))</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_idx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_isdel" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="isdel" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_isdel" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="isdel" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_asset" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="asset" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_asset" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="asset" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_process" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="process" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_process" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="process" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_part" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="part" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_part" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="part" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_pdate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_name" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="name" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="name" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_userManager" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="userManager" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_userManager" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="userManager" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_usermain" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="usermain" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_usermain" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="usermain" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_reqstaff" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="reqstaff" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_reqstaff" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="reqstaff" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_costo" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="costo" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_costo" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="costo" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_costn" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="costn" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_costn" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="costn" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_cnt" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="cnt" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_cnt" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="cnt" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_edate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="edate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_edate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="edate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_progress" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="progress" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_progress" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="progress" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_memo" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_memo" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_orderno" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="orderno" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_orderno" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="orderno" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_userprocess" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="userprocess" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_userprocess" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="userprocess" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_category" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="category" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_category" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="category" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_status" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="status" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="status" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_workgroup" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="workgroup" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_workgroup" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="workgroup" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_site" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="site" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_site" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="site" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_subcate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="subcate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_subcate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="subcate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_eepart" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="eepart" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_eepart" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="eepart" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_fanout" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="fanout" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_fanout" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="fanout" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_weekly" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="weekly" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_weekly" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="weekly" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_bef_time" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="bef_time" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_bef_time" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="bef_time" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_aft_time" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="aft_time" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_aft_time" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="aft_time" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sfi" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sfi" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_sfi" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sfi_type" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sfi_type" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_sfi_type" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="sfi_type" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sfi_savetime" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sfi_savetime" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_sfi_savetime" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi_savetime" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sfi_savecount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sfi_savecount" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_sfi_savecount" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi_savecount" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sfi_shiftcount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sfi_shiftcount" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_sfi_shiftcount" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi_shiftcount" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sfic" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sfic" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_sfic" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfic" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</DeleteCommand>
|
||||
<InsertCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>INSERT INTO [EETGW_SaveCost] ([gcode], [isdel], [asset], [process], [part], [pdate], [name], [userManager], [usermain], [reqstaff], [costo], [costn], [cnt], [remark_req], [remark_ans], [edate], [progress], [memo], [wuid], [wdate], [orderno], [userprocess], [category], [status], [workgroup], [site], [subcate], [eepart], [fanout], [weekly], [bef_time], [aft_time], [sfi], [sfi_type], [sfi_savetime], [sfi_savecount], [sfi_shiftcount], [sfic]) VALUES (@gcode, @isdel, @asset, @process, @part, @pdate, @name, @userManager, @usermain, @reqstaff, @costo, @costn, @cnt, @remark_req, @remark_ans, @edate, @progress, @memo, @wuid, @wdate, @orderno, @userprocess, @category, @status, @workgroup, @site, @subcate, @eepart, @fanout, @weekly, @bef_time, @aft_time, @sfi, @sfi_type, @sfi_savetime, @sfi_savecount, @sfi_shiftcount, @sfic);
|
||||
SELECT idx, gcode, isdel, asset, process, part, pdate, name, userManager, usermain, reqstaff, costo, costn, cnt, remark_req, remark_ans, edate, progress, memo, wuid, wdate, orderno, userprocess, category, status, workgroup, site, subcate, eepart, fanout, weekly, bef_time, aft_time, sfi, sfi_type, sfi_savetime, sfi_savecount, sfi_shiftcount, sfic FROM EETGW_SaveCost WITH (nolock) WHERE (idx = SCOPE_IDENTITY()) ORDER BY pdate</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@isdel" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="isdel" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@asset" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="asset" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@process" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="process" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@part" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="part" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="name" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@userManager" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="userManager" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@usermain" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="usermain" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@reqstaff" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="reqstaff" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@costo" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="costo" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@costn" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="costn" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@cnt" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="cnt" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@remark_req" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="remark_req" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@remark_ans" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="remark_ans" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@edate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="edate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@progress" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="progress" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@memo" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@orderno" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="orderno" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@userprocess" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="userprocess" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@category" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="category" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="status" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@workgroup" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="workgroup" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@site" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="site" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@subcate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="subcate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@eepart" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="eepart" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@fanout" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="fanout" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@weekly" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="weekly" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@bef_time" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="bef_time" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@aft_time" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="aft_time" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@sfi" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@sfi_type" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="sfi_type" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@sfi_savetime" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi_savetime" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@sfi_savecount" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi_savecount" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@sfi_shiftcount" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi_shiftcount" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@sfic" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfic" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</InsertCommand>
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>SELECT idx, gcode, isdel, asset, process, part, pdate, name, userManager, usermain, reqstaff, costo, costn, cnt, remark_req, remark_ans, edate, progress, memo, wuid, wdate, orderno, userprocess,
|
||||
category, status, workgroup, site, subcate, eepart, fanout, weekly, bef_time, aft_time, sfi, sfi_type, sfi_savetime, sfi_savecount, sfi_shiftcount, sfic
|
||||
FROM EETGW_SaveCost WITH (nolock)
|
||||
WHERE (gcode = @gcode)
|
||||
ORDER BY pdate</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="gcode" ColumnName="gcode" DataSourceName="EE.dbo.EETGW_SaveCost" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
<UpdateCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="false">
|
||||
<CommandText>UPDATE [EETGW_SaveCost] SET [gcode] = @gcode, [isdel] = @isdel, [asset] = @asset, [process] = @process, [part] = @part, [pdate] = @pdate, [name] = @name, [userManager] = @userManager, [usermain] = @usermain, [reqstaff] = @reqstaff, [costo] = @costo, [costn] = @costn, [cnt] = @cnt, [remark_req] = @remark_req, [remark_ans] = @remark_ans, [edate] = @edate, [progress] = @progress, [memo] = @memo, [wuid] = @wuid, [wdate] = @wdate, [orderno] = @orderno, [userprocess] = @userprocess, [category] = @category, [status] = @status, [workgroup] = @workgroup, [site] = @site, [subcate] = @subcate, [eepart] = @eepart, [fanout] = @fanout, [weekly] = @weekly, [bef_time] = @bef_time, [aft_time] = @aft_time, [sfi] = @sfi, [sfi_type] = @sfi_type, [sfi_savetime] = @sfi_savetime, [sfi_savecount] = @sfi_savecount, [sfi_shiftcount] = @sfi_shiftcount, [sfic] = @sfic WHERE (([idx] = @Original_idx) AND ([gcode] = @Original_gcode) AND ((@IsNull_isdel = 1 AND [isdel] IS NULL) OR ([isdel] = @Original_isdel)) AND ((@IsNull_asset = 1 AND [asset] IS NULL) OR ([asset] = @Original_asset)) AND ((@IsNull_process = 1 AND [process] IS NULL) OR ([process] = @Original_process)) AND ((@IsNull_part = 1 AND [part] IS NULL) OR ([part] = @Original_part)) AND ((@IsNull_pdate = 1 AND [pdate] IS NULL) OR ([pdate] = @Original_pdate)) AND ((@IsNull_name = 1 AND [name] IS NULL) OR ([name] = @Original_name)) AND ((@IsNull_userManager = 1 AND [userManager] IS NULL) OR ([userManager] = @Original_userManager)) AND ((@IsNull_usermain = 1 AND [usermain] IS NULL) OR ([usermain] = @Original_usermain)) AND ((@IsNull_reqstaff = 1 AND [reqstaff] IS NULL) OR ([reqstaff] = @Original_reqstaff)) AND ((@IsNull_costo = 1 AND [costo] IS NULL) OR ([costo] = @Original_costo)) AND ((@IsNull_costn = 1 AND [costn] IS NULL) OR ([costn] = @Original_costn)) AND ((@IsNull_cnt = 1 AND [cnt] IS NULL) OR ([cnt] = @Original_cnt)) AND ((@IsNull_edate = 1 AND [edate] IS NULL) OR ([edate] = @Original_edate)) AND ((@IsNull_progress = 1 AND [progress] IS NULL) OR ([progress] = @Original_progress)) AND ((@IsNull_memo = 1 AND [memo] IS NULL) OR ([memo] = @Original_memo)) AND ([wuid] = @Original_wuid) AND ([wdate] = @Original_wdate) AND ((@IsNull_orderno = 1 AND [orderno] IS NULL) OR ([orderno] = @Original_orderno)) AND ((@IsNull_userprocess = 1 AND [userprocess] IS NULL) OR ([userprocess] = @Original_userprocess)) AND ((@IsNull_category = 1 AND [category] IS NULL) OR ([category] = @Original_category)) AND ((@IsNull_status = 1 AND [status] IS NULL) OR ([status] = @Original_status)) AND ((@IsNull_workgroup = 1 AND [workgroup] IS NULL) OR ([workgroup] = @Original_workgroup)) AND ((@IsNull_site = 1 AND [site] IS NULL) OR ([site] = @Original_site)) AND ((@IsNull_subcate = 1 AND [subcate] IS NULL) OR ([subcate] = @Original_subcate)) AND ((@IsNull_eepart = 1 AND [eepart] IS NULL) OR ([eepart] = @Original_eepart)) AND ((@IsNull_fanout = 1 AND [fanout] IS NULL) OR ([fanout] = @Original_fanout)) AND ((@IsNull_weekly = 1 AND [weekly] IS NULL) OR ([weekly] = @Original_weekly)) AND ((@IsNull_bef_time = 1 AND [bef_time] IS NULL) OR ([bef_time] = @Original_bef_time)) AND ((@IsNull_aft_time = 1 AND [aft_time] IS NULL) OR ([aft_time] = @Original_aft_time)) AND ((@IsNull_sfi = 1 AND [sfi] IS NULL) OR ([sfi] = @Original_sfi)) AND ((@IsNull_sfi_type = 1 AND [sfi_type] IS NULL) OR ([sfi_type] = @Original_sfi_type)) AND ((@IsNull_sfi_savetime = 1 AND [sfi_savetime] IS NULL) OR ([sfi_savetime] = @Original_sfi_savetime)) AND ((@IsNull_sfi_savecount = 1 AND [sfi_savecount] IS NULL) OR ([sfi_savecount] = @Original_sfi_savecount)) AND ((@IsNull_sfi_shiftcount = 1 AND [sfi_shiftcount] IS NULL) OR ([sfi_shiftcount] = @Original_sfi_shiftcount)) AND ((@IsNull_sfic = 1 AND [sfic] IS NULL) OR ([sfic] = @Original_sfic)));
|
||||
SELECT idx, gcode, isdel, asset, process, part, pdate, name, userManager, usermain, reqstaff, costo, costn, cnt, remark_req, remark_ans, edate, progress, memo, wuid, wdate, orderno, userprocess, category, status, workgroup, site, subcate, eepart, fanout, weekly, bef_time, aft_time, sfi, sfi_type, sfi_savetime, sfi_savecount, sfi_shiftcount, sfic FROM EETGW_SaveCost WITH (nolock) WHERE (idx = @idx) ORDER BY pdate</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@isdel" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="isdel" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@asset" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="asset" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@process" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="process" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@part" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="part" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="name" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@userManager" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="userManager" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@usermain" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="usermain" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@reqstaff" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="reqstaff" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@costo" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="costo" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@costn" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="costn" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@cnt" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="cnt" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@remark_req" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="remark_req" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@remark_ans" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="remark_ans" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@edate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="edate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@progress" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="progress" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@memo" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@orderno" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="orderno" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@userprocess" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="userprocess" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@category" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="category" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="status" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@workgroup" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="workgroup" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@site" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="site" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@subcate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="subcate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@eepart" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="eepart" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@fanout" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="fanout" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@weekly" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="weekly" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@bef_time" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="bef_time" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@aft_time" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="aft_time" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@sfi" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@sfi_type" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="sfi_type" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@sfi_savetime" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi_savetime" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@sfi_savecount" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi_savecount" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@sfi_shiftcount" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi_shiftcount" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@sfic" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfic" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_idx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_isdel" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="isdel" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_isdel" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="isdel" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_asset" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="asset" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_asset" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="asset" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_process" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="process" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_process" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="process" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_part" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="part" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_part" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="part" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_pdate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_name" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="name" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_name" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="name" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_userManager" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="userManager" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_userManager" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="userManager" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_usermain" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="usermain" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_usermain" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="usermain" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_reqstaff" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="reqstaff" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_reqstaff" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="reqstaff" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_costo" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="costo" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_costo" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="costo" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_costn" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="costn" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_costn" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="costn" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_cnt" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="cnt" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_cnt" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="cnt" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_edate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="edate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_edate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="edate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_progress" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="progress" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_progress" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="progress" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_memo" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_memo" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_orderno" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="orderno" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_orderno" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="orderno" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_userprocess" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="userprocess" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Original_userprocess" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="userprocess" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_category" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="category" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_category" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="category" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_status" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="status" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="status" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_workgroup" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="workgroup" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_workgroup" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="workgroup" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_site" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="site" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_site" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="site" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_subcate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="subcate" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_subcate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="subcate" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_eepart" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="eepart" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_eepart" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="eepart" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_fanout" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="fanout" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_fanout" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="fanout" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_weekly" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="weekly" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_weekly" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="weekly" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_bef_time" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="bef_time" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_bef_time" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="bef_time" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_aft_time" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="aft_time" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_aft_time" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="aft_time" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sfi" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sfi" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_sfi" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sfi_type" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sfi_type" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_sfi_type" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="sfi_type" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sfi_savetime" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sfi_savetime" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_sfi_savetime" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi_savetime" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sfi_savecount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sfi_savecount" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_sfi_savecount" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi_savecount" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sfi_shiftcount" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sfi_shiftcount" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_sfi_shiftcount" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfi_shiftcount" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_sfic" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="sfic" SourceColumnNullMapping="true" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_sfic" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="sfic" SourceColumnNullMapping="false" SourceVersion="Original" />
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="idx" ColumnName="idx" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@idx" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</UpdateCommand>
|
||||
</DbSource>
|
||||
</MainSource>
|
||||
<Mappings>
|
||||
<Mapping SourceColumn="idx" DataSetColumn="idx" />
|
||||
<Mapping SourceColumn="gcode" DataSetColumn="gcode" />
|
||||
<Mapping SourceColumn="isdel" DataSetColumn="isdel" />
|
||||
<Mapping SourceColumn="asset" DataSetColumn="asset" />
|
||||
<Mapping SourceColumn="process" DataSetColumn="process" />
|
||||
<Mapping SourceColumn="part" DataSetColumn="part" />
|
||||
<Mapping SourceColumn="pdate" DataSetColumn="pdate" />
|
||||
<Mapping SourceColumn="name" DataSetColumn="name" />
|
||||
<Mapping SourceColumn="userManager" DataSetColumn="userManager" />
|
||||
<Mapping SourceColumn="usermain" DataSetColumn="usermain" />
|
||||
<Mapping SourceColumn="reqstaff" DataSetColumn="reqstaff" />
|
||||
<Mapping SourceColumn="costo" DataSetColumn="costo" />
|
||||
<Mapping SourceColumn="costn" DataSetColumn="costn" />
|
||||
<Mapping SourceColumn="cnt" DataSetColumn="cnt" />
|
||||
<Mapping SourceColumn="remark_req" DataSetColumn="remark_req" />
|
||||
<Mapping SourceColumn="remark_ans" DataSetColumn="remark_ans" />
|
||||
<Mapping SourceColumn="edate" DataSetColumn="edate" />
|
||||
<Mapping SourceColumn="memo" DataSetColumn="memo" />
|
||||
<Mapping SourceColumn="wuid" DataSetColumn="wuid" />
|
||||
<Mapping SourceColumn="wdate" DataSetColumn="wdate" />
|
||||
<Mapping SourceColumn="orderno" DataSetColumn="orderno" />
|
||||
<Mapping SourceColumn="userprocess" DataSetColumn="userprocess" />
|
||||
<Mapping SourceColumn="progress" DataSetColumn="progress" />
|
||||
<Mapping SourceColumn="category" DataSetColumn="category" />
|
||||
<Mapping SourceColumn="status" DataSetColumn="status" />
|
||||
<Mapping SourceColumn="workgroup" DataSetColumn="workgroup" />
|
||||
<Mapping SourceColumn="site" DataSetColumn="site" />
|
||||
<Mapping SourceColumn="subcate" DataSetColumn="subcate" />
|
||||
<Mapping SourceColumn="eepart" DataSetColumn="eepart" />
|
||||
<Mapping SourceColumn="fanout" DataSetColumn="fanout" />
|
||||
<Mapping SourceColumn="weekly" DataSetColumn="weekly" />
|
||||
<Mapping SourceColumn="bef_time" DataSetColumn="bef_time" />
|
||||
<Mapping SourceColumn="aft_time" DataSetColumn="aft_time" />
|
||||
<Mapping SourceColumn="sfi" DataSetColumn="sfi" />
|
||||
<Mapping SourceColumn="sfi_type" DataSetColumn="sfi_type" />
|
||||
<Mapping SourceColumn="sfi_savetime" DataSetColumn="sfi_savetime" />
|
||||
<Mapping SourceColumn="sfi_savecount" DataSetColumn="sfi_savecount" />
|
||||
<Mapping SourceColumn="sfi_shiftcount" DataSetColumn="sfi_shiftcount" />
|
||||
<Mapping SourceColumn="sfic" DataSetColumn="sfic" />
|
||||
</Mappings>
|
||||
<Sources>
|
||||
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.EETGW_SaveCost" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByDate" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetByDate" GeneratorSourceName="FillByDate" GetMethodModifier="Public" GetMethodName="GetByDate" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetByDate" UserSourceName="FillByDate">
|
||||
<SelectCommand>
|
||||
<DbCommand CommandType="Text" ModifiedByUser="true">
|
||||
<CommandText>SELECT idx, gcode, isdel, asset, process, part, pdate, name, userManager, usermain, reqstaff, costo, costn, cnt, remark_req, remark_ans, edate, progress, memo, wuid, wdate, orderno, userprocess,
|
||||
category, status, workgroup, site, subcate, eepart, fanout, weekly, bef_time, aft_time, sfi, sfi_type, sfi_savetime, sfi_savecount, sfi_shiftcount, sfic
|
||||
FROM EETGW_SaveCost WITH (nolock)
|
||||
where gcode = @gcode
|
||||
and pdate between @sd and @ed
|
||||
ORDER BY pdate</CommandText>
|
||||
<Parameters>
|
||||
<Parameter AllowDbNull="false" AutogeneratedName="gcode" ColumnName="gcode" DataSourceName="EE.dbo.EETGW_SaveCost" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="sd" ColumnName="pdate" DataSourceName="EE.dbo.EETGW_SaveCost" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@sd" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
<Parameter AllowDbNull="true" AutogeneratedName="ed" ColumnName="pdate" DataSourceName="EE.dbo.EETGW_SaveCost" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@ed" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
|
||||
</Parameters>
|
||||
</DbCommand>
|
||||
</SelectCommand>
|
||||
</DbSource>
|
||||
</Sources>
|
||||
</TableAdapter>
|
||||
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="ProjectPartStatusTableAdapter" GeneratorDataComponentClassName="ProjectPartStatusTableAdapter" Name="ProjectPartStatus" UserDataComponentName="ProjectPartStatusTableAdapter">
|
||||
<MainSource>
|
||||
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.vProjectPartPurchase" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
|
||||
@@ -4070,190 +3752,6 @@ WHERE (gcode = @gcode) AND (cate = @cate) AND (uid = @uit) AND (sdate = @chkdt)
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="EETGW_SaveCost" msprop:Generator_UserTableName="EETGW_SaveCost" msprop:Generator_RowEvArgName="EETGW_SaveCostRowChangeEvent" msprop:Generator_TableVarName="tableEETGW_SaveCost" msprop:Generator_TablePropName="EETGW_SaveCost" msprop:Generator_RowDeletingName="EETGW_SaveCostRowDeleting" msprop:Generator_RowChangingName="EETGW_SaveCostRowChanging" msprop:Generator_RowDeletedName="EETGW_SaveCostRowDeleted" msprop:Generator_RowEvHandlerName="EETGW_SaveCostRowChangeEventHandler" msprop:Generator_TableClassName="EETGW_SaveCostDataTable" msprop:Generator_RowChangedName="EETGW_SaveCostRowChanged" msprop:Generator_RowClassName="EETGW_SaveCostRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="idx" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_UserColumnName="idx" type="xs:int" />
|
||||
<xs:element name="gcode" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_ColumnPropNameInRow="gcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_UserColumnName="gcode">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="isdel" msprop:Generator_ColumnVarNameInTable="columnisdel" msprop:Generator_ColumnPropNameInRow="isdel" msprop:Generator_ColumnPropNameInTable="isdelColumn" msprop:Generator_UserColumnName="isdel" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="asset" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="asset" msprop:Generator_ColumnVarNameInTable="columnasset" msprop:Generator_ColumnPropNameInTable="assetColumn" msprop:Generator_UserColumnName="asset" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="process" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="process" msprop:Generator_ColumnVarNameInTable="columnprocess" msprop:Generator_ColumnPropNameInTable="processColumn" msprop:Generator_UserColumnName="process" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="part" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="part" msprop:Generator_ColumnVarNameInTable="columnpart" msprop:Generator_ColumnPropNameInTable="partColumn" msprop:Generator_UserColumnName="part" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="pdate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_ColumnVarNameInTable="columnpdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:Generator_UserColumnName="pdate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="10" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="name" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" msprop:Generator_UserColumnName="name" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="255" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="userManager" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="userManager" msprop:Generator_ColumnVarNameInTable="columnuserManager" msprop:Generator_ColumnPropNameInTable="userManagerColumn" msprop:Generator_UserColumnName="userManager" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="usermain" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="usermain" msprop:Generator_ColumnVarNameInTable="columnusermain" msprop:Generator_ColumnPropNameInTable="usermainColumn" msprop:Generator_UserColumnName="usermain" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="reqstaff" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="reqstaff" msprop:Generator_ColumnVarNameInTable="columnreqstaff" msprop:Generator_ColumnPropNameInTable="reqstaffColumn" msprop:Generator_UserColumnName="reqstaff" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="costo" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="costo" msprop:Generator_ColumnVarNameInTable="columncosto" msprop:Generator_ColumnPropNameInTable="costoColumn" msprop:Generator_UserColumnName="costo" type="xs:double" minOccurs="0" />
|
||||
<xs:element name="costn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="costn" msprop:Generator_ColumnVarNameInTable="columncostn" msprop:Generator_ColumnPropNameInTable="costnColumn" msprop:Generator_UserColumnName="costn" type="xs:double" minOccurs="0" />
|
||||
<xs:element name="coste" msdata:ReadOnly="true" msdata:Expression="(costo-costn)*cnt" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="coste" msprop:Generator_ColumnVarNameInTable="columncoste" msprop:Generator_ColumnPropNameInTable="costeColumn" msprop:Generator_UserColumnName="coste" type="xs:double" minOccurs="0" />
|
||||
<xs:element name="cnt" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="cnt" msprop:Generator_ColumnVarNameInTable="columncnt" msprop:Generator_ColumnPropNameInTable="cntColumn" msprop:Generator_UserColumnName="cnt" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="remark_req" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="remark_req" msprop:Generator_ColumnVarNameInTable="columnremark_req" msprop:Generator_ColumnPropNameInTable="remark_reqColumn" msprop:Generator_UserColumnName="remark_req" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="remark_ans" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="remark_ans" msprop:Generator_ColumnVarNameInTable="columnremark_ans" msprop:Generator_ColumnPropNameInTable="remark_ansColumn" msprop:Generator_UserColumnName="remark_ans" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="2147483647" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="edate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="edate" msprop:Generator_ColumnVarNameInTable="columnedate" msprop:Generator_ColumnPropNameInTable="edateColumn" msprop:Generator_UserColumnName="edate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="memo" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="memo" msprop:Generator_ColumnVarNameInTable="columnmemo" msprop:Generator_ColumnPropNameInTable="memoColumn" msprop:Generator_UserColumnName="memo" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="255" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_UserColumnName="wuid">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
|
||||
<xs:element name="orderno" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="orderno" msprop:Generator_ColumnVarNameInTable="columnorderno" msprop:Generator_ColumnPropNameInTable="ordernoColumn" msprop:Generator_UserColumnName="orderno" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="userprocess" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="userprocess" msprop:Generator_ColumnVarNameInTable="columnuserprocess" msprop:Generator_ColumnPropNameInTable="userprocessColumn" msprop:Generator_UserColumnName="userprocess" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="progress" msprop:Generator_ColumnVarNameInTable="columnprogress" msprop:Generator_ColumnPropNameInRow="progress" msprop:Generator_ColumnPropNameInTable="progressColumn" msprop:Generator_UserColumnName="progress" type="xs:int" minOccurs="0" />
|
||||
<xs:element name="category" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="category" msprop:Generator_ColumnVarNameInTable="columncategory" msprop:Generator_ColumnPropNameInTable="categoryColumn" msprop:Generator_UserColumnName="category" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="status" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="status" msprop:Generator_ColumnVarNameInTable="columnstatus" msprop:Generator_ColumnPropNameInTable="statusColumn" msprop:Generator_UserColumnName="status" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="workgroup" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="workgroup" msprop:Generator_ColumnVarNameInTable="columnworkgroup" msprop:Generator_ColumnPropNameInTable="workgroupColumn" msprop:Generator_UserColumnName="workgroup" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="site" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="site" msprop:Generator_ColumnVarNameInTable="columnsite" msprop:Generator_ColumnPropNameInTable="siteColumn" msprop:Generator_UserColumnName="site" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="20" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="subcate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="subcate" msprop:Generator_ColumnVarNameInTable="columnsubcate" msprop:Generator_ColumnPropNameInTable="subcateColumn" msprop:Generator_UserColumnName="subcate" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="100" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="eepart" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="eepart" msprop:Generator_ColumnVarNameInTable="columneepart" msprop:Generator_ColumnPropNameInTable="eepartColumn" msprop:Generator_UserColumnName="eepart" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="50" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="fanout" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="fanout" msprop:Generator_ColumnVarNameInTable="columnfanout" msprop:Generator_ColumnPropNameInTable="fanoutColumn" msprop:Generator_UserColumnName="fanout" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="weekly" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="weekly" msprop:Generator_ColumnVarNameInTable="columnweekly" msprop:Generator_ColumnPropNameInTable="weeklyColumn" msprop:Generator_UserColumnName="weekly" type="xs:boolean" minOccurs="0" />
|
||||
<xs:element name="bef_time" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="bef_time" msprop:Generator_ColumnVarNameInTable="columnbef_time" msprop:Generator_ColumnPropNameInTable="bef_timeColumn" msprop:Generator_UserColumnName="bef_time" type="xs:double" minOccurs="0" />
|
||||
<xs:element name="aft_time" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="aft_time" msprop:Generator_ColumnVarNameInTable="columnaft_time" msprop:Generator_ColumnPropNameInTable="aft_timeColumn" msprop:Generator_UserColumnName="aft_time" type="xs:double" minOccurs="0" />
|
||||
<xs:element name="sfi" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="sfi" msprop:Generator_ColumnVarNameInTable="columnsfi" msprop:Generator_ColumnPropNameInTable="sfiColumn" msprop:Generator_UserColumnName="sfi" type="xs:double" minOccurs="0" />
|
||||
<xs:element name="sfi_type" msprop:Generator_ColumnVarNameInTable="columnsfi_type" msprop:Generator_ColumnPropNameInRow="sfi_type" msprop:Generator_ColumnPropNameInTable="sfi_typeColumn" msprop:Generator_UserColumnName="sfi_type" minOccurs="0">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="1" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="sfi_savetime" msprop:Generator_ColumnVarNameInTable="columnsfi_savetime" msprop:Generator_ColumnPropNameInRow="sfi_savetime" msprop:Generator_ColumnPropNameInTable="sfi_savetimeColumn" msprop:Generator_UserColumnName="sfi_savetime" type="xs:double" minOccurs="0" />
|
||||
<xs:element name="sfi_savecount" msprop:Generator_ColumnVarNameInTable="columnsfi_savecount" msprop:Generator_ColumnPropNameInRow="sfi_savecount" msprop:Generator_ColumnPropNameInTable="sfi_savecountColumn" msprop:Generator_UserColumnName="sfi_savecount" type="xs:double" minOccurs="0" />
|
||||
<xs:element name="sfi_shiftcount" msprop:Generator_ColumnVarNameInTable="columnsfi_shiftcount" msprop:Generator_ColumnPropNameInRow="sfi_shiftcount" msprop:Generator_ColumnPropNameInTable="sfi_shiftcountColumn" msprop:Generator_UserColumnName="sfi_shiftcount" type="xs:double" minOccurs="0" />
|
||||
<xs:element name="sfic" msprop:Generator_ColumnVarNameInTable="columnsfic" msprop:Generator_ColumnPropNameInRow="sfic" msprop:Generator_ColumnPropNameInTable="sficColumn" msprop:Generator_UserColumnName="sfic" type="xs:double" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ProjectPartStatus" msprop:Generator_UserTableName="ProjectPartStatus" msprop:Generator_RowEvArgName="ProjectPartStatusRowChangeEvent" msprop:Generator_TableVarName="tableProjectPartStatus" msprop:Generator_TablePropName="ProjectPartStatus" msprop:Generator_RowDeletingName="ProjectPartStatusRowDeleting" msprop:Generator_RowChangingName="ProjectPartStatusRowChanging" msprop:Generator_RowDeletedName="ProjectPartStatusRowDeleted" msprop:Generator_RowEvHandlerName="ProjectPartStatusRowChangeEventHandler" msprop:Generator_TableClassName="ProjectPartStatusDataTable" msprop:Generator_RowChangedName="ProjectPartStatusRowChanged" msprop:Generator_RowClassName="ProjectPartStatusRow">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
@@ -5246,10 +4744,6 @@ WHERE (gcode = @gcode) AND (cate = @cate) AND (uid = @uit) AND (sdate = @chkdt)
|
||||
<xs:selector xpath=".//mstns:SCTable" />
|
||||
<xs:field xpath="mstns:idx" />
|
||||
</xs:unique>
|
||||
<xs:unique name="EETGW_SaveCost_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:EETGW_SaveCost" />
|
||||
<xs:field xpath="mstns:idx" />
|
||||
</xs:unique>
|
||||
<xs:unique name="ProjectPartStatus_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
|
||||
<xs:selector xpath=".//mstns:ProjectPartStatus" />
|
||||
<xs:field xpath="mstns:idx" />
|
||||
|
||||
@@ -4,31 +4,30 @@
|
||||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="0" ViewPortY="19" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="282" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<Shapes>
|
||||
<Shape ID="DesignTable:Projects" ZOrder="1" X="386" Y="651" Height="381" Width="261" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:ProjectsIOMap" ZOrder="17" X="366" Y="70" Height="229" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
|
||||
<Shape ID="DesignTable:ProjectsMailList" ZOrder="23" X="667" Y="70" Height="248" Width="237" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
|
||||
<Shape ID="DesignTable:ProjectsPart" ZOrder="13" X="973" Y="68" Height="381" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="275" />
|
||||
<Shape ID="DesignTable:ProjectsHistory" ZOrder="22" X="1881" Y="31" Height="267" Width="251" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
|
||||
<Shape ID="DesignTable:SPMaster" ZOrder="18" X="365" Y="305" Height="305" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:EETGW_Note" ZOrder="20" X="810" Y="455" Height="248" Width="245" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
|
||||
<Shape ID="DesignTable:EETGW_SaveCost" ZOrder="7" X="75" Y="490" Height="324" Width="277" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:ProjectPartStatus" ZOrder="14" X="1081" Y="466" Height="362" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:EETGW_ProjecthistoryD" ZOrder="19" X="680" Y="203" Height="248" Width="283" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
|
||||
<Shape ID="DesignTable:EETGW_ProjectToDo" ZOrder="16" X="89" Y="808" Height="305" Width="265" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:ProjectsIOMap" ZOrder="16" X="366" Y="70" Height="229" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
|
||||
<Shape ID="DesignTable:ProjectsMailList" ZOrder="22" X="667" Y="70" Height="248" Width="237" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
|
||||
<Shape ID="DesignTable:ProjectsPart" ZOrder="12" X="973" Y="68" Height="381" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="275" />
|
||||
<Shape ID="DesignTable:ProjectsHistory" ZOrder="21" X="1881" Y="31" Height="267" Width="251" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
|
||||
<Shape ID="DesignTable:SPMaster" ZOrder="17" X="365" Y="305" Height="305" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:EETGW_Note" ZOrder="19" X="810" Y="455" Height="248" Width="245" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
|
||||
<Shape ID="DesignTable:ProjectPartStatus" ZOrder="13" X="1081" Y="466" Height="362" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:EETGW_ProjecthistoryD" ZOrder="18" X="680" Y="203" Height="248" Width="283" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
|
||||
<Shape ID="DesignTable:EETGW_ProjectToDo" ZOrder="15" X="89" Y="808" Height="305" Width="265" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:EETGW_JobReport_AutoInput" ZOrder="3" X="702" Y="688" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:EETGW_ProjectsSchedule" ZOrder="6" X="1574" Y="32" Height="324" Width="291" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:EETGW_ProjectReson" ZOrder="4" X="1561" Y="590" Height="267" Width="269" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
|
||||
<Shape ID="DesignTable:vJobReportForUserList" ZOrder="15" X="590" Y="464" Height="115" Width="257" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:vJobReportForUserList" ZOrder="14" X="590" Y="464" Height="115" Width="257" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
|
||||
<Shape ID="DesignTable:JobReport" ZOrder="2" X="1916" Y="400" Height="362" Width="259" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:vEETGW_Project_LayoutList" ZOrder="12" X="1257" Y="353" Height="187" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="97" />
|
||||
<Shape ID="DesignTable:EETGW_Project_Layout" ZOrder="11" X="1200" Y="77" Height="263" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="173" />
|
||||
<Shape ID="DesignTable:EETGW_DocuForm" ZOrder="9" X="358" Y="649" Height="229" Width="288" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
|
||||
<Shape ID="DesignTable:Auth" ZOrder="8" X="1552" Y="450" Height="324" Width="251" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:vEETGW_Project_LayoutList" ZOrder="11" X="1257" Y="353" Height="187" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="97" />
|
||||
<Shape ID="DesignTable:EETGW_Project_Layout" ZOrder="10" X="1200" Y="77" Height="263" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="173" />
|
||||
<Shape ID="DesignTable:EETGW_DocuForm" ZOrder="8" X="358" Y="649" Height="229" Width="288" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
|
||||
<Shape ID="DesignTable:Auth" ZOrder="7" X="1552" Y="450" Height="324" Width="251" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
|
||||
<Shape ID="DesignTable:EETGW_ProjectsSchedule_NoList" ZOrder="5" X="1362" Y="121" Height="96" Width="299" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="46" />
|
||||
<Shape ID="DesignTable:SCTable" ZOrder="10" X="76" Y="362" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
|
||||
<Shape ID="DesignSources:QueriesTableAdapter" ZOrder="21" X="2138" Y="50" Height="105" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
|
||||
<Shape ID="DesignTable:SCTable" ZOrder="9" X="76" Y="362" Height="144" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
|
||||
<Shape ID="DesignSources:QueriesTableAdapter" ZOrder="20" X="2138" Y="50" Height="105" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
|
||||
</Shapes>
|
||||
<Connectors />
|
||||
</DiagramLayout>
|
||||
1
SubProject/FPJ0000/fMailList.Designer.cs
generated
1
SubProject/FPJ0000/fMailList.Designer.cs
generated
@@ -516,7 +516,6 @@
|
||||
this.tam.EETGW_ProjectResonTableAdapter = null;
|
||||
this.tam.EETGW_ProjectsScheduleTableAdapter = null;
|
||||
this.tam.EETGW_ProjectToDoTableAdapter = null;
|
||||
this.tam.EETGW_SaveCostTableAdapter = null;
|
||||
this.tam.JobReportTableAdapter = null;
|
||||
this.tam.ProjectPartStatusTableAdapter = null;
|
||||
this.tam.ProjectsHistoryTableAdapter = null;
|
||||
|
||||
Reference in New Issue
Block a user