chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,235 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Wellan.Common;
|
||||
using System.Data;
|
||||
using System.Data.Common;
|
||||
|
||||
namespace Education
|
||||
{
|
||||
/// <summary>
|
||||
/// 員工權限
|
||||
/// </summary>
|
||||
public class BWCPE_DAC : DAC
|
||||
{
|
||||
private DbCommand cmdSelect = null;
|
||||
private DbCommand cmdSelectRight = null;
|
||||
private DbCommand cmdCheckExist = null;
|
||||
private DbCommand cmdInsert = null;
|
||||
private DbCommand cmdUpdate = null;
|
||||
|
||||
public BWCPE_DAC()
|
||||
{
|
||||
}
|
||||
|
||||
public BWCPE_DAC(string connectionConfig, string connectionConfigName)
|
||||
: base(connectionConfig, connectionConfigName)
|
||||
{
|
||||
}
|
||||
|
||||
private void PrepareSql()
|
||||
{
|
||||
EnsureQuery();
|
||||
string tblBwcpe = WGuard1.WCFA("BWCPE");
|
||||
|
||||
if (cmdSelect == null)
|
||||
{
|
||||
cmdSelect = Query.NewCommand(Query.ReplaceParamNamePrefix(
|
||||
"SELECT B.BPPRG AS BPPRG, B.BPENO AS BPENO, A.BPENO AS BBPENO, A.BPNME AS BBPNME, "
|
||||
+ " B.BPRT1 AS BPRT1, B.BPRTI AS BPRTI, B.BPRTM AS BPRTM, B.BPRTD AS BPRTD, "
|
||||
+ " B.BPRTF AS BPRTF, B.BPRTP AS BPRTP, B.TRDAT AS TRDAT, B.TRMOD AS TRMOD, "
|
||||
+ " B.TRUSR AS TRUSR "
|
||||
+ " FROM " + WGuard1.WCFA("BPSN") + " A "
|
||||
+ " LEFT OUTER JOIN " + tblBwcpe + " B ON A.BPENO=B.BPENO AND B.BPPRG=@BPPRG "
|
||||
+ " WHERE A.BPEDY IS NULL AND A.BPENO <> ' ' "
|
||||
+ " ORDER BY A.BPENO "));
|
||||
cmdSelect.Parameters.Add(Query.NewParameter("BPPRG", DbType.AnsiString));
|
||||
}
|
||||
|
||||
if (cmdCheckExist == null)
|
||||
{
|
||||
cmdCheckExist = Query.NewCommand(Query.ReplaceParamNamePrefix("SELECT COUNT(1) FROM " + tblBwcpe + " WHERE BPPRG=@BPPRG AND BPENO=@BPENO"));
|
||||
cmdCheckExist.Parameters.Add(Query.NewParameter("BPPRG", DbType.AnsiString));
|
||||
cmdCheckExist.Parameters.Add(Query.NewParameter("BPENO", DbType.AnsiString));
|
||||
}
|
||||
|
||||
if (cmdInsert == null)
|
||||
{
|
||||
cmdInsert = Query.NewCommand(Query.ReplaceParamNamePrefix(
|
||||
"INSERT INTO " + tblBwcpe + " (BPPRG, BPENO, BPRT1, BPRTI, BPRTM, BPRTD, BPRTF, BPRTP, TRDAT, TRMOD, TRUSR) "
|
||||
+ " VALUES (@BPPRG, @BPENO, @BPRT1, @BPRTI, @BPRTM, @BPRTD, @BPRTF, @BPRTP, @TRDAT, 'INSERT', @TRUSR)"));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPPRG", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPENO", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPRT1", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPRTI", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPRTM", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPRTD", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPRTF", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPRTP", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("TRDAT", DbType.DateTime));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("TRUSR", DbType.AnsiString));
|
||||
}
|
||||
|
||||
if (cmdUpdate == null)
|
||||
{
|
||||
cmdUpdate = Query.NewCommand(Query.ReplaceParamNamePrefix(
|
||||
"UPDATE " + tblBwcpe
|
||||
+ " SET BPRT1=@BPRT1, BPRTI=@BPRTI, BPRTM=@BPRTM, BPRTD=@BPRTD, BPRTF=@BPRTF,"
|
||||
+ " BPRTP=@BPRTP, TRDAT=@TRDAT, TRMOD='UPDATE', TRUSR=@TRUSR"
|
||||
+ " WHERE BPPRG=@BPPRG AND BPENO=@BPENO"));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPPRG", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPENO", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPRT1", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPRTI", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPRTM", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPRTD", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPRTF", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPRTP", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("TRDAT", DbType.DateTime));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("TRUSR", DbType.AnsiString));
|
||||
}
|
||||
|
||||
if (cmdSelectRight == null)
|
||||
{
|
||||
cmdSelectRight = Query.NewCommand(Query.ReplaceParamNamePrefix(
|
||||
"SELECT BPRT1, BPRTI, BPRTM, BPRTD, BPRTF, BPRTP "
|
||||
+ " FROM " + tblBwcpe + " WHERE BPPRG=@BPPRG AND BPENO=@BPENO "));
|
||||
cmdSelectRight.Parameters.Add(Query.NewParameter("BPPRG", DbType.AnsiString));
|
||||
cmdSelectRight.Parameters.Add(Query.NewParameter("BPENO", DbType.AnsiString));
|
||||
}
|
||||
}
|
||||
|
||||
public DataTable Select(string bpprg)
|
||||
{
|
||||
PrepareSql();
|
||||
cmdSelect.Parameters["BPPRG"].Value = bpprg;
|
||||
return Query.Select(cmdSelect);
|
||||
}
|
||||
|
||||
public bool CheckExist(string bpprg, string bpeno)
|
||||
{
|
||||
PrepareSql();
|
||||
cmdCheckExist.Parameters["BPPRG"].Value = bpprg;
|
||||
cmdCheckExist.Parameters["BPENO"].Value = bpeno;
|
||||
int i = Convert.ToInt16(Query.ExecuteScalar(cmdCheckExist));
|
||||
return !(i == 0);
|
||||
}
|
||||
|
||||
public void Insert(string bpprg, string bpeno, string bprt1, string bprti,
|
||||
string bprtm, string bprtd, string bprtf, string bprtp)
|
||||
{
|
||||
PrepareSql();
|
||||
FillParameters(cmdInsert, bpprg, bpeno, bprt1, bprti, bprtm, bprtd, bprtf, bprtp);
|
||||
Query.ExecuteNonQuery(cmdInsert);
|
||||
}
|
||||
|
||||
public void Update(string bpprg, string bpeno, string bprt1, string bprti,
|
||||
string bprtm, string bprtd, string bprtf, string bprtp)
|
||||
{
|
||||
PrepareSql();
|
||||
FillParameters(cmdUpdate, bpprg, bpeno, bprt1, bprti, bprtm, bprtd, bprtf, bprtp);
|
||||
Query.ExecuteNonQuery(cmdUpdate);
|
||||
}
|
||||
|
||||
public void SetAllRight(string bpprg, string bpeno, bool right)
|
||||
{
|
||||
string r = right ? "Y" : "N";
|
||||
if (!CheckExist(bpprg, bpeno))
|
||||
{
|
||||
Insert(bpprg, bpeno, r, r, r, r, r, r);
|
||||
}
|
||||
else
|
||||
{
|
||||
Update(bpprg, bpeno, r, r, r, r, r, r);
|
||||
}
|
||||
}
|
||||
|
||||
private void FillParameters(DbCommand cmd, string bpprg, string bpeno, string bprt1, string bprti,
|
||||
string bprtm, string bprtd, string bprtf, string bprtp)
|
||||
{
|
||||
cmd.Parameters["BPPRG"].Value = bpprg;
|
||||
cmd.Parameters["BPENO"].Value = bpeno;
|
||||
cmd.Parameters["BPRT1"].Value = bprt1 == "Y" || bprt1 == "N" ? bprt1 : "N";
|
||||
cmd.Parameters["BPRTI"].Value = bprti == "Y" || bprti == "N" ? bprti : "N";
|
||||
cmd.Parameters["BPRTM"].Value = bprtm == "Y" || bprtm == "N" ? bprtm : "N";
|
||||
cmd.Parameters["BPRTD"].Value = bprtd == "Y" || bprtd == "N" ? bprtd : "N";
|
||||
cmd.Parameters["BPRTF"].Value = bprtf == "Y" || bprtf == "N" ? bprtf : "N";
|
||||
cmd.Parameters["BPRTP"].Value = bprtp == "Y" || bprtp == "N" ? bprtp : "N";
|
||||
cmd.Parameters["TRDAT"].Value = DateTime.UtcNow.AddHours(8);
|
||||
cmd.Parameters["TRUSR"].Value = WGuard1.CUSR;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取得員工權限<para></para>
|
||||
/// "Y" 表示有權限 "N" 表示無權限 "" 表示未設定
|
||||
/// </summary>
|
||||
/// <param name="bpprg">程式名稱</param>
|
||||
/// <param name="bpeno">員工編號</param>
|
||||
/// <param name="right">權限</param>
|
||||
/// <returns>"Y" 表示有權限 "N" 表示無權限 "" 表示未設定</returns>
|
||||
public string GetRight(string bpprg, string bpeno, WRightName right)
|
||||
{
|
||||
PrepareSql();
|
||||
string funcName = "";
|
||||
switch (right)
|
||||
{
|
||||
case WRightName.Execute:
|
||||
funcName = "BPRT1";
|
||||
break;
|
||||
case WRightName.Insert:
|
||||
funcName = "BPRTI";
|
||||
break;
|
||||
case WRightName.Update:
|
||||
funcName = "BPRTM";
|
||||
break;
|
||||
case WRightName.Delete:
|
||||
funcName = "BPRTD";
|
||||
break;
|
||||
case WRightName.Search:
|
||||
funcName = "BPRTF";
|
||||
break;
|
||||
case WRightName.Print:
|
||||
funcName = "BPRTP";
|
||||
break;
|
||||
}
|
||||
|
||||
cmdSelectRight.Parameters["BPPRG"].Value = bpprg;
|
||||
cmdSelectRight.Parameters["BPENO"].Value = bpeno;
|
||||
DataTable data = Query.Select(cmdSelectRight);
|
||||
|
||||
if (data.Rows.Count != 0)
|
||||
{
|
||||
return data.Rows[0][funcName].ToString();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
public enum WRightName
|
||||
{
|
||||
/// <summary>
|
||||
/// 主檔
|
||||
/// </summary>
|
||||
Execute,
|
||||
/// <summary>
|
||||
/// 新增
|
||||
/// </summary>
|
||||
Insert,
|
||||
/// <summary>
|
||||
/// 更正
|
||||
/// </summary>
|
||||
Update,
|
||||
/// <summary>
|
||||
/// 刪除
|
||||
/// </summary>
|
||||
Delete,
|
||||
/// <summary>
|
||||
/// 查詢
|
||||
/// </summary>
|
||||
Search,
|
||||
/// <summary>
|
||||
/// 印表
|
||||
/// </summary>
|
||||
Print
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,206 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Wellan.Common;
|
||||
using System.Data;
|
||||
using System.Data.Common;
|
||||
|
||||
namespace Education
|
||||
{
|
||||
/// <summary>
|
||||
/// 群組權限
|
||||
/// </summary>
|
||||
public class BWCPG_DAC : DAC
|
||||
{
|
||||
private DbCommand cmdSelect = null;
|
||||
private DbCommand cmdSelectRight = null;
|
||||
private DbCommand cmdCheckExist = null;
|
||||
private DbCommand cmdInsert = null;
|
||||
private DbCommand cmdUpdate = null;
|
||||
|
||||
public BWCPG_DAC()
|
||||
{
|
||||
}
|
||||
|
||||
public BWCPG_DAC(string connectionConfig, string connectionConfigName)
|
||||
: base(connectionConfig, connectionConfigName)
|
||||
{
|
||||
}
|
||||
|
||||
private void PrepareSql()
|
||||
{
|
||||
EnsureQuery();
|
||||
string tblBwcpg = WGuard1.WCFA("BWCPG");
|
||||
|
||||
if (cmdSelect == null)
|
||||
{
|
||||
cmdSelect = Query.NewCommand(Query.ReplaceParamNamePrefix(
|
||||
"SELECT B.BPPRG AS BPPRG, B.BPGLP AS BPGLP, A.BPGLP AS BBPGLP, A.BPDSP AS BBPDSP, "
|
||||
+ " B.BPRT1 AS BPRT1, B.BPRTI AS BPRTI, B.BPRTM AS BPRTM, B.BPRTD AS BPRTD, "
|
||||
+ " B.BPRTF AS BPRTF, B.BPRTP AS BPRTP, B.TRDAT AS TRDAT, B.TRMOD AS TRMOD, "
|
||||
+ " B.TRUSR AS TRUSR "
|
||||
+ " FROM " + WGuard1.WCFA("BWEG") + " A "
|
||||
+ " LEFT OUTER JOIN " + tblBwcpg + " B ON A.BPGLP=B.BPGLP AND B.BPPRG=@BPPRG "
|
||||
+ " ORDER BY A.BPGLP "));
|
||||
cmdSelect.Parameters.Add(Query.NewParameter("BPPRG", DbType.AnsiString));
|
||||
}
|
||||
|
||||
if (cmdCheckExist == null)
|
||||
{
|
||||
cmdCheckExist = Query.NewCommand(Query.ReplaceParamNamePrefix("SELECT COUNT(1) FROM " + tblBwcpg + " WHERE BPPRG=@BPPRG AND BPGLP=@BPGLP"));
|
||||
cmdCheckExist.Parameters.Add(Query.NewParameter("BPPRG", DbType.AnsiString));
|
||||
cmdCheckExist.Parameters.Add(Query.NewParameter("BPGLP", DbType.AnsiString));
|
||||
}
|
||||
|
||||
if (cmdInsert == null)
|
||||
{
|
||||
cmdInsert = Query.NewCommand(Query.ReplaceParamNamePrefix(
|
||||
"INSERT INTO " + tblBwcpg + " (BPPRG, BPGLP, BPRT1, BPRTI, BPRTM, BPRTD, BPRTF, BPRTP, TRDAT, TRMOD, TRUSR) "
|
||||
+ " VALUES (@BPPRG, @BPGLP, @BPRT1, @BPRTI, @BPRTM, @BPRTD, @BPRTF, @BPRTP, @TRDAT, 'INSERT', @TRUSR)"));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPPRG", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPGLP", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPRT1", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPRTI", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPRTM", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPRTD", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPRTF", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPRTP", DbType.AnsiString));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("TRDAT", DbType.DateTime));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("TRUSR", DbType.AnsiString));
|
||||
}
|
||||
|
||||
if (cmdUpdate == null)
|
||||
{
|
||||
cmdUpdate = Query.NewCommand(Query.ReplaceParamNamePrefix(
|
||||
"UPDATE " + tblBwcpg
|
||||
+ " SET BPRT1=@BPRT1, BPRTI=@BPRTI, BPRTM=@BPRTM, BPRTD=@BPRTD, BPRTF=@BPRTF,"
|
||||
+ " BPRTP=@BPRTP, TRDAT=@TRDAT, TRMOD='UPDATE', TRUSR=@TRUSR"
|
||||
+ " WHERE BPPRG=@BPPRG AND BPGLP=@BPGLP"));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPPRG", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPGLP", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPRT1", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPRTI", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPRTM", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPRTD", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPRTF", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("BPRTP", DbType.AnsiString));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("TRDAT", DbType.DateTime));
|
||||
cmdUpdate.Parameters.Add(Query.NewParameter("TRUSR", DbType.AnsiString));
|
||||
}
|
||||
|
||||
if (cmdSelectRight == null)
|
||||
{
|
||||
cmdSelectRight = Query.NewCommand(Query.ReplaceParamNamePrefix(
|
||||
"SELECT BPRT1, BPRTI, BPRTM, BPRTD, BPRTF, BPRTP "
|
||||
+ " FROM " + tblBwcpg + " WHERE BPPRG=@BPPRG AND BPGLP=@BPGLP "));
|
||||
cmdSelectRight.Parameters.Add(Query.NewParameter("BPPRG", DbType.AnsiString));
|
||||
cmdSelectRight.Parameters.Add(Query.NewParameter("BPGLP", DbType.AnsiString));
|
||||
}
|
||||
}
|
||||
|
||||
public DataTable Select(string bpprg)
|
||||
{
|
||||
PrepareSql();
|
||||
cmdSelect.Parameters["BPPRG"].Value = bpprg;
|
||||
return Query.Select(cmdSelect);
|
||||
}
|
||||
|
||||
public bool CheckExist(string bpprg, string bpglp)
|
||||
{
|
||||
PrepareSql();
|
||||
cmdCheckExist.Parameters["BPPRG"].Value = bpprg;
|
||||
cmdCheckExist.Parameters["BPGLP"].Value = bpglp;
|
||||
int i = Convert.ToInt16(Query.ExecuteScalar(cmdCheckExist));
|
||||
return i != 0;
|
||||
}
|
||||
|
||||
public void Insert(string bpprg, string bpglp, string bprt1, string bprti,
|
||||
string bprtm, string bprtd, string bprtf, string bprtp)
|
||||
{
|
||||
PrepareSql();
|
||||
FillParameters(cmdInsert, bpprg, bpglp, bprt1, bprti, bprtm, bprtd, bprtf, bprtp);
|
||||
Query.ExecuteNonQuery(cmdInsert);
|
||||
}
|
||||
|
||||
public void Update(string bpprg, string bpglp, string bprt1, string bprti,
|
||||
string bprtm, string bprtd, string bprtf, string bprtp)
|
||||
{
|
||||
PrepareSql();
|
||||
FillParameters(cmdUpdate, bpprg, bpglp, bprt1, bprti, bprtm, bprtd, bprtf, bprtp);
|
||||
Query.ExecuteNonQuery(cmdUpdate);
|
||||
}
|
||||
|
||||
public void SetAllRight(string bpprg, string bpglp, bool right)
|
||||
{
|
||||
string r = right ? "Y" : "N";
|
||||
if (!CheckExist(bpprg, bpglp))
|
||||
{
|
||||
Insert(bpprg, bpglp, r, r, r, r, r, r);
|
||||
}
|
||||
else
|
||||
{
|
||||
Update(bpprg, bpglp, r, r, r, r, r, r);
|
||||
}
|
||||
}
|
||||
|
||||
private void FillParameters(DbCommand cmd, string bpprg, string bpglp, string bprt1, string bprti,
|
||||
string bprtm, string bprtd, string bprtf, string bprtp)
|
||||
{
|
||||
cmd.Parameters["BPPRG"].Value = bpprg;
|
||||
cmd.Parameters["BPGLP"].Value = bpglp;
|
||||
cmd.Parameters["BPRT1"].Value = bprt1 == "Y" || bprt1 == "N" ? bprt1 : "N";
|
||||
cmd.Parameters["BPRTI"].Value = bprti == "Y" || bprti == "N" ? bprti : "N";
|
||||
cmd.Parameters["BPRTM"].Value = bprtm == "Y" || bprtm == "N" ? bprtm : "N";
|
||||
cmd.Parameters["BPRTD"].Value = bprtd == "Y" || bprtd == "N" ? bprtd : "N";
|
||||
cmd.Parameters["BPRTF"].Value = bprtf == "Y" || bprtf == "N" ? bprtf : "N";
|
||||
cmd.Parameters["BPRTP"].Value = bprtp == "Y" || bprtp == "N" ? bprtp : "N";
|
||||
cmd.Parameters["TRDAT"].Value = DateTime.UtcNow.AddHours(8);
|
||||
cmd.Parameters["TRUSR"].Value = WGuard1.CUSR;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取得群組權限<para></para>
|
||||
/// "Y" 表示有權限 "N" 表示無權限 "" 表示未設定
|
||||
/// </summary>
|
||||
/// <param name="bpprg">程式名稱</param>
|
||||
/// <param name="bpglp">群組編號</param>
|
||||
/// <param name="right">權限</param>
|
||||
/// <returns>"Y" 表示有權限 "N" 表示無權限 "" 表示未設定</returns>
|
||||
public string GetRight(string bpprg, string bpglp, WRightName right)
|
||||
{
|
||||
PrepareSql();
|
||||
string funcName = "";
|
||||
switch (right)
|
||||
{
|
||||
case WRightName.Execute:
|
||||
funcName = "BPRT1";
|
||||
break;
|
||||
case WRightName.Insert:
|
||||
funcName = "BPRTI";
|
||||
break;
|
||||
case WRightName.Update:
|
||||
funcName = "BPRTM";
|
||||
break;
|
||||
case WRightName.Delete:
|
||||
funcName = "BPRTD";
|
||||
break;
|
||||
case WRightName.Search:
|
||||
funcName = "BPRTF";
|
||||
break;
|
||||
case WRightName.Print:
|
||||
funcName = "BPRTP";
|
||||
break;
|
||||
}
|
||||
|
||||
cmdSelectRight.Parameters["BPPRG"].Value = bpprg;
|
||||
cmdSelectRight.Parameters["BPGLP"].Value = bpglp;
|
||||
DataTable data = Query.Select(cmdSelectRight);
|
||||
|
||||
if (data.Rows.Count != 0)
|
||||
{
|
||||
return data.Rows[0][funcName].ToString();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,215 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Data;
|
||||
using System.Data.Common;
|
||||
using Wellan.Common;
|
||||
|
||||
namespace Education
|
||||
{
|
||||
/// <summary>
|
||||
/// 員工群組
|
||||
/// </summary>
|
||||
public class BWEH_DAC : DAC
|
||||
{
|
||||
DbCommand cmdInsert = null;
|
||||
DbCommand cmdDelete = null;
|
||||
|
||||
public BWEH_DAC()
|
||||
{
|
||||
}
|
||||
|
||||
public BWEH_DAC(string connectionConfig, string connectionConfigName)
|
||||
: base(connectionConfig, connectionConfigName)
|
||||
{
|
||||
}
|
||||
|
||||
private void PrepareSql()
|
||||
{
|
||||
EnsureQuery();
|
||||
|
||||
if (cmdInsert == null)
|
||||
{
|
||||
cmdInsert = Query.NewCommand("INSERT INTO " + WGuard1.WCFA("BWEH") + " (BPGLP, BPENO) VALUES (@BPGLP, @BPENO)");
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPGLP", DbType.String));
|
||||
cmdInsert.Parameters.Add(Query.NewParameter("BPENO", DbType.String));
|
||||
}
|
||||
|
||||
if (cmdDelete == null)
|
||||
{
|
||||
cmdDelete = Query.NewCommand("DELETE FROM " + WGuard1.WCFA("BWEH") + " WHERE BPGLP=@BPGLP AND BPENO=@BPENO");
|
||||
cmdDelete.Parameters.Add(Query.NewParameter("BPGLP", DbType.String));
|
||||
cmdDelete.Parameters.Add(Query.NewParameter("BPENO", DbType.String));
|
||||
}
|
||||
}
|
||||
|
||||
public void SelectByBpglp(string bpglp, out DataTable inGroup, out DataTable outGroup)
|
||||
{
|
||||
PrepareSql();
|
||||
inGroup = Query.Select(
|
||||
"SELECT E.BPENO AS BPENO, E.BPNME AS BPNME "
|
||||
+ " FROM " + WGuard1.WCFA("BPSN") + " E," + WGuard1.WCFA("BWEH") + " G"
|
||||
+ " WHERE G.BPENO=E.BPENO AND G.BPGLP='" + bpglp +"' "
|
||||
+ " AND E.BPEDY IS NULL "
|
||||
+ " ORDER BY E.BPENO ");
|
||||
|
||||
outGroup = Query.Select(
|
||||
"SELECT BPENO, BPNME FROM " + WGuard1.WCFA("BPSN")
|
||||
+ " WHERE BPENO<>' ' "
|
||||
+ " AND BPEDY IS NULL "
|
||||
+ " AND BPENO NOT IN (SELECT E.BPENO AS BPENO "
|
||||
+ " FROM " + WGuard1.WCFA("BPSN") + " E," + WGuard1.WCFA("BWEH") + " G"
|
||||
+ " WHERE G.BPENO=E.BPENO AND G.BPGLP='" + bpglp + "' "
|
||||
+ " AND E.BPEDY IS NULL ) "
|
||||
+ " ORDER BY BPENO");
|
||||
}
|
||||
|
||||
public string[] GetBpenoListByBpglp(string bpglp)
|
||||
{
|
||||
PrepareSql();
|
||||
DataTable inGroup = Query.Select(
|
||||
"SELECT E.BPENO AS BPENO "
|
||||
+ " FROM " + WGuard1.WCFA("BPSN") + " E," + WGuard1.WCFA("BWEH") + " G"
|
||||
+ " WHERE G.BPENO=E.BPENO AND G.BPGLP='" + bpglp + "' "
|
||||
+ " AND E.BPEDY IS NULL "
|
||||
+ " ORDER BY E.BPENO ");
|
||||
|
||||
if (inGroup.Rows.Count == 0)
|
||||
return new string[0];
|
||||
else
|
||||
{
|
||||
string[] result = new string[inGroup.Rows.Count];
|
||||
for (int i = 0; i < inGroup.Rows.Count; i++)
|
||||
{
|
||||
result[i] = inGroup.Rows[i][0].ToString();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateByBpglp(string bpglp, DataTable updateTable)
|
||||
{
|
||||
PrepareSql();
|
||||
DbConnection conn = Query.NewConnection();
|
||||
cmdDelete.Connection = conn;
|
||||
cmdInsert.Connection = conn;
|
||||
conn.Open();
|
||||
|
||||
DbTransaction tran = conn.BeginTransaction();
|
||||
cmdDelete.Transaction = tran;
|
||||
cmdInsert.Transaction = tran;
|
||||
try
|
||||
{
|
||||
foreach (DataRow row in updateTable.Rows)
|
||||
{
|
||||
if (row.RowState == DataRowState.Added)
|
||||
{
|
||||
cmdInsert.Parameters["BPGLP"].Value = bpglp;
|
||||
cmdInsert.Parameters["BPENO"].Value = row["BPENO", DataRowVersion.Current];
|
||||
cmdInsert.ExecuteNonQuery();
|
||||
}
|
||||
|
||||
if (row.RowState == DataRowState.Deleted)
|
||||
{
|
||||
cmdDelete.Parameters["BPGLP"].Value = bpglp;
|
||||
cmdDelete.Parameters["BPENO"].Value = row["BPENO", DataRowVersion.Original];
|
||||
cmdDelete.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
tran.Commit();
|
||||
updateTable.AcceptChanges();
|
||||
}
|
||||
catch
|
||||
{
|
||||
tran.Rollback();
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
cmdInsert.Dispose();
|
||||
cmdDelete.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public void SelectByBpeno(string bpeno, out DataTable inGroup, out DataTable outGroup)
|
||||
{
|
||||
PrepareSql();
|
||||
inGroup = Query.Select(
|
||||
"SELECT E.BPGLP AS BPGLP, E.BPDSP AS BPDSP "
|
||||
+ " FROM " + WGuard1.WCFA("BWEG") + " E," + WGuard1.WCFA("BWEH") + " G"
|
||||
+ " WHERE E.BPGLP=G.BPGLP AND G.BPENO='" + bpeno + "' "
|
||||
+ " ORDER BY E.BPGLP ");
|
||||
|
||||
outGroup = Query.Select(
|
||||
"SELECT BPGLP, BPDSP FROM " + WGuard1.WCFA("BWEG")
|
||||
+ " WHERE BPGLP NOT IN (SELECT BPGLP FROM " + WGuard1.WCFA("BWEH") + " WHERE BPENO='" + bpeno + "')"
|
||||
+ " ORDER BY BPGLP");
|
||||
}
|
||||
|
||||
public string[] GetBpglpListByBpeno(string bpeno)
|
||||
{
|
||||
PrepareSql();
|
||||
DataTable inGroup = Query.Select(
|
||||
"SELECT E.BPGLP AS BPGLP "
|
||||
+ " FROM " + WGuard1.WCFA("BWEG") + " E," + WGuard1.WCFA("BWEH") + " G"
|
||||
+ " WHERE E.BPGLP=G.BPGLP AND G.BPENO='" + bpeno + "' "
|
||||
+ " ORDER BY E.BPGLP ");
|
||||
|
||||
if (inGroup.Rows.Count == 0)
|
||||
return new string[0];
|
||||
else
|
||||
{
|
||||
string[] result = new string[inGroup.Rows.Count];
|
||||
for (int i = 0; i < inGroup.Rows.Count; i++)
|
||||
{
|
||||
result[i] = inGroup.Rows[i][0].ToString();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateByBpeno(string bpeno, DataTable updateTable)
|
||||
{
|
||||
PrepareSql();
|
||||
DbConnection conn = Query.NewConnection();
|
||||
cmdDelete.Connection = conn;
|
||||
cmdInsert.Connection = conn;
|
||||
conn.Open();
|
||||
|
||||
DbTransaction tran = conn.BeginTransaction();
|
||||
cmdDelete.Transaction = tran;
|
||||
cmdInsert.Transaction = tran;
|
||||
try
|
||||
{
|
||||
foreach (DataRow row in updateTable.Rows)
|
||||
{
|
||||
if (row.RowState == DataRowState.Added)
|
||||
{
|
||||
cmdInsert.Parameters["BPENO"].Value = bpeno;
|
||||
cmdInsert.Parameters["BPGLP"].Value = row["BPGLP", DataRowVersion.Current];
|
||||
cmdInsert.ExecuteNonQuery();
|
||||
}
|
||||
|
||||
if (row.RowState == DataRowState.Deleted)
|
||||
{
|
||||
cmdDelete.Parameters["BPENO"].Value = bpeno;
|
||||
cmdDelete.Parameters["BPGLP"].Value = row["BPGLP", DataRowVersion.Original];
|
||||
cmdDelete.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
tran.Commit();
|
||||
updateTable.AcceptChanges();
|
||||
}
|
||||
catch
|
||||
{
|
||||
tran.Rollback();
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
cmdDelete.Dispose();
|
||||
cmdInsert.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Data;
|
||||
using System.Data.Common;
|
||||
using System.ComponentModel;
|
||||
using WebLib;
|
||||
|
||||
namespace Education
|
||||
{
|
||||
[DataObject]
|
||||
public class DAC_BCLS : DAC
|
||||
{
|
||||
public DAC_BCLS()
|
||||
{ }
|
||||
|
||||
public DAC_BCLS(DbConnection conn)
|
||||
: base(conn)
|
||||
{ }
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Select)]
|
||||
public NameValueList Get類別資料By大類ForList(string 大類)
|
||||
{
|
||||
NameValueList result = new NameValueList();
|
||||
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText = @"SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR=@BSPAR AND (BLOCK='' OR BLOCK IS NULL)";
|
||||
AddParam(cmd, "BSPAR", 大類);
|
||||
|
||||
bool wantClose;
|
||||
IDataReader reader = ExecuteReader(cmd, out wantClose);
|
||||
try
|
||||
{
|
||||
result.Fill(reader, 1, 0);
|
||||
cmd.Cancel();
|
||||
reader.Close();
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Dispose();
|
||||
reader.Dispose();
|
||||
CloseConnection(wantClose);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Select)]
|
||||
public NameValueList Get類別資料By大類ForDropDown(string 大類)
|
||||
{
|
||||
NameValueList result = new NameValueList();
|
||||
result.Add("(請選擇)", DBNull.Value);
|
||||
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText = @"SELECT BSCLS, BSSCR FROM BCLS WHERE BSPAR=@BSPAR AND (BLOCK='' OR BLOCK IS NULL)";
|
||||
AddParam(cmd, "BSPAR", 大類);
|
||||
|
||||
bool wantClose;
|
||||
IDataReader reader = ExecuteReader(cmd, out wantClose);
|
||||
try
|
||||
{
|
||||
result.Fill(reader, 1, 0, false);
|
||||
cmd.Cancel();
|
||||
reader.Close();
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Dispose();
|
||||
reader.Dispose();
|
||||
CloseConnection(wantClose);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public string Get類別名稱(object 大類, object 類別編號)
|
||||
{
|
||||
if (大類 == null)
|
||||
大類 = DBNull.Value;
|
||||
if (類別編號 == null)
|
||||
類別編號 = DBNull.Value;
|
||||
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText = @"SELECT BSSCR FROM BCLS WHERE BSPAR=@BSPAR AND BSCLS=@BSCLS";
|
||||
AddParam(cmd, "BSPAR", 大類);
|
||||
AddParam(cmd, "BSCLS", 類別編號);
|
||||
string result;
|
||||
ExecuteScalar(cmd, out result);
|
||||
return result;
|
||||
}
|
||||
|
||||
public void UpdateOne(object 大類, object 類別編號, object 類別值)
|
||||
{
|
||||
if (大類 == null)
|
||||
大類 = DBNull.Value;
|
||||
if (類別編號 == null)
|
||||
類別編號 = DBNull.Value;
|
||||
if (類別值 == null)
|
||||
類別值 = DBNull.Value;
|
||||
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText = @"SELECT COUNT(1) FROM BCLS WHERE BSPAR=@BSPAR AND BSCLS=@BSCLS";
|
||||
AddParam(cmd, "BSPAR", 大類);
|
||||
AddParam(cmd, "BSCLS", 類別編號);
|
||||
int count;
|
||||
ExecuteScalar(cmd, out count);
|
||||
|
||||
if (count == 0)
|
||||
{
|
||||
cmd.CommandText =
|
||||
@"INSERT INTO BCLS (BSPAR, BSCLS, BSSCR, BLOCK, TRDAT, TRMOD, TRUSR, BSRMK, DB_APPNO)
|
||||
VALUES (@BSPAR, @BSCLS, @BSSCR, '', GETDATE(), 'INSERT', @TRUSR, '', 1)";
|
||||
AddParam(cmd, "BSPAR", 大類);
|
||||
AddParam(cmd, "BSCLS", 類別編號);
|
||||
AddParam(cmd, "BSSCR", 類別值);
|
||||
AddParam(cmd, "TRUSR", CurrentUserId);
|
||||
ExecuteNonQuery(cmd);
|
||||
}
|
||||
else
|
||||
{
|
||||
cmd.CommandText =
|
||||
@"UPDATE BCLS
|
||||
SET BSSCR = @BSSCR ,
|
||||
TRDAT = GETDATE() ,
|
||||
TRMOD = 'UPDATE' ,
|
||||
TRUSR = @TRUSR ,
|
||||
DB_APPNO = DB_APPNO + 1
|
||||
WHERE BSPAR = @BSPAR
|
||||
AND BSCLS = @BSCLS";
|
||||
|
||||
AddParam(cmd, "BSPAR", 大類);
|
||||
AddParam(cmd, "BSCLS", 類別編號);
|
||||
AddParam(cmd, "BSSCR", 類別值);
|
||||
AddParam(cmd, "TRUSR", CurrentUserId);
|
||||
ExecuteNonQuery(cmd);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,129 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Data;
|
||||
using System.Data.Common;
|
||||
using System.ComponentModel;
|
||||
using WebLib;
|
||||
|
||||
namespace Education
|
||||
{
|
||||
[DataObject]
|
||||
public class DAC_BPAA: DAC
|
||||
{
|
||||
/// <summary>
|
||||
/// 取得指定年度專案計畫代號與名稱,不含總公司
|
||||
/// </summary>
|
||||
/// <param name="year">指定年度</param>
|
||||
/// <returns></returns>
|
||||
public DataTable GetBpaa(int year)
|
||||
{
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText =
|
||||
@"SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM
|
||||
FROM BPAA WHERE (BPYER=@BPYER) AND (BPCSD IS NULL) AND (BPPYN <> '000000001') AND (BPPYN <> '103JYB00001') AND (BPPYN <> '103TYB00001')
|
||||
ORDER BY BPPYN";
|
||||
AddParam(cmd, "BPYER", year - PublicVariable.CY11);
|
||||
return Select(cmd);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取得所有年度專案計畫代號與名稱,含總公司
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public DataTable GetBpaaWithTY()
|
||||
{
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText =
|
||||
@"SELECT '000000001' BPPYN, '【非專案人員】' BPPYM
|
||||
UNION
|
||||
SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM
|
||||
FROM BPAA WHERE (BPCSD IS NULL) AND (BPPYN <> '000000001') AND (BPPYN <> '103JYB00001') AND (BPPYN <> '103TYB00001') AND (BPPYN <> '102JYB00001') AND (BPPYN <> '102TYB00001')
|
||||
UNION
|
||||
SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM
|
||||
FROM BPAA WHERE (BPCSD IS NULL) AND (BPPYN = '103JYB00001' OR BPPYN = '103TYB00001')
|
||||
ORDER BY BPPYN";
|
||||
return Select(cmd);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取得所有年度專案計畫代號與名稱,含總公司,並加上一個空項目
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public DataTable GetBpaaWithTYPlusNone()
|
||||
{
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText =
|
||||
@"SELECT '' BPPYN, '【全部】' BPPYM
|
||||
UNION
|
||||
SELECT '000000001' BPPYN, '【非專案人員】' BPPYM
|
||||
UNION
|
||||
SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM
|
||||
FROM BPAA WHERE (BPCSD IS NULL) AND (BPPYN <> '000000001') AND (BPPYN <> '103JYB00001') AND (BPPYN <> '103TYB00001') AND (BPPYN <> '103JYB00001') AND (BPPYN <> '103TYB00001')
|
||||
UNION
|
||||
SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM
|
||||
FROM BPAA WHERE (BPCSD IS NULL) AND (BPPYN = '103JYB00001' OR BPPYN = '103TYB00001')
|
||||
ORDER BY BPPYN";
|
||||
return Select(cmd);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取得指定年度專案計畫代號與名稱,含總公司
|
||||
/// </summary>
|
||||
/// <param name="year">指定年度</param>
|
||||
/// <param name="companyID">公司別</param>
|
||||
/// <returns></returns>
|
||||
public DataTable GetBpaaWithTY(int year, string companyID)
|
||||
{
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText =
|
||||
@"SELECT '000000001' AS BPPYN, '【非專案人員】' AS BPPYM
|
||||
UNION
|
||||
SELECT BPPYN, BPPYM FROM
|
||||
(
|
||||
SELECT BPPYN,
|
||||
ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM AS BPPYM,
|
||||
(SELECT TOP 1 BPCPY FROM BPRJ WHERE BPRJ.BPPNM=BPAA.BPPNM) AS BPCPY
|
||||
FROM BPAA WHERE (BPYER=@BPYER) AND (BPPYN <> '000000001') AND (BPPYN <> '103JYB00001') AND (BPPYN <> '103TYB00001') AND (BPPYN <> '102JYB00001') AND (BPPYN <> '102TYB00001')
|
||||
UNION
|
||||
SELECT BPPYN,
|
||||
ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM AS BPPYM,
|
||||
(SELECT TOP 1 BPCPY FROM BPRJ WHERE BPRJ.BPPNM=BPAA.BPPNM) AS BPCPY
|
||||
FROM BPAA WHERE (BPPYN = '103JYB00001') OR (BPPYN = '103TYB00001')
|
||||
) AS TMP1 WHERE BPCPY=@BPCPY
|
||||
ORDER BY BPPYN";
|
||||
|
||||
// @"SELECT '000000001' BPPYN, '【非專案人員】' BPPYM
|
||||
// UNION
|
||||
// SELECT BPPYN, '【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】' + BPPYM BPPYM
|
||||
// FROM BPAA WHERE (BPYER=@BPYER) AND (BPPYN <> '000000001')
|
||||
// ORDER BY BPPYN";
|
||||
AddParam(cmd, "BPYER", year);
|
||||
AddParam(cmd, "BPCPY", companyID);
|
||||
return Select(cmd);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取得指定年度專案計畫代號與名稱,含總公司,並加上一個空項目
|
||||
/// </summary>
|
||||
/// <param name="year">指定年度</param>
|
||||
/// <returns></returns>
|
||||
public DataTable GetBpaaWithTYPlusNone(int year)
|
||||
{
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText =
|
||||
@"SELECT '' BPPYN, '【全部】' BPPYM
|
||||
UNION
|
||||
SELECT '000000001' BPPYN, '【非專案人員】' BPPYM
|
||||
UNION
|
||||
SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM
|
||||
FROM BPAA WHERE (BPYER=@BPYER) AND (BPPYN <> '000000001') AND (BPPYN <> '103JYB00001') AND (BPPYN <> '103TYB00001') AND (BPPYN <> '102JYB00001') AND (BPPYN <> '102TYB00001')
|
||||
UNION
|
||||
SELECT BPPYN, ISNULL('【' + (SELECT TOP 1 BSSCR FROM BCLS WHERE BSPAR='BCUSZON' AND BSCLS=SUBSTRING(BPPYN,LEN(BPPYN)-5,1)) + '】', '') + BPPYM BPPYM
|
||||
FROM BPAA WHERE (BPPYN = '103JYB00001' OR BPPYN = '103TYB00001')
|
||||
ORDER BY BPPYN";
|
||||
AddParam(cmd, "BPYER", year - PublicVariable.CY11);
|
||||
return Select(cmd);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Data;
|
||||
using System.Data.Common;
|
||||
using System.ComponentModel;
|
||||
using WebLib;
|
||||
|
||||
namespace Education
|
||||
{
|
||||
[DataObject]
|
||||
public class DAC_BPSN : DAC
|
||||
{
|
||||
public DAC_BPSN()
|
||||
{ }
|
||||
|
||||
public DAC_BPSN(DbConnection conn)
|
||||
: base(conn)
|
||||
{ }
|
||||
|
||||
public string Get員工姓名(object BPENO)
|
||||
{
|
||||
if (BPENO == null)
|
||||
BPENO = DBNull.Value;
|
||||
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText = @"SELECT BPNME FROM BPSNView WHERE BPENO=@BPENO";
|
||||
AddParam(cmd, "BPENO", BPENO);
|
||||
string result;
|
||||
ExecuteScalar(cmd, out result);
|
||||
return result;
|
||||
}
|
||||
|
||||
public string Get電子郵件(object BPENO)
|
||||
{
|
||||
if (BPENO == null)
|
||||
BPENO = DBNull.Value;
|
||||
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText = @"SELECT BPEML FROM BPSNView WHERE BPENO=@BPENO";
|
||||
AddParam(cmd, "BPENO", BPENO);
|
||||
string result;
|
||||
ExecuteScalar(cmd, out result);
|
||||
return result;
|
||||
}
|
||||
|
||||
public string Get公司電話(object BPENO)
|
||||
{
|
||||
if (BPENO == null)
|
||||
BPENO = DBNull.Value;
|
||||
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText = @"SELECT BPOTL FROM BPSNView WHERE BPENO=@BPENO";
|
||||
AddParam(cmd, "BPENO", BPENO);
|
||||
string result;
|
||||
ExecuteScalar(cmd, out result);
|
||||
return result;
|
||||
}
|
||||
|
||||
public bool Is管理群組(object BPENO)
|
||||
{
|
||||
if (BPENO == null)
|
||||
return false;
|
||||
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText =
|
||||
String.Format(@"SELECT COUNT(1) FROM BWEH WHERE BPENO=@BPENO AND BPGLP IN ({0})", PublicVariable.ManagerGroup);
|
||||
AddParam(cmd, "BPENO", BPENO);
|
||||
int i;
|
||||
ExecuteScalar(cmd, out i);
|
||||
return i > 0;
|
||||
}
|
||||
|
||||
public bool Is承辦人群組(object BPENO)
|
||||
{
|
||||
if (BPENO == null)
|
||||
return false;
|
||||
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText =
|
||||
String.Format(@"SELECT COUNT(1) FROM BWEH WHERE BPENO=@BPENO AND BPGLP IN ({0})", PublicVariable.WorkerGroup);
|
||||
AddParam(cmd, "BPENO", BPENO);
|
||||
int i;
|
||||
ExecuteScalar(cmd, out i);
|
||||
return i > 0;
|
||||
}
|
||||
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Select)]
|
||||
public DataTable Select(string BPENO, string BPNME)
|
||||
{
|
||||
DbCommand cmdSelect = NewCommand();
|
||||
cmdSelect.CommandText =
|
||||
@"select C.BPENO AS 員工編號, C.BPNME as 員工姓名, C.BPEML as 電子郵件,
|
||||
D.RAPYN AS 計畫年度編號, ISNULL('【' + I.BSSCR + '】', '') + E.BPPYM AS 計畫年度名稱,
|
||||
D.RABRH AS 站別編號, F.BSSCR AS 站別名稱,
|
||||
D.RAJNO AS 職務編號, G.BPJME AS 職務名稱,
|
||||
D.RACNO AS 等級編號, H.BPCME AS 等級名稱
|
||||
from BPSNView C
|
||||
left outer join RASN D on C.BPENO = D.RANUM and D.RAEDT is NULL
|
||||
left outer join BPAA E on D.RAPYN = E.BPPYN
|
||||
left outer join BCLS F on F.BSCLS = D.RABRH and F.BSPAR = 'BPSNBRH'
|
||||
left outer join BPJA G on G.BPPYN = D.RAPYN and G.BPJNO = D.RAJNO
|
||||
left outer join BPJB H on H.BPPYN = D.RAPYN and H.BPJNO = D.RAJNO and H.BPCNO = D.RACNO
|
||||
left outer join BCLS I on I.BSCLS = SUBSTRING(D.RAPYN, LEN(D.RAPYN)-5,1) and I.BSPAR = 'BCUSZON'
|
||||
where C.BPEDY is null ";
|
||||
|
||||
if (BPENO != null && BPENO.Length > 0)
|
||||
{
|
||||
cmdSelect.CommandText += " and C.BPENO like @BPENO ";
|
||||
AddParam(cmdSelect, "BPENO", BPENO + "%");
|
||||
}
|
||||
|
||||
if (BPNME != null && BPNME.Length > 0)
|
||||
{
|
||||
cmdSelect.CommandText += " and C.BPNME like @BPNME ";
|
||||
AddParam(cmdSelect, "BPNME", BPNME + "%");
|
||||
}
|
||||
|
||||
cmdSelect.CommandText += " order by C.BPENO";
|
||||
return Select(cmdSelect);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using WebLib;
|
||||
|
||||
namespace Education
|
||||
{
|
||||
public class DAC_BRTE : DAC
|
||||
{
|
||||
public DAC_BRTE()
|
||||
{ }
|
||||
|
||||
public DAC_BRTE(DbConnection conn)
|
||||
: base(conn)
|
||||
{ }
|
||||
|
||||
private decimal GetValue(string brtyp)
|
||||
{
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText = @"SELECT TOP 1 BRRTE FROM BRTE WHERE BRTYP=@BRTYP AND BRSDT <= @TODAY ORDER BY BRSDT DESC";
|
||||
AddParam(cmd, "BRTYP", brtyp);
|
||||
AddParam(cmd, "TODAY", PublicVariable.TaiwanNow.Date);
|
||||
ExecuteScalar<decimal>(cmd, out decimal value);
|
||||
return value;
|
||||
}
|
||||
|
||||
public decimal 領據執行業務所得課稅門檻
|
||||
{
|
||||
get
|
||||
{
|
||||
return GetValue("領據執行業務所得課稅門檻");
|
||||
}
|
||||
}
|
||||
|
||||
public decimal 領據薪資課稅門檻
|
||||
{
|
||||
get
|
||||
{
|
||||
return GetValue("領據薪資課稅門檻");
|
||||
}
|
||||
}
|
||||
|
||||
public decimal 領據基本工資
|
||||
{
|
||||
get
|
||||
{
|
||||
return GetValue("領據基本工資");
|
||||
}
|
||||
}
|
||||
|
||||
public decimal 領據執行業務所得稅率
|
||||
{
|
||||
get
|
||||
{
|
||||
return GetValue("領據執行業務所得稅率");
|
||||
}
|
||||
}
|
||||
|
||||
public decimal 領據薪資稅率
|
||||
{
|
||||
get
|
||||
{
|
||||
return GetValue("領據薪資稅率");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using WebLib;
|
||||
|
||||
namespace Education
|
||||
{
|
||||
public class DAC_BWEX: DAC
|
||||
{
|
||||
private const string _tableName = "BWEX";
|
||||
private const string 領據關帳年月 = "領據關帳年月";
|
||||
|
||||
public DAC_BWEX()
|
||||
{ }
|
||||
|
||||
public DAC_BWEX(DbConnection conn)
|
||||
: base(conn)
|
||||
{ }
|
||||
|
||||
/// <summary>
|
||||
/// 讀取設定
|
||||
/// </summary>
|
||||
/// <param name="bsnum"></param>
|
||||
/// <param name="bsitm"></param>
|
||||
/// <returns></returns>
|
||||
public string ReadSetting(string bsnum, int bsitm)
|
||||
{
|
||||
var cmd = NewCommand($"SELECT BSNAM FROM {_tableName} WHERE BSNUM=@BSNUM AND BSITM=@BSITM");
|
||||
AddParam(cmd, "BSNUM", bsnum);
|
||||
AddParam(cmd, "BSITM", $"{bsitm,4}");
|
||||
if (ExecuteScalar<string>(cmd, out string value))
|
||||
{
|
||||
return value;
|
||||
}
|
||||
else
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 寫入設定
|
||||
/// </summary>
|
||||
/// <param name="bsnum"></param>
|
||||
/// <param name="bsitm"></param>
|
||||
/// <param name="bsnam"></param>
|
||||
public void WriteSetting(string bsnum, int bsitm, string bsnam)
|
||||
{
|
||||
var cmdRead = NewCommand($"SELECT COUNT(*) FROM {_tableName} WHERE BSNUM=@BSNUM AND BSITM=@BSITM");
|
||||
AddParam(cmdRead, "BSNUM", bsnum);
|
||||
AddParam(cmdRead, "BSITM", $"{bsitm,4}");
|
||||
ExecuteScalar(cmdRead, out int count);
|
||||
|
||||
if (count > 0)
|
||||
{
|
||||
var cmd = NewCommand($"UPDATE {_tableName} SET BSNAM=@BSNAM, TRDAT=@TRDAT, TRMOD=@TRMOD, TRUSR=@TRUSR WHERE BSNUM=@BSNUM AND BSITM=@BSITM");
|
||||
AddParam(cmd, "BSNAM", bsnam);
|
||||
AddParam(cmd, "TRDAT", DateTime.Now);
|
||||
AddParam(cmd, "TRMOD", "UPDATE");
|
||||
AddParam(cmd, "TRUSR", CurrentUserId);
|
||||
AddParam(cmd, "BSNUM", bsnum);
|
||||
AddParam(cmd, "BSITM", $"{bsitm,4}");
|
||||
ExecuteNonQuery(cmd);
|
||||
}
|
||||
else
|
||||
{
|
||||
var cmd = NewCommand($"INSERT INTO {_tableName} (BSNUM, BSITM, BSNAM, TRDAT, TRMOD, TRUSR) VALUES (@BSNUM, @BSITM, @BSNAM, @TRDAT, @TRMOD, @TRUSR)");
|
||||
AddParam(cmd, "BSNUM", bsnum);
|
||||
AddParam(cmd, "BSITM", $"{bsitm,4}");
|
||||
AddParam(cmd, "BSNAM", bsnam);
|
||||
AddParam(cmd, "TRDAT", DateTime.Now);
|
||||
AddParam(cmd, "TRMOD", "INSERT");
|
||||
AddParam(cmd, "TRUSR", CurrentUserId);
|
||||
ExecuteNonQuery(cmd);
|
||||
}
|
||||
}
|
||||
|
||||
public string Read領據關帳年月
|
||||
{
|
||||
get
|
||||
{
|
||||
using (var conn = DAC.NewConnection())
|
||||
{
|
||||
var daoBWEX = new DAC_BWEX(conn);
|
||||
return daoBWEX.ReadSetting(領據關帳年月, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web;
|
||||
using System.Data;
|
||||
using System.Data.Common;
|
||||
using System.ComponentModel;
|
||||
using WebLib;
|
||||
|
||||
namespace Education
|
||||
{
|
||||
[DataObject]
|
||||
public class DAC_RASN : DAC
|
||||
{
|
||||
public DAC_RASN()
|
||||
{ }
|
||||
|
||||
public DAC_RASN(DbConnection conn)
|
||||
: base(conn)
|
||||
{ }
|
||||
|
||||
/*
|
||||
SELECT B.BPENO AS 員工編號, B.BPENO + ' ' + B.BPNME AS 員工姓名,
|
||||
ISNULL(D.RPCPY, C.RPCPY) AS 公司別,
|
||||
A.RAPYN AS 專案編號, F.BPPYM AS 專案名稱,
|
||||
A.RAJNO AS 職稱編號, E.BPJME AS 職稱名稱
|
||||
FROM BPSN B
|
||||
INNER JOIN RASN A ON A.RANUM=B.BPENO AND B.BPEDY IS NULL -- 派遣紀錄
|
||||
LEFT JOIN RPIR C ON A.RANUM=C.RPENO AND C.RPREN=(SELECT MAX(RPREN) FROM RPIR WHERE RPENO=A.RANUM) -- 勞健保紀錄
|
||||
LEFT JOIN RPIB D ON C.RPREN=D.RPREN AND D.RPITM=(SELECT MAX(RPITM) FROM RPIB WHERE RPREN=D.RPREN) -- 勞健保異動紀錄
|
||||
LEFT JOIN BPJA E ON E.BPPYN=A.RAPYN AND E.BPJNO=A.RAJNO -- 專案年度職稱
|
||||
LEFT JOIN BPAA F ON F.BPPYN=A.RAPYN -- 專案年度接單
|
||||
WHERE RAEDT IS NULL
|
||||
ORDER BY BPENO
|
||||
*/
|
||||
|
||||
[DataObjectMethod(DataObjectMethodType.Select)]
|
||||
public NameValueList Select專案人員(string 專案年度編號, string 公司別)
|
||||
{
|
||||
NameValueList result = new NameValueList();
|
||||
|
||||
DbCommand cmd = NewCommand();
|
||||
cmd.CommandText =
|
||||
@"SELECT 員工編號, 員工姓名 FROM
|
||||
(
|
||||
SELECT A.RANUM AS 員工編號, A.RANUM + ' ' + B.BPNME AS 員工姓名, ISNULL(D.RPCPY, C.RPCPY) AS 公司別
|
||||
FROM RASN A
|
||||
INNER JOIN BPSNView B ON A.RANUM=B.BPENO AND B.BPEDY IS NULL
|
||||
LEFT JOIN RPIR C ON A.RANUM=C.RPENO AND C.RPREN=(SELECT MAX(RPREN) FROM RPIR WHERE RPENO=A.RANUM)
|
||||
LEFT JOIN RPIB D ON C.RPREN=D.RPREN AND D.RPITM=(SELECT MAX(RPITM) FROM RPIB WHERE RPREN=D.RPREN)
|
||||
WHERE A.RAPYN=@專案年度編號
|
||||
AND RAEDT IS NULL
|
||||
) AS TMP1
|
||||
WHERE 公司別=@公司別
|
||||
ORDER BY 員工編號";
|
||||
|
||||
// @"SELECT A.RANUM AS 員工編號, A.RANUM + ' ' + B.BPNME AS 員工姓名
|
||||
// FROM RASN A
|
||||
// INNER JOIN BPSN B ON A.RANUM=B.BPENO AND B.BPEDY IS NULL
|
||||
// WHERE A.RAPYN=@RAPYN
|
||||
// AND RAEDT IS NULL
|
||||
// ORDER BY A.RANUM";
|
||||
AddParam(cmd, "專案年度編號", 專案年度編號);
|
||||
AddParam(cmd, "公司別", 公司別);
|
||||
|
||||
bool wantClose;
|
||||
IDataReader reader = ExecuteReader(cmd, out wantClose);
|
||||
try
|
||||
{
|
||||
result.Fill(reader, 1, 0);
|
||||
cmd.Cancel();
|
||||
reader.Close();
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Dispose();
|
||||
reader.Dispose();
|
||||
CloseConnection(wantClose);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,132 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.Common;
|
||||
using WebLib;
|
||||
|
||||
/// <summary>
|
||||
/// Summary description for Login
|
||||
/// </summary>
|
||||
namespace Education
|
||||
{
|
||||
public class LoginBPAP : DAC
|
||||
{
|
||||
private string _userId = "";
|
||||
private string _password = "";
|
||||
private string _userName = "";
|
||||
private string _errMessage = "";
|
||||
private string _userLang = "";
|
||||
private bool _noPassword = false;
|
||||
|
||||
public LoginBPAP()
|
||||
{
|
||||
}
|
||||
|
||||
public string UserId
|
||||
{
|
||||
get
|
||||
{
|
||||
return _userId;
|
||||
}
|
||||
set
|
||||
{
|
||||
_userId = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string Password
|
||||
{
|
||||
get
|
||||
{
|
||||
return _password;
|
||||
}
|
||||
set
|
||||
{
|
||||
_password = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string UserName
|
||||
{
|
||||
get
|
||||
{
|
||||
return _userName;
|
||||
}
|
||||
}
|
||||
|
||||
public string ErrorMessage
|
||||
{
|
||||
get
|
||||
{
|
||||
return _errMessage;
|
||||
}
|
||||
}
|
||||
|
||||
public bool NoPassword
|
||||
{
|
||||
get
|
||||
{
|
||||
return _noPassword;
|
||||
}
|
||||
}
|
||||
|
||||
public string UserLang
|
||||
{
|
||||
get
|
||||
{
|
||||
return _userLang;
|
||||
}
|
||||
set
|
||||
{
|
||||
_userLang = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取得是否登入成功
|
||||
/// </summary>
|
||||
/// <returns>登入成功與否。若回傳 false,錯誤訊息將儲存在 ErrorMessage 屬性中</returns>
|
||||
public bool GetResult()
|
||||
{
|
||||
DbConnection conn = NewConnection();
|
||||
DbCommand cmd = NewCommand("SELECT BPENO, BPNME, BPPWD FROM BPAP WHERE BPENO=@BPENO");
|
||||
AddParam(cmd, "BPENO", _userId);
|
||||
DataTable rs = Select(cmd);
|
||||
_noPassword = false;
|
||||
|
||||
if (rs.Rows.Count == 0)
|
||||
{
|
||||
_errMessage = "無此使用者代號或是密碼錯誤";
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
string pwd1 = GetString(rs.Rows[0]["BPPWD"]);
|
||||
string pwd2 = EncDec.KeyDec(pwd1);
|
||||
|
||||
if (pwd1.CompareTo("\u007f\u007f\u007f\u007f") == 0)
|
||||
{
|
||||
_noPassword = true;
|
||||
pwd2 = "";
|
||||
}
|
||||
|
||||
if (_password.CompareTo(pwd2) != 0)
|
||||
{
|
||||
_errMessage = "無此使用者代號或是密碼錯誤";
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
if (rs.Rows[0]["BPEDY"] != DBNull.Value)
|
||||
{
|
||||
_errMessage = "您沒有使用這個系統的權限";
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
_errMessage = "";
|
||||
_userName = GetString(rs.Rows[0]["BPNME"]);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,155 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.Common;
|
||||
using WebLib;
|
||||
|
||||
/// <summary>
|
||||
/// Summary description for Login
|
||||
/// </summary>
|
||||
namespace Education
|
||||
{
|
||||
public class LoginBPSN : DAC
|
||||
{
|
||||
private string _userId = "";
|
||||
private string _password = "";
|
||||
private string _userName = "";
|
||||
private string _errMessage = "";
|
||||
private string _userLang = "";
|
||||
private bool _noPassword = false;
|
||||
private bool _isManager = false;
|
||||
private bool _isWorker = false;
|
||||
|
||||
public LoginBPSN()
|
||||
{
|
||||
}
|
||||
|
||||
public string UserId
|
||||
{
|
||||
get
|
||||
{
|
||||
return _userId;
|
||||
}
|
||||
set
|
||||
{
|
||||
_userId = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string Password
|
||||
{
|
||||
get
|
||||
{
|
||||
return _password;
|
||||
}
|
||||
set
|
||||
{
|
||||
_password = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string UserName
|
||||
{
|
||||
get
|
||||
{
|
||||
return _userName;
|
||||
}
|
||||
}
|
||||
|
||||
public string ErrorMessage
|
||||
{
|
||||
get
|
||||
{
|
||||
return _errMessage;
|
||||
}
|
||||
}
|
||||
|
||||
public bool NoPassword
|
||||
{
|
||||
get
|
||||
{
|
||||
return _noPassword;
|
||||
}
|
||||
}
|
||||
|
||||
public string UserLang
|
||||
{
|
||||
get
|
||||
{
|
||||
return _userLang;
|
||||
}
|
||||
set
|
||||
{
|
||||
_userLang = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否是管理員
|
||||
/// </summary>
|
||||
public bool IsManager
|
||||
{
|
||||
get
|
||||
{
|
||||
return _isManager;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否是承辦人
|
||||
/// </summary>
|
||||
public bool IsWorker
|
||||
{
|
||||
get
|
||||
{
|
||||
return _isWorker;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 取得是否登入成功
|
||||
/// </summary>
|
||||
/// <returns>登入成功與否。若回傳 false,錯誤訊息將儲存在 ErrorMessage 屬性中</returns>
|
||||
public bool GetResult()
|
||||
{
|
||||
DbCommand cmd = NewCommand("SELECT BPENO, BPNME, BPEDY, BPAWD FROM BPSNView WHERE BPENO=@BPENO");
|
||||
AddParam(cmd, "BPENO", _userId);
|
||||
DataTable rs = Select(cmd);
|
||||
_noPassword = false;
|
||||
|
||||
if (rs.Rows.Count == 0)
|
||||
{
|
||||
_errMessage = "無此使用者代號或是密碼錯誤";
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
string pwd1 = GetString(rs.Rows[0]["BPAWD"]);
|
||||
string pwd2 = EncDec.KeyDec(pwd1);
|
||||
|
||||
if (pwd1.CompareTo("\u007f\u007f\u007f\u007f") == 0)
|
||||
{
|
||||
_noPassword = true;
|
||||
pwd2 = "";
|
||||
}
|
||||
|
||||
if (_password.CompareTo(pwd2) != 0)
|
||||
{
|
||||
_errMessage = "無此使用者代號或是密碼錯誤";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (rs.Rows[0]["BPEDY"] != DBNull.Value)
|
||||
{
|
||||
_errMessage = "您沒有使用這個系統的權限";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
_errMessage = "";
|
||||
_userName = GetString(rs.Rows[0]["BPNME"]);
|
||||
_isManager = new DAC_BPSN(conn).Is管理群組(_userId);
|
||||
_isWorker = new DAC_BPSN(conn).Is承辦人群組(_userId);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user