using System;
using System.Data;
using System.Data.SqlClient;
using Newtonsoft.Json;
using FCOMMON;
namespace Project.Web
{
public partial class MachineBridge
{
#region Dashboard API
///
/// 오늘 휴가 인원 수 조회
///
public string TodayCountH()
{
try
{
var sql = "select count(*) from EETGW_HolydayRequest WITH (nolock) " +
" where gcode = @gcode and isnull(conf,0) = 1 " +
" and sdate <= convert(varchar(10),GETDATE(),120) and edate >= convert(varchar(10),GETDATE(),120)";
var cn = DBM.getCn();
cn.Open();
var cmd = new SqlCommand(sql, cn);
cmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = info.Login.gcode;
var cnt = (int)cmd.ExecuteScalar();
cmd.Dispose();
cn.Dispose();
return cnt.ToString();
}
catch (Exception ex)
{
Console.WriteLine($"TodayCountH 오류: {ex.Message}");
return "0";
}
}
///
/// 휴가요청 대기 건수 조회
///
public string GetHolydayRequestCount()
{
try
{
var sql = "select count(*) from EETGW_HolydayRequest WITH (nolock) " +
" where gcode = @gcode and isnull(conf,0) = 0";
var cn = DBM.getCn();
cn.Open();
var cmd = new SqlCommand(sql, cn);
cmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = info.Login.gcode;
var cnt = (int)cmd.ExecuteScalar();
cmd.Dispose();
cn.Dispose();
return JsonConvert.SerializeObject(new { HOLY = cnt, Message = "" });
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(new { HOLY = 0, Message = ex.Message });
}
}
///
/// 현재 출근 대상 인원 수 조회
///
public string GetCurrentUserCount()
{
try
{
var sql = "select count(*) from vGroupUser WITH (nolock) " +
" where gcode = @gcode and useUserState = 1 and useJobReport = 1" +
" and id not in (select uid from vEETGW_TodayNoneWorkUser where gcode = @gcode and kunmu = 0)";
var cn = DBM.getCn();
cn.Open();
var cmd = new SqlCommand(sql, cn);
cmd.Parameters.Add("gcode", SqlDbType.VarChar).Value = info.Login.gcode;
var cnt = (int)cmd.ExecuteScalar();
cmd.Dispose();
cn.Dispose();
return JsonConvert.SerializeObject(new { Count = cnt, Message = "" });
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(new { Count = 0, Message = ex.Message });
}
}
///
/// 구매요청 대기 건수 조회 (NR, CR)
///
public string GetPurchaseWaitCount()
{
try
{
DBM.GetPurchaseWaitCount(info.Login.gcode, out int cnt1, out int cnt2);
return JsonConvert.SerializeObject(new { NR = cnt1, CR = cnt2, Message = "" });
}
catch (Exception ex)
{
return JsonConvert.SerializeObject(new { NR = 0, CR = 0, Message = ex.Message });
}
}
///
/// 휴가자 목록 조회
///
public string GetHolyUser()
{
try
{
var sql = " select uid,type,cate,sdate,edate,title,dbo.getusername(uid) as name " +
" from vEETGW_TodayNoneWorkUser WITH (nolock)" +
" where gcode = @gcode and kunmu=0";
var cs = Properties.Settings.Default.gwcs;
var cn = new SqlConnection(cs);
var cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("gcode", info.Login.gcode ?? "");
var da = new SqlDataAdapter(cmd);
var dt = new DataTable();
da.Fill(dt);
da.Dispose();
cmd.Dispose();
cn.Dispose();
return JsonConvert.SerializeObject(dt, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
}
catch (Exception ex)
{
Console.WriteLine($"GetHolyUser 오류: {ex.Message}");
return "[]";
}
}
///
/// 휴가요청 목록 조회
///
public string GetHolyRequestUser()
{
try
{
var sql = " select uid,cate,sdate,edate,HolyReason,Users.name,holydays,holytimes,remark " +
" from EETGW_HolydayRequest WITH (nolock) INNER JOIN " +
" Users ON EETGW_HolydayRequest.uid = Users.id " +
" where EETGW_HolydayRequest.gcode = @gcode" +
" and isnull(conf,0) = 0";
var cs = Properties.Settings.Default.gwcs;
var cn = new SqlConnection(cs);
var cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("gcode", info.Login.gcode);
var da = new SqlDataAdapter(cmd);
var dt = new DataTable();
da.Fill(dt);
da.Dispose();
cmd.Dispose();
cn.Dispose();
return JsonConvert.SerializeObject(dt, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
}
catch (Exception ex)
{
Console.WriteLine($"GetHolyRequestUser 오류: {ex.Message}");
return "[]";
}
}
///
/// 출근 대상자 목록 조회
///
public string GetPresentUserList()
{
try
{
var sql = "select * from vGroupUser WITH (nolock) " +
" where gcode = @gcode and useUserState = 1 and useJobReport = 1" +
" and id not in (select uid from vEETGW_TodayNoneWorkUser where gcode = @gcode and kunmu = 0)";
var cs = Properties.Settings.Default.gwcs;
var cn = new SqlConnection(cs);
var cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("gcode", info.Login.gcode);
var da = new SqlDataAdapter(cmd);
var dt = new DataTable();
da.Fill(dt);
da.Dispose();
cmd.Dispose();
cn.Dispose();
return JsonConvert.SerializeObject(dt, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
}
catch (Exception ex)
{
Console.WriteLine($"GetPresentUserList 오류: {ex.Message}");
return "[]";
}
}
///
/// 구매요청(NR) 목록 조회
///
public string GetPurchaseNRList()
{
try
{
var sql = "select pdate, process, pumname, pumscale, pumunit, pumqtyreq, pumprice, pumamt from Purchase WITH (nolock) where gcode = @gcode and state = '---' order by pdate desc";
var cs = Properties.Settings.Default.gwcs;
var cn = new SqlConnection(cs);
var cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("gcode", info.Login.gcode);
var da = new SqlDataAdapter(cmd);
var dt = new DataTable();
da.Fill(dt);
da.Dispose();
cmd.Dispose();
cn.Dispose();
return JsonConvert.SerializeObject(dt, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
}
catch (Exception ex)
{
Console.WriteLine($"GetPurchaseNRList 오류: {ex.Message}");
return "[]";
}
}
///
/// 구매요청(CR) 목록 조회
///
public string GetPurchaseCRList()
{
try
{
var sql = "select pdate, process, pumname, pumscale, pumunit, pumqtyreq, pumprice, pumamt " +
" from EETGW_PurchaseCR WITH (nolock) " +
" where gcode = @gcode and state = '---'" +
" order by pdate desc";
var cs = Properties.Settings.Default.gwcs;
var cn = new SqlConnection(cs);
var cmd = new SqlCommand(sql, cn);
cmd.Parameters.AddWithValue("gcode", info.Login.gcode);
var da = new SqlDataAdapter(cmd);
var dt = new DataTable();
da.Fill(dt);
da.Dispose();
cmd.Dispose();
cn.Dispose();
return JsonConvert.SerializeObject(dt, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
}
catch (Exception ex)
{
Console.WriteLine($"GetPurchaseCRList 오류: {ex.Message}");
return "[]";
}
}
#endregion
}
}