178 lines
5.4 KiB
C#
178 lines
5.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Web;
|
|
using System.Data;
|
|
using System.Data.Common;
|
|
using System.ComponentModel;
|
|
using WebLib;
|
|
|
|
namespace 報到系統
|
|
{
|
|
[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群組(string BPENO, string BPGLP)
|
|
{
|
|
if (BPENO == null)
|
|
return false;
|
|
|
|
DbCommand cmd = NewCommand();
|
|
cmd.CommandText = @"SELECT COUNT(1) FROM BWEH WHERE BPENO=@BPENO AND BPGLP=@BPGLP";
|
|
AddParam(cmd, "BPENO", BPENO);
|
|
AddParam(cmd, "BPGLP", BPGLP);
|
|
int i;
|
|
ExecuteScalar(cmd, out i);
|
|
return i > 0;
|
|
}
|
|
|
|
public bool Is系統管理群組(string BPENO)
|
|
{
|
|
return Is群組(BPENO, PublicVariable.SystemManagerGroup);
|
|
}
|
|
|
|
public bool Is客戶管理群組(string BPENO)
|
|
{
|
|
return Is群組(BPENO, PublicVariable.CustomManagerGroup);
|
|
}
|
|
|
|
public bool Is現場工作群組(string BPENO)
|
|
{
|
|
return Is群組(BPENO, PublicVariable.FieldStaffGroup);
|
|
}
|
|
|
|
public bool Is查詢群組(string BPENO)
|
|
{
|
|
return Is群組(BPENO, PublicVariable.QueryGroup);
|
|
}
|
|
|
|
[DataObjectMethod(DataObjectMethodType.Select)]
|
|
public NameValueList Select(string keyword)
|
|
{
|
|
if (string.IsNullOrEmpty(keyword))
|
|
return null;
|
|
|
|
DbCommand cmdSelect = NewCommand();
|
|
cmdSelect.CommandText =
|
|
@"select BPENO as Value, BPNME as Name
|
|
from BPSNView
|
|
where BPEDY is null ";
|
|
|
|
cmdSelect.CommandText += " and (BPENO like @BPENO or BPNME like @BPNME)";
|
|
AddParam(cmdSelect, "BPENO", $"%{keyword}%");
|
|
AddParam(cmdSelect, "BPNME", $"%{keyword}%");
|
|
|
|
cmdSelect.CommandText += " order by BPENO";
|
|
|
|
var result = new NameValueList();
|
|
var list = result as IDataList;
|
|
Select(cmdSelect, ref list);
|
|
return result;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 客戶端下載員工名單使用
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public BPSNList SelectForClient()
|
|
{
|
|
DbCommand cmdSelect = NewCommand();
|
|
cmdSelect.CommandText =
|
|
@"SELECT
|
|
A.BPENO,
|
|
A.BPNME,
|
|
'' AS BPAWD,
|
|
MAX(CASE WHEN B.BPGLP = 'SG01' THEN 1 ELSE 0 END) AS Is系統管理群組,
|
|
MAX(CASE WHEN B.BPGLP = 'SG02' THEN 1 ELSE 0 END) AS Is客戶管理群組,
|
|
MAX(CASE WHEN B.BPGLP = 'SG03' THEN 1 ELSE 0 END) AS Is現場工作群組,
|
|
MAX(CASE WHEN B.BPGLP = 'SG04' THEN 1 ELSE 0 END) AS Is查詢群組
|
|
FROM BPSNView A
|
|
LEFT JOIN BWEH B ON A.BPENO = B.BPENO AND B.BPGLP IN ('SG01','SG02','SG03','SG04')
|
|
WHERE A.BPEDY IS NULL
|
|
GROUP BY A.BPENO, A.BPNME, A.BPAWD";
|
|
var result = new BPSNList();
|
|
var list = result as IDataList;
|
|
Select(cmdSelect, ref list);
|
|
return result;
|
|
}
|
|
}
|
|
|
|
[Serializable]
|
|
public class BPSNList : List<BPSNItem>, IDataList
|
|
{
|
|
public void Fill(DbDataReader reader)
|
|
{
|
|
DAC.FillData<BPSNItem>(reader, this);
|
|
}
|
|
}
|
|
|
|
[Serializable]
|
|
public class BPSNItem
|
|
{
|
|
[DataObjectField(true, false, false)]
|
|
public string BPENO { get; set; }
|
|
|
|
[DataObjectField(false, false, true)]
|
|
public string BPNME { get; set; }
|
|
|
|
[DataObjectField(false, false, true)]
|
|
public string BPAWD { get; set; }
|
|
|
|
[DataObjectField(false, false, true)]
|
|
public int Is系統管理群組 { get; set; }
|
|
|
|
[DataObjectField(false, false, true)]
|
|
public int Is客戶管理群組 { get; set; }
|
|
|
|
[DataObjectField(false, false, true)]
|
|
public int Is現場工作群組 { get; set; }
|
|
|
|
[DataObjectField(false, false, true)]
|
|
public int Is查詢群組 { get; set; }
|
|
}
|
|
} |