feat: MachineBridge 추가 및 fetch API를 HostObject 호출로 전환
- WebView2 HostObject 기반 MachineBridge 브릿지 클래스 추가 - MachineBridge.cs (메인), Login, Dashboard, Todo, Common, Jobreport, Kuntae, Project 모듈 - WebSocketServer.cs 추가 (실시간 통신용) - fDashboardNew 다이얼로그 추가 - Jobreport/index.html, Project/index.html의 fetch API를 machine HostObject 호출로 전환 - DashBoardController.cs의 gcode null 처리 추가 - 사용하지 않는 파일 삭제 (navigation.html, common-nav.js, navigation.js, _add_to_project.py, _project_updater.js) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
95
Project/Web/MachineBridge/MachineBridge.Kuntae.cs
Normal file
95
Project/Web/MachineBridge/MachineBridge.Kuntae.cs
Normal file
@@ -0,0 +1,95 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using Newtonsoft.Json;
|
||||
using FCOMMON;
|
||||
|
||||
namespace Project.Web
|
||||
{
|
||||
public partial class MachineBridge
|
||||
{
|
||||
#region Kuntae API
|
||||
|
||||
/// <summary>
|
||||
/// 근태 목록 조회
|
||||
/// </summary>
|
||||
public string Kuntae_GetList(string sd, string ed)
|
||||
{
|
||||
try
|
||||
{
|
||||
var sql = @"SELECT k.*, u.name as userName
|
||||
FROM EETGW_Kuntae k WITH (nolock)
|
||||
LEFT JOIN Users u ON k.uid = u.id
|
||||
WHERE k.gcode = @gcode AND k.uid = @uid";
|
||||
|
||||
var parameters = new List<SqlParameter>();
|
||||
parameters.Add(new SqlParameter("@gcode", info.Login.gcode));
|
||||
parameters.Add(new SqlParameter("@uid", info.Login.no));
|
||||
|
||||
if (!string.IsNullOrEmpty(sd))
|
||||
{
|
||||
sql += " AND k.kdate >= @sd";
|
||||
parameters.Add(new SqlParameter("@sd", sd));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(ed))
|
||||
{
|
||||
sql += " AND k.kdate <= @ed";
|
||||
parameters.Add(new SqlParameter("@ed", ed));
|
||||
}
|
||||
|
||||
sql += " ORDER BY k.kdate DESC";
|
||||
|
||||
var cs = Properties.Settings.Default.gwcs;
|
||||
var cn = new SqlConnection(cs);
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
cmd.Parameters.AddRange(parameters.ToArray());
|
||||
|
||||
var da = new SqlDataAdapter(cmd);
|
||||
var dt = new DataTable();
|
||||
da.Fill(dt);
|
||||
da.Dispose();
|
||||
cmd.Dispose();
|
||||
cn.Dispose();
|
||||
|
||||
return JsonConvert.SerializeObject(new { Success = true, Data = dt }, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = ex.Message });
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 근태 삭제
|
||||
/// </summary>
|
||||
public string Kuntae_Delete(int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var sql = "DELETE FROM EETGW_Kuntae WHERE idx = @idx AND gcode = @gcode AND uid = @uid";
|
||||
|
||||
var cs = Properties.Settings.Default.gwcs;
|
||||
var cn = new SqlConnection(cs);
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
cmd.Parameters.AddWithValue("@idx", id);
|
||||
cmd.Parameters.AddWithValue("@gcode", info.Login.gcode);
|
||||
cmd.Parameters.AddWithValue("@uid", info.Login.no);
|
||||
|
||||
cn.Open();
|
||||
var result = cmd.ExecuteNonQuery();
|
||||
cn.Close();
|
||||
cmd.Dispose();
|
||||
cn.Dispose();
|
||||
|
||||
return JsonConvert.SerializeObject(new { Success = result > 0, Message = result > 0 ? "삭제되었습니다." : "삭제에 실패했습니다." });
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = ex.Message });
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user