项目主数据

This commit is contained in:
geh
2026-06-11 09:52:30 +08:00
parent eb3003bc21
commit 716c838be0
29 changed files with 2957 additions and 212 deletions
@@ -1,13 +1,9 @@
using BLL;
using FineUIPro.Web.BaseInfo;
using FineUIPro.Web.DataShow;
using Model;
using Model.Customization;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using AspNet = System.Web.UI.WebControls;
@@ -87,7 +83,7 @@ namespace FineUIPro.Web.ProjectData
Relate = pro != null && pro.MasterSysId != null ? 1 : 2,
RelateName = pro != null && pro.MasterSysId != null ? "已关联" : "未关联",
UseId = use != null ? use.Id : null,
//Use = use == null ? "" : (use != null && use.Is_use == true) ? "已使用" : "未使用",
//Use = use == null ? "" : (use != null && use.Is_use == true) ? "已使用" : "未使用",
ReasonType = use != null ? use.ReasonType : "",
Reason = use != null ? use.Reason : "",
//Situation = use != null ? use.Situation : "",
@@ -281,14 +277,14 @@ namespace FineUIPro.Web.ProjectData
var obj = Grid1.SelectedRow.Values;
string num = obj[0].ToString();
string pro_name = obj[2].ToString();
string pro_code = obj[3].ToString();
string startdate = obj[7].ToString();
string prostatus = obj[9].ToString();
string projectName = obj[11].ToString();
string projectCode = obj[12].ToString();
string startDate = obj[13].ToString();
string lblState = (Grid1.SelectedRow.FindControl("lblState") as AspNet.Label).Text;
string pro_name = obj[2].ToString().Trim();
string pro_code = obj[3].ToString().Trim();
string startdate = obj[7].ToString().Trim();
string prostatus = obj[9].ToString().Trim();
string projectName = obj[11].ToString().Trim();
string projectCode = obj[12].ToString().Trim();
string startDate = obj[13].ToString().Trim();
string lblState = (Grid1.SelectedRow.FindControl("lblState") as AspNet.Label).Text.Trim();
if (!string.IsNullOrWhiteSpace(pro_id))
{
@@ -304,7 +300,7 @@ namespace FineUIPro.Web.ProjectData
model.Id = useId;
model.Pro_id = pro_id;
model.Pro_code = pro_code;
model.Pro_name = pro_name;
model.Pro_name = pro_name.Replace("·", ".").Replace("×", "/").Replace("&", "").Replace("#", "").Replace(";", "");
model.Is_relate = !string.IsNullOrWhiteSpace(projectId);
model.Is_use = !string.IsNullOrWhiteSpace(projectId);
model.Projectid = projectId;
@@ -417,37 +413,63 @@ namespace FineUIPro.Web.ProjectData
}
var dateNow = DateTime.Now.Date;//现在
var dateMonthAgo = dateNow.AddMonths(-1);//一个月
var dateDays = dateNow.AddDays(-3);//三天
var dateWeek = dateNow.AddDays(-7);//一周前
var dateMonth = dateNow.AddMonths(-1);//一个月前
var dateThreeMonth = dateNow.AddMonths(-3);//三个月前
var datas = (from x in db.Project_HSSEData_HSSE
where x.ReportDate == dateNow || x.ReportDate == dateMonthAgo
where x.ReportDate == dateNow || x.ReportDate == dateDays || x.ReportDate == dateWeek || x.ReportDate == dateMonth || x.ReportDate == dateThreeMonth
select new QHSEProjectHSSEData
{
ProjectId = x.ProjectId,
ReportDate = x.ReportDate,
DataMetricsSum = (x.JoinConstructionPersonNum ?? 0) + (x.GeneralClosedNum ?? 0) + (x.GeneralNotClosedNum ?? 0) + (x.SafeWorkingHour ?? 0)
//DataMetricsSum = (x.JoinConstructionPersonNum ?? 0) + (x.GeneralClosedNum ?? 0) + (x.GeneralNotClosedNum ?? 0) + (x.SafeWorkingHour ?? 0)
DataMetricsSum = (x.JoinConstructionPersonNum ?? 0) + (x.GeneralClosedNum ?? 0) + (x.GeneralNotClosedNum ?? 0) + (x.SafeWorkingHour ?? 0) + (x.LicensesNum ?? 0) + (x.SpecialTrainNum ?? 0)
+ (x.SpecialTrainNum ?? 0) + (x.SpecialOperationTrainNum ?? 0) + (x.ProjectSafetyLeadingGroupMeetingNum ?? 0) + (x.ProjectSafetyMeetingNum ?? 0)
+ (x.GeneralRiskNum ?? 0) + (x.LowRiskNum ?? 0) + (x.MediumRiskNum ?? 0) + (x.HighRiskNum ?? 0)
+ (x.TrainPersonNum ?? 0) + (x.SuperTrainPersonNum ?? 0) + (x.OperativesNum ?? 0) + (x.SuperOperativesNum ?? 0) + (x.ProjectDrillPersonNum ?? 0)
}).ToList();
foreach (var pro in getProjects)
{
string result = "正常";
string threeMonResult = "";
string monResult = "";
string dayResult = "";
string weekResult = "";
var nowData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateNow).FirstOrDefault();
var monthAgoData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateMonthAgo).FirstOrDefault();
if (nowData != null && monthAgoData != null)
var daysData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateDays).FirstOrDefault();
var weekData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateWeek).FirstOrDefault();
var monthData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateMonth).FirstOrDefault();
var threeMonthData = datas.Where(x => x.ProjectId == pro.ProjectId && x.ReportDate == dateThreeMonth).FirstOrDefault();
if (nowData != null && daysData != null)
{//两个时间点都有指标数据
if (nowData.DataMetricsSum == monthAgoData.DataMetricsSum)
if (nowData.DataMetricsSum == daysData.DataMetricsSum)
{
result = "异常";
dayResult = "数据无变化";
}
}
if (nowData != null && weekData != null)
{//两个时间点都有指标数据
if (nowData.DataMetricsSum == weekData.DataMetricsSum)
{
weekResult = "数据无变化";
}
}
if (nowData != null && monthData != null)
{//两个时间点都有指标数据
if (nowData.DataMetricsSum == monthData.DataMetricsSum)
{
monResult = "数据无变化";
}
}
if (nowData != null && threeMonthData != null)
{//两个时间点都有指标数据
if (nowData.DataMetricsSum == threeMonthData.DataMetricsSum)
{
threeMonResult = "数据无变化";
}
}
//else if (nowData != null)
//{//现在有指标数据,一个月前没有
// result = "正常";
//}
//else if (monthAgoData != null)
//{//现在没有指标数据,一个月前有
// result = "正常";
//}
list.Add(new QHSEProjectDataInfo
{
@@ -458,7 +480,10 @@ namespace FineUIPro.Web.ProjectData
StartDate = pro.StartDate,
EndDate = pro.EndDate,
ProjectState = pro.ProjectState,
Usage = result
UsageDays = dayResult,
UsageWeek = weekResult,
UsageMonth = monResult,
UsageThreeMonth = threeMonResult,
});
}
@@ -468,19 +493,39 @@ namespace FineUIPro.Web.ProjectData
Grid2.DataSource = table;
Grid2.DataBind();
int exNum = 0;
int exDayNum = 0;
int exWeekNum = 0;
int exMonNum = 0;
int exThreeMonNum = 0;
int allQhseNum = 0;
//int allQhseNum = list.Count();
try
{
for (int i = 0; i < Grid2.Rows.Count; i++)
{
allQhseNum++;
var usage = table.Rows[i]["Usage"].ToString().Trim();
if (usage == "异常")
var usageDays = table.Rows[i]["UsageDays"].ToString().Trim();
var usageWeek = table.Rows[i]["UsageWeek"].ToString().Trim();
var usageMonth = table.Rows[i]["UsageMonth"].ToString().Trim();
var usageThreeMonth = table.Rows[i]["UsageThreeMonth"].ToString().Trim();
if (usageDays == "数据无变化")
{
Grid2.Rows[i].RowCssClass = "Pause";
exNum++;
Grid2.Rows[i].RowCssClass = "DayPause";
exDayNum++;
}
if (usageWeek == "数据无变化")
{
Grid2.Rows[i].RowCssClass = "WeekPause";
exWeekNum++;
}
if (usageMonth == "数据无变化")
{
Grid2.Rows[i].RowCssClass = "MonthPause";
exMonNum++;
}
if (usageThreeMonth == "数据无变化")
{
Grid2.Rows[i].RowCssClass = "ThreeMonthPause";
exThreeMonNum++;
}
}
}
@@ -489,8 +534,12 @@ namespace FineUIPro.Web.ProjectData
JObject summary = new JObject();
summary.Add("tfNumber", "合计");
summary.Add("ProjectCode", allQhseNum);
summary.Add("Usage", $"异常:{exNum}");
summary.Add("Abbreviation", allQhseNum);
summary.Add("StartDate", "数据无变化");
summary.Add("UsageDays", exDayNum);
summary.Add("UsageWeek", exWeekNum);
summary.Add("UsageMonth", exMonNum);
summary.Add("UsageThreeMonth", exThreeMonNum);
Grid2.SummaryData = summary;
}