2022-12-20 17:45:42 +08:00
|
|
|
|
using FineUIPro;
|
|
|
|
|
using Microsoft.SqlServer.Dts.Runtime;
|
2023-09-26 15:20:47 +08:00
|
|
|
|
using Model;
|
2022-12-20 17:45:42 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace BLL
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
public static class Project_HSSEData_HiddenDangerDetailService
|
|
|
|
|
{
|
|
|
|
|
public static Model.SGGLDB db = Funs.DB;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 获取列表
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 记录数
|
|
|
|
|
/// </summary>
|
|
|
|
|
public static int count
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
set;
|
|
|
|
|
}
|
|
|
|
|
public static List<Model.Project_HSSEData_HiddenDangerDetail> GetProject_HSSEData_HiddenDangerDetailByModle(Model.Project_HSSEData_HiddenDangerDetail table)
|
|
|
|
|
{
|
|
|
|
|
var q = from x in db.Project_HSSEData_HiddenDangerDetail
|
|
|
|
|
where
|
|
|
|
|
(string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) &&
|
|
|
|
|
(string.IsNullOrEmpty(table.ProjectId) || x.Id.Contains(table.ProjectId)) &&
|
|
|
|
|
(string.IsNullOrEmpty(table.UnitId) || x.UnitId.Contains(table.UnitId)) &&
|
|
|
|
|
(string.IsNullOrEmpty(table.CollCropCode) || x.CollCropCode.Contains(table.CollCropCode)) &&
|
|
|
|
|
(string.IsNullOrEmpty(table.UnitName) || x.UnitName.Contains(table.UnitName)) &&
|
|
|
|
|
(string.IsNullOrEmpty(table.TypeName) || x.TypeName.Contains(table.TypeName))
|
|
|
|
|
select x
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
return q.ToList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// 获取分页列表
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="PageIndex">页码</param>
|
|
|
|
|
/// <param name="PageSize">每页数量</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static IEnumerable getListData(Model.Project_HSSEData_HiddenDangerDetail table, Grid Grid1)
|
|
|
|
|
{
|
|
|
|
|
var q = GetProject_HSSEData_HiddenDangerDetailByModle(table);
|
|
|
|
|
count = q.Count();
|
|
|
|
|
if (count == 0)
|
|
|
|
|
{
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
// q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
|
|
|
|
|
return from x in q
|
|
|
|
|
select new
|
|
|
|
|
{
|
|
|
|
|
x.Id,
|
|
|
|
|
x.ProjectId,
|
|
|
|
|
x.UnitId,
|
|
|
|
|
x.CollCropCode,
|
|
|
|
|
x.UnitName,
|
|
|
|
|
x.ReportDate,
|
|
|
|
|
x.TypeName,
|
|
|
|
|
x.TotalNum,
|
|
|
|
|
x.NeedRectifyNum,
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
public static Model.Project_HSSEData_HiddenDangerDetail GetModelById(string Id)
|
|
|
|
|
{
|
|
|
|
|
return db.Project_HSSEData_HiddenDangerDetail.FirstOrDefault(x => x.Id == Id);
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取项目该日期的隐患类别数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="reportDate"></param>
|
|
|
|
|
/// <param name="projectid"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static List<Model.Project_HSSEData_HiddenDangerDetail> GetProject_HSSEData_HiddenDangerDetailByDate(DateTime? reportDate, string projectid)
|
|
|
|
|
{
|
2023-09-26 15:20:47 +08:00
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
|
|
|
{
|
|
|
|
|
var q = from x in db.Project_HSSEData_HiddenDangerDetail
|
|
|
|
|
where x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0 && x.ProjectId == projectid
|
|
|
|
|
select x;
|
|
|
|
|
return q.ToList();
|
|
|
|
|
}
|
2022-12-20 17:45:42 +08:00
|
|
|
|
}
|
|
|
|
|
public static void AddProject_HSSEData_HiddenDangerDetail(Model.Project_HSSEData_HiddenDangerDetail newtable)
|
|
|
|
|
{
|
2023-09-26 15:20:47 +08:00
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
2022-12-20 17:45:42 +08:00
|
|
|
|
{
|
2023-09-26 15:20:47 +08:00
|
|
|
|
Model.Project_HSSEData_HiddenDangerDetail table = new Model.Project_HSSEData_HiddenDangerDetail
|
|
|
|
|
{
|
|
|
|
|
Id = newtable.Id,
|
|
|
|
|
ProjectId = newtable.ProjectId,
|
|
|
|
|
UnitId = newtable.UnitId,
|
|
|
|
|
CollCropCode = newtable.CollCropCode,
|
|
|
|
|
UnitName = newtable.UnitName,
|
|
|
|
|
ReportDate = newtable.ReportDate,
|
|
|
|
|
TypeName = newtable.TypeName,
|
|
|
|
|
TotalNum = newtable.TotalNum,
|
|
|
|
|
NeedRectifyNum = newtable.NeedRectifyNum,
|
|
|
|
|
};
|
|
|
|
|
db.Project_HSSEData_HiddenDangerDetail.InsertOnSubmit(table);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
2022-12-20 17:45:42 +08:00
|
|
|
|
}
|
2023-09-26 15:20:47 +08:00
|
|
|
|
public static void AddBulkProject_HSSEData_HiddenDangerDetails(List<Model.Project_HSSEData_HiddenDangerDetail> newtables)
|
|
|
|
|
{
|
2022-12-20 17:45:42 +08:00
|
|
|
|
|
2023-09-26 15:20:47 +08:00
|
|
|
|
db.Project_HSSEData_HiddenDangerDetail.InsertAllOnSubmit(newtables);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
2022-12-20 17:45:42 +08:00
|
|
|
|
public static void UpdateProject_HSSEData_HiddenDangerDetail(Model.Project_HSSEData_HiddenDangerDetail newtable)
|
|
|
|
|
{
|
2023-09-26 15:20:47 +08:00
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
2022-12-20 17:45:42 +08:00
|
|
|
|
{
|
2023-09-26 15:20:47 +08:00
|
|
|
|
|
|
|
|
|
Model.Project_HSSEData_HiddenDangerDetail table = db.Project_HSSEData_HiddenDangerDetail.FirstOrDefault(x => x.Id == newtable.Id);
|
|
|
|
|
if (table != null)
|
|
|
|
|
{
|
|
|
|
|
table.Id = newtable.Id;
|
|
|
|
|
table.ProjectId = table.ProjectId;
|
|
|
|
|
table.UnitId = newtable.UnitId;
|
|
|
|
|
table.CollCropCode = newtable.CollCropCode;
|
|
|
|
|
table.UnitName = newtable.UnitName;
|
|
|
|
|
table.ReportDate = newtable.ReportDate;
|
|
|
|
|
table.TypeName = newtable.TypeName;
|
|
|
|
|
table.TotalNum = newtable.TotalNum;
|
|
|
|
|
table.NeedRectifyNum = newtable.NeedRectifyNum;
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
2022-12-20 17:45:42 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
public static void DeleteProject_HSSEData_HiddenDangerDetailById(string Id)
|
|
|
|
|
{
|
2023-09-26 15:20:47 +08:00
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
2022-12-20 17:45:42 +08:00
|
|
|
|
{
|
2023-09-26 15:20:47 +08:00
|
|
|
|
Model.Project_HSSEData_HiddenDangerDetail table = db.Project_HSSEData_HiddenDangerDetail.FirstOrDefault(x => x.Id == Id);
|
|
|
|
|
if (table != null)
|
|
|
|
|
{
|
|
|
|
|
db.Project_HSSEData_HiddenDangerDetail.DeleteOnSubmit(table);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
2022-12-20 17:45:42 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据项目id和日期删除隐患类别数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="reportDate"></param>
|
|
|
|
|
/// <param name="projectid"></param>
|
|
|
|
|
public static void DeleteProject_HSSEData_HiddenDangerDetailByDate(DateTime? reportDate, string projectid)
|
|
|
|
|
{
|
2023-09-26 15:20:47 +08:00
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
2022-12-20 17:45:42 +08:00
|
|
|
|
{
|
2023-09-26 15:20:47 +08:00
|
|
|
|
|
|
|
|
|
var table = db.Project_HSSEData_HiddenDangerDetail.Where(x => x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0 && x.ProjectId == projectid);
|
2022-12-20 17:45:42 +08:00
|
|
|
|
db.Project_HSSEData_HiddenDangerDetail.DeleteAllOnSubmit(table);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
2023-09-26 15:20:47 +08:00
|
|
|
|
}
|
2022-12-20 17:45:42 +08:00
|
|
|
|
|
2023-09-26 15:20:47 +08:00
|
|
|
|
public static void DeleteProject_HSSEData_HiddenDangerDetailByDate(DateTime? reportDate)
|
|
|
|
|
{
|
|
|
|
|
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var table = db.Project_HSSEData_HiddenDangerDetail.Where(x => x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0 );
|
|
|
|
|
db.Project_HSSEData_HiddenDangerDetail.DeleteAllOnSubmit(table);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
2022-12-20 17:45:42 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据projectid判断当天项目是否已统计数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="projectid"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static bool IsReportByToday(string projectid, string type)
|
|
|
|
|
{
|
|
|
|
|
var result = false;
|
|
|
|
|
var q = (from x in Funs.DB.Project_HSSEData_HiddenDangerDetail
|
|
|
|
|
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date && x.ProjectId == projectid && x.TypeName == type
|
|
|
|
|
select x).ToList();
|
|
|
|
|
if (q != null && q.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
result = true;
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据projectid,获取该项目当天的统计数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="projectid"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static Model.Project_HSSEData_HiddenDangerDetail GetTodayModelByProjectAndType(string projectid, string type)
|
|
|
|
|
{
|
|
|
|
|
var q = (from x in Funs.DB.Project_HSSEData_HiddenDangerDetail
|
|
|
|
|
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date && x.ProjectId == projectid && x.TypeName == type
|
|
|
|
|
select x).FirstOrDefault();
|
|
|
|
|
return q;
|
|
|
|
|
}
|
|
|
|
|
public static List<Model.HSSEDataHiddenDangerDetailItem> GetTodayModel()
|
|
|
|
|
{
|
|
|
|
|
var q = (from x in Funs.DB.Project_HSSEData_HiddenDangerDetail
|
|
|
|
|
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date
|
|
|
|
|
group x by x.TypeName into g
|
|
|
|
|
select new Model.HSSEDataHiddenDangerDetailItem
|
|
|
|
|
{
|
|
|
|
|
Id = SQLHelper.GetNewID(),
|
|
|
|
|
TypeName= g.Key,
|
|
|
|
|
NeedRectifyNum= g.Sum(p => p.NeedRectifyNum),
|
|
|
|
|
TotalNum= g.Sum(p => p.TotalNum)
|
|
|
|
|
}).ToList();
|
|
|
|
|
return q;
|
|
|
|
|
}
|
|
|
|
|
public static void StatisticalAllProjectData()
|
|
|
|
|
{
|
2023-09-26 15:20:47 +08:00
|
|
|
|
var db = Funs.DB;
|
|
|
|
|
|
|
|
|
|
var projectids = ProjectService.GetProjectWorkList().Select(x => x.ProjectId).ToList();
|
|
|
|
|
var thisUnitId = string.Empty;
|
|
|
|
|
var thisUnit = CommonService.GetIsThisUnit();
|
|
|
|
|
if (thisUnit != null)
|
2022-12-20 17:45:42 +08:00
|
|
|
|
{
|
2023-09-26 15:20:47 +08:00
|
|
|
|
thisUnitId = thisUnit.UnitId;
|
2022-12-20 17:45:42 +08:00
|
|
|
|
}
|
2023-09-26 15:20:47 +08:00
|
|
|
|
var baseUnit = BLL.UnitService.GetUnitByUnitId(thisUnitId);
|
|
|
|
|
var list = from x in db.HSSE_Hazard_HazardRegister where projectids.Contains(x.ProjectId)
|
|
|
|
|
select x;
|
|
|
|
|
var data = (from x in list
|
|
|
|
|
join y in db.HSSE_Hazard_HazardRegisterTypes on x.RegisterTypesId equals y.RegisterTypesId
|
|
|
|
|
group x by new
|
|
|
|
|
{ x.ProjectId, x.RegisterTypesId ,y.RegisterTypesName}
|
|
|
|
|
into g
|
|
|
|
|
select new
|
|
|
|
|
{
|
|
|
|
|
UnitId = thisUnitId,
|
|
|
|
|
CollCropCode = baseUnit.CollCropCode,
|
|
|
|
|
UnitName = baseUnit.UnitName,
|
|
|
|
|
ProjectId= g.Key.ProjectId,
|
|
|
|
|
ReportDate = DateTime.Now.Date,
|
|
|
|
|
TypeName=g.Key.RegisterTypesName,
|
|
|
|
|
TotalNum = g.Count(),
|
|
|
|
|
NeedRectifyNum = g.Count(x => x.States == "1"),
|
|
|
|
|
}).ToList();
|
|
|
|
|
DeleteProject_HSSEData_HiddenDangerDetailByDate(DateTime.Now.Date);
|
|
|
|
|
var projectHsseDataHiddenDangerDetails = new List<Project_HSSEData_HiddenDangerDetail>();
|
|
|
|
|
foreach (var item in data)
|
|
|
|
|
{
|
|
|
|
|
Project_HSSEData_HiddenDangerDetail table = new Project_HSSEData_HiddenDangerDetail
|
|
|
|
|
{
|
|
|
|
|
Id = SQLHelper.GetNewID(),
|
|
|
|
|
UnitId = item.UnitId,
|
|
|
|
|
CollCropCode = item.CollCropCode,
|
|
|
|
|
UnitName = item.UnitName,
|
|
|
|
|
ProjectId = item.ProjectId,
|
|
|
|
|
ReportDate = item.ReportDate,
|
|
|
|
|
TypeName = item.TypeName,
|
|
|
|
|
TotalNum = item.TotalNum,
|
|
|
|
|
NeedRectifyNum = item.NeedRectifyNum,
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
projectHsseDataHiddenDangerDetails.Add(table);
|
|
|
|
|
}
|
|
|
|
|
AddBulkProject_HSSEData_HiddenDangerDetails(projectHsseDataHiddenDangerDetails);
|
|
|
|
|
|
2022-12-20 17:45:42 +08:00
|
|
|
|
}
|
2023-09-26 15:20:47 +08:00
|
|
|
|
|
2022-12-20 17:45:42 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取类别名称
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static string GetTypeName(string projectid)
|
|
|
|
|
{
|
|
|
|
|
string result = "";
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取全部数量
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetTotalNum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = 0;
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取待整改数量
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetNeedRectifyNum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = 0;
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|