using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.ZHGL.ManagementReport
{
public partial class SubSafetyWorkReportEdit : PageBase
{
#region 定义项
///
/// 公司
///
public string CompanyId
{
get
{
return (string)ViewState["CompanyId"];
}
set
{
ViewState["CompanyId"] = value;
}
}
///
/// 月报告查主键
///
public string SafetyWorkReportId
{
get
{
return (string)ViewState["SafetyWorkReportId"];
}
set
{
ViewState["SafetyWorkReportId"] = value;
}
}
///
/// 菜单主键
///
public string MenuId
{
get
{
return (string)ViewState["MenuId"];
}
set
{
ViewState["MenuId"] = value;
}
}
private static DateTime months;
#endregion
#region 加载页面
///
/// 加载页面
///
///
///
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
btnClose.OnClientClick = ActiveWindow.GetHideReference();
this.CompanyId = this.CurrUser.UnitId ?? BLL.CommonService.GetThisUnitId();
UnitService.InitBranchUnitDropDownList(this.drpSubUnit, false);
drpSubUnit_SelectedIndexChanged(null, null);
SafetyWorkReportId = Request.Params["SafetyWorkReportId"];
if (!string.IsNullOrEmpty(SafetyWorkReportId))
{
var getSafetyWorkReport = SafetyWorkReportService.GetManager_SafetyWorkReportById(this.SafetyWorkReportId);
if (getSafetyWorkReport != null)
{
this.drpSubUnit.SelectedValue = getSafetyWorkReport.UnitId;
drpSubUnit_SelectedIndexChanged(null, null);
this.drpReportMan.SelectedValue = getSafetyWorkReport.ReportManId;
this.txtMonths.Text = string.Format("{0:yyyy-MM}", getSafetyWorkReport.Months);
this.txtReportDate.Text = string.Format("{0:yyyy-MM-dd}", getSafetyWorkReport.ReportDate);
Bind(getSafetyWorkReport);
getYears = from x in Funs.DB.Manager_SafetyWorkReport
where x.UnitId == this.drpSubUnit.SelectedValue && x.Months.Value.Year == months.Year
select x;
}
}
else
{
this.drpSubUnit.SelectedValue = this.CompanyId;
var getM = Request.Params["months"];
months = Funs.GetNewDateTimeOrNow(getM);
this.txtMonths.Text = getM;
this.txtReportDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
getYears = from x in Funs.DB.Manager_SafetyWorkReport
where x.UnitId == this.drpSubUnit.SelectedValue && x.Months.Value.Year == months.Year
select x;
PageInfo();
}
MenuId = Const.ServerSafetyWorkReportMenuId;
this.drpSubUnit.Readonly = true;
if (this.drpSubUnit.SelectedValue != this.CompanyId)
{
this.btnSave.Hidden = true;
}
}
}
#endregion
public static IQueryable getYears;
///
///
///
protected void PageInfo()
{
var getProjects = from x in Funs.DB.Base_Project
where x.UnitId == this.drpSubUnit.SelectedValue && (x.ProjectState == null || x.ProjectState == Const.ProjectState_1)
&& x.StartDate <= months && (!x.EndDate.HasValue || x.EndDate >= months.AddMonths(1))
select x;
int pCounts = getProjects.Count();
this.txtNum1.Text = pCounts.ToString();
if (pCounts > 0)
{
var getMPersons = from x in Funs.DB.SitePerson_Person
join y in getProjects on x.ProjectId equals y.ProjectId
join z in Funs.DB.Base_WorkPost on x.WorkPostId equals z.WorkPostId
where z.IsHsse == true && (x.OutTime == null || x.OutTime >= months.AddMonths(1)) && x.IsUsed == true
select x;
this.txtNum2.Text = getMPersons.Count().ToString();
var getAccidentHandles = from x in Funs.DB.Accident_AccidentHandle
join y in getProjects on x.ProjectId equals y.ProjectId
select x;
int accidentCounts = getAccidentHandles.Count();
this.txtAccidentNum.Text = accidentCounts.ToString();
if (accidentCounts > 0)
{
string selectL = string.Empty;
string qk = string.Empty;
int mNum = getAccidentHandles.Sum(x => x.MinorInjuriesPersonNum ?? 0);
if (mNum > 0)
{
selectL += "轻伤,";
qk += "轻伤" + mNum.ToString() + ";";
}
int iNum = getAccidentHandles.Sum(x => x.InjuriesPersonNum ?? 0);
if (iNum > 0)
{
selectL += "重伤,";
qk += "重伤" + iNum.ToString() + ";";
}
int dNum = getAccidentHandles.Sum(x => x.DeathPersonNum ?? 0);
if (dNum > 0)
{
selectL += "死亡,";
qk += "死亡" + dNum.ToString() + ";";
}
if (!string.IsNullOrEmpty(selectL))
{
string[] strs = selectL.Split(',');
this.cblAccidentType.SelectedValueArray = strs;
this.txtInjurySituation.Text = qk;
}
decimal MoneyLoss = getAccidentHandles.Sum(x => x.MoneyLoss ?? 0);
this.txtLossMoney.Text = MoneyLoss.ToString();
decimal WorkHoursLoss = getAccidentHandles.Sum(x => x.WorkHoursLoss ?? 0);
this.txtLossWorkDay.Text = MoneyLoss.ToString();
}
}
if (getYears.Count() > 0)
{
this.txtCost2.Text = getYears.Sum(x => x.Cost2 ?? 0).ToString();
this.txtHour2.Text = getYears.Sum(x => x.Hour2 ?? 0).ToString();
}
}
#region 页面显示
void Bind(Manager_SafetyWorkReport model)
{
txtNum1.Text = model.Num1.HasValue ? model.Num1.ToString() : "";
txtNum2.Text = model.Num2.HasValue ? model.Num2.ToString() : "";
txtNum3.Text = model.Num3.HasValue ? model.Num3.ToString() : "";
txtNum4.Text = model.Num4.HasValue ? model.Num4.ToString() : "";
txtNum5.Text = model.Num5.HasValue ? model.Num5.ToString() : "";
//txtNum6.Text = model.Num6.HasValue ? model.Num6.ToString() : "";
//txtNum7.Text = model.Num7.HasValue ? model.Num7.ToString() : "";
//txtNum8.Text = model.Num8.HasValue ? model.Num8.ToString() : "";
//txtNum9.Text = model.Num9.HasValue ? model.Num9.ToString() : "";
txtCost1.Text = model.Cost1.HasValue ? model.Cost1.ToString() : "";
txtCost2.Text = model.Cost2.HasValue ? model.Cost2.ToString() : "";
txtHour1.Text = model.Hour1.HasValue ? model.Hour1.ToString() : "";
txtHour2.Text = model.Hour2.HasValue ? model.Hour2.ToString() : "";
ckbExistAccident.Checked = (bool)model.ExistAccident;
txtAccidentNum.Text = model.AccidentNum.HasValue ? model.AccidentNum.ToString() : "";
cblAccidentType.SelectedValueArray = model.AccidentType.Split(',');
txtInjurySituation.Text = model.InjurySituation;
txtLossMoney.Text = model.LossMoney.HasValue ? model.LossMoney.ToString() : "";
txtLossWorkDay.Text = model.LossWorkDay.HasValue ? model.LossWorkDay.ToString() : "";
ckbExistMeeting.Checked = (bool)model.ExistMeeting;
txtMeetingNum.Text = model.MeetingNum.HasValue ? model.MeetingNum.ToString() : "";
cblMeetingType.SelectedValueArray = model.MeetingType.Split(',');
ckbExistLeaderCheck.Checked = (bool)model.ExistLeaderCheck;
txtLeaderCheckNum.Text = model.LeaderCheckNum.HasValue ? model.LeaderCheckNum.ToString() : "";
ckbExistSafetyCheck.Checked = (bool)model.ExistSafetyCheck;
txtCheckNum1.Text = model.CheckNum1.HasValue ? model.CheckNum1.ToString() : "";
txtCheckNum2.Text = model.CheckNum2.HasValue ? model.CheckNum2.ToString() : "";
txtCheckNum3.Text = model.CheckNum3.HasValue ? model.CheckNum3.ToString() : "";
txtCheckNum4.Text = model.CheckNum4.HasValue ? model.CheckNum4.ToString() : "";
txtCheckLimitDate.SelectedDate = model.CheckLimitDate;
ckbExistTrain.Checked = (bool)model.ExistTrain;
txtTrainNum.Text = model.TrainNum.HasValue ? model.TrainNum.ToString() : "";
ckbExistContribution.Checked = (bool)model.ExistContribution;
txtContributionNum1.Text = model.ContributionNum1.HasValue ? model.ContributionNum1.ToString() : "";
txtContributionNum2.Text = model.ContributionNum2.HasValue ? model.ContributionNum2.ToString() : "";
txtNextWork.Text = model.NextWork;
txtProblem.Text = model.Problem;
txtSuggestion.Text = model.Suggestion;
}
#endregion
#region 保存事件
///
///
///
///
protected bool Save()
{
bool isOk = true;
Manager_SafetyWorkReport newReport = new Manager_SafetyWorkReport
{
Num1 = Funs.GetNewIntOrZero(txtNum1.Text.Trim()),
Num2 = Funs.GetNewIntOrZero(txtNum2.Text.Trim()),
Num3 = Funs.GetNewIntOrZero(txtNum3.Text.Trim()),
Num4 = Funs.GetNewIntOrZero(txtNum4.Text.Trim()),
Num5 = Funs.GetNewIntOrZero(txtNum5.Text.Trim()),
//model.Num6 = Funs.GetNewIntOrZero(txtNum6.Text.Trim());
//model.Num7 = Funs.GetNewIntOrZero(txtNum7.Text.Trim());
//model.Num8 = Funs.GetNewIntOrZero(txtNum8.Text.Trim());
//model.Num9 = Funs.GetNewIntOrZero(txtNum9.Text.Trim());
Cost1 = Funs.GetNewIntOrZero(txtCost1.Text.Trim()),
Cost2 = Funs.GetNewIntOrZero(txtCost2.Text.Trim()),
Hour1 = Funs.GetNewIntOrZero(txtHour1.Text.Trim()),
Hour2 = Funs.GetNewIntOrZero(txtHour2.Text.Trim()),
ExistAccident = ckbExistAccident.Checked,
AccidentNum = Funs.GetNewIntOrZero(txtAccidentNum.Text.Trim()),
AccidentType = String.Join(",", cblAccidentType.SelectedValueArray),
InjurySituation = txtInjurySituation.Text.Trim(),
LossMoney = Funs.GetNewIntOrZero(txtLossMoney.Text.Trim()),
LossWorkDay = Funs.GetNewIntOrZero(txtLossWorkDay.Text.Trim()),
ExistMeeting = ckbExistMeeting.Checked,
MeetingNum = Funs.GetNewIntOrZero(txtMeetingNum.Text.Trim()),
MeetingType = String.Join(",", cblMeetingType.SelectedValueArray),
ExistLeaderCheck = ckbExistLeaderCheck.Checked,
LeaderCheckNum = Funs.GetNewIntOrZero(txtLeaderCheckNum.Text.Trim()),
ExistSafetyCheck = ckbExistSafetyCheck.Checked,
CheckNum1 = Funs.GetNewIntOrZero(txtCheckNum1.Text.Trim()),
CheckNum2 = Funs.GetNewIntOrZero(txtCheckNum2.Text.Trim()),
CheckNum3 = Funs.GetNewIntOrZero(txtCheckNum3.Text.Trim()),
CheckNum4 = Funs.GetNewIntOrZero(txtCheckNum4.Text.Trim()),
CheckLimitDate = txtCheckLimitDate.SelectedDate,
ExistTrain = ckbExistTrain.Checked,
TrainNum = Funs.GetNewIntOrZero(txtTrainNum.Text.Trim()),
ExistContribution = ckbExistContribution.Checked,
ContributionNum1 = Funs.GetNewIntOrZero(txtContributionNum1.Text.Trim()),
ContributionNum2 = Funs.GetNewIntOrZero(txtContributionNum2.Text.Trim()),
NextWork = txtNextWork.Text,
Problem = txtProblem.Text,
Suggestion = txtSuggestion.Text,
ReportDate = Funs.GetNewDateTimeOrNow(this.txtReportDate.Text),
};
newReport.UnitId = this.drpSubUnit.SelectedValue;
newReport.Months = Funs.GetNewDateTime(this.txtMonths.Text);
newReport.ReportManId = this.drpReportMan.SelectedValue;
if (!string.IsNullOrEmpty(newReport.UnitId) && !string.IsNullOrEmpty(newReport.ReportManId) && newReport.Months.HasValue)
{
if (string.IsNullOrEmpty(SafetyWorkReportId))
{
newReport.CompileMan = this.CurrUser.UserId;
newReport.CompileDate = DateTime.Now;
this.SafetyWorkReportId = newReport.SafetyWorkReportId = SQLHelper.GetNewID();
BLL.SafetyWorkReportService.AddManager_SafetyWorkReport(newReport);
}
else
{
newReport.SafetyWorkReportId = SafetyWorkReportId;
BLL.SafetyWorkReportService.UpdateManager_SafetyWorkReport(newReport);
}
}
else
{
isOk = false;
}
return isOk;
}
#endregion
#region 保存按钮
///
/// 保存按钮
///
///
///
protected void btnSave_Click(object sender, EventArgs e)
{
if (Save())
{
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
else
{
Alert.ShowInParent("分公司、月份、报告人必填!");
}
}
#endregion
#region 附件上传
///
/// 上传附件
///
///
///
protected void btnAttachUrl_Click(object sender, EventArgs e)
{
UpAtt(null);
}
protected void btnAtt1_Click(object sender, EventArgs e)
{
UpAtt("1");
}
protected void btnAtt2_Click(object sender, EventArgs e)
{
UpAtt("2");
}
protected void btnAtt3_Click(object sender, EventArgs e)
{
UpAtt("3");
}
protected void btnAtt4_Click(object sender, EventArgs e)
{
UpAtt("4");
}
protected void UpAtt(string type)
{
if (string.IsNullOrEmpty(this.SafetyWorkReportId))
{
if (!this.btnSave.Hidden)
{
Save();
}
}
string id = this.SafetyWorkReportId;
if (!string.IsNullOrEmpty(type))
{
id = this.SafetyWorkReportId + "$" + type;
}
if (!this.btnSave.Hidden)
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/SubSafetyWorkReport&menuId={1}", id, this.MenuId)));
}
else
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/SubSafetyWorkReport&menuId={1}type=-1", id, this.MenuId)));
}
}
#endregion
#region 单位下拉框事件
///
/// 单位下拉框事件
///
///
///
protected void drpSubUnit_SelectedIndexChanged(object sender, EventArgs e)
{
this.drpReportMan.Items.Clear();
UserService.InitUserProjectIdUnitIdDropDownList(this.drpReportMan, this.CurrUser.LoginProjectId, this.drpSubUnit.SelectedValue, false);
if (this.CurrUser.UserId != Const.sysglyId && this.CurrUser.UserId != Const.hfnbdId)
{
this.drpReportMan.SelectedValue = this.CurrUser.UserId;
}
}
#endregion
#region 获取按钮权限
///
/// 获取按钮权限
///
///
///
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, this.MenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnSave.Hidden = false;
}
}
}
#endregion
protected void txtCost2_Blur(object sender, EventArgs e)
{
if (getYears.Count() > 0)
{
this.txtCost2.Text = (getYears.Sum(x => x.Cost2 ?? 0) + Funs.GetNewIntOrZero(this.txtCost2.Text)).ToString();
this.txtHour2.Text = (getYears.Sum(x => x.Hour2 ?? 0) + Funs.GetNewIntOrZero(this.txtHour2.Text)).ToString();
}
}
}
}