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;
///
/// 薪資條發放
///
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";
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";
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["tableName"].DefaultValue = _tableName;
dsSSMS.SelectParameters["SSYMM"].DefaultValue = s;
dsSSMS.SelectParameters["SSPYN"].DefaultValue = 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 SSENOs = new List();
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 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("
", 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)
{
DataTable a = new SsmsDAC(Query).SelectSalaryStripSum(_tableName, _SSYMM, ddlSSPYN.SelectedValue);
DataRow ar = a.Rows[0];
e.Row.Cells[1].Text = "合計";
e.Row.Cells[1].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[2].Text = string.Format("{0:###,###,##0}", ar["SSP00"]); // 本薪
e.Row.Cells[2].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[3].Text = string.Format("{0:###,###,##0}", ar["SSP01"]); // 全勤獎金
e.Row.Cells[3].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[4].Text = string.Format("{0:###,###,##0}", ar["OVERWORK"]);
e.Row.Cells[4].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[5].Text = string.Format("{0:###,###,##0}", ar["OUTGOING"]);
e.Row.Cells[5].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[6].Text = string.Format("{0:###,###,##0}", ar["SSP11"]);
e.Row.Cells[6].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[7].Text = string.Format("{0:###,###,##0}", ar["SSP02"]);
e.Row.Cells[7].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[8].Text = string.Format("{0:###,###,##0}", ar["SSP99"]);
e.Row.Cells[8].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[9].Text = string.Format("{0:###,###,##0}", ar["SSP03"]);
e.Row.Cells[9].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[10].Text = string.Format("{0:###,###,##0}", ar["SSP05"]);
e.Row.Cells[10].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[12].Text = string.Format("{0:###,###,##0}", ar["SSPLUS"]);
e.Row.Cells[12].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[13].Text = string.Format("{0:###,###,##0}", ar["LEAVING"]);
e.Row.Cells[13].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[14].Text = string.Format("{0:###,###,##0}", ar["SSS05"]);
e.Row.Cells[14].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[15].Text = string.Format("{0:###,###,##0}", ar["SSS04"]);
e.Row.Cells[15].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[16].Text = string.Format("{0:###,###,##0}", ar["SSS07"]);
e.Row.Cells[16].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[17].Text = string.Format("{0:###,###,##0}", ar["SSS06"]);
e.Row.Cells[17].HorizontalAlign = HorizontalAlign.Center;
e.Row.Cells[18].Text = string.Format("{0:###,###,##0}", ar["SSS99"]);
e.Row.Cells[18].HorizontalAlign = HorizontalAlign.Center;
}
}
protected void gvSSMSBonus_RowDataBound(object sender, GridViewRowEventArgs e)
{
//GridView_RowDataBound_Shrink_ViewState(sender, e);
}
}