chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1 @@
|
||||
<%@ WebService Language="C#" CodeBehind="~/App_Code/GetDataService.cs" Class="GetDataService" %>
|
||||
@@ -0,0 +1,50 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UNBPSNP.ascx.cs" Inherits="forms_BPSN_UNBPSNP" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI" TagPrefix="cc1" %>
|
||||
|
||||
<script type="text/javascript">
|
||||
function ClearForm()
|
||||
{
|
||||
document.getElementById("UNBPSNP$txtOldPassword").value = "";
|
||||
document.getElementById("UNBPSNP$txtNewPassword").value = "";
|
||||
document.getElementById("UNBPSNP$txtConfirmNewPassword").value = "";
|
||||
document.getElementById("UNBPSNP$txtOldPassword").focus();
|
||||
}
|
||||
</script>
|
||||
|
||||
<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">
|
||||
<asp:View ID="View1" runat="server">
|
||||
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"
|
||||
TextMessageId="UNBPSNP.NAME">使用者變更密碼</cc1:WLabel><br />
|
||||
<table border="0" cellpadding="3" cellspacing="0">
|
||||
<tr>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="WLabel2" runat="server" CssClass="controlLabel" TextMessageId="BPSN.OLDPASS+:">舊密碼:</cc1:WLabel>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtOldPassword" runat="server" TextMode="Password"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="WLabel3" runat="server" CssClass="controlLabel" TextMessageId="BPSN.NEWPASS+:">新密碼:</cc1:WLabel>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtNewPassword" runat="server" TextMode="Password"></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="WLabel4" runat="server" CssClass="controlLabel" TextMessageId="BPSN.CONFNEWPASS+:">確認新密碼:</cc1:WLabel>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtConfirmNewPassword" runat="server" TextMode="Password"></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
<cc1:WButton ID="btnOK" runat="server" CssClass="button" Text="確定" TextMessageId="OK" OnClick="btnOK_Click" />
|
||||
<cc1:WButton ID="btnClear" runat="server" CssClass="button" Text="清除" TextMessageId="CLEAR" OnClientClick="javascript:ClearForm(); return false;" /><br />
|
||||
<br />
|
||||
<cc1:WLabel ID="lbErrMsg" runat="server" CssClass="errorLabel" TextMessageId="" Visible="False"></cc1:WLabel>
|
||||
</asp:View>
|
||||
<asp:View ID="View2" runat="server">
|
||||
<cc1:WLabel ID="WLabel5" runat="server" Font-Size="12pt" ForeColor="Blue" TextMessageId="BPSN.PASSCHGOK"></cc1:WLabel>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
@@ -0,0 +1,133 @@
|
||||
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 Wellan.Data;
|
||||
using Wellan.Common;
|
||||
using System.Data.Common;
|
||||
|
||||
/// <summary>
|
||||
/// 使用者變更密碼
|
||||
/// </summary>
|
||||
public partial class forms_BPSN_UNBPSNP : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
SetClientFocus(txtOldPassword);
|
||||
}
|
||||
|
||||
protected void btnOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
lbErrMsg.Text = "";
|
||||
|
||||
if (txtNewPassword.Text == "")
|
||||
{
|
||||
lbErrMsg.Text = GetString("BPSN.NEWEMPTY");
|
||||
}
|
||||
else if (txtConfirmNewPassword.Text == "")
|
||||
{
|
||||
lbErrMsg.Text = GetString("BPSN.CONFEMPTY");
|
||||
}
|
||||
else if (txtNewPassword.Text != txtConfirmNewPassword.Text)
|
||||
{
|
||||
lbErrMsg.Text = GetString("BPSN.NEWDIFFER");
|
||||
}
|
||||
lbErrMsg.Visible = lbErrMsg.Text != "";
|
||||
if (lbErrMsg.Visible)
|
||||
return;
|
||||
|
||||
// 驗證舊密碼是否正確
|
||||
WQuery query = new WQuery(ConnectionType, ConnectionString);
|
||||
|
||||
DataTable ds;
|
||||
if (!UserId.ToUpper().StartsWith("Z"))
|
||||
ds = query.Select("SELECT BPAWD FROM BPSNView WHERE BPENO='" + UserId + "'");
|
||||
else
|
||||
ds = query.Select("SELECT BPPWD AS BPAWD FROM BPAP WHERE BPENO='" + UserId + "'");
|
||||
|
||||
string bpawd = ds.Rows[0]["BPAWD"].ToString();
|
||||
|
||||
if (bpawd == "\u007f\u007f\u007f\u007f")
|
||||
bpawd = "";
|
||||
else
|
||||
bpawd = WGuard1.KeyDec(bpawd);
|
||||
|
||||
if (txtOldPassword.Text != bpawd)
|
||||
{
|
||||
lbErrMsg.Text = GetString("BPSN.OLDERR");
|
||||
lbErrMsg.Visible = true;
|
||||
return;
|
||||
}
|
||||
|
||||
// 驗證新密碼是否合乎格式
|
||||
string newPass = WGuard1.KeyEnc(txtNewPassword.Text);
|
||||
if (WGuard1.KeyDec(newPass) != txtNewPassword.Text)
|
||||
{
|
||||
lbErrMsg.Text = GetString("BPSN.NEWERR");
|
||||
lbErrMsg.Visible = true;
|
||||
return;
|
||||
}
|
||||
|
||||
// 寫入新密碼
|
||||
DbCommand cmd = query.NewCommand();
|
||||
DbConnection conn = query.NewConnection();
|
||||
cmd.Connection = conn;
|
||||
if (!UserId.ToUpper().StartsWith("Z"))
|
||||
{
|
||||
cmd.CommandText = "UPDATE BPSN SET BPAWD=@BPAWD,TRDAT=GETDATE(), TRMOD='UPDATE', TRUSR=@TRUSR WHERE BPENO=@BPENO";
|
||||
}
|
||||
else
|
||||
{
|
||||
cmd.CommandText = "UPDATE BPAP SET BPPWD=@BPAWD,TRDAT=GETDATE(), TRMOD='UPDATE', TRUSR=@TRUSR WHERE BPENO=@BPENO";
|
||||
}
|
||||
cmd.Parameters.Add(query.NewParameter("@BPAWD", newPass));
|
||||
cmd.Parameters.Add(query.NewParameter("@TRUSR", UserId));
|
||||
cmd.Parameters.Add(query.NewParameter("@BPENO", UserId));
|
||||
|
||||
conn.Open();
|
||||
DbTransaction tran = conn.BeginTransaction();
|
||||
cmd.Transaction = tran;
|
||||
try
|
||||
{
|
||||
int i = cmd.ExecuteNonQuery();
|
||||
|
||||
if (i == 1)
|
||||
{
|
||||
tran.Commit();
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
Session["NOPASSWORD"] = "FALSE";
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
tran.Rollback();
|
||||
lbErrMsg.Text = GetString("BPSN.NEWERR");
|
||||
lbErrMsg.Visible = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
tran.Rollback();
|
||||
lbErrMsg.Text = GetString("BPSN.NEWERR");
|
||||
lbErrMsg.Visible = true;
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
cmd.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmBonus.ascx.cs" Inherits="forms_worker_fmBonus" %>
|
||||
<%@ Register Src="ucBonusInput.ascx" TagName="ucBonusInput"
|
||||
TagPrefix="uc1" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"
|
||||
TextMessageId="FMBONUS.NAME"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage" runat="server"
|
||||
Display="None"></asp:CustomValidator>
|
||||
<asp:SqlDataSource ID="dsSSMS_SSENO" runat="server"
|
||||
ProviderName="System.Data.SqlClient">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="RSPYN" />
|
||||
<asp:Parameter Name="YYMM1" />
|
||||
<asp:Parameter Name="YYMM2" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<table border="0" cellpadding="2" cellspacing="2">
|
||||
<tr>
|
||||
<td colspan="1" style="width: 100px; height: 0px"></td>
|
||||
<td colspan="1" style="height: 0px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBPIDN" runat="server" TextMessageId="">年月:</cc1:WLabel>
|
||||
</td>
|
||||
<td nowrap="nowrap">
|
||||
<asp:TextBox ID="txtYYMM" runat="server"
|
||||
Columns="6" CssClass="textInput1" MaxLength="6"></asp:TextBox>
|
||||
<cc1:WButton ID="btnRSYMM" runat="server"
|
||||
AccessKey="Y" CssClass="button" Text="Y.確定"
|
||||
OnClick="btnSSMS_Click"></cc1:WButton></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="WLabel3" runat="server" TextMessageId="">專案:</cc1:WLabel></td>
|
||||
<td nowrap="nowrap">
|
||||
<cc1:WDropDownList ID="ddlSSPYN" runat="server"
|
||||
CssClass="textInput1" DataTextField="BPPYM"
|
||||
DataValueField="BPPYN" Width="500px" Height="23px">
|
||||
</cc1:WDropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="WLabel2" runat="server" TextMessageId="">發放次數:</cc1:WLabel></td>
|
||||
<td nowrap="nowrap">
|
||||
<asp:DropDownList ID="ddlBonusTimes" runat="server">
|
||||
<asp:ListItem>1</asp:ListItem>
|
||||
<asp:ListItem>2</asp:ListItem>
|
||||
<asp:ListItem>3</asp:ListItem>
|
||||
<asp:ListItem>4</asp:ListItem>
|
||||
<asp:ListItem>5</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<cc1:WLabel ID="WLabel6" runat="server" TextMessageId="">(本月份第幾次發獎金)</cc1:WLabel></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="WLabel4" runat="server" TextMessageId="">稅率:</cc1:WLabel></td>
|
||||
<td nowrap="nowrap">
|
||||
<asp:TextBox ID="txtTaxRate" runat="server"
|
||||
Columns="8" CssClass="textInput1" MaxLength="8" ValidationGroup="1"></asp:TextBox>
|
||||
<cc1:WLabel ID="WLabel5" runat="server" TextMessageId="">(例:0.06)</cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvTaxRate" runat="server"
|
||||
ControlToValidate="txtTaxRate" Display="Dynamic" OnServerValidate="cvTaxRate_ServerValidate" ValidateEmptyText="True" ValidationGroup="1"></asp:CustomValidator>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="WLabel8" runat="server" TextMessageId="">獎金稅額起點:</cc1:WLabel></td>
|
||||
<td nowrap="nowrap">
|
||||
<asp:TextBox ID="txtTaxBegin" runat="server"
|
||||
Columns="8" CssClass="textInput1" MaxLength="8" ValidationGroup="1"></asp:TextBox>
|
||||
<asp:CustomValidator ID="cvTxtTaxBegin" runat="server"
|
||||
ControlToValidate="txtTaxBegin" Display="Dynamic" OnServerValidate="cvTxtTaxBegin_ServerValidate" ValidateEmptyText="True" ValidationGroup="1"></asp:CustomValidator>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right; height: 23px;"></td>
|
||||
<td nowrap="nowrap" style="height: 23px">
|
||||
<cc1:WButton ID="Next" runat="server" AccessKey="J"
|
||||
CssClass="button" OnClick="Next_Click"
|
||||
Text="J.開始輸入" ValidationGroup="1" />
|
||||
<cc1:WButton ID="btnSave" runat="server" AccessKey="S"
|
||||
CssClass="button" OnClick="btnSave_Click"
|
||||
Text="S.儲存" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
<asp:DataList ID="DataList1" runat="server"
|
||||
DataSourceID="dsSSMS_SSENO">
|
||||
<HeaderTemplate>
|
||||
<uc1:ucBonusInput ID="UcBonusInput1" runat="server" IsHeader="true" />
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<uc1:ucBonusInput ID="UcBonusInput1" runat="server" IsHeader="false"
|
||||
Sseno='<%# Bind("BPENO") %>' Sspyn='<%# _SSPYN %>'
|
||||
SsenoName='<%# Bind("BPNME") %>' Yymm='<%# _YYMM.ToString("yyyy/MM/dd") %>'
|
||||
TaxRate='<%# txtTaxRate.Text %>'
|
||||
BonusTimes='<%# ddlBonusTimes.SelectedValue %>' />
|
||||
</ItemTemplate>
|
||||
<ItemStyle BackColor="#EFF3FB" />
|
||||
<AlternatingItemStyle BackColor="White" />
|
||||
</asp:DataList>
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
function ClearInputs(index)
|
||||
{
|
||||
if (index == 999)
|
||||
{
|
||||
for (i = 0; i < RSP13Ids.length; i++)
|
||||
{
|
||||
ClearInput(i);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ClearInput(index);
|
||||
}
|
||||
}
|
||||
|
||||
function ClearInput(index)
|
||||
{
|
||||
var SSP13 = document.getElementById(SSP13Ids[index]);
|
||||
var SSC07 = document.getElementById(SSC07Ids[index]);
|
||||
SSP13.value = "";
|
||||
SSC07.value = "";
|
||||
}
|
||||
-->
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,266 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Configuration;
|
||||
using System.Collections;
|
||||
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.Data.Common;
|
||||
using Wellan.Data;
|
||||
using Wellan.Common;
|
||||
using System.Text;
|
||||
using System.IO;
|
||||
using System.Drawing;
|
||||
|
||||
/// <summary>
|
||||
/// 獎金發放作業
|
||||
/// </summary>
|
||||
public partial class forms_worker_fmBonus : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected DateTime _YYMM;
|
||||
protected string _SSENO = "";
|
||||
protected string _SSPYN = "";
|
||||
protected int _BonusTimes = 0;
|
||||
|
||||
private List<forms_worker_ucBonusInput> inputCtrls = new List<forms_worker_ucBonusInput>();
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
_SSENO = GetStringViewState("RSENO");
|
||||
_SSPYN = GetStringViewState("RSPYN");
|
||||
_YYMM = GetDateTimeViewState("YYMM");
|
||||
_BonusTimes = GetIntViewState("BonusTimes");
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
// 讀取稅額起點
|
||||
txtTaxBegin.Text = WGuard1.WSetR(Query, "UNBONUSTAXFREE", 1);
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsSSMS_SSENO.ConnectionString = ConnectionString;
|
||||
dsSSMS_SSENO.SelectCommand =
|
||||
@"IF @RSPYN<> '000000001'
|
||||
BEGIN
|
||||
SELECT DISTINCT A.BPENO, A.BPNME
|
||||
FROM BPSNView A INNER JOIN RASN B ON A.BPENO = B.RANUM
|
||||
WHERE B.RAPYN = @RSPYN
|
||||
ORDER BY A.BPENO
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT DISTINCT BPENO, BPNME, BPSDY, BPEDY FROM BPSNView
|
||||
WHERE((BPSDY <= @YYMM1 AND BPEDY >= @YYMM2)
|
||||
OR(BPSDY <= @YYMM1 AND BPEDY IS NULL)
|
||||
OR(BPSDY <= @YYMM1 AND BPEDY >= @YYMM1 AND BPEDY <= @YYMM2)
|
||||
OR(BPSDY >= @YYMM1 AND BPSDY <= @YYMM2 AND BPEDY >= @YYMM2)
|
||||
OR(BPSDY >= @YYMM1 AND BPSDY <= @YYMM2 AND BPEDY IS NULL)
|
||||
OR(BPSDY >= @YYMM1 AND BPSDY <= @YYMM2 AND BPEDY >= @YYMM1 AND BPEDY <= @YYMM2))
|
||||
AND BPENO NOT IN
|
||||
(SELECT RANUM FROM RASN
|
||||
WHERE ((RASDT <= @YYMM1 AND RAEDT >= @YYMM2)
|
||||
OR(RASDT <= @YYMM1 AND RAEDT IS NULL)
|
||||
OR(RASDT <= @YYMM1 AND RAEDT >= @YYMM1 AND RAEDT <= @YYMM2)
|
||||
OR(RASDT >= @YYMM1 AND RASDT <= @YYMM2 AND RAEDT >= @YYMM2)
|
||||
OR(RASDT >= @YYMM1 AND RASDT <= @YYMM2 AND RAEDT IS NULL)
|
||||
OR(RASDT >= @YYMM1 AND RASDT <= @YYMM2 AND RAEDT >= @YYMM1 AND RAEDT <= @YYMM2)))
|
||||
ORDER BY BPENO
|
||||
END";
|
||||
|
||||
ListItem item = ddlSSPYN.Items.FindByValue(_SSPYN);
|
||||
if (item != null)
|
||||
item.Selected = true;
|
||||
|
||||
GetRsenoDropDownData();
|
||||
}
|
||||
|
||||
private void GetRsenoDropDownData()
|
||||
{
|
||||
if (_YYMM.Ticks != 0)
|
||||
{
|
||||
dsSSMS_SSENO.SelectParameters["RSPYN"].DefaultValue = _SSPYN;
|
||||
dsSSMS_SSENO.SelectParameters["YYMM1"].DefaultValue = WGuard1.GetMonthBegin(_YYMM, -1).ToString("yyyy/MM/dd", WGuard1.InvariantCulture); // 上個月月初日
|
||||
dsSSMS_SSENO.SelectParameters["YYMM2"].DefaultValue = WGuard1.GetMonthEnd(_YYMM, 1).ToString("yyyy/MM/dd", WGuard1.InvariantCulture); // 本月月底日
|
||||
}
|
||||
}
|
||||
|
||||
protected new bool CheckInput(System.Collections.Specialized.IOrderedDictionary values)
|
||||
{
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
|
||||
bool result = true;
|
||||
values["RSYMM"] = CheckDate(values["RSYMM"] + "01", "請輸入正確的年月", ref result, cvMessage);
|
||||
|
||||
ProcessCustomValidatorMessage(cvMessage);
|
||||
return result;
|
||||
}
|
||||
|
||||
protected void Next_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!cvTaxRate.IsValid)
|
||||
return;
|
||||
|
||||
string sspyn = ddlSSPYN.SelectedValue;
|
||||
ViewState["SSPYN"] = sspyn;
|
||||
ViewState["BonusTimes"] = Convert.ToInt32(ddlBonusTimes.SelectedValue);
|
||||
_SSPYN = sspyn;
|
||||
|
||||
// 檢查此使用者是否有權限處理這個專案
|
||||
BprmDAC bprm = new BprmDAC(Query);
|
||||
if (!bprm.GetRight(sspyn, UserId))
|
||||
{
|
||||
DataList1.Visible = false;
|
||||
cvMessage.ErrorMessage = "對不起,你沒有處理這個專案的權限!";
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
DataList1.Visible = true;
|
||||
GetRsenoDropDownData();
|
||||
DataList1.DataBind();
|
||||
|
||||
foreach (DataListItem listItem in DataList1.Items)
|
||||
{
|
||||
foreach (Control ctrl in listItem.Controls)
|
||||
{
|
||||
if (ctrl is forms_worker_ucBonusInput)
|
||||
{
|
||||
(ctrl as forms_worker_ucBonusInput).Read(Query);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
// 存檔
|
||||
// 1. 檢查各組輸入
|
||||
bool valid = true;
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
|
||||
foreach (DataListItem listItem in DataList1.Items)
|
||||
{
|
||||
foreach (Control ctrl in listItem.Controls)
|
||||
{
|
||||
if (ctrl is forms_worker_ucBonusInput)
|
||||
{
|
||||
valid &= (ctrl as forms_worker_ucBonusInput).CheckInput();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!valid)
|
||||
{
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
// 存入稅額起點
|
||||
WGuard1.WSetW(Query, "UNBONUSTAXFREE", 1, txtTaxBegin.Text, UserId);
|
||||
|
||||
DbConnection conn = Query.NewConnection(ConnectionString);
|
||||
conn.Open();
|
||||
DbTransaction tran = conn.BeginTransaction();
|
||||
try
|
||||
{
|
||||
foreach (DataListItem listItem in DataList1.Items)
|
||||
{
|
||||
foreach (Control ctrl in listItem.Controls)
|
||||
{
|
||||
if (ctrl is forms_worker_ucBonusInput)
|
||||
{
|
||||
(ctrl as forms_worker_ucBonusInput).Save(tran, Query);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tran.Commit();
|
||||
|
||||
cvMessage.ErrorMessage = "存檔完成";
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
tran.Rollback();
|
||||
cvMessage.ErrorMessage = ex.Message;
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
}
|
||||
|
||||
// 重新讀取資料
|
||||
foreach (DataListItem listItem in DataList1.Items)
|
||||
{
|
||||
foreach (Control ctrl in listItem.Controls)
|
||||
{
|
||||
if (ctrl is forms_worker_ucBonusInput)
|
||||
{
|
||||
(ctrl as forms_worker_ucBonusInput).Read(Query);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnSSMS_Click(object sender, EventArgs e)
|
||||
{
|
||||
cvMessage.IsValid = true;
|
||||
cvMessage.ErrorMessage = "";
|
||||
bool result = true;
|
||||
DateTime aYYMM = CheckDate(txtYYMM.Text + "01", "請輸入正確的年月", ref result, cvMessage);
|
||||
|
||||
if (result)
|
||||
{
|
||||
ViewState["YYMM"] = aYYMM;
|
||||
_YYMM = aYYMM;
|
||||
ddlSSPYN.DataSource = new BpaaDAC().GetBpaaWithTY(aYYMM.Year);
|
||||
ddlSSPYN.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
protected void cvTaxRate_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
if (args.Value.Trim().Length == 0)
|
||||
{
|
||||
(source as CustomValidator).ErrorMessage = "請輸入稅率";
|
||||
args.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
double result;
|
||||
if (!double.TryParse(args.Value, out result) || result < 0 || result > 1)
|
||||
{
|
||||
(source as CustomValidator).ErrorMessage = "請輸入正確的稅率 (0 至 1 之間,輸入 0.06 代表 6%)";
|
||||
args.IsValid = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
protected void cvTxtTaxBegin_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
if (args.Value.Trim().Length == 0)
|
||||
{
|
||||
(source as CustomValidator).ErrorMessage = "請輸入稅額起徵點";
|
||||
args.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
double result;
|
||||
if (!double.TryParse(args.Value, out result) || result < 0)
|
||||
{
|
||||
(source as CustomValidator).ErrorMessage = "稅額起徵點需大於或等於 0";
|
||||
args.IsValid = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,717 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmBpsl.ascx.cs" Inherits="forms_worker_fmBpsl" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<%@ Import Namespace="System.Drawing" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"
|
||||
TextMessageId="FMBPSL.NAME"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage" runat="server"
|
||||
Display="None"></asp:CustomValidator>
|
||||
<asp:MultiView ID="MultiView1" runat="server"
|
||||
ActiveViewIndex="1">
|
||||
<asp:View ID="SearchView" runat="server">
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
AccessKey="F" CssClass="button" Text="F.查詢"
|
||||
TextMessageId="F.+SEARCH" OnClick="btnSearch_Click" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
AccessKey="C" CssClass="button" Text="C.取消"
|
||||
TextMessageId="C.+CANCEL" OnClick="btnCancel_Click" />
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
AccessKey="I" CssClass="button"
|
||||
Text="I.新增" TextMessageId="I.+INSERT" Enabled='False' OnClick="btnInsert_Click" /><table>
|
||||
<tr>
|
||||
<td colspan="1" style="width: 90px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 120px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 120px; height: 0px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBPSL_BPENOLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPENO+:">人員編號:</cc1:WLabel></td>
|
||||
<td>
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="width: 100%; height: 100%">
|
||||
<tr>
|
||||
<td style="width: 100px">
|
||||
<asp:TextBox ID="txtBPSL_BPENO" runat="server"
|
||||
CssClass="textInput" MaxLength="10" EnableViewState="False"></asp:TextBox>
|
||||
</td>
|
||||
<td>
|
||||
<asp:ImageButton ID="btnBPSL_BPENO_WQRY"
|
||||
runat="server" ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPSL_BPENOX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPSN", Eval("BPENO", "{0:c}"), "BPNME", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBPNME" runat="server" TextMessageId="BPSN.BPNAM+:"></cc1:WLabel></td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtBPSL_BPNME" runat="server"
|
||||
CssClass="textInput" EnableViewState="False"></asp:TextBox></td>
|
||||
<td class="dataDisplayCell">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<cc1:WLabel ID="lbMessage" runat="server"
|
||||
EnableViewState="False" ForeColor="Red"
|
||||
TextMessageId="" Visible="False"></cc1:WLabel>
|
||||
</asp:View>
|
||||
<asp:View ID="DataView" runat="server">
|
||||
<asp:ObjectDataSource ID="dsBPSLForm" runat="server"
|
||||
DeleteMethod="Delete" InsertMethod="Insert"
|
||||
OldValuesParameterFormatString="OLD_{0}"
|
||||
SelectMethod="SelectOne" TypeName="BpslDAC"
|
||||
UpdateMethod="Update">
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_BPENO" Type="String" />
|
||||
<asp:Parameter Name="OLD_BPITM" Type="Int32" />
|
||||
<asp:Parameter Name="OLD_APPNO" Type="Int32" />
|
||||
</DeleteParameters>
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="BPENO" Type="String" />
|
||||
<asp:Parameter Name="BPITM" Type="Int32" />
|
||||
<asp:Parameter Name="BPBDT" Type="DateTime" />
|
||||
<asp:Parameter Name="BPSRM" Type="Int32" />
|
||||
<asp:Parameter Name="BPSRD" Type="Int32" />
|
||||
<asp:Parameter Name="BPP01" Type="Int32" />
|
||||
<asp:Parameter Name="BPP02" Type="Int32" />
|
||||
<asp:Parameter Name="BPP03" Type="Int32" />
|
||||
<asp:Parameter Name="BPP04" Type="Int32" />
|
||||
<asp:Parameter Name="BPP05" Type="Int32" />
|
||||
<asp:SessionParameter Name="TRUSR" SessionField="W_CUSR"
|
||||
Type="String" />
|
||||
<asp:Parameter Name="APPNO" Type="Int32" />
|
||||
<asp:Parameter Name="OLD_BPENO" Type="String" />
|
||||
<asp:Parameter Name="OLD_BPITM" Type="Int32" />
|
||||
<asp:Parameter Name="OLD_APPNO" Type="Int32" />
|
||||
</UpdateParameters>
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="gvBPSL"
|
||||
Name="BPENO" PropertyName="SelectedDataKey["BPENO"]"
|
||||
Type="String" />
|
||||
<asp:ControlParameter ControlID="gvBPSL"
|
||||
Name="BPITM" PropertyName="SelectedDataKey["BPITM"]"
|
||||
Type="Int32" />
|
||||
</SelectParameters>
|
||||
<InsertParameters>
|
||||
<asp:Parameter Name="BPENO" Type="String" />
|
||||
<asp:Parameter Name="BPITM" Type="Int32" />
|
||||
<asp:Parameter Name="BPBDT" Type="DateTime" />
|
||||
<asp:Parameter Name="BPSRM" Type="Int32" />
|
||||
<asp:Parameter Name="BPSRD" Type="Int32" />
|
||||
<asp:Parameter Name="BPP01" Type="Int32" />
|
||||
<asp:Parameter Name="BPP02" Type="Int32" />
|
||||
<asp:Parameter Name="BPP03" Type="Int32" />
|
||||
<asp:Parameter Name="BPP04" Type="Int32" />
|
||||
<asp:Parameter Name="BPP05" Type="Int32" />
|
||||
<asp:SessionParameter Name="TRUSR" SessionField="W_CUSR"
|
||||
Type="String" />
|
||||
</InsertParameters>
|
||||
</asp:ObjectDataSource><asp:ObjectDataSource ID="dsRPSLForm" runat="server"
|
||||
OldValuesParameterFormatString="original_{0}"
|
||||
SelectMethod="SelectRPSLOne" TypeName="BpslDAC">
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="gvBPSL"
|
||||
Name="BPENO" PropertyName="SelectedDataKey["BPENO"]"
|
||||
Type="String" />
|
||||
<asp:ControlParameter ControlID="gvBPSL"
|
||||
Name="BPITM" PropertyName="SelectedDataKey["BPITM"]"
|
||||
Type="Int32" />
|
||||
</SelectParameters>
|
||||
</asp:ObjectDataSource>
|
||||
<asp:ObjectDataSource ID="dsBPSLGrid" runat="server"
|
||||
OldValuesParameterFormatString="OLD_{0}"
|
||||
OnSelected="dsBPSLGrid_Selected" SelectMethod="Select"
|
||||
TypeName="BpslDAC">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="BPENO" Type="String" />
|
||||
<asp:Parameter Name="BPNME" Type="String" />
|
||||
</SelectParameters>
|
||||
</asp:ObjectDataSource><asp:ObjectDataSource ID="dsRPSLGrid" runat="server"
|
||||
OldValuesParameterFormatString="OLD_{0}"
|
||||
OnSelected="dsBPSLGrid_Selected" SelectMethod="SelectRPSL"
|
||||
TypeName="BpslDAC">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="BPENO" Type="String" />
|
||||
</SelectParameters>
|
||||
</asp:ObjectDataSource>
|
||||
<asp:FormView ID="fvBPSL" runat="server"
|
||||
DataSourceID="dsBPSLForm" OnDataBound="fvBPSL_DataBound"
|
||||
OnItemCommand="fvBPSL_ItemCommand" OnItemDeleted="fvBPSL_ItemDeleted"
|
||||
OnItemInserted="fvBPSL_ItemInserted" OnItemInserting="fvBPSL_ItemInserting"
|
||||
OnItemUpdated="fvBPSL_ItemUpdated" OnItemUpdating="fvBPSL_ItemUpdating"
|
||||
OnModeChanged="fvBPSL_ModeChanged" OnModeChanging="fvBPSL_ModeChanging" DataKeyNames="BPENO,BPITM,APPNO">
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
AccessKey="S" CommandName="Update" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmSave);"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
AccessKey="C" CommandName="Cancel" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPENO"
|
||||
ControlToValidate="txtBPSL_BPENO" runat="server"
|
||||
ErrorMessage="請輸入人員編號" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfcBPSRM"
|
||||
ControlToValidate="txtBPSL_BPSRM" runat="server"
|
||||
ErrorMessage="請輸入月薪" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPSRD"
|
||||
ControlToValidate="txtBPSL_BPSRD" runat="server"
|
||||
ErrorMessage="請輸入時薪" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPP01"
|
||||
ControlToValidate="txtBPSL_BPP01" runat="server"
|
||||
ErrorMessage="請輸入全勤獎金" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPP02"
|
||||
ControlToValidate="txtBPSL_BPP02" runat="server"
|
||||
ErrorMessage="請輸入伙食津貼" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPP03"
|
||||
ControlToValidate="txtBPSL_BPP03" runat="server"
|
||||
ErrorMessage="請輸入職務加給" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPP04"
|
||||
ControlToValidate="txtBPSL_BPP04" runat="server"
|
||||
ErrorMessage="請輸入派駐津貼" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPP05"
|
||||
ControlToValidate="txtBPSL_BPP05" runat="server"
|
||||
ErrorMessage="請輸入其他津貼" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPENO" ControlToValidate="txtBPSL_BPENO"
|
||||
runat="server" ErrorMessage="人員編號不存在或已離職"
|
||||
Display="None" OnServerValidate="cvBPENO_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPSRM" ControlToValidate="txtBPSL_BPSRM"
|
||||
runat="server" ErrorMessage="月薪請輸入大於零的數字"
|
||||
Display="None" OnServerValidate="cvNumber1_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPSRD" ControlToValidate="txtBPSL_BPSRD"
|
||||
runat="server" ErrorMessage="時薪請輸入大於零的數字"
|
||||
Display="None" OnServerValidate="cvNumber1_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP01" ControlToValidate="txtBPSL_BPP01"
|
||||
runat="server" ErrorMessage="全勤獎金請輸入數字"
|
||||
Display="None" OnServerValidate="cvNumber2_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP02" ControlToValidate="txtBPSL_BPP02"
|
||||
runat="server" ErrorMessage="伙食津貼請輸入數字"
|
||||
Display="None" OnServerValidate="cvNumber2_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP03" ControlToValidate="txtBPSL_BPP03"
|
||||
runat="server" ErrorMessage="職務加給請輸入數字"
|
||||
Display="None" OnServerValidate="cvNumber2_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP04" ControlToValidate="txtBPSL_BPP04"
|
||||
runat="server" ErrorMessage="派駐津貼請輸入數字"
|
||||
Display="None" OnServerValidate="cvNumber2_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP05" ControlToValidate="txtBPSL_BPP05"
|
||||
runat="server" ErrorMessage="其他津貼請輸入數字"
|
||||
Display="None" OnServerValidate="cvNumber2_ServerValidate"></asp:CustomValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPBDT"
|
||||
runat="server" ControlToValidate="txtBPSL_BPBDT"
|
||||
Display="None" ErrorMessage="請輸入生效日期"></asp:RequiredFieldValidator>
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPENOLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPENO+:">人員編號:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="height: 100%; width: 100%">
|
||||
<tr>
|
||||
<td style="width: 100px">
|
||||
<asp:TextBox ID="txtBPSL_BPENO" runat="server"
|
||||
Text='<%# Bind("BPENO", "{0:c}") %>' CssClass="textInput"
|
||||
MaxLength="10"></asp:TextBox>
|
||||
</td>
|
||||
<td>
|
||||
<asp:ImageButton ID="btnBPSL_BPENO_WQRY"
|
||||
runat="server" ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="2">
|
||||
<asp:Label ID="lbBPSL_BPENOX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPSN", Eval("BPENO", "{0:c}"), "BPNME", "") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPBDTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">生效日期:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="width: 100%; height: 100%">
|
||||
<tr>
|
||||
<td width="100">
|
||||
<asp:TextBox ID="txtBPSL_BPBDT" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPBDT", "{0:yyyyMMdd}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td>
|
||||
<asp:ImageButton ID="btnBPSL_BPBDT_DATE"
|
||||
runat="server" ImageUrl="~/picture/cal.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPSL_BPSRMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPSRM+:">月薪:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPSL_BPSRM" runat="server"
|
||||
Text='<%# Bind("BPSRM", "{0:#####0}") %>'
|
||||
CssClass="textInput" MaxLength="8"></asp:TextBox>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPSL_BPSRDLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPSRD+:">時薪:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPSL_BPSRD" runat="server"
|
||||
Text='<%# Bind("BPSRD", "{0:#####0}") %>'
|
||||
CssClass="textInput" MaxLength="8"></asp:TextBox>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPSL_BPP01Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP01+:">全勤獎金:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPSL_BPP01" runat="server"
|
||||
Text='<%# Bind("BPP01", "{0:#####0}") %>'
|
||||
CssClass="textInput" MaxLength="8"></asp:TextBox>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPSL_BPP02Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP02+:">伙食津貼:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPSL_BPP02" runat="server"
|
||||
Text='<%# Bind("BPP02", "{0:#####0}") %>'
|
||||
CssClass="textInput" MaxLength="8"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPSL_BPP03Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP03+:">職務加給:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPSL_BPP03" runat="server"
|
||||
Text='<%# Bind("BPP03", "{0:#####0}") %>'
|
||||
CssClass="textInput" MaxLength="8"></asp:TextBox>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPSL_BPP04Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP04+:">派駐津貼:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPSL_BPP04" runat="server"
|
||||
Text='<%# Bind("BPP04", "{0:#####0}") %>'
|
||||
CssClass="textInput" MaxLength="8"></asp:TextBox>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPSL_BPP05Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP05+:">其他津貼:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataEditCell">
|
||||
<asp:TextBox ID="txtBPSL_BPP05" runat="server"
|
||||
Text='<%# Bind("BPP05", "{0:#####0}") %>'
|
||||
CssClass="textInput" MaxLength="8"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPSL_APPNO" runat="server"
|
||||
Value='<%# Bind("APPNO") %>'/>
|
||||
<asp:HiddenField ID="hfBPSL_BPITM" runat="server"
|
||||
Value='<%# Bind("BPITM") %>'/>
|
||||
</EditItemTemplate>
|
||||
<InsertItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
AccessKey="S" CommandName="Insert" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmSave);"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
AccessKey="C" CommandName="Cancel" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" />
|
||||
<asp:RequiredFieldValidator ID="rfvBPENO"
|
||||
ControlToValidate="txtBPSL_BPENO" runat="server"
|
||||
ErrorMessage="請輸入人員編號" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfcBPSRM"
|
||||
ControlToValidate="txtBPSL_BPSRM" runat="server"
|
||||
ErrorMessage="請輸入月薪" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPSRD"
|
||||
ControlToValidate="txtBPSL_BPSRD" runat="server"
|
||||
ErrorMessage="請輸入時薪" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPP01"
|
||||
ControlToValidate="txtBPSL_BPP01" runat="server"
|
||||
ErrorMessage="請輸入全勤獎金" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPP02"
|
||||
ControlToValidate="txtBPSL_BPP02" runat="server"
|
||||
ErrorMessage="請輸入伙食津貼" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPP03"
|
||||
ControlToValidate="txtBPSL_BPP03" runat="server"
|
||||
ErrorMessage="請輸入職務加給" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPP04"
|
||||
ControlToValidate="txtBPSL_BPP04" runat="server"
|
||||
ErrorMessage="請輸入派駐津貼" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPP05"
|
||||
ControlToValidate="txtBPSL_BPP05" runat="server"
|
||||
ErrorMessage="請輸入其他津貼" Display="None"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvBPENO" ControlToValidate="txtBPSL_BPENO"
|
||||
runat="server" ErrorMessage="人員編號不存在或已離職"
|
||||
Display="None" OnServerValidate="cvBPENO_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPSRM" ControlToValidate="txtBPSL_BPSRM"
|
||||
runat="server" ErrorMessage="月薪請輸入大於零的數字"
|
||||
Display="None" OnServerValidate="cvNumber1_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPSRD" ControlToValidate="txtBPSL_BPSRD"
|
||||
runat="server" ErrorMessage="時薪請輸入大於零的數字"
|
||||
Display="None" OnServerValidate="cvNumber1_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP01" ControlToValidate="txtBPSL_BPP01"
|
||||
runat="server" ErrorMessage="全勤獎金請輸入數字"
|
||||
Display="None" OnServerValidate="cvNumber2_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP02" ControlToValidate="txtBPSL_BPP02"
|
||||
runat="server" ErrorMessage="伙食津貼請輸入數字"
|
||||
Display="None" OnServerValidate="cvNumber2_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP03" ControlToValidate="txtBPSL_BPP03"
|
||||
runat="server" ErrorMessage="職務加給請輸入數字"
|
||||
Display="None" OnServerValidate="cvNumber2_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP04" ControlToValidate="txtBPSL_BPP04"
|
||||
runat="server" ErrorMessage="派駐津貼請輸入數字"
|
||||
Display="None" OnServerValidate="cvNumber2_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvBPP05" ControlToValidate="txtBPSL_BPP05"
|
||||
runat="server" ErrorMessage="其他津貼請輸入數字"
|
||||
Display="None" OnServerValidate="cvNumber2_ServerValidate"></asp:CustomValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvBPBDT"
|
||||
runat="server" ControlToValidate="txtBPSL_BPBDT"
|
||||
Display="None" ErrorMessage="請輸入生效日期"></asp:RequiredFieldValidator>
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
style="table-layout: fixed" width="1">
|
||||
<tr>
|
||||
<td colspan="1" style="width: 90px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 120px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 90px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 120px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 90px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 120px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 90px; height: 0px">
|
||||
</td>
|
||||
<td colspan="1" style="width: 120px; height: 0px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPENOLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPENO+:">人員編號:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="width: 100%; height: 100%">
|
||||
<tr>
|
||||
<td width="100">
|
||||
<asp:TextBox ID="txtBPSL_BPENO" runat="server"
|
||||
CssClass="textInput" MaxLength="10" Text='<%# Bind("BPENO", "{0:c}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td>
|
||||
<asp:ImageButton ID="btnBPSL_BPENO_WQRY"
|
||||
runat="server" ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="2">
|
||||
<asp:Label ID="lbBPSL_BPENOX" runat="server"
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPBDTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">生效日期:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="width: 100%; height: 100%">
|
||||
<tr>
|
||||
<td width="100">
|
||||
<asp:TextBox ID="txtBPSL_BPBDT" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPBDT", "{0:yyyyMMdd}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td>
|
||||
<asp:ImageButton ID="btnBPSL_BPBDT_DATE"
|
||||
runat="server" ImageUrl="~/picture/cal.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPSRMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPSRM+:">月薪:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPSL_BPSRM" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPSRM", "{0:#####0}") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPSRDLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPSRD+:">時薪:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPSL_BPSRD" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPSRD", "{0:#####0}") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPP01Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP01+:">全勤獎金:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPSL_BPP01" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPP01", "{0:#####0}") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPP02Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP02+:">伙食津貼:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPSL_BPP02" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPP02", "{0:#####0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPP03Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP03+:">職務加給:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPSL_BPP03" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPP03", "{0:#####0}") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPP04Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP04+:">派駐津貼:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPSL_BPP04" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPP04", "{0:#####0}") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPP05Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP05+:">其他津貼:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtBPSL_BPP05" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("BPP05", "{0:#####0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
</InsertItemTemplate>
|
||||
<ItemTemplate>
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
AccessKey="I" CommandName="New" CssClass="button"
|
||||
Text="I.新增" TextMessageId="I.+INSERT" CommandArgument="BPSL" Enabled='<%# tableName != "RPSL" %>' />
|
||||
<cc1:WButton ID="btnEdit" runat="server"
|
||||
AccessKey="M" CommandName="Edit" CssClass="button"
|
||||
Text="M.更正" TextMessageId="M.+UPDATE" Enabled='<%# tableName != "RPSL" %>' />
|
||||
<cc1:WButton ID="btnRPSL" runat="server"
|
||||
AccessKey="R" CommandName="New" CssClass="button"
|
||||
Text="R.異動" CommandArgument="RPSL" Enabled='<%# tableName != "RPSL" %>' TextMessageId="" />
|
||||
<cc1:WButton ID="btnDelete" runat="server"
|
||||
AccessKey="T" CommandName="Delete" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmDelete);"
|
||||
Text="T.刪除" TextMessageId="T.+DELETE" Enabled='<%# tableName != "RPSL" %>' />
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
AccessKey="F" CommandName="Search" CssClass="button"
|
||||
Text="F.查詢" TextMessageId="F.+SEARCH" Enabled='<%# tableName != "RPSL" %>' />
|
||||
<cc1:WButton ID="btnRPSLSearch" runat="server"
|
||||
AccessKey="B" CommandName="RPSLSearch" CssClass="button"
|
||||
Text="B.異動查詢" Enabled='<%# tableName != "RPSL" && Eval("BPITM", "{0}") != "0" %>' TextMessageId="" />
|
||||
<cc1:WButton ID="btnReturn" runat="server"
|
||||
AccessKey="R" CommandName="BPSL" CssClass="button"
|
||||
Enabled='<%# tableName == "RPSL" %>'
|
||||
Text="R.返回" TextMessageId="" />
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 90px">
|
||||
</td>
|
||||
<td colspan="1" style="height: 0px; width: 120px">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPENOLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPENO+:">人員編號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPSL_BPENO" runat="server"
|
||||
Text='<%# Bind("BPENO", "{0:c}") %>' CssClass="textInput"></asp:Label></td>
|
||||
<td class="dataDisplayCell" colspan="2">
|
||||
<asp:Label ID="lbBPSL_BPENOX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPSN", Eval("BPENO", "{0:c}"), "BPNME", "") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
</td>
|
||||
<td colspan="1">
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPBDTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">生效日期:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPSL_BPBDT" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("BPBDT", "{0:yyyyMMdd}") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPSL_BPSRMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPSRM+:">月薪:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPSL_BPSRM" runat="server"
|
||||
Text='<%# Bind("BPSRM", "{0:###,##0}") %>'
|
||||
CssClass="textInput" ForeColor='<%# Eval("BPSRM_Changed", "{0:c}") == "Y" ? Color.Red : Color.Black %>'></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPSL_BPSRDLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPSRD+:">時薪:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPSL_BPSRD" runat="server"
|
||||
Text='<%# Bind("BPSRD", "{0:###,##0#}") %>'
|
||||
CssClass="textInput" ForeColor='<%# Eval("BPSRD_Changed", "{0:c}") == "Y" ? Color.Red : Color.Black %>'></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPSL_BPP01Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP01+:">全勤獎金:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPSL_BPP01" runat="server"
|
||||
Text='<%# Bind("BPP01", "{0:###,##0}") %>'
|
||||
CssClass="textInput" ForeColor='<%# Eval("BPP01_Changed", "{0:c}") == "Y" ? Color.Red : Color.Black %>'></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbBPSL_BPP02Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP02+:">伙食津貼:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbBPSL_BPP02" runat="server"
|
||||
Text='<%# Bind("BPP02", "{0:###,##0}") %>'
|
||||
CssClass="textInput" ForeColor='<%# Eval("BPP02_Changed", "{0:c}") == "Y" ? Color.Red : Color.Black %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPP03Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP03+:">職務加給:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPSL_BPP03" runat="server"
|
||||
Text='<%# Bind("BPP03", "{0:###,##0}") %>'
|
||||
CssClass="textInput" ForeColor='<%# Eval("BPP03_Changed", "{0:c}") == "Y" ? Color.Red : Color.Black %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPP04Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP04+:">派駐津貼:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPSL_BPP04" runat="server"
|
||||
Text='<%# Bind("BPP04", "{0:###,##0}") %>'
|
||||
CssClass="textInput" ForeColor='<%# Eval("BPP04_Changed", "{0:c}") == "Y" ? Color.Red : Color.Black %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbBPSL_BPP05Label" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="BPSL.BPP05+:">其他津貼:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbBPSL_BPP05" runat="server"
|
||||
Text='<%# Bind("BPP05", "{0:###,##0}") %>'
|
||||
CssClass="textInput" ForeColor='<%# Eval("BPP05_Changed", "{0:c}") == "Y" ? Color.Red : Color.Black %>'></asp:Label></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfBPSL_APPNO" runat="server"
|
||||
Value='<%# Bind("APPNO", "{0}") %>'></asp:HiddenField>
|
||||
</ItemTemplate>
|
||||
</asp:FormView>
|
||||
<asp:GridView ID="gvBPSL" runat="server"
|
||||
AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="BPENO,BPITM" DataSourceID="dsBPSLGrid" OnDataBound="gvBPSL_DataBound"
|
||||
OnPageIndexChanged="gvBPSL_PageIndexChanged"
|
||||
OnRowDataBound="gvBPSL_RowDataBound" OnSelectedIndexChanged="gvBPSL_SelectedIndexChanged">
|
||||
<Columns>
|
||||
<asp:CommandField SelectText="" ShowSelectButton="True">
|
||||
<ItemStyle Font-Bold="True" Font-Underline="False"
|
||||
ForeColor="Orange" />
|
||||
</asp:CommandField>
|
||||
<asp:TemplateField AccessibleHeaderText="BPSL.BPENO"
|
||||
HeaderText="BPENO" SortExpression="BPENO">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbBPSL_BPENO" runat="server"
|
||||
Text='<%# Bind("BPENO", "{0:c}") %>'></asp:Label>
|
||||
<asp:Label ID="lbBPSL_BPENOX" runat="server"
|
||||
Text='<%# GetLookup("BPSN", Eval("BPENO", "{0:c}"), "BPNME", "") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<HeaderStyle Width="100px" HorizontalAlign="Left" />
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="BPITM" HeaderText="異動次數">
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPSL.BPSRM"
|
||||
DataField="BPSRM" DataFormatString="{0:###,##0}"
|
||||
HeaderText="BPSRM" HtmlEncode="False" SortExpression="BPSRM">
|
||||
<HeaderStyle Width="60px" HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPSL.BPSRD"
|
||||
DataField="BPSRD" DataFormatString="{0:###,##0}"
|
||||
HeaderText="BPSRD" HtmlEncode="False" SortExpression="BPSRD">
|
||||
<HeaderStyle Width="60px" HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPSL.BPP01"
|
||||
DataField="BPP01" DataFormatString="{0:###,##0}"
|
||||
HeaderText="BPP01" HtmlEncode="False" SortExpression="BPP01">
|
||||
<HeaderStyle Width="60px" HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPSL.BPP02"
|
||||
DataField="BPP02" DataFormatString="{0:###,##0}"
|
||||
HeaderText="BPP02" HtmlEncode="False" SortExpression="BPP02">
|
||||
<HeaderStyle Width="60px" HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPSL.BPP03"
|
||||
DataField="BPP03" DataFormatString="{0:###,##0}"
|
||||
HeaderText="BPP03" HtmlEncode="False" SortExpression="BPP03">
|
||||
<HeaderStyle Width="60px" HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPSL.BPP04"
|
||||
DataField="BPP04" DataFormatString="{0:###,##0}"
|
||||
HeaderText="BPP04" HtmlEncode="False" SortExpression="BPP04">
|
||||
<HeaderStyle Width="60px" HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="BPSL.BPP05"
|
||||
DataField="BPP05" DataFormatString="{0:###,##0}"
|
||||
HeaderText="BPP05" HtmlEncode="False" SortExpression="BPP05">
|
||||
<HeaderStyle Width="60px" HorizontalAlign="Right" />
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
</Columns>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="GridView1Pager" runat="server" />
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
@@ -0,0 +1,418 @@
|
||||
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 Wellan.Data;
|
||||
using Wellan.Common;
|
||||
using System.Text;
|
||||
using System.Data.Common;
|
||||
|
||||
/// <summary>
|
||||
/// 非專案人員薪資資料處理
|
||||
/// </summary>
|
||||
public partial class forms_worker_fmBpsl : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected string _BPENO = "";
|
||||
protected string _BPNME = "";
|
||||
protected int _BPITM = 0;
|
||||
protected string _Current_BPENO = "";
|
||||
protected int _Current_BPITM = 0;
|
||||
private DbCommand cmdCheckDuplicate;
|
||||
protected string tableName = "";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
_BPENO = ViewState["BPENO"] != null ? ViewState["BPENO"].ToString() : "";
|
||||
_BPNME = ViewState["BPNME"] != null ? ViewState["BPNME"].ToString() : "";
|
||||
_BPITM = ViewState["BPITM"] != null ? Convert.ToInt32(ViewState["BPITM"]) : 0;
|
||||
_Current_BPENO = ViewState["Current_BPENO"] != null ? ViewState["Current_BPENO"].ToString() : "";
|
||||
_Current_BPITM = ViewState["Current_BPITM"] != null ? Convert.ToInt32(ViewState["Current_BPITM"]) : 0;
|
||||
tableName = ViewState["tableName"] != null ? ViewState["tableName"].ToString() : "";
|
||||
|
||||
//if (IsPostBack)
|
||||
// gvBPSL.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
|
||||
cmdCheckDuplicate = Query.NewCommand(@"SELECT COUNT(1) FROM BPSL WHERE BPENO=@BPENO");
|
||||
cmdCheckDuplicate.Parameters.Add(Query.NewParameter("BPENO", DbType.String));
|
||||
|
||||
GetGridViewRowColor(gvBPSL);
|
||||
ShowData();
|
||||
}
|
||||
|
||||
private void ShowData()
|
||||
{
|
||||
switch (tableName)
|
||||
{
|
||||
case "":
|
||||
case "BPSL":
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
RegisterLookupEvent(this, "btnBPSL_BPENO_WQRY", "txtBPSL_BPENO", "txtBPSL_BPENO,lbBPSL_BPENOX", "BPSN");
|
||||
SetClientFocus(txtBPSL_BPENO);
|
||||
Search();
|
||||
gvBPSL.DataSourceID = "dsBPSLGrid";
|
||||
fvBPSL.DataSourceID = "dsBPSLForm";
|
||||
break;
|
||||
case "RPSL":
|
||||
SearchB();
|
||||
gvBPSL.DataSourceID = "dsRPSLGrid";
|
||||
fvBPSL.DataSourceID = "dsRPSLForm";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 查詢按鈕
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
_BPENO = txtBPSL_BPENO.Text;
|
||||
_BPNME = txtBPSL_BPNME.Text;
|
||||
|
||||
if (_BPENO.Length == 0 &&
|
||||
_BPNME.Length == 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = GetString("NOSRHCOND");
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
|
||||
Search();
|
||||
|
||||
gvBPSL.PageIndex = 0;
|
||||
gvBPSL.SelectedIndex = 0;
|
||||
gvBPSL.DataBind();
|
||||
|
||||
// 查詢有資料時,才將查詢條件紀錄在 ViewState 中
|
||||
if (gvBPSL.Rows.Count > 0)
|
||||
{
|
||||
ViewState["BPENO"] = _BPENO;
|
||||
ViewState["BPNME"] = _BPNME;
|
||||
ViewState["tableName"] = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 取消查詢按鈕
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPSL.DataBind();
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
dsBPSLGrid.SelectParameters["BPENO"].DefaultValue = _BPENO;
|
||||
dsBPSLGrid.SelectParameters["BPNME"].DefaultValue = _BPNME;
|
||||
}
|
||||
|
||||
// 異動查詢動作
|
||||
private void SearchB()
|
||||
{
|
||||
dsRPSLGrid.SelectParameters["BPENO"].DefaultValue = _Current_BPENO;
|
||||
}
|
||||
|
||||
// 檢查員工編號是否存在
|
||||
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);
|
||||
}
|
||||
|
||||
// 驗證月薪與時薪
|
||||
protected void cvNumber1_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
int i;
|
||||
args.IsValid = args.Value != "" && Int32.TryParse(args.Value, out i) && i > 0;
|
||||
}
|
||||
|
||||
// 驗證各項津貼
|
||||
protected void cvNumber2_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
int i;
|
||||
args.IsValid = args.Value != "" && Int32.TryParse(args.Value, out i) && i >= 0;
|
||||
}
|
||||
|
||||
protected void fvBPSL_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
switch (fvBPSL.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Insert:
|
||||
RegisterLookupEvent(fvBPSL, "btnBPSL_BPENO_WQRY", "txtBPSL_BPENO", "txtBPSL_BPENO,lbBPSL_BPENOX", "BPSN");
|
||||
switch (tableName)
|
||||
{
|
||||
case "BPSL":
|
||||
(fvBPSL.FindControl("txtBPSL_BPSRM") as ITextControl).Text = "0";
|
||||
(fvBPSL.FindControl("txtBPSL_BPSRD") as ITextControl).Text = "0";
|
||||
(fvBPSL.FindControl("txtBPSL_BPP01") as ITextControl).Text = "0";
|
||||
(fvBPSL.FindControl("txtBPSL_BPP02") as ITextControl).Text = "1800";
|
||||
(fvBPSL.FindControl("txtBPSL_BPP03") as ITextControl).Text = "0";
|
||||
(fvBPSL.FindControl("txtBPSL_BPP04") as ITextControl).Text = "0";
|
||||
(fvBPSL.FindControl("txtBPSL_BPP05") as ITextControl).Text = "0";
|
||||
SetClientFocus(fvBPSL, "txtBPSL_BPENO");
|
||||
fvBPSL.FindControl("lbBPSL_BPBDTLabel").Visible = false;
|
||||
fvBPSL.FindControl("btnBPSL_BPBDT_DATE").Visible = false;
|
||||
fvBPSL.FindControl("txtBPSL_BPBDT").Visible = false;
|
||||
(fvBPSL.FindControl("rfvBPBDT") as RequiredFieldValidator).Enabled = false;
|
||||
break;
|
||||
case "RPSL":
|
||||
// 取得目前資料,複製進畫面的控制項
|
||||
RegisterCalendarEvent(fvBPSL, "btnBPSL_BPBDT_DATE", "txtBPSL_BPBDT");
|
||||
|
||||
BpslDAC bpsl = new BpslDAC();
|
||||
DataTable bpslData = bpsl.SelectOne(_Current_BPENO, _Current_BPITM);
|
||||
|
||||
if (bpslData.Rows.Count > 0)
|
||||
{
|
||||
(fvBPSL.FindControl("txtBPSL_BPENO") as ITextControl).Text = bpslData.Rows[0]["BPENO"].ToString();
|
||||
(fvBPSL.FindControl("lbBPSL_BPENOX") as ITextControl).Text = GetLookup("BPSN", bpslData.Rows[0]["BPENO"].ToString(), "BPNME");
|
||||
(fvBPSL.FindControl("txtBPSL_BPENO") as TextBox).Attributes.Add("readonly", "readonly");
|
||||
(fvBPSL.FindControl("txtBPSL_BPSRM") as ITextControl).Text = bpslData.Rows[0]["BPSRM"].ToString();
|
||||
(fvBPSL.FindControl("txtBPSL_BPSRD") as ITextControl).Text = bpslData.Rows[0]["BPSRD"].ToString();
|
||||
(fvBPSL.FindControl("txtBPSL_BPP01") as ITextControl).Text = bpslData.Rows[0]["BPP01"].ToString();
|
||||
(fvBPSL.FindControl("txtBPSL_BPP02") as ITextControl).Text = bpslData.Rows[0]["BPP02"].ToString();
|
||||
(fvBPSL.FindControl("txtBPSL_BPP03") as ITextControl).Text = bpslData.Rows[0]["BPP03"].ToString();
|
||||
(fvBPSL.FindControl("txtBPSL_BPP04") as ITextControl).Text = bpslData.Rows[0]["BPP04"].ToString();
|
||||
(fvBPSL.FindControl("txtBPSL_BPP05") as ITextControl).Text = bpslData.Rows[0]["BPP05"].ToString();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
case FormViewMode.Edit:
|
||||
if (_Current_BPITM == 0)
|
||||
{
|
||||
fvBPSL.FindControl("lbBPSL_BPBDTLabel").Visible = false;
|
||||
fvBPSL.FindControl("btnBPSL_BPBDT_DATE").Visible = false;
|
||||
fvBPSL.FindControl("txtBPSL_BPBDT").Visible = false;
|
||||
(fvBPSL.FindControl("rfvBPBDT") as RequiredFieldValidator).Enabled = false;
|
||||
}
|
||||
else
|
||||
RegisterCalendarEvent(fvBPSL, "btnBPSL_BPBDT_DATE", "txtBPSL_BPBDT");
|
||||
|
||||
RegisterLookupEvent(fvBPSL, "btnBPSL_BPENO_WQRY", "txtBPSL_BPENO", "txtBPSL_BPENO,lbBPSL_BPENOX", "BPSN");
|
||||
SetClientFocus(fvBPSL, "txtBPSL_BPENO");
|
||||
break;
|
||||
case FormViewMode.ReadOnly:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPSL_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "New":
|
||||
tableName = e.CommandArgument.ToString();
|
||||
ViewState["tableName"] = tableName;
|
||||
break;
|
||||
case "Search":
|
||||
MultiView1.ActiveViewIndex = 0;
|
||||
SetClientFocus(txtBPSL_BPENO);
|
||||
break;
|
||||
case "Cancel":
|
||||
tableName = "BPSL";
|
||||
ViewState["tableName"] = tableName;
|
||||
Search();
|
||||
fvBPSL.ChangeMode(FormViewMode.ReadOnly);
|
||||
fvBPSL_ModeChanged(sender, e);
|
||||
break;
|
||||
case "BPSL":
|
||||
tableName = "BPSL";
|
||||
ViewState["tableName"] = tableName;
|
||||
ShowData();
|
||||
break;
|
||||
case "RPSLSearch":
|
||||
tableName = "RPSL";
|
||||
ViewState["tableName"] = tableName;
|
||||
ShowData();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPSL_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPSL.DataBind();
|
||||
if (gvBPSL.SelectedIndex > gvBPSL.Rows.Count - 1)
|
||||
{
|
||||
gvBPSL.SelectedIndex = gvBPSL.Rows.Count - 1;
|
||||
gvBPSL.DataBind();
|
||||
}
|
||||
fvBPSL.DataBind();
|
||||
}
|
||||
|
||||
protected void fvBPSL_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
tableName = "BPSL";
|
||||
ViewState["tableName"] = tableName;
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPSL_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void fvBPSL_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (fvBPSL.CurrentMode == FormViewMode.ReadOnly)
|
||||
{
|
||||
gvBPSL.Visible = true;
|
||||
gvBPSL.DataBind();
|
||||
if (gvBPSL.Rows.Count > 0 && gvBPSL.SelectedIndex == -1)
|
||||
{
|
||||
gvBPSL.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert && gvBPSL.Rows.Count > 0)
|
||||
{
|
||||
gvBPSL.PageIndex = gvBPSL.PageCount - 1;
|
||||
gvBPSL.DataBind();
|
||||
gvBPSL.SelectedIndex = gvBPSL.Rows.Count - 1;
|
||||
}
|
||||
|
||||
fvBPSL.DataBind();
|
||||
}
|
||||
else
|
||||
{
|
||||
gvBPSL.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void fvBPSL_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void gvBPSL_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
gvBPSL.SelectedIndex = 0;
|
||||
gvBPSL.DataBind();
|
||||
}
|
||||
|
||||
private void UpdateCurrentKey()
|
||||
{
|
||||
_Current_BPENO = gvBPSL.SelectedDataKey != null ? gvBPSL.SelectedDataKey["BPENO"].ToString() : "";
|
||||
_Current_BPITM = gvBPSL.SelectedDataKey != null ? Convert.ToInt32(gvBPSL.SelectedDataKey["BPITM"]) : 0;
|
||||
ViewState["Current_BPENO"] = _Current_BPENO;
|
||||
ViewState["Current_BPITM"] = _Current_BPITM;
|
||||
}
|
||||
|
||||
protected void gvBPSL_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in gvBPSL.Rows)
|
||||
SetGridViewMouseBehavier(gvBPSL, row);
|
||||
UpdateCurrentKey();
|
||||
}
|
||||
|
||||
protected void gvBPSL_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (gvBPSL.SelectedIndex == -1)
|
||||
gvBPSL.SelectedIndex = 0;
|
||||
if (gvBPSL.SelectedIndex >= gvBPSL.Rows.Count)
|
||||
gvBPSL.SelectedIndex = gvBPSL.Rows.Count - 1;
|
||||
|
||||
UpdateCurrentKey();
|
||||
fvBPSL.DataBind();
|
||||
}
|
||||
|
||||
protected void gvBPSL_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(gvBPSL, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected void dsBPSLGrid_Selected(object sender, ObjectDataSourceStatusEventArgs e)
|
||||
{
|
||||
if ((e.ReturnValue as DataTable).Rows.Count == 0)
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 0;
|
||||
cvMessage.ErrorMessage = GetString("NODATA");
|
||||
cvMessage.IsValid = false;
|
||||
btnInsert.Enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
private bool CheckBPENODuplicate(string bpeno)
|
||||
{
|
||||
cmdCheckDuplicate.Parameters["BPENO"].Value = bpeno;
|
||||
object o = Query.ExecuteScalar(cmdCheckDuplicate);
|
||||
return (o != null && o != DBNull.Value && Convert.ToInt32(o) > 0);
|
||||
}
|
||||
|
||||
protected new bool CheckInput(System.Collections.Specialized.IOrderedDictionary values)
|
||||
{
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
|
||||
bool result = true;
|
||||
if (values["BPBDT"].ToString() != "")
|
||||
values["BPBDT"] = CheckDate(values["BPBDT"], "請輸入正確的生效日期", ref result, cvMessage);
|
||||
|
||||
ProcessCustomValidatorMessage(cvMessage);
|
||||
return result;
|
||||
}
|
||||
|
||||
protected void fvBPSL_ItemInserting(object sender, FormViewInsertEventArgs e)
|
||||
{
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
|
||||
// 檢查員工編號是否重複
|
||||
if (tableName == "BPSL" && CheckBPENODuplicate(e.Values["BPENO"].ToString()))
|
||||
{
|
||||
e.Cancel = true;
|
||||
cvMessage.ErrorMessage = "員工編號重複,請重新輸入";
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
if (tableName == "RPSL")
|
||||
{
|
||||
e.Values["BPITM"] = 1;
|
||||
}
|
||||
|
||||
e.Cancel = !CheckInput(e.Values);
|
||||
}
|
||||
|
||||
protected void fvBPSL_ItemUpdating(object sender, FormViewUpdateEventArgs e)
|
||||
{
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
|
||||
// 當員工編號修改時,檢查員工編號是否重複
|
||||
if (tableName == "BPSL" && e.Keys["BPENO"].ToString() != e.NewValues["BPENO"].ToString())
|
||||
{
|
||||
if (CheckBPENODuplicate(e.NewValues["BPENO"].ToString()))
|
||||
{
|
||||
e.Cancel = true;
|
||||
cvMessage.ErrorMessage = "員工編號重複,請重新輸入";
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
}
|
||||
|
||||
e.Cancel = !CheckInput(e.NewValues);
|
||||
}
|
||||
|
||||
protected void btnInsert_Click(object sender, EventArgs e)
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
tableName = "BPSL";
|
||||
fvBPSL.ChangeMode(FormViewMode.Insert);
|
||||
//fvBPSL_ModeChanged(sender, e);
|
||||
fvBPSL_DataBound(sender, e);
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,110 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="fmRTME.ascx.cs" Inherits="forms_basedata_fmRTME" %>
|
||||
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
|
||||
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"
|
||||
TextMessageId="">人員班表設定</cc1:WLabel>
|
||||
|
||||
<asp:CustomValidator ID="cvMessage" runat="server"
|
||||
Display="None"></asp:CustomValidator><br />
|
||||
<asp:HiddenField ID="hfYear" runat="server" />
|
||||
<asp:HiddenField ID="hfMonth" runat="server" />
|
||||
|
||||
<div style="width: 650px">
|
||||
|
||||
<table cellpadding="3" cellspacing="0" style="border: 0; width: 100%; background-color: #E0E0E0">
|
||||
<tr style="height: 40px">
|
||||
<td style="width: 45px">
|
||||
<asp:TextBox ID="txtYear" runat="server"
|
||||
CssClass="textInput" MaxLength="4"></asp:TextBox></td>
|
||||
<td style="text-align: center; width: 20px">
|
||||
<asp:Label ID="Label3" runat="server" Font-Bold="True"
|
||||
Text="年"></asp:Label></td>
|
||||
<td style="width: 70px">
|
||||
<asp:DropDownList ID="ddlMonth" runat="server" CssClass="textInput">
|
||||
<asp:ListItem Value="01">一月</asp:ListItem>
|
||||
<asp:ListItem Value="02">二月</asp:ListItem>
|
||||
<asp:ListItem Value="03">三月</asp:ListItem>
|
||||
<asp:ListItem Value="04">四月</asp:ListItem>
|
||||
<asp:ListItem Value="05">五月</asp:ListItem>
|
||||
<asp:ListItem Value="06">六月</asp:ListItem>
|
||||
<asp:ListItem Value="07">七月</asp:ListItem>
|
||||
<asp:ListItem Value="08">八月</asp:ListItem>
|
||||
<asp:ListItem Value="09">九月</asp:ListItem>
|
||||
<asp:ListItem Value="10">十月</asp:ListItem>
|
||||
<asp:ListItem Value="11">十一月</asp:ListItem>
|
||||
<asp:ListItem Value="12">十二月</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
<td style="width: 90px">
|
||||
<asp:Button ID="btnGoto" runat="server" AccessKey="G"
|
||||
CssClass="button" Text="G.跳至" OnClick="btnGoto_Click" /></td>
|
||||
<td style="width: 150px">本月班別:
|
||||
<asp:DropDownList ID="ddBhrd" runat="server">
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
<td style="text-align: right">
|
||||
<asp:Button ID="btnSave" runat="server" AccessKey="S"
|
||||
CssClass="button" Text="S.儲存" OnClick="btnSave_Click" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<asp:Calendar ID="Calendar1" runat="server"
|
||||
BorderStyle="None" CellSpacing="3" CellPadding="0"
|
||||
NextPrevFormat="ShortMonth" SelectionMode="None"
|
||||
EnableViewState="False" Width="100%" DayNameFormat="Shortest" TitleFormat="MonthYear"
|
||||
OnDayRender="Calendar1_DayRender" OnPreRender="Calendar1_PreRender"
|
||||
OnVisibleMonthChanged="Calendar1_VisibleMonthChanged">
|
||||
<SelectedDayStyle BackColor="#333399" ForeColor="White" />
|
||||
<OtherMonthDayStyle ForeColor="#999999" />
|
||||
<DayStyle BackColor="#FFFFFF" Font-Bold="False"
|
||||
Height="64px" VerticalAlign="Top" Font-Size="16pt" />
|
||||
<NextPrevStyle Font-Bold="True" Font-Size="8pt"
|
||||
ForeColor="Blue" />
|
||||
<DayHeaderStyle BackColor="#E0E0E0" Font-Bold="True"
|
||||
Font-Size="8pt" ForeColor="Black" Height="32px" />
|
||||
<TitleStyle BackColor="#B5C7DE" Font-Bold="True"
|
||||
Font-Size="12pt" ForeColor="Black" Height="40px" />
|
||||
</asp:Calendar>
|
||||
|
||||
<asp:GridView runat="server" ID="gvBTME"
|
||||
AutoGenerateColumns="false"
|
||||
EnableViewState="false"
|
||||
Width="100%" EnableModelValidation="True">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="班表編號" SortExpression="BTTID">
|
||||
<ItemTemplate>
|
||||
<asp:Label runat="server" Text='<%# Eval("BTTID", "{0}") == "" ? "--未選擇--" : Eval("BTTID", "{0}") %>' ID="Label1"></asp:Label>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Center"></ItemStyle>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:BoundField DataField="BTNME" HeaderText="班表名稱" SortExpression="BTNME"></asp:BoundField>
|
||||
<asp:BoundField DataField="BTSTM" HeaderText="上班時間" SortExpression="BTSTM">
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="BTETM" HeaderText="下班時間" SortExpression="BTETM">
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="BTRST" HeaderText="午休開始" SortExpression="BTRST">
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="BTRED" HeaderText="午休結束" SortExpression="BTRED">
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function ()
|
||||
{
|
||||
$("#<%= ddBhrd.ClientID%>").change(function ()
|
||||
{
|
||||
$(".NORMAL").val($(this).val());
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,204 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using Wellan.Common;
|
||||
using Wellan.Data;
|
||||
|
||||
public partial class forms_basedata_fmRTME : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
private BtmeDAC Btme;
|
||||
private RtmeDAC Rtme;
|
||||
private BhrdDAC Bhrd;
|
||||
private List<BtmeItem> BtmeList;
|
||||
private List<RtmeItem> RtmeList;
|
||||
private string monthBhrd;
|
||||
private string[] holidayData = null;
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
Btme = new BtmeDAC(Query);
|
||||
Rtme = new RtmeDAC(Query);
|
||||
Bhrd = new BhrdDAC(Query);
|
||||
|
||||
if (txtYear.Text == "")
|
||||
{
|
||||
txtYear.Text = DateTime.UtcNow.AddHours(8).ToString("yyyy");
|
||||
ddlMonth.SelectedValue = DateTime.UtcNow.AddHours(8).ToString("MM");
|
||||
Calendar1.VisibleDate = DateTime.UtcNow.AddHours(8).Date;
|
||||
StoreYYMM();
|
||||
}
|
||||
}
|
||||
|
||||
private void StoreYYMM()
|
||||
{
|
||||
hfYear.Value = Calendar1.VisibleDate.ToString("yyyy", WGuard1.InvariantCulture);
|
||||
hfMonth.Value = Calendar1.VisibleDate.ToString("MM");
|
||||
}
|
||||
|
||||
protected void btnGoto_Click(object sender, EventArgs e)
|
||||
{
|
||||
Calendar1.VisibleDate = Convert.ToDateTime(txtYear.Text + "/" + ddlMonth.SelectedValue + "/01");
|
||||
StoreYYMM();
|
||||
}
|
||||
|
||||
protected void btnSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
for (int i = 1; i <= 31; i++)
|
||||
{
|
||||
if (Request[String.Format("BTME{0:00}", i)] != null)
|
||||
{
|
||||
var rttid = WDAC.GetStringValue(Request[String.Format("BTME{0:00}", i)]);
|
||||
|
||||
Rtme.SetDay(UserId, new DateTime(Convert.ToInt32(hfYear.Value), Convert.ToInt32(hfMonth.Value), i),
|
||||
rttid, UserId);
|
||||
}
|
||||
}
|
||||
|
||||
Calendar1.VisibleDate = Convert.ToDateTime(hfYear.Value + "/" + hfMonth.Value + "/01", WGuard1.InvariantCulture);
|
||||
}
|
||||
|
||||
protected void Calendar1_PreRender(object sender, EventArgs e)
|
||||
{
|
||||
// 取得班表資料
|
||||
BtmeList = Btme.SelectAll();
|
||||
BtmeList.Insert(0, new BtmeItem()
|
||||
{
|
||||
BTTID = "",
|
||||
BTNME = "預設班表",
|
||||
BTSTM = WGuard1.WSetR("UNRPARTIME", 1),
|
||||
BTETM = WGuard1.WSetR("UNRPARTIME", 2),
|
||||
BTRST = WGuard1.WSetR("UNRPARTIME", 3),
|
||||
BTRED = WGuard1.WSetR("UNRPARTIME", 4)
|
||||
});
|
||||
gvBTME.DataSource = BtmeList;
|
||||
gvBTME.DataBind();
|
||||
|
||||
ddBhrd.DataSource = BtmeList;
|
||||
ddBhrd.DataTextField = "BTTID";
|
||||
ddBhrd.DataValueField = "BTTID";
|
||||
ddBhrd.DataBind();
|
||||
|
||||
// 取得員工班表資料
|
||||
RtmeList = Rtme.SelectMonth(UserId, Calendar1.VisibleDate);
|
||||
monthBhrd = Bhrd.GetMonth(Calendar1.VisibleDate.Year, Calendar1.VisibleDate.Month);
|
||||
|
||||
// 取得節假日資料
|
||||
holidayData = new BhrdDAC().GetYear(Calendar1.VisibleDate.Year);
|
||||
}
|
||||
|
||||
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
|
||||
{
|
||||
e.Cell.Style["padding"] = "3px";
|
||||
e.Cell.Style["border"] = "2px solid white";
|
||||
|
||||
// 非本月,結束處理
|
||||
if (e.Day.IsOtherMonth)
|
||||
return;
|
||||
|
||||
// 本月,清除重畫
|
||||
e.Cell.Controls.Clear();
|
||||
Label aLabel = new Label();
|
||||
aLabel.Text = e.Day.Date.Day.ToString();
|
||||
aLabel.Font.Name = "Tahoma";
|
||||
aLabel.Font.Size = new FontUnit("16pt");
|
||||
aLabel.Font.Bold = true;
|
||||
aLabel.ForeColor = System.Drawing.Color.Black;
|
||||
e.Cell.Controls.Add(aLabel);
|
||||
|
||||
// 加入換行的 Literal
|
||||
Literal aBR = new Literal();
|
||||
aBR.Text = "<br/>";
|
||||
e.Cell.Controls.Add(aBR);
|
||||
|
||||
//加入 DropDownList 用以挑選班別
|
||||
DropDownList aDDL = new DropDownList();
|
||||
aDDL.ID = String.Format("BTME{0:00}", e.Day.Date.Day);
|
||||
aDDL.Style.Add("width", "95%");
|
||||
aDDL.Style.Add("top", "2px");
|
||||
aDDL.Style.Add("font-size", "9pt");
|
||||
|
||||
if (monthBhrd == null)
|
||||
{
|
||||
if (!e.Day.IsWeekend)
|
||||
aDDL.CssClass = "NORMAL";
|
||||
}
|
||||
else
|
||||
{
|
||||
var d = monthBhrd.Substring(e.Day.Date.Day - 1, 1);
|
||||
if (d == "-" || d == "B")
|
||||
aDDL.CssClass = "NORMAL";
|
||||
}
|
||||
|
||||
BtmeList.ForEach(btmeItem =>
|
||||
{
|
||||
aDDL.Items.Add(new ListItem(btmeItem.BTTID, btmeItem.BTTID));
|
||||
});
|
||||
|
||||
var rtmeItem = RtmeList.FirstOrDefault(p => p.RTDAT == e.Day.Date);
|
||||
if (rtmeItem != null)
|
||||
{
|
||||
aDDL.SelectedValue = rtmeItem.RTTID;
|
||||
}
|
||||
else
|
||||
{
|
||||
aDDL.SelectedValue = "";
|
||||
}
|
||||
|
||||
e.Cell.Controls.Add(aDDL);
|
||||
|
||||
var dayType = "-";
|
||||
if (holidayData == null)
|
||||
{
|
||||
if (e.Day.IsWeekend)
|
||||
dayType = "H";
|
||||
else
|
||||
dayType = "-";
|
||||
}
|
||||
else
|
||||
{
|
||||
dayType = holidayData[e.Day.Date.Month - 1].Substring(e.Day.Date.Day - 1, 1);
|
||||
}
|
||||
|
||||
switch (dayType)
|
||||
{
|
||||
case "-":
|
||||
e.Cell.BackColor = System.Drawing.Color.White;
|
||||
break;
|
||||
case "H":
|
||||
e.Cell.BackColor = System.Drawing.Color.FromArgb(0xFF99CC);
|
||||
break;
|
||||
case "B":
|
||||
e.Cell.BackColor = System.Drawing.Color.FromArgb(0xFFFF99);
|
||||
break;
|
||||
case "N":
|
||||
e.Cell.BackColor = System.Drawing.Color.FromArgb(0x0099FF);
|
||||
break;
|
||||
case "V":
|
||||
e.Cell.BackColor = System.Drawing.Color.FromArgb(0xFF9900);
|
||||
break;
|
||||
case "O":
|
||||
e.Cell.BackColor = System.Drawing.Color.FromArgb(0x99CC00);
|
||||
break;
|
||||
case "T":
|
||||
e.Cell.BackColor = System.Drawing.Color.FromArgb(0x999999);
|
||||
break;
|
||||
case "E":
|
||||
e.Cell.BackColor = System.Drawing.Color.FromArgb(0xCC7FFF);
|
||||
break;
|
||||
case "A":
|
||||
e.Cell.BackColor = System.Drawing.Color.FromArgb(0x7FCCFF);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e)
|
||||
{
|
||||
txtYear.Text = Calendar1.VisibleDate.ToString("yyyy");
|
||||
ddlMonth.SelectedValue = Calendar1.VisibleDate.ToString("MM");
|
||||
StoreYYMM();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,211 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="fmRbsa.ascx.cs"
|
||||
Inherits="forms_worker_fmRbsa" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI" TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"
|
||||
Text="補休補登作業" TextMessageId=""></cc1:WLabel>
|
||||
|
||||
<style>
|
||||
div.notice {
|
||||
border: 2px solid red;
|
||||
padding: 10px 20px;
|
||||
margin: 10px 20px;
|
||||
background-color: #FFCEFF;
|
||||
line-height: 150%;
|
||||
}
|
||||
|
||||
div.notice > ul {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="notice">
|
||||
請注意!
|
||||
<ul>
|
||||
<li>補休補登作業輸入的補休時數,在請假使用補休時數時,一律優先使用。</li>
|
||||
<li>補休補登時數用完之後,才使用加班單累積的補休時數。</li>
|
||||
<li>正常狀況請從管理系統的加班處理輸入應累積的補休時數。</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<asp:CustomValidator ID="cvMessage" runat="server" Display="None"></asp:CustomValidator>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:Label ID="Label1" runat="server" Text="年度:"></asp:Label>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtYear" runat="server" Columns="4"></asp:TextBox>
|
||||
</td>
|
||||
<td>
|
||||
<asp:Button ID="btnYY" runat="server" CssClass="button" OnClick="btnYY_Click"
|
||||
Text="確定年度" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:Label ID="Label2" runat="server" Text="專案:"></asp:Label>
|
||||
</td>
|
||||
<td>
|
||||
<asp:DropDownList ID="ddl專案" runat="server">
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
<td>
|
||||
<asp:Button ID="btnSearch" runat="server" CssClass="button" OnClick="btnSearch_Click"
|
||||
Text="確定專案" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:ObjectDataSource ID="dsRbsa" runat="server" DeleteMethod="DeleteOne"
|
||||
OldValuesParameterFormatString="OLD_{0}" OnSelecting="dsRbsa_Selecting"
|
||||
OnUpdating="dsRbsa_Updating" SelectMethod="Select" TypeName="RbsaDAC"
|
||||
UpdateMethod="UpdateOne">
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_RBREN" Type="String" />
|
||||
</DeleteParameters>
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="ddl專案" Name="RBPYN" PropertyName="SelectedValue"
|
||||
Type="String" />
|
||||
</SelectParameters>
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="OLD_RBREN" Type="String" />
|
||||
<asp:Parameter Name="RBENO" Type="String" />
|
||||
<asp:Parameter Name="RBPYN" Type="String" />
|
||||
<asp:Parameter Name="RBDAT" Type="DateTime" />
|
||||
<asp:Parameter Name="RBTCT" Type="Int32" />
|
||||
<asp:Parameter Name="TRUSR" Type="String" />
|
||||
</UpdateParameters>
|
||||
</asp:ObjectDataSource>
|
||||
<asp:Panel ID="Panel1" runat="server" Visible="False" Width="562px">
|
||||
<table border="1" cellpadding="3" cellspacing="0" style="table-layout:fixed;">
|
||||
<tr>
|
||||
<th style="width: 100px">
|
||||
</th>
|
||||
<th style="width: 240px">
|
||||
<asp:Label ID="Label4" runat="server" Text="人員編號"></asp:Label>
|
||||
</th>
|
||||
<th style="width: 120px">
|
||||
<asp:Label ID="Label5" runat="server" Text="補休日期"></asp:Label>
|
||||
</th>
|
||||
<th style="width: 100px">
|
||||
<asp:Label ID="Label6" runat="server" Text="補休時數"></asp:Label>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:Button ID="btnInsert" runat="server" Text="新增"
|
||||
CssClass="button" onclick="btnInsert_Click" />
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellpadding="0" cellspacing="0" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td style="width: 100px">
|
||||
<asp:TextBox ID="txtRBENO" runat="server" CssClass="textInput"
|
||||
MaxLength="10" EnableViewState="False"></asp:TextBox>
|
||||
</td>
|
||||
<td style="width: 20px">
|
||||
<asp:ImageButton ID="btnRBENO_WQRY" runat="server" ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
<td class="dataDisplayCell">
|
||||
<asp:Label ID="lbRBENOX" runat="server" CssClass="textInput"></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<cc1:WDateTextBox ID="txtRBDAT" runat="server"
|
||||
CssClass="textInput" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtRBTCT" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:GridView ID="gvRbsa" runat="server" AutoGenerateColumns="False"
|
||||
DataKeyNames="RBREN" DataSourceID="dsRbsa" EnableModelValidation="True"
|
||||
OnRowCommand="gvRbsa_RowCommand" ShowHeader="False" CellPadding="3"
|
||||
BorderWidth="1px" CssClass="fixtable" AllowPaging="True"
|
||||
PageSize="20" onrowdatabound="gvRbsa_RowDataBound"
|
||||
onrowupdating="gvRbsa_RowUpdating">
|
||||
<Columns>
|
||||
<asp:TemplateField>
|
||||
<EditItemTemplate>
|
||||
<asp:Button ID="Button3" runat="server" CommandName="Update"
|
||||
CssClass="button" Text="存檔" UseSubmitBehavior="False" />
|
||||
<asp:Button ID="Button4" runat="server" CommandName="Cancel"
|
||||
CssClass="button" Text="取消" UseSubmitBehavior="False" />
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Button ID="Button1" runat="server" CommandName="Edit" CssClass="button"
|
||||
Text="編輯" UseSubmitBehavior="False" />
|
||||
<asp:Button ID="Button2" runat="server" CommandName="Delete"
|
||||
CssClass="button" Text="刪除" UseSubmitBehavior="False" />
|
||||
</ItemTemplate>
|
||||
<HeaderStyle Width="100px" />
|
||||
<ItemStyle Width="100px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="人員編號">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbRBENO" runat="server" Text='<%# Bind("RBENO") %>'></asp:Label>
|
||||
<asp:Label ID="lbRBENOX" runat="server"
|
||||
Text='<%# GetLookup("BPSN", Eval("RBENO", "{0:c}"), "BPNME", "") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<EditItemTemplate>
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
style="table-layout: fixed">
|
||||
<tr>
|
||||
<td style="width: 100px">
|
||||
<asp:TextBox ID="txtRBENO" runat="server"
|
||||
CssClass="textInput" EnableViewState="False" MaxLength="10"
|
||||
Text='<%# Bind("RBENO") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td style="width: 20px">
|
||||
<asp:ImageButton ID="btnRBENO_WQRY" runat="server"
|
||||
ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
<td class="dataDisplayCell">
|
||||
<asp:Label ID="lbRBENOX" runat="server"
|
||||
CssClass="textInput"
|
||||
Text='<%# GetLookup("BPSN", Eval("RBENO", "{0:c}"), "BPNME", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</EditItemTemplate>
|
||||
<HeaderStyle HorizontalAlign="Center" Width="240px" />
|
||||
<ItemStyle HorizontalAlign="Center" Width="240px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="補休日期">
|
||||
<EditItemTemplate>
|
||||
<cc1:WDateTextBox ID="txtRBDAT" runat="server"
|
||||
CssClass="textInput" DateOrder="YMD"
|
||||
Value='<%# Bind("RBDAT") %>' />
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbRBDAT" runat="server"
|
||||
Text='<%# Eval("RBDAT", "{0:yyyyMMdd}") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<HeaderStyle HorizontalAlign="Center" Width="120px" />
|
||||
<ItemStyle HorizontalAlign="Center" Width="120px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="補休時數">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbRBTCT" runat="server" Text='<%# Bind("RBTCT") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<EditItemTemplate>
|
||||
<asp:TextBox ID="txtRBTCT" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RBTCT") %>'></asp:TextBox>
|
||||
</EditItemTemplate>
|
||||
<HeaderStyle HorizontalAlign="Center" Width="100px" />
|
||||
<ItemStyle HorizontalAlign="Center" Width="100px" />
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<EmptyDataTemplate>
|
||||
<asp:Label ID="lbEmpty" runat="server" CssClass="errorLabel" Font-Bold="True"
|
||||
Text="目前條件之下沒有資料"></asp:Label>
|
||||
</EmptyDataTemplate>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="WGridViewPager1" runat="server" />
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
</asp:Panel>
|
||||
@@ -0,0 +1,203 @@
|
||||
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_fmRbsa : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
private int yy;
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
txtYear.Focus();
|
||||
//if (IsPostBack)
|
||||
// gvRbsa.DataBind();
|
||||
}
|
||||
|
||||
private void 註冊按鈕事件(Control owner)
|
||||
{
|
||||
RegisterLookupEvent(owner, "btnRBENO_WQRY", "txtRBENO",
|
||||
"txtRBENO,lbRBENOX", "BPSN",
|
||||
"EXISTS (SELECT RANUM FROM RASN WHERE RAPYN='" + ddl專案.SelectedValue + "' AND RANUM=BPENO)",
|
||||
false);
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
}
|
||||
|
||||
protected override void LoadControlState(object savedState)
|
||||
{
|
||||
base.LoadControlState(savedState);
|
||||
註冊按鈕事件(this);
|
||||
}
|
||||
|
||||
protected void btnYY_Click(object sender, EventArgs e)
|
||||
{
|
||||
yy = WDAC.GetInt32Value(txtYear.Text);
|
||||
ddl專案.DataSource = new BpaaDAC().GetBpaaWithTY(yy + WGuard1.CY11);
|
||||
ddl專案.DataTextField = "BPPYM";
|
||||
ddl專案.DataValueField = "BPPYN";
|
||||
ddl專案.DataBind();
|
||||
}
|
||||
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!CheckProjectRight())
|
||||
return;
|
||||
|
||||
Panel1.Visible = true;
|
||||
註冊按鈕事件(this);
|
||||
gvRbsa.DataBind();
|
||||
}
|
||||
|
||||
protected void dsRbsa_Updating(object sender, ObjectDataSourceMethodEventArgs e)
|
||||
{
|
||||
e.InputParameters["RBPYN"] = ddl專案.SelectedValue;
|
||||
e.InputParameters["TRUSR"] = UserId;
|
||||
}
|
||||
|
||||
protected void gvRbsa_RowCommand(object sender, GridViewCommandEventArgs e)
|
||||
{
|
||||
/*
|
||||
if (e.CommandName == "Save")
|
||||
{
|
||||
yy = WDAC.GetInt32Value(txtYear.Text);
|
||||
int rytot = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("TextBox1") as TextBox).Text);
|
||||
new RyerDAC(Query).UpdateOne(e.CommandArgument.ToString(), yy + WGuard1.CY11, rytot, UserId);
|
||||
|
||||
gvRbsa.DataBind();
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
protected void dsRbsa_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
|
||||
{
|
||||
e.InputParameters["RBPYN"] = ddl專案.SelectedValue;
|
||||
if (e.InputParameters["RBPYN"] == null)
|
||||
e.InputParameters["RBPYN"] = "";
|
||||
}
|
||||
|
||||
protected void btnInsert_Click(object sender, EventArgs e)
|
||||
{
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
|
||||
if (txtRBENO.Text.Trim().Length == 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = "請輸入人員編號";
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
DateTime rbdat = txtRBDAT.Value;
|
||||
if (rbdat.Ticks == 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = "請輸入正確的日期";
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
yy = WDAC.GetInt32Value(txtYear.Text);
|
||||
if (rbdat.Year != yy + WGuard1.CY11)
|
||||
{
|
||||
cvMessage.ErrorMessage = "請輸入與作業年度同年度的日期";
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
int rbtct;
|
||||
if (!Int32.TryParse(txtRBTCT.Text, out rbtct))
|
||||
{
|
||||
cvMessage.ErrorMessage = "請輸入正確的時數";
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
RbsaDAC rbsaDao = new RbsaDAC(Query);
|
||||
rbsaDao.InsertOne(txtRBENO.Text, ddl專案.SelectedValue, rbdat, rbtct, UserId);
|
||||
|
||||
gvRbsa.DataBind();
|
||||
}
|
||||
|
||||
protected void gvRbsa_RowUpdating(object sender, GridViewUpdateEventArgs e)
|
||||
{
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
|
||||
if (e.NewValues["RBENO"] == null || e.NewValues["RBENO"].ToString().Trim().Length == 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = "請輸入人員編號";
|
||||
cvMessage.IsValid = false;
|
||||
e.Cancel = true;
|
||||
return;
|
||||
}
|
||||
|
||||
DateTime rbdat = Convert.ToDateTime(e.NewValues["RBDAT"]);
|
||||
if (rbdat.Ticks == 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = "請輸入正確的日期";
|
||||
cvMessage.IsValid = false;
|
||||
e.Cancel = true;
|
||||
return;
|
||||
}
|
||||
|
||||
yy = WDAC.GetInt32Value(txtYear.Text);
|
||||
if (rbdat.Year != yy + WGuard1.CY11)
|
||||
{
|
||||
cvMessage.ErrorMessage = "請輸入與作業年度同年度的日期";
|
||||
cvMessage.IsValid = false;
|
||||
e.Cancel = true;
|
||||
return;
|
||||
}
|
||||
|
||||
int rbtct;
|
||||
if (e.NewValues["RBTCT"] == null || !Int32.TryParse(e.NewValues["RBTCT"].ToString(), out rbtct))
|
||||
{
|
||||
cvMessage.ErrorMessage = "請輸入正確的時數";
|
||||
cvMessage.IsValid = false;
|
||||
e.Cancel = true;
|
||||
return;
|
||||
}
|
||||
|
||||
e.NewValues["RBDAT"] = rbdat;
|
||||
e.NewValues["RBTCT"] = rbtct;
|
||||
}
|
||||
|
||||
protected void gvRbsa_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
if (e.Row.RowType == DataControlRowType.DataRow)
|
||||
註冊按鈕事件(e.Row.Cells[1]);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected bool CheckProjectRight()
|
||||
{
|
||||
// 檢查此使用者是否有權限處理這個專案
|
||||
BprmDAC bprm = new BprmDAC(Query);
|
||||
if (!bprm.GetRight(ddl專案.SelectedValue, UserId))
|
||||
{
|
||||
//MultiView1.Visible = false;
|
||||
cvMessage.ErrorMessage = "對不起,你沒有處理這個專案的權限!";
|
||||
cvMessage.IsValid = false;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,754 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmRowk.ascx.cs" Inherits="forms_worker_fmRowk" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server"
|
||||
CssClass="pageTitle" TextMessageId="FMROWK.NAME"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage"
|
||||
runat="server" Display="None"></asp:CustomValidator>
|
||||
<table>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="WLabel6" runat="server" TextMessageId="">年度:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtYY" runat="server" Columns="4"
|
||||
CssClass="textInput1" MaxLength="4"></asp:TextBox><cc1:WButton
|
||||
ID="btnYY" runat="server" AccessKey="Y"
|
||||
CssClass="button" OnClick="btnYY_Click"
|
||||
Text="Y.確定" /></td>
|
||||
<td class="dataEditCell"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<cc1:WLabel ID="WLabel3" runat="server"
|
||||
TextMessageId="">專案:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlROPYN"
|
||||
runat="server" CssClass="textInput1"
|
||||
DataTextField="BPPYM" DataValueField="BPPYN"
|
||||
Width="500px">
|
||||
</cc1:WDropDownList></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WButton ID="Next" runat="server"
|
||||
AccessKey="J" CausesValidation="False"
|
||||
CssClass="button" OnClick="Next_Click"
|
||||
Text="J.選擇專案" UseSubmitBehavior="False" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:MultiView ID="MultiView1"
|
||||
runat="server" ActiveViewIndex="1">
|
||||
<asp:View ID="SearchView" runat="server">
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
AccessKey="F" CssClass="button"
|
||||
OnClick="btnSearch_Click" Text="F.查詢"
|
||||
TextMessageId="F.+SEARCH"></cc1:WButton>
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
AccessKey="I" CssClass="button"
|
||||
OnClick="btnInsert_Click" Text="I.新增"
|
||||
TextMessageId="I.+INSERT"></cc1:WButton>
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
AccessKey="C" CssClass="button"
|
||||
OnClick="btnCancel_Click" Text="C.取消"
|
||||
TextMessageId="C.+CANCEL"></cc1:WButton>
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 100px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 110px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbROENO" runat="server"
|
||||
TextMessageId="ROWK.ROENO+:"></cc1:WLabel>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtROENO" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbROYMM" runat="server"
|
||||
TextMessageId="ROWK.ROYMM+:"></cc1:WLabel>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtROYMM" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:View>
|
||||
<asp:View ID="EditView" runat="server">
|
||||
<asp:SqlDataSource ID="dsROWKGrid"
|
||||
runat="server" ConflictDetection="CompareAllValues"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT * FROM ROWK WHERE 1=0"></asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsROWKForm"
|
||||
runat="server" ConflictDetection="CompareAllValues"
|
||||
DeleteCommand="DELETE ROWK
|
||||
WHERE ROENO=@OLD_ROENO
|
||||
AND ROYMM=@OLD_ROYMM
|
||||
AND APPNO = @OLD_APPNO"
|
||||
InsertCommand="INSERT INTO ROWK
|
||||
(ROENO, ROYMM, ROPYN, ROT01, ROT02, ROT03, ROT04, ROT05, ROA01, ROA02, ROA03, ROA05, TRDAT, TRMOD, TRUSR, APPNO)
|
||||
VALUES
|
||||
(@ROENO, @ROYMM, @ROPYN, @ROT01 * 60, @ROT02 * 60, @ROT03 * 60, @ROT04 * 60, @ROT05 * 60, @ROA01, @ROA02, @ROA03, @ROA05, GETDATE(), 'INSERT', @TRUSR, 1)"
|
||||
OldValuesParameterFormatString="OLD_{0}"
|
||||
SelectCommand="SELECT * FROM ROWK WHERE ROENO=@ROENO AND ROYMM=@ROYMM"
|
||||
UpdateCommand="UPDATE ROWK SET
|
||||
ROENO = @ROENO,
|
||||
ROYMM = @ROYMM,
|
||||
ROT01 = @ROT01 * 60,
|
||||
ROT02 = @ROT02 * 60,
|
||||
ROT03 = @ROT03 * 60,
|
||||
ROT04 = @ROT04 * 60,
|
||||
ROT05 = @ROT05 * 60,
|
||||
ROA01 = @ROA01,
|
||||
ROA02 = @ROA02,
|
||||
ROA03 = @ROA03,
|
||||
ROA05 = @ROA05,
|
||||
TRDAT = GETDATE(),
|
||||
TRMOD = 'UPDATE',
|
||||
TRUSR = @TRUSR,
|
||||
APPNO = APPNO + 1
|
||||
WHERE ROENO=@OLD_ROENO
|
||||
AND ROYMM=@OLD_ROYMM
|
||||
AND APPNO = @OLD_APPNO"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient">
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="gvROWK"
|
||||
Name="ROENO" PropertyName="SelectedDataKey["ROENO"]" />
|
||||
<asp:ControlParameter ControlID="gvROWK"
|
||||
Name="ROYMM" PropertyName="SelectedDataKey["ROYMM"]" />
|
||||
</SelectParameters>
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_ROENO" />
|
||||
<asp:Parameter Name="OLD_ROYMM" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</DeleteParameters>
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="ROENO" />
|
||||
<asp:Parameter Name="ROYMM" />
|
||||
<asp:Parameter Name="ROT01" />
|
||||
<asp:Parameter Name="ROT02" />
|
||||
<asp:Parameter Name="ROT03" />
|
||||
<asp:Parameter Name="ROT04" />
|
||||
<asp:Parameter Name="ROT05" />
|
||||
<asp:Parameter Name="ROA01" />
|
||||
<asp:Parameter Name="ROA02" />
|
||||
<asp:Parameter Name="ROA03" />
|
||||
<asp:Parameter Name="ROA05" />
|
||||
<asp:SessionParameter DefaultValue=""
|
||||
Name="TRUSR" SessionField="W_CUSR" />
|
||||
<asp:Parameter Name="OLD_ROENO" />
|
||||
<asp:Parameter Name="OLD_ROYMM" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</UpdateParameters>
|
||||
<InsertParameters>
|
||||
<asp:Parameter Name="ROENO" />
|
||||
<asp:Parameter Name="ROYMM" />
|
||||
<asp:Parameter Name="ROPYN" />
|
||||
<asp:Parameter Name="ROT01" />
|
||||
<asp:Parameter Name="ROT02" />
|
||||
<asp:Parameter Name="ROT03" />
|
||||
<asp:Parameter Name="ROT04" />
|
||||
<asp:Parameter Name="ROT05" />
|
||||
<asp:Parameter Name="ROA01" />
|
||||
<asp:Parameter Name="ROA02" />
|
||||
<asp:Parameter Name="ROA03" />
|
||||
<asp:Parameter Name="ROA05" />
|
||||
<asp:SessionParameter DefaultValue=""
|
||||
Name="TRUSR" SessionField="W_CUSR" />
|
||||
</InsertParameters>
|
||||
</asp:SqlDataSource>
|
||||
|
||||
<asp:FormView ID="fvROWK" runat="server"
|
||||
DataKeyNames="ROENO,ROYMM,APPNO"
|
||||
DataSourceID="dsROWKForm">
|
||||
<ItemTemplate>
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
AccessKey="I" CommandName="New"
|
||||
CssClass="button" Text="I.新增"
|
||||
TextMessageId="I.+INSERT"></cc1:WButton>
|
||||
<cc1:WButton ID="btnEdit" runat="server"
|
||||
AccessKey="M" CommandName="Edit"
|
||||
CssClass="button" Text="M.更正"
|
||||
TextMessageId="M.+UPDATE"></cc1:WButton>
|
||||
<cc1:WButton ID="btnDelete" runat="server"
|
||||
AccessKey="T" CommandName="Delete"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmDelete);"
|
||||
Text="T.刪除" TextMessageId="T.+DELETE"></cc1:WButton>
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
AccessKey="F" CommandName="Search"
|
||||
CssClass="button" Text="F.查詢"
|
||||
TextMessageId="F.+SEARCH"></cc1:WButton>
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 100px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 100px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 140px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 100px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbROWK_ROENOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROENO+:">員工編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbROWK_ROENO" runat="server"
|
||||
Text='<%# Bind("ROENO", "{0:c}") %>'
|
||||
CssClass="textInput"></asp:Label>
|
||||
</td>
|
||||
<td class="dataDisplayCell">
|
||||
<asp:Label ID="lbROWK_ROENOX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPSN", Eval("ROENO", "{0:c}"), "BPNME", "") %>'></asp:Label>
|
||||
</td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbROWK_ROPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROPYN+:">專案年度編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbROWK_ROPYN" runat="server"
|
||||
Text='<%# Bind("ROPYN", "{0:c}") %>'
|
||||
CssClass="textInput"></asp:Label>
|
||||
</td>
|
||||
<td colspan="3" class="dataDisplayCell">
|
||||
<asp:Label ID="lbROWK_ROPYNX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("ROPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROYMMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROYMM+:">月份:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbROWK_ROYMM" runat="server"
|
||||
Text='<%# Bind("ROYMM", "{0:yyyyMM}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROT01+:">前二加班時數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbROWK_ROT01" runat="server"
|
||||
Text='<%# Bind("ROT01", "{0:##0.##}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT02Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROT02+:">後二加班時數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbROWK_ROT02" runat="server"
|
||||
Text='<%# Bind("ROT02", "{0:##0.##}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel7"
|
||||
runat="server" CssClass="controlLabel">超過8小時加班時數:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbROWK_ROT05" runat="server"
|
||||
Text='<%# Bind("ROT05", "{0:##,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT03Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROT03+:">假日加班時數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbROWK_ROT03" runat="server"
|
||||
Text='<%# Bind("ROT03", "{0:##0.##}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbROWK_ROA01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROA01+:">前二加班費:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbROWK_ROA01" runat="server"
|
||||
Text='<%# Bind("ROA01", "{0:##,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbROWK_ROA02Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROA02+:">後二加班費:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbROWK_ROA02" runat="server"
|
||||
Text='<%# Bind("ROA02", "{0:##,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="WLabel5"
|
||||
runat="server" CssClass="controlLabel">超過8小時加班費:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbROWK_ROA05" runat="server"
|
||||
Text='<%# Bind("ROA05", "{0:##,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbROWK_ROA03Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROA03+:">假日加班費:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbROWK_ROA03" runat="server"
|
||||
Text='<%# Bind("ROA03", "{0:##,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT04Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROT04+:">申請補休時數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbROWK_ROT04" runat="server"
|
||||
Text='<%# Bind("ROT04", "{0:##0.##}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel2" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">合計加班時數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbROWK_RPT99" runat="server"
|
||||
CssClass="textInput" Text='<%# String.Format("{0:###,##0.##}", Convert.ToInt32(Eval("ROT01")) + Convert.ToInt32(Eval("ROT02")) + Convert.ToInt32(Eval("ROT03"))) %>'></asp:Label>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="WLabel4" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">合計加班費:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbROWK_ROA99" runat="server"
|
||||
CssClass="textInput" Text='<%# String.Format("{0:###,##0}", Convert.ToInt32(Eval("ROA01")) + Convert.ToInt32(Eval("ROA02")) + Convert.ToInt32(Eval("ROA03"))) %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</ItemTemplate>
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
AccessKey="S" CommandName="Update"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmSave);"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE"></cc1:WButton>
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
AccessKey="C" CommandName="Cancel"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL"></cc1:WButton>
|
||||
<asp:RequiredFieldValidator ID="rfvROENO"
|
||||
runat="server" ControlToValidate="txtROWK_ROENO"
|
||||
Display="None" ErrorMessage="請輸入人員編號"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvROYMM"
|
||||
runat="server" ControlToValidate="txtROWK_ROYMM"
|
||||
Display="None" ErrorMessage="請輸入月份"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvROT01"
|
||||
runat="server" ControlToValidate="txtROWK_ROT01"
|
||||
Display="None" ErrorMessage="請輸入前二加班時數"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvROT02"
|
||||
runat="server" ControlToValidate="txtROWK_ROT02"
|
||||
Display="None" ErrorMessage="請輸入後二加班時數"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvROT03"
|
||||
runat="server" ControlToValidate="txtROWK_ROT03"
|
||||
Display="None" ErrorMessage="請輸入假日加班時數"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvROT04"
|
||||
runat="server" ControlToValidate="txtROWK_ROT04"
|
||||
Display="None" ErrorMessage="請輸入申請補休時數"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvROT05"
|
||||
runat="server" ControlToValidate="txtROWK_ROT05"
|
||||
Display="None" ErrorMessage="請輸入超過8小時加班時數"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvROENO"
|
||||
runat="server" ControlToValidate="txtROWK_ROENO"
|
||||
Display="None" ErrorMessage="員工編號不存在"
|
||||
OnServerValidate="cvROENO_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvROYMM"
|
||||
runat="server" ControlToValidate="txtROWK_ROYMM"
|
||||
Display="None" ErrorMessage="請輸入作業年度內的月份"
|
||||
OnServerValidate="cvROYMM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvROT01"
|
||||
runat="server" ControlToValidate="txtROWK_ROT01"
|
||||
Display="None" ErrorMessage="前二加班時數請輸入數字"
|
||||
OnServerValidate="cvROT01_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvROT02"
|
||||
runat="server" ControlToValidate="txtROWK_ROT02"
|
||||
Display="None" ErrorMessage="後二加班時數請輸入數字"
|
||||
OnServerValidate="cvROT01_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvROT03"
|
||||
runat="server" ControlToValidate="txtROWK_ROT03"
|
||||
Display="None" ErrorMessage="假日加班時數請輸入數字"
|
||||
OnServerValidate="cvROT01_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvROT04"
|
||||
runat="server" ControlToValidate="txtROWK_ROT04"
|
||||
Display="None" ErrorMessage="申請補休時數請輸入數字"
|
||||
OnServerValidate="cvROT01_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvROT05"
|
||||
runat="server" ControlToValidate="txtROWK_ROT05"
|
||||
Display="None" ErrorMessage="超過8小時加班時數請輸入數字"
|
||||
OnServerValidate="cvROT01_ServerValidate"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" style="table-layout: fixed"
|
||||
width="1">
|
||||
<tr>
|
||||
<td colspan="1" style="width: 100px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 100px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 140px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 100px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROENOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROENO+:">員工編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<table border="0" cellpadding="0"
|
||||
cellspacing="0" style="width: 100%; height: 100%">
|
||||
<tr>
|
||||
<td width="100">
|
||||
<asp:TextBox ID="txtROWK_ROENO"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="10" Text='<%# Bind("ROENO", "{0:c}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td>
|
||||
<asp:ImageButton ID="btnROWK_ROENO_WQRY"
|
||||
runat="server" ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="dataDisplayCell">
|
||||
<asp:Label ID="lbROWK_ROENOX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPSN", Eval("ROENO", "{0:c}"), "BPNME", "") %>'></asp:Label>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROPYN+:">專案年度編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbROWK_ROPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("ROPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td class="dataDisplayCell" colspan="3">
|
||||
<asp:Label ID="lbROWK_ROPYNX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("ROPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROYMMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROYMM+:">月份:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtROWK_ROYMM"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="8" Text='<%# Bind("ROYMM", "{0:yyyyMM}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROT01+:">前二加班時數:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtROWK_ROT01"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="8" Text='<%# Bind("ROT01", "{0}") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT02Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROT02+:">後二加班時數:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtROWK_ROT02"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="8" Text='<%# Bind("ROT02", "{0}") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT05Label"
|
||||
runat="server" CssClass="controlLabel">超過8小時加班時數:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtROWK_ROT05"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="8" Text='<%# Bind("ROT05", "{0}") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT03Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROT03+:">假日加班時數:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtROWK_ROT03"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="8" Text='<%# Bind("ROT03", "{0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT04Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROT04+:">申請補休時數:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtROWK_ROT04"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="8" Text='<%# Bind("ROT04", "{0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="rfROWK_APPNO"
|
||||
runat="server" Value='<%# Bind("APPNO", "{0}") %>' />
|
||||
</EditItemTemplate>
|
||||
<InsertItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
AccessKey="S" CommandName="Insert"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmSave);"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE"></cc1:WButton>
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
AccessKey="C" CommandName="Cancel"
|
||||
CssClass="button" OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL"></cc1:WButton>
|
||||
<asp:RequiredFieldValidator ID="rfvROENO"
|
||||
runat="server" ErrorMessage="請輸入人員編號"
|
||||
Display="None" ControlToValidate="txtROWK_ROENO"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvROYMM"
|
||||
runat="server" ErrorMessage="請輸入月份"
|
||||
Display="None" ControlToValidate="txtROWK_ROYMM"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvROT01"
|
||||
runat="server" ErrorMessage="請輸入前二加班時數"
|
||||
Display="None" ControlToValidate="txtROWK_ROT01"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvROT02"
|
||||
runat="server" ErrorMessage="請輸入後二加班時數"
|
||||
Display="None" ControlToValidate="txtROWK_ROT02"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvROT03"
|
||||
runat="server" ErrorMessage="請輸入假日加班時數"
|
||||
Display="None" ControlToValidate="txtROWK_ROT03"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvROT04"
|
||||
runat="server" ControlToValidate="txtROWK_ROT04"
|
||||
Display="None" ErrorMessage="請輸入申請補休時數"></asp:RequiredFieldValidator>
|
||||
<asp:RequiredFieldValidator ID="rfvROT05"
|
||||
runat="server" ControlToValidate="txtROWK_ROT05"
|
||||
Display="None" ErrorMessage="請輸入超過8小時加班時數"></asp:RequiredFieldValidator>
|
||||
<asp:CustomValidator ID="cvROENO"
|
||||
runat="server" ErrorMessage="員工編號不存在"
|
||||
Display="None" ControlToValidate="txtROWK_ROENO"
|
||||
OnServerValidate="cvROENO_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvROYMM"
|
||||
runat="server" ErrorMessage="請輸入作業年度內的月份"
|
||||
Display="None" ControlToValidate="txtROWK_ROYMM"
|
||||
OnServerValidate="cvROYMM_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvROT01"
|
||||
runat="server" ErrorMessage="前二加班時數請輸入數字"
|
||||
Display="None" ControlToValidate="txtROWK_ROT01"
|
||||
OnServerValidate="cvROT01_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvROT02"
|
||||
runat="server" ErrorMessage="後二加班時數請輸入數字"
|
||||
Display="None" ControlToValidate="txtROWK_ROT02"
|
||||
OnServerValidate="cvROT01_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvROT03"
|
||||
runat="server" ErrorMessage="假日加班時數請輸入數字"
|
||||
Display="None" ControlToValidate="txtROWK_ROT03"
|
||||
OnServerValidate="cvROT01_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvROT04"
|
||||
runat="server" ControlToValidate="txtROWK_ROT04"
|
||||
Display="None" ErrorMessage="申請補休時數請輸入數字"
|
||||
OnServerValidate="cvROT01_ServerValidate"></asp:CustomValidator>
|
||||
<asp:CustomValidator ID="cvROT05"
|
||||
runat="server" ControlToValidate="txtROWK_ROT05"
|
||||
Display="None" ErrorMessage="超過8小時加班時數請輸入數字"
|
||||
OnServerValidate="cvROT01_ServerValidate"></asp:CustomValidator>
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" style="table-layout: fixed"
|
||||
width="1">
|
||||
<tr>
|
||||
<td colspan="1" style="width: 100px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 100px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 140px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 100px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROENOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROENO+:">員工編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<table border="0" cellpadding="0"
|
||||
cellspacing="0" style="width: 100%; height: 100%">
|
||||
<tr>
|
||||
<td width="100">
|
||||
<asp:TextBox ID="txtROWK_ROENO"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="10" Text='<%# Bind("ROENO", "{0:c}") %>'></asp:TextBox>
|
||||
</td>
|
||||
<td>
|
||||
<asp:ImageButton ID="btnROWK_ROENO_WQRY"
|
||||
runat="server" ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="dataDisplayCell">
|
||||
<asp:Label ID="lbROWK_ROENOX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPSN", Eval("ROENO", "{0:c}"), "BPNME", "") %>'></asp:Label>
|
||||
</td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROPYN+:">專案年度編號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbROWK_ROPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# _ROPYN %>'></asp:Label></td>
|
||||
<td class="dataDisplayCell" colspan="3">
|
||||
<asp:Label ID="lbROWK_ROPYNX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", _ROPYN, "BPPYM", "") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROYMMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROYMM+:">月份:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtROWK_ROYMM"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="8" Text='<%# Bind("ROYMM", "{0:yyyyMM}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROT01+:">前二加班時數:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtROWK_ROT01"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="8" Text='<%# Bind("ROT01", "{0}") %>'></asp:TextBox></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT02Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROT02+:">後二加班時數:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtROWK_ROT02"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="8" Text='<%# Bind("ROT02", "{0}") %>'></asp:TextBox></td>
|
||||
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT05Label"
|
||||
runat="server" CssClass="controlLabel">超過8小時加班時數:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtROWK_ROT05"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="8" Text='<%# Bind("ROT05", "{0}") %>'></asp:TextBox></td>
|
||||
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT03Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROT03+:">假日加班時數:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtROWK_ROT03"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="8" Text='<%# Bind("ROT03", "{0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbROWK_ROT04Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="ROWK.ROT04+:">申請補休時數:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtROWK_ROT04"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="8" Text='<%# Bind("ROT04", "{0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
</InsertItemTemplate>
|
||||
</asp:FormView>
|
||||
|
||||
<asp:GridView ID="gvROWK" runat="server"
|
||||
AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="ROENO,ROYMM"
|
||||
DataSourceID="dsROWKGrid">
|
||||
<Columns>
|
||||
<asp:CommandField SelectText=""
|
||||
ShowSelectButton="True">
|
||||
<ItemStyle Font-Bold="True" Font-Underline="False"
|
||||
ForeColor="Orange" />
|
||||
</asp:CommandField>
|
||||
<asp:BoundField DataField="ROYMM"
|
||||
DataFormatString="{0:yyyyMM}"
|
||||
HeaderText="ROYMM" HtmlEncode="False"
|
||||
ReadOnly="True" SortExpression="ROYMM"
|
||||
AccessibleHeaderText="ROWK.ROYMM" />
|
||||
<asp:TemplateField HeaderText="ROENO"
|
||||
SortExpression="ROENO" AccessibleHeaderText="ROWK.ROENO">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label1" runat="server"
|
||||
CssClass="textInput1" Text='<%# Bind("ROENO") %>'></asp:Label>
|
||||
<asp:Label ID="lbROWK_ROENOX" runat="server"
|
||||
CssClass="textInput1" Text='<%# GetLookup("BPSN", Eval("ROENO", "{0:c}"), "BPNME", "") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="ROT01"
|
||||
AccessibleHeaderText="ROWK.ROT01"
|
||||
HtmlEncode="False" DataFormatString="{0:##0}"
|
||||
HeaderText="ROT01" SortExpression="ROT01">
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="ROT02"
|
||||
AccessibleHeaderText="ROWK.ROT02"
|
||||
HtmlEncode="False" DataFormatString="{0:##0}"
|
||||
HeaderText="ROT02" SortExpression="ROT02">
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="ROT03"
|
||||
AccessibleHeaderText="ROWK.ROT03"
|
||||
HtmlEncode="False" DataFormatString="{0:##0}"
|
||||
HeaderText="ROT03" SortExpression="ROT03">
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField HeaderText="合計加班時數">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbROWK_RPT99" runat="server"
|
||||
CssClass="textInput" Text='<%# String.Format("{0:###,##0}", Convert.ToInt32(Eval("ROT01")) + Convert.ToInt32(Eval("ROT02")) + Convert.ToInt32(Eval("ROT03"))) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="ROT04"
|
||||
AccessibleHeaderText="ROWK.ROT04"
|
||||
HtmlEncode="False" DataFormatString="{0:##0}"
|
||||
HeaderText="ROT04" SortExpression="ROT04">
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="ROA01"
|
||||
AccessibleHeaderText="ROWK.ROA01"
|
||||
HtmlEncode="False" DataFormatString="{0:##,##0}"
|
||||
HeaderText="ROA01" SortExpression="ROA01">
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="ROA02"
|
||||
AccessibleHeaderText="ROWK.ROA02"
|
||||
HtmlEncode="False" DataFormatString="{0:##,##0}"
|
||||
HeaderText="ROA02" SortExpression="ROA02">
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="ROA03"
|
||||
AccessibleHeaderText="ROWK.ROA03"
|
||||
HtmlEncode="False" DataFormatString="{0:##,##0}"
|
||||
HeaderText="ROA03" SortExpression="ROA03">
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField HeaderText="合計加班費">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbROWK_ROA99" runat="server"
|
||||
CssClass="textInput" Text='<%# String.Format("{0:###,##0}", Convert.ToInt32(Eval("ROA01")) + Convert.ToInt32(Eval("ROA02")) + Convert.ToInt32(Eval("ROA03"))) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="GridView1Pager" runat="server"></cc1:WGridViewPager>
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
@@ -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");
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,657 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmRsaj.ascx.cs" Inherits="forms_worker_fmRsaj" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle"
|
||||
TextMessageId="FMRSAJ.NAME"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage" runat="server"
|
||||
Display="None"></asp:CustomValidator>
|
||||
<asp:SqlDataSource ID="dsRSAJGrid" runat="server"
|
||||
ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM RSAJ WHERE (1 = 0)"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient" OnSelected="dsRSAJGrid_Selected"></asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsRSAJForm" runat="server"
|
||||
ConflictDetection="CompareAllValues" SelectCommand="SELECT * FROM RSAJ WHERE RSREN = @RSREN"
|
||||
DeleteCommand="DELETE RSAJ WHERE RSREN = @OLD_RSREN AND APPNO = @OLD_APPNO"
|
||||
InsertCommand="INSERT INTO RSAJ
|
||||
(RSREN, RSENO, RSPYN, RSYMM, RSAMT, RSDOC, APPNO, TRDAT, TRMOD, TRUSR)
|
||||
VALUES
|
||||
(@RSREN, @RSENO, @RSITM, @RSPYN, @RSYMM, @RSAMT, @RSDOC, 1, GETDATE(), 'INSERT', @TRUSR)"
|
||||
UpdateCommand="UPDATE RSAJ SET RSENO = @RSENO, RSPYN = @RSPYN, RSYMM = @RSYMM, RSAMT = @RSAMT, RSDOC = @RSDOC, APPNO = APPNO + 1, TRDAT = GETDATE(), TRMOD = 'UPDATE', TRUSR = @TRUSR WHERE RSREN = @OLD_RSREN AND APPNO = @OLD_APPNO"
|
||||
OldValuesParameterFormatString="OLD_{0}"
|
||||
OnInserting="dsRSAJForm_Inserting" OnUpdating="dsRSAJForm_Updating"
|
||||
OnDeleted="dsRSAJForm_Deleted" ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient">
|
||||
<SelectParameters>
|
||||
<asp:ControlParameter ControlID="RSAJGrid"
|
||||
Name="RSREN" PropertyName="SelectedDataKey["RSREN"]" />
|
||||
</SelectParameters>
|
||||
<DeleteParameters>
|
||||
<asp:Parameter Name="OLD_RSREN" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</DeleteParameters>
|
||||
<UpdateParameters>
|
||||
<asp:Parameter Name="RSENO" />
|
||||
<asp:Parameter Name="RSPYN" />
|
||||
<asp:Parameter Name="RSYMM" />
|
||||
<asp:Parameter Name="RSAMT" />
|
||||
<asp:Parameter Name="RSDOC" />
|
||||
<asp:SessionParameter DefaultValue="" Name="TRUSR"
|
||||
SessionField="W_CUSR" />
|
||||
<asp:Parameter Name="OLD_RSREN" />
|
||||
<asp:Parameter Name="OLD_APPNO" />
|
||||
</UpdateParameters>
|
||||
<InsertParameters>
|
||||
<asp:Parameter Name="RSREN" />
|
||||
<asp:Parameter Name="RSENO" />
|
||||
<asp:Parameter Name="RSPYN" />
|
||||
<asp:Parameter Name="RSYMM" />
|
||||
<asp:Parameter Name="RSAMT" />
|
||||
<asp:Parameter Name="RSDOC" />
|
||||
<asp:SessionParameter DefaultValue="" Name="TRUSR"
|
||||
SessionField="W_CUSR" />
|
||||
</InsertParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsRSAJ_RSENO" runat="server"
|
||||
ProviderName="System.Data.SqlClient">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="RSPYN" />
|
||||
<asp:Parameter Name="YYMM1" />
|
||||
<asp:Parameter Name="YYMM2" />
|
||||
<asp:Parameter Name="YYMM3" />
|
||||
<asp:Parameter Name="YYMM4" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<table border="0" cellpadding="0" cellspacing="2">
|
||||
<tr>
|
||||
<td colspan="1" style="width: 50px; height: 0px"></td>
|
||||
<td colspan="1" style="height: 0px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBPIDN" runat="server" TextMessageId="">年月:</cc1:WLabel>
|
||||
</td>
|
||||
<td nowrap="nowrap">
|
||||
<asp:TextBox ID="txtYYMM" runat="server"
|
||||
Columns="5" CssClass="textInput1" MaxLength="5"></asp:TextBox>
|
||||
<cc1:WButton ID="btnRSYMM" runat="server"
|
||||
AccessKey="Y" CssClass="button" Text="Y.確定"
|
||||
OnClick="btnSSMS_Click"></cc1:WButton></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="WLabel3" runat="server" TextMessageId="">專案:</cc1:WLabel></td>
|
||||
<td nowrap="nowrap">
|
||||
<cc1:WDropDownList ID="ddlRSPYN" runat="server"
|
||||
CssClass="textInput1" DataTextField="BPPYM"
|
||||
DataValueField="BPPYN" Width="500px">
|
||||
</cc1:WDropDownList>
|
||||
<cc1:WButton ID="Next" runat="server" AccessKey="J"
|
||||
CssClass="button" OnClick="Next_Click"
|
||||
Text="J.選擇專案" CausesValidation="False"
|
||||
UseSubmitBehavior="False" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:MultiView ID="MultiView1" runat="server"
|
||||
ActiveViewIndex="1" Visible="False">
|
||||
<asp:View ID="SearchView" runat="server">
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
TextMessageId="F.+SEARCH" CssClass="button"
|
||||
OnClick="btnSearch_Click" Text="F.查詢" AccessKey="F" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
TextMessageId="C.+CANCEL" CssClass="button"
|
||||
OnClick="btnCancel_Click" Text="C.取消" AccessKey="C" />
|
||||
<table style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 70px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 110px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 150px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbRSENO" runat="server" Text="人員編號:"
|
||||
TextMessageId="RSAJ.RSENO+:"></cc1:WLabel>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0" cellpadding="0" cellspacing="0"
|
||||
width="100%">
|
||||
<tr>
|
||||
<td width="100">
|
||||
<asp:TextBox ID="txtRSENO" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
<td>
|
||||
<asp:ImageButton ID="btnRSAJ_RSENO_WQRY"
|
||||
runat="server" ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtRSENOX" runat="server"
|
||||
CssClass="textInput"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<cc1:WLabel ID="lbMessage" runat="server"
|
||||
EnableViewState="False" ForeColor="Red"
|
||||
TextMessageId="" Visible="False"></cc1:WLabel>
|
||||
</asp:View>
|
||||
<asp:View ID="InsertView" runat="server">
|
||||
<cc1:WButton ID="btnSave1" runat="server"
|
||||
AccessKey="S" CssClass="button" OnClick="btnSave1_Click"
|
||||
OnClientClick="return confirm(msgConfirmSave);"
|
||||
Text="S.存檔" />
|
||||
<cc1:WButton ID="btnCancel1" runat="server"
|
||||
AccessKey="C" CssClass="button" OnClick="btnCancel1_Click"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.調整明細" />
|
||||
<cc1:WButton ID="btnClear1" runat="server"
|
||||
AccessKey="Z" CssClass="button" OnClientClick='if (confirm("是否確定清除畫面上輸入之全部資料?")) ClearInputs(999);return false;'
|
||||
Text="Z.清除" UseSubmitBehavior="False" /><table
|
||||
id="Table2" border="0" cellpadding="2"
|
||||
cellspacing="2" style="table-layout: fixed"
|
||||
width="1">
|
||||
<tr>
|
||||
<td align="center" colspan="1" style="width: 24px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 34px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 80px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 250px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 80px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 200px; height: 0px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="dataEditCell" colspan="1"></td>
|
||||
<td class="dataEditCell" colspan="1"></td>
|
||||
<td class="dataDisplayCell">
|
||||
<cc1:WLabel ID="lbRSAJ_RSYMMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="">年月</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSENOLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSENO">人員編號</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSAMTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSAMT">金額</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSDOCLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSDOC">備註</cc1:WLabel></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="1">1</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_01" runat="server"
|
||||
CssClass="button1" OnClientClick="ClearInputs(0);return false;"
|
||||
Text="清" UseSubmitBehavior="False" Width="34px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRSAJ_RSYMM_01" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<cc1:WDropDownList ID="ddlRSAJ_RSENO_01" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRSAJ_RSENO"
|
||||
DataTextField="BPNME" DataValueField="BPENO">
|
||||
</cc1:WDropDownList></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSAMT_01" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSDOC_01" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="1">2</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_02" runat="server"
|
||||
CssClass="button1" OnClientClick="ClearInputs(1);return false;"
|
||||
Text="清" UseSubmitBehavior="False" Width="34px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRSAJ_RSYMM_02" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRSAJ_RSENO_02" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRSAJ_RSENO"
|
||||
DataTextField="BPNME" DataValueField="BPENO">
|
||||
</asp:DropDownList></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSAMT_02" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSDOC_02" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="1">3</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_03" runat="server"
|
||||
CssClass="button1" OnClientClick="ClearInputs(2);return false;"
|
||||
Text="清" UseSubmitBehavior="False" Width="34px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRSAJ_RSYMM_03" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRSAJ_RSENO_03" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRSAJ_RSENO"
|
||||
DataTextField="BPNME" DataValueField="BPENO">
|
||||
</asp:DropDownList></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSAMT_03" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSDOC_03" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="1">4</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_04" runat="server"
|
||||
CssClass="button1" OnClientClick="ClearInputs(3);return false;"
|
||||
Text="清" UseSubmitBehavior="False" Width="34px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRSAJ_RSYMM_04" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRSAJ_RSENO_04" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRSAJ_RSENO"
|
||||
DataTextField="BPNME" DataValueField="BPENO">
|
||||
</asp:DropDownList></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSAMT_04" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSDOC_04" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="1">5</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_05" runat="server"
|
||||
CssClass="button1" OnClientClick="ClearInputs(4);return false;"
|
||||
Text="清" UseSubmitBehavior="False" Width="34px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRSAJ_RSYMM_05" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRSAJ_RSENO_05" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRSAJ_RSENO"
|
||||
DataTextField="BPNME" DataValueField="BPENO">
|
||||
</asp:DropDownList></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSAMT_05" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSDOC_05" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="1">6</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_06" runat="server"
|
||||
CssClass="button1" OnClientClick="ClearInputs(5);return false;"
|
||||
Text="清" UseSubmitBehavior="False" Width="34px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRSAJ_RSYMM_06" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRSAJ_RSENO_06" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRSAJ_RSENO"
|
||||
DataTextField="BPNME" DataValueField="BPENO">
|
||||
</asp:DropDownList></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSAMT_06" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSDOC_06" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="1">7</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_07" runat="server"
|
||||
CssClass="button1" OnClientClick="ClearInputs(6);return false;"
|
||||
Text="清" UseSubmitBehavior="False" Width="34px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRSAJ_RSYMM_07" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRSAJ_RSENO_07" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRSAJ_RSENO"
|
||||
DataTextField="BPNME" DataValueField="BPENO">
|
||||
</asp:DropDownList></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSAMT_07" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSDOC_07" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="1">8</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_08" runat="server"
|
||||
CssClass="button1" OnClientClick="ClearInputs(7);return false;"
|
||||
Text="清" UseSubmitBehavior="False" Width="34px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRSAJ_RSYMM_08" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRSAJ_RSENO_08" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRSAJ_RSENO"
|
||||
DataTextField="BPNME" DataValueField="BPENO">
|
||||
</asp:DropDownList></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSAMT_08" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSDOC_08" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="1">9</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_09" runat="server"
|
||||
CssClass="button1" OnClientClick="ClearInputs(8);return false;"
|
||||
Text="清" UseSubmitBehavior="False" Width="34px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRSAJ_RSYMM_09" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<asp:DropDownList ID="ddlRSAJ_RSENO_09" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRSAJ_RSENO"
|
||||
DataTextField="BPNME" DataValueField="BPENO">
|
||||
</asp:DropDownList></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSAMT_09" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSDOC_09" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="1">10</td>
|
||||
<td colspan="1">
|
||||
<cc1:WButton ID="btnClear_10" runat="server"
|
||||
CssClass="button1" OnClientClick="ClearInputs(9);return false;"
|
||||
Text="清" UseSubmitBehavior="False" Width="34px" /></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:TextBox ID="txtRSAJ_RSYMM_10" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td colspan="1">
|
||||
<cc1:WDropDownList ID="ddlRSAJ_RSENO_10" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRSAJ_RSENO"
|
||||
DataTextField="BPNME" DataValueField="BPENO">
|
||||
</cc1:WDropDownList></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSAMT_10" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text=""></asp:TextBox></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSDOC_10" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text=""></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:View>
|
||||
<asp:View ID="EditView" runat="server">
|
||||
<asp:FormView ID="RSAJForm" runat="server"
|
||||
DataSourceID="dsRSAJForm"
|
||||
OnDataBinding="RSAJForm_DataBinding"
|
||||
OnDataBound="RSAJForm_DataBound"
|
||||
OnItemCommand="RSAJForm_ItemCommand"
|
||||
OnItemDeleted="RSAJForm_ItemDeleted"
|
||||
OnItemInserted="RSAJForm_ItemInserted"
|
||||
OnItemUpdated="RSAJForm_ItemUpdated"
|
||||
OnModeChanged="RSAJForm_ModeChanged"
|
||||
OnModeChanging="RSAJForm_ModeChanging"
|
||||
OnItemUpdating="RSAJForm_ItemUpdating"
|
||||
OnItemInserting="RSAJForm_ItemInserting">
|
||||
<EditItemTemplate>
|
||||
<cc1:WButton ID="btnSave" runat="server"
|
||||
AccessKey="S" CommandName="Update" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmSave);"
|
||||
Text="S.存檔" TextMessageId="S.+SAVE" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
AccessKey="C" CommandName="Cancel" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmCancel);"
|
||||
Text="C.取消" TextMessageId="C.+CANCEL" />
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
style="table-layout: fixed" width="1">
|
||||
<tr>
|
||||
<td colspan="1" style="width: 90px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 90px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 90px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 90px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSRENLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSREN+:">單號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbRSAJ_RSREN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RSREN", "{0:c}") %>' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSPYNLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbRSAJ_RSPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RSPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td class="dataDisplayCell" colspan="3">
|
||||
<asp:Label ID="lbRSAJ_RSPYNX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("RSPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSYMMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSYMM+:">年月:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSYMM" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("RSYMM", "{0:yyyyMM}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSENOLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSENO+:">人員編號:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<cc1:WDropDownList ID="ddlRSAJ_RSENO_10" runat="server"
|
||||
CssClass="textInput" DataSourceID="dsRSAJ_RSENO"
|
||||
DataTextField="BPNME" DataValueField="BPENO"
|
||||
SelectedValue='<%# Bind("RSENO") %>'>
|
||||
</cc1:WDropDownList></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSAMTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSAMT+:">金額:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="1">
|
||||
<asp:TextBox ID="txtRSAJ_RSAMT" runat="server"
|
||||
CssClass="textInput" MaxLength="8" Text='<%# Bind("RSAMT", "{0:#######0}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSDOCLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSDOC+:">備註:</cc1:WLabel></td>
|
||||
<td class="dataEditCell" colspan="4">
|
||||
<asp:TextBox ID="txtRSAJ_RSDOC" runat="server"
|
||||
CssClass="textInput" MaxLength="70" Text='<%# Bind("RSDOC", "{0:c}") %>'></asp:TextBox></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfRSAJ_APPNO" runat="server"
|
||||
Value='<%# Bind("APPNO") %>' />
|
||||
</EditItemTemplate>
|
||||
<InsertItemTemplate>
|
||||
</InsertItemTemplate>
|
||||
<ItemTemplate>
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
AccessKey="I" CommandName="APPEND" CssClass="button"
|
||||
Text="I.新增" TextMessageId="I.+INSERT" />
|
||||
<cc1:WButton ID="btnEdit" runat="server"
|
||||
AccessKey="M" CommandName="Edit" CssClass="button"
|
||||
Text="M.更正" TextMessageId="M.+UPDATE" />
|
||||
<cc1:WButton ID="btnDelete" runat="server"
|
||||
AccessKey="T" CommandName="Delete" CssClass="button"
|
||||
OnClientClick="return confirm(msgConfirmDelete);"
|
||||
Text="T.刪除" TextMessageId="T.+DELETE" />
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
AccessKey="F" CommandName="Search" CssClass="button"
|
||||
Text="F.查詢" TextMessageId="F.+SEARCH" />
|
||||
<table border="0" cellpadding="2" cellspacing="2"
|
||||
style="table-layout: fixed" width="1">
|
||||
<tr>
|
||||
<td colspan="1" style="width: 90px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 90px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 90px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 90px; height: 0px"></td>
|
||||
<td colspan="1" style="width: 120px; height: 0px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSRENLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSREN+:">單號:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbRSAJ_RSREN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RSREN", "{0:c}") %>' />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSPYNLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbRSAJ_RSPYN" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RSPYN", "{0:c}") %>'></asp:Label></td>
|
||||
<td class="dataDisplayCell" colspan="3">
|
||||
<asp:Label ID="lbRSAJ_RSPYNX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("RSPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSYMMLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSYMM+:">年月:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbRSAJ_RSYMM" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RSYMM", "{0:yyyyMM}") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSENOLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSENO+:">人員編號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbRSAJ_RSENO" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RSENO", "{0:c}") %>'></asp:Label></td>
|
||||
<td class="dataDisplayCell" colspan="3">
|
||||
<asp:Label ID="lbRSAJ_RSENOX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPSN", Eval("RSENO", "{0:c}"), "BPNME", "") %>'></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSAMTLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSAMT+:">金額:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbRSAJ_RSAMT" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RSAMT", "{0:###,###,###,###,##0.####}") %>'></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbRSAJ_RSDOCLabel" runat="server"
|
||||
CssClass="controlLabel" TextMessageId="RSAJ.RSDOC+:">備註:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="4">
|
||||
<asp:Label ID="lbRSAJ_RSDOC" runat="server"
|
||||
CssClass="textInput" Text='<%# Bind("RSDOC", "{0:c}") %>'></asp:Label></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfRSAJ_APPNO" runat="server"
|
||||
Value='<%# Bind("APPNO") %>' />
|
||||
</ItemTemplate>
|
||||
<EmptyDataTemplate>
|
||||
<cc1:WButton ID="btnInsert" runat="server"
|
||||
AccessKey="I" CommandName="APPEND" CssClass="button"
|
||||
Text="I.新增" TextMessageId="I.+INSERT" /><br />
|
||||
無資料
|
||||
</EmptyDataTemplate>
|
||||
</asp:FormView>
|
||||
<asp:GridView ID="RSAJGrid" runat="server"
|
||||
DataSourceID="dsRSAJGrid" DataKeyNames="RSREN,RSPYN"
|
||||
AutoGenerateColumns="False" AllowPaging="True"
|
||||
OnDataBound="RSAJGrid_DataBound" OnPageIndexChanged="RSAJGrid_PageIndexChanged"
|
||||
OnSelectedIndexChanged="RSAJGrid_SelectedIndexChanged"
|
||||
OnRowDataBound="RSAJGrid_RowDataBound">
|
||||
<Columns>
|
||||
<asp:CommandField SelectText="" ShowSelectButton="True">
|
||||
<ItemStyle Font-Bold="True" Font-Underline="False"
|
||||
ForeColor="Orange" />
|
||||
</asp:CommandField>
|
||||
<asp:BoundField AccessibleHeaderText="RSAJ.RSREN"
|
||||
DataField="RSREN" HeaderText="RSREN" ReadOnly="True"
|
||||
SortExpression="RSREN" />
|
||||
<asp:TemplateField AccessibleHeaderText="RSAJ.RSPYN"
|
||||
HeaderText="RSPYN" SortExpression="RSPYN">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label1" runat="server" Text='<%# Bind("RSPYN") %>'></asp:Label>
|
||||
<asp:Label ID="lbRSAJ_RSPYNX" runat="server"
|
||||
Text='<%# GetLookup("BPAA", Eval("RSPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField AccessibleHeaderText="RSAJ.RSYMM"
|
||||
DataField="RSYMM" DataFormatString="{0:yyyyMM}"
|
||||
HeaderText="RSYMM" HtmlEncode="False" SortExpression="RSYMM" />
|
||||
<asp:TemplateField AccessibleHeaderText="RSAJ.RSENO"
|
||||
HeaderText="RSENO" SortExpression="RSENO">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label2" runat="server" Text='<%# Bind("RSENO") %>'></asp:Label>
|
||||
<asp:Label ID="lbRSAJ_RSENOX" runat="server"
|
||||
Text='<%# GetLookup("BPSN", Eval("RSENO", "{0:c}"), "BPNME", "") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField AccessibleHeaderText="RSAJ.RSAMT"
|
||||
DataField="RSAMT" DataFormatString="{0:##,###,##0}"
|
||||
HeaderText="RSAMT" HtmlEncode="False" SortExpression="RSAMT">
|
||||
<ItemStyle HorizontalAlign="Right" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField AccessibleHeaderText="RSAJ.RSDOC"
|
||||
DataField="RSDOC" HeaderText="RSDOC" SortExpression="RSDOC" />
|
||||
</Columns>
|
||||
<PagerTemplate>
|
||||
<cc1:WGridViewPager ID="GridView1Pager" runat="server" on />
|
||||
</PagerTemplate>
|
||||
</asp:GridView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
function ClearInputs(index)
|
||||
{
|
||||
if (index == 999)
|
||||
{
|
||||
for (i = 0; i < RSYMMIds.length; i++)
|
||||
{
|
||||
ClearInput(i);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ClearInput(index);
|
||||
}
|
||||
}
|
||||
|
||||
function ClearInput(index)
|
||||
{
|
||||
var RSYMM = document.getElementById(RSYMMIds[index]);
|
||||
var RSAMT = document.getElementById(RSAMTIds[index]);
|
||||
var RSDOC = document.getElementById(RSDOCIds[index]);
|
||||
RSYMM.value = "";
|
||||
RSAMT.value = "";
|
||||
RSDOC.value = "";
|
||||
}
|
||||
-->
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,683 @@
|
||||
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_worker_fmRsaj : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
protected DateTime _YYMM;
|
||||
protected string _RSENO = "";
|
||||
protected string _RSPYN = "";
|
||||
private string select = "SELECT * ";
|
||||
private string from = " FROM RSAJ ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
// private string order = " ORDER BY RSPYN, RSREN";
|
||||
private string order = " ORDER BY RSYMM DESC, RSREN DESC";
|
||||
private TextBox[] RSYMMs = new TextBox[10];
|
||||
private DropDownList[] RSENOs = new DropDownList[10];
|
||||
private TextBox[] RSAMTs = new TextBox[10];
|
||||
private TextBox[] RSDOCs = new TextBox[10];
|
||||
private DateTime[] RSYMMValues = new DateTime[10];
|
||||
private int[] RSAMTValues = new int[10];
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
_RSENO = GetStringViewState("RSENO");
|
||||
_RSPYN = GetStringViewState("RSPYN");
|
||||
_YYMM = GetDateTimeViewState("YYMM");
|
||||
//if (IsPostBack)
|
||||
// RSAJGrid.DataBind();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsRSAJForm.ConnectionString = ConnectionString;
|
||||
dsRSAJGrid.ConnectionString = ConnectionString;
|
||||
dsRSAJ_RSENO.ConnectionString = ConnectionString;
|
||||
dsRSAJ_RSENO.SelectCommand =
|
||||
@"IF @RSPYN = '-ALL-'
|
||||
BEGIN
|
||||
SELECT DISTINCT A.BPENO, A.BPENO + ' ' + A.BPNME BPNME
|
||||
FROM BPSNView A INNER JOIN RASN B ON A.BPENO=B.RANUM
|
||||
ORDER BY A.BPENO
|
||||
END
|
||||
ELSE IF @RSPYN<>'000000001'
|
||||
BEGIN
|
||||
SELECT DISTINCT A.BPENO, A.BPENO + ' ' + A.BPNME BPNME
|
||||
FROM BPSNView A INNER JOIN RASN B ON A.BPENO=B.RANUM
|
||||
WHERE B.RAPYN=@RSPYN
|
||||
ORDER BY A.BPENO
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT DISTINCT BPENO, BPENO + ' ' + BPNME BPNME, BPSDY, BPEDY
|
||||
FROM BPSNView
|
||||
WHERE ( (BPSDY <= @YYMM1 AND BPEDY >= @YYMM2)
|
||||
OR (BPSDY <= @YYMM1 AND BPEDY IS NULL)
|
||||
OR (BPSDY <= @YYMM1 AND BPEDY >= @YYMM1 AND BPEDY <= @YYMM2)
|
||||
OR (BPSDY >= @YYMM1 AND BPSDY <= @YYMM2 AND BPEDY >= @YYMM2)
|
||||
OR (BPSDY >= @YYMM1 AND BPSDY <= @YYMM2 AND BPEDY IS NULL)
|
||||
OR (BPSDY >= @YYMM1 AND BPSDY <= @YYMM2 AND BPEDY >= @YYMM1 AND BPEDY <= @YYMM2))
|
||||
AND BPENO NOT IN
|
||||
(SELECT RANUM FROM RASN
|
||||
WHERE ( (RASDT <= @YYMM3 AND RAEDT >= @YYMM4)
|
||||
OR (RASDT <= @YYMM3 AND RAEDT IS NULL)
|
||||
OR (RASDT <= @YYMM3 AND RAEDT >= @YYMM3 AND RAEDT <= @YYMM4)
|
||||
OR (RASDT >= @YYMM3 AND RASDT <= @YYMM4 AND RAEDT >= @YYMM4)
|
||||
OR (RASDT >= @YYMM3 AND RASDT <= @YYMM4 AND RAEDT IS NULL)
|
||||
OR (RASDT >= @YYMM3 AND RASDT <= @YYMM4 AND RAEDT >= @YYMM3 AND RAEDT <= @YYMM4)))
|
||||
ORDER BY BPENO
|
||||
END";
|
||||
|
||||
ListItem item = ddlRSPYN.Items.FindByValue(_RSPYN);
|
||||
if (item != null)
|
||||
item.Selected = true;
|
||||
|
||||
SetClientFocus(txtYYMM);
|
||||
|
||||
MultiView1.Visible = _RSPYN != "";
|
||||
|
||||
GetRsenoDropDownData();
|
||||
|
||||
RSYMMs[0] = txtRSAJ_RSYMM_01;
|
||||
RSYMMs[1] = txtRSAJ_RSYMM_02;
|
||||
RSYMMs[2] = txtRSAJ_RSYMM_03;
|
||||
RSYMMs[3] = txtRSAJ_RSYMM_04;
|
||||
RSYMMs[4] = txtRSAJ_RSYMM_05;
|
||||
RSYMMs[5] = txtRSAJ_RSYMM_06;
|
||||
RSYMMs[6] = txtRSAJ_RSYMM_07;
|
||||
RSYMMs[7] = txtRSAJ_RSYMM_08;
|
||||
RSYMMs[8] = txtRSAJ_RSYMM_09;
|
||||
RSYMMs[9] = txtRSAJ_RSYMM_10;
|
||||
|
||||
RSENOs[0] = ddlRSAJ_RSENO_01;
|
||||
RSENOs[1] = ddlRSAJ_RSENO_02;
|
||||
RSENOs[2] = ddlRSAJ_RSENO_03;
|
||||
RSENOs[3] = ddlRSAJ_RSENO_04;
|
||||
RSENOs[4] = ddlRSAJ_RSENO_05;
|
||||
RSENOs[5] = ddlRSAJ_RSENO_06;
|
||||
RSENOs[6] = ddlRSAJ_RSENO_07;
|
||||
RSENOs[7] = ddlRSAJ_RSENO_08;
|
||||
RSENOs[8] = ddlRSAJ_RSENO_09;
|
||||
RSENOs[9] = ddlRSAJ_RSENO_10;
|
||||
|
||||
RSAMTs[0] = txtRSAJ_RSAMT_01;
|
||||
RSAMTs[1] = txtRSAJ_RSAMT_02;
|
||||
RSAMTs[2] = txtRSAJ_RSAMT_03;
|
||||
RSAMTs[3] = txtRSAJ_RSAMT_04;
|
||||
RSAMTs[4] = txtRSAJ_RSAMT_05;
|
||||
RSAMTs[5] = txtRSAJ_RSAMT_06;
|
||||
RSAMTs[6] = txtRSAJ_RSAMT_07;
|
||||
RSAMTs[7] = txtRSAJ_RSAMT_08;
|
||||
RSAMTs[8] = txtRSAJ_RSAMT_09;
|
||||
RSAMTs[9] = txtRSAJ_RSAMT_10;
|
||||
|
||||
RSDOCs[0] = txtRSAJ_RSDOC_01;
|
||||
RSDOCs[1] = txtRSAJ_RSDOC_02;
|
||||
RSDOCs[2] = txtRSAJ_RSDOC_03;
|
||||
RSDOCs[3] = txtRSAJ_RSDOC_04;
|
||||
RSDOCs[4] = txtRSAJ_RSDOC_05;
|
||||
RSDOCs[5] = txtRSAJ_RSDOC_06;
|
||||
RSDOCs[6] = txtRSAJ_RSDOC_07;
|
||||
RSDOCs[7] = txtRSAJ_RSDOC_08;
|
||||
RSDOCs[8] = txtRSAJ_RSDOC_09;
|
||||
RSDOCs[9] = txtRSAJ_RSDOC_10;
|
||||
|
||||
StringBuilder sb1 = new StringBuilder();
|
||||
StringBuilder sb2 = new StringBuilder();
|
||||
StringBuilder sb3 = new StringBuilder();
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
sb1.Append(String.Format("\"{0}\"", RSYMMs[i].ClientID) + (i < 9 ? "," : ""));
|
||||
sb2.Append(String.Format("\"{0}\"", RSAMTs[i].ClientID) + (i < 9 ? "," : ""));
|
||||
sb3.Append(String.Format("\"{0}\"", RSDOCs[i].ClientID) + (i < 9 ? "," : ""));
|
||||
}
|
||||
Page.ClientScript.RegisterArrayDeclaration("RSYMMIds", sb1.ToString());
|
||||
Page.ClientScript.RegisterArrayDeclaration("RSAMTIds", sb2.ToString());
|
||||
Page.ClientScript.RegisterArrayDeclaration("RSDOCIds", sb3.ToString());
|
||||
|
||||
GetGridViewRowColor(RSAJGrid);
|
||||
|
||||
switch (MultiView1.ActiveViewIndex)
|
||||
{
|
||||
case 1:
|
||||
SetClientFocus(txtRSAJ_RSYMM_01);
|
||||
Search();
|
||||
break;
|
||||
case 2:
|
||||
Search();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 查詢按鈕
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
ViewState["RSENO"] = txtRSENO.Text;
|
||||
|
||||
_RSENO = txtRSENO.Text;
|
||||
|
||||
if (_RSENO.Length == 0)
|
||||
{
|
||||
lbMessage.Text = GetString("NOSRHCOND");
|
||||
lbMessage.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
|
||||
Search();
|
||||
|
||||
RSAJGrid.PageIndex = 0;
|
||||
RSAJGrid.SelectedIndex = 0;
|
||||
RSAJGrid.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
// 取消查詢按鈕
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
ViewState.Remove("RSENO");
|
||||
Search();
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
}
|
||||
|
||||
// 查詢動作
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
dsRSAJGrid.SelectParameters.Clear();
|
||||
AddSearch(sql, dsRSAJGrid, "RSENO", _RSENO, "", true);
|
||||
AddSearch(sql, dsRSAJGrid, "RSPYN", _RSPYN, "", true);
|
||||
sql.Append(order);
|
||||
dsRSAJGrid.SelectCommand = sql.ToString();
|
||||
}
|
||||
|
||||
// 存檔前的計算動作
|
||||
private new void CalcFields(SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void dsRSAJForm_Inserting(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
}
|
||||
|
||||
protected void dsRSAJForm_Updating(object sender, SqlDataSourceCommandEventArgs e)
|
||||
{
|
||||
CalcFields(e);
|
||||
}
|
||||
|
||||
protected void RSAJGrid_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
GridView_DataBound(sender, e);
|
||||
if (RSAJGrid.Rows.Count > 0)
|
||||
{
|
||||
RSAJGrid.Visible = true;
|
||||
if (RSAJGrid.SelectedIndex == -1)
|
||||
RSAJGrid.SelectedIndex = 0;
|
||||
if (RSAJGrid.SelectedIndex > RSAJGrid.Rows.Count - 1)
|
||||
RSAJGrid.SelectedIndex = RSAJGrid.Rows.Count - 1;
|
||||
|
||||
//if (RSAJGrid.SelectedIndex != -1)
|
||||
//{
|
||||
// dsRSAJ_RSENO.SelectParameters["RSPYN"].DefaultValue = RSAJGrid.SelectedDataKey["RSPYN"].ToString();
|
||||
//}
|
||||
|
||||
RSAJForm.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
protected void RSAJGrid_PageIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Search();
|
||||
RSAJGrid.SelectedIndex = 0;
|
||||
RSAJGrid.DataBind();
|
||||
}
|
||||
|
||||
protected void dsRSAJGrid_Selected(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
if (e.AffectedRows == 0)
|
||||
{
|
||||
/*
|
||||
if (ForwardSource != "")
|
||||
RSAJForm.ChangeMode(FormViewMode.Insert);
|
||||
else
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 0;
|
||||
|
||||
lbMessage.Text = GetString("NODATA");
|
||||
lbMessage.Visible = true;
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
protected void RSAJForm_ItemCommand(object sender, FormViewCommandEventArgs e)
|
||||
{
|
||||
switch (e.CommandName)
|
||||
{
|
||||
case "APPEND":
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
GetRsenoDropDownData();
|
||||
break;
|
||||
case "Search":
|
||||
MultiView1.ActiveViewIndex = 0;
|
||||
break;
|
||||
case "Cancel":
|
||||
Search();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void GetRsenoDropDownData()
|
||||
{
|
||||
if (_YYMM.Ticks != 0)
|
||||
{
|
||||
if (string.IsNullOrEmpty(_RSPYN))
|
||||
{
|
||||
dsRSAJ_RSENO.SelectParameters["RSPYN"].DefaultValue = "-ALL-";
|
||||
}
|
||||
else
|
||||
{
|
||||
dsRSAJ_RSENO.SelectParameters["RSPYN"].DefaultValue = _RSPYN;
|
||||
}
|
||||
dsRSAJ_RSENO.SelectParameters["YYMM1"].DefaultValue = WGuard1.GetMonthBegin(_YYMM, -1).ToString("yyyy/MM/dd", WGuard1.InvariantCulture); // 上個月月初日
|
||||
dsRSAJ_RSENO.SelectParameters["YYMM2"].DefaultValue = WGuard1.GetMonthEnd(_YYMM, 1).ToString("yyyy/MM/dd", WGuard1.InvariantCulture); // 下個月月底日
|
||||
dsRSAJ_RSENO.SelectParameters["YYMM3"].DefaultValue = WGuard1.GetMonthBegin(_YYMM, 0).ToString("yyyy/MM/dd", WGuard1.InvariantCulture); // 本月月初日
|
||||
dsRSAJ_RSENO.SelectParameters["YYMM4"].DefaultValue = WGuard1.GetMonthEnd(_YYMM, 0).ToString("yyyy/MM/dd", WGuard1.InvariantCulture); // 本月月底日
|
||||
}
|
||||
}
|
||||
|
||||
// 取得該職稱及等級之薪資資料
|
||||
protected DataTable GetBPJB(string bpjno, string bpcno)
|
||||
{
|
||||
DbCommand cmd = Query.NewCommand(
|
||||
@"SELECT BPSRM, BPSRD, BPP01, BPP02, BPP03, BPP04, BPP05 FROM BPJB
|
||||
WHERE BPPYN=@BPPYN AND BPJNO=@BPJNO AND BPCNO=@BPCNO ");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPYN", _RSPYN));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPJNO", bpjno));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPCNO", bpcno));
|
||||
return Query.Select(cmd);
|
||||
}
|
||||
|
||||
protected void RSAJForm_ItemDeleted(object sender, FormViewDeletedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
RSAJGrid.DataBind();
|
||||
RSAJForm.DataBind();
|
||||
}
|
||||
|
||||
protected void RSAJForm_ItemInserted(object sender, FormViewInsertedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void RSAJForm_ItemUpdated(object sender, FormViewUpdatedEventArgs e)
|
||||
{
|
||||
Search();
|
||||
}
|
||||
|
||||
protected void RSAJForm_ModeChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (RSAJForm.CurrentMode == FormViewMode.ReadOnly)
|
||||
{
|
||||
RSAJGrid.Visible = true;
|
||||
RSAJGrid.DataBind();
|
||||
if (RSAJGrid.Rows.Count > 0 && RSAJGrid.SelectedIndex == -1)
|
||||
{
|
||||
RSAJGrid.SelectedIndex = 0;
|
||||
}
|
||||
|
||||
if (OldMode == FormViewMode.Insert && RSAJGrid.Rows.Count > 0)
|
||||
{
|
||||
RSAJGrid.PageIndex = RSAJGrid.PageCount - 1;
|
||||
RSAJGrid.DataBind();
|
||||
RSAJGrid.SelectedIndex = RSAJGrid.Rows.Count - 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (RSAJForm.CurrentMode)
|
||||
{
|
||||
case FormViewMode.Edit:
|
||||
break;
|
||||
case FormViewMode.Insert:
|
||||
break;
|
||||
}
|
||||
|
||||
RSAJGrid.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void RSAJForm_ModeChanging(object sender, FormViewModeEventArgs e)
|
||||
{
|
||||
OldMode = (sender as FormView).CurrentMode;
|
||||
}
|
||||
|
||||
protected void RSAJForm_DataBinding(object sender, EventArgs e)
|
||||
{
|
||||
//if (RSAJForm.FindControl("lbRSAJ_RSPYN") as ITextControl != null)
|
||||
//{
|
||||
// dsRSAJ_RSENO.SelectParameters["RSPYN"].DefaultValue = (RSAJForm.FindControl("lbRSAJ_RSPYN") as ITextControl).Text;
|
||||
//}
|
||||
|
||||
//if (RSAJGrid.Rows.Count > 0)
|
||||
//{
|
||||
// RSAJGrid.Visible = true;
|
||||
// if (RSAJGrid.SelectedIndex == -1)
|
||||
// RSAJGrid.SelectedIndex = 0;
|
||||
// if (RSAJGrid.SelectedIndex > RSAJGrid.Rows.Count - 1)
|
||||
// RSAJGrid.SelectedIndex = RSAJGrid.Rows.Count - 1;
|
||||
|
||||
// if (RSAJGrid.SelectedIndex != -1 && RSAJGrid.SelectedDataKey != null)
|
||||
// {
|
||||
// dsRSAJ_RSENO.SelectParameters["RSPYN"].DefaultValue = RSAJGrid.SelectedDataKey["RSPYN"].ToString();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// dsRSAJ_RSENO.SelectParameters["RSPYN"].DefaultValue = "";
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
protected void RSAJForm_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
var c = RSAJForm.FindControl("lbRSAJ_RSPYN") as ITextControl;
|
||||
if (c != null)
|
||||
{
|
||||
var t = (c as ITextControl).Text;
|
||||
if (!string.IsNullOrEmpty(t))
|
||||
dsRSAJ_RSENO.SelectParameters["RSPYN"].DefaultValue = t;
|
||||
else
|
||||
dsRSAJ_RSENO.SelectParameters["RSPYN"].DefaultValue = "-ALL-";
|
||||
}
|
||||
|
||||
if (RSAJForm.CurrentMode == FormViewMode.Edit)
|
||||
{
|
||||
SetClientFocus(RSAJForm, "txtRSAJ_RSYMM");
|
||||
// (RSAJForm.FindControl("ddlRSAJ_RSENO_10") as DropDownList).DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
protected void dsRSAJForm_Deleted(object sender, SqlDataSourceStatusEventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected void cvRAS01_ServerValidate(object source, ServerValidateEventArgs args)
|
||||
{
|
||||
int i;
|
||||
args.IsValid = args.Value != "" && Int32.TryParse(args.Value, out i) && i >= 0 && i <= 6;
|
||||
}
|
||||
|
||||
protected void RSAJGrid_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
foreach (GridViewRow row in RSAJGrid.Rows)
|
||||
SetGridViewMouseBehavier(RSAJGrid, row);
|
||||
}
|
||||
|
||||
protected void RSAJGrid_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
SetGridViewMouseBehavier(RSAJGrid, e.Row);
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
|
||||
protected string GetRAJNOName(string rapyn, string rajno)
|
||||
{
|
||||
DbCommand cmd = Query.NewCommand("SELECT BPJME FROM BPJA WHERE (BPPYN = @BPPYN) AND (BPJNO=@BPJNO)");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPYN", rapyn));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPJNO", rajno));
|
||||
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
if (o == null)
|
||||
return "";
|
||||
else
|
||||
return o.ToString();
|
||||
}
|
||||
|
||||
protected string GetRACNOName(string rapyn, string rajno, string racno)
|
||||
{
|
||||
DbCommand cmd = Query.NewCommand("SELECT BPCME FROM BPJB WHERE (BPPYN = @BPPYN) AND (BPJNO=@BPJNO) AND (BPCNO=@BPCNO)");
|
||||
cmd.Parameters.Add(Query.NewParameter("BPPYN", rapyn));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPJNO", rajno));
|
||||
cmd.Parameters.Add(Query.NewParameter("BPCNO", racno));
|
||||
|
||||
object o = Query.ExecuteScalar(cmd);
|
||||
if (o == null)
|
||||
return "";
|
||||
else
|
||||
return o.ToString();
|
||||
}
|
||||
|
||||
protected void RSAJForm_ItemCreated(object sender, EventArgs e)
|
||||
{
|
||||
if (RSAJForm.CurrentMode == FormViewMode.Insert)
|
||||
{
|
||||
(RSAJForm.FindControl("txtRSAJ_RASDT") as TextBox).Text = _RSPYN.Substring(0, _RSPYN.Length - 4) + "0101";
|
||||
(RSAJForm.FindControl("txtRSAJ_RAS01") as TextBox).Text = "0";
|
||||
}
|
||||
}
|
||||
|
||||
protected new bool CheckInput(System.Collections.Specialized.IOrderedDictionary values)
|
||||
{
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
|
||||
bool result = true;
|
||||
values["RSYMM"] = CheckDate(values["RSYMM"] + "01", "請輸入正確的年月", ref result, cvMessage);
|
||||
|
||||
ProcessCustomValidatorMessage(cvMessage);
|
||||
return result;
|
||||
}
|
||||
|
||||
protected void RSAJForm_ItemInserting(object sender, FormViewInsertEventArgs e)
|
||||
{
|
||||
e.Cancel = !CheckInput(e.Values);
|
||||
}
|
||||
|
||||
protected void RSAJForm_ItemUpdating(object sender, FormViewUpdateEventArgs e)
|
||||
{
|
||||
e.Cancel = !CheckInput(e.NewValues);
|
||||
}
|
||||
|
||||
protected void Next_Click(object sender, EventArgs e)
|
||||
{
|
||||
string rspyn = ddlRSPYN.SelectedValue;
|
||||
ViewState["RSPYN"] = rspyn;
|
||||
_RSPYN = rspyn;
|
||||
|
||||
// 檢查此使用者是否有權限處理這個專案
|
||||
BprmDAC bprm = new BprmDAC(Query);
|
||||
if (!bprm.GetRight(rspyn, UserId))
|
||||
{
|
||||
MultiView1.Visible = false;
|
||||
cvMessage.ErrorMessage = "對不起,你沒有處理這個專案的權限!";
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
//DoAfterCommand("RSAJ");
|
||||
MultiView1.Visible = true;
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
GetRsenoDropDownData();
|
||||
}
|
||||
|
||||
private int CheckInsertInput(int index)
|
||||
{
|
||||
RSYMMs[index].Text = RSYMMs[index].Text.Trim();
|
||||
RSAMTs[index].Text = RSAMTs[index].Text.Trim();
|
||||
RSDOCs[index].Text = RSDOCs[index].Text.Trim();
|
||||
|
||||
// 有輸入的條件為:日期有輸入且合理,金額不等於0,備註無所謂
|
||||
bool rsymmValid = false;
|
||||
bool rsamtValid = false;
|
||||
rsymmValid = CheckDate(RSYMMs[index].Text + "01", out RSYMMValues[index]);
|
||||
rsamtValid = Int32.TryParse(RSAMTs[index].Text, out RSAMTValues[index]);
|
||||
if (RSYMMs[index].Text != "" && rsymmValid &&
|
||||
RSAMTs[index].Text != "" && rsamtValid && RSAMTValues[index] != 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if (RSYMMs[index].Text == "" && RSAMTs[index].Text == "")
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int returnValue = 0;
|
||||
if (RSYMMs[index].Text != "" && !rsymmValid)
|
||||
{
|
||||
returnValue -= 1;
|
||||
}
|
||||
if (RSAMTs[index].Text != "" && !rsamtValid)
|
||||
{
|
||||
returnValue -= 2;
|
||||
}
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
protected void btnSave1_Click(object sender, EventArgs e)
|
||||
{
|
||||
// 存檔
|
||||
// 1. 檢查各組輸入
|
||||
int[] hasInput = new int[10];
|
||||
bool valid = true;
|
||||
bool needSave = false;
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
for (int i = 0; i < RSYMMs.Length; i++)
|
||||
{
|
||||
hasInput[i] = CheckInsertInput(i);
|
||||
switch (hasInput[i])
|
||||
{
|
||||
case 0:
|
||||
needSave = true;
|
||||
break;
|
||||
case -1:
|
||||
valid = false;
|
||||
cvMessage.ErrorMessage += String.Format("第{0}組輸入月份不合理<br/>", i + 1);
|
||||
break;
|
||||
case -2:
|
||||
valid = false;
|
||||
cvMessage.ErrorMessage += String.Format("第{0}組輸入金額不合理<br/>", i + 1);
|
||||
break;
|
||||
case -3:
|
||||
valid = false;
|
||||
cvMessage.ErrorMessage += String.Format("第{0}組輸入月份與金額不合理<br/>", i + 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!valid)
|
||||
{
|
||||
cvMessage.IsValid = false;
|
||||
ProcessCustomValidatorMessage(cvMessage);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!needSave)
|
||||
return;
|
||||
|
||||
// 2. 各組輸入存檔
|
||||
DbCommand cmd1 = Query.NewCommand(
|
||||
@"INSERT INTO dbo.RSAJ
|
||||
(RSREN, RSENO, RSPYN, RSYMM, RSAMT, RSDOC, APPNO, TRDAT, TRMOD, TRUSR)
|
||||
VALUES
|
||||
(@RSREN, @RSENO, @RSPYN, @RSYMM, @RSAMT, @RSDOC, 1, GETDATE(), 'INSERT', @TRUSR)");
|
||||
cmd1.Parameters.Add(Query.NewParameter("RSREN", DbType.String));
|
||||
cmd1.Parameters.Add(Query.NewParameter("RSENO", DbType.String));
|
||||
cmd1.Parameters.Add(Query.NewParameter("RSPYN", _RSPYN));
|
||||
cmd1.Parameters.Add(Query.NewParameter("RSYMM", DbType.DateTime));
|
||||
cmd1.Parameters.Add(Query.NewParameter("RSAMT", DbType.Int32));
|
||||
cmd1.Parameters.Add(Query.NewParameter("RSDOC", DbType.String));
|
||||
cmd1.Parameters.Add(Query.NewParameter("TRUSR", UserId));
|
||||
|
||||
DbConnection conn = Query.NewConnection(ConnectionString);
|
||||
cmd1.Connection = conn;
|
||||
conn.Open();
|
||||
DbTransaction tran = conn.BeginTransaction();
|
||||
cmd1.Transaction = tran;
|
||||
try
|
||||
{
|
||||
for (int i = 0; i < RSYMMs.Length; i++)
|
||||
{
|
||||
if (hasInput[i] == 0)
|
||||
{
|
||||
string rpren = WGuard1.WNextRen(RSYMMValues[i], "RSAJ", "RSREN", "YYYYMM<9999>", "", tran);
|
||||
|
||||
cmd1.Parameters["RSREN"].Value = rpren;
|
||||
cmd1.Parameters["RSENO"].Value = RSENOs[i].SelectedValue;
|
||||
cmd1.Parameters["RSYMM"].Value = RSYMMValues[i];
|
||||
cmd1.Parameters["RSAMT"].Value = RSAMTValues[i];
|
||||
cmd1.Parameters["RSDOC"].Value = RSDOCs[i].Text;
|
||||
cmd1.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
tran.Commit();
|
||||
|
||||
// 清除畫面資料
|
||||
for (int i = 0; i < RSYMMs.Length; i++)
|
||||
{
|
||||
RSYMMs[i].Text = "";
|
||||
RSAMTs[i].Text = "";
|
||||
RSDOCs[i].Text = "";
|
||||
}
|
||||
|
||||
cvMessage.ErrorMessage = "存檔完成";
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
tran.Rollback();
|
||||
cvMessage.ErrorMessage = ex.Message;
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Close();
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnCancel1_Click(object sender, EventArgs e)
|
||||
{
|
||||
// 回到處理畫面
|
||||
Search();
|
||||
MultiView1.Visible = true;
|
||||
MultiView1.ActiveViewIndex = 2;
|
||||
}
|
||||
|
||||
protected void btnSSMS_Click(object sender, EventArgs e)
|
||||
{
|
||||
cvMessage.IsValid = true;
|
||||
cvMessage.ErrorMessage = "";
|
||||
bool result = true;
|
||||
DateTime aYYMM = CheckDate(txtYYMM.Text + "01", "請輸入正確的年月", ref result, cvMessage);
|
||||
|
||||
if (result)
|
||||
{
|
||||
MultiView1.Visible = false;
|
||||
ViewState["YYMM"] = aYYMM;
|
||||
_YYMM = aYYMM;
|
||||
ddlRSPYN.DataSource = new BpaaDAC().GetBpaaWithTY(aYYMM.Year);
|
||||
ddlRSPYN.DataBind();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,699 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="fmRyer.ascx.cs"
|
||||
Inherits="forms_worker_fmRyer" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI" TagPrefix="cc1" %>
|
||||
|
||||
<style>
|
||||
input::-webkit-outer-spin-button,
|
||||
input::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
input[type=number] {
|
||||
-moz-appearance: textfield;
|
||||
}
|
||||
|
||||
.number-input-4 {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.number-input-2 {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.number-input-2-nofill {
|
||||
width: 2rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.gridLine {
|
||||
color: Black;
|
||||
border-color: #ddd;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-collapse: collapse;
|
||||
background-color: #FFF
|
||||
}
|
||||
|
||||
.focused-th {
|
||||
background-color: #fff5bc;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.ryer-head-container {
|
||||
display: inline-block;
|
||||
overflow-y: scroll;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
margin-bottom: -4px;
|
||||
}
|
||||
|
||||
.ryer-body-container {
|
||||
display: inline-block;
|
||||
height: calc(100vh - 420px);
|
||||
overflow-y: scroll;
|
||||
margin: 0 0 0 -1px;
|
||||
padding: 0;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.ryer-thead {
|
||||
display: table;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow-y: scroll;
|
||||
table-layout: fixed;
|
||||
margin-left: -1px;
|
||||
}
|
||||
|
||||
.ryer-tbody {
|
||||
display: table;
|
||||
table-layout: fixed;
|
||||
margin-left: -1px;
|
||||
margin-top: -1px;
|
||||
}
|
||||
|
||||
.ryer-thead th {
|
||||
overflow: hidden;
|
||||
word-break: break-all;
|
||||
line-height: 1.2rem;
|
||||
}
|
||||
|
||||
.ryer-tbody td {
|
||||
overflow: hidden;
|
||||
word-break: break-all;
|
||||
line-height: 1.2rem;
|
||||
}
|
||||
|
||||
.ryer-list-line {
|
||||
background-color: #EFF3FB;
|
||||
}
|
||||
|
||||
.ryer-list-line:nth-child(4n+1) {
|
||||
background-color: #FFF;
|
||||
}
|
||||
|
||||
.ryer-list-line:nth-child(4n+2) {
|
||||
background-color: #FFF;
|
||||
}
|
||||
|
||||
.ryer-width-ryyer {
|
||||
width: 3rem
|
||||
}
|
||||
|
||||
.ryer-width-ryeno {
|
||||
width: 4rem
|
||||
}
|
||||
|
||||
.ryer-width-bpnme {
|
||||
width: 4rem;
|
||||
}
|
||||
|
||||
.ryer-width-bpsdy {
|
||||
width: 4rem
|
||||
}
|
||||
|
||||
.ryer-width-hours-display {
|
||||
width: 2.5rem
|
||||
}
|
||||
|
||||
.ryer-width-hours-input {
|
||||
width: 2rem
|
||||
}
|
||||
|
||||
.ryer-width-day-input {
|
||||
width: 2rem
|
||||
}
|
||||
|
||||
.ryer-width-hour-minute-input {
|
||||
width: 5.5rem
|
||||
}
|
||||
|
||||
.ryer-width-command {
|
||||
width: 6.5rem;
|
||||
min-width: 6.5rem;
|
||||
max-width: 6.5rem;
|
||||
}
|
||||
|
||||
.ryer-save-message {
|
||||
z-index: 9999;
|
||||
position: fixed;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
min-width: 400px;
|
||||
/*min-height: 40px;*/
|
||||
border: 1px solid green;
|
||||
border-radius: 5px;
|
||||
background-color: green;
|
||||
color: black;
|
||||
text-align: center;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
.ryer-save-message-success {
|
||||
border: 1px solid #019b25;
|
||||
background-color: #c1ffc1;
|
||||
}
|
||||
|
||||
.ryer-save-message-fail {
|
||||
border: 1px solid #ff6363;
|
||||
background-color: #ffc1c1;
|
||||
}
|
||||
|
||||
/* .ryer-save-message > span {
|
||||
display: block;
|
||||
position: fixed;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
*/
|
||||
@media screen and (max-width: 1600px) {
|
||||
.ryer-head-container {
|
||||
width: 1800px;
|
||||
}
|
||||
|
||||
.ryer-body-container {
|
||||
width: 1800px;
|
||||
}
|
||||
|
||||
.ryer-width-ryyer {
|
||||
width: 2rem
|
||||
}
|
||||
|
||||
.ryer-width-ryeno {
|
||||
width: 3.5rem
|
||||
}
|
||||
|
||||
.ryer-width-bpnme {
|
||||
width: 3rem;
|
||||
}
|
||||
|
||||
.ryer-width-bpsdy {
|
||||
width: 3.5rem
|
||||
}
|
||||
|
||||
.ryer-width-hours-display {
|
||||
width: 2rem
|
||||
}
|
||||
|
||||
.ryer-width-hours-input {
|
||||
width: 2rem
|
||||
}
|
||||
|
||||
.ryer-width-day-input {
|
||||
width: 2rem
|
||||
}
|
||||
|
||||
.ryer-width-command {
|
||||
width: 3.5rem
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<cc1:WLabel ID="WLabel1" runat="server" CssClass="pageTitle" Text="年度特休設定"
|
||||
TextMessageId=""></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage" runat="server" Display="None"></asp:CustomValidator>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td style="width:50%; max-width:50%; vertical-align: top;">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="width: 6em">
|
||||
<asp:Label ID="Label1" runat="server" Text="年度:"></asp:Label>
|
||||
</td>
|
||||
<td style="width: 6em">
|
||||
<asp:TextBox ID="txtYear" runat="server" Columns="4" Width="100%"></asp:TextBox>
|
||||
</td>
|
||||
<td style="width: 2em" class="text-center">
|
||||
<asp:Label ID="Label4" runat="server" Text="~"></asp:Label>
|
||||
</td>
|
||||
<td style="width: 6em">
|
||||
<asp:TextBox ID="txtYearTo" runat="server" Columns="4" Width="100%"></asp:TextBox>
|
||||
</td>
|
||||
<td style="width: 6em">
|
||||
<asp:Button ID="btnYY" runat="server" CssClass="button" OnClick="btnYY_Click"
|
||||
Text="確認年度" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:Label ID="Label2" runat="server" Text="專案:"></asp:Label>
|
||||
</td>
|
||||
<td colspan="7">
|
||||
<asp:DropDownList ID="ddl專案" runat="server">
|
||||
</asp:DropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:Label ID="Label5" runat="server" Text="人員編號:"></asp:Label>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtRAENO" runat="server" Columns="5" Width="100%"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<asp:Button ID="btnSearch" runat="server" CssClass="button"
|
||||
OnClick="btnSearch_Click"
|
||||
Text="查詢" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td style="width:50%; max-width:50%; vertical-align: top; font-size: 10pt; background-color: cornsilk; padding: 5pt 5pt">
|
||||
<ol style="padding-inline-start: 16px; margin: 0;">
|
||||
<li>跨年度時,專案條件會隱藏 <b>【桃竹苗】展譽總公司</b> 與 <b>【桃竹苗】新譽總公司</b>,且無法查詢到這兩個專案裡的人員</li>
|
||||
<li>生效日空白為 1 日,31 為月底日</li>
|
||||
<li>結算指的是<b>計算離職或年底折算薪資時數</b>以及將<b>遞延時數帶入下年度</b></li>
|
||||
<li>本年至今的年初時數計算方式依照計畫設定有以下二種:<br />
|
||||
<span style="margin-left: 25px">1. 無年初特休時數,預設為0</span>
|
||||
<span style="margin-left: 25px">2. 預給去年特休時數:去年年初時數 + 去年1月至12月生效時數(正數)</span>
|
||||
</li>
|
||||
<li style="clear: both">特休結算資料輸入方式:
|
||||
<ol>
|
||||
<li>在職同仁特休未休結算請於結算的月份以負數方式輸入結算的時數,如剩 14 小時,請輸入「-14」,並請至薪資加減項新增結算金額。</li>
|
||||
<li>離職人員特休未休結算及年底特休結算請於「折算薪資時數」及「遞延下年時數」欄位輸入時數,結算金額會自動匯入薪資加減項,請自行核對。另於隔年度特休表之遞延時數欄位確認時數是否正確。</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<asp:ObjectDataSource ID="dsRyer" runat="server" OldValuesParameterFormatString="OLD_{0}"
|
||||
OnSelecting="dsRyer_Selecting"
|
||||
SelectMethod="SelectProject" TypeName="RyerDAC">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="RYYERFrom" Type="Int32" />
|
||||
<asp:Parameter Name="RYYERTo" Type="Int32" />
|
||||
<asp:Parameter Name="RAPYN" Type="String" />
|
||||
<asp:Parameter Name="RANUM" Type="String" />
|
||||
</SelectParameters>
|
||||
</asp:ObjectDataSource>
|
||||
|
||||
<asp:ListView ID="ListView1"
|
||||
runat="server"
|
||||
Visible="false"
|
||||
DataSourceID="dsRyer"
|
||||
DataKeyNames="RYENO,RYYER"
|
||||
OnItemCommand="ListView1_ItemCommand"
|
||||
OnItemDataBound="ListView1_ItemDataBound">
|
||||
<LayoutTemplate>
|
||||
<div class="ryer-head-container">
|
||||
<table runat="server" class="gridLine ryer-thead" cellspacing="0" cellpadding="4" border="1">
|
||||
<tr runat="server" class="gridHeader">
|
||||
<th runat="server" rowspan="2" class="ryer-width-command">操作</th>
|
||||
<th runat="server" rowspan="2" class="ryer-width-ryyer">年度</th>
|
||||
<th runat="server" rowspan="1" class="ryer-width-ryeno">人員編號</th>
|
||||
<th runat="server" rowspan="1" class="ryer-width-ryeno">到職日</th>
|
||||
<th runat="server" rowspan="1" colspan="5">本年至今</th>
|
||||
<th runat="server" rowspan="1" class="ryer-width-hours-display">上年</th>
|
||||
<th runat="server" colspan="2">1月</th>
|
||||
<th runat="server" colspan="2">2月</th>
|
||||
<th runat="server" colspan="2">3月</th>
|
||||
<th runat="server" colspan="2">4月</th>
|
||||
<th runat="server" colspan="2">5月</th>
|
||||
<th runat="server" colspan="2">6月</th>
|
||||
<th runat="server" colspan="2">7月</th>
|
||||
<th runat="server" colspan="2">8月</th>
|
||||
<th runat="server" colspan="2">9月</th>
|
||||
<th runat="server" colspan="2">10月</th>
|
||||
<th runat="server" colspan="2">11月</th>
|
||||
<th runat="server" colspan="2">12月</th>
|
||||
<th runat="server" rowspan="2" class="ryer-width-hour-minute-input" data-month="SLY">折算<br />
|
||||
薪資<br />
|
||||
時數</th>
|
||||
<th runat="server" rowspan="2" class="ryer-width-hour-minute-input" data-month="NXT">遞延<br />
|
||||
下年<br />
|
||||
時數</th>
|
||||
</tr>
|
||||
<tr runat="server" class="gridHeader">
|
||||
<th runat="server" class="ryer-width-ryeno">人員姓名</th>
|
||||
<th runat="server" class="ryer-width-ryeno">離職日</th>
|
||||
<th runat="server" class="ryer-width-hour-minute-input" data-month="YST">年初</th>
|
||||
<th runat="server" class="ryer-width-hours-display">+<br />
|
||||
遞延</th>
|
||||
<th runat="server" class="ryer-width-hours-display">+<br />
|
||||
生效</th>
|
||||
<th runat="server" class="ryer-width-hours-display">-<br />
|
||||
已休</th>
|
||||
<th runat="server" class="ryer-width-hours-display">=<br />
|
||||
未休</th>
|
||||
<th runat="server" class="ryer-width-hours-display">未休</th>
|
||||
<th runat="server" class="ryer-width-hours-input" data-month="1H">時<br/>數</th>
|
||||
<th runat="server" class="ryer-width-day-input" data-month="1D">生<br/>效<br/>日</th>
|
||||
<th runat="server" class="ryer-width-hours-input" data-month="2H">時<br/>數</th>
|
||||
<th runat="server" class="ryer-width-day-input" data-month="2D">生<br/>效<br/>日</th>
|
||||
<th runat="server" class="ryer-width-hours-input" data-month="3H">時<br/>數</th>
|
||||
<th runat="server" class="ryer-width-day-input" data-month="3D">生<br/>效<br/>日</th>
|
||||
<th runat="server" class="ryer-width-hours-input" data-month="4H">時<br/>數</th>
|
||||
<th runat="server" class="ryer-width-day-input" data-month="4D">生<br/>效<br/>日</th>
|
||||
<th runat="server" class="ryer-width-hours-input" data-month="5H">時<br/>數</th>
|
||||
<th runat="server" class="ryer-width-day-input" data-month="5D">生<br/>效<br/>日</th>
|
||||
<th runat="server" class="ryer-width-hours-input" data-month="6H">時<br/>數</th>
|
||||
<th runat="server" class="ryer-width-day-input" data-month="6D">生<br/>效<br/>日</th>
|
||||
<th runat="server" class="ryer-width-hours-input" data-month="7H">時<br/>數</th>
|
||||
<th runat="server" class="ryer-width-day-input" data-month="7D">生<br/>效<br/>日</th>
|
||||
<th runat="server" class="ryer-width-hours-input" data-month="8H">時<br/>數</th>
|
||||
<th runat="server" class="ryer-width-day-input" data-month="8D">生<br/>效<br/>日</th>
|
||||
<th runat="server" class="ryer-width-hours-input" data-month="9H">時<br/>數</th>
|
||||
<th runat="server" class="ryer-width-day-input" data-month="9D">生<br/>效<br/>日</th>
|
||||
<th runat="server" class="ryer-width-hours-input" data-month="10H">時<br/>數</th>
|
||||
<th runat="server" class="ryer-width-day-input" data-month="10D">生<br/>效<br/>日</th>
|
||||
<th runat="server" class="ryer-width-hours-input" data-month="11H">時<br/>數</th>
|
||||
<th runat="server" class="ryer-width-day-input" data-month="11D">生<br/>效<br/>日</th>
|
||||
<th runat="server" class="ryer-width-hours-input" data-month="12H">時<br/>數</th>
|
||||
<th runat="server" class="ryer-width-day-input" data-month="12D">生<br/>效<br/>日</th>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="ryer-body-container">
|
||||
<table runat="server" class="gridLine ryer-tbody" cellspacing="0" cellpadding="4" border="1">
|
||||
<tr runat="server" id="itemPlaceHolder"></tr>
|
||||
</table>
|
||||
</div>
|
||||
</LayoutTemplate>
|
||||
<ItemTemplate>
|
||||
<tr runat="server" class="ryer-list-line">
|
||||
<td class="text-center ryer-width-command" rowspan="2">
|
||||
<asp:Button ID="btnSave" runat="server"
|
||||
CommandArgument='<%# Eval("RYENO", "{0:c}") %>'
|
||||
CommandName="Save" Text="存檔" />
|
||||
<asp:Button ID="btnFinal" runat="server"
|
||||
CommandArgument='<%# Eval("RYENO", "{0:c}") %>'
|
||||
CommandName="Final" Text="存檔並結算" />
|
||||
</td>
|
||||
<td class="text-center ryer-width-ryyer" rowspan="2">
|
||||
<asp:Label runat="server" Text='<%# (Convert.ToInt32(Eval("RYYER", "{0}")) - Wellan.Common.WGuard1.CY11).ToString() %>'></asp:Label>
|
||||
<asp:HiddenField ID="RYYER" runat="server" Value='<%# Bind("RYYER") %>' />
|
||||
</td>
|
||||
<td class="text-center ryer-width-ryeno">
|
||||
<b>
|
||||
<asp:Label ID="RYENO" runat="server" Text='<%# Eval("RYENO") %>'></asp:Label></b>
|
||||
</td>
|
||||
<td class="text-center ryer-width-ryeno">
|
||||
<asp:Label runat="server" Text='<%# Eval("BPSDY", "{0:yyyyMMdd}") %>'></asp:Label>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hour-minute-input" rowspan="2">
|
||||
<asp:TextBox ID="RYYST_H" runat="server" MaxLength="4" Text='<%# Bind("RYYST_H") %>' CssClass="number-input-2-nofill" data-month="YST"></asp:TextBox>
|
||||
: <asp:TextBox ID="RYYST_M" runat="server" MaxLength="4" Text='<%# Bind("RYYST_M") %>' CssClass="number-input-2-nofill" data-month="YST"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-display" rowspan="2">
|
||||
<asp:Label ID="RYYXT" runat="server" Text='<%# (Eval("RYYXT_D") != DBNull.Value ? Eval("RYYXT_D") : "0:0") %>'></asp:Label>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-display" rowspan="2">
|
||||
<asp:Label ID="RYVLD" runat="server" Text='<%# (Eval("RYVLD") != DBNull.Value ? Eval("RYVLD") : "0:0") %>'></asp:Label>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-display" rowspan="2">
|
||||
<asp:Label ID="RYUST" runat="server" Text='<%# (Eval("RYUST") != DBNull.Value ? Eval("RYUST") : "0:0") %>'></asp:Label>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-display" rowspan="2">
|
||||
<asp:Label ID="RYLFT" runat="server" Text='<%# (Eval("RYLFT") != DBNull.Value ? Eval("RYLFT") : "0:0") %>'></asp:Label>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-display" rowspan="2">
|
||||
<asp:Label ID="RYPLF" runat="server" Text='<%# (Eval("RYPLF") != DBNull.Value ? Eval("RYPLF") : "0:0") %>'></asp:Label>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-input">
|
||||
<asp:TextBox ID="RYH01" runat="server" MaxLength="4" Text='<%# Bind("RYH01") %>' CssClass="number-input-4" data-month="1H"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-day-input">
|
||||
<asp:TextBox ID="RYD01" runat="server" MaxLength="2" Text='<%# Bind("RYD01") %>' CssClass="number-input-2" data-month="1D"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-input">
|
||||
<asp:TextBox ID="RYH02" runat="server" MaxLength="4" Text='<%# Bind("RYH02") %>' CssClass="number-input-4" data-month="2H"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-day-input">
|
||||
<asp:TextBox ID="RYD02" runat="server" MaxLength="2" Text='<%# Bind("RYD02") %>' CssClass="number-input-2" data-month="2D"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-input">
|
||||
<asp:TextBox ID="RYH03" runat="server" MaxLength="4" Text='<%# Bind("RYH03") %>' CssClass="number-input-4" data-month="3H"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-day-input">
|
||||
<asp:TextBox ID="RYD03" runat="server" MaxLength="2" Text='<%# Bind("RYD03") %>' CssClass="number-input-2" data-month="3D"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-input">
|
||||
<asp:TextBox ID="RYH04" runat="server" MaxLength="4" Text='<%# Bind("RYH04") %>' CssClass="number-input-4" data-month="4H"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-day-input">
|
||||
<asp:TextBox ID="RYD04" runat="server" MaxLength="2" Text='<%# Bind("RYD04") %>' CssClass="number-input-2" data-month="4D"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-input">
|
||||
<asp:TextBox ID="RYH05" runat="server" MaxLength="4" Text='<%# Bind("RYH05") %>' CssClass="number-input-4" data-month="5H"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-day-input">
|
||||
<asp:TextBox ID="RYD05" runat="server" MaxLength="2" Text='<%# Bind("RYD05") %>' CssClass="number-input-2" data-month="5D"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-input">
|
||||
<asp:TextBox ID="RYH06" runat="server" MaxLength="4" Text='<%# Bind("RYH06") %>' CssClass="number-input-4" data-month="6H"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-day-input">
|
||||
<asp:TextBox ID="RYD06" runat="server" MaxLength="2" Text='<%# Bind("RYD06") %>' CssClass="number-input-2" data-month="6D"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-input">
|
||||
<asp:TextBox ID="RYH07" runat="server" MaxLength="4" Text='<%# Bind("RYH07") %>' CssClass="number-input-4" data-month="7H"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-day-input">
|
||||
<asp:TextBox ID="RYD07" runat="server" MaxLength="2" Text='<%# Bind("RYD07") %>' CssClass="number-input-2" data-month="7D"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-input">
|
||||
<asp:TextBox ID="RYH08" runat="server" MaxLength="4" Text='<%# Bind("RYH08") %>' CssClass="number-input-4" data-month="8H"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-day-input">
|
||||
<asp:TextBox ID="RYD08" runat="server" MaxLength="2" Text='<%# Bind("RYD08") %>' CssClass="number-input-2" data-month="8D"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-input">
|
||||
<asp:TextBox ID="RYH09" runat="server" MaxLength="4" Text='<%# Bind("RYH09") %>' CssClass="number-input-4" data-month="9H"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-day-input">
|
||||
<asp:TextBox ID="RYD09" runat="server" MaxLength="2" Text='<%# Bind("RYD09") %>' CssClass="number-input-2" data-month="9D"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-input">
|
||||
<asp:TextBox ID="RYH10" runat="server" MaxLength="4" Text='<%# Bind("RYH10") %>' CssClass="number-input-4" data-month="10H"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-day-input">
|
||||
<asp:TextBox ID="RYD10" runat="server" MaxLength="2" Text='<%# Bind("RYD10") %>' CssClass="number-input-2" data-month="10D"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-input">
|
||||
<asp:TextBox ID="RYH11" runat="server" MaxLength="4" Text='<%# Bind("RYH11") %>' CssClass="number-input-4" data-month="11H"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-day-input">
|
||||
<asp:TextBox ID="RYD11" runat="server" MaxLength="2" Text='<%# Bind("RYD11") %>' CssClass="number-input-2" data-month="11D"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hours-input">
|
||||
<asp:TextBox ID="RYH12" runat="server" MaxLength="4" Text='<%# Bind("RYH12") %>' CssClass="number-input-4" data-month="12H"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-day-input">
|
||||
<asp:TextBox ID="RYD12" runat="server" MaxLength="2" Text='<%# Bind("RYD12") %>' CssClass="number-input-2" data-month="12D"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hour-minute-input" rowspan="2">
|
||||
<asp:TextBox ID="RYSLY_H" runat="server" MaxLength="4" Text='<%# Bind("RYSLY_H") %>' CssClass="number-input-2-nofill" data-month="SLY"></asp:TextBox>
|
||||
: <asp:TextBox ID="RYSLY_M" runat="server" MaxLength="4" Text='<%# Bind("RYSLY_M") %>' CssClass="number-input-2-nofill" data-month="SLY"></asp:TextBox>
|
||||
</td>
|
||||
<td class="text-center ryer-width-hour-minute-input" rowspan="2">
|
||||
<asp:TextBox ID="RYNXT_H" runat="server" MaxLength="4" Text='<%# Bind("RYNXT_H") %>' CssClass="number-input-2-nofill" data-month="NXT"></asp:TextBox>
|
||||
: <asp:TextBox ID="RYNXT_M" runat="server" MaxLength="4" Text='<%# Bind("RYNXT_M") %>' CssClass="number-input-2-nofill" data-month="NXT"></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
<tr runat="server" class="ryer-list-line">
|
||||
<td class="text-center">
|
||||
<asp:Label runat="server" Text='<%# Eval("BPNME") %>'></asp:Label>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<asp:Label runat="server" Text='<%# Eval("BPEDY", "{0:yyyyMMdd}") %>'></asp:Label>
|
||||
</td>
|
||||
<th colspan="1">備註</th>
|
||||
<td colspan="23">
|
||||
<asp:TextBox ID="RYRMK" runat="server" Columns="80" Width="100%" Text='<%# Bind("RYRMK") %>'></asp:TextBox>
|
||||
</td>
|
||||
</tr>
|
||||
</ItemTemplate>
|
||||
</asp:ListView>
|
||||
|
||||
<div id="SaveMessageDiv" class="ryer-save-message hide">
|
||||
<span id="SaveMessage"></span>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready(() => {
|
||||
$(".number-input-2").attr("type", "number");
|
||||
$(".number-input-4").attr("type", "number");
|
||||
$("input[data-month]").focus((e) => {
|
||||
var data_month = e.target.attributes["data-month"].value;
|
||||
$("th[data-month]").removeClass("focused-th");
|
||||
$(`th[data-month=${data_month}]`).addClass("focused-th");
|
||||
})
|
||||
$("input[data-month]").blur((e) => {
|
||||
$("th[data-month]").removeClass("focused-th");
|
||||
})
|
||||
})
|
||||
|
||||
function Save(ryyer, ryeno, ryvld_id, ryust_id, rylft_id, ryplf_id, ryyst_h_id, ryyst_m_id,
|
||||
ryh01_id, ryd01_id, ryh02_id, ryd02_id, ryh03_id, ryd03_id, ryh04_id, ryd04_id, ryh05_id, ryd05_id, ryh06_id, ryd06_id,
|
||||
ryh07_id, ryd07_id, ryh08_id, ryd08_id, ryh09_id, ryd09_id, ryh10_id, ryd10_id, ryh11_id, ryd11_id, ryh12_id, ryd12_id,
|
||||
rysly_h_id, rysly_m_id, rynxt_h_id, rynxt_m_id, ryrmk_id) {
|
||||
|
||||
var saveObj = {
|
||||
item: {
|
||||
userid: "<%= UserId %>",
|
||||
ryeno: ryeno,
|
||||
ryyer: ryyer,
|
||||
ryyst_h: $(ryyst_h_id).val(),
|
||||
ryyst_m: $(ryyst_m_id).val(),
|
||||
ryh01: $(ryh01_id).val(),
|
||||
ryh02: $(ryh02_id).val(),
|
||||
ryh03: $(ryh03_id).val(),
|
||||
ryh04: $(ryh04_id).val(),
|
||||
ryh05: $(ryh05_id).val(),
|
||||
ryh06: $(ryh06_id).val(),
|
||||
ryh07: $(ryh07_id).val(),
|
||||
ryh08: $(ryh08_id).val(),
|
||||
ryh09: $(ryh09_id).val(),
|
||||
ryh10: $(ryh10_id).val(),
|
||||
ryh11: $(ryh11_id).val(),
|
||||
ryh12: $(ryh12_id).val(),
|
||||
ryd01: $(ryd01_id).val(),
|
||||
ryd02: $(ryd02_id).val(),
|
||||
ryd03: $(ryd03_id).val(),
|
||||
ryd04: $(ryd04_id).val(),
|
||||
ryd05: $(ryd05_id).val(),
|
||||
ryd06: $(ryd06_id).val(),
|
||||
ryd07: $(ryd07_id).val(),
|
||||
ryd08: $(ryd08_id).val(),
|
||||
ryd09: $(ryd09_id).val(),
|
||||
ryd10: $(ryd10_id).val(),
|
||||
ryd11: $(ryd11_id).val(),
|
||||
ryd12: $(ryd12_id).val(),
|
||||
rysly_h: $(rysly_h_id).val(),
|
||||
rysly_m: $(rysly_m_id).val(),
|
||||
rynxt_h: $(rynxt_h_id).val(),
|
||||
rynxt_m: $(rynxt_m_id).val(),
|
||||
ryrmk: $(ryrmk_id).val(),
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "forms/worker/wmRyer.asmx/Save",
|
||||
contentType: "application/json; charset=utf-8",
|
||||
data: JSON.stringify(saveObj),
|
||||
dataType: "json",
|
||||
success: function (response) {
|
||||
var result = response.d;
|
||||
if (result.result === 0) {
|
||||
$(ryvld_id).text(result.ryvld);
|
||||
$(ryust_id).text(result.ryust);
|
||||
$(rylft_id).text(result.rylft);
|
||||
ShowSaveMessage(`人員編號 ${saveObj.item.ryeno} 年度 ${1 * saveObj.item.ryyer - 1911} 存檔成功`, true);
|
||||
}
|
||||
else {
|
||||
ShowSaveMessage(`人員編號 ${saveObj.item.ryeno} 年度 ${1 * saveObj.item.ryyer - 1911} 存檔失敗:` + result.message, false);
|
||||
}
|
||||
},
|
||||
error: function (result) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function Final(ryyer, ryeno, ryvld_id, ryust_id, rylft_id, ryplf_id, ryyst_h_id, ryyst_m_id,
|
||||
ryh01_id, ryd01_id, ryh02_id, ryd02_id, ryh03_id, ryd03_id, ryh04_id, ryd04_id, ryh05_id, ryd05_id, ryh06_id, ryd06_id,
|
||||
ryh07_id, ryd07_id, ryh08_id, ryd08_id, ryh09_id, ryd09_id, ryh10_id, ryd10_id, ryh11_id, ryd11_id, ryh12_id, ryd12_id,
|
||||
rysly_h_id, rysly_m_id, rynxt_h_id, rynxt_m_id, ryrmk_id) {
|
||||
|
||||
var saveObj = {
|
||||
item: {
|
||||
userid: "<%= UserId %>",
|
||||
ryeno: ryeno,
|
||||
ryyer: ryyer,
|
||||
ryyst_h: $(ryyst_h_id).val(),
|
||||
ryyst_m: $(ryyst_m_id).val(),
|
||||
ryh01: $(ryh01_id).val(),
|
||||
ryh02: $(ryh02_id).val(),
|
||||
ryh03: $(ryh03_id).val(),
|
||||
ryh04: $(ryh04_id).val(),
|
||||
ryh05: $(ryh05_id).val(),
|
||||
ryh06: $(ryh06_id).val(),
|
||||
ryh07: $(ryh07_id).val(),
|
||||
ryh08: $(ryh08_id).val(),
|
||||
ryh09: $(ryh09_id).val(),
|
||||
ryh10: $(ryh10_id).val(),
|
||||
ryh11: $(ryh11_id).val(),
|
||||
ryh12: $(ryh12_id).val(),
|
||||
ryd01: $(ryd01_id).val(),
|
||||
ryd02: $(ryd02_id).val(),
|
||||
ryd03: $(ryd03_id).val(),
|
||||
ryd04: $(ryd04_id).val(),
|
||||
ryd05: $(ryd05_id).val(),
|
||||
ryd06: $(ryd06_id).val(),
|
||||
ryd07: $(ryd07_id).val(),
|
||||
ryd08: $(ryd08_id).val(),
|
||||
ryd09: $(ryd09_id).val(),
|
||||
ryd10: $(ryd10_id).val(),
|
||||
ryd11: $(ryd11_id).val(),
|
||||
ryd12: $(ryd12_id).val(),
|
||||
rysly_h: $(rysly_h_id).val(),
|
||||
rysly_m: $(rysly_m_id).val(),
|
||||
rynxt_h: $(rynxt_h_id).val(),
|
||||
rynxt_m: $(rynxt_m_id).val(),
|
||||
ryrmk: $(ryrmk_id).val(),
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "forms/worker/wmRyer.asmx/Final",
|
||||
contentType: "application/json; charset=utf-8",
|
||||
data: JSON.stringify(saveObj),
|
||||
dataType: "json",
|
||||
success: function (response) {
|
||||
var result = response.d;
|
||||
if (result.result === 0) {
|
||||
$(ryvld_id).text(result.ryvld);
|
||||
$(ryust_id).text(result.ryust);
|
||||
$(rylft_id).text(result.rylft);
|
||||
ShowSaveMessage(`${result.message}`, true);
|
||||
}
|
||||
else {
|
||||
ShowSaveMessage(`${result.message}`, false);
|
||||
}
|
||||
},
|
||||
error: function (result) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var hideTimeout = null;
|
||||
function ShowSaveMessage(message, success) {
|
||||
$("#SaveMessageDiv").removeClass("ryer-save-message-success");
|
||||
$("#SaveMessageDiv").removeClass("ryer-save-message-fail");
|
||||
if (success) {
|
||||
$("#SaveMessageDiv").addClass("ryer-save-message-success");
|
||||
} else {
|
||||
$("#SaveMessageDiv").addClass("ryer-save-message-fail");
|
||||
}
|
||||
|
||||
$("#SaveMessageDiv").removeClass("hide");
|
||||
$("#SaveMessage").text(message);
|
||||
|
||||
if (hideTimeout != null) {
|
||||
clearTimeout(hideTimeout);
|
||||
}
|
||||
|
||||
hideTimeout = setTimeout(() => {
|
||||
$("#SaveMessageDiv").addClass("hide");
|
||||
hideTimeout = null;
|
||||
}, 5000);
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,342 @@
|
||||
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.Collections.Generic;
|
||||
|
||||
/// <summary>
|
||||
/// 年度特休輸入
|
||||
/// </summary>
|
||||
public partial class forms_worker_fmRyer : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
private int yyFrom;
|
||||
private int yyTo;
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
txtYear.Focus();
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
}
|
||||
|
||||
protected void dsRyer_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
|
||||
{
|
||||
yyFrom = WDAC.GetInt32Value(txtYear.Text);
|
||||
yyTo = WDAC.GetInt32Value(txtYearTo.Text);
|
||||
|
||||
if (yyTo == 0)
|
||||
{
|
||||
yyTo = yyFrom;
|
||||
}
|
||||
|
||||
e.InputParameters["RYYERFrom"] = yyFrom + WGuard1.CY11;
|
||||
e.InputParameters["RYYERTo"] = yyTo + WGuard1.CY11;
|
||||
e.InputParameters["RANUM"] = txtRAENO.Text;
|
||||
e.InputParameters["RAPYN"] = ddl專案.SelectedValue;
|
||||
if (e.InputParameters["RAPYN"] == null)
|
||||
e.InputParameters["RAPYN"] = "";
|
||||
}
|
||||
|
||||
protected void btnYY_Click(object sender, EventArgs e)
|
||||
{
|
||||
yyFrom = WDAC.GetInt32Value(txtYear.Text);
|
||||
yyTo = WDAC.GetInt32Value(txtYearTo.Text);
|
||||
if (yyTo == 0)
|
||||
{
|
||||
yyTo = yyFrom;
|
||||
}
|
||||
ddl專案.DataSource = new BpaaDAC().GetBpaaWithTYPlusNone(yyFrom + WGuard1.CY11, yyTo + WGuard1.CY11);
|
||||
ddl專案.DataTextField = "BPPYM";
|
||||
ddl專案.DataValueField = "BPPYN";
|
||||
ddl專案.DataBind();
|
||||
|
||||
ListView1.Visible = false;
|
||||
}
|
||||
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!CheckProjectRight())
|
||||
return;
|
||||
|
||||
cvMessage.ErrorMessage = "";
|
||||
cvMessage.IsValid = true;
|
||||
|
||||
yyFrom = WDAC.GetInt32Value(txtYear.Text);
|
||||
yyTo = WDAC.GetInt32Value(txtYearTo.Text);
|
||||
|
||||
if (string.IsNullOrEmpty(txtYear.Text))
|
||||
{
|
||||
cvMessage.ErrorMessage = "必須輸入年度條件";
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ddl專案.SelectedIndex < 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = "必須先查詢年度專案";
|
||||
cvMessage.IsValid = false;
|
||||
return;
|
||||
}
|
||||
|
||||
// gvRyer.DataBind();
|
||||
ListView1.DataBind();
|
||||
ListView1.Visible = true;
|
||||
}
|
||||
|
||||
protected void dsRyer_Updating(object sender, ObjectDataSourceMethodEventArgs e)
|
||||
{
|
||||
e.InputParameters["TRUSR"] = UserId;
|
||||
}
|
||||
|
||||
//protected void gvRyer_RowCommand(object sender, GridViewCommandEventArgs e)
|
||||
//{
|
||||
// if (!CheckProjectRight())
|
||||
// return;
|
||||
|
||||
// if (e.CommandName == "Save")
|
||||
// {
|
||||
// yyFrom = WDAC.GetInt32Value(txtYear.Text);
|
||||
// // int rytot = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYTOT") as TextBox).Text);
|
||||
// int ryh01 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYH01") as TextBox).Text);
|
||||
// int ryh02 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYH02") as TextBox).Text);
|
||||
// int ryh03 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYH03") as TextBox).Text);
|
||||
// int ryh04 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYH04") as TextBox).Text);
|
||||
// int ryh05 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYH05") as TextBox).Text);
|
||||
// int ryh06 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYH06") as TextBox).Text);
|
||||
// int ryh07 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYH07") as TextBox).Text);
|
||||
// int ryh08 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYH08") as TextBox).Text);
|
||||
// int ryh09 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYH09") as TextBox).Text);
|
||||
// int ryh10 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYH10") as TextBox).Text);
|
||||
// int ryh11 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYH11") as TextBox).Text);
|
||||
// int ryh12 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYH12") as TextBox).Text);
|
||||
// int ryd01 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYD01") as TextBox).Text);
|
||||
// int ryd02 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYD02") as TextBox).Text);
|
||||
// int ryd03 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYD03") as TextBox).Text);
|
||||
// int ryd04 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYD04") as TextBox).Text);
|
||||
// int ryd05 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYD05") as TextBox).Text);
|
||||
// int ryd06 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYD06") as TextBox).Text);
|
||||
// int ryd07 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYD07") as TextBox).Text);
|
||||
// int ryd08 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYD08") as TextBox).Text);
|
||||
// int ryd09 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYD09") as TextBox).Text);
|
||||
// int ryd10 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYD10") as TextBox).Text);
|
||||
// int ryd11 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYD11") as TextBox).Text);
|
||||
// int ryd12 = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYD12") as TextBox).Text);
|
||||
// int rysly = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYSLY") as TextBox).Text);
|
||||
// int rynxt = WDAC.GetInt32Value(((e.CommandSource as Control).Parent.FindControl("RYNXT") as TextBox).Text);
|
||||
// string ryrmk = ((e.CommandSource as Control).Parent.FindControl("RYRML") as TextBox).Text;
|
||||
|
||||
// new RyerDAC(Query).UpdateOne(
|
||||
// e.CommandArgument.ToString()
|
||||
// , yyFrom + WGuard1.CY11
|
||||
// // , rytot
|
||||
// , ryh01 + ryh02 + ryh03 + ryh04 + ryh05 + ryh06 + ryh07 + ryh08 + ryh09 + ryh10 + ryh11 + ryh12
|
||||
// , UserId
|
||||
// , ryh01, ryh02, ryh03, ryh04, ryh05, ryh06, ryh07, ryh08, ryh09, ryh10, ryh11, ryh12
|
||||
// , ryd01, ryd02, ryd03, ryd04, ryd05, ryd06, ryd07, ryd08, ryd09, ryd10, ryd11, ryd12
|
||||
// , rysly, rynxt, ryrmk);
|
||||
|
||||
// gvRyer.DataBind();
|
||||
// }
|
||||
//}
|
||||
|
||||
protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e)
|
||||
{
|
||||
//if (!CheckProjectRight())
|
||||
// return;
|
||||
|
||||
//if (e.CommandName == "Save")
|
||||
//{
|
||||
// string ryeno = e.CommandArgument.ToString();
|
||||
// int ryyer = WDAC.GetInt32Value(ListView1.DataKeys[0].Values[1]);
|
||||
|
||||
// int ryh01 = WDAC.GetInt32Value((e.Item.FindControl("RYH01") as TextBox).Text);
|
||||
// int ryh02 = WDAC.GetInt32Value((e.Item.FindControl("RYH02") as TextBox).Text);
|
||||
// int ryh03 = WDAC.GetInt32Value((e.Item.FindControl("RYH03") as TextBox).Text);
|
||||
// int ryh04 = WDAC.GetInt32Value((e.Item.FindControl("RYH04") as TextBox).Text);
|
||||
// int ryh05 = WDAC.GetInt32Value((e.Item.FindControl("RYH05") as TextBox).Text);
|
||||
// int ryh06 = WDAC.GetInt32Value((e.Item.FindControl("RYH06") as TextBox).Text);
|
||||
// int ryh07 = WDAC.GetInt32Value((e.Item.FindControl("RYH07") as TextBox).Text);
|
||||
// int ryh08 = WDAC.GetInt32Value((e.Item.FindControl("RYH08") as TextBox).Text);
|
||||
// int ryh09 = WDAC.GetInt32Value((e.Item.FindControl("RYH09") as TextBox).Text);
|
||||
// int ryh10 = WDAC.GetInt32Value((e.Item.FindControl("RYH10") as TextBox).Text);
|
||||
// int ryh11 = WDAC.GetInt32Value((e.Item.FindControl("RYH11") as TextBox).Text);
|
||||
// int ryh12 = WDAC.GetInt32Value((e.Item.FindControl("RYH12") as TextBox).Text);
|
||||
// int ryd01 = WDAC.GetInt32Value((e.Item.FindControl("RYD01") as TextBox).Text);
|
||||
// int ryd02 = WDAC.GetInt32Value((e.Item.FindControl("RYD02") as TextBox).Text);
|
||||
// int ryd03 = WDAC.GetInt32Value((e.Item.FindControl("RYD03") as TextBox).Text);
|
||||
// int ryd04 = WDAC.GetInt32Value((e.Item.FindControl("RYD04") as TextBox).Text);
|
||||
// int ryd05 = WDAC.GetInt32Value((e.Item.FindControl("RYD05") as TextBox).Text);
|
||||
// int ryd06 = WDAC.GetInt32Value((e.Item.FindControl("RYD06") as TextBox).Text);
|
||||
// int ryd07 = WDAC.GetInt32Value((e.Item.FindControl("RYD07") as TextBox).Text);
|
||||
// int ryd08 = WDAC.GetInt32Value((e.Item.FindControl("RYD08") as TextBox).Text);
|
||||
// int ryd09 = WDAC.GetInt32Value((e.Item.FindControl("RYD09") as TextBox).Text);
|
||||
// int ryd10 = WDAC.GetInt32Value((e.Item.FindControl("RYD10") as TextBox).Text);
|
||||
// int ryd11 = WDAC.GetInt32Value((e.Item.FindControl("RYD11") as TextBox).Text);
|
||||
// int ryd12 = WDAC.GetInt32Value((e.Item.FindControl("RYD12") as TextBox).Text);
|
||||
// int rysly = WDAC.GetInt32Value((e.Item.FindControl("RYSLY") as TextBox).Text);
|
||||
// int rynxt = WDAC.GetInt32Value((e.Item.FindControl("RYNXT") as TextBox).Text);
|
||||
// string ryrmk = (e.Item.FindControl("RYRMK") as TextBox).Text;
|
||||
|
||||
// if (ryd01 <= 0) ryd01 = 1;
|
||||
// if (ryd02 <= 0) ryd02 = 1;
|
||||
// if (ryd03 <= 0) ryd03 = 1;
|
||||
// if (ryd04 <= 0) ryd04 = 1;
|
||||
// if (ryd05 <= 0) ryd05 = 1;
|
||||
// if (ryd06 <= 0) ryd06 = 1;
|
||||
// if (ryd07 <= 0) ryd07 = 1;
|
||||
// if (ryd08 <= 0) ryd08 = 1;
|
||||
// if (ryd09 <= 0) ryd09 = 1;
|
||||
// if (ryd10 <= 0) ryd10 = 1;
|
||||
// if (ryd11 <= 0) ryd11 = 1;
|
||||
// if (ryd12 <= 0) ryd12 = 1;
|
||||
|
||||
// if (ryd01 > 31) ryd01 = 31;
|
||||
// if (ryd02 > 31) ryd02 = 31;
|
||||
// if (ryd03 > 31) ryd03 = 31;
|
||||
// if (ryd04 > 31) ryd04 = 31;
|
||||
// if (ryd05 > 31) ryd05 = 31;
|
||||
// if (ryd06 > 31) ryd06 = 31;
|
||||
// if (ryd07 > 31) ryd07 = 31;
|
||||
// if (ryd08 > 31) ryd08 = 31;
|
||||
// if (ryd09 > 31) ryd09 = 31;
|
||||
// if (ryd10 > 31) ryd10 = 31;
|
||||
// if (ryd11 > 31) ryd11 = 31;
|
||||
// if (ryd12 > 31) ryd12 = 31;
|
||||
|
||||
// new RyerDAC(Query).UpdateOne(
|
||||
// ryeno
|
||||
// , ryyer
|
||||
// , ryh01 + ryh02 + ryh03 + ryh04 + ryh05 + ryh06 + ryh07 + ryh08 + ryh09 + ryh10 + ryh11 + ryh12
|
||||
// , UserId
|
||||
// , ryh01, ryh02, ryh03, ryh04, ryh05, ryh06, ryh07, ryh08, ryh09, ryh10, ryh11, ryh12
|
||||
// , ryd01, ryd02, ryd03, ryd04, ryd05, ryd06, ryd07, ryd08, ryd09, ryd10, ryd11, ryd12
|
||||
// , rysly, rynxt, ryrmk);
|
||||
|
||||
// ListView1.DataBind();
|
||||
//}
|
||||
}
|
||||
|
||||
protected bool CheckProjectRight()
|
||||
{
|
||||
// 檢查此使用者是否有權限處理這個專案
|
||||
BprmDAC bprm = new BprmDAC(Query);
|
||||
if (!bprm.GetRight(ddl專案.SelectedValue, UserId))
|
||||
{
|
||||
//MultiView1.Visible = false;
|
||||
cvMessage.ErrorMessage = "對不起,你沒有處理這個專案的權限!";
|
||||
cvMessage.IsValid = false;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static string GetSaveCommand(string bpeno, object p)
|
||||
{
|
||||
return string.Format("Save('{0}'); return false;"
|
||||
, bpeno);
|
||||
}
|
||||
|
||||
protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
|
||||
{
|
||||
Button btnSave = e.Item.FindControl("btnSave") as Button;
|
||||
Button btnFinal = e.Item.FindControl("btnFinal") as Button;
|
||||
|
||||
HiddenField RYYER = e.Item.FindControl("RYYER") as HiddenField;
|
||||
Label RYENO = e.Item.FindControl("RYENO") as Label;
|
||||
Label RYVLD = e.Item.FindControl("RYVLD") as Label;
|
||||
Label RYUST = e.Item.FindControl("RYUST") as Label;
|
||||
Label RYLFT = e.Item.FindControl("RYLFT") as Label;
|
||||
Label RYPLF = e.Item.FindControl("RYPLF") as Label;
|
||||
TextBox RYYST_H = e.Item.FindControl("RYYST_H") as TextBox;
|
||||
TextBox RYYST_M = e.Item.FindControl("RYYST_M") as TextBox;
|
||||
TextBox RYH01 = e.Item.FindControl("RYH01") as TextBox;
|
||||
TextBox RYD01 = e.Item.FindControl("RYD01") as TextBox;
|
||||
TextBox RYH02 = e.Item.FindControl("RYH02") as TextBox;
|
||||
TextBox RYD02 = e.Item.FindControl("RYD02") as TextBox;
|
||||
TextBox RYH03 = e.Item.FindControl("RYH03") as TextBox;
|
||||
TextBox RYD03 = e.Item.FindControl("RYD03") as TextBox;
|
||||
TextBox RYH04 = e.Item.FindControl("RYH04") as TextBox;
|
||||
TextBox RYD04 = e.Item.FindControl("RYD04") as TextBox;
|
||||
TextBox RYH05 = e.Item.FindControl("RYH05") as TextBox;
|
||||
TextBox RYD05 = e.Item.FindControl("RYD05") as TextBox;
|
||||
TextBox RYH06 = e.Item.FindControl("RYH06") as TextBox;
|
||||
TextBox RYD06 = e.Item.FindControl("RYD06") as TextBox;
|
||||
TextBox RYH07 = e.Item.FindControl("RYH07") as TextBox;
|
||||
TextBox RYD07 = e.Item.FindControl("RYD07") as TextBox;
|
||||
TextBox RYH08 = e.Item.FindControl("RYH08") as TextBox;
|
||||
TextBox RYD08 = e.Item.FindControl("RYD08") as TextBox;
|
||||
TextBox RYH09 = e.Item.FindControl("RYH09") as TextBox;
|
||||
TextBox RYD09 = e.Item.FindControl("RYD09") as TextBox;
|
||||
TextBox RYH10 = e.Item.FindControl("RYH10") as TextBox;
|
||||
TextBox RYD10 = e.Item.FindControl("RYD10") as TextBox;
|
||||
TextBox RYH11 = e.Item.FindControl("RYH11") as TextBox;
|
||||
TextBox RYD11 = e.Item.FindControl("RYD11") as TextBox;
|
||||
TextBox RYH12 = e.Item.FindControl("RYH12") as TextBox;
|
||||
TextBox RYD12 = e.Item.FindControl("RYD12") as TextBox;
|
||||
TextBox RYSLY_H = e.Item.FindControl("RYSLY_H") as TextBox;
|
||||
TextBox RYSLY_M = e.Item.FindControl("RYSLY_M") as TextBox;
|
||||
TextBox RYNXT_H = e.Item.FindControl("RYNXT_H") as TextBox;
|
||||
TextBox RYNXT_M = e.Item.FindControl("RYNXT_M") as TextBox;
|
||||
TextBox RYRMK = e.Item.FindControl("RYRMK") as TextBox;
|
||||
|
||||
List<string> paramList = new List<string>();
|
||||
paramList.Add(string.Format("'{0}'", RYYER.Value));
|
||||
paramList.Add(string.Format("'{0}'", RYENO.Text));
|
||||
paramList.Add(string.Format("'#{0}'", RYVLD.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYUST.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYLFT.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYPLF.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYYST_H.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYYST_M.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYH01.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYD01.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYH02.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYD02.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYH03.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYD03.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYH04.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYD04.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYH05.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYD05.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYH06.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYD06.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYH07.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYD07.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYH08.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYD08.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYH09.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYD09.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYH10.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYD10.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYH11.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYD11.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYH12.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYD12.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYSLY_H.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYSLY_M.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYNXT_H.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYNXT_M.ClientID));
|
||||
paramList.Add(string.Format("'#{0}'", RYRMK.ClientID));
|
||||
|
||||
btnSave.OnClientClick = string.Format("Save({0}); return false;"
|
||||
, string.Join(",", paramList.ToArray()));
|
||||
btnFinal.OnClientClick = string.Format("Final({0}); return false;"
|
||||
, string.Join(",", paramList.ToArray()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,605 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmSendSalaryStrip.ascx.cs" Inherits="forms_worker_fmSendSalaryStrip" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="lbCaption" runat="server"
|
||||
TextMessageId="FMSENDSS.NAME" CssClass="pageTitle"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage" runat="server"
|
||||
Display="None"></asp:CustomValidator>
|
||||
<asp:MultiView ID="MultiView1" runat="server"
|
||||
ActiveViewIndex="0">
|
||||
<asp:View ID="YYMM" runat="server">
|
||||
<table border="0" cellpadding="0" cellspacing="2">
|
||||
<tr>
|
||||
<td colspan="1" style="width: 50px; height: 0px"></td>
|
||||
<td colspan="1" style="height: 0px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right">
|
||||
<cc1:WLabel ID="lbBPIDN" runat="server" TextMessageId="">年月:</cc1:WLabel>
|
||||
</td>
|
||||
<td nowrap="nowrap">
|
||||
<asp:TextBox ID="txtYYMM" runat="server"
|
||||
Columns="6" CssClass="textInput1"></asp:TextBox>
|
||||
<cc1:WButton ID="btnSSYMM" runat="server"
|
||||
AccessKey="Y" CssClass="button" Text="Y.確定"
|
||||
OnClick="btnSSMS_Click"></cc1:WButton>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:View>
|
||||
<asp:View ID="PYN" runat="server">
|
||||
<table>
|
||||
<tr>
|
||||
<td align="right" style="width: 50px; text-align: right">
|
||||
<cc1:WLabel ID="WLabel2" runat="server" TextMessageId="">年月:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WLabel ID="lbYYMM" runat="server" TextMessageId=""></cc1:WLabel>
|
||||
<cc1:WButton ID="btnInputSSYMM" runat="server"
|
||||
AccessKey="R" CausesValidation="False"
|
||||
CssClass="button" OnClick="btnInputSSYMM_Click"
|
||||
Text="R.輸入年月" UseSubmitBehavior="False" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" style="text-align: right">
|
||||
<cc1:WLabel ID="WLabel3" runat="server" TextMessageId="">專案:</cc1:WLabel>
|
||||
</td>
|
||||
<td class="dataEditCell">
|
||||
<cc1:WDropDownList ID="ddlSSPYN" runat="server"
|
||||
CssClass="textInput1" DataTextField="BPPYM"
|
||||
DataValueField="BPPYN" Width="500px">
|
||||
</cc1:WDropDownList>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" style="text-align: right">
|
||||
<cc1:WLabel ID="WLabel1" runat="server" TextMessageId="">次數別:</cc1:WLabel></td>
|
||||
<td class="dataEditCell">
|
||||
<asp:DropDownList ID="ddlBonusTimes" runat="server">
|
||||
<asp:ListItem Value="0">薪資</asp:ListItem>
|
||||
<asp:ListItem Value="1">第一次獎金</asp:ListItem>
|
||||
<asp:ListItem Value="2">第二次獎金</asp:ListItem>
|
||||
<asp:ListItem Value="3">第三次獎金</asp:ListItem>
|
||||
<asp:ListItem Value="4">第四次獎金</asp:ListItem>
|
||||
<asp:ListItem Value="5">第五次獎金</asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<cc1:WButton ID="btnSSPYN" runat="server"
|
||||
AccessKey="F" CausesValidation="False"
|
||||
CssClass="button" Text="F.查詢" UseSubmitBehavior="False"
|
||||
OnClick="btnSSPYN_Click"></cc1:WButton></td>
|
||||
</tr>
|
||||
</table>
|
||||
<asp:SqlDataSource ID="dsSSMS" runat="server"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"></asp:SqlDataSource>
|
||||
<asp:SqlDataSource ID="dsSSMSSum" runat="server"
|
||||
ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"></asp:SqlDataSource>
|
||||
<asp:Button ID="btnSend" runat="server" OnClick="btnSend_Click"
|
||||
Text="S.發送" CssClass="button" AccessKey="S"
|
||||
OnClientClick='if (confirm("是否確定發送薪資單郵件?")) {ShowProcessing(2000); return true;} else return false;' />
|
||||
<asp:Button ID="btnCheckAll" runat="server"
|
||||
AccessKey="A" CssClass="button" OnClientClick="CheckAll(true); return false;"
|
||||
Text="A.全選" UseSubmitBehavior="False" />
|
||||
<asp:Button ID="btnCheckNone" runat="server"
|
||||
AccessKey="N" CssClass="button" OnClientClick="CheckAll(false); return false;"
|
||||
Text="N.全不選" UseSubmitBehavior="False" />
|
||||
<asp:Label ID="lbNotice" runat="server" Text="(員工資料中電子郵件空白者,不可選擇發送)"></asp:Label>
|
||||
<asp:GridView ID="gvSSMS" runat="server"
|
||||
AutoGenerateColumns="False" DataSourceID="dsSSMS"
|
||||
CssClass="fixtable" OnDataBound="gvSSMS_DataBound"
|
||||
EnableModelValidation="True" ShowFooter="true" OnRowDataBound="gvSSMS_RowDataBound">
|
||||
<RowStyle HorizontalAlign="Center" Wrap="False" />
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="選">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox ID="cbSelect" runat="server"
|
||||
Enabled='<%# Eval("BPEML", "{0}") != "" || Eval("BPEM2", "{0}") != "" %>'
|
||||
OnDataBinding="cbSelect_DataBinding" />
|
||||
</ItemTemplate>
|
||||
<HeaderStyle HorizontalAlign="Center" Width="30px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="人員編號" SortExpression="SSENO">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label1" runat="server" Text='<%# Bind("SSENO") %>'></asp:Label>
|
||||
<asp:Label ID="Label5" runat="server" Text='<%# GetLookup("BPSN", Eval("SSENO", "{0:c}"), "BPNME") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<ItemStyle Wrap="False" HorizontalAlign="Left"
|
||||
Width="120px" />
|
||||
<HeaderStyle Width="120px" />
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="SSP00" HeaderText="本薪"
|
||||
ReadOnly="True" SortExpression="SSP00"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="72px" />
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="72px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSP01" HeaderText="全勤獎金"
|
||||
ReadOnly="True" SortExpression="SSP01"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Green" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="OVERWORK" HeaderText="加班費"
|
||||
ReadOnly="True" SortExpression="OVERWORK"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Green" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="OUTGOING" HeaderText="外勤工作費"
|
||||
ReadOnly="True" SortExpression="OUTGOING"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Green" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSP11" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="電話費" ReadOnly="True" HtmlEncode="False"
|
||||
SortExpression="SSP11">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Green" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSP02" HeaderText="伙食津貼"
|
||||
ReadOnly="True" SortExpression="SSP02"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Green" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSP99" HeaderText="其他加項"
|
||||
ReadOnly="True" SortExpression="SSP99"
|
||||
ConvertEmptyStringToNull="False" DataFormatString="{0:###,###,##0}"
|
||||
HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Green" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSP03" HeaderText="職務加給"
|
||||
ReadOnly="True" ConvertEmptyStringToNull="False" DataFormatString="{0:###,###,##0}"
|
||||
HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Green" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSP05" HeaderText="其他津貼"
|
||||
ReadOnly="True" ConvertEmptyStringToNull="False" DataFormatString="{0:###,###,##0}"
|
||||
HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Green" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="TOTALPLUS" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="津貼合計" HtmlEncode="False">
|
||||
<HeaderStyle Width="72px" />
|
||||
<ItemStyle Font-Bold="True" ForeColor="Blue"
|
||||
Width="72px" HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSPLUS" HeaderText="應發金額"
|
||||
ReadOnly="True" SortExpression="SSPLUS"
|
||||
ConvertEmptyStringToNull="False" DataFormatString="{0:###,###,##0}"
|
||||
HtmlEncode="False">
|
||||
<HeaderStyle Width="72px" />
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="72px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="LEAVING" HeaderText="請假扣款"
|
||||
ReadOnly="True" SortExpression="LEAVING"
|
||||
ConvertEmptyStringToNull="False" DataFormatString="{0:###,###,##0}"
|
||||
HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Fuchsia" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSS05" HeaderText="健保費"
|
||||
ReadOnly="True" SortExpression="SSS05"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Fuchsia" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSS04" HeaderText="勞保費"
|
||||
ReadOnly="True" SortExpression="SSS04"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Fuchsia" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSS07" HeaderText="福利金"
|
||||
ReadOnly="True" SortExpression="SSS07"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Fuchsia" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSS06" HeaderText="員工提繳"
|
||||
ReadOnly="True" SortExpression="SSS06"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Fuchsia" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSS99" HeaderText="其他減項"
|
||||
ReadOnly="True" SortExpression="SSS99"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Fuchsia" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSS06SUM" HeaderText="員工累計"
|
||||
ReadOnly="True" SortExpression="SSS06SUM"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSMINUS" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="扣款合計" HtmlEncode="False" ReadOnly="True">
|
||||
<HeaderStyle Width="72px" />
|
||||
<ItemStyle Font-Bold="True" ForeColor="Red"
|
||||
Width="72px" HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSD02" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="出勤天數" HtmlEncode="False" SortExpression="SSD02">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="OVERWORKTIME"
|
||||
DataFormatString="{0:###,###,##0}" HeaderText="加班時數"
|
||||
HtmlEncode="False" SortExpression="OVERWORKTIME">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSP00" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="課稅金額" HtmlEncode="False" ReadOnly="True">
|
||||
<HeaderStyle Width="72px" />
|
||||
<ItemStyle Width="72px" HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSS03" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="所得稅" HtmlEncode="False" ReadOnly="True">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle Width="52px" HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSH06" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="公司提繳" HtmlEncode="False" ReadOnly="True">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle Width="52px" HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSH06SUM" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="公司累計" HtmlEncode="False" ReadOnly="True">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle Width="52px" HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSTOTAL" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="實發金額" HtmlEncode="False" SortExpression="SSTOTAL">
|
||||
<HeaderStyle Width="72px" />
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="72px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="TRDAT" DataFormatString="{0:yyyyMMdd}"
|
||||
HeaderText="發送日期" HtmlEncode="False">
|
||||
<HeaderStyle Width="72px" />
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="72px" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField HeaderText="發送人員">
|
||||
<EditItemTemplate>
|
||||
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbTRUSR" runat="server" Text='<%# Bind("TRUSR") %>'></asp:Label>
|
||||
<asp:Label ID="Label6" runat="server" Text='<%# GetLookup("BPSN", Eval("TRUSR", "{0:c}"), "BPNME") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<HeaderStyle Width="120px" />
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="120px" />
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<HeaderStyle Wrap="False" />
|
||||
<FooterStyle BackColor="#EFF3FB" ForeColor="Black" Font-Bold="true" />
|
||||
<EmptyDataTemplate>
|
||||
<asp:Label ID="Label4" runat="server" Font-Bold="True"
|
||||
ForeColor="Red" Text="無資料"></asp:Label>
|
||||
</EmptyDataTemplate>
|
||||
</asp:GridView>
|
||||
<%-- <asp:GridView ID="gvSSMSSum" runat="server" Visible="false"
|
||||
AutoGenerateColumns="False" DataSourceID="dsSSMSSum"
|
||||
ShowHeader="False" CssClass="fixtable" EnableModelValidation="True">
|
||||
<RowStyle HorizontalAlign="Center" Wrap="False" />
|
||||
<Columns>
|
||||
<asp:TemplateField>
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="30px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label3" runat="server" Font-Bold="true"
|
||||
Text="合計"></asp:Label>
|
||||
</ItemTemplate>
|
||||
<ItemStyle Wrap="False" HorizontalAlign="Center"
|
||||
Width="120px" />
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="SSP00" HeaderText="本薪"
|
||||
ReadOnly="True" SortExpression="SSP00"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="72px" />
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="72px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSP01" HeaderText="全勤獎金"
|
||||
ReadOnly="True" SortExpression="SSP01"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="OVERWORK" HeaderText="加班費"
|
||||
ReadOnly="True" SortExpression="OVERWORK"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="OUTGOING" HeaderText="外勤工作費"
|
||||
ReadOnly="True" SortExpression="OUTGOING"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSP11" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="電話費" ReadOnly="True" HtmlEncode="False"
|
||||
SortExpression="SSP11">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSP02" HeaderText="伙食津貼"
|
||||
ReadOnly="True" SortExpression="SSP02"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSP99" HeaderText="其他加項"
|
||||
ReadOnly="True" SortExpression="SSP99"
|
||||
ConvertEmptyStringToNull="False" DataFormatString="{0:###,###,##0}"
|
||||
HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSP03" HeaderText="職務加給" ReadOnly="True" ConvertEmptyStringToNull="False"
|
||||
DataFormatString="{0:###,###,##0}"
|
||||
HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSP05" HeaderText="其他津貼" ReadOnly="True" ConvertEmptyStringToNull="False"
|
||||
DataFormatString="{0:###,###,##0}"
|
||||
HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField>
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="72px" />
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="SSPLUS" HeaderText="應發金額"
|
||||
ReadOnly="True" SortExpression="SSPLUS"
|
||||
ConvertEmptyStringToNull="False" DataFormatString="{0:###,###,##0}"
|
||||
HtmlEncode="False">
|
||||
<HeaderStyle Width="72px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="72px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="LEAVING" HeaderText="請假扣款"
|
||||
ReadOnly="True" SortExpression="LEAVING"
|
||||
ConvertEmptyStringToNull="False" DataFormatString="{0:###,###,##0}"
|
||||
HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSS05" HeaderText="健保費"
|
||||
ReadOnly="True" SortExpression="SSS05"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSS04" HeaderText="勞保費"
|
||||
ReadOnly="True" SortExpression="SSS04"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSS07" HeaderText="福利金"
|
||||
ReadOnly="True" SortExpression="SSS07"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSS06" HeaderText="員工提繳"
|
||||
ReadOnly="True" SortExpression="SSS06"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSS99" HeaderText="其他減項"
|
||||
ReadOnly="True" SortExpression="SSS99"
|
||||
DataFormatString="{0:###,###,##0}" HtmlEncode="False">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" Font-Bold="True"
|
||||
Width="52px" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField>
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="72px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="72px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="52px" />
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="SSTOTAL" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="實發金額" HtmlEncode="False" SortExpression="SSTOTAL">
|
||||
<HeaderStyle Width="72px" />
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="72px" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField>
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="72px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField>
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="120px" />
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<HeaderStyle Wrap="False" />
|
||||
</asp:GridView>--%>
|
||||
<asp:GridView ID="gvSSMSBonus" runat="server"
|
||||
AutoGenerateColumns="False" DataSourceID="dsSSMS"
|
||||
CssClass="fixtable" OnDataBound="gvSSMS_DataBound" OnRowDataBound="gvSSMSBonus_RowDataBound">
|
||||
<RowStyle HorizontalAlign="Center" Wrap="False" />
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="選">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox ID="cbSelect" runat="server"
|
||||
Enabled='<%# Eval("BPEML", "{0}") != "" || Eval("BPEM2", "{0}") != "" %>'
|
||||
OnDataBinding="cbSelect_DataBinding" />
|
||||
</ItemTemplate>
|
||||
<HeaderStyle HorizontalAlign="Center" Width="30px" />
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="人員編號" SortExpression="SSENO">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label1" runat="server" Text='<%# Bind("SSENO") %>'></asp:Label>
|
||||
<asp:Label ID="Label5" runat="server" Text='<%# GetLookup("BPSN", Eval("SSENO", "{0:c}"), "BPNME") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<HeaderStyle Width="120px" />
|
||||
<ItemStyle Wrap="False" HorizontalAlign="Left"
|
||||
Width="120px" />
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="SSP13" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="獎金" HtmlEncode="False" ReadOnly="True">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Green" HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField HeaderText="稅率">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbTaxRate" runat="server"
|
||||
Text='<%# GetSSC07(Eval("SSC07"), 0) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle HorizontalAlign="Center" />
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="SSS03" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="所得稅" HtmlEncode="False" ReadOnly="True">
|
||||
<HeaderStyle Width="52px" />
|
||||
<ItemStyle ForeColor="Fuchsia" HorizontalAlign="Center" />
|
||||
</asp:BoundField>
|
||||
<asp:BoundField DataField="SSTOTAL" DataFormatString="{0:###,###,##0}"
|
||||
HeaderText="實發金額" HtmlEncode="False" SortExpression="SSTOTAL">
|
||||
<HeaderStyle Width="72px" />
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="72px" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField HeaderText="備註">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lbSSC07" runat="server" Text='<%# GetSSC07(Eval("SSC07"), 1) %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<HeaderStyle Width="150px" />
|
||||
<ItemStyle HorizontalAlign="Left" />
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="TRDAT" DataFormatString="{0:yyyyMMdd}"
|
||||
HeaderText="發送日期" HtmlEncode="False">
|
||||
<HeaderStyle Width="72px" />
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="72px" />
|
||||
</asp:BoundField>
|
||||
<asp:TemplateField HeaderText="發送人員">
|
||||
<EditItemTemplate>
|
||||
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lb發送人員" runat="server" Text='<%# Bind("TRUSR") %>'></asp:Label>
|
||||
<asp:Label ID="Label6" runat="server" Text='<%# GetLookup("BPSN", Eval("TRUSR", "{0:c}"), "BPNME") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
<HeaderStyle Width="120px" />
|
||||
<ItemStyle Font-Bold="True" HorizontalAlign="Center"
|
||||
Width="120px" />
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
<EmptyDataTemplate>
|
||||
<asp:Label ID="Label4" runat="server" Font-Bold="True"
|
||||
ForeColor="Red" Text="無資料"></asp:Label>
|
||||
</EmptyDataTemplate>
|
||||
<HeaderStyle Wrap="False" />
|
||||
</asp:GridView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
|
||||
<script type="text/javascript">
|
||||
function CheckAll(checked)
|
||||
{
|
||||
if (typeof CHECKBOXIDS == "undefined")
|
||||
return;
|
||||
|
||||
for (i = 0; i < CHECKBOXIDS.length; i++)
|
||||
{
|
||||
var cb = document.getElementById(CHECKBOXIDS[i]);
|
||||
if (cb != null && cb.disabled == "")
|
||||
cb.checked = checked;
|
||||
}
|
||||
CheckChecked();
|
||||
}
|
||||
|
||||
function CheckChecked()
|
||||
{
|
||||
if (typeof CHECKBOXIDS == "undefined")
|
||||
return;
|
||||
|
||||
var enabled = false;
|
||||
for (i = 0; i < CHECKBOXIDS.length; i++)
|
||||
{
|
||||
var cb = document.getElementById(CHECKBOXIDS[i]);
|
||||
if (cb != null && cb.disabled == "")
|
||||
enabled = enabled || cb.checked;
|
||||
}
|
||||
|
||||
if (document.getElementById("FMSENDSS_btnSend") != null)
|
||||
document.getElementById("FMSENDSS_btnSend").disabled = !enabled;
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,629 @@
|
||||
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 Wellan.Common;
|
||||
using Wellan.Data;
|
||||
using System.Data.Common;
|
||||
using System.IO;
|
||||
using System.Net.Mail;
|
||||
using Wellan.Service;
|
||||
|
||||
/// <summary>
|
||||
/// 薪資條發放
|
||||
/// </summary>
|
||||
public partial class forms_worker_fmSendSalaryStrip : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
private DateTime _SSYMM;
|
||||
private string _SSPYN;
|
||||
private string _BonusTimes;
|
||||
private string _tableName = "";
|
||||
private string select =
|
||||
@"SELECT A.*,
|
||||
SSP06 + SSP07 + SSP08 + SSP13 + SSP14 OVERWORK,
|
||||
SSP09 + SSP10 + SSP12 OUTGOING,
|
||||
SSP00 + SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 + SSP13 + SSP14 + SSP15 + SSP99 SSPLUS,
|
||||
SSS01 + SSS02 + SSS09 LEAVING,
|
||||
SST01 + SST02 + SST03 + SST21 + SST22 OVERWORKTIME,
|
||||
(SSP00 + SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 + SSP13 + SSP14 + SSP15 + SSP99)
|
||||
- (SSS01 + SSS02 + SSS03 + SSS04 + SSS05 + SSS06 + SSS07 + SSS08 + SSS09 + SSS10 + SSS11 + SSS12 + SSS13 + SSS14 + SSS15 + SSS99) SSTOTAL,
|
||||
SSS01 + SSS02 + SSS04 + SSS05 + SSS06 + SSS07 + SSS08 + SSS09 + SSS10 + SSS11 + SSS12 + SSS13 + SSS14 + SSS15 + SSS99 SSMINUS,
|
||||
SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 + SSP13 + SSP14 + SSP15 + SSP99 TOTALPLUS,
|
||||
SSH01 + SSH02 + SSH03 EMPLOYER,
|
||||
ISNULL(B.BPNME, '') BPNME,
|
||||
ISNULL(C.BPPYM, '') BPPYM,
|
||||
ISNULL(B.BPSWY, '') BPSWY,
|
||||
ISNULL(D.BCNAM, '') BCNAM,
|
||||
ISNULL(B.BPACC, '') BPACC,
|
||||
ISNULL(B.BPEML, '') BPEML,
|
||||
ISNULL(B.BPEM2, '') BPEM2,
|
||||
(SELECT SUM(SSS06) FROM {0} E WHERE A.SSENO=E.SSENO AND E.SSYMM <= @SSYMM) SSS06SUM,
|
||||
(SELECT SUM(SSH06) FROM {0} F WHERE A.SSENO=F.SSENO AND F.SSYMM <= @SSYMM) SSH06SUM,
|
||||
SSC01, SSC03, SSC03, SSC04, SSC05, SSC06, SSC07, SSC08, SSC09, SSC10
|
||||
FROM {0} A
|
||||
LEFT OUTER JOIN BPSNView B ON A.SSENO=B.BPENO
|
||||
LEFT OUTER JOIN BPAA C ON A.SSPYN=C.BPPYN
|
||||
LEFT OUTER JOIN BRML D ON B.BPBNK=D.BCNUM";
|
||||
private string selectSum =
|
||||
@"SELECT ISNULL(SUM(SSD01), 0) SSD01, ISNULL(SUM(SSD02), 0) SSD02, ISNULL(SUM(SSSRD), 0) SSSRD, ISNULL(SUM(SSP00), 0) SSP00,
|
||||
ISNULL(SUM(SSP01), 0) SSP01, ISNULL(SUM(SSP02), 0) SSP02, ISNULL(SUM(SSP03), 0) SSP03, ISNULL(SUM(SSP04), 0) SSP04,
|
||||
ISNULL(SUM(SSP05), 0) SSP05, ISNULL(SUM(SSP06), 0) SSP06, ISNULL(SUM(SSP07), 0) SSP07, ISNULL(SUM(SSP08), 0) SSP08,
|
||||
ISNULL(SUM(SSP09), 0) SSP09, ISNULL(SUM(SSP10), 0) SSP10, ISNULL(SUM(SSP11), 0) SSP11, ISNULL(SUM(SSP12), 0) SSP12,
|
||||
ISNULL(SUM(SSP13), 0) SSP13, ISNULL(SUM(SSP14), 0) SSP14, ISNULL(SUM(SSP15), 0) SSP15, ISNULL(SUM(SSP99), 0) SSP99,
|
||||
ISNULL(SUM(SSS01), 0) SSS01, ISNULL(SUM(SSS02), 0) SSS02, ISNULL(SUM(SSS03), 0) SSS03, ISNULL(SUM(SSS04), 0) SSS04,
|
||||
ISNULL(SUM(SSS05), 0) SSS05, ISNULL(SUM(SSS06), 0) SSS06, ISNULL(SUM(SSS07), 0) SSS07, ISNULL(SUM(SSS08), 0) SSS08,
|
||||
ISNULL(SUM(SSS09), 0) SSS09, ISNULL(SUM(SSS10), 0) SSS10, ISNULL(SUM(SSS11), 0) SSS11, ISNULL(SUM(SSS12), 0) SSS12,
|
||||
ISNULL(SUM(SSS13), 0) SSS13, ISNULL(SUM(SSS14), 0) SSS14, ISNULL(SUM(SSS15), 0) SSS15, ISNULL(SUM(SSS99), 0) SSS99,
|
||||
ISNULL(SUM(SSH01), 0) SSH01, ISNULL(SUM(SSH02), 0) SSH02, ISNULL(SUM(SSH03), 0) SSH03, ISNULL(SUM(SSH04), 0) SSH04,
|
||||
ISNULL(SUM(SSH05), 0) SSH05, ISNULL(SUM(SSH06), 0) SSH06, ISNULL(SUM(SSH07), 0) SSH07, ISNULL(SUM(SSH08), 0) SSH08,
|
||||
ISNULL(SUM(SSH09), 0) SSH09, ISNULL(SUM(SSH10), 0) SSH10, ISNULL(SUM(SST01), 0) SST01, ISNULL(SUM(SST02), 0) SST02,
|
||||
ISNULL(SUM(SST03), 0) SST03, ISNULL(SUM(SST04), 0) SST04, ISNULL(SUM(SST05), 0) SST05, ISNULL(SUM(SST06), 0) SST06,
|
||||
ISNULL(SUM(SST07), 0) SST07, ISNULL(SUM(SST08), 0) SST08, ISNULL(SUM(SST09), 0) SST09, ISNULL(SUM(SST10), 0) SST10,
|
||||
ISNULL(SUM(SST11), 0) SST11, ISNULL(SUM(SST12), 0) SST12, ISNULL(SUM(SST13), 0) SST13, ISNULL(SUM(SST14), 0) SST14,
|
||||
ISNULL(SUM(SST15), 0) SST15, ISNULL(SUM(SST16), 0) SST16, ISNULL(SUM(SST17), 0) SST17, ISNULL(SUM(SST18), 0) SST18,
|
||||
ISNULL(SUM(SST19), 0) SST19, ISNULL(SUM(SST20), 0) SST20, ISNULL(SUM(SST21), 0) SST21, ISNULL(SUM(SST22), 0) SST22,
|
||||
ISNULL(SUM(SST23), 0) SST23, ISNULL(SUM(SST24), 0) SST24, ISNULL(SUM(SST25), 0) SST25, ISNULL(SUM(SSL01), 0) SSL01,
|
||||
ISNULL(SUM(SSL02), 0) SSL02, ISNULL(SUM(SSL03), 0) SSL03, ISNULL(SUM(SSL04), 0) SSL04, ISNULL(SUM(SSL05), 0) SSL05,
|
||||
ISNULL(SUM(SSP06 + SSP07 + SSP08 + SSP13 + SSP14), 0) OVERWORK,
|
||||
ISNULL(SUM(SSP09 + SSP10 + SSP12), 0) OUTGOING,
|
||||
ISNULL(SUM(SSP00 + SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 +
|
||||
SSP13 + SSP14 + SSP15 + SSP99), 0) SSPLUS,
|
||||
ISNULL(SUM(SSS01 + SSS02 + SSS09), 0) LEAVING,
|
||||
ISNULL(SUM(SST01 + SST02 + SST03 + SST21 + SST22), 0) OVERWORKTIME,
|
||||
ISNULL(SUM((SSP00 + SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 +
|
||||
SSP13 + SSP14 + SSP15 + SSP99)
|
||||
- (SSS01 + SSS02 + SSS03 + SSS04 + SSS05 + SSS06 + SSS07 + SSS08 + SSS09 + SSS10 + SSS11 + SSS12 + SSS13 +
|
||||
SSS14 + SSS15 + SSS99)), 0) SSTOTAL,
|
||||
ISNULL(SUM(SSS01 + SSS02 + SSS04 + SSS05 + SSS06 + SSS07 + SSS08 + SSS09 + SSS10 + SSS11 + SSS12 + SSS13 + SSS14 +
|
||||
SSS15 + SSS99), 0) SSMINUS,
|
||||
ISNULL(SUM(SSP01 + SSP02 + SSP03 + SSP04 + SSP05 + SSP06 + SSP07 + SSP08 + SSP09 + SSP10 + SSP11 + SSP12 + SSP13 +
|
||||
SSP14 + SSP15 + SSP99), 0) TOTALPLUS,
|
||||
ISNULL(SUM(SSH01 + SSH02 + SSH03), 0) EMPLOYER
|
||||
FROM {0} A WHERE SSYMM=@SSYMM AND SSPYN=@SSPYN";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
_SSYMM = GetDateTimeParam("YYMM");
|
||||
_SSPYN = GetStringParam("SSPYN");
|
||||
_BonusTimes = GetStringParam("BonusTimes");
|
||||
_tableName = GetStringParam("TABLE");
|
||||
|
||||
if (_BonusTimes == "")
|
||||
_BonusTimes = "0";
|
||||
|
||||
dsSSMS.ConnectionString = ConnectionString;
|
||||
dsSSMSSum.ConnectionString = ConnectionString;
|
||||
dsSSMS.SelectCommand = String.Format(select, _tableName) + " WHERE SSYMM=@SSYMM AND SSPYN=@SSPYN ORDER BY SSENO ";
|
||||
dsSSMSSum.SelectCommand = String.Format(selectSum, _tableName);
|
||||
|
||||
if (ForwardSource != "")
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
}
|
||||
|
||||
ddlSSPYN.DataSource = new BpaaDAC().GetBpaaWithTY(_SSYMM.Year);
|
||||
ddlSSPYN.DataBind();
|
||||
|
||||
gvSSMS.Visible = false;
|
||||
gvSSMSBonus.Visible = false;
|
||||
|
||||
if (_SSPYN != "" && ddlSSPYN.Items.FindByValue(_SSPYN) != null)
|
||||
{
|
||||
ddlSSPYN.SelectedValue = _SSPYN;
|
||||
}
|
||||
|
||||
if (_BonusTimes != "" && ddlBonusTimes.Items.FindByValue(_BonusTimes) != null)
|
||||
{
|
||||
ddlBonusTimes.SelectedValue = _BonusTimes;
|
||||
}
|
||||
|
||||
if (_SSYMM.Ticks != 0)
|
||||
{
|
||||
lbYYMM.Text = _SSYMM.ToString("yyyyMM");
|
||||
|
||||
if (ddlSSPYN.SelectedValue.ToString() != "")
|
||||
{
|
||||
int i;
|
||||
string s;
|
||||
if (int.TryParse(_BonusTimes, out i))
|
||||
_SSYMM = _SSYMM.AddDays(i);
|
||||
s = _SSYMM.ToString(WGuard1.InvariantCulture);
|
||||
|
||||
dsSSMS.SelectParameters.Add("SSYMM", s);
|
||||
dsSSMS.SelectParameters.Add("SSPYN", ddlSSPYN.SelectedValue);
|
||||
dsSSMSSum.SelectParameters.Add("SSYMM", s);
|
||||
dsSSMSSum.SelectParameters.Add("SSPYN", ddlSSPYN.SelectedValue);
|
||||
|
||||
if (_BonusTimes == "0")
|
||||
{
|
||||
gvSSMS.Visible = true;
|
||||
// gvSSMSSum.Visible = false;
|
||||
gvSSMSBonus.Visible = false;
|
||||
|
||||
gvSSMS.DataBind();
|
||||
// gvSSMSSum.DataBind();
|
||||
}
|
||||
else
|
||||
{
|
||||
gvSSMS.Visible = false;
|
||||
// gvSSMSSum.Visible = false;
|
||||
gvSSMSBonus.Visible = true;
|
||||
|
||||
gvSSMSBonus.DataBind();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SetClientFocus(txtYYMM);
|
||||
|
||||
RegisterStartupScript("START", "if (typeof CheckChecked != \"undefined\") CheckChecked();");
|
||||
|
||||
switch (_tableName)
|
||||
{
|
||||
case "SSMS_VIEW":
|
||||
gvSSMS.Columns[26].Visible = false;
|
||||
gvSSMS.Columns[27].Visible = false;
|
||||
//gvSSMSSum.Columns[26].Visible = false;
|
||||
//gvSSMSSum.Columns[27].Visible = false;
|
||||
gvSSMSBonus.Columns[7].Visible = false;
|
||||
gvSSMSBonus.Columns[8].Visible = false;
|
||||
break;
|
||||
|
||||
case "SSMB":
|
||||
lbCaption.TextMessageId = "FMSSHISTORY.NAME";
|
||||
btnSend.Visible = false;
|
||||
btnCheckAll.Visible = false;
|
||||
btnCheckNone.Visible = false;
|
||||
lbNotice.Visible = false;
|
||||
gvSSMS.Columns[0].Visible = false;
|
||||
//gvSSMSSum.Columns[0].Visible = false;
|
||||
gvSSMSBonus.Columns[0].Visible = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnSend_Click(object sender, EventArgs e)
|
||||
{
|
||||
// 取得要發送的員工編號
|
||||
List<string> SSENOs = new List<string>();
|
||||
GridView gv;
|
||||
if (_BonusTimes == "0")
|
||||
{
|
||||
gv = gvSSMS;
|
||||
}
|
||||
else
|
||||
{
|
||||
gv = gvSSMSBonus;
|
||||
}
|
||||
|
||||
foreach (GridViewRow gvrow in gv.Rows)
|
||||
{
|
||||
if ((gvrow.Cells[0].FindControl("cbSelect") as CheckBox).Checked)
|
||||
{
|
||||
SSENOs.Add((gvrow.Cells[1].Controls[1] as ITextControl).Text);
|
||||
}
|
||||
}
|
||||
|
||||
if (SSENOs.Count == 0)
|
||||
{
|
||||
ClientShowMessage("沒有選擇需發送的資料");
|
||||
return;
|
||||
}
|
||||
|
||||
// 取得此專案是否設定電話費科目對應
|
||||
bool wantTeleFee = false;
|
||||
GetData gd = new GetData();
|
||||
gd.Query = Query;
|
||||
DataTable bpaa = gd.GetBPAA_BPPYN(ddlSSPYN.SelectedValue);
|
||||
if (bpaa.Rows.Count > 0)
|
||||
{
|
||||
BPAARecord bpaaRec = new BPAARecord();
|
||||
bpaaRec.FillRecord(bpaa.Rows[0]);
|
||||
wantTeleFee = bpaaRec.BPS09 != "";
|
||||
}
|
||||
|
||||
DbConnection conn = Query.NewConnection();
|
||||
conn.ConnectionString = ConnectionString;
|
||||
|
||||
// int i = 0;
|
||||
// int.TryParse(_BonusTimes, out i);
|
||||
// DateTime aYymm = _SSYMM.AddDays(i);
|
||||
DateTime aYymm = _SSYMM;
|
||||
|
||||
// 準備取資料的 SQL
|
||||
DbCommand cmdGetSSMS = Query.NewCommand(String.Format(select, "SSMS_VIEW") + " WHERE SSYMM=@SSYMM AND SSPYN=@SSPYN AND SSENO=@SSENO");
|
||||
cmdGetSSMS.Parameters.Add(Query.NewParameter("SSYMM", aYymm));
|
||||
cmdGetSSMS.Parameters.Add(Query.NewParameter("SSPYN", ddlSSPYN.SelectedValue));
|
||||
cmdGetSSMS.Parameters.Add(Query.NewParameter("SSENO", DbType.String));
|
||||
cmdGetSSMS.Connection = conn;
|
||||
|
||||
// 準備刪除薪資條備份資料的 SQL
|
||||
DbCommand cmdDeleteSSMB = Query.NewCommand("DELETE FROM SSMB WHERE SSYMM=@SSYMM AND SSPYN=@SSPYN AND SSENO=@SSENO");
|
||||
cmdDeleteSSMB.Parameters.Add(Query.NewParameter("SSYMM", aYymm));
|
||||
cmdDeleteSSMB.Parameters.Add(Query.NewParameter("SSPYN", ddlSSPYN.SelectedValue));
|
||||
cmdDeleteSSMB.Parameters.Add(Query.NewParameter("SSENO", DbType.String));
|
||||
cmdDeleteSSMB.Connection = conn;
|
||||
|
||||
// 準備新增薪資條備份資料的 SQL
|
||||
DbCommand cmdInsertSSMB = Query.NewCommand(
|
||||
@"INSERT INTO SSMB
|
||||
(SSYMM, SSENO, SSNUM, SSPYN, SSJNO, SSCNO, SSBRH, SSD01, SSD02, SSSRD, SSP00,
|
||||
SSP01, SSP02, SSP03, SSP04, SSP05, SSP06, SSP07, SSP08, SSP09, SSP10, SSP11,
|
||||
SSP12, SSP13, SSP14, SSP15, SSP99, SSS01, SSS02, SSS03, SSS04, SSS05, SSS06,
|
||||
SSS07, SSS08, SSS09, SSS10, SSS11, SSS12, SSS13, SSS14, SSS15, SSS99, SSH01,
|
||||
SSH02, SSH03, SSH04, SSH05, SSH06, SSH07, SSH08, SSH09, SSH10, SST01, SST02,
|
||||
SST03, SST04, SST05, SST06, SST07, SST08, SST09, SST10, SST11, SST12, SST13,
|
||||
SST14, SST15, SST16, SST17, SST18, SST19, SST20, SST21, SST22, SST23, SST24,
|
||||
SST25, SSL01, SSL02, SSL03, SSL04, SSL05, SSC01, SSC02, SSC03, SSC04, SSC05,
|
||||
SSC06, SSC07, SSC08, SSC09, SSC10,
|
||||
TRDAT, TRMOD, TRUSR)
|
||||
SELECT
|
||||
SSYMM, SSENO, SSNUM, SSPYN, SSJNO, SSCNO, SSBRH, SSD01, SSD02, SSSRD, SSP00,
|
||||
SSP01, SSP02, SSP03, SSP04, SSP05, SSP06, SSP07, SSP08, SSP09, SSP10, SSP11,
|
||||
SSP12, SSP13, SSP14, SSP15, SSP99, SSS01, SSS02, SSS03, SSS04, SSS05, SSS06,
|
||||
SSS07, SSS08, SSS09, SSS10, SSS11, SSS12, SSS13, SSS14, SSS15, SSS99, SSH01,
|
||||
SSH02, SSH03, SSH04, SSH05, SSH06, SSH07, SSH08, SSH09, SSH10, SST01, SST02,
|
||||
SST03, SST04, SST05, SST06, SST07, SST08, SST09, SST10, SST11, SST12, SST13,
|
||||
SST14, SST15, SST16, SST17, SST18, SST19, SST20, SST21, SST22, SST23, SST24,
|
||||
SST25, SSL01, SSL02, SSL03, SSL04, SSL05, SSC01, SSC02, SSC03, SSC04, SSC05,
|
||||
SSC06, SSC07, SSC08, SSC09, SSC10,
|
||||
GETDATE() AS TRDAT, TRMOD, @TRUSR AS TRUSR
|
||||
FROM SSMS_VIEW WHERE SSYMM=@SSYMM AND SSPYN=@SSPYN AND SSENO=@SSENO");
|
||||
cmdInsertSSMB.Parameters.Add(Query.NewParameter("TRUSR", UserId));
|
||||
cmdInsertSSMB.Parameters.Add(Query.NewParameter("SSYMM", aYymm));
|
||||
cmdInsertSSMB.Parameters.Add(Query.NewParameter("SSPYN", ddlSSPYN.SelectedValue));
|
||||
cmdInsertSSMB.Parameters.Add(Query.NewParameter("SSENO", DbType.String));
|
||||
cmdInsertSSMB.Connection = conn;
|
||||
|
||||
// 準備所需的物件
|
||||
SalaryStrip ss = new SalaryStrip(); // 薪資單產生物件
|
||||
// SmtpClient sc = new SmtpClient(); // 郵件用戶端物件
|
||||
BpsnDAC bpsnDao = new BpsnDAC();
|
||||
|
||||
cvMessage.IsValid = true;
|
||||
cvMessage.ErrorMessage = "";
|
||||
|
||||
foreach (string sseno in SSENOs)
|
||||
{
|
||||
// 取得資料、產生薪資條、發送
|
||||
cmdGetSSMS.Parameters["SSENO"].Value = sseno;
|
||||
DataTable ssmsData = Query.Select(conn, cmdGetSSMS);
|
||||
if (ssmsData.Rows.Count > 0)
|
||||
{
|
||||
DataRow ssmsRecord = ssmsData.Rows[0];
|
||||
string bpeml = ssmsRecord["BPEML"].ToString();
|
||||
string bpem2 = ssmsRecord["BPEM2"].ToString();
|
||||
|
||||
if (bpem2 != "")
|
||||
bpeml = bpem2;
|
||||
|
||||
if (bpeml == "")
|
||||
{
|
||||
cvMessage.IsValid = false;
|
||||
cvMessage.ErrorMessage += string.Format("員工編號:{0} 發送失敗,錯誤訊息:沒有輸入電子郵件\n", sseno);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!WGuard1.CheckEmail(bpeml))
|
||||
{
|
||||
cvMessage.IsValid = false;
|
||||
cvMessage.ErrorMessage += string.Format("員工編號:{0} 發送失敗,錯誤訊息:電子郵件 \"{1}\" 格式錯誤\n", sseno, bpeml);
|
||||
continue;
|
||||
}
|
||||
|
||||
string mailSubject;
|
||||
ss.Clear();
|
||||
|
||||
if (ddlSSPYN.SelectedValue == "103JYB00001")
|
||||
{
|
||||
ss.公司名稱 = CompanyDAC.GetCompanyName("JY");
|
||||
}
|
||||
else if (ddlSSPYN.SelectedValue == "103TYB00001")
|
||||
{
|
||||
ss.公司名稱 = CompanyDAC.GetCompanyName("TY");
|
||||
}
|
||||
else
|
||||
{
|
||||
List<string> companyNames = bpsnDao.GetCompanyByDate(sseno, aYymm);
|
||||
ss.公司名稱 = companyNames[1];
|
||||
}
|
||||
|
||||
#region 一般薪資條
|
||||
if (_BonusTimes == "0")
|
||||
{
|
||||
ss.薪資條樣板 = 0;
|
||||
ss.列印公司提繳 = true;
|
||||
ss.列印津貼合計 = true;
|
||||
ss.列印課稅金額 = true;
|
||||
ss.列印應發金額 = true;
|
||||
ss.列印員工累計 = true;
|
||||
ss.列印扣款合計 = true;
|
||||
ss.列印所得稅 = true;
|
||||
ss.列印實發金額 = true;
|
||||
ss.列印公司累計 = true;
|
||||
ss.列印帳號 = true;
|
||||
|
||||
ss.AddPlus("底(本)薪", Convert.ToInt32(ssmsRecord["SSP00"]));
|
||||
ss.AddPlus("全勤獎金", Convert.ToInt32(ssmsRecord["SSP01"]));
|
||||
ss.AddPlus("加班費", Convert.ToInt32(ssmsRecord["OVERWORK"]));
|
||||
ss.AddPlus("外勤工作費", Convert.ToInt32(ssmsRecord["OUTGOING"]));
|
||||
if (wantTeleFee)
|
||||
ss.AddPlus("電話費", Convert.ToInt32(ssmsRecord["SSP11"]));
|
||||
ss.AddPlus("伙食費", Convert.ToInt32(ssmsRecord["SSP02"]));
|
||||
ss.AddPlus("其他加項", Convert.ToInt32(ssmsRecord["SSP99"]));
|
||||
ss.AddPlus("職務加給", Convert.ToInt32(ssmsRecord["SSP03"]));
|
||||
ss.AddPlus("其他津貼", Convert.ToInt32(ssmsRecord["SSP05"]));
|
||||
|
||||
ss.AddMinus("請假扣款", Convert.ToInt32(ssmsRecord["LEAVING"]));
|
||||
ss.AddMinus("健保費", Convert.ToInt32(ssmsRecord["SSS05"]));
|
||||
ss.AddMinus("勞保費", Convert.ToInt32(ssmsRecord["SSS04"]));
|
||||
ss.AddMinus("福利金", Convert.ToInt32(ssmsRecord["SSS07"]));
|
||||
ss.AddMinus("員工提繳", Convert.ToInt32(ssmsRecord["SSS06"]));
|
||||
ss.AddMinus("其他減項", Convert.ToInt32(ssmsRecord["SSS99"]));
|
||||
|
||||
ss.AddPresent("出勤天數", ssmsRecord["SSD01"].ToString());
|
||||
ss.AddPresent("勞保天數", ssmsRecord["SSD02"].ToString());
|
||||
ss.AddPresent("加班時數", ssmsRecord["OVERWORKTIME"].ToString());
|
||||
|
||||
ss.員工代號 = sseno;
|
||||
ss.姓名 = ssmsRecord["BPNME"].ToString();
|
||||
ss.部門 = ssmsRecord["SSPYN"].ToString() + "\n" + ssmsRecord["BPPYM"].ToString();
|
||||
ss.職務 = "";
|
||||
ss.發薪年月 = _SSYMM.ToString("yyyy年MM月");
|
||||
|
||||
ss.公司累計 = Convert.ToInt32(ssmsRecord["SSH06SUM"]);
|
||||
ss.公司提繳 = Convert.ToInt32(ssmsRecord["SSH06"]);
|
||||
ss.扣款合計 = Convert.ToInt32(ssmsRecord["SSMINUS"]);
|
||||
ss.所得稅 = Convert.ToInt32(ssmsRecord["SSS03"]);
|
||||
ss.津貼合計 = Convert.ToInt32(ssmsRecord["TOTALPLUS"]);
|
||||
ss.員工累計 = Convert.ToInt32(ssmsRecord["SSS06SUM"]);
|
||||
ss.帳號 = String.Format("{0:c} {1:c}", ssmsRecord["BCNAM"], ssmsRecord["BPACC"]);
|
||||
ss.實發金額 = Convert.ToInt32(ssmsRecord["SSTOTAL"]);
|
||||
ss.課稅金額 = Convert.ToInt32(ssmsRecord["SSP00"]) - Convert.ToInt32(ssmsRecord["SSS06"]);
|
||||
ss.應發金額 = Convert.ToInt32(ssmsRecord["SSPLUS"]);
|
||||
ss.薪資別 = "月薪";
|
||||
|
||||
mailSubject = String.Format("{0:c} {1:yyyy} 年 {1:MM} 月薪資單", ssmsRecord["BPNME"], _SSYMM);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 獎金薪資條
|
||||
else
|
||||
{
|
||||
ss.薪資條樣板 = 1;
|
||||
ss.列印公司提繳 = false;
|
||||
ss.列印津貼合計 = true;
|
||||
ss.列印課稅金額 = true;
|
||||
ss.列印應發金額 = true;
|
||||
ss.列印員工累計 = false;
|
||||
ss.列印扣款合計 = true;
|
||||
ss.列印所得稅 = true;
|
||||
ss.列印實發金額 = true;
|
||||
ss.列印公司累計 = false;
|
||||
ss.列印帳號 = true;
|
||||
|
||||
ss.AddPlus("獎金", Convert.ToInt32(ssmsRecord["SSP13"]));
|
||||
|
||||
ss.AddMinus("所得稅", Convert.ToInt32(ssmsRecord["SSS03"]));
|
||||
|
||||
ss.AddPresent("稅率" + GetSSC07(ssmsRecord["SSC07"], 0), "");
|
||||
ss.AddPresent(GetSSC07(ssmsRecord["SSC07"], 1), "");
|
||||
|
||||
ss.員工代號 = sseno;
|
||||
ss.姓名 = ssmsRecord["BPNME"].ToString();
|
||||
ss.部門 = ssmsRecord["SSPYN"].ToString() + "\n" + ssmsRecord["BPPYM"].ToString();
|
||||
ss.職務 = "";
|
||||
ss.發薪年月 = _SSYMM.ToString("yyyy年MM月");
|
||||
|
||||
ss.公司累計 = Convert.ToInt32(ssmsRecord["SSH06SUM"]);
|
||||
ss.公司提繳 = Convert.ToInt32(ssmsRecord["SSH06"]);
|
||||
ss.扣款合計 = Convert.ToInt32(ssmsRecord["SSMINUS"]);
|
||||
ss.所得稅 = Convert.ToInt32(ssmsRecord["SSS03"]);
|
||||
ss.津貼合計 = Convert.ToInt32(ssmsRecord["TOTALPLUS"]);
|
||||
ss.員工累計 = Convert.ToInt32(ssmsRecord["SSS06SUM"]);
|
||||
ss.帳號 = String.Format("{0:c} {1:c}", ssmsRecord["BCNAM"], ssmsRecord["BPACC"]);
|
||||
ss.實發金額 = Convert.ToInt32(ssmsRecord["SSTOTAL"]);
|
||||
ss.課稅金額 = Convert.ToInt32(ssmsRecord["SSP00"]);
|
||||
ss.應發金額 = Convert.ToInt32(ssmsRecord["SSPLUS"]);
|
||||
ss.薪資別 = "月薪";
|
||||
|
||||
mailSubject = String.Format("{0:c} 薪資單", GetSSC07(ssmsRecord["SSC07"], 1));
|
||||
}
|
||||
#endregion
|
||||
|
||||
// 發送郵件
|
||||
try
|
||||
{
|
||||
MemoryStream ms = new MemoryStream(ss.Draw(RootPath).ToArray(), false);
|
||||
MailMessage mm = new MailMessage();
|
||||
|
||||
mm.Subject = mailSubject;
|
||||
mm.To.Add(new MailAddress(bpeml));
|
||||
|
||||
// 使用 LinkResource 方式附加薪資單圖檔
|
||||
/*
|
||||
AlternateView htmlView = AlternateView.CreateAlternateViewFromString("<img src=cid:salaryslip>", null, "text/html");
|
||||
LinkedResource salaryslip = new LinkedResource(ms);
|
||||
salaryslip.ContentId = "salaryslip";
|
||||
htmlView.LinkedResources.Add(salaryslip);
|
||||
mm.AlternateViews.Add(htmlView);
|
||||
*/
|
||||
|
||||
// 使用附件方式附加薪資單圖檔
|
||||
mm.Attachments.Add(new Attachment(ms, String.Format("{0:yyyyMM}.gif", _SSYMM), "image/gif"));
|
||||
|
||||
WMailSender.GetInstance().Send(mm, string.Format("員工編號:{0:c} 專案:{1:c} 年月:{2:yyyyMM}", sseno, ssmsRecord["BPPYM"].ToString(), _SSYMM));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
cvMessage.IsValid = false;
|
||||
cvMessage.ErrorMessage += string.Format("員工編號:{0:c} 發送失敗,錯誤訊息:{1:c}\n", sseno, ex.Message);
|
||||
//WGuard1.WLogFile(Server.MapPath("~/LOG/MailFail_"), WGuard1.WLogType.Day,
|
||||
// string.Format("員工編號:{0:c} 專案:{1:c} 年月:{2:yyyyMM} 錯誤訊息:{3:c}", sseno, ssmsRecord["BPPYM"].ToString(), _SSYMM, ex.Message));
|
||||
}
|
||||
}
|
||||
|
||||
// 刪除薪資條備份資料
|
||||
cmdDeleteSSMB.Parameters["SSENO"].Value = sseno;
|
||||
Query.ExecuteNonQuery(conn, cmdDeleteSSMB);
|
||||
|
||||
// 新增薪資條備份資料
|
||||
cmdInsertSSMB.Parameters["SSENO"].Value = sseno;
|
||||
Query.ExecuteNonQuery(conn, cmdInsertSSMB);
|
||||
}
|
||||
|
||||
if (conn.State == ConnectionState.Open)
|
||||
conn.Close();
|
||||
|
||||
if (cvMessage.IsValid)
|
||||
ClientShowMessage("薪資單發送完畢");
|
||||
else
|
||||
ClientShowMessage("薪資單發送時部份發生錯誤,無錯誤的已發送,有錯誤的請修正錯誤後重發");
|
||||
}
|
||||
|
||||
protected int GetPlus(params object[] items)
|
||||
{
|
||||
int sum = 0;
|
||||
for (int i = 0; i < items.Length; i++)
|
||||
{
|
||||
sum += items[i] != null && items[i] != DBNull.Value ? Convert.ToInt32(items[i]) : 0;
|
||||
}
|
||||
|
||||
return sum;
|
||||
}
|
||||
|
||||
protected void btnSSMS_Click(object sender, EventArgs e)
|
||||
{
|
||||
cvMessage.IsValid = true;
|
||||
cvMessage.ErrorMessage = "";
|
||||
bool result = true;
|
||||
DateTime aYYMM = CheckDate(txtYYMM.Text + "01", "請輸入正確的年月", ref result, cvMessage);
|
||||
|
||||
if (result)
|
||||
{
|
||||
ParamList["YYMM"] = aYYMM;
|
||||
DoAfterCommand("SENDSS");
|
||||
}
|
||||
}
|
||||
|
||||
protected void btnSSPYN_Click(object sender, EventArgs e)
|
||||
{
|
||||
// 檢查此使用者是否有權限處理這個專案
|
||||
// 因為此功能只有財務人員可以使用,所以不需檢查專案權限
|
||||
//BprmDAC bprm = new BprmDAC(Query);
|
||||
//if (!bprm.GetRight(ddlSSPYN.SelectedValue, UserId))
|
||||
//{
|
||||
// cvMessage.ErrorMessage = "對不起,你沒有處理這個專案的權限!";
|
||||
// cvMessage.IsValid = false;
|
||||
// return;
|
||||
//}
|
||||
|
||||
ParamList["SSPYN"] = ddlSSPYN.SelectedValue;
|
||||
ParamList["BonusTimes"] = ddlBonusTimes.SelectedValue == "" ? "0" : ddlBonusTimes.SelectedValue;
|
||||
|
||||
DoAfterCommand("SENDSS");
|
||||
}
|
||||
|
||||
protected void cbSelect_DataBinding(object sender, EventArgs e)
|
||||
{
|
||||
Page.ClientScript.RegisterArrayDeclaration("CHECKBOXIDS", "\"" + (sender as Control).ClientID + "\"");
|
||||
(sender as WebControl).Attributes.Add("onclick", "CheckChecked()");
|
||||
}
|
||||
|
||||
protected void btnInputSSYMM_Click(object sender, EventArgs e)
|
||||
{
|
||||
ParamList["SSPYN"] = "";
|
||||
ParamList["YYMM"] = new DateTime();
|
||||
MultiView1.ActiveViewIndex = 0;
|
||||
}
|
||||
|
||||
protected void gvSSMS_DataBound(object sender, EventArgs e)
|
||||
{
|
||||
// gvSSMSSum.Visible = gvSSMS.Rows.Count > 0;
|
||||
}
|
||||
|
||||
protected string GetSSC07(object ssc07, int index)
|
||||
{
|
||||
if (ssc07 == DBNull.Value)
|
||||
return "";
|
||||
|
||||
string[] s = ssc07.ToString().Split('|');
|
||||
|
||||
if (index == 0)
|
||||
{
|
||||
double d;
|
||||
if (double.TryParse(s[0], out d))
|
||||
return String.Format("{0:P}", d);
|
||||
else
|
||||
return "";
|
||||
}
|
||||
else if (index < s.Length)
|
||||
{
|
||||
return s[index];
|
||||
}
|
||||
else
|
||||
return "";
|
||||
}
|
||||
|
||||
protected void gvSSMS_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
|
||||
if (e.Row.RowType == DataControlRowType.Footer)
|
||||
{
|
||||
var param = new DataSourceSelectArguments();
|
||||
var a = dsSSMSSum.Select(param) as DataView;
|
||||
|
||||
e.Row.Cells[1].Text = "合計";
|
||||
e.Row.Cells[1].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[2].Text = string.Format("{0:###,###,##0}", a[0]["SSP00"]); // 本薪
|
||||
e.Row.Cells[2].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[3].Text = string.Format("{0:###,###,##0}", a[0]["SSP01"]); // 全勤獎金
|
||||
e.Row.Cells[3].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[4].Text = string.Format("{0:###,###,##0}", a[0]["OVERWORK"]);
|
||||
e.Row.Cells[4].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[5].Text = string.Format("{0:###,###,##0}", a[0]["OUTGOING"]);
|
||||
e.Row.Cells[5].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[6].Text = string.Format("{0:###,###,##0}", a[0]["SSP11"]);
|
||||
e.Row.Cells[6].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[7].Text = string.Format("{0:###,###,##0}", a[0]["SSP02"]);
|
||||
e.Row.Cells[7].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[8].Text = string.Format("{0:###,###,##0}", a[0]["SSP99"]);
|
||||
e.Row.Cells[8].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[9].Text = string.Format("{0:###,###,##0}", a[0]["SSP03"]);
|
||||
e.Row.Cells[9].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[10].Text = string.Format("{0:###,###,##0}", a[0]["SSP05"]);
|
||||
e.Row.Cells[10].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[12].Text = string.Format("{0:###,###,##0}", a[0]["SSPLUS"]);
|
||||
e.Row.Cells[12].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[13].Text = string.Format("{0:###,###,##0}", a[0]["LEAVING"]);
|
||||
e.Row.Cells[13].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[14].Text = string.Format("{0:###,###,##0}", a[0]["SSS05"]);
|
||||
e.Row.Cells[14].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[15].Text = string.Format("{0:###,###,##0}", a[0]["SSS04"]);
|
||||
e.Row.Cells[15].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[16].Text = string.Format("{0:###,###,##0}", a[0]["SSS07"]);
|
||||
e.Row.Cells[16].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[17].Text = string.Format("{0:###,###,##0}", a[0]["SSS06"]);
|
||||
e.Row.Cells[17].HorizontalAlign = HorizontalAlign.Center;
|
||||
e.Row.Cells[18].Text = string.Format("{0:###,###,##0}", a[0]["SSS99"]);
|
||||
e.Row.Cells[18].HorizontalAlign = HorizontalAlign.Center;
|
||||
}
|
||||
}
|
||||
|
||||
protected void gvSSMSBonus_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
//GridView_RowDataBound_Shrink_ViewState(sender, e);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,681 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="fmSsms.ascx.cs" Inherits="forms_worker_fmSsms" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<cc1:WLabel ID="WLabel1" runat="server"
|
||||
CssClass="pageTitle" TextMessageId="FMSMSS.NAME"></cc1:WLabel>
|
||||
<asp:CustomValidator ID="cvMessage"
|
||||
runat="server" Display="None"></asp:CustomValidator>
|
||||
<asp:MultiView ID="MultiView1"
|
||||
runat="server" ActiveViewIndex="0">
|
||||
<asp:View ID="View1" runat="server">
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
TextMessageId="F.+SEARCH" CssClass="button"
|
||||
OnClick="btnSearch_Click" Text="F.查詢"
|
||||
AccessKey="F" />
|
||||
<cc1:WButton ID="btnCancel" runat="server"
|
||||
TextMessageId="C.+CANCEL" CssClass="button"
|
||||
OnClick="btnCancel_Click" Text="C.取消"
|
||||
AccessKey="C" />
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<cc1:WLabel ID="lbSSMS_SSYMMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSYMM+:">薪資月份:</cc1:WLabel>
|
||||
</td>
|
||||
<td>
|
||||
<asp:TextBox ID="txtSSMS_SSYMM"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="6"></asp:TextBox>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<cc1:WLabel ID="lbSSMS_SSENOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSENO+:">人員編號:</cc1:WLabel></td>
|
||||
<td>
|
||||
<table border="0" cellpadding="0"
|
||||
cellspacing="0" style="width: 100%; height: 100%">
|
||||
<tr>
|
||||
<td width="100">
|
||||
<asp:TextBox ID="txtSSMS_SSENO"
|
||||
runat="server" CssClass="textInput"
|
||||
MaxLength="10"></asp:TextBox>
|
||||
</td>
|
||||
<td style="width: 17px">
|
||||
<asp:ImageButton ID="btnSSMS_SSENO_WQRY"
|
||||
runat="server" ImageUrl="~/picture/pickup.gif" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<asp:Label ID="lbSSMS_SSENOX" runat="server"
|
||||
CssClass="controlLabel"></asp:Label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</asp:View>
|
||||
<asp:View ID="View2" runat="server">
|
||||
<asp:SqlDataSource ID="dsSSMS"
|
||||
runat="server" ConnectionString="Data Source=(local);Initial Catalog=THINKYU_WEB;Persist Security Info=True;User ID=sa"
|
||||
ProviderName="System.Data.SqlClient"
|
||||
SelectCommand="SELECT * FROM [SSMS] WHERE (([SSENO] = @SSENO) AND ([SSYMM] = @SSYMM))">
|
||||
<SelectParameters>
|
||||
<asp:Parameter Name="SSENO" Type="String" />
|
||||
<asp:Parameter Name="SSYMM" Type="DateTime" />
|
||||
</SelectParameters>
|
||||
</asp:SqlDataSource>
|
||||
<asp:FormView ID="SSMSForm" runat="server"
|
||||
DataKeyNames="SSYMM,SSENO" DataSourceID="dsSSMS">
|
||||
<ItemTemplate>
|
||||
<cc1:WButton ID="btnEdit" runat="server"
|
||||
CommandName="Edit" CssClass="button"
|
||||
Text="M.更正" TextMessageId="M.+UPDATE"
|
||||
AccessKey="M" />
|
||||
<cc1:WButton ID="btnSearch" runat="server"
|
||||
CommandName="Search" CssClass="button"
|
||||
Text="F.查詢" TextMessageId="F.+SEARCH"
|
||||
AccessKey="F" />
|
||||
<br />
|
||||
<div id="page0" runat="server"
|
||||
style="display: block;">
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SSYMMLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSYMM+:">薪資月份:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SSYMM" runat="server"
|
||||
Text='<%# Bind("SSYMM", "{0:yyyyMM}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SSENOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSENO+:">人員編號:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SSENO" runat="server"
|
||||
Text='<%# Bind("SSENO", "{0:c}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="2" class="dataDisplayCell">
|
||||
<asp:Label ID="lbRPAR_RPNUMX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPSN", Eval("SSENO", "{0:c}"), "BPNME", "") %>'>
|
||||
</asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SSSRDLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSSRD+:">時薪:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SSSRD" runat="server"
|
||||
Text='<%# Bind("SSSRD", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSPYNLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSPYN+:">專案年度編號:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSPYN" runat="server"
|
||||
Text='<%# Bind("SSPYN", "{0:c}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td class="dataDisplayCell" colspan="2">
|
||||
<asp:Label ID="lbRASN_RAPYNX" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BPAA", Eval("SSPYN", "{0:c}"), "BPPYM", "") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSJNOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSJNO+:">職稱:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSJNO" runat="server"
|
||||
Text='<%# Bind("SSJNO", "{0:c}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSCNOLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSCNO+:">等級:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSCNO" runat="server"
|
||||
Text='<%# Bind("SSCNO", "{0:c}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSBRHLabel"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSBRH+:">站別:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="3">
|
||||
<asp:Label ID="lbSSMS_SSBRH" runat="server"
|
||||
CssClass="textInput" Text='<%# GetLookup("BCLS", Eval("SSBRH", "{0:c}"), "BSSCR", " BSPAR=`BPSNBRH` ") %>'></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSD01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSD01+:">到職天數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSD01" runat="server"
|
||||
Text='<%# Bind("SSD01", "{0:#0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSD02Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSD02+:">勞保到職天數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSD02" runat="server"
|
||||
Text='<%# Bind("SSD02", "{0:#0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP00Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP00+:">本薪:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP00" runat="server"
|
||||
Text='<%# Bind("SSP00", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP01+:">全勤獎金:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP01" runat="server"
|
||||
Text='<%# Bind("SSP01", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP02Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP02+:">伙食津貼:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP02" runat="server"
|
||||
Text='<%# Bind("SSP02", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP03Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP03+:">職務加給:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP03" runat="server"
|
||||
Text='<%# Bind("SSP03", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP04Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP04+:">派駐津貼:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP04" runat="server"
|
||||
Text='<%# Bind("SSP04", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP05Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP05+:">其他津貼:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP05" runat="server"
|
||||
Text='<%# Bind("SSP05", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP06Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP06+:">前二加班費:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP06" runat="server"
|
||||
Text='<%# Bind("SSP06", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP07Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP07+:">後二加班費:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP07" runat="server"
|
||||
Text='<%# Bind("SSP07", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP08Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP08+:">假日加班費:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP08" runat="server"
|
||||
Text='<%# Bind("SSP08", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP10Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP10+:">長差:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP10" runat="server"
|
||||
Text='<%# Bind("SSP10", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP09Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP09+:">短差:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP09" runat="server"
|
||||
Text='<%# Bind("SSP09", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP11Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP11+:">電話費:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP11" runat="server"
|
||||
Text='<%# Bind("SSP11", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SST18Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST18+:">油料費公里數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SST18" runat="server"
|
||||
Text='<%# Bind("SST18", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP12Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP12+:">油料費:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP12" runat="server"
|
||||
Text='<%# Bind("SSP12", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSP99Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSP99+:">其他加項:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSP99" runat="server"
|
||||
Text='<%# Bind("SSP99", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSS01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSS01+:">病假扣款:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSS01" runat="server"
|
||||
Text='<%# Bind("SSS01", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSS02Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSS02+:">事假扣款:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSS02" runat="server"
|
||||
Text='<%# Bind("SSS02", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSS03Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSS03+:">所得稅:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSS03" runat="server"
|
||||
Text='<%# Bind("SSS03", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSS04Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSS04+:">勞保費:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSS04" runat="server"
|
||||
Text='<%# Bind("SSS04", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSS05Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSS05+:">健保費:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSS05" runat="server"
|
||||
Text='<%# Bind("SSS05", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSS06Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSS06+:">勞退自提:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSS06" runat="server"
|
||||
Text='<%# Bind("SSS06", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSS99Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSS99+:">其他減項:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSS99" runat="server"
|
||||
Text='<%# Bind("SSS99", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="page1" runat="server"
|
||||
style="display: none;">
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SSL01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSL01+:">勞保投保等級:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SSL01" runat="server"
|
||||
Text='<%# Bind("SSL01", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SSH01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSH01+:">雇主勞保費:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SSH01" runat="server"
|
||||
Text='<%# Bind("SSH01", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SSH03Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSH03+:">就業保險:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SSH03" runat="server"
|
||||
Text='<%# Bind("SSH03", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SSH02Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSH02+:">職災保險:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SSH02" runat="server"
|
||||
Text='<%# Bind("SSH02", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1"></td>
|
||||
<td class="dataDisplayCell" colspan="1"></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSH04Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSH04+:">工資墊償:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSH04" runat="server"
|
||||
Text='<%# Bind("SSH04", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSL02Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSL02+:">健保投保等級:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSL02" runat="server"
|
||||
Text='<%# Bind("SSL02", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSH05Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSH05+:">雇主健保費:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSH05" runat="server"
|
||||
Text='<%# Bind("SSH05", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSL03Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSL03+:">勞退提撥等級:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSL03" runat="server"
|
||||
Text='<%# Bind("SSL03", "{0:#,###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SSH06Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SSH06+:">勞退提撥:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SSH06" runat="server"
|
||||
Text='<%# Bind("SSH06", "{0:###,##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="page2" runat="server"
|
||||
style="display: none;">
|
||||
<table border="0" cellpadding="2"
|
||||
cellspacing="2" width="1" style="table-layout: fixed">
|
||||
<tr>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 90px"></td>
|
||||
<td colspan="1" style="height: 0px; width: 120px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SST01Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST01+:">前二加班時數:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SST01" runat="server"
|
||||
Text='<%# Bind("SST01", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SST02Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST02+:">後二加班時數:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SST02" runat="server"
|
||||
Text='<%# Bind("SST02", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SST03Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST03+:">假日加班時數:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SST03" runat="server"
|
||||
Text='<%# Bind("SST03", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SST04Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST04+:">累積補休時數:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SST04" runat="server"
|
||||
Text='<%# Bind("SST04", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SST05Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST05+:">補休時數:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SST05" runat="server"
|
||||
Text='<%# Bind("SST05", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SST06Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST06+:">特休時數:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SST06" runat="server"
|
||||
Text='<%# Bind("SST06", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SST07Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST07+:">事假時數:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SST07" runat="server"
|
||||
Text='<%# Bind("SST07", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SST08Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST08+:">病假時數:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SST08" runat="server"
|
||||
Text='<%# Bind("SST08", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SST09Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST09+:">喪假時數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SST09" runat="server"
|
||||
Text='<%# Bind("SST09", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SST10Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST10+:">產假時數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SST10" runat="server"
|
||||
Text='<%# Bind("SST10", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SST12Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST12+:">陪產假時數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SST12" runat="server"
|
||||
Text='<%# Bind("SST12", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SST11Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST11+:">婚假時數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SST11" runat="server"
|
||||
Text='<%# Bind("SST11", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SST13Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST13+:">公假時數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SST13" runat="server"
|
||||
Text='<%# Bind("SST13", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SST14Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST14+:">公傷假時數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SST14" runat="server"
|
||||
Text='<%# Bind("SST14", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SST15Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST15+:">生理假時數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SST15" runat="server"
|
||||
Text='<%# Bind("SST15", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
<td align="right" colspan="1">
|
||||
<cc1:WLabel ID="lbSSMS_SST16Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST16+:">家庭照顧假時數:</cc1:WLabel></td>
|
||||
<td class="dataDisplayCell" colspan="1">
|
||||
<asp:Label ID="lbSSMS_SST16" runat="server"
|
||||
Text='<%# Bind("SST16", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1" align="right">
|
||||
<cc1:WLabel ID="lbSSMS_SST17Label"
|
||||
runat="server" CssClass="controlLabel"
|
||||
TextMessageId="SSMS.SST17+:">育嬰假時數:</cc1:WLabel></td>
|
||||
<td colspan="1" class="dataDisplayCell">
|
||||
<asp:Label ID="lbSSMS_SST17" runat="server"
|
||||
Text='<%# Bind("SST17", "{0:##0}") %>'
|
||||
CssClass="textInput"></asp:Label></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<input id="Button1" type="button"
|
||||
value="第一頁" onclick="ChangePage(0);"
|
||||
style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid;" />
|
||||
<input id="Button2" type="button"
|
||||
value="第二頁" onclick="ChangePage(1);"
|
||||
style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" />
|
||||
<input id="Button3" type="button"
|
||||
value="第三頁" onclick="ChangePage(2);"
|
||||
style="border-right: gray 1px solid; border-top: gray 1px solid; border-left: gray 1px solid; border-bottom: gray 1px solid" />
|
||||
</ItemTemplate>
|
||||
<EmptyDataTemplate>
|
||||
無資料
|
||||
</EmptyDataTemplate>
|
||||
</asp:FormView>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
var pageIds = new Array("FMSSMS_SSMSForm_page0", "FMSSMS_SSMSForm_page1", "FMSSMS_SSMSForm_page2");
|
||||
function ChangePage(pageNo)
|
||||
{
|
||||
var aPage = new Array(pageIds.length);
|
||||
var maxHeight = 0;
|
||||
for (i = 0; i < pageIds.length; i++)
|
||||
{
|
||||
aPage[i] = document.getElementById(pageIds[i]);
|
||||
aPage[i].style["display"] = "block";
|
||||
if (aPage[i].scrollHeight > maxHeight)
|
||||
maxHeight = aPage[i].scrollHeight;
|
||||
aPage[i].style["display"] = "none";
|
||||
}
|
||||
|
||||
for (i = 0; i < pageIds.length; i++)
|
||||
{
|
||||
aPage[i].style["height"] = maxHeight;
|
||||
}
|
||||
|
||||
aPage[pageNo].style["display"] = "block";
|
||||
//aPage[pageNo].style["height"] = maxHeight;
|
||||
}
|
||||
-->
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
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;
|
||||
|
||||
/// <summary>
|
||||
/// 薪資查詢及調整(未開放)
|
||||
/// </summary>
|
||||
public partial class forms_worker_fmSsms : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
private string _SSENO;
|
||||
private string _SSYMM;
|
||||
private string select = "SELECT * ";
|
||||
private string from = " FROM SSMS ";
|
||||
private string where = " WHERE 1=1 ";
|
||||
private string order = "";
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
_SSENO = ViewState["SSENO"] != null ? ViewState["SSENO"].ToString() : "";
|
||||
_SSYMM = ViewState["SSYMM"] != null ? ViewState["SSYMM"].ToString() : "";
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
dsSSMS.ConnectionString = ConnectionString;
|
||||
|
||||
MWEB unmweb = new MWEB();
|
||||
if (!unmweb.CheckRight("FMSSMS", Wellan.Data.WRightName.Search))
|
||||
{
|
||||
txtSSMS_SSENO.Enabled = false;
|
||||
btnSSMS_SSENO_WQRY.Enabled = false;
|
||||
txtSSMS_SSENO.Text = UserId;
|
||||
lbSSMS_SSENOX.Text = GetLookup("BPSN", UserId, "BPNME");
|
||||
}
|
||||
else
|
||||
{
|
||||
RegisterLookupEvent(this, "btnSSMS_SSENO_WQRY", "txtSSMS_SSENO", "txtSSMS_SSENO,lbSSMS_SSENOX", "BPSN");
|
||||
}
|
||||
|
||||
//dsSMSS.SelectParameters["SSYMM"].DefaultValue = "97/01/01";
|
||||
//dsSMSS.SelectParameters["SSENO"].DefaultValue = "00001";
|
||||
//SMSSForm.DataBind();
|
||||
|
||||
Search();
|
||||
}
|
||||
|
||||
// 查詢確定按鈕
|
||||
protected void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
ViewState["SSENO"] = txtSSMS_SSENO.Text;
|
||||
ViewState["SSYMM"] = txtSSMS_SSYMM.Text;
|
||||
|
||||
_SSENO = txtSSMS_SSENO.Text;
|
||||
_SSYMM = txtSSMS_SSYMM.Text;
|
||||
|
||||
if (_SSENO.Length == 0 &&
|
||||
_SSYMM.Length == 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = GetString("NOSRHCOND");
|
||||
cvMessage.IsValid = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
Search();
|
||||
SSMSForm.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
// 查詢取消按鈕
|
||||
protected void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
private new void Search()
|
||||
{
|
||||
StringBuilder sql = new StringBuilder();
|
||||
sql.Append(select);
|
||||
sql.Append(from);
|
||||
sql.Append(where);
|
||||
dsSSMS.SelectParameters.Clear();
|
||||
DateTime ssymm;
|
||||
CheckDate(_SSYMM + "01", out ssymm);
|
||||
AddSearch(sql, dsSSMS, "SSENO", _SSENO, "", false);
|
||||
AddSearch(sql, dsSSMS, "SSYMM", ssymm.ToString(System.Globalization.CultureInfo.InvariantCulture), "", false);
|
||||
sql.Append(order);
|
||||
dsSSMS.SelectCommand = sql.ToString();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true"
|
||||
CodeFile="ucBonusInput.ascx.cs" Inherits="forms_worker_ucBonusInput" %>
|
||||
<%@ Register Assembly="WNET" Namespace="Wellan.Web.UI"
|
||||
TagPrefix="cc1" %>
|
||||
<asp:MultiView ID="MultiView1" runat="server"
|
||||
ActiveViewIndex="1">
|
||||
<asp:View ID="View1" runat="server">
|
||||
<table style="table-layout: fixed" id="Table2"
|
||||
cellspacing="1" cellpadding="2" width="1"
|
||||
border="0">
|
||||
<tbody>
|
||||
<tr style="line-height: 0px">
|
||||
<td style="width: 60px; height: 0px" colspan="1"></td>
|
||||
<td colspan="1" style="width: 100px; height: 0px"></td>
|
||||
<td style="width: 80px; height: 0px" colspan="1"></td>
|
||||
<td style="width: 80px; height: 0px" colspan="1"></td>
|
||||
<td colspan="1" style="width: 80px; height: 0px"></td>
|
||||
<td style="width: 200px; height: 0px" colspan="1"></td>
|
||||
<td colspan="1" style="width: 200px; height: 0px"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" nowrap="nowrap">
|
||||
<cc1:WLabel ID="lbSSENO" runat="server"
|
||||
TextMessageId=""></cc1:WLabel></td>
|
||||
<td align="center" nowrap="nowrap">
|
||||
<cc1:WLabel ID="lbSSENOX" runat="server" TextMessageId=""></cc1:WLabel></td>
|
||||
<td align="center">
|
||||
<asp:TextBox ID="txtSSP13" CssClass="textInput"
|
||||
runat="server" MaxLength="8" Text=""></asp:TextBox>
|
||||
</td>
|
||||
<td align="center">
|
||||
<cc1:WLabel ID="lbSSS03" runat="server" CssClass="textInput1" TextMessageId=""></cc1:WLabel></td>
|
||||
<td align="center">
|
||||
<cc1:WLabel ID="lbSSTOT" runat="server" CssClass="textInput1" TextMessageId=""></cc1:WLabel></td>
|
||||
<td align="center">
|
||||
<asp:TextBox ID="txtSSC07" CssClass="textInput"
|
||||
runat="server" MaxLength="70" Text=""></asp:TextBox>
|
||||
</td>
|
||||
<td>
|
||||
<asp:Label ID="lbMessage" runat="server"
|
||||
ForeColor="Red" Visible="False"></asp:Label></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<asp:HiddenField ID="hfYymm" runat="server" />
|
||||
<asp:HiddenField ID="hfSspyn" runat="server" />
|
||||
<asp:HiddenField ID="hfBonusTimes" runat="server" />
|
||||
<asp:HiddenField ID="hfTaxRate" runat="server" />
|
||||
<asp:HiddenField ID="hfOldSSP13" runat="server" />
|
||||
</asp:View>
|
||||
<asp:View ID="View2" runat="server">
|
||||
<table style="table-layout: fixed; background-color: #507CD1;" id="Table1"
|
||||
cellspacing="1" cellpadding="2" width="1"
|
||||
border="0">
|
||||
<tbody>
|
||||
<tr style="line-height: 0px">
|
||||
<td style="width: 60px; height: 0px" colspan="1"></td>
|
||||
<td colspan="1" style="width: 100px; height: 0px"></td>
|
||||
<td style="width: 80px; height: 0px" colspan="1"></td>
|
||||
<td style="width: 80px; height: 0px" colspan="1"></td>
|
||||
<td colspan="1" style="width: 80px; height: 0px"></td>
|
||||
<td style="width: 200px; height: 0px" colspan="1"></td>
|
||||
</tr>
|
||||
<tr style="background-color: #507CD1; font-weight: bold; color: white; height: 25px">
|
||||
<td align="center">人員編號</td>
|
||||
<td align="center">人員姓名</td>
|
||||
<td align="center">金額</td>
|
||||
<td align="center">稅額</td>
|
||||
<td align="center">實發</td>
|
||||
<td>備註</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</asp:View>
|
||||
</asp:MultiView>
|
||||
@@ -0,0 +1,328 @@
|
||||
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 System.ComponentModel;
|
||||
using Wellan.Common;
|
||||
|
||||
/// <summary>
|
||||
/// 獎金輸入用控制項
|
||||
/// </summary>
|
||||
public partial class forms_worker_ucBonusInput : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
private bool _isHeader = true;
|
||||
private DbCommand cmdReadRasn;
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
public bool IsHeader
|
||||
{
|
||||
get
|
||||
{
|
||||
return _isHeader;
|
||||
}
|
||||
set
|
||||
{
|
||||
_isHeader = value;
|
||||
if (_isHeader)
|
||||
MultiView1.ActiveViewIndex = 1;
|
||||
else
|
||||
MultiView1.ActiveViewIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 員工編號
|
||||
/// </summary>
|
||||
[Bindable(BindableSupport.Yes, BindingDirection.TwoWay)]
|
||||
public string Sseno
|
||||
{
|
||||
get
|
||||
{
|
||||
return lbSSENO.Text;
|
||||
}
|
||||
set
|
||||
{
|
||||
lbSSENO.Text = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 員工姓名
|
||||
/// </summary>
|
||||
[Bindable(BindableSupport.Yes, BindingDirection.TwoWay)]
|
||||
public string SsenoName
|
||||
{
|
||||
get
|
||||
{
|
||||
return lbSSENOX.Text;
|
||||
}
|
||||
set
|
||||
{
|
||||
lbSSENOX.Text = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 獎金年月
|
||||
/// </summary>
|
||||
[Bindable(BindableSupport.Yes, BindingDirection.TwoWay)]
|
||||
public string Yymm
|
||||
{
|
||||
get
|
||||
{
|
||||
return hfYymm.Value;
|
||||
}
|
||||
set
|
||||
{
|
||||
hfYymm.Value = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 年度專案編號
|
||||
/// </summary>
|
||||
[Bindable(BindableSupport.Yes, BindingDirection.TwoWay)]
|
||||
public string Sspyn
|
||||
{
|
||||
get
|
||||
{
|
||||
return hfSspyn.Value;
|
||||
}
|
||||
set
|
||||
{
|
||||
hfSspyn.Value = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 稅率
|
||||
/// </summary>
|
||||
[Bindable(BindableSupport.Yes, BindingDirection.TwoWay)]
|
||||
public string TaxRate
|
||||
{
|
||||
get
|
||||
{
|
||||
return hfTaxRate.Value;
|
||||
}
|
||||
set
|
||||
{
|
||||
hfTaxRate.Value = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 獎金次數
|
||||
/// </summary>
|
||||
[Bindable(BindableSupport.Yes, BindingDirection.TwoWay)]
|
||||
public string BonusTimes
|
||||
{
|
||||
get
|
||||
{
|
||||
return hfBonusTimes.Value;
|
||||
}
|
||||
set
|
||||
{
|
||||
hfBonusTimes.Value = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 備註
|
||||
/// </summary>
|
||||
[Bindable(BindableSupport.Yes, BindingDirection.TwoWay)]
|
||||
public string Memo
|
||||
{
|
||||
get
|
||||
{
|
||||
return txtSSC07.Text;
|
||||
}
|
||||
set
|
||||
{
|
||||
txtSSC07.Text = value;
|
||||
}
|
||||
}
|
||||
|
||||
private DateTime YyMm
|
||||
{
|
||||
get
|
||||
{
|
||||
return Convert.ToDateTime(hfYymm.Value).AddDays(Convert.ToInt32(hfBonusTimes.Value));
|
||||
}
|
||||
}
|
||||
|
||||
public void Read(WQuery query)
|
||||
{
|
||||
this.Query = query;
|
||||
SsmsDAC ssmsDao = new SsmsDAC(Query);
|
||||
SsmsRecord ssmsRec = ssmsDao.SelectOne(null, YyMm, lbSSENO.Text, hfSspyn.Value, "001");
|
||||
|
||||
if (ssmsRec != null)
|
||||
{
|
||||
txtSSP13.Text = ssmsRec.SSP13.ToString("#########0");
|
||||
lbSSS03.Text = ssmsRec.SSS03.ToString("#########0");
|
||||
lbSSTOT.Text = (ssmsRec.SSP13 - ssmsRec.SSS03).ToString("#########0");
|
||||
string[] values = ssmsRec.SSC07.Split('|');
|
||||
if (values.Length > 1)
|
||||
txtSSC07.Text = values[1];
|
||||
else
|
||||
txtSSC07.Text = "";
|
||||
hfOldSSP13.Value = ssmsRec.SSP13.ToString("#########0");
|
||||
}
|
||||
else
|
||||
{
|
||||
txtSSP13.Text = "";
|
||||
lbSSS03.Text = "";
|
||||
lbSSTOT.Text = "";
|
||||
txtSSC07.Text = "";
|
||||
hfOldSSP13.Value = "";
|
||||
}
|
||||
}
|
||||
|
||||
protected void GetRasnData(DbTransaction tran, string sseno, out string ssjno, out string sscno, out string ssbrh)
|
||||
{
|
||||
if (cmdReadRasn == null)
|
||||
{
|
||||
cmdReadRasn = Query.NewCommand(
|
||||
@"SELECT A.RANUM, A.RAJNO, A.RACNO, A.RABRH
|
||||
FROM RASN A
|
||||
INNER JOIN BPJB B ON A.RAPYN=B.BPPYN AND A.RAJNO=B.BPJNO AND A.RACNO=B.BPCNO
|
||||
WHERE A.RAPYN = @BPPYN AND A.RANUM=@RANUM
|
||||
AND ((A.RASDT <= @YYMM1 AND A.RAEDT >= @YYMM2)
|
||||
OR (A.RASDT <= @YYMM1 AND A.RAEDT IS NULL)
|
||||
OR (A.RASDT <= @YYMM1 AND A.RAEDT >= @YYMM1 AND A.RAEDT <= @YYMM2)
|
||||
OR (A.RASDT >= @YYMM1 AND A.RASDT <= @YYMM2 AND A.RAEDT >= @YYMM2)
|
||||
OR (A.RASDT >= @YYMM1 AND A.RASDT <= @YYMM2 AND A.RAEDT IS NULL)
|
||||
OR (A.RASDT >= @YYMM1 AND A.RASDT <= @YYMM2 AND A.RAEDT >= @YYMM1 AND A.RAEDT <= @YYMM2))
|
||||
ORDER BY A.RANUM");
|
||||
cmdReadRasn.Parameters.Add(Query.NewParameter("BPPYN", hfSspyn.Value));
|
||||
cmdReadRasn.Parameters.Add(Query.NewParameter("RANUM", DbType.String));
|
||||
cmdReadRasn.Parameters.Add(Query.NewParameter("YYMM1", WGuard1.GetMonthBegin(Convert.ToDateTime(hfYymm.Value), 0)));
|
||||
cmdReadRasn.Parameters.Add(Query.NewParameter("YYMM2", WGuard1.GetMonthEnd(Convert.ToDateTime(hfYymm.Value), 0)));
|
||||
}
|
||||
|
||||
cmdReadRasn.Parameters["RANUM"].Value = sseno;
|
||||
DataTable rasn;
|
||||
|
||||
if (tran != null)
|
||||
{
|
||||
cmdReadRasn.Connection = tran.Connection;
|
||||
cmdReadRasn.Transaction = tran;
|
||||
rasn = Query.Select(tran.Connection, cmdReadRasn);
|
||||
}
|
||||
else
|
||||
{
|
||||
rasn = Query.Select(cmdReadRasn);
|
||||
}
|
||||
|
||||
if (rasn.Rows.Count > 0)
|
||||
{
|
||||
ssjno = rasn.Rows[0]["RAJNO"].ToString();
|
||||
sscno = rasn.Rows[0]["RACNO"].ToString();
|
||||
ssbrh = rasn.Rows[0]["RABRH"].ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
ssjno = "";
|
||||
sscno = "";
|
||||
ssbrh = "";
|
||||
}
|
||||
}
|
||||
|
||||
// 計算所得稅,若小於 WSetR(Query, "UNBONUSTAXFREE", 1) 的設定,則免稅
|
||||
private int CalculateTax(int amt)
|
||||
{
|
||||
double taxRate = Convert.ToDouble(hfTaxRate.Value);
|
||||
string s = WGuard1.WSetR(Query, "UNBONUSTAXFREE", 1).Trim();
|
||||
int taxFreeBoundry;
|
||||
|
||||
if (s.Length == 0)
|
||||
taxFreeBoundry = 2000;
|
||||
else
|
||||
taxFreeBoundry = Convert.ToInt32(s);
|
||||
|
||||
/* 原先使用稅額小於 taxFreeBoundry 才免稅,改成金額小於 taxFreeBoundry 免稅
|
||||
int tax = Convert.ToInt32(Math.Round(amt * taxRate, 0, MidpointRounding.AwayFromZero));
|
||||
if (tax < taxFreeBoundry)
|
||||
return 0;
|
||||
else
|
||||
return tax;
|
||||
*/
|
||||
|
||||
if (amt <= taxFreeBoundry)
|
||||
return 0;
|
||||
else
|
||||
return Convert.ToInt32(Math.Round(amt * taxRate, 0, MidpointRounding.AwayFromZero));
|
||||
}
|
||||
|
||||
public void Save(DbTransaction tran, WQuery query)
|
||||
{
|
||||
this.Query = query;
|
||||
DateTime aYymm = YyMm;
|
||||
SsmsDAC ssmsDao = new SsmsDAC(Query);
|
||||
SsmsRecord ssmsRec;
|
||||
|
||||
// 新增
|
||||
if (hfOldSSP13.Value.Length == 0 && txtSSP13.Text.Trim().Length > 0)
|
||||
{
|
||||
ssmsRec = new SsmsRecord();
|
||||
ssmsRec.SSPYN = hfSspyn.Value;
|
||||
ssmsRec.SSENO = lbSSENO.Text;
|
||||
ssmsRec.SSYMM = aYymm;
|
||||
ssmsRec.SSP13 = Convert.ToInt32(txtSSP13.Text.Trim());
|
||||
ssmsRec.SSS03 = CalculateTax(ssmsRec.SSP13);
|
||||
ssmsRec.SSC07 = hfTaxRate.Value + "|" + txtSSC07.Text;
|
||||
ssmsDao.InsertOne(tran, ssmsRec);
|
||||
}
|
||||
// 更正
|
||||
else if (hfOldSSP13.Value.Length > 0 && txtSSP13.Text.Trim().Length > 0)
|
||||
{
|
||||
ssmsRec = new SsmsRecord();
|
||||
ssmsRec.SSPYN = hfSspyn.Value;
|
||||
ssmsRec.SSENO = lbSSENO.Text;
|
||||
ssmsRec.SSYMM = aYymm;
|
||||
ssmsRec.SSITM = "001";
|
||||
ssmsRec.SSP13 = Convert.ToInt32(txtSSP13.Text.Trim());
|
||||
ssmsRec.SSS03 = CalculateTax(ssmsRec.SSP13);
|
||||
ssmsRec.SSC07 = hfTaxRate.Value + "|" + txtSSC07.Text;
|
||||
ssmsDao.UpdateOne(tran, ssmsRec);
|
||||
}
|
||||
// 刪除
|
||||
else if (hfOldSSP13.Value.Length > 0 && txtSSP13.Text.Trim().Length == 0)
|
||||
{
|
||||
ssmsDao.DeleteOne(tran, aYymm, lbSSENO.Text, hfSspyn.Value, "001");
|
||||
}
|
||||
}
|
||||
|
||||
public bool CheckInput()
|
||||
{
|
||||
lbMessage.Visible = false;
|
||||
lbMessage.Text = "";
|
||||
|
||||
if (txtSSP13.Text.Trim().Length > 0)
|
||||
{
|
||||
int i;
|
||||
if (!int.TryParse(txtSSP13.Text.Trim(), out i))
|
||||
{
|
||||
lbMessage.Visible = true;
|
||||
lbMessage.Text = "請輸入正確的金額";
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<%@ WebService Language="C#" CodeBehind="~/App_Code/wmBpsn.cs" Class="wmBpsn" %>
|
||||
@@ -0,0 +1 @@
|
||||
<%@ WebService Language="C#" CodeBehind="~/App_Code/wmRyer.cs" Class="wmRyer" %>
|
||||
Reference in New Issue
Block a user