요청자 : k5 김예희(EST)
업무일지 - 사용자목록 오름차순 정렬 ot목록 - 사용자목록 오름차순 정렬, ot시작,종료시간 추가
This commit is contained in:
@@ -4,7 +4,7 @@ using System.Linq;
|
|||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Web.Http;
|
using System.Web.Http;
|
||||||
using agi = HtmlAgilityPack;
|
using agi = HtmlAgilityPack;
|
||||||
|
using Project.Web.Model;
|
||||||
|
|
||||||
namespace Project.Web.Controllers
|
namespace Project.Web.Controllers
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,299 +1,299 @@
|
|||||||
using System;
|
//using System;
|
||||||
using System.Linq;
|
//using System.Linq;
|
||||||
using System.Net.Http;
|
//using System.Net.Http;
|
||||||
using System.Web.Http;
|
//using System.Web.Http;
|
||||||
using Newtonsoft.Json;
|
//using Newtonsoft.Json;
|
||||||
using System.Collections.Generic;
|
//using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Project.Web.Controllers
|
//namespace Project.Web.Controllers
|
||||||
{
|
//{
|
||||||
// 로그인 요청 모델
|
// // 로그인 요청 모델
|
||||||
public class LoginRequest
|
// public class LoginRequest
|
||||||
{
|
// {
|
||||||
public string UserId { get; set; }
|
// public string UserId { get; set; }
|
||||||
public string Password { get; set; }
|
// public string Password { get; set; }
|
||||||
public bool RememberMe { get; set; }
|
// public bool RememberMe { get; set; }
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 로그인 응답 모델
|
// // 로그인 응답 모델
|
||||||
public class LoginResponse
|
// public class LoginResponse
|
||||||
{
|
// {
|
||||||
public bool Success { get; set; }
|
// public bool Success { get; set; }
|
||||||
public string Message { get; set; }
|
// public string Message { get; set; }
|
||||||
public string RedirectUrl { get; set; }
|
// public string RedirectUrl { get; set; }
|
||||||
public object UserData { get; set; }
|
// public object UserData { get; set; }
|
||||||
}
|
// }
|
||||||
|
|
||||||
public class HomeController : BaseController
|
// public class HomeController : BaseController
|
||||||
{
|
// {
|
||||||
[HttpPost]
|
// [HttpPost]
|
||||||
public void Index([FromBody]string value)
|
// public void Index([FromBody]string value)
|
||||||
{
|
// {
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
|
||||||
// PUT api/values/5
|
// // PUT api/values/5
|
||||||
public void Put(int id, [FromBody]string value)
|
// public void Put(int id, [FromBody]string value)
|
||||||
{
|
// {
|
||||||
}
|
// }
|
||||||
|
|
||||||
// DELETE api/values/5
|
// // DELETE api/values/5
|
||||||
public void Delete(int id)
|
// public void Delete(int id)
|
||||||
{
|
// {
|
||||||
}
|
// }
|
||||||
|
|
||||||
[HttpGet]
|
// [HttpGet]
|
||||||
public string Test()
|
// public string Test()
|
||||||
{
|
// {
|
||||||
return "test";
|
// return "test";
|
||||||
}
|
// }
|
||||||
|
|
||||||
[HttpPost]
|
// [HttpPost]
|
||||||
public HttpResponseMessage Login([FromBody] LoginRequest request)
|
// public HttpResponseMessage Login([FromBody] LoginRequest request)
|
||||||
{
|
// {
|
||||||
var response = new LoginResponse();
|
// var response = new LoginResponse();
|
||||||
|
|
||||||
try
|
// try
|
||||||
{
|
// {
|
||||||
// 입력값 검증
|
// // 입력값 검증
|
||||||
if (string.IsNullOrEmpty(request?.UserId) || string.IsNullOrEmpty(request?.Password))
|
// if (string.IsNullOrEmpty(request?.UserId) || string.IsNullOrEmpty(request?.Password))
|
||||||
{
|
// {
|
||||||
response.Success = false;
|
// response.Success = false;
|
||||||
response.Message = "사용자 ID와 비밀번호를 입력해주세요.";
|
// response.Message = "사용자 ID와 비밀번호를 입력해주세요.";
|
||||||
return CreateJsonResponse(response);
|
// return CreateJsonResponse(response);
|
||||||
}
|
// }
|
||||||
|
|
||||||
// TODO: 여기에 실제 데이터베이스 로그인 로직을 구현하세요
|
// // TODO: 여기에 실제 데이터베이스 로그인 로직을 구현하세요
|
||||||
// 예시: 데이터베이스에서 사용자 정보 확인
|
// // 예시: 데이터베이스에서 사용자 정보 확인
|
||||||
bool isValidUser = ValidateUser(request.UserId, request.Password);
|
// bool isValidUser = ValidateUser(request.UserId, request.Password);
|
||||||
|
|
||||||
if (isValidUser)
|
// if (isValidUser)
|
||||||
{
|
// {
|
||||||
// 로그인 성공
|
// // 로그인 성공
|
||||||
response.Success = true;
|
// response.Success = true;
|
||||||
response.Message = "로그인에 성공했습니다.";
|
// response.Message = "로그인에 성공했습니다.";
|
||||||
response.RedirectUrl = "/DashBoard";
|
// response.RedirectUrl = "/DashBoard";
|
||||||
|
|
||||||
// 사용자 정보 설정 (세션 또는 쿠키)
|
// // 사용자 정보 설정 (세션 또는 쿠키)
|
||||||
SetUserSession(request.UserId, request.RememberMe);
|
// SetUserSession(request.UserId, request.RememberMe);
|
||||||
|
|
||||||
// 사용자 데이터 반환
|
// // 사용자 데이터 반환
|
||||||
response.UserData = new
|
// response.UserData = new
|
||||||
{
|
// {
|
||||||
UserId = request.UserId,
|
// UserId = request.UserId,
|
||||||
LoginTime = DateTime.Now,
|
// LoginTime = DateTime.Now,
|
||||||
RememberMe = request.RememberMe
|
// RememberMe = request.RememberMe
|
||||||
};
|
// };
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
// 로그인 실패
|
// // 로그인 실패
|
||||||
response.Success = false;
|
// response.Success = false;
|
||||||
response.Message = "사용자 ID 또는 비밀번호가 올바르지 않습니다.";
|
// response.Message = "사용자 ID 또는 비밀번호가 올바르지 않습니다.";
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
catch (Exception ex)
|
// catch (Exception ex)
|
||||||
{
|
// {
|
||||||
response.Success = false;
|
// response.Success = false;
|
||||||
response.Message = "로그인 처리 중 오류가 발생했습니다: " + ex.Message;
|
// response.Message = "로그인 처리 중 오류가 발생했습니다: " + ex.Message;
|
||||||
}
|
// }
|
||||||
|
|
||||||
return CreateJsonResponse(response);
|
// return CreateJsonResponse(response);
|
||||||
}
|
// }
|
||||||
|
|
||||||
[HttpPost]
|
// [HttpPost]
|
||||||
public HttpResponseMessage Logout()
|
// public HttpResponseMessage Logout()
|
||||||
{
|
// {
|
||||||
var response = new LoginResponse();
|
// var response = new LoginResponse();
|
||||||
|
|
||||||
try
|
// try
|
||||||
{
|
// {
|
||||||
// TODO: 여기에 로그아웃 로직을 구현하세요
|
// // TODO: 여기에 로그아웃 로직을 구현하세요
|
||||||
// 예시: 세션 정리, 쿠키 삭제 등
|
// // 예시: 세션 정리, 쿠키 삭제 등
|
||||||
ClearUserSession();
|
// ClearUserSession();
|
||||||
|
|
||||||
response.Success = true;
|
// response.Success = true;
|
||||||
response.Message = "로그아웃되었습니다.";
|
// response.Message = "로그아웃되었습니다.";
|
||||||
response.RedirectUrl = "/Login";
|
// response.RedirectUrl = "/Login";
|
||||||
}
|
// }
|
||||||
catch (Exception ex)
|
// catch (Exception ex)
|
||||||
{
|
// {
|
||||||
response.Success = false;
|
// response.Success = false;
|
||||||
response.Message = "로그아웃 처리 중 오류가 발생했습니다: " + ex.Message;
|
// response.Message = "로그아웃 처리 중 오류가 발생했습니다: " + ex.Message;
|
||||||
}
|
// }
|
||||||
|
|
||||||
return CreateJsonResponse(response);
|
// return CreateJsonResponse(response);
|
||||||
}
|
// }
|
||||||
|
|
||||||
[HttpGet]
|
// [HttpGet]
|
||||||
public HttpResponseMessage CheckLoginStatus()
|
// public HttpResponseMessage CheckLoginStatus()
|
||||||
{
|
// {
|
||||||
var response = new LoginResponse();
|
// var response = new LoginResponse();
|
||||||
|
|
||||||
try
|
// try
|
||||||
{
|
// {
|
||||||
// TODO: 여기에 로그인 상태 확인 로직을 구현하세요
|
// // TODO: 여기에 로그인 상태 확인 로직을 구현하세요
|
||||||
// 예시: 세션 또는 쿠키에서 사용자 정보 확인
|
// // 예시: 세션 또는 쿠키에서 사용자 정보 확인
|
||||||
var currentUser = GetCurrentUser();
|
// var currentUser = GetCurrentUser();
|
||||||
|
|
||||||
if (currentUser != null)
|
// if (currentUser != null)
|
||||||
{
|
// {
|
||||||
response.Success = true;
|
// response.Success = true;
|
||||||
response.Message = "로그인된 상태입니다.";
|
// response.Message = "로그인된 상태입니다.";
|
||||||
response.UserData = currentUser;
|
// response.UserData = currentUser;
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
response.Success = false;
|
// response.Success = false;
|
||||||
response.Message = "로그인되지 않은 상태입니다.";
|
// response.Message = "로그인되지 않은 상태입니다.";
|
||||||
response.RedirectUrl = "/Login";
|
// response.RedirectUrl = "/Login";
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
catch (Exception ex)
|
// catch (Exception ex)
|
||||||
{
|
// {
|
||||||
response.Success = false;
|
// response.Success = false;
|
||||||
response.Message = "로그인 상태 확인 중 오류가 발생했습니다: " + ex.Message;
|
// response.Message = "로그인 상태 확인 중 오류가 발생했습니다: " + ex.Message;
|
||||||
}
|
// }
|
||||||
|
|
||||||
return CreateJsonResponse(response);
|
// return CreateJsonResponse(response);
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 헬퍼 메서드들
|
// // 헬퍼 메서드들
|
||||||
private bool ValidateUser(string userId, string password)
|
// private bool ValidateUser(string userId, string password)
|
||||||
{
|
// {
|
||||||
// TODO: 실제 데이터베이스 검증 로직을 여기에 구현하세요
|
// // TODO: 실제 데이터베이스 검증 로직을 여기에 구현하세요
|
||||||
// 예시: 데이터베이스에서 사용자 정보 조회 및 비밀번호 검증
|
// // 예시: 데이터베이스에서 사용자 정보 조회 및 비밀번호 검증
|
||||||
var encpass = Pub.MakePasswordEnc(password.Trim());
|
// var encpass = Pub.MakePasswordEnc(password.Trim());
|
||||||
|
|
||||||
|
|
||||||
// 임시 테스트용 (실제로는 데이터베이스에서 확인)
|
// // 임시 테스트용 (실제로는 데이터베이스에서 확인)
|
||||||
return userId == "admin" && password == "admin";
|
// return userId == "admin" && password == "admin";
|
||||||
}
|
// }
|
||||||
|
|
||||||
private void SetUserSession(string userId, bool rememberMe)
|
// private void SetUserSession(string userId, bool rememberMe)
|
||||||
{
|
// {
|
||||||
// TODO: 세션 또는 쿠키에 사용자 정보 저장
|
// // TODO: 세션 또는 쿠키에 사용자 정보 저장
|
||||||
// 예시: HttpContext.Session["UserId"] = userId;
|
// // 예시: HttpContext.Session["UserId"] = userId;
|
||||||
// 예시: 쿠키 설정 (rememberMe가 true인 경우)
|
// // 예시: 쿠키 설정 (rememberMe가 true인 경우)
|
||||||
//데이터베이스에서 해당 정보를 찾아와서 처리해야한다
|
// //데이터베이스에서 해당 정보를 찾아와서 처리해야한다
|
||||||
|
|
||||||
FCOMMON.info.Login.no = userId;
|
// FCOMMON.info.Login.no = userId;
|
||||||
FCOMMON.info.Login.nameK = drUser.name;
|
// FCOMMON.info.Login.nameK = drUser.name;
|
||||||
FCOMMON.info.Login.dept = cmbDept.Text;// userdr.dept;// cmbDept.Text;
|
// FCOMMON.info.Login.dept = cmbDept.Text;// userdr.dept;// cmbDept.Text;
|
||||||
FCOMMON.info.Login.level = drGrpUser.level;
|
// FCOMMON.info.Login.level = drGrpUser.level;
|
||||||
FCOMMON.info.Login.email = drUser.email;
|
// FCOMMON.info.Login.email = drUser.email;
|
||||||
FCOMMON.info.Login.nameE = drUser.nameE;
|
// FCOMMON.info.Login.nameE = drUser.nameE;
|
||||||
FCOMMON.info.Login.hp = drUser.hp;
|
// FCOMMON.info.Login.hp = drUser.hp;
|
||||||
FCOMMON.info.Login.tel = drUser.tel;
|
// FCOMMON.info.Login.tel = drUser.tel;
|
||||||
FCOMMON.info.Login.title = drUser.dept + "(" + drUser.grade + ")";
|
// FCOMMON.info.Login.title = drUser.dept + "(" + drUser.grade + ")";
|
||||||
FCOMMON.info.NotShowJobReportview = Pub.setting.NotShowJobreportPRewView;
|
// FCOMMON.info.NotShowJobReportview = Pub.setting.NotShowJobreportPRewView;
|
||||||
//var gcode = FCOMMON.DBM.ExecuteScalar("select isnull(gcode,'NOGCODE') from UserGroup where dept ='" + cmbDept.Text + "'");
|
// //var gcode = FCOMMON.DBM.ExecuteScalar("select isnull(gcode,'NOGCODE') from UserGroup where dept ='" + cmbDept.Text + "'");
|
||||||
var gperm = FCOMMON.DBM.ExecuteScalar("select isnull(permission,0) from UserGroup where dept ='" + cmbDept.Text + "'");
|
// var gperm = FCOMMON.DBM.ExecuteScalar("select isnull(permission,0) from UserGroup where dept ='" + cmbDept.Text + "'");
|
||||||
FCOMMON.info.Login.gcode = gCode;// gcode;
|
// FCOMMON.info.Login.gcode = gCode;// gcode;
|
||||||
FCOMMON.info.Login.process = drUser.id == "dev" ? "개발자" : drGrpUser.Process;
|
// FCOMMON.info.Login.process = drUser.id == "dev" ? "개발자" : drGrpUser.Process;
|
||||||
FCOMMON.info.Login.permission = 0;
|
// FCOMMON.info.Login.permission = 0;
|
||||||
FCOMMON.info.Login.gpermission = int.Parse(gperm);
|
// FCOMMON.info.Login.gpermission = int.Parse(gperm);
|
||||||
//FCOMMON.info.datapath = Pub.setting.SharedDataPath;
|
// //FCOMMON.info.datapath = Pub.setting.SharedDataPath;
|
||||||
FCOMMON.info.ShowBuyerror = Pub.setting.Showbuyerror; //210625
|
// FCOMMON.info.ShowBuyerror = Pub.setting.Showbuyerror; //210625
|
||||||
|
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
|
||||||
private void ClearUserSession()
|
// private void ClearUserSession()
|
||||||
{
|
// {
|
||||||
// TODO: 세션 또는 쿠키에서 사용자 정보 삭제
|
// // TODO: 세션 또는 쿠키에서 사용자 정보 삭제
|
||||||
FCOMMON.info.Login.no = string.Empty;
|
// FCOMMON.info.Login.no = string.Empty;
|
||||||
FCOMMON.info.Login.level = 0;
|
// FCOMMON.info.Login.level = 0;
|
||||||
FCOMMON.info.Login.gcode = string.Empty;
|
// FCOMMON.info.Login.gcode = string.Empty;
|
||||||
FCOMMON.info.Login.permission = 0;
|
// FCOMMON.info.Login.permission = 0;
|
||||||
FCOMMON.info.Login.gpermission = 0;
|
// FCOMMON.info.Login.gpermission = 0;
|
||||||
Console.WriteLine("logout");
|
// Console.WriteLine("logout");
|
||||||
}
|
// }
|
||||||
|
|
||||||
private object GetCurrentUser()
|
// private object GetCurrentUser()
|
||||||
{
|
// {
|
||||||
// TODO: 현재 로그인된 사용자 정보 반환
|
// // TODO: 현재 로그인된 사용자 정보 반환
|
||||||
// 예시: HttpContext.Session["UserId"]에서 사용자 정보 조회
|
// // 예시: HttpContext.Session["UserId"]에서 사용자 정보 조회
|
||||||
return null; // 임시로 null 반환
|
// return null; // 임시로 null 반환
|
||||||
}
|
// }
|
||||||
|
|
||||||
private HttpResponseMessage CreateJsonResponse(object data)
|
// private HttpResponseMessage CreateJsonResponse(object data)
|
||||||
{
|
// {
|
||||||
var json = JsonConvert.SerializeObject(data, new JsonSerializerSettings
|
// var json = JsonConvert.SerializeObject(data, new JsonSerializerSettings
|
||||||
{
|
// {
|
||||||
NullValueHandling = NullValueHandling.Ignore
|
// NullValueHandling = NullValueHandling.Ignore
|
||||||
});
|
// });
|
||||||
|
|
||||||
return new HttpResponseMessage()
|
// return new HttpResponseMessage()
|
||||||
{
|
// {
|
||||||
Content = new StringContent(
|
// Content = new StringContent(
|
||||||
json,
|
// json,
|
||||||
System.Text.Encoding.UTF8,
|
// System.Text.Encoding.UTF8,
|
||||||
"application/json")
|
// "application/json")
|
||||||
};
|
// };
|
||||||
}
|
// }
|
||||||
|
|
||||||
[HttpGet]
|
// [HttpGet]
|
||||||
public HttpResponseMessage Login()
|
// public HttpResponseMessage Login()
|
||||||
{
|
// {
|
||||||
// 직접 파일을 읽어서 반환
|
// // 직접 파일을 읽어서 반환
|
||||||
var filePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Web", "wwwroot", "login.html");
|
// var filePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Web", "wwwroot", "login.html");
|
||||||
var contents = string.Empty;
|
// var contents = string.Empty;
|
||||||
|
|
||||||
if (System.IO.File.Exists(filePath))
|
// if (System.IO.File.Exists(filePath))
|
||||||
{
|
// {
|
||||||
contents = System.IO.File.ReadAllText(filePath, System.Text.Encoding.UTF8);
|
// contents = System.IO.File.ReadAllText(filePath, System.Text.Encoding.UTF8);
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
// 파일이 없으면 404 에러 페이지 또는 기본 메시지
|
// // 파일이 없으면 404 에러 페이지 또는 기본 메시지
|
||||||
contents = "<html><body><h1>404 - File Not Found</h1><p>The requested file was not found: " + filePath + "</p></body></html>";
|
// contents = "<html><body><h1>404 - File Not Found</h1><p>The requested file was not found: " + filePath + "</p></body></html>";
|
||||||
}
|
// }
|
||||||
|
|
||||||
//공용값 적용
|
// //공용값 적용
|
||||||
ApplyCommonValue(ref contents);
|
// ApplyCommonValue(ref contents);
|
||||||
|
|
||||||
var resp = new HttpResponseMessage()
|
// var resp = new HttpResponseMessage()
|
||||||
{
|
// {
|
||||||
Content = new StringContent(
|
// Content = new StringContent(
|
||||||
contents,
|
// contents,
|
||||||
System.Text.Encoding.UTF8,
|
// System.Text.Encoding.UTF8,
|
||||||
"text/html")
|
// "text/html")
|
||||||
};
|
// };
|
||||||
|
|
||||||
return resp;
|
// return resp;
|
||||||
}
|
// }
|
||||||
|
|
||||||
[HttpGet]
|
// [HttpGet]
|
||||||
public HttpResponseMessage Index()
|
// public HttpResponseMessage Index()
|
||||||
{
|
// {
|
||||||
// 직접 파일을 읽어서 반환
|
// // 직접 파일을 읽어서 반환
|
||||||
var filePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Web", "wwwroot", "index.html");
|
// var filePath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Web", "wwwroot", "index.html");
|
||||||
var contents = string.Empty;
|
// var contents = string.Empty;
|
||||||
|
|
||||||
if (System.IO.File.Exists(filePath))
|
// if (System.IO.File.Exists(filePath))
|
||||||
{
|
// {
|
||||||
contents = System.IO.File.ReadAllText(filePath, System.Text.Encoding.UTF8);
|
// contents = System.IO.File.ReadAllText(filePath, System.Text.Encoding.UTF8);
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
// 파일이 없으면 404 에러 페이지 또는 기본 메시지
|
// // 파일이 없으면 404 에러 페이지 또는 기본 메시지
|
||||||
contents = "<html><body><h1>404 - File Not Found</h1><p>The requested file was not found: " + filePath + "</p></body></html>";
|
// contents = "<html><body><h1>404 - File Not Found</h1><p>The requested file was not found: " + filePath + "</p></body></html>";
|
||||||
}
|
// }
|
||||||
|
|
||||||
//공용값 적용
|
// //공용값 적용
|
||||||
ApplyCommonValue(ref contents);
|
// ApplyCommonValue(ref contents);
|
||||||
|
|
||||||
var resp = new HttpResponseMessage()
|
// var resp = new HttpResponseMessage()
|
||||||
{
|
// {
|
||||||
Content = new StringContent(
|
// Content = new StringContent(
|
||||||
contents,
|
// contents,
|
||||||
System.Text.Encoding.UTF8,
|
// System.Text.Encoding.UTF8,
|
||||||
"text/html")
|
// "text/html")
|
||||||
};
|
// };
|
||||||
|
|
||||||
return resp;
|
// return resp;
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|||||||
@@ -204,7 +204,7 @@ namespace Project
|
|||||||
|
|
||||||
void Func_Login()
|
void Func_Login()
|
||||||
{
|
{
|
||||||
if (this.webok)
|
if (System.Diagnostics.Debugger.IsAttached)
|
||||||
{
|
{
|
||||||
using (var flogIn = new Dialog.fLogin_WB())
|
using (var flogIn = new Dialog.fLogin_WB())
|
||||||
if (flogIn.ShowDialog() != System.Windows.Forms.DialogResult.OK)
|
if (flogIn.ShowDialog() != System.Windows.Forms.DialogResult.OK)
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ namespace FPJ0000
|
|||||||
{
|
{
|
||||||
var processStr = "%";
|
var processStr = "%";
|
||||||
var dtUserList = taUserList.GetData(processStr, FCOMMON.info.Login.gcode);
|
var dtUserList = taUserList.GetData(processStr, FCOMMON.info.Login.gcode);
|
||||||
foreach (dsReport.ProcessUserListRow dr in dtUserList)
|
foreach (dsReport.ProcessUserListRow dr in dtUserList.OrderBy(t=>t.name))
|
||||||
{
|
{
|
||||||
if (String.IsNullOrEmpty(dr.outdate) == false)
|
if (String.IsNullOrEmpty(dr.outdate) == false)
|
||||||
{
|
{
|
||||||
@@ -62,7 +62,7 @@ namespace FPJ0000
|
|||||||
{
|
{
|
||||||
var processStr = prc;// cmbProcess.Text;
|
var processStr = prc;// cmbProcess.Text;
|
||||||
var dtUserList = taUserList.GetData(processStr, FCOMMON.info.Login.gcode);
|
var dtUserList = taUserList.GetData(processStr, FCOMMON.info.Login.gcode);
|
||||||
foreach (dsReport.ProcessUserListRow dr in dtUserList)
|
foreach (dsReport.ProcessUserListRow dr in dtUserList.OrderBy(t=>t.name))
|
||||||
{
|
{
|
||||||
if (String.IsNullOrEmpty(dr.outdate) == false)
|
if (String.IsNullOrEmpty(dr.outdate) == false)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -685,7 +685,6 @@
|
|||||||
this.otStartDataGridViewTextBoxColumn.HeaderText = "시작";
|
this.otStartDataGridViewTextBoxColumn.HeaderText = "시작";
|
||||||
this.otStartDataGridViewTextBoxColumn.Name = "otStartDataGridViewTextBoxColumn";
|
this.otStartDataGridViewTextBoxColumn.Name = "otStartDataGridViewTextBoxColumn";
|
||||||
this.otStartDataGridViewTextBoxColumn.ReadOnly = true;
|
this.otStartDataGridViewTextBoxColumn.ReadOnly = true;
|
||||||
this.otStartDataGridViewTextBoxColumn.Visible = false;
|
|
||||||
this.otStartDataGridViewTextBoxColumn.Width = 54;
|
this.otStartDataGridViewTextBoxColumn.Width = 54;
|
||||||
//
|
//
|
||||||
// otEnd
|
// otEnd
|
||||||
@@ -698,7 +697,6 @@
|
|||||||
this.otEnd.HeaderText = "종료";
|
this.otEnd.HeaderText = "종료";
|
||||||
this.otEnd.Name = "otEnd";
|
this.otEnd.Name = "otEnd";
|
||||||
this.otEnd.ReadOnly = true;
|
this.otEnd.ReadOnly = true;
|
||||||
this.otEnd.Visible = false;
|
|
||||||
this.otEnd.Width = 54;
|
this.otEnd.Width = 54;
|
||||||
//
|
//
|
||||||
// projectNameDataGridViewTextBoxColumn
|
// projectNameDataGridViewTextBoxColumn
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ namespace FPJ0000
|
|||||||
{
|
{
|
||||||
var processStr = "%";
|
var processStr = "%";
|
||||||
var dtUserList = taUserList.GetData(processStr, FCOMMON.info.Login.gcode);
|
var dtUserList = taUserList.GetData(processStr, FCOMMON.info.Login.gcode);
|
||||||
foreach (dsReport.ProcessUserListRow dr in dtUserList)
|
foreach (dsReport.ProcessUserListRow dr in dtUserList.OrderBy(t=>t.name))
|
||||||
{
|
{
|
||||||
string cmbdata = string.Format("{1}({0})", dr.id, dr.name);
|
string cmbdata = string.Format("{1}({0})", dr.id, dr.name);
|
||||||
this.cmbUser.Items.Add(cmbdata);
|
this.cmbUser.Items.Add(cmbdata);
|
||||||
@@ -150,7 +150,7 @@ namespace FPJ0000
|
|||||||
{
|
{
|
||||||
var processStr = prc;// cmbProcess.Text;
|
var processStr = prc;// cmbProcess.Text;
|
||||||
var dtUserList = taUserList.GetData(processStr, FCOMMON.info.Login.gcode);
|
var dtUserList = taUserList.GetData(processStr, FCOMMON.info.Login.gcode);
|
||||||
foreach (dsReport.ProcessUserListRow dr in dtUserList)
|
foreach (dsReport.ProcessUserListRow dr in dtUserList.OrderBy(t=>t.name))
|
||||||
{
|
{
|
||||||
string cmbdata = string.Format("{1}({0})", dr.id, dr.name);
|
string cmbdata = string.Format("{1}({0})", dr.id, dr.name);
|
||||||
this.cmbUser.Items.Add(cmbdata);
|
this.cmbUser.Items.Add(cmbdata);
|
||||||
|
|||||||
@@ -181,20 +181,20 @@
|
|||||||
<data name="toolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="toolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
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
|
||||||
nxrD4VALAAAAAElFTkSuQmCC
|
DuVD3wEAAAAASUVORK5CYII=
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="btConf.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="btConf.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
@@ -255,7 +255,7 @@
|
|||||||
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAANSSURBVFhH7djZTxNRGAVw/gjjvq9tVWgBAbUguO+aGE18
|
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAANSSURBVFhH7djZTxNRGAVw/gjjvq9tVWgBAbUguO+aGE18
|
||||||
8N0XFROj4oYitHbB0haL4i4qGhUTRew27bS1pRSEJ4kkKCZuiRhJpEQE5TjDTKPEpL13TPClJ7nP95e5
|
8N0XFROj4oYitHbB0haL4i4qGhUTRew27bS1pRSEJ4kkKCZuiRhJpEQE5TjDTKPEpL13TPClJ7nP95e5
|
||||||
c+a7mZRkkklGQu5saSus3RyK3t7UilsbubXhOW6uf46adS24sbYF19c049rqZlxdxa2VEVxZEcHl5U24
|
c+a7mZRkkklGQu5saSus3RyM3t7UilsbubXhOW6uf46adS24sbYF19c049rqZlxdxa2VEVxZEcHl5U24
|
||||||
VNCEi/lhVC8L40JeI87ncksdQtXSEGxLQji3OIjKnCCs2c9gyeLWogDMmQFUZPijZ9PZfeL2iTPKOJjS
|
VNCEi/lhVC8L40JeI87ncksdQtXSEGxLQji3OIjKnCCs2c9gyeLWogDMmQFUZPijZ9PZfeL2iTPKOJjS
|
||||||
/dCr/L3i9okz2rizKj/KlT6I2yfO/8AZ02iAhLiLBWHY8nwwq12oVLOoyg1JxhlTWXIg6ZOrzGXRer8L
|
/dCr/L3i9okz2rizKj/KlT6I2yfO/8AZ02iAhLiLBWHY8nwwq12oVLOoyg1JxhlTWXIg6ZOrzGXRer8L
|
||||||
A99+oK3uDSxLGck4w0IKIPGxbmXxZwLVL2HO8UrC6Rd4yYGk75w1n0HP+z6RBwz9HMK9/RGYs33UON18
|
A99+oK3uDSxLGck4w0IKIPGxbmXxZwLVL2HO8UrC6Rd4yYGk75w1n0HP+z6RBwz9HMK9/RGYs33UON18
|
||||||
@@ -267,7 +267,7 @@
|
|||||||
3uwUWULamfcoUTwhxhVPc5ADaXC6NDceHGoWWUK6X3+FJrMBGjlDjDsxlQJIijOkeVG1zTvistDPXRYs
|
3uwUWULamfcoUTwhxhVPc5ADaXC6NDceHGoWWUK6X3+FJrMBGjlDjDsxlQJIijOkeVG1zTvistDPXRYs
|
||||||
613UuONTKIAkOH58aVVPR5aCu27V7A6iVOakxh2bbCcHkuD42WoqcIo0IXwpSmR2SbijkyiAJDh+tpbN
|
613UuONTKIAkOH58aVVPR5aCu27V7A6iVOakxh2bbCcHkuD42WoqcIo0IXwpSmR2SbijkyiAJDh+tpbN
|
||||||
t6Ppdie+9w0ifKsTp+RPJOOOTHxKDiTB8YNft8AzPCFOyh7/05PjcUUTaIAEuESDnxZXNL6BHPg/cIfH
|
t6Ppdie+9w0ifKsTp+RPJOOOTHxKDiTB8YNft8AzPCFOyh7/05PjcUUTaIAEuESDnxZXNL6BHPg/cIfH
|
||||||
UQA5XHS0cQfG1pP/+uB/5PD/SkYTd3BM/V5x+2SSSYY8KSm/AKb0PpQCSEV4AAAAAElFTkSuQmCC
|
UQA5XHS0cQfG1pP/+uB/5PD/SkYTd3BM/V5x+2SSSYY8KSm/AHvBPpKbf2MsAAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="toolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
|||||||
Reference in New Issue
Block a user