chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,365 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
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.Common;
|
||||
using Wellan.Data;
|
||||
using System.Data.Common;
|
||||
|
||||
/// <summary>
|
||||
/// 專案處理人員
|
||||
/// </summary>
|
||||
public partial class forms_customer_fmBprm : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected string _BPPNM = "";
|
||||
private string select = "SELECT * ";
|
||||
private string from = " FROM BPRM ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
private string order = " ORDER BY BPENO";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//if (IsPostBack)
|
||||
// gvBPRM.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
|
||||
if (ddlBCUS.Items.Count == 0)
|
||||
{
|
||||
DbCommand cmd1 = Query.NewCommand();
|
||||
cmd1.CommandText =
|
||||
@"SELECT '' AS BCNUM, '(請選擇客戶)' AS BCNAM
|
||||
UNION ALL
|
||||
SELECT BCNUM, '(' + BCNUM + ') ' + BCNAM AS BCNAM
|
||||
FROM BCUS
|
||||
ORDER BY BCNUM";
|
||||
ddlBCUS.DataSource = Query.Select(cmd1);
|
||||
ddlBCUS.DataValueField = "BCNUM";
|
||||
ddlBCUS.DataTextField = "BCNAM";
|
||||
ddlBCUS.DataBind();
|
||||
}
|
||||
|
||||
BindBPRJListBox();
|
||||
|
||||
/* 舊作法程式
|
||||
dsBPRMForm.ConnectionString = ConnectionString;
|
||||
dsBPRMGrid.ConnectionString = ConnectionString;
|
||||
_BPPNM = GetStringParam("BPPNM");
|
||||
GetGridViewRowColor(gvBPRM);
|
||||
Search();
|
||||
*/
|
||||
}
|
||||
|
||||
#region 新作法程式
|
||||
|
||||
protected void BindBPRJListBox()
|
||||
{
|
||||
DbCommand cmd1 = Query.NewCommand();
|
||||
cmd1.CommandText =
|
||||
@"SELECT BPPNM, '(' + BPPNM + ') ' + BPPME AS BPPME
|
||||
FROM BPRJ
|
||||
WHERE BPNUM=@BPNUM
|
||||
AND EXISTS (SELECT 1 FROM BPAA WHERE BPAA.BPPNM=BPRJ.BPPNM AND (BPAA.BPPNM = 'TYB00001' OR BPAA.BPPNM = 'JYB00001' OR BPAA.BPYER=@BPYER))
|
||||
ORDER BY BPPNM";
|
||||
Query.AddParam(cmd1, "BPNUM", ddlBCUS.SelectedValue);
|
||||
Query.AddParam(cmd1, "BPYER", WQuery.GetInt32Value(txtYear.Text));
|
||||
|
||||
lbProject.DataSource = Query.Select(cmd1);
|
||||
lbProject.DataValueField = "BPPNM";
|
||||
lbProject.DataTextField = "BPPME";
|
||||
lbProject.DataBind();
|
||||
|
||||
if (lbProject.Items.Count > 0 && lbProject.SelectedIndex == -1)
|
||||
{
|
||||
lbProject.SelectedIndex = 0;
|
||||
BindWorkerListBox();
|
||||
}
|
||||
}
|
||||
|
||||
protected void BindWorkerListBox()
|
||||
{
|
||||
DbCommand cmd1 = Query.NewCommand();
|
||||
cmd1.CommandText = String.Format(
|
||||
@"SELECT BPENO, '(' + BPENO + ') ' + BPNME AS BPNME FROM BPSNView
|
||||
WHERE BPEDY IS NULL
|
||||
AND BPDPT IN {0}
|
||||
AND EXISTS (SELECT BWEH.BPENO FROM BWEH WHERE BWEH.BPGLP='03' AND BWEH.BPENO=BPSNView.BPENO)
|
||||
AND EXISTS (SELECT * FROM BPRM WHERE BPPNM=@BPPNM AND BPRM.BPENO=BPSNView.BPENO)", PublicVariable.InnerDepartment);
|
||||
Query.AddParam(cmd1, "BPPNM", lbProject.SelectedValue);
|
||||
|
||||
DbCommand cmd2 = Query.NewCommand();
|
||||
cmd2.CommandText = String.Format(
|
||||
@"SELECT BPENO, '(' + BPENO + ') ' + BPNME AS BPNME FROM BPSNView
|
||||
WHERE BPEDY IS NULL
|
||||
AND BPDPT IN {0}
|
||||
AND EXISTS (SELECT BWEH.BPENO FROM BWEH WHERE BWEH.BPGLP='03' AND BWEH.BPENO=BPSNView.BPENO)
|
||||
AND NOT EXISTS (SELECT * FROM BPRM WHERE BPPNM=@BPPNM AND BPRM.BPENO=BPSNView.BPENO)", PublicVariable.InnerDepartment);
|
||||
Query.AddParam(cmd2, "BPPNM", lbProject.SelectedValue);
|
||||
|
||||
lbInWork.DataSource = Query.Select(cmd1);
|
||||
lbInWork.DataValueField = "BPENO";
|
||||
lbInWork.DataTextField = "BPNME";
|
||||
lbInWork.DataBind();
|
||||
|
||||
lbOutWork.DataSource = Query.Select(cmd2);
|
||||
lbOutWork.DataValueField = "BPENO";
|
||||
lbOutWork.DataTextField = "BPNME";
|
||||
lbOutWork.DataBind();
|
||||
}
|
||||
|
||||
protected void WButton1_Click(object sender, EventArgs e)
|
||||
{
|
||||
BindBPRJListBox();
|
||||
}
|
||||
|
||||
protected void lbProject_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
BindWorkerListBox();
|
||||
}
|
||||
|
||||
protected void btnMoveIn_Click(object sender, ImageClickEventArgs e)
|
||||
{
|
||||
DbCommand cmd1 = Query.NewCommand();
|
||||
cmd1.CommandText =
|
||||
@"SELECT BPENO FROM BPRM WHERE BPPNM=@BPPNM AND BPENO=@BPENO";
|
||||
|
||||
DbCommand cmd2 = Query.NewCommand();
|
||||
cmd2.CommandText =
|
||||
@"INSERT INTO BPRM (BPPNM, BPENO, APPNO) VALUES (@BPPNM, @BPENO, 1)";
|
||||
|
||||
foreach (ListItem item in lbOutWork.Items)
|
||||
{
|
||||
if (!item.Selected)
|
||||
continue;
|
||||
|
||||
Query.AddParam(cmd1, "BPPNM", lbProject.SelectedValue);
|
||||
Query.AddParam(cmd1, "BPENO", item.Value);
|
||||
if (Query.Select(cmd1).Rows.Count == 0)
|
||||
{
|
||||
Query.AddParam(cmd2, "BPPNM", lbProject.SelectedValue);
|
||||
Query.AddParam(cmd2, "BPENO", item.Value);
|
||||
Query.ExecuteNonQuery(cmd2);
|
||||
}
|
||||
}
|
||||
|
||||
BindWorkerListBox();
|
||||
}
|
||||
|
||||
protected void btnMoveOut_Click(object sender, ImageClickEventArgs e)
|
||||
{
|
||||
DbCommand cmd1 = Query.NewCommand();
|
||||
cmd1.CommandText =
|
||||
@"DELETE FROM BPRM WHERE BPPNM=@BPPNM AND BPENO=@BPENO";
|
||||
|
||||
foreach (ListItem item in lbInWork.Items)
|
||||
{
|
||||
if (!item.Selected)
|
||||
continue;
|
||||
|
||||
Query.AddParam(cmd1, "BPPNM", lbProject.SelectedValue);
|
||||
Query.AddParam(cmd1, "BPENO", item.Value);
|
||||
Query.ExecuteNonQuery(cmd1);
|
||||
}
|
||||
|
||||
BindWorkerListBox();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 舊作法程式
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
dsBPRMGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsBPRMGrid, "BPPNM", _BPPNM, "", true);
|
||||
sql.Append(order);
|
||||
dsBPRMGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
protected void dsBPRM_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
fvBPRM.ChangeMode(FormViewMode.Insert);
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPRM_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPRM.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
case FormViewMode.Edit:
|
||||
RegisterLookupEvent(fvBPRM, "btnBPRM_BPENO_WQRY", "txtBPRM_BPENO", "txtBPRM_BPENO,lbBPRM_BPENOX", "BPSN",
|
||||
String.Format("BPEDY IS NULL AND BPDPT IN {0} AND NOT EXISTS (SELECT * FROM BPRM WHERE BPRM.BPPNM='" + _BPPNM + "' AND BPRM.BPENO=BPSNView.BPENO)", PublicVariable.InnerDepartment));
|
||||
SetClientFocus(fvBPRM, "txtBPRM_BPENO");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvBPRM_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (gvBPRM.SelectedIndex == -1 && gvBPRM.Rows.Count > 0)
|
||||
gvBPRM.SelectedIndex = 0;
|
||||
fvBPRM.DataBind();
|
||||
}
|
||||
|
||||
protected void gvBPRM_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPRM.SelectedIndex = 0;
|
||||
gvBPRM.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBPRM_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Cancel":
|
||||
Search();
|
||||
fvBPRM.ChangeMode(FormViewMode.ReadOnly);
|
||||
fvBPRM_ModeChanged(sender, e);
|
||||
break;
|
||||
case "BPRJ":
|
||||
DoAfterCommand("BPRJ");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPRM_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (fvBPRM.CurrentMode == FormViewMode.ReadOnly)
|
||||
{
|
||||
gvBPRM.Visible = true;
|
||||
gvBPRM.DataBind();
|
||||
if (gvBPRM.Rows.Count > 0 && gvBPRM.SelectedIndex == -1)
|
||||
{
|
||||
gvBPRM.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert && gvBPRM.Rows.Count > 0)
|
||||
{
|
||||
gvBPRM.PageIndex = gvBPRM.PageCount - 1;
|
||||
gvBPRM.DataBind();
|
||||
gvBPRM.SelectedIndex = gvBPRM.Rows.Count - 1;
|
||||
}
|
||||
|
||||
fvBPRM.DataBind();
|
||||
}
|
||||
else
|
||||
{
|
||||
gvBPRM.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPRM_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void CalcFields(System.Collections.Specialized.IOrderedDictionary values)
|
||||
{
|
||||
}
|
||||
|
||||
protected bool CheckDuplicate(string bpeno)
|
||||
{
|
||||
DbCommand cmd = Query.NewCommand(
|
||||
@"SELECT COUNT(1) FROM BPRM WHERE BPPNM=@BPPNM AND BPENO=@BPENO");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPNM", _BPPNM));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPENO", bpeno));
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
return (o == null || o == DBNull.Value || Convert.ToInt32(o) == 0);
|
||||
}
|
||||
|
||||
protected void fvBPRM_ItemInserting(object sender, FormViewInsertEventArgs e)
|
||||
{
|
||||
// 檢查是否重複
|
||||
if (!CheckDuplicate(e.Values["BPENO"].ToString()))
|
||||
{
|
||||
cvMessage.ErrorMessage = "員工編號重複,請重新輸入";
|
||||
cvMessage.IsValid = false;
|
||||
e.Cancel = true;
|
||||
}
|
||||
|
||||
CalcFields(e.Values);
|
||||
e.Values["BPPNM"] = _BPPNM;
|
||||
}
|
||||
|
||||
protected void fvBPRM_ItemUpdating(object sender, FormViewUpdateEventArgs e)
|
||||
{
|
||||
// 檢查是否重複
|
||||
if (e.OldValues["BPENO"].ToString() != e.NewValues["BPENO"].ToString() && !CheckDuplicate(e.NewValues["BPENO"].ToString()))
|
||||
{
|
||||
cvMessage.ErrorMessage = "員工編號重複,請重新輸入";
|
||||
cvMessage.IsValid = false;
|
||||
e.Cancel = true;
|
||||
}
|
||||
|
||||
CalcFields(e.NewValues);
|
||||
}
|
||||
|
||||
protected void gvBPRM_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(sender as GridView, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected void gvBPRM_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in (sender as GridView).Rows)
|
||||
SetGridViewMouseBehavier(sender as GridView, row);
|
||||
}
|
||||
|
||||
protected void cvBPENO_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
BPSN_DAC bpsn = new BPSN_DAC(WConfig.GetConnectionConfig(), WConfig.GetConnectionConfigName());
|
||||
args.IsValid = args.Value != "" && bpsn.IsExist(args.Value, true) && bpsn.GetDepartment(args.Value) != "X";
|
||||
}
|
||||
|
||||
protected void dsBPRMForm_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
|
||||
{
|
||||
e.Command.Parameters["@BPPNM"].Value = _BPPNM;
|
||||
}
|
||||
|
||||
protected void fvBPRM_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPRM.DataBind();
|
||||
if (gvBPRM.SelectedIndex > gvBPRM.Rows.Count - 1)
|
||||
{
|
||||
gvBPRM.SelectedIndex = gvBPRM.Rows.Count - 1;
|
||||
gvBPRM.DataBind();
|
||||
}
|
||||
fvBPRM.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBPRM_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPRM_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user