集成人员同步,专项检查同步

This commit is contained in:
2026-02-28 10:57:21 +08:00
parent 8f8f970ed5
commit 37ec112f65
51 changed files with 10342 additions and 20 deletions
@@ -0,0 +1,160 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
/// <summary>
/// 专项检查明细表
/// </summary>
public class Check_CheckSpecialProDetailService
{
/// <summary>
/// 根据专项检查id获取所有相关明细信息
/// </summary>
/// <param name="CheckRectifyId"></param>
/// <returns></returns>
public static List<Model.Check_CheckSpecialProDetail> GetCheckSpecialDetailByCheckSpecialId(string checkSpecialId)
{
return (from x in Funs.DB.Check_CheckSpecialProDetail where x.CheckSpecialId == checkSpecialId select x).ToList();
}
/// <summary>
/// 根据主键获取专项检查明细信息
/// </summary>
/// <param name="checkSpecialDetailId"></param>
/// <returns></returns>
public static Model.Check_CheckSpecialProDetail GetCheckSpecialDetailByCheckSpecialDetailId(string checkSpecialDetailId)
{
return Funs.DB.Check_CheckSpecialProDetail.FirstOrDefault(e => e.CheckSpecialDetailId == checkSpecialDetailId);
}
/// <summary>
/// 增加专项检查明细信息
/// </summary>
/// <param name="checkSpecialDetail"></param>
public static void AddCheckSpecialDetail(Model.Check_CheckSpecialProDetail checkSpecialDetail)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
Model.Check_CheckSpecialProDetail newCheckSpecialDetail = new Model.Check_CheckSpecialProDetail
{
CheckSpecialDetailId = checkSpecialDetail.CheckSpecialDetailId,
CheckSpecialId = checkSpecialDetail.CheckSpecialId,
SortIndex = checkSpecialDetail.SortIndex,
CheckItem = checkSpecialDetail.CheckItem,
CheckItemType = checkSpecialDetail.CheckItemType,
Unqualified = checkSpecialDetail.Unqualified,
CheckArea = checkSpecialDetail.CheckArea,
UnitId = checkSpecialDetail.UnitId,
HandleStep = checkSpecialDetail.HandleStep,
CompleteStatus = checkSpecialDetail.CompleteStatus,
RectifyNoticeId = checkSpecialDetail.RectifyNoticeId,
LimitedDate = checkSpecialDetail.LimitedDate,
CompletedDate = checkSpecialDetail.CompletedDate,
Suggestions = checkSpecialDetail.Suggestions,
WorkArea = checkSpecialDetail.WorkArea,
CheckContent = checkSpecialDetail.CheckContent,
HiddenHazardType = checkSpecialDetail.HiddenHazardType,
RiskLevel = checkSpecialDetail.RiskLevel,
HandleWay = checkSpecialDetail.HandleWay,
HSEManage = checkSpecialDetail.HSEManage,
RectifyOpinion = checkSpecialDetail.RectifyOpinion
};
db.Check_CheckSpecialProDetail.InsertOnSubmit(newCheckSpecialDetail);
db.SubmitChanges();
}
//// 根据明细ID判断是否全部整改完成 并更新专项检查状态
Check_CheckSpecialProService.UpdateCheckSpecialStates(checkSpecialDetail.CheckSpecialId);
}
/// <summary>
/// 修改专项检查明细信息
/// </summary>
/// <param name="CheckSpecialDetail"></param>
public static void UpdateCheckSpecialDetail(Model.Check_CheckSpecialProDetail CheckSpecialDetail)
{
Model.SGGLDB db = Funs.DB;
var newCheckSpecialDetail = db.Check_CheckSpecialProDetail.FirstOrDefault(x => x.CheckSpecialDetailId == CheckSpecialDetail.CheckSpecialDetailId);
if (newCheckSpecialDetail != null)
{
newCheckSpecialDetail.Unqualified = CheckSpecialDetail.Unqualified;
newCheckSpecialDetail.CheckArea = CheckSpecialDetail.CheckArea;
newCheckSpecialDetail.UnitId = CheckSpecialDetail.UnitId;
newCheckSpecialDetail.HandleStep = CheckSpecialDetail.HandleStep;
newCheckSpecialDetail.CompleteStatus = CheckSpecialDetail.CompleteStatus;
newCheckSpecialDetail.RectifyNoticeId = CheckSpecialDetail.RectifyNoticeId;
newCheckSpecialDetail.LimitedDate = CheckSpecialDetail.LimitedDate;
newCheckSpecialDetail.CompletedDate = CheckSpecialDetail.CompletedDate;
newCheckSpecialDetail.Suggestions = CheckSpecialDetail.Suggestions;
newCheckSpecialDetail.WorkArea = CheckSpecialDetail.WorkArea;
newCheckSpecialDetail.CheckContent = CheckSpecialDetail.CheckContent;
newCheckSpecialDetail.RiskLevel = CheckSpecialDetail.RiskLevel;
newCheckSpecialDetail.HSEManage = CheckSpecialDetail.HSEManage;
newCheckSpecialDetail.HandleWay = CheckSpecialDetail.HandleWay;
newCheckSpecialDetail.RectifyOpinion = CheckSpecialDetail.RectifyOpinion;
db.SubmitChanges();
}
else
{
AddCheckSpecialDetail(CheckSpecialDetail);
}
}
/// <summary>
/// 根据专项检查ID删除所有专项检查明细信息
/// </summary>
/// <param name="checkSpecialId"></param>
public static void DeleteCheckSpecialDetails(string checkSpecialId)
{
Model.SGGLDB db = Funs.DB;
var q = (from x in db.Check_CheckSpecialProDetail where x.CheckSpecialId == checkSpecialId select x).ToList();
if (q != null)
{
foreach (var item in q)
{
////删除附件表
BLL.CommonService.DeleteAttachFileById(item.CheckSpecialDetailId);
}
db.Check_CheckSpecialProDetail.DeleteAllOnSubmit(q);
db.SubmitChanges();
}
}
/// <summary>
/// 根据专项检查ID删除一条专项检查明细信息
/// </summary>
/// <param name="checkSpecialDetailId"></param>
public static void DeleteCheckSpecialDetailById(string checkSpecialDetailId)
{
Model.SGGLDB db = Funs.DB;
var q = (from x in db.Check_CheckSpecialProDetail where x.CheckSpecialDetailId == checkSpecialDetailId select x).FirstOrDefault();
if (q != null)
{
////删除附件表
BLL.CommonService.DeleteAttachFileById(q.CheckSpecialDetailId);
db.Check_CheckSpecialProDetail.DeleteOnSubmit(q);
db.SubmitChanges();
}
}
public static int MonthReportBStatic(string projectId, string checkType, DateTime beginDate, DateTime endDate)
{
return Funs.DB.Check_CheckSpecialPro.Where(x => x.ProjectId == projectId && ((checkType == "0" && x.CheckType == null) || checkType == x.CheckType) && x.CheckTime >= beginDate && x.CheckTime < endDate).Count();
}
public static int MonthReportBDetailStatic(string projectId, string checkType, DateTime beginDate, DateTime endDate)
{
var q = from d in Funs.DB.Check_CheckSpecialProDetail
join c in Funs.DB.Check_CheckSpecialPro on d.CheckSpecialId equals c.CheckSpecialId
where c.ProjectId == projectId && ((checkType == "0" && c.CheckType == null) || checkType == c.CheckType) && c.CheckTime > beginDate && c.CheckTime < endDate
select d;
return q.Count();
}
}
}
@@ -0,0 +1,316 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace BLL
{
/// <summary>
/// 专项检查
/// </summary>
public static class Check_CheckSpecialProService
{
/// <summary>
/// 根据专项检查ID获取专项检查信息
/// </summary>
/// <param name="CheckSpecialName"></param>
/// <returns></returns>
public static Model.Check_CheckSpecialPro GetCheckSpecialByCheckSpecialId(string checkSpecialId)
{
return Funs.DB.Check_CheckSpecialPro.FirstOrDefault(e => e.CheckSpecialId == checkSpecialId);
}
/// <summary>
/// 根据时间段获取专项检查信息集合
/// </summary>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <param name="projectId"></param>
/// <returns></returns>
public static int GetCountByCheckTime(DateTime startTime, DateTime endTime, string projectId)
{
return (from x in Funs.DB.Check_CheckSpecialPro where x.CheckTime >= startTime && x.CheckTime < endTime && x.ProjectId == projectId select x).Count();
}
/// <summary>
/// 根据时间段获取专项检查集合
/// </summary>
/// <param name="startTime">开始时间</param>
/// <param name="endTime">结束时间</param>
/// <param name="projectId">项目号</param>
/// <returns>专项检查集合</returns>
public static List<Model.Check_CheckSpecialPro> GetListByCheckTime(DateTime startTime, DateTime endTime, string projectId)
{
return (from x in Funs.DB.Check_CheckSpecialPro where x.CheckTime >= startTime && x.CheckTime < endTime && x.ProjectId == projectId select x).ToList();
}
/// <summary>
/// 根据时间段获取已完成的专项检查整改数量
/// </summary>
/// <param name="startTime">开始时间</param>
/// <param name="endTime">结束时间</param>
/// <param name="projectId">项目号</param>
/// <returns>已完成的专项检查整改数量</returns>
public static int GetIsOKViolationCountByCheckTime(DateTime startTime, DateTime endTime, string projectId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
return (from x in db.Check_CheckSpecialPro
join y in db.Check_CheckSpecialProDetail on x.CheckSpecialId equals y.CheckSpecialId
where x.CheckTime >= startTime && x.CheckTime <= endTime && x.ProjectId == projectId && y.CompleteStatus != null && y.CompleteStatus == true
select y).Count();
}
}
/// <summary>
/// 添加安全专项检查
/// </summary>
/// <param name="checkSpecial"></param>
public static void AddCheckSpecial(Model.Check_CheckSpecialPro checkSpecial)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
Model.Check_CheckSpecialPro newCheckSpecial = new Model.Check_CheckSpecialPro
{
CheckSpecialId = checkSpecial.CheckSpecialId,
CheckSpecialCode = checkSpecial.CheckSpecialCode,
ProjectId = checkSpecial.ProjectId,
CheckPerson = checkSpecial.CheckPerson,
CheckTime = checkSpecial.CheckTime,
ScanUrl = checkSpecial.ScanUrl,
DaySummary = checkSpecial.DaySummary,
PartInUnits = checkSpecial.PartInUnits,
PartInPersons = checkSpecial.PartInPersons,
PartInPersonIds = checkSpecial.PartInPersonIds,
PartInPersonNames = checkSpecial.PartInPersonNames,
CheckAreas = checkSpecial.CheckAreas,
States = checkSpecial.States,
CompileMan = checkSpecial.CompileMan,
CheckType = checkSpecial.CheckType,
CheckItemSetId = checkSpecial.CheckItemSetId,
};
db.Check_CheckSpecialPro.InsertOnSubmit(newCheckSpecial);
db.SubmitChanges();
}
////增加一条编码记录
BLL.CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(BLL.Const.ProjectCheckSpecialMenuId, checkSpecial.ProjectId, null, checkSpecial.CheckSpecialId, checkSpecial.CheckTime);
}
/// <summary>
/// 修改安全专项检查
/// </summary>
/// <param name="checkSpecial"></param>
public static void UpdateCheckSpecial(Model.Check_CheckSpecialPro checkSpecial)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
Model.Check_CheckSpecialPro newCheckSpecial = db.Check_CheckSpecialPro.FirstOrDefault(e => e.CheckSpecialId == checkSpecial.CheckSpecialId);
if (newCheckSpecial != null)
{
newCheckSpecial.CheckSpecialCode = checkSpecial.CheckSpecialCode;
//newCheckSpecial.ProjectId = checkSpecial.ProjectId;
newCheckSpecial.CheckPerson = checkSpecial.CheckPerson;
newCheckSpecial.CheckTime = checkSpecial.CheckTime;
newCheckSpecial.ScanUrl = checkSpecial.ScanUrl;
newCheckSpecial.DaySummary = checkSpecial.DaySummary;
newCheckSpecial.PartInUnits = checkSpecial.PartInUnits;
newCheckSpecial.PartInPersons = checkSpecial.PartInPersons;
newCheckSpecial.PartInPersonIds = checkSpecial.PartInPersonIds;
newCheckSpecial.PartInPersonNames = checkSpecial.PartInPersonNames;
newCheckSpecial.CheckAreas = checkSpecial.CheckAreas;
newCheckSpecial.States = checkSpecial.States;
newCheckSpecial.CheckType = checkSpecial.CheckType;
newCheckSpecial.CheckItemSetId = checkSpecial.CheckItemSetId;
db.SubmitChanges();
}
}
}
/// <summary>
/// 根据专项检查ID 更新专项检查状态
/// </summary>
/// <param name="checkSpecialDetailId"></param>
public static void UpdateCheckSpecialStates(string checkSpecialId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getS = db.Check_CheckSpecialPro.FirstOrDefault(x => x.CheckSpecialId == checkSpecialId);
if (getS != null && getS.States == Const.State_1)
{
var getNCDetail = Funs.DB.Check_CheckSpecialProDetail.FirstOrDefault(x => x.CheckSpecialId == getS.CheckSpecialId && x.CompleteStatus == false);
if (getNCDetail == null)
{
getS.States = Const.State_2;
db.SubmitChanges();
}
}
}
}
/// <summary>
/// 根据专项检查ID删除对应专项检查记录信息
/// </summary>
/// <param name="superviseCheckReportId"></param>
public static void DeleteCheckSpecial(string checkSpecialId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var q = (from x in db.Check_CheckSpecialPro where x.CheckSpecialId == checkSpecialId select x).FirstOrDefault();
if (q != null)
{
///删除编码表记录
BLL.CodeRecordsService.DeleteCodeRecordsByDataId(q.CheckSpecialId);
////删除附件表
BLL.CommonService.DeleteAttachFileById(q.CheckSpecialId);
////删除审核流程表
BLL.CommonService.DeleteFlowOperateByID(q.CheckSpecialId);
db.Check_CheckSpecialPro.DeleteOnSubmit(q);
db.SubmitChanges();
}
}
}
/// <summary>
///
/// </summary>
/// <param name="CheckSpecialDetailId"></param>
/// <returns></returns>
public static string ConvertHandleStep(object CheckSpecialDetailId)
{
string name = string.Empty;
if (CheckSpecialDetailId != null)
{
var getDetail = BLL.Check_CheckSpecialProDetailService.GetCheckSpecialDetailByCheckSpecialDetailId(CheckSpecialDetailId.ToString());
if (getDetail != null)
{
if (getDetail.DataType == "1")
{
name = "下发整改单:";
var getRe = RectifyNoticesService.GetRectifyNoticesById(getDetail.DataId);
if (getRe != null)
{
name += getRe.RectifyNoticesCode;
}
}
else if (getDetail.DataType == "2")
{
name = "下发处罚单:";
var getRe = PunishNoticeService.GetPunishNoticeById(getDetail.DataId);
if (getRe != null)
{
name += getRe.PunishNoticeCode;
}
}
else if (getDetail.DataType == "3")
{
name = "下发暂停令:";
var getRe = Check_PauseNoticeService.GetPauseNoticeByPauseNoticeId(getDetail.DataId);
if (getRe != null)
{
name += getRe.PauseNoticeCode;
}
}
}
}
return name;
}
/// <summary>
///
/// </summary>
/// <param name="detailLists"></param>
/// <param name="checkSpecial"></param>
/// <returns></returns>
public static string IssueRectification(List<Model.Check_CheckSpecialProDetail> detailLists, Model.Check_CheckSpecialPro checkSpecial)
{
string info = string.Empty;
if (detailLists.Count() > 0 && checkSpecial != null)
{
////隐患整改单
var getDetail1 = detailLists.Where(x => x.CompleteStatus == false);
if (getDetail1.Count() > 0)
{
var getUnitList = getDetail1.Select(x => x.UnitId).Distinct();
foreach (var unitItem in getUnitList)
{
var getUnitItemList = getDetail1.Where(x => x.UnitId == unitItem);
foreach (var item in getUnitItemList)
{
Model.HSSE_Hazard_HazardRegister register = Funs.DB.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.CheckItemDetailId == item.CheckSpecialDetailId);
if (register == null)
{
register = new Model.HSSE_Hazard_HazardRegister();
}
register.ProjectId = checkSpecial.ProjectId;
register.CheckItemDetailId = item.CheckSpecialDetailId;
register.ProblemTypes = "2"; //1 安全问题 2 专项巡检
register.RegisterTypesId = item.CheckItem;
// register.CheckCycle = this.ckType.SelectedValue;
register.IsEffective = "1";
register.RegisterDate = checkSpecial.CheckTime;
register.CheckTime = checkSpecial.CheckTime;
register.ResponsibleUnit = item.UnitId;
// register.Place = item.WorkArea;
register.Place = item.CheckArea;
register.RegisterDef = item.Unqualified;
// register.HandleIdea = item.Suggestions;
register.ResponsibleMan = item.HSEManage;
// register.Risk_Level = item.RiskLevel;
switch (item.RiskLevel)
{
case "0": register.Risk_Level = "一般"; break;
case "1": register.Risk_Level = "一般"; break;
case "2": register.Risk_Level = "较大"; break;
case "3": register.Risk_Level = "重大"; break;
}
register.Requirements = item.Suggestions;
register.CheckSpecialId = item.CheckSpecialId;
register.RectificationPeriod = item.LimitedDate;
register.CheckManId = checkSpecial.CompileMan;
//register.CutPayment = Funs.GetNewIntOrZero(this.txtCutPayment.Text.Trim());
register.States = "1"; //待整改
if (string.IsNullOrEmpty(register.HazardRegisterId))
{
register.HazardRegisterId = Guid.NewGuid().ToString();
var url = AttachFileService.getFileUrl(item.CheckSpecialDetailId);
register.ImageUrl = url;
SaveAttachFile(register.HazardRegisterId, BLL.Const.HSSE_HiddenRectificationListMenuId, url);
BLL.HSSE_Hazard_HazardRegisterService.AddHazardRegister(register);
}
else
{
var url = AttachFileService.getFileUrl(item.CheckSpecialDetailId);
register.ImageUrl = url;
SaveAttachFile(register.HazardRegisterId, BLL.Const.HSSE_HiddenRectificationListMenuId, url);
BLL.HSSE_Hazard_HazardRegisterService.UpdateHazardRegister(register);
}
}
}
info += "整改已下发。";
}
Check_CheckSpecialProService.UpdateCheckSpecial(checkSpecial);
}
if (!string.IsNullOrEmpty(info))
{
info += "请在相应办理页面提交!";
}
return info;
}
public static void SaveAttachFile(string dataId, string menuId, string url)
{
Model.ToDoItem toDoItem = new Model.ToDoItem
{
MenuId = menuId,
DataId = dataId,
UrlStr = url,
};
APIUpLoadFileService.SaveAttachUrl(toDoItem);
}
}
}
@@ -21,6 +21,11 @@ namespace BLL
return Funs.DB.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.HazardRegisterId == hazardRegisterId);
}
public static Model.HSSE_Hazard_HazardRegister GetHazardRegisterByCheckItemDetailId(string CheckItemDetailId)
{
return Funs.DB.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.HazardRegisterId == CheckItemDetailId || x.CheckItemDetailId == CheckItemDetailId);
}
/// <summary>
/// 获取项目风险列表
/// </summary>