chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,283 @@
|
||||
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;
|
||||
|
||||
/// <summary>
|
||||
/// 加班匯總輸入
|
||||
/// </summary>
|
||||
public partial class forms_worker_fmRowk : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected string _ROPYN = "";
|
||||
private string _ROENO = "";
|
||||
private string _ROYMM = "";
|
||||
private int _YY = 0;
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
_ROENO = ViewState["ROENO"] != null ? ViewState["ROENO"].ToString() : "";
|
||||
_ROYMM = ViewState["ROYMM"] != null ? ViewState["ROYMM"].ToString() : "";
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsROWKForm.ConnectionString = ConnectionString;
|
||||
dsROWKGrid.ConnectionString = ConnectionString;
|
||||
|
||||
SELECT_SQL = @"SELECT TRDAT, TRMOD, TRUSR, ROENO, ROYMM, ROPYN,
|
||||
ROT01 / 60 AS ROT01, ROT02 / 60 AS ROT02, ROT03 / 60 AS ROT03, ROT04 / 60 AS ROT04, ROT05 / 60 AS ROT05,
|
||||
ROA01, ROA02, ROA03, ROA05, APPNO ";
|
||||
FROM_SQL = " FROM ROWK ";
|
||||
WHERE_SQL = " WHERE 1=1 ";
|
||||
ORDER_SQL = " ORDER BY ROYMM, ROENO";
|
||||
|
||||
this.Form_View = fvROWK;
|
||||
this.Grid_View = gvROWK;
|
||||
this.FormView_DataSource = dsROWKForm;
|
||||
this.GridView_DataSource = dsROWKGrid;
|
||||
this.Multi_View = MultiView1;
|
||||
|
||||
if (ForwardSource != "")
|
||||
_ROPYN = GetStringParam("ROPYN");
|
||||
_YY = GetIntParam("YY");
|
||||
|
||||
if (_YY > 0)
|
||||
{
|
||||
txtYY.Text = _YY.ToString();
|
||||
ddlROPYN.DataSource = new BpaaDAC().GetBpaaWithTY(_YY + WGuard1.CY11);
|
||||
ddlROPYN.DataBind();
|
||||
ListItem item = ddlROPYN.Items.FindByValue(_ROPYN);
|
||||
if (item != null)
|
||||
item.Selected = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
txtYY.Focus();
|
||||
}
|
||||
|
||||
MultiView1.Visible = _ROPYN != "";
|
||||
|
||||
GetGridViewRowColor(gvROWK);
|
||||
|
||||
switch (MultiView1.ActiveViewIndex)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
Search();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 查詢按鈕
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
ViewState["ROENO"] = txtROENO.Text;
|
||||
ViewState["ROYMM"] = txtROYMM.Text;
|
||||
|
||||
_ROENO = txtROENO.Text;
|
||||
_ROYMM = txtROYMM.Text;
|
||||
|
||||
if (_ROENO.Length == 0 &&
|
||||
_ROYMM.Length == 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = GetString("NOSRHCOND");
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
|
||||
Search();
|
||||
|
||||
gvROWK.PageIndex = 0;
|
||||
gvROWK.SelectedIndex = 0;
|
||||
gvROWK.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
// 取消查詢按鈕
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
}
|
||||
|
||||
protected void btnInsert_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
protected override void Search()
|
||||
{
|
||||
base.Search();
|
||||
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(SELECT_SQL);
|
||||
sql.Append(FROM_SQL);
|
||||
sql.Append(WHERE_SQL);
|
||||
dsROWKGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsROWKGrid, "ROPYN", _ROPYN, "", true);
|
||||
AddSearch(sql, dsROWKGrid, "ROENO", _ROENO, "", true);
|
||||
DateTime aYYMM;
|
||||
if (CheckDate(_ROYMM + "01", out aYYMM))
|
||||
AddSearch(sql, dsROWKGrid, "ROYMM", aYYMM.ToString(WGuard1.InvariantCulture), "", false);
|
||||
sql.Append(ORDER_SQL);
|
||||
dsROWKGrid.SelectCommand = sql.ToString();
|
||||
dsROWKForm.SelectCommand = SELECT_SQL + FROM_SQL + " WHERE ROENO=@ROENO AND ROYMM=@ROYMM ";
|
||||
}
|
||||
|
||||
protected void cvROENO_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
BPSN_DAC bpsn = new BPSN_DAC(WConfig.GetConnectionConfig(), WConfig.GetConnectionConfigName());
|
||||
args.IsValid = args.Value != "" && bpsn.IsExist(args.Value, true);
|
||||
}
|
||||
|
||||
protected void cvROYMM_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
DateTime aYYMM;
|
||||
args.IsValid = args.Value != "" && CheckDate(args.Value + "01", out aYYMM) && aYYMM.Year == _YY + WGuard1.CY11;
|
||||
}
|
||||
|
||||
protected void cvROT01_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
int i;
|
||||
args.IsValid = args.Value != "" && Int32.TryParse(args.Value, out i) && i >= 0;
|
||||
}
|
||||
|
||||
protected override void FormView_InsertDataBound(object sender, EventArgs e)
|
||||
{
|
||||
base.FormView_InsertDataBound(sender, e);
|
||||
|
||||
if (_ROPYN == "000000001")
|
||||
RegisterLookupEvent(fvROWK, "btnROWK_ROENO_WQRY", "txtROWK_ROENO", "txtROWK_ROENO,lbROWK_ROENOX", "BPSN1", "NOT EXISTS (SELECT RANUM FROM RASN WHERE RANUM=BPENO AND RAEDT IS NULL)");
|
||||
else
|
||||
RegisterLookupEvent(fvROWK, "btnROWK_ROENO_WQRY", "txtROWK_ROENO", "txtROWK_ROENO,lbROWK_ROENOX", "BPSN1", "BPENO IN (SELECT RANUM FROM RASN WHERE RAPYN='" + _ROPYN + "')");
|
||||
(fvROWK.FindControl("txtROWK_ROYMM") as ITextControl).Text = DateTime.UtcNow.AddHours(8).ToString("yyyyMM");
|
||||
(fvROWK.FindControl("txtROWK_ROT01") as ITextControl).Text = "0";
|
||||
(fvROWK.FindControl("txtROWK_ROT02") as ITextControl).Text = "0";
|
||||
(fvROWK.FindControl("txtROWK_ROT03") as ITextControl).Text = "0";
|
||||
(fvROWK.FindControl("txtROWK_ROT04") as ITextControl).Text = "0";
|
||||
(fvROWK.FindControl("txtROWK_ROT05") as ITextControl).Text = "0";
|
||||
SetClientFocus(fvROWK, "txtROWK_ROENO");
|
||||
}
|
||||
|
||||
protected override void FormView_EditDataBound(object sender, EventArgs e)
|
||||
{
|
||||
base.FormView_EditDataBound(sender, e);
|
||||
|
||||
if (_ROPYN == "000000001")
|
||||
RegisterLookupEvent(fvROWK, "btnROWK_ROENO_WQRY", "txtROWK_ROENO", "txtROWK_ROENO,lbROWK_ROENOX", "BPSN1", "NOT EXISTS (SELECT RANUM FROM RASN WHERE RANUM=BPENO AND RAEDT IS NULL)");
|
||||
else
|
||||
RegisterLookupEvent(fvROWK, "btnROWK_ROENO_WQRY", "txtROWK_ROENO", "txtROWK_ROENO,lbROWK_ROENOX", "BPSN1", "BPENO IN (SELECT RANUM FROM RASN WHERE RAPYN='" + _ROPYN + "')");
|
||||
SetClientFocus(fvROWK, "txtROWK_ROENO");
|
||||
}
|
||||
|
||||
protected override void FormView_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
base.FormView_ItemCommand(sender, e);
|
||||
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "Search":
|
||||
SetClientFocus(txtROENO);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected override void CalcFields(SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
base.CalcFields(e);
|
||||
|
||||
// 由日期 + 人員,取得時薪、前二加班、後二加班、假日加班比例
|
||||
DateTime aYYMM;
|
||||
CheckDate(e.Command.Parameters["@ROYMM"].Value.ToString() + "01", out aYYMM);
|
||||
e.Command.Parameters["@ROYMM"].Value = aYYMM;
|
||||
|
||||
string roeno = e.Command.Parameters["@ROENO"].Value.ToString();
|
||||
|
||||
int bpsrm;
|
||||
int bpp02;
|
||||
double bpbft;
|
||||
double bpaft;
|
||||
double bphol;
|
||||
string bpovr;
|
||||
string bplve;
|
||||
string bpott;
|
||||
|
||||
GetData gd = new GetData();
|
||||
gd.Query = Query;
|
||||
gd.GetRASN_DateRange_Bppyn_Bpeno_Overwork_Rate(aYYMM, aYYMM.AddMonths(1).AddDays(-1), _ROPYN, roeno,
|
||||
out bpsrm, out bpp02, out bpbft, out bpaft, out bphol, out bpovr, out bplve, out bpott);
|
||||
|
||||
// 計算加班費
|
||||
e.Command.Parameters["@ROA01"].Value = ExtraWork.CalculateOverTimeInt(bpsrm, bpp02, Convert.ToInt32(e.Command.Parameters["@ROT01"].Value) * 60, bpbft, bpovr, bpott);
|
||||
e.Command.Parameters["@ROA02"].Value = ExtraWork.CalculateOverTimeInt(bpsrm, bpp02, Convert.ToInt32(e.Command.Parameters["@ROT02"].Value) * 60, bpaft, bpovr, bpott);
|
||||
e.Command.Parameters["@ROA03"].Value = ExtraWork.CalculateOverTimeInt(bpsrm, bpp02, Convert.ToInt32(e.Command.Parameters["@ROT03"].Value) * 60, bphol, bpovr, bpott);
|
||||
e.Command.Parameters["@ROA05"].Value = ExtraWork.CalculateOverTimeInt(bpsrm, bpp02, Convert.ToInt32(e.Command.Parameters["@ROT05"].Value) * 60, bpaft + 1, bpovr, bpott);
|
||||
}
|
||||
|
||||
protected override void FormView_ItemInserting(object sender, FormViewInsertEventArgs e)
|
||||
{
|
||||
base.FormView_ItemInserting(sender, e);
|
||||
}
|
||||
|
||||
protected override void FormView_DataSource_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
e.Command.Parameters["@ROPYN"].Value = _ROPYN;
|
||||
base.FormView_DataSource_Inserting(sender, e);
|
||||
}
|
||||
|
||||
protected void Next_Click(object sender, EventArgs e)
|
||||
{
|
||||
ParamList["ROPYN"] = ddlROPYN.SelectedValue;
|
||||
DoAfterCommand("ROWK");
|
||||
}
|
||||
|
||||
protected override void GridView_DataSource_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
base.GridView_DataSource_Selected(sender, e);
|
||||
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
if (MultiView1.ActiveViewIndex != 0)
|
||||
{
|
||||
gvROWK.Visible = false;
|
||||
fvROWK.ChangeMode(FormViewMode.Insert);
|
||||
FormView_ModeChanged(sender, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnYY_Click(object sender, EventArgs e)
|
||||
{
|
||||
int year;
|
||||
if (!Int32.TryParse(txtYY.Text.Trim(), out year))
|
||||
{
|
||||
cvMessage.IsValid = false;
|
||||
cvMessage.ErrorMessage = "請輸入正確的年度";
|
||||
return;
|
||||
}
|
||||
|
||||
MultiView1.Visible = false;
|
||||
ParamList["YY"] = year;
|
||||
ParamList["ROPYN"] = "";
|
||||
DoAfterCommand("ROWK");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user