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
{
@@ -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)
{
@@ -74,7 +74,6 @@ namespace FPJ0000.JobReport_
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[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.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 - 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 - 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_
}
}
//사용자별 합계정보 표시
rowdata.Add($"{Math.Round(User_sumhlOne, 1)}"); //합게
rowdata.Add($"{Math.Round(User_sumotOne, 1)}"); //합
if (User_sumhlOne == 0.0) rowdata.Add(null);
else rowdata.Add($"{Math.Round(User_sumhlOne, 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());
//이번에 추가한 줄의 셀 컬러를 지정한다
@@ -261,14 +325,31 @@ namespace FPJ0000.JobReport_
{
var col = this.dataGridView1.Columns[i];
if (col.Tag == null)
{
//여기에는 합계칸이 온다
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;

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>