248 lines
9.2 KiB
C#
248 lines
9.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using BLL;
|
|
using System.IO;
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
namespace FineUIPro.Web.SitePerson
|
|
{
|
|
public partial class DayReportView : PageBase
|
|
{
|
|
#region 定义变量
|
|
/// <summary>
|
|
/// 主键
|
|
/// </summary>
|
|
public string DayReportId
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["DayReportId"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["DayReportId"] = value;
|
|
}
|
|
}
|
|
public string nowData
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["nowData"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["nowData"] = value;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 主键
|
|
/// </summary>
|
|
public string ProjectId
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["ProjectId"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["ProjectId"] = value;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 加载页面
|
|
/// <summary>
|
|
/// 加载页面
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
btnClose.OnClientClick = ActiveWindow.GetHideReference();
|
|
this.ProjectId = this.CurrUser.LoginProjectId;
|
|
this.DayReportId = Request.Params["DayReportId"];
|
|
this.nowData = Request.Params["nowData"];
|
|
DateTime cDate = DateTime.Now;
|
|
if (this.nowData == "-1")
|
|
{
|
|
var dayReport = Funs.DB.SitePerson_DayReport.FirstOrDefault(x => x.DayReportId == this.DayReportId);
|
|
if (dayReport != null)
|
|
{
|
|
this.ProjectId = dayReport.ProjectId;
|
|
this.txtDayReportCode.Text = BLL.CodeRecordsService.ReturnCodeByDataId(this.DayReportId);
|
|
var user = BLL.UserService.GetUserByUserId(dayReport.CompileMan);
|
|
if (user != null)
|
|
{
|
|
this.txtCompileMan.Text = user.UserName;
|
|
}
|
|
if (dayReport.CompileDate.HasValue)
|
|
{
|
|
cDate = dayReport.CompileDate.Value;
|
|
this.txtCompileDate.Text = String.Format("{0:yyyy-MM-dd}", dayReport.CompileDate);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var dayReport = BLL.SitePerson_DayReportService.GetDayReportByDayReportId(this.DayReportId);
|
|
if (dayReport != null)
|
|
{
|
|
this.ProjectId = dayReport.ProjectId;
|
|
this.txtDayReportCode.Text = BLL.CodeRecordsService.ReturnCodeByDataId(this.DayReportId);
|
|
var user = BLL.UserService.GetUserByUserId(dayReport.CompileMan);
|
|
if (user != null)
|
|
{
|
|
this.txtCompileMan.Text = user.UserName;
|
|
}
|
|
if (dayReport.CompileDate.HasValue)
|
|
{
|
|
cDate = dayReport.CompileDate.Value;
|
|
this.txtCompileDate.Text = String.Format("{0:yyyy-MM-dd}", dayReport.CompileDate);
|
|
}
|
|
}
|
|
}
|
|
getDayReportDetails = (from x in Funs.DB.SitePerson_DayReportDetail
|
|
join y in Funs.DB.SitePerson_DayReport on x.DayReportId equals y.DayReportId
|
|
where y.ProjectId == this.CurrUser.LoginProjectId && y.CompileDate <=cDate
|
|
select x).ToList();
|
|
getYearDayReportDetails =( from x in getDayReportDetails
|
|
join y in Funs.DB.SitePerson_DayReport on x.DayReportId equals y.DayReportId
|
|
where y.CompileDate.Value.Year == cDate.Year && y.DayReportId != null
|
|
select x).ToList();
|
|
|
|
BindGrid();
|
|
|
|
///初始化审核菜单
|
|
// this.ctlAuditFlow.MenuId = BLL.Const.DayReportMenuId;
|
|
// this.ctlAuditFlow.DataId = this.DayReportId;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
private static List<Model.SitePerson_DayReportDetail> getDayReportDetails;
|
|
private static List<Model.SitePerson_DayReportDetail> getYearDayReportDetails;
|
|
|
|
#region 绑定明细数据
|
|
/// <summary>
|
|
/// 绑定明细数据
|
|
/// </summary>
|
|
private void BindGrid()
|
|
{
|
|
Model.SGGLDB db = Funs.DB;
|
|
if (this.nowData == "-1")
|
|
{
|
|
var q = (from x in db.SitePerson_DayReportDetail
|
|
join a in db.SitePerson_DayReport on x.DayReportId equals a.DayReportId
|
|
join b in db.Base_Unit on x.UnitId equals b.UnitId
|
|
where x.DayReportId == this.DayReportId
|
|
orderby b.UnitCode
|
|
select new
|
|
{
|
|
x.DayReportDetailId,
|
|
x.DayReportId,
|
|
x.UnitId,
|
|
x.StaffData,
|
|
x.DayNum,
|
|
x.WorkTime,
|
|
x.CheckPersonNum,
|
|
x.RealPersonNum,
|
|
x.PersonWorkTime,
|
|
YearPersonWorkTime = getYears(x.UnitId),
|
|
TotalPersonWorkTime = getTotals(x.UnitId),
|
|
x.Remark,
|
|
b.UnitName,
|
|
}).ToList();
|
|
Grid1.DataSource = q;
|
|
Grid1.DataBind();
|
|
}
|
|
else
|
|
{
|
|
var q = (from x in db.SitePerson_DayReportDetail
|
|
join a in db.SitePerson_DayReport on x.DayReportId equals a.DayReportId
|
|
join b in db.Base_Unit on x.UnitId equals b.UnitId
|
|
where x.DayReportId == this.DayReportId
|
|
orderby b.UnitCode
|
|
select new
|
|
{
|
|
x.DayReportDetailId,
|
|
x.DayReportId,
|
|
x.UnitId,
|
|
x.StaffData,
|
|
x.DayNum,
|
|
x.WorkTime,
|
|
x.CheckPersonNum,
|
|
x.RealPersonNum,
|
|
x.PersonWorkTime,
|
|
YearPersonWorkTime = getYears(x.UnitId),
|
|
TotalPersonWorkTime = getTotals(x.UnitId),
|
|
x.Remark,
|
|
b.UnitName,
|
|
}).ToList();
|
|
Grid1.DataSource = q;
|
|
Grid1.DataBind();
|
|
}
|
|
}
|
|
|
|
private decimal getYears(string UnitId)
|
|
{
|
|
return getYearDayReportDetails.Where(z => z.UnitId == UnitId).Sum(z => z.PersonWorkTime ?? 0);
|
|
}
|
|
private decimal getTotals(string UnitId)
|
|
{
|
|
return getDayReportDetails.Where(z => z.UnitId == UnitId).Sum(z => z.PersonWorkTime ?? 0);
|
|
}
|
|
#endregion
|
|
|
|
#region 关闭弹出窗
|
|
/// <summary>
|
|
/// 关闭弹出窗
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Window1_Close(object sender, EventArgs e)
|
|
{
|
|
BindGrid();
|
|
}
|
|
#endregion
|
|
|
|
#region Grid双击事件
|
|
/// <summary>
|
|
/// Grid行双击事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
|
|
{
|
|
if (this.nowData != "-1")
|
|
{
|
|
btnMenuEdit_Click(null, null);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 编辑
|
|
/// <summary>
|
|
/// 编辑按钮
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnMenuEdit_Click(object sender, EventArgs e)
|
|
{
|
|
if (Grid1.SelectedRowIndexArray.Length == 0)
|
|
{
|
|
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
string dayReportDetailId = Grid1.SelectedRowID;
|
|
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("DayReportDetailEdit.aspx?DayReportDetailId={0}&type=view", dayReportDetailId, "查看 - ")));
|
|
|
|
}
|
|
#endregion
|
|
}
|
|
} |