安全检查汇总

This commit is contained in:
何美荣 2026-01-27 16:58:01 +08:00
parent 50941d6755
commit ceaa6c28e7

View File

@ -18,6 +18,13 @@ using System.Threading.Tasks;
namespace APT.SK.WebApi.Controllers.Api namespace APT.SK.WebApi.Controllers.Api
{ {
public class GetAll
{
public T_SK_SECURITY_INSPECTION_RECORD_SUMMARY data1 { get; set; }
public T_SK_HIDDEN_DANGER_REPORT data2 { get; set; }
public List<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE> data3 { get; set; }
public List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> data4 { get; set; }
}
[Route("api/SK/SKSecurityInspectionRecordSummary")] [Route("api/SK/SKSecurityInspectionRecordSummary")]
public partial class SecurityInspectionRecordSummaryController : AuthorizeApiController<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY> public partial class SecurityInspectionRecordSummaryController : AuthorizeApiController<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>
{ {
@ -950,6 +957,79 @@ namespace APT.SK.WebApi.Controllers.Api
return result; return result;
}); });
} }
/// <summary>
/// 获得检查汇总,隐患上报,整改通知,整改记录
/// </summary>
/// <param name="filter">过滤实体</param>
/// <returns></returns>
[HttpPost, Route("SKGetAll")]
public JsonActionResult<GetAll> SKGetAll([FromBody] KeywordFilter filter)
{
var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
if (string.IsNullOrEmpty(id))
this.ThrowError("060010");
filter.IgnoreDataRule = true;
var newfilter = new BaseFilter(filter.OrgId);
newfilter.IgnoreDataRule = true;
var result = new JsonActionResult<GetAll>();
result.Data = new GetAll();
var ids = new List<Guid>();
result.Data.data1 = this.GetEntity<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY>(id, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_CheckType",
"Nav_CheckRecordFiles.Nav_ImgFile"});
if (result.Data.data1 != null)
{
var details = this.GetEntities<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL>(t => t.SECURITY_INSPECTION_RECORD_SUMMARY_ID == Guid.Parse(id), new BaseFilter(filter.OrgId), "Nav_RiskArea", "Nav_Contents", "Nav_Question", "Nav_CheckRecordDetailBasics.Nav_Law", "Nav_CheckRecordDetailFiles.Nav_ImgFile");
if (details.Any())
{
var detailIds = details.Select(t => t.ID).ToList();
var users = this.GetEntities<T_SK_SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_USER>(t => detailIds.Contains(t.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID), new BaseFilter(filter.OrgId), "Nav_User.Nav_UserSignFiles.Nav_ImgFile");
foreach (var detail in details)
{
var userTemps = users.Where(t => t.SECURITY_INSPECTION_RECORD_SUMMARY_DETAIL_ID == detail.ID).ToList();
detail.Nav_CheckRecordDetailUsers = userTemps.OrderByDescending(t => t.ISMAINCHECK).ToList();
}
}
//有隐患的排前面
var tempsYes = details.Where(t => t.CHECK_RESULT == SKCheckResultEnum.Yes).OrderBy(m => m.RISK_AREA_ID).ToList();
var tempsNo = details.Where(t => t.CHECK_RESULT != SKCheckResultEnum.Yes).OrderBy(m => m.RISK_AREA_ID).ToList();
tempsYes.AddRange(tempsNo);
result.Data.data1.Nav_CheckRecordDetails = tempsYes.OrderByDescending(n => (int)n.MARK).ToList();
//隐患上报
result.Data.data2 = this.GetEntity<T_SK_HIDDEN_DANGER_REPORT>(t => t.SECURITY_INSPECTION_RECORD_SUMMARY_ID == Guid.Parse(id), new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_CheckType",
"Nav_ReportFiles.Nav_ImgFile"});
if (result.Data.data2 != null)
{
result.Data.data4 = new List<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>();
var detail2s = this.GetEntities<T_SK_HIDDEN_DANGER_REPORT_DETAIL>(t => t.HIDDEN_DANGER_REPORT_ID == result.Data.data2.ID, new BaseFilter(filter.OrgId), "Nav_RiskArea", "Nav_Contents", "Nav_Question", "Nav_RecitifyUser.Nav_UserSignFiles", "Nav_ReportDetailBasics.Nav_Law", "Nav_ReportDetailFiles.Nav_ImgFile");
result.Data.data2.Nav_ReportDetails = detail2s.OrderBy(m => m.RISK_AREA_ID).ToList();
//整改通知
result.Data.data3 = this.GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE>(t => t.HIDDEN_DANGER_REPORT_ID == result.Data.data2.ID, newfilter, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_CheckType",
"Nav_RectifyFiles.Nav_ImgFile"}).ToList();
if (result.Data.data3 != null && result.Data.data3.Any())
{
var data3Ids = result.Data.data3.Select(t => t.ID).ToList();
ids.AddRange(data3Ids);
var detail3s = this.GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL>(t => data3Ids.Contains(t.HIDDEN_DANGER_RECTIFY_NOTICE_ID), new BaseFilter(filter.OrgId), "Nav_RiskArea", "Nav_Contents", "Nav_Question", "Nav_RecitifyUser", "Nav_ImplementUser", "Nav_AcceptUser", "Nav_RectifyDetailFiles.Nav_ImgFile", "Nav_RectifyDetailBasics.Nav_Law");
foreach (var de in result.Data.data3)
{
de.Nav_RectifyDetails = detail3s.Where(t => t.HIDDEN_DANGER_RECTIFY_NOTICE_ID == de.ID).OrderBy(m => m.RISK_AREA_ID).ToList();
}
if (ids.Any())
{
var data4 = this.GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(t => ids.Contains((Guid)t.HIDDEN_DANGER_RECTIFY_NOTICE_ID) && t.HIDDEN_DANGER_RECTIFY_NOTICE_ID != null, newfilter, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_CheckType","Nav_RiskArea","Nav_Contents","Nav_Question",
"Nav_RecitifyUser.Nav_Department","Nav_RecitifyUser.Nav_UserSignFiles.Nav_ImgFile","Nav_ImplementUser.Nav_UserSignFiles.Nav_ImgFile","Nav_AcceptUser.Nav_UserSignFiles","Nav_AcceptUser","Nav_RectifyPhotoas.Nav_ImgFile","Nav_RectifyPhotobs.Nav_ImgFile","Nav_RectifyFiles.Nav_ImgFile","Nav_RectifyBasics.Nav_Law"}).ToList();
result.Data.data4.AddRange(data4);
}
}
var data4Temp = this.GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(t => t.HIDDEN_DANGER_REPORT_ID == result.Data.data2.ID, newfilter, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_CheckType","Nav_RiskArea","Nav_Contents","Nav_Question",
"Nav_RecitifyUser.Nav_Department","Nav_RecitifyUser.Nav_UserSignFiles.Nav_ImgFile","Nav_ImplementUser.Nav_UserSignFiles.Nav_ImgFile","Nav_AcceptUser.Nav_UserSignFiles","Nav_AcceptUser","Nav_RectifyPhotoas.Nav_ImgFile","Nav_RectifyPhotobs.Nav_ImgFile","Nav_RectifyFiles.Nav_ImgFile","Nav_RectifyBasics.Nav_Law"}).ToList();
result.Data.data4.AddRange(data4Temp);
} }
} }
return result;
}
}
}