277 lines
9.1 KiB
C#
277 lines
9.1 KiB
C#
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.Data.Common;
|
|
using Wellan.Data;
|
|
using Wellan.Common;
|
|
using System.Text;
|
|
using System.IO;
|
|
using System.Drawing;
|
|
|
|
/// <summary>
|
|
/// 職稱等級設定
|
|
/// </summary>
|
|
public partial class forms_customer_fmBpjb : Wellan.Web.UI.WUserControlBase
|
|
{
|
|
protected string _BPNUM = "";
|
|
protected string _BPPYN = "";
|
|
protected string _BPJNO = "";
|
|
protected string _BPJME = "";
|
|
private string select = "SELECT * ";
|
|
private string from = " FROM BPJB ";
|
|
private string where = " WHERE 1=1 ";
|
|
private string order = " ORDER BY BPPYN, BPJNO, BPCNO";
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
//if (IsPostBack)
|
|
// gvBPJB.DataBind();
|
|
}
|
|
|
|
protected override void OnInit(EventArgs e)
|
|
{
|
|
base.OnInit(e);
|
|
dsBPJBForm.ConnectionString = ConnectionString;
|
|
dsBPJBGrid.ConnectionString = ConnectionString;
|
|
|
|
_BPNUM = GetStringParam("BPNUM");
|
|
_BPPYN = GetStringParam("BPPYN");
|
|
_BPJNO = GetStringParam("BPJNO");
|
|
_BPJME = GetStringParam("BPJME");
|
|
|
|
GetGridViewRowColor(gvBPJB);
|
|
|
|
Search();
|
|
}
|
|
|
|
// 查詢動作
|
|
private new void Search()
|
|
{
|
|
StringBuilder sql = new StringBuilder();
|
|
sql.Append(select);
|
|
sql.Append(from);
|
|
sql.Append(where);
|
|
dsBPJBGrid.SelectParameters.Clear();
|
|
AddSearch(sql, dsBPJBGrid, "BPPYN", _BPPYN, "", true);
|
|
AddSearch(sql, dsBPJBGrid, "BPJNO", _BPJNO, "", true);
|
|
sql.Append(order);
|
|
dsBPJBGrid.SelectCommand = sql.ToString();
|
|
}
|
|
|
|
private new void CalcFields(SqlDataSourceCommandEventArgs e)
|
|
{
|
|
if (e.Command.Parameters["@BPSRM"].Value == null || e.Command.Parameters["@BPSRM"].Value.ToString() == "")
|
|
e.Command.Parameters["@BPSRM"].Value = 0;
|
|
if (e.Command.Parameters["@BPSRD"].Value == null || e.Command.Parameters["@BPSRD"].Value.ToString() == "")
|
|
e.Command.Parameters["@BPSRD"].Value = 0;
|
|
if (e.Command.Parameters["@BPP01"].Value == null || e.Command.Parameters["@BPP01"].Value.ToString() == "")
|
|
e.Command.Parameters["@BPP01"].Value = 0;
|
|
if (e.Command.Parameters["@BPP03"].Value == null || e.Command.Parameters["@BPP03"].Value.ToString() == "")
|
|
e.Command.Parameters["@BPP03"].Value = 0;
|
|
if (e.Command.Parameters["@BPP04"].Value == null || e.Command.Parameters["@BPP04"].Value.ToString() == "")
|
|
e.Command.Parameters["@BPP04"].Value = 0;
|
|
if (e.Command.Parameters["@BPP05"].Value == null || e.Command.Parameters["@BPP05"].Value.ToString() == "")
|
|
e.Command.Parameters["@BPP05"].Value = 0;
|
|
|
|
// 伙食費固定為 1800
|
|
// e.Command.Parameters["@BPP02"].Value = 1800;
|
|
}
|
|
|
|
protected void dsBPJBForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
|
{
|
|
CalcFields(e);
|
|
e.Command.Parameters["@BPPYN"].Value = _BPPYN;
|
|
e.Command.Parameters["@BPJNO"].Value = _BPJNO;
|
|
e.Command.Parameters["@BPCNO"].Value = WGuard1.WNextRen(DateTime.UtcNow.AddHours(8), "BPJB", "BPCNO", "<ZZ>", String.Format(" BPPYN='{0}' AND BPJNO='{1}'", _BPPYN, _BPJNO));
|
|
}
|
|
|
|
protected void dsBPJBForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
|
|
{
|
|
CalcFields(e);
|
|
}
|
|
|
|
protected void gvBPJB_DataBound(object sender, EventArgs e)
|
|
{
|
|
GridView_DataBound(sender, e);
|
|
if (gvBPJB.Rows.Count > 0)
|
|
{
|
|
if (gvBPJB.SelectedIndex == -1)
|
|
gvBPJB.SelectedIndex = 0;
|
|
fvBPJB.DataBind();
|
|
}
|
|
}
|
|
|
|
protected void gvBPJB_PageIndexChanged(object sender, EventArgs e)
|
|
{
|
|
Search();
|
|
gvBPJB.SelectedIndex = 0;
|
|
gvBPJB.DataBind();
|
|
}
|
|
|
|
protected void dsBPJBGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
|
{
|
|
if (e.AffectedRows == 0)
|
|
{
|
|
fvBPJB.ChangeMode(FormViewMode.Insert);
|
|
fvBPJB_ModeChanged(sender, e);
|
|
}
|
|
}
|
|
|
|
protected void fvBPJB_ItemCommand(object sender, FormViewCommandEventArgs e)
|
|
{
|
|
switch (e.CommandName)
|
|
{
|
|
case "Insert":
|
|
break;
|
|
case "Edit":
|
|
break;
|
|
case "Cancel":
|
|
Search();
|
|
fvBPJB.ChangeMode(FormViewMode.ReadOnly);
|
|
fvBPJB_ModeChanged(sender, e);
|
|
if (gvBPJB.Rows.Count == 0)
|
|
DoAfterCommand("BPJA");
|
|
break;
|
|
case "Return":
|
|
DoAfterCommand("BPJA");
|
|
break;
|
|
}
|
|
}
|
|
|
|
protected void fvBPJB_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
|
{
|
|
Search();
|
|
gvBPJB.DataBind();
|
|
if (gvBPJB.SelectedIndex > gvBPJB.Rows.Count - 1)
|
|
{
|
|
gvBPJB.SelectedIndex = gvBPJB.Rows.Count - 1;
|
|
gvBPJB.DataBind();
|
|
}
|
|
fvBPJB.DataBind();
|
|
}
|
|
|
|
protected void fvBPJB_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
|
{
|
|
Search();
|
|
}
|
|
|
|
protected void fvBPJB_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
|
{
|
|
Search();
|
|
}
|
|
|
|
protected void fvBPJB_ModeChanged(object sender, EventArgs e)
|
|
{
|
|
switch (fvBPJB.CurrentMode)
|
|
{
|
|
case FormViewMode.ReadOnly:
|
|
gvBPJB.Visible = true;
|
|
gvBPJB.DataBind();
|
|
if (gvBPJB.Rows.Count > 0)
|
|
{
|
|
if (gvBPJB.SelectedIndex == -1)
|
|
{
|
|
gvBPJB.SelectedIndex = 0;
|
|
}
|
|
|
|
if (OldMode == FormViewMode.Insert)
|
|
{
|
|
gvBPJB.PageIndex = gvBPJB.PageCount - 1;
|
|
gvBPJB.DataBind();
|
|
gvBPJB.SelectedIndex = gvBPJB.Rows.Count - 1;
|
|
}
|
|
gvBPJB.DataBind();
|
|
fvBPJB.DataBind();
|
|
}
|
|
break;
|
|
|
|
case FormViewMode.Edit:
|
|
gvBPJB.Visible = false;
|
|
break;
|
|
|
|
case FormViewMode.Insert:
|
|
gvBPJB.Visible = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
protected void fvBPJB_ModeChanging(object sender, FormViewModeEventArgs e)
|
|
{
|
|
OldMode = (sender as FormView).CurrentMode;
|
|
}
|
|
|
|
protected void fvBPJB_DataBound(object sender, EventArgs e)
|
|
{
|
|
switch (fvBPJB.CurrentMode)
|
|
{
|
|
case FormViewMode.Edit:
|
|
SetClientFocus(fvBPJB, "txtBPJB_BPCME");
|
|
break;
|
|
case FormViewMode.Insert:
|
|
(fvBPJB.FindControl("txtBPJB_BPSRM") as ITextControl).Text = "0";
|
|
(fvBPJB.FindControl("txtBPJB_BPSRD") as ITextControl).Text = "0";
|
|
(fvBPJB.FindControl("txtBPJB_BPP01") as ITextControl).Text = "0";
|
|
(fvBPJB.FindControl("txtBPJB_BPP02") as ITextControl).Text = "0";
|
|
(fvBPJB.FindControl("txtBPJB_BPP03") as ITextControl).Text = "0";
|
|
(fvBPJB.FindControl("txtBPJB_BPP04") as ITextControl).Text = "0";
|
|
(fvBPJB.FindControl("txtBPJB_BPP05") as ITextControl).Text = "0";
|
|
SetClientFocus(fvBPJB, "txtBPJB_BPCME");
|
|
break;
|
|
}
|
|
}
|
|
|
|
protected void fvBPJB_ItemCreated(object sender, EventArgs e)
|
|
{
|
|
switch (fvBPJB.CurrentMode)
|
|
{
|
|
case FormViewMode.Insert:
|
|
(fvBPJB.FindControl("lbBPJB_BPPYN") as ITextControl).Text = _BPPYN;
|
|
(fvBPJB.FindControl("lbBPJB_BPNUM") as ITextControl).Text = _BPNUM;
|
|
break;
|
|
}
|
|
}
|
|
|
|
protected void gvBPJB_RowDataBound(object sender, GridViewRowEventArgs e)
|
|
{
|
|
SetGridViewMouseBehavier(gvBPJB, e.Row);
|
|
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
|
}
|
|
|
|
protected void gvBPJB_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
foreach (GridViewRow row in gvBPJB.Rows)
|
|
SetGridViewMouseBehavier(gvBPJB, row);
|
|
}
|
|
|
|
protected void fvBPJB_ItemDeleting(object sender, FormViewDeleteEventArgs e)
|
|
{
|
|
// 刪除前檢查
|
|
// 是否有派遣人員使用此職稱
|
|
DbCommand cmd1 = Query.NewCommand("SELECT COUNT(1) FROM RASN WHERE RAPYN=@BPPYN AND RAJNO=@BPJNO AND RACNO=@BPCNO");
|
|
cmd1.Parameters.Add(Query.NewParameter("BPPYN", e.Values["BPPYN"]));
|
|
cmd1.Parameters.Add(Query.NewParameter("BPJNO", e.Values["BPJNO"]));
|
|
cmd1.Parameters.Add(Query.NewParameter("BPCNO", e.Values["BPCNO"]));
|
|
int i = Convert.ToInt32(Query.ExecuteScalar(cmd1));
|
|
cmd1.Dispose();
|
|
if (i > 0)
|
|
{
|
|
cvMessage.ErrorMessage = "本職稱等級已有派遣人員使用。不可刪除!";
|
|
cvMessage.IsValid = false;
|
|
e.Cancel = true;
|
|
}
|
|
}
|
|
|
|
protected void cvBPSRM_ServerValidate(object source, ServerValidateEventArgs args)
|
|
{
|
|
int i;
|
|
args.IsValid = args.Value != "" && Int32.TryParse(args.Value, out i) && i >= 0 && i <= 999999;
|
|
}
|
|
}
|