ot집계표에 %추가

This commit is contained in:
ChiKyun Kim
2025-07-30 11:33:17 +09:00
parent c0eb33f60a
commit 943fdb2036
14 changed files with 2033 additions and 1011 deletions

View File

@@ -26,6 +26,12 @@ namespace Project.Dialog
InitializeWebView2();
}
bool loadok = false;
public void RefreshView()
{
if (loadok)
webView21.Reload();
}
private void InitializeWebView2()
{
@@ -68,6 +74,7 @@ namespace Project.Dialog
// OWIN 서버의 DashBoard 페이지로 연결
webView21.Source = new Uri($"{Pub.setting.WebServiceURL}/DashBoard");
label1.Visible = false;
loadok = true;
}
catch (Exception ex)
{

View File

@@ -95,9 +95,9 @@ namespace Project.Web.Controllers
string uid = FCOMMON.info.Login.no;
var sql = @"
SELECT TOP 5 * FROM EETGW_Todo
SELECT * FROM EETGW_Todo
WHERE gcode = @gcode AND uid = @uid
AND (expire IS NULL OR CAST(expire AS DATE) >= CAST(GETDATE() AS DATE))
and isnull(status,'0') not in ('2','3','5')
ORDER BY flag DESC, seqno DESC, expire ASC, wdate ASC";
var todos = DBM.Query<TodoModel>(sql, new { gcode = gcode, uid = uid });

View File

@@ -53,6 +53,16 @@ namespace Project.Web.Model
/// </summary>
public string request { get; set; }
/// <summary>
/// 상태
/// 0: 대기
/// 1: 진행
/// 2: 취소
/// 3: 보류
/// 5: 완료
/// </summary>
public char status { get; set; }
/// <summary>
/// 자료생성자id
/// 로그인된 사용자id로 자동셋팅

View File

@@ -1070,6 +1070,112 @@
alert(message); // 나중에 더 예쁜 toast나 modal로 변경 가능
}
// Todo 목록 업데이트
function updateTodoList() {
showLoading();
fetch('/Todo/GetUrgentTodos')
.then(response => response.json())
.then(data => {
if (data.Success && data.Data) {
displayUrgentTodos(data.Data);
} else {
displayEmptyTodos();
}
hideLoading();
})
.catch(error => {
console.error('급한 할일 목록 업데이트 중 오류 발생:', error);
displayEmptyTodos();
hideLoading();
});
}
// 급한 할일 목록 표시
function displayUrgentTodos(todos) {
const todoContainer = document.getElementById('urgentTodoList');
let todoItems = '';
if (todos && todos.length > 0) {
todos.forEach(todo => {
const statusClass = getTodoStatusClass(todo.status);
const statusText = getTodoStatusText(todo.status);
const seqnoClass = getTodoSeqnoClass(todo.seqno);
const seqnoText = getTodoSeqnoText(todo.seqno);
const flagIcon = todo.flag ? '📌 ' : '';
const expireText = todo.expire ? new Date(todo.expire).toLocaleDateString('ko-KR') : '';
const isExpired = todo.expire && new Date(todo.expire) < new Date();
const expireClass = isExpired ? 'text-danger-400' : 'text-white/60';
todoItems += `
<div class="bg-white/10 rounded-lg p-4 hover:bg-white/15 transition-colors cursor-pointer" onclick="showTodoDetail(${todo.idx})">
<div class="flex items-start justify-between mb-2">
<div class="flex items-center space-x-2">
<span class="inline-flex items-center px-2 py-1 rounded-full text-xs font-medium ${statusClass}">
${statusText}
</span>
<span class="inline-flex items-center px-2 py-1 rounded-full text-xs font-medium ${seqnoClass}">
${seqnoText}
</span>
</div>
${expireText ? `<span class="text-xs ${expireClass}">${expireText}</span>` : ''}
</div>
<h4 class="text-white font-medium mb-1">${flagIcon}${todo.title || '제목 없음'}</h4>
<p class="text-white/70 text-sm line-clamp-2">${todo.remark || ''}</p>
${todo.request ? `<p class="text-white/50 text-xs mt-2">요청자: ${todo.request}</p>` : ''}
</div>
`;
});
} else {
todoItems = `
<div class="text-center text-white/50 py-8">
<svg class="w-8 h-8 mx-auto mb-2 opacity-50" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path>
</svg>
급한 할일이 없습니다
</div>
`;
}
todoContainer.innerHTML = todoItems;
}
// 빈 할일 목록 표시
function displayEmptyTodos() {
const todoContainer = document.getElementById('urgentTodoList');
todoContainer.innerHTML = `
<div class="text-center text-white/50 py-8">
<svg class="w-8 h-8 mx-auto mb-2 opacity-50" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path>
</svg>
급한 할일이 없습니다
</div>
`;
}
// Todo 상태 클래스 반환
function getTodoStatusClass(status) {
switch(status) {
case '0': return 'bg-gray-500/20 text-gray-300';
case '1': return 'bg-primary-500/20 text-primary-300';
case '2': return 'bg-danger-500/20 text-danger-300';
case '3': return 'bg-warning-500/20 text-warning-300';
case '5': return 'bg-success-500/20 text-success-300';
default: return 'bg-white/10 text-white/50';
}
}
// Todo 상태 텍스트 반환
function getTodoStatusText(status) {
switch(status) {
case '0': return '대기';
case '1': return '진행';
case '2': return '취소';
case '3': return '보류';
case '5': return '완료';
default: return '대기';
}
}
// 페이지 로드 시 데이터 업데이트
updateLeaveCount();
updateHolidayList();

View File

@@ -141,7 +141,8 @@
<table class="w-full">
<thead class="bg-white/10">
<tr>
<th class="px-6 py-4 text-left text-xs font-medium text-white/70 uppercase tracking-wider">상태</th>
<th class="px-6 py-4 text-left text-xs font-medium text-white/70 uppercase tracking-wider">진행상태</th>
<th class="px-6 py-4 text-left text-xs font-medium text-white/70 uppercase tracking-wider">플래그</th>
<th class="px-6 py-4 text-left text-xs font-medium text-white/70 uppercase tracking-wider">제목</th>
<th class="px-6 py-4 text-left text-xs font-medium text-white/70 uppercase tracking-wider">내용</th>
<th class="px-6 py-4 text-left text-xs font-medium text-white/70 uppercase tracking-wider">요청자</th>
@@ -205,7 +206,18 @@
<label class="block text-white/70 text-sm font-medium mb-2">요청자</label>
<input type="text" id="todoRequest" class="w-full bg-white/20 backdrop-blur-sm border border-white/30 rounded-lg px-4 py-2 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400 transition-all" placeholder="업무 요청자를 입력하세요">
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<div>
<label class="block text-white/70 text-sm font-medium mb-2">진행상태</label>
<input type="hidden" id="todoStatus" value="0">
<div class="flex flex-wrap gap-2">
<button type="button" onclick="setNewTodoStatus('0')" id="newStatusBtn0" class="px-3 py-1 rounded-lg text-xs font-medium bg-gray-500/20 text-gray-300 border border-gray-500/30 transition-all">대기</button>
<button type="button" onclick="setNewTodoStatus('1')" id="newStatusBtn1" class="px-3 py-1 rounded-lg text-xs font-medium bg-white/10 text-white/50 border border-white/20 hover:bg-primary-500/20 hover:text-primary-300 transition-all">진행</button>
<button type="button" onclick="setNewTodoStatus('3')" id="newStatusBtn3" class="px-3 py-1 rounded-lg text-xs font-medium bg-white/10 text-white/50 border border-white/20 hover:bg-warning-500/20 hover:text-warning-300 transition-all">보류</button>
<button type="button" onclick="setNewTodoStatus('2')" id="newStatusBtn2" class="px-3 py-1 rounded-lg text-xs font-medium bg-white/10 text-white/50 border border-white/20 hover:bg-danger-500/20 hover:text-danger-300 transition-all">취소</button>
<button type="button" onclick="setNewTodoStatus('5')" id="newStatusBtn5" class="px-3 py-1 rounded-lg text-xs font-medium bg-white/10 text-white/50 border border-white/20 hover:bg-success-500/20 hover:text-success-300 transition-all">완료</button>
</div>
</div>
<div>
<label class="block text-white/70 text-sm font-medium mb-2">중요도</label>
<select id="todoSeqno" class="w-full bg-white/20 backdrop-blur-sm border border-white/30 rounded-lg px-4 py-2 text-white focus:outline-none focus:ring-2 focus:ring-primary-400 transition-all">
@@ -282,7 +294,18 @@
<label class="block text-white/70 text-sm font-medium mb-2">요청자</label>
<input type="text" id="editTodoRequest" class="w-full bg-white/20 backdrop-blur-sm border border-white/30 rounded-lg px-4 py-2 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-primary-400 transition-all" placeholder="업무 요청자를 입력하세요">
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<div>
<label class="block text-white/70 text-sm font-medium mb-2">진행상태</label>
<input type="hidden" id="editTodoStatus" value="0">
<div class="flex flex-wrap gap-2">
<button type="button" onclick="updateTodoStatus('0')" id="editStatusBtn0" class="px-3 py-1 rounded-lg text-xs font-medium bg-white/10 text-white/50 border border-white/20 hover:bg-gray-500/20 hover:text-gray-300 transition-all">대기</button>
<button type="button" onclick="updateTodoStatus('1')" id="editStatusBtn1" class="px-3 py-1 rounded-lg text-xs font-medium bg-white/10 text-white/50 border border-white/20 hover:bg-primary-500/20 hover:text-primary-300 transition-all">진행</button>
<button type="button" onclick="updateTodoStatus('3')" id="editStatusBtn3" class="px-3 py-1 rounded-lg text-xs font-medium bg-white/10 text-white/50 border border-white/20 hover:bg-warning-500/20 hover:text-warning-300 transition-all">보류</button>
<button type="button" onclick="updateTodoStatus('2')" id="editStatusBtn2" class="px-3 py-1 rounded-lg text-xs font-medium bg-white/10 text-white/50 border border-white/20 hover:bg-danger-500/20 hover:text-danger-300 transition-all">취소</button>
<button type="button" onclick="updateTodoStatus('5')" id="editStatusBtn5" class="px-3 py-1 rounded-lg text-xs font-medium bg-white/10 text-white/50 border border-white/20 hover:bg-success-500/20 hover:text-success-300 transition-all">완료</button>
</div>
</div>
<div>
<label class="block text-white/70 text-sm font-medium mb-2">중요도</label>
<select id="editTodoSeqno" class="w-full bg-white/20 backdrop-blur-sm border border-white/30 rounded-lg px-4 py-2 text-white focus:outline-none focus:ring-2 focus:ring-primary-400 transition-all">
@@ -461,8 +484,11 @@
if (todos && todos.length > 0) {
todos.forEach(todo => {
const statusClass = getStatusClass(todo.status);
const statusText = getStatusText(todo.status);
const flagClass = todo.flag ? 'bg-warning-500/20 text-warning-300' : 'bg-white/10 text-white/50';
const flagText = todo.flag ? '고정' : '';
const flagText = todo.flag ? '고정' : '일반';
const seqnoClass = getSeqnoClass(todo.seqno);
const seqnoText = getSeqnoText(todo.seqno);
@@ -473,9 +499,14 @@
tableRows += `
<tr class="hover:bg-white/5 transition-colors cursor-pointer" onclick="editTodo(${todo.idx})">
<td class="px-6 py-4 whitespace-nowrap">
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium ${statusClass}">
${statusText}
</span>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium ${flagClass}">
${flagText || '일반'}
${flagText}
</span>
</td>
<td class="px-6 py-4 text-white">${todo.title || '제목 없음'}</td>
@@ -501,7 +532,7 @@
} else {
tableRows = `
<tr>
<td colspan="6" class="px-6 py-8 text-center text-white/50">
<td colspan="8" class="px-6 py-8 text-center text-white/50">
등록된 할일이 없습니다
</td>
</tr>
@@ -531,6 +562,126 @@
}
}
// 상태 클래스 반환
function getStatusClass(status) {
switch(status) {
case '0': return 'bg-gray-500/20 text-gray-300';
case '1': return 'bg-primary-500/20 text-primary-300';
case '2': return 'bg-danger-500/20 text-danger-300';
case '3': return 'bg-warning-500/20 text-warning-300';
case '5': return 'bg-success-500/20 text-success-300';
default: return 'bg-white/10 text-white/50';
}
}
// 상태 텍스트 반환
function getStatusText(status) {
switch(status) {
case '0': return '대기';
case '1': return '진행';
case '2': return '취소';
case '3': return '보류';
case '5': return '완료';
default: return '대기';
}
}
// 새 할일 추가시 상태 설정
function setNewTodoStatus(status) {
const statusInput = document.getElementById('todoStatus');
if (statusInput) {
statusInput.value = status;
}
// 모든 버튼 초기화
['0', '1', '2', '3', '5'].forEach(s => {
const btn = document.getElementById(`newStatusBtn${s}`);
if (btn) {
btn.className = 'px-3 py-1 rounded-lg text-xs font-medium bg-white/10 text-white/50 border border-white/20 hover:bg-white/20 transition-all';
}
});
// 선택된 버튼 활성화
const selectedBtn = document.getElementById(`newStatusBtn${status}`);
if (selectedBtn) {
const statusClass = getStatusClass(status).replace('bg-', 'bg-').replace('text-', 'text-');
const borderClass = statusClass.replace('bg-', 'border-').replace('text-', 'border-').replace('/20', '/30');
selectedBtn.className = `px-3 py-1 rounded-lg text-xs font-medium ${statusClass} ${borderClass} transition-all`;
}
}
// 편집 모달에서 상태 업데이트 (바로 서버에 반영)
function updateTodoStatus(status) {
if (!currentEditId) return;
const formData = {
idx: currentEditId,
title: document.getElementById('editTodoTitle').value,
remark: document.getElementById('editTodoRemark').value,
expire: document.getElementById('editTodoExpire').value || null,
seqno: parseInt(document.getElementById('editTodoSeqno').value),
flag: document.getElementById('editTodoFlag').checked,
request: document.getElementById('editTodoRequest').value || null,
status: status
};
if (!formData.remark.trim()) {
showError('할일 내용을 입력해주세요.');
return;
}
showLoading();
fetch('/Todo/UpdateTodo', {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(formData)
})
.then(response => response.json())
.then(data => {
if (data.Success) {
// 목록 새로고침
loadTodos();
// 모달 닫기
hideEditModal();
showSuccess(`상태가 '${getStatusText(status)}'(으)로 변경되었습니다.`);
} else {
showError(data.Message || '상태 변경에 실패했습니다.');
}
hideLoading();
})
.catch(error => {
console.error('상태 변경 중 오류:', error);
showError('서버 연결에 실패했습니다.');
hideLoading();
});
}
// 편집 모달에서 상태 버튼 표시 설정
function setEditTodoStatus(status) {
const statusInput = document.getElementById('editTodoStatus');
if (statusInput) {
statusInput.value = status;
}
// 모든 버튼 초기화
['0', '1', '2', '3', '5'].forEach(s => {
const btn = document.getElementById(`editStatusBtn${s}`);
if (btn) {
btn.className = 'px-3 py-1 rounded-lg text-xs font-medium bg-white/10 text-white/50 border border-white/20 hover:bg-white/20 transition-all';
}
});
// 선택된 버튼 활성화
const selectedBtn = document.getElementById(`editStatusBtn${status}`);
if (selectedBtn) {
const statusClass = getStatusClass(status).replace('bg-', 'bg-').replace('text-', 'text-');
const borderClass = statusClass.replace('bg-', 'border-').replace('text-', 'border-').replace('/20', '/30');
selectedBtn.className = `px-3 py-1 rounded-lg text-xs font-medium ${statusClass} ${borderClass} transition-all`;
}
}
// 새 할일 추가
function addTodo() {
const formData = {
@@ -539,7 +690,8 @@
expire: document.getElementById('todoExpire').value || null,
seqno: parseInt(document.getElementById('todoSeqno').value),
flag: document.getElementById('todoFlag').checked,
request: document.getElementById('todoRequest').value || null
request: document.getElementById('todoRequest').value || null,
status: document.getElementById('todoStatus').value
};
if (!formData.remark.trim()) {
@@ -589,6 +741,7 @@
document.getElementById('editTodoSeqno').value = todo.seqno || 0;
document.getElementById('editTodoFlag').checked = todo.flag || false;
document.getElementById('editTodoRequest').value = todo.request || '';
setEditTodoStatus(todo.status || '0');
// 날짜 포맷 변환
if (todo.expire) {
@@ -620,7 +773,8 @@
expire: document.getElementById('editTodoExpire').value || null,
seqno: parseInt(document.getElementById('editTodoSeqno').value),
flag: document.getElementById('editTodoFlag').checked,
request: document.getElementById('editTodoRequest').value || null
request: document.getElementById('editTodoRequest').value || null,
status: document.getElementById('editTodoStatus').value
};
if (!formData.remark.trim()) {

View File

@@ -73,10 +73,10 @@
this.layoutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.mn_dailyhistory = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem18 = new System.Windows.Forms.ToolStripSeparator();
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();
@@ -518,13 +518,6 @@
this.ToolStripMenuItem1.Text = "업무일지";
this.ToolStripMenuItem1.Click += new System.EventHandler(this.ToolStripMenuItem1_Click);
//
// 자동입력ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "자동입력ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(234, 24);
this.ToolStripMenuItem.Text = "기타업무(파견,출장) 등록";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// 양식ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "양식ToolStripMenuItem";
@@ -544,6 +537,13 @@
this.ToolStripMenuItem.Text = "업무분류 및 형태설정";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// 자동입력ToolStripMenuItem
//
this.ToolStripMenuItem.Name = "자동입력ToolStripMenuItem";
this.ToolStripMenuItem.Size = new System.Drawing.Size(234, 24);
this.ToolStripMenuItem.Text = "기타업무(파견,출장) 등록";
this.ToolStripMenuItem.Click += new System.EventHandler(this.ToolStripMenuItem_Click);
//
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
@@ -1096,6 +1096,7 @@
this.tabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.tabControl1.TabIndex = 34;
this.tabControl1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.tabControl1_DrawItem);
this.tabControl1.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged);
//
// toolStrip1
//

View File

@@ -1,16 +1,17 @@
using Microsoft.Owin.Hosting;
using FBS0000;
using FCOMMON;
using Microsoft.Owin.Hosting;
using Project.Dialog;
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 System.ServiceModel;
using System.Text;
using System.Web.Services.Description;
using FCOMMON;
using FBS0000;
using System.Windows.Forms;
namespace Project
{
@@ -103,7 +104,7 @@ namespace Project
{
EnsureVisibleAndUsableSize();
this.Text = Application.ProductName + " v" + Application.ProductVersion;
// 실행환경 체크는 fWarning에서 이미 완료됨
setToolbar();
@@ -161,7 +162,7 @@ namespace Project
System.Threading.Thread.Sleep(500); // 1초에서 0.5초로 단축
Application.DoEvents();
}
Console.WriteLine($"WebView2 초기화 상태: {Pub.InitWebView}");
Func_Login();
@@ -227,7 +228,7 @@ namespace Project
//220421
FCOMMON.info.Disable_8hourover = Pub.setting.Disable8HourOver;
if ( FCOMMON.info.Login.level >= 10) btDev.Visible = true;
if (FCOMMON.info.Login.level >= 10) btDev.Visible = true;
sbLogin.Text = string.Format("[{0}] ({1}-{2} T:{3}) - ({5}){4}",
FCOMMON.info.Login.title,
@@ -370,7 +371,7 @@ namespace Project
//if (this.webok && Pub.InitWebView == 1 && System.Diagnostics.Debugger.IsAttached)
// AddForm(formkey, new Dialog.fJobReport());
//else
AddForm(formkey, new FPJ0000.fJobReport());
AddForm(formkey, new FPJ0000.fJobReport());
}
@@ -467,7 +468,7 @@ namespace Project
var f = new FCM0000.fCode();
f.ShowDialog();
}
}
@@ -1453,11 +1454,16 @@ namespace Project
}
Dialog.fDashboard fdashboard = null;
void Menu_Dashboard()
{
string formkey = "DASHBOARD";
if (!ShowForm(formkey))
AddForm(formkey, new Dialog.fDashboard());
{
if (fdashboard == null || fdashboard.IsDisposed)
fdashboard = new Dialog.fDashboard();
AddForm(formkey, fdashboard);
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
@@ -1513,5 +1519,17 @@ namespace Project
f.ShowDialog();
}
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
if(this.tabControl1.SelectedIndex == 0)
{
if (fdashboard != null)
{
fdashboard.RefreshView();
Console.WriteLine( "view update");
}
}
}
}
}

View File

@@ -454,14 +454,14 @@
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAICSURBVDhPY4CDmcasDEu1MxmW6ixgWKbTwrBYVx0svkqL
h2GZViHDMu15QPFWhmXqUmBxDLBUZzVQwX84Xqzzg2GJpifDMs3rKOJLtZ4ADZWA6oKCpVo2IEmBtZb/
/U7m/E+5XP8/92TF/3lzYj/UdOb/S73c8D/yXNl/1W1eUEO0+6A6oWCZzgT+NebHkq/Ufyu+1fO/5GbP
/U7m/E+5XP8/92TF/3lzYj/UdOT/S73c8D/yXNl/1W1eUEO0+6A6oWCZzgT+NebHkq/Ufyu+1fO/5GbP
/0Mzc/4/6kz7f3VS5k+QGAyb7A49wbBE5xpUJxQs1RUsvtVdB1PUcaj+//XSiP/7W+3/Xi/0+tyzrRBu
QPGtrgsg9VCdCFB8s3suTFHlpY5l5wtDDl5Odvt2MUjt/7YKp73FFzs+guQKbva8g2pBBTAXFN3sKQHx
X7RGiD8u8/x/JUPrz5NsG7XCm736QNs/F93qOQ/WgA6K7/QYF9/oOg7lMjwu9vR8VOrxH4xLvDxAYkBX
lgItagErwAaK73SLQZkMTyq8smAGPKn0zgSJ1d+v58i9NZEPrIAQeFTh2fek3Os/CD8u9+qFChMPgP7f
CPdCqccGqDBx4P/+eo4XXVGn3/TE/Qfhl52Rp0BiUGns4N+Bfs2/B3r7/h/oPXP/QO9vIP0fGUPFzoDV
7O/RgGoDatw2kR0oOP9sX/0/dE24MEjt3wM980B6Gf7u7+3FpogYDNILdHqfLdC05UCBVaRgkJ5/B/ps
AUV3qmn514jSAAAAAElFTkSuQmCC
7O/RgGoDatw2kR0oOP9Mb/0/dE24MEjt3wM980B6Gf7u7+3FpogYDNILdHqfLdC05UCBVaRgkJ5/B/ps
AT99qmQqX2rFAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

View File

@@ -31,6 +31,9 @@
this.components = new System.ComponentModel.Container();
this.dataGridView1 = new arCtl.arDatagridView();
this.panel1 = new System.Windows.Forms.Panel();
this.cmbApploval = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.radTypeAll = new System.Windows.Forms.RadioButton();
this.radTypePMS = new System.Windows.Forms.RadioButton();
this.radType = new System.Windows.Forms.RadioButton();
this.tbEd = new System.Windows.Forms.TextBox();
@@ -40,9 +43,6 @@
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.btRefresh = new System.Windows.Forms.Button();
this.tbSd = new System.Windows.Forms.TextBox();
this.radTypeAll = new System.Windows.Forms.RadioButton();
this.label2 = new System.Windows.Forms.Label();
this.cmbApploval = new System.Windows.Forms.ComboBox();
this.bs = new System.Windows.Forms.BindingSource(this.components);
this.dsReport = new FPJ0000.dsReport();
this.ta = new FPJ0000.dsReportTableAdapters.jobReportTableAdapter();
@@ -93,6 +93,38 @@
this.panel1.Size = new System.Drawing.Size(1028, 36);
this.panel1.TabIndex = 3;
//
// cmbApploval
//
this.cmbApploval.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbApploval.FormattingEnabled = true;
this.cmbApploval.Items.AddRange(new object[] {
"승인완료",
"미승인"});
this.cmbApploval.Location = new System.Drawing.Point(543, 9);
this.cmbApploval.Name = "cmbApploval";
this.cmbApploval.Size = new System.Drawing.Size(85, 20);
this.cmbApploval.TabIndex = 14;
this.cmbApploval.SelectedIndexChanged += new System.EventHandler(this.cmbApploval_SelectedIndexChanged);
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(508, 13);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(29, 12);
this.label2.TabIndex = 13;
this.label2.Text = "승인";
//
// radTypeAll
//
this.radTypeAll.AutoSize = true;
this.radTypeAll.Location = new System.Drawing.Point(749, 11);
this.radTypeAll.Name = "radTypeAll";
this.radTypeAll.Size = new System.Drawing.Size(78, 16);
this.radTypeAll.TabIndex = 12;
this.radTypeAll.Text = "대체,PMS";
this.radTypeAll.UseVisualStyleBackColor = true;
//
// radTypePMS
//
this.radTypePMS.AutoSize = true;
@@ -183,38 +215,6 @@
this.tbSd.Text = "2020";
this.tbSd.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// radTypeAll
//
this.radTypeAll.AutoSize = true;
this.radTypeAll.Location = new System.Drawing.Point(749, 11);
this.radTypeAll.Name = "radTypeAll";
this.radTypeAll.Size = new System.Drawing.Size(78, 16);
this.radTypeAll.TabIndex = 12;
this.radTypeAll.Text = "대체,PMS";
this.radTypeAll.UseVisualStyleBackColor = true;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(508, 13);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(29, 12);
this.label2.TabIndex = 13;
this.label2.Text = "승인";
//
// cmbApploval
//
this.cmbApploval.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cmbApploval.FormattingEnabled = true;
this.cmbApploval.Items.AddRange(new object[] {
"승인완료",
"미승인"});
this.cmbApploval.Location = new System.Drawing.Point(543, 9);
this.cmbApploval.Name = "cmbApploval";
this.cmbApploval.Size = new System.Drawing.Size(85, 20);
this.cmbApploval.TabIndex = 14;
this.cmbApploval.SelectedIndexChanged += new System.EventHandler(this.cmbApploval_SelectedIndexChanged);
//
// bs
//
this.bs.DataMember = "jobreport";
@@ -223,6 +223,7 @@
// dsReport
//
this.dsReport.DataSetName = "dsReport";
this.dsReport.Namespace = "http://tempuri.org/dsReport.xsd";
this.dsReport.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
//
// ta

View File

@@ -45,7 +45,7 @@ namespace FPJ0000.JobReport_
//var taH = new dsReportTableAdapters.HolidayLIstTableAdapter();
//taH.Fill(this.dsReport.HolidayLIst, tbMon.Text + "%");
var isReqData = cmbApploval.SelectedIndex > 0;
var isReqData = cmbApploval.SelectedIndex > 0; //미승인선택
string prcname = tbProcess.SelectedIndex < 1 ? "%" : tbProcess.Text.Trim();
if (isReqData)
{
@@ -73,8 +73,7 @@ namespace FPJ0000.JobReport_
this.dataGridView1.Columns.Add("공정", "공정");
this.dataGridView1.Columns.Add("이름", "이름");
this.dataGridView1.Columns.Add("사번", "사번");
//var otTitle = radType.Checked ? "연장" : "PMS";
//이름/년도데이터추가
var ymlist = dsReport.jobReport.OrderBy(t => t.yymm).GroupBy(t => t.yymm);
@@ -82,51 +81,77 @@ namespace FPJ0000.JobReport_
{
var drYm = ym.FirstOrDefault();
var basehr = int.Parse(drYm.yymm.Substring(drYm.yymm.IndexOf('(')).Replace("(", "").Replace(")", ""));
this.dataGridView1.Columns.Add(drYm.yymm, drYm.yymm.Substring(0, 7) + "\n휴일");// + "\r\n(" + basehr.ToString() + ")");
var colname = drYm.yymm;//.Substring(0, 7);
var yymm = drYm.yymm.Substring(0, 7);
if (isReqData)
{
this.dataGridView1.Columns.Add(drYm.yymm, $"({basehr})\n요청");
this.dataGridView1.Columns.Add(colname, yymm + "\n휴일");
this.dataGridView1.Columns.Add(colname, $"요청");
}
else if (radTypeAll.Checked)
{
this.dataGridView1.Columns.Add(drYm.yymm, $"({basehr})\n연장");
this.dataGridView1.Columns.Add(drYm.yymm, $"({basehr})\nPMS");
this.dataGridView1.Columns.Add(colname, yymm + "\n휴일");
this.dataGridView1.Columns.Add(colname, $"연장");
this.dataGridView1.Columns.Add(colname, $"휴일\n(PMS)");
this.dataGridView1.Columns.Add(colname, $"PMS");
}
else if (radType.Checked)
{
this.dataGridView1.Columns.Add(drYm.yymm, $"({basehr})\n연장");
this.dataGridView1.Columns.Add(colname, yymm + "\n휴일");
this.dataGridView1.Columns.Add(colname, $"연장");
}
else
{
this.dataGridView1.Columns.Add(drYm.yymm, $"({basehr})\nPMS");
this.dataGridView1.Columns.Add(colname, yymm + "\n휴일\n(PMS)");
this.dataGridView1.Columns.Add(colname, $"PMS");
}
this.dataGridView1.Columns.Add(colname, $"{basehr}h\n%");
this.dataGridView1.Columns[this.dataGridView1.Columns.Count - 3].Tag = basehr;
this.dataGridView1.Columns[this.dataGridView1.Columns.Count - 3].DefaultCellStyle.Format = "N1";
this.dataGridView1.Columns[this.dataGridView1.Columns.Count - 2].Tag = basehr;
this.dataGridView1.Columns[this.dataGridView1.Columns.Count - 1].Tag = basehr;
this.dataGridView1.Columns[this.dataGridView1.Columns.Count - 2].DefaultCellStyle.Format = "N1";
this.dataGridView1.Columns[this.dataGridView1.Columns.Count - 1].DefaultCellStyle.Format = "N1";
if (radTypeAll.Checked)
{
this.dataGridView1.Columns[this.dataGridView1.Columns.Count - 3].Tag = basehr;
this.dataGridView1.Columns[this.dataGridView1.Columns.Count - 3].DefaultCellStyle.Format = "N1";
this.dataGridView1.Columns[this.dataGridView1.Columns.Count - 5].Tag = basehr;
this.dataGridView1.Columns[this.dataGridView1.Columns.Count - 5].DefaultCellStyle.Format = "N1";
this.dataGridView1.Columns[this.dataGridView1.Columns.Count - 4].Tag = basehr;
this.dataGridView1.Columns[this.dataGridView1.Columns.Count - 4].DefaultCellStyle.Format = "N1";
}
}
this.dataGridView1.Columns.Add("subtotal", "합계\n휴일");
//사용자별 전체합계칸
if (isReqData)
{
this.dataGridView1.Columns.Add("subtotal", "합계\n휴일");
this.dataGridView1.Columns.Add($"subtotal", $"합계\n요청");
}
else if (radTypeAll.Checked)
{
this.dataGridView1.Columns.Add("subtotal", "합계\n휴일");
this.dataGridView1.Columns.Add($"subtotal", $"합계\n연장");
this.dataGridView1.Columns.Add("subtotal", "합계\n휴일\n(PMS)");
this.dataGridView1.Columns.Add($"subtotal", $"합계\nPMS");
}
else if (radType.Checked)
{
this.dataGridView1.Columns.Add("subtotal", "합계\n휴일");
this.dataGridView1.Columns.Add($"subtotal", $"합계\n연장");
}
else
{
this.dataGridView1.Columns.Add("subtotal", "합계\n휴일\n(PMS)");
this.dataGridView1.Columns.Add($"subtotal", $"합계\nPMS");
}
@@ -149,19 +174,32 @@ namespace FPJ0000.JobReport_
List<Boolean> high = new List<bool>();
List<Boolean> low = new List<bool>();
for (int i = 3; i < this.dataGridView1.ColumnCount; i += 2)
var columngap = radTypeAll.Checked ? 4 : 2;
for (int i = 3; i < this.dataGridView1.ColumnCount; i += columngap)
{
var col = dataGridView1.Columns[i];
var colName = col.Name;
var coltitle = col.HeaderText;
if (col.Tag == null) continue;
var basehr = int.Parse(col.Tag.ToString());
var userDatas = dsReport.jobReport.Where(t => t.uid == drName.uid && t.yymm == col.Name);
var userDatas = dsReport.jobReport.Where(t => t.uid == drName.uid && t.yymm == colName);
if (userDatas == null || userDatas.Count() == 0)
{
//이달에는 데이터가없다
rowdata.Add(null); //휴일
rowdata.Add(null); //연장
//전체보기시에는 더많은 skip을 해야한다.
if (radTypeAll.Checked)
{
rowdata.Add(null); //휴일(pms)
rowdata.Add(null); //연장(pms)
}
rowdata.Add(null); //ot율
high.Add(false);
low.Add(false);
}
@@ -177,29 +215,31 @@ namespace FPJ0000.JobReport_
//}
var sumhr = userDatas.Sum(t => t.hrs);
double sumotOne = 0.0;
double sumhlOne = 0.0;
double sumotAll = 0.0;
double sumhlAll = 0.0;
double sumotOne = 0.0; //연장근무(평일)
double sumhlOne = 0.0; //연장근무(휴일)
if (isReqData)
double sumotAll = 0.0; //연장근무합계(평일)
double sumhlAll = 0.0; //연장근무합계(휴일)
if (isReqData) //미승인데이터
{
sumotOne = userDatas.Sum(t => t.ot);
sumhlOne = userDatas.Sum(t => t.holyot);
}
else if (radType.Checked)
else if (radType.Checked) //대체승인
{
sumotOne = userDatas.Sum(t => t.ot2);
sumhlOne = userDatas.Sum(t => t.holyot2);
}
else if (radTypePMS.Checked)
else if (radTypePMS.Checked) //PMS승인
{
sumotOne = userDatas.Sum(t => t.otPMS);
sumhlOne = userDatas.Sum(t => t.holyotPMS);
}
else
{
//전체보기에는 두개를 모두 사용한다.
sumotOne = userDatas.Sum(t => t.ot2);
sumhlOne = userDatas.Sum(t => t.holyot2);
@@ -207,24 +247,30 @@ namespace FPJ0000.JobReport_
sumhlAll = userDatas.Sum(t => t.holyotPMS);
}
//사용자별 누적 합계
User_sumhlOne += sumhlOne;
User_sumotOne += sumotOne;
if (radTypeAll.Checked)
{
User_sumhlAll += sumhlAll;
User_sumotAll += sumotAll;
}
var user_total_ot = sumhlOne + sumotOne;
//우측 합계표시
if (sumhlOne == 0.0) rowdata.Add(null);
else rowdata.Add($"{Math.Round(sumhlOne, 1)}");
if (sumotOne == 0.0) rowdata.Add(null);
else rowdata.Add($"{Math.Round(sumotOne, 1)}");
//전체라면 합계를 추가
//전체라면 PMS용 합계를 추가
if (isReqData == false && radTypeAll.Checked)
{
user_total_ot += sumhlAll + sumotAll;
if (sumhlAll == 0.0) rowdata.Add(null);
else rowdata.Add($"{Math.Round(sumhlAll, 1)}");
@@ -234,6 +280,14 @@ namespace FPJ0000.JobReport_
if (basehr != 0.0)
{
var otrate = (user_total_ot / basehr) * 100.0;
rowdata.Add($"{otrate:N1}%");
}
else rowdata.Add(null);
if (sumhr > basehr) high.Add(true);
else high.Add(false);
@@ -242,17 +296,27 @@ namespace FPJ0000.JobReport_
}
}
//사용자별 합계정보 표시
if (User_sumhlOne == 0.0) rowdata.Add(null);
else rowdata.Add($"{Math.Round(User_sumhlOne, 1)}"); //합계(휴일)
rowdata.Add($"{Math.Round(User_sumhlOne, 1)}"); //합게
rowdata.Add($"{Math.Round(User_sumotOne, 1)}"); //합
if (User_sumotOne == 0.0) rowdata.Add(null);
else rowdata.Add($"{Math.Round(User_sumotOne, 1)}"); //합계(연장, PMS)
if (isReqData == false && radTypeAll.Checked)
{
rowdata.Add($"{Math.Round(User_sumhlAll, 1)}"); //합게
rowdata.Add($"{Math.Round(User_sumotAll, 1)}"); //합게
if (User_sumhlAll == 0.0) rowdata.Add(null);
else rowdata.Add($"{Math.Round(User_sumhlAll, 1)}"); //합계(휴일-PMS)
if (User_sumotAll == 0.0) rowdata.Add(null);
else rowdata.Add($"{Math.Round(User_sumotAll, 1)}"); //합게(연장-PMS)
}
dataGridView1.Rows.Add(rowdata.ToArray());
//이번에 추가한 줄의 셀 컬러를 지정한다
@@ -262,13 +326,30 @@ namespace FPJ0000.JobReport_
var col = this.dataGridView1.Columns[i];
if (col.Tag == null)
{
dataGridView1.Rows[currentrow].Cells[i].Style.ForeColor = Color.Black;
dataGridView1.Rows[currentrow].Cells[i].Style.BackColor = Color.WhiteSmoke;
//여기에는 합계칸이 온다
if (col.HeaderText.EndsWith("%"))
{
dataGridView1.Rows[currentrow].Cells[i].Style.ForeColor = Color.Black;
dataGridView1.Rows[currentrow].Cells[i].Style.BackColor = Color.Gold;
}
else if (col.HeaderText.Contains("PMS"))
{
dataGridView1.Rows[currentrow].Cells[i].Style.ForeColor = Color.DimGray;
dataGridView1.Rows[currentrow].Cells[i].Style.BackColor = Color.WhiteSmoke;
}
else
{
dataGridView1.Rows[currentrow].Cells[i].Style.ForeColor = Color.Black;
dataGridView1.Rows[currentrow].Cells[i].Style.BackColor = Color.WhiteSmoke;
}
continue;
}
else
{
if (col.HeaderText.Contains("요청") || col.HeaderText.Contains("연장") || col.HeaderText.Contains("PMS"))
if (col.HeaderText.Contains("휴일"))
dataGridView1.Rows[currentrow].Cells[i].Style.BackColor = Color.White;// 155,82,93);
else if (col.HeaderText.Contains("요청") || col.HeaderText.Contains("연장") || col.HeaderText.Contains("PMS"))
dataGridView1.Rows[currentrow].Cells[i].Style.BackColor = Color.Linen;// 155,82,93);
else
dataGridView1.Rows[currentrow].Cells[i].Style.BackColor = Color.White;
@@ -292,10 +373,16 @@ namespace FPJ0000.JobReport_
rowdata2.Add("합계");
rowdata2.Add(dataGridView1.Rows.Count);
rowdata2.Add(null); //사번
for (int i = 0; i < this.dataGridView1.ColumnCount; i++)
for (int i = 3; i < this.dataGridView1.ColumnCount; i++)
{
var col = this.dataGridView1.Columns[i];
if (col.Tag == null && col.HeaderText.StartsWith("합계") == false) continue;
var colName = col.Name;
var header = col.HeaderText;
if (col.HeaderText.EndsWith("%") == true )
{
rowdata2.Add(null);
continue;
}
var sum = 0.0;
for (int r = 0; r < this.dataGridView1.RowCount; r++)
@@ -306,6 +393,7 @@ namespace FPJ0000.JobReport_
if (sum != 0.0) rowdata2.Add(sum);
else rowdata2.Add(null);
}
dataGridView1.Rows.Add(rowdata2.ToArray());
dataGridView1.Rows[dataGridView1.Rows.Count - 1].DefaultCellStyle.BackColor = Color.LightGray;

View File

@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
@@ -26,36 +26,36 @@
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->

File diff suppressed because it is too large Load Diff

View File

@@ -467,90 +467,114 @@ ORDER BY Projects.idx DESC, subidx, EETGW_ProjectsSchedule.no, EETGW_ProjectsSch
</Mappings>
<Sources />
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="WorkDayCountTableAdapter" GeneratorDataComponentClassName="WorkDayCountTableAdapter" Name="WorkDayCount" UserDataComponentName="WorkDayCountTableAdapter">
<MainSource>
<DbSource ConnectionRef="gwcs (Settings)" DbObjectType="Unknown" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT LEFT(pdate, 7) AS ym, COUNT(*) AS cnt
FROM HolidayLIst
WHERE (ISNULL(free, 0) = 0) AND (LEFT(pdate, 7) BETWEEN @sm AND @em)
GROUP BY LEFT(pdate, 7)
ORDER BY ym</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="sm" ColumnName="" DataSourceName="" DataTypeServer="unknown" DbType="AnsiString" Direction="Input" ParameterName="@sm" Precision="0" Scale="0" Size="1024" SourceColumn="" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="em" ColumnName="" DataSourceName="" DataTypeServer="unknown" DbType="AnsiString" Direction="Input" ParameterName="@em" Precision="0" Scale="0" Size="1024" SourceColumn="" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="ym" DataSetColumn="ym" />
<Mapping SourceColumn="cnt" DataSetColumn="cnt" />
</Mappings>
<Sources />
</TableAdapter>
</Tables>
<Sources />
</DataSource>
</xs:appinfo>
</xs:annotation>
<xs:element name="dsReport" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="dsReport" msprop:Generator_UserDSName="dsReport">
<xs:element name="dsReport" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_UserDSName="dsReport" msprop:Generator_DataSetName="dsReport">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="jobReport" msprop:Generator_UserTableName="jobReport" msprop:Generator_RowEvArgName="jobReportRowChangeEvent" msprop:Generator_TableVarName="tablejobReport" msprop:Generator_TablePropName="jobReport" msprop:Generator_RowDeletingName="jobReportRowDeleting" msprop:Generator_RowChangingName="jobReportRowChanging" msprop:Generator_RowDeletedName="jobReportRowDeleted" msprop:Generator_RowEvHandlerName="jobReportRowChangeEventHandler" msprop:Generator_TableClassName="jobReportDataTable" msprop:Generator_RowChangedName="jobReportRowChanged" msprop:Generator_RowClassName="jobReportRow">
<xs:element name="jobReport" msprop:Generator_RowClassName="jobReportRow" msprop:Generator_RowEvHandlerName="jobReportRowChangeEventHandler" msprop:Generator_RowDeletedName="jobReportRowDeleted" msprop:Generator_RowDeletingName="jobReportRowDeleting" msprop:Generator_RowEvArgName="jobReportRowChangeEvent" msprop:Generator_TablePropName="jobReport" msprop:Generator_RowChangedName="jobReportRowChanged" msprop:Generator_UserTableName="jobReport" msprop:Generator_RowChangingName="jobReportRowChanging" msprop:Generator_TableClassName="jobReportDataTable" msprop:Generator_TableVarName="tablejobReport">
<xs:complexType>
<xs:sequence>
<xs:element name="yymm" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnyymm" msprop:Generator_ColumnPropNameInRow="yymm" msprop:Generator_ColumnPropNameInTable="yymmColumn" msprop:Generator_UserColumnName="yymm">
<xs:element name="yymm" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInRow="yymm" msprop:Generator_ColumnPropNameInTable="yymmColumn" msprop:Generator_ColumnVarNameInTable="columnyymm" msprop:Generator_UserColumnName="yymm">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="22" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="total" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columntotal" msprop:Generator_ColumnPropNameInRow="total" msprop:Generator_ColumnPropNameInTable="totalColumn" msprop:Generator_UserColumnName="total" type="xs:int" minOccurs="0" />
<xs:element name="uid" msprop:Generator_ColumnVarNameInTable="columnuid" msprop:Generator_ColumnPropNameInRow="uid" msprop:Generator_ColumnPropNameInTable="uidColumn" msprop:Generator_UserColumnName="uid">
<xs:element name="total" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInRow="total" msprop:Generator_ColumnPropNameInTable="totalColumn" msprop:Generator_ColumnVarNameInTable="columntotal" msprop:Generator_UserColumnName="total" type="xs:int" minOccurs="0" />
<xs:element name="uid" msprop:Generator_ColumnPropNameInRow="uid" msprop:Generator_ColumnPropNameInTable="uidColumn" msprop:Generator_ColumnVarNameInTable="columnuid" msprop:Generator_UserColumnName="uid">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="uname" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnuname" msprop:Generator_ColumnPropNameInRow="uname" msprop:Generator_ColumnPropNameInTable="unameColumn" msprop:Generator_UserColumnName="uname" minOccurs="0">
<xs:element name="uname" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInRow="uname" msprop:Generator_ColumnPropNameInTable="unameColumn" msprop:Generator_ColumnVarNameInTable="columnuname" msprop:Generator_UserColumnName="uname" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<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="UserProcess" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="UserProcess" msprop:Generator_ColumnVarNameInTable="columnUserProcess" msprop:Generator_ColumnPropNameInTable="UserProcessColumn" msprop:Generator_UserColumnName="UserProcess" minOccurs="0">
<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="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="holyot" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="holyot" msprop:Generator_ColumnVarNameInTable="columnholyot" msprop:Generator_ColumnPropNameInTable="holyotColumn" msprop:Generator_UserColumnName="holyot" type="xs:double" 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="holyot2" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="holyot2" msprop:Generator_ColumnVarNameInTable="columnholyot2" msprop:Generator_ColumnPropNameInTable="holyot2Column" msprop:Generator_UserColumnName="holyot2" 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:element name="holyotPMS" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="holyotPMS" msprop:Generator_ColumnVarNameInTable="columnholyotPMS" msprop:Generator_ColumnPropNameInTable="holyotPMSColumn" msprop:Generator_UserColumnName="holyotPMS" type="xs:double" minOccurs="0" />
<xs:element name="holyot" msprop:Generator_ColumnPropNameInTable="holyotColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="holyot" msprop:Generator_UserColumnName="holyot" msprop:Generator_ColumnVarNameInTable="columnholyot" type="xs:double" 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="holyot2" msprop:Generator_ColumnPropNameInTable="holyot2Column" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="holyot2" msprop:Generator_UserColumnName="holyot2" msprop:Generator_ColumnVarNameInTable="columnholyot2" type="xs:double" minOccurs="0" />
<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="holyotPMS" msprop:Generator_ColumnPropNameInTable="holyotPMSColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="holyotPMS" msprop:Generator_UserColumnName="holyotPMS" msprop:Generator_ColumnVarNameInTable="columnholyotPMS" type="xs:double" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="JobReportDay" msprop:Generator_UserTableName="JobReportDay" msprop:Generator_RowEvArgName="JobReportDayRowChangeEvent" msprop:Generator_TableVarName="tableJobReportDay" msprop:Generator_TablePropName="JobReportDay" msprop:Generator_RowDeletingName="JobReportDayRowDeleting" msprop:Generator_RowChangingName="JobReportDayRowChanging" msprop:Generator_RowDeletedName="JobReportDayRowDeleted" msprop:Generator_RowEvHandlerName="JobReportDayRowChangeEventHandler" msprop:Generator_TableClassName="JobReportDayDataTable" msprop:Generator_RowChangedName="JobReportDayRowChanged" msprop:Generator_RowClassName="JobReportDayRow">
<xs:element name="JobReportDay" msprop:Generator_RowClassName="JobReportDayRow" msprop:Generator_RowEvHandlerName="JobReportDayRowChangeEventHandler" msprop:Generator_RowDeletedName="JobReportDayRowDeleted" msprop:Generator_RowDeletingName="JobReportDayRowDeleting" msprop:Generator_RowEvArgName="JobReportDayRowChangeEvent" msprop:Generator_TablePropName="JobReportDay" msprop:Generator_RowChangedName="JobReportDayRowChanged" msprop:Generator_UserTableName="JobReportDay" msprop:Generator_RowChangingName="JobReportDayRowChanging" msprop:Generator_TableClassName="JobReportDayDataTable" msprop:Generator_TableVarName="tableJobReportDay">
<xs:complexType>
<xs:sequence>
<xs:element name="uid" msprop:Generator_ColumnVarNameInTable="columnuid" msprop:Generator_ColumnPropNameInRow="uid" msprop:Generator_ColumnPropNameInTable="uidColumn" msprop:Generator_UserColumnName="uid">
<xs:element name="uid" msprop:Generator_ColumnPropNameInRow="uid" msprop:Generator_ColumnPropNameInTable="uidColumn" msprop:Generator_ColumnVarNameInTable="columnuid" msprop:Generator_UserColumnName="uid">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="uname" msdata:ReadOnly="true" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="uname" msprop:Generator_ColumnVarNameInTable="columnuname" msprop:Generator_ColumnPropNameInTable="unameColumn" msprop:Generator_UserColumnName="uname" minOccurs="0">
<xs:element name="uname" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="unameColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="uname" msprop:Generator_UserColumnName="uname" msprop:Generator_ColumnVarNameInTable="columnuname" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="pdate" msprop:Generator_ColumnVarNameInTable="columnpdate" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:Generator_UserColumnName="pdate">
<xs:element name="pdate" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:Generator_ColumnVarNameInTable="columnpdate" msprop:Generator_UserColumnName="pdate">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="hrs" msdata:ReadOnly="true" 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" msdata:ReadOnly="true" 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="processs" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="processs" msprop:Generator_ColumnVarNameInTable="columnprocesss" msprop:Generator_ColumnPropNameInTable="processsColumn" msprop:Generator_UserColumnName="processs" minOccurs="0">
<xs:element name="hrs" msdata:ReadOnly="true" 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" msdata:ReadOnly="true" 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="processs" msprop:Generator_ColumnPropNameInTable="processsColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="processs" msprop:Generator_UserColumnName="processs" msprop:Generator_ColumnVarNameInTable="columnprocesss" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="jobtype" msdata:ReadOnly="true" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="jobtype" msprop:Generator_ColumnVarNameInTable="columnjobtype" msprop:Generator_ColumnPropNameInTable="jobtypeColumn" msprop:Generator_UserColumnName="jobtype" minOccurs="0">
<xs:element name="jobtype" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="jobtypeColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="jobtype" msprop:Generator_UserColumnName="jobtype" msprop:Generator_ColumnVarNameInTable="columnjobtype" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
@@ -560,38 +584,38 @@ ORDER BY Projects.idx DESC, subidx, EETGW_ProjectsSchedule.no, EETGW_ProjectsSch
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ProcessUserList" msprop:Generator_UserTableName="ProcessUserList" msprop:Generator_RowEvArgName="ProcessUserListRowChangeEvent" msprop:Generator_TableVarName="tableProcessUserList" msprop:Generator_TablePropName="ProcessUserList" msprop:Generator_RowDeletingName="ProcessUserListRowDeleting" msprop:Generator_RowChangingName="ProcessUserListRowChanging" msprop:Generator_RowDeletedName="ProcessUserListRowDeleted" msprop:Generator_RowEvHandlerName="ProcessUserListRowChangeEventHandler" msprop:Generator_TableClassName="ProcessUserListDataTable" msprop:Generator_RowChangedName="ProcessUserListRowChanged" msprop:Generator_RowClassName="ProcessUserListRow">
<xs:element name="ProcessUserList" msprop:Generator_RowClassName="ProcessUserListRow" msprop:Generator_RowEvHandlerName="ProcessUserListRowChangeEventHandler" msprop:Generator_RowDeletedName="ProcessUserListRowDeleted" msprop:Generator_RowDeletingName="ProcessUserListRowDeleting" msprop:Generator_RowEvArgName="ProcessUserListRowChangeEvent" msprop:Generator_TablePropName="ProcessUserList" msprop:Generator_RowChangedName="ProcessUserListRowChanged" msprop:Generator_UserTableName="ProcessUserList" msprop:Generator_RowChangingName="ProcessUserListRowChanging" msprop:Generator_TableClassName="ProcessUserListDataTable" msprop:Generator_TableVarName="tableProcessUserList">
<xs:complexType>
<xs:sequence>
<xs:element name="id" msprop:Generator_ColumnVarNameInTable="columnid" msprop:Generator_ColumnPropNameInRow="id" msprop:Generator_ColumnPropNameInTable="idColumn" msprop:Generator_UserColumnName="id" minOccurs="0">
<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="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnPropNameInTable="nameColumn" msprop:Generator_UserColumnName="name" 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="gcode" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="gcode" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_UserColumnName="gcode">
<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="indate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="indate" msprop:Generator_ColumnVarNameInTable="columnindate" msprop:Generator_ColumnPropNameInTable="indateColumn" msprop:Generator_UserColumnName="indate" minOccurs="0">
<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="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<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: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:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
@@ -601,208 +625,208 @@ ORDER BY Projects.idx DESC, subidx, EETGW_ProjectsSchedule.no, EETGW_ProjectsSch
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PartSummary" msprop:Generator_UserTableName="PartSummary" msprop:Generator_RowEvArgName="PartSummaryRowChangeEvent" msprop:Generator_TableVarName="tablePartSummary" msprop:Generator_TablePropName="PartSummary" msprop:Generator_RowDeletingName="PartSummaryRowDeleting" msprop:Generator_RowChangingName="PartSummaryRowChanging" msprop:Generator_RowDeletedName="PartSummaryRowDeleted" msprop:Generator_RowEvHandlerName="PartSummaryRowChangeEventHandler" msprop:Generator_TableClassName="PartSummaryDataTable" msprop:Generator_RowChangedName="PartSummaryRowChanged" msprop:Generator_RowClassName="PartSummaryRow">
<xs:element name="PartSummary" msprop:Generator_RowClassName="PartSummaryRow" msprop:Generator_RowEvHandlerName="PartSummaryRowChangeEventHandler" msprop:Generator_RowDeletedName="PartSummaryRowDeleted" msprop:Generator_RowDeletingName="PartSummaryRowDeleting" msprop:Generator_RowEvArgName="PartSummaryRowChangeEvent" msprop:Generator_TablePropName="PartSummary" msprop:Generator_RowChangedName="PartSummaryRowChanged" msprop:Generator_UserTableName="PartSummary" msprop:Generator_RowChangingName="PartSummaryRowChanging" msprop:Generator_TableClassName="PartSummaryDataTable" msprop:Generator_TableVarName="tablePartSummary">
<xs:complexType>
<xs:sequence>
<xs:element name="ItemGroup" msprop:nullValue="미지정" msprop:Generator_ColumnPropNameInRow="ItemGroup" msprop:Generator_ColumnVarNameInTable="columnItemGroup" msprop:Generator_ColumnPropNameInTable="ItemGroupColumn" msprop:Generator_UserColumnName="ItemGroup" type="xs:string" minOccurs="0" />
<xs:element name="option1" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="option1" msprop:Generator_ColumnVarNameInTable="columnoption1" msprop:Generator_ColumnPropNameInTable="option1Column" msprop:Generator_UserColumnName="option1" type="xs:string" minOccurs="0" />
<xs:element name="ItemSupply" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="ItemSupply" msprop:Generator_ColumnVarNameInTable="columnItemSupply" msprop:Generator_ColumnPropNameInTable="ItemSupplyColumn" msprop:Generator_UserColumnName="ItemSupply" type="xs:string" minOccurs="0" />
<xs:element name="amt" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="amt" msprop:Generator_ColumnVarNameInTable="columnamt" msprop:Generator_ColumnPropNameInTable="amtColumn" msprop:Generator_UserColumnName="amt" type="xs:decimal" minOccurs="0" />
<xs:element name="amtn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="amtn" msprop:Generator_ColumnVarNameInTable="columnamtn" msprop:Generator_ColumnPropNameInTable="amtnColumn" msprop:Generator_UserColumnName="amtn" type="xs:decimal" minOccurs="0" />
<xs:element name="amtb" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="amtb" msprop:Generator_ColumnVarNameInTable="columnamtb" msprop:Generator_ColumnPropNameInTable="amtbColumn" msprop:Generator_UserColumnName="amtb" type="xs:decimal" minOccurs="0" />
<xs:element name="ItemGroup" msprop:Generator_ColumnPropNameInTable="ItemGroupColumn" msprop:nullValue="미지정" msprop:Generator_ColumnPropNameInRow="ItemGroup" msprop:Generator_UserColumnName="ItemGroup" msprop:Generator_ColumnVarNameInTable="columnItemGroup" type="xs:string" minOccurs="0" />
<xs:element name="option1" msprop:Generator_ColumnPropNameInTable="option1Column" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="option1" msprop:Generator_UserColumnName="option1" msprop:Generator_ColumnVarNameInTable="columnoption1" type="xs:string" minOccurs="0" />
<xs:element name="ItemSupply" msprop:Generator_ColumnPropNameInTable="ItemSupplyColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="ItemSupply" msprop:Generator_UserColumnName="ItemSupply" msprop:Generator_ColumnVarNameInTable="columnItemSupply" type="xs:string" minOccurs="0" />
<xs:element name="amt" msprop:Generator_ColumnPropNameInTable="amtColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="amt" msprop:Generator_UserColumnName="amt" msprop:Generator_ColumnVarNameInTable="columnamt" type="xs:decimal" minOccurs="0" />
<xs:element name="amtn" msprop:Generator_ColumnPropNameInTable="amtnColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="amtn" msprop:Generator_UserColumnName="amtn" msprop:Generator_ColumnVarNameInTable="columnamtn" type="xs:decimal" minOccurs="0" />
<xs:element name="amtb" msprop:Generator_ColumnPropNameInTable="amtbColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="amtb" msprop:Generator_UserColumnName="amtb" msprop:Generator_ColumnVarNameInTable="columnamtb" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<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:element name="HolidayLIst" msprop:Generator_RowClassName="HolidayLIstRow" 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_TableClassName="HolidayLIstDataTable" msprop:Generator_TableVarName="tableHolidayLIst">
<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="pdate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_ColumnVarNameInTable="columnpdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:Generator_UserColumnName="pdate" minOccurs="0">
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_UserColumnName="idx" type="xs:int" />
<xs:element name="pdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:nullValue="_empty" 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="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: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:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="wuid" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_UserColumnName="wuid">
<xs:element name="wuid" msprop:Generator_ColumnPropNameInRow="wuid" msprop:Generator_ColumnPropNameInTable="wuidColumn" msprop:Generator_ColumnVarNameInTable="columnwuid" msprop:Generator_UserColumnName="wuid">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="wdate" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
<xs:element name="wdate" msprop:Generator_ColumnPropNameInRow="wdate" msprop:Generator_ColumnPropNameInTable="wdateColumn" msprop:Generator_ColumnVarNameInTable="columnwdate" msprop:Generator_UserColumnName="wdate" type="xs:dateTime" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="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:element name="vJobReportForUser" msprop:Generator_RowClassName="vJobReportForUserRow" 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_TableClassName="vJobReportForUserDataTable" msprop:Generator_TableVarName="tablevJobReportForUser">
<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:element name="idx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_UserColumnName="idx" 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: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: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:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="id" msprop:Generator_ColumnVarNameInTable="columnid" msprop:Generator_ColumnPropNameInTable="idColumn" msprop:Generator_UserColumnName="id" minOccurs="0">
<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: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: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:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="process" msprop:Generator_ColumnVarNameInTable="columnprocess" msprop:Generator_ColumnPropNameInTable="processColumn" msprop:Generator_UserColumnName="process" minOccurs="0">
<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:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="type" msprop:Generator_ColumnVarNameInTable="columntype" msprop:Generator_ColumnPropNameInTable="typeColumn" msprop:Generator_UserColumnName="type" minOccurs="0">
<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:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="svalue" msprop:Generator_ColumnVarNameInTable="columnsvalue" msprop:Generator_ColumnPropNameInTable="svalueColumn" msprop:Generator_UserColumnName="svalue" minOccurs="0">
<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:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<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: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:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="package" msprop:Generator_ColumnVarNameInTable="columnpackage" msprop:Generator_ColumnPropNameInTable="packageColumn" msprop:Generator_UserColumnName="package" minOccurs="0">
<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:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="userProcess" msprop:Generator_ColumnVarNameInTable="columnuserProcess" msprop:Generator_ColumnPropNameInTable="userProcessColumn" msprop:Generator_UserColumnName="userProcess" minOccurs="0">
<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:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="status" msprop:Generator_ColumnVarNameInTable="columnstatus" msprop:Generator_ColumnPropNameInTable="statusColumn" msprop:Generator_UserColumnName="status" minOccurs="0">
<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:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="projectName" msprop:Generator_ColumnVarNameInTable="columnprojectName" msprop:Generator_ColumnPropNameInTable="projectNameColumn" msprop:Generator_UserColumnName="projectName" minOccurs="0">
<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:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="description" msprop:Generator_ColumnVarNameInTable="columndescription" msprop:Generator_ColumnPropNameInTable="descriptionColumn" msprop:Generator_UserColumnName="description" minOccurs="0">
<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:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<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: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:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="6" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<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:element name="otStart" msprop:Generator_ColumnPropNameInRow="otStart" msprop:Generator_ColumnPropNameInTable="otStartColumn" msprop:Generator_ColumnVarNameInTable="columnotStart" msprop:Generator_UserColumnName="otStart" type="xs:dateTime" minOccurs="0" />
<xs:element name="otEnd" msprop:Generator_ColumnPropNameInRow="otEnd" msprop:Generator_ColumnPropNameInTable="otEndColumn" msprop:Generator_ColumnVarNameInTable="columnotEnd" msprop:Generator_UserColumnName="otEnd" 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:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="otPMS" msprop:Generator_ColumnVarNameInTable="columnotPMS" msprop:Generator_ColumnPropNameInRow="otPMS" msprop:Generator_ColumnPropNameInTable="otPMSColumn" msprop:Generator_UserColumnName="otPMS" type="xs:double" minOccurs="0" />
<xs:element name="otPMS" msprop:Generator_ColumnPropNameInRow="otPMS" msprop:Generator_ColumnPropNameInTable="otPMSColumn" msprop:Generator_ColumnVarNameInTable="columnotPMS" msprop:Generator_UserColumnName="otPMS" type="xs:double" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="K5DailyForm" msprop:Generator_UserTableName="K5DailyForm" msprop:Generator_RowEvArgName="K5DailyFormRowChangeEvent" msprop:Generator_TableVarName="tableK5DailyForm" msprop:Generator_TablePropName="K5DailyForm" msprop:Generator_RowDeletingName="K5DailyFormRowDeleting" msprop:Generator_RowChangingName="K5DailyFormRowChanging" msprop:Generator_RowDeletedName="K5DailyFormRowDeleted" msprop:Generator_RowEvHandlerName="K5DailyFormRowChangeEventHandler" msprop:Generator_TableClassName="K5DailyFormDataTable" msprop:Generator_RowChangedName="K5DailyFormRowChanged" msprop:Generator_RowClassName="K5DailyFormRow">
<xs:element name="K5DailyForm" msprop:Generator_RowClassName="K5DailyFormRow" msprop:Generator_RowEvHandlerName="K5DailyFormRowChangeEventHandler" msprop:Generator_RowDeletedName="K5DailyFormRowDeleted" msprop:Generator_RowDeletingName="K5DailyFormRowDeleting" msprop:Generator_RowEvArgName="K5DailyFormRowChangeEvent" msprop:Generator_TablePropName="K5DailyForm" msprop:Generator_RowChangedName="K5DailyFormRowChanged" msprop:Generator_UserTableName="K5DailyForm" msprop:Generator_RowChangingName="K5DailyFormRowChanging" msprop:Generator_TableClassName="K5DailyFormDataTable" msprop:Generator_TableVarName="tableK5DailyForm">
<xs:complexType>
<xs:sequence>
<xs:element name="Grp" msprop:Generator_ColumnVarNameInTable="columnGrp" msprop:Generator_ColumnPropNameInRow="Grp" msprop:Generator_ColumnPropNameInTable="GrpColumn" msprop:Generator_UserColumnName="Grp" type="xs:string" />
<xs:element name="Item" msprop:Generator_ColumnVarNameInTable="columnItem" msprop:Generator_ColumnPropNameInRow="Item" msprop:Generator_ColumnPropNameInTable="ItemColumn" msprop:Generator_UserColumnName="Item" type="xs:string" />
<xs:element name="ww" msprop:Generator_ColumnVarNameInTable="columnww" msprop:Generator_ColumnPropNameInRow="ww" msprop:Generator_ColumnPropNameInTable="wwColumn" msprop:Generator_UserColumnName="ww" type="xs:string" />
<xs:element name="pdate" msprop:Generator_ColumnVarNameInTable="columnpdate" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:Generator_UserColumnName="pdate" type="xs:string" />
<xs:element name="value" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value" type="xs:double" minOccurs="0" />
<xs:element name="Sign" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="Sign" msprop:Generator_ColumnVarNameInTable="columnSign" msprop:Generator_ColumnPropNameInTable="SignColumn" msprop:Generator_UserColumnName="Sign" type="xs:string" minOccurs="0" />
<xs:element name="Format" msprop:nullValue="N0" msprop:Generator_ColumnPropNameInRow="Format" msprop:Generator_ColumnVarNameInTable="columnFormat" msprop:Generator_ColumnPropNameInTable="FormatColumn" msprop:Generator_UserColumnName="Format" type="xs:string" minOccurs="0" />
<xs:element name="graph" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="graph" msprop:Generator_ColumnVarNameInTable="columngraph" msprop:Generator_ColumnPropNameInTable="graphColumn" msprop:Generator_UserColumnName="graph" type="xs:boolean" minOccurs="0" />
<xs:element name="Grp" msprop:Generator_ColumnPropNameInRow="Grp" msprop:Generator_ColumnPropNameInTable="GrpColumn" msprop:Generator_ColumnVarNameInTable="columnGrp" msprop:Generator_UserColumnName="Grp" type="xs:string" />
<xs:element name="Item" msprop:Generator_ColumnPropNameInRow="Item" msprop:Generator_ColumnPropNameInTable="ItemColumn" msprop:Generator_ColumnVarNameInTable="columnItem" msprop:Generator_UserColumnName="Item" type="xs:string" />
<xs:element name="ww" msprop:Generator_ColumnPropNameInRow="ww" msprop:Generator_ColumnPropNameInTable="wwColumn" msprop:Generator_ColumnVarNameInTable="columnww" msprop:Generator_UserColumnName="ww" type="xs:string" />
<xs:element name="pdate" msprop:Generator_ColumnPropNameInRow="pdate" msprop:Generator_ColumnPropNameInTable="pdateColumn" msprop:Generator_ColumnVarNameInTable="columnpdate" msprop:Generator_UserColumnName="pdate" type="xs:string" />
<xs:element name="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_UserColumnName="value" msprop:Generator_ColumnVarNameInTable="columnvalue" type="xs:double" minOccurs="0" />
<xs:element name="Sign" msprop:Generator_ColumnPropNameInTable="SignColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="Sign" msprop:Generator_UserColumnName="Sign" msprop:Generator_ColumnVarNameInTable="columnSign" type="xs:string" minOccurs="0" />
<xs:element name="Format" msprop:Generator_ColumnPropNameInTable="FormatColumn" msprop:nullValue="N0" msprop:Generator_ColumnPropNameInRow="Format" msprop:Generator_UserColumnName="Format" msprop:Generator_ColumnVarNameInTable="columnFormat" type="xs:string" minOccurs="0" />
<xs:element name="graph" msprop:Generator_ColumnPropNameInTable="graphColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="graph" msprop:Generator_UserColumnName="graph" msprop:Generator_ColumnVarNameInTable="columngraph" type="xs:boolean" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="JobProjectTimes" msprop:Generator_UserTableName="JobProjectTimes" msprop:Generator_RowEvArgName="JobProjectTimesRowChangeEvent" msprop:Generator_TableVarName="tableJobProjectTimes" msprop:Generator_TablePropName="JobProjectTimes" msprop:Generator_RowDeletingName="JobProjectTimesRowDeleting" msprop:Generator_RowChangingName="JobProjectTimesRowChanging" msprop:Generator_RowDeletedName="JobProjectTimesRowDeleted" msprop:Generator_RowEvHandlerName="JobProjectTimesRowChangeEventHandler" msprop:Generator_TableClassName="JobProjectTimesDataTable" msprop:Generator_RowChangedName="JobProjectTimesRowChanged" msprop:Generator_RowClassName="JobProjectTimesRow">
<xs:element name="JobProjectTimes" msprop:Generator_RowClassName="JobProjectTimesRow" msprop:Generator_RowEvHandlerName="JobProjectTimesRowChangeEventHandler" msprop:Generator_RowDeletedName="JobProjectTimesRowDeleted" msprop:Generator_RowDeletingName="JobProjectTimesRowDeleting" msprop:Generator_RowEvArgName="JobProjectTimesRowChangeEvent" msprop:Generator_TablePropName="JobProjectTimes" msprop:Generator_RowChangedName="JobProjectTimesRowChanged" msprop:Generator_UserTableName="JobProjectTimes" msprop:Generator_RowChangingName="JobProjectTimesRowChanging" msprop:Generator_TableClassName="JobProjectTimesDataTable" msprop:Generator_TableVarName="tableJobProjectTimes">
<xs:complexType>
<xs:sequence>
<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: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:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="6" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="pidx" msdata:ReadOnly="true" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="pidx" msprop:Generator_ColumnVarNameInTable="columnpidx" msprop:Generator_ColumnPropNameInTable="pidxColumn" msprop:Generator_UserColumnName="pidx" type="xs:int" minOccurs="0" />
<xs:element name="title" msdata:ReadOnly="true" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="title" msprop:Generator_ColumnVarNameInTable="columntitle" msprop:Generator_ColumnPropNameInTable="titleColumn" msprop:Generator_UserColumnName="title" minOccurs="0">
<xs:element name="pidx" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="pidxColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="pidx" msprop:Generator_UserColumnName="pidx" msprop:Generator_ColumnVarNameInTable="columnpidx" type="xs:int" minOccurs="0" />
<xs:element name="title" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="titleColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="title" msprop:Generator_UserColumnName="title" msprop:Generator_ColumnVarNameInTable="columntitle" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="hrs" msdata:ReadOnly="true" 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="idx" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_UserColumnName="idx" type="xs:int" />
<xs:element name="PrjStatus" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="PrjStatus" msprop:Generator_ColumnVarNameInTable="columnPrjStatus" msprop:Generator_ColumnPropNameInTable="PrjStatusColumn" msprop:Generator_UserColumnName="PrjStatus" minOccurs="0">
<xs:element name="hrs" msdata:ReadOnly="true" 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="idx" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_UserColumnName="idx" type="xs:int" />
<xs:element name="PrjStatus" msprop:Generator_ColumnPropNameInTable="PrjStatusColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="PrjStatus" msprop:Generator_UserColumnName="PrjStatus" msprop:Generator_ColumnVarNameInTable="columnPrjStatus" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PrjName" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="PrjName" msprop:Generator_ColumnVarNameInTable="columnPrjName" msprop:Generator_ColumnPropNameInTable="PrjNameColumn" msprop:Generator_UserColumnName="PrjName" minOccurs="0">
<xs:element name="PrjName" msprop:Generator_ColumnPropNameInTable="PrjNameColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="PrjName" msprop:Generator_UserColumnName="PrjName" msprop:Generator_ColumnVarNameInTable="columnPrjName" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
@@ -812,101 +836,101 @@ ORDER BY Projects.idx DESC, subidx, EETGW_ProjectsSchedule.no, EETGW_ProjectsSch
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="UserScheduleTable" msprop:Generator_UserTableName="UserScheduleTable" msprop:Generator_RowEvArgName="UserScheduleTableRowChangeEvent" msprop:Generator_TableVarName="tableUserScheduleTable" msprop:Generator_TablePropName="UserScheduleTable" msprop:Generator_RowDeletingName="UserScheduleTableRowDeleting" msprop:Generator_RowChangingName="UserScheduleTableRowChanging" msprop:Generator_RowDeletedName="UserScheduleTableRowDeleted" msprop:Generator_RowEvHandlerName="UserScheduleTableRowChangeEventHandler" msprop:Generator_TableClassName="UserScheduleTableDataTable" msprop:Generator_RowChangedName="UserScheduleTableRowChanged" msprop:Generator_RowClassName="UserScheduleTableRow">
<xs:element name="UserScheduleTable" msprop:Generator_RowClassName="UserScheduleTableRow" msprop:Generator_RowEvHandlerName="UserScheduleTableRowChangeEventHandler" msprop:Generator_RowDeletedName="UserScheduleTableRowDeleted" msprop:Generator_RowDeletingName="UserScheduleTableRowDeleting" msprop:Generator_RowEvArgName="UserScheduleTableRowChangeEvent" msprop:Generator_TablePropName="UserScheduleTable" msprop:Generator_RowChangedName="UserScheduleTableRowChanged" msprop:Generator_UserTableName="UserScheduleTable" msprop:Generator_RowChangingName="UserScheduleTableRowChanging" msprop:Generator_TableClassName="UserScheduleTableDataTable" msprop:Generator_TableVarName="tableUserScheduleTable">
<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="ScheduleNo" msdata:ReadOnly="true" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ScheduleNo" msprop:Generator_ColumnVarNameInTable="columnScheduleNo" msprop:Generator_ColumnPropNameInTable="ScheduleNoColumn" msprop:Generator_UserColumnName="ScheduleNo" type="xs:int" minOccurs="0" />
<xs:element name="gcode" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="gcode" msprop:Generator_ColumnVarNameInTable="columngcode" msprop:Generator_ColumnPropNameInTable="gcodeColumn" msprop:Generator_UserColumnName="gcode">
<xs:element name="idx" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="idx" msprop:Generator_ColumnPropNameInTable="idxColumn" msprop:Generator_ColumnVarNameInTable="columnidx" msprop:Generator_UserColumnName="idx" type="xs:int" />
<xs:element name="ScheduleNo" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInTable="ScheduleNoColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="ScheduleNo" msprop:Generator_UserColumnName="ScheduleNo" msprop:Generator_ColumnVarNameInTable="columnScheduleNo" type="xs:int" minOccurs="0" />
<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="name" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_ColumnVarNameInTable="columnname" msprop:Generator_ColumnPropNameInTable="nameColumn" msprop:Generator_UserColumnName="name" minOccurs="0">
<xs:element name="name" msprop:Generator_ColumnPropNameInTable="nameColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="name" msprop:Generator_UserColumnName="name" msprop:Generator_ColumnVarNameInTable="columnname" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="255" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SubIDX" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnSubIDX" msprop:Generator_ColumnPropNameInRow="SubIDX" msprop:Generator_ColumnPropNameInTable="SubIDXColumn" msprop:Generator_UserColumnName="SubIDX" type="xs:int" />
<xs:element name="no" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="no" msprop:Generator_ColumnVarNameInTable="columnno" msprop:Generator_ColumnPropNameInTable="noColumn" msprop:Generator_UserColumnName="no" type="xs:int" minOccurs="0" />
<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="title" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="title" msprop:Generator_ColumnVarNameInTable="columntitle" msprop:Generator_ColumnPropNameInTable="titleColumn" msprop:Generator_UserColumnName="title" minOccurs="0">
<xs:element name="SubIDX" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="SubIDX" msprop:Generator_ColumnPropNameInTable="SubIDXColumn" msprop:Generator_ColumnVarNameInTable="columnSubIDX" msprop:Generator_UserColumnName="SubIDX" type="xs:int" />
<xs:element name="no" msprop:Generator_ColumnPropNameInTable="noColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="no" msprop:Generator_UserColumnName="no" msprop:Generator_ColumnVarNameInTable="columnno" type="xs:int" minOccurs="0" />
<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="title" msprop:Generator_ColumnPropNameInTable="titleColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="title" msprop:Generator_UserColumnName="title" msprop:Generator_ColumnVarNameInTable="columntitle" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="uid" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="uid" msprop:Generator_ColumnVarNameInTable="columnuid" msprop:Generator_ColumnPropNameInTable="uidColumn" msprop:Generator_UserColumnName="uid" minOccurs="0">
<xs: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="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sw" msprop:nullValue="00-00" msprop:Generator_ColumnPropNameInRow="sw" msprop:Generator_ColumnVarNameInTable="columnsw" msprop:Generator_ColumnPropNameInTable="swColumn" msprop:Generator_UserColumnName="sw" minOccurs="0">
<xs:element name="sw" msprop:Generator_ColumnPropNameInTable="swColumn" msprop:nullValue="00-00" msprop:Generator_ColumnPropNameInRow="sw" msprop:Generator_UserColumnName="sw" msprop:Generator_ColumnVarNameInTable="columnsw" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ew" msprop:nullValue="00-00" msprop:Generator_ColumnPropNameInRow="ew" msprop:Generator_ColumnVarNameInTable="columnew" msprop:Generator_ColumnPropNameInTable="ewColumn" msprop:Generator_UserColumnName="ew" minOccurs="0">
<xs:element name="ew" msprop:Generator_ColumnPropNameInTable="ewColumn" msprop:nullValue="00-00" msprop:Generator_ColumnPropNameInRow="ew" msprop:Generator_UserColumnName="ew" msprop:Generator_ColumnVarNameInTable="columnew" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="swa" msprop:nullValue="00-00" msprop:Generator_ColumnPropNameInRow="swa" msprop:Generator_ColumnVarNameInTable="columnswa" msprop:Generator_ColumnPropNameInTable="swaColumn" msprop:Generator_UserColumnName="swa" minOccurs="0">
<xs:element name="swa" msprop:Generator_ColumnPropNameInTable="swaColumn" msprop:nullValue="00-00" msprop:Generator_ColumnPropNameInRow="swa" msprop:Generator_UserColumnName="swa" msprop:Generator_ColumnVarNameInTable="columnswa" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ewa" msprop:nullValue="00-00" msprop:Generator_ColumnPropNameInRow="ewa" msprop:Generator_ColumnVarNameInTable="columnewa" msprop:Generator_ColumnPropNameInTable="ewaColumn" msprop:Generator_UserColumnName="ewa" minOccurs="0">
<xs:element name="ewa" msprop:Generator_ColumnPropNameInTable="ewaColumn" msprop:nullValue="00-00" msprop:Generator_ColumnPropNameInRow="ewa" msprop:Generator_UserColumnName="ewa" msprop:Generator_ColumnVarNameInTable="columnewa" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="sdate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="sdate" msprop:Generator_ColumnVarNameInTable="columnsdate" msprop:Generator_ColumnPropNameInTable="sdateColumn" msprop:Generator_UserColumnName="sdate" minOccurs="0">
<xs:element name="sdate" msprop:Generator_ColumnPropNameInTable="sdateColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="sdate" msprop:Generator_UserColumnName="sdate" msprop:Generator_ColumnVarNameInTable="columnsdate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ddate" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="ddate" msprop:Generator_ColumnVarNameInTable="columnddate" msprop:Generator_ColumnPropNameInTable="ddateColumn" msprop:Generator_UserColumnName="ddate" minOccurs="0">
<xs:element name="ddate" msprop:Generator_ColumnPropNameInTable="ddateColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="ddate" msprop:Generator_UserColumnName="ddate" msprop:Generator_ColumnVarNameInTable="columnddate" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="complete" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="complete" msprop:Generator_ColumnVarNameInTable="columncomplete" msprop:Generator_ColumnPropNameInTable="completeColumn" msprop:Generator_UserColumnName="complete" type="xs:boolean" minOccurs="0" />
<xs:element name="uidname" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="uidname" msprop:Generator_ColumnVarNameInTable="columnuidname" msprop:Generator_ColumnPropNameInTable="uidnameColumn" msprop:Generator_UserColumnName="uidname" minOccurs="0">
<xs:element name="complete" msprop:Generator_ColumnPropNameInTable="completeColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="complete" msprop:Generator_UserColumnName="complete" msprop:Generator_ColumnVarNameInTable="columncomplete" type="xs:boolean" minOccurs="0" />
<xs:element name="uidname" msprop:Generator_ColumnPropNameInTable="uidnameColumn" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="uidname" msprop:Generator_UserColumnName="uidname" msprop:Generator_ColumnVarNameInTable="columnuidname" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="progress" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="progress" msprop:Generator_ColumnVarNameInTable="columnprogress" msprop:Generator_ColumnPropNameInTable="progressColumn" msprop:Generator_UserColumnName="progress" type="xs:int" 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:element name="progress" msprop:Generator_ColumnPropNameInTable="progressColumn" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="progress" msprop:Generator_UserColumnName="progress" msprop:Generator_ColumnVarNameInTable="columnprogress" type="xs:int" minOccurs="0" />
<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="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="status" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="status" msprop:Generator_ColumnVarNameInTable="columnstatus" msprop:Generator_ColumnPropNameInTable="statusColumn" msprop:Generator_UserColumnName="status" minOccurs="0">
<xs: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="50" />
@@ -916,6 +940,20 @@ ORDER BY Projects.idx DESC, subidx, EETGW_ProjectsSchedule.no, EETGW_ProjectsSch
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="WorkDayCount" msprop:Generator_RowEvHandlerName="WorkDayCountRowChangeEventHandler" msprop:Generator_RowDeletedName="WorkDayCountRowDeleted" msprop:Generator_RowDeletingName="WorkDayCountRowDeleting" msprop:Generator_RowEvArgName="WorkDayCountRowChangeEvent" msprop:Generator_TablePropName="WorkDayCount" msprop:Generator_RowChangedName="WorkDayCountRowChanged" msprop:Generator_RowChangingName="WorkDayCountRowChanging" msprop:Generator_TableClassName="WorkDayCountDataTable" msprop:Generator_RowClassName="WorkDayCountRow" msprop:Generator_TableVarName="tableWorkDayCount" msprop:Generator_UserTableName="WorkDayCount">
<xs:complexType>
<xs:sequence>
<xs:element name="ym" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInRow="ym" msprop:Generator_ColumnPropNameInTable="ymColumn" msprop:Generator_ColumnVarNameInTable="columnym" msprop:Generator_UserColumnName="ym">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="cnt" msdata:ReadOnly="true" msprop:Generator_ColumnPropNameInRow="cnt" msprop:Generator_ColumnPropNameInTable="cntColumn" msprop:Generator_ColumnVarNameInTable="columncnt" msprop:Generator_UserColumnName="cnt" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
@@ -956,5 +994,9 @@ ORDER BY Projects.idx DESC, subidx, EETGW_ProjectsSchedule.no, EETGW_ProjectsSch
<xs:field xpath="mstns:SubIDX" />
<xs:field xpath="mstns:idx" />
</xs:unique>
<xs:unique name="WorkDayCount_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:WorkDayCount" />
<xs:field xpath="mstns:ym" />
</xs:unique>
</xs:element>
</xs:schema>

View File

@@ -4,17 +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="-7" ViewPortY="124" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="450" ViewPortY="124" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:jobReport" ZOrder="1" X="74" Y="124" Height="419" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
<Shape ID="DesignTable:JobReportDay" ZOrder="4" X="311" Y="177" Height="394" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="326" />
<Shape ID="DesignTable:ProcessUserList" ZOrder="9" X="619" Y="303" Height="248" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="180" />
<Shape ID="DesignTable:HolidayLIst" ZOrder="7" X="915" Y="260" Height="191" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:vJobReportForUser" ZOrder="2" X="118" Y="436" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:JobProjectTimes" ZOrder="3" X="624" Y="600" Height="92" Width="201" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="199" SplitterPosition="24" />
<Shape ID="DesignTable:UserScheduleTable" ZOrder="5" X="0" Y="0" Height="305" Width="256" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PartSummary" ZOrder="8" X="852" Y="79" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
<Shape ID="DesignTable:K5DailyForm" ZOrder="6" X="883" Y="539" Height="181" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
<Shape ID="DesignTable:jobReport" ZOrder="2" X="74" Y="124" Height="419" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
<Shape ID="DesignTable:JobReportDay" ZOrder="5" X="311" Y="177" Height="394" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="326" />
<Shape ID="DesignTable:ProcessUserList" ZOrder="10" X="619" Y="303" Height="248" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="180" />
<Shape ID="DesignTable:HolidayLIst" ZOrder="8" X="915" Y="260" Height="191" Width="210" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:vJobReportForUser" ZOrder="3" X="118" Y="436" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:JobProjectTimes" ZOrder="4" X="624" Y="600" Height="92" Width="201" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="199" SplitterPosition="24" />
<Shape ID="DesignTable:UserScheduleTable" ZOrder="6" X="0" Y="0" Height="305" Width="256" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PartSummary" ZOrder="9" X="852" Y="79" Height="143" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="139" />
<Shape ID="DesignTable:K5DailyForm" ZOrder="7" X="883" Y="539" Height="181" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="177" />
<Shape ID="DesignTable:WorkDayCount" ZOrder="1" X="596" Y="226" Height="115" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
</Shapes>
<Connectors />
</DiagramLayout>