feat: 게시판 댓글/답글 시스템 및 대시보드 개선

주요 변경사항:
- 게시판 계층형 댓글/답글 시스템 구현
  - DB: root_idx, depth, thread_path, is_comment, reply_count 컬럼 추가
  - 트리거: 댓글 개수 자동 업데이트
  - 답글(is_comment=false)은 목록에 표시, 댓글(is_comment=true)은 뷰어에만 표시
  - ESC 키로 모달 닫기 기능

- 업무일지 개선
  - 프로젝트 선택 시 최종 설정 자동 불러오기
  - 복사 시 jobgrp, tag 포함
  - 완료(보고) 상태 프로젝트도 검색 가능하도록 수정

- 대시보드 개선
  - 할일 목록 페이징 추가 (6개씩)
  - 할일에 요청자 정보 표시 (제목 좌측에 괄호로)
This commit is contained in:
backuppc
2025-12-03 10:10:29 +09:00
parent 3d53a5c42f
commit c1c615fe1b
86 changed files with 10612 additions and 36377 deletions

View File

@@ -0,0 +1,327 @@
-- =============================================
-- EETGW_Board 테이블 구조 변경: 댓글/답글 시스템 추가
-- 작성일: 2025-12-03
-- 설명: 계층형 댓글/답글을 효율적으로 관리하기 위한 컬럼 추가
-- =============================================
USE [EETGW]
GO
PRINT '=== Starting EETGW_Board structure update ===';
PRINT 'Timestamp: ' + CONVERT(VARCHAR(20), GETDATE(), 120);
GO
-- 1. 기존 테이블 백업
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'EETGW_Board_Backup_20251203')
BEGIN
SELECT * INTO EETGW_Board_Backup_20251203 FROM EETGW_Board;
PRINT '✓ Backup created: EETGW_Board_Backup_20251203';
END
ELSE
BEGIN
PRINT '⚠ Backup already exists: EETGW_Board_Backup_20251203';
END
GO
-- 2. 새로운 컬럼 추가
PRINT '';
PRINT '--- Adding new columns ---';
-- root_idx: 최상위 원글의 idx (답글/댓글이 어느 글에 속하는지)
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('EETGW_Board') AND name = 'root_idx')
BEGIN
ALTER TABLE EETGW_Board ADD root_idx INT NULL;
PRINT '✓ Added column: root_idx (최상위 원글 idx)';
END
ELSE
BEGIN
PRINT '⊙ Column already exists: root_idx';
END
GO
-- depth: 댓글 깊이 (0=원글, 1=1차댓글, 2=2차댓글...)
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('EETGW_Board') AND name = 'depth')
BEGIN
ALTER TABLE EETGW_Board ADD depth INT NOT NULL DEFAULT 0;
PRINT '✓ Added column: depth (댓글 깊이)';
END
ELSE
BEGIN
PRINT '⊙ Column already exists: depth';
END
GO
-- sort_order: 같은 레벨에서의 정렬 순서
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('EETGW_Board') AND name = 'sort_order')
BEGIN
ALTER TABLE EETGW_Board ADD sort_order INT NOT NULL DEFAULT 0;
PRINT '✓ Added column: sort_order (정렬 순서)';
END
ELSE
BEGIN
PRINT '⊙ Column already exists: sort_order';
END
GO
-- thread_path: 계층 경로 (예: "1/5/12" - 빠른 정렬과 조회용)
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('EETGW_Board') AND name = 'thread_path')
BEGIN
ALTER TABLE EETGW_Board ADD thread_path VARCHAR(1000) NULL;
PRINT '✓ Added column: thread_path (계층 경로)';
END
ELSE
BEGIN
PRINT '⊙ Column already exists: thread_path';
END
GO
-- is_comment: 댓글 여부 (true=댓글형식, false=답글형식)
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('EETGW_Board') AND name = 'is_comment')
BEGIN
ALTER TABLE EETGW_Board ADD is_comment BIT NOT NULL DEFAULT 0;
PRINT '✓ Added column: is_comment (댓글/답글 구분)';
END
ELSE
BEGIN
PRINT '⊙ Column already exists: is_comment';
END
GO
-- reply_count: 하위 댓글/답글 개수 (캐시용)
IF NOT EXISTS (SELECT * FROM sys.columns WHERE object_id = OBJECT_ID('EETGW_Board') AND name = 'reply_count')
BEGIN
ALTER TABLE EETGW_Board ADD reply_count INT NOT NULL DEFAULT 0;
PRINT '✓ Added column: reply_count (댓글 개수 캐시)';
END
ELSE
BEGIN
PRINT '⊙ Column already exists: reply_count';
END
GO
-- 3. 기존 데이터 마이그레이션
PRINT '';
PRINT '--- Migrating existing data ---';
-- 원글(pidx가 0이거나 NULL인 경우)
UPDATE EETGW_Board
SET
root_idx = idx,
depth = 0,
thread_path = CAST(idx AS VARCHAR(20)),
sort_order = 0,
is_comment = 0
WHERE ISNULL(pidx, 0) = 0 AND (root_idx IS NULL OR thread_path IS NULL);
DECLARE @originalCount INT = @@ROWCOUNT;
PRINT '✓ Updated ' + CAST(@originalCount AS VARCHAR(10)) + ' original posts (depth=0)';
-- 답글(pidx가 있는 경우) - 1depth만 처리
UPDATE b
SET
root_idx = ISNULL(p.root_idx, b.pidx),
depth = CASE WHEN p.depth IS NULL THEN 1 ELSE p.depth + 1 END,
thread_path = ISNULL(p.thread_path, CAST(b.pidx AS VARCHAR(20))) + '/' + CAST(b.idx AS VARCHAR(20)),
sort_order = 0,
is_comment = 0
FROM EETGW_Board b
LEFT JOIN EETGW_Board p ON b.pidx = p.idx
WHERE ISNULL(b.pidx, 0) > 0 AND (b.root_idx IS NULL OR b.thread_path IS NULL);
DECLARE @replyCount INT = @@ROWCOUNT;
PRINT '✓ Updated ' + CAST(@replyCount AS VARCHAR(10)) + ' reply posts';
GO
-- 4. 인덱스 추가 (성능 최적화)
PRINT '';
PRINT '--- Creating indexes ---';
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_EETGW_Board_root_idx_thread_path')
BEGIN
CREATE INDEX IX_EETGW_Board_root_idx_thread_path
ON EETGW_Board(root_idx, thread_path);
PRINT '✓ Created index: IX_EETGW_Board_root_idx_thread_path';
END
ELSE
BEGIN
PRINT '⊙ Index already exists: IX_EETGW_Board_root_idx_thread_path';
END
GO
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_EETGW_Board_pidx')
BEGIN
CREATE INDEX IX_EETGW_Board_pidx
ON EETGW_Board(pidx);
PRINT '✓ Created index: IX_EETGW_Board_pidx';
END
ELSE
BEGIN
PRINT '⊙ Index already exists: IX_EETGW_Board_pidx';
END
GO
IF NOT EXISTS (SELECT * FROM sys.indexes WHERE name = 'IX_EETGW_Board_bidx_wdate')
BEGIN
CREATE INDEX IX_EETGW_Board_bidx_wdate
ON EETGW_Board(bidx, wdate DESC);
PRINT '✓ Created index: IX_EETGW_Board_bidx_wdate';
END
ELSE
BEGIN
PRINT '⊙ Index already exists: IX_EETGW_Board_bidx_wdate';
END
GO
-- 5. reply_count 업데이트 (기존 데이터 기준)
PRINT '';
PRINT '--- Updating reply counts ---';
UPDATE p
SET reply_count = (
SELECT COUNT(*)
FROM EETGW_Board c
WHERE c.root_idx = p.idx AND c.depth > 0
)
FROM EETGW_Board p
WHERE p.depth = 0;
DECLARE @updatedRootPosts INT = @@ROWCOUNT;
PRINT '✓ Updated reply_count for ' + CAST(@updatedRootPosts AS VARCHAR(10)) + ' root posts';
GO
-- 6. 트리거 생성 (reply_count 자동 업데이트)
PRINT '';
PRINT '--- Creating triggers ---';
IF EXISTS (SELECT * FROM sys.triggers WHERE name = 'TR_EETGW_Board_AfterInsert')
BEGIN
DROP TRIGGER TR_EETGW_Board_AfterInsert;
PRINT '⊙ Dropped existing trigger: TR_EETGW_Board_AfterInsert';
END
GO
CREATE TRIGGER TR_EETGW_Board_AfterInsert
ON EETGW_Board
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
-- 댓글/답글이 추가된 경우 root_idx의 reply_count 증가
UPDATE b
SET b.reply_count = b.reply_count + 1
FROM EETGW_Board b
INNER JOIN inserted i ON b.idx = i.root_idx
WHERE i.root_idx IS NOT NULL AND i.depth > 0;
END
GO
PRINT '✓ Created trigger: TR_EETGW_Board_AfterInsert';
GO
IF EXISTS (SELECT * FROM sys.triggers WHERE name = 'TR_EETGW_Board_AfterDelete')
BEGIN
DROP TRIGGER TR_EETGW_Board_AfterDelete;
PRINT '⊙ Dropped existing trigger: TR_EETGW_Board_AfterDelete';
END
GO
CREATE TRIGGER TR_EETGW_Board_AfterDelete
ON EETGW_Board
AFTER DELETE
AS
BEGIN
SET NOCOUNT ON;
-- 댓글/답글이 삭제된 경우 root_idx의 reply_count 감소
UPDATE b
SET b.reply_count = b.reply_count - 1
FROM EETGW_Board b
INNER JOIN deleted d ON b.idx = d.root_idx
WHERE d.root_idx IS NOT NULL AND d.depth > 0 AND b.reply_count > 0;
END
GO
PRINT '✓ Created trigger: TR_EETGW_Board_AfterDelete';
GO
-- 7. 조회용 뷰 생성 (옵션)
PRINT '';
PRINT '--- Creating views ---';
IF EXISTS (SELECT * FROM sys.views WHERE name = 'vEETGW_Board_WithReplies')
BEGIN
DROP VIEW vEETGW_Board_WithReplies;
PRINT '⊙ Dropped existing view: vEETGW_Board_WithReplies';
END
GO
CREATE VIEW vEETGW_Board_WithReplies
AS
SELECT
b.idx,
b.bidx,
b.header,
b.cate,
b.title,
b.contents,
b.[file],
b.guid,
b.url,
b.wuid,
b.wdate,
b.project,
b.pidx,
b.gcode,
b.[close],
b.remark,
b.root_idx,
b.depth,
b.sort_order,
b.thread_path,
b.is_comment,
b.reply_count,
dbo.getUserName(b.wuid) AS wuid_name,
CASE WHEN b.depth = 0 THEN b.idx ELSE b.root_idx END AS display_root_idx
FROM EETGW_Board b;
GO
PRINT '✓ Created view: vEETGW_Board_WithReplies';
GO
-- 8. 검증 쿼리
PRINT '';
PRINT '--- Verification ---';
DECLARE @totalPosts INT = (SELECT COUNT(*) FROM EETGW_Board);
DECLARE @rootPosts INT = (SELECT COUNT(*) FROM EETGW_Board WHERE depth = 0);
DECLARE @replyPosts INT = (SELECT COUNT(*) FROM EETGW_Board WHERE depth > 0);
PRINT 'Total posts: ' + CAST(@totalPosts AS VARCHAR(10));
PRINT 'Root posts (depth=0): ' + CAST(@rootPosts AS VARCHAR(10));
PRINT 'Reply posts (depth>0): ' + CAST(@replyPosts AS VARCHAR(10));
GO
PRINT '';
PRINT '=== EETGW_Board structure update completed successfully ===';
PRINT '';
PRINT '📋 New columns added:';
PRINT ' • root_idx: 최상위 원글 idx';
PRINT ' • depth: 댓글 깊이 (0=원글, 1=1차댓글, 2=2차댓글...)';
PRINT ' • sort_order: 같은 레벨에서 정렬 순서';
PRINT ' • thread_path: 계층 경로 (빠른 정렬용)';
PRINT ' • is_comment: 댓글 타입 (0=답글, 1=댓글)';
PRINT ' • reply_count: 하위 댓글 개수';
PRINT '';
PRINT '📝 Usage examples:';
PRINT ' -- 원글 목록 (댓글 개수 포함)';
PRINT ' SELECT * FROM EETGW_Board WHERE bidx = 5 AND depth = 0 ORDER BY wdate DESC;';
PRINT '';
PRINT ' -- 특정 글의 전체 댓글 (계층 구조 유지)';
PRINT ' SELECT * FROM EETGW_Board WHERE root_idx = 123 ORDER BY thread_path, wdate;';
PRINT '';
PRINT ' -- 1depth 댓글만 조회';
PRINT ' SELECT * FROM EETGW_Board WHERE root_idx = 123 AND depth = 1 ORDER BY wdate;';
PRINT '';
PRINT '✅ Migration completed at: ' + CONVERT(VARCHAR(20), GETDATE(), 120);
GO

View File

@@ -29,21 +29,27 @@ namespace Project.Web
var sql = @"
SELECT idx, bidx, header, cate, title, contents, [file], guid, url, wuid, wdate, project, pidx, gcode, [close], remark,
root_idx, depth, sort_order, thread_path, is_comment, reply_count,
dbo.getUserName(wuid) AS wuid_name
FROM Board WITH (nolock)
WHERE gcode = @gcode AND bidx = @bidx
FROM EETGW_Board WITH (nolock)
WHERE gcode = @gcode AND bidx = @bidx AND (is_comment IS NULL OR is_comment = 0)
AND (ISNULL(title,'') LIKE @search OR ISNULL(contents,'') LIKE @search OR ISNULL(wuid,'') LIKE @search)
ORDER BY wdate DESC";
ORDER BY
CASE WHEN root_idx IS NULL THEN idx ELSE root_idx END DESC,
thread_path ASC";
if(bidx == 5) //패치내역은 모두가 다 확인할 수있도록 그룹코드를 제한하지 않는다
{
sql = @"
SELECT idx, bidx, header, cate, title, contents, [file], guid, url, wuid, wdate, project, pidx, gcode, [close], remark,
root_idx, depth, sort_order, thread_path, is_comment, reply_count,
dbo.getUserName(wuid) AS wuid_name
FROM Board WITH (nolock)
WHERE bidx = @bidx
FROM EETGW_Board WITH (nolock)
WHERE bidx = @bidx AND (is_comment IS NULL OR is_comment = 0)
AND (ISNULL(title,'') LIKE @search OR ISNULL(contents,'') LIKE @search OR ISNULL(wuid,'') LIKE @search)
ORDER BY wdate DESC";
ORDER BY
CASE WHEN root_idx IS NULL THEN idx ELSE root_idx END DESC,
thread_path ASC";
}
var cmd = new SqlCommand(sql, conn);
@@ -75,7 +81,13 @@ namespace Project.Web
gcode = reader.IsDBNull(13) ? "" : reader.GetString(13),
close = reader.IsDBNull(14) ? false : reader.GetBoolean(14),
remark = reader.IsDBNull(15) ? "" : reader.GetString(15),
wuid_name = reader.IsDBNull(16) ? "" : reader.GetString(16)
root_idx = reader.IsDBNull(16) ? (int?)null : reader.GetInt32(16),
depth = reader.IsDBNull(17) ? 0 : reader.GetInt32(17),
sort_order = reader.IsDBNull(18) ? 0 : reader.GetInt32(18),
thread_path = reader.IsDBNull(19) ? "" : reader.GetString(19),
is_comment = reader.IsDBNull(20) ? false : reader.GetBoolean(20),
reply_count = reader.IsDBNull(21) ? 0 : reader.GetInt32(21),
wuid_name = reader.IsDBNull(22) ? "" : reader.GetString(22)
});
}
}
@@ -108,8 +120,9 @@ namespace Project.Web
var cmd = new SqlCommand(@"
SELECT idx, bidx, header, cate, title, contents, [file], guid, url, wuid, wdate, project, pidx, gcode, [close], remark,
root_idx, depth, sort_order, thread_path, is_comment, reply_count,
dbo.getUserName(wuid) AS wuid_name
FROM Board WITH (nolock)
FROM EETGW_Board WITH (nolock)
WHERE idx = @idx AND gcode = @gcode", conn);
cmd.Parameters.Add("@idx", SqlDbType.Int).Value = idx;
@@ -137,7 +150,13 @@ namespace Project.Web
gcode = reader.IsDBNull(13) ? "" : reader.GetString(13),
close = reader.IsDBNull(14) ? false : reader.GetBoolean(14),
remark = reader.IsDBNull(15) ? "" : reader.GetString(15),
wuid_name = reader.IsDBNull(16) ? "" : reader.GetString(16)
root_idx = reader.IsDBNull(16) ? (int?)null : reader.GetInt32(16),
depth = reader.IsDBNull(17) ? 0 : reader.GetInt32(17),
sort_order = reader.IsDBNull(18) ? 0 : reader.GetInt32(18),
thread_path = reader.IsDBNull(19) ? "" : reader.GetString(19),
is_comment = reader.IsDBNull(20) ? false : reader.GetBoolean(20),
reply_count = reader.IsDBNull(21) ? 0 : reader.GetInt32(21),
wuid_name = reader.IsDBNull(22) ? "" : reader.GetString(22)
};
return JsonConvert.SerializeObject(new { Success = true, Data = data });
@@ -173,9 +192,12 @@ namespace Project.Web
conn.Open();
var cmd = new SqlCommand(@"
INSERT INTO Board (bidx, header, cate, title, contents, wuid, wdate, gcode)
VALUES (@bidx, @header, @cate, @title, @contents, @wuid, GETDATE(), @gcode);
SELECT SCOPE_IDENTITY();", conn);
DECLARE @newIdx INT;
INSERT INTO EETGW_Board (bidx, header, cate, title, contents, wuid, wdate, gcode, depth, root_idx, thread_path, is_comment)
VALUES (@bidx, @header, @cate, @title, @contents, @wuid, GETDATE(), @gcode, 0, NULL, NULL, 0);
SET @newIdx = SCOPE_IDENTITY();
UPDATE EETGW_Board SET root_idx = @newIdx, thread_path = CAST(@newIdx AS VARCHAR(20)) WHERE idx = @newIdx;
SELECT @newIdx;", conn);
cmd.Parameters.Add("@bidx", SqlDbType.Int).Value = bidx;
cmd.Parameters.Add("@header", SqlDbType.NVarChar).Value = string.IsNullOrEmpty(header) ? (object)DBNull.Value : header;
@@ -214,7 +236,7 @@ namespace Project.Web
conn.Open();
// 권한 확인: 작성자 본인이거나 레벨 9 이상만 수정 가능
var checkCmd = new SqlCommand("SELECT wuid FROM Board WHERE idx = @idx", conn);
var checkCmd = new SqlCommand("SELECT wuid FROM EETGW_Board WHERE idx = @idx", conn);
checkCmd.Parameters.Add("@idx", SqlDbType.Int).Value = idx;
var originalWuid = checkCmd.ExecuteScalar()?.ToString();
@@ -224,7 +246,7 @@ namespace Project.Web
}
var cmd = new SqlCommand(@"
UPDATE Board
UPDATE EETGW_Board
SET header = @header, cate = @cate, title = @title, contents = @contents
WHERE idx = @idx", conn);
@@ -270,7 +292,7 @@ namespace Project.Web
conn.Open();
// 권한 확인: 작성자 본인이거나 레벨 9 이상만 삭제 가능
var checkCmd = new SqlCommand("SELECT wuid FROM Board WHERE idx = @idx", conn);
var checkCmd = new SqlCommand("SELECT wuid FROM EETGW_Board WHERE idx = @idx", conn);
checkCmd.Parameters.Add("@idx", SqlDbType.Int).Value = idx;
var originalWuid = checkCmd.ExecuteScalar()?.ToString();
@@ -279,7 +301,7 @@ namespace Project.Web
return JsonConvert.SerializeObject(new { Success = false, Message = "삭제 권한이 없습니다." });
}
var cmd = new SqlCommand("DELETE FROM Board WHERE idx = @idx", conn);
var cmd = new SqlCommand("DELETE FROM EETGW_Board WHERE idx = @idx", conn);
cmd.Parameters.Add("@idx", SqlDbType.Int).Value = idx;
var affected = cmd.ExecuteNonQuery();
@@ -299,5 +321,150 @@ namespace Project.Web
return JsonConvert.SerializeObject(new { Success = false, Message = ex.Message });
}
}
/// <summary>
/// 댓글 목록 조회 (is_comment=true만)
/// </summary>
public string Board_GetReplies(int rootIdx)
{
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, bidx, header, cate, title, contents, [file], guid, url, wuid, wdate, project, pidx, gcode, [close], remark,
root_idx, depth, sort_order, thread_path, is_comment, reply_count,
dbo.getUserName(wuid) AS wuid_name
FROM EETGW_Board WITH (nolock)
WHERE root_idx = @rootIdx AND depth > 0 AND is_comment = 1
ORDER BY thread_path, wdate", conn);
cmd.Parameters.Add("@rootIdx", SqlDbType.Int).Value = rootIdx;
var list = new List<object>();
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
list.Add(new
{
idx = reader.GetInt32(0),
bidx = reader.GetInt32(1),
header = reader.IsDBNull(2) ? "" : (reader.GetBoolean(2) ? "공지" : ""),
cate = reader.IsDBNull(3) ? "" : reader.GetString(3),
title = reader.IsDBNull(4) ? "" : reader.GetString(4),
contents = reader.IsDBNull(5) ? "" : reader.GetString(5),
file = reader.IsDBNull(6) ? "" : reader.GetString(6),
guid = reader.IsDBNull(7) ? "" : reader.GetString(7),
url = reader.IsDBNull(8) ? "" : reader.GetString(8),
wuid = reader.IsDBNull(9) ? "" : reader.GetString(9),
wdate = reader.IsDBNull(10) ? (DateTime?)null : reader.GetDateTime(10),
project = reader.IsDBNull(11) ? "" : reader.GetInt32(11).ToString(),
pidx = reader.IsDBNull(12) ? -1 : reader.GetInt32(12),
gcode = reader.IsDBNull(13) ? "" : reader.GetString(13),
close = reader.IsDBNull(14) ? false : reader.GetBoolean(14),
remark = reader.IsDBNull(15) ? "" : reader.GetString(15),
root_idx = reader.IsDBNull(16) ? (int?)null : reader.GetInt32(16),
depth = reader.IsDBNull(17) ? 0 : reader.GetInt32(17),
sort_order = reader.IsDBNull(18) ? 0 : reader.GetInt32(18),
thread_path = reader.IsDBNull(19) ? "" : reader.GetString(19),
is_comment = reader.IsDBNull(20) ? false : reader.GetBoolean(20),
reply_count = reader.IsDBNull(21) ? 0 : reader.GetInt32(21),
wuid_name = reader.IsDBNull(22) ? "" : reader.GetString(22)
});
}
}
return JsonConvert.SerializeObject(new { Success = true, Data = list });
}
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(new { Success = false, Message = ex.Message });
}
}
/// <summary>
/// 댓글/답글 추가
/// </summary>
public string Board_AddReply(int rootIdx, int pidx, string title, string contents, bool isComment)
{
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 parentCmd = new SqlCommand(@"
SELECT bidx, gcode, depth, thread_path
FROM EETGW_Board
WHERE idx = @pidx", conn);
parentCmd.Parameters.Add("@pidx", SqlDbType.Int).Value = pidx;
int bidx = 0;
string gcode = "";
int parentDepth = 0;
string parentThreadPath = "";
using (var reader = parentCmd.ExecuteReader())
{
if (reader.Read())
{
bidx = reader.GetInt32(0);
gcode = reader.IsDBNull(1) ? "" : reader.GetString(1);
parentDepth = reader.IsDBNull(2) ? 0 : reader.GetInt32(2);
parentThreadPath = reader.IsDBNull(3) ? "" : reader.GetString(3);
}
else
{
return JsonConvert.SerializeObject(new { Success = false, Message = "부모 글을 찾을 수 없습니다." });
}
}
// 댓글/답글 삽입
var cmd = new SqlCommand(@"
DECLARE @newIdx INT;
INSERT INTO EETGW_Board (bidx, cate, title, contents, wuid, wdate, gcode, pidx, root_idx, depth, is_comment)
VALUES (@bidx, NULL, @title, @contents, @wuid, GETDATE(), @gcode, @pidx, @rootIdx, @depth, @isComment);
SET @newIdx = SCOPE_IDENTITY();
UPDATE EETGW_Board SET thread_path = @parentThreadPath + '/' + CAST(@newIdx AS VARCHAR(20)) WHERE idx = @newIdx;
SELECT @newIdx;", conn);
cmd.Parameters.Add("@bidx", SqlDbType.Int).Value = bidx;
cmd.Parameters.Add("@title", SqlDbType.NVarChar).Value = string.IsNullOrEmpty(title) ? (object)DBNull.Value : title;
cmd.Parameters.Add("@contents", SqlDbType.NVarChar).Value = contents;
cmd.Parameters.Add("@wuid", SqlDbType.VarChar).Value = info.Login.no;
cmd.Parameters.Add("@gcode", SqlDbType.VarChar).Value = string.IsNullOrEmpty(gcode) ? info.Login.gcode : gcode;
cmd.Parameters.Add("@pidx", SqlDbType.Int).Value = pidx;
cmd.Parameters.Add("@rootIdx", SqlDbType.Int).Value = rootIdx;
cmd.Parameters.Add("@depth", SqlDbType.Int).Value = parentDepth + 1;
cmd.Parameters.Add("@isComment", SqlDbType.Bit).Value = isComment;
cmd.Parameters.Add("@parentThreadPath", SqlDbType.VarChar).Value = parentThreadPath;
var newIdx = Convert.ToInt32(cmd.ExecuteScalar());
return JsonConvert.SerializeObject(new { Success = true, Message = "댓글이 등록되었습니다.", Data = new { idx = newIdx } });
}
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(new { Success = false, Message = ex.Message });
}
}
}
}

View File

@@ -227,8 +227,15 @@ namespace Project.Web
FROM Projects WITH (nolock)
WHERE gcode = @gcode
AND (name LIKE @keyword OR CAST(idx AS VARCHAR) LIKE @keyword)
AND status NOT IN ('보류', '취소', '완료(보고)')
ORDER BY status DESC, pdate DESC, name";
AND status NOT IN ('보류', '취소')
ORDER BY
CASE
WHEN status = '진행' THEN 1
WHEN status = '준비' THEN 2
WHEN status = '완료(보고)' THEN 3
ELSE 4
END,
pdate DESC, name";
using (var cn = new SqlConnection(cs))
using (var cmd = new SqlCommand(sqlProjects, cn))

View File

@@ -952,6 +952,28 @@ namespace Project.Web
}
break;
case "BOARD_GET_REPLIES":
{
int rootIdx = json.rootIdx ?? 0;
string result = _bridge.Board_GetReplies(rootIdx);
var response = new { type = "BOARD_REPLIES_DATA", data = JsonConvert.DeserializeObject(result) };
await Send(socket, JsonConvert.SerializeObject(response));
}
break;
case "BOARD_ADD_REPLY":
{
int rootIdx = json.rootIdx ?? 0;
int pidx = json.pidx ?? 0;
string title = json.title ?? "";
string contents = json.contents ?? "";
bool isComment = json.isComment ?? false;
string result = _bridge.Board_AddReply(rootIdx, pidx, title, contents, isComment);
var response = new { type = "BOARD_REPLY_ADDED", data = JsonConvert.DeserializeObject(result) };
await Send(socket, JsonConvert.SerializeObject(response));
}
break;
// ===== Mail API (메일 발신 내역) =====
case "MAIL_GET_LIST":
{

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -4,29 +4,28 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="137" ViewPortY="22" 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="137" ViewPortY="32" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:Users" ZOrder="13" X="997" Y="61" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Projects" ZOrder="11" X="208" Y="1" Height="286" Width="191" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:Items" ZOrder="12" X="74" Y="218" Height="267" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:Users" ZOrder="12" X="997" Y="61" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Projects" ZOrder="10" X="208" Y="1" Height="286" Width="191" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:Items" ZOrder="11" X="74" Y="218" Height="267" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:Inventory" ZOrder="2" X="643" Y="66" Height="324" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:LineCode" ZOrder="3" X="586" Y="429" Height="267" Width="199" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:UserGroup" ZOrder="4" X="430" Y="385" Height="229" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:EETGW_GroupUser" ZOrder="8" X="12" Y="283" Height="324" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:vGroupUser" ZOrder="14" X="938" Y="-5" Height="343" Width="227" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:JobReport" ZOrder="9" X="1243" Y="724" Height="400" Width="292" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:MailData" ZOrder="6" X="434" Y="28" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:MailAuto" ZOrder="7" X="799" Y="334" Height="324" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:BoardFAQ" ZOrder="5" X="403" Y="247" Height="305" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:EETGW_LoginInfo" ZOrder="15" X="1152" Y="566" Height="210" Width="248" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:EETGW_GroupUser" ZOrder="7" X="12" Y="283" Height="324" Width="255" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:vGroupUser" ZOrder="13" X="938" Y="-5" Height="343" Width="227" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:JobReport" ZOrder="8" X="1243" Y="724" Height="400" Width="292" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:MailData" ZOrder="5" X="434" Y="28" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:MailAuto" ZOrder="6" X="799" Y="334" Height="324" Width="208" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:EETGW_LoginInfo" ZOrder="14" X="1152" Y="566" Height="210" Width="248" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:EETGW_JobReport_AutoInput" ZOrder="1" X="1184" Y="520" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Purchase" ZOrder="16" X="1327" Y="944" Height="305" Width="197" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:vPurchase" ZOrder="21" X="1237" Y="1036" Height="324" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:HolidayLIst" ZOrder="20" X="1218" Y="991" Height="191" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:vFindSID" ZOrder="19" X="1538" Y="959" Height="305" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:vJobReportForUser" ZOrder="18" X="1531" Y="972" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Customs" ZOrder="17" X="1362" Y="291" Height="305" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignSources:QueriesTableAdapter" ZOrder="10" X="673" Y="84" Height="68" Width="218" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:Purchase" ZOrder="15" X="1327" Y="944" Height="305" Width="197" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:vPurchase" ZOrder="20" X="1237" Y="1036" Height="324" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:HolidayLIst" ZOrder="19" X="1218" Y="991" Height="191" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:vFindSID" ZOrder="18" X="1538" Y="959" Height="305" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:vJobReportForUser" ZOrder="17" X="1531" Y="972" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Customs" ZOrder="16" X="1362" Y="291" Height="305" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignSources:QueriesTableAdapter" ZOrder="9" X="673" Y="84" Height="68" Width="218" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
</Shapes>
<Connectors />
</DiagramLayout>

File diff suppressed because it is too large Load Diff

View File

@@ -78,7 +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.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -105,16 +104,7 @@
this.personalInventoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.mn_docu = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripSeparator();
this.ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripSeparator();
this.minutesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.requestITemToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.freeBoardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.bugReportToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.todoListToolStripMenuItem = 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();
@@ -315,7 +305,7 @@
//
this.userAccountToolStripMenuItem.ForeColor = System.Drawing.Color.Blue;
this.userAccountToolStripMenuItem.Name = "userAccountToolStripMenuItem";
this.userAccountToolStripMenuItem.Size = new System.Drawing.Size(152, 24);
this.userAccountToolStripMenuItem.Size = new System.Drawing.Size(134, 24);
this.userAccountToolStripMenuItem.Text = "계정정보";
this.userAccountToolStripMenuItem.Click += new System.EventHandler(this.userAccountToolStripMenuItem_Click);
//
@@ -323,7 +313,7 @@
//
this.myAccouserToolStripMenuItem.ForeColor = System.Drawing.Color.Blue;
this.myAccouserToolStripMenuItem.Name = "myAccouserToolStripMenuItem";
this.myAccouserToolStripMenuItem.Size = new System.Drawing.Size(152, 24);
this.myAccouserToolStripMenuItem.Size = new System.Drawing.Size(134, 24);
this.myAccouserToolStripMenuItem.Text = "계정목록";
this.myAccouserToolStripMenuItem.Click += new System.EventHandler(this.myAccouserToolStripMenuItem_Click);
//
@@ -331,7 +321,7 @@
//
this.ToolStripMenuItem.ForeColor = System.Drawing.Color.Blue;
this.ToolStripMenuItem.Name = "권한설정ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(152, 24);
this.ToolStripMenuItem.Size = new System.Drawing.Size(134, 24);
this.ToolStripMenuItem.Text = "권한설정";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
@@ -339,13 +329,13 @@
//
this.toolStripMenuItem12.ForeColor = System.Drawing.Color.Blue;
this.toolStripMenuItem12.Name = "toolStripMenuItem12";
this.toolStripMenuItem12.Size = new System.Drawing.Size(149, 6);
this.toolStripMenuItem12.Size = new System.Drawing.Size(131, 6);
//
// 그룹정보ToolStripMenuItem
//
this.ToolStripMenuItem.ForeColor = System.Drawing.Color.Blue;
this.ToolStripMenuItem.Name = "그룹정보ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(152, 24);
this.ToolStripMenuItem.Size = new System.Drawing.Size(134, 24);
this.ToolStripMenuItem.Text = "그룹정보";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
@@ -378,7 +368,6 @@
this.mn_purchase,
this.mn_project,
this.mn_dailyhistory,
this.ToolStripMenuItem,
this.ToolStripMenuItem,
this.ToolStripMenuItem,
this.ToolStripMenuItem,
@@ -559,15 +548,6 @@
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
this.toolStripMenuItem2.Size = new System.Drawing.Size(231, 6);
//
// 업무현황전자실ToolStripMenuItem
//
this.ToolStripMenuItem.ForeColor = System.Drawing.Color.Red;
this.ToolStripMenuItem.Name = "업무현황전자실ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(203, 24);
this.ToolStripMenuItem.Text = "업무현황(전자실)";
this.ToolStripMenuItem.Visible = false;
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// 교육목록ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "교육목록ToolStripMenuItem";
@@ -764,16 +744,7 @@
//
this.mn_docu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.ToolStripMenuItem,
this.toolStripMenuItem4,
this.ToolStripMenuItem1,
this.ToolStripMenuItem,
this.toolStripMenuItem3,
this.minutesToolStripMenuItem,
this.requestITemToolStripMenuItem,
this.freeBoardToolStripMenuItem,
this.bugReportToolStripMenuItem,
this.todoListToolStripMenuItem,
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);
@@ -782,86 +753,17 @@
// 메모장ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "메모장ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
this.ToolStripMenuItem.Size = new System.Drawing.Size(152, 24);
this.ToolStripMenuItem.Text = "메모장";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// toolStripMenuItem4
//
this.toolStripMenuItem4.Name = "toolStripMenuItem4";
this.toolStripMenuItem4.Size = new System.Drawing.Size(146, 6);
//
// 패치내역ToolStripMenuItem1
//
this.ToolStripMenuItem1.Name = "패치내역ToolStripMenuItem1";
this.ToolStripMenuItem1.Size = new System.Drawing.Size(149, 24);
this.ToolStripMenuItem1.Text = "패치 내역";
this.ToolStripMenuItem1.Click += new System.EventHandler(this.ToolStripMenuItem1_Click);
//
// 메일내역ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "메일내역ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
this.ToolStripMenuItem.Size = new System.Drawing.Size(152, 24);
this.ToolStripMenuItem.Text = "메일 내역";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// toolStripMenuItem3
//
this.toolStripMenuItem3.Name = "toolStripMenuItem3";
this.toolStripMenuItem3.Size = new System.Drawing.Size(146, 6);
//
// minutesToolStripMenuItem
//
this.minutesToolStripMenuItem.ForeColor = System.Drawing.Color.HotPink;
this.minutesToolStripMenuItem.Name = "minutesToolStripMenuItem";
this.minutesToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
this.minutesToolStripMenuItem.Text = "회의록";
this.minutesToolStripMenuItem.Visible = false;
this.minutesToolStripMenuItem.Click += new System.EventHandler(this.minutesToolStripMenuItem_Click);
//
// requestITemToolStripMenuItem
//
this.requestITemToolStripMenuItem.ForeColor = System.Drawing.Color.HotPink;
this.requestITemToolStripMenuItem.Name = "requestITemToolStripMenuItem";
this.requestITemToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
this.requestITemToolStripMenuItem.Text = "견적요청";
this.requestITemToolStripMenuItem.Visible = false;
this.requestITemToolStripMenuItem.Click += new System.EventHandler(this.requestITemToolStripMenuItem_Click);
//
// freeBoardToolStripMenuItem
//
this.freeBoardToolStripMenuItem.Enabled = false;
this.freeBoardToolStripMenuItem.Name = "freeBoardToolStripMenuItem";
this.freeBoardToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
this.freeBoardToolStripMenuItem.Text = "Free Board";
this.freeBoardToolStripMenuItem.Visible = false;
//
// bugReportToolStripMenuItem
//
this.bugReportToolStripMenuItem.Enabled = false;
this.bugReportToolStripMenuItem.Name = "bugReportToolStripMenuItem";
this.bugReportToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
this.bugReportToolStripMenuItem.Text = "Bug Report";
this.bugReportToolStripMenuItem.Visible = false;
//
// todoListToolStripMenuItem
//
this.todoListToolStripMenuItem.Enabled = false;
this.todoListToolStripMenuItem.Name = "todoListToolStripMenuItem";
this.todoListToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
this.todoListToolStripMenuItem.Text = "Todo List";
this.todoListToolStripMenuItem.Visible = false;
this.todoListToolStripMenuItem.Click += new System.EventHandler(this.todoListToolStripMenuItem_Click);
//
// 메일전송ToolStripMenuItem
//
this.ToolStripMenuItem.ForeColor = System.Drawing.Color.Red;
this.ToolStripMenuItem.Name = "메일전송ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(149, 24);
this.ToolStripMenuItem.Text = "메일전송";
this.ToolStripMenuItem.Visible = false;
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// 기타ToolStripMenuItem
//
this.ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@@ -1245,14 +1147,9 @@
private System.Windows.Forms.ToolStripStatusLabel sbLogin;
private System.Windows.Forms.ToolStripMenuItem codesToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem mn_docu;
private System.Windows.Forms.ToolStripMenuItem freeBoardToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem bugReportToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem todoListToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem managementToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem personalInventoryToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem userInfoToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem minutesToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem requestITemToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem mn_purchase;
private System.Windows.Forms.ToolStripMenuItem btDev;
private System.Windows.Forms.ToolStripMenuItem purchaseImportToolStripMenuItem;
@@ -1267,9 +1164,7 @@
private System.Windows.Forms.ToolStripMenuItem mn_project;
private System.Windows.Forms.ToolStripMenuItem projectImportCompleteToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem purchaseOrderImportToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem mn_dailyhistory;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem workReportImportToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem mn_kuntae;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
@@ -1284,10 +1179,8 @@
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem3;
private System.Windows.Forms.ToolStripMenuItem mailBackupToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem4;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem6;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem7;
@@ -1302,7 +1195,6 @@
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 ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem layoutToolStripMenuItem;

View File

@@ -458,28 +458,11 @@ namespace Project
}
private void codesToolStripMenuItem_Click(object sender, EventArgs e)
{
//if (Pub.InitWebView > 0 && System.Diagnostics.Debugger.IsAttached)
//{
// var f = new Dialog.fCommon();
// f.ShowDialog();
//}
//else
{
var f = new FCM0000.fCode();
f.ShowDialog();
}
}
private void requestITemToolStripMenuItem_Click(object sender, EventArgs e)
{
string formkey = "ITEMREQUEST";
if (!ShowForm(formkey))
AddForm(formkey, new FCM0000.fRequestItem());
}
void menu_itemin()
{
string formkey = "ITEMIPKO";
@@ -714,11 +697,6 @@ namespace Project
}
private void ToolStripMenuItem1_Click(object sender, EventArgs e)
{
FCM0000.fPatchList f = new FCM0000.fPatchList();
f.Show();
}
private void workReportImportToolStripMenuItem_Click(object sender, EventArgs e)
{
@@ -1026,15 +1004,6 @@ namespace Project
menu_work_reportautoinput();
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
//업무현황 전자실
Util.MsgE("자스민 이용하세요!!");
string formkey = "EBOARD";
if (!ShowForm(formkey))
AddForm(formkey, new FPJ0000.fEboardList(), "ALL");
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{

View File

@@ -141,6 +141,83 @@
0IOABBs4KBjggQGBjQM9XoQwIYIHBB4yUpjo8AFLBS9fKjAgYSJCAQEyeJAgIUAEnj4RAgjgQUPPCgwQ
9Ey51APJABUIYKAwoADNBBlfRrCwtUOGBT49JEhAwIAFABQaFEDb0cMBAwg0DECbtOGFAoD7GlQomCHD
gAA7
</value>
</data>
<data name="commonToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAP/umP/eN//kV//riOuzSuujJ+usOuu3VuvKgf/0uf/yq+ucF//bJf/pfOvOiO/O
fP/52//ZGP/UAP/haf/ma//hR//ncevDceu8YP39/OuuQP/rp//pdP/nZf///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIkAA/CByYwUOGgQgTfvDgwINChQw9IHD4UGBEABAuUETo
oaNEDxg1erTo4IGDiQAGNFCA4QABAg4jdkxpoYOABAkUGKD4UaUFARUCMLCwk6NGCkADRKBQNKEHDB6E
RpDQlCNUoRYkSJhQYKPFAyqZThjbleMBDxw07CxQYMKGBRs9vNTQcaGHBXjjjuS4t2LFgAA7
</value>
</data>
<data name="managementToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQQAP/cpv/GcNvb292RIP+kG/+5T6m5rMStgK13Jv+wOt2TJKmwrP/zcZOru////wAA
AP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAQACwAAAAAEAAQAAAIZQAhCBxIsKBABgQBGCTIoCEEBgEWDmRAgMAAAwUgKJQ4
QIEDBwciSmw4QMDHBRIBBCiQAIGABw8aSBSosgHMmCkH2oQpc6bAnTh9QgDa0ydRoUMffCw6s4FJB0wl
OoWKdGiDBgEBADs=
</value>
</data>
<data name="mn_docu.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAJrM+3OSsKfS++zx9uXt9Yis1FdwkZW51ElVa8fj/bba/NXb5PL2+o276b3d/VJh
e7TR4ENLXNXn8KLD536kwIyzzJ/E2KjL3t7n7ykxQz5FVa/W/OLp8I+w1P///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAItgA9CBxIcOCHgx4kQIBwwcKBChQiBgjgASEECQQGZNRI
oGMDAxU9QCCQoGRJBygZNPgo8AKDBB1iyuzAoOYDgRZeonSgoGfPDQxuejjwcsLMAkgFBBVY4aVPBRui
ClCKQCCFojGRIm0ggEBVDxQG8IQqdSoAAhGsijWqdSsADmk9BBBLdqoAAHgxaBAYgAHPsnjxDtjrwcAC
Bhw5KOaAYQCEDHwNSH7wAAGCCBE0aMggtKBnggEBADs=
</value>
</data>
<data name="기타ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAKnrVsfvlYnVOHy8KnfJLJneRWqyJLvth1W7GzGTEVWnHT2aFIPNMkuiGmrKJGKt
Io7eOXa5KU64GDiWE1yqIHK3KHa5J0WeGGC/IG+1JW/FKGjCJHnRLWrOIP///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIqwA/CBTooeDAgwg9DFjoAWHCAQEAFBjQ0CHBAQAEFLBQ
8WDBjxEARPjY8YPChREiZshg4EFJhQFiFmBQAAIECh8vLoTAgAEBAgIUeGhwoaHCghUE/NTAgcCFAxAW
GDWZQamGDRgwIEAgYUJBjh4MCODAAYODBRMkSEhQMAJLARQUNODgwGsCtiYjHBDgsuCCDl4NmqxQAK7R
v3gHemD5QK4HtBMSEyRplOTBgAA7
</value>
</data>
<data name="즐겨찾기ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIMPAEWi6azap1WzS9LusYrSbApexXLHV+z41vH559Ltw8ns+pe75hBs0iCZEP//////
/yH/C05FVFNDQVBFMi4wAwEBAAAh+QQBAAAPACwAAAAAEAAQAAAIiwAfCBxIsKDBBw4SOjg4MGGDBgwY
JDzo4OEBBAgUMGiwkGBFBAcODAAAYMEAjh4ZIBgwQAAAAgZOdkTIQEGCAQRICoAZACVNBQACkHxpQEDP
jg5qLhgKQIDTowIrJoA5NGKDABIbNpjqlEGBAguyag3QEiLYsDOjPgwQYEFYsQUdRpSY1qDCugzzBgQA
Ow==
</value>
</data>
<data name="btDev.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAKxoR8VkLxFw1feVPITSWv+eQv7Qo0Cc6OyIN/v7+3PLTSCZEFy17Wa6XuT1x2bG
Q3nNUU6vRXPAa9mLXMTkwJZEHJt7LL5aJ/z8/O2KONx3L/ubP/r6+rtVI////////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIpgA/CBxIsOBADBgEeljoweAHDB06eIi4QICAhRwOdjAQ
kaMDCgwELOiQ8WGHAQYMFIjIgMEBCBEzQkSwoUCBCR0OSGigIKZJDQM2cKxwoAGBBx0ykISoIcOGiAcO
EFCAVCkHphueAtgaIYKFpks7NM0qFIDFCxk0kPyQQCzZiB0CbLAqsO1YslnTrq0r9m4GvSUHcoioobDa
vQU5DIar2KFgxYEHBgQAOw==
</value>
</data>
<data name="버젼확인ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAGm6/idTd4yTmF+v8Xa37KvW+lyh3KHJ62aq41ee2bXZ98nm/2mt5W2Ck5XN/C1c
hEZieho8WXXA/2Gn4P39/W+y6V+l3qjP8Njt/lx2izxPYGyv51Oa1EJWZ////////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIqgA/CPzgoaBBDwMTEoQgoGGDBhAQKvSQAcOCBQUcaHwg
USBFDARCEqhQgYEEjh47gKxwweAFBAgkREDooYMCAhs8XGCAwMOEmB1o2qywYSdMnxMABCVocwMDngUP
GLAAYCZTBTARHPAgdWpVoQV+TrBgoGwCA1+ZOkgwduuBBAk4pCWogUBcDnjxAgjQkS4BAAMCD9jrgcJE
DQ8eBAjwYKZhhQQPFoRMuXJAADs=
</value>
</data>
<data name="설명서ToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQAAP/99v/qaOvOSem4M+zSSv/ypf/ug//1w//2zP/xnv/te//zrf/0uv/41/nWdufB
MP/vkevTVf/rcv/0s//wlv/57OvRM//vi+/OQtaXIuuYEuvTLNyhJ+vHUP///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIoAA/CBxIsCBBDwgTKizogUCEhwQIYLBgYYOHgR4cKPQA
oMEBBAgsfsjoAQGDCQsKJEhAAcKBChYQajyZkiWECwYMAHiAkAAAlCop4FRA9ABPDxgqABVqQIGEpxQG
IMTQoCaEphICaFXAAaEABCmZZtUawECGi0gRHGigloFWCgzOYhRAt0OHASg1yD24cUAFDRcNMhwAWLBB
D4UNMwz8ISAAOw==
</value>
</data>
<data name="codesToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -161,15 +238,6 @@
gYDHjyAJKNjogQIBChoQZAgQAEGCiQUOKFxAIEMEDhsQPEDAQEKDBzI9dKiZIYOFowwENPg5QeHQlRIi
SJAwYIADBwWaegCQIMAACQEEKK2KFYNCrgMihBXbwEHVBGY9GFCQIEGBu3jvKrhw1oBfCBAOHJgwAQOG
CyQdKlaIsLHjggEBADs=
</value>
</data>
<data name="commonToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAP/umP/eN//kV//riOuzSuujJ+usOuu3VuvKgf/0uf/yq+ucF//bJf/pfOvOiO/O
fP/52//ZGP/UAP/haf/ma//hR//ncevDceu8YP39/OuuQP/rp//pdP/nZf///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIkAA/CByYwUOGgQgTfvDgwINChQw9IHD4UGBEABAuUETo
oaNEDxg1erTo4IGDiQAGNFCA4QABAg4jdkxpoYOABAkUGKD4UaUFARUCMLCwk6NGCkADRKBQNKEHDB6E
RpDQlCNUoRYkSJhQYKPFAyqZThjbleMBDxw07CxQYMKGBRs9vNTQcaGHBXjjjuS4t2LFgAA7
</value>
</data>
<data name="mn_purchase.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -274,74 +342,6 @@
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="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>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -445,14 +445,14 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIHSURBVDhPY2CAgZnGrAxLtTMZluosYFim08KwWFcdLL5K
i4dhmVYhwzLteQzLdFoZlqlLwfWggKU6qxmW6fyH48U6PxiWaHoyLNO8jiK+VOsJwyotCTTNWjYgSYG1
lv/9Tub8T7lc/z/3ZMX/eXNiP9S05P9LvdzwP/Jc2X/VbV5QQ7T7UA1YpjOBf435seQr9d+Kb/X8L7nZ
lv/9Tub8T7lc/z/3ZMX/eXNiP9Q05f9LvdzwP/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+B3vknOuv/oWvChUFq/x7omQfSy/B3f28vugJiMUgvw78DfbZ/D/Qs/3+gdxUp
GKQHpBcAJ5WqUADLneEAAAAASUVORK5CYII=
xc6A1ezv0UBo3DaR/e+B3vnH2uv/oWvChUFq/x7omQfSy/B3f28vugJiMUgvw78DfbZ/D/Qs/3+gdxUp
GKQHpBcAG6GqRqSz0QwAAAAASUVORK5CYII=
</value>
</data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

View File

@@ -3,6 +3,7 @@ import { HashRouter, Routes, Route } from 'react-router-dom';
import { Layout } from '@/components/layout';
import { Dashboard, Todo, Kuntae, Jobreport, Project, Login, CommonCodePage, ItemsPage, UserListPage, MonthlyWorkPage, MailFormPage, UserAuthPage, Note } from '@/pages';
import { PatchList } from '@/pages/PatchList';
import { BugReport } from '@/pages/BugReport';
import { MailList } from '@/pages/MailList';
import { Customs } from '@/pages/Customs';
import { comms } from '@/communication';
@@ -98,6 +99,7 @@ export default function App() {
<Route path="/mail-form" element={<MailFormPage />} />
<Route path="/note" element={<Note />} />
<Route path="/patch-list" element={<PatchList />} />
<Route path="/bug-report" element={<BugReport />} />
<Route path="/mail-list" element={<MailList />} />
</Route>
</Routes>

View File

@@ -1314,6 +1314,37 @@ class CommunicationLayer {
}
}
/**
* 게시판 댓글/답글 목록 조회
* @param rootIdx 원글 인덱스
* @returns ApiResponse<BoardItem[]>
*/
public async getBoardReplies(rootIdx: number): Promise<ApiResponse<BoardItem[]>> {
if (isWebView && machine) {
const result = await machine.Board_GetReplies(rootIdx);
return JSON.parse(result);
} else {
return this.wsRequest<ApiResponse<BoardItem[]>>('BOARD_GET_REPLIES', 'BOARD_REPLIES_DATA', { rootIdx });
}
}
/**
* 게시판 댓글/답글 추가
* @param rootIdx 원글 인덱스
* @param pidx 부모 글 인덱스
* @param contents 댓글 내용
* @param isComment 댓글 타입 (true: 댓글, false: 답글)
* @returns ApiResponse
*/
public async addBoardReply(rootIdx: number, pidx: number, title: string, contents: string, isComment: boolean = true): Promise<ApiResponse> {
if (isWebView && machine) {
const result = await machine.Board_AddReply(rootIdx, pidx, title, contents, isComment);
return JSON.parse(result);
} else {
return this.wsRequest<ApiResponse>('BOARD_ADD_REPLY', 'BOARD_REPLY_ADDED', { rootIdx, pidx, title, contents, isComment });
}
}
/**
* 메일 발신 내역 조회
* @param startDate 시작일 (yyyy-MM-dd)

View File

@@ -118,6 +118,58 @@ export function JobreportEditModal({
}
}, [isOpen, loadCommonCodes]);
// 모달 열릴 때 프로젝트가 설정되어 있으면 자동으로 최종 설정 불러오기
useEffect(() => {
const loadLastSettings = async () => {
// 신규 등록이고, 프로젝트가 설정되어 있으며, 기본값이 비어있는 경우에만 자동 로드
if (isOpen && !editingItem && formData.pidx && formData.pidx > 0) {
// 이미 설정된 값이 있으면 자동 로드하지 않음 (복사 기능 등에서 이미 값이 있을 수 있음)
const hasExistingSettings = formData.requestpart || formData.package || formData.type || formData.process;
if (hasExistingSettings) {
setPreviousProjectIdx(formData.pidx);
return;
}
try {
const lastReport = await comms.getLastJobReportByProject(formData.pidx, formData.projectName);
if (lastReport.Success && lastReport.Data) {
const updatedFormData = { ...formData };
if (lastReport.Data.requestpart) {
updatedFormData.requestpart = lastReport.Data.requestpart;
}
if (lastReport.Data.package) {
updatedFormData.package = lastReport.Data.package;
}
if (lastReport.Data.type) {
updatedFormData.type = lastReport.Data.type;
}
if (lastReport.Data.jobgrp) {
updatedFormData.jobgrp = lastReport.Data.jobgrp;
}
if (lastReport.Data.process) {
updatedFormData.process = lastReport.Data.process;
}
if (lastReport.Data.status) {
updatedFormData.status = lastReport.Data.status;
}
onFormChange(updatedFormData);
}
setPreviousProjectIdx(formData.pidx);
} catch (error) {
console.error('최종 설정 불러오기 오류:', error);
setPreviousProjectIdx(formData.pidx);
}
} else if (isOpen && !editingItem) {
// 신규 등록인데 프로젝트가 없으면 초기화
setPreviousProjectIdx(null);
}
};
loadLastSettings();
}, [isOpen, editingItem]);
if (!isOpen) return null;
const handleFieldChange = <K extends keyof JobreportFormData>(

View File

@@ -21,6 +21,7 @@ import {
AlertTriangle,
Building,
Star,
Bug,
} from 'lucide-react';
import { clsx } from 'clsx';
import { UserInfoDialog } from '@/components/user/UserInfoDialog';
@@ -123,6 +124,7 @@ const dropdownMenus: DropdownMenuConfig[] = [
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: '메일 내역' },
],
},

View File

@@ -0,0 +1,751 @@
import { useState, useEffect } from 'react';
import { FileText, Search, RefreshCw, Calendar, Edit3, User, Plus } from 'lucide-react';
import { comms } from '@/communication';
import { BoardItem } from '@/types';
interface BoardListProps {
bidx: number;
title: string;
icon?: React.ReactNode;
defaultCategory?: string;
categories?: { value: string; label: string; color: string }[];
}
export function BoardList({
bidx,
title,
icon = <FileText className="w-5 h-5" />,
defaultCategory = 'PATCH',
categories = [
{ value: 'PATCH', label: 'PATCH', color: 'red' },
{ value: 'UPDATE', label: 'UPDATE', color: 'lime' }
]
}: BoardListProps) {
const [boardList, setBoardList] = useState<BoardItem[]>([]);
const [loading, setLoading] = useState(false);
const [searchKey, setSearchKey] = useState('');
const [selectedItem, setSelectedItem] = useState<BoardItem | null>(null);
const [showModal, setShowModal] = useState(false);
const [showEditModal, setShowEditModal] = useState(false);
const [showReplyModal, setShowReplyModal] = useState(false);
const [editFormData, setEditFormData] = useState<BoardItem | null>(null);
const [userLevel, setUserLevel] = useState(0);
const [userId, setUserId] = useState('');
const [replies, setReplies] = useState<BoardItem[]>([]); // 댓글 목록 (is_comment=true)
const [replyPosts, setReplyPosts] = useState<BoardItem[]>([]); // 답글 목록 (is_comment=false)
const [commentText, setCommentText] = useState('');
const [replyFormData, setReplyFormData] = useState<{ title: string; contents: string }>({ title: '', contents: '' });
useEffect(() => {
loadUserInfo();
loadData();
}, []);
// ESC 키 처리
useEffect(() => {
const handleEscKey = (e: KeyboardEvent) => {
if (e.key === 'Escape') {
if (showReplyModal) {
setShowReplyModal(false);
} else if (showEditModal) {
setShowEditModal(false);
} else if (showModal) {
setShowModal(false);
}
}
};
document.addEventListener('keydown', handleEscKey);
return () => document.removeEventListener('keydown', handleEscKey);
}, [showModal, showEditModal, showReplyModal]);
const loadUserInfo = async () => {
try {
const response = await comms.checkLoginStatus();
if (response.Success && response.User) {
setUserLevel(response.User.Level);
setUserId(response.User.Id);
}
} catch (error) {
console.error('사용자 정보 로드 오류:', error);
}
};
const loadData = async () => {
setLoading(true);
try {
console.log('게시판 조회:', { bidx, searchKey });
const response = await comms.getBoardList(bidx, searchKey);
console.log('게시판 응답:', response);
if (response.Success && response.Data) {
setBoardList(response.Data);
} else {
console.warn('게시판 없음:', response.Message);
setBoardList([]);
}
} catch (error) {
console.error('게시판 로드 오류:', error);
alert('데이터를 불러오는 중 오류가 발생했습니다.');
} finally {
setLoading(false);
}
};
const handleSearch = () => {
loadData();
};
const loadReplies = async (rootIdx: number) => {
try {
const response = await comms.getBoardReplies(rootIdx);
if (response.Success && response.Data) {
setReplies(response.Data);
} else {
setReplies([]);
}
} catch (error) {
console.error('댓글 로드 오류:', error);
setReplies([]);
}
};
const loadReplyPosts = async (rootIdx: number) => {
try {
// 목록에서 해당 root_idx의 답글들만 필터링
const replyList = boardList.filter(item => item.root_idx === rootIdx && !item.is_comment);
setReplyPosts(replyList);
} catch (error) {
console.error('답글 로드 오류:', error);
setReplyPosts([]);
}
};
const handleAddComment = async () => {
if (!selectedItem || !commentText.trim()) return;
try {
const response = await comms.addBoardReply(selectedItem.idx, selectedItem.idx, '', commentText, true);
if (response.Success) {
setCommentText('');
loadReplies(selectedItem.idx);
// reply_count 업데이트를 위해 목록 새로고침
loadData();
} else {
alert(response.Message || '댓글 등록에 실패했습니다.');
}
} catch (error) {
console.error('댓글 등록 오류:', error);
alert('댓글 등록 중 오류가 발생했습니다.');
}
};
const handleAddReply = async () => {
if (!selectedItem || !replyFormData.title.trim() || !replyFormData.contents.trim()) {
alert('제목과 내용을 입력해주세요.');
return;
}
try {
// 답글은 is_comment=false, title 포함
const rootIdx = selectedItem.root_idx || selectedItem.idx;
const response = await comms.addBoardReply(rootIdx, selectedItem.idx, replyFormData.title, replyFormData.contents, false);
if (response.Success) {
setShowReplyModal(false);
setReplyFormData({ title: '', contents: '' });
await loadData(); // 목록 새로고침
loadReplyPosts(rootIdx); // 답글 목록 새로고침
} else {
alert(response.Message || '답글 등록에 실패했습니다.');
}
} catch (error) {
console.error('답글 등록 오류:', error);
alert('답글 등록 중 오류가 발생했습니다.');
}
};
const handleRowClick = async (item: BoardItem) => {
try {
const response = await comms.getBoardDetail(item.idx);
if (response.Success && response.Data) {
setSelectedItem(response.Data);
const rootIdx = response.Data.root_idx || response.Data.idx;
loadReplies(rootIdx); // 댓글 로드
loadReplyPosts(rootIdx); // 답글 로드
setShowModal(true); // 모두 뷰어로 보기
}
} catch (error) {
console.error('상세 조회 오류:', error);
alert('데이터를 불러오는 중 오류가 발생했습니다.');
}
};
const handleEditClick = () => {
if (selectedItem) {
setEditFormData(selectedItem);
setShowModal(false);
setShowEditModal(true);
}
};
const handleEditSave = async () => {
if (!editFormData) return;
try {
const isNew = editFormData.idx === 0;
if (isNew) {
// 신규 등록
const response = await comms.addBoard(
bidx,
editFormData.header || '',
editFormData.cate || '',
editFormData.title || '',
editFormData.contents || ''
);
if (response.Success) {
setShowEditModal(false);
setEditFormData(null);
loadData();
} else {
alert(response.Message || '등록에 실패했습니다.');
}
} else {
// 수정
const response = await comms.editBoard(
editFormData.idx,
editFormData.header || '',
editFormData.cate || '',
editFormData.title || '',
editFormData.contents || ''
);
if (response.Success) {
setShowEditModal(false);
setEditFormData(null);
loadData();
} else {
alert(response.Message || '수정에 실패했습니다.');
}
}
} catch (error) {
console.error('저장 오류:', error);
alert('저장 중 오류가 발생했습니다.');
}
};
const handleDelete = async () => {
if (!editFormData || editFormData.idx === 0) return;
if (!confirm('정말 삭제하시겠습니까?')) return;
try {
const response = await comms.deleteBoard(editFormData.idx);
if (response.Success) {
setShowEditModal(false);
setEditFormData(null);
loadData();
} else {
alert(response.Message || '삭제에 실패했습니다.');
}
} catch (error) {
console.error('삭제 오류:', error);
alert('삭제 중 오류가 발생했습니다.');
}
};
const formatDate = (dateStr: string | null) => {
if (!dateStr) return '-';
try {
const date = new Date(dateStr);
const yy = String(date.getFullYear()).slice(-2);
const mm = String(date.getMonth() + 1).padStart(2, '0');
const dd = String(date.getDate()).padStart(2, '0');
return `${yy}.${mm}.${dd}`;
} catch {
return dateStr;
}
};
const isNew = (dateStr: string | null) => {
if (!dateStr) return false;
try {
const date = new Date(dateStr);
const now = new Date();
const diffTime = now.getTime() - date.getTime();
const diffDays = diffTime / (1000 * 60 * 60 * 24);
return diffDays <= 3;
} catch {
return false;
}
};
const getCategoryColor = (cate: string) => {
const category = categories.find(c => c.value.toUpperCase() === cate.toUpperCase());
if (!category) return 'bg-gray-500/20 text-gray-400';
switch (category.color) {
case 'lime': return 'bg-lime-500/20 text-lime-400';
case 'red': return 'bg-red-500/20 text-red-400';
case 'blue': return 'bg-blue-500/20 text-blue-400';
case 'yellow': return 'bg-yellow-500/20 text-yellow-400';
default: return 'bg-gray-500/20 text-gray-400';
}
};
return (
<div className="space-y-6 animate-fade-in">
{/* 검색 필터 */}
<div className="glass-effect rounded-2xl p-6">
<div className="flex items-center gap-4">
<div className="flex items-center gap-2 flex-1">
<label className="text-white/70 text-sm font-medium whitespace-nowrap"></label>
<input
type="text"
value={searchKey}
onChange={(e) => setSearchKey(e.target.value)}
onKeyDown={(e) => e.key === 'Enter' && handleSearch()}
placeholder="제목, 내용, 작성자 등"
className="flex-1 h-10 bg-white/20 border border-white/30 rounded-lg px-3 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400"
/>
</div>
<button
onClick={handleSearch}
disabled={loading}
className="h-10 bg-primary-500 hover:bg-primary-600 text-white px-6 rounded-lg transition-colors flex items-center justify-center disabled:opacity-50"
>
{loading ? (
<RefreshCw className="w-4 h-4 mr-2 animate-spin" />
) : (
<Search className="w-4 h-4 mr-2" />
)}
</button>
<button
onClick={() => {
setEditFormData({
idx: 0,
bidx: bidx,
gcode: '',
header: '',
cate: defaultCategory,
title: '',
contents: '',
file: '',
guid: '',
url: '',
wuid: '',
wuid_name: '',
wdate: null,
project: '',
pidx: 0,
close: false,
remark: ''
});
setShowEditModal(true);
}}
disabled={!(userLevel >= 9 || userId === '395552')}
className="h-10 bg-green-500 hover:bg-green-600 text-white px-6 rounded-lg transition-colors flex items-center justify-center disabled:opacity-30 disabled:cursor-not-allowed"
>
<Plus className="w-4 h-4 mr-2" />
</button>
</div>
</div>
{/* 게시판 목록 */}
<div className="glass-effect rounded-2xl overflow-hidden">
<div className="px-6 py-4 border-b border-white/10 flex items-center justify-between">
<h3 className="text-lg font-semibold text-white flex items-center">
{icon}
<span className="ml-2">{title}</span>
</h3>
<span className="text-white/60 text-sm">{boardList.length}</span>
</div>
<div className="divide-y divide-white/10 max-h-[calc(100vh-300px)] overflow-y-auto">
{loading ? (
<div className="px-6 py-8 text-center">
<div className="flex items-center justify-center">
<RefreshCw className="w-5 h-5 mr-2 animate-spin text-white/50" />
<span className="text-white/50"> ...</span>
</div>
</div>
) : boardList.length === 0 ? (
<div className="px-6 py-8 text-center">
<FileText className="w-12 h-12 mx-auto mb-3 text-white/30" />
<p className="text-white/50"> .</p>
</div>
) : (
boardList.map((item) => (
<div
key={item.idx}
className="px-6 py-3 hover:bg-white/5 transition-colors cursor-pointer"
onClick={() => handleRowClick(item)}
style={{ paddingLeft: `${24 + (item.depth || 0) * 24}px` }}
>
<div className="flex items-center gap-3">
<div className="flex items-center gap-2 flex-shrink-0">
{item.depth && item.depth > 0 && (
<span className="text-white/40 text-xs mr-1"></span>
)}
{item.cate && (
<span className={`px-2 py-0.5 text-xs rounded whitespace-nowrap ${getCategoryColor(item.cate)}`}>
{item.cate}
</span>
)}
{item.header && (
<span className="px-2 py-0.5 bg-primary-500/20 text-primary-400 text-xs rounded whitespace-nowrap">
{item.header}
</span>
)}
</div>
<div className="flex items-center text-white/60 text-xs flex-shrink-0 mr-3">
<Calendar className="w-3 h-3 mr-1" />
{formatDate(item.wdate)}
</div>
<h4 className="text-white font-medium flex-1 min-w-0 flex items-center gap-2">
<span className="truncate">{item.title || '(댓글)'}</span>
{isNew(item.wdate) && (
<span className="px-1.5 py-0.5 bg-yellow-500 text-white text-[10px] rounded font-bold animate-pulse flex-shrink-0">
NEW
</span>
)}
{(item.reply_count ?? 0) > 0 && (
<span className="px-1.5 py-0.5 bg-blue-500/20 text-blue-400 text-[10px] rounded flex-shrink-0">
💬 {item.reply_count}
</span>
)}
</h4>
<div className="flex items-center text-white/60 text-xs flex-shrink-0">
<User className="w-3 h-3 mr-1" />
{item.wuid_name || item.wuid}
</div>
</div>
</div>
))
)}
</div>
</div>
{/* 상세 모달 */}
{showModal && selectedItem && (
<div className="fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm">
<div className="bg-gray-900 rounded-2xl shadow-2xl w-full max-w-4xl max-h-[90vh] overflow-hidden border border-white/10">
<div className="flex items-center justify-between px-6 py-4 border-b border-white/10">
<div className="flex items-center gap-2">
{selectedItem.header && (
<span className="px-2 py-1 bg-primary-500/20 text-primary-400 text-sm rounded">
{selectedItem.header}
</span>
)}
{selectedItem.cate && (
<span className={`px-2 py-1 text-sm rounded ${getCategoryColor(selectedItem.cate)}`}>
{selectedItem.cate}
</span>
)}
<h2 className="text-xl font-bold text-white ml-2">{selectedItem.title}</h2>
</div>
<button
onClick={() => setShowModal(false)}
className="text-white/50 hover:text-white transition-colors"
>
<span className="text-2xl">×</span>
</button>
</div>
<div className="px-6 py-4 border-b border-white/10 flex items-center gap-4 text-sm text-white/60">
<div className="flex items-center">
<User className="w-4 h-4 mr-1" />
{selectedItem.wuid_name || selectedItem.wuid}
</div>
<div className="flex items-center">
<Calendar className="w-4 h-4 mr-1" />
{formatDate(selectedItem.wdate)}
</div>
</div>
<div className="overflow-y-auto max-h-[calc(90vh-400px)] p-6">
{selectedItem.contents && selectedItem.contents.trim() && (
<div className="prose prose-invert max-w-none mb-8">
<div className="text-white whitespace-pre-wrap">{selectedItem.contents}</div>
</div>
)}
{/* 답글 목록 */}
{replyPosts.length > 0 && (
<div className={selectedItem.contents && selectedItem.contents.trim() ? "border-t border-white/10 pt-6 mb-6" : "mb-6"}>
<h3 className="text-lg font-semibold text-white mb-4">
{replyPosts.length}
</h3>
<div className="space-y-3">
{replyPosts.map((replyPost) => (
<div
key={replyPost.idx}
className="bg-white/5 hover:bg-white/10 rounded-lg p-4 cursor-pointer transition-colors"
onClick={() => handleRowClick(replyPost)}
>
<div className="flex items-center justify-between mb-2">
<h4 className="text-white font-medium flex items-center gap-2">
{replyPost.depth && replyPost.depth > 0 && (
<span className="text-white/40 text-sm"></span>
)}
<span>{replyPost.title}</span>
{isNew(replyPost.wdate) && (
<span className="px-1.5 py-0.5 bg-yellow-500 text-white text-[10px] rounded font-bold">
NEW
</span>
)}
</h4>
<div className="flex items-center gap-3 text-xs text-white/60">
<div className="flex items-center">
<User className="w-3 h-3 mr-1" />
{replyPost.wuid_name || replyPost.wuid}
</div>
<div className="flex items-center">
<Calendar className="w-3 h-3 mr-1" />
{formatDate(replyPost.wdate)}
</div>
</div>
</div>
{replyPost.contents && (
<div className="text-white/60 text-sm line-clamp-2">
{replyPost.contents}
</div>
)}
</div>
))}
</div>
</div>
)}
{/* 댓글 목록 */}
<div className={(selectedItem.contents && selectedItem.contents.trim()) || replyPosts.length > 0 ? "border-t border-white/10 pt-6" : ""}>
<h3 className="text-lg font-semibold text-white mb-4">
{replies.length}
</h3>
<div className="space-y-4 mb-6">
{replies.map((reply) => (
<div key={reply.idx} className="bg-white/5 rounded-lg p-4">
<div className="flex items-center gap-2 mb-2">
<User className="w-4 h-4 text-white/60" />
<span className="text-sm text-white/80">{reply.wuid_name || reply.wuid}</span>
<span className="text-xs text-white/50">{formatDate(reply.wdate)}</span>
</div>
<div className="text-white/70 text-sm whitespace-pre-wrap">{reply.contents}</div>
</div>
))}
</div>
{/* 댓글 입력 */}
<div className="bg-white/5 rounded-lg p-4">
<textarea
value={commentText}
onChange={(e) => setCommentText(e.target.value)}
placeholder="댓글을 입력하세요..."
rows={3}
className="w-full bg-white/10 border border-white/30 rounded-lg px-3 py-2 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400 resize-none"
/>
<div className="flex justify-end mt-2">
<button
onClick={handleAddComment}
disabled={!commentText.trim()}
className="px-4 py-2 bg-primary-500 hover:bg-primary-600 disabled:opacity-50 disabled:cursor-not-allowed text-white rounded-lg transition-colors"
>
</button>
</div>
</div>
</div>
</div>
<div className="flex items-center justify-between px-6 py-4 border-t border-white/10 bg-white/5">
<div className="flex items-center gap-2">
<button
onClick={() => setShowReplyModal(true)}
className="px-4 py-2 rounded-lg bg-green-500 hover:bg-green-600 text-white transition-colors"
>
</button>
</div>
<div className="flex items-center gap-2">
{(userLevel >= 9 || userId === '395552') && (
<button
onClick={handleEditClick}
className="px-4 py-2 rounded-lg bg-primary-500 hover:bg-primary-600 text-white transition-colors flex items-center"
>
<Edit3 className="w-4 h-4 mr-2" />
</button>
)}
<button
onClick={() => setShowModal(false)}
className="px-4 py-2 rounded-lg bg-white/10 hover:bg-white/20 text-white transition-colors"
>
</button>
</div>
</div>
</div>
</div>
)}
{/* 편집 모달 */}
{showEditModal && editFormData && (
<div className="fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm">
<div className="bg-gray-900 rounded-2xl shadow-2xl w-full max-w-4xl max-h-[90vh] overflow-hidden border border-white/10">
<div className="flex items-center justify-between px-6 py-4 border-b border-white/10">
<h2 className="text-xl font-bold text-white flex items-center">
<Edit3 className="w-5 h-5 mr-2" />
{editFormData.idx === 0 ? `${title} 등록` : `${title} 편집`}
</h2>
<button
onClick={() => setShowEditModal(false)}
className="text-white/50 hover:text-white transition-colors"
>
<span className="text-2xl">×</span>
</button>
</div>
<div className="overflow-y-auto max-h-[calc(90vh-180px)] p-6 space-y-4">
<div className="flex items-center gap-3">
<div className="w-32">
<label className="block text-white/70 text-xs font-medium mb-1"></label>
<select
value={editFormData.cate || defaultCategory}
onChange={(e) => setEditFormData({ ...editFormData, cate: e.target.value })}
className="w-full h-9 bg-white/10 border border-white/30 rounded-lg px-2 text-white text-sm focus:outline-none focus:ring-2 focus:ring-primary-400"
>
{categories.map((cat) => (
<option key={cat.value} value={cat.value} className="bg-gray-800">
{cat.label}
</option>
))}
</select>
</div>
<div className="flex-1">
<label className="block text-white/70 text-xs font-medium mb-1"></label>
<input
type="text"
value={editFormData.title || ''}
onChange={(e) => setEditFormData({ ...editFormData, title: e.target.value })}
className="w-full h-9 bg-white/10 border border-white/30 rounded-lg px-3 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400"
placeholder="제목"
/>
</div>
</div>
<div>
<label className="block text-white/70 text-sm font-medium mb-2"></label>
<textarea
value={editFormData.contents || ''}
onChange={(e) => setEditFormData({ ...editFormData, contents: e.target.value })}
rows={15}
className="w-full bg-white/10 border border-white/30 rounded-lg px-3 py-2 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400 resize-none"
placeholder="내용을 입력하세요..."
/>
</div>
</div>
<div className="flex items-center justify-between px-6 py-4 border-t border-white/10 bg-white/5">
<div>
{editFormData && editFormData.idx > 0 && (
<button
onClick={handleDelete}
className="px-4 py-2 rounded-lg bg-red-500 hover:bg-red-600 text-white transition-colors"
>
</button>
)}
</div>
<div className="flex items-center gap-2">
<button
onClick={() => setShowEditModal(false)}
className="px-4 py-2 rounded-lg bg-white/10 hover:bg-white/20 text-white transition-colors"
>
</button>
<button
onClick={handleEditSave}
className="px-4 py-2 rounded-lg bg-primary-500 hover:bg-primary-600 text-white transition-colors"
>
</button>
</div>
</div>
</div>
</div>
)}
{/* 답글 달기 모달 */}
{showReplyModal && selectedItem && (
<div className="fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm">
<div className="bg-gray-900 rounded-2xl shadow-2xl w-full max-w-4xl max-h-[90vh] overflow-hidden border border-white/10">
<div className="flex items-center justify-between px-6 py-4 border-b border-white/10">
<h2 className="text-xl font-bold text-white flex items-center">
<Edit3 className="w-5 h-5 mr-2" />
</h2>
<button
onClick={() => setShowReplyModal(false)}
className="text-white/50 hover:text-white transition-colors"
>
<span className="text-2xl">×</span>
</button>
</div>
<div className="overflow-y-auto max-h-[calc(90vh-180px)] p-6 space-y-4">
<div className="bg-white/5 rounded-lg p-4 mb-4">
<div className="text-sm text-white/60 mb-2"></div>
<div className="text-white font-medium">{selectedItem.title}</div>
</div>
<div>
<label className="block text-white/70 text-sm font-medium mb-2"> </label>
<input
type="text"
value={replyFormData.title}
onChange={(e) => setReplyFormData({ ...replyFormData, title: e.target.value })}
className="w-full h-10 bg-white/10 border border-white/30 rounded-lg px-3 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400"
placeholder="답글 제목을 입력하세요"
/>
</div>
<div>
<label className="block text-white/70 text-sm font-medium mb-2"> </label>
<textarea
value={replyFormData.contents}
onChange={(e) => setReplyFormData({ ...replyFormData, contents: e.target.value })}
rows={15}
className="w-full bg-white/10 border border-white/30 rounded-lg px-3 py-2 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400 resize-none"
placeholder="답글 내용을 입력하세요..."
/>
</div>
</div>
<div className="flex items-center justify-end gap-2 px-6 py-4 border-t border-white/10 bg-white/5">
<button
onClick={() => setShowReplyModal(false)}
className="px-4 py-2 rounded-lg bg-white/10 hover:bg-white/20 text-white transition-colors"
>
</button>
<button
onClick={handleAddReply}
className="px-4 py-2 rounded-lg bg-primary-500 hover:bg-primary-600 text-white transition-colors"
>
</button>
</div>
</div>
</div>
)}
</div>
);
}

View File

@@ -0,0 +1,18 @@
import { BoardList } from './BoardList';
import { Bug } from 'lucide-react';
export function BugReport() {
return (
<BoardList
bidx={2}
title="버그 신고"
icon={<Bug className="w-5 h-5" />}
defaultCategory="BUG"
categories={[
{ value: 'BUG', label: 'BUG', color: 'red' },
{ value: 'FIXED', label: 'FIXED', color: 'lime' },
{ value: 'PENDING', label: 'PENDING', color: 'yellow' }
]}
/>
);
}

View File

@@ -64,6 +64,8 @@ export function Dashboard() {
// 목록 데이터
const [urgentTodos, setUrgentTodos] = useState<TodoModel[]>([]);
const [allUrgentTodos, setAllUrgentTodos] = useState<TodoModel[]>([]); // 전체 할일 목록
const [todoPage, setTodoPage] = useState(1); // 할일 페이지
const [purchaseNRList, setPurchaseNRList] = useState<PurchaseItem[]>([]);
const [purchaseCRList, setPurchaseCRList] = useState<PurchaseItem[]>([]);
const [recentNotes, setRecentNotes] = useState<NoteItem[]>([]);
@@ -92,6 +94,13 @@ export function Dashboard() {
status: '0' as TodoStatus,
});
// 할일 페이지 변경 시 목록 업데이트
useEffect(() => {
const start = (todoPage - 1) * 6;
const end = start + 6;
setUrgentTodos(allUrgentTodos.slice(start, end));
}, [todoPage, allUrgentTodos]);
const loadDashboardData = useCallback(async () => {
try {
// 오늘 날짜 (로컬 시간 기준)
@@ -128,7 +137,9 @@ export function Dashboard() {
setPurchaseCR(purchaseCount.CR);
if (urgentTodosResponse.Success && urgentTodosResponse.Data) {
setUrgentTodos(urgentTodosResponse.Data.slice(0, 5));
setAllUrgentTodos(urgentTodosResponse.Data);
setUrgentTodos(urgentTodosResponse.Data.slice(0, 6));
setTodoPage(1);
}
if (allTodosResponse.Success && allTodosResponse.Data) {
@@ -559,20 +570,25 @@ export function Dashboard() {
onClick={() => handleTodoEdit(todo)}
>
<div className="flex items-center justify-between">
<div className="flex items-center space-x-4">
<div className="flex items-center space-x-4 flex-1 min-w-0">
{todo.flag && (
<Flag className="w-4 h-4 text-warning-400" />
<Flag className="w-4 h-4 text-warning-400 flex-shrink-0" />
)}
<div>
<div className="flex-1 min-w-0">
<p className="text-white font-medium">
{todo.request && (
<span className="text-xs text-primary-400 mr-2">
({todo.request})
</span>
)}
{todo.title || '제목 없음'}
</p>
<p className="text-white/60 text-sm line-clamp-1">
<p className="text-white/60 text-sm line-clamp-1 mt-1">
{todo.remark}
</p>
</div>
</div>
<div className="flex items-center space-x-3">
<div className="flex items-center space-x-3 flex-shrink-0 ml-4">
<span className={`px-2 py-1 rounded-full text-xs font-medium ${getPriorityClass(todo.seqno)}`}>
{getPriorityText(todo.seqno)}
</span>
@@ -595,6 +611,29 @@ export function Dashboard() {
</div>
)}
</div>
{allUrgentTodos.length > 6 && (
<div className="px-6 py-3 border-t border-white/10 flex items-center justify-between">
<span className="text-xs text-white/50">
{(todoPage - 1) * 6 + 1}-{Math.min(todoPage * 6, allUrgentTodos.length)} / {allUrgentTodos.length}
</span>
<div className="flex gap-1">
<button
onClick={() => setTodoPage(p => Math.max(1, p - 1))}
disabled={todoPage === 1}
className="px-2 py-1 rounded bg-white/10 hover:bg-white/20 text-white/70 disabled:opacity-30 disabled:cursor-not-allowed transition-colors text-xs"
>
</button>
<button
onClick={() => setTodoPage(p => Math.min(Math.ceil(allUrgentTodos.length / 6), p + 1))}
disabled={todoPage >= Math.ceil(allUrgentTodos.length / 6)}
className="px-2 py-1 rounded bg-white/10 hover:bg-white/20 text-white/70 disabled:opacity-30 disabled:cursor-not-allowed transition-colors text-xs"
>
</button>
</div>
</div>
)}
</div>
{/* NR 모달 */}

View File

@@ -207,8 +207,8 @@ export function Jobreport() {
ot: 0, // OT 초기화
otStart: data.otStart ? data.otStart.substring(11, 16) : '18:00',
otEnd: data.otEnd ? data.otEnd.substring(11, 16) : '20:00',
jobgrp: '',
tag: '',
jobgrp: data.jobgrp || '',
tag: data.tag || '',
});
setShowModal(true);
}
@@ -413,28 +413,28 @@ export function Jobreport() {
<div className="grid grid-cols-2 gap-2">
<button
onClick={setToday}
className="h-8 bg-white/10 hover:bg-white/20 text-white text-xs px-3 rounded-lg transition-colors whitespace-nowrap"
className="h-10 bg-white/10 hover:bg-white/20 text-white text-xs px-2 rounded-lg transition-colors whitespace-nowrap"
title="오늘 날짜로 설정"
>
</button>
<button
onClick={setYesterday}
className="h-8 bg-white/10 hover:bg-white/20 text-white text-xs px-3 rounded-lg transition-colors whitespace-nowrap"
className="h-10 bg-white/10 hover:bg-white/20 text-white text-xs px-2 rounded-lg transition-colors whitespace-nowrap"
title="어제 날짜로 설정"
>
</button>
<button
onClick={setThisMonth}
className="h-8 bg-white/10 hover:bg-white/20 text-white text-xs px-3 rounded-lg transition-colors whitespace-nowrap"
className="h-10 bg-white/10 hover:bg-white/20 text-white text-xs px-2 rounded-lg transition-colors whitespace-nowrap"
title="이번 달 1일부터 말일까지"
>
</button>
<button
onClick={setLastMonth}
className="h-8 bg-white/10 hover:bg-white/20 text-white text-xs px-3 rounded-lg transition-colors whitespace-nowrap"
className="h-10 bg-white/10 hover:bg-white/20 text-white text-xs px-2 rounded-lg transition-colors whitespace-nowrap"
title="저번달 1일부터 말일까지"
>
@@ -510,7 +510,7 @@ export function Jobreport() {
className="h-10 bg-success-500 hover:bg-success-600 text-white px-6 rounded-lg transition-colors flex items-center justify-center"
>
<Plus className="w-4 h-4 mr-2" />
</button>
</div>
</div>
@@ -520,14 +520,14 @@ export function Jobreport() {
<div className="flex-shrink-0 flex flex-col gap-3 justify-center">
<button
onClick={() => setShowDayReportModal(true)}
className="h-12 bg-indigo-500 hover:bg-indigo-600 text-white px-6 rounded-lg transition-colors flex items-center justify-center whitespace-nowrap"
className="h-10 bg-indigo-500 hover:bg-indigo-600 text-white px-6 rounded-lg transition-colors flex items-center justify-center whitespace-nowrap"
>
<Calendar className="w-4 h-4 mr-2" />
</button>
<button
onClick={() => setShowTypeReportModal(true)}
className="h-12 bg-purple-500 hover:bg-purple-600 text-white px-6 rounded-lg transition-colors flex items-center justify-center whitespace-nowrap"
className="h-10 bg-purple-500 hover:bg-purple-600 text-white px-6 rounded-lg transition-colors flex items-center justify-center whitespace-nowrap"
>
<FileText className="w-4 h-4 mr-2" />

View File

@@ -1,441 +1,17 @@
import { useState, useEffect } from 'react';
import { FileText, Search, RefreshCw, Calendar, Edit3, User, Plus } from 'lucide-react';
import { comms } from '@/communication';
import { BoardItem } from '@/types';
import { BoardList } from './BoardList';
import { FileText } from 'lucide-react';
export function PatchList() {
const [boardList, setBoardList] = useState<BoardItem[]>([]);
const [loading, setLoading] = useState(false);
const [searchKey, setSearchKey] = useState('');
const [selectedItem, setSelectedItem] = useState<BoardItem | null>(null);
const [showModal, setShowModal] = useState(false);
const [showEditModal, setShowEditModal] = useState(false);
const [editFormData, setEditFormData] = useState<BoardItem | null>(null);
const [userLevel, setUserLevel] = useState(0);
const [userId, setUserId] = useState('');
useEffect(() => {
loadUserInfo();
loadData();
}, []);
const loadUserInfo = async () => {
try {
const response = await comms.checkLoginStatus();
if (response.Success && response.User) {
setUserLevel(response.User.Level);
setUserId(response.User.Id);
}
} catch (error) {
console.error('사용자 정보 로드 오류:', error);
}
};
const loadData = async () => {
setLoading(true);
try {
console.log('패치내역 조회:', { bidx: 5, searchKey });
const response = await comms.getBoardList(5, searchKey); // bidx=5: 패치내역
console.log('패치내역 응답:', response);
if (response.Success && response.Data) {
setBoardList(response.Data);
} else {
console.warn('패치내역 없음:', response.Message);
setBoardList([]);
}
} catch (error) {
console.error('패치내역 로드 오류:', error);
alert('데이터를 불러오는 중 오류가 발생했습니다.');
} finally {
setLoading(false);
}
};
const handleSearch = () => {
loadData();
};
const handleRowClick = async (item: BoardItem) => {
try {
const response = await comms.getBoardDetail(item.idx);
if (response.Success && response.Data) {
setSelectedItem(response.Data);
// 개발자(레벨 >= 9) 또는 사번 395552이면 바로 편집 모드
if (userLevel >= 9 || userId === '395552') {
setEditFormData(response.Data);
setShowEditModal(true);
} else {
setShowModal(true);
}
}
} catch (error) {
console.error('상세 조회 오류:', error);
alert('데이터를 불러오는 중 오류가 발생했습니다.');
}
};
const handleEditClick = () => {
if (selectedItem) {
setEditFormData(selectedItem);
setShowModal(false);
setShowEditModal(true);
}
};
const handleEditSave = async () => {
if (!editFormData) return;
try {
const isNew = editFormData.idx === 0;
if (isNew) {
// 신규 등록
const response = await comms.addBoard(
5, // bidx: 패치내역
editFormData.header || '',
editFormData.cate || '',
editFormData.title || '',
editFormData.contents || ''
);
if (response.Success) {
alert('등록되었습니다.');
setShowEditModal(false);
setEditFormData(null);
loadData();
} else {
alert(response.Message || '등록에 실패했습니다.');
}
} else {
// 수정
const response = await comms.editBoard(
editFormData.idx,
editFormData.header || '',
editFormData.cate || '',
editFormData.title || '',
editFormData.contents || ''
);
if (response.Success) {
alert('수정되었습니다.');
setShowEditModal(false);
setEditFormData(null);
loadData();
} else {
alert(response.Message || '수정에 실패했습니다.');
}
}
} catch (error) {
console.error('저장 오류:', error);
alert('저장 중 오류가 발생했습니다.');
}
};
const handleDelete = async () => {
if (!editFormData || editFormData.idx === 0) return;
if (!confirm('정말 삭제하시겠습니까?')) return;
try {
const response = await comms.deleteBoard(editFormData.idx);
if (response.Success) {
alert('삭제되었습니다.');
setShowEditModal(false);
setEditFormData(null);
loadData();
} else {
alert(response.Message || '삭제에 실패했습니다.');
}
} catch (error) {
console.error('삭제 오류:', error);
alert('삭제 중 오류가 발생했습니다.');
}
};
const formatDate = (dateStr: string | null) => {
if (!dateStr) return '-';
try {
const date = new Date(dateStr);
const yy = String(date.getFullYear()).slice(-2);
const mm = String(date.getMonth() + 1).padStart(2, '0');
const dd = String(date.getDate()).padStart(2, '0');
return `${yy}.${mm}.${dd}`;
} catch {
return dateStr;
}
};
return (
<div className="space-y-6 animate-fade-in">
{/* 검색 필터 */}
<div className="glass-effect rounded-2xl p-6">
<div className="flex items-center gap-4">
<div className="flex items-center gap-2 flex-1">
<label className="text-white/70 text-sm font-medium whitespace-nowrap"></label>
<input
type="text"
value={searchKey}
onChange={(e) => setSearchKey(e.target.value)}
onKeyDown={(e) => e.key === 'Enter' && handleSearch()}
placeholder="제목, 내용, 작성자 등"
className="flex-1 h-10 bg-white/20 border border-white/30 rounded-lg px-3 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400"
<BoardList
bidx={5}
title="패치 내역"
icon={<FileText className="w-5 h-5" />}
defaultCategory="PATCH"
categories={[
{ value: 'PATCH', label: 'PATCH', color: 'red' },
{ value: 'UPDATE', label: 'UPDATE', color: 'lime' }
]}
/>
</div>
<button
onClick={handleSearch}
disabled={loading}
className="h-10 bg-primary-500 hover:bg-primary-600 text-white px-6 rounded-lg transition-colors flex items-center justify-center disabled:opacity-50"
>
{loading ? (
<RefreshCw className="w-4 h-4 mr-2 animate-spin" />
) : (
<Search className="w-4 h-4 mr-2" />
)}
</button>
<button
onClick={() => {
setEditFormData({
idx: 0,
bidx: 5,
gcode: '',
header: '',
cate: 'PATCH',
title: '',
contents: '',
file: '',
guid: '',
url: '',
wuid: '',
wuid_name: '',
wdate: null,
project: '',
pidx: 0,
close: false,
remark: ''
});
setShowEditModal(true);
}}
disabled={!(userLevel >= 9 || userId === '395552')}
className="h-10 bg-green-500 hover:bg-green-600 text-white px-6 rounded-lg transition-colors flex items-center justify-center disabled:opacity-30 disabled:cursor-not-allowed"
>
<Plus className="w-4 h-4 mr-2" />
</button>
</div>
</div>
{/* 패치내역 목록 */}
<div className="glass-effect rounded-2xl overflow-hidden">
<div className="px-6 py-4 border-b border-white/10 flex items-center justify-between">
<h3 className="text-lg font-semibold text-white flex items-center">
<FileText className="w-5 h-5 mr-2" />
</h3>
<span className="text-white/60 text-sm">{boardList.length}</span>
</div>
<div className="divide-y divide-white/10 max-h-[calc(100vh-300px)] overflow-y-auto">
{loading ? (
<div className="px-6 py-8 text-center">
<div className="flex items-center justify-center">
<RefreshCw className="w-5 h-5 mr-2 animate-spin text-white/50" />
<span className="text-white/50"> ...</span>
</div>
</div>
) : boardList.length === 0 ? (
<div className="px-6 py-8 text-center">
<FileText className="w-12 h-12 mx-auto mb-3 text-white/30" />
<p className="text-white/50"> .</p>
</div>
) : (
boardList.map((item) => (
<div
key={item.idx}
className="px-6 py-3 hover:bg-white/5 transition-colors cursor-pointer"
onClick={() => handleRowClick(item)}
>
<div className="flex items-center gap-3">
<div className="flex items-center gap-2 flex-shrink-0">
{item.cate && (
<span className={`px-2 py-0.5 text-xs rounded whitespace-nowrap ${
item.cate.toUpperCase() === 'UPDATE'
? 'bg-lime-500/20 text-lime-400'
: 'bg-red-500/20 text-red-400'
}`}>
{item.cate}
</span>
)}
{item.header && (
<span className="px-2 py-0.5 bg-primary-500/20 text-primary-400 text-xs rounded whitespace-nowrap">
{item.header}
</span>
)}
</div>
<h4 className="text-white font-medium flex-1 min-w-0 truncate">{item.title}</h4>
<div className="flex items-center text-white/60 text-xs flex-shrink-0">
<Calendar className="w-3 h-3 mr-1" />
{formatDate(item.wdate)}
</div>
</div>
</div>
))
)}
</div>
</div>
{/* 상세 모달 */}
{showModal && selectedItem && (
<div className="fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm">
<div className="bg-gray-900 rounded-2xl shadow-2xl w-full max-w-4xl max-h-[90vh] overflow-hidden border border-white/10">
<div className="flex items-center justify-between px-6 py-4 border-b border-white/10">
<div className="flex items-center gap-2">
{selectedItem.header && (
<span className="px-2 py-1 bg-primary-500/20 text-primary-400 text-sm rounded">
{selectedItem.header}
</span>
)}
{selectedItem.cate && (
<span className="px-2 py-1 bg-white/10 text-white/70 text-sm rounded">
{selectedItem.cate}
</span>
)}
<h2 className="text-xl font-bold text-white ml-2">{selectedItem.title}</h2>
</div>
<button
onClick={() => setShowModal(false)}
className="text-white/50 hover:text-white transition-colors"
>
<span className="text-2xl">×</span>
</button>
</div>
<div className="px-6 py-4 border-b border-white/10 flex items-center gap-4 text-sm text-white/60">
<div className="flex items-center">
<User className="w-4 h-4 mr-1" />
{selectedItem.wuid_name || selectedItem.wuid}
</div>
<div className="flex items-center">
<Calendar className="w-4 h-4 mr-1" />
{formatDate(selectedItem.wdate)}
</div>
</div>
<div className="overflow-y-auto max-h-[calc(90vh-180px)] p-6">
<div className="prose prose-invert max-w-none">
<div className="text-white whitespace-pre-wrap">{selectedItem.contents}</div>
</div>
</div>
<div className="flex items-center justify-end gap-2 px-6 py-4 border-t border-white/10 bg-white/5">
{(userLevel >= 9 || userId === '395552') && (
<button
onClick={handleEditClick}
className="px-4 py-2 rounded-lg bg-primary-500 hover:bg-primary-600 text-white transition-colors flex items-center"
>
<Edit3 className="w-4 h-4 mr-2" />
</button>
)}
<button
onClick={() => setShowModal(false)}
className="px-4 py-2 rounded-lg bg-white/10 hover:bg-white/20 text-white transition-colors"
>
</button>
</div>
</div>
</div>
)}
{/* 편집 모달 */}
{showEditModal && editFormData && (
<div className="fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm">
<div className="bg-gray-900 rounded-2xl shadow-2xl w-full max-w-4xl max-h-[90vh] overflow-hidden border border-white/10">
<div className="flex items-center justify-between px-6 py-4 border-b border-white/10">
<h2 className="text-xl font-bold text-white flex items-center">
<Edit3 className="w-5 h-5 mr-2" />
</h2>
<button
onClick={() => setShowEditModal(false)}
className="text-white/50 hover:text-white transition-colors"
>
<span className="text-2xl">×</span>
</button>
</div>
<div className="overflow-y-auto max-h-[calc(90vh-180px)] p-6 space-y-4">
<div className="flex items-center gap-3">
<div className="w-32">
<label className="block text-white/70 text-xs font-medium mb-1"></label>
<select
value={editFormData.cate || 'PATCH'}
onChange={(e) => setEditFormData({ ...editFormData, cate: e.target.value })}
className="w-full h-9 bg-white/10 border border-white/30 rounded-lg px-2 text-white text-sm focus:outline-none focus:ring-2 focus:ring-primary-400"
>
<option value="PATCH" className="bg-gray-800">PATCH</option>
<option value="UPDATE" className="bg-gray-800">UPDATE</option>
</select>
</div>
<div className="flex-1">
<label className="block text-white/70 text-xs font-medium mb-1"></label>
<input
type="text"
value={editFormData.title || ''}
onChange={(e) => setEditFormData({ ...editFormData, title: e.target.value })}
className="w-full h-9 bg-white/10 border border-white/30 rounded-lg px-3 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400"
placeholder="패치 제목"
/>
</div>
</div>
<div>
<label className="block text-white/70 text-sm font-medium mb-2"></label>
<textarea
value={editFormData.contents || ''}
onChange={(e) => setEditFormData({ ...editFormData, contents: e.target.value })}
rows={15}
className="w-full bg-white/10 border border-white/30 rounded-lg px-3 py-2 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400 resize-none"
placeholder="패치 내용을 입력하세요..."
/>
</div>
</div>
<div className="flex items-center justify-between px-6 py-4 border-t border-white/10 bg-white/5">
<div>
{editFormData && editFormData.idx > 0 && (
<button
onClick={handleDelete}
className="px-4 py-2 rounded-lg bg-red-500 hover:bg-red-600 text-white transition-colors"
>
</button>
)}
</div>
<div className="flex items-center gap-2">
<button
onClick={() => setShowEditModal(false)}
className="px-4 py-2 rounded-lg bg-white/10 hover:bg-white/20 text-white transition-colors"
>
</button>
<button
onClick={handleEditSave}
className="px-4 py-2 rounded-lg bg-primary-500 hover:bg-primary-600 text-white transition-colors"
>
</button>
</div>
</div>
</div>
</div>
)}
</div>
);
}

View File

@@ -462,6 +462,8 @@ export interface MachineBridgeInterface {
Board_Add(bidx: number, header: string, cate: string, title: string, contents: string): Promise<string>;
Board_Edit(idx: number, header: string, cate: string, title: string, contents: string): Promise<string>;
Board_Delete(idx: number): Promise<string>;
Board_GetReplies(rootIdx: number): Promise<string>;
Board_AddReply(rootIdx: number, pidx: number, title: string, contents: string, isComment: boolean): Promise<string>;
// Mail API (메일 발신 내역)
Mail_GetList(startDate: string, endDate: string, searchKey: string): Promise<string>;
@@ -849,6 +851,12 @@ export interface BoardItem {
close: boolean;
remark: string;
wuid_name: string;
root_idx?: number | null;
depth?: number;
sort_order?: number;
thread_path?: string;
is_comment?: boolean;
reply_count?: number;
}
// Mail 발신 내역 타입

View File

@@ -169,7 +169,6 @@
// tam
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.BoardTableAdapter = null;
this.tam.EETGW_WorkTableUserTableAdapter = null;
this.tam.HolidayLIstTableAdapter = null;
this.tam.HolydayTableAdapter = this.ta;

File diff suppressed because it is too large Load Diff

View File

@@ -128,107 +128,6 @@ WHERE (idx = @idx)</CommandText>
</DbSource>
</Sources>
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="BoardTableAdapter" GeneratorDataComponentClassName="BoardTableAdapter" Name="Board" UserDataComponentName="BoardTableAdapter">
<MainSource>
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.Board" 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 [Board] WHERE (([idx] = @Original_idx) AND ((@IsNull_bidx = 1 AND [bidx] IS NULL) OR ([bidx] = @Original_bidx)) AND ((@IsNull_header = 1 AND [header] IS NULL) OR ([header] = @Original_header)) AND ((@IsNull_cate = 1 AND [cate] IS NULL) OR ([cate] = @Original_cate)) AND ((@IsNull_title = 1 AND [title] IS NULL) OR ([title] = @Original_title)) AND ((@IsNull_file = 1 AND [file] IS NULL) OR ([file] = @Original_file)) AND ((@IsNull_guid = 1 AND [guid] IS NULL) OR ([guid] = @Original_guid)) 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="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_bidx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="bidx" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_bidx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="bidx" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_header" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="header" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_header" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="header" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_cate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="cate" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_cate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="cate" 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="String" Direction="Input" ParameterName="@Original_title" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_file" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="file" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_file" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="file" 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="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="DateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</DeleteCommand>
<InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>INSERT INTO [Board] ([bidx], [header], [cate], [title], [contents], [file], [guid], [wuid], [wdate]) VALUES (@bidx, @header, @cate, @title, @contents, @file, @guid, @wuid, @wdate);
SELECT idx, bidx, header, cate, title, contents, [file], guid, wuid, wdate FROM Board WHERE (idx = SCOPE_IDENTITY())</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@bidx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="bidx" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@header" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="header" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@cate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="cate" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@title" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@contents" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="contents" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@file" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="file" 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="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="DateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</InsertCommand>
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>SELECT idx, bidx, header, cate, title, contents, [file], guid, wuid, wdate
FROM Board WITH (NOLOCK)
WHERE (bidx = @bidx)</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="bidx" ColumnName="bidx" DataSourceName="EE.dbo.Board" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@bidx" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="bidx" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
<UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>UPDATE [Board] SET [bidx] = @bidx, [header] = @header, [cate] = @cate, [title] = @title, [contents] = @contents, [file] = @file, [guid] = @guid, [wuid] = @wuid, [wdate] = @wdate WHERE (([idx] = @Original_idx) AND ((@IsNull_bidx = 1 AND [bidx] IS NULL) OR ([bidx] = @Original_bidx)) AND ((@IsNull_header = 1 AND [header] IS NULL) OR ([header] = @Original_header)) AND ((@IsNull_cate = 1 AND [cate] IS NULL) OR ([cate] = @Original_cate)) AND ((@IsNull_title = 1 AND [title] IS NULL) OR ([title] = @Original_title)) AND ((@IsNull_file = 1 AND [file] IS NULL) OR ([file] = @Original_file)) AND ((@IsNull_guid = 1 AND [guid] IS NULL) OR ([guid] = @Original_guid)) AND ([wuid] = @Original_wuid) AND ([wdate] = @Original_wdate));
SELECT idx, bidx, header, cate, title, contents, [file], guid, wuid, wdate FROM Board WHERE (idx = @idx)</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@bidx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="bidx" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@header" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="header" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@cate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="cate" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@title" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@contents" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="contents" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@file" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="file" 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="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="DateTime" 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="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_bidx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="bidx" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_bidx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="bidx" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_header" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="header" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_header" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="header" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_cate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="cate" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_cate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="cate" 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="String" Direction="Input" ParameterName="@Original_title" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="title" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_file" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="file" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_file" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="file" 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="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="DateTime" 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="bidx" DataSetColumn="bidx" />
<Mapping SourceColumn="header" DataSetColumn="header" />
<Mapping SourceColumn="cate" DataSetColumn="cate" />
<Mapping SourceColumn="title" DataSetColumn="title" />
<Mapping SourceColumn="contents" DataSetColumn="contents" />
<Mapping SourceColumn="file" DataSetColumn="file" />
<Mapping SourceColumn="guid" DataSetColumn="guid" />
<Mapping SourceColumn="wuid" DataSetColumn="wuid" />
<Mapping SourceColumn="wdate" DataSetColumn="wdate" />
</Mappings>
<Sources />
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="HolydayTableAdapter" GeneratorDataComponentClassName="HolydayTableAdapter" Name="Holyday" UserDataComponentName="HolydayTableAdapter">
<MainSource>
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.Holyday" 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">
@@ -908,527 +807,475 @@ WHERE (gcode = @gcode) AND (uid = @uid) AND (CONVERT(CHAR(10), sdate, 23) &gt;=
</DataSource>
</xs:appinfo>
</xs:annotation>
<xs:element name="dsMSSQL" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="dsMSSQL" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="dsMSSQL">
<xs:element name="dsMSSQL" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="dsMSSQL" msprop:Generator_UserDSName="dsMSSQL">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="minutes" msprop:Generator_RowEvHandlerName="minutesRowChangeEventHandler" msprop:Generator_RowDeletedName="minutesRowDeleted" msprop:Generator_RowDeletingName="minutesRowDeleting" msprop:Generator_RowEvArgName="minutesRowChangeEvent" msprop:Generator_TablePropName="minutes" msprop:Generator_RowChangedName="minutesRowChanged" msprop:Generator_UserTableName="minutes" msprop:Generator_RowChangingName="minutesRowChanging" msprop:Generator_RowClassName="minutesRow" msprop:Generator_TableClassName="minutesDataTable" msprop:Generator_TableVarName="tableminutes">
<xs:element name="minutes" msprop:Generator_UserTableName="minutes" msprop:Generator_RowEvArgName="minutesRowChangeEvent" msprop:Generator_TableVarName="tableminutes" msprop:Generator_TablePropName="minutes" msprop:Generator_RowDeletingName="minutesRowDeleting" msprop:Generator_RowChangingName="minutesRowChanging" msprop:Generator_RowDeletedName="minutesRowDeleted" msprop:Generator_RowEvHandlerName="minutesRowChangeEventHandler" msprop:Generator_TableClassName="minutesDataTable" msprop:Generator_RowChangedName="minutesRowChanged" msprop:Generator_RowClassName="minutesRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_UserColumnName="idx" msprop:Generator_ColumnVarNameInTable="columnidx" type="xs:int" />
<xs:element name="stime" msprop:Generator_ColumnPropNameInTable="stimeColumn" msprop:Generator_ColumnPropNameInRow="stime" msprop:Generator_UserColumnName="stime" msprop:Generator_ColumnVarNameInTable="columnstime" type="xs:dateTime" minOccurs="0" />
<xs:element name="etime" msprop:Generator_ColumnPropNameInTable="etimeColumn" msprop:Generator_ColumnPropNameInRow="etime" msprop:Generator_UserColumnName="etime" msprop:Generator_ColumnVarNameInTable="columnetime" type="xs:dateTime" minOccurs="0" />
<xs:element name="title" msprop:Generator_ColumnPropNameInTable="titleColumn" msprop:Generator_ColumnPropNameInRow="title" msprop:Generator_UserColumnName="title" msprop:Generator_ColumnVarNameInTable="columntitle" minOccurs="0">
<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="stime" msprop:Generator_ColumnVarNameInTable="columnstime" msprop:Generator_ColumnPropNameInRow="stime" msprop:Generator_ColumnPropNameInTable="stimeColumn" msprop:Generator_UserColumnName="stime" type="xs:dateTime" minOccurs="0" />
<xs:element name="etime" msprop:Generator_ColumnVarNameInTable="columnetime" msprop:Generator_ColumnPropNameInRow="etime" msprop:Generator_ColumnPropNameInTable="etimeColumn" msprop:Generator_UserColumnName="etime" type="xs:dateTime" minOccurs="0" />
<xs:element name="title" msprop:Generator_ColumnVarNameInTable="columntitle" msprop:Generator_ColumnPropNameInRow="title" msprop:Generator_ColumnPropNameInTable="titleColumn" msprop:Generator_UserColumnName="title" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="place" msprop:Generator_ColumnPropNameInTable="placeColumn" msprop:Generator_ColumnPropNameInRow="place" msprop:Generator_UserColumnName="place" msprop:Generator_ColumnVarNameInTable="columnplace" minOccurs="0">
<xs:element name="place" msprop:Generator_ColumnVarNameInTable="columnplace" msprop:Generator_ColumnPropNameInRow="place" msprop:Generator_ColumnPropNameInTable="placeColumn" msprop:Generator_UserColumnName="place" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="contents" msprop:Generator_ColumnPropNameInTable="contentsColumn" msprop:Generator_ColumnPropNameInRow="contents" msprop:Generator_UserColumnName="contents" msprop:Generator_ColumnVarNameInTable="columncontents" minOccurs="0">
<xs:element name="contents" msprop:Generator_ColumnVarNameInTable="columncontents" msprop:Generator_ColumnPropNameInRow="contents" msprop:Generator_ColumnPropNameInTable="contentsColumn" msprop:Generator_UserColumnName="contents" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="project" msprop:Generator_ColumnPropNameInTable="projectColumn" msprop:Generator_ColumnPropNameInRow="project" msprop:Generator_UserColumnName="project" msprop:Generator_ColumnVarNameInTable="columnproject" type="xs:int" minOccurs="0" />
<xs:element name="main" msprop:Generator_ColumnPropNameInTable="mainColumn" msprop:Generator_ColumnPropNameInRow="main" msprop:Generator_UserColumnName="main" msprop:Generator_ColumnVarNameInTable="columnmain" minOccurs="0">
<xs:element name="project" msprop:Generator_ColumnVarNameInTable="columnproject" msprop:Generator_ColumnPropNameInRow="project" msprop:Generator_ColumnPropNameInTable="projectColumn" msprop:Generator_UserColumnName="project" type="xs:int" minOccurs="0" />
<xs:element name="main" msprop:Generator_ColumnVarNameInTable="columnmain" msprop:Generator_ColumnPropNameInRow="main" msprop:Generator_ColumnPropNameInTable="mainColumn" msprop:Generator_UserColumnName="main" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sub" msprop:Generator_ColumnPropNameInTable="subColumn" msprop:Generator_ColumnPropNameInRow="sub" msprop:Generator_UserColumnName="sub" msprop:Generator_ColumnVarNameInTable="columnsub" minOccurs="0">
<xs:element name="sub" msprop:Generator_ColumnVarNameInTable="columnsub" msprop:Generator_ColumnPropNameInRow="sub" msprop:Generator_ColumnPropNameInTable="subColumn" msprop:Generator_UserColumnName="sub" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="memo" msprop:Generator_ColumnPropNameInTable="memoColumn" msprop:Generator_ColumnPropNameInRow="memo" msprop:Generator_UserColumnName="memo" msprop:Generator_ColumnVarNameInTable="columnmemo" minOccurs="0">
<xs:element name="memo" msprop:Generator_ColumnVarNameInTable="columnmemo" msprop:Generator_ColumnPropNameInRow="memo" msprop:Generator_ColumnPropNameInTable="memoColumn" msprop:Generator_UserColumnName="memo" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_UserColumnName="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid">
<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_ColumnPropNameInTable="wdateColumn" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_UserColumnName="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" type="xs:dateTime" />
<xs:element name="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Board" msprop:Generator_RowEvHandlerName="BoardRowChangeEventHandler" msprop:Generator_RowDeletedName="BoardRowDeleted" msprop:Generator_RowDeletingName="BoardRowDeleting" msprop:Generator_RowEvArgName="BoardRowChangeEvent" msprop:Generator_TablePropName="Board" msprop:Generator_RowChangedName="BoardRowChanged" msprop:Generator_UserTableName="Board" msprop:Generator_RowChangingName="BoardRowChanging" msprop:Generator_RowClassName="BoardRow" msprop:Generator_TableClassName="BoardDataTable" msprop:Generator_TableVarName="tableBoard">
<xs:element name="Holyday" msprop:Generator_UserTableName="Holyday" msprop:Generator_RowEvArgName="HolydayRowChangeEvent" msprop:Generator_TableVarName="tableHolyday" msprop:Generator_TablePropName="Holyday" msprop:Generator_RowDeletingName="HolydayRowDeleting" msprop:Generator_RowChangingName="HolydayRowChanging" msprop:Generator_RowDeletedName="HolydayRowDeleted" msprop:Generator_RowEvHandlerName="HolydayRowChangeEventHandler" msprop:Generator_TableClassName="HolydayDataTable" msprop:Generator_RowChangedName="HolydayRowChanged" msprop:Generator_RowClassName="HolydayRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_UserColumnName="idx" msprop:Generator_ColumnVarNameInTable="columnidx" type="xs:int" />
<xs:element name="bidx" msprop:Generator_ColumnPropNameInTable="bidxColumn" msprop:Generator_ColumnPropNameInRow="bidx" msprop:Generator_UserColumnName="bidx" msprop:Generator_ColumnVarNameInTable="columnbidx" type="xs:int" minOccurs="0" />
<xs:element name="header" msprop:Generator_ColumnPropNameInTable="headerColumn" msprop:Generator_ColumnPropNameInRow="header" msprop:Generator_UserColumnName="header" msprop:Generator_ColumnVarNameInTable="columnheader" type="xs:boolean" minOccurs="0" />
<xs:element name="cate" msprop:Generator_ColumnPropNameInTable="cateColumn" msprop:Generator_ColumnPropNameInRow="cate" msprop:Generator_UserColumnName="cate" msprop:Generator_ColumnVarNameInTable="columncate" minOccurs="0">
<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="cate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="cate" msprop:Generator_ColumnVarNameInTable="columncate" msprop:Generator_ColumnPropNameInTable="cateColumn" msprop:Generator_UserColumnName="cate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2" />
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="title" msprop:Generator_ColumnPropNameInTable="titleColumn" msprop:Generator_ColumnPropNameInRow="title" msprop:Generator_UserColumnName="title" msprop:Generator_ColumnVarNameInTable="columntitle" minOccurs="0">
<xs:element name="result" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="result" msprop:Generator_ColumnVarNameInTable="columnresult" msprop:Generator_ColumnPropNameInTable="resultColumn" msprop:Generator_UserColumnName="result" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sdate" msprop:Generator_ColumnVarNameInTable="columnsdate" msprop:Generator_ColumnPropNameInRow="sdate" msprop:Generator_ColumnPropNameInTable="sdateColumn" msprop:Generator_UserColumnName="sdate" type="xs:dateTime" minOccurs="0" />
<xs:element name="edate" msprop:Generator_ColumnVarNameInTable="columnedate" msprop:Generator_ColumnPropNameInRow="edate" msprop:Generator_ColumnPropNameInTable="edateColumn" msprop:Generator_UserColumnName="edate" type="xs:dateTime" minOccurs="0" />
<xs:element name="term" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="term" msprop:Generator_ColumnVarNameInTable="columnterm" msprop:Generator_ColumnPropNameInTable="termColumn" msprop:Generator_UserColumnName="term" type="xs:double" minOccurs="0" />
<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="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="contents" msprop:Generator_ColumnPropNameInTable="contentsColumn" msprop:Generator_ColumnPropNameInRow="contents" msprop:Generator_UserColumnName="contents" msprop:Generator_ColumnVarNameInTable="columncontents" minOccurs="0">
<xs:element name="contents" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="contents" msprop:Generator_ColumnVarNameInTable="columncontents" msprop:Generator_ColumnPropNameInTable="contentsColumn" msprop:Generator_UserColumnName="contents" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="file" msprop:Generator_ColumnPropNameInTable="fileColumn" msprop:Generator_ColumnPropNameInRow="file" msprop:Generator_UserColumnName="file" msprop:Generator_ColumnVarNameInTable="columnfile" minOccurs="0">
<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="tolist" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="tolist" msprop:Generator_ColumnVarNameInTable="columntolist" msprop:Generator_ColumnPropNameInTable="tolistColumn" msprop:Generator_UserColumnName="tolist" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="mail" msprop:nullValue="false" msprop:Generator_ColumnPropNameInRow="mail" msprop:Generator_ColumnVarNameInTable="columnmail" msprop:Generator_ColumnPropNameInTable="mailColumn" msprop:Generator_UserColumnName="mail" type="xs:boolean" minOccurs="0" />
<xs:element name="mailsend" msprop:nullValue="false" msprop:Generator_ColumnPropNameInRow="mailsend" msprop:Generator_ColumnVarNameInTable="columnmailsend" msprop:Generator_ColumnPropNameInTable="mailsendColumn" msprop:Generator_UserColumnName="mailsend" type="xs:boolean" minOccurs="0" />
<xs:element name="reason" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="reason" msprop:Generator_ColumnVarNameInTable="columnreason" msprop:Generator_ColumnPropNameInTable="reasonColumn" msprop:Generator_UserColumnName="reason" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</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="termDr" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="termDr" msprop:Generator_ColumnVarNameInTable="columntermDr" msprop:Generator_ColumnPropNameInTable="termDrColumn" msprop:Generator_UserColumnName="termDr" type="xs:double" minOccurs="0" />
<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="DrTime" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="DrTime" msprop:Generator_ColumnVarNameInTable="columnDrTime" msprop:Generator_ColumnPropNameInTable="DrTimeColumn" msprop:Generator_UserColumnName="DrTime" type="xs:double" minOccurs="0" />
<xs:element name="CrTime" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="CrTime" msprop:Generator_ColumnVarNameInTable="columnCrTime" msprop:Generator_ColumnPropNameInTable="CrTimeColumn" msprop:Generator_UserColumnName="CrTime" type="xs:double" minOccurs="0" />
<xs:element name="UserName" msdata:ReadOnly="true" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="UserName" msprop:Generator_ColumnVarNameInTable="columnUserName" msprop:Generator_ColumnPropNameInTable="UserNameColumn" msprop:Generator_UserColumnName="UserName" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="guid" msprop:Generator_ColumnPropNameInTable="guidColumn" msprop:Generator_ColumnPropNameInRow="guid" msprop:Generator_UserColumnName="guid" msprop:Generator_ColumnVarNameInTable="columnguid" minOccurs="0">
<xs:element name="tag" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="tag" msprop:Generator_ColumnVarNameInTable="columntag" msprop:Generator_ColumnPropNameInTable="tagColumn" msprop:Generator_UserColumnName="tag" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_UserColumnName="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid">
<xs:element name="extcate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="extcate" msprop:Generator_ColumnVarNameInTable="columnextcate" msprop:Generator_ColumnPropNameInTable="extcateColumn" msprop:Generator_UserColumnName="extcate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_UserColumnName="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" type="xs:dateTime" />
<xs:element name="extidx" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="extidx" msprop:Generator_ColumnVarNameInTable="columnextidx" msprop:Generator_ColumnPropNameInTable="extidxColumn" msprop:Generator_UserColumnName="extidx" type="xs:int" minOccurs="0" />
<xs:element name="lock" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="_lock" msprop:Generator_ColumnVarNameInTable="columnlock" msprop:Generator_ColumnPropNameInTable="lockColumn" msprop:Generator_UserColumnName="lock" type="xs:boolean" minOccurs="0" />
<xs:element name="iwol" msprop:Generator_ColumnVarNameInTable="columniwol" msprop:Generator_ColumnPropNameInRow="iwol" msprop:Generator_ColumnPropNameInTable="iwolColumn" msprop:Generator_UserColumnName="iwol" type="xs:boolean" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Holyday" msprop:Generator_RowEvHandlerName="HolydayRowChangeEventHandler" msprop:Generator_RowDeletedName="HolydayRowDeleted" msprop:Generator_RowDeletingName="HolydayRowDeleting" msprop:Generator_RowEvArgName="HolydayRowChangeEvent" msprop:Generator_TablePropName="Holyday" msprop:Generator_RowChangedName="HolydayRowChanged" msprop:Generator_UserTableName="Holyday" msprop:Generator_RowChangingName="HolydayRowChanging" msprop:Generator_RowClassName="HolydayRow" msprop:Generator_TableClassName="HolydayDataTable" msprop:Generator_TableVarName="tableHolyday">
<xs:element name="vHoliday_uselist" msprop:Generator_UserTableName="vHoliday_uselist" msprop:Generator_RowEvArgName="vHoliday_uselistRowChangeEvent" msprop:Generator_TableVarName="tablevHoliday_uselist" msprop:Generator_TablePropName="vHoliday_uselist" msprop:Generator_RowDeletingName="vHoliday_uselistRowDeleting" msprop:Generator_RowChangingName="vHoliday_uselistRowChanging" msprop:Generator_RowDeletedName="vHoliday_uselistRowDeleted" msprop:Generator_RowEvHandlerName="vHoliday_uselistRowChangeEventHandler" msprop:Generator_TableClassName="vHoliday_uselistDataTable" msprop:Generator_RowChangedName="vHoliday_uselistRowChanged" msprop:Generator_RowClassName="vHoliday_uselistRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_UserColumnName="idx" msprop:Generator_ColumnVarNameInTable="columnidx" type="xs:int" />
<xs:element name="cate" msprop:Generator_ColumnPropNameInTable="cateColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="cate" msprop:Generator_UserColumnName="cate" msprop:Generator_ColumnVarNameInTable="columncate" minOccurs="0">
<xs:element name="idx" 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="uid" msprop:Generator_ColumnVarNameInTable="columnuid" msprop:Generator_ColumnPropNameInRow="uid" msprop:Generator_ColumnPropNameInTable="uidColumn" msprop:Generator_UserColumnName="uid" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="result" msprop:Generator_ColumnPropNameInTable="resultColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="result" msprop:Generator_UserColumnName="result" msprop:Generator_ColumnVarNameInTable="columnresult" minOccurs="0">
<xs:element name="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_UserColumnName="wuid">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sdate" msprop:Generator_ColumnPropNameInTable="sdateColumn" msprop:Generator_ColumnPropNameInRow="sdate" msprop:Generator_UserColumnName="sdate" msprop:Generator_ColumnVarNameInTable="columnsdate" type="xs:dateTime" minOccurs="0" />
<xs:element name="edate" msprop:Generator_ColumnPropNameInTable="edateColumn" msprop:Generator_ColumnPropNameInRow="edate" msprop:Generator_UserColumnName="edate" msprop:Generator_ColumnVarNameInTable="columnedate" type="xs:dateTime" minOccurs="0" />
<xs:element name="term" msprop:Generator_ColumnPropNameInTable="termColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="term" msprop:Generator_UserColumnName="term" msprop:Generator_ColumnVarNameInTable="columnterm" type="xs:double" minOccurs="0" />
<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: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="pdate" msprop:Generator_ColumnVarNameInTable="columnpdate" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:Generator_UserColumnName="pdate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="termdr" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columntermdr" msprop:Generator_ColumnPropNameInRow="termdr" msprop:Generator_ColumnPropNameInTable="termdrColumn" msprop:Generator_UserColumnName="termdr" type="xs:int" minOccurs="0" />
<xs:element name="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInRow="description" 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="term" msdata:ReadOnly="true" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="term" msprop:Generator_ColumnVarNameInTable="columnterm" msprop:Generator_ColumnPropNameInTable="termColumn" msprop:Generator_UserColumnName="term" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="WorkTableGrp" msprop:Generator_UserTableName="WorkTableGrp" msprop:Generator_RowEvArgName="WorkTableGrpRowChangeEvent" msprop:Generator_TableVarName="tableWorkTableGrp" msprop:Generator_TablePropName="WorkTableGrp" msprop:Generator_RowDeletingName="WorkTableGrpRowDeleting" msprop:Generator_RowChangingName="WorkTableGrpRowChanging" msprop:Generator_RowDeletedName="WorkTableGrpRowDeleted" msprop:Generator_RowEvHandlerName="WorkTableGrpRowChangeEventHandler" msprop:Generator_TableClassName="WorkTableGrpDataTable" msprop:Generator_RowChangedName="WorkTableGrpRowChanged" msprop:Generator_RowClassName="WorkTableGrpRow">
<xs:complexType>
<xs:sequence>
<xs:element name="grp" msprop:Generator_ColumnVarNameInTable="columngrp" msprop:Generator_ColumnPropNameInRow="grp" msprop:Generator_ColumnPropNameInTable="grpColumn" msprop:Generator_UserColumnName="grp">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EETGW_WorkTableUser" msprop:Generator_UserTableName="EETGW_WorkTableUser" msprop:Generator_RowEvArgName="EETGW_WorkTableUserRowChangeEvent" msprop:Generator_TableVarName="tableEETGW_WorkTableUser" msprop:Generator_TablePropName="EETGW_WorkTableUser" msprop:Generator_RowDeletingName="EETGW_WorkTableUserRowDeleting" msprop:Generator_RowChangingName="EETGW_WorkTableUserRowChanging" msprop:Generator_RowDeletedName="EETGW_WorkTableUserRowDeleted" msprop:Generator_RowEvHandlerName="EETGW_WorkTableUserRowChangeEventHandler" msprop:Generator_TableClassName="EETGW_WorkTableUserDataTable" msprop:Generator_RowChangedName="EETGW_WorkTableUserRowChanged" msprop:Generator_RowClassName="EETGW_WorkTableUserRow">
<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: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="grp" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="grp" msprop:Generator_ColumnVarNameInTable="columngrp" msprop:Generator_ColumnPropNameInTable="grpColumn" msprop:Generator_UserColumnName="grp" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="seq" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="seq" msprop:Generator_ColumnVarNameInTable="columnseq" msprop:Generator_ColumnPropNameInTable="seqColumn" msprop:Generator_UserColumnName="seq" type="xs:int" minOccurs="0" />
<xs:element name="grade" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="grade" msprop:Generator_ColumnVarNameInTable="columngrade" msprop:Generator_ColumnPropNameInTable="gradeColumn" msprop:Generator_UserColumnName="grade" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="empno" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="empno" msprop:Generator_ColumnVarNameInTable="columnempno" msprop:Generator_ColumnPropNameInTable="empnoColumn" msprop:Generator_UserColumnName="empno" 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="100" />
</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="indate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="indate" msprop:Generator_ColumnVarNameInTable="columnindate" msprop:Generator_ColumnPropNameInTable="indateColumn" msprop:Generator_UserColumnName="indate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_ColumnPropNameInTable="emailColumn" msprop:Generator_UserColumnName="email" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="vJobReportForUser" msprop:Generator_UserTableName="vJobReportForUser" msprop:Generator_RowEvArgName="vJobReportForUserRowChangeEvent" msprop:Generator_TableVarName="tablevJobReportForUser" msprop:Generator_TablePropName="vJobReportForUser" msprop:Generator_RowDeletingName="vJobReportForUserRowDeleting" msprop:Generator_RowChangingName="vJobReportForUserRowChanging" msprop:Generator_RowDeletedName="vJobReportForUserRowDeleted" msprop:Generator_RowEvHandlerName="vJobReportForUserRowChangeEventHandler" msprop:Generator_TableClassName="vJobReportForUserDataTable" msprop:Generator_RowChangedName="vJobReportForUserRowChanged" msprop:Generator_RowClassName="vJobReportForUserRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idx" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_UserColumnName="idx" type="xs:int" />
<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="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="id" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="id" msprop:Generator_ColumnVarNameInTable="columnid" msprop:Generator_ColumnPropNameInTable="idColumn" msprop:Generator_UserColumnName="id" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</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="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="type" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="type" msprop:Generator_ColumnVarNameInTable="columntype" msprop:Generator_ColumnPropNameInTable="typeColumn" msprop:Generator_UserColumnName="type" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="svalue" msdata:ReadOnly="true" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="svalue" msprop:Generator_ColumnVarNameInTable="columnsvalue" msprop:Generator_ColumnPropNameInTable="svalueColumn" msprop:Generator_UserColumnName="svalue" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="contents" msprop:Generator_ColumnPropNameInTable="contentsColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="contents" msprop:Generator_UserColumnName="contents" msprop:Generator_ColumnVarNameInTable="columncontents" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="uid" msprop:Generator_ColumnPropNameInTable="uidColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="uid" msprop:Generator_UserColumnName="uid" msprop:Generator_ColumnVarNameInTable="columnuid" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="tolist" msprop:Generator_ColumnPropNameInTable="tolistColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="tolist" msprop:Generator_UserColumnName="tolist" msprop:Generator_ColumnVarNameInTable="columntolist" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="mail" msprop:Generator_ColumnPropNameInTable="mailColumn" msprop:nullValue="false" msprop:Generator_ColumnPropNameInRow="mail" msprop:Generator_UserColumnName="mail" msprop:Generator_ColumnVarNameInTable="columnmail" type="xs:boolean" minOccurs="0" />
<xs:element name="mailsend" msprop:Generator_ColumnPropNameInTable="mailsendColumn" msprop:nullValue="false" msprop:Generator_ColumnPropNameInRow="mailsend" msprop:Generator_UserColumnName="mailsend" msprop:Generator_ColumnVarNameInTable="columnmailsend" type="xs:boolean" minOccurs="0" />
<xs:element name="reason" msprop:Generator_ColumnPropNameInTable="reasonColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="reason" msprop:Generator_UserColumnName="reason" msprop:Generator_ColumnVarNameInTable="columnreason" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_UserColumnName="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_UserColumnName="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" type="xs:dateTime" />
<xs:element name="termDr" msprop:Generator_ColumnPropNameInTable="termDrColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="termDr" msprop:Generator_UserColumnName="termDr" msprop:Generator_ColumnVarNameInTable="columntermDr" type="xs:double" minOccurs="0" />
<xs:element name="gcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" 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="DrTime" msprop:Generator_ColumnPropNameInTable="DrTimeColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="DrTime" msprop:Generator_UserColumnName="DrTime" msprop:Generator_ColumnVarNameInTable="columnDrTime" type="xs:double" minOccurs="0" />
<xs:element name="CrTime" msprop:Generator_ColumnPropNameInTable="CrTimeColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="CrTime" msprop:Generator_UserColumnName="CrTime" msprop:Generator_ColumnVarNameInTable="columnCrTime" type="xs:double" minOccurs="0" />
<xs:element name="UserName" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="UserNameColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="UserName" msprop:Generator_UserColumnName="UserName" msprop:Generator_ColumnVarNameInTable="columnUserName" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="tag" msprop:Generator_ColumnPropNameInTable="tagColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="tag" msprop:Generator_UserColumnName="tag" msprop:Generator_ColumnVarNameInTable="columntag" minOccurs="0">
<xs:element name="hrs" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="hrs" msprop:Generator_ColumnVarNameInTable="columnhrs" msprop:Generator_ColumnPropNameInTable="hrsColumn" msprop:Generator_UserColumnName="hrs" type="xs:double" minOccurs="0" />
<xs:element name="ot" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ot" msprop:Generator_ColumnVarNameInTable="columnot" msprop:Generator_ColumnPropNameInTable="otColumn" msprop:Generator_UserColumnName="ot" type="xs:double" minOccurs="0" />
<xs:element name="requestpart" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="requestpart" msprop:Generator_ColumnVarNameInTable="columnrequestpart" msprop:Generator_ColumnPropNameInTable="requestpartColumn" msprop:Generator_UserColumnName="requestpart" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="extcate" msprop:Generator_ColumnPropNameInTable="extcateColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="extcate" msprop:Generator_UserColumnName="extcate" msprop:Generator_ColumnVarNameInTable="columnextcate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="extidx" msprop:Generator_ColumnPropNameInTable="extidxColumn" msprop:nullValue="-1" msprop:Generator_ColumnPropNameInRow="extidx" msprop:Generator_UserColumnName="extidx" msprop:Generator_ColumnVarNameInTable="columnextidx" type="xs:int" minOccurs="0" />
<xs:element name="lock" msprop:Generator_ColumnPropNameInTable="lockColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="_lock" msprop:Generator_UserColumnName="lock" msprop:Generator_ColumnVarNameInTable="columnlock" type="xs:boolean" minOccurs="0" />
<xs:element name="iwol" msprop:Generator_UserColumnName="iwol" msprop:Generator_ColumnPropNameInTable="iwolColumn" msprop:Generator_ColumnPropNameInRow="iwol" msprop:Generator_ColumnVarNameInTable="columniwol" type="xs:boolean" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="vHoliday_uselist" msprop:Generator_RowEvHandlerName="vHoliday_uselistRowChangeEventHandler" msprop:Generator_RowDeletedName="vHoliday_uselistRowDeleted" msprop:Generator_RowDeletingName="vHoliday_uselistRowDeleting" msprop:Generator_RowEvArgName="vHoliday_uselistRowChangeEvent" msprop:Generator_TablePropName="vHoliday_uselist" msprop:Generator_RowChangedName="vHoliday_uselistRowChanged" msprop:Generator_UserTableName="vHoliday_uselist" msprop:Generator_RowChangingName="vHoliday_uselistRowChanging" msprop:Generator_RowClassName="vHoliday_uselistRow" msprop:Generator_TableClassName="vHoliday_uselistDataTable" msprop:Generator_TableVarName="tablevHoliday_uselist">
<xs:complexType>
<xs:sequence>
<xs:element name="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_UserColumnName="idx" msprop:Generator_ColumnVarNameInTable="columnidx" type="xs:int" />
<xs:element name="gcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" 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="uid" msprop:Generator_ColumnPropNameInTable="uidColumn" msprop:Generator_ColumnPropNameInRow="uid" msprop:Generator_UserColumnName="uid" msprop:Generator_ColumnVarNameInTable="columnuid" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_UserColumnName="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_UserColumnName="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" type="xs:dateTime" />
<xs:element name="pdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_UserColumnName="pdate" msprop:Generator_ColumnVarNameInTable="columnpdate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="termdr" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="termdrColumn" msprop:Generator_ColumnPropNameInRow="termdr" msprop:Generator_UserColumnName="termdr" msprop:Generator_ColumnVarNameInTable="columntermdr" type="xs:int" minOccurs="0" />
<xs:element name="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="term" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="termColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="term" msprop:Generator_UserColumnName="term" msprop:Generator_ColumnVarNameInTable="columnterm" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="WorkTableGrp" msprop:Generator_RowEvHandlerName="WorkTableGrpRowChangeEventHandler" msprop:Generator_RowDeletedName="WorkTableGrpRowDeleted" msprop:Generator_RowDeletingName="WorkTableGrpRowDeleting" msprop:Generator_RowEvArgName="WorkTableGrpRowChangeEvent" msprop:Generator_TablePropName="WorkTableGrp" msprop:Generator_RowChangedName="WorkTableGrpRowChanged" msprop:Generator_UserTableName="WorkTableGrp" msprop:Generator_RowChangingName="WorkTableGrpRowChanging" msprop:Generator_RowClassName="WorkTableGrpRow" msprop:Generator_TableClassName="WorkTableGrpDataTable" msprop:Generator_TableVarName="tableWorkTableGrp">
<xs:complexType>
<xs:sequence>
<xs:element name="grp" msprop:Generator_ColumnPropNameInTable="grpColumn" msprop:Generator_ColumnPropNameInRow="grp" msprop:Generator_UserColumnName="grp" msprop:Generator_ColumnVarNameInTable="columngrp">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="EETGW_WorkTableUser" msprop:Generator_RowEvHandlerName="EETGW_WorkTableUserRowChangeEventHandler" msprop:Generator_RowDeletedName="EETGW_WorkTableUserRowDeleted" msprop:Generator_RowDeletingName="EETGW_WorkTableUserRowDeleting" msprop:Generator_RowEvArgName="EETGW_WorkTableUserRowChangeEvent" msprop:Generator_TablePropName="EETGW_WorkTableUser" msprop:Generator_RowChangedName="EETGW_WorkTableUserRowChanged" msprop:Generator_UserTableName="EETGW_WorkTableUser" msprop:Generator_RowChangingName="EETGW_WorkTableUserRowChanging" msprop:Generator_RowClassName="EETGW_WorkTableUserRow" msprop:Generator_TableClassName="EETGW_WorkTableUserDataTable" msprop:Generator_TableVarName="tableEETGW_WorkTableUser">
<xs:complexType>
<xs:sequence>
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_UserColumnName="idx" msprop:Generator_ColumnVarNameInTable="columnidx" 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="grp" msprop:Generator_ColumnPropNameInTable="grpColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="grp" msprop:Generator_UserColumnName="grp" msprop:Generator_ColumnVarNameInTable="columngrp" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="seq" msprop:Generator_ColumnPropNameInTable="seqColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="seq" msprop:Generator_UserColumnName="seq" msprop:Generator_ColumnVarNameInTable="columnseq" type="xs:int" minOccurs="0" />
<xs:element name="grade" msprop:Generator_ColumnPropNameInTable="gradeColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="grade" msprop:Generator_UserColumnName="grade" msprop:Generator_ColumnVarNameInTable="columngrade" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="empno" msprop:Generator_ColumnPropNameInTable="empnoColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="empno" msprop:Generator_UserColumnName="empno" msprop:Generator_ColumnVarNameInTable="columnempno" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<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="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_UserColumnName="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_UserColumnName="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" type="xs:dateTime" />
<xs:element name="indate" msprop:Generator_ColumnPropNameInTable="indateColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="indate" msprop:Generator_UserColumnName="indate" msprop:Generator_ColumnVarNameInTable="columnindate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" msprop:Generator_ColumnPropNameInTable="emailColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_UserColumnName="email" msprop:Generator_ColumnVarNameInTable="columnemail" minOccurs="0">
<xs:element name="package" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="package" msprop:Generator_ColumnVarNameInTable="columnpackage" msprop:Generator_ColumnPropNameInTable="packageColumn" msprop:Generator_UserColumnName="package" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="vJobReportForUser" msprop:Generator_RowEvHandlerName="vJobReportForUserRowChangeEventHandler" msprop:Generator_RowDeletedName="vJobReportForUserRowDeleted" msprop:Generator_RowDeletingName="vJobReportForUserRowDeleting" msprop:Generator_RowEvArgName="vJobReportForUserRowChangeEvent" msprop:Generator_TablePropName="vJobReportForUser" msprop:Generator_RowChangedName="vJobReportForUserRowChanged" msprop:Generator_UserTableName="vJobReportForUser" msprop:Generator_RowChangingName="vJobReportForUserRowChanging" msprop:Generator_RowClassName="vJobReportForUserRow" msprop:Generator_TableClassName="vJobReportForUserDataTable" msprop:Generator_TableVarName="tablevJobReportForUser">
<xs:complexType>
<xs:sequence>
<xs:element name="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_UserColumnName="idx" msprop:Generator_ColumnVarNameInTable="columnidx" type="xs:int" />
<xs:element name="pdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_UserColumnName="pdate" msprop:Generator_ColumnVarNameInTable="columnpdate" minOccurs="0">
<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="10" />
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<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="id" msprop:Generator_ColumnPropNameInTable="idColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="id" msprop:Generator_UserColumnName="id" msprop:Generator_ColumnVarNameInTable="columnid" minOccurs="0">
<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="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<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="process" msprop:Generator_ColumnPropNameInTable="processColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="process" msprop:Generator_UserColumnName="process" msprop:Generator_ColumnVarNameInTable="columnprocess" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="type" msprop:Generator_ColumnPropNameInTable="typeColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="type" msprop:Generator_UserColumnName="type" msprop:Generator_ColumnVarNameInTable="columntype" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="svalue" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="svalueColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="svalue" msprop:Generator_UserColumnName="svalue" msprop:Generator_ColumnVarNameInTable="columnsvalue" minOccurs="0">
<xs:element name="projectName" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="projectName" msprop:Generator_ColumnVarNameInTable="columnprojectName" msprop:Generator_ColumnPropNameInTable="projectNameColumn" msprop:Generator_UserColumnName="projectName" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="hrs" msprop:Generator_ColumnPropNameInTable="hrsColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="hrs" msprop:Generator_UserColumnName="hrs" msprop:Generator_ColumnVarNameInTable="columnhrs" type="xs:double" minOccurs="0" />
<xs:element name="ot" msprop:Generator_ColumnPropNameInTable="otColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ot" msprop:Generator_UserColumnName="ot" msprop:Generator_ColumnVarNameInTable="columnot" type="xs:double" minOccurs="0" />
<xs:element name="requestpart" msprop:Generator_ColumnPropNameInTable="requestpartColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="requestpart" msprop:Generator_UserColumnName="requestpart" msprop:Generator_ColumnVarNameInTable="columnrequestpart" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="package" msprop:Generator_ColumnPropNameInTable="packageColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="package" msprop:Generator_UserColumnName="package" msprop:Generator_ColumnVarNameInTable="columnpackage" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="userProcess" msprop:Generator_ColumnPropNameInTable="userProcessColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="userProcess" msprop:Generator_UserColumnName="userProcess" msprop:Generator_ColumnVarNameInTable="columnuserProcess" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="status" msprop:Generator_ColumnPropNameInTable="statusColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="status" msprop:Generator_UserColumnName="status" msprop:Generator_ColumnVarNameInTable="columnstatus" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="projectName" msprop:Generator_ColumnPropNameInTable="projectNameColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="projectName" msprop:Generator_UserColumnName="projectName" msprop:Generator_ColumnVarNameInTable="columnprojectName" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="description" msprop:Generator_ColumnPropNameInTable="descriptionColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_UserColumnName="description" msprop:Generator_ColumnVarNameInTable="columndescription" minOccurs="0">
<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="ww" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="wwColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="ww" msprop:Generator_UserColumnName="ww" msprop:Generator_ColumnVarNameInTable="columnww" minOccurs="0">
<xs:element name="ww" msdata:ReadOnly="true" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="ww" msprop:Generator_ColumnVarNameInTable="columnww" msprop:Generator_ColumnPropNameInTable="wwColumn" msprop:Generator_UserColumnName="ww" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="6" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="otStart" msprop:Generator_ColumnPropNameInTable="otStartColumn" msprop:Generator_ColumnPropNameInRow="otStart" msprop:Generator_UserColumnName="otStart" msprop:Generator_ColumnVarNameInTable="columnotStart" type="xs:dateTime" minOccurs="0" />
<xs:element name="otEnd" msprop:Generator_ColumnPropNameInTable="otEndColumn" msprop:Generator_ColumnPropNameInRow="otEnd" msprop:Generator_UserColumnName="otEnd" msprop:Generator_ColumnVarNameInTable="columnotEnd" type="xs:dateTime" minOccurs="0" />
<xs:element name="ot2" msprop:Generator_ColumnPropNameInTable="ot2Column" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ot2" msprop:Generator_UserColumnName="ot2" msprop:Generator_ColumnVarNameInTable="columnot2" type="xs:double" minOccurs="0" />
<xs:element name="otReason" msprop:Generator_ColumnPropNameInTable="otReasonColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="otReason" msprop:Generator_UserColumnName="otReason" msprop:Generator_ColumnVarNameInTable="columnotReason" minOccurs="0">
<xs:element name="otStart" msprop:Generator_ColumnVarNameInTable="columnotStart" msprop:Generator_ColumnPropNameInRow="otStart" msprop:Generator_ColumnPropNameInTable="otStartColumn" msprop:Generator_UserColumnName="otStart" type="xs:dateTime" minOccurs="0" />
<xs:element name="otEnd" msprop:Generator_ColumnVarNameInTable="columnotEnd" msprop:Generator_ColumnPropNameInRow="otEnd" msprop:Generator_ColumnPropNameInTable="otEndColumn" msprop:Generator_UserColumnName="otEnd" type="xs:dateTime" minOccurs="0" />
<xs:element name="ot2" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ot2" msprop:Generator_ColumnVarNameInTable="columnot2" msprop:Generator_ColumnPropNameInTable="ot2Column" msprop:Generator_UserColumnName="ot2" type="xs:double" minOccurs="0" />
<xs:element name="otReason" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="otReason" msprop:Generator_ColumnVarNameInTable="columnotReason" msprop:Generator_ColumnPropNameInTable="otReasonColumn" msprop:Generator_UserColumnName="otReason" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="grade" msprop:Generator_ColumnPropNameInTable="gradeColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="grade" msprop:Generator_UserColumnName="grade" msprop:Generator_ColumnVarNameInTable="columngrade" minOccurs="0">
<xs:element name="grade" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="grade" msprop:Generator_ColumnVarNameInTable="columngrade" msprop:Generator_ColumnPropNameInTable="gradeColumn" msprop:Generator_UserColumnName="grade" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="indate" msprop:Generator_ColumnPropNameInTable="indateColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="indate" msprop:Generator_UserColumnName="indate" msprop:Generator_ColumnVarNameInTable="columnindate" minOccurs="0">
<xs:element name="indate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="indate" msprop:Generator_ColumnVarNameInTable="columnindate" msprop:Generator_ColumnPropNameInTable="indateColumn" msprop:Generator_UserColumnName="indate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="outdate" msprop:Generator_ColumnPropNameInTable="outdateColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="outdate" msprop:Generator_UserColumnName="outdate" msprop:Generator_ColumnVarNameInTable="columnoutdate" minOccurs="0">
<xs:element name="outdate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="outdate" msprop:Generator_ColumnVarNameInTable="columnoutdate" msprop:Generator_ColumnPropNameInTable="outdateColumn" msprop:Generator_UserColumnName="outdate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="otPMS" msprop:Generator_ColumnPropNameInTable="otPMSColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="otPMS" msprop:Generator_UserColumnName="otPMS" msprop:Generator_ColumnVarNameInTable="columnotPMS" type="xs:double" minOccurs="0" />
<xs:element name="otPMS" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="otPMS" msprop:Generator_ColumnVarNameInTable="columnotPMS" msprop:Generator_ColumnPropNameInTable="otPMSColumn" msprop:Generator_UserColumnName="otPMS" type="xs:double" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="HolidayLIst" msprop:Generator_RowEvHandlerName="HolidayLIstRowChangeEventHandler" msprop:Generator_RowDeletedName="HolidayLIstRowDeleted" msprop:Generator_RowDeletingName="HolidayLIstRowDeleting" msprop:Generator_RowEvArgName="HolidayLIstRowChangeEvent" msprop:Generator_TablePropName="HolidayLIst" msprop:Generator_RowChangedName="HolidayLIstRowChanged" msprop:Generator_UserTableName="HolidayLIst" msprop:Generator_RowChangingName="HolidayLIstRowChanging" msprop:Generator_RowClassName="HolidayLIstRow" msprop:Generator_TableClassName="HolidayLIstDataTable" msprop:Generator_TableVarName="tableHolidayLIst">
<xs:element name="HolidayLIst" msprop:Generator_UserTableName="HolidayLIst" msprop:Generator_RowEvArgName="HolidayLIstRowChangeEvent" msprop:Generator_TableVarName="tableHolidayLIst" msprop:Generator_TablePropName="HolidayLIst" msprop:Generator_RowDeletingName="HolidayLIstRowDeleting" msprop:Generator_RowChangingName="HolidayLIstRowChanging" msprop:Generator_RowDeletedName="HolidayLIstRowDeleted" msprop:Generator_RowEvHandlerName="HolidayLIstRowChangeEventHandler" msprop:Generator_TableClassName="HolidayLIstDataTable" msprop:Generator_RowChangedName="HolidayLIstRowChanged" msprop:Generator_RowClassName="HolidayLIstRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_UserColumnName="idx" msprop:Generator_ColumnVarNameInTable="columnidx" type="xs:int" />
<xs:element name="pdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_UserColumnName="pdate" msprop:Generator_ColumnVarNameInTable="columnpdate" minOccurs="0">
<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="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="free" msprop:Generator_ColumnPropNameInTable="freeColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="free" msprop:Generator_UserColumnName="free" msprop:Generator_ColumnVarNameInTable="columnfree" type="xs:boolean" minOccurs="0" />
<xs:element name="memo" msprop:Generator_ColumnPropNameInTable="memoColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="memo" msprop:Generator_UserColumnName="memo" msprop:Generator_ColumnVarNameInTable="columnmemo" minOccurs="0">
<xs:element name="free" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="free" msprop:Generator_ColumnVarNameInTable="columnfree" msprop:Generator_ColumnPropNameInTable="freeColumn" msprop:Generator_UserColumnName="free" type="xs:boolean" minOccurs="0" />
<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_ColumnPropNameInTable="wuidColumn" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_UserColumnName="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid">
<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_ColumnPropNameInTable="wdateColumn" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_UserColumnName="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" type="xs:dateTime" />
<xs:element name="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="HolydayUserList" msprop:Generator_RowEvHandlerName="HolydayUserListRowChangeEventHandler" msprop:Generator_RowDeletedName="HolydayUserListRowDeleted" msprop:Generator_RowDeletingName="HolydayUserListRowDeleting" msprop:Generator_RowEvArgName="HolydayUserListRowChangeEvent" msprop:Generator_TablePropName="HolydayUserList" msprop:Generator_RowChangedName="HolydayUserListRowChanged" msprop:Generator_UserTableName="HolydayUserList" msprop:Generator_RowChangingName="HolydayUserListRowChanging" msprop:Generator_RowClassName="HolydayUserListRow" msprop:Generator_TableClassName="HolydayUserListDataTable" msprop:Generator_TableVarName="tableHolydayUserList">
<xs:element name="HolydayUserList" msprop:Generator_UserTableName="HolydayUserList" msprop:Generator_RowEvArgName="HolydayUserListRowChangeEvent" msprop:Generator_TableVarName="tableHolydayUserList" msprop:Generator_TablePropName="HolydayUserList" msprop:Generator_RowDeletingName="HolydayUserListRowDeleting" msprop:Generator_RowChangingName="HolydayUserListRowChanging" msprop:Generator_RowDeletedName="HolydayUserListRowDeleted" msprop:Generator_RowEvHandlerName="HolydayUserListRowChangeEventHandler" msprop:Generator_TableClassName="HolydayUserListDataTable" msprop:Generator_RowChangedName="HolydayUserListRowChanged" msprop:Generator_RowClassName="HolydayUserListRow">
<xs:complexType>
<xs:sequence>
<xs:element name="uid" msprop:Generator_ColumnPropNameInTable="uidColumn" msprop:Generator_ColumnPropNameInRow="uid" msprop:Generator_UserColumnName="uid" msprop:Generator_ColumnVarNameInTable="columnuid">
<xs:element name="uid" msprop:Generator_ColumnVarNameInTable="columnuid" msprop:Generator_ColumnPropNameInRow="uid" msprop:Generator_ColumnPropNameInTable="uidColumn" msprop:Generator_UserColumnName="uid">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="UserName" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="UserNameColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="UserName" msprop:Generator_UserColumnName="UserName" msprop:Generator_ColumnVarNameInTable="columnUserName" minOccurs="0">
<xs:element name="UserName" msdata:ReadOnly="true" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="UserName" msprop:Generator_ColumnVarNameInTable="columnUserName" msprop:Generator_ColumnPropNameInTable="UserNameColumn" msprop:Generator_UserColumnName="UserName" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200" />
@@ -1444,10 +1291,6 @@ WHERE (gcode = @gcode) AND (uid = @uid) AND (CONVERT(CHAR(10), sdate, 23) &gt;=
<xs:selector xpath=".//mstns:minutes" />
<xs:field xpath="mstns:idx" />
</xs:unique>
<xs:unique name="Board_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:Board" />
<xs:field xpath="mstns:idx" />
</xs:unique>
<xs:unique name="Holyday_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:Holyday" />
<xs:field xpath="mstns:idx" />

View File

@@ -4,10 +4,9 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="114" ViewPortY="-10" 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="-10" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:minutes" ZOrder="10" X="70" Y="70" Height="324" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Board" ZOrder="9" X="332" Y="70" Height="267" Width="179" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:minutes" ZOrder="9" X="70" Y="70" Height="324" Width="192" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Holyday" ZOrder="4" X="581" Y="70" Height="537" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="410" />
<Shape ID="DesignTable:vHoliday_uselist" ZOrder="3" X="916" Y="68" Height="248" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:WorkTableGrp" ZOrder="8" X="257" Y="433" Height="133" Width="289" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />

View File

@@ -302,7 +302,6 @@
// tam
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.BoardTableAdapter = null;
this.tam.Connection = null;
this.tam.HolydayTableAdapter = null;
this.tam.minutesTableAdapter = null;

View File

@@ -1,415 +0,0 @@
namespace FCM0000
{
partial class fPatchList
{
/// <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(fPatchList));
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
this.bn = new System.Windows.Forms.BindingNavigator(this.components);
this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
this.bindingNavigatorDeleteItem = 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.bindingNavigatorAddNewItem = new System.Windows.Forms.ToolStripButton();
this.BTsAVE = new System.Windows.Forms.ToolStripButton();
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.btSearch = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.dv1 = new arCtl.arDatagridView();
this.bs = new System.Windows.Forms.BindingSource(this.components);
this.dsMSSQL = new FCM0000.dsMSSQL();
this.tam = new FCM0000.dsMSSQLTableAdapters.TableAdapterManager();
this.ta = new FCM0000.dsMSSQLTableAdapters.BoardTableAdapter();
this.wdateDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.cateDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.titleDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.close = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.wuid_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.urlDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.bn)).BeginInit();
this.bn.SuspendLayout();
this.toolStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dv1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dsMSSQL)).BeginInit();
this.SuspendLayout();
//
// bn
//
this.bn.AddNewItem = null;
this.bn.BindingSource = this.bs;
this.bn.CountItem = this.bindingNavigatorCountItem;
this.bn.DeleteItem = this.bindingNavigatorDeleteItem;
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.bindingNavigatorAddNewItem,
this.bindingNavigatorDeleteItem,
this.BTsAVE});
this.bn.Location = new System.Drawing.Point(0, 559);
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(909, 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 = "전체 항목 수";
//
// bindingNavigatorDeleteItem
//
this.bindingNavigatorDeleteItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorDeleteItem.Image")));
this.bindingNavigatorDeleteItem.Name = "bindingNavigatorDeleteItem";
this.bindingNavigatorDeleteItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorDeleteItem.Size = new System.Drawing.Size(78, 22);
this.bindingNavigatorDeleteItem.Text = "Delete(&D)";
//
// 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);
//
// bindingNavigatorAddNewItem
//
this.bindingNavigatorAddNewItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorAddNewItem.Image")));
this.bindingNavigatorAddNewItem.Name = "bindingNavigatorAddNewItem";
this.bindingNavigatorAddNewItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorAddNewItem.Size = new System.Drawing.Size(65, 22);
this.bindingNavigatorAddNewItem.Text = "Add(&A)";
this.bindingNavigatorAddNewItem.Click += new System.EventHandler(this.bindingNavigatorAddNewItem_Click);
//
// BTsAVE
//
this.BTsAVE.Image = ((System.Drawing.Image)(resources.GetObject("BTsAVE.Image")));
this.BTsAVE.Name = "BTsAVE";
this.BTsAVE.Size = new System.Drawing.Size(67, 22);
this.BTsAVE.Text = "Save(&S)";
this.BTsAVE.Click += new System.EventHandler(this.boardBindingNavigatorSaveItem_Click);
//
// richTextBox1
//
this.richTextBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "contents", true));
this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBox1.Font = new System.Drawing.Font("맑은 고딕", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.richTextBox1.Location = new System.Drawing.Point(0, 295);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(909, 264);
this.richTextBox1.TabIndex = 3;
this.richTextBox1.Text = "";
//
// toolStrip1
//
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(30, 30);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
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(909, 37);
this.toolStrip1.TabIndex = 9;
this.toolStrip1.Text = "toolStrip1";
//
// 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(104, 34);
this.btSearch.Text = "새로고침(&R)";
this.btSearch.Click += new System.EventHandler(this.btSearch_Click_1);
//
// 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);
//
// dv1
//
this.dv1.A_DelCurrentCell = true;
this.dv1.A_EnterToTab = true;
this.dv1.A_KoreanField = null;
this.dv1.A_UpperField = null;
this.dv1.A_ViewRownumOnHeader = true;
this.dv1.AllowUserToAddRows = false;
this.dv1.AutoGenerateColumns = false;
this.dv1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
this.dv1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dv1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.wdateDataGridViewTextBoxColumn,
this.cateDataGridViewTextBoxColumn,
this.titleDataGridViewTextBoxColumn,
this.close,
this.wuid_name,
this.urlDataGridViewTextBoxColumn});
this.dv1.DataSource = this.bs;
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle2.Font = new System.Drawing.Font("굴림", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle2.Padding = new System.Windows.Forms.Padding(3);
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dv1.DefaultCellStyle = dataGridViewCellStyle2;
this.dv1.Dock = System.Windows.Forms.DockStyle.Top;
this.dv1.Location = new System.Drawing.Point(0, 37);
this.dv1.Name = "dv1";
this.dv1.RowTemplate.Height = 23;
this.dv1.Size = new System.Drawing.Size(909, 258);
this.dv1.TabIndex = 10;
this.dv1.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dv1_DataError);
//
// bs
//
this.bs.DataMember = "Board";
this.bs.DataSource = this.dsMSSQL;
this.bs.Sort = "close,WDATE DESC";
//
// dsMSSQL
//
this.dsMSSQL.DataSetName = "dsMSSQL";
this.dsMSSQL.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
//
// tam
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.BoardTableAdapter = this.ta;
this.tam.CommonTableAdapter = null;
this.tam.CustomsTableAdapter = null;
this.tam.EETGW_DocuFormTableAdapter = null;
this.tam.HolidayLIstTableAdapter = null;
this.tam.InventoryUserTableAdapter = null;
this.tam.ItemsTableAdapter = null;
this.tam.ProjectsTableAdapter = null;
this.tam.PurchaseTableAdapter = null;
this.tam.RequestItemTableAdapter = null;
this.tam.StaffTableAdapter = null;
this.tam.UpdateOrder = FCM0000.dsMSSQLTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
//
// ta
//
this.ta.ClearBeforeFill = true;
//
// wdateDataGridViewTextBoxColumn
//
this.wdateDataGridViewTextBoxColumn.DataPropertyName = "wdate";
dataGridViewCellStyle1.Format = "yy-MM-dd HH:mm";
this.wdateDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle1;
this.wdateDataGridViewTextBoxColumn.HeaderText = "등록일";
this.wdateDataGridViewTextBoxColumn.Name = "wdateDataGridViewTextBoxColumn";
this.wdateDataGridViewTextBoxColumn.Width = 72;
//
// cateDataGridViewTextBoxColumn
//
this.cateDataGridViewTextBoxColumn.DataPropertyName = "cate";
this.cateDataGridViewTextBoxColumn.HeaderText = "구분";
this.cateDataGridViewTextBoxColumn.Name = "cateDataGridViewTextBoxColumn";
this.cateDataGridViewTextBoxColumn.Width = 60;
//
// titleDataGridViewTextBoxColumn
//
this.titleDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.titleDataGridViewTextBoxColumn.DataPropertyName = "title";
this.titleDataGridViewTextBoxColumn.HeaderText = "화면";
this.titleDataGridViewTextBoxColumn.Name = "titleDataGridViewTextBoxColumn";
//
// close
//
this.close.DataPropertyName = "close";
this.close.FalseValue = "0";
this.close.HeaderText = "종료";
this.close.IndeterminateValue = "0";
this.close.Name = "close";
this.close.TrueValue = "1";
this.close.Width = 41;
//
// wuid_name
//
this.wuid_name.DataPropertyName = "wuid_name";
this.wuid_name.HeaderText = "작성자";
this.wuid_name.Name = "wuid_name";
this.wuid_name.ReadOnly = true;
this.wuid_name.Width = 72;
//
// urlDataGridViewTextBoxColumn
//
this.urlDataGridViewTextBoxColumn.DataPropertyName = "wuid";
this.urlDataGridViewTextBoxColumn.HeaderText = "*";
this.urlDataGridViewTextBoxColumn.Name = "urlDataGridViewTextBoxColumn";
this.urlDataGridViewTextBoxColumn.Width = 42;
//
// fPatchList
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(909, 584);
this.Controls.Add(this.richTextBox1);
this.Controls.Add(this.dv1);
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.bn);
this.Name = "fPatchList";
this.Text = "Patch List";
this.Load += new System.EventHandler(this.fRequestItem_Load);
((System.ComponentModel.ISupportInitialize)(this.bn)).EndInit();
this.bn.ResumeLayout(false);
this.bn.PerformLayout();
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dv1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dsMSSQL)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private dsMSSQL dsMSSQL;
private System.Windows.Forms.BindingSource bs;
private dsMSSQLTableAdapters.TableAdapterManager tam;
private System.Windows.Forms.BindingNavigator bn;
private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem;
private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem;
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 dsMSSQLTableAdapters.BoardTableAdapter ta;
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton btSearch;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
private System.Windows.Forms.ToolStripButton toolStripButton2;
private arCtl.arDatagridView dv1;
private System.Windows.Forms.DataGridViewTextBoxColumn wdateDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn cateDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn titleDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewCheckBoxColumn close;
private System.Windows.Forms.DataGridViewTextBoxColumn wuid_name;
private System.Windows.Forms.DataGridViewTextBoxColumn urlDataGridViewTextBoxColumn;
}
}

View File

@@ -1,101 +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 NetOffice;
using Outlook = NetOffice.OutlookApi;
using NetOffice.OutlookApi.Enums;
namespace FCM0000
{
public partial class fPatchList : FCOMMON.fBase
{
public fPatchList()
{
InitializeComponent();
Properties.Settings.Default["gwcs"] = FCOMMON.info.CS;
this.dsMSSQL.Board.TableNewRow += RequestItem_TableNewRow;
}
void RequestItem_TableNewRow(object sender, DataTableNewRowEventArgs e)
{
e.Row["wuid"] = FCOMMON.info.Login.no;
e.Row["wdate"] = DateTime.Now;
e.Row["bidx"] = 5;
e.Row["pidx"] = -1;
e.Row["gcode"] = FCOMMON.info.Login.gcode;
}
private void fRequestItem_Load(object sender, EventArgs e)
{
EnsureVisibleAndUsableSize();
if (FCOMMON.info.Login.level >= 9 || FCOMMON.info.Login.no == "395552")
{
bn.Enabled = true;
BTsAVE.Enabled = true;
}
else
{
bn.Enabled = false;
BTsAVE.Enabled = false;
this.dv1.EditMode = DataGridViewEditMode.EditProgrammatically;
}
refreshData();
}
private void boardBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.bs.EndEdit();
this.tam.UpdateAll(this.dsMSSQL);
}
void refreshData()
{
try
{
this.ta.Fill(this.dsMSSQL.Board,5, "%");
dv1.AutoResizeColumns();
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
private void btSearch_Click(object sender, EventArgs e)
{
refreshData();
}
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
{
this.bs.AddNew();
//var newdr = this.dsMSSQL.Board.NewBoardRow();//.NewRequestItemRow();
//fRequestItem_Add f = new fRequestItem_Add(newdr);
//if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK) newdr.Delete();
//else this.dsMSSQL.RequestItem.AddRequestItemRow(newdr);
}
private void btSearch_Click_1(object sender, EventArgs e)
{
refreshData();
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
this.Close();
}
private void dv1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
}
}
}

View File

@@ -1,237 +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="bindingNavigatorDeleteItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
</value>
</data>
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
oAc0QjgAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
</value>
</data>
<data name="bindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E
rkJggg==
</value>
</data>
<data name="BTsAVE.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo
dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII=
</value>
</data>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>608, 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="close.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="wuid_name.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>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>

View File

@@ -1,592 +0,0 @@
namespace FCM0000
{
partial class fRequestItem
{
/// <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(fRequestItem));
this.bn = new System.Windows.Forms.BindingNavigator(this.components);
this.bs = new System.Windows.Forms.BindingSource(this.components);
this.dsMSSQL = new FCM0000.dsMSSQL();
this.bindingNavigatorCountItem = new System.Windows.Forms.ToolStripLabel();
this.bindingNavigatorDeleteItem = 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.bindingNavigatorAddNewItem = new System.Windows.Forms.ToolStripButton();
this.boardBindingNavigatorSaveItem = new System.Windows.Forms.ToolStripButton();
this.dv1 = new System.Windows.Forms.DataGridView();
this.pdateDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.titleDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.model = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.sidDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.qtyDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.project = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.bMail = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.memo = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.cm = new System.Windows.Forms.ContextMenuStrip(this.components);
this.autoResizeColumnsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
this.mailPreviewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.mailPreviewAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
this.dtSD = new System.Windows.Forms.ToolStripTextBox();
this.toolStripLabel4 = new System.Windows.Forms.ToolStripLabel();
this.toolStripLabel2 = new System.Windows.Forms.ToolStripLabel();
this.dtED = new System.Windows.Forms.ToolStripTextBox();
this.btSearch = new System.Windows.Forms.ToolStripButton();
this.label1 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.label7 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.tam = new FCM0000.dsMSSQLTableAdapters.TableAdapterManager();
this.ta = new FCM0000.dsMSSQLTableAdapters.RequestItemTableAdapter();
((System.ComponentModel.ISupportInitialize)(this.bn)).BeginInit();
this.bn.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dsMSSQL)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dv1)).BeginInit();
this.cm.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// bn
//
this.bn.AddNewItem = null;
this.bn.BindingSource = this.bs;
this.bn.CountItem = this.bindingNavigatorCountItem;
this.bn.DeleteItem = this.bindingNavigatorDeleteItem;
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.bindingNavigatorAddNewItem,
this.bindingNavigatorDeleteItem,
this.boardBindingNavigatorSaveItem});
this.bn.Location = new System.Drawing.Point(0, 550);
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(1046, 25);
this.bn.TabIndex = 0;
this.bn.Text = "bindingNavigator1";
//
// bs
//
this.bs.DataMember = "RequestItem";
this.bs.DataSource = this.dsMSSQL;
//
// dsMSSQL
//
this.dsMSSQL.DataSetName = "dsMSSQL";
this.dsMSSQL.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 = "전체 항목 수";
//
// bindingNavigatorDeleteItem
//
this.bindingNavigatorDeleteItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorDeleteItem.Image")));
this.bindingNavigatorDeleteItem.Name = "bindingNavigatorDeleteItem";
this.bindingNavigatorDeleteItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorDeleteItem.Size = new System.Drawing.Size(78, 22);
this.bindingNavigatorDeleteItem.Text = "Delete(&D)";
//
// 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);
//
// bindingNavigatorAddNewItem
//
this.bindingNavigatorAddNewItem.Image = ((System.Drawing.Image)(resources.GetObject("bindingNavigatorAddNewItem.Image")));
this.bindingNavigatorAddNewItem.Name = "bindingNavigatorAddNewItem";
this.bindingNavigatorAddNewItem.RightToLeftAutoMirrorImage = true;
this.bindingNavigatorAddNewItem.Size = new System.Drawing.Size(65, 22);
this.bindingNavigatorAddNewItem.Text = "Add(&A)";
this.bindingNavigatorAddNewItem.Click += new System.EventHandler(this.bindingNavigatorAddNewItem_Click);
//
// boardBindingNavigatorSaveItem
//
this.boardBindingNavigatorSaveItem.Image = ((System.Drawing.Image)(resources.GetObject("boardBindingNavigatorSaveItem.Image")));
this.boardBindingNavigatorSaveItem.Name = "boardBindingNavigatorSaveItem";
this.boardBindingNavigatorSaveItem.Size = new System.Drawing.Size(67, 22);
this.boardBindingNavigatorSaveItem.Text = "Save(&S)";
this.boardBindingNavigatorSaveItem.Click += new System.EventHandler(this.boardBindingNavigatorSaveItem_Click);
//
// dv1
//
this.dv1.AllowUserToAddRows = false;
this.dv1.AllowUserToDeleteRows = false;
this.dv1.AutoGenerateColumns = false;
this.dv1.ColumnHeadersHeight = 30;
this.dv1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.dv1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.pdateDataGridViewTextBoxColumn,
this.titleDataGridViewTextBoxColumn,
this.model,
this.sidDataGridViewTextBoxColumn,
this.qtyDataGridViewTextBoxColumn,
this.project,
this.bMail,
this.memo});
this.dv1.ContextMenuStrip = this.cm;
this.dv1.DataSource = this.bs;
this.dv1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dv1.Location = new System.Drawing.Point(0, 25);
this.dv1.MultiSelect = false;
this.dv1.Name = "dv1";
this.dv1.ReadOnly = true;
this.dv1.RowTemplate.Height = 23;
this.dv1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dv1.Size = new System.Drawing.Size(874, 505);
this.dv1.TabIndex = 2;
this.dv1.DataError += new System.Windows.Forms.DataGridViewDataErrorEventHandler(this.dv1_DataError);
this.dv1.DoubleClick += new System.EventHandler(this.boardDataGridView_DoubleClick);
//
// pdateDataGridViewTextBoxColumn
//
this.pdateDataGridViewTextBoxColumn.DataPropertyName = "pdate";
this.pdateDataGridViewTextBoxColumn.HeaderText = "Pdate";
this.pdateDataGridViewTextBoxColumn.Name = "pdateDataGridViewTextBoxColumn";
this.pdateDataGridViewTextBoxColumn.ReadOnly = true;
//
// titleDataGridViewTextBoxColumn
//
this.titleDataGridViewTextBoxColumn.DataPropertyName = "title";
this.titleDataGridViewTextBoxColumn.HeaderText = "Item";
this.titleDataGridViewTextBoxColumn.Name = "titleDataGridViewTextBoxColumn";
this.titleDataGridViewTextBoxColumn.ReadOnly = true;
//
// model
//
this.model.DataPropertyName = "model";
this.model.HeaderText = "Model";
this.model.Name = "model";
this.model.ReadOnly = true;
//
// sidDataGridViewTextBoxColumn
//
this.sidDataGridViewTextBoxColumn.DataPropertyName = "sid";
this.sidDataGridViewTextBoxColumn.HeaderText = "sid";
this.sidDataGridViewTextBoxColumn.Name = "sidDataGridViewTextBoxColumn";
this.sidDataGridViewTextBoxColumn.ReadOnly = true;
//
// qtyDataGridViewTextBoxColumn
//
this.qtyDataGridViewTextBoxColumn.DataPropertyName = "qty";
this.qtyDataGridViewTextBoxColumn.HeaderText = "qty";
this.qtyDataGridViewTextBoxColumn.Name = "qtyDataGridViewTextBoxColumn";
this.qtyDataGridViewTextBoxColumn.ReadOnly = true;
//
// project
//
this.project.DataPropertyName = "projectName";
this.project.HeaderText = "project";
this.project.Name = "project";
this.project.ReadOnly = true;
//
// bMail
//
this.bMail.DataPropertyName = "bMail";
this.bMail.HeaderText = "Mail";
this.bMail.Name = "bMail";
this.bMail.ReadOnly = true;
//
// memo
//
this.memo.DataPropertyName = "memo";
this.memo.HeaderText = "memo";
this.memo.Name = "memo";
this.memo.ReadOnly = true;
//
// cm
//
this.cm.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.autoResizeColumnsToolStripMenuItem,
this.toolStripMenuItem1,
this.mailPreviewToolStripMenuItem,
this.mailPreviewAllToolStripMenuItem});
this.cm.Name = "cm";
this.cm.Size = new System.Drawing.Size(182, 76);
//
// autoResizeColumnsToolStripMenuItem
//
this.autoResizeColumnsToolStripMenuItem.Name = "autoResizeColumnsToolStripMenuItem";
this.autoResizeColumnsToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
this.autoResizeColumnsToolStripMenuItem.Text = "AutoResizeColumns";
this.autoResizeColumnsToolStripMenuItem.Click += new System.EventHandler(this.autoResizeColumnsToolStripMenuItem_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(178, 6);
//
// mailPreviewToolStripMenuItem
//
this.mailPreviewToolStripMenuItem.Name = "mailPreviewToolStripMenuItem";
this.mailPreviewToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
this.mailPreviewToolStripMenuItem.Text = "Mail(Preview_One)";
this.mailPreviewToolStripMenuItem.Click += new System.EventHandler(this.mailPreviewToolStripMenuItem_Click);
//
// mailPreviewAllToolStripMenuItem
//
this.mailPreviewAllToolStripMenuItem.Name = "mailPreviewAllToolStripMenuItem";
this.mailPreviewAllToolStripMenuItem.Size = new System.Drawing.Size(181, 22);
this.mailPreviewAllToolStripMenuItem.Text = "Mail(Preview_All)";
this.mailPreviewAllToolStripMenuItem.Click += new System.EventHandler(this.mailPreviewAllToolStripMenuItem_Click);
//
// toolStrip1
//
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripLabel1,
this.dtSD,
this.toolStripLabel4,
this.toolStripLabel2,
this.dtED,
this.btSearch});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(1046, 25);
this.toolStrip1.TabIndex = 4;
this.toolStrip1.Text = "toolStrip1";
//
// toolStripLabel1
//
this.toolStripLabel1.Name = "toolStripLabel1";
this.toolStripLabel1.Size = new System.Drawing.Size(32, 22);
this.toolStripLabel1.Text = "Start";
//
// dtSD
//
this.dtSD.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dtSD.Name = "dtSD";
this.dtSD.Size = new System.Drawing.Size(100, 25);
//
// toolStripLabel4
//
this.toolStripLabel4.Name = "toolStripLabel4";
this.toolStripLabel4.Size = new System.Drawing.Size(15, 22);
this.toolStripLabel4.Text = "~";
//
// toolStripLabel2
//
this.toolStripLabel2.Name = "toolStripLabel2";
this.toolStripLabel2.Size = new System.Drawing.Size(27, 22);
this.toolStripLabel2.Text = "End";
//
// dtED
//
this.dtED.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.dtED.Name = "dtED";
this.dtED.Size = new System.Drawing.Size(100, 25);
//
// 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(81, 22);
this.btSearch.Text = "Refresh(&R)";
this.btSearch.Click += new System.EventHandler(this.btSearch_Click);
//
// label1
//
this.label1.BackColor = System.Drawing.Color.DeepSkyBlue;
this.label1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "url", true));
this.label1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(0, 530);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(1046, 20);
this.label1.TabIndex = 5;
this.label1.Text = "-- URL --";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.label1.Click += new System.EventHandler(this.label1_Click);
//
// panel1
//
this.panel1.Controls.Add(this.label7);
this.panel1.Controls.Add(this.label6);
this.panel1.Controls.Add(this.label5);
this.panel1.Controls.Add(this.label4);
this.panel1.Controls.Add(this.label3);
this.panel1.Controls.Add(this.label2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Right;
this.panel1.Location = new System.Drawing.Point(874, 25);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(172, 505);
this.panel1.TabIndex = 7;
//
// label7
//
this.label7.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "bcclist", true));
this.label7.Dock = System.Windows.Forms.DockStyle.Fill;
this.label7.Location = new System.Drawing.Point(0, 300);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(172, 205);
this.label7.TabIndex = 5;
this.label7.Text = "--";
this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label6
//
this.label6.BackColor = System.Drawing.Color.Gray;
this.label6.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.label6.Dock = System.Windows.Forms.DockStyle.Top;
this.label6.ForeColor = System.Drawing.Color.White;
this.label6.Location = new System.Drawing.Point(0, 270);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(172, 30);
this.label6.TabIndex = 4;
this.label6.Text = "BCC List";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label5
//
this.label5.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "cclist", true));
this.label5.Dock = System.Windows.Forms.DockStyle.Top;
this.label5.Location = new System.Drawing.Point(0, 165);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(172, 105);
this.label5.TabIndex = 3;
this.label5.Text = "--";
this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label4
//
this.label4.BackColor = System.Drawing.Color.Gray;
this.label4.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.label4.Dock = System.Windows.Forms.DockStyle.Top;
this.label4.ForeColor = System.Drawing.Color.White;
this.label4.Location = new System.Drawing.Point(0, 135);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(172, 30);
this.label4.TabIndex = 2;
this.label4.Text = "CC List";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label3
//
this.label3.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "tolist", true));
this.label3.Dock = System.Windows.Forms.DockStyle.Top;
this.label3.Location = new System.Drawing.Point(0, 30);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(172, 105);
this.label3.TabIndex = 1;
this.label3.Text = "--";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label2
//
this.label2.BackColor = System.Drawing.Color.Gray;
this.label2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.label2.Dock = System.Windows.Forms.DockStyle.Top;
this.label2.ForeColor = System.Drawing.Color.White;
this.label2.Location = new System.Drawing.Point(0, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(172, 30);
this.label2.TabIndex = 0;
this.label2.Text = "TO List";
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// tam
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.BoardTableAdapter = null;
this.tam.CommonTableAdapter = null;
this.tam.CustomsTableAdapter = null;
this.tam.ItemsTableAdapter = null;
this.tam.ProjectsTableAdapter = null;
this.tam.PurchaseTableAdapter = null;
this.tam.RequestItemTableAdapter = this.ta;
this.tam.StaffTableAdapter = null;
this.tam.UpdateOrder = FCM0000.dsMSSQLTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
//
// ta
//
this.ta.ClearBeforeFill = true;
//
// fRequestItem
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1046, 575);
this.Controls.Add(this.dv1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.label1);
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.bn);
this.Name = "fRequestItem";
this.Text = "Patch List";
this.Load += new System.EventHandler(this.fRequestItem_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();
((System.ComponentModel.ISupportInitialize)(this.dv1)).EndInit();
this.cm.ResumeLayout(false);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private dsMSSQL dsMSSQL;
private System.Windows.Forms.BindingSource bs;
private dsMSSQLTableAdapters.TableAdapterManager tam;
private System.Windows.Forms.BindingNavigator bn;
private System.Windows.Forms.ToolStripButton bindingNavigatorAddNewItem;
private System.Windows.Forms.ToolStripLabel bindingNavigatorCountItem;
private System.Windows.Forms.ToolStripButton bindingNavigatorDeleteItem;
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 boardBindingNavigatorSaveItem;
private System.Windows.Forms.DataGridView dv1;
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripLabel toolStripLabel1;
private System.Windows.Forms.ToolStripTextBox dtSD;
private System.Windows.Forms.ToolStripLabel toolStripLabel4;
private System.Windows.Forms.ToolStripLabel toolStripLabel2;
private System.Windows.Forms.ToolStripTextBox dtED;
private System.Windows.Forms.ToolStripButton btSearch;
private dsMSSQLTableAdapters.RequestItemTableAdapter ta;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ContextMenuStrip cm;
private System.Windows.Forms.ToolStripMenuItem mailPreviewToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem autoResizeColumnsToolStripMenuItem;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.ToolStripMenuItem mailPreviewAllToolStripMenuItem;
private System.Windows.Forms.DataGridViewTextBoxColumn pdateDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn titleDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn model;
private System.Windows.Forms.DataGridViewTextBoxColumn sidDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn qtyDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn project;
private System.Windows.Forms.DataGridViewCheckBoxColumn bMail;
private System.Windows.Forms.DataGridViewTextBoxColumn memo;
}
}

View File

@@ -1,191 +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 NetOffice;
using Outlook = NetOffice.OutlookApi;
using NetOffice.OutlookApi.Enums;
namespace FCM0000
{
public partial class fRequestItem : FCOMMON.fBase
{
public fRequestItem()
{
InitializeComponent();
Properties.Settings.Default["gwcs"] = FCOMMON.info.CS;
this.dsMSSQL.RequestItem.TableNewRow += RequestItem_TableNewRow;
}
void RequestItem_TableNewRow(object sender, DataTableNewRowEventArgs e)
{
e.Row["wuid"] = FCOMMON.info.Login.no;
e.Row["wdate"] = DateTime.Now;
e.Row["pdate"] = DateTime.Now.ToShortDateString();
e.Row["qty"] = 1;
}
private void fRequestItem_Load(object sender, EventArgs e)
{
EnsureVisibleAndUsableSize();
this.dtSD.Text = DateTime.Now.AddDays(-15).ToShortDateString();
this.dtED.Text = DateTime.Now.ToShortDateString();
refreshData();
}
private void boardBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.bs.EndEdit();
this.tam.UpdateAll(this.dsMSSQL);
}
void refreshData()
{
try
{
this.ta.Fill(this.dsMSSQL.RequestItem, dtSD.Text, dtED.Text);
this.dv1.AutoResizeColumns();
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
private void btSearch_Click(object sender, EventArgs e)
{
refreshData();
}
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
{
var newdr = this.dsMSSQL.RequestItem.NewRequestItemRow();
fRequestItem_Add f = new fRequestItem_Add(newdr);
if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK) newdr.Delete();
else this.dsMSSQL.RequestItem.AddRequestItemRow(newdr);
}
private void label1_Click(object sender, EventArgs e)
{
if (label1.Text != "")
FCOMMON.Util.RunExplorer(label1.Text);
}
private void boardDataGridView_DoubleClick(object sender, EventArgs e)
{
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsMSSQL.RequestItemRow;
var f = new fRequestItem_Add(dr);
if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK)
dr.RejectChanges();
}
private void mailPreviewToolStripMenuItem_Click(object sender, EventArgs e)
{
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsMSSQL.RequestItemRow;
//자로에서 불러와서 그 값을 가져온다.s
string subject = "[AMKOR-K4] 견적문의";
var taMF = new DSMailTableAdapters.MailFormTableAdapter();
var data = taMF.GetByCate(FCOMMON.info.Login.gcode, "BY");
if (data != null && data.Rows.Count > 0)
{
var drForm = data.Rows[0] as DSMail.MailFormRow;
subject = drForm.subject;
}
var tolist = 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.Subject = subject; // dr.title;
newMail.To = to;
newMail.CC = dr.cclist;
newMail.BCC = dr.bcclist;
newMail.HTMLBody = dr.remark
.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}", dr.title)
.Replace("{QTY}",dr.qty.ToString())
.Replace("{MODEL}", dr.model.ToString())
.Replace("%7BURL%7D", dr.url.ToString())
.Replace("{URL}",dr.url);
newMail.BodyFormat = OlBodyFormat.olFormatHTML;
newMail.Display();
break;
}
}
private void autoResizeColumnsToolStripMenuItem_Click(object sender, EventArgs e)
{
dv1.AutoResizeColumns();
}
private void mailPreviewAllToolStripMenuItem_Click(object sender, EventArgs e)
{
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsMSSQL.RequestItemRow;
//자로에서 불러와서 그 값을 가져온다.s
string subject = "[AMKOR-K4] 견적문의";
var taMF = new DSMailTableAdapters.MailFormTableAdapter();
var data = taMF.GetByCate(FCOMMON.info.Login.gcode, "BY");
if (data != null && data.Rows.Count > 0)
{
var drForm = data.Rows[0] as DSMail.MailFormRow;
subject = drForm.subject;
}
var tolist = 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.Subject = subject; // dr.title;
newMail.To = to;
newMail.CC = dr.cclist;
newMail.BCC = dr.bcclist;
newMail.HTMLBody = dr.remark
.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}", dr.title)
.Replace("{QTY}", dr.qty.ToString())
.Replace("{MODEL}", dr.model.ToString())
.Replace("%7BURL%7D", dr.url.ToString())
.Replace("{URL}", dr.url);
newMail.BodyFormat = OlBodyFormat.olFormatHTML;
newMail.Display();
}
}
private void dv1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
}
}
}

View File

@@ -1,236 +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="bindingNavigatorDeleteItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
</value>
</data>
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
oAc0QjgAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
</value>
</data>
<data name="bindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E
rkJggg==
</value>
</data>
<data name="boardBindingNavigatorSaveItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo
dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII=
</value>
</data>
<metadata name="model.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="project.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="bMail.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="memo.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="cm.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>493, 17</value>
</metadata>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>325, 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>
<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>431, 17</value>
</metadata>
</root>

View File

@@ -1,474 +0,0 @@
namespace FCM0000
{
partial class fRequestItem_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()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.Label pdateLabel;
System.Windows.Forms.Label tolistLabel;
System.Windows.Forms.Label cclistLabel;
System.Windows.Forms.Label bcclistLabel;
System.Windows.Forms.Label titleLabel;
System.Windows.Forms.Label remarkLabel;
System.Windows.Forms.Label label1;
System.Windows.Forms.Label label2;
System.Windows.Forms.Label label3;
System.Windows.Forms.Label label4;
System.Windows.Forms.Label label5;
System.Windows.Forms.Label label6;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fRequestItem_Add));
this.dsMSSQL = new FCM0000.dsMSSQL();
this.bs = new System.Windows.Forms.BindingSource(this.components);
this.ta = new FCM0000.dsMSSQLTableAdapters.RequestItemTableAdapter();
this.tam = new FCM0000.dsMSSQLTableAdapters.TableAdapterManager();
this.tbItem = new System.Windows.Forms.TextBox();
this.btPDate = new System.Windows.Forms.DateTimePicker();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.lbTo = new System.Windows.Forms.Label();
this.lbCC = new System.Windows.Forms.Label();
this.lbBCC = new System.Windows.Forms.Label();
this.tbRemark = new YARTE.UI.HtmlEditor();
this.tbQty = new System.Windows.Forms.TextBox();
this.tbSID = new System.Windows.Forms.TextBox();
this.tbURL = new System.Windows.Forms.TextBox();
this.cmProject = new System.Windows.Forms.ComboBox();
this.btOK = new System.Windows.Forms.Button();
this.tbModel = new System.Windows.Forms.TextBox();
this.textBox1 = new System.Windows.Forms.TextBox();
pdateLabel = new System.Windows.Forms.Label();
tolistLabel = new System.Windows.Forms.Label();
cclistLabel = new System.Windows.Forms.Label();
bcclistLabel = new System.Windows.Forms.Label();
titleLabel = new System.Windows.Forms.Label();
remarkLabel = new System.Windows.Forms.Label();
label1 = new System.Windows.Forms.Label();
label2 = new System.Windows.Forms.Label();
label3 = new System.Windows.Forms.Label();
label4 = new System.Windows.Forms.Label();
label5 = new System.Windows.Forms.Label();
label6 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.dsMSSQL)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
this.tableLayoutPanel1.SuspendLayout();
this.SuspendLayout();
//
// pdateLabel
//
pdateLabel.AutoSize = true;
pdateLabel.Dock = System.Windows.Forms.DockStyle.Fill;
pdateLabel.Location = new System.Drawing.Point(5, 2);
pdateLabel.Name = "pdateLabel";
pdateLabel.Size = new System.Drawing.Size(248, 23);
pdateLabel.TabIndex = 4;
pdateLabel.Text = "등록일자";
pdateLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// tolistLabel
//
tolistLabel.AutoSize = true;
tolistLabel.Dock = System.Windows.Forms.DockStyle.Fill;
tolistLabel.Location = new System.Drawing.Point(5, 53);
tolistLabel.Name = "tolistLabel";
tolistLabel.Size = new System.Drawing.Size(248, 25);
tolistLabel.TabIndex = 6;
tolistLabel.Text = "To";
tolistLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// cclistLabel
//
cclistLabel.AutoSize = true;
cclistLabel.Dock = System.Windows.Forms.DockStyle.Fill;
cclistLabel.Location = new System.Drawing.Point(5, 131);
cclistLabel.Name = "cclistLabel";
cclistLabel.Size = new System.Drawing.Size(248, 20);
cclistLabel.TabIndex = 8;
cclistLabel.Text = "CC";
cclistLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// bcclistLabel
//
bcclistLabel.AutoSize = true;
bcclistLabel.Dock = System.Windows.Forms.DockStyle.Fill;
bcclistLabel.Location = new System.Drawing.Point(5, 204);
bcclistLabel.Name = "bcclistLabel";
bcclistLabel.Size = new System.Drawing.Size(248, 20);
bcclistLabel.TabIndex = 10;
bcclistLabel.Text = "BCC";
bcclistLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// titleLabel
//
titleLabel.AutoSize = true;
titleLabel.Location = new System.Drawing.Point(292, 14);
titleLabel.Name = "titleLabel";
titleLabel.Size = new System.Drawing.Size(29, 12);
titleLabel.TabIndex = 1;
titleLabel.Text = "Item";
titleLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// remarkLabel
//
remarkLabel.AutoSize = true;
remarkLabel.Location = new System.Drawing.Point(266, 113);
remarkLabel.Name = "remarkLabel";
remarkLabel.Size = new System.Drawing.Size(55, 12);
remarkLabel.TabIndex = 13;
remarkLabel.Text = "Contents";
remarkLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
remarkLabel.Click += new System.EventHandler(this.remarkLabel_Click);
//
// label1
//
label1.AutoSize = true;
label1.Location = new System.Drawing.Point(493, 65);
label1.Name = "label1";
label1.Size = new System.Drawing.Size(24, 12);
label1.TabIndex = 7;
label1.Text = "Qty";
label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label2
//
label2.AutoSize = true;
label2.Location = new System.Drawing.Point(585, 65);
label2.Name = "label2";
label2.Size = new System.Drawing.Size(24, 12);
label2.TabIndex = 9;
label2.Text = "SID";
label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label3
//
label3.AutoSize = true;
label3.Location = new System.Drawing.Point(293, 91);
label3.Name = "label3";
label3.Size = new System.Drawing.Size(28, 12);
label3.TabIndex = 11;
label3.Text = "URL";
label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label4
//
label4.AutoSize = true;
label4.Location = new System.Drawing.Point(277, 40);
label4.Name = "label4";
label4.Size = new System.Drawing.Size(44, 12);
label4.TabIndex = 3;
label4.Text = "Project";
label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label5
//
label5.AutoSize = true;
label5.Location = new System.Drawing.Point(281, 65);
label5.Name = "label5";
label5.Size = new System.Drawing.Size(40, 12);
label5.TabIndex = 5;
label5.Text = "Model";
label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label6
//
label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
label6.AutoSize = true;
label6.Location = new System.Drawing.Point(282, 550);
label6.Name = "label6";
label6.Size = new System.Drawing.Size(41, 12);
label6.TabIndex = 30;
label6.Text = "Memo";
label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// dsMSSQL
//
this.dsMSSQL.DataSetName = "dsMSSQL";
this.dsMSSQL.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
//
// bs
//
this.bs.DataMember = "RequestItem";
this.bs.DataSource = this.dsMSSQL;
//
// ta
//
this.ta.ClearBeforeFill = true;
//
// tam
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.BoardTableAdapter = null;
this.tam.CommonTableAdapter = null;
this.tam.CustomsTableAdapter = null;
this.tam.EETGW_DocuFormTableAdapter = null;
this.tam.HolidayLIstTableAdapter = null;
this.tam.InventoryUserTableAdapter = null;
this.tam.ItemsTableAdapter = null;
this.tam.ProjectsTableAdapter = null;
this.tam.PurchaseTableAdapter = null;
this.tam.RequestItemTableAdapter = this.ta;
this.tam.StaffTableAdapter = null;
this.tam.UpdateOrder = FCM0000.dsMSSQLTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
//
// tbItem
//
this.tbItem.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "title", true));
this.tbItem.Location = new System.Drawing.Point(329, 10);
this.tbItem.Name = "tbItem";
this.tbItem.Size = new System.Drawing.Size(401, 21);
this.tbItem.TabIndex = 2;
//
// btPDate
//
this.btPDate.DataBindings.Add(new System.Windows.Forms.Binding("Value", this.bs, "pdate", true));
this.btPDate.Dock = System.Windows.Forms.DockStyle.Fill;
this.btPDate.Location = new System.Drawing.Point(2, 25);
this.btPDate.Margin = new System.Windows.Forms.Padding(0);
this.btPDate.Name = "btPDate";
this.btPDate.Size = new System.Drawing.Size(254, 21);
this.btPDate.TabIndex = 26;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 254F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.Controls.Add(pdateLabel, 0, 0);
this.tableLayoutPanel1.Controls.Add(tolistLabel, 0, 2);
this.tableLayoutPanel1.Controls.Add(bcclistLabel, 0, 6);
this.tableLayoutPanel1.Controls.Add(this.btPDate, 0, 1);
this.tableLayoutPanel1.Controls.Add(cclistLabel, 0, 4);
this.tableLayoutPanel1.Controls.Add(this.lbTo, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.lbCC, 0, 5);
this.tableLayoutPanel1.Controls.Add(this.lbBCC, 0, 7);
this.tableLayoutPanel1.Location = new System.Drawing.Point(5, 5);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.Padding = new System.Windows.Forms.Padding(2);
this.tableLayoutPanel1.RowCount = 8;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 23F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 28F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.32999F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33001F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.34F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(258, 281);
this.tableLayoutPanel1.TabIndex = 0;
//
// lbTo
//
this.lbTo.AutoSize = true;
this.lbTo.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lbTo.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "tolist", true));
this.lbTo.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbTo.Location = new System.Drawing.Point(2, 78);
this.lbTo.Margin = new System.Windows.Forms.Padding(0);
this.lbTo.Name = "lbTo";
this.lbTo.Size = new System.Drawing.Size(254, 53);
this.lbTo.TabIndex = 30;
this.lbTo.Text = "--";
this.lbTo.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// lbCC
//
this.lbCC.AutoSize = true;
this.lbCC.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lbCC.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "cclist", true));
this.lbCC.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbCC.Location = new System.Drawing.Point(2, 151);
this.lbCC.Margin = new System.Windows.Forms.Padding(0);
this.lbCC.Name = "lbCC";
this.lbCC.Size = new System.Drawing.Size(254, 53);
this.lbCC.TabIndex = 30;
this.lbCC.Text = "--";
this.lbCC.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// lbBCC
//
this.lbBCC.AutoSize = true;
this.lbBCC.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.lbBCC.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "bcclist", true));
this.lbBCC.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbBCC.Location = new System.Drawing.Point(2, 224);
this.lbBCC.Margin = new System.Windows.Forms.Padding(0);
this.lbBCC.Name = "lbBCC";
this.lbBCC.Size = new System.Drawing.Size(254, 55);
this.lbBCC.TabIndex = 30;
this.lbBCC.Text = "--";
this.lbBCC.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// tbRemark
//
this.tbRemark.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.tbRemark.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.tbRemark.Html = resources.GetString("tbRemark.Html");
this.tbRemark.Location = new System.Drawing.Point(329, 113);
this.tbRemark.Margin = new System.Windows.Forms.Padding(0);
this.tbRemark.Name = "tbRemark";
this.tbRemark.ReadOnly = false;
this.tbRemark.ShowToolbar = true;
this.tbRemark.Size = new System.Drawing.Size(403, 427);
this.tbRemark.TabIndex = 14;
//
// tbQty
//
this.tbQty.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "qty", true));
this.tbQty.Location = new System.Drawing.Point(522, 61);
this.tbQty.Margin = new System.Windows.Forms.Padding(0);
this.tbQty.Name = "tbQty";
this.tbQty.Size = new System.Drawing.Size(58, 21);
this.tbQty.TabIndex = 8;
this.tbQty.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// tbSID
//
this.tbSID.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "sid", true));
this.tbSID.Location = new System.Drawing.Point(615, 61);
this.tbSID.Margin = new System.Windows.Forms.Padding(0);
this.tbSID.Name = "tbSID";
this.tbSID.Size = new System.Drawing.Size(115, 21);
this.tbSID.TabIndex = 10;
this.tbSID.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// tbURL
//
this.tbURL.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "url", true));
this.tbURL.Location = new System.Drawing.Point(329, 87);
this.tbURL.Margin = new System.Windows.Forms.Padding(0);
this.tbURL.Name = "tbURL";
this.tbURL.Size = new System.Drawing.Size(401, 21);
this.tbURL.TabIndex = 12;
//
// cmProject
//
this.cmProject.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.bs, "project", true));
this.cmProject.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmProject.FormattingEnabled = true;
this.cmProject.Location = new System.Drawing.Point(329, 36);
this.cmProject.Margin = new System.Windows.Forms.Padding(0);
this.cmProject.Name = "cmProject";
this.cmProject.Size = new System.Drawing.Size(401, 20);
this.cmProject.TabIndex = 4;
//
// btOK
//
this.btOK.Dock = System.Windows.Forms.DockStyle.Bottom;
this.btOK.Location = new System.Drawing.Point(5, 569);
this.btOK.Name = "btOK";
this.btOK.Size = new System.Drawing.Size(730, 33);
this.btOK.TabIndex = 29;
this.btOK.Text = "OK";
this.btOK.UseVisualStyleBackColor = true;
this.btOK.Click += new System.EventHandler(this.button1_Click);
//
// tbModel
//
this.tbModel.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "model", true));
this.tbModel.Location = new System.Drawing.Point(329, 61);
this.tbModel.Margin = new System.Windows.Forms.Padding(0);
this.tbModel.Name = "tbModel";
this.tbModel.Size = new System.Drawing.Size(161, 21);
this.tbModel.TabIndex = 6;
this.tbModel.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// textBox1
//
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.textBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.bs, "memo", true));
this.textBox1.Location = new System.Drawing.Point(329, 545);
this.textBox1.Margin = new System.Windows.Forms.Padding(0);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(403, 21);
this.textBox1.TabIndex = 31;
//
// fRequestItem_Add
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(740, 607);
this.Controls.Add(this.textBox1);
this.Controls.Add(label6);
this.Controls.Add(label5);
this.Controls.Add(this.tbModel);
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.tbItem);
this.Controls.Add(this.btOK);
this.Controls.Add(titleLabel);
this.Controls.Add(label4);
this.Controls.Add(this.cmProject);
this.Controls.Add(label1);
this.Controls.Add(this.tbQty);
this.Controls.Add(this.tbRemark);
this.Controls.Add(remarkLabel);
this.Controls.Add(label2);
this.Controls.Add(this.tbSID);
this.Controls.Add(this.tbURL);
this.Controls.Add(label3);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "fRequestItem_Add";
this.Padding = new System.Windows.Forms.Padding(5);
this.Text = "fRequestItem_Add";
this.Load += new System.EventHandler(this.@__Load);
((System.ComponentModel.ISupportInitialize)(this.dsMSSQL)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private dsMSSQL dsMSSQL;
private System.Windows.Forms.BindingSource bs;
private dsMSSQLTableAdapters.RequestItemTableAdapter ta;
private dsMSSQLTableAdapters.TableAdapterManager tam;
public System.Windows.Forms.TextBox tbItem;
public System.Windows.Forms.DateTimePicker btPDate;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private YARTE.UI.HtmlEditor tbRemark;
private System.Windows.Forms.Button btOK;
private System.Windows.Forms.Label lbTo;
private System.Windows.Forms.Label lbCC;
private System.Windows.Forms.Label lbBCC;
public System.Windows.Forms.TextBox tbQty;
public System.Windows.Forms.TextBox tbSID;
private System.Windows.Forms.TextBox tbURL;
private System.Windows.Forms.ComboBox cmProject;
public System.Windows.Forms.TextBox tbModel;
private System.Windows.Forms.TextBox textBox1;
}
}

View File

@@ -1,104 +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;
namespace FCM0000
{
public partial class fRequestItem_Add : FCOMMON.fBase
{
dsMSSQL.RequestItemRow dr = null;
public fRequestItem_Add(dsMSSQL.RequestItemRow dr_)
{
InitializeComponent();
Properties.Settings.Default["gwcs"] = FCOMMON.info.CS;
dr = dr_;
PredefinedButtonSets.SetupDefaultButtons(this.tbRemark);
}
private void __Load(object sender, EventArgs e)
{
EnsureVisibleAndUsableSize();
//프로젝트 리스트를 가져와서 cmb에 연결해준다.
var projectDT = FCOMMON.DBM.getProjectData();
this.cmProject.DataSource = projectDT;
this.cmProject.DisplayMember = "KeyValue";
this.cmProject.ValueMember = "Key";
this.bs.DataSource = this.dr;
if (this.dr.RowState == DataRowState.Detached)
{
//자로에서 불러와서 그 값을 가져온다.
var taMF = new DSMailTableAdapters.MailFormTableAdapter();
var data = taMF.GetByCate(FCOMMON.info.Login.gcode, "BY");
if (data != null && data.Rows.Count > 0)
{
var drForm = data.Rows[0] as DSMail.MailFormRow;
this.tbItem.Text = drForm.title;
this.tbRemark.Html = drForm.body;
dr.tolist = drForm.tolist;
dr.bcclist = drForm.bcc;
dr.cclist = drForm.cc;
dr.EndEdit();
}
}
if (this.dr.RowState != DataRowState.Deleted)
{
lbBCC.Text = dr.bcclist;
lbCC.Text = dr.cclist;
lbTo.Text = dr.tolist;
tbRemark.Html = dr.remark;
}
}
private void requestItemBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.bs.EndEdit();
DialogResult = System.Windows.Forms.DialogResult.OK;
}
private void button1_Click(object sender, EventArgs e)
{
if (this.dr.cclist != lbCC.Text)
this.dr.cclist = lbCC.Text;
if (this.dr.tolist != lbTo.Text)
this.dr.tolist = lbTo.Text;
if (this.dr.bcclist != lbBCC.Text)
this.dr.bcclist = lbBCC.Text;
if (this.dr.remark != tbRemark.Html)
this.dr.remark = tbRemark.Html;
this.Invalidate();
this.bs.EndEdit();
DialogResult = System.Windows.Forms.DialogResult.OK;
}
private void remarkLabel_Click(object sender, EventArgs e)
{
var dlg = FCOMMON.Util.MsgQ("메일 형식을 초기화 하시겠습니까?");
if (dlg != System.Windows.Forms.DialogResult.Yes) return;
//자로에서 불러와서 그 값을 가져온다.
var taMF = new DSMailTableAdapters.MailFormTableAdapter();
var data = taMF.GetByCate( FCOMMON.info.Login.gcode, "BY");
if (data != null && data.Rows.Count > 0)
{
var drForm = data.Rows[0] as DSMail.MailFormRow;
this.tbRemark.Html = drForm.body;
}
}
}
}

View File

@@ -1,176 +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="pdateLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="tolistLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="cclistLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="bcclistLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="titleLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="remarkLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label3.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label4.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</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>
<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="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>186, 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>
</metadata>
<data name="tbRemark.Html" xml:space="preserve">
<value>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;
&lt;HTML&gt;&lt;HEAD&gt;
&lt;META content="text/html; charset=unicode" http-equiv=Content-Type&gt;
&lt;META name=GENERATOR content="MSHTML 11.00.10570.1001"&gt;&lt;/HEAD&gt;
&lt;BODY&gt;&lt;/BODY&gt;&lt;/HTML&gt;
</value>
</data>
</root>

View File

@@ -127,12 +127,6 @@
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup>
<Compile Include="Board\fPatchList.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Board\fPatchList.Designer.cs">
<DependentUpon>fPatchList.cs</DependentUpon>
</Compile>
<Compile Include="DSMail.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@@ -203,18 +197,6 @@
<Compile Include="Mail\fSendMail.Designer.cs">
<DependentUpon>fSendMail.cs</DependentUpon>
</Compile>
<Compile Include="Board\fRequestItem.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Board\fRequestItem.Designer.cs">
<DependentUpon>fRequestItem.cs</DependentUpon>
</Compile>
<Compile Include="Board\fRequestItem_Add.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Board\fRequestItem_Add.Designer.cs">
<DependentUpon>fRequestItem_Add.cs</DependentUpon>
</Compile>
<Compile Include="DSInventory.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@@ -388,9 +370,6 @@
<Compile Include="MethodExtentions.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="Board\fPatchList.resx">
<DependentUpon>fPatchList.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="fSIDListSelect.resx">
<DependentUpon>fSIDListSelect.cs</DependentUpon>
</EmbeddedResource>
@@ -415,12 +394,6 @@
<EmbeddedResource Include="Mail\fSendMail.resx">
<DependentUpon>fSendMail.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Board\fRequestItem.resx">
<DependentUpon>fRequestItem.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Board\fRequestItem_Add.resx">
<DependentUpon>fRequestItem_Add.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="fCode.resx">
<DependentUpon>fCode.cs</DependentUpon>
</EmbeddedResource>

View File

@@ -361,7 +361,6 @@
// tam
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.BoardTableAdapter = null;
this.tam.CommonTableAdapter = null;
this.tam.CustomsTableAdapter = null;
this.tam.HolidayLIstTableAdapter = null;

View File

@@ -379,7 +379,6 @@
// tam
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.BoardTableAdapter = null;
this.tam.CommonTableAdapter = null;
this.tam.CustomsTableAdapter = null;
this.tam.EETGW_DocuFormTableAdapter = null;

View File

@@ -451,7 +451,6 @@
// tam
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.BoardTableAdapter = null;
this.tam.CommonTableAdapter = null;
this.tam.CustomsTableAdapter = null;
this.tam.EETGW_DocuFormTableAdapter = null;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -4,19 +4,18 @@
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="-10" ViewPortY="-12" 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="185" ViewPortY="-12" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:Items" ZOrder="3" X="48" Y="30" Height="590" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="387" />
<Shape ID="DesignTable:Common" ZOrder="4" X="443" Y="45" Height="267" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:Board" ZOrder="1" X="937" Y="65" Height="438" Width="179" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="370" />
<Shape ID="DesignTable:RequestItem" ZOrder="11" X="1499" Y="70" Height="324" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Customs" ZOrder="10" X="1788" Y="70" Height="362" Width="263" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Staff" ZOrder="9" X="2121" Y="70" Height="286" Width="172" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:Purchase" ZOrder="8" X="2357" Y="30" Height="664" Width="245" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="556" />
<Shape ID="DesignTable:Projects" ZOrder="7" X="2672" Y="70" Height="628" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="541" />
<Shape ID="DesignTable:HolidayLIst" ZOrder="6" X="2988" Y="70" Height="191" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:InventoryUser" ZOrder="5" X="3268" Y="70" Height="343" Width="278" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:EETGW_DocuForm" ZOrder="2" X="747" Y="396" Height="210" Width="253" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:Items" ZOrder="2" X="48" Y="30" Height="590" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="387" />
<Shape ID="DesignTable:Common" ZOrder="3" X="443" Y="45" Height="267" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:RequestItem" ZOrder="10" X="1499" Y="70" Height="324" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Customs" ZOrder="9" X="1788" Y="70" Height="362" Width="263" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Staff" ZOrder="8" X="2121" Y="70" Height="286" Width="172" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:Purchase" ZOrder="7" X="2357" Y="30" Height="664" Width="245" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="556" />
<Shape ID="DesignTable:Projects" ZOrder="6" X="2672" Y="70" Height="628" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="541" />
<Shape ID="DesignTable:HolidayLIst" ZOrder="5" X="2988" Y="70" Height="191" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:InventoryUser" ZOrder="4" X="3268" Y="70" Height="343" Width="278" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:EETGW_DocuForm" ZOrder="1" X="747" Y="396" Height="210" Width="253" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
</Shapes>
<Connectors />
</DiagramLayout>

View File

@@ -377,7 +377,6 @@
// tam
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.BoardTableAdapter = null;
this.tam.CommonTableAdapter = this.ta;
this.tam.CustomsTableAdapter = null;
this.tam.EETGW_DocuFormTableAdapter = null;

View File

@@ -134,7 +134,6 @@
// tam
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.BoardTableAdapter = null;
this.tam.CommonTableAdapter = null;
this.tam.CustomsTableAdapter = this.ta;
this.tam.HolidayLIstTableAdapter = null;

View File

@@ -405,7 +405,6 @@
// tam
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.BoardTableAdapter = null;
this.tam.CommonTableAdapter = null;
this.tam.CustomsTableAdapter = null;
this.tam.EETGW_DocuFormTableAdapter = null;

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -1,701 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="DSEboard" targetNamespace="http://tempuri.org/DSEboard.xsd" xmlns:mstns="http://tempuri.org/DSEboard.xsd" xmlns="http://tempuri.org/DSEboard.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:msprop="urn:schemas-microsoft-com:xml-msprop" attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:annotation>
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
<DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<Connections>
<Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="gwcs" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="gwcs (Settings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.FPJ0000.Properties.Settings.GlobalReference.Default.gwcs" Provider="System.Data.SqlClient" />
</Connections>
<Tables>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="EETGW_JobReport_EBoardTableAdapter" GeneratorDataComponentClassName="EETGW_JobReport_EBoardTableAdapter" Name="EETGW_JobReport_EBoard" UserDataComponentName="EETGW_JobReport_EBoardTableAdapter">
<MainSource>
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.EETGW_JobReport_EBoard" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>DELETE FROM [EETGW_JobReport_EBoard] WHERE (([idx] = @Original_idx) AND ([gcode] = @Original_gcode) AND ((@IsNull_pdate = 1 AND [pdate] IS NULL) OR ([pdate] = @Original_pdate)) AND ((@IsNull_uid = 1 AND [uid] IS NULL) OR ([uid] = @Original_uid)) AND ((@IsNull_Site = 1 AND [Site] IS NULL) OR ([Site] = @Original_Site)) AND ((@IsNull_요청자 = 1 AND [요청자] IS NULL) OR ([요청자] = @Original_요청자)) AND ((@IsNull_수리완료일 = 1 AND [수리완료일] IS NULL) OR ([수리완료일] = @Original_수리완료일)) AND ((@IsNull_Status = 1 AND [Status] IS NULL) OR ([Status] = @Original_Status)) AND ((@IsNull_분류 = 1 AND [분류] IS NULL) OR ([분류] = @Original_분류)) AND ((@IsNull_Line = 1 AND [Line] IS NULL) OR ([Line] = @Original_Line)) AND ((@IsNull_Division = 1 AND [Division] IS NULL) OR ([Division] = @Original_Division)) AND ((@IsNull_Team = 1 AND [Team] IS NULL) OR ([Team] = @Original_Team)) AND ((@IsNull_Process = 1 AND [Process] IS NULL) OR ([Process] = @Original_Process)) AND ((@IsNull_Equipment = 1 AND [Equipment] IS NULL) OR ([Equipment] = @Original_Equipment)) AND ((@IsNull_Model = 1 AND [Model] IS NULL) OR ([Model] = @Original_Model)) AND ((@IsNull_BoardName = 1 AND [BoardName] IS NULL) OR ([BoardName] = @Original_BoardName)) AND ((@IsNull_BoardVender = 1 AND [BoardVender] IS NULL) OR ([BoardVender] = @Original_BoardVender)) AND ((@IsNull_SN = 1 AND [SN] IS NULL) OR ([SN] = @Original_SN)) AND ((@IsNull_QTY = 1 AND [QTY] IS NULL) OR ([QTY] = @Original_QTY)) AND ((@IsNull_NPrice = 1 AND [NPrice] IS NULL) OR ([NPrice] = @Original_NPrice)) AND ((@IsNull_OPrice = 1 AND [OPrice] IS NULL) OR ([OPrice] = @Original_OPrice)) AND ((@IsNull_RepairCost = 1 AND [RepairCost] IS NULL) OR ([RepairCost] = @Original_RepairCost)) AND ((@IsNull_CostReduction = 1 AND [CostReduction] IS NULL) OR ([CostReduction] = @Original_CostReduction)) AND ((@IsNull_외주업체 = 1 AND [외주업체] IS NULL) OR ([외주업체] = @Original_외주업체)) AND ((@IsNull_RepairTime = 1 AND [RepairTime] IS NULL) OR ([RepairTime] = @Original_RepairTime)) AND ((@IsNull_memo = 1 AND [memo] IS NULL) OR ([memo] = @Original_memo)) AND ((@IsNull_import = 1 AND [import] IS NULL) OR ([import] = @Original_import)) AND ([wuid] = @Original_wuid) AND ([wdate] = @Original_wdate) AND ((@IsNull_refdata = 1 AND [refdata] IS NULL) OR ([refdata] = @Original_refdata)))</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_idx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_pdate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_uid" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_uid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Site" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Site" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Site" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Site" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_요청자" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="요청자" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_요청자" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="요청자" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_수리완료일" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="수리완료일" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_수리완료일" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="수리완료일" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Status" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_분류" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="분류" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_분류" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="분류" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Line" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Line" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Line" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Line" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Division" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Division" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Division" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Division" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Team" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Team" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Team" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Team" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Process" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Process" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Process" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Process" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Equipment" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Equipment" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Equipment" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Equipment" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Model" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Model" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Model" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Model" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_BoardName" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BoardName" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_BoardName" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardName" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_BoardVender" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BoardVender" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_BoardVender" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardVender" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_SN" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SN" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_SN" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="SN" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_QTY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="QTY" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_QTY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="QTY" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_NPrice" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NPrice" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_NPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="NPrice" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_OPrice" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OPrice" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_OPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="OPrice" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_RepairCost" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RepairCost" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_RepairCost" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="RepairCost" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CostReduction" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CostReduction" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_CostReduction" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="CostReduction" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_외주업체" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="외주업체" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_외주업체" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="외주업체" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_RepairTime" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RepairTime" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_RepairTime" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="RepairTime" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_memo" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_memo" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_import" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="import" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_import" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="import" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_refdata" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="refdata" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_refdata" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="refdata" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</DeleteCommand>
<InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>INSERT INTO [EETGW_JobReport_EBoard] ([gcode], [pdate], [uid], [Site], [요청자], [수리완료일], [Status], [분류], [Line], [Division], [Team], [Process], [Equipment], [Model], [BoardName], [BoardVender], [원인], [결과], [SN], [QTY], [NPrice], [OPrice], [RepairCost], [CostReduction], [외주업체], [RepairTime], [memo], [import], [wuid], [wdate], [원인2], [결과2], [refdata]) VALUES (@gcode, @pdate, @uid, @Site, @요청자, @수리완료일, @Status, @분류, @Line, @Division, @Team, @Process, @Equipment, @Model, @BoardName, @BoardVender, @원인, @결과, @SN, @QTY, @NPrice, @OPrice, @RepairCost, @CostReduction, @외주업체, @RepairTime, @memo, @import, @wuid, @wdate, @원인2, @결과2, @refdata);
SELECT idx, gcode, pdate, uid, Site, 요청자, 수리완료일, Status, 분류, Line, Division, Team, Process, Equipment, Model, BoardName, BoardVender, 원인, 결과, SN, QTY, NPrice, OPrice, RepairCost, CostReduction, 외주업체, RepairTime, memo, import, wuid, wdate, 원인2, 결과2, refdata FROM EETGW_JobReport_EBoard WHERE (idx = SCOPE_IDENTITY())</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@uid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Site" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Site" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@요청자" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="요청자" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@수리완료일" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="수리완료일" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@분류" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="분류" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Line" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Line" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Division" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Division" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Team" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Team" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Process" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Process" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Equipment" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Equipment" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Model" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Model" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@BoardName" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardName" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@BoardVender" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardVender" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@원인" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="원인" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@결과" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="결과" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@SN" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="SN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@QTY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="QTY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@NPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="NPrice" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@OPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="OPrice" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@RepairCost" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="RepairCost" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@CostReduction" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="CostReduction" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@외주업체" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="외주업체" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@RepairTime" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="RepairTime" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@memo" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@import" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="import" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@원인2" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="원인2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@결과2" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="결과2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@refdata" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="refdata" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</InsertCommand>
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>SELECT idx, gcode, pdate, uid, Site, 요청자, 수리완료일, Status, 분류, Line, Division, Team, Process, Equipment, Model, BoardName, BoardVender, 원인, 결과, SN, QTY, NPrice, OPrice,
RepairCost, CostReduction, 외주업체, RepairTime, memo, import, wuid, wdate, 원인2, 결과2, refdata
FROM EETGW_JobReport_EBoard WITH (nolock)
WHERE (gcode = @gcode)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="gcode" ColumnName="gcode" DataSourceName="EE.dbo.EETGW_JobReport_EBoard" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
<UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>UPDATE [EETGW_JobReport_EBoard] SET [gcode] = @gcode, [pdate] = @pdate, [uid] = @uid, [Site] = @Site, [요청자] = @요청자, [수리완료일] = @수리완료일, [Status] = @Status, [분류] = @분류, [Line] = @Line, [Division] = @Division, [Team] = @Team, [Process] = @Process, [Equipment] = @Equipment, [Model] = @Model, [BoardName] = @BoardName, [BoardVender] = @BoardVender, [원인] = @원인, [결과] = @결과, [SN] = @SN, [QTY] = @QTY, [NPrice] = @NPrice, [OPrice] = @OPrice, [RepairCost] = @RepairCost, [CostReduction] = @CostReduction, [외주업체] = @외주업체, [RepairTime] = @RepairTime, [memo] = @memo, [import] = @import, [wuid] = @wuid, [wdate] = @wdate, [원인2] = @원인2, [결과2] = @결과2, [refdata] = @refdata WHERE (([idx] = @Original_idx) AND ([gcode] = @Original_gcode) AND ((@IsNull_pdate = 1 AND [pdate] IS NULL) OR ([pdate] = @Original_pdate)) AND ((@IsNull_uid = 1 AND [uid] IS NULL) OR ([uid] = @Original_uid)) AND ((@IsNull_Site = 1 AND [Site] IS NULL) OR ([Site] = @Original_Site)) AND ((@IsNull_요청자 = 1 AND [요청자] IS NULL) OR ([요청자] = @Original_요청자)) AND ((@IsNull_수리완료일 = 1 AND [수리완료일] IS NULL) OR ([수리완료일] = @Original_수리완료일)) AND ((@IsNull_Status = 1 AND [Status] IS NULL) OR ([Status] = @Original_Status)) AND ((@IsNull_분류 = 1 AND [분류] IS NULL) OR ([분류] = @Original_분류)) AND ((@IsNull_Line = 1 AND [Line] IS NULL) OR ([Line] = @Original_Line)) AND ((@IsNull_Division = 1 AND [Division] IS NULL) OR ([Division] = @Original_Division)) AND ((@IsNull_Team = 1 AND [Team] IS NULL) OR ([Team] = @Original_Team)) AND ((@IsNull_Process = 1 AND [Process] IS NULL) OR ([Process] = @Original_Process)) AND ((@IsNull_Equipment = 1 AND [Equipment] IS NULL) OR ([Equipment] = @Original_Equipment)) AND ((@IsNull_Model = 1 AND [Model] IS NULL) OR ([Model] = @Original_Model)) AND ((@IsNull_BoardName = 1 AND [BoardName] IS NULL) OR ([BoardName] = @Original_BoardName)) AND ((@IsNull_BoardVender = 1 AND [BoardVender] IS NULL) OR ([BoardVender] = @Original_BoardVender)) AND ((@IsNull_SN = 1 AND [SN] IS NULL) OR ([SN] = @Original_SN)) AND ((@IsNull_QTY = 1 AND [QTY] IS NULL) OR ([QTY] = @Original_QTY)) AND ((@IsNull_NPrice = 1 AND [NPrice] IS NULL) OR ([NPrice] = @Original_NPrice)) AND ((@IsNull_OPrice = 1 AND [OPrice] IS NULL) OR ([OPrice] = @Original_OPrice)) AND ((@IsNull_RepairCost = 1 AND [RepairCost] IS NULL) OR ([RepairCost] = @Original_RepairCost)) AND ((@IsNull_CostReduction = 1 AND [CostReduction] IS NULL) OR ([CostReduction] = @Original_CostReduction)) AND ((@IsNull_외주업체 = 1 AND [외주업체] IS NULL) OR ([외주업체] = @Original_외주업체)) AND ((@IsNull_RepairTime = 1 AND [RepairTime] IS NULL) OR ([RepairTime] = @Original_RepairTime)) AND ((@IsNull_memo = 1 AND [memo] IS NULL) OR ([memo] = @Original_memo)) AND ((@IsNull_import = 1 AND [import] IS NULL) OR ([import] = @Original_import)) AND ([wuid] = @Original_wuid) AND ([wdate] = @Original_wdate) AND ((@IsNull_refdata = 1 AND [refdata] IS NULL) OR ([refdata] = @Original_refdata)));
SELECT idx, gcode, pdate, uid, Site, 요청자, 수리완료일, Status, 분류, Line, Division, Team, Process, Equipment, Model, BoardName, BoardVender, 원인, 결과, SN, QTY, NPrice, OPrice, RepairCost, CostReduction, 외주업체, RepairTime, memo, import, wuid, wdate, 원인2, 결과2, refdata FROM EETGW_JobReport_EBoard WHERE (idx = @idx)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@uid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Site" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Site" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@요청자" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="요청자" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@수리완료일" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="수리완료일" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@분류" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="분류" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Line" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Line" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Division" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Division" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Team" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Team" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Process" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Process" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Equipment" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Equipment" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Model" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Model" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@BoardName" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardName" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@BoardVender" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardVender" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@원인" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="원인" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@결과" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="결과" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@SN" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="SN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@QTY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="QTY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@NPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="NPrice" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@OPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="OPrice" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@RepairCost" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="RepairCost" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@CostReduction" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="CostReduction" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@외주업체" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="외주업체" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@RepairTime" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="RepairTime" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@memo" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@import" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="import" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@원인2" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="원인2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@결과2" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="결과2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@refdata" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="refdata" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_idx" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_pdate" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_pdate" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="pdate" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_uid" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_uid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="uid" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Site" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Site" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Site" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Site" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_요청자" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="요청자" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_요청자" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="요청자" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_수리완료일" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="수리완료일" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_수리완료일" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="수리완료일" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Status" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Status" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Status" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_분류" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="분류" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_분류" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="분류" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Line" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Line" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Line" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Line" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Division" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Division" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Division" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Division" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Team" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Team" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Team" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Team" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Process" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Process" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Process" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Process" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Equipment" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Equipment" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Equipment" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Equipment" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_Model" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="Model" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_Model" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="Model" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_BoardName" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BoardName" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_BoardName" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardName" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_BoardVender" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BoardVender" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_BoardVender" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="BoardVender" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_SN" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SN" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_SN" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="SN" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_QTY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="QTY" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_QTY" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="QTY" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_NPrice" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NPrice" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_NPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="NPrice" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_OPrice" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="OPrice" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_OPrice" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="OPrice" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_RepairCost" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RepairCost" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_RepairCost" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="RepairCost" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_CostReduction" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="CostReduction" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@Original_CostReduction" Precision="18" ProviderType="Decimal" Scale="0" Size="0" SourceColumn="CostReduction" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_외주업체" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="외주업체" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_외주업체" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="외주업체" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_RepairTime" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="RepairTime" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Double" Direction="Input" ParameterName="@Original_RepairTime" Precision="0" ProviderType="Float" Scale="0" Size="0" SourceColumn="RepairTime" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_memo" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_memo" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="memo" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_import" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="import" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_import" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="import" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="AnsiString" Direction="Input" ParameterName="@Original_wuid" Precision="0" ProviderType="VarChar" Scale="0" Size="0" SourceColumn="wuid" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="DateTime" Direction="Input" ParameterName="@Original_wdate" Precision="0" ProviderType="SmallDateTime" Scale="0" Size="0" SourceColumn="wdate" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@IsNull_refdata" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="refdata" SourceColumnNullMapping="true" SourceVersion="Original" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DbType="Boolean" Direction="Input" ParameterName="@Original_refdata" Precision="0" ProviderType="Bit" Scale="0" Size="0" SourceColumn="refdata" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="idx" ColumnName="idx" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@idx" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="idx" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</UpdateCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="idx" DataSetColumn="idx" />
<Mapping SourceColumn="gcode" DataSetColumn="gcode" />
<Mapping SourceColumn="pdate" DataSetColumn="pdate" />
<Mapping SourceColumn="uid" DataSetColumn="uid" />
<Mapping SourceColumn="Site" DataSetColumn="Site" />
<Mapping SourceColumn="요청자" DataSetColumn="요청자" />
<Mapping SourceColumn="수리완료일" DataSetColumn="수리완료일" />
<Mapping SourceColumn="Status" DataSetColumn="Status" />
<Mapping SourceColumn="분류" DataSetColumn="분류" />
<Mapping SourceColumn="Line" DataSetColumn="Line" />
<Mapping SourceColumn="Division" DataSetColumn="Division" />
<Mapping SourceColumn="Team" DataSetColumn="Team" />
<Mapping SourceColumn="Process" DataSetColumn="Process" />
<Mapping SourceColumn="Equipment" DataSetColumn="Equipment" />
<Mapping SourceColumn="Model" DataSetColumn="Model" />
<Mapping SourceColumn="BoardName" DataSetColumn="BoardName" />
<Mapping SourceColumn="BoardVender" DataSetColumn="BoardVender" />
<Mapping SourceColumn="원인" DataSetColumn="원인" />
<Mapping SourceColumn="결과" DataSetColumn="결과" />
<Mapping SourceColumn="SN" DataSetColumn="SN" />
<Mapping SourceColumn="QTY" DataSetColumn="QTY" />
<Mapping SourceColumn="NPrice" DataSetColumn="NPrice" />
<Mapping SourceColumn="OPrice" DataSetColumn="OPrice" />
<Mapping SourceColumn="RepairCost" DataSetColumn="RepairCost" />
<Mapping SourceColumn="CostReduction" DataSetColumn="CostReduction" />
<Mapping SourceColumn="외주업체" DataSetColumn="외주업체" />
<Mapping SourceColumn="RepairTime" DataSetColumn="RepairTime" />
<Mapping SourceColumn="memo" DataSetColumn="memo" />
<Mapping SourceColumn="import" DataSetColumn="import" />
<Mapping SourceColumn="wuid" DataSetColumn="wuid" />
<Mapping SourceColumn="wdate" DataSetColumn="wdate" />
<Mapping SourceColumn="원인2" DataSetColumn="원인2" />
<Mapping SourceColumn="결과2" DataSetColumn="결과2" />
<Mapping SourceColumn="refdata" DataSetColumn="refdata" />
</Mappings>
<Sources>
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.EETGW_JobReport_EBoard" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByCompleteDate" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetByCompleteDate" GeneratorSourceName="FillByCompleteDate" GetMethodModifier="Public" GetMethodName="GetByCompleteDate" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetByCompleteDate" UserSourceName="FillByCompleteDate">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT idx, gcode, pdate, uid, Site, 요청자, 수리완료일, Status, 분류, Line, Division, Team, Process, Equipment, Model, BoardName, BoardVender, 원인, 결과, SN, QTY, NPrice, OPrice,
RepairCost, CostReduction, 외주업체, RepairTime, memo, import, wuid, wdate, 원인2, 결과2, refdata
FROM EETGW_JobReport_EBoard WITH (nolock)
WHERE (gcode = @gcode)
and 수리완료일 between @sd and @ed
order by 수리완료일</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="gcode" ColumnName="gcode" DataSourceName="EE.dbo.EETGW_JobReport_EBoard" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="sd" ColumnName="수리완료일" DataSourceName="EE.dbo.EETGW_JobReport_EBoard" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@sd" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="수리완료일" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="ed" ColumnName="수리완료일" DataSourceName="EE.dbo.EETGW_JobReport_EBoard" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@ed" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="수리완료일" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.EETGW_JobReport_EBoard" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="FillByPdate" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetByPdate" GeneratorSourceName="FillByPdate" GetMethodModifier="Public" GetMethodName="GetByPdate" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetByPdate" UserSourceName="FillByPdate">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT idx, gcode, pdate, uid, Site, 요청자, 수리완료일, Status, 분류, Line, Division, Team, Process, Equipment, Model, BoardName, BoardVender, 원인, 결과, SN, QTY, NPrice, OPrice,
RepairCost, CostReduction, 외주업체, RepairTime, memo, import, wuid, wdate, 원인2, 결과2, refdata
FROM EETGW_JobReport_EBoard 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_JobReport_EBoard" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="sd" ColumnName="pdate" DataSourceName="EE.dbo.EETGW_JobReport_EBoard" 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_JobReport_EBoard" 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>
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.EETGW_JobReport_EBoard" DbObjectType="Table" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="GetBunruList" GetMethodModifier="Public" GetMethodName="GetBunruList" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetBunruList" UserSourceName="GetBunruList">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT 분류
FROM EETGW_JobReport_EBoard WITH (nolock)
WHERE (gcode = @gcode) AND (ISNULL(분류, '') &lt;&gt; '')
GROUP BY 분류
ORDER BY 분류</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="gcode" ColumnName="gcode" DataSourceName="EE.dbo.EETGW_JobReport_EBoard" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@gcode" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="gcode" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</Sources>
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="vGroupUserTableAdapter" GeneratorDataComponentClassName="vGroupUserTableAdapter" Name="vGroupUser" UserDataComponentName="vGroupUserTableAdapter">
<MainSource>
<DbSource ConnectionRef="gwcs (Settings)" DbObjectName="EE.dbo.vGroupUser" DbObjectType="View" GenerateMethods="Get" GenerateShortCommands="false" GeneratorGetMethodName="GetNullStateData" GetMethodModifier="Public" GetMethodName="GetNullStateData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetNullStateData" UserSourceName="GetNullStateData">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT gcode, dept, level, name, nameE, grade, email, tel, indate, outdate, hp, place, ads_employNo, ads_title, ads_created, memo, processs, id, state, useJobReport, useUserState, password,
exceptHoly
FROM vGroupUser WITH (nolock)
WHERE (gcode = @gcode) AND (processs = @process) AND (ISNULL(state, '') = '')</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="gcode" ColumnName="gcode" DataSourceName="EE.dbo.vGroupUser" 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="false" AutogeneratedName="process" ColumnName="processs" DataSourceName="EE.dbo.vGroupUser" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@process" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="processs" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="gcode" DataSetColumn="gcode" />
<Mapping SourceColumn="dept" DataSetColumn="dept" />
<Mapping SourceColumn="level" DataSetColumn="level" />
<Mapping SourceColumn="name" DataSetColumn="name" />
<Mapping SourceColumn="nameE" DataSetColumn="nameE" />
<Mapping SourceColumn="grade" DataSetColumn="grade" />
<Mapping SourceColumn="email" DataSetColumn="email" />
<Mapping SourceColumn="tel" DataSetColumn="tel" />
<Mapping SourceColumn="indate" DataSetColumn="indate" />
<Mapping SourceColumn="outdate" DataSetColumn="outdate" />
<Mapping SourceColumn="hp" DataSetColumn="hp" />
<Mapping SourceColumn="place" DataSetColumn="place" />
<Mapping SourceColumn="ads_employNo" DataSetColumn="ads_employNo" />
<Mapping SourceColumn="ads_title" DataSetColumn="ads_title" />
<Mapping SourceColumn="ads_created" DataSetColumn="ads_created" />
<Mapping SourceColumn="memo" DataSetColumn="memo" />
<Mapping SourceColumn="processs" DataSetColumn="processs" />
<Mapping SourceColumn="id" DataSetColumn="id" />
<Mapping SourceColumn="state" DataSetColumn="state" />
<Mapping SourceColumn="useJobReport" DataSetColumn="useJobReport" />
<Mapping SourceColumn="useUserState" DataSetColumn="useUserState" />
<Mapping SourceColumn="password" DataSetColumn="password" />
<Mapping SourceColumn="exceptHoly" DataSetColumn="exceptHoly" />
</Mappings>
<Sources />
</TableAdapter>
</Tables>
<Sources />
</DataSource>
</xs:appinfo>
</xs:annotation>
<xs:element name="DSEboard" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:Generator_UserDSName="DSEboard" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DSEboard">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="EETGW_JobReport_EBoard" msprop:Generator_RowEvHandlerName="EETGW_JobReport_EBoardRowChangeEventHandler" msprop:Generator_RowDeletedName="EETGW_JobReport_EBoardRowDeleted" msprop:Generator_RowDeletingName="EETGW_JobReport_EBoardRowDeleting" msprop:Generator_RowEvArgName="EETGW_JobReport_EBoardRowChangeEvent" msprop:Generator_TablePropName="EETGW_JobReport_EBoard" msprop:Generator_RowChangedName="EETGW_JobReport_EBoardRowChanged" msprop:Generator_UserTableName="EETGW_JobReport_EBoard" msprop:Generator_RowChangingName="EETGW_JobReport_EBoardRowChanging" msprop:Generator_RowClassName="EETGW_JobReport_EBoardRow" msprop:Generator_TableClassName="EETGW_JobReport_EBoardDataTable" msprop:Generator_TableVarName="tableEETGW_JobReport_EBoard">
<xs:complexType>
<xs:sequence>
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_UserColumnName="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnVarNameInTable="columnidx" type="xs:int" />
<xs:element name="gcode" msprop:Generator_UserColumnName="gcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_ColumnPropNameInRow="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="pdate" msprop:Generator_UserColumnName="pdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_ColumnVarNameInTable="columnpdate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="uid" msprop:Generator_UserColumnName="uid" msprop:Generator_ColumnPropNameInTable="uidColumn" msprop:Generator_ColumnPropNameInRow="uid" msprop:Generator_ColumnVarNameInTable="columnuid" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Site" msprop:Generator_UserColumnName="Site" msprop:Generator_ColumnPropNameInTable="SiteColumn" msprop:Generator_ColumnPropNameInRow="Site" msprop:Generator_ColumnVarNameInTable="columnSite" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="요청자" msprop:Generator_UserColumnName="요청자" msprop:Generator_ColumnPropNameInTable="요청자Column" msprop:Generator_ColumnPropNameInRow="요청자" msprop:Generator_ColumnVarNameInTable="column요청자" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="수리완료일" msprop:Generator_UserColumnName="수리완료일" msprop:Generator_ColumnPropNameInTable="수리완료일Column" msprop:Generator_ColumnPropNameInRow="수리완료일" msprop:Generator_ColumnVarNameInTable="column수리완료일" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Status" msprop:Generator_UserColumnName="Status" msprop:Generator_ColumnPropNameInTable="StatusColumn" msprop:Generator_ColumnPropNameInRow="Status" msprop:Generator_ColumnVarNameInTable="columnStatus" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="분류" msprop:Generator_UserColumnName="분류" msprop:Generator_ColumnPropNameInTable="분류Column" msprop:Generator_ColumnPropNameInRow="분류" msprop:Generator_ColumnVarNameInTable="column분류" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Line" msprop:Generator_UserColumnName="Line" msprop:Generator_ColumnPropNameInTable="LineColumn" msprop:Generator_ColumnPropNameInRow="Line" msprop:Generator_ColumnVarNameInTable="columnLine" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Division" msprop:Generator_UserColumnName="Division" msprop:Generator_ColumnPropNameInTable="DivisionColumn" msprop:Generator_ColumnPropNameInRow="Division" msprop:Generator_ColumnVarNameInTable="columnDivision" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Team" msprop:Generator_UserColumnName="Team" msprop:Generator_ColumnPropNameInTable="TeamColumn" msprop:Generator_ColumnPropNameInRow="Team" msprop:Generator_ColumnVarNameInTable="columnTeam" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Process" msprop:Generator_UserColumnName="Process" msprop:Generator_ColumnPropNameInTable="ProcessColumn" msprop:Generator_ColumnPropNameInRow="Process" msprop:Generator_ColumnVarNameInTable="columnProcess" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Equipment" msprop:Generator_UserColumnName="Equipment" msprop:Generator_ColumnPropNameInTable="EquipmentColumn" msprop:Generator_ColumnPropNameInRow="Equipment" msprop:Generator_ColumnVarNameInTable="columnEquipment" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Model" msprop:Generator_UserColumnName="Model" msprop:Generator_ColumnPropNameInTable="ModelColumn" msprop:Generator_ColumnPropNameInRow="Model" msprop:Generator_ColumnVarNameInTable="columnModel" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BoardName" msprop:Generator_UserColumnName="BoardName" msprop:Generator_ColumnPropNameInTable="BoardNameColumn" msprop:Generator_ColumnPropNameInRow="BoardName" msprop:Generator_ColumnVarNameInTable="columnBoardName" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="BoardVender" msprop:Generator_UserColumnName="BoardVender" msprop:Generator_ColumnPropNameInTable="BoardVenderColumn" msprop:Generator_ColumnPropNameInRow="BoardVender" msprop:Generator_ColumnVarNameInTable="columnBoardVender" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="원인" msprop:Generator_UserColumnName="원인" msprop:Generator_ColumnPropNameInTable="원인Column" msprop:Generator_ColumnPropNameInRow="원인" msprop:Generator_ColumnVarNameInTable="column원인" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="결과" msprop:Generator_UserColumnName="결과" msprop:Generator_ColumnPropNameInTable="결과Column" msprop:Generator_ColumnPropNameInRow="결과" msprop:Generator_ColumnVarNameInTable="column결과" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SN" msprop:Generator_UserColumnName="SN" msprop:Generator_ColumnPropNameInTable="SNColumn" msprop:Generator_ColumnPropNameInRow="SN" msprop:Generator_ColumnVarNameInTable="columnSN" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QTY" msprop:Generator_UserColumnName="QTY" msprop:Generator_ColumnPropNameInTable="QTYColumn" msprop:Generator_ColumnPropNameInRow="QTY" msprop:Generator_ColumnVarNameInTable="columnQTY" type="xs:int" minOccurs="0" />
<xs:element name="NPrice" msprop:Generator_UserColumnName="NPrice" msprop:Generator_ColumnPropNameInTable="NPriceColumn" msprop:Generator_ColumnPropNameInRow="NPrice" msprop:Generator_ColumnVarNameInTable="columnNPrice" type="xs:decimal" minOccurs="0" />
<xs:element name="OPrice" msprop:Generator_UserColumnName="OPrice" msprop:Generator_ColumnPropNameInTable="OPriceColumn" msprop:Generator_ColumnPropNameInRow="OPrice" msprop:Generator_ColumnVarNameInTable="columnOPrice" type="xs:decimal" minOccurs="0" />
<xs:element name="RepairCost" msprop:Generator_UserColumnName="RepairCost" msprop:Generator_ColumnPropNameInTable="RepairCostColumn" msprop:Generator_ColumnPropNameInRow="RepairCost" msprop:Generator_ColumnVarNameInTable="columnRepairCost" type="xs:decimal" minOccurs="0" />
<xs:element name="CostReduction" msprop:Generator_UserColumnName="CostReduction" msprop:Generator_ColumnPropNameInTable="CostReductionColumn" msprop:Generator_ColumnPropNameInRow="CostReduction" msprop:Generator_ColumnVarNameInTable="columnCostReduction" type="xs:decimal" minOccurs="0" />
<xs:element name="외주업체" msprop:Generator_UserColumnName="외주업체" msprop:Generator_ColumnPropNameInTable="외주업체Column" msprop:Generator_ColumnPropNameInRow="외주업체" msprop:Generator_ColumnVarNameInTable="column외주업체" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="RepairTime" msprop:Generator_UserColumnName="RepairTime" msprop:Generator_ColumnPropNameInTable="RepairTimeColumn" msprop:Generator_ColumnPropNameInRow="RepairTime" msprop:Generator_ColumnVarNameInTable="columnRepairTime" type="xs:double" minOccurs="0" />
<xs:element name="memo" msprop:Generator_UserColumnName="memo" msprop:Generator_ColumnPropNameInTable="memoColumn" msprop:Generator_ColumnPropNameInRow="memo" msprop:Generator_ColumnVarNameInTable="columnmemo" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="import" msprop:Generator_UserColumnName="import" msprop:Generator_ColumnPropNameInTable="importColumn" msprop:Generator_ColumnPropNameInRow="import" msprop:Generator_ColumnVarNameInTable="columnimport" type="xs:boolean" minOccurs="0" />
<xs:element name="wuid" msprop:Generator_UserColumnName="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="wdate" msprop:Generator_UserColumnName="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" type="xs:dateTime" />
<xs:element name="원인2" msprop:Generator_UserColumnName="원인2" msprop:Generator_ColumnPropNameInTable="원인2Column" msprop:Generator_ColumnPropNameInRow="원인2" msprop:Generator_ColumnVarNameInTable="column원인2" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="결과2" msprop:Generator_UserColumnName="결과2" msprop:Generator_ColumnPropNameInTable="결과2Column" msprop:Generator_ColumnPropNameInRow="결과2" msprop:Generator_ColumnVarNameInTable="column결과2" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="refdata" msprop:Generator_ColumnPropNameInTable="refdataColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="refdata" msprop:Generator_UserColumnName="refdata" msprop:Generator_ColumnVarNameInTable="columnrefdata" type="xs:boolean" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="vGroupUser" msprop:Generator_RowEvHandlerName="vGroupUserRowChangeEventHandler" msprop:Generator_RowDeletedName="vGroupUserRowDeleted" msprop:Generator_RowDeletingName="vGroupUserRowDeleting" msprop:Generator_RowEvArgName="vGroupUserRowChangeEvent" msprop:Generator_TablePropName="vGroupUser" msprop:Generator_RowChangedName="vGroupUserRowChanged" msprop:Generator_RowChangingName="vGroupUserRowChanging" msprop:Generator_TableClassName="vGroupUserDataTable" msprop:Generator_RowClassName="vGroupUserRow" msprop:Generator_TableVarName="tablevGroupUser" msprop:Generator_UserTableName="vGroupUser">
<xs:complexType>
<xs:sequence>
<xs:element name="gcode" msprop:Generator_ColumnPropNameInRow="gcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_UserColumnName="gcode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="dept" msprop:Generator_ColumnPropNameInRow="dept" msprop:Generator_ColumnPropNameInTable="deptColumn" msprop:Generator_ColumnVarNameInTable="columndept" msprop:Generator_UserColumnName="dept" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="level" msprop:Generator_ColumnPropNameInRow="level" msprop:Generator_ColumnPropNameInTable="levelColumn" msprop:Generator_ColumnVarNameInTable="columnlevel" msprop:Generator_UserColumnName="level" type="xs:short" minOccurs="0" />
<xs:element name="name" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" msprop:Generator_ColumnVarNameInTable="columnname" 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="nameE" msprop:Generator_ColumnPropNameInRow="nameE" msprop:Generator_ColumnPropNameInTable="nameEColumn" msprop:Generator_ColumnVarNameInTable="columnnameE" msprop:Generator_UserColumnName="nameE" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="grade" msprop:Generator_ColumnPropNameInRow="grade" msprop:Generator_ColumnPropNameInTable="gradeColumn" msprop:Generator_ColumnVarNameInTable="columngrade" msprop:Generator_UserColumnName="grade" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="email" msprop:Generator_ColumnPropNameInRow="email" msprop:Generator_ColumnPropNameInTable="emailColumn" msprop:Generator_ColumnVarNameInTable="columnemail" msprop:Generator_UserColumnName="email" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="tel" msprop:Generator_ColumnPropNameInRow="tel" msprop:Generator_ColumnPropNameInTable="telColumn" msprop:Generator_ColumnVarNameInTable="columntel" msprop:Generator_UserColumnName="tel" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="indate" msprop:Generator_ColumnPropNameInRow="indate" msprop:Generator_ColumnPropNameInTable="indateColumn" msprop:Generator_ColumnVarNameInTable="columnindate" msprop:Generator_UserColumnName="indate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="outdate" msprop:Generator_ColumnPropNameInRow="outdate" msprop:Generator_ColumnPropNameInTable="outdateColumn" msprop:Generator_ColumnVarNameInTable="columnoutdate" msprop:Generator_UserColumnName="outdate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="hp" msprop:Generator_ColumnPropNameInRow="hp" msprop:Generator_ColumnPropNameInTable="hpColumn" msprop:Generator_ColumnVarNameInTable="columnhp" msprop:Generator_UserColumnName="hp" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="place" msprop:Generator_ColumnPropNameInRow="place" msprop:Generator_ColumnPropNameInTable="placeColumn" msprop:Generator_ColumnVarNameInTable="columnplace" msprop:Generator_UserColumnName="place" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ads_employNo" msprop:Generator_ColumnPropNameInRow="ads_employNo" msprop:Generator_ColumnPropNameInTable="ads_employNoColumn" msprop:Generator_ColumnVarNameInTable="columnads_employNo" msprop:Generator_UserColumnName="ads_employNo" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ads_title" msprop:Generator_ColumnPropNameInRow="ads_title" msprop:Generator_ColumnPropNameInTable="ads_titleColumn" msprop:Generator_ColumnVarNameInTable="columnads_title" msprop:Generator_UserColumnName="ads_title" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ads_created" msprop:Generator_ColumnPropNameInRow="ads_created" msprop:Generator_ColumnPropNameInTable="ads_createdColumn" msprop:Generator_ColumnVarNameInTable="columnads_created" msprop:Generator_UserColumnName="ads_created" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="memo" msprop:Generator_ColumnPropNameInRow="memo" msprop:Generator_ColumnPropNameInTable="memoColumn" msprop:Generator_ColumnVarNameInTable="columnmemo" 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="processs" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInRow="processs" msprop:Generator_ColumnPropNameInTable="processsColumn" msprop:Generator_ColumnVarNameInTable="columnprocesss" msprop:Generator_UserColumnName="processs" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="id" msprop:Generator_ColumnPropNameInRow="id" msprop:Generator_ColumnPropNameInTable="idColumn" msprop:Generator_ColumnVarNameInTable="columnid" msprop:Generator_UserColumnName="id" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="state" msprop:Generator_ColumnPropNameInRow="state" msprop:Generator_ColumnPropNameInTable="stateColumn" msprop:Generator_ColumnVarNameInTable="columnstate" msprop:Generator_UserColumnName="state" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="useJobReport" msprop:Generator_ColumnPropNameInRow="useJobReport" msprop:Generator_ColumnPropNameInTable="useJobReportColumn" msprop:Generator_ColumnVarNameInTable="columnuseJobReport" msprop:Generator_UserColumnName="useJobReport" type="xs:boolean" minOccurs="0" />
<xs:element name="useUserState" msprop:Generator_ColumnPropNameInRow="useUserState" msprop:Generator_ColumnPropNameInTable="useUserStateColumn" msprop:Generator_ColumnVarNameInTable="columnuseUserState" msprop:Generator_UserColumnName="useUserState" type="xs:boolean" minOccurs="0" />
<xs:element name="password" msprop:Generator_ColumnPropNameInRow="password" msprop:Generator_ColumnPropNameInTable="passwordColumn" msprop:Generator_ColumnVarNameInTable="columnpassword" msprop:Generator_UserColumnName="password" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="exceptHoly" msprop:Generator_ColumnPropNameInRow="exceptHoly" msprop:Generator_ColumnPropNameInTable="exceptHolyColumn" msprop:Generator_ColumnVarNameInTable="columnexceptHoly" msprop:Generator_UserColumnName="exceptHoly" type="xs:boolean" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:EETGW_JobReport_EBoard" />
<xs:field xpath="mstns:idx" />
</xs:unique>
</xs:element>
</xs:schema>

View File

@@ -1,13 +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:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="34" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:EETGW_JobReport_EBoard" ZOrder="2" X="251" Y="138" Height="362" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:vGroupUser" ZOrder="1" X="172" Y="593" Height="305" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
</Shapes>
<Connectors />
</DiagramLayout>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,375 +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
{
public partial class fEBoardImport : fBase
{
string setFile;
dsPRJ.EETGW_JobReport_EBoardDataTable dt = new dsPRJ.EETGW_JobReport_EBoardDataTable();
DataTable dtExcel = new DataTable();
public fEBoardImport()
{
InitializeComponent();
setFile = System.IO.Path.Combine(FCOMMON.Util.CurrentPath, "PreSet", Name + ".xml");
this.FormClosed += __Closed;
}
private void __Load(object sender, EventArgs e)
{
EnsureVisibleAndUsableSize();
this.dtPdate.Value = DateTime.Now;
}
void __Closed(object sender, FormClosedEventArgs e)
{
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
OpenFileDialog od = new OpenFileDialog();
od.Filter = "excel|*.xlsx|all files|*.*";
var fi = new System.IO.FileInfo(setFile);
if (fi.Directory.Exists == false) fi.Directory.Create();
var xml = new arUtil.XMLHelper(setFile);
if (xml.Exist() == false) xml.CreateFile();
od.FileName = xml.get_Data("path", "xls"); // FCOMMON.Util.CurrentPath + "model";
//od.FilterIndex = 1;
//od.RestoreDirectory = true;
if (od.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
//선택하면 저장해준다.
xml.set_Data("path", "xls", od.FileName);
textBox1.Text = od.FileName;
}
private void button1_Click(object sender, EventArgs e)
{
int ColumnNameNo = (int)numericUpDown2.Value;
if (textBox1.Text.isEmpty())
{
FCOMMON.Util.MsgE("파일을 선택하세요");
textBox1.Focus();
return;
}
if (!System.IO.File.Exists(textBox1.Text))
{
FCOMMON.Util.MsgE("입력하신 파일이 존재하지 않습니다.");
textBox1.Focus();
textBox1.SelectAll();
return;
}
dtExcel.Columns.Clear();
dtExcel.Rows.Clear();
dtExcel.AcceptChanges();
libxl.Book book;// = new libxl.BinBook();
book = new libxl.XmlBook();
book.setKey(FCOMMON.info.libxlCompany, FCOMMON.info.libxlKey);
try
{
book.load(textBox1.Text);
}
catch (Exception ex)
{
FCOMMON.Util.MsgE(ex.Message);
return;
}
int sheetNum = (int)numericUpDown1.Value;
if (sheetNum >= book.sheetCount())
{
FCOMMON.Util.MsgE("입력한 시트 번호는 존재하지 않습니다.");
book = null;
return;
}
var sheet = book.getSheet(sheetNum);
var MaxRow = sheet.lastRow();
var MinRow = sheet.firstRow();
MaxRow = (int)Math.Min(MaxRow, nudE.Value - 1);
MinRow = (int)Math.Max(MinRow, nudS.Value - 1);
if (MinRow <= (ColumnNameNo - 1))
{
FCOMMON.Util.MsgI("시작줄을 제목줄 보다 커야 합니다. 자동으로 +1 증가합니다.");
MinRow = ColumnNameNo;
}
var MaxCol = sheet.lastCol();
var MinCol = sheet.firstCol();
MaxCol = (int)Math.Min(MaxCol, nudCE.Value - 1);
MinCol = (int)Math.Max(MinCol, nudCS.Value - 1);
//제목줄을 처리한다. 181029
List<string> cols = new List<string>();
//string sDate = sd.Value.ToShortDateString();
//string eDate = ed.Value.ToShortDateString();
for (int c = MinCol; c <= MaxCol; c++)
{
var strVallue = sheet.readStr(ColumnNameNo - 1, c);
if (strVallue.isEmpty())
{
if (c == MinCol)
{
//첫줄 첫행이 빈값이면 처리하지 않는다.
FCOMMON.Util.MsgE("열 제목에 빈값이 있어 처리되지 못합니다.");
return;
}
else
{
//빈값이 나왓으므로 열 최대값을 변경해준다.
if (c < MaxCol)
{
FCOMMON.Util.MsgI("빈값으로 인해 최대 열 번호를 " + c.ToString() + "로 변경합니다");
MaxCol = c;
break;
}
}
}
cols.Add(strVallue);
this.dtExcel.Columns.Add(strVallue);
}
try
{
for (int r = MinRow; r <= MaxRow; r++)
{
DataRow dr = dtExcel.NewRow();
Boolean nullColumn = false;
for (int c = MinCol; c <= MaxCol; c++)
{
var colNo = c - MinCol;
if (sheet.isDate(r, c))
{
var datevalue = sheet.readNum(r, c);
int y, m, d;
y = m = d = 0;
book.dateUnpack(datevalue, ref y, ref m, ref d);
if (y >= 2000)
dr[cols[colNo]] = string.Format("{0:0000}-{1:00}-{2:00}", y, m, d);
else
dr[cols[colNo]] = string.Empty;
//일자가 만약 넘어서면 패스한다.
if (cols[colNo] == "일자")
{
string value = dr[cols[colNo]].ToString();
if (value == "")
{
nullColumn = true; //날짜가 없다면 패스
break;
}
//else if(value.CompareTo(sDate) < 0)
//{
// nullColumn = true; //과거데이터라서 패스
// break;
//} else if(value.CompareTo(eDate) > 0)
//{
// nullColumn = true; //미래데이터 패스
// break;
//}
}
}
else
{
var dateStrin = sheet.readStr(r, c);
var strVallue = sheet.readStr(r, c);
if (strVallue.isEmpty() && c == MinCol)
{
//첫줄 첫행이 빈값이면 처리하지 않는다.
nullColumn = true;
break;
}
if (!cols[colNo].isEmpty())
dr[cols[colNo]] = strVallue;
}
}
if (nullColumn) continue; //줄처리를 못한 경우 넘어감
if (dr != null)
{
dtExcel.Rows.Add(dr);
}
}
dtExcel.AcceptChanges();
}
catch (Exception ex)
{
FCOMMON.Util.MsgE("불러오는 중 오류 발생\n" + ex.Message);
}
//
book = null;
this.bs.DataSource = dtExcel;
this.dataGridView1.DataSource = dtExcel;
this.bn.BindingSource = this.bs;
if (this.bs.Count < 1)
{
FCOMMON.Util.MsgE("입력된 자료가 없습니다.\n\n지정된 엑셀의 1번째 칸에 값이 없다면 입력되지 않습니다.");
}
}
private void button3_Click(object sender, EventArgs e)
{
if (dtExcel == null || dtExcel.Rows.Count < 1)
{
FCOMMON.Util.MsgE("등록 가능한 자료가 없습니다.");
return;
}
if (col_sdate.Value < 1)
{
FCOMMON.Util.MsgE("CR번호/품명/SId는 반드시 입력되어야 합니다.");
return;
}
System.Text.StringBuilder sb = new StringBuilder();
sb.AppendLine("다음 자료를 추가하시겠습니까?");
sb.AppendLine();
sb.AppendLine("'저장 완료' 메세지가 나올때 까지 기다려 주세요.");
sb.AppendLine();
sb.AppendLine("실행 하려면 '예' 를 누르세요");
var dlg = FCOMMON.Util.MsgQ(sb.ToString());
if (dlg != System.Windows.Forms.DialogResult.Yes) return;
dt.Clear();
dt.AcceptChanges();
this.progressBar1.Value = 0;
this.progressBar1.Maximum = dtExcel.Rows.Count;
//12,13
foreach (DataRow dr in dtExcel.Rows)
{
this.progressBar1.Value += 1;
//데이터추가
var newdr = dt.NewEETGW_JobReport_EBoardRow();
if (dr[(int)col_sdate.Value] == DBNull.Value) continue; //nullerror
newdr["wdate"] = dtPdate.Value;//.ToString("yyyy-MM-dd");// "2019-01-01";// dr[0].ToString();
newdr["wuid"] = FCOMMON.info.Login.no;
newdr["gcode"] = FCOMMON.info.Login.gcode;
newdr["import"] = true;
newdr["memo"] = string.Empty;
if (col_site.Value >= 0) newdr["Site"] = dr[(int)col_site.Value].ToString().Trim();
if (col_request.Value >= 0) newdr["요청자"] = dr[(int)col_request.Value].ToString().Trim();
if (col_sdate.Value >= 0) newdr["pdate"] = dr[(int)col_sdate.Value].ToString().Trim();
if (col_edate.Value >= 0) newdr["수리완료일"] = dr[(int)col_edate.Value].ToString().Trim();
if (col_status.Value >= 0) newdr["Status"] = dr[(int)col_status.Value].ToString().Trim();
if (col_div.Value >= 0) newdr["분류"] = dr[(int)col_div.Value].ToString().Trim();
if (col_line.Value >= 0) newdr["Line"] = dr[(int)col_line.Value].ToString().Trim();
if (col_division.Value >= 0) newdr["Division"] = dr[(int)col_division.Value].ToString().Trim();
if (col_team.Value >= 0) newdr["Team"] = dr[(int)col_team.Value].ToString().Trim();
if (col_process.Value >= 0) newdr["Process"] = dr[(int)col_process.Value].ToString().Trim();
if (col_model.Value >= 0) newdr["Model"] = dr[(int)col_model.Value].ToString().Trim();
if (col_boardname.Value >= 0) newdr["BoardName"] = dr[(int)col_boardname.Value].ToString().Trim();
if (col_boardvender.Value >= 0) newdr["BoardVender"] = dr[(int)col_boardvender.Value].ToString().Trim();
if (col_reason.Value >= 0) newdr["원인"] = dr[(int)col_reason.Value].ToString().Trim();
if (col_result.Value >= 0) newdr["결과"] = dr[(int)col_result.Value].ToString().Trim();
if (col_sn.Value >= 0) newdr["SN"] = dr[(int)col_sn.Value].ToString().Trim();
var s_qty = dr[(int)col_qty.Value].ToString().Trim();
var i_qty = 0;
if (s_qty.isEmpty()) s_qty = "0";
int.TryParse(s_qty, out i_qty);
if (col_qty.Value >= 0) newdr["QTY"] = i_qty;// int.Parse(s_qty);
var s_nprice = dr[(int)col_pricen.Value].ToString().Trim();
var f_nprice = 0f;
if (s_nprice.isEmpty()) s_nprice = "0";
float.TryParse(s_nprice, out f_nprice);
if (col_pricen.Value >= 0) newdr["NPrice"] = f_nprice;// float.Parse(s_nprice);
var s_oprice = dr[(int)col_pricen.Value].ToString().Trim();
var f_oprice = 0f;
if (s_oprice.isEmpty()) s_oprice = "0";
float.TryParse(s_oprice, out f_oprice);
if (col_priceo.Value >= 0) newdr["OPrice"] = f_oprice;// float.Parse(s_oprice);
var s_rcost = dr[(int)col_pricerep.Value].ToString().Trim();
if (s_rcost.isEmpty()) s_rcost = "0";
float f_rcost = 0f;
float.TryParse(s_rcost, out f_rcost);
if (col_pricerep.Value >= 0) newdr["RepairCost"] = f_rcost;// float.Parse(s_rcost);
newdr["CostReduction"] = newdr.OPrice - newdr.RepairCost;// (float)(newdr["OPrice"]) - (float)(newdr["RepairCost"]);
if (col_extsou.Value >= 0) newdr["외주업체"] = dr[(int)col_extsou.Value].ToString().Trim();
if (col_repairtime.Value >= 0)
{
var s_rtime = dr[(int)col_repairtime.Value].ToString().Trim();
if (s_rtime.isEmpty()) s_rtime = "0";
newdr["RepairTime"] = float.Parse(s_rtime);
}
if (col_engineer.Value >= 0) newdr["uid"] = dr[(int)col_engineer.Value].ToString().Trim();
dt.Rows.Add(newdr);
}
var taE = new dsPRJTableAdapters.EETGW_JobReport_EBoardTableAdapter();
//과거데이터 삭제
if (checkBox1.Checked) taE.DeleteImport(FCOMMON.info.Login.gcode,
FCOMMON.info.Login.no,
dtPdate.Value.ToShortDateString(),
dtPdate.Value.ToShortDateString());
taE.Update((dsPRJ.EETGW_JobReport_EBoardDataTable)dt);
dt.AcceptChanges();
FCOMMON.Util.MsgI("Save OK");
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
var dlg = FCOMMON.Util.MsgQ("데이터의 SID를 ITEM정보와 확인하여 업데이트 합니다.");
if (dlg != System.Windows.Forms.DialogResult.Yes) return;
var i = FCOMMON.DBM.UpdateItemIndexbySID();
FCOMMON.Util.MsgI(i.ToString() + "건의 자료가 업데이트 되었습니다.");
}
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
}
private void numericUpDown13_ValueChanged(object sender, EventArgs e)
{
}
}
}

View File

@@ -1,191 +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>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="bindingNavigatorAddNewItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E
rkJggg==
</value>
</data>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>83, 17</value>
</metadata>
<data name="bindingNavigatorDeleteItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
</value>
</data>
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
oAc0QjgAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
</value>
</data>
</root>

View File

@@ -1,338 +0,0 @@
namespace FPJ0000.EBoard
{
partial class fEBoardReport
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.bs = new System.Windows.Forms.BindingSource(this.components);
this.ds1 = new FPJ0000.DSEboard();
this.fpSpread1 = new FarPoint.Win.Spread.FpSpread();
this.fpSpread1_Sheet1 = new FarPoint.Win.Spread.SheetView();
this.progressBar2 = new System.Windows.Forms.ProgressBar();
this.btSave = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.dte = new System.Windows.Forms.DateTimePicker();
this.label2 = new System.Windows.Forms.Label();
this.dts = new System.Windows.Forms.DateTimePicker();
this.btRefresh = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.radPdate = new System.Windows.Forms.RadioButton();
this.radEdate = new System.Windows.Forms.RadioButton();
this.radioButton2 = new System.Windows.Forms.RadioButton();
this.radioButton1 = new System.Windows.Forms.RadioButton();
this.button4 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.dsReport = new FPJ0000.dsReport();
this.ta = new FPJ0000.DSEboardTableAdapters.EETGW_JobReport_EBoardTableAdapter();
((System.ComponentModel.ISupportInitialize)(this.bs)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ds1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.fpSpread1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.fpSpread1_Sheet1)).BeginInit();
this.panel1.SuspendLayout();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dsReport)).BeginInit();
this.SuspendLayout();
//
// bs
//
this.bs.DataMember = "EETGW_JobReport_EBoard";
this.bs.DataSource = this.ds1;
//
// ds1
//
this.ds1.DataSetName = "DSEboard";
this.ds1.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
//
// fpSpread1
//
this.fpSpread1.AccessibleDescription = "";
this.fpSpread1.Dock = System.Windows.Forms.DockStyle.Fill;
this.fpSpread1.Location = new System.Drawing.Point(0, 68);
this.fpSpread1.Name = "fpSpread1";
this.fpSpread1.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
this.fpSpread1_Sheet1});
this.fpSpread1.Size = new System.Drawing.Size(1114, 529);
this.fpSpread1.TabIndex = 7;
//
// fpSpread1_Sheet1
//
this.fpSpread1_Sheet1.Reset();
this.fpSpread1_Sheet1.SheetName = "Sheet1";
//
// progressBar2
//
this.progressBar2.Dock = System.Windows.Forms.DockStyle.Bottom;
this.progressBar2.Location = new System.Drawing.Point(0, 597);
this.progressBar2.Name = "progressBar2";
this.progressBar2.Size = new System.Drawing.Size(1114, 23);
this.progressBar2.TabIndex = 8;
//
// btSave
//
this.btSave.Dock = System.Windows.Forms.DockStyle.Right;
this.btSave.Location = new System.Drawing.Point(959, 5);
this.btSave.Name = "btSave";
this.btSave.Size = new System.Drawing.Size(75, 58);
this.btSave.TabIndex = 12;
this.btSave.Text = "파일저장";
this.btSave.UseVisualStyleBackColor = true;
this.btSave.Click += new System.EventHandler(this.btSave_Click);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(171, 42);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(41, 12);
this.label3.TabIndex = 9;
this.label3.Text = "종료일";
//
// dte
//
this.dte.Location = new System.Drawing.Point(222, 38);
this.dte.Name = "dte";
this.dte.Size = new System.Drawing.Size(180, 21);
this.dte.TabIndex = 8;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(171, 15);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 12);
this.label2.TabIndex = 7;
this.label2.Text = "시작일";
//
// dts
//
this.dts.Location = new System.Drawing.Point(222, 11);
this.dts.Name = "dts";
this.dts.Size = new System.Drawing.Size(180, 21);
this.dts.TabIndex = 6;
//
// btRefresh
//
this.btRefresh.Dock = System.Windows.Forms.DockStyle.Right;
this.btRefresh.Location = new System.Drawing.Point(1034, 5);
this.btRefresh.Name = "btRefresh";
this.btRefresh.Size = new System.Drawing.Size(75, 58);
this.btRefresh.TabIndex = 2;
this.btRefresh.Text = "새로고침";
this.btRefresh.UseVisualStyleBackColor = true;
this.btRefresh.Click += new System.EventHandler(this.btRefresh_Click);
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(200)))), ((int)(((byte)(200)))));
this.panel1.Controls.Add(this.groupBox1);
this.panel1.Controls.Add(this.radioButton2);
this.panel1.Controls.Add(this.radioButton1);
this.panel1.Controls.Add(this.button4);
this.panel1.Controls.Add(this.button3);
this.panel1.Controls.Add(this.button2);
this.panel1.Controls.Add(this.button1);
this.panel1.Controls.Add(this.btSave);
this.panel1.Controls.Add(this.label3);
this.panel1.Controls.Add(this.dte);
this.panel1.Controls.Add(this.label2);
this.panel1.Controls.Add(this.dts);
this.panel1.Controls.Add(this.btRefresh);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Padding = new System.Windows.Forms.Padding(5);
this.panel1.Size = new System.Drawing.Size(1114, 68);
this.panel1.TabIndex = 6;
this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.panel1_Paint);
this.panel1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseDoubleClick);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.radPdate);
this.groupBox1.Controls.Add(this.radEdate);
this.groupBox1.Location = new System.Drawing.Point(9, 9);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(152, 48);
this.groupBox1.TabIndex = 19;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "기준일";
//
// radPdate
//
this.radPdate.AutoSize = true;
this.radPdate.Checked = true;
this.radPdate.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radPdate.Location = new System.Drawing.Point(12, 18);
this.radPdate.Name = "radPdate";
this.radPdate.Size = new System.Drawing.Size(61, 19);
this.radPdate.TabIndex = 18;
this.radPdate.TabStop = true;
this.radPdate.Text = "입고일";
this.radPdate.UseVisualStyleBackColor = true;
//
// radEdate
//
this.radEdate.AutoSize = true;
this.radEdate.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radEdate.Location = new System.Drawing.Point(81, 18);
this.radEdate.Name = "radEdate";
this.radEdate.Size = new System.Drawing.Size(61, 19);
this.radEdate.TabIndex = 18;
this.radEdate.Text = "완료일";
this.radEdate.UseVisualStyleBackColor = true;
//
// radioButton2
//
this.radioButton2.AutoSize = true;
this.radioButton2.Font = new System.Drawing.Font("Consolas", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.radioButton2.Location = new System.Drawing.Point(625, 36);
this.radioButton2.Name = "radioButton2";
this.radioButton2.Size = new System.Drawing.Size(128, 26);
this.radioButton2.TabIndex = 17;
this.radioButton2.Text = "Capability";
this.radioButton2.UseVisualStyleBackColor = true;
//
// radioButton1
//
this.radioButton1.AutoSize = true;
this.radioButton1.Checked = true;
this.radioButton1.Font = new System.Drawing.Font("Consolas", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.radioButton1.Location = new System.Drawing.Point(625, 9);
this.radioButton1.Name = "radioButton1";
this.radioButton1.Size = new System.Drawing.Size(208, 26);
this.radioButton1.TabIndex = 16;
this.radioButton1.TabStop = true;
this.radioButton1.Text = "Performance Report";
this.radioButton1.UseVisualStyleBackColor = true;
//
// button4
//
this.button4.Location = new System.Drawing.Point(559, 10);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(48, 49);
this.button4.TabIndex = 15;
this.button4.Text = "일";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button3_Click);
//
// button3
//
this.button3.Location = new System.Drawing.Point(406, 10);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(48, 49);
this.button3.TabIndex = 14;
this.button3.Text = "년";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(508, 10);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(48, 49);
this.button2.TabIndex = 13;
this.button2.Text = "주";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button3_Click);
//
// button1
//
this.button1.Location = new System.Drawing.Point(457, 10);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(48, 49);
this.button1.TabIndex = 13;
this.button1.Text = "월";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button3_Click);
//
// dsReport
//
this.dsReport.DataSetName = "dsReport";
this.dsReport.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
//
// ta
//
this.ta.ClearBeforeFill = true;
//
// fEBoardReport
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1114, 620);
this.Controls.Add(this.fpSpread1);
this.Controls.Add(this.progressBar2);
this.Controls.Add(this.panel1);
this.Name = "fEBoardReport";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "전자실 Report";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.Load += new System.EventHandler(this.fEBoardReport_Load);
((System.ComponentModel.ISupportInitialize)(this.bs)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ds1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.fpSpread1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.fpSpread1_Sheet1)).EndInit();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dsReport)).EndInit();
this.ResumeLayout(false);
}
#endregion
private FarPoint.Win.Spread.FpSpread fpSpread1;
private FarPoint.Win.Spread.SheetView fpSpread1_Sheet1;
private System.Windows.Forms.ProgressBar progressBar2;
private System.Windows.Forms.Button btSave;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.DateTimePicker dte;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.DateTimePicker dts;
private System.Windows.Forms.Button btRefresh;
private System.Windows.Forms.Panel panel1;
private dsReport dsReport;
private System.Windows.Forms.BindingSource bs;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.RadioButton radioButton1;
private System.Windows.Forms.RadioButton radioButton2;
private System.Windows.Forms.RadioButton radEdate;
private System.Windows.Forms.RadioButton radPdate;
private System.Windows.Forms.GroupBox groupBox1;
private DSEboard ds1;
private DSEboardTableAdapters.EETGW_JobReport_EBoardTableAdapter ta;
}
}

View File

@@ -1,439 +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.EBoard
{
public partial class fEBoardReport : fBase
{
public fEBoardReport()
{
InitializeComponent();
}
private void fEBoardReport_Load(object sender, EventArgs e)
{
EnsureVisibleAndUsableSize();
this.Show();
Application.DoEvents();
//파일불러오기
//LoadExcel();
this.fpSpread1.ActiveSheet.RowCount = 0;
//this.rv1.RefreshReport();
}
string Loadexcel = string.Empty;
void LoadExcel()
{
//파일불러오기
if (radioButton1.Checked)
{
var fi = new System.IO.FileInfo(FCOMMON.Util.CurrentPath + "EBoardReport.xlsx");
if (this.Loadexcel != fi.FullName)
{
this.fpSpread1.OpenExcel(fi.FullName);
this.Loadexcel = fi.FullName;
}
}
else
{
var fi = new System.IO.FileInfo(FCOMMON.Util.CurrentPath + "EBoardReportCapa.xlsx");
if (this.Loadexcel != fi.FullName)
{
this.fpSpread1.OpenExcel(fi.FullName);
this.Loadexcel = fi.FullName;
}
}
}
private void btRefresh_Click(object sender, EventArgs e)
{
RefreshData();
}
void RefreshData()
{
LoadExcel();
if (radioButton1.Checked) Refresh1();
else Refresh2();
this.fpSpread1.Invalidate();
}
void Refresh1()
{
//var sql = "select * from eetgw_jobreport_eboard where gcode=@gcode and pdate between @sd and @ed";
//var cmd = new System.Data.SqlClient.SqlCommand(sql, this.ta.Connection);
//cmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode;
//cmd.Parameters.Add("sd", SqlDbType.VarChar).Value = dts.Value.ToShortDateString();
//cmd.Parameters.Add("ed", SqlDbType.VarChar).Value = dte.Value.ToShortDateString();
//var da = new System.Data.SqlClient.SqlDataAdapter(cmd);
//ds1.EETGW_JobReport_EBoard.Clear();
//da.Fill(this.ds1.EETGW_JobReport_EBoard);
//ds1.EETGW_JobReport_EBoard.AcceptChanges();
//this.rv1.RefreshReport();
//새로고침
//a2 에 날짜를 표시함.
var db = new DSEboardTableAdapters.EETGW_JobReport_EBoardTableAdapter();
var sd = this.dts.Value.ToShortDateString();
var ed = this.dte.Value.ToShortDateString();
var = db.GetBunruList(FCOMMON.info.Login.gcode);//.Where(t => string.IsNullOrEmpty(t.분류) == false).OrderBy(t => t.분류).GroupBy(t => t.분류).ToList();
DSEboard.EETGW_JobReport_EBoardDataTable ;
if (radPdate.Checked)
= db.GetByPdate(FCOMMON.info.Login.gcode, sd, ed);//.EETGW_JobReport_EBoard.Where(t => t.pdate.CompareTo(sd) >= 0 && t.pdate.CompareTo(ed) <= 0);
else
= db.GetByCompleteDate(FCOMMON.info.Login.gcode, sd, ed);//.EETGW_JobReport_EBoard.Where(t => t.수리완료일.CompareTo(sd) >= 0 && t.수리완료일.CompareTo(ed) <= 0);
var dbUser = new DSEboardTableAdapters.vGroupUserTableAdapter();//.user EEEntities();
var raw = dbUser.GetNullStateData(FCOMMON.info.Login.gcode, "전자실");// --t => t.gcode == FCOMMON.info.Login.gcode && t.processs == "전자실" && string.IsNullOrEmpty(t.state) == true).ToList();
var = raw.GroupBy(t => t.name).ToList();
var row = 1;
var col = 1;
var col0 = 1;
foreach (var dr in )
{
//var dr = item.FirstOrDefault();
var cell = this.fpSpread1.Sheets[0].Cells[row, col + 0];
cell.Value = dr.;
cell.ColumnSpan = 2;
cell.BackColor = Color.SkyBlue;
cell.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
cell.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
cell = this.fpSpread1.Sheets[0].Cells[row + 1, col + 0];
cell.Value = "건";
cell.BackColor = Color.Khaki;
cell.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
cell.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
cell = this.fpSpread1.Sheets[0].Cells[row + 1, col + 1];
cell.Value = "시간";
cell.BackColor = Color.Khaki;
cell.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
cell.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
col += 2;
col0 += 1;
}
//마지막 열에는 비용절감항목을 추가한다.
fpSpread1.Sheets[0].Cells[1, col].Value = "비용절감";
fpSpread1.Sheets[0].Cells[1, col].BackColor = Color.WhiteSmoke;
fpSpread1.Sheets[0].Cells[1, col].RowSpan = 2;
fpSpread1.Sheets[0].Cells[1, col].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
fpSpread1.Sheets[0].Cells[1, col].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
var MaxCol = col0;
col = 0;
row = 3;
foreach (var item in )
{
//var dr = item.KeY;
this.fpSpread1.Sheets[0].Cells[row, col].Value = item.Key;
var fistdr = item.FirstOrDefault();
//var userdr = db.Users.Where(t => t.id == fistdr.id).FirstOrDefault();
if (fistdr.outdate.isEmpty() == false && fistdr.outdate.CompareTo(sd) <= 0)
{
//퇴사자 처리
continue;
}
//if (item.Key == "이상호") continue;
//이 담당자의 횟수를 읽어온다
for (int i = 1; i < MaxCol; i++)
{
var = fpSpread1.Sheets[0].Cells[1, 1 + (i - 1) * 2].Value.ToString();
var = .Where(t => t.uid.Contains(item.Key) && t. == );
var = .Sum(t => t.QTY);
var = .Sum(t => t.RepairTime);
this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 1].Value = ;
this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 2].Value = ;
this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 2].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 2].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 1].Column.Width = 50;
this.fpSpread1.Sheets[0].Cells[row, (i - 1) * 2 + 2].Column.Width = 70;
}
//이 담당자의 수리완료건의 비용절감비용을 가져온다
var = .Where(t => t.uid.Contains(item.Key) && t. == "수리완료" && string.IsNullOrEmpty(t.) == false && string.IsNullOrEmpty(t.) == true).Sum(t => t.CostReduction);
this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].Value = ;
this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].BackColor = Color.WhiteSmoke;
this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
row += 1;
}
this.fpSpread1.Sheets[0].Cells[row, 0].Value = "합계";
for (int i = 1; i < MaxCol; i++)
{
var colIdx = (i - 1) * 2;
var c1 = (char)(65 + colIdx + 1);
var c2 = (char)(65 + colIdx + 2);
this.fpSpread1.Sheets[0].Cells[row, colIdx + 1].Formula = $"SUM({c1}4:{c1}" + row.ToString() + ")";
this.fpSpread1.Sheets[0].Cells[row, colIdx + 2].Formula = $"SUM({c2}4:{c2}" + row.ToString() + ")";
}
var c3 = (char)(65 + MaxCol * 2 - 1);
this.fpSpread1.Sheets[0].Cells[row, (MaxCol) * 2 - 1].Formula = $"SUM({c3}4:{c3}" + row.ToString() + ")";
this.fpSpread1.Sheets[0].Cells["A1"].Value = "Performance";
this.fpSpread1.Sheets[0].Cells["A1"].ColumnSpan = MaxCol * 2;
this.fpSpread1.Sheets[0].Cells["A2"].Value = "성명";
this.fpSpread1.Sheets[0].Cells["A2"].RowSpan = 2;
this.fpSpread1.Sheets[0].Cells[$"A2:A{row}"].BackColor = Color.WhiteSmoke;
//합계필드 색상변경
this.fpSpread1.Sheets[0].Cells[$"A{row + 1}:{c3}{row + 1}"].BackColor = Color.WhiteSmoke;
//this.fpSpread1.Sheets[0].Cells[$"A{row + 1}:{c3}{row + 1}"].Border =
// new FarPoint.Win.ComplexBorder(
// new FarPoint.Win.ComplexBorderSide(FarPoint.Win.ComplexBorderSideStyle.MediumLine));
var = (char)(65 + ((MaxCol) * 2 - 1));// "T";
//차트데이터
var chart1 = this.fpSpread1.ActiveSheet.Charts[0];
chart1.Model.LabelAreas[0].Text = "Technical Support Q'ty & Cost Save(Kwon)"; //상단차트제목
var ser1 = chart1.Model.PlotAreas[0].Series[0] as FarPoint.Win.Chart.ClusteredBarSeries;
var ser1_df = ser1.Series[0].Values.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField;
var ser1_cn = ser1.Series[0].CategoryNames.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField;
ser1_df.Formula = $"Performance!${비용절감줄}$4:${비용절감줄}${row}";
ser1_cn.Formula = $"Performance!$A$4:$A${row}";
var ser2 = chart1.Model.PlotAreas[0].Series[1] as FarPoint.Win.Chart.LineSeries;
var ser2_df = ser2.Values.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField;
var ser2_cn = ser2.CategoryNames.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField;
ser2_df.Formula = $"Performance!$D$4:$D${row}";
ser2_cn.Formula = $"Performance!$A$4:$A${row}";
var chart2 = this.fpSpread1.ActiveSheet.Charts[1]; //qty
var ser21 = chart2.Model.PlotAreas[0].Series[0] as FarPoint.Win.Chart.PieSeries;
var ser21_df = ser21.Values.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField;
var ser21_cn = ser21.CategoryNames.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField;
ser21_df.Formula = $"Performance!$D$4:$D${row}";
ser21_cn.Formula = $"Performance!$A$4:$A${row}";
var chart3 = this.fpSpread1.ActiveSheet.Charts[2]; //cost
var ser31 = chart3.Model.PlotAreas[0].Series[0] as FarPoint.Win.Chart.PieSeries;
var ser31_df = ser31.Values.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField;
var ser31_cn = ser31.CategoryNames.DataSource as FarPoint.Win.Spread.Chart.SeriesDataField;
ser31_df.Formula = $"Performance!${비용절감줄}$4:${비용절감줄}${row}";
ser31_cn.Formula = $"Performance!$A$4:$A${row}";
}
void Refresh2()
{
//Process / Equipment / BordName 으로 그룹핑
//a2 에 날짜를 표시함.
this.progressBar2.Value = 0;
var db = new DSEboardTableAdapters.EETGW_JobReport_EBoardTableAdapter();
var sd = this.dts.Value.ToShortDateString();
var ed = this.dte.Value.ToShortDateString();
var fi = new System.IO.FileInfo(FCOMMON.Util.CurrentPath + "EBoardReportCapa.xlsx");
this.fpSpread1.OpenExcel(fi.FullName);
this.Loadexcel = fi.FullName;
DSEboard.EETGW_JobReport_EBoardDataTable ;
if (radPdate.Checked)
= db.GetByPdate(FCOMMON.info.Login.gcode, sd, ed);//.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.pdate.CompareTo(sd) >= 0 && t.pdate.CompareTo(ed) <= 0);
else
= db.GetByCompleteDate(FCOMMON.info.Login.gcode, sd, ed);//.EETGW_JobReport_EBoard.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.수리완료일.CompareTo(sd) >= 0 && t.수리완료일.CompareTo(ed) <= 0);
var Grp_process = .GroupBy(t => t.Process);
this.fpSpread1.Sheets[0].ColumnCount = 5;
var row = 3;
this.progressBar2.Maximum = Grp_process.Count();
foreach (var item in Grp_process)
{
this.progressBar2.Value += 1;
//포맷초기화
//var rangec = this.fpSpread1.Sheets[0].Cells[$"A{row}:D{row}"];
//rangec.BackColor = Color.White;
//rangec.RowSpan = 1;
//rangec.ColumnSpan = 1;
//rangec.HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center;
//rangec.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center;
var dr = item.FirstOrDefault();
var cell = this.fpSpread1.Sheets[0].Cells[$"A{row}"];
cell.Value = dr.Process;
//cell.BackColor = Color.Lime;
var row_grp = row;
//이것아래의 모델그룹을 찾는다.
var grp_model = item.GroupBy(t => t.Model);
var cntg1 = 0;
foreach (var itemModel in grp_model)
{
var drModel = itemModel.FirstOrDefault();
var cellModel = this.fpSpread1.Sheets[0].Cells[$"B{row}"];
cellModel.Value = drModel.Model;
cellModel.BackColor = Color.White;
var row_mod = row;
if (cntg1 > 0)
{
this.fpSpread1.Sheets[0].Cells[$"A{row}"].Value = string.Empty;
}
//이것아래의 보드를 찾는다.
var grp_brd = itemModel.GroupBy(t => t.BoardName);
var cntg2 = 0;
foreach (var itemBrd in grp_brd)
{
var drBrd = itemBrd.FirstOrDefault();
var cellBrd = this.fpSpread1.Sheets[0].Cells[$"C{row}"];
cellBrd.Value = drBrd.BoardName;
cellBrd.BackColor = Color.White;
if (cntg2 > 0)
{
this.fpSpread1.Sheets[0].Cells[$"A{row}"].Value = string.Empty;
this.fpSpread1.Sheets[0].Cells[$"B{row}"].Value = string.Empty;
}
//합계수량
var sumQty = itemBrd.Sum(t => t.QTY);
var sumAmt = itemBrd.Sum(t => t.CostReduction);
var cellQty = this.fpSpread1.Sheets[0].Cells[$"D{row}"];
var cellAmt = this.fpSpread1.Sheets[0].Cells[$"E{row}"];
cellQty.Value = sumQty;
cellAmt.Value = sumAmt;
cntg2 += 1;
cntg1 += 1;
if (grp_brd.Count() > 1)
row += 1;
}
//소계를 추가한다.
if (cntg2 > 1)
{
this.fpSpread1.Sheets[0].Cells[$"A{row}"].Value = string.Empty;
this.fpSpread1.Sheets[0].Cells[$"B{row}"].Value = string.Empty;
this.fpSpread1.Sheets[0].Cells[$"C{row}"].Value = $"({drModel.Model}) Sub Total";
this.fpSpread1.Sheets[0].Cells[$"C{row}"].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
this.fpSpread1.Sheets[0].Cells[$"D{row}"].Value = itemModel.Sum(t => t.QTY);
this.fpSpread1.Sheets[0].Cells[$"E{row}"].Value = itemModel.Sum(t => t.CostReduction);
this.fpSpread1.Sheets[0].Cells[$"C{row}:E{row}"].BackColor = Color.FromArgb(200, 200, 200);
this.fpSpread1.Sheets[0].Cells[$"B{row_mod}"].RowSpan = row - row_mod + 1;
}
//cntg1 += cntg2;
if ((grp_model.Count() + grp_brd.Count()) > 2)
row += 1;
}
if (cntg1 > 1)
{
this.fpSpread1.Sheets[0].Cells[$"A{row}"].Value = string.Empty;
this.fpSpread1.Sheets[0].Cells[$"B{row}"].Value = $"({dr.Process}) Sub Total";
this.fpSpread1.Sheets[0].Cells[$"B{row}"].HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left;
this.fpSpread1.Sheets[0].Cells[$"B{row}"].ColumnSpan = 2;
//this.fpSpread1.Sheets[0].Cells[$"C{row}"].Value = string.Empty;// item.Count();
this.fpSpread1.Sheets[0].Cells[$"D{row}"].Value = item.Sum(t => t.QTY);
this.fpSpread1.Sheets[0].Cells[$"E{row}"].Value = item.Sum(t => t.CostReduction);
this.fpSpread1.Sheets[0].Cells[$"B{row}:E{row}"].BackColor = Color.FromArgb(150, 150, 150);
this.fpSpread1.Sheets[0].Cells[$"A{row_grp}"].RowSpan = row - row_grp + 1;
}
row += 1;
}
this.fpSpread1.Sheets[0].Cells[$"A{row}"].Value = "Total";
this.fpSpread1.Sheets[0].Cells[$"B{row}"].Value = string.Empty;// $"({dr.Process})-{cntg1}";
this.fpSpread1.Sheets[0].Cells[$"C{row}"].Value = string.Empty;// item.Count();
this.fpSpread1.Sheets[0].Cells[$"D{row}"].Value = .Sum(t => t.QTY);
this.fpSpread1.Sheets[0].Cells[$"E{row}"].Value = .Sum(t => t.CostReduction);
this.fpSpread1.Sheets[0].Cells[$"A{row}:E{row}"].BackColor = Color.SkyBlue;
this.fpSpread1.Sheets[0].RowCount = row;
this.progressBar2.Value = this.progressBar2.Maximum;
}
private void btSave_Click(object sender, EventArgs e)
{
//파일저장
var sd = new SaveFileDialog();
sd.Filter = "excel|*.xls";
if (sd.ShowDialog() == DialogResult.OK)
{
this.fpSpread1.SaveExcel(sd.FileName);
}
}
private void panel1_MouseDoubleClick(object sender, MouseEventArgs e)
{
LoadExcel();
}
private void button3_Click(object sender, EventArgs e)
{
var bt = sender as Button;
if (bt.Text == "년")
{
dts.Value = new DateTime(DateTime.Now.Year, 1, 1);
dte.Value = new DateTime(DateTime.Now.Year, 12, 31);
}
if (bt.Text == "월")
{
dts.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
dte.Value = dts.Value.AddMonths(1).AddDays(-1);
}
if (bt.Text == "주")
{
dts.Value = DateTime.Now.AddDays(-(int)DateTime.Now.DayOfWeek);
dte.Value = DateTime.Now.AddDays(6 - (int)DateTime.Now.DayOfWeek);
}
if (bt.Text == "일")
{
dts.Value = DateTime.Now;
dte.Value = DateTime.Now;
}
RefreshData();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
}
}
}

View File

@@ -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="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>271, 17</value>
</metadata>
<metadata name="ds1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>335, 17</value>
</metadata>
<metadata name="fpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="dsReport.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>169, 17</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>406, 17</value>
</metadata>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -1,319 +0,0 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Windows.Forms;
using System.Threading.Tasks;
namespace FPJ0000
{
public partial class fEboardData : FCOMMON.fBase
{
dsPRJ.EETGW_JobReport_EBoardRow dr = null;
public fEboardData(dsPRJ.EETGW_JobReport_EBoardRow dr_)
{
InitializeComponent();
this.UseFormSetting = false;
this.dr = dr_;
this.dsPRJ.ProjectsHistory.TableNewRow += ProjectsHistory_TableNewRow;
}
void ProjectsHistory_TableNewRow(object sender, DataTableNewRowEventArgs e)
{
}
delegate void SetComboboxItemsHandler(ComboBox ctl, string[] list);
void SetComboboxItems(ComboBox ctl, string[] list)
{
//콤보박스의 아이템을 업데이트합니다.
if (ctl.InvokeRequired)
{
this.BeginInvoke(new SetComboboxItemsHandler(SetComboboxItems), new object[] { ctl, list });
return;
}
ctl.Items.Clear();
ctl.Items.AddRange(list);
ctl.Enabled = true;
}
private void fProjectData_Load(object sender, EventArgs e)
{
//EnsureVisibleAndUsableSize();
//var db = new EEEntities();
////자동완성목록 업데이트
//Task.Run(new Action(() =>
//{
// //UID목록
// var lst_uid = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.uid) == false).OrderBy(t => t.uid).GroupBy(t => t.uid).Select(t => t.FirstOrDefault());
// SetComboboxItems(cmbUID, lst_uid.Select(t => t.uid).ToArray());
// //요청자
// var lst_req = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.요청자) == false).OrderBy(t => t.요청자).GroupBy(t => t.요청자).Select(t => t.FirstOrDefault());
// SetComboboxItems(cmb요청자, lst_req.Select(t => t.요청자).ToArray());
// //모델
// var lst_mod = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Model) == false).OrderBy(t => t.Model).GroupBy(t => t.Model).Select(t => t.FirstOrDefault());
// SetComboboxItems(cmbModel, lst_mod.Select(t => t.Model).ToArray());
// cmbModel.Enabled = true;
// //BoardName
// var lst_bon = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.BoardName) == false).OrderBy(t => t.BoardName).GroupBy(t => t.BoardName).Select(t => t.FirstOrDefault());
// SetComboboxItems(cmbBoardName, lst_bon.Select(t => t.BoardName).ToArray());
// cmbBoardName.Enabled = true;
// //BoardVender
// var lst_bvn = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.BoardVender) == false).OrderBy(t => t.BoardVender).GroupBy(t => t.BoardVender).Select(t => t.FirstOrDefault());
// SetComboboxItems(cmbBoardVender, lst_bvn.Select(t => t.BoardVender).ToArray());
// //SN
// var lst_srn = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.SN) == false).OrderBy(t => t.SN).GroupBy(t => t.SN).Select(t => t.FirstOrDefault());
// SetComboboxItems(cmbSN, lst_srn.Select(t => t.SN).ToArray());
// ////status
// //var lst_sta = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Status) == false).OrderBy(t => t.Status).GroupBy(t => t.Status).Select(t => t.FirstOrDefault());
// //SetComboboxItems(cmbStatus,lst_sta.Select(t => t.Status).ToArray());
// //분류
// var lst_cat = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.분류) == false).OrderBy(t => t.분류).GroupBy(t => t.분류).Select(t => t.FirstOrDefault());
// SetComboboxItems(cmb분류, lst_cat.Select(t => t.분류).ToArray());
// //Site
// var lst_sit = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Site) == false).OrderBy(t => t.Site).GroupBy(t => t.Site).Select(t => t.FirstOrDefault());
// SetComboboxItems(cmbSite, lst_sit.Select(t => t.Site).ToArray());
// //Line
// var lst_lin = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Line) == false).OrderBy(t => t.Line).GroupBy(t => t.Line).Select(t => t.FirstOrDefault());
// SetComboboxItems(cmbLine, lst_lin.Select(t => t.Line).ToArray());
// //division
// var lst_div = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Division) == false).OrderBy(t => t.Division).GroupBy(t => t.Division).Select(t => t.FirstOrDefault());
// SetComboboxItems(cmbDivision, lst_div.Select(t => t.Division).ToArray());
// ////Team
// //var lst_tem = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Team) == false).OrderBy(t => t.Team).GroupBy(t => t.Team).Select(t => t.FirstOrDefault());
// //SetComboboxItems(cmbTeam,lst_tem.Select(t => t.Team).ToArray());
// //Process
// var lst_prc = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.Process) == false).OrderBy(t => t.Process).GroupBy(t => t.Process).Select(t => t.FirstOrDefault());
// SetComboboxItems(cmbProcess, lst_prc.Select(t => t.Process).ToArray());
// cmbProcess.Enabled = true;
// //외주업체
// var lst_ext = db.EETGW_JobReport_EBoard.Where(t => string.IsNullOrEmpty(t.외주업체) == false).OrderBy(t => t.외주업체).GroupBy(t => t.외주업체).Select(t => t.FirstOrDefault());
// SetComboboxItems(cmb외주업체, lst_ext.Select(t => t.외주업체).ToArray());
//}));
/////원인
//if (string.IsNullOrEmpty(dr.원인2))
//{
// this.richTextBoxEx1.Text = dr.원인;
//}
//else
//{
// try
// {
// this.richTextBoxEx1.Rtf = dr.원인2;
// }
// catch
// {
// this.richTextBoxEx1.Text = dr.원인;
// }
//}
/////결과
//if (string.IsNullOrEmpty(dr.결과2))
//{
// this.richTextBoxEx2.Text = dr.결과;
//}
//else
//{
// try
// {
// this.richTextBoxEx2.Rtf = dr.결과2;
// }
// catch
// {
// this.richTextBoxEx2.Text = dr.결과;
// }
//}
//this.checkBox1.Checked = dr.refdata;
//this.tbSdate.Text = dr.pdate;
//this.tbEdate.Text = dr.수리완료일;
//this.tbQty.Text = dr.QTY.ToString();
//this.tbCostNew.Text = dr.NPrice.ToString();
//this.tbCostOutSource.Text = dr.OPrice.ToString();
//this.tbCostRepair.Text = dr.RepairCost.ToString();
//this.tbCostReduct.Text = dr.CostReduction.ToString();
//this.bs.DataSource = dr;
}
private void btSave_Click(object sender, EventArgs e)
{
this.Validate();
this.bs.EndEdit();
var s1 = tbCostOutSource.Text.Trim();
var s2 = tbCostRepair.Text.Trim();
float v1;
float v2;
var b1 = float.TryParse(s1, out v1);
var b2 = float.TryParse(s2, out v2);
if (b1 == false)
{
FCOMMON.Util.MsgE("입력값이 올바르지 않습니다. 숫자로 입력하세요");
tbCostOutSource.SelectAll();
tbCostOutSource.Focus();
return;
}
if (b2 == false)
{
FCOMMON.Util.MsgE("입력값이 올바르지 않습니다. 숫자로 입력하세요");
tbCostRepair.SelectAll();
tbCostRepair.Focus();
return;
}
if (tbSdate.Text.isEmpty() == false)
{
if (tbSdate.Text.isDate() == false)
{
FCOMMON.Util.MsgE("날짜형태로 입력하세요\n\n예) 2000-01-01");
tbSdate.SelectAll();
tbSdate.Focus();
return;
}
}
if (tbEdate.Text.isEmpty() == false)
{
if (tbEdate.Text.isDate() == false)
{
FCOMMON.Util.MsgE("날짜형태로 입력하세요\n\n예) 2000-01-01");
tbEdate.SelectAll();
tbEdate.Focus();
return;
}
}
this.dr. = richTextBoxEx1.Text;
this.dr.2 = richTextBoxEx1.Rtf;
this.dr. = richTextBoxEx2.Text;
this.dr.2 = richTextBoxEx2.Rtf;
this.dr.refdata = this.checkBox1.Checked;
this.dr.pdate = tbSdate.Text.Trim();
this.dr. = tbEdate.Text.Trim();
this.dr.QTY = tbQty.Text.ToInt();
this.dr.NPrice = tbCostNew.Text.ToDecimal();
this.dr.OPrice = tbCostOutSource.Text.ToDecimal();
this.dr.RepairCost = tbCostRepair.Text.ToDecimal();
this.dr.CostReduction = tbCostReduct.Text.ToDecimal();
this.dr.EndEdit();
this.DialogResult = System.Windows.Forms.DialogResult.OK;
this.Close();
//this.tableAdapterManager.UpdateAll(this.dsPRJ);
}
void SelectDate(TextBox ctl)
{
DateTime dt;
var dateStr = ctl.Text.Trim();
if (dateStr == "") dateStr = DateTime.Now.ToShortDateString();
else
{
if (DateTime.TryParse(dateStr, out dt)) dateStr = dt.ToShortDateString();
else
{
FCOMMON.Util.MsgE("날짜 형식으로 변환할 수 없는 문자열 입니다.\n" +
"기준일자가 금일로 변경 됩니다");
dateStr = DateTime.Now.ToShortDateString();
}
}
dt = DateTime.Parse(dateStr);
var f = new FCOMMON.fSelectDay(dt);
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
ctl.Text = f.dtPick.SelectionStart.ToShortDateString();
}
}
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
SelectDate(tbSdate);
}
private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
SelectDate(tbEdate);
//if (edateTextBox.Text.isEmpty() == false)
// cmbStatus.Text = "완료";
}
private void bs_CurrentChanged(object sender, EventArgs e)
{
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
}
private void tbQty_TextChanged(object sender, EventArgs e)
{
//수량변경시 금액 업데이트
var qty = tbQty.Text.ToInt();
var nAmt = tbCostNew.Text.ToDouble();
var oAmt = (nAmt * qty) * 0.5f;
var rAmt = tbCostRepair.Text.ToDouble();
var reduction = oAmt - rAmt;
this.tbCostOutSource.Text = oAmt.ToString();
//this.tbCostReduct.Text = reduction.ToString();
}
private void costnTextBox_TextChanged(object sender, EventArgs e)
{
//Out source 가 변경되면
var oAmt = tbCostOutSource.Text.ToDouble();
var rAmt = tbCostRepair.Text.ToDouble();
var reduction = oAmt - rAmt;
tbCostReduct.Text = reduction.ToString();
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
if (dr != null && (dr.RowState == DataRowState.Modified || dr.RowState == DataRowState.Unchanged))
{
Util.openEboarditemPath(dr.idx);
}
else FCOMMON.Util.MsgE("자료가 저장되기 전에는 폴더를 확인할 수 없습니다.\r\n자료를 저장한 후 다시 시도하세요");
}
}
}

View File

@@ -1,266 +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="costoLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="costnLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="costeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="cntLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="uidLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="siteLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="lineLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="divisionLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="processLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="modelLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="boardNameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="sNLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="외주업체Label.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="요청자Label.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="분류Label.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="repairTimeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="bn.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>164, 17</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>100, 17</value>
</metadata>
<metadata name="dsPRJ.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
</value>
</data>
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
oAc0QjgAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
</value>
</data>
<data name="btSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="dsPRJ.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>230, 17</value>
</metadata>
<metadata name="tableAdapterManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>292, 17</value>
</metadata>
<metadata name="tableAdapterManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
</metadata>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -1,661 +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 fEboardList : FCOMMON.fBase
{
string fn_fpcolsize = "";
public fEboardList()
{
InitializeComponent();
fn_fpcolsize = util.MakeFilePath(util.CurrentPath, "formSetting", "fp_" + this.Name + ".ini");
this.dsMSSQL.Projects.TableNewRow += Projects_TableNewRow;
this.FormClosed += __Closed;
this.fpSpread1.KeyDown += FpSpread1_KeyDown;
}
private void FpSpread1_KeyDown(object sender, KeyEventArgs e)
{
var cell = this.fpSpread1.ActiveSheet.ActiveCell;
if (cell == null) return;
var colIndex = cell.Column.Index;
var rowIndex = cell.Row.Index;
if (e.KeyCode == Keys.L && e.Alt)
{
}
}
void __Closed(object sender, FormClosedEventArgs e)
{
}
private void __Load(object sender, EventArgs e)
{
EnsureVisibleAndUsableSize();
this.tbRequest.Text = FCOMMON.info.Login.nameK;
//this.cmbSort.SelectedIndex = 0;
this.cmbYearS.Items.Clear();
this.cmbYearE.Items.Clear();
for (int i = 2010; i <= DateTime.Now.Year; i++)
{
cmbYearS.Items.Add(i.ToString("0000") + "-01-01");
cmbYearE.Items.Add(i.ToString("0000") + "-01-01");
}
this.cmbYearS.Text = DateTime.Now.Year.ToString("0000") + "-01-01";
this.cmbYearE.Text = DateTime.Now.Year.ToString("0000") + "-12-31";
refreshData();
//일반사용자의경우에는 상태를 변경하지 못한다.
//int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.project));
//if (curLevel >= 5)
//{
// btSave.Visible = true;
//}
//else
//{
// btSave.Visible = false; //목록에서 저장버튼은 제거한다.
// //btViewDel.Visible = false;
// //fpSpread1.EditMode = false;
// //fpSpread1.Sheets[0].SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row;
// //fpSpread1.EditModePermanent = false;
// //fpSpread1.EditModeReplace = false;
// //foreach (FarPoint.Win.Spread.Column col in fpSpread1.ActiveSheet.Columns)
// // col.Locked = true;
//}
}
void refreshData()
{
//수리지연추가 210208 - 장은철
if (this.dsMSSQL.EETGW_JobReport_EBoard.GetChanges() != null)
{
var dlg = util.MsgQ("변경된 내용이 있습니다. 지금 새로고침 하면 해당 자료는 손실 됩니다. 진행 할까요?");
if (dlg != DialogResult.Yes) return;
}
//string state = "[status] like '" + cmbStat.Text + "'"; //아무것도 선택안하면 진행을 선택해준다.
string State_Select = " SELECT * FROM EETGW_JobReport_EBoard";
string State_where = " WHERE gcode=@gcode and pdate between ";
State_where += "'" + cmbYearS.Text + "' and '" + cmbYearE.Text + "' AND (ISNULL(uid, '')) LIKE @username ";
if (chkDelay.Checked)
{
var = DateTime.Now.AddDays(-int.Parse(tbSd.Text)); //일반기간
var 2 = DateTime.Now.AddDays(-int.Parse(tbSD2.Text)); //외주기간
State_where += string.Format("and isnull(수리완료일,'') = '' and ((isnull(분류,'') like '%외주%' and pdate <= '{0}') or (isnull(분류,'') not like '%외주%' and pdate <= '{1}'))", 2.ToShortDateString(), .ToShortDateString());
tbSd.BackColor = Color.Gold;
tbSD2.BackColor = Color.Gold;
}
else
{
tbSd.BackColor = Color.WhiteSmoke;
tbSD2.BackColor = Color.WhiteSmoke;
}
//if (cmbCate.SelectedIndex > 0) State_where += " AND isnull(분류,'') = '" + cmbCate.Text + "'";
//if (cmbProcess.SelectedIndex > 0) State_where += " and isnull(Process,'') = '" + cmbProcess.Text.Trim() + "'";
string State_order = " ORDER BY pdate desc,uid";
string request = "%";
if (tbRequest.Text.Trim() != "") request = "%" + this.tbRequest.Text.Trim() + "%";
System.Data.SqlClient.SqlCommand selCmd = new System.Data.SqlClient.SqlCommand();
selCmd.Connection = ta.Connection;
selCmd.CommandText = State_Select + State_where + State_order;
selCmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode;
selCmd.Parameters.Add("username", SqlDbType.VarChar);
selCmd.Parameters["username"].Value = request;
System.Data.SqlClient.SqlDataAdapter sda = new System.Data.SqlClient.SqlDataAdapter();
sda.SelectCommand = selCmd;
this.dsMSSQL.EETGW_JobReport_EBoard.Clear();
sda.Fill(this.dsMSSQL.EETGW_JobReport_EBoard);
//this.ta.Adapter.SelectCommand = selCmd;
//this.ta.Fill(this.dsMSSQL.Projects, state,request);
// this.ta.Adapter.SelectCommand.CommandText = orgQuery;
this.dsMSSQL.EETGW_JobReport_EBoard.AcceptChanges();
sbSumReduction.Text = this.dsMSSQL.EETGW_JobReport_EBoard.Sum(t => t.OPrice).ToString("N2");
sbSumO.Text = this.dsMSSQL.EETGW_JobReport_EBoard.Sum(t => t.RepairCost).ToString("N2");
sbSumRepair.Text = this.dsMSSQL.EETGW_JobReport_EBoard.Sum(t => t.CostReduction).ToString("N2");
FormattingData();
FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
this.bs.Sort = "pdate desc,idx";
}
void FormattingData()
{
//삭제컬럼인덱스
this.fpSpread1.SuspendLayout();
var col_status = this.fpSpread1.ActiveSheet.Columns["status"].Index;
var col_costreduc = this.fpSpread1.ActiveSheet.Columns["costreduction"].Index;
var col_refdata = this.fpSpread1.ActiveSheet.Columns["refdata"].Index;
for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
{
var state = this.fpSpread1.ActiveSheet.GetValue(i, col_status);
string stateStr = string.Empty;
if (state != null) stateStr = state.ToString();
var vrefdata = this.fpSpread1.ActiveSheet.GetValue(i, col_refdata);
Boolean refdata = false;
if (vrefdata != null) refdata = (bool)vrefdata;
if (stateStr.ToLower().Contains("완료")) this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.FromArgb(240, 240, 240);
else if (stateStr.ToLower().Contains("외주")) this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.LightSteelBlue;
else
this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.White;
this.fpSpread1.ActiveSheet.Cells[i, col_costreduc].BackColor = Color.FromArgb(240, 240, 240);
if(refdata)
{
this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Magenta;
}
else
{
this.fpSpread1.ActiveSheet.Rows[i].ForeColor = Color.Black;
}
}
FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
this.fpSpread1.ResumeLayout();
}
void funcSave(Boolean pmt)
{
this.Validate();
this.bs.EndEdit();
if (pmt)
{
var dlg = FCOMMON.Util.MsgQ("변경 사항을 저장하시겠습니까?");
if (dlg != System.Windows.Forms.DialogResult.Yes) return;
}
try
{
this.ta.Update(this.dsMSSQL.EETGW_JobReport_EBoard);
dsMSSQL.AcceptChanges();
FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
}
catch (Exception ex)
{
FCOMMON.Util.MsgE(ex.Message);
}
FormattingData();
}
private void projectsBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
funcSave(true);
}
void Projects_TableNewRow(object sender, DataTableNewRowEventArgs e)
{
e.Row["gcode"] = FCOMMON.info.Login.gcode;
e.Row["wuid"] = FCOMMON.info.Login.no;
e.Row["wdate"] = DateTime.Now;
}
void menu_partlist()
{
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsPRJ.ProjectsRow;
var f = new fPartList(dr.idx);
f.StartPosition = FormStartPosition.CenterScreen;
f.Show();
}
private void autoToolStripMenuItem_Click(object sender, EventArgs e)
{
this.fpSpread1.ActiveSheet.DataAutoSizeColumns = true;
for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
this.fpSpread1.ActiveSheet.SetRowHeight(i, 25);
//dv1.AutoResizeColumns();
}
private void resetToolStripMenuItem_Click(object sender, EventArgs e)
{
foreach (FarPoint.Win.Spread.Column col in this.fpSpread1.ActiveSheet.Columns)
{
col.ResetVisible();
col.Width = 100;
}
}
private void saveToolStripMenuItem_Click(object sender, EventArgs e)
{
FPUtil.ColsizeSave(this.fpSpread1, fn_fpcolsize);
}
private void loadToolStripMenuItem_Click(object sender, EventArgs e)
{
FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
}
private void toolStripLabel3_Click(object sender, EventArgs e)
{
//사용자목록처리
if (tbRequest.Text != "")
{
tbRequest.Text = string.Empty;
}
else tbRequest.Text = FCOMMON.info.Login.nameK;
refreshData();
}
void funcCopy()
{
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsPRJ.EETGW_JobReport_EBoardRow;
var dlg = FCOMMON.Util.MsgQ("선택된 데이터를 복사하시겠습니까?");
if (dlg == System.Windows.Forms.DialogResult.Yes)
{
var newdr = this.dsMSSQL.EETGW_JobReport_EBoard.NewEETGW_JobReport_EBoardRow();
//컬럼을 모두 돌아서 해당 값을 모두 복사한다.
foreach (DataColumn dc in dsMSSQL.EETGW_JobReport_EBoard.Columns)
{
if (dc.ColumnName.ToLower() == "idx") continue;
newdr[dc.ColumnName] = dr[dc.ColumnName]; //값을 모두 복사한다.
}
newdr.pdate = DateTime.Now.ToShortDateString(); //등록일을 오늘로한다
newdr. = string.Empty;
newdr.EndEdit();
var f = new fEboardData(newdr);
f.Show();
f.FormClosed += (s1, e1) =>
{
if (f.DialogResult == System.Windows.Forms.DialogResult.OK)
{
this.dsMSSQL.EETGW_JobReport_EBoard.AddEETGW_JobReport_EBoardRow(newdr);
}
else newdr.Delete();
this.Validate();
this.bs.EndEdit();
this.bs.Position = 0;
};
}
}
void menu_iomap()
{
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsPRJ.ProjectsRow;
var f = new fProjectIOMap(dr.idx);
f.Show();
}
private void tbFind_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
btFind.PerformClick();
}
private void btFind_Click(object sender, EventArgs e)
{
string search = tbFind.Text.Trim();
if (search == "")
{
bs.Filter = "";
tbFind.BackColor = SystemColors.Control;
FormattingData();
}
else
{
try
{
var cols = new string[] {
"Process","Equipment","Model","BoardName",
"원인","결과","외주업체","BoardVender",
"uid","요청자","SN"};
bs.Filter = FCOMMON.Util.MakeFilterString(cols, search);
tbFind.BackColor = Color.Lime;
tbFind.SelectAll();
tbFind.Focus();
FormattingData();
}
catch (Exception ex)
{
bs.Filter = "";
FCOMMON.Util.MsgE(ex.Message);
tbFind.BackColor = Color.Red;
FormattingData();
}
}
}
private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
{
funcDelete();
}
void funcDelete()
{
var dlg = FCOMMON.Util.MsgQ("현재 선택된 자료를 삭제하시겠습니까?");
if (dlg == System.Windows.Forms.DialogResult.Yes)
{
bs.RemoveCurrent();
//일반사용자는 바로 저장되도록 함
int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.project));
if (curLevel < 5)
{
funcSave(false); //자동저장
}
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
SaveFileDialog sd = new SaveFileDialog();
sd.Filter = ("excel|*.xlsx");
var dlg = sd.ShowDialog();
if (dlg == System.Windows.Forms.DialogResult.OK)
{
var book = new libxl.XmlBook();
book.setKey("Amkor Technology", "windows-242f240302c3e50d6cb1686ba2q4k0o9");
var fn = System.IO.Path.Combine(FCOMMON.Util.CurrentPath, "EBoardDailyform.xlsx");
System.IO.File.Copy(fn, sd.FileName, true);
book.load(sd.FileName);
//week 기록
var lastrow = dsMSSQL.EETGW_JobReport_EBoard.FirstOrDefault();
if(lastrow != null)
{
var ww = ISO8601.Calender.GetWorkWeek(DateTime.Parse( lastrow.pdate));
var sht1 = book.getSheet(2);
sht1.writeNum(1, 0, ww);
}
var sht = book.getSheet(0);
//2번쨰 줄부터 데이터를 기록한다.
var row = 1;
foreach (dsPRJ.EETGW_JobReport_EBoardRow dr in this.dsMSSQL.EETGW_JobReport_EBoard.Select(this.bs.Filter, this.bs.Sort))
{
if (dr.RowState == DataRowState.Detached || dr.RowState == DataRowState.Deleted) continue;
sht.writeStr(row, 3, dr.);
sht.writeStr(row, 4, dr.pdate);
sht.writeStr(row, 5, dr.);
sht.writeStr(row, 8, dr.);
sht.writeStr(row, 9, dr.Line);
sht.writeStr(row, 10, dr.Division);
sht.writeStr(row, 12, dr.Process);
sht.writeStr(row, 13, dr.Model);
sht.writeStr(row, 14, dr.BoardName);
sht.writeStr(row, 15, dr.BoardVender);
sht.writeStr(row, 16, dr. + ":" + dr.);
sht.writeStr(row, 17, dr.SN);
sht.writeNum(row, 18, dr.QTY);
sht.writeNum(row, 19, (double)dr.NPrice);
sht.writeNum(row, 21, (double)dr.RepairCost);
sht.writeStr(row, 23, dr..isEmpty() ? "자체" : "외주");
sht.writeStr(row, 24, dr.);
sht.writeNum(row, 25, dr.RepairTime);
sht.writeStr(row, 27, dr.uid);
row += 1;
}
var maxrow = sht.lastRow();
for (int r = row; r <= maxrow; r++)
{
sht.writeBlank(r, 3, sht.cellFormat(row, 3));//, String.Empty);
sht.writeBlank(r, 4, sht.cellFormat(row, 4));//, string.Empty);
sht.writeBlank(r, 5, sht.cellFormat(row, 5));//, dr.수리완료일);
sht.writeBlank(r, 8, sht.cellFormat(row, 8));//, dr.분류);
sht.writeBlank(r, 9, sht.cellFormat(row, 9));//, dr.Line);
sht.writeBlank(r, 10, sht.cellFormat(row, 10));//, dr.Division);
sht.writeBlank(r, 12, sht.cellFormat(row, 11));//, dr.Process);
sht.writeBlank(r, 13, sht.cellFormat(row, 12));//, dr.Model);
sht.writeBlank(r, 14, sht.cellFormat(row, 13));//, dr.BoardName);
sht.writeBlank(r, 15, sht.cellFormat(row, 14));//, dr.BoardVender);
sht.writeBlank(r, 16, sht.cellFormat(row, 15));//, dr.원인 + ":" + dr.결과);
sht.writeBlank(r, 17, sht.cellFormat(row, 16));//, dr.SN);
sht.writeBlank(r, 18, sht.cellFormat(row, 17));//, dr.QTY);
sht.writeBlank(r, 19, sht.cellFormat(row, 18));//, (double)dr.NPrice);
sht.writeBlank(r, 21, sht.cellFormat(row, 20));//, (double)dr.RepairCost);
sht.writeBlank(r, 23, sht.cellFormat(row, 22));//, dr.외주업체.isEmpty() ? "자체" : "외주");
sht.writeBlank(r, 24, sht.cellFormat(row, 23));//, dr.외주업체);
sht.writeBlank(r, 25, sht.cellFormat(row, 24));//, dr.RepairTime);
sht.writeBlank(r, 27, sht.cellFormat(row, 26));//, dr.uid);
}
//this.fpSpread1.SaveExcel(sd.FileName,
// FarPoint.Excel.ExcelSaveFlags.SaveAsViewed
// | FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered
// | FarPoint.Excel.ExcelSaveFlags.NoFormulas
// | FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders);
//var cols = new List<string>();
//cols.Add("Mon");
//cols.Add("수리완료");
//cols.Add("Site");
//cols.Add("Request");
//cols.Add("입고일");
//cols.Add("수리완료");
//cols.Add("완료월");
book.save(sd.FileName);
var dlg2 = FCOMMON.Util.MsgQ("파일생성 완료\n\n열까요?" + sd.FileName);
if (dlg2 == DialogResult.Yes) FCOMMON.Util.RunExplorer(sd.FileName);
}
}
private void bs_CurrentChanged(object sender, EventArgs e)
{
//히스토리 데이터를 업데이트하고 첫번재 자료를 표시한다.
var drv = this.bs.Current as DataRowView;
if (drv == null)
{
// this.label1.Text = "프로젝트가 선택되지 않았습니다";
return;
}
var dr = drv.Row as dsPRJ.EETGW_JobReport_EBoardRow;
// this.label1.Text = string.Format("[{0}] {1}", dr.BoardName, dr.memo);
}
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
{
FuncAdd();
}
void FuncAdd()
{
var newdr = this.dsMSSQL.EETGW_JobReport_EBoard.NewEETGW_JobReport_EBoardRow();
newdr.wuid = FCOMMON.info.Login.no;
newdr.wdate = DateTime.Now;
newdr.pdate = DateTime.Now.ToString("yyyy-MM-dd");
newdr. = string.Empty;
newdr.uid = FCOMMON.info.Login.nameK;
newdr.gcode = FCOMMON.info.Login.gcode;
newdr.Site = "ATK";
//this.dsMSSQL.EETGW_JobReport_EBoard.AddEETGW_JobReport_EBoardRow(newdr);
//this.bs.Position = this.bs.Count - 1;
var f = new fEboardData(newdr);
f.Show();
f.FormClosed += (s1, e1) =>
{
if (f.DialogResult == System.Windows.Forms.DialogResult.OK)
{
this.dsMSSQL.EETGW_JobReport_EBoard.AddEETGW_JobReport_EBoardRow(newdr);
}
else newdr.Delete();
this.Validate();
this.bs.EndEdit();
};
}
private void btEdit_Click(object sender, EventArgs e)
{
funcEdit();
}
void funcEdit()
{
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsPRJ.EETGW_JobReport_EBoardRow;
var f = new fEboardData(dr);
f.Show();
f.FormClosed += (s1, e1) =>
{
if (f.DialogResult == System.Windows.Forms.DialogResult.OK)
{
this.Validate();
this.bs.EndEdit();
}
};
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
FuncAdd();
}
private void tbRequest_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
btSearch.PerformClick();
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
funcDelete();
}
private void button1_Click_1(object sender, EventArgs e)
{
this.Close();
}
private void button2_Click(object sender, EventArgs e)
{
refreshData();
}
private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
{
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
var f = new fEBoardImport();
f.ShowDialog();
this.refreshData();
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
//
}
private void btCopy_Click(object sender, EventArgs e)
{
funcCopy();
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
funcCopy();
}
private void ToolStripMenuItem1_Click(object sender, EventArgs e)
{
funcEdit();
}
private void toolStripButton2_Click_1(object sender, EventArgs e)
{
var f = new EBoard.fEBoardReport();
f.Show();
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
var newdr = this.dsMSSQL.EETGW_JobReport_EBoard.NewEETGW_JobReport_EBoardRow();
newdr.uid = FCOMMON.info.Login.nameK;
newdr.wuid = FCOMMON.info.Login.no;
newdr.wdate = DateTime.Now;
newdr.gcode = FCOMMON.info.Login.gcode;
newdr.pdate = DateTime.Now.ToShortDateString();
newdr.Site = "ATK";
this.dsMSSQL.EETGW_JobReport_EBoard.AddEETGW_JobReport_EBoardRow(newdr);
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
this.chkDelay.BackColor = chkDelay.Checked ? Color.Lime : SystemColors.Control;
this.refreshData();
}
private void toolStripButton4_Click_1(object sender, EventArgs e)
{
var dt = DateTime.Parse(this.cmbYearS.Text);
var f = new FCOMMON.fSelectDay(dt);
if (f.ShowDialog() == DialogResult.OK)
{
this.cmbYearS.Text = f.dtPick.SelectionStart.ToShortDateString();
}
}
private void toolStripButton5_Click(object sender, EventArgs e)
{
var dt = DateTime.Parse(this.cmbYearE.Text);
var f = new FCOMMON.fSelectDay(dt);
if (f.ShowDialog() == DialogResult.OK)
{
this.cmbYearE.Text = f.dtPick.SelectionStart.ToShortDateString();
}
}
private void btOpenFolder_Click(object sender, EventArgs e)
{
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsPRJ.EETGW_JobReport_EBoardRow;
if (dr != null && (dr.RowState == DataRowState.Modified || dr.RowState == DataRowState.Unchanged))
{
Util.openEboarditemPath(dr.idx);
}
else FCOMMON.Util.MsgE("자료가 저장되기 전에는 폴더를 확인할 수 없습니다.\r\n자료를 저장한 후 다시 시도하세요");
}
}
}

View File

@@ -1,394 +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>186, 17</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>122, 17</value>
</metadata>
<metadata name="dsMSSQL.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="bindingNavigatorMoveFirstItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAASpJREFUOE9jGDygcNbz/00Lnv/PnPj4P1QIA4S3P8Apx5A789n/VUfe/8elKL77
wf/ghmu4DciY8vT/wn0fsCqK73n4f+n+///9qy/gNiCh58n/aVveYyiKaL8P1pw56/9/r9ITuA2I7Hr0
v3f1BxRFoa33wJpb1wFt7/z73yX/AG4DApsf/q+b/w6uKLjl7v9Fe///7wBqzpjz879d3c//9hnbcRvg
UXX/f/60NyiK7Ipv/0+f8/u/f9e3/zqF7/5bJKzHbYB96d3/2ZNfYyjSTzn/36ToxX+VrE//jSOX4TbA
Iu/O/9T+11gVGSSd+C+b9vW/bvA83AYYZt3+H9byEqci/dTL/zV8p+E2QCftxn+/6od4Fal4TMBtgFPu
lf8gBXgVDULAwAAA8HbAq6XlmnAAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMovePreviousItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAALZJREFUOE9jGDogvP3BfyiTdBDf/eB/cMM18gyI73n4f+n+///9qy+QbkBE+32w
5sxZ//97lZ4gzYDQ1ntgza3rgLZ3/v3vkn+AeAOCW+7+X7T3//8OoOaMOT//29X9/G+fsZ00F9gV3/6f
Puf3f/+ub/91Ct/9t0hYT3oY6Kec/29S9OK/Stan/8aRy0g3AAQMkk78l037+l83eB55BoCAfurl/xq+
08g3AARUPCZQZsBgBQwMANAUYJgEulBVAAAAAElFTkSuQmCC
</value>
</data>
<data name="bindingNavigatorMoveNextItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAKNJREFUOE9jGHygcNbz/1AmeSB35rP/Cd33yDckY8rT//P2//6f0HWHPEMSep78
n73v1//OrX//u5VeJt2QyK5H/6ds+/W/ZOnf/wnT//63yT1LmiGBzQ//t659D9ZsXPLlv3T0tf/GkcuI
N8Sj6v7/krnv4JoVXXpIc4F96d3/gS3PyNMMAhZ5d/7bFFwhTzMIGGbdJl8zCOik3SBf81AEDAwAoH5f
oAc0QjgAAAAASUVORK5CYII=
</value>
</data>
<data name="bindingNavigatorMoveLastItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAASxJREFUOE9jGFygcNbz/1AmBgDJNS14/j9z4mOcahhyZz77n9B9D6sCkNyqI+//
h7c/wG1AxpSn/+ft//0/oesOhiKQ3MJ9H/4HN1zDbUBCz5P/s/f9+t+59e9/t9LLKApBctO2vP/vX30B
twGRXY/+T9n263/J0r//E6b//W+TexauGCTXu/rDf6/SE7gNCGx++L917XuwZuOSL/+lo6/9N45cBtYA
kqub/+6/S/4B3AZ4VN3/XzL3HVyzoksPXDFILn/am//2GdtxG2Bfevd/YMszDM0gAJLLnvz6v0XCetwG
WOTd+W9TcAVDMwiA5FL7X8O9hBUYZt3GqhkEQHJhLS//6wbPw22ATtoNnJIgOb/qh/81fKfhNgAfcMq9
8l/FYwIYQ4UGBWBgAAC+0b+zuQxOnAAAAABJRU5ErkJggg==
</value>
</data>
<data name="toolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E
rkJggg==
</value>
</data>
<data name="btAdd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAUpJREFUOE9jGLzg7gL2/7fmcf6/Oofr/8UZvP+hwsSD60CNfx41/v/zsOH/yckC
pBtwfjov3ICDPSKkG3B8kiBQc93/Pw+q/u9oFydswKWZPP/PTuX7fxKo8Ui/0P993SJAzeX//94r+r++
Qeb/qhq5/0srFf/PL1X+P6tIFdPAU0B//nlYD9RUC8SV///cKwHivP9/72b+/3sn+f/f23H//92MAOKQ
/5NyNDENONQrDHbu3/ulQI0FQI3ZQI2pQI0J///digZqDPv/70bQ/3/X/f53peliGrCzXeL/lmap/+vA
zpX/v6RC8f/fWzFAjeH/p+Zp/J+QpfW/O0P3f3uq/v/mREPCYTIb6E+Qc//dCPjfk6FDWAM6APnz3w1/
IPb735qsT7oB3em6YP+CcH2cEekGtCQZ/G+IN/xfE2v8vzLahHQD6AQYGAAkI9iedfyIaQAAAABJRU5E
rkJggg==
</value>
</data>
<data name="btEdit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQAAGB3lYivyMDf/XiZt+Ts9ajT/Mbh/UlVa/P2+bLY/FRlfu3x9ZzN++Xy/rTR4ENL
XN7v/tTk8Jm/1enx96jL3uDo7ykxQz5FVb2JAP+8Bv/RV6HQ/FSr9qfR+jhllf///yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQAAAAAACwAAAAAEAAQAAAIugA/CBxIsKDACA4cUJAgIUCAARA9eJAg0EEEAhMyTiDA
0UMHDh4qTjBAkqSABh5BKhBIAUFJASdTekCw8oMElwZgovzoAQJNgTdzxuQJocDPDwEQ6MRAtIDRAwKT
nsSgIUPPAh02EID6YcCCBlQzYCiaVesDgV4jVB2LdcMGBhXOdl2QQIFdBQAGMNhb4QJaBAkSYC0wAIBh
AAv8fgAQAcFGjgQqSF7gwAJavHcPHHjw4MIFCzUNihYYEAA7
</value>
</data>
<data name="btDel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAW9JREFUOE+1kE0ow2Ecx3dV3krt4oJaOSCTvIRkMqSxyITIzCQHDouEdnFwIOVC
DrhIDiQl5UTiNG/z2ppafy1S2gX/uDwfY6i1v7Hie3nqeb7fz+/7/FR/Ilwn0G0Exw4fV5GJlXlEZxXC
rIet9bAQvB5Ymgn2sLYAvSZEux7RUQFzE4qQt4bCXAYjPaHvnDoCkLpsRGMB2JqCTGLIijDlwqQ9bEMV
i9OIytR3EMNWcJ/BWH8A6j8/bOGFxwXNxYEvGbMQ9XnQ1/K78KfY3/VXzkMY0qFGG2H4RoLGQshJQNbG
86CNhdrsX9a/uQZTPhQl4rMY4OLofbl3aX7I8uwPC7y/g1YdjyVJuEvT8e1tfwUYteHUxCCfHChDeHmG
QQvokjlOU+PbWA0x3pZnILVVI3uvQyHsbiLnqnGmRCF1NYD8pDhpRxOH7HQoAKZGkFKjceszQbpSrumX
bO+G80MFwKUTxgfgcO/b8D9IpXoFiiMDHIQm0skAAAAASUVORK5CYII=
</value>
</data>
<data name="btSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
wwAADsMBx2+oZAAAAExJREFUOE9joAr49u3bf1IxVCsEgAWC58Dxh/cf4RhZDETHTNiHaQgpBoAwzBCo
dtINAGGiDUDGyGpoawAxeNSAQWkAORiqnRLAwAAA9EMMU8Daa3MAAAAASUVORK5CYII=
</value>
</data>
<data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL1SURBVDhPhZLrS1NhHMf3qv6EsF70UojSyqioF6WpTQ3s
Zipm3uYUTZfowiBbTCPzEpqoUCFK0YsKtdKpTc05pxvO0DRTm/dLTZ2XXc7RnTO/PedsOQOhH3x4Xjzn
++H8vucIuAm4r4q9VKhVhhZpVwJlWoqcNE8xd+ro0MIeOviJZuisVF16KOztHj60c4IedakXzfTy5LyR
NVk3YLK4WTZz0PixYEbOxxlEFo3YhGmKva6oc0LyNYuzv5bYnik7dNMMdDMMtFMMNJObUP3cQPOwFRsM
0DBCIad+GgnPhqh/JIGyZmrdtom+WRZfZxlyMujlJZvoNGzg87CNCBzoW2Chm7cjTzEDv3vtb/hwRLHv
xA1Z2Ja44hoSyq+jvKUGubXF8JN5wZcgzDuDAPlJlDSU8KtYaAbGVRsCJJ0MLwgv9HvfPtiIxrGXKNdm
8ZKYsmBkvY5Gek0kRJWXEV8Zj4YBIxqHLPj0bR1rpKdAeRfNC4Slwr3+MgmrHe3Aq0E5ClRpvCS2IoSE
ryD5eRLUBiu/StsYBSXpYdVqR2But1PATVB+J51RFQe9QYNK3V08bs1ERPEFxJaFQT9lg54UyxWsHnd2
YiKCAPkOwbkHMvup7IOILhWib7wHeR0pkCsyEPnUHzWqD+ifY6AnxfZM2tFNWDTb4ffQJTgu9RD7SA8g
vToKNyuCEFVykZdkKKIhrU0ib+IP7r5vhkUv94kJZlLkUYnGKfCR7pvzke4nD3nAJ8sDVwv8kfoiDuph
JfKU2Uh5FwdRRTj0RKAj/4aWCGi7A94SlXuF85IuemGNxsAcy9M5Oo87VclIJEFxZSQyq29v33HYNlki
qHcLONusyS34H1aygndSnVtwOuOLrd+wsLXbw7thXF5xHIlpsLjipMjk1onpdZu5f/y3Y2KJwsQiBYOL
JYudh2veQrOYN5ocFEWted5q+u6KCwQnkltSvUXNrcfESpO3uI7eJtGJ119EdbSnqGn1cHxTm1ecIkEg
EAj+ABQBoLtReJTrAAAAAElFTkSuQmCC
</value>
</data>
<data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<data name="btOpenFolder.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9
c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32
Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo
mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+
kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D
TgDQASA1MVpwzwAAAABJRU5ErkJggg==
</value>
</data>
<metadata name="cm.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>252, 17</value>
</metadata>
<data name="autoToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAJXG2JXa+ZLO5ChrlkCy4TZ1kiVvpCN0trvo9SN5xTd4lrfh7iR9zo3S+EGz7JDJ
4TaCromrvC9ymyV+0Dd3mTl1koe72YvN7LTj+9ne6N3g6v7+/0Cw2Stoh////////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAInwA/CBzooaAHgQUHKvRQoUABCgUlHFT4IYMCBAsQIIBg
wcBEgh0WCBDAgcAFDAc+fvDQIUKHDgMeEHDQIIFKlgoMGgjQoAGDmwUOehhg4EACBhM+GlzKVOkEBgkO
GBggNOhCBhgCBPBYUEGHmwkCOCDwYMCAll8XHghwgQCHkQDSLjRgAcKDBwAAKNCwgaIHiR4oOKygkuDE
pRQTK6YYEAA7
</value>
</data>
<data name="resetToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfALnik2aXQv7+/dPut73llbfala3LmW6gSWqdQ2eYRGqaSLfck568iYrUQN7yzF6R
PLTXlYjUP8XwmYfQQLbYl4jRQGiaQsPumNbyu7nglNPzsLXYlf7+/lCHK////////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIlgA/CBzooaAHgQUHEvSgIEAABQUfHFTIwQECDAMwYDhg
oENCgRw8dBgAAECFBgsweJxYsAODDjApTIhAwCMHkCItGOxwgUCGlQQTeAgJsyhQg0iTGvzQ0qhND0IX
dtBwQcJKDxZsIhQpIcIECkVffmwpYUGDCiUheBQg1cCBAgU2QFDg4KZCDxIZOoQ48S7LpQoDCx4cEAA7
</value>
</data>
<data name="saveToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQAAJXD9Iasxm6MqnSn2lZtjVaRyEpXbYu767TX/2KZztvr/4Gy5KrT/3ut32+gzlFh
e+r0/0RNX9/u/9Ln+8Xg//n8/4e36CkxQz9GVkSCvKjL35/N/Je91K7T5bDS4////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQAAAAAACwAAAAAEAAQAAAIuQA/CBxIsKDACRwScggQwIGAhwIICBDYQcEEgwg+bNjw
QKCHCQgkQBgpQcKBCg0AEBCoAaRIkhIsVBigUiAHCgwkKNjJU8GAAx0/3NwIAMABCwsaDHCwIGgAChuK
HjiQdMDSAQYEPpWKtKqDBA6yfgiAwGhXpUsTJIgg0AGCo0nRfi1QgO0HAQyQNpCrtkAGDAIFbKi69GsC
un8FEohqdEFavxkyXAhMoPKDBwYMRIiAAcOFoAZDCwwIADs=
</value>
</data>
<data name="loadToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
R0lGODlhEAAQAIQfAJfL/OTs9HWVsW6aUqnT+6bnZldwkYiux7TZ/O3z+UlVa/P2+ZfTW36wWJDLV4m7
69nn78bi/qjL3qDP+VJhe4rAVa7S40NLXJ3bYJrA1ikxQz5FVdDU22OPRf///////yH/C05FVFNDQVBF
Mi4wAwEBAAAh+QQBAAAfACwAAAAAEAAQAAAIwQA9CBxIcOCHgx4gWLAgIUOGAwcESBTgAaEFCAEGaBwQ
IGOABwYqerCQsYBJBho7JHgAUqCEDjAxYGBQgYHKBAsoCMzQIUIEmA6CdkCAIOfOBT5/MnBQYSgBozCj
SoVJ4KkCDx1MFhhKFEFVAhMCXM1aAANMoh2qTgh7AWvZmQ6igp0AIEDbDg0aLA06YC4AABA2eBjgYcHG
vmv/Akgg2IMBDgsSdJwcAEICDhoECjDAmQIFBQouXNiwQYPOgqgLBgQAOw==
</value>
</data>
<metadata name="fpSpread1_Sheet1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
</metadata>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>320, 17</value>
</metadata>
<data name="toolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFESURBVDhPpZO9SgNBFIV9A5/D0gdQkJBC7MQ0YmEbUtip
wVJEBJNSUil2RhALERS000orYyEqNorBqCSG+IPNle/AjDMrG0EPHA67O/Pdu7N3e+yfEuCq3rbtszt5
4+TG1o4ubOWgZss7pza/eWxz64c2XdmVp0pbNl5ctdly9RvARiD15ruym1mDxvJLSg9odMyyi/veAzPp
RhGAth9e3myv9iTQb4kiAO9MayzQouuSt7sXGo1OFpUCcGCN5qceUiEEpHUQAThtB9CiAMD1wmXem2s0
nCsoBeBT3T93fIVksnHovFfpOogAfOfbx9aPSs7J+ygzMqH0ADpgQVjJdZBMFAGYMAcIK6UZDWZzSgEY
z/brhx52q+wSRQBmmzEFQifOnEto1jBwqK8/oxSAH4PJcuYbY04a876YqpjN0Rz8XWZfJmBk74oVPr4A
AAAASUVORK5CYII=
</value>
</data>
<data name="toolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFESURBVDhPpZO9SgNBFIV9A5/D0gdQkJBC7MQ0YmEbUtip
wVJEBJNSUil2RhALERS000orYyEqNorBqCSG+IPNle/AjDMrG0EPHA67O/Pdu7N3e+yfEuCq3rbtszt5
4+TG1o4ubOWgZss7pza/eWxz64c2XdmVp0pbNl5ctdly9RvARiD15ruym1mDxvJLSg9odMyyi/veAzPp
RhGAth9e3myv9iTQb4kiAO9MayzQouuSt7sXGo1OFpUCcGCN5qceUiEEpHUQAThtB9CiAMD1wmXem2s0
nCsoBeBT3T93fIVksnHovFfpOogAfOfbx9aPSs7J+ygzMqH0ADpgQVjJdZBMFAGYMAcIK6UZDWZzSgEY
z/brhx52q+wSRQBmmzEFQifOnEto1jBwqK8/oxSAH4PJcuYbY04a876YqpjN0Rz8XWZfJmBk74oVPr4A
AAAASUVORK5CYII=
</value>
</data>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>426, 17</value>
</metadata>
<data name="btSearch.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAABEpJREFUSEut
V+tPW2UYb7xE/wQvMZmZbs7v6hK/+M24EKfMpoiWy+hYUTZxso3aoWepwfXCoKYNqw500hVQ0Mgc98Kq
bSllA3YxM2SUgq7MGwV0fpv1/R19Tt8eXuua8uHXnvPcfue9PM/7vJpnawpyglb72Z3PH/rqgV31g08V
1g89vdM8+NAz0thdIttsEArV0EkjW8obI/bqlov+N9uuLtR555elnsRfR3sSqUOfXvuz2DK6Q+SXDUIh
oUga21ThnOwwnY79ZutLpuz9K+vw3pc/pV6xjBSI/LNBKARKbeHa2lOzP9r7xYQENXGZPeSvOfldXI0S
W3DxpXcGdpJdBhmANdztiHik7sRNngAjNncsrO7zXA5XuWY6Kp3nP9rjnGitdEZ7tZL/SfKvPnFpkPcD
TL74Db0jpOd5lAcCSBt6f7lFTra+ldTh9mvXdx+PenQNI1vU9mqsJ06myhzjvWq7jBdMLz9S69nl1F7X
hYDeHniYt8sG0Yjf7b5+s9Qa2s/bKQ/YSP+saZrU0Bz94rl9fffwDv8HIjZ3xpPHvl5WyGs/mV3kB6A4
MJJO2kiYXqN76lyupACI5TW1BiuMrukwESOmoXmynezkn1cto1uRMmSENc1lennoraFzenuoCM8vWgLb
EIvimryxG8WWoUehk43L7WE75Sn+K5omTlCgXPFCXf8m/p3NZFs6JZMpFCLIZSUqEn2V2Te/tuvfr9oI
IBNYzFWK/3rLzBDkct6iDJJiv+dySO2cL6o9VyIUH1yo7ZoC85kHTb7YCimq3FOdIud8YPxguovim3zz
KzhkNIXS8PajPUtKwTA0TXpEzvnA4Jz0UHwcLoXm4e0aHG/sJU3MjETO+WBPc/RDhbg7cauwvv8Jear5
xd/rvrDxU+2e/pzi13ljyzsOnr1PU1l5/u7MzXUlInLOB9WeS8rmOtD2/Tw2tKx4reXiCCnMvvjqRqbT
y9LYY+auhTWKz7iGIZeV7ERy8EmOpOed1UUhFxiOT5zki1OpI2SFXFZqj4xurWuf+5m+CmVO2/DN49Ch
/KEMUqBcgJbpcPvckhLXG/tV+/7AI9ApRhXN0Q4UcjJi+RwqPhYoYZshgcJPdrcLViTurXJNhdIx2Uw2
Rb2kVwx1Nv/mg6dmfyBiHGlsvZN4zpUYpKze9+JopXhvfTy7WMQ6UrLJcCizBo1Sz9LvZEzIhRjTa3RN
BXlSlrt/lDi+fYO3y3ACyhvHz6Q32u0T6yzD29goW7Gm/JKhjSprDK877TJeSmwBnck7l+BJAZ4YjR0a
PDR6BtbwGd0zXUwfOdIZX6PdS8BIQYq85XkA5QGtJ1pQUWuKlpXs0MqipeUJ1iOZqmVrqrcHa8hPDaEw
G7IRY8RIGZYhp/mNJIJQmA24ruDagusLThrU3gOtV+OofuWOcavO4t8s8lNDKMwGHOK4qOHCJl/c3h64
X5KkO0S2/40Czd+YEQefvqIj4QAAAABJRU5ErkJggg==
</value>
</data>
<data name="button1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAN
1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAMZSURBVEhLzVdd
TxNBFF3/hi8+GH0xJmriq5HdzralCMKDGl/LxwMphCe+QqKBmCBB3oDAzyD8A4F+AfJATFRMoAhtUVrY
CqXajvcss2Ep07KlEDzJSSY7d+7p3Llz51b57zHvcj0M6vpgxOuNhD2eGI2NIGMGxmF8Y+ztHGMPhHl1
4IpyI6hpr0K6vhn1+fbX2tpyPwcGeHpoiGeGh01ijG/fW1uPyMYIu92xBZfrBdYKN5UhpGl3aVeflxoa
jGRfHz8cG3PEBNliTdDtXp1T1dvCnTOEVFWlXRqxjo68zLkTrgcCefig3T8VbsuDQltDCw4q2WUpYvfw
RTt/ItzLEa6puRdiLIMzkzm6COGLwr5PiXhHyJwGkoEydHWzq+vC4S3FWGfn34jHsyJNOLour1eamgzZ
wsvgp8ZGY0HXXwq5Y+CXhOgaJPv7pYvA3MwMz05MSOfA7OSkaSObA3HedNXWheQx5jTtcbSubl+2AMzN
znJeKPBCMmkKFM/jW2Fnx7SBbfG8RWgsqOojIUvXR9ffozjIjMHs+DjPx+McKOzu8uzU1MkcjfENgM0h
2drX2rnW0nJESfZOyFI2e73L5cJsUiJeiSiIKxqprY0KWRJ2u7dR+mTGp2gXT6dNAk5EwdTgIKebsyVk
KdSMZTMjI1LjM4Q4nbUFnLsTURAa0BKylQlnp6d5IZUSsiRMY/uZl+MZYQr1lpNQ20XziYRJoDjhSjFF
GqT1Q8gqCr2xyzvnJNcp0e3t4/Ai7DQGTHGyka21eCa58MB/bW4+khmDUlFr3i6OsJcR/+b3H9LVfSNk
qYBQ54BHXGYMXlYBod1mqDTfF7K2klnmKbySkgnMa9rzpfp64+DDB+nCagifiz5fhsrlMyF3AutZXK+i
6yjFjfb20s8iQJ3CLaql6XhPj9TBRRjv7uZ0jL8+MnZTyMhxLa2PBbPZY2xvIxAoecXOIzV7eIn2HDd7
Fq6lvbWAZLAaetxBKjK5RG+vWfp+j46axIuDnPji9+dgQ1emuoa+GLa/MIt4RoMu1x8Q46jXG73UvzBX
B0X5B56Fg+LhPgWxAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="ta.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>523, 17</value>
</metadata>
</root>

View File

@@ -139,11 +139,6 @@
<DesignTime>True</DesignTime>
<DependentUpon>DSComm.xsd</DependentUpon>
</Compile>
<Compile Include="DSEboard.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>DSEboard.xsd</DependentUpon>
</Compile>
<Compile Include="dsJobReport.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
@@ -190,30 +185,6 @@
<DesignTime>True</DesignTime>
<DependentUpon>dsReport.xsd</DependentUpon>
</Compile>
<Compile Include="EBoard\fEboardData.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EBoard\fEboardData.Designer.cs">
<DependentUpon>fEboardData.cs</DependentUpon>
</Compile>
<Compile Include="EBoard\fEBoardImport.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EBoard\fEBoardImport.Designer.cs">
<DependentUpon>fEBoardImport.cs</DependentUpon>
</Compile>
<Compile Include="EBoard\fEboardList.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EBoard\fEboardList.Designer.cs">
<DependentUpon>fEboardList.cs</DependentUpon>
</Compile>
<Compile Include="EBoard\fEBoardReport.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="EBoard\fEBoardReport.Designer.cs">
<DependentUpon>fEBoardReport.cs</DependentUpon>
</Compile>
<Compile Include="fHistAddDay.cs">
<SubType>Form</SubType>
</Compile>
@@ -573,19 +544,6 @@
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SqlServerTypes\Loader.cs" />
<Compile Include="Util.cs" />
<EmbeddedResource Include="EBoard\fEboardData.resx">
<DependentUpon>fEboardData.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="EBoard\fEBoardImport.resx">
<DependentUpon>fEBoardImport.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="EBoard\fEboardList.resx">
<DependentUpon>fEboardList.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="EBoard\fEBoardReport.resx">
<DependentUpon>fEBoardReport.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="EBoard\Report1.rdlc" />
<EmbeddedResource Include="fHistAddDay.resx">
<DependentUpon>fHistAddDay.cs</DependentUpon>
</EmbeddedResource>
@@ -789,17 +747,6 @@
<None Include="DSComm.xss">
<DependentUpon>DSComm.xsd</DependentUpon>
</None>
<None Include="DSEboard.xsc">
<DependentUpon>DSEboard.xsd</DependentUpon>
</None>
<None Include="DSEboard.xsd">
<Generator>MSDataSetGenerator</Generator>
<LastGenOutput>DSEboard.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</None>
<None Include="DSEboard.xss">
<DependentUpon>DSEboard.xsd</DependentUpon>
</None>
<None Include="dsJobReport.xsc">
<DependentUpon>dsJobReport.xsd</DependentUpon>
</None>

View File

@@ -603,7 +603,6 @@
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_DocuFormTableAdapter = null;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_Project_LayoutTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;

View File

@@ -674,7 +674,6 @@
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_DocuFormTableAdapter = null;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_Project_LayoutTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;

View File

@@ -317,7 +317,6 @@
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_DocuFormTableAdapter = null;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_Project_LayoutTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;

View File

@@ -531,7 +531,6 @@
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_DocuFormTableAdapter = null;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_Project_LayoutTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;

View File

@@ -1173,7 +1173,6 @@
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_Project_LayoutTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;

View File

@@ -262,7 +262,6 @@
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;
this.tam.EETGW_ProjectResonTableAdapter = null;

View File

@@ -3023,7 +3023,6 @@
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_DocuFormTableAdapter = null;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_Project_LayoutTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;

View File

@@ -163,7 +163,6 @@
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;
this.tam.EETGW_ProjectResonTableAdapter = null;

View File

@@ -111,7 +111,6 @@
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;
this.tam.EETGW_ProjectResonTableAdapter = null;

View File

@@ -670,7 +670,6 @@
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_DocuFormTableAdapter = null;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_Project_LayoutTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;

View File

@@ -575,7 +575,6 @@
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;
this.tam.EETGW_ProjectResonTableAdapter = null;

View File

@@ -194,7 +194,6 @@
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_Project_LayoutTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;

View File

@@ -508,7 +508,6 @@
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_Project_LayoutTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;

View File

@@ -331,7 +331,6 @@
//
this.tableAdapterManager.BackupDataSetBeforeUpdate = false;
this.tableAdapterManager.EETGW_JobReport_AutoInputTableAdapter = null;
this.tableAdapterManager.EETGW_JobReport_EBoardTableAdapter = null;
this.tableAdapterManager.EETGW_NoteTableAdapter = null;
this.tableAdapterManager.EETGW_ProjecthistoryDTableAdapter = null;
this.tableAdapterManager.EETGW_ProjectResonTableAdapter = null;

View File

@@ -223,7 +223,6 @@
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;
this.tam.EETGW_ProjectResonTableAdapter = null;

View File

@@ -552,7 +552,6 @@
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;
this.tam.EETGW_ProjectResonTableAdapter = null;

View File

@@ -1003,7 +1003,6 @@
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.Connection = null;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_Project_LayoutTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;

View File

@@ -769,7 +769,6 @@
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.Connection = null;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_Project_LayoutTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;

File diff suppressed because it is too large Load Diff

View File

@@ -35,74 +35,5 @@
</ColumnUISetting>
</ColumnUISettings>
</TableUISetting>
<TableUISetting Name="EETGW_JobReport_EBoard">
<ColumnUISettings>
<ColumnUISetting Name="uid">
<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="요청자">
<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="Status">
<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="분류">
<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="Line">
<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="Division">
<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="Team">
<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="Process">
<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="Model">
<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="BoardName">
<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="SN">
<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="외주업체">
<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>
</ColumnUISettings>
</TableUISetting>
</TableUISettings>
</DataSetUISetting>

File diff suppressed because it is too large Load Diff

View File

@@ -4,20 +4,19 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="485" 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="0" ViewPortY="19" 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="18" X="366" Y="70" Height="229" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:ProjectsMailList" ZOrder="24" X="667" Y="70" Height="248" Width="237" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<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="23" X="1881" Y="31" Height="267" Width="251" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:SPMaster" ZOrder="19" X="365" Y="305" Height="305" Width="200" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:EETGW_Note" ZOrder="21" X="810" Y="455" Height="248" Width="245" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<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="20" X="680" Y="203" Height="248" Width="283" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:EETGW_ProjectToDo" ZOrder="17" X="89" Y="808" Height="305" Width="265" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:EETGW_JobReport_EBoard" ZOrder="16" X="33" Y="19" Height="324" Width="299" 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: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" />
@@ -29,7 +28,7 @@
<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: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="22" X="2138" Y="50" Height="105" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
<Shape ID="DesignSources:QueriesTableAdapter" ZOrder="21" X="2138" Y="50" Height="105" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="101" />
</Shapes>
<Connectors />
</DiagramLayout>

View File

@@ -511,7 +511,6 @@
//
this.tam.BackupDataSetBeforeUpdate = false;
this.tam.EETGW_JobReport_AutoInputTableAdapter = null;
this.tam.EETGW_JobReport_EBoardTableAdapter = null;
this.tam.EETGW_NoteTableAdapter = null;
this.tam.EETGW_ProjecthistoryDTableAdapter = null;
this.tam.EETGW_ProjectResonTableAdapter = null;