chore: 首次簽入 Thinkyu ASP.NET 專案

- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
2026-09-10 09:42:37 +08:00
commit 577060bc78
2496 changed files with 501389 additions and 0 deletions
+365
View File
@@ -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
}