934 lines
44 KiB
C#
934 lines
44 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
using System.Data.SqlClient;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using BLL;
|
||
using AspNet = System.Web.UI.WebControls;
|
||
using Newtonsoft.Json.Linq;
|
||
using NPOI.XSSF.UserModel;
|
||
using System.IO;
|
||
|
||
namespace FineUIPro.Web.CQMS.ManageReport
|
||
{
|
||
public partial class ManagerMonthC : PageBase
|
||
{
|
||
|
||
#region 加载页面
|
||
/// <summary>
|
||
/// 加载页面
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (!IsPostBack)
|
||
{
|
||
////权限按钮方法
|
||
this.GetButtonPower();
|
||
|
||
this.txtReportYear.Text = string.Format("{0:yyyy}", DateTime.Now);
|
||
// 绑定表格
|
||
//BindGrid();
|
||
InitTreeMenu();
|
||
}
|
||
}
|
||
|
||
private void InitTreeMenu()
|
||
{
|
||
this.tvControlItem.Nodes.Clear();
|
||
TreeNode rootNode = new TreeNode();
|
||
rootNode.Text = "年份";
|
||
rootNode.NodeID = "0";
|
||
rootNode.Expanded = true;
|
||
this.tvControlItem.Nodes.Add(rootNode);
|
||
|
||
var report = from x in Funs.DB.CQMS_MonthReport
|
||
where x.ProjectId == CurrUser.LoginProjectId
|
||
orderby x.Years
|
||
select x;
|
||
if (report.Count() > 0)
|
||
{
|
||
foreach (var y in report)
|
||
{
|
||
TreeNode tnYear = new TreeNode();//年节点
|
||
tnYear.Text = y.Years.HasValue ? y.Years.Value.ToString() : "";
|
||
tnYear.NodeID = y.MonthReportId;
|
||
tnYear.EnableClickEvent = true;
|
||
rootNode.Nodes.Add(tnYear);
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
|
||
{
|
||
BindGrid();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 绑定数据
|
||
/// </summary>
|
||
private void BindGrid()
|
||
{
|
||
if (!string.IsNullOrEmpty(tvControlItem.SelectedNodeID))
|
||
{
|
||
string strSql = @"SELECT item.* ,ISNULL(t.SumProjectTotal,0) AS SumProjectTotal
|
||
FROM dbo.CQMS_MonthReportItem item
|
||
LEFT JOIN dbo.CQMS_MonthReport r ON r.MonthReportId = item.MonthReportId
|
||
LEFT JOIN (SELECT a.ReportItem,ISNULL(SUM(ISNULL(a.ProjectTotal,0)),0) AS SumProjectTotal
|
||
FROM dbo.CQMS_MonthReportItem a
|
||
LEFT JOIN dbo.CQMS_MonthReport b ON b.MonthReportId = a.MonthReportId
|
||
WHERE b.ProjectId=@ProjectId AND b.Years < " + this.tvControlItem.SelectedNode.Text + @"
|
||
GROUP BY a.ReportItem )t ON t.ReportItem = item.ReportItem
|
||
WHERE r.ProjectId=@ProjectId AND r.MonthReportId=@MonthReportId
|
||
ORDER BY item.Sort";
|
||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||
listStr.Add(new SqlParameter("@ProjectId", CurrUser.LoginProjectId));
|
||
listStr.Add(new SqlParameter("@MonthReportId", tvControlItem.SelectedNodeID));
|
||
|
||
SqlParameter[] parameter = listStr.ToArray();
|
||
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||
// 2.获取当前分页数据
|
||
//var table = this.GetPagedDataTable(Grid1, tb1);
|
||
|
||
Grid1.DataSource = dt;
|
||
Grid1.DataBind();
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
protected void Grid1_RowDataBound(object sender, GridRowEventArgs e)
|
||
{
|
||
DataRowView row = e.DataItem as DataRowView;
|
||
|
||
|
||
if (string.IsNullOrEmpty(row["Unit"].ToString()))
|
||
{
|
||
foreach (GridColumn column in Grid1.Columns)
|
||
{
|
||
e.CellCssClasses[column.ColumnIndex] = "f-grid-cell-uneditable";
|
||
}
|
||
}
|
||
int cm = GetCurMonth();
|
||
|
||
for (int i = 1; i <= 12; i++)
|
||
{
|
||
if (i != cm)
|
||
{
|
||
//string monthC = "Month" + i.ToString();
|
||
//RenderField month = Grid1.FindColumn(monthC) as RenderField;
|
||
//e.CellCssClasses[month.ColumnIndex] = "f-grid-cell-uneditable";
|
||
}
|
||
else
|
||
{
|
||
string monthC = "Month" + i.ToString();
|
||
RenderField month = Grid1.FindColumn(monthC) as RenderField;
|
||
RenderField yearTotal = Grid1.FindColumn("YearTotal") as RenderField;
|
||
RenderField projectTotal = Grid1.FindColumn("ProjectTotal") as RenderField;
|
||
RenderField sumProjectTotal = Grid1.FindColumn("SumProjectTotal") as RenderField;
|
||
|
||
if (e.RowIndex == 0) // 成达公司现场人数
|
||
{
|
||
var person = from x in Funs.DB.SitePerson_Person
|
||
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
|
||
where x.ProjectId == this.CurrUser.LoginProjectId && y.UnitCode == "CHENGDA"
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = person.Count();
|
||
}
|
||
}
|
||
if (e.RowIndex == 1) // 成达公司HSE管理人数
|
||
{
|
||
var person = from x in Funs.DB.SitePerson_Person
|
||
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
|
||
join z in Funs.DB.Base_WorkPost on x.WorkPostId equals z.WorkPostId
|
||
where x.ProjectId == this.CurrUser.LoginProjectId && y.UnitCode == "CHENGDA"
|
||
&& z.WorkPostName.Contains("安全")
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = person.Count();
|
||
}
|
||
}
|
||
if (e.RowIndex == 2) // 分包商现场人数
|
||
{
|
||
var person = from x in Funs.DB.SitePerson_Person
|
||
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
|
||
where x.ProjectId == this.CurrUser.LoginProjectId && y.UnitCode != "CHENGDA"
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = person.Count();
|
||
}
|
||
}
|
||
if (e.RowIndex == 3) // 分包商HSE管理人数
|
||
{
|
||
var person = from x in Funs.DB.SitePerson_Person
|
||
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
|
||
join z in Funs.DB.Base_WorkPost on x.WorkPostId equals z.WorkPostId
|
||
where x.ProjectId == this.CurrUser.LoginProjectId && y.UnitCode != "CHENGDA"
|
||
&& z.WorkPostName.Contains("安全")
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = person.Count();
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 4 || e.RowIndex == 5) // 人工时数,安全生产人工时数
|
||
{
|
||
DateTime? sDate = Convert.ToDateTime(tvControlItem.SelectedNode.Text + "-" + i.ToString());
|
||
var dayReports = BLL.SitePerson_MonthReportService.getMonthReports(this.CurrUser.LoginProjectId, sDate);
|
||
if (e.Values[month.ColumnIndex].ToString() == "" && dayReports.Count() > 0)
|
||
{
|
||
e.Values[month.ColumnIndex] = dayReports.First().DayWorkTime;
|
||
}
|
||
else if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = 0;
|
||
}
|
||
}
|
||
|
||
DateTime startDate = Convert.ToDateTime(tvControlItem.SelectedNode.Text + "-" + i.ToString() + "-01");
|
||
if (e.RowIndex == 6) // HSE记录事故数量
|
||
{
|
||
var accident = from x in Funs.DB.Accident_AccidentPersonRecord
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.AccidentDate >= startDate && x.AccidentDate < startDate.AddMonths(1)
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = accident.Count();
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 7) // 死亡
|
||
{
|
||
var accident = from x in Funs.DB.Accident_AccidentPersonRecord
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.AccidentDate >= startDate && x.AccidentDate < startDate.AddMonths(1)
|
||
&& x.Injury == "1"
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = accident.Count();
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 8) // 重伤
|
||
{
|
||
var accident = from x in Funs.DB.Accident_AccidentPersonRecord
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.AccidentDate >= startDate && x.AccidentDate < startDate.AddMonths(1)
|
||
&& x.Injury == "2"
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = accident.Count();
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 9) // 轻伤
|
||
{
|
||
var accident = from x in Funs.DB.Accident_AccidentPersonRecord
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.AccidentDate >= startDate && x.AccidentDate < startDate.AddMonths(1)
|
||
&& x.Injury == "3"
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = accident.Count();
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 10) // 未遂事故
|
||
{
|
||
var accident = from x in Funs.DB.Accident_AccidentHandle
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.AccidentDate >= startDate && x.AccidentDate < startDate.AddMonths(1)
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = accident.Count();
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 11) // 现场环境事故
|
||
{
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = "0";
|
||
}
|
||
}
|
||
if (e.RowIndex == 12) // 现场发生设备材料盗窃案件
|
||
{
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = "0";
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 13) // HSE周会
|
||
{
|
||
var weekMeeting = from x in Funs.DB.Meeting_WeekMeeting
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.WeekMeetingDate >= startDate && x.WeekMeetingDate < startDate.AddMonths(1)
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = weekMeeting.Count();
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 14) // HSE委员会会议
|
||
{
|
||
var weekMeeting = from x in Funs.DB.Meeting_AttendMeeting
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.AttendMeetingDate >= startDate && x.AttendMeetingDate < startDate.AddMonths(1)
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = weekMeeting.Count();
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 15) // 施工现场HSE联检
|
||
{
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = "0";
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 16) // 发布HSE整改通知书
|
||
{
|
||
var check = from x in Funs.DB.Check_RectifyNotices
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.CheckedDate >= startDate && x.CheckedDate < startDate.AddMonths(1)
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = check.Count();
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 17) // 关闭HSE整改通知书
|
||
{
|
||
var check = from x in Funs.DB.Check_RectifyNotices
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.CompleteDate >= startDate && x.CompleteDate < startDate.AddMonths(1)
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = check.Count();
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 18) // 发布HSE处罚书
|
||
{
|
||
var check = from x in Funs.DB.Check_PunishNotice
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.PunishNoticeDate >= startDate && x.PunishNoticeDate < startDate.AddMonths(1)
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = check.Count();
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 19) // 发布应急预案
|
||
{
|
||
var em = from x in Funs.DB.Emergency_EmergencyList
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.CompileDate >= startDate && x.CompileDate < startDate.AddMonths(1)
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
e.Values[month.ColumnIndex] = em.Count();
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 20) // 人员培训
|
||
{
|
||
var edu = from x in Funs.DB.EduTrain_TrainRecord
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.TrainStartDate >= startDate && x.TrainStartDate < startDate.AddMonths(1)
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
if (edu.Count() > 0)
|
||
{
|
||
e.Values[month.ColumnIndex] = edu.Sum(x => x.TrainPersonNum);
|
||
}
|
||
else
|
||
{
|
||
e.Values[month.ColumnIndex] = 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
if (e.RowIndex == 21) // 设备HSE检验
|
||
{
|
||
var equ = from x in Funs.DB.License_EquipmentSafetyList
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
&& x.CompileDate >= startDate && x.CompileDate < startDate.AddMonths(1)
|
||
select x;
|
||
if (e.Values[month.ColumnIndex].ToString() == "")
|
||
{
|
||
if (equ.Count() > 0)
|
||
{
|
||
e.Values[month.ColumnIndex] = equ.Sum(x => x.EquipmentSafetyListCount);
|
||
}
|
||
else
|
||
{
|
||
e.Values[month.ColumnIndex] = 0;
|
||
}
|
||
}
|
||
}
|
||
|
||
RenderField month1 = Grid1.FindColumn("Month1") as RenderField;
|
||
RenderField month2 = Grid1.FindColumn("Month2") as RenderField;
|
||
RenderField month3 = Grid1.FindColumn("Month3") as RenderField;
|
||
RenderField month4 = Grid1.FindColumn("Month4") as RenderField;
|
||
RenderField month5 = Grid1.FindColumn("Month5") as RenderField;
|
||
RenderField month6 = Grid1.FindColumn("Month6") as RenderField;
|
||
RenderField month7 = Grid1.FindColumn("Month7") as RenderField;
|
||
RenderField month8 = Grid1.FindColumn("Month8") as RenderField;
|
||
RenderField month9 = Grid1.FindColumn("Month9") as RenderField;
|
||
RenderField month10 = Grid1.FindColumn("Month10") as RenderField;
|
||
RenderField month11 = Grid1.FindColumn("Month11") as RenderField;
|
||
RenderField month12 = Grid1.FindColumn("Month12") as RenderField;
|
||
// 年度总计
|
||
e.Values[yearTotal.ColumnIndex] = Convert.ToInt32(e.Values[month1.ColumnIndex].ToString() != "" ? e.Values[month1.ColumnIndex] : 0)
|
||
+ Convert.ToInt32(e.Values[month2.ColumnIndex].ToString() != "" ? e.Values[month2.ColumnIndex] : 0)
|
||
+ Convert.ToInt32(e.Values[month3.ColumnIndex].ToString() != "" ? e.Values[month3.ColumnIndex] : 0)
|
||
+ Convert.ToInt32(e.Values[month4.ColumnIndex].ToString() != "" ? e.Values[month4.ColumnIndex] : 0)
|
||
+ Convert.ToInt32(e.Values[month5.ColumnIndex].ToString() != "" ? e.Values[month5.ColumnIndex] : 0)
|
||
+ Convert.ToInt32(e.Values[month6.ColumnIndex].ToString() != "" ? e.Values[month6.ColumnIndex] : 0)
|
||
+ Convert.ToInt32(e.Values[month7.ColumnIndex].ToString() != "" ? e.Values[month7.ColumnIndex] : 0)
|
||
+ Convert.ToInt32(e.Values[month8.ColumnIndex].ToString() != "" ? e.Values[month8.ColumnIndex] : 0)
|
||
+ Convert.ToInt32(e.Values[month9.ColumnIndex].ToString() != "" ? e.Values[month9.ColumnIndex] : 0)
|
||
+ Convert.ToInt32(e.Values[month10.ColumnIndex].ToString() != "" ? e.Values[month10.ColumnIndex] : 0)
|
||
+ Convert.ToInt32(e.Values[month11.ColumnIndex].ToString() != "" ? e.Values[month11.ColumnIndex] : 0)
|
||
+ Convert.ToInt32(e.Values[month12.ColumnIndex].ToString() != "" ? e.Values[month12.ColumnIndex] : 0);
|
||
// 项目总计
|
||
e.Values[projectTotal.ColumnIndex] = Convert.ToInt32(e.Values[yearTotal.ColumnIndex]) + Convert.ToInt32(e.Values[sumProjectTotal.ColumnIndex]);
|
||
|
||
}
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 查询
|
||
/// <summary>
|
||
/// 查询
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void TextBox_TextChanged(object sender, EventArgs e)
|
||
{
|
||
this.BindGrid();
|
||
}
|
||
#endregion
|
||
|
||
#region 新建报表
|
||
/// <summary>
|
||
/// 新增
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnNew_Click(object sender, EventArgs e)
|
||
{
|
||
Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
|
||
if (project.StartDate != null)
|
||
{
|
||
if (!string.IsNullOrEmpty(this.txtReportYear.Text.Trim()))
|
||
{
|
||
if (this.txtReportYear.Text.Trim() == DateTime.Now.Year.ToString())
|
||
{
|
||
int? years = Convert.ToInt32(this.txtReportYear.Text.Trim());
|
||
var report = Funs.DB.CQMS_MonthReport.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.Years == years);
|
||
|
||
if (report == null)
|
||
{
|
||
Model.CQMS_MonthReport newReport = new Model.CQMS_MonthReport();
|
||
newReport.MonthReportId = SQLHelper.GetNewID(typeof(Model.CQMS_MonthReport));
|
||
newReport.ProjectId = this.CurrUser.LoginProjectId;
|
||
newReport.Years = years;
|
||
Funs.DB.CQMS_MonthReport.InsertOnSubmit(newReport);
|
||
Funs.DB.SubmitChanges();
|
||
|
||
List<Model.CQMS_MonthReportItem> ItemList = new List<Model.CQMS_MonthReportItem>();
|
||
for (int i = 0; i < 28; i++)
|
||
{
|
||
Model.CQMS_MonthReportItem item = new Model.CQMS_MonthReportItem();
|
||
item.MonthReportItemId = SQLHelper.GetNewID(typeof(Model.CQMS_MonthReportItem));
|
||
item.MonthReportId = newReport.MonthReportId;
|
||
if (i == 0)
|
||
{
|
||
item.ReportItem = "发布施工质量管理文件";
|
||
item.Unit = "份";
|
||
}
|
||
if (i == 1)
|
||
{
|
||
item.ReportItem = "组织设计交底与图纸会审";
|
||
item.Unit = "次";
|
||
}
|
||
if (i == 2)
|
||
{
|
||
item.ReportItem = "审批施工组织设计或施工方案";
|
||
item.Unit = "份";
|
||
}
|
||
if (i == 3)
|
||
{
|
||
item.ReportItem = "施工质量联合检查(例行检测+专项检测)";
|
||
item.Unit = "次";
|
||
}
|
||
if (i == 4)
|
||
{
|
||
item.ReportItem = "施工质量专题会议";
|
||
item.Unit = "次";
|
||
}
|
||
if (i == 5)
|
||
{
|
||
item.ReportItem = "不符合项报告(NCR)";
|
||
item.Unit = "";
|
||
}
|
||
if (i == 6)
|
||
{
|
||
item.ReportItem = "发布";
|
||
item.Unit = "份";
|
||
}
|
||
if (i == 7)
|
||
{
|
||
item.ReportItem = "关闭";
|
||
item.Unit = "份";
|
||
}
|
||
|
||
if (i == 8)
|
||
{
|
||
item.ReportItem = "质量整改与处罚";
|
||
item.Unit = "";
|
||
}
|
||
if (i == 9)
|
||
{
|
||
item.ReportItem = "发出质量整改通知单";
|
||
item.Unit = "份";
|
||
}
|
||
if (i == 10)
|
||
{
|
||
item.ReportItem = "发出质量处罚通知单";
|
||
item.Unit = "份";
|
||
}
|
||
if (i == 11)
|
||
{
|
||
item.ReportItem = "检验批及合格率";
|
||
item.Unit = "";
|
||
}
|
||
if (i == 12)
|
||
{
|
||
item.ReportItem = "检验批次数";
|
||
item.Unit = "批";
|
||
}
|
||
if (i == 13)
|
||
{
|
||
item.ReportItem = "合格率";
|
||
item.Unit = "%";
|
||
}
|
||
if (i == 14)
|
||
{
|
||
item.ReportItem = "无损检测(RT)";
|
||
item.Unit = "";
|
||
}
|
||
if (i == 15)
|
||
{
|
||
item.ReportItem = "一次拍片数";
|
||
item.Unit = "张";
|
||
}
|
||
if (i == 16)
|
||
{
|
||
item.ReportItem = "一次合格数";
|
||
item.Unit = "张";
|
||
}
|
||
if (i == 17)
|
||
{
|
||
item.ReportItem = "一次合格率";
|
||
item.Unit = "%";
|
||
}
|
||
if (i == 18)
|
||
{
|
||
item.ReportItem = "质量事故";
|
||
item.Unit = "";
|
||
}
|
||
if (i == 19)
|
||
{
|
||
item.ReportItem = "重大质量事故";
|
||
item.Unit = "次";
|
||
}
|
||
if (i == 20)
|
||
{
|
||
item.ReportItem = "较大质量事故";
|
||
item.Unit = "次";
|
||
}
|
||
if (i == 21)
|
||
{
|
||
item.ReportItem = "一般质量事故";
|
||
item.Unit = "次";
|
||
}
|
||
if (i == 22)
|
||
{
|
||
item.ReportItem = "监理单位下发质量问题通知单";
|
||
item.Unit = "";
|
||
}
|
||
if (i == 23)
|
||
{
|
||
item.ReportItem = "收到";
|
||
item.Unit = "份";
|
||
}
|
||
if (i == 24)
|
||
{
|
||
item.ReportItem = "关闭";
|
||
item.Unit = "份";
|
||
}
|
||
if (i == 25)
|
||
{
|
||
item.ReportItem = "业主方/业主管理公司下发质量问题通知单";
|
||
item.Unit = "";
|
||
}
|
||
if (i == 26)
|
||
{
|
||
item.ReportItem = "收到";
|
||
item.Unit = "份";
|
||
}
|
||
if (i == 27)
|
||
{
|
||
item.ReportItem = "关闭";
|
||
item.Unit = "份";
|
||
}
|
||
item.Sort = i + 1;
|
||
ItemList.Add(item);
|
||
}
|
||
|
||
Funs.DB.CQMS_MonthReportItem.InsertAllOnSubmit(ItemList);
|
||
Funs.DB.SubmitChanges();
|
||
this.InitTreeMenu();
|
||
Alert.ShowInTop("月报创建成功!", MessageBoxIcon.Success);
|
||
}
|
||
else
|
||
{
|
||
Alert.ShowInTop("月报已创建,请选择左边树的年进行编辑!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
BindGrid();
|
||
}
|
||
else
|
||
{
|
||
Alert.ShowInTop("只能新建当年的月报!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
Alert.ShowInTop("请选择年度!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
Alert.ShowInTop("请先设置项目开工时间!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
protected void btnSave_Click(object sender, EventArgs e)
|
||
{
|
||
int cm = GetCurMonth();
|
||
JArray editReport = Grid1.GetMergedData();
|
||
if (editReport.Count > 0)
|
||
{
|
||
if (true || cm != 0)
|
||
{
|
||
for (int i = 0; i < editReport.Count; i++)
|
||
{
|
||
JObject objects = (JObject)editReport[i];
|
||
string monthReportItemId = objects["values"]["MonthReportItemId"].ToString();
|
||
Model.CQMS_MonthReportItem item = Funs.DB.CQMS_MonthReportItem.FirstOrDefault(x => x.MonthReportItemId == monthReportItemId);
|
||
// if (cm == 1)
|
||
{
|
||
item.Month1 = Funs.GetNewDecimal(objects["values"]["Month1"].ToString());
|
||
}
|
||
// if (cm == 2)
|
||
{
|
||
item.Month2 = Funs.GetNewDecimal(objects["values"]["Month2"].ToString());
|
||
}
|
||
// if (cm == 3)
|
||
{
|
||
item.Month3 = Funs.GetNewDecimal(objects["values"]["Month3"].ToString());
|
||
}
|
||
// if (cm == 4)
|
||
{
|
||
item.Month4 = Funs.GetNewDecimal(objects["values"]["Month4"].ToString());
|
||
}
|
||
// if (cm == 5)
|
||
{
|
||
item.Month5 = Funs.GetNewDecimal(objects["values"]["Month5"].ToString());
|
||
}
|
||
// if (cm == 6)
|
||
{
|
||
item.Month6 = Funs.GetNewDecimal(objects["values"]["Month6"].ToString());
|
||
}
|
||
//if (cm == 7)
|
||
{
|
||
item.Month7 = Funs.GetNewDecimal(objects["values"]["Month7"].ToString());
|
||
}
|
||
// if (cm == 8)
|
||
{
|
||
item.Month8 = Funs.GetNewDecimal(objects["values"]["Month8"].ToString());
|
||
}
|
||
//if (cm == 9)
|
||
{
|
||
item.Month9 = Funs.GetNewDecimal(objects["values"]["Month9"].ToString());
|
||
}
|
||
// if (cm == 10)
|
||
{
|
||
item.Month10 = Funs.GetNewDecimal(objects["values"]["Month10"].ToString());
|
||
}
|
||
//if (cm == 11)
|
||
{
|
||
item.Month11 = Funs.GetNewDecimal(objects["values"]["Month11"].ToString());
|
||
}
|
||
//if (cm == 12)
|
||
{
|
||
item.Month12 = Funs.GetNewDecimal(objects["values"]["Month12"].ToString());
|
||
}
|
||
item.YearTotal = Funs.GetNewDecimal(objects["values"]["YearTotal"].ToString());
|
||
item.ProjectTotal = Funs.GetNewDecimal(objects["values"]["ProjectTotal"].ToString());
|
||
Funs.DB.SubmitChanges();
|
||
this.ShowNotify("保存成功");
|
||
}
|
||
}
|
||
else
|
||
{
|
||
Alert.ShowInTop("月报的填报日期为每月的26号开始到下月的4号截止!", MessageBoxIcon.Warning);
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取可编辑的月份
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
private int GetCurMonth()
|
||
{
|
||
DateTime nowDate = DateTime.Now;
|
||
// 本月
|
||
int m = nowDate.Month;
|
||
// 上月
|
||
int lm = nowDate.AddMonths(-1).Month;
|
||
// 当月第几天
|
||
int cd = nowDate.Day;
|
||
// 下月的第几天
|
||
int nd = nowDate.AddMonths(1).Day;
|
||
|
||
int cm = 0;
|
||
if (cd >= 26)
|
||
{
|
||
cm = m;
|
||
}
|
||
if (nd <= 20)
|
||
{
|
||
cm = lm;
|
||
}
|
||
return cm;
|
||
}
|
||
|
||
#region 获取按钮权限
|
||
/// <summary>
|
||
/// 获取按钮权限
|
||
/// </summary>
|
||
/// <param name="button"></param>
|
||
/// <returns></returns>
|
||
private void GetButtonPower()
|
||
{
|
||
if (Request.Params["value"] == "0")
|
||
{
|
||
return;
|
||
}
|
||
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.CQMonthReportMenuId);
|
||
if (buttonList.Count() > 0)
|
||
{
|
||
if (buttonList.Contains(BLL.Const.BtnAdd))
|
||
{
|
||
this.btnNew.Hidden = false;
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 导出按钮
|
||
/// 导出按钮
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
protected void btnOut_Click(object sender, EventArgs e)
|
||
{
|
||
string strSql = @"SELECT item.* ,ISNULL(t.SumProjectTotal,0) AS SumProjectTotal
|
||
FROM dbo.CQMS_MonthReportItem item
|
||
LEFT JOIN dbo.CQMS_MonthReport r ON r.MonthReportId = item.MonthReportId
|
||
LEFT JOIN (SELECT a.ReportItem,ISNULL(SUM(ISNULL(a.ProjectTotal,0)),0) AS SumProjectTotal
|
||
FROM dbo.CQMS_MonthReportItem a
|
||
LEFT JOIN dbo.CQMS_MonthReport b ON b.MonthReportId = a.MonthReportId
|
||
WHERE b.ProjectId=@ProjectId AND b.Years < " + this.tvControlItem.SelectedNode.Text + @"
|
||
GROUP BY a.ReportItem )t ON t.ReportItem = item.ReportItem
|
||
WHERE r.ProjectId=@ProjectId AND r.MonthReportId=@MonthReportId
|
||
ORDER BY item.Sort";
|
||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||
listStr.Add(new SqlParameter("@ProjectId", CurrUser.LoginProjectId));
|
||
listStr.Add(new SqlParameter("@MonthReportId", tvControlItem.SelectedNodeID));
|
||
|
||
SqlParameter[] parameter = listStr.ToArray();
|
||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||
|
||
string rootPath = Funs.localRoot + Const.ExcelUrl;
|
||
|
||
//模板文件
|
||
string TempletFileName = Funs.localRoot + "File/Excel/CQMS/质量月报导出模板.xlsx";
|
||
//导出文件
|
||
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
|
||
if (!Directory.Exists(filePath))
|
||
{
|
||
Directory.CreateDirectory(filePath);
|
||
}
|
||
string ReportFileName = filePath + "out.xlsx";
|
||
|
||
FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read);
|
||
XSSFWorkbook hssfworkbook = new XSSFWorkbook(file);
|
||
|
||
XSSFSheet recordSheet = (XSSFSheet)hssfworkbook.GetSheet("质量月报");
|
||
|
||
for (int i = 0; i < tb.Rows.Count; i++)
|
||
{
|
||
try
|
||
{
|
||
if (!string.IsNullOrEmpty(tb.Rows[i]["Unit"].ToString()))
|
||
{
|
||
var dMonth1 = Funs.GetNewDecimal(tb.Rows[i]["Month1"].ToString());
|
||
var dMonth2 = Funs.GetNewDecimal(tb.Rows[i]["Month2"].ToString());
|
||
var dMonth3 = Funs.GetNewDecimal(tb.Rows[i]["Month3"].ToString());
|
||
var dMonth4 = Funs.GetNewDecimal(tb.Rows[i]["Month4"].ToString());
|
||
var dMonth5 = Funs.GetNewDecimal(tb.Rows[i]["Month5"].ToString());
|
||
var dMonth6 = Funs.GetNewDecimal(tb.Rows[i]["Month6"].ToString());
|
||
var dMonth7 = Funs.GetNewDecimal(tb.Rows[i]["Month7"].ToString());
|
||
var dMonth8 = Funs.GetNewDecimal(tb.Rows[i]["Month8"].ToString());
|
||
var dMonth9 = Funs.GetNewDecimal(tb.Rows[i]["Month9"].ToString());
|
||
var dMonth10 = Funs.GetNewDecimal(tb.Rows[i]["Month10"].ToString());
|
||
var dMonth11 = Funs.GetNewDecimal(tb.Rows[i]["Month11"].ToString());
|
||
var dMonth12 = Funs.GetNewDecimal(tb.Rows[i]["Month12"].ToString());
|
||
var dYearTotal = Funs.GetNewDecimal(tb.Rows[i]["YearTotal"].ToString());
|
||
var dProjectTotal = Funs.GetNewDecimal(tb.Rows[i]["ProjectTotal"].ToString());
|
||
if (dMonth1.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(3).SetCellValue(dMonth1.Value.ToString("#.##"));
|
||
}
|
||
if (dMonth2.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(4).SetCellValue(dMonth2.Value.ToString("#.##"));
|
||
}
|
||
if (dMonth3.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(5).SetCellValue(dMonth3.Value.ToString("#.##"));
|
||
}
|
||
if (dMonth4.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(6).SetCellValue(dMonth4.Value.ToString("#.##"));
|
||
}
|
||
if (dMonth5.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(7).SetCellValue(dMonth5.Value.ToString("#.##"));
|
||
}
|
||
if (dMonth6.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(8).SetCellValue(dMonth6.Value.ToString("#.##"));
|
||
}
|
||
if (dMonth7.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(9).SetCellValue(dMonth7.Value.ToString("#.##"));
|
||
}
|
||
if (dMonth8.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(10).SetCellValue(dMonth8.Value.ToString("#.##"));
|
||
}
|
||
if (dMonth9.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(11).SetCellValue(dMonth9.Value.ToString("#.##"));
|
||
}
|
||
if (dMonth10.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(12).SetCellValue(dMonth10.Value.ToString("#.##"));
|
||
}
|
||
if (dMonth11.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(13).SetCellValue(dMonth11.Value.ToString("#.##"));
|
||
}
|
||
if (dMonth12.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(14).SetCellValue(dMonth12.Value.ToString("#.##"));
|
||
}
|
||
if (dYearTotal.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(15).SetCellValue(dYearTotal.Value.ToString("#.##"));
|
||
}
|
||
if (dProjectTotal.HasValue)
|
||
{
|
||
recordSheet.GetRow(3 + i).GetCell(16).SetCellValue(dProjectTotal.Value.ToString("#.##"));
|
||
}
|
||
}
|
||
}
|
||
catch (Exception)
|
||
{
|
||
|
||
}
|
||
|
||
}
|
||
|
||
using (FileStream filess = File.OpenWrite(ReportFileName))
|
||
{
|
||
hssfworkbook.Write(filess);
|
||
}
|
||
//PageContext.RegisterStartupScript(Window5.GetShowReference(String.Format("../../ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId={3}", BLL.Const.HJGL_JointInfoReportId, isoId, varValue, this.CurrUser.LoginProjectId)));
|
||
|
||
FileInfo filet = new FileInfo(ReportFileName);
|
||
Response.Clear();
|
||
Response.Charset = "GB2312";
|
||
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
|
||
Response.AddHeader("Content-Disposition", "attachment; filename=质量月报_" + Server.UrlEncode(DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx"));
|
||
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
|
||
Response.AddHeader("Content-Length", filet.Length.ToString());
|
||
// 指定返回的是一个不能被客户端读取的流,必须被下载
|
||
Response.ContentType = "application/ms-excel";
|
||
// 把文件流发送到客户端
|
||
Response.WriteFile(filet.FullName);
|
||
// 停止页面的执行
|
||
Response.End();
|
||
|
||
|
||
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
|
||
#endregion
|
||
|
||
|
||
}
|
||
} |