1268 lines
53 KiB
C#
1268 lines
53 KiB
C#
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 RpirDAC : Wellan.Data.WDAC
|
|
{
|
|
private DbCommand cmdSelectRpirRpren;
|
|
private DbCommand cmdSelectRpib;
|
|
private DbCommand cmdSelectRpir;
|
|
private DbCommand cmdSelectRpibOne;
|
|
private DbCommand cmdSelectRpirOne;
|
|
private DbCommand cmdSelectRpib1;
|
|
// private DbCommand cmdSelectRpib2;
|
|
private string sqlSelectRpib1;
|
|
private string orderSelectRpib1;
|
|
|
|
public RpirDAC()
|
|
{
|
|
cmdSelectRpib = Query.NewCommand("SELECT TOP 1 A.*, B.BPNME, B.BPBDY, B.BPIDN FROM RPIB A JOIN BPSNView B ON A.RPENO=B.BPENO WHERE A.RPREN=@RPREN ORDER BY A.RPITM DESC");
|
|
cmdSelectRpib.Parameters.Add(Query.NewParameter("RPREN", DbType.String));
|
|
|
|
cmdSelectRpir = Query.NewCommand("SELECT A.*, 0 RPITM, A.RPSDT RPBDT, B.BPNME, B.BPBDY, B.BPIDN FROM RPIR A JOIN BPSNView B ON A.RPENO=B.BPENO WHERE A.RPREN=@RPREN");
|
|
cmdSelectRpir.Parameters.Add(Query.NewParameter("RPREN", DbType.String));
|
|
|
|
cmdSelectRpibOne = Query.NewCommand("SELECT A.*, B.BPNME, B.BPBDY, B.BPIDN FROM RPIB A JOIN BPSNView B ON A.RPENO=B.BPENO WHERE A.RPREN=@RPREN AND A.RPITM=@RPITM");
|
|
cmdSelectRpibOne.Parameters.Add(Query.NewParameter("RPREN", DbType.String));
|
|
cmdSelectRpibOne.Parameters.Add(Query.NewParameter("RPITM", DbType.Int32));
|
|
|
|
cmdSelectRpirOne = Query.NewCommand("SELECT A.*, 0 RPITM, A.RPSDT RPBDT, B.BPNME, B.BPBDY, B.BPIDN FROM RPIR A JOIN BPSNView B ON A.RPENO=B.BPENO WHERE A.RPREN=@RPREN");
|
|
cmdSelectRpirOne.Parameters.Add(Query.NewParameter("RPREN", DbType.String));
|
|
|
|
cmdSelectRpib1 = Query.NewCommand();
|
|
|
|
sqlSelectRpib1 =
|
|
@"SELECT RPREN, 0 AS RPITM, RPSDT RPBDT,
|
|
RPENO, RPSDT, RPEDT, RPSLY, RPAMT, RPAM2, RPAM3, RPFMY, RPFM1, RPFM2, RPFM3, RPSLA,
|
|
RPDIS, RPDIH, RPOLD, RPNAT, RPPTP, RPLIS, RPHIS, RPDOC, RPCPY, RPOVR, RPFMD, RPXDT, RPOPT, RPIR.APPNO,
|
|
RPIR.TRUSR,
|
|
BPSNView.BPNME, BPSNView.BPBDY, BPSNView.BPIDN
|
|
FROM RPIR
|
|
JOIN BPSNView ON RPIR.RPENO = BPSNView.BPENO
|
|
WHERE RPREN = @RPREN
|
|
UNION
|
|
SELECT RPREN, RPITM, RPBDT,
|
|
RPENO, RPSDT, RPEDT, RPSLY, RPAMT, RPAM2, RPAM3, RPFMY, RPFM1, RPFM2, RPFM3, RPSLA,
|
|
RPDIS, RPDIH, RPOLD, RPNAT, RPPTP, RPLIS, RPHIS, RPDOC, RPCPY, RPOVR, RPFMD, RPXDT, RPOPT, RPIB.APPNO,
|
|
RPIB.TRUSR,
|
|
BPSNView.BPNME, BPSNView.BPBDY, BPSNView.BPIDN
|
|
FROM RPIB
|
|
JOIN BPSNView ON RPIB.RPENO = BPSNView.BPENO
|
|
WHERE RPREN = @RPREN";
|
|
|
|
orderSelectRpib1 = "ORDER BY RPBDT DESC, RPITM DESC";
|
|
|
|
cmdSelectRpib1.Parameters.Add(Query.NewParameter("RPREN", DbType.String));
|
|
|
|
//cmdSelectRpib2 = Query.NewCommand(
|
|
// @"SELECT RPREN, RPITM, RPBDT, RPENO, RPSDT, RPEDT, RPSLY, RPAMT, RPFMY, RPFM1, RPFM2, RPFM3, RPSLA,
|
|
// RPDIS, RPDIH, RPOLD, RPNAT, RPPTP, RPLIS, RPHIS, RPDOC, RPCPY, RPOVR, RPFMD, RPXDT, RPOPT, RPIB.APPNO,
|
|
// RPIB.TRUSR,
|
|
// BPSNView.BPNME, BPSNView.BPBDY, BPSNView.BPIDN
|
|
// FROM RPIB
|
|
// JOIN BPSNView ON RPIB.RPENO=BPSNView.BPENO
|
|
// WHERE RPREN=@RPREN
|
|
// ORDER BY RPBDT");
|
|
|
|
//cmdSelectRpib2.Parameters.Add(Query.NewParameter("RPREN", DbType.String));
|
|
//cmdSelectRpib2.Parameters.Add(Query.NewParameter("RPXDT1", DbType.Date));
|
|
//cmdSelectRpib2.Parameters.Add(Query.NewParameter("RPXDT2", DbType.Date));
|
|
}
|
|
|
|
public RpirDAC(string connectionConfig, string connectionConfigName)
|
|
: this()
|
|
{
|
|
this._connectionConfig = connectionConfig;
|
|
this._connectionConfigName = connectionConfigName;
|
|
}
|
|
|
|
public RpirDAC(WQuery query) : this()
|
|
{
|
|
this._query = query;
|
|
}
|
|
|
|
private DataTable NewResult()
|
|
{
|
|
var result = new DataTable();
|
|
result.Columns.Add("RPREN", typeof(String));
|
|
result.Columns.Add("RPITM", typeof(Int32));
|
|
result.Columns.Add("RPBDT", typeof(DateTime));
|
|
result.Columns.Add("RPENO", typeof(String));
|
|
result.Columns.Add("BPNME", typeof(String));
|
|
result.Columns.Add("BPBDY", typeof(DateTime));
|
|
result.Columns.Add("BPIDN", typeof(String));
|
|
result.Columns.Add("RPSDT", typeof(DateTime));
|
|
result.Columns.Add("RPEDT", typeof(DateTime));
|
|
result.Columns.Add("RPSLY", typeof(Int32));
|
|
result.Columns.Add("RPAMT", typeof(Int32));
|
|
result.Columns.Add("RPAM2", typeof(Int32));
|
|
result.Columns.Add("RPAM3", typeof(Int32));
|
|
result.Columns.Add("RPFMY", typeof(Int32));
|
|
result.Columns.Add("RPFM1", typeof(Int32));
|
|
result.Columns.Add("RPFM2", typeof(Int32));
|
|
result.Columns.Add("RPFM3", typeof(Int32));
|
|
result.Columns.Add("RPSLA", typeof(Int32));
|
|
result.Columns.Add("RPDIS", typeof(String));
|
|
result.Columns.Add("RPDIH", typeof(String));
|
|
result.Columns.Add("RPOLD", typeof(String));
|
|
result.Columns.Add("RPNAT", typeof(String));
|
|
result.Columns.Add("RPPTP", typeof(String));
|
|
result.Columns.Add("RPLIS", typeof(String));
|
|
result.Columns.Add("RPHIS", typeof(String));
|
|
result.Columns.Add("RPDOC", typeof(String));
|
|
result.Columns.Add("RPCPY", typeof(String));
|
|
result.Columns.Add("RPOVR", typeof(String));
|
|
result.Columns.Add("RPFMD", typeof(String));
|
|
result.Columns.Add("RPFMD_PREV", typeof(String));
|
|
result.Columns.Add("RPXDT", typeof(DateTime));
|
|
result.Columns.Add("RPOPT", typeof(String));
|
|
result.Columns.Add("APPNO", typeof(Int32));
|
|
result.Columns.Add("TRUSR", typeof(String));
|
|
result.Columns.Add("RPSDT_Changed", typeof(Char));
|
|
result.Columns.Add("RPEDT_Changed", typeof(Char));
|
|
result.Columns.Add("RPSLY_Changed", typeof(Char));
|
|
result.Columns.Add("RPAMT_Changed", typeof(Char));
|
|
result.Columns.Add("RPAM2_Changed", typeof(Char));
|
|
result.Columns.Add("RPAM3_Changed", typeof(Char));
|
|
result.Columns.Add("RPFMY_Changed", typeof(Char));
|
|
result.Columns.Add("RPFM1_Changed", typeof(Char));
|
|
result.Columns.Add("RPFM2_Changed", typeof(Char));
|
|
result.Columns.Add("RPFM3_Changed", typeof(Char));
|
|
result.Columns.Add("RPSLA_Changed", typeof(Char));
|
|
result.Columns.Add("RPDIS_Changed", typeof(Char));
|
|
result.Columns.Add("RPDIH_Changed", typeof(Char));
|
|
result.Columns.Add("RPOLD_Changed", typeof(Char));
|
|
result.Columns.Add("RPNAT_Changed", typeof(Char));
|
|
result.Columns.Add("RPPTP_Changed", typeof(Char));
|
|
result.Columns.Add("RPLIS_Changed", typeof(Char));
|
|
result.Columns.Add("RPHIS_Changed", typeof(Char));
|
|
result.Columns.Add("RPCPY_Changed", typeof(Char));
|
|
result.Columns.Add("RPOVR_Changed", typeof(Char));
|
|
result.Columns.Add("RPFMD_Changed", typeof(Char));
|
|
result.Columns.Add("RPXDT_Changed", typeof(Char));
|
|
result.Columns.Add("RPOPT_Changed", typeof(Char));
|
|
result.Columns.Add("異動類別", typeof(String));
|
|
result.Columns.Add("RPFMY_ChangeCount", typeof(Int32));
|
|
result.Columns.Add("RPFM1_ChangeCount", typeof(Int32));
|
|
result.Columns.Add("RPFM2_ChangeCount", typeof(Int32));
|
|
result.Columns.Add("RPFM3_ChangeCount", typeof(Int32));
|
|
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 填入資料紀錄
|
|
/// </summary>
|
|
/// <param name="source"></param>
|
|
private void FillResult(DataTable result, DataRow source)
|
|
{
|
|
result.Rows.Add(NewRow(result, source));
|
|
}
|
|
|
|
public DataRow NewRow(DataTable result, DataRow source)
|
|
{
|
|
DataRow newRow = result.NewRow();
|
|
newRow["RPREN"] = source["RPREN"];
|
|
newRow["RPITM"] = source["RPITM"];
|
|
newRow["RPBDT"] = source["RPBDT"];
|
|
newRow["RPENO"] = source["RPENO"];
|
|
newRow["BPNME"] = source["BPNME"];
|
|
newRow["BPBDY"] = source["BPBDY"];
|
|
newRow["BPIDN"] = source["BPIDN"];
|
|
newRow["RPSDT"] = source["RPSDT"];
|
|
newRow["RPEDT"] = source["RPEDT"];
|
|
newRow["RPSLY"] = source["RPSLY"];
|
|
newRow["RPAMT"] = source["RPAMT"];
|
|
newRow["RPAM2"] = source["RPAM2"];
|
|
newRow["RPAM3"] = source["RPAM3"];
|
|
newRow["RPFMY"] = source["RPFMY"];
|
|
newRow["RPFM1"] = source["RPFM1"];
|
|
newRow["RPFM2"] = source["RPFM2"];
|
|
newRow["RPFM3"] = source["RPFM3"];
|
|
newRow["RPSLA"] = source["RPSLA"];
|
|
newRow["RPDIS"] = source["RPDIS"];
|
|
newRow["RPDIH"] = source["RPDIH"];
|
|
newRow["RPOLD"] = source["RPOLD"];
|
|
newRow["RPNAT"] = source["RPNAT"];
|
|
newRow["RPPTP"] = source["RPPTP"];
|
|
newRow["RPLIS"] = source["RPLIS"];
|
|
newRow["RPHIS"] = source["RPHIS"];
|
|
newRow["RPDOC"] = source["RPDOC"];
|
|
newRow["RPCPY"] = source["RPCPY"];
|
|
newRow["RPOVR"] = source["RPOVR"];
|
|
newRow["RPFMD"] = source["RPFMD"];
|
|
newRow["RPFMD_PREV"] = DBNull.Value;
|
|
newRow["RPXDT"] = source["RPXDT"];
|
|
newRow["RPOPT"] = source["RPOPT"];
|
|
newRow["APPNO"] = source["APPNO"];
|
|
newRow["TRUSR"] = source["TRUSR"];
|
|
newRow["RPSDT_Changed"] = 'N';
|
|
newRow["RPEDT_Changed"] = 'N';
|
|
newRow["RPSLY_Changed"] = 'N';
|
|
newRow["RPAMT_Changed"] = 'N';
|
|
newRow["RPAM2_Changed"] = 'N';
|
|
newRow["RPAM3_Changed"] = 'N';
|
|
newRow["RPFMY_Changed"] = 'N';
|
|
newRow["RPFM1_Changed"] = 'N';
|
|
newRow["RPFM2_Changed"] = 'N';
|
|
newRow["RPFM3_Changed"] = 'N';
|
|
newRow["RPSLA_Changed"] = 'N';
|
|
newRow["RPDIS_Changed"] = 'N';
|
|
newRow["RPDIH_Changed"] = 'N';
|
|
newRow["RPOLD_Changed"] = 'N';
|
|
newRow["RPNAT_Changed"] = 'N';
|
|
newRow["RPPTP_Changed"] = 'N';
|
|
newRow["RPLIS_Changed"] = 'N';
|
|
newRow["RPHIS_Changed"] = 'N';
|
|
newRow["RPCPY_Changed"] = 'N';
|
|
newRow["RPOVR_Changed"] = 'N';
|
|
newRow["RPFMD_Changed"] = 'N';
|
|
newRow["RPXDT_Changed"] = 'N';
|
|
newRow["RPOPT_Changed"] = 'N';
|
|
newRow["RPFMY_ChangeCount"] = 0;
|
|
newRow["RPFM1_ChangeCount"] = 0;
|
|
newRow["RPFM2_ChangeCount"] = 0;
|
|
newRow["RPFM3_ChangeCount"] = 0;
|
|
|
|
return newRow;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 比較不同點
|
|
/// </summary>
|
|
/// <param name="obj1">物件一</param>
|
|
/// <param name="obj2">物件二</param>
|
|
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';
|
|
}
|
|
|
|
/// <summary>
|
|
/// 填入資料紀錄,以及不同點
|
|
/// </summary>
|
|
/// <param name="current">目前紀錄</param>
|
|
/// <param name="prev">前一筆紀錄</param>
|
|
private void FillResult(DataTable result, DataRow current, DataRow prev)
|
|
{
|
|
DataRow newRow = result.NewRow();
|
|
string 異動類別 = "其他";
|
|
newRow["RPREN"] = current["RPREN"];
|
|
newRow["RPITM"] = current["RPITM"];
|
|
newRow["RPBDT"] = current["RPBDT"];
|
|
newRow["RPENO"] = current["RPENO"];
|
|
newRow["BPNME"] = current["BPNME"];
|
|
newRow["BPBDY"] = current["BPBDY"];
|
|
newRow["BPIDN"] = current["BPIDN"];
|
|
newRow["RPSDT"] = current["RPSDT"];
|
|
newRow["RPEDT"] = current["RPEDT"];
|
|
newRow["RPSLY"] = current["RPSLY"];
|
|
newRow["RPAMT"] = current["RPAMT"];
|
|
newRow["RPAM2"] = current["RPAM2"];
|
|
newRow["RPAM3"] = current["RPAM3"];
|
|
newRow["RPFMY"] = current["RPFMY"];
|
|
newRow["RPFM1"] = current["RPFM1"];
|
|
newRow["RPFM2"] = current["RPFM2"];
|
|
newRow["RPFM3"] = current["RPFM3"];
|
|
newRow["RPSLA"] = current["RPSLA"];
|
|
newRow["RPDIS"] = current["RPDIS"];
|
|
newRow["RPDIH"] = current["RPDIH"];
|
|
newRow["RPOLD"] = current["RPOLD"];
|
|
newRow["RPNAT"] = current["RPNAT"];
|
|
newRow["RPPTP"] = current["RPPTP"];
|
|
newRow["RPLIS"] = current["RPLIS"];
|
|
newRow["RPHIS"] = current["RPHIS"];
|
|
newRow["RPDOC"] = current["RPDOC"];
|
|
newRow["RPCPY"] = current["RPCPY"];
|
|
newRow["RPOVR"] = current["RPOVR"];
|
|
newRow["RPFMD"] = current["RPFMD"];
|
|
newRow["RPFMD_PREV"] = prev["RPFMD"];
|
|
newRow["RPXDT"] = current["RPXDT"];
|
|
newRow["RPOPT"] = current["RPOPT"];
|
|
newRow["APPNO"] = current["APPNO"];
|
|
newRow["TRUSR"] = current["TRUSR"];
|
|
newRow["RPSDT_Changed"] = FieldDiff(current["RPSDT"], prev["RPSDT"]);
|
|
newRow["RPEDT_Changed"] = FieldDiff(current["RPEDT"], prev["RPEDT"]);
|
|
newRow["RPSLY_Changed"] = FieldDiff(current["RPSLY"], prev["RPSLY"]);
|
|
newRow["RPAMT_Changed"] = FieldDiff(current["RPAMT"], prev["RPAMT"]);
|
|
newRow["RPAM2_Changed"] = FieldDiff(current["RPAM2"], prev["RPAM2"]);
|
|
newRow["RPAM3_Changed"] = FieldDiff(current["RPAM3"], prev["RPAM3"]);
|
|
newRow["RPFMY_Changed"] = FieldDiff(current["RPFMY"], prev["RPFMY"]);
|
|
newRow["RPFM1_Changed"] = FieldDiff(current["RPFM1"], prev["RPFM1"]);
|
|
newRow["RPFM2_Changed"] = FieldDiff(current["RPFM2"], prev["RPFM2"]);
|
|
newRow["RPFM3_Changed"] = FieldDiff(current["RPFM3"], prev["RPFM3"]);
|
|
newRow["RPSLA_Changed"] = FieldDiff(current["RPSLA"], prev["RPSLA"]);
|
|
newRow["RPDIS_Changed"] = FieldDiff(current["RPDIS"], prev["RPDIS"]);
|
|
newRow["RPDIH_Changed"] = FieldDiff(current["RPDIH"], prev["RPDIH"]);
|
|
newRow["RPOLD_Changed"] = FieldDiff(current["RPOLD"], prev["RPOLD"]);
|
|
newRow["RPNAT_Changed"] = FieldDiff(current["RPNAT"], prev["RPNAT"]);
|
|
newRow["RPPTP_Changed"] = FieldDiff(current["RPPTP"], prev["RPPTP"]);
|
|
newRow["RPLIS_Changed"] = FieldDiff(current["RPLIS"], prev["RPLIS"]);
|
|
newRow["RPHIS_Changed"] = FieldDiff(current["RPHIS"], prev["RPHIS"]);
|
|
newRow["RPCPY_Changed"] = FieldDiff(current["RPCPY"], prev["RPCPY"]);
|
|
newRow["RPOVR_Changed"] = FieldDiff(current["RPOVR"], prev["RPOVR"]);
|
|
newRow["RPFMD_Changed"] = FieldDiff(current["RPFMD"], prev["RPFMD"]);
|
|
newRow["RPXDT_Changed"] = FieldDiff(current["RPXDT"], prev["RPXDT"]);
|
|
newRow["RPOPT_Changed"] = FieldDiff(current["RPOPT"], prev["RPOPT"]);
|
|
newRow["RPFMY_ChangeCount"] = Convert.ToInt32(current["RPFMY"]) - Convert.ToInt32(prev["RPFMY"]);
|
|
newRow["RPFM1_ChangeCount"] = Convert.ToInt32(current["RPFM1"]) - Convert.ToInt32(prev["RPFM1"]);
|
|
newRow["RPFM2_ChangeCount"] = Convert.ToInt32(current["RPFM2"]) - Convert.ToInt32(prev["RPFM2"]);
|
|
newRow["RPFM3_ChangeCount"] = Convert.ToInt32(current["RPFM3"]) - Convert.ToInt32(prev["RPFM3"]);
|
|
|
|
if (string.IsNullOrEmpty(newRow["RPOPT"].ToString()))
|
|
{
|
|
if (GetStringValue(newRow["RPSDT_Changed"]) == "Y")
|
|
異動類別 = "加保";
|
|
else if (GetStringValue(newRow["RPEDT_Changed"]) == "Y")
|
|
異動類別 = "退保";
|
|
else if (GetStringValue(newRow["RPSLY_Changed"]) == "Y" ||
|
|
GetStringValue(newRow["RPAMT_Changed"]) == "Y")
|
|
異動類別 = "薪資調整";
|
|
//else if (GetStringValue(newRow["RPFMY_Changed"]) == "Y" ||
|
|
// GetStringValue(newRow["RPFM1_Changed"]) == "Y" ||
|
|
// GetStringValue(newRow["RPFM2_Changed"]) == "Y" ||
|
|
// GetStringValue(newRow["RPFM3_Changed"]) == "Y")
|
|
// 異動類別 = "眷屬調整";
|
|
else if (GetInt32Value(newRow["RPFMY_ChangeCount"]) > 0 ||
|
|
GetInt32Value(newRow["RPFM1_ChangeCount"]) > 0 ||
|
|
GetInt32Value(newRow["RPFM2_ChangeCount"]) > 0 ||
|
|
GetInt32Value(newRow["RPFM3_ChangeCount"]) > 0)
|
|
異動類別 = "眷屬加保";
|
|
else if (GetInt32Value(newRow["RPFMY_ChangeCount"]) < 0 ||
|
|
GetInt32Value(newRow["RPFM1_ChangeCount"]) < 0 ||
|
|
GetInt32Value(newRow["RPFM2_ChangeCount"]) < 0 ||
|
|
GetInt32Value(newRow["RPFM3_ChangeCount"]) < 0)
|
|
異動類別 = "眷屬退保";
|
|
else if (GetStringValue(newRow["RPOVR_Changed"]) == "Y")
|
|
異動類別 = "其他";
|
|
|
|
newRow["RPOPT"] = 異動類別;
|
|
}
|
|
|
|
result.Rows.Add(newRow);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 取得勞健保(異動)紀錄
|
|
/// </summary>
|
|
/// <param name="RPENO">查詢條件:員工編號</param>
|
|
/// <param name="BPNME">查詢條件:員工姓名</param>
|
|
[DataObjectMethod(DataObjectMethodType.Select)]
|
|
public DataTable Select(string RPENO, string BPNME)
|
|
{
|
|
if (cmdSelectRpirRpren == null)
|
|
cmdSelectRpirRpren = Query.NewCommand();
|
|
cmdSelectRpirRpren.Parameters.Clear();
|
|
|
|
// 清空輸出資料表
|
|
var result = NewResult();
|
|
|
|
// 抓出所有的單號
|
|
StringBuilder sb = new StringBuilder();
|
|
sb.Append("SELECT A.RPREN FROM RPIR A INNER JOIN BPSNView B ON A.RPENO=B.BPENO WHERE 1=1 ");
|
|
if (RPENO != null && RPENO.Length > 0)
|
|
{
|
|
sb.Append(" AND A.RPENO LIKE @RPENO ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPENO", RPENO + "%"));
|
|
}
|
|
if (BPNME != null && BPNME.Length > 0)
|
|
{
|
|
sb.Append(" AND B.BPNME LIKE @BPNME ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("BPNME", BPNME + "%"));
|
|
}
|
|
cmdSelectRpirRpren.CommandText = sb.ToString();
|
|
DataTable rpirTmp = Query.Select(cmdSelectRpirRpren);
|
|
|
|
DataTable rpibTmp;
|
|
// 一筆一筆的抓出應該顯示的資料
|
|
foreach (DataRow rpirRow in rpirTmp.Rows)
|
|
{
|
|
// 依照單號,抓出最後一筆異動
|
|
cmdSelectRpib.Parameters[0].Value = rpirRow[0];
|
|
rpibTmp = Query.Select(cmdSelectRpib);
|
|
|
|
// 有異動資料,填入異動資料
|
|
if (rpibTmp.Rows.Count != 0)
|
|
{
|
|
FillResult(result, rpibTmp.Rows[0]);
|
|
}
|
|
// 沒有異動資料,填入原始資料
|
|
else
|
|
{
|
|
cmdSelectRpir.Parameters[0].Value = rpirRow[0];
|
|
rpibTmp = Query.Select(cmdSelectRpir);
|
|
FillResult(result, rpibTmp.Rows[0]);
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 取得勞健保(異動)紀錄分頁查詢
|
|
/// </summary>
|
|
/// <param name="RPENO">查詢條件:員工編號</param>
|
|
/// <param name="BPNME">查詢條件:員工姓名</param>
|
|
[DataObjectMethod(DataObjectMethodType.Select)]
|
|
public DataTable SelectPage(
|
|
int startRowIndex,
|
|
int maximumRows,
|
|
string RPENO,
|
|
string BPNME,
|
|
DateTime RPXDT1,
|
|
DateTime RPXDT2,
|
|
string RPOPT,
|
|
DateTime RPBDT1,
|
|
DateTime RPBDT2,
|
|
string orderBy
|
|
)
|
|
{
|
|
if (cmdSelectRpirRpren == null)
|
|
cmdSelectRpirRpren = Query.NewCommand();
|
|
cmdSelectRpirRpren.Parameters.Clear();
|
|
|
|
// 清空輸出資料表
|
|
var result = NewResult();
|
|
|
|
// 抓出所有的單號
|
|
StringBuilder sbRPIR = new StringBuilder();
|
|
StringBuilder sbRPIB = new StringBuilder();
|
|
sbRPIR.Append("SELECT A.RPREN FROM RPIR A INNER JOIN BPSNView B ON A.RPENO=B.BPENO WHERE 1=1 ");
|
|
sbRPIB.Append("SELECT A.RPREN FROM RPIB A INNER JOIN BPSNView B ON A.RPENO=B.BPENO WHERE 1=1 ");
|
|
|
|
if (!string.IsNullOrEmpty(RPENO))
|
|
{
|
|
sbRPIR.Append(" AND A.RPENO LIKE @RPENO ");
|
|
sbRPIB.Append(" AND A.RPENO LIKE @RPENO ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPENO", RPENO + "%"));
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(BPNME))
|
|
{
|
|
sbRPIR.Append(" AND B.BPNME LIKE @BPNME ");
|
|
sbRPIB.Append(" AND B.BPNME LIKE @BPNME ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("BPNME", BPNME + "%"));
|
|
}
|
|
|
|
if (RPXDT1.Ticks > 0 && RPXDT2.Ticks > 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPXDT >= @RPXDT1 AND A.RPXDT < @RPXDT2 ");
|
|
sbRPIB.Append(" AND A.RPXDT >= @RPXDT1 AND A.RPXDT < @RPXDT2 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPXDT1", RPXDT1));
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPXDT2", RPXDT2.AddDays(1)));
|
|
}
|
|
else if (RPXDT1.Ticks > 0 && RPXDT2.Ticks == 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPXDT >= @RPXDT1 ");
|
|
sbRPIB.Append(" AND A.RPXDT >= @RPXDT1 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPXDT1", RPXDT1));
|
|
}
|
|
else if (RPXDT1.Ticks == 0 && RPXDT2.Ticks > 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPXDT < @RPXDT2 ");
|
|
sbRPIB.Append(" AND A.RPXDT < @RPXDT2 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPXDT2", RPXDT2.AddDays(1)));
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(RPOPT))
|
|
{
|
|
var rpopts = RPOPT.Split(',');
|
|
var paramNames = new string[rpopts.Length];
|
|
for (int i = 0; i < rpopts.Length; i++)
|
|
{
|
|
paramNames[i] = string.Format("@RPOPT{0}", i + 1);
|
|
}
|
|
sbRPIR.Append(string.Format(" AND A.RPOPT IN ({0}) ", string.Join(", ", paramNames)));
|
|
sbRPIB.Append(string.Format(" AND A.RPOPT IN ({0}) ", string.Join(", ", paramNames)));
|
|
for (int i = 0; i < rpopts.Length; i++)
|
|
{
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter(string.Format("RPOPT{0}", i + 1), rpopts[i]));
|
|
}
|
|
}
|
|
|
|
if (RPBDT1.Ticks > 0 && RPBDT2.Ticks > 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPSDT >= @RPBDT1 AND A.RPSDT < @RPBDT2 ");
|
|
sbRPIB.Append(" AND A.RPBDT >= @RPBDT1 AND A.RPBDT < @RPBDT2 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPBDT1", RPBDT1));
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPBDT2", RPBDT2.AddDays(1)));
|
|
}
|
|
else if (RPBDT1.Ticks > 0 && RPBDT2.Ticks == 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPSDT >= @RPBDT1 ");
|
|
sbRPIB.Append(" AND A.RPBDT >= @RPBDT1 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPBDT1", RPBDT1));
|
|
}
|
|
else if (RPBDT1.Ticks == 0 && RPBDT2.Ticks > 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPSDT < @RPBDT2 ");
|
|
sbRPIB.Append(" AND A.RPBDT < @RPBDT2 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPBDT2", RPBDT2.AddDays(1)));
|
|
}
|
|
|
|
|
|
if (string.IsNullOrEmpty(orderBy))
|
|
orderBy = "A.RPREN ASC";
|
|
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("STARTROWINDEX", startRowIndex));
|
|
cmdSelectRpirRpren.CommandText = String.Format(
|
|
@"SELECT TOP {0} * FROM
|
|
(SELECT A.RPREN
|
|
, ROW_NUMBER() OVER (ORDER BY {3}) AS ROWID
|
|
FROM ({1} UNION {2}) A
|
|
) AS TMP1 WHERE ROWID > @STARTROWINDEX"
|
|
, maximumRows, sbRPIR.ToString(), sbRPIB.ToString(), orderBy
|
|
);
|
|
DataTable rpirTmp = Query.Select(cmdSelectRpirRpren);
|
|
|
|
DataTable rpibTmp;
|
|
// 一筆一筆的抓出應該顯示的資料
|
|
foreach (DataRow rpirRow in rpirTmp.Rows)
|
|
{
|
|
// 依照單號,抓出最後一筆異動
|
|
cmdSelectRpib.Parameters[0].Value = rpirRow["RPREN"];
|
|
rpibTmp = Query.Select(cmdSelectRpib);
|
|
|
|
// 有異動資料,填入異動資料
|
|
if (rpibTmp.Rows.Count != 0)
|
|
{
|
|
FillResult(result, rpibTmp.Rows[0]);
|
|
}
|
|
// 沒有異動資料,填入原始資料
|
|
else
|
|
{
|
|
cmdSelectRpir.Parameters[0].Value = rpirRow["RPREN"];
|
|
rpibTmp = Query.Select(cmdSelectRpir);
|
|
FillResult(result, rpibTmp.Rows[0]);
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 取得勞健保(異動)紀錄數量
|
|
/// </summary>
|
|
/// <param name="RPENO">查詢條件:員工編號</param>
|
|
/// <param name="BPNME">查詢條件:員工姓名</param>
|
|
[DataObjectMethod(DataObjectMethodType.Select)]
|
|
public int SelectCount(string RPENO, string BPNME, DateTime RPXDT1, DateTime RPXDT2, string RPOPT, DateTime RPBDT1, DateTime RPBDT2, string orderBy)
|
|
{
|
|
if (cmdSelectRpirRpren == null)
|
|
cmdSelectRpirRpren = Query.NewCommand();
|
|
cmdSelectRpirRpren.Parameters.Clear();
|
|
|
|
StringBuilder sbRPIR = new StringBuilder();
|
|
StringBuilder sbRPIB = new StringBuilder();
|
|
sbRPIR.Append("SELECT A.RPREN FROM RPIR A INNER JOIN BPSNView B ON A.RPENO=B.BPENO WHERE 1=1 ");
|
|
sbRPIB.Append("SELECT A.RPREN FROM RPIB A INNER JOIN BPSNView B ON A.RPENO=B.BPENO WHERE 1=1 ");
|
|
|
|
if (!string.IsNullOrEmpty(RPENO))
|
|
{
|
|
sbRPIR.Append(" AND A.RPENO LIKE @RPENO ");
|
|
sbRPIB.Append(" AND A.RPENO LIKE @RPENO ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPENO", RPENO + "%"));
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(BPNME))
|
|
{
|
|
sbRPIR.Append(" AND B.BPNME LIKE @BPNME ");
|
|
sbRPIB.Append(" AND B.BPNME LIKE @BPNME ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("BPNME", BPNME + "%"));
|
|
}
|
|
|
|
if (RPXDT1.Ticks > 0 && RPXDT2.Ticks > 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPXDT >= @RPXDT1 AND A.RPXDT < @RPXDT2 ");
|
|
sbRPIB.Append(" AND A.RPXDT >= @RPXDT1 AND A.RPXDT < @RPXDT2 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPXDT1", RPXDT1));
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPXDT2", RPXDT2.AddDays(1)));
|
|
}
|
|
else if (RPXDT1.Ticks > 0 && RPXDT2.Ticks == 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPXDT >= @RPXDT1 ");
|
|
sbRPIB.Append(" AND A.RPXDT >= @RPXDT1 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPXDT1", RPXDT1));
|
|
}
|
|
else if (RPXDT1.Ticks == 0 && RPXDT2.Ticks > 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPXDT < @RPXDT2 ");
|
|
sbRPIB.Append(" AND A.RPXDT < @RPXDT2 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPXDT2", RPXDT2.AddDays(1)));
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(RPOPT))
|
|
{
|
|
var rpopts = RPOPT.Split(',');
|
|
var paramNames = new string[rpopts.Length];
|
|
for (int i = 0; i < rpopts.Length; i++)
|
|
{
|
|
paramNames[i] = string.Format("@RPOPT{0}", i + 1);
|
|
}
|
|
sbRPIR.Append(string.Format(" AND A.RPOPT IN ({0}) ", string.Join(", ", paramNames)));
|
|
sbRPIB.Append(string.Format(" AND A.RPOPT IN ({0}) ", string.Join(", ", paramNames)));
|
|
for (int i = 0; i < rpopts.Length; i++)
|
|
{
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter(string.Format("RPOPT{0}", i + 1), rpopts[i]));
|
|
}
|
|
}
|
|
|
|
if (RPBDT1.Ticks > 0 && RPBDT2.Ticks > 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPSDT >= @RPBDT1 AND A.RPSDT < @RPBDT2 ");
|
|
sbRPIB.Append(" AND A.RPBDT >= @RPBDT1 AND A.RPBDT < @RPBDT2 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPBDT1", RPBDT1));
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPBDT2", RPBDT2.AddDays(1)));
|
|
}
|
|
else if (RPBDT1.Ticks > 0 && RPBDT2.Ticks == 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPSDT >= @RPBDT1 ");
|
|
sbRPIB.Append(" AND A.RPBDT >= @RPBDT1 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPBDT1", RPBDT1));
|
|
}
|
|
else if (RPBDT1.Ticks == 0 && RPBDT2.Ticks > 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPSDT < @RPBDT2 ");
|
|
sbRPIB.Append(" AND A.RPBDT < @RPBDT2 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPBDT2", RPBDT2.AddDays(1)));
|
|
}
|
|
|
|
cmdSelectRpirRpren.CommandText = String.Format(
|
|
@"SELECT COUNT(*) FROM ({0} UNION {1}) A"
|
|
, sbRPIR.ToString(), sbRPIB.ToString()
|
|
);
|
|
return WDAC.GetInt32Value(Query.ExecuteScalar(cmdSelectRpirRpren));
|
|
}
|
|
|
|
/// <summary>
|
|
/// 取得勞健保(異動)紀錄單號在第幾筆
|
|
/// </summary>
|
|
/// <param name="RPENO">查詢條件:員工編號</param>
|
|
/// <param name="BPNME">查詢條件:員工姓名</param>
|
|
public int SelectRPRENIndex(
|
|
string RPREN,
|
|
string RPENO,
|
|
string BPNME,
|
|
DateTime RPXDT1,
|
|
DateTime RPXDT2,
|
|
string RPOPT,
|
|
DateTime RPBDT1,
|
|
DateTime RPBDT2
|
|
)
|
|
{
|
|
if (cmdSelectRpirRpren == null)
|
|
cmdSelectRpirRpren = Query.NewCommand();
|
|
cmdSelectRpirRpren.Parameters.Clear();
|
|
|
|
// 抓出所有的單號
|
|
StringBuilder sbRPIR = new StringBuilder();
|
|
StringBuilder sbRPIB = new StringBuilder();
|
|
sbRPIR.Append("SELECT A.RPREN FROM RPIR A INNER JOIN BPSNView B ON A.RPENO=B.BPENO WHERE 1=1 ");
|
|
sbRPIB.Append("SELECT A.RPREN FROM RPIB A INNER JOIN BPSNView B ON A.RPENO=B.BPENO WHERE 1=1 ");
|
|
|
|
if (!string.IsNullOrEmpty(RPENO))
|
|
{
|
|
sbRPIR.Append(" AND A.RPENO LIKE @RPENO ");
|
|
sbRPIB.Append(" AND A.RPENO LIKE @RPENO ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPENO", RPENO + "%"));
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(BPNME))
|
|
{
|
|
sbRPIR.Append(" AND B.BPNME LIKE @BPNME ");
|
|
sbRPIB.Append(" AND B.BPNME LIKE @BPNME ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("BPNME", BPNME + "%"));
|
|
}
|
|
|
|
if (RPXDT1.Ticks > 0 && RPXDT2.Ticks > 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPXDT >= @RPXDT1 AND A.RPXDT < @RPXDT2 ");
|
|
sbRPIB.Append(" AND A.RPXDT >= @RPXDT1 AND A.RPXDT < @RPXDT2 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPXDT1", RPXDT1));
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPXDT2", RPXDT2.AddDays(1)));
|
|
}
|
|
else if (RPXDT1.Ticks > 0 && RPXDT2.Ticks == 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPXDT >= @RPXDT1 ");
|
|
sbRPIB.Append(" AND A.RPXDT >= @RPXDT1 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPXDT1", RPXDT1));
|
|
}
|
|
else if (RPXDT1.Ticks == 0 && RPXDT2.Ticks > 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPXDT < @RPXDT2 ");
|
|
sbRPIB.Append(" AND A.RPXDT < @RPXDT2 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPXDT2", RPXDT2.AddDays(1)));
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(RPOPT))
|
|
{
|
|
var rpopts = RPOPT.Split(',');
|
|
var paramNames = new string[rpopts.Length];
|
|
for (int i = 0; i < rpopts.Length; i++)
|
|
{
|
|
paramNames[i] = string.Format("@RPOPT{0}", i + 1);
|
|
}
|
|
sbRPIR.Append(string.Format(" AND A.RPOPT IN ({0}) ", string.Join(", ", paramNames)));
|
|
sbRPIB.Append(string.Format(" AND A.RPOPT IN ({0}) ", string.Join(", ", paramNames)));
|
|
for (int i = 0; i < rpopts.Length; i++)
|
|
{
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter(string.Format("RPOPT{0}", i + 1), rpopts[i]));
|
|
}
|
|
}
|
|
|
|
if (RPBDT1.Ticks > 0 && RPBDT2.Ticks > 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPSDT >= @RPBDT1 AND A.RPSDT < @RPBDT2 ");
|
|
sbRPIB.Append(" AND A.RPBDT >= @RPBDT1 AND A.RPBDT < @RPBDT2 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPBDT1", RPBDT1));
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPBDT2", RPBDT2.AddDays(1)));
|
|
}
|
|
else if (RPBDT1.Ticks > 0 && RPBDT2.Ticks == 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPSDT >= @RPBDT1 ");
|
|
sbRPIB.Append(" AND A.RPBDT >= @RPBDT1 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPBDT1", RPBDT1));
|
|
}
|
|
else if (RPBDT1.Ticks == 0 && RPBDT2.Ticks > 0)
|
|
{
|
|
sbRPIR.Append(" AND A.RPSDT < @RPBDT2 ");
|
|
sbRPIB.Append(" AND A.RPBDT < @RPBDT2 ");
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPBDT2", RPBDT2.AddDays(1)));
|
|
}
|
|
|
|
|
|
cmdSelectRpirRpren.CommandText = String.Format(
|
|
@"SELECT ROWID - 1 FROM
|
|
(SELECT A.RPREN
|
|
, ROW_NUMBER() OVER (ORDER BY A.RPREN ASC) AS ROWID
|
|
FROM ({0} UNION {1}) A
|
|
) AS TMP1 WHERE RPREN = @RPREN"
|
|
, sbRPIR.ToString(), sbRPIB.ToString()
|
|
);
|
|
cmdSelectRpirRpren.Parameters.Add(Query.NewParameter("RPREN", RPREN));
|
|
|
|
var o = Query.ExecuteScalar(cmdSelectRpirRpren);
|
|
if (o is int || o is Int64)
|
|
return WDAC.GetInt32Value(o);
|
|
return -1;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 取得最近一筆勞健保(異動)紀錄
|
|
/// </summary>
|
|
/// <param name="RPREN">單號</param>
|
|
/// <param name="RPITM">異動次數</param>
|
|
[DataObjectMethod(DataObjectMethodType.Select)]
|
|
public DataTable SelectOne(string RPREN, int RPITM)
|
|
{
|
|
return SelectOne(RPREN, RPITM, null);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 取得最近一筆勞健保(異動)紀錄
|
|
/// </summary>
|
|
/// <param name="RPREN">單號</param>
|
|
/// <param name="RPITM">異動次數</param>
|
|
public DataTable SelectOne(string RPREN, int RPITM, DbTransaction tran)
|
|
{
|
|
var result = NewResult();
|
|
|
|
if (RPREN != null && RPREN.Length > 0)
|
|
{
|
|
if (RPITM == 0)
|
|
{
|
|
cmdSelectRpirOne.Parameters[0].Value = RPREN;
|
|
DataTable tmp;
|
|
if (tran == null)
|
|
tmp = Query.Select(cmdSelectRpirOne);
|
|
else
|
|
tmp = Query.Select(cmdSelectRpirOne, tran);
|
|
if (tmp.Rows.Count > 0)
|
|
FillResult(result,tmp.Rows[0]);
|
|
}
|
|
else
|
|
{
|
|
cmdSelectRpibOne.Parameters[0].Value = RPREN;
|
|
cmdSelectRpibOne.Parameters[1].Value = RPITM;
|
|
DataTable tmp;
|
|
if (tran == null)
|
|
tmp = Query.Select(cmdSelectRpibOne);
|
|
else
|
|
tmp = Query.Select(cmdSelectRpibOne, tran);
|
|
if (tmp.Rows.Count > 0)
|
|
FillResult(result,tmp.Rows[0]);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 取出異動紀錄
|
|
/// </summary>
|
|
/// <param name="RPREN"></param>
|
|
/// <returns></returns>
|
|
[DataObjectMethod(DataObjectMethodType.Select)]
|
|
public DataTable SelectRPIB(string RPREN)
|
|
{
|
|
return SelectRPIB(RPREN, null, null, false);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 取出異動紀錄
|
|
/// </summary>
|
|
/// <param name="RPREN"></param>
|
|
/// <returns></returns>
|
|
[DataObjectMethod(DataObjectMethodType.Select)]
|
|
public DataTable SelectRPIB(string RPREN, DbTransaction tran, string orderBy, bool assending)
|
|
{
|
|
var result = NewResult();
|
|
|
|
if (RPREN != null && RPREN.Length > 0)
|
|
{
|
|
if (string.IsNullOrEmpty(orderBy))
|
|
{
|
|
cmdSelectRpib1.CommandText = string.Format("{0} {1}", sqlSelectRpib1, orderSelectRpib1);
|
|
}
|
|
else
|
|
{
|
|
cmdSelectRpib1.CommandText = string.Format("{0} order by {1}", sqlSelectRpib1, orderBy);
|
|
}
|
|
cmdSelectRpib1.Parameters[0].Value = RPREN;
|
|
DataTable tmp;
|
|
if (tran != null)
|
|
tmp = Query.Select(cmdSelectRpib1, tran);
|
|
else
|
|
tmp = Query.Select(cmdSelectRpib1);
|
|
|
|
if (assending)
|
|
{
|
|
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]);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for (int i = 0; i < tmp.Rows.Count; i++)
|
|
{
|
|
if (i < tmp.Rows.Count - 1)
|
|
FillResult(result, tmp.Rows[i], tmp.Rows[i + 1]);
|
|
else
|
|
FillResult(result, tmp.Rows[i]);
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 取出起始日期至結束日期之間,勞健保異動紀錄
|
|
/// </summary>
|
|
/// <param name="RPREN"></param>
|
|
/// <param name="startDay"></param>
|
|
/// <param name="endDay"></param>
|
|
/// <param name="tran"></param>
|
|
/// <returns></returns>
|
|
//public DataTable SelectRPIBMonth(string RPREN, DateTime startDay, DateTime endDay, DbTransaction tran)
|
|
//{
|
|
// var result = NewResult();
|
|
|
|
// if (RPREN != null && RPREN.Length > 0)
|
|
// {
|
|
// cmdSelectRpib2.Parameters[0].Value = RPREN;
|
|
// cmdSelectRpib2.Parameters[1].Value = startDay;
|
|
// cmdSelectRpib2.Parameters[2].Value = endDay;
|
|
// DataTable tmp = Query.Select(cmdSelectRpib2, tran);
|
|
// 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>
|
|
/// <param name="RPREN"></param>
|
|
/// <returns></returns>
|
|
[DataObjectMethod(DataObjectMethodType.Select)]
|
|
public DataTable SelectRPIBOne(string RPREN, int RPITM)
|
|
{
|
|
var result = NewResult();
|
|
|
|
if (RPREN != null && RPREN.Length > 0)
|
|
{
|
|
cmdSelectRpib1.CommandText = string.Format("{0} {1}", sqlSelectRpib1, orderSelectRpib1);
|
|
cmdSelectRpib1.Parameters[0].Value = RPREN;
|
|
DataTable tmp = Query.Select(cmdSelectRpib1);
|
|
for (int i = 0; i < tmp.Rows.Count; i++)
|
|
{
|
|
if (Convert.ToInt32(tmp.Rows[i]["RPITM"]) == RPITM)
|
|
{
|
|
//if (i != 0)
|
|
// FillResult(result, tmp.Rows[i], tmp.Rows[i - 1]);
|
|
//else
|
|
// FillResult(result, tmp.Rows[i]);
|
|
if (i < tmp.Rows.Count - 1)
|
|
FillResult(result, tmp.Rows[i], tmp.Rows[i + 1]);
|
|
else
|
|
FillResult(result, tmp.Rows[i]);
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 取得下一個異動次數
|
|
/// </summary>
|
|
/// <param name="RPREN">單號</param>
|
|
private int NextRPITM(string RPREN)
|
|
{
|
|
DbCommand cmd = Query.NewCommand("SELECT ISNULL(MAX(RPITM), 0) + 1 FROM RPIB WHERE RPREN=@RPREN");
|
|
cmd.Parameters.Add(Query.NewParameter("RPREN", RPREN));
|
|
int Result;
|
|
ExecuteScalar(cmd, out Result);
|
|
return Result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 加入一筆紀錄,自動判斷該加入的是加退保紀錄還是異動紀錄
|
|
/// </summary>
|
|
[DataObjectMethod(DataObjectMethodType.Insert)]
|
|
public int Insert(string RPREN, int RPITM, DateTime RPBDT, string RPENO, DateTime RPSDT, DateTime RPEDT,
|
|
int RPSLY, int RPAMT, int RPAM2, int RPAM3, int RPFMY, int RPFM1, int RPFM2, int RPFM3, int RPSLA, string RPDIS, string RPDIH,
|
|
string RPOLD, string RPNAT, string RPPTP, string RPLIS, string RPHIS, string RPDOC, string RPCPY, string RPOVR,
|
|
string RPFMD, DateTime RPXDT, string RPOPT,
|
|
string TRUSR)
|
|
{
|
|
DbCommand cmdInsert = Query.NewCommand();
|
|
|
|
if (RPITM == 0)
|
|
{
|
|
cmdInsert.CommandText =
|
|
@"INSERT INTO RPIR
|
|
(RPREN, RPENO, RPSDT, RPEDT, RPSLY, RPAMT, RPAM2, RPAM3, RPFMY, RPFM1, RPFM2, RPFM3, RPSLA,
|
|
RPDIS, RPDIH, RPOLD, RPNAT, RPPTP, RPLIS, RPHIS, RPDOC, RPCPY, RPOVR, RPFMD,
|
|
RPXDT, RPOPT,
|
|
APPNO, TRDAT, TRMOD, TRUSR)
|
|
VALUES
|
|
(@RPREN, @RPENO, @RPSDT, @RPEDT, @RPSLY, @RPAMT, @RPAM2, @RPAM3, @RPFMY, @RPFM1, @RPFM2, @RPFM3, @RPSLA,
|
|
@RPDIS, @RPDIH, @RPOLD, @RPNAT, @RPPTP, @RPLIS, @RPHIS, @RPDOC, @RPCPY, @RPOVR, @RPFMD,
|
|
@RPXDT, @RPOPT,
|
|
1, GETDATE(), 'INSERT', @TRUSR)";
|
|
AddParam(cmdInsert, "RPREN", RPREN);
|
|
AddParam(cmdInsert, "RPENO", RPENO);
|
|
AddParam(cmdInsert, "RPSDT", RPSDT);
|
|
AddParam(cmdInsert, "RPEDT", RPEDT);
|
|
AddParam(cmdInsert, "RPSLY", RPSLY);
|
|
AddParam(cmdInsert, "RPAMT", RPAMT);
|
|
AddParam(cmdInsert, "RPAM2", RPAM2);
|
|
AddParam(cmdInsert, "RPAM3", RPAM3);
|
|
AddParam(cmdInsert, "RPFMY", RPFMY);
|
|
AddParam(cmdInsert, "RPFM1", RPFM1);
|
|
AddParam(cmdInsert, "RPFM2", RPFM2);
|
|
AddParam(cmdInsert, "RPFM3", RPFM3);
|
|
AddParam(cmdInsert, "RPSLA", RPSLA);
|
|
AddParam(cmdInsert, "RPDIS", RPDIS);
|
|
AddParam(cmdInsert, "RPDIH", RPDIH);
|
|
AddParam(cmdInsert, "RPOLD", RPOLD);
|
|
AddParam(cmdInsert, "RPNAT", RPNAT);
|
|
AddParam(cmdInsert, "RPPTP", RPPTP);
|
|
AddParam(cmdInsert, "RPLIS", RPLIS);
|
|
AddParam(cmdInsert, "RPHIS", RPHIS);
|
|
AddParam(cmdInsert, "RPDOC", RPDOC);
|
|
AddParam(cmdInsert, "RPCPY", RPCPY);
|
|
AddParam(cmdInsert, "RPOVR", RPOVR);
|
|
AddParam(cmdInsert, "RPFMD", RPFMD);
|
|
AddParam(cmdInsert, "RPXDT", RPXDT);
|
|
AddParam(cmdInsert, "RPOPT", RPOPT);
|
|
AddParam(cmdInsert, "TRUSR", TRUSR);
|
|
}
|
|
else
|
|
{
|
|
cmdInsert.CommandText =
|
|
@"INSERT INTO RPIB
|
|
(RPREN, RPITM, RPBDT, RPENO, RPSDT, RPEDT, RPSLY, RPAMT, RPAM2, RPAM3, RPFMY, RPFM1, RPFM2, RPFM3, RPSLA,
|
|
RPDIS, RPDIH, RPOLD, RPNAT, RPPTP, RPLIS, RPHIS, RPDOC, RPCPY, RPOVR, RPFMD, RPXDT, RPOPT,
|
|
APPNO, TRDAT, TRMOD, TRUSR)
|
|
VALUES
|
|
(@RPREN, @RPITM, @RPBDT, @RPENO, @RPSDT, @RPEDT, @RPSLY, @RPAMT, @RPAM2, @RPAM3, @RPFMY, @RPFM1, @RPFM2, @RPFM3, @RPSLA,
|
|
@RPDIS, @RPDIH, @RPOLD, @RPNAT, @RPPTP, @RPLIS, @RPHIS, @RPDOC, @RPCPY, @RPOVR, @RPFMD, @RPXDT, @RPOPT,
|
|
1, GETDATE(), 'INSERT', @TRUSR)";
|
|
AddParam(cmdInsert, "RPREN", RPREN);
|
|
AddParam(cmdInsert, "RPITM", NextRPITM(RPREN));
|
|
AddParam(cmdInsert, "RPBDT", RPBDT);
|
|
AddParam(cmdInsert, "RPENO", RPENO);
|
|
AddParam(cmdInsert, "RPSDT", RPSDT);
|
|
AddParam(cmdInsert, "RPEDT", RPEDT);
|
|
AddParam(cmdInsert, "RPSLY", RPSLY);
|
|
AddParam(cmdInsert, "RPAMT", RPAMT);
|
|
AddParam(cmdInsert, "RPAM2", RPAM2);
|
|
AddParam(cmdInsert, "RPAM3", RPAM3);
|
|
AddParam(cmdInsert, "RPFMY", RPFMY);
|
|
AddParam(cmdInsert, "RPFM1", RPFM1);
|
|
AddParam(cmdInsert, "RPFM2", RPFM2);
|
|
AddParam(cmdInsert, "RPFM3", RPFM3);
|
|
AddParam(cmdInsert, "RPSLA", RPSLA);
|
|
AddParam(cmdInsert, "RPDIS", RPDIS);
|
|
AddParam(cmdInsert, "RPDIH", RPDIH);
|
|
AddParam(cmdInsert, "RPOLD", RPOLD);
|
|
AddParam(cmdInsert, "RPNAT", RPNAT);
|
|
AddParam(cmdInsert, "RPPTP", RPPTP);
|
|
AddParam(cmdInsert, "RPLIS", RPLIS);
|
|
AddParam(cmdInsert, "RPHIS", RPHIS);
|
|
AddParam(cmdInsert, "RPDOC", RPDOC);
|
|
AddParam(cmdInsert, "RPCPY", RPCPY);
|
|
AddParam(cmdInsert, "RPOVR", RPOVR);
|
|
AddParam(cmdInsert, "RPFMD", RPFMD);
|
|
AddParam(cmdInsert, "RPXDT", RPXDT);
|
|
AddParam(cmdInsert, "RPOPT", RPOPT);
|
|
AddParam(cmdInsert, "TRUSR", TRUSR);
|
|
}
|
|
|
|
return Query.ExecuteNonQuery(cmdInsert);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更正
|
|
/// </summary>
|
|
[DataObjectMethod(DataObjectMethodType.Update)]
|
|
public int Update(string RPREN, int RPITM, DateTime RPBDT, string RPENO, DateTime RPSDT, DateTime RPEDT,
|
|
int RPSLY, int RPAMT, int RPAM2, int RPAM3, int RPFMY, int RPFM1, int RPFM2, int RPFM3, int RPSLA, string RPDIS, string RPDIH,
|
|
string RPOLD, string RPNAT, string RPPTP, string RPLIS, string RPHIS, string RPDOC, string RPCPY, string RPOVR,
|
|
string RPFMD, DateTime RPXDT, string RPOPT,
|
|
string TRUSR,
|
|
string OLD_RPREN, int OLD_RPITM, int OLD_APPNO, int APPNO)
|
|
{
|
|
DbCommand cmdUpdate = Query.NewCommand();
|
|
|
|
if (OLD_RPITM == 0)
|
|
{
|
|
cmdUpdate.CommandText =
|
|
@"UPDATE RPIR SET
|
|
RPREN = @RPREN,
|
|
RPENO = @RPENO,
|
|
RPSDT = @RPSDT,
|
|
RPEDT = @RPEDT,
|
|
RPSLY = @RPSLY,
|
|
RPAMT = @RPAMT,
|
|
RPAM2 = @RPAM2,
|
|
RPAM3 = @RPAM3,
|
|
RPFMY = @RPFMY,
|
|
RPFM1 = @RPFM1,
|
|
RPFM2 = @RPFM2,
|
|
RPFM3 = @RPFM3,
|
|
RPSLA = @RPSLA,
|
|
RPDIS = @RPDIS,
|
|
RPDIH = @RPDIH,
|
|
RPOLD = @RPOLD,
|
|
RPNAT = @RPNAT,
|
|
RPPTP = @RPPTP,
|
|
RPLIS = @RPLIS,
|
|
RPHIS = @RPHIS,
|
|
RPDOC = @RPDOC,
|
|
RPCPY = @RPCPY,
|
|
RPOVR = @RPOVR,
|
|
RPFMD = @RPFMD,
|
|
RPXDT = @RPXDT,
|
|
RPOPT = @RPOPT,
|
|
APPNO = APPNO + 1,
|
|
TRDAT = GETDATE(),
|
|
TRMOD = 'UPDATE',
|
|
TRUSR = @TRUSR
|
|
WHERE RPREN = @OLD_RPREN
|
|
AND APPNO = @OLD_APPNO";
|
|
AddParam(cmdUpdate, "RPREN", RPREN);
|
|
AddParam(cmdUpdate, "RPENO", RPENO);
|
|
AddParam(cmdUpdate, "RPSDT", RPSDT);
|
|
AddParam(cmdUpdate, "RPEDT", RPEDT);
|
|
AddParam(cmdUpdate, "RPSLY", RPSLY);
|
|
AddParam(cmdUpdate, "RPAMT", RPAMT);
|
|
AddParam(cmdUpdate, "RPAM2", RPAM2);
|
|
AddParam(cmdUpdate, "RPAM3", RPAM3);
|
|
AddParam(cmdUpdate, "RPFMY", RPFMY);
|
|
AddParam(cmdUpdate, "RPFM1", RPFM1);
|
|
AddParam(cmdUpdate, "RPFM2", RPFM2);
|
|
AddParam(cmdUpdate, "RPFM3", RPFM3);
|
|
AddParam(cmdUpdate, "RPSLA", RPSLA);
|
|
AddParam(cmdUpdate, "RPDIS", RPDIS);
|
|
AddParam(cmdUpdate, "RPDIH", RPDIH);
|
|
AddParam(cmdUpdate, "RPOLD", RPOLD);
|
|
AddParam(cmdUpdate, "RPNAT", RPNAT);
|
|
AddParam(cmdUpdate, "RPPTP", RPPTP);
|
|
AddParam(cmdUpdate, "RPLIS", RPLIS);
|
|
AddParam(cmdUpdate, "RPHIS", RPHIS);
|
|
AddParam(cmdUpdate, "RPDOC", RPDOC);
|
|
AddParam(cmdUpdate, "RPCPY", RPCPY);
|
|
AddParam(cmdUpdate, "RPOVR", RPOVR);
|
|
AddParam(cmdUpdate, "RPFMD", RPFMD);
|
|
AddParam(cmdUpdate, "RPXDT", RPXDT);
|
|
AddParam(cmdUpdate, "RPOPT", RPOPT);
|
|
AddParam(cmdUpdate, "TRUSR", TRUSR);
|
|
AddParam(cmdUpdate, "OLD_RPREN", OLD_RPREN);
|
|
AddParam(cmdUpdate, "OLD_APPNO", OLD_APPNO);
|
|
}
|
|
else
|
|
{
|
|
cmdUpdate.CommandText =
|
|
@"UPDATE RPIB SET
|
|
RPREN = @RPREN,
|
|
RPITM = @RPITM,
|
|
RPBDT = @RPBDT,
|
|
RPENO = @RPENO,
|
|
RPSDT = @RPSDT,
|
|
RPEDT = @RPEDT,
|
|
RPSLY = @RPSLY,
|
|
RPAMT = @RPAMT,
|
|
RPAM2 = @RPAM2,
|
|
RPAM3 = @RPAM3,
|
|
RPFMY = @RPFMY,
|
|
RPFM1 = @RPFM1,
|
|
RPFM2 = @RPFM2,
|
|
RPFM3 = @RPFM3,
|
|
RPSLA = @RPSLA,
|
|
RPDIS = @RPDIS,
|
|
RPDIH = @RPDIH,
|
|
RPOLD = @RPOLD,
|
|
RPNAT = @RPNAT,
|
|
RPPTP = @RPPTP,
|
|
RPLIS = @RPLIS,
|
|
RPHIS = @RPHIS,
|
|
RPDOC = @RPDOC,
|
|
RPCPY = @RPCPY,
|
|
RPOVR = @RPOVR,
|
|
RPFMD = @RPFMD,
|
|
RPXDT = @RPXDT,
|
|
RPOPT = @RPOPT,
|
|
APPNO = APPNO + 1,
|
|
TRDAT = GETDATE(),
|
|
TRMOD = 'UPDATE',
|
|
TRUSR = @TRUSR
|
|
WHERE RPREN = @OLD_RPREN
|
|
AND RPITM = @OLD_RPITM
|
|
AND APPNO = @OLD_APPNO";
|
|
AddParam(cmdUpdate, "RPREN", RPREN);
|
|
AddParam(cmdUpdate, "RPITM", RPITM);
|
|
AddParam(cmdUpdate, "RPBDT", RPBDT);
|
|
AddParam(cmdUpdate, "RPENO", RPENO);
|
|
AddParam(cmdUpdate, "RPSDT", RPSDT);
|
|
AddParam(cmdUpdate, "RPEDT", RPEDT);
|
|
AddParam(cmdUpdate, "RPSLY", RPSLY);
|
|
AddParam(cmdUpdate, "RPAMT", RPAMT);
|
|
AddParam(cmdUpdate, "RPAM2", RPAM2);
|
|
AddParam(cmdUpdate, "RPAM3", RPAM3);
|
|
AddParam(cmdUpdate, "RPFMY", RPFMY);
|
|
AddParam(cmdUpdate, "RPFM1", RPFM1);
|
|
AddParam(cmdUpdate, "RPFM2", RPFM2);
|
|
AddParam(cmdUpdate, "RPFM3", RPFM3);
|
|
AddParam(cmdUpdate, "RPSLA", RPSLA);
|
|
AddParam(cmdUpdate, "RPDIS", RPDIS);
|
|
AddParam(cmdUpdate, "RPDIH", RPDIH);
|
|
AddParam(cmdUpdate, "RPOLD", RPOLD);
|
|
AddParam(cmdUpdate, "RPNAT", RPNAT);
|
|
AddParam(cmdUpdate, "RPPTP", RPPTP);
|
|
AddParam(cmdUpdate, "RPLIS", RPLIS);
|
|
AddParam(cmdUpdate, "RPHIS", RPHIS);
|
|
AddParam(cmdUpdate, "RPDOC", RPDOC);
|
|
AddParam(cmdUpdate, "RPCPY", RPCPY);
|
|
AddParam(cmdUpdate, "RPOVR", RPOVR);
|
|
AddParam(cmdUpdate, "RPFMD", RPFMD);
|
|
AddParam(cmdUpdate, "RPXDT", RPXDT);
|
|
AddParam(cmdUpdate, "RPOPT", RPOPT);
|
|
AddParam(cmdUpdate, "TRUSR", TRUSR);
|
|
AddParam(cmdUpdate, "OLD_RPREN", OLD_RPREN);
|
|
AddParam(cmdUpdate, "OLD_RPITM", OLD_RPITM);
|
|
AddParam(cmdUpdate, "OLD_APPNO", OLD_APPNO);
|
|
}
|
|
|
|
return Query.ExecuteNonQuery(cmdUpdate);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 刪除一筆紀錄,自動判斷該加入的是加退保紀錄還是異動紀錄
|
|
/// </summary>
|
|
[DataObjectMethod(DataObjectMethodType.Delete)]
|
|
public int Delete(string OLD_RPREN, int OLD_RPITM, int OLD_APPNO)
|
|
{
|
|
OLD_RPREN = OLD_RPREN != null ? OLD_RPREN : "";
|
|
|
|
DbCommand cmdDelete = Query.NewCommand();
|
|
|
|
if (OLD_RPITM == 0)
|
|
{
|
|
cmdDelete.CommandText =
|
|
@"DELETE FROM RPIR
|
|
WHERE RPREN = @OLD_RPREN
|
|
AND APPNO = @OLD_APPNO";
|
|
AddParam(cmdDelete, "OLD_RPREN", OLD_RPREN);
|
|
AddParam(cmdDelete, "OLD_APPNO", OLD_APPNO);
|
|
}
|
|
else
|
|
{
|
|
cmdDelete.CommandText =
|
|
@"DELETE FROM RPIB
|
|
WHERE RPREN = @OLD_RPREN
|
|
AND RPITM = @OLD_RPITM
|
|
AND APPNO = @OLD_APPNO";
|
|
AddParam(cmdDelete, "OLD_RPREN", OLD_RPREN);
|
|
AddParam(cmdDelete, "OLD_RPITM", OLD_RPITM);
|
|
AddParam(cmdDelete, "OLD_APPNO", OLD_APPNO);
|
|
}
|
|
|
|
return Query.ExecuteNonQuery(cmdDelete);
|
|
}
|
|
|
|
public void CompareChanged(DataRow current, DataRow prev)
|
|
{
|
|
current.BeginEdit();
|
|
current["RPSDT_Changed"] = FieldDiff(current["RPSDT"], prev["RPSDT"]);
|
|
current["RPEDT_Changed"] = FieldDiff(current["RPEDT"], prev["RPEDT"]);
|
|
current["RPSLY_Changed"] = FieldDiff(current["RPSLY"], prev["RPSLY"]);
|
|
current["RPAMT_Changed"] = FieldDiff(current["RPAMT"], prev["RPAMT"]);
|
|
current["RPAM2_Changed"] = FieldDiff(current["RPAM2"], prev["RPAM2"]);
|
|
current["RPAM3_Changed"] = FieldDiff(current["RPAM3"], prev["RPAM3"]);
|
|
current["RPFMY_Changed"] = FieldDiff(current["RPFMY"], prev["RPFMY"]);
|
|
current["RPFM1_Changed"] = FieldDiff(current["RPFM1"], prev["RPFM1"]);
|
|
current["RPFM2_Changed"] = FieldDiff(current["RPFM2"], prev["RPFM2"]);
|
|
current["RPFM3_Changed"] = FieldDiff(current["RPFM3"], prev["RPFM3"]);
|
|
current["RPSLA_Changed"] = FieldDiff(current["RPSLA"], prev["RPSLA"]);
|
|
current["RPDIS_Changed"] = FieldDiff(current["RPDIS"], prev["RPDIS"]);
|
|
current["RPDIH_Changed"] = FieldDiff(current["RPDIH"], prev["RPDIH"]);
|
|
current["RPOLD_Changed"] = FieldDiff(current["RPOLD"], prev["RPOLD"]);
|
|
current["RPNAT_Changed"] = FieldDiff(current["RPNAT"], prev["RPNAT"]);
|
|
current["RPPTP_Changed"] = FieldDiff(current["RPPTP"], prev["RPPTP"]);
|
|
current["RPLIS_Changed"] = FieldDiff(current["RPLIS"], prev["RPLIS"]);
|
|
current["RPHIS_Changed"] = FieldDiff(current["RPHIS"], prev["RPHIS"]);
|
|
current["RPCPY_Changed"] = FieldDiff(current["RPCPY"], prev["RPCPY"]);
|
|
current["RPOVR_Changed"] = FieldDiff(current["RPOVR"], prev["RPOVR"]);
|
|
current["RPFMD_Changed"] = FieldDiff(current["RPFMD"], prev["RPFMD"]);
|
|
current["RPXDT_Changed"] = FieldDiff(current["RPXDT"], prev["RPXDT"]);
|
|
current["RPOPT_Changed"] = FieldDiff(current["RPOPT"], prev["RPOPT"]);
|
|
current["RPFMY_ChangeCount"] = Convert.ToInt32(current["RPFMY"]) - Convert.ToInt32(prev["RPFMY"]);
|
|
current["RPFM1_ChangeCount"] = Convert.ToInt32(current["RPFM1"]) - Convert.ToInt32(prev["RPFM1"]);
|
|
current["RPFM2_ChangeCount"] = Convert.ToInt32(current["RPFM2"]) - Convert.ToInt32(prev["RPFM2"]);
|
|
current["RPFM3_ChangeCount"] = Convert.ToInt32(current["RPFM3"]) - Convert.ToInt32(prev["RPFM3"]);
|
|
current.EndEdit();
|
|
}
|
|
} |