248 lines
6.7 KiB
C#
248 lines
6.7 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Configuration;
|
|
using System.Collections.Generic;
|
|
using System.Web;
|
|
using System.Web.Security;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using System.Web.UI.WebControls.WebParts;
|
|
using System.Web.UI.HtmlControls;
|
|
using System.Text;
|
|
using Wellan.Data;
|
|
using Wellan.Common;
|
|
|
|
public partial class forms_flow_fmBSGP : Wellan.Web.UI.WUserControlBase
|
|
{
|
|
private BpapDAC bpabDao;
|
|
private BsgpDAC bsgpDao;
|
|
private string _RPPYN;
|
|
private int _YY;
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
_RPPYN = WDAC.GetStringValue(ViewState["RPPYN"]);
|
|
_YY = WDAC.GetInt32Value(ViewState["YY"]);
|
|
|
|
if (_YY > 0)
|
|
{
|
|
txtYY.Text = _YY.ToString();
|
|
ListItem item = ddlRPPYN.Items.FindByValue(_RPPYN);
|
|
if (item != null)
|
|
item.Selected = true;
|
|
}
|
|
else
|
|
{
|
|
txtYY.Focus();
|
|
}
|
|
}
|
|
|
|
protected override void OnInit(EventArgs e)
|
|
{
|
|
base.OnInit(e);
|
|
bpabDao = new BpapDAC(Query);
|
|
bsgpDao = new BsgpDAC(Query);
|
|
}
|
|
|
|
private void BindListBox(bool clear)
|
|
{
|
|
if (lbBPSN.Items.Count == 0)
|
|
{
|
|
DataTable bpsnData = GetListData("BPSN",
|
|
String.Format("BPEDY IS NULL AND BPDPT IN {0} AND EXISTS (SELECT RANUM FROM RASN WHERE RAPYN IN ('103JYB00001', '103TYB00001') AND RANUM=BPENO AND RAEDT IS NULL)", PublicVariable.InnerDepartment));
|
|
|
|
foreach (DataRow r in bpsnData.Rows)
|
|
{
|
|
string bpeno = WDAC.GetStringValue(r["BPENO"]);
|
|
string bpnme = WDAC.GetStringValue(r["BPNME"]);
|
|
lbBPSN.Items.Add(new ListItem(bpeno + " " + bpnme, bpeno));
|
|
}
|
|
}
|
|
|
|
if (lbBPAP.Items.Count == 0)
|
|
{
|
|
DataTable bpapData = bpabDao.SelectAll();
|
|
|
|
foreach (DataRow r in bpapData.Rows)
|
|
{
|
|
string bpeno = WDAC.GetStringValue(r["BPENO"]);
|
|
string bpnme = WDAC.GetStringValue(r["BPNME"]);
|
|
lbBPAP.Items.Add(new ListItem(bpeno + " " + bpnme, bpeno));
|
|
}
|
|
}
|
|
|
|
if (clear || lbLVL1.Items.Count == 0)
|
|
{
|
|
DataTable t1 = bsgpDao.SelectByLevel(_RPPYN, "差勤", 1);
|
|
lbLVL1.Items.Clear();
|
|
|
|
foreach (DataRow r in t1.Rows)
|
|
{
|
|
string eno = WDAC.GetStringValue(r["BSENO"]);
|
|
string nme = WDAC.GetStringValue(r["BSNME"]);
|
|
lbLVL1.Items.Add(new ListItem(eno + " " + nme, eno));
|
|
}
|
|
}
|
|
|
|
if (clear || lbLVL2.Items.Count == 0)
|
|
{
|
|
DataTable t1 = bsgpDao.SelectByLevel(_RPPYN, "差勤", 2);
|
|
lbLVL2.Items.Clear();
|
|
|
|
foreach (DataRow r in t1.Rows)
|
|
{
|
|
string eno = WDAC.GetStringValue(r["BSENO"]);
|
|
string nme = WDAC.GetStringValue(r["BSNME"]);
|
|
lbLVL2.Items.Add(new ListItem(eno + " " + nme, eno));
|
|
}
|
|
}
|
|
|
|
if (clear || lbLVL3.Items.Count == 0)
|
|
{
|
|
DataTable t1 = bsgpDao.SelectByLevel(_RPPYN, "差勤", 3);
|
|
lbLVL3.Items.Clear();
|
|
|
|
foreach (DataRow r in t1.Rows)
|
|
{
|
|
string eno = WDAC.GetStringValue(r["BSENO"]);
|
|
string nme = WDAC.GetStringValue(r["BSNME"]);
|
|
lbLVL3.Items.Add(new ListItem(eno + " " + nme, eno));
|
|
}
|
|
}
|
|
}
|
|
|
|
// 加入群組
|
|
protected void btnMoveIn_Click(object sender, ImageClickEventArgs e)
|
|
{
|
|
if (!CheckProjectRight())
|
|
return;
|
|
|
|
int bslvl;
|
|
switch ((sender as Control).ID)
|
|
{
|
|
case "btnIn1":
|
|
bslvl = 1;
|
|
break;
|
|
case "btnIn2":
|
|
bslvl = 2;
|
|
break;
|
|
case "btnIn3":
|
|
bslvl = 3;
|
|
break;
|
|
default:
|
|
return;
|
|
}
|
|
|
|
foreach (ListItem itm in lbBPSN.Items)
|
|
{
|
|
if (itm.Selected)
|
|
bsgpDao.InsertOne(_RPPYN, "差勤", bslvl, itm.Value, UserId);
|
|
itm.Selected = false;
|
|
}
|
|
|
|
foreach (ListItem itm in lbBPAP.Items)
|
|
{
|
|
if (itm.Selected)
|
|
bsgpDao.InsertOne(_RPPYN, "差勤", bslvl, itm.Value, UserId);
|
|
itm.Selected = false;
|
|
}
|
|
|
|
BindListBox(true);
|
|
}
|
|
|
|
// 移出群組
|
|
protected void btnMoveOut_Click(object sender, ImageClickEventArgs e)
|
|
{
|
|
if (!CheckProjectRight())
|
|
return;
|
|
|
|
int bslvl;
|
|
ListBox lb;
|
|
switch ((sender as Control).ID)
|
|
{
|
|
case "btnOut1":
|
|
bslvl = 1;
|
|
lb = lbLVL1;
|
|
break;
|
|
case "btnOut2":
|
|
bslvl = 2;
|
|
lb = lbLVL2;
|
|
break;
|
|
case "btnOut3":
|
|
bslvl = 3;
|
|
lb = lbLVL3;
|
|
break;
|
|
default:
|
|
return;
|
|
}
|
|
|
|
foreach (ListItem itm in lb.Items)
|
|
{
|
|
if (itm.Selected)
|
|
bsgpDao.DeleteOne(_RPPYN, "差勤", bslvl, itm.Value);
|
|
itm.Selected = false;
|
|
}
|
|
|
|
BindListBox(true);
|
|
}
|
|
|
|
protected void btnYY_Click(object sender, EventArgs e)
|
|
{
|
|
if (!Int32.TryParse(txtYY.Text.Trim(), out _YY))
|
|
{
|
|
cvMessage.IsValid = false;
|
|
cvMessage.ErrorMessage = "請輸入正確的年度";
|
|
return;
|
|
}
|
|
|
|
ddlRPPYN.DataSource = new BpaaDAC().GetBpaa(_YY + WGuard1.CY11);
|
|
ddlRPPYN.DataBind();
|
|
|
|
ViewState["YY"] = _YY;
|
|
_RPPYN = "";
|
|
ViewState["RPPYN"] = "";
|
|
Panel1.Visible = false;
|
|
}
|
|
|
|
protected void Next_Click(object sender, EventArgs e)
|
|
{
|
|
if (!CheckProjectRight())
|
|
return;
|
|
|
|
_RPPYN = ddlRPPYN.SelectedValue;
|
|
ViewState["RPPYN"] = _RPPYN;
|
|
|
|
Panel1.Visible = true;
|
|
BindListBox(true);
|
|
}
|
|
|
|
protected void btnClear_Click(object sender, EventArgs e)
|
|
{
|
|
switch ((sender as Control).ID)
|
|
{
|
|
case "btnClear1":
|
|
lbBPSN.ClearSelection();
|
|
break;
|
|
case "btnClear2":
|
|
lbBPAP.ClearSelection();
|
|
break;
|
|
default:
|
|
return;
|
|
}
|
|
}
|
|
|
|
protected bool CheckProjectRight()
|
|
{
|
|
// 檢查此使用者是否有權限處理這個專案
|
|
BprmDAC bprm = new BprmDAC(Query);
|
|
if (!bprm.GetRight(ddlRPPYN.SelectedValue, UserId))
|
|
{
|
|
//MultiView1.Visible = false;
|
|
cvMessage.ErrorMessage = "對不起,你沒有處理這個專案的權限!";
|
|
cvMessage.IsValid = false;
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
} |