chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore - 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
@@ -0,0 +1,191 @@
|
||||
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 Wellan.Common;
|
||||
using Wellan.Data;
|
||||
using System.Data.Common;
|
||||
using CRAX;
|
||||
using System.IO;
|
||||
|
||||
public partial class forms_report_fmCardDailyReport : Wellan.Web.UI.WUserControlBase
|
||||
{
|
||||
private RasnDAC rasnDao;
|
||||
private RparDAC rparDao;
|
||||
private ProjectBranchGroupDAC pbgDao;
|
||||
|
||||
private string 公司名稱;
|
||||
private string 專案名稱;
|
||||
private string 客戶名稱;
|
||||
|
||||
private List<ProjectEmployeeItem> 人員Data = null;
|
||||
private List<差勤日報表Item> 請假Data = null;
|
||||
private List<差勤日報表Item> 加班Data = null;
|
||||
private List<差勤日報表Item> 出差Data = null;
|
||||
private List<RASNBRHItem> 站別分組 = null;
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
|
||||
if (txtDate1.Value.Ticks == 0)
|
||||
txtDate1.Value = DateTime.UtcNow.AddHours(8).Date;
|
||||
if (txtDate2.Value.Ticks == 0)
|
||||
txtDate2.Value = DateTime.UtcNow.AddHours(8).Date;
|
||||
|
||||
SetClientFocus(txtDate1);
|
||||
|
||||
rasnDao = new RasnDAC(Query);
|
||||
rparDao = new RparDAC(Query);
|
||||
pbgDao = new ProjectBranchGroupDAC(Query);
|
||||
}
|
||||
|
||||
protected void btnOk_Click(object sender, EventArgs e)
|
||||
{
|
||||
cvMessage.IsValid = true;
|
||||
cvMessage.ErrorMessage = "";
|
||||
|
||||
if (!CheckProjectRight())
|
||||
return;
|
||||
|
||||
if (!CheckDateValid())
|
||||
return;
|
||||
|
||||
// 取得並儲存畫面輸入的站別歸屬
|
||||
pbgDao.DeleteByProject(ddlRPPYN.SelectedValue);
|
||||
foreach (GridViewRow row in gvBranch.Rows)
|
||||
{
|
||||
var txtGroup = (row.Cells[0].FindControl("txtGroup") as TextBox);
|
||||
if (txtGroup != null)
|
||||
{
|
||||
var group = txtGroup.Text;
|
||||
var branchId = txtGroup.Attributes["relatevalue"];
|
||||
|
||||
if (!string.IsNullOrEmpty(group) && !string.IsNullOrEmpty(branchId))
|
||||
{
|
||||
pbgDao.Insert(ddlRPPYN.SelectedValue, branchId, group);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
專案名稱 = GetLookup("BPAA", ddlRPPYN.SelectedValue, "BPPYM");
|
||||
|
||||
// 取得客戶名稱、公司別
|
||||
公司名稱 = CompanyDAC.GetCompanyName(WDAC.GetStringValue(Query.ExecuteScalar(
|
||||
@"SELECT BPCPY FROM BPRJ B
|
||||
INNER JOIN BPAA C ON B.BPPNM=C.BPPNM
|
||||
WHERE C.BPPYN='" + ddlRPPYN.SelectedValue + "'"))); ;
|
||||
|
||||
客戶名稱 = WDAC.GetStringValue(Query.ExecuteScalar(
|
||||
@"SELECT BCNAM FROM BCUS A
|
||||
INNER JOIN BPRJ B ON A.BCNUM=B.BPNUM
|
||||
INNER JOIN BPAA C ON B.BPPNM=C.BPPNM
|
||||
WHERE C.BPPYN='" + ddlRPPYN.SelectedValue + "'"));
|
||||
|
||||
人員Data = new GetData(Query).GetRASN_DATE_BPPYN(txtDate1.Value, txtDate2.Value, ddlRPPYN.SelectedValue);
|
||||
請假Data = rparDao.取得差勤日報表資料(ddlRPPYN.SelectedValue, txtDate1.Value, txtDate2.Value, RPAR_TYPE.T0_請假);
|
||||
加班Data = rparDao.取得差勤日報表資料(ddlRPPYN.SelectedValue, txtDate1.Value, txtDate2.Value, RPAR_TYPE.T1_加班);
|
||||
出差Data = rparDao.取得差勤日報表資料(ddlRPPYN.SelectedValue, txtDate1.Value, txtDate2.Value, RPAR_TYPE.T3_出差);
|
||||
站別分組 = rasnDao.SelectBranchForReport(ddlRPPYN.SelectedValue);
|
||||
|
||||
if (人員Data.Count != 0)
|
||||
{
|
||||
Do差勤日報表();
|
||||
}
|
||||
else
|
||||
{
|
||||
cvMessage.IsValid = false;
|
||||
cvMessage.ErrorMessage = "無符合條件的資料";
|
||||
}
|
||||
}
|
||||
|
||||
private void Do差勤日報表()
|
||||
{
|
||||
var 報表 = new 差勤日報表();
|
||||
報表.開始日期 = txtDate1.Value;
|
||||
報表.結束日期 = txtDate2.Value;
|
||||
報表.公司名稱 = 公司名稱;
|
||||
報表.客戶名稱 = 客戶名稱;
|
||||
報表.專案名稱 = 專案名稱;
|
||||
報表.專案編號 = ddlRPPYN.SelectedValue;
|
||||
報表.人員Data = 人員Data;
|
||||
報表.請假Data = 請假Data;
|
||||
報表.加班Data = 加班Data;
|
||||
報表.出差Data = 出差Data;
|
||||
報表.站別分組 = 站別分組;
|
||||
報表.以時分顯示時數 = new GetData(Query).GetOverTimeToMinutes(ddlRPPYN.SelectedValue);
|
||||
|
||||
MemoryStream ms = 報表.產生報表();
|
||||
ResponseWriteFile(ms, String.Format("差勤日報表_{0}_{1:yyyyMMdd}_{2:yyyyMMdd}.xls", ddlRPPYN.SelectedValue, txtDate1.Value, txtDate2.Value));
|
||||
}
|
||||
|
||||
protected bool CheckProjectRight()
|
||||
{
|
||||
// 檢查此使用者是否有權限處理這個專案
|
||||
BprmDAC bprm = new BprmDAC(Query);
|
||||
if (!bprm.GetRight(ddlRPPYN.SelectedValue, UserId))
|
||||
{
|
||||
cvMessage.ErrorMessage = "對不起,你沒有處理這個專案的權限!";
|
||||
cvMessage.IsValid = false;
|
||||
pnlGroup.Visible = false;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
protected void Next_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!CheckProjectRight())
|
||||
return;
|
||||
|
||||
pnlGroup.Visible = true;
|
||||
gvBranch.DataSource = rasnDao.SelectBranchForForm(ddlRPPYN.SelectedValue);
|
||||
gvBranch.DataBind();
|
||||
}
|
||||
|
||||
protected void btnDate_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!CheckDateValid())
|
||||
return;
|
||||
|
||||
pnlGroup.Visible = false;
|
||||
ddlRPPYN.DataSource = new BpaaDAC().GetBpaa(txtDate1.Value.Year);
|
||||
ddlRPPYN.DataBind();
|
||||
}
|
||||
|
||||
private bool CheckDateValid()
|
||||
{
|
||||
if (txtDate1.Value.Ticks == 0 && txtDate2.Value.Ticks != 0)
|
||||
txtDate1.Value = txtDate2.Value;
|
||||
if (txtDate2.Value.Ticks == 0 && txtDate1.Value.Ticks != 0)
|
||||
txtDate2.Value = txtDate1.Value;
|
||||
|
||||
if (txtDate1.Value.Ticks == 0 || txtDate2.Value.Ticks == 0)
|
||||
{
|
||||
cvMessage.ErrorMessage = "開始日期與結束日期都應輸入!";
|
||||
cvMessage.IsValid = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
// 檢查日期是否跨年
|
||||
if (txtDate1.Value.Year != txtDate2.Value.Year)
|
||||
{
|
||||
cvMessage.ErrorMessage = "日期請勿跨年!";
|
||||
cvMessage.IsValid = false;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user