diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs index 3ccc508..e460226 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs @@ -17,7 +17,14 @@ using System.Linq.Expressions; using System.Threading.Tasks; 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 data3 { get; set; } + public List data4 { get; set; } + } [Route("api/SK/SKSecurityInspectionRecordSummary")] public partial class SecurityInspectionRecordSummaryController : AuthorizeApiController { @@ -949,7 +956,80 @@ namespace APT.SK.WebApi.Controllers.Api } return result; }); + } + /// + /// 获得检查汇总,隐患上报,整改通知,整改记录 + /// + /// 过滤实体 + /// + [HttpPost, Route("SKGetAll")] + public JsonActionResult 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(); + result.Data = new GetAll(); + var ids = new List(); + result.Data.data1 = this.GetEntity(id, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_CheckType", + "Nav_CheckRecordFiles.Nav_ImgFile"}); + if (result.Data.data1 != null) + { + var details = this.GetEntities(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 => 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 => 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(); + var detail2s = this.GetEntities(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 => 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 => 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 => 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 => 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; } - } }