713 lines
		
	
	
		
			41 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			713 lines
		
	
	
		
			41 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using APT.BaseData.Domain.Entities.FM;
 | 
						|
using APT.BaseData.Domain.Entities;
 | 
						|
using APT.BaseData.Domain.Enums;
 | 
						|
using APT.BaseData.Domain.IServices.FM;
 | 
						|
using APT.Infrastructure.Core;
 | 
						|
using APT.MS.Domain.Entities.SK;
 | 
						|
using APT.MS.Domain.Enums;
 | 
						|
using APT.Utility;
 | 
						|
using Microsoft.AspNetCore.Mvc;
 | 
						|
using APT.BaseData.Domain.Enums.PF;
 | 
						|
using APT.MS.Domain.Enums.SK;
 | 
						|
using APT.BaseData.Services.DomainServices;
 | 
						|
using APT.BaseData.Services.Services.FM;
 | 
						|
using APT.BaseData.Domain.IServices;
 | 
						|
using APT.MS.Domain.Entities.FO;
 | 
						|
using System.Linq;
 | 
						|
using NPOI.SS.Formula.Functions;
 | 
						|
using System.Linq.Expressions;
 | 
						|
using System.Diagnostics;
 | 
						|
using APT.MS.Domain.Entities.BS;
 | 
						|
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using APT.MS.Domain.Entities.SC.BI;
 | 
						|
 | 
						|
namespace APT.SK.WebApi.Controllers.Api
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    ///  隐患上报表
 | 
						|
    /// </summary>
 | 
						|
    [Route("api/SK/SKHiddenDangerReport")]
 | 
						|
    public partial class HiddenDangerReportController : AuthorizeApiController<T_SK_HIDDEN_DANGER_REPORT>
 | 
						|
    {
 | 
						|
        IPFApproveCallBackService ApproveCallBackService { get; set; }
 | 
						|
        IFMNotificationTaskService NotificationTaskService { get; set; }
 | 
						|
        IPFCodeRuleService CodeRuleService { get; set; }
 | 
						|
        IFMFlowPermitService MFlowPermitService { get; set; }
 | 
						|
        public HiddenDangerReportController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService, IPFApproveCallBackService approveCallBackService)
 | 
						|
        {
 | 
						|
            NotificationTaskService = notificationTaskService;
 | 
						|
            MFlowPermitService = mFlowPermitService;
 | 
						|
            CodeRuleService = codeRuleService;
 | 
						|
            ApproveCallBackService = approveCallBackService;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 保存
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="entity"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("FullUpdate")]
 | 
						|
        public JsonActionResult<bool> FullUpdate([FromBody] T_SK_HIDDEN_DANGER_REPORT entity)
 | 
						|
        {
 | 
						|
            return SafeExecute<bool>(() =>
 | 
						|
            {
 | 
						|
                var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
                var departId = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
 | 
						|
                if (entity.APPLY_USER_ID == null)
 | 
						|
                    entity.APPLY_USER_ID = userId;
 | 
						|
                if (entity.APPLY_DEPARTMENT_ID == null)
 | 
						|
                    entity.APPLY_DEPARTMENT_ID = departId;
 | 
						|
                var details = entity.Nav_ReportDetails;
 | 
						|
                entity.Nav_ReportDetails = null;
 | 
						|
                var files = entity.Nav_ReportFiles;
 | 
						|
                entity.Nav_ReportFiles = null;
 | 
						|
                entity.ApplyDepartmentName = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == departId).NAME;
 | 
						|
                entity.ApplyPostName = this.GetEntity<T_FM_USER>(t => t.ID == userId, "Nav_Person.Nav_Post")?.Nav_Person?.Nav_Post?.NAME;
 | 
						|
                var loginUserId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
                List<Guid> userIds = new List<Guid>();
 | 
						|
                List<Guid> deleteFileIds = new List<Guid>();
 | 
						|
                List<Guid> deleteBasicIds = new List<Guid>();
 | 
						|
                List<Guid> deleteDetailIds = new List<Guid>();
 | 
						|
                List<T_SK_HIDDEN_DANGER_REPORT_DETAIL_FILE> fileList = new List<T_SK_HIDDEN_DANGER_REPORT_DETAIL_FILE>();
 | 
						|
                List<T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC> basicList = new List<T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC>();
 | 
						|
                SKHiddenLevel? hiddenLevel = SKHiddenLevel.General;
 | 
						|
                if (details != null && details.Any())
 | 
						|
                {
 | 
						|
                    var evaluationIsExist = this.GetEntity<T_SK_HIDDEN_DANGER_REPORT>(t => t.ID == entity.ID, new string[] { "Nav_ReportDetails", "Nav_ReportDetails.Nav_ReportDetailFiles", "Nav_ReportDetails.Nav_ReportDetailBasics" });
 | 
						|
                    if (evaluationIsExist != null && evaluationIsExist.Nav_ReportDetails != null && evaluationIsExist.Nav_ReportDetails.Any())
 | 
						|
                    {
 | 
						|
                        evaluationIsExist.Nav_ReportDetails.ForEach(t =>
 | 
						|
                        {
 | 
						|
                            if (t.Nav_ReportDetailFiles != null && t.Nav_ReportDetailFiles.Any())
 | 
						|
                            {
 | 
						|
                                var tempIds = t.Nav_ReportDetailFiles.Select(m => m.ID).ToList();
 | 
						|
                                deleteFileIds.AddRange(tempIds);
 | 
						|
                            }
 | 
						|
                            if (t.Nav_ReportDetailBasics != null && t.Nav_ReportDetailBasics.Any())
 | 
						|
                            {
 | 
						|
                                var tempIds = t.Nav_ReportDetailBasics.Select(m => m.ID).ToList();
 | 
						|
                                deleteBasicIds.AddRange(tempIds);
 | 
						|
                            }
 | 
						|
                            deleteDetailIds.Add(t.ID);
 | 
						|
                        });
 | 
						|
                    }
 | 
						|
                    foreach (var item in details)
 | 
						|
                    {
 | 
						|
                        var isExsists = details.FirstOrDefault(t => t.CHECK_QUESTION_ID == null);
 | 
						|
                        if (isExsists != null)
 | 
						|
                        {
 | 
						|
                            throw new Exception("每行的隐患描述都必须填写");
 | 
						|
                        }
 | 
						|
                        if (item.HIDDEN_LEVEL == SKHiddenLevel.Major)
 | 
						|
                        {
 | 
						|
                            hiddenLevel = item.HIDDEN_LEVEL;
 | 
						|
                        }
 | 
						|
                        if (item.Nav_ReportDetailFiles != null && item.Nav_ReportDetailFiles.Any())
 | 
						|
                        {
 | 
						|
                            foreach (var item2 in item.Nav_ReportDetailFiles)
 | 
						|
                            {
 | 
						|
                                T_SK_HIDDEN_DANGER_REPORT_DETAIL_FILE file = new T_SK_HIDDEN_DANGER_REPORT_DETAIL_FILE();
 | 
						|
                                file.ORG_ID = entity.ORG_ID;
 | 
						|
                                file.HIDDEN_DANGER_REPORT_DETAIL_ID = item.ID;
 | 
						|
                                file.IMG_FILE_ID = item2.IMG_FILE_ID;
 | 
						|
                                fileList.Add(file);
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (item.Nav_ReportDetailBasics != null && item.Nav_ReportDetailBasics.Any())
 | 
						|
                        {
 | 
						|
                            foreach (var item2 in item.Nav_ReportDetailBasics)
 | 
						|
                            {
 | 
						|
                                T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC basic = new T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC();
 | 
						|
                                basic.ORG_ID = entity.ORG_ID;
 | 
						|
                                basic.HIDDEN_DANGER_REPORT_DETAIL_ID = item.ID;
 | 
						|
                                basic.LAW_ID = item2.LAW_ID;
 | 
						|
                                basicList.Add(basic);
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (item.RECITIFY_USER_ID != null)
 | 
						|
                        {
 | 
						|
                            if (item.RECITIFY_USER_ID == loginUserId)
 | 
						|
                            {
 | 
						|
                                item.ISCHECK = true;
 | 
						|
                                item.CHECKTIME = DateTime.Now;
 | 
						|
                            }
 | 
						|
                            else
 | 
						|
                            {
 | 
						|
                                userIds.Add((Guid)item.RECITIFY_USER_ID);
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        item.ORG_ID = entity.ORG_ID;
 | 
						|
                        item.HIDDEN_DANGER_REPORT_ID = entity.ID;
 | 
						|
                        item.Nav_ReportDetailFiles = null;
 | 
						|
                        item.Nav_ReportDetailBasics = null;
 | 
						|
                        item.Nav_Contents = null;
 | 
						|
                        item.Nav_RecitifyUser = null;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                if (files != null && files.Any())
 | 
						|
                {
 | 
						|
                    foreach (var item in files)
 | 
						|
                    {
 | 
						|
                        item.ORG_ID = entity.ORG_ID;
 | 
						|
                        item.HIDDEN_DANGER_REPORT_ID = entity.ID;
 | 
						|
                        item.Nav_ImgFile = null;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                T_FM_NOTIFICATION_TASK task = null;
 | 
						|
                List<T_FM_NOTIFICATION_TASK> notices = new List<T_FM_NOTIFICATION_TASK>();
 | 
						|
                if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify"))
 | 
						|
                {
 | 
						|
                    //userIds = userIds.Distinct().ToList();
 | 
						|
                    //if (userIds != null && userIds.Any())
 | 
						|
                    //{
 | 
						|
                    //    var departName = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.NAME;
 | 
						|
                    //    entity.STATUS = PFStandardStatus.Sign;
 | 
						|
                    //    var UserNames = new List<string>();
 | 
						|
                    //    var user = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用 && userIds.Contains(t.ID), new BaseFilter(entity.ORG_ID));
 | 
						|
                    //    foreach (var u in userIds)
 | 
						|
                    //    {
 | 
						|
                    //        var current = user.FirstOrDefault(t => t.ID == u);
 | 
						|
                    //        UserNames.Add(current?.NAME);
 | 
						|
                    //    }
 | 
						|
                    //    //发消息
 | 
						|
                    //    notices = NotificationTaskService.InsertUserNoticeTaskModels("隐患上报表(" + departName + DateTime.Now.ToShortDateString().Replace("/", "") + ")-确认", entity.ID, entity.ORG_ID, userIds, UserNames, DateTime.Now,
 | 
						|
                    //     DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK014_SHOWPRINT");
 | 
						|
                    //}
 | 
						|
                    //else
 | 
						|
                    {
 | 
						|
                        //触发审批
 | 
						|
                        entity.STATUS = PFStandardStatus.Approving;
 | 
						|
                        //取审批流水码
 | 
						|
                        var sysFilter = new SystemCodeFilter();
 | 
						|
                        sysFilter.CodeType = (int)PFCodeRuleType.审批流编码;
 | 
						|
                        sysFilter.Count = 1;
 | 
						|
                        sysFilter.OrgId = entity.ORG_ID;
 | 
						|
                        var codes = CodeRuleService.NewGenSerial(sysFilter);
 | 
						|
                        var serialCode = codes.Split(new char[] { ',' });
 | 
						|
                        var param = Enum.GetName(typeof(SKHiddenLevel), hiddenLevel);
 | 
						|
                        var level = param == "Major" ? "重大" : "一般";
 | 
						|
                        if (hiddenLevel == SKHiddenLevel.General)
 | 
						|
                        {
 | 
						|
                            var departmentType = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == entity.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.DEPARTMENT_TYPE;
 | 
						|
                            //param = Enum.GetName(typeof(FMDepartmentType), departmentType);
 | 
						|
                            param = ((SKDepartmentTypeEnum)departmentType).GetDescription();
 | 
						|
                        }
 | 
						|
                        MFlowPermitService.InsertApprove(serialCode[0], "SK014", param, entity.ID, "SK014_SHOWPRINT", entity.TaskID, true, () =>
 | 
						|
                        {
 | 
						|
                            if (deleteBasicIds != null && deleteBasicIds.Any())
 | 
						|
                                this.BantchDeleteEntityNoCommit<T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC>(deleteBasicIds);
 | 
						|
                            if (deleteFileIds != null && deleteFileIds.Any())
 | 
						|
                                this.BantchDeleteEntityNoCommit<T_SK_HIDDEN_DANGER_REPORT_DETAIL_FILE>(deleteFileIds);
 | 
						|
                            if (deleteDetailIds != null && deleteDetailIds.Any())
 | 
						|
                                this.BantchDeleteEntityNoCommit<T_SK_HIDDEN_DANGER_REPORT_DETAIL>(deleteDetailIds);
 | 
						|
                            if (task != null)
 | 
						|
                                UpdateEntityNoCommit(task);
 | 
						|
                            if (entity != null)
 | 
						|
                                UpdateEntityNoCommit(entity);
 | 
						|
                            if (details != null && details.Any())
 | 
						|
                                BantchSaveEntityNoCommit(details);
 | 
						|
                            if (files != null && files.Any())
 | 
						|
                                BantchSaveEntityNoCommit(files);
 | 
						|
                            if (fileList != null && fileList.Any())
 | 
						|
                                BantchSaveEntityNoCommit(fileList);
 | 
						|
                            if (basicList != null && basicList.Any())
 | 
						|
                                BantchSaveEntityNoCommit(basicList);
 | 
						|
                            if (notices != null && notices.Any())
 | 
						|
                                BantchSaveEntityNoCommit(notices);
 | 
						|
                        }, null, null, null, null, null, "SK014_SHOWPRINT", null, level + "隐患上报审批");
 | 
						|
                        return true;
 | 
						|
                    }
 | 
						|
                    if (entity.TaskID != Guid.Empty)
 | 
						|
                    {
 | 
						|
                        task = NotificationTaskService.GetTaskFinishModel(entity.TaskID);
 | 
						|
                        task.SOURCE_FORMCODE = "SK014_SHOWPRINT";
 | 
						|
                    }
 | 
						|
                }
 | 
						|
 | 
						|
                this.UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    if (deleteBasicIds != null && deleteBasicIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC>(deleteBasicIds);
 | 
						|
                    if (deleteFileIds != null && deleteFileIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_HIDDEN_DANGER_REPORT_DETAIL_FILE>(deleteFileIds);
 | 
						|
                    if (deleteDetailIds != null && deleteDetailIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_HIDDEN_DANGER_REPORT_DETAIL>(deleteDetailIds);
 | 
						|
                    if (task != null)
 | 
						|
                        UpdateEntityNoCommit(task);
 | 
						|
                    if (entity != null)
 | 
						|
                        UpdateEntityNoCommit(entity);
 | 
						|
                    if (details != null && details.Any())
 | 
						|
                        BantchSaveEntityNoCommit(details);
 | 
						|
                    if (files != null && files.Any())
 | 
						|
                        BantchSaveEntityNoCommit(files);
 | 
						|
                    if (fileList != null && fileList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(fileList);
 | 
						|
                    if (basicList != null && basicList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(basicList);
 | 
						|
                    if (notices != null && notices.Any())
 | 
						|
                        BantchSaveEntityNoCommit(notices);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 签字人员获取
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("GetIdentityUserEdit")]
 | 
						|
        public JsonActionResult<T_SK_HIDDEN_DANGER_REPORT> GetIdentityUserEdit([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute(() => {
 | 
						|
                var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
 | 
						|
                if (string.IsNullOrEmpty(id))
 | 
						|
                    this.ThrowError("030017");
 | 
						|
                var loginUserId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
                filter.IgnoreDataRule = true;
 | 
						|
                var result = this.GetEntity<T_SK_HIDDEN_DANGER_REPORT>(id, new string[] {"Nav_ApplyUser","Nav_ApplyDepartment","Nav_CheckType",
 | 
						|
            "Nav_ReportDetails","Nav_ReportDetails.Nav_RiskArea","Nav_ReportDetails.Nav_Contents","Nav_ReportDetails.Nav_Question","Nav_ReportDetails.Nav_ReportDetailBasics.Nav_Law",
 | 
						|
                    "Nav_ReportDetails.Nav_RecitifyUser.Nav_UserSignFiles", "Nav_ReportDetails.Nav_ReportDetailFiles.Nav_ImgFile",
 | 
						|
                    "Nav_ReportFiles","Nav_ReportFiles.Nav_ImgFile", "Nav_ProductionUnit"});
 | 
						|
                //var taskId = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "TASK_ID").Value;
 | 
						|
                if (result != null && result.Nav_ReportDetails != null && result.Nav_ReportDetails.Any())// && taskId != null
 | 
						|
                {
 | 
						|
                    result.Nav_ReportDetails = result.Nav_ReportDetails.ToList();//.Where(c => c.Nav_RecitifyUser != null && c.RECITIFY_USER_ID == loginUserId).OrderBy(t=>t.RISK_AREA_ID).ToList();
 | 
						|
                    if (result.STATUS == PFStandardStatus.Rejected)
 | 
						|
                    {
 | 
						|
                        result.CONTEXT = ApproveCallBackService.RejectContent(result.ID);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                return result;
 | 
						|
            });
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 签字人员获取
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("GetIdentityUserEditApp")]
 | 
						|
        public JsonActionResult<T_SK_HIDDEN_DANGER_REPORT> GetIdentityUserEditApp([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute(() => {
 | 
						|
                var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
 | 
						|
                if (string.IsNullOrEmpty(id))
 | 
						|
                    this.ThrowError("030017");
 | 
						|
                var loginUserId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
                filter.IgnoreDataRule = true;
 | 
						|
                var result = this.GetEntity<T_SK_HIDDEN_DANGER_REPORT>(id, new string[] {"Nav_ApplyUser","Nav_ApplyDepartment","Nav_CheckType",
 | 
						|
            "Nav_ReportDetails","Nav_ReportDetails.Nav_RiskArea","Nav_ReportDetails.Nav_Contents","Nav_ReportDetails.Nav_Question","Nav_ReportDetails.Nav_ReportDetailBasics.Nav_Law",
 | 
						|
                    "Nav_ReportDetails.Nav_RecitifyUser", "Nav_ReportDetails.Nav_ReportDetailFiles.Nav_ImgFile",
 | 
						|
                    "Nav_ReportFiles","Nav_ReportFiles.Nav_ImgFile"});
 | 
						|
                //var taskId = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "TASK_ID").Value;
 | 
						|
                if (result != null && result.Nav_ReportDetails != null && result.Nav_ReportDetails.Any())// && taskId != null
 | 
						|
                {
 | 
						|
                    result.CHECK_PERSON = string.IsNullOrEmpty(result.CHECK_PERSON) ? "" : result.CHECK_PERSON;
 | 
						|
                    //var detailTemps = result.Nav_CheckRecordDetails.Where(c => c.Nav_CheckRecordDetailUsers != null && c.Nav_CheckRecordDetailUsers.FirstOrDefault(m => m.USER_ID == loginUserId)?.USER_ID == loginUserId).ToList();
 | 
						|
                    var details = result.Nav_ReportDetails.GroupBy(t => t.RISK_AREA_ID).Select(g => g.First()).ToList();
 | 
						|
                    if (details != null && details.Any())
 | 
						|
                    {
 | 
						|
                        foreach (var item in details)
 | 
						|
                        {
 | 
						|
                            item.Nav_DetailContents = new List<T_SK_HIDDEN_DANGER_REPORT_DETAIL>();
 | 
						|
 | 
						|
                            var safeCheck1 = result.Nav_ReportDetails.Where(t => t.RISK_AREA_ID == item.RISK_AREA_ID).ToList();
 | 
						|
                            if (safeCheck1 != null && safeCheck1.Any())
 | 
						|
                            {
 | 
						|
                                foreach (var item2 in safeCheck1)
 | 
						|
                                {
 | 
						|
                                    var lawTemps = new List<T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC>();
 | 
						|
                                    T_SK_HIDDEN_DANGER_REPORT_DETAIL ddd = new T_SK_HIDDEN_DANGER_REPORT_DETAIL();
 | 
						|
                                    ddd.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID;
 | 
						|
                                    ddd.Nav_Contents = item2.Nav_Contents;
 | 
						|
                                    ddd.CHECK_QUESTION_ID = item2.CHECK_QUESTION_ID;
 | 
						|
                                    ddd.Nav_Question = item2.Nav_Question;
 | 
						|
                                    ddd.CHECKCONTENT = item2.CHECKCONTENT;
 | 
						|
                                    ddd.CHECKPROOF = item2.CHECKPROOF;
 | 
						|
                                    ddd.CHECKSTANDARD = item2.CHECKSTANDARD;
 | 
						|
                                    ddd.HIDDEN_DESCRIPTION = string.IsNullOrEmpty(item2.HIDDEN_DESCRIPTION) ? item2.Nav_Question?.DESCREPTION : item2.HIDDEN_DESCRIPTION;
 | 
						|
                                    ddd.HIDDEN_LEVEL = item2.HIDDEN_LEVEL;
 | 
						|
                                    ddd.HIDDEN_PLACE = string.IsNullOrEmpty(item2.HIDDEN_PLACE) ? "" : item2.HIDDEN_PLACE;
 | 
						|
                                    ddd.Nav_RecitifyUser = item2.Nav_RecitifyUser;
 | 
						|
                                    ddd.RECITIFY_USER_ID = item2.RECITIFY_USER_ID;
 | 
						|
                                    ddd.RECITIFY_TIME = item2.RECITIFY_TIME;
 | 
						|
                                    ddd.IS_STORE = item2.IS_STORE;
 | 
						|
                                    ddd.Nav_ReportDetailFiles = item2.Nav_ReportDetailFiles;
 | 
						|
                                    if (item2.Nav_ReportDetailBasics != null && item2.Nav_ReportDetailBasics.Any())
 | 
						|
                                    {
 | 
						|
                                        foreach (var item3 in item2.Nav_ReportDetailBasics)
 | 
						|
                                        {
 | 
						|
                                            T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC uuu = new T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC();
 | 
						|
                                            uuu.LAW_ID = item3.LAW_ID;
 | 
						|
                                            uuu.Nav_Law = item3.Nav_Law;
 | 
						|
                                            lawTemps.Add(uuu);
 | 
						|
                                        }
 | 
						|
                                    }
 | 
						|
                                    ddd.Nav_ReportDetailBasics = lawTemps;
 | 
						|
                                    item.Nav_DetailContents.Add(ddd);
 | 
						|
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
 | 
						|
                        }
 | 
						|
                        result.Nav_ReportDetails = details;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                return result;
 | 
						|
            });
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 识别人确认
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="entity"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("IdentityUpdate")]
 | 
						|
        public JsonActionResult<bool> IdentityUpdate([FromBody] T_SK_HIDDEN_DANGER_REPORT entity)
 | 
						|
        {
 | 
						|
            return SafeExecute(() =>
 | 
						|
            {
 | 
						|
                T_FM_NOTIFICATION_TASK task = null;
 | 
						|
                var record = this.GetEntity<T_SK_HIDDEN_DANGER_REPORT>(entity.ID, "Nav_ReportDetails", "Nav_ReportDetails.Nav_RecitifyUser");
 | 
						|
                var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
                if (entity.TaskID != Guid.Empty)
 | 
						|
                {
 | 
						|
                    var currTask = GetEntity<T_FM_NOTIFICATION_TASK>(t => t.ID == entity.TaskID);
 | 
						|
                    if (currTask != null)
 | 
						|
                    {
 | 
						|
                        userId = currTask.USER_ID;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                SKHiddenLevel? hiddenLevel = SKHiddenLevel.General;
 | 
						|
                record.Nav_ReportDetails.ForEach(t => {
 | 
						|
                    if (t.HIDDEN_LEVEL == SKHiddenLevel.Major)
 | 
						|
                    {
 | 
						|
                        hiddenLevel = t.HIDDEN_LEVEL;
 | 
						|
                    }
 | 
						|
                });
 | 
						|
                var details = this.GetEntities<T_SK_HIDDEN_DANGER_REPORT_DETAIL>(t => t.HIDDEN_DANGER_REPORT_ID == record.ID && t.RECITIFY_USER_ID == userId, new BaseFilter(record.ORG_ID)).ToList();
 | 
						|
                details.ForEach(t =>
 | 
						|
                {
 | 
						|
                    t.ISCHECK = true;
 | 
						|
                    t.CHECKTIME = DateTime.Now;
 | 
						|
                });
 | 
						|
                var todoCount = this.GetCount<T_SK_HIDDEN_DANGER_REPORT_DETAIL>(t => record.ID == t.HIDDEN_DANGER_REPORT_ID && t.RECITIFY_USER_ID != userId && t.ISCHECK == false, new BaseFilter(record.ORG_ID));
 | 
						|
                if (todoCount == 0)
 | 
						|
                {
 | 
						|
                    //归档
 | 
						|
                    record.STATUS = PFStandardStatus.Archived;
 | 
						|
                    //取审批流水码
 | 
						|
                    //var sysFilter = new SystemCodeFilter();
 | 
						|
                    //sysFilter.CodeType = (int)PFCodeRuleType.审批流编码;
 | 
						|
                    //sysFilter.Count = 1;
 | 
						|
                    //sysFilter.OrgId = record.ORG_ID;
 | 
						|
                    //var codes = CodeRuleService.NewGenSerial(sysFilter);
 | 
						|
                    //var serialCode = codes.Split(new char[] { ',' });
 | 
						|
                    //var param = Enum.GetName(typeof(SKHiddenLevel), hiddenLevel);
 | 
						|
                    //var level = param == "Major" ? "重大" : "一般";
 | 
						|
                    //if (hiddenLevel == SKHiddenLevel.General)
 | 
						|
                    //{
 | 
						|
                    //    var departmentType = this.GetEntity<T_FM_DEPARTMENT>(t => t.ID == record.APPLY_DEPARTMENT_ID && t.ENABLE_STATUS == 0)?.DEPARTMENT_TYPE;
 | 
						|
                    //    param = Enum.GetName(typeof(FMDepartmentType), departmentType);
 | 
						|
                    //}
 | 
						|
                    //MFlowPermitService.InsertApprove(serialCode[0], "SK014", param, entity.ID, "SK014_SHOWPRINT", entity.TaskID, true, () =>
 | 
						|
                    //{
 | 
						|
                    //    if (record != null)
 | 
						|
                    //        this.UpdateEntityNoCommit(record);
 | 
						|
                    //    if (details != null && details.Any())
 | 
						|
                    //        this.BantchSaveEntityNoCommit(details);
 | 
						|
                    //    if (task != null)
 | 
						|
                    //        this.UpdateEntityNoCommit(task);
 | 
						|
                    //}, null, null, null, null, null, "SK014_SHOWPRINT", null, level + "隐患上报审批");
 | 
						|
                    //return true;
 | 
						|
                }
 | 
						|
                if (entity.TaskID != Guid.Empty)
 | 
						|
                {
 | 
						|
                    task = NotificationTaskService.GetTaskFinishModel(entity.TaskID);
 | 
						|
                    task.SOURCE_FORMCODE = "SK014_SHOWPRINT";
 | 
						|
                }
 | 
						|
                UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    if (record != null)
 | 
						|
                        this.UpdateEntityNoCommit(record);
 | 
						|
                    if (details != null && details.Any())
 | 
						|
                        this.BantchSaveEntityNoCommit(details);
 | 
						|
                    if (task != null)
 | 
						|
                        this.UpdateEntityNoCommit(task);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 获得单条实体数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter">过滤实体</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("SKGet")]
 | 
						|
        public JsonActionResult<T_SK_HIDDEN_DANGER_REPORT> SKGet([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute(() =>
 | 
						|
            {
 | 
						|
                var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
 | 
						|
                if (string.IsNullOrEmpty(id))
 | 
						|
                    this.ThrowError("060010");
 | 
						|
                filter.IgnoreDataRule = true;
 | 
						|
                var result = this.GetEntity<T_SK_HIDDEN_DANGER_REPORT>(id, new string[] { "Nav_ApplyUser", "Nav_ApplyDepartment","Nav_CheckType",
 | 
						|
           "Nav_ReportFiles.Nav_ImgFile", "Nav_ProductionUnit"});
 | 
						|
                if (result != null)
 | 
						|
                {
 | 
						|
                    var details = this.GetEntities<T_SK_HIDDEN_DANGER_REPORT_DETAIL>(t => t.HIDDEN_DANGER_REPORT_ID == result.ID, new BaseFilter(filter.OrgId), "Nav_RiskArea", "Nav_Contents", "Nav_Question", "Nav_RecitifyUser", "Nav_ReportDetailBasics.Nav_Law", "Nav_ReportDetailFiles.Nav_ImgFile");
 | 
						|
                    result.Nav_ReportDetails = details.OrderBy(m => m.RISK_AREA_ID).ToList();
 | 
						|
                    if (result.STATUS == PFStandardStatus.Rejected)
 | 
						|
                    {
 | 
						|
                        result.CONTEXT = ApproveCallBackService.RejectContent(result.ID);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                return result;
 | 
						|
            });
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 回调函数
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="id"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("BackUpdateNew")]
 | 
						|
        public JsonActionResult<bool> BackUpdateNew([FromBody] T_PF_APPROVE entity)
 | 
						|
        {
 | 
						|
            return SafeExecute(() =>
 | 
						|
            {
 | 
						|
                return ApproveCallBackService.CallBackNew("SK/SKHiddenDangerReport/BackUpdateNew", entity);
 | 
						|
            });
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 驳回
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="id"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("RejectUpdate")]
 | 
						|
        public JsonActionResult<bool> RejectUpdate([FromBody] T_PF_APPROVE model)
 | 
						|
        {
 | 
						|
            return SafeExecute(() =>
 | 
						|
            {
 | 
						|
                //公共 获取审批流信息
 | 
						|
                T_PF_APPROVE modelApp = null;
 | 
						|
                List<T_PF_APPROVE_DETAIL> listAppDetail = null;
 | 
						|
                T_FM_NOTIFICATION_TASK taskFinish = null;
 | 
						|
                string Msg = string.Empty;
 | 
						|
                bool ResultGetInfo = ApproveCallBackService.GetApproject(model, ref modelApp, ref listAppDetail, ref taskFinish, ref Msg);
 | 
						|
                if (!ResultGetInfo)
 | 
						|
                    throw new Exception("驳回失败!");
 | 
						|
                if (modelApp == null || listAppDetail == null)
 | 
						|
                    throw new Exception("获取驳回信息失败!");
 | 
						|
                var entity = this.GetEntity<T_SK_HIDDEN_DANGER_REPORT>(model.DATA_ID, new string[] { "Nav_ApplyUser" });
 | 
						|
                entity.STATUS = PFStandardStatus.Rejected;
 | 
						|
                T_FM_NOTIFICATION_TASK notice = new T_FM_NOTIFICATION_TASK();
 | 
						|
                if (entity.APPLY_USER_ID != null)
 | 
						|
                {
 | 
						|
                    //发消息
 | 
						|
                    notice = NotificationTaskService.InsertUserNoticeTaskModel("隐患上报审批被驳回", entity.ID, entity.ORG_ID, (Guid)entity.APPLY_USER_ID, entity.Nav_ApplyUser?.NAME, DateTime.Now,
 | 
						|
               DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "SK014");
 | 
						|
                }
 | 
						|
                UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    if (entity != null)
 | 
						|
                        this.UpdateEntityNoCommit(entity);
 | 
						|
                    if (notice != null)
 | 
						|
                        this.UpdateEntityNoCommit(notice);
 | 
						|
                    if (modelApp != null)
 | 
						|
                        UpdateEntityNoCommit(modelApp);
 | 
						|
                    if (listAppDetail != null && listAppDetail.Count > 0)
 | 
						|
                        BantchUpdateEntityNoCommit(listAppDetail);
 | 
						|
                    if (taskFinish != null)
 | 
						|
                        UpdateEntityNoCommit(taskFinish);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
                //return ApproveCallBackService.CallReject("HM/HMLicenseAnalysis/RejectUpdate", id);
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 排序分页查询数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="pageFilter">分页过滤实体</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("OrderPagedSummary")]
 | 
						|
        public PagedActionResult<T_SK_HIDDEN_DANGER_REPORT> OrderPagedSummary([FromBody] KeywordPageFilter pageFilter)
 | 
						|
        {
 | 
						|
            var result = new PagedActionResult<T_SK_HIDDEN_DANGER_REPORT>();
 | 
						|
            var report = this.GetEntities<T_SK_HIDDEN_DANGER_REPORT>(t => t.IS_DELETED == false, new BaseFilter(pageFilter.OrgId), "Nav_CheckType").ToList();
 | 
						|
            var handReportConfirm = this.GetEntities<T_SK_HIDDEN_DANGER_CONFIRM>(t => t.IS_DELETED == false, new BaseFilter(pageFilter.OrgId), "Nav_CheckType");
 | 
						|
            if (handReportConfirm != null && handReportConfirm.Any())
 | 
						|
            {
 | 
						|
                foreach (var entity in handReportConfirm)
 | 
						|
                {
 | 
						|
                    T_SK_HIDDEN_DANGER_REPORT re = new T_SK_HIDDEN_DANGER_REPORT();
 | 
						|
                    re.ORG_ID = entity.ORG_ID;
 | 
						|
                    re.APPLY_DEPARTMENT_ID = entity.APPLY_DEPARTMENT_ID;
 | 
						|
                    re.ID = entity.ID;
 | 
						|
                    re.CHECK_TYPE_ID = entity.CHECK_TYPE_ID;
 | 
						|
                    re.CHECK_TIME = entity.CREATE_TIME;
 | 
						|
                    re.APPLY_USER_ID = entity.APPLY_USER_ID;
 | 
						|
                    re.PLANCHECKFREQUENCY = entity.PLANCHECKFREQUENCY;
 | 
						|
                    re.DEPARTMENT_TYPE = entity.DEPARTMENT_TYPE;
 | 
						|
                    re.MineType = entity.MineType;
 | 
						|
                    re.Nav_CheckType = entity.Nav_CheckType;
 | 
						|
                    report.Add(re);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            result.Data = report;
 | 
						|
            result.TotalCount = result.Data.Count();
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
 | 
						|
        [HttpPost, Route("GetSummary")]
 | 
						|
        public JsonActionResult<T_SK_HIDDEN_DANGER_REPORT> GetSummary([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute(() => {
 | 
						|
                var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
 | 
						|
                if (string.IsNullOrEmpty(id))
 | 
						|
                    this.ThrowError("030017");
 | 
						|
                var result = this.GetEntity<T_SK_HIDDEN_DANGER_REPORT>(id, new string[] {"Nav_ApplyUser","Nav_ApplyDepartment","Nav_CheckType",
 | 
						|
            "Nav_ReportDetails","Nav_ReportDetails.Nav_RiskArea","Nav_ReportDetails.Nav_Contents"
 | 
						|
                    });
 | 
						|
                if (result == null)
 | 
						|
                {
 | 
						|
                    var confirm = this.GetEntity<T_SK_HIDDEN_DANGER_CONFIRM>(id, new string[] {"Nav_ApplyUser","Nav_ApplyDepartment","Nav_RiskArea",
 | 
						|
            "Nav_Contents","Nav_CheckType"});
 | 
						|
                    if (confirm != null)
 | 
						|
                    {
 | 
						|
                        T_SK_HIDDEN_DANGER_REPORT report = new T_SK_HIDDEN_DANGER_REPORT();
 | 
						|
                        report.ID = confirm.ID;
 | 
						|
                        report.APPLY_DEPARTMENT_ID = confirm.APPLY_DEPARTMENT_ID;
 | 
						|
                        report.ORG_ID = confirm.ORG_ID;
 | 
						|
                        report.APPLY_USER_ID = confirm.APPLY_USER_ID;
 | 
						|
                        report.Nav_ApplyUser = confirm.Nav_ApplyUser;
 | 
						|
                        report.Nav_ApplyDepartment = confirm.Nav_ApplyDepartment;
 | 
						|
                        report.MineType = confirm.MineType;
 | 
						|
                        report.CHECK_TYPE_ID = confirm.CHECK_TYPE_ID;
 | 
						|
                        report.Nav_CheckType = confirm.Nav_CheckType;
 | 
						|
                        report.PLANCHECKFREQUENCY = confirm.PLANCHECKFREQUENCY;
 | 
						|
                        report.DEPARTMENT_TYPE = confirm.DEPARTMENT_TYPE;
 | 
						|
                        report.CHECK_TIME = confirm.CREATE_TIME;
 | 
						|
                        T_SK_HIDDEN_DANGER_REPORT_DETAIL detail = new T_SK_HIDDEN_DANGER_REPORT_DETAIL();
 | 
						|
                        detail.ID = confirm.ID;
 | 
						|
                        detail.ORG_ID = confirm.ORG_ID;
 | 
						|
                        detail.RISK_AREA_ID = confirm.RISK_AREA_ID;
 | 
						|
                        detail.Nav_RiskArea = confirm.Nav_RiskArea;
 | 
						|
                        detail.CHECK_CONTENTS_ID = confirm.CHECK_CONTENTS_ID;
 | 
						|
                        detail.Nav_Contents = confirm.Nav_Contents;
 | 
						|
                        detail.CHECKPROOF = confirm.CHECKPROOF;
 | 
						|
                        detail.CHECKSTANDARD = confirm.CHECKSTANDARD;
 | 
						|
                        detail.HIDDEN_DESCRIPTION = confirm.HIDDEN_DESCRIPTION;
 | 
						|
                        detail.HIDDEN_LEVEL = confirm.HIDDEN_LEVEL;
 | 
						|
                        detail.HIDDEN_PLACE = confirm.HIDDEN_PLACE;
 | 
						|
                        detail.HIDDEN_DANGER_REPORT_ID = report.ID;
 | 
						|
                        report.Nav_ReportDetails = new List<T_SK_HIDDEN_DANGER_REPORT_DETAIL>();
 | 
						|
                        report.Nav_ReportDetails.Add(detail);
 | 
						|
                        result = report;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                if (result != null && result.Nav_ReportDetails != null && result.Nav_ReportDetails.Any())
 | 
						|
                {
 | 
						|
                    var detailIds = result.Nav_ReportDetails.Select(t => t.ID).ToList();
 | 
						|
                    var noticeDetailIds = new List<Guid>();
 | 
						|
                    var noticeDetails = new List<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE_DETAIL>();
 | 
						|
                    var notice = this.GetEntity<T_SK_HIDDEN_DANGER_RECTIFY_NOTICE>(t => detailIds.Contains((Guid)t.HIDDEN_DANGER_REPORT_DETAIL_ID), "Nav_RectifyDetails");
 | 
						|
                    if (notice != null && notice.Nav_RectifyDetails != null && notice.Nav_RectifyDetails.Any())
 | 
						|
                    {
 | 
						|
                        noticeDetails = notice.Nav_RectifyDetails.ToList();
 | 
						|
                        noticeDetailIds = notice.Nav_RectifyDetails.Select(t => t.ID).ToList();
 | 
						|
                    }
 | 
						|
                    Expression<Func<T_SK_HIDDEN_DANGER_RECTIFY_RECORD, bool>> express = t => detailIds.Contains((Guid)t.HIDDEN_DANGER_REPORT_DETAIL_ID) || detailIds.Contains((Guid)t.HIDDEN_DANGER_CONFIRM_ID);
 | 
						|
                    if (noticeDetailIds.Any())
 | 
						|
                    {
 | 
						|
                        express = express.Or(t => noticeDetailIds.Contains((Guid)t.HIDDEN_DANGER_RECTIFY_NOTICE_ID));
 | 
						|
                    }
 | 
						|
                    //var result = this.WitOrderPaged(express, pageFilter);
 | 
						|
                    var rectifys = this.GetEntities<T_SK_HIDDEN_DANGER_RECTIFY_RECORD>(express, new BaseFilter(filter.OrgId));
 | 
						|
                    if (notice != null && noticeDetails.Any())
 | 
						|
                    {
 | 
						|
                        foreach (var item in result.Nav_ReportDetails)
 | 
						|
                        {
 | 
						|
                            var status = rectifys.FirstOrDefault(t => noticeDetailIds.Contains((Guid)t.HIDDEN_DANGER_RECTIFY_NOTICE_ID) && t.CHECK_CONTENTS_ID == item.CHECK_CONTENTS_ID && t.RISK_AREA_ID == item.RISK_AREA_ID);
 | 
						|
                            if (status != null)
 | 
						|
                            {
 | 
						|
                                item.STATUS = status.STATUS;
 | 
						|
                                item.HIDDEN_DANGER_RECTIFY_RECORD_ID = status.ID;
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        foreach (var item in result.Nav_ReportDetails)
 | 
						|
                        {
 | 
						|
                            var status = rectifys.FirstOrDefault(t => (t.HIDDEN_DANGER_REPORT_DETAIL_ID == item.ID || t.HIDDEN_DANGER_CONFIRM_ID == item.ID) && t.CHECK_CONTENTS_ID == item.CHECK_CONTENTS_ID && t.RISK_AREA_ID == item.RISK_AREA_ID);
 | 
						|
                            if (status != null)
 | 
						|
                            {
 | 
						|
                                item.STATUS = status.STATUS;
 | 
						|
                                item.HIDDEN_DANGER_RECTIFY_RECORD_ID = status.ID;
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
 | 
						|
                }
 | 
						|
                return result;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 取消作业
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="entity"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("CancleReport")]
 | 
						|
        public JsonActionResult<bool> CancleReport([FromBody] T_SK_HIDDEN_DANGER_REPORT entity)
 | 
						|
        {
 | 
						|
            return SafeExecute(() =>
 | 
						|
            {
 | 
						|
                var detailIds = new List<Guid>();
 | 
						|
                var detailFileIds = new List<Guid>();
 | 
						|
                var detailBasicIds = new List<Guid>();
 | 
						|
                var fileIds = new List<Guid>();
 | 
						|
                var taskIds = new List<Guid>();
 | 
						|
                var bitaskIds = new List<Guid>();
 | 
						|
                var approveIds = new List<Guid>();
 | 
						|
                var approveDetailIds = new List<Guid>();
 | 
						|
                var report = this.GetEntity<T_SK_HIDDEN_DANGER_REPORT>(entity.ID);
 | 
						|
                if (report != null && entity.TaskID != Guid.Empty)
 | 
						|
                {
 | 
						|
                    fileIds = this.GetEntities<T_SK_HIDDEN_DANGER_REPORT_FILE>(t => t.HIDDEN_DANGER_REPORT_ID == report.ID, new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList();
 | 
						|
                    detailIds = this.GetEntities<T_SK_HIDDEN_DANGER_REPORT_DETAIL>(t => t.HIDDEN_DANGER_REPORT_ID == report.ID, new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList();
 | 
						|
                    detailFileIds = this.GetEntities<T_SK_HIDDEN_DANGER_REPORT_DETAIL_FILE>(t => detailIds.Contains(t.HIDDEN_DANGER_REPORT_DETAIL_ID), new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList();
 | 
						|
                    detailBasicIds = this.GetEntities<T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC>(t => detailIds.Contains(t.HIDDEN_DANGER_REPORT_DETAIL_ID), new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList();
 | 
						|
                    approveIds = this.GetEntities<T_PF_APPROVE>(t => t.DATA_ID == report.ID, new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList();
 | 
						|
                    approveDetailIds = this.GetEntities<T_PF_APPROVE_DETAIL>(t => approveIds.Contains(t.APPROVE_ID), new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList();
 | 
						|
                    taskIds = this.GetEntities<T_FM_NOTIFICATION_TASK>(t => t.SOURCE_DATA_ID == report.ID || approveIds.Contains((Guid)t.SOURCE_DATA_ID), new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList();
 | 
						|
                    bitaskIds = this.GetEntities<T_BI_NOTIFICATION_TASK_NEW>(t => taskIds.Contains((Guid)t.TASK_ID), new BaseFilter(report.ORG_ID)).Select(m => m.ID).ToList();
 | 
						|
                }
 | 
						|
                UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    if (fileIds != null && fileIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_HIDDEN_DANGER_REPORT_FILE>(fileIds);
 | 
						|
                    if (detailBasicIds != null && detailBasicIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_HIDDEN_DANGER_REPORT_DETAIL_BASIC>(detailBasicIds);
 | 
						|
                    if (detailFileIds != null && detailFileIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_HIDDEN_DANGER_REPORT_DETAIL_FILE>(detailFileIds);
 | 
						|
                    if (detailIds != null && detailIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_HIDDEN_DANGER_REPORT_DETAIL>(detailIds);
 | 
						|
                    if (report != null)
 | 
						|
                        this.DeleteEntityNoCommit(report);
 | 
						|
                    if (approveDetailIds != null && approveDetailIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_PF_APPROVE_DETAIL>(approveDetailIds);
 | 
						|
                    if (approveIds != null && approveIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_PF_APPROVE>(approveIds);
 | 
						|
                    if (taskIds != null && taskIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_FM_NOTIFICATION_TASK>(taskIds);
 | 
						|
                    if (bitaskIds != null && bitaskIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_BI_NOTIFICATION_TASK_NEW>(bitaskIds);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |