chore: 首次簽入 Thinkyu ASP.NET 專案

- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
2026-09-10 09:42:37 +08:00
commit 577060bc78
2496 changed files with 501389 additions and 0 deletions
+138
View File
@@ -0,0 +1,138 @@
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.Common;
using Wellan.Data;
using Wellan.Common;
public partial class forms_worker_fmPunchCard : Wellan.Web.UI.WUserControlBase
{
private RcrdDAC rcrdDao;
private RasnDAC rasnDao;
protected void Page_Load(object sender, EventArgs e)
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
rcrdDao = new RcrdDAC(Query);
rasnDao = new RasnDAC(Query);
ReadCard();
ReadRasn();
}
protected long nowtime
{
get { return (DateTime.UtcNow.Ticks - new DateTime(1970, 1, 1).Ticks) / 10000; }
}
protected bool showTWTime { get; set; }
private void ReadCard()
{
var aNow = DateAndTime.GetNow(UserId);
DataTable data = rcrdDao.ReadToday(UserId, aNow.CardDate);
if (data.Rows.Count != 0)
{
lbOnDuty.Text = WQuery.GetStringValue(data.Rows[0]["RCC01"]);
lbOffDuty.Text = WQuery.GetStringValue(data.Rows[0]["RCC02"]);
lbOut.Text = WQuery.GetStringValue(data.Rows[0]["RCC07"]);
lbBack.Text = WQuery.GetStringValue(data.Rows[0]["RCC08"]);
}
// 20220106 解除下班打卡按鈕限制
btnOnDuty.Enabled = lbOnDuty.Text.Length == 0;
// btnOffDuty.Enabled = lbOffDuty.Text.Length == 0 && lbOnDuty.Text.Length > 0;
btnOffDuty.Enabled = lbOffDuty.Text.Length == 0;
btnOut.Enabled = lbOut.Text.Length == 0;
// btnBack.Enabled = lbOut.Text.Length > 0 && lbBack.Text.Length == 0;
btnBack.Enabled = lbBack.Text.Length == 0;
if (lbOnDuty.Text.Length == 0)
lbOnDuty.Text = "(尚未打卡)";
if (lbOffDuty.Text.Length == 0)
lbOffDuty.Text = "(尚未打卡)";
if (lbOut.Text.Length == 0)
lbOut.Text = "(尚未打卡)";
if (lbBack.Text.Length == 0)
lbBack.Text = "(尚未打卡)";
}
private void ReadRasn()
{
showTWTime = false;
var rasnTable = rasnDao.SelectRecent(UserId);
if (rasnTable.Rows.Count > 0)
{
var rawtz = WDAC.GetStringValue(rasnTable.Rows[0]["RAWTZ"]);
if (!string.IsNullOrEmpty(rawtz) && string.Compare(rawtz, "台北") != 0)
{
showTWTime = true;
}
}
}
protected bool CheckPunchCardDays()
{
cvMessage.IsValid = true;
cvMessage.ErrorMessage = string.Empty;
if (rcrdDao.PunchDaysIn7Days(DateAndTime.GetNow(UserId).LocalDate, UserId, false) >= 6)
{
cvMessage.IsValid = false;
cvMessage.ErrorMessage = "不可連續七天打卡";
return false;
}
return true;
}
protected void btnOnDuty_Click(object sender, EventArgs e)
{
if (!CheckPunchCardDays()) return;
var aNow = DateAndTime.GetNow(UserId);
rcrdDao.PunchRCC01(aNow, UserId, Request.UserHostAddress, false);
ReadCard();
}
protected void btnOffDuty_Click(object sender, EventArgs e)
{
if (!CheckPunchCardDays()) return;
var aNow = DateAndTime.GetNow(UserId);
rcrdDao.PunchRCC02(aNow, UserId, Request.UserHostAddress, false);
ReadCard();
}
protected void btnOut_Click(object sender, EventArgs e)
{
if (!CheckPunchCardDays()) return;
var aNow = DateAndTime.GetNow(UserId);
rcrdDao.PunchRCC07(aNow, UserId, Request.UserHostAddress, false);
ReadCard();
}
protected void btnBack_Click(object sender, EventArgs e)
{
if (!CheckPunchCardDays()) return;
var aNow = DateAndTime.GetNow(UserId);
rcrdDao.PunchRCC08(aNow, UserId, Request.UserHostAddress, false);
ReadCard();
}
}