chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,531 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Data.Common;
|
||||
using System.Collections;
|
||||
using System.Text;
|
||||
using System.ComponentModel;
|
||||
using Wellan.Data;
|
||||
|
||||
/// <summary>
|
||||
/// 薪資資料與薪資異動資料的資料處理類別
|
||||
/// </summary>
|
||||
[DataObject(true)]
|
||||
public class BpslDAC : Wellan.Data.WDAC
|
||||
{
|
||||
private DbCommand cmdSelectBpslBpeno;
|
||||
private DbCommand cmdSelectRpsl;
|
||||
private DbCommand cmdSelectBpslOne;
|
||||
private DbCommand cmdSelectRpslOne;
|
||||
private DbCommand cmdSelectRpslAll;
|
||||
private DbCommand cmdSelectBpsl2;
|
||||
|
||||
public BpslDAC()
|
||||
{
|
||||
// 取出最後一筆異動
|
||||
cmdSelectRpsl = Query.NewCommand(
|
||||
@"SELECT TOP 1 RPENO BPENO, RPITM BPITM, RPBDT BPBDT, RPSRM BPSRM, RPSRD BPSRD,
|
||||
RPP01 BPP01, RPP02 BPP02, RPP03 BPP03, RPP04 BPP04, RPP05 BPP05, APPNO
|
||||
FROM RPSL WHERE RPENO=@BPENO ORDER BY BPITM DESC");
|
||||
cmdSelectRpsl.Parameters.Add(Query.NewParameter("BPENO", DbType.String));
|
||||
|
||||
// 取出員工薪資資料
|
||||
cmdSelectBpslOne = Query.NewCommand(
|
||||
@"SELECT *, 0 BPITM, NULL BPBDT FROM BPSL WHERE BPENO=@BPENO");
|
||||
cmdSelectBpslOne.Parameters.Add(Query.NewParameter("BPENO", DbType.String));
|
||||
|
||||
// 取出某一筆薪資異動資料
|
||||
cmdSelectRpslOne = Query.NewCommand(
|
||||
@"SELECT RPENO BPENO, RPITM BPITM, RPBDT BPBDT, RPSRM BPSRM, RPSRD BPSRD,
|
||||
RPP01 BPP01, RPP02 BPP02, RPP03 BPP03, RPP04 BPP04, RPP05 BPP05, APPNO
|
||||
FROM RPSL WHERE RPENO=@BPENO AND RPITM=@BPITM");
|
||||
cmdSelectRpslOne.Parameters.Add(Query.NewParameter("BPENO", DbType.String));
|
||||
cmdSelectRpslOne.Parameters.Add(Query.NewParameter("BPITM", DbType.Int32));
|
||||
|
||||
// 取出某員工編號全部的紀錄,以異動次數排序
|
||||
cmdSelectRpslAll = Query.NewCommand(
|
||||
@"SELECT BPENO, 0 BPITM, NULL BPBDT, BPSRM, BPSRD,
|
||||
BPP01, BPP02, BPP03, BPP04, BPP05, APPNO
|
||||
FROM BPSL
|
||||
WHERE BPENO=@BPENO
|
||||
UNION
|
||||
SELECT RPENO BPENO, RPITM BPITM, RPBDT BPBDT, RPSRM BPSRM, RPSRD BPSRD,
|
||||
RPP01 BPP01, RPP02 BPP02, RPP03 BPP03, RPP04 BPP04, RPP05 BPP05, APPNO
|
||||
FROM RPSL
|
||||
WHERE RPENO=@BPENO
|
||||
ORDER BY BPITM");
|
||||
cmdSelectRpslAll.Parameters.Add(Query.NewParameter("BPENO", DbType.String));
|
||||
|
||||
// 取出某員工編號全部的紀錄,以生效日期排序
|
||||
cmdSelectBpsl2 = Query.NewCommand(
|
||||
@"SELECT BPENO, 0 BPITM, '1899/12/31' BPBDT, BPSRM, BPSRD,
|
||||
BPP01, BPP02, BPP03, BPP04, BPP05, APPNO
|
||||
FROM BPSL
|
||||
WHERE BPENO=@BPENO
|
||||
UNION
|
||||
SELECT RPENO BPENO, RPITM BPITM, RPBDT BPBDT, RPSRM BPSRM, RPSRD BPSRD,
|
||||
RPP01 BPP01, RPP02 BPP02, RPP03 BPP03, RPP04 BPP04, RPP05 BPP05, APPNO
|
||||
FROM RPSL
|
||||
WHERE RPENO=@BPENO
|
||||
ORDER BY BPBDT");
|
||||
cmdSelectBpsl2.Parameters.Add(Query.NewParameter("BPENO", DbType.String));
|
||||
}
|
||||
|
||||
public BpslDAC(string connectionConfig, string connectionConfigName)
|
||||
: this()
|
||||
{
|
||||
base._connectionConfig = connectionConfig;
|
||||
base._connectionConfigName = connectionConfigName;
|
||||
}
|
||||
|
||||
public BpslDAC(WQuery query)
|
||||
: this()
|
||||
{
|
||||
base._query = query;
|
||||
}
|
||||
|
||||
private DataTable NewResult()
|
||||
{
|
||||
// 準備輸出資料架構
|
||||
DataTable Result = new DataTable();
|
||||
Result.Columns.Add("BPENO", typeof(String));
|
||||
Result.Columns.Add("BPITM", typeof(Int32));
|
||||
Result.Columns.Add("BPBDT", typeof(DateTime));
|
||||
Result.Columns.Add("BPSRM", typeof(Int32));
|
||||
Result.Columns.Add("BPSRD", typeof(Int32));
|
||||
Result.Columns.Add("BPP01", typeof(Int32));
|
||||
Result.Columns.Add("BPP02", typeof(Int32));
|
||||
Result.Columns.Add("BPP03", typeof(Int32));
|
||||
Result.Columns.Add("BPP04", typeof(Int32));
|
||||
Result.Columns.Add("BPP05", typeof(Int32));
|
||||
Result.Columns.Add("APPNO", typeof(Int32));
|
||||
Result.Columns.Add("BPSRM_Changed", typeof(Char));
|
||||
Result.Columns.Add("BPSRD_Changed", typeof(Char));
|
||||
Result.Columns.Add("BPP01_Changed", typeof(Char));
|
||||
Result.Columns.Add("BPP02_Changed", typeof(Char));
|
||||
Result.Columns.Add("BPP03_Changed", typeof(Char));
|
||||
Result.Columns.Add("BPP04_Changed", typeof(Char));
|
||||
Result.Columns.Add("BPP05_Changed", typeof(Char));
|
||||
|
||||
return Result;
|
||||
}
|
||||
|
||||
private void FillResult(DataTable Result, DataRow source)
|
||||
{
|
||||
DataRow newRow = Result.NewRow();
|
||||
newRow["BPENO"] = source["BPENO"];
|
||||
newRow["BPITM"] = source["BPITM"];
|
||||
newRow["BPBDT"] = source["BPBDT"];
|
||||
newRow["BPSRM"] = source["BPSRM"];
|
||||
newRow["BPSRD"] = source["BPSRD"];
|
||||
newRow["BPP01"] = source["BPP01"];
|
||||
newRow["BPP02"] = source["BPP02"];
|
||||
newRow["BPP03"] = source["BPP03"];
|
||||
newRow["BPP04"] = source["BPP04"];
|
||||
newRow["BPP05"] = source["BPP05"];
|
||||
newRow["APPNO"] = source["APPNO"];
|
||||
newRow["BPSRM_Changed"] = 'N';
|
||||
newRow["BPSRD_Changed"] = 'N';
|
||||
newRow["BPP01_Changed"] = 'N';
|
||||
newRow["BPP02_Changed"] = 'N';
|
||||
newRow["BPP03_Changed"] = 'N';
|
||||
newRow["BPP04_Changed"] = 'N';
|
||||
newRow["BPP05_Changed"] = 'N';
|
||||
Result.Rows.Add(newRow);
|
||||
}
|
||||
|
||||
private Char FieldDiff(object obj1, object obj2)
|
||||
{
|
||||
string s1 = obj1 != DBNull.Value ? obj1.ToString() : "";
|
||||
string s2 = obj2 != DBNull.Value ? obj2.ToString() : "";
|
||||
if (s1.CompareTo(s2) != 0)
|
||||
return 'Y';
|
||||
else
|
||||
return 'N';
|
||||
}
|
||||
|
||||
private void FillResult(DataTable Result, DataRow current, DataRow prev)
|
||||
{
|
||||
DataRow newRow = Result.NewRow();
|
||||
newRow["BPENO"] = current["BPENO"];
|
||||
newRow["BPITM"] = current["BPITM"];
|
||||
newRow["BPBDT"] = current["BPBDT"];
|
||||
newRow["BPSRM"] = current["BPSRM"];
|
||||
newRow["BPSRD"] = current["BPSRD"];
|
||||
newRow["BPP01"] = current["BPP01"];
|
||||
newRow["BPP02"] = current["BPP02"];
|
||||
newRow["BPP03"] = current["BPP03"];
|
||||
newRow["BPP04"] = current["BPP04"];
|
||||
newRow["BPP05"] = current["BPP05"];
|
||||
newRow["APPNO"] = current["APPNO"];
|
||||
newRow["BPSRM_Changed"] = FieldDiff(current["BPSRM"], prev["BPSRM"]);
|
||||
newRow["BPSRD_Changed"] = FieldDiff(current["BPSRD"], prev["BPSRD"]);
|
||||
newRow["BPP01_Changed"] = FieldDiff(current["BPP01"], prev["BPP01"]);
|
||||
newRow["BPP02_Changed"] = FieldDiff(current["BPP02"], prev["BPP02"]);
|
||||
newRow["BPP03_Changed"] = FieldDiff(current["BPP03"], prev["BPP03"]);
|
||||
newRow["BPP04_Changed"] = FieldDiff(current["BPP04"], prev["BPP04"]);
|
||||
newRow["BPP05_Changed"] = FieldDiff(current["BPP05"], prev["BPP05"]);
|
||||
Result.Rows.Add(newRow);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 依條件取出資料,給 GridView 的 Select 用的
|
||||
/// </summary>
|
||||
[DataObjectMethod(DataObjectMethodType.Select)]
|
||||
public DataTable Select(string BPENO, string BPNME)
|
||||
{
|
||||
if (cmdSelectBpslBpeno == null)
|
||||
cmdSelectBpslBpeno = Query.NewCommand();
|
||||
cmdSelectBpslBpeno.Parameters.Clear();
|
||||
|
||||
// 清空輸出資料表
|
||||
DataTable Result = NewResult();
|
||||
|
||||
// 依條件抓出員工編號
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append("SELECT A.BPENO FROM BPSL A INNER JOIN BPSNView B ON A.BPENO=B.BPENO WHERE 1=1 ");
|
||||
if (BPENO != null && BPENO.Length > 0)
|
||||
{
|
||||
sb.Append(" AND A.BPENO LIKE @BPENO ");
|
||||
cmdSelectBpslBpeno.Parameters.Add(Query.NewParameter("BPENO", BPENO + "%"));
|
||||
}
|
||||
if (BPNME != null && BPNME.Length > 0)
|
||||
{
|
||||
sb.Append(" AND B.BPNME LIKE @BPNME ");
|
||||
cmdSelectBpslBpeno.Parameters.Add(Query.NewParameter("BPNME", BPNME + "%"));
|
||||
}
|
||||
cmdSelectBpslBpeno.CommandText = sb.ToString();
|
||||
DataTable bpenoTmp = Query.Select(cmdSelectBpslBpeno);
|
||||
|
||||
DataTable bpslTmp;
|
||||
// 一筆一筆的抓出應該顯示的資料
|
||||
foreach (DataRow bpenoRow in bpenoTmp.Rows)
|
||||
{
|
||||
// 依照員工編號,抓出最後一筆異動
|
||||
cmdSelectRpsl.Parameters[0].Value = bpenoRow[0];
|
||||
bpslTmp = Query.Select(cmdSelectRpsl);
|
||||
|
||||
// 有異動資料,填入異動資料
|
||||
if (bpslTmp.Rows.Count != 0)
|
||||
{
|
||||
FillResult(Result, bpslTmp.Rows[0]);
|
||||
}
|
||||
// 沒有異動資料,填入原始資料
|
||||
else
|
||||
{
|
||||
cmdSelectBpslOne.Parameters[0].Value = bpenoRow[0];
|
||||
bpslTmp = Query.Select(cmdSelectBpslOne);
|
||||
FillResult(Result, bpslTmp.Rows[0]);
|
||||
}
|
||||
}
|
||||
|
||||
return Result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取出最新資料,給 FormView 的 Select 用的
|
||||
/// </summary>
|
||||
[DataObjectMethod(DataObjectMethodType.Select)]
|
||||
public DataTable SelectOne(string BPENO, int BPITM)
|
||||
{
|
||||
return SelectOne(BPENO, BPITM, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取出某一筆薪資異動資料
|
||||
/// </summary>
|
||||
public DataTable SelectOne(string BPENO, int BPITM, DbTransaction tran)
|
||||
{
|
||||
DataTable Result = NewResult();
|
||||
|
||||
if (BPENO != null && BPENO.Length > 0)
|
||||
{
|
||||
// 取原始資料
|
||||
if (BPITM == 0)
|
||||
{
|
||||
cmdSelectBpslOne.Parameters[0].Value = BPENO;
|
||||
DataTable tmp;
|
||||
if (tran == null)
|
||||
tmp = Query.Select(cmdSelectBpslOne);
|
||||
else
|
||||
tmp = Query.Select(cmdSelectBpslOne, tran);
|
||||
if (tmp.Rows.Count > 0)
|
||||
FillResult(Result, tmp.Rows[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
cmdSelectRpslOne.Parameters[0].Value = BPENO;
|
||||
cmdSelectRpslOne.Parameters[1].Value = BPITM;
|
||||
DataTable tmp;
|
||||
if (tran == null)
|
||||
tmp = Query.Select(cmdSelectRpslOne);
|
||||
else
|
||||
tmp = Query.Select(cmdSelectRpslOne, tran);
|
||||
if (tmp.Rows.Count > 0)
|
||||
FillResult(Result, tmp.Rows[0]);
|
||||
}
|
||||
}
|
||||
return Result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取出所有薪資異動歷史資料,薪資異動查詢用
|
||||
/// </summary>
|
||||
[DataObjectMethod(DataObjectMethodType.Select)]
|
||||
public DataTable SelectRPSL(string BPENO)
|
||||
{
|
||||
DataTable Result = NewResult();
|
||||
|
||||
if (BPENO != null && BPENO.Length > 0)
|
||||
{
|
||||
cmdSelectRpslAll.Parameters[0].Value = BPENO;
|
||||
DataTable tmp = Query.Select(cmdSelectRpslAll);
|
||||
for (int i = 0; i < tmp.Rows.Count; i++)
|
||||
{
|
||||
if (i > 0)
|
||||
FillResult(Result, tmp.Rows[i], tmp.Rows[i - 1]);
|
||||
else
|
||||
FillResult(Result, tmp.Rows[i]);
|
||||
}
|
||||
}
|
||||
return Result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取出日期區間內薪資基本資料以及薪資異動資料
|
||||
/// </summary>
|
||||
public DataTable SelectBPSLDateRange(string bpeno, DateTime startDay, DateTime endDay, DbTransaction tran)
|
||||
{
|
||||
DataTable Result = NewResult();
|
||||
|
||||
if (bpeno != null && bpeno.Length > 0)
|
||||
{
|
||||
cmdSelectBpsl2.Parameters[0].Value = bpeno;
|
||||
DataTable tmp = Query.Select(cmdSelectBpsl2, tran);
|
||||
int startIndex = -1;
|
||||
int endIndex = -1;
|
||||
for (int i = 0; i < tmp.Rows.Count; i++)
|
||||
{
|
||||
DateTime bpbdt = Convert.ToDateTime(tmp.Rows[i]["BPBDT"]);
|
||||
if (startDay >= bpbdt)
|
||||
startIndex = i;
|
||||
if (endDay >= bpbdt)
|
||||
endIndex = i;
|
||||
}
|
||||
|
||||
if (startIndex != -1 && endIndex != -1)
|
||||
{
|
||||
for (int i = startIndex; i <= endIndex; i++)
|
||||
{
|
||||
FillResult(Result, tmp.Rows[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return Result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取出某一筆薪資異動紀錄
|
||||
/// </summary>
|
||||
[DataObjectMethod(DataObjectMethodType.Select)]
|
||||
public DataTable SelectRPSLOne(string BPENO, int BPITM)
|
||||
{
|
||||
DataTable Result = NewResult();
|
||||
|
||||
if (BPENO != null && BPENO.Length > 0)
|
||||
{
|
||||
cmdSelectRpslAll.Parameters[0].Value = BPENO;
|
||||
DataTable tmp = Query.Select(cmdSelectRpslAll);
|
||||
for (int i = 0; i < tmp.Rows.Count; i++)
|
||||
{
|
||||
if (Convert.ToInt32(tmp.Rows[i]["BPITM"]) == BPITM)
|
||||
{
|
||||
if (i > 0)
|
||||
FillResult(Result, tmp.Rows[i], tmp.Rows[i - 1]);
|
||||
else
|
||||
FillResult(Result, tmp.Rows[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return Result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取得下一個薪資異動項次
|
||||
/// </summary>
|
||||
private int NextRPITM(string BPENO)
|
||||
{
|
||||
DbCommand cmd = Query.NewCommand("SELECT ISNULL(MAX(RPITM), 0) + 1 FROM RPSL WHERE RPENO=@RPENO");
|
||||
cmd.Parameters.Add(Query.NewParameter("RPENO", BPENO));
|
||||
int Result;
|
||||
ExecuteScalar(cmd, out Result);
|
||||
return Result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 新增一筆員工薪資資料,或薪資異動紀錄
|
||||
/// </summary>
|
||||
[DataObjectMethod(DataObjectMethodType.Insert)]
|
||||
public int Insert(string BPENO, int BPITM, DateTime BPBDT, int BPSRM, int BPSRD, int BPP01, int BPP02,
|
||||
int BPP03, int BPP04, int BPP05, string TRUSR)
|
||||
{
|
||||
DbCommand cmdInsert = Query.NewCommand();
|
||||
|
||||
if (BPITM == 0)
|
||||
{
|
||||
cmdInsert.CommandText =
|
||||
@"INSERT INTO BPSL
|
||||
(BPENO, BPSRM, BPSRD, BPP01, BPP02, BPP03, BPP04, BPP05, APPNO,
|
||||
TRDAT, TRMOD, TRUSR)
|
||||
VALUES
|
||||
(@BPENO, @BPSRM, @BPSRD, @BPP01, @BPP02, @BPP03, @BPP04, @BPP05, 1,
|
||||
GETDATE(), 'INSERT', @TRUSR)";
|
||||
AddParam(cmdInsert, "BPENO", BPENO);
|
||||
AddParam(cmdInsert, "BPSRM", BPSRM);
|
||||
AddParam(cmdInsert, "BPSRD", BPSRD);
|
||||
AddParam(cmdInsert, "BPP01", BPP01);
|
||||
AddParam(cmdInsert, "BPP02", BPP02);
|
||||
AddParam(cmdInsert, "BPP03", BPP03);
|
||||
AddParam(cmdInsert, "BPP04", BPP04);
|
||||
AddParam(cmdInsert, "BPP05", BPP05);
|
||||
AddParam(cmdInsert, "TRUSR", TRUSR);
|
||||
}
|
||||
else
|
||||
{
|
||||
cmdInsert.CommandText =
|
||||
@"INSERT INTO RPSL
|
||||
(RPENO, RPITM, RPBDT, RPSRM, RPSRD, RPP01, RPP02, RPP03, RPP04, RPP05, APPNO,
|
||||
TRDAT, TRMOD, TRUSR)
|
||||
VALUES
|
||||
(@RPENO, @RPITM, @RPBDT, @RPSRM, @RPSRD, @RPP01, @RPP02, @RPP03, @RPP04, @RPP05, 1,
|
||||
GETDATE(), 'INSERT', @TRUSR)";
|
||||
AddParam(cmdInsert, "RPENO", BPENO);
|
||||
AddParam(cmdInsert, "RPITM", NextRPITM(BPENO));
|
||||
AddParam(cmdInsert, "RPBDT", BPBDT);
|
||||
AddParam(cmdInsert, "RPSRM", BPSRM);
|
||||
AddParam(cmdInsert, "RPSRD", BPSRD);
|
||||
AddParam(cmdInsert, "RPP01", BPP01);
|
||||
AddParam(cmdInsert, "RPP02", BPP02);
|
||||
AddParam(cmdInsert, "RPP03", BPP03);
|
||||
AddParam(cmdInsert, "RPP04", BPP04);
|
||||
AddParam(cmdInsert, "RPP05", BPP05);
|
||||
AddParam(cmdInsert, "TRUSR", TRUSR);
|
||||
}
|
||||
|
||||
return Query.ExecuteNonQuery(cmdInsert);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更正員工薪資資料或薪資異動紀錄
|
||||
/// </summary>
|
||||
[DataObjectMethod(DataObjectMethodType.Update)]
|
||||
public int Update(string BPENO, int BPITM, DateTime BPBDT, int BPSRM, int BPSRD, int BPP01, int BPP02,
|
||||
int BPP03, int BPP04, int BPP05, string TRUSR, int APPNO,
|
||||
string OLD_BPENO, int OLD_BPITM, int OLD_APPNO)
|
||||
{
|
||||
DbCommand cmdUpdate = Query.NewCommand();
|
||||
|
||||
if (OLD_BPITM == 0)
|
||||
{
|
||||
cmdUpdate.CommandText =
|
||||
@"UPDATE BPSL SET
|
||||
BPENO = @BPENO,
|
||||
BPSRM = @BPSRM,
|
||||
BPSRD = @BPSRD,
|
||||
BPP01 = @BPP01,
|
||||
BPP02 = @BPP02,
|
||||
BPP03 = @BPP03,
|
||||
BPP04 = @BPP04,
|
||||
BPP05 = @BPP05,
|
||||
APPNO = APPNO + 1,
|
||||
TRDAT = GETDATE(),
|
||||
TRMOD = 'UPDATE',
|
||||
TRUSR = @TRUSR
|
||||
WHERE BPENO = @OLD_BPENO
|
||||
AND APPNO = @OLD_APPNO";
|
||||
AddParam(cmdUpdate, "BPENO", BPENO);
|
||||
AddParam(cmdUpdate, "BPSRM", BPSRM);
|
||||
AddParam(cmdUpdate, "BPSRD", BPSRD);
|
||||
AddParam(cmdUpdate, "BPP01", BPP01);
|
||||
AddParam(cmdUpdate, "BPP02", BPP02);
|
||||
AddParam(cmdUpdate, "BPP03", BPP03);
|
||||
AddParam(cmdUpdate, "BPP04", BPP04);
|
||||
AddParam(cmdUpdate, "BPP05", BPP05);
|
||||
AddParam(cmdUpdate, "TRUSR", TRUSR);
|
||||
AddParam(cmdUpdate, "OLD_BPENO", OLD_BPENO);
|
||||
AddParam(cmdUpdate, "OLD_APPNO", OLD_APPNO);
|
||||
}
|
||||
else
|
||||
{
|
||||
cmdUpdate.CommandText =
|
||||
@"UPDATE RPSL SET
|
||||
RPENO = @RPENO,
|
||||
RPITM = @RPITM,
|
||||
RPBDT = @RPBDT,
|
||||
RPSRM = @RPSRM,
|
||||
RPSRD = @RPSRD,
|
||||
RPP01 = @RPP01,
|
||||
RPP02 = @RPP02,
|
||||
RPP03 = @RPP03,
|
||||
RPP04 = @RPP04,
|
||||
RPP05 = @RPP05,
|
||||
APPNO = APPNO + 1,
|
||||
TRDAT = GETDATE(),
|
||||
TRMOD = 'UPDATE',
|
||||
TRUSR = @TRUSR
|
||||
WHERE RPENO = @OLD_RPENO
|
||||
AND RPITM = @OLD_RPITM
|
||||
AND APPNO = @OLD_APPNO";
|
||||
AddParam(cmdUpdate, "RPENO", BPENO);
|
||||
AddParam(cmdUpdate, "RPITM", BPITM);
|
||||
AddParam(cmdUpdate, "RPBDT", BPBDT);
|
||||
AddParam(cmdUpdate, "RPSRM", BPSRM);
|
||||
AddParam(cmdUpdate, "RPSRD", BPSRD);
|
||||
AddParam(cmdUpdate, "RPP01", BPP01);
|
||||
AddParam(cmdUpdate, "RPP02", BPP02);
|
||||
AddParam(cmdUpdate, "RPP03", BPP03);
|
||||
AddParam(cmdUpdate, "RPP04", BPP04);
|
||||
AddParam(cmdUpdate, "RPP05", BPP05);
|
||||
AddParam(cmdUpdate, "TRUSR", TRUSR);
|
||||
AddParam(cmdUpdate, "OLD_RPENO", OLD_BPENO);
|
||||
AddParam(cmdUpdate, "OLD_RPITM", OLD_BPITM);
|
||||
AddParam(cmdUpdate, "OLD_APPNO", OLD_APPNO);
|
||||
}
|
||||
|
||||
return Query.ExecuteNonQuery(cmdUpdate);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 刪除員工薪資資料或薪資異動紀錄
|
||||
/// </summary>
|
||||
[DataObjectMethod(DataObjectMethodType.Delete)]
|
||||
public int Delete(string OLD_BPENO, int OLD_BPITM, int OLD_APPNO)
|
||||
{
|
||||
OLD_BPENO = OLD_BPENO != null ? OLD_BPENO : "";
|
||||
|
||||
DbCommand cmdDelete = Query.NewCommand();
|
||||
|
||||
if (OLD_BPITM == 0)
|
||||
{
|
||||
cmdDelete.CommandText =
|
||||
@"DELETE FROM BPSL
|
||||
WHERE BPENO = @OLD_BPENO
|
||||
AND APPNO = @OLD_APPNO";
|
||||
AddParam(cmdDelete, "OLD_BPENO", OLD_BPENO);
|
||||
AddParam(cmdDelete, "OLD_APPNO", OLD_APPNO);
|
||||
}
|
||||
else
|
||||
{
|
||||
cmdDelete.CommandText =
|
||||
@"DELETE FROM RPSL
|
||||
WHERE RPENO = @OLD_BPENO
|
||||
AND RPITM = @OLD_BPITM
|
||||
AND APPNO = @OLD_APPNO";
|
||||
AddParam(cmdDelete, "OLD_BPENO", OLD_BPENO);
|
||||
AddParam(cmdDelete, "OLD_BPITM", OLD_BPITM);
|
||||
AddParam(cmdDelete, "OLD_APPNO", OLD_APPNO);
|
||||
}
|
||||
|
||||
return Query.ExecuteNonQuery(cmdDelete);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user