chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,166 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Data.Common;
|
||||
using System.Collections;
|
||||
using Wellan.Data;
|
||||
using Wellan.Common;
|
||||
using System.ComponentModel;
|
||||
|
||||
/// <summary>
|
||||
/// 人員班表的資料處理類別
|
||||
/// </summary>
|
||||
[DataObject]
|
||||
public class RtmeDAC : WDAC
|
||||
{
|
||||
public RtmeDAC()
|
||||
{
|
||||
}
|
||||
|
||||
public RtmeDAC(string connectionConfig, string connectionConfigName)
|
||||
: this()
|
||||
{
|
||||
this._connectionConfig = connectionConfig;
|
||||
this._connectionConfigName = connectionConfigName;
|
||||
}
|
||||
|
||||
public RtmeDAC(WQuery query)
|
||||
{
|
||||
this._query = query;
|
||||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Select)]
|
||||
public List<RtmeItem> SelectDay(string RTENO, DateTime? RTDAT)
|
||||
{
|
||||
var cmd = Query.NewCommand();
|
||||
cmd.CommandText = "SELECT * FROM RTME WHERE 1=1";
|
||||
|
||||
if (!string.IsNullOrEmpty(RTENO))
|
||||
cmd.CommandText += " AND RTENO = @RTENO ";
|
||||
if (RTDAT.HasValue)
|
||||
cmd.CommandText += " AND RTDAT = @RTDAT ";
|
||||
|
||||
AddParam(cmd, "RTENO", RTENO);
|
||||
AddParam(cmd, "RTDAT", RTDAT);
|
||||
return Query.Select<RtmeItem>(cmd);
|
||||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Select)]
|
||||
public List<RtmeItem> SelectMonth(string RTENO, DateTime? RTDAT)
|
||||
{
|
||||
var cmd = Query.NewCommand();
|
||||
cmd.CommandText = "SELECT * FROM RTME WHERE 1=1";
|
||||
|
||||
// if (!string.IsNullOrEmpty(RTENO))
|
||||
cmd.CommandText += " AND RTENO = @RTENO ";
|
||||
|
||||
if (RTDAT.HasValue)
|
||||
{
|
||||
cmd.CommandText += " AND RTDAT >= @RTDAT_1 AND RTDAT < @RTDAT_2 ";
|
||||
var d = RTDAT.Value.AddDays(-(RTDAT.Value.Day - 1));
|
||||
AddParam(cmd, "RTDAT_1", d);
|
||||
AddParam(cmd, "RTDAT_2", d.AddMonths(1));
|
||||
}
|
||||
|
||||
AddParam(cmd, "RTENO", RTENO);
|
||||
return Query.Select<RtmeItem>(cmd);
|
||||
}
|
||||
|
||||
public void SetDay(string RTENO, DateTime RTDAT, string RTTID, string TRUSR)
|
||||
{
|
||||
var item = SelectDay(RTENO, RTDAT).FirstOrDefault();
|
||||
if (item == null)
|
||||
{
|
||||
InsertOne(new RtmeItem()
|
||||
{
|
||||
RTENO = RTENO,
|
||||
RTDAT = RTDAT,
|
||||
RTTID = RTTID,
|
||||
TRUSR = TRUSR
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
item.RTTID = RTTID;
|
||||
UpdateOne(item);
|
||||
}
|
||||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Insert)]
|
||||
public void InsertOne(RtmeItem value)
|
||||
{
|
||||
var cmd = Query.NewCommand();
|
||||
cmd.CommandText =
|
||||
@"INSERT INTO dbo.RTME
|
||||
(RTENO, RTDAT, RTTID, TRDAT, TRMOD, TRUSR)
|
||||
VALUES
|
||||
(@RTENO, @RTDAT, @RTTID, GETDATE(), 'INSERT', @TRUSR)";
|
||||
AddParam(cmd, "RTENO", value.RTENO);
|
||||
AddParam(cmd, "RTDAT", value.RTDAT);
|
||||
AddParam(cmd, "RTTID", value.RTTID);
|
||||
AddParam(cmd, "TRUSR", value.TRUSR);
|
||||
Query.ExecuteNonQuery(cmd);
|
||||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Update)]
|
||||
public void UpdateOne(RtmeItem value)
|
||||
{
|
||||
var cmd = Query.NewCommand();
|
||||
cmd.CommandText =
|
||||
@"UPDATE dbo.RTME SET
|
||||
RTTID = @RTTID,
|
||||
TRDAT = GETDATE(),
|
||||
TRMOD = 'MODIFY',
|
||||
TRUSR = @TRUSR
|
||||
WHERE RTENO = @OLD_RTENO
|
||||
AND RTDAT = @OLD_RTDAT";
|
||||
AddParam(cmd, "RTTID", value.RTTID);
|
||||
AddParam(cmd, "TRUSR", value.TRUSR);
|
||||
AddParam(cmd, "OLD_RTENO", value.RTENO);
|
||||
AddParam(cmd, "OLD_RTDAT", value.RTDAT);
|
||||
Query.ExecuteNonQuery(cmd);
|
||||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Delete)]
|
||||
public void DeleteOne(RtmeItem value)
|
||||
{
|
||||
var cmd = Query.NewCommand();
|
||||
cmd.CommandText =
|
||||
@"DELETE FROM dbo.RTME
|
||||
WHERE RTENO = @OLD_RTENO
|
||||
AND RTDAT = @OLD_RTDAT";
|
||||
AddParam(cmd, "OLD_RTENO", value.RTENO);
|
||||
AddParam(cmd, "OLD_RTDAT", value.RTDAT);
|
||||
Query.ExecuteNonQuery(cmd);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 由員工與日期取班表資料
|
||||
/// </summary>
|
||||
/// <param name="RTENO"></param>
|
||||
/// <param name="RTDAT"></param>
|
||||
/// <returns></returns>
|
||||
public BtmeItem SelectBtmeDay(string RTENO, DateTime RTDAT)
|
||||
{
|
||||
var rtmeItem = SelectDay(RTENO, RTDAT).FirstOrDefault();
|
||||
if (rtmeItem != null && !string.IsNullOrEmpty(rtmeItem.RTTID.Trim()) && !BhrdDAC.ItemIsHoliday(rtmeItem.RTTID))
|
||||
{
|
||||
return new BtmeDAC(Query).SelectOne(rtmeItem.RTTID).FirstOrDefault();
|
||||
}
|
||||
else
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public class RtmeItem
|
||||
{
|
||||
public string RTENO { get; set; }
|
||||
public DateTime RTDAT { get; set; }
|
||||
public string RTTID { get; set; }
|
||||
public DateTime TRDAT { get; set; }
|
||||
public string TRMOD { get; set; }
|
||||
public string TRUSR { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user