2495 lines
		
	
	
		
			138 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			2495 lines
		
	
	
		
			138 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using APT.BaseData.Domain.ApiModel;
 | 
						|
using APT.BaseData.Domain.Entities.FM;
 | 
						|
using APT.BaseData.Domain.Enums;
 | 
						|
using APT.Infrastructure.Core;
 | 
						|
using APT.MS.Domain.Entities.SC.SC;
 | 
						|
using APT.MS.Domain.Entities.SC;
 | 
						|
using APT.MS.Domain.Entities.SK;
 | 
						|
using APT.MS.Domain.Enums;
 | 
						|
using APT.Utility;
 | 
						|
using Microsoft.AspNetCore.Mvc;
 | 
						|
using System.Data;
 | 
						|
using APT.MS.Domain.Entities.HM;
 | 
						|
using System.Linq.Expressions;
 | 
						|
using APT.MS.Domain.Enums.SK;
 | 
						|
using APT.BaseData.Services.Services.FM;
 | 
						|
using InfluxData.Net.InfluxDb.Models.Responses;
 | 
						|
using APT.BaseData.Domain.IServices.FM;
 | 
						|
using APT.BaseData.Domain.IServices.BS;
 | 
						|
using APT.BaseData.Domain.IServices;
 | 
						|
using APT.BaseData.Services.DomainServices;
 | 
						|
using APT.BaseData.Services.Sys;
 | 
						|
using NPOI.SS.Formula.Functions;
 | 
						|
using APT.MS.Domain.Entities.FO;
 | 
						|
using System.Linq;
 | 
						|
using Castle.Core.Internal;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System;
 | 
						|
using System.IO;
 | 
						|
using Org.BouncyCastle.Utilities;
 | 
						|
using Microsoft.Extensions.Logging;
 | 
						|
using APT.BaseData.Domain.Enums.PF;
 | 
						|
using APT.MS.Data.Mapping;
 | 
						|
using Microsoft.CodeAnalysis.CSharp.Syntax;
 | 
						|
using log4net.Core;
 | 
						|
using System.Reflection.Metadata;
 | 
						|
using APT.MS.Domain.Entities.PF;
 | 
						|
using Google.Protobuf.Collections;
 | 
						|
using Microsoft.Extensions.Hosting;
 | 
						|
 | 
						|
namespace APT.SK.WebApi.Controllers.Api
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// 检查清单
 | 
						|
    /// </summary>
 | 
						|
    public class CheckListDto
 | 
						|
    {
 | 
						|
        public string MineType { get; set; }
 | 
						|
 | 
						|
        public string CheckType { get; set; }
 | 
						|
        public string CheckCycle { get; set; }
 | 
						|
        public string CheckLevel { get; set; }
 | 
						|
 | 
						|
        public List<CheckListPost> posts { get; set; }
 | 
						|
 | 
						|
        public List<CheckListDetail> details { get; set; }
 | 
						|
    }
 | 
						|
    public class CheckListPost
 | 
						|
    {
 | 
						|
        public string CheckDepart { get; set; }
 | 
						|
        public string CheckPost { get; set; }
 | 
						|
    }
 | 
						|
    public class CheckListDetail
 | 
						|
    {
 | 
						|
        public string RISK_NAME { get; set; }
 | 
						|
        public Guid? RISK_AREA_ID { get; set; }
 | 
						|
 | 
						|
        public string RISK_AREA_NAME { get; set; }
 | 
						|
        public Guid? CHECK_CONTENTS_ID { get; set; }
 | 
						|
 | 
						|
        public string CHECK_CONTENTS_NAME { get; set; }
 | 
						|
 | 
						|
        public string CHECKPROOF { get; set; }
 | 
						|
 | 
						|
        public string CHECKSTANDARD { get; set; }
 | 
						|
    }
 | 
						|
 | 
						|
    public class CheckListNew
 | 
						|
    {
 | 
						|
        public string MineType { get; set; }
 | 
						|
 | 
						|
        public string CheckType { get; set; }
 | 
						|
        public string CheckCycle { get; set; }
 | 
						|
        public string CheckLevel { get; set; }
 | 
						|
        public int Num { get; set; }
 | 
						|
        public string CheckDepart { get; set; }
 | 
						|
        public string CheckPost { get; set; }
 | 
						|
        public List<CheckListDetail> details { get; set; }
 | 
						|
    }
 | 
						|
    /// <summary>
 | 
						|
    /// 企业库
 | 
						|
    /// </summary>
 | 
						|
    [Route("api/SK/SKEnterpriseLibrary")]
 | 
						|
    public partial class EnterpriseLibraryController : AuthorizeApiController<T_SK_ENTERPRISE_LIBRARY>
 | 
						|
    {
 | 
						|
        IFMDepartmentService DepartmentService { get; set; }
 | 
						|
        public EnterpriseLibraryController(IFMDepartmentService departmentService)
 | 
						|
        {
 | 
						|
            DepartmentService = departmentService;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 保存
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="entity"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("FullUpdate")]
 | 
						|
        public JsonActionResult<bool> FullUpdate([FromBody] T_SK_ENTERPRISE_LIBRARY entity)
 | 
						|
        {
 | 
						|
            return SafeExecute<bool>(() =>
 | 
						|
            {
 | 
						|
                var details = entity.Nav_Details;
 | 
						|
                entity.Nav_Details = null;
 | 
						|
                var departs = entity.Nav_Departs;
 | 
						|
                entity.Nav_Departs = null;
 | 
						|
                var posts = entity.Nav_Posts;
 | 
						|
                entity.Nav_Posts = null;
 | 
						|
                List<Guid> libraryDepartIds = new List<Guid>();
 | 
						|
                List<Guid> libraryPostIds = new List<Guid>();
 | 
						|
                List<Guid> libraryPostDetailIds = new List<Guid>();
 | 
						|
                List<Guid> detailIds = new List<Guid>();
 | 
						|
                List<Guid> contentIds = new List<Guid>();
 | 
						|
                List<Guid> departIds = new List<Guid>();
 | 
						|
                List<Guid> postIds = new List<Guid>();
 | 
						|
                List<Guid> hiddenIds = new List<Guid>();
 | 
						|
                List<Guid> basicIds = new List<Guid>();
 | 
						|
                List<T_SK_ENTERPRISE_LIBRARY_DEPART> libraryDepart = new List<T_SK_ENTERPRISE_LIBRARY_DEPART>();
 | 
						|
                List<T_SK_ENTERPRISE_LIBRARY_POST> libraryPost = new List<T_SK_ENTERPRISE_LIBRARY_POST>();
 | 
						|
                List<T_SK_ENTERPRISE_LIBRARY_POST_DETAIL> libraryPostList = new List<T_SK_ENTERPRISE_LIBRARY_POST_DETAIL>();
 | 
						|
                List<T_SK_ENTERPRISE_LIBRARY_DETAIL> libraryDetail = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL>();
 | 
						|
                List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT> contentList = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>();
 | 
						|
                List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART> departList = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>();
 | 
						|
                List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_POST> postList = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_POST>();
 | 
						|
                List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN> hiddenList = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN>();
 | 
						|
                List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC> basicList = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC>();
 | 
						|
                var departments = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(entity.ORG_ID), "Nav_User").ToList();
 | 
						|
                if (departs != null && departs.Any())
 | 
						|
                {
 | 
						|
                    libraryDepartIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DEPART>(t => t.ENTERPRISE_LIBRARY_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                    foreach (var item in departs.Where(t => !t.IS_DELETED).ToList())
 | 
						|
                    {
 | 
						|
                        var approve = departments.FirstOrDefault(t => t.ID == item.DEPARTMENT_ID);
 | 
						|
                        T_SK_ENTERPRISE_LIBRARY_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DEPART();
 | 
						|
                        de.ID = Guid.NewGuid();
 | 
						|
                        de.ORG_ID = entity.ORG_ID;
 | 
						|
                        de.ENTERPRISE_LIBRARY_ID = entity.ID;
 | 
						|
                        de.DEPARTMENT_TYPE = item.DEPARTMENT_TYPE;
 | 
						|
                        de.USER_ID = item.USER_ID;
 | 
						|
                        de.DEPARTMENT_ID = item.DEPARTMENT_ID;
 | 
						|
                        de.USER_ID = approve?.Nav_User?.ID;
 | 
						|
                        de.APPROVE_ROLE_ID = approve?.Nav_User?.APPROVE_ROLE_ID;
 | 
						|
                        libraryDepart.Add(de);
 | 
						|
                    }
 | 
						|
                    //var departTemp= departs.Where(t=>!t.IS_DELETED).Select(t=>t.DEPARTMENT_TYPE).Distinct().ToList();
 | 
						|
                    //if (departTemp.Any())
 | 
						|
                    //{ 
 | 
						|
                    //    var departType = string.Join("_", departTemp);
 | 
						|
                    //    entity.DEPARTMENT_TYPE = "_" + departType + "_";
 | 
						|
                    //}
 | 
						|
                }
 | 
						|
                if (posts != null && posts.Any())
 | 
						|
                {
 | 
						|
                    libraryPostIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_POST>(t => t.ENTERPRISE_LIBRARY_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                    libraryPostDetailIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_POST_DETAIL>(t => libraryPostIds.Contains(t.ENTERPRISE_LIBRARY_POST_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                    foreach (var item in posts.Where(t => !t.IS_DELETED).ToList())
 | 
						|
                    {
 | 
						|
                        T_SK_ENTERPRISE_LIBRARY_POST po = new T_SK_ENTERPRISE_LIBRARY_POST();
 | 
						|
                        po.ID = Guid.NewGuid();
 | 
						|
                        po.ORG_ID = entity.ORG_ID;
 | 
						|
                        po.ENTERPRISE_LIBRARY_ID = entity.ID;
 | 
						|
                        po.DEPARTMENT_ID = item.DEPARTMENT_ID;
 | 
						|
                        libraryPost.Add(po);
 | 
						|
                        if (item.Nav_PostDetails != null && item.Nav_PostDetails.Any())
 | 
						|
                        {
 | 
						|
                            foreach (var item2 in item.Nav_PostDetails.Where(t => !t.IS_DELETED).ToList())
 | 
						|
                            {
 | 
						|
                                T_SK_ENTERPRISE_LIBRARY_POST_DETAIL detai = new T_SK_ENTERPRISE_LIBRARY_POST_DETAIL();
 | 
						|
                                detai.ID = Guid.NewGuid();
 | 
						|
                                detai.ORG_ID = entity.ORG_ID;
 | 
						|
                                detai.ENTERPRISE_LIBRARY_POST_ID = po.ID;
 | 
						|
                                detai.POST_ID = item2.POST_ID;
 | 
						|
                                libraryPostList.Add(detai);
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                if (details != null && details.Any())
 | 
						|
                {
 | 
						|
                    detailIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => t.ENTERPRISE_LIBRARY_ID == entity.ID, new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                    contentIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(t => detailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                    basicIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC>(t => contentIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                    hiddenIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN>(t => contentIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                    departIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>(t => contentIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                    postIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_POST>(t => departIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                    foreach (var item in details.Where(t => !t.IS_DELETED).ToList())
 | 
						|
                    {
 | 
						|
                        T_SK_ENTERPRISE_LIBRARY_DETAIL de = new T_SK_ENTERPRISE_LIBRARY_DETAIL();
 | 
						|
                        de.ID = Guid.NewGuid();
 | 
						|
                        de.ORG_ID = entity.ORG_ID;
 | 
						|
                        de.ENTERPRISE_LIBRARY_ID = entity.ID;
 | 
						|
                        de.MEASURES_NAME = item.MEASURES_NAME;
 | 
						|
                        de.EMERGENCY = item.EMERGENCY;
 | 
						|
                        de.NUM = item.NUM;
 | 
						|
                        libraryDetail.Add(de);
 | 
						|
                        if (item.Nav_DetailContents != null && item.Nav_DetailContents.Any())
 | 
						|
                        {
 | 
						|
                            foreach (var item2 in item.Nav_DetailContents.Where(t => !t.IS_DELETED).ToList())
 | 
						|
                            {
 | 
						|
                                T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT con = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT();
 | 
						|
                                con.ID = Guid.NewGuid();
 | 
						|
                                con.ORG_ID = entity.ORG_ID;
 | 
						|
                                con.ENTERPRISE_LIBRARY_DETAIL_ID = de.ID;
 | 
						|
                                con.CHECK_CONTENTS_ID = item2.CHECK_CONTENTS_ID;
 | 
						|
                                con.CHECK_CONTENT = item2.CHECK_CONTENT;
 | 
						|
                                con.CHECK_BASIC = item2.CHECK_BASIC;
 | 
						|
                                con.CHECK_STANDARD = item2.CHECK_STANDARD;
 | 
						|
                                con.NUM = item2.NUM;
 | 
						|
                                contentList.Add(con);
 | 
						|
                                if (item2.Nav_DetailHiddens != null && item2.Nav_DetailHiddens.Any())
 | 
						|
                                {
 | 
						|
                                    foreach (var item3 in item2.Nav_DetailHiddens.Where(t => !t.IS_DELETED).ToList())
 | 
						|
                                    {
 | 
						|
                                        T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN hi = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN();
 | 
						|
                                        hi.ID = Guid.NewGuid();
 | 
						|
                                        hi.ORG_ID = entity.ORG_ID;
 | 
						|
                                        hi.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = con.ID;
 | 
						|
                                        hi.CHECK_QUESTION_ID = item3.CHECK_QUESTION_ID;
 | 
						|
                                        hi.HIDDEN_DESCRIPTION = item3.HIDDEN_DESCRIPTION;
 | 
						|
                                        hi.HIDDEN_LEVEL = item3.HIDDEN_LEVEL;
 | 
						|
                                        hi.RECTIFICATION_MEASURES = item3.RECTIFICATION_MEASURES;
 | 
						|
                                        hi.NUM = item3.NUM;
 | 
						|
                                        hiddenList.Add(hi);
 | 
						|
                                    }
 | 
						|
                                }
 | 
						|
                                if (item2.Nav_DetailBasics != null && item2.Nav_DetailBasics.Any())
 | 
						|
                                {
 | 
						|
                                    foreach (var item3 in item2.Nav_DetailBasics.Where(t => !t.IS_DELETED).ToList())
 | 
						|
                                    {
 | 
						|
                                        T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC ba = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC();
 | 
						|
                                        ba.ID = Guid.NewGuid();
 | 
						|
                                        ba.ORG_ID = entity.ORG_ID;
 | 
						|
                                        ba.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = con.ID;
 | 
						|
                                        ba.LAW_ID = item3.LAW_ID;
 | 
						|
                                        basicList.Add(ba);
 | 
						|
                                    }
 | 
						|
                                }
 | 
						|
 | 
						|
                                if (item2.Nav_DetailDeparts != null && item2.Nav_DetailDeparts.Any())
 | 
						|
                                {
 | 
						|
                                    foreach (var item4 in item2.Nav_DetailDeparts.Where(t => !t.IS_DELETED).ToList())
 | 
						|
                                    {
 | 
						|
                                        T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART pt = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART();
 | 
						|
                                        pt.ID = Guid.NewGuid();
 | 
						|
                                        pt.ORG_ID = entity.ORG_ID;
 | 
						|
                                        pt.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = con.ID;
 | 
						|
                                        pt.CHECK_TYPE = item4.CHECK_TYPE;
 | 
						|
                                        pt.DEPARTMENT_ID = item4.DEPARTMENT_ID;
 | 
						|
                                        pt.CHECK_TYPE_ID = item4.CHECK_TYPE_ID;
 | 
						|
                                        pt.CHECK_CYCLE = item4.CHECK_CYCLE;
 | 
						|
                                        pt.NUM = item4.NUM;
 | 
						|
                                        departList.Add(pt);
 | 
						|
                                        if (item4.Nav_DetailPosts != null && item4.Nav_DetailPosts.Any())
 | 
						|
                                        {
 | 
						|
                                            foreach (var item5 in item4.Nav_DetailPosts.Where(t => !t.IS_DELETED).ToList())
 | 
						|
                                            {
 | 
						|
                                                T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_POST po = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_POST();
 | 
						|
                                                po.ID = Guid.NewGuid();
 | 
						|
                                                po.ORG_ID = entity.ORG_ID;
 | 
						|
                                                po.ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART_ID = pt.ID;
 | 
						|
                                                po.POST_ID = item5.POST_ID;
 | 
						|
                                                postList.Add(po);
 | 
						|
                                            }
 | 
						|
                                        }
 | 
						|
 | 
						|
                                    }
 | 
						|
                                }
 | 
						|
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                //辨识层级
 | 
						|
                var postdepartIds = libraryPost.Select(t => t.DEPARTMENT_ID).Distinct().ToList();
 | 
						|
                var identitylLevel = departments.Where(m => postdepartIds.Contains(m.ID)).Select(t => t.DEPARTMENT_TYPE).Distinct().ToList();
 | 
						|
                if (identitylLevel != null && identitylLevel.Any())
 | 
						|
                {
 | 
						|
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    throw new Exception("辨识岗位不能为空");
 | 
						|
                }
 | 
						|
                //管控层级
 | 
						|
                var controlLevel = libraryDepart.Select(t => t.DEPARTMENT_TYPE).Distinct().ToList();
 | 
						|
                var count = controlLevel.Count();
 | 
						|
                //检查层级
 | 
						|
                var checkLevel = departList.Select(t => t.CHECK_TYPE).Distinct().ToList();
 | 
						|
                if (entity.EVALUATE_LEVEL == SKEvaluateLevelEnum.重大风险)
 | 
						|
                {
 | 
						|
                    if (count >= 4 && controlLevel.Contains(SKDepartmentTypeEnum.公司级))
 | 
						|
                    {
 | 
						|
                        //重大风险管控层级必须有四个层级,并且要有公司级
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        foreach (var level in identitylLevel)
 | 
						|
                        {
 | 
						|
                            if (!controlLevel.Contains((SKDepartmentTypeEnum)level))
 | 
						|
                            {
 | 
						|
                                throw new Exception("缺少管控层级,请添加管控层级:" + ((SKDepartmentTypeEnum)level).GetDescription());
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                if (entity.EVALUATE_LEVEL == SKEvaluateLevelEnum.较大风险)
 | 
						|
                {
 | 
						|
 | 
						|
                    if (count >= 3 && controlLevel.Contains(SKDepartmentTypeEnum.部门级))
 | 
						|
                    {
 | 
						|
                        //较大风险管控层级必须有三个层级,并且要有部门级
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        foreach (var level in identitylLevel)
 | 
						|
                        {
 | 
						|
                            if (!controlLevel.Contains((SKDepartmentTypeEnum)level))
 | 
						|
                            {
 | 
						|
                                throw new Exception("缺少管控层级,请添加管控层级:" + ((SKDepartmentTypeEnum)level).GetDescription());
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                if (entity.EVALUATE_LEVEL == SKEvaluateLevelEnum.一般风险)
 | 
						|
                {
 | 
						|
                    if (count >= 2 && controlLevel.Contains(SKDepartmentTypeEnum.车间级))
 | 
						|
                    {
 | 
						|
                        //一般风险管控层级必须有两个层级,并且要有车间级
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        foreach (var level in identitylLevel)
 | 
						|
                        {
 | 
						|
                            if (!controlLevel.Contains((SKDepartmentTypeEnum)level))
 | 
						|
                            {
 | 
						|
                                throw new Exception("缺少管控层级,请添加管控层级:" + ((SKDepartmentTypeEnum)level).GetDescription());
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                if (entity.EVALUATE_LEVEL == SKEvaluateLevelEnum.低风险)
 | 
						|
                {
 | 
						|
                    if (count >= 1 && controlLevel.Contains(SKDepartmentTypeEnum.班组级))
 | 
						|
                    {
 | 
						|
                        //低风险管控层级必须有一个层级,并且要有班组级
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        foreach (var level in identitylLevel)
 | 
						|
                        {
 | 
						|
                            if (!controlLevel.Contains((SKDepartmentTypeEnum)level))
 | 
						|
                            {
 | 
						|
                                throw new Exception("缺少管控层级,请添加管控层级:" + ((SKDepartmentTypeEnum)level).GetDescription());
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
 | 
						|
                    }
 | 
						|
                }
 | 
						|
 | 
						|
                if (controlLevel != null && controlLevel.Any())
 | 
						|
                {
 | 
						|
                    foreach (var level in controlLevel)
 | 
						|
                    {
 | 
						|
                        if (!checkLevel.Contains(level))
 | 
						|
                        {
 | 
						|
                            throw new Exception("管控层级与检查层级不一致,请添加检查层级:" + level.GetDescription());
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    throw new Exception("管控层级不能为空");
 | 
						|
                }
 | 
						|
                if (checkLevel != null && checkLevel.Any())
 | 
						|
                {
 | 
						|
                    foreach (var level in checkLevel)
 | 
						|
                    {
 | 
						|
                        if (!controlLevel.Contains(level))
 | 
						|
                        {
 | 
						|
                            throw new Exception("检查层级与管控层级不一致,请添加管控层级:" + level.GetDescription());
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    throw new Exception("检查部门不能为空");
 | 
						|
                }
 | 
						|
                //更新岗位清单表的检查内容
 | 
						|
                //List<T_SK_CHECK_SET_CONTENTS> setContentList = new List<T_SK_CHECK_SET_CONTENTS>();
 | 
						|
                //List<T_SK_CHECK_SET_CONTENTS_HIDDEN> setContentHiddenList = new List<T_SK_CHECK_SET_CONTENTS_HIDDEN>();
 | 
						|
                //var checkType = this.GetEntity<T_SK_CHECK_TYPE>(t => t.NAME == "岗位排查");
 | 
						|
                //if (checkType == null)
 | 
						|
                //{
 | 
						|
                //    throw new Exception("请到系统管理维护检查类型:岗位排查!");
 | 
						|
                //}
 | 
						|
                //var sets = this.GetEntities<T_SK_CHECK_SET>(t =>t.CHECK_TYPE_ID == checkType.ID, new BaseFilter(entity.ORG_ID)).ToList();
 | 
						|
                //var setIds = sets.Select(t=>t.ID).ToList();
 | 
						|
                //var setContents = this.GetEntities<T_SK_CHECK_SET_CONTENTS>(t => setIds.Contains(t.CHECK_SET_ID), new BaseFilter(entity.ORG_ID)).ToList();
 | 
						|
                //if (postList.Any())
 | 
						|
                //{
 | 
						|
                //    foreach (var item in postList)
 | 
						|
                //    {
 | 
						|
                //        var setFirst = sets.FirstOrDefault(t => t.POST_ID == item.POST_ID && t.CHECK_TYPE_ID == item.Nav_DetailDepart?.CHECK_TYPE_ID);
 | 
						|
                //        if (setFirst != null)
 | 
						|
                //        {
 | 
						|
                //            var contentFirst = setContents.FirstOrDefault(t => t.CHECK_SET_ID == setFirst.ID && t.CHECK_CONTENTS_ID == item.Nav_DetailDepart?.Nav_DetailContent?.CHECK_CONTENTS_ID);
 | 
						|
                //            if (contentFirst == null)
 | 
						|
                //            {
 | 
						|
                //                //添加检查内容
 | 
						|
                //                T_SK_CHECK_SET_CONTENTS con = new T_SK_CHECK_SET_CONTENTS();
 | 
						|
                //                con.ORG_ID = setFirst.ORG_ID;
 | 
						|
                //                con.CHECK_CONTENTS_ID = item.Nav_DetailDepart?.Nav_DetailContent?.CHECK_CONTENTS_ID;
 | 
						|
                //                con.CHECK_CONTENT = item.Nav_DetailDepart?.Nav_DetailContent?.CHECK_CONTENT;
 | 
						|
                //                con.CHECK_SET_ID = setFirst.ID;
 | 
						|
                //                setContentList.Add(con);
 | 
						|
                //                if (item.Nav_DetailDepart!=null && item.Nav_DetailDepart.Nav_DetailContent != null && item.Nav_DetailDepart.Nav_DetailContent.Nav_DetailHiddens!=null &&item.Nav_DetailDepart.Nav_DetailContent.Nav_DetailHiddens.Any())
 | 
						|
                //                {
 | 
						|
                //                    foreach (var item2 in item.Nav_DetailDepart.Nav_DetailContent.Nav_DetailHiddens)
 | 
						|
                //                    {
 | 
						|
                //                        T_SK_CHECK_SET_CONTENTS_HIDDEN hid = new T_SK_CHECK_SET_CONTENTS_HIDDEN();
 | 
						|
                //                        hid.ORG_ID = entity.ORG_ID;
 | 
						|
                //                        hid.CHECK_CONTENTS_SET_ID = con.ID;
 | 
						|
                //                        hid.CHECK_QUESTION_ID = item2.CHECK_QUESTION_ID;
 | 
						|
                //                        hid.RECTIFICATION_MEASURES = item2.RECTIFICATION_MEASURES;
 | 
						|
                //                        hid.HIDDEN_DESCRIPTION = item2.HIDDEN_DESCRIPTION;
 | 
						|
                //                        hid.HIDDEN_LEVEL = (SKHiddenLevel)item2.HIDDEN_LEVEL;
 | 
						|
                //                        setContentHiddenList.Add(hid);
 | 
						|
                //                    }
 | 
						|
                //                }
 | 
						|
                //            }
 | 
						|
                //        }
 | 
						|
                //    }
 | 
						|
                //}
 | 
						|
                //postList.ForEach(t => t.Nav_DetailDepart = null);
 | 
						|
                List<Guid> libraryIds = new List<Guid>();
 | 
						|
                List<Guid> basicDetailIds = new List<Guid>();
 | 
						|
                List<Guid> basicContentIds = new List<Guid>();
 | 
						|
                List<Guid> basicHiddenIds = new List<Guid>();
 | 
						|
                List<Guid> basicBasicIds = new List<Guid>();
 | 
						|
                T_SK_BASIC_LIBRARY enterpriseLib = null;
 | 
						|
                List<T_SK_BASIC_LIBRARY_DETAIL> libraryDetailList = new List<T_SK_BASIC_LIBRARY_DETAIL>();
 | 
						|
                List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT> libraryContentList = new List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT>();
 | 
						|
                List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN> libraryHiddenList = new List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN>();
 | 
						|
                List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC> libraryBasicList = new List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC>();
 | 
						|
                //同步基础库
 | 
						|
                if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify"))
 | 
						|
                {
 | 
						|
                    var library = this.GetEntity<T_SK_BASIC_LIBRARY>(t => t.MineType == entity.MineType && t.AREA_ID == entity.AREA_ID && t.TYPE_ID == entity.TYPE_ID && t.RISK_NAME == entity.RISK_NAME && t.RISK_DESCRIPTION == entity.RISK_DESCRIPTION);
 | 
						|
                    if (library != null)
 | 
						|
                    {
 | 
						|
                        libraryIds.Add(library.ID);
 | 
						|
                        basicDetailIds = this.GetEntities<T_SK_BASIC_LIBRARY_DETAIL>(t => t.BASIC_LIBRARY_ID == library.ID, new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                        basicContentIds = this.GetEntities<T_SK_BASIC_LIBRARY_DETAIL_CONTENT>(t => detailIds.Contains(t.BASIC_LIBRARY_DETAIL_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                        basicHiddenIds = this.GetEntities<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN>(t => contentIds.Contains(t.BASIC_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                        basicBasicIds = this.GetEntities<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC>(t => contentIds.Contains(t.BASIC_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                    }
 | 
						|
                    enterpriseLib = new T_SK_BASIC_LIBRARY();
 | 
						|
                    enterpriseLib.ID = entity.ID;
 | 
						|
                    enterpriseLib.ORG_ID = entity.ORG_ID;
 | 
						|
                    enterpriseLib.ENABLE_STATUS = entity.ENABLE_STATUS;
 | 
						|
                    enterpriseLib.MineType = entity.MineType;
 | 
						|
                    enterpriseLib.MINE_NAME = entity.MINE_NAME;
 | 
						|
                    enterpriseLib.AREA_ID = entity.AREA_ID;
 | 
						|
                    enterpriseLib.AREA_NAME = entity.AREA_NAME;
 | 
						|
                    enterpriseLib.RISK_NAME = entity.RISK_NAME;
 | 
						|
                    enterpriseLib.RISK_DESCRIPTION = entity.RISK_DESCRIPTION;
 | 
						|
                    enterpriseLib.TYPE_ID = entity.TYPE_ID;
 | 
						|
                    enterpriseLib.TYPE_NAME = entity.TYPE_NAME;
 | 
						|
                    enterpriseLib.EVALUATE_L = entity.EVALUATE_L;
 | 
						|
                    enterpriseLib.EVALUATE_E = entity.EVALUATE_E;
 | 
						|
                    enterpriseLib.EVALUATE_C = entity.EVALUATE_C;
 | 
						|
                    enterpriseLib.EVALUATE_SCORE = entity.EVALUATE_SCORE;
 | 
						|
                    enterpriseLib.EVALUATE_LEVEL = entity.EVALUATE_LEVEL;
 | 
						|
                    enterpriseLib.DEPARTMENT_TYPE = entity.DEPARTMENT_TYPE;
 | 
						|
                    enterpriseLib.NUM = entity.NUM;
 | 
						|
                    if (details != null && details.Any())
 | 
						|
                    {
 | 
						|
                        foreach (var item in details)
 | 
						|
                        {
 | 
						|
                            T_SK_BASIC_LIBRARY_DETAIL enterDetail = new T_SK_BASIC_LIBRARY_DETAIL();
 | 
						|
                            enterDetail.ORG_ID = item.ORG_ID;
 | 
						|
                            enterDetail.ID = item.ID;
 | 
						|
                            enterDetail.BASIC_LIBRARY_ID = item.ENTERPRISE_LIBRARY_ID;
 | 
						|
                            enterDetail.MEASURES_NAME = item.MEASURES_NAME;
 | 
						|
                            enterDetail.NUM = item.NUM;
 | 
						|
                            enterDetail.EMERGENCY = item.EMERGENCY;
 | 
						|
                            libraryDetailList.Add(enterDetail);
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    if (contentList != null && contentList.Any())
 | 
						|
                    {
 | 
						|
                        foreach (var item in contentList)
 | 
						|
                        {
 | 
						|
                            T_SK_BASIC_LIBRARY_DETAIL_CONTENT enterDetail = new T_SK_BASIC_LIBRARY_DETAIL_CONTENT();
 | 
						|
                            enterDetail.ORG_ID = item.ORG_ID;
 | 
						|
                            enterDetail.ID = item.ID;
 | 
						|
                            enterDetail.BASIC_LIBRARY_DETAIL_ID = item.ENTERPRISE_LIBRARY_DETAIL_ID;
 | 
						|
                            enterDetail.CHECK_CONTENT = item.CHECK_CONTENT;
 | 
						|
                            enterDetail.NUM = item.NUM;
 | 
						|
                            enterDetail.CHECK_CONTENTS_ID = item.CHECK_CONTENTS_ID;
 | 
						|
                            enterDetail.CHECK_BASIC = item.CHECK_BASIC;
 | 
						|
                            enterDetail.CHECK_STANDARD = item.CHECK_STANDARD;
 | 
						|
                            enterDetail.CHECK_CONTENTS_ID = item.CHECK_CONTENTS_ID;
 | 
						|
                            enterDetail.CHECK_BASIC = item.CHECK_BASIC;
 | 
						|
                            libraryContentList.Add(enterDetail);
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    if (basicList != null && basicList.Any())
 | 
						|
                    {
 | 
						|
                        foreach (var item in basicList)
 | 
						|
                        {
 | 
						|
                            T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC enterDetail = new T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC();
 | 
						|
                            enterDetail.ORG_ID = item.ORG_ID;
 | 
						|
                            enterDetail.ID = item.ID;
 | 
						|
                            enterDetail.BASIC_LIBRARY_DETAIL_CONTENT_ID = item.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
 | 
						|
                            enterDetail.LAW_ID = item.LAW_ID;
 | 
						|
                            libraryBasicList.Add(enterDetail);
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    if (hiddenList != null && hiddenList.Any())
 | 
						|
                    {
 | 
						|
                        foreach (var item in hiddenList)
 | 
						|
                        {
 | 
						|
                            T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN enterDetail = new T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN();
 | 
						|
                            enterDetail.ORG_ID = item.ORG_ID;
 | 
						|
                            enterDetail.ID = item.ID;
 | 
						|
                            enterDetail.BASIC_LIBRARY_DETAIL_CONTENT_ID = item.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
 | 
						|
                            enterDetail.RECTIFICATION_MEASURES = item.RECTIFICATION_MEASURES;
 | 
						|
                            enterDetail.NUM = item.NUM;
 | 
						|
                            enterDetail.CHECK_QUESTION_ID = item.CHECK_QUESTION_ID;
 | 
						|
                            enterDetail.HIDDEN_DESCRIPTION = item.HIDDEN_DESCRIPTION;
 | 
						|
                            enterDetail.HIDDEN_LEVEL = item.HIDDEN_LEVEL;
 | 
						|
                            libraryHiddenList.Add(enterDetail);
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                this.UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    if (hiddenIds != null && hiddenIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN>(hiddenIds);
 | 
						|
                    if (postIds != null && postIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_POST>(postIds);
 | 
						|
                    if (departIds != null && departIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>(departIds);
 | 
						|
                    if (basicIds != null && basicIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC>(basicIds);
 | 
						|
                    if (contentIds != null && contentIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(contentIds);
 | 
						|
                    if (detailIds != null && detailIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_ENTERPRISE_LIBRARY_DETAIL>(detailIds);
 | 
						|
                    if (libraryPostDetailIds != null && libraryPostDetailIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_ENTERPRISE_LIBRARY_POST_DETAIL>(libraryPostDetailIds);
 | 
						|
                    if (libraryPostIds != null && libraryPostIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_ENTERPRISE_LIBRARY_POST>(libraryPostIds);
 | 
						|
                    if (libraryDepartIds != null && libraryDepartIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_ENTERPRISE_LIBRARY_DEPART>(libraryDepartIds);
 | 
						|
                    if (entity != null)
 | 
						|
                        UpdateEntityNoCommit(entity);
 | 
						|
                    if (libraryDetail != null && libraryDetail.Any())
 | 
						|
                        BantchSaveEntityNoCommit(libraryDetail);
 | 
						|
                    if (libraryDepart != null && libraryDepart.Any())
 | 
						|
                        BantchSaveEntityNoCommit(libraryDepart);
 | 
						|
                    if (libraryPost != null && libraryPost.Any())
 | 
						|
                        BantchSaveEntityNoCommit(libraryPost);
 | 
						|
                    if (libraryPostList != null && libraryPostList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(libraryPostList);
 | 
						|
                    if (contentList != null && contentList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(contentList);
 | 
						|
                    if (basicList != null && basicList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(basicList);
 | 
						|
                    if (hiddenList != null && hiddenList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(hiddenList);
 | 
						|
                    if (departList != null && departList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(departList);
 | 
						|
                    if (postList != null && postList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(postList);
 | 
						|
                    if (basicHiddenIds != null && basicHiddenIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN>(basicHiddenIds);
 | 
						|
                    if (basicBasicIds != null && basicBasicIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC>(basicBasicIds);
 | 
						|
                    if (basicContentIds != null && basicContentIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_BASIC_LIBRARY_DETAIL_CONTENT>(basicContentIds);
 | 
						|
                    if (basicDetailIds != null && basicDetailIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_BASIC_LIBRARY_DETAIL>(basicDetailIds);
 | 
						|
                    if (libraryIds != null && libraryIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_BASIC_LIBRARY>(libraryIds);
 | 
						|
                    if (enterpriseLib != null)
 | 
						|
                        UpdateEntityNoCommit(enterpriseLib);
 | 
						|
                    if (libraryDetailList != null && libraryDetailList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(libraryDetailList);
 | 
						|
                    if (libraryContentList != null && libraryContentList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(libraryContentList);
 | 
						|
                    if (libraryHiddenList != null && libraryHiddenList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(libraryHiddenList);
 | 
						|
                    if (libraryBasicList != null && libraryBasicList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(libraryBasicList);
 | 
						|
                    //if (setContentList != null && setContentList.Any())
 | 
						|
                    //    BantchSaveEntityNoCommit(setContentList);
 | 
						|
                    //if (setContentHiddenList != null && setContentHiddenList.Any())
 | 
						|
                    //    BantchSaveEntityNoCommit(setContentHiddenList);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 排序分页查询数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="pageFilter">分页过滤实体</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("SKOrderPaged")]
 | 
						|
        public PagedActionResult<T_SK_ENTERPRISE_LIBRARY> SKOrderPaged([FromBody] KeywordPageFilter pageFilter)
 | 
						|
        {
 | 
						|
            var mintype = pageFilter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "MineType");
 | 
						|
            if (mintype != null && mintype.Value.ToString() == "0")
 | 
						|
                pageFilter.FilterGroup.Rules.Remove(mintype);
 | 
						|
            var nullRules = pageFilter.FilterGroup.Rules.Where(t => t.Value == null).ToList();
 | 
						|
            if (nullRules.Any())
 | 
						|
            {
 | 
						|
                nullRules.ForEach(t => pageFilter.FilterGroup.Rules.Remove(t));
 | 
						|
            }
 | 
						|
            pageFilter.Include.Add("Nav_RiskName");
 | 
						|
            pageFilter.Include.Add("Nav_Details");
 | 
						|
            pageFilter.SelectField.Add("Nav_Details.MEASURES_NAME");
 | 
						|
            var users = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0, new BaseFilter(pageFilter.OrgId), "Nav_Person");
 | 
						|
            var userPosts = this.GetEntities<T_FM_USER_POST>(t => !t.IS_DELETED, new BaseFilter(pageFilter.OrgId));
 | 
						|
            var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(pageFilter.OrgId));
 | 
						|
            var result = WitOrderPaged(null, pageFilter);
 | 
						|
            if (result != null && result.Data != null)
 | 
						|
            {
 | 
						|
                if (result.Data != null && result.Data.Any())
 | 
						|
                {
 | 
						|
                    foreach (var item in result.Data)
 | 
						|
                    {
 | 
						|
                        //管控措施
 | 
						|
                        var detailStr = new List<string>();
 | 
						|
                        if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						|
                        {
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in item.Nav_Details.OrderBy(t => t.NUM))
 | 
						|
                            {
 | 
						|
                                if (item2 != null && !string.IsNullOrEmpty(item2.MEASURES_NAME))
 | 
						|
                                {
 | 
						|
                                    detailStr.Add(item2.MEASURES_NAME);
 | 
						|
                                    var temp = i + "、" + item2.MEASURES_NAME + Environment.NewLine;
 | 
						|
                                    item.MINE_NAME = item.MINE_NAME + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (detailStr.Any())
 | 
						|
                        {
 | 
						|
                            detailStr = detailStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in detailStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.MEASURE = item.MEASURE + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        //辨识层级、部门、岗位
 | 
						|
                        var levelStr = new List<string>();
 | 
						|
                        var departIds = new List<Guid>();
 | 
						|
                        var postIds = new List<Guid?>();
 | 
						|
                        if (item.Nav_Posts != null && item.Nav_Posts.Any())
 | 
						|
                        {
 | 
						|
                            foreach (var item2 in item.Nav_Posts.OrderBy(t => t.DEPARTMENT_ID))
 | 
						|
                            {
 | 
						|
                                if (item2 != null && item2.DEPARTMENT_ID != null)
 | 
						|
                                {
 | 
						|
                                    var first = departs.FirstOrDefault(t => t.ID == item2.DEPARTMENT_ID);
 | 
						|
                                    var level = Enum.GetName(typeof(FMDepartmentType), first.DEPARTMENT_TYPE);
 | 
						|
                                    levelStr.Add(level);
 | 
						|
                                    departIds.Add(first.ID);
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (levelStr.Any())
 | 
						|
                        {
 | 
						|
                            levelStr = levelStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in levelStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var type = 0;
 | 
						|
                                    switch (item2)
 | 
						|
                                    {
 | 
						|
                                        case "部门":
 | 
						|
                                            type = 0;
 | 
						|
                                            break;
 | 
						|
                                        case "车间":
 | 
						|
                                            type = 1;
 | 
						|
                                            break;
 | 
						|
                                        case "班组":
 | 
						|
                                            type = 2;
 | 
						|
                                            break;
 | 
						|
                                        case "公司":
 | 
						|
                                            type = 3;
 | 
						|
                                            break;
 | 
						|
                                        default:
 | 
						|
                                            type = 0;
 | 
						|
                                            break;
 | 
						|
                                    }
 | 
						|
                                    var temp = i + "、" + item2 + Environment.NewLine;
 | 
						|
                                    item.CHECKLEVEL = item.CHECKLEVEL + temp;
 | 
						|
                                    var departTemps = departs.Where(t => departIds.Contains(t.ID) && t.DEPARTMENT_TYPE == type).ToList();
 | 
						|
                                    var departTempNames = departTemps.Select(m => m.NAME).Distinct().ToList();
 | 
						|
                                    var temp2 = i + "、" + string.Join(",", departTempNames) + Environment.NewLine;
 | 
						|
                                    item.CHECKDEPT = item.CHECKDEPT + temp2;
 | 
						|
                                    var departTempIds = departTemps.Select(t => t.ID).ToList();
 | 
						|
                                    var postTempIds = users.Where(t => departTempIds.Contains((Guid)t.DEPARTMENT_ID) && t.Nav_Person != null).Select(m => m.Nav_Person.POST_ID).Distinct().ToList();
 | 
						|
                                    var postTemps = userPosts.Where(t => postTempIds.Contains(t.ID)).Select(m => m.NAME).Distinct().ToList();
 | 
						|
                                    var temp3 = i + "、" + string.Join(",", postTemps) + Environment.NewLine;
 | 
						|
                                    item.CHECKPOST = item.CHECKPOST + temp3;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    result.Data.OrderBy(t => t.EVALUATE_LEVEL);
 | 
						|
                }
 | 
						|
                result.Data.OrderBy(t => t.MineType).ThenBy(m => m.EVALUATE_LEVEL);
 | 
						|
            }
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 排序查询所有数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter">过滤实体</param>
 | 
						|
        /// <returns></returns>
 | 
						|
 | 
						|
        [HttpPost, Route("SKOrderEntities")]
 | 
						|
        public JsonActionResult<IEnumerable<T_SK_ENTERPRISE_LIBRARY>> SKOrderEntities([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            var result = WitOrderEntities(null, filter);
 | 
						|
            if (result != null && result.Data != null)
 | 
						|
            {
 | 
						|
                if (result.Data != null && result.Data.Any())
 | 
						|
                {
 | 
						|
                    foreach (var item in result.Data)
 | 
						|
                    {
 | 
						|
                        var detailStr = new List<string>();
 | 
						|
                        var contentStr = new List<string>();
 | 
						|
                        var basicStr = new List<string>();
 | 
						|
                        var standardStr = new List<string>();
 | 
						|
                        var scripStr = new List<string>();
 | 
						|
                        var levelStr = new List<string>();
 | 
						|
                        var measureStr = new List<string>();
 | 
						|
                        var controlLevelStr = new List<string>();
 | 
						|
                        var controlDeptStr = new List<string>();
 | 
						|
                        var controlUserStr = new List<string>();
 | 
						|
                        var checkLevelStr = new List<string>();
 | 
						|
                        var checkTypeStr = new List<string>();
 | 
						|
                        var checkDeptStr = new List<string>();
 | 
						|
                        var checkPostStr = new List<string>();
 | 
						|
                        if (item.Nav_Departs != null && item.Nav_Departs.Any())
 | 
						|
                        {
 | 
						|
                            foreach (var item2 in item.Nav_Departs.OrderBy(t => t.DEPARTMENT_TYPE))
 | 
						|
                            {
 | 
						|
                                if (item2 != null)
 | 
						|
                                {
 | 
						|
                                    if (item2.Nav_Department != null && !string.IsNullOrEmpty(item2.Nav_Department.NAME))
 | 
						|
                                    {
 | 
						|
                                        controlDeptStr.Add(item2.Nav_Department.NAME);
 | 
						|
                                    }
 | 
						|
                                    controlLevelStr.Add(item2.DEPARTMENT_TYPE.GetDescription());
 | 
						|
                                    if (item2.Nav_User != null && !string.IsNullOrEmpty(item2.Nav_User.NAME))
 | 
						|
                                    {
 | 
						|
                                        controlUserStr.Add(item2.Nav_User.NAME);
 | 
						|
                                    }
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						|
                        {
 | 
						|
                            foreach (var item2 in item.Nav_Details.OrderBy(t => t.NUM))
 | 
						|
                            {
 | 
						|
                                if (item2 != null && !string.IsNullOrEmpty(item2.MEASURES_NAME))
 | 
						|
                                {
 | 
						|
                                    detailStr.Add(item2.MEASURES_NAME);
 | 
						|
                                }
 | 
						|
                                if (item2 != null && item2.Nav_DetailContents != null && item2.Nav_DetailContents.Any())
 | 
						|
                                {
 | 
						|
                                    foreach (var item3 in item2.Nav_DetailContents.OrderBy(t => t.NUM))
 | 
						|
                                    {
 | 
						|
                                        if (item3 != null)
 | 
						|
                                        {
 | 
						|
                                            if (item3.Nav_Contents != null && !string.IsNullOrEmpty(item3.Nav_Contents.CHECKCONTENT))
 | 
						|
                                            {
 | 
						|
                                                contentStr.Add(item3.Nav_Contents.CHECKCONTENT);
 | 
						|
                                            }
 | 
						|
                                            if (!string.IsNullOrEmpty(item3.CHECK_STANDARD))
 | 
						|
                                            {
 | 
						|
                                                standardStr.Add(item3.CHECK_STANDARD);
 | 
						|
                                            }
 | 
						|
                                            if (item3.Nav_DetailBasics != null && item3.Nav_DetailBasics.Any())
 | 
						|
                                            {
 | 
						|
                                                foreach (var item4 in item3.Nav_DetailBasics)
 | 
						|
                                                {
 | 
						|
                                                    if (item4 != null && item4.Nav_Law != null && !string.IsNullOrEmpty(item4.Nav_Law.NAME))
 | 
						|
                                                    {
 | 
						|
                                                        basicStr.Add(item4.Nav_Law.NAME);
 | 
						|
                                                    }
 | 
						|
                                                }
 | 
						|
                                            }
 | 
						|
                                            if (item3.Nav_DetailHiddens != null && item3.Nav_DetailHiddens.Any())
 | 
						|
                                            {
 | 
						|
                                                foreach (var item4 in item3.Nav_DetailHiddens.OrderBy(t => t.NUM))
 | 
						|
                                                {
 | 
						|
                                                    if (item4 != null)
 | 
						|
                                                    {
 | 
						|
                                                        if (item4.Nav_Question != null && !string.IsNullOrEmpty(item4.Nav_Question.DESCREPTION))
 | 
						|
                                                        {
 | 
						|
                                                            scripStr.Add(item4.Nav_Question.DESCREPTION);
 | 
						|
                                                        }
 | 
						|
                                                        levelStr.Add(item4.HIDDEN_LEVEL.GetDescription());
 | 
						|
                                                        if (!string.IsNullOrEmpty(item4.RECTIFICATION_MEASURES))
 | 
						|
                                                        {
 | 
						|
                                                            measureStr.Add(item4.RECTIFICATION_MEASURES);
 | 
						|
                                                        }
 | 
						|
                                                    }
 | 
						|
                                                }
 | 
						|
                                            }
 | 
						|
                                            if (item3.Nav_DetailDeparts != null && item3.Nav_DetailDeparts.Any())
 | 
						|
                                            {
 | 
						|
                                                foreach (var item4 in item3.Nav_DetailDeparts.OrderBy(t => t.NUM))
 | 
						|
                                                {
 | 
						|
                                                    if (item4 != null)
 | 
						|
                                                    {
 | 
						|
                                                        if (item4.Nav_Department != null && !string.IsNullOrEmpty(item4.Nav_Department.NAME))
 | 
						|
                                                        {
 | 
						|
                                                            checkDeptStr.Add(item4.Nav_Department.NAME);
 | 
						|
                                                        }
 | 
						|
                                                        checkLevelStr.Add(item4.CHECK_TYPE.GetDescription());
 | 
						|
                                                        checkTypeStr.Add(item4.Nav_CheckType?.NAME);
 | 
						|
                                                        if (item4.Nav_DetailPosts != null && item4.Nav_DetailPosts.Any())
 | 
						|
                                                        {
 | 
						|
                                                            foreach (var item5 in item4.Nav_DetailPosts)
 | 
						|
                                                            {
 | 
						|
                                                                if (item5 != null && item5.Nav_Post != null && !string.IsNullOrEmpty(item5.Nav_Post.NAME))
 | 
						|
                                                                {
 | 
						|
                                                                    checkPostStr.Add(item5.Nav_Post.NAME);
 | 
						|
                                                                }
 | 
						|
                                                            }
 | 
						|
                                                        }
 | 
						|
                                                    }
 | 
						|
                                                }
 | 
						|
                                            }
 | 
						|
                                        }
 | 
						|
                                    }
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (detailStr.Any())
 | 
						|
                        {
 | 
						|
                            detailStr = detailStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in detailStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.MEASURE = item.MEASURE + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (contentStr.Any())
 | 
						|
                        {
 | 
						|
                            contentStr = contentStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in contentStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.CHECKCONTENTS = item.CHECKCONTENTS + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (basicStr.Any())
 | 
						|
                        {
 | 
						|
                            basicStr = basicStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in basicStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.CHECKBASICS = item.CHECKBASICS + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (standardStr.Any())
 | 
						|
                        {
 | 
						|
                            standardStr = standardStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in standardStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.CHECKSTANDARDS = item.CHECKSTANDARDS + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (scripStr.Any())
 | 
						|
                        {
 | 
						|
                            scripStr = scripStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in scripStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.HIDDENSCRIPTION = item.HIDDENSCRIPTION + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (levelStr.Any())
 | 
						|
                        {
 | 
						|
                            levelStr = levelStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in levelStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.HIDDENLEVEL = item.HIDDENLEVEL + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (measureStr.Any())
 | 
						|
                        {
 | 
						|
                            measureStr = measureStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in measureStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.RECIFYMEASURE = item.RECIFYMEASURE + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
 | 
						|
                        if (controlLevelStr.Any())
 | 
						|
                        {
 | 
						|
                            controlLevelStr = controlLevelStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in controlLevelStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.CONTROLLEVEL = item.CONTROLLEVEL + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (controlDeptStr.Any())
 | 
						|
                        {
 | 
						|
                            controlDeptStr = controlDeptStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in controlDeptStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.CONTROLDEPT = item.CONTROLDEPT + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (controlUserStr.Any())
 | 
						|
                        {
 | 
						|
                            controlUserStr = controlUserStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in controlUserStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.CONTROLUSER = item.CONTROLUSER + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (checkLevelStr.Any())
 | 
						|
                        {
 | 
						|
                            checkLevelStr = checkLevelStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in checkLevelStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.CHECKLEVEL = item.CHECKLEVEL + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (checkTypeStr.Any())
 | 
						|
                        {
 | 
						|
                            checkTypeStr = checkTypeStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in checkTypeStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.CHECKTYPE = item.CHECKTYPE + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (checkDeptStr.Any())
 | 
						|
                        {
 | 
						|
                            checkDeptStr = checkDeptStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in checkDeptStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.CHECKDEPT = item.CHECKDEPT + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        if (checkPostStr.Any())
 | 
						|
                        {
 | 
						|
                            checkPostStr = checkPostStr.Distinct().ToList();
 | 
						|
                            var i = 1;
 | 
						|
                            foreach (var item2 in checkPostStr)
 | 
						|
                            {
 | 
						|
                                if (!string.IsNullOrEmpty(item2))
 | 
						|
                                {
 | 
						|
                                    var temp = i + "、" + item2 + "\r\n";
 | 
						|
                                    item.CHECKPOST = item.CHECKPOST + temp;
 | 
						|
                                    i++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    result.Data.OrderBy(t => t.AREA_ID);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
        [HttpPost, Route("GetCheckList")]
 | 
						|
        public JsonActionResult<List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>> GetCheckList([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            var loginDepart = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
 | 
						|
            var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
 | 
						|
            var AHDepart = departs.FirstOrDefault(t => t.NAME.Contains("安全环保"));
 | 
						|
            if (AHDepart != null && loginDepart == AHDepart.ID)
 | 
						|
            {
 | 
						|
                loginDepart = departs.FirstOrDefault(t => t.PARENT_ID == null).ID;
 | 
						|
            }
 | 
						|
            List<Guid> departmentIds = new List<Guid>() { loginDepart.Value };
 | 
						|
            DepartmentService.GetDepartmentIds(filter.OrgId.Value, new List<Guid>() { loginDepart.Value }, ref departmentIds);
 | 
						|
            var checkList = new JsonActionResult<List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>>();
 | 
						|
            var detailContents = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>(t => t.DEPARTMENT_ID != null && departmentIds.Contains((Guid)t.DEPARTMENT_ID), new BaseFilter(filter.OrgId), "Nav_DetailContent.Nav_LibraryDetail.Nav_Library", "Nav_CheckType").ToList();
 | 
						|
            if (detailContents != null && detailContents.Any())
 | 
						|
            {
 | 
						|
                foreach (var item in detailContents)
 | 
						|
                {
 | 
						|
                    item.MineType = item.Nav_DetailContent.Nav_LibraryDetail.Nav_Library.MineType;
 | 
						|
                }
 | 
						|
                checkList.Data = detailContents.GroupBy(t => new { t.MineType, t.CHECK_TYPE_ID, t.CHECK_CYCLE, t.CHECK_TYPE }).Select(m => m.FirstOrDefault()).OrderBy(n => n.MineType).ThenBy(x => x.CHECK_TYPE).ThenBy(y => y.CHECK_TYPE_ID).ToList();
 | 
						|
                checkList.TotalCount = checkList.Data.Count;
 | 
						|
            }
 | 
						|
            return checkList;
 | 
						|
        }
 | 
						|
        [HttpPost, Route("GetCheckDetailList")]
 | 
						|
        public JsonActionResult<List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>> GetCheckDetailList([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            //if (string.IsNullOrEmpty(filter.Keyword) || string.IsNullOrEmpty(filter.Parameter1) || string.IsNullOrEmpty(filter.Parameter2) || string.IsNullOrEmpty(filter.Parameter3))
 | 
						|
            //{
 | 
						|
            //    throw new Exception("传入参数有误,请联系管理员");
 | 
						|
            //}
 | 
						|
            var loginDepart = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
 | 
						|
            var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
 | 
						|
            var AHDepart = departs.FirstOrDefault(t => t.NAME.Contains("安全环保"));
 | 
						|
            if (AHDepart != null && loginDepart == AHDepart.ID)
 | 
						|
            {
 | 
						|
                loginDepart = departs.FirstOrDefault(t => t.PARENT_ID == null).ID;
 | 
						|
            }
 | 
						|
            List<Guid> departmentIds = new List<Guid>() { loginDepart.Value };
 | 
						|
            DepartmentService.GetDepartmentIds(filter.OrgId.Value, new List<Guid>() { loginDepart.Value }, ref departmentIds);
 | 
						|
            var checkList = new JsonActionResult<List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>>();
 | 
						|
            var checkTempList = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>();
 | 
						|
            var detailContents = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>(t => t.DEPARTMENT_ID != null && departmentIds.Contains((Guid)t.DEPARTMENT_ID), new BaseFilter(filter.OrgId), "Nav_DetailContent.Nav_LibraryDetail.Nav_Library", "Nav_CheckType", "Nav_Department").ToList();
 | 
						|
            if (detailContents != null && detailContents.Any())
 | 
						|
            {
 | 
						|
                foreach (var item in detailContents)
 | 
						|
                {
 | 
						|
                    item.MineType = item.Nav_DetailContent.Nav_LibraryDetail.Nav_Library.MineType;
 | 
						|
                }
 | 
						|
                if (!string.IsNullOrEmpty(filter.Keyword))
 | 
						|
                {
 | 
						|
                    detailContents = detailContents.Where(t => t.MineType == (SKProductionUnit)int.Parse(filter.Keyword)).ToList();
 | 
						|
                }
 | 
						|
                if (!string.IsNullOrEmpty(filter.Parameter1))
 | 
						|
                {
 | 
						|
                    detailContents = detailContents.Where(t => t.CHECK_TYPE_ID == Guid.Parse(filter.Parameter1)).ToList();
 | 
						|
                }
 | 
						|
                if (!string.IsNullOrEmpty(filter.Parameter2))
 | 
						|
                {
 | 
						|
                    detailContents = detailContents.Where(t => t.CHECK_CYCLE == (SKPLANCHECKFREQUENCYEnum)int.Parse(filter.Parameter2)).ToList();
 | 
						|
                }
 | 
						|
                if (!string.IsNullOrEmpty(filter.Parameter3))
 | 
						|
                {
 | 
						|
                    detailContents = detailContents.Where(t => t.CHECK_TYPE == (SKDepartmentTypeEnum)int.Parse(filter.Parameter3)).ToList();
 | 
						|
                }
 | 
						|
                var contentIds = detailContents.Select(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).Distinct().ToList();
 | 
						|
                var contentList = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(t => contentIds.Contains(t.ID), new BaseFilter(filter.OrgId), "Nav_LibraryDetail.Nav_Library.Nav_Area", "Nav_Contents", "Nav_DetailBasics.Nav_Law");
 | 
						|
                if (contentList.Any())
 | 
						|
                {
 | 
						|
                    foreach (var item in contentList)
 | 
						|
                    {
 | 
						|
                        item.MineType = item.Nav_LibraryDetail.Nav_Library.MineType;
 | 
						|
                        item.AREA_NAME = item.Nav_LibraryDetail.Nav_Library.AREA_NAME;
 | 
						|
                        item.AREA_ID = item.Nav_LibraryDetail.Nav_Library.AREA_ID;
 | 
						|
                        item.Nav_Contents = item.Nav_Contents;
 | 
						|
                        item.Nav_Area = item.Nav_LibraryDetail.Nav_Library.Nav_Area;
 | 
						|
                        item.RISK_NAME = item.Nav_LibraryDetail.Nav_Library.RISK_NAME;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                var userPosts = this.GetEntities<T_FM_USER_POST>(t => t.IS_DELETED == false, new BaseFilter(filter.OrgId)).ToList();
 | 
						|
                var departIds = detailContents.Select(t => t.ID).ToList();
 | 
						|
                var posts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_POST>(t => departIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART_ID), new BaseFilter(filter.OrgId), "Nav_DetailDepart.Nav_Department").ToList();
 | 
						|
                var tempPosts = posts.GroupBy(t => new { t.Nav_DetailDepart.DEPARTMENT_ID, t.POST_ID }).Select(m => m.FirstOrDefault()).OrderBy(n => n.Nav_DetailDepart.DEPARTMENT_ID).ToList();
 | 
						|
                foreach (var item in tempPosts)
 | 
						|
                {
 | 
						|
                    T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART item2 = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART();
 | 
						|
                    item2.DEPARTMENT_ID = item.Nav_DetailDepart.DEPARTMENT_ID;
 | 
						|
                    item2.Nav_Department = item.Nav_DetailDepart.Nav_Department;
 | 
						|
                    item2.POST_NAME = userPosts.FirstOrDefault(t => t.ID == item.POST_ID)?.NAME;
 | 
						|
                    var tempIds = detailContents.Where(t => t.DEPARTMENT_ID == item.Nav_DetailDepart.DEPARTMENT_ID).Select(m => m.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).ToList();
 | 
						|
                    var contentTemps = contentList.Where(t => tempIds.Contains(t.ID)).ToList();
 | 
						|
                    item2.Nav_ContentDatas = contentTemps.GroupBy(t => new { t.MineType, t.AREA_NAME, t.Nav_Contents?.CHECKCONTENT }).Select(m => m.FirstOrDefault()).OrderBy(n => n.MineType).ThenBy(x => x.AREA_NAME).ToList();
 | 
						|
                    checkTempList.Add(item2);
 | 
						|
                }
 | 
						|
                checkList.Data = checkTempList;
 | 
						|
                checkList.TotalCount = checkList.Data.Count;
 | 
						|
            }
 | 
						|
            return checkList;
 | 
						|
        }
 | 
						|
        [HttpPost, Route("GetCheckListContent")]
 | 
						|
        public JsonActionResult<List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>> GetCheckListContent([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            var mineType = SKProductionUnit.Mine;
 | 
						|
            if (filter.Parameter1 == "30")
 | 
						|
            {
 | 
						|
                mineType = SKProductionUnit.Mine;
 | 
						|
            }
 | 
						|
            else if (filter.Parameter1 == "10")
 | 
						|
            {
 | 
						|
                mineType = SKProductionUnit.MineChoose;
 | 
						|
            }
 | 
						|
            else if (filter.Parameter1 == "20")
 | 
						|
            {
 | 
						|
                mineType = SKProductionUnit.Minelast;
 | 
						|
            }
 | 
						|
            else if (filter.Parameter1 == "0")
 | 
						|
            {
 | 
						|
                mineType = SKProductionUnit.All;
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                throw new Exception("生产单元错误");
 | 
						|
            }
 | 
						|
            var checkCycle = BSPLANCHECKFREQUENCYEnum.Date;
 | 
						|
            if (filter.Parameter2 == "0")
 | 
						|
            {
 | 
						|
                checkCycle = BSPLANCHECKFREQUENCYEnum.None;
 | 
						|
            }
 | 
						|
            else if (filter.Parameter2 == "10")
 | 
						|
            {
 | 
						|
                checkCycle = BSPLANCHECKFREQUENCYEnum.Date;
 | 
						|
            }
 | 
						|
            else if (filter.Parameter2 == "20")
 | 
						|
            {
 | 
						|
                checkCycle = BSPLANCHECKFREQUENCYEnum.Week;
 | 
						|
            }
 | 
						|
            else if (filter.Parameter2 == "30")
 | 
						|
            {
 | 
						|
                checkCycle = BSPLANCHECKFREQUENCYEnum.Month;
 | 
						|
            }
 | 
						|
            else if (filter.Parameter2 == "40")
 | 
						|
            {
 | 
						|
                checkCycle = BSPLANCHECKFREQUENCYEnum.Quarter;
 | 
						|
            }
 | 
						|
            else if (filter.Parameter2 == "50")
 | 
						|
            {
 | 
						|
                checkCycle = BSPLANCHECKFREQUENCYEnum.HalfYear;
 | 
						|
            }
 | 
						|
            else if (filter.Parameter2 == "60")
 | 
						|
            {
 | 
						|
                checkCycle = BSPLANCHECKFREQUENCYEnum.Year;
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                throw new Exception("检查周期错误");
 | 
						|
            }
 | 
						|
            var departType = FMDepartmentType.Department;
 | 
						|
            if (filter.Parameter3 == "10")
 | 
						|
            {
 | 
						|
                departType = FMDepartmentType.Department;
 | 
						|
            }
 | 
						|
            else if (filter.Parameter3 == "15")
 | 
						|
            {
 | 
						|
                departType = FMDepartmentType.Workshop;
 | 
						|
            }
 | 
						|
            else if (filter.Parameter3 == "20")
 | 
						|
            {
 | 
						|
                departType = FMDepartmentType.Class;
 | 
						|
            }
 | 
						|
            else if (filter.Parameter3 == "5")
 | 
						|
            {
 | 
						|
                departType = FMDepartmentType.Company;
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                throw new Exception("检查层级错误");
 | 
						|
            }
 | 
						|
            var checkList = new JsonActionResult<List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>>();
 | 
						|
            var checkData = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>();
 | 
						|
            var libraryIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => t.MineType == mineType, new BaseFilter(filter.OrgId)).Select(t => t.ID).ToList();
 | 
						|
            var detailIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => libraryIds.Contains(t.ENTERPRISE_LIBRARY_ID), new BaseFilter(filter.OrgId)).Select(t => t.ID).ToList();
 | 
						|
            //var detailId2s = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(t => detailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID) && t.CHECK_CYCLE == checkCycle && t.CHECK_TYPE == departType && t.CHECK_TYPE_ID == Guid.Parse(filter.Parameter4.ToString()), new BaseFilter(filter.OrgId)).Select(m=>m.ENTERPRISE_LIBRARY_DETAIL_ID).ToList();
 | 
						|
            //var detailId3s = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_POST>(t => detailId2s.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID) && t.DEPARTMENT_ID == Guid.Parse(filter.Parameter5) && t.POST_ID == Guid.Parse(filter.Parameter6), new BaseFilter(filter.OrgId)).Select(t => t.ENTERPRISE_LIBRARY_DETAIL_ID).ToList();
 | 
						|
            //var detailContents = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(t => detailId3s.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID), new BaseFilter(filter.OrgId), "Nav_LibraryDetail.Nav_Library.Nav_Area", "Nav_Contents").ToList();
 | 
						|
            //if (detailContents != null && detailContents.Any())
 | 
						|
            //{
 | 
						|
            //    foreach (var item in detailContents)
 | 
						|
            //    {
 | 
						|
            //        item.AREA_NAME = item.Nav_LibraryDetail?.Nav_Library?.Nav_Area?.NAME;
 | 
						|
            //    }
 | 
						|
            //    checkList.Data = detailContents.ToList();
 | 
						|
            //    checkList.TotalCount = detailContents.Count;
 | 
						|
            //}
 | 
						|
            return checkList;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 排序分页查询数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="pageFilter">分页过滤实体</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("PostOrderPaged")]
 | 
						|
        public PagedActionResult<T_FM_USER_POST> PostOrderPaged([FromBody] KeywordPageFilter pageFilter)
 | 
						|
        {
 | 
						|
            var result = new PagedActionResult<T_FM_USER_POST>();
 | 
						|
            var filterValue = "";
 | 
						|
            if (pageFilter != null && pageFilter.FilterGroup != null && pageFilter.FilterGroup.Groups != null)
 | 
						|
            {
 | 
						|
                foreach (var item in pageFilter.FilterGroup.Groups)
 | 
						|
                {
 | 
						|
                    var value = item.Rules.FirstOrDefault(t => t.Field == "DEPARTMENT_ID");
 | 
						|
                    if (value != null)
 | 
						|
                    {
 | 
						|
                        filterValue = value.Value.ToString();
 | 
						|
                        item.Rules.Remove(value);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrEmpty(filterValue))
 | 
						|
            {
 | 
						|
                var users = this.GetEntities<T_FM_USER>(t => t.DEPARTMENT_ID == Guid.Parse(filterValue) && t.ENABLE_STATUS == 0 && t.PERSON_ID != null, new BaseFilter(pageFilter.OrgId), "Nav_Person");
 | 
						|
                var postIds = users.Where(m => m.Nav_Person != null).Select(t => t.Nav_Person.POST_ID).Distinct().ToList();
 | 
						|
                if (postIds.Any())
 | 
						|
                {
 | 
						|
                    result = this.GetOrderPageEntities<T_FM_USER_POST>(t => postIds.Contains(t.ID), pageFilter);
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    result = this.GetOrderPageEntities<T_FM_USER_POST>(null, pageFilter);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else if (!string.IsNullOrEmpty(pageFilter.Keyword))
 | 
						|
            {
 | 
						|
                var users = this.GetEntities<T_FM_USER>(t => t.DEPARTMENT_ID == Guid.Parse(pageFilter.Keyword) && t.ENABLE_STATUS == 0 && t.PERSON_ID != null, new BaseFilter(pageFilter.OrgId), "Nav_Person");
 | 
						|
                var postIds = users.Where(m => m.Nav_Person != null).Select(t => t.Nav_Person.POST_ID).Distinct().ToList();
 | 
						|
                if (postIds.Any())
 | 
						|
                {
 | 
						|
                    result = this.GetOrderPageEntities<T_FM_USER_POST>(t => postIds.Contains(t.ID), pageFilter);
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    result = this.GetOrderPageEntities<T_FM_USER_POST>(null, pageFilter);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                result = this.GetOrderPageEntities<T_FM_USER_POST>(null, pageFilter);
 | 
						|
            }
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 获得单条实体数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter">过滤实体</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("PostLevel")]
 | 
						|
        public JsonActionResult<T_SK_ENTERPRISE_LIBRARY> PostLevel([FromBody] T_SK_ENTERPRISE_LIBRARY entity)
 | 
						|
        {
 | 
						|
            var result = new JsonActionResult<T_SK_ENTERPRISE_LIBRARY>();
 | 
						|
            result.Data = new T_SK_ENTERPRISE_LIBRARY();
 | 
						|
            var levels = new List<T_SK_ENTERPRISE_LIBRARY_DEPART>();
 | 
						|
            if (entity != null && entity.Nav_Posts != null)
 | 
						|
            {
 | 
						|
                var temps = new List<T_SK_ENTERPRISE_LIBRARY_DEPART>();
 | 
						|
                var departIds = entity.Nav_Posts.Select(t => t.DEPARTMENT_ID).Distinct().ToList();
 | 
						|
                if (!departIds.Any())
 | 
						|
                {
 | 
						|
                    throw new Exception("请先填写辨识岗位");
 | 
						|
                }
 | 
						|
                var departs = this.GetEntities<T_FM_DEPARTMENT>(t => departIds.Contains(t.ID), new BaseFilter(entity.ORG_ID), "Nav_User");
 | 
						|
                if (departs.Any())
 | 
						|
                {
 | 
						|
                    foreach (var item in departs)
 | 
						|
                    {
 | 
						|
                        T_SK_ENTERPRISE_LIBRARY_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DEPART();
 | 
						|
                        de.DEPARTMENT_ID = item.ID;
 | 
						|
                        de.DEPARTMENT_TYPE = item.DEPARTMENT_TYPE == 0 ? SKDepartmentTypeEnum.部门级 : item.DEPARTMENT_TYPE == 3 ? SKDepartmentTypeEnum.公司级 : item.DEPARTMENT_TYPE == 1 ? SKDepartmentTypeEnum.车间级 : SKDepartmentTypeEnum.班组级;
 | 
						|
                        de.Nav_Department = item;
 | 
						|
                        de.USER_ID = item.USER_ID;
 | 
						|
                        de.Nav_User = item.Nav_User;
 | 
						|
                        temps.Add(de);
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                if (temps.Any())
 | 
						|
                {
 | 
						|
                    var x = temps.Where(t => t.DEPARTMENT_TYPE == SKDepartmentTypeEnum.公司级);
 | 
						|
                    levels.AddRange(x);
 | 
						|
                    var y = temps.Where(t => t.DEPARTMENT_TYPE != SKDepartmentTypeEnum.公司级).OrderBy(m => m.DEPARTMENT_TYPE);
 | 
						|
                    levels.AddRange(y);
 | 
						|
                    result.Data.Nav_Departs = levels;
 | 
						|
                }
 | 
						|
            }
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 获取导入数据  
 | 
						|
        /// 参考         [Route("api/PF/Import")]
 | 
						|
        /// </summary>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("GetImportData")]
 | 
						|
        public JsonActionResult<ImportDataModel> GetImportData()
 | 
						|
        {
 | 
						|
            return SafeExecute<ImportDataModel>(() =>
 | 
						|
            {
 | 
						|
                var orgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId;
 | 
						|
                var httpRequest = this.HttpContext.Request;
 | 
						|
                string orgIdStr = httpRequest.Form["OrgId"];// 获取 组织            
 | 
						|
                ImportDataModel result = new ImportDataModel();
 | 
						|
                var dic = Path.Combine(System.AppContext.BaseDirectory, "tempImportFiles");
 | 
						|
                if (!Directory.Exists(dic))
 | 
						|
                    Directory.CreateDirectory(dic);
 | 
						|
                foreach (var key in httpRequest.Form.Files)  // 文件键
 | 
						|
                {
 | 
						|
                    var postedFile = key;    // 获取文件键对应的文件对象
 | 
						|
                    string filePath = Path.Combine(dic, DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss") + "_" + postedFile.FileName);
 | 
						|
                    Byte[] fileData = new Byte[postedFile.Length];
 | 
						|
                    Stream sr = postedFile.OpenReadStream();//创建数据流对象 
 | 
						|
                    sr.Read(fileData, 0, (int)postedFile.Length);
 | 
						|
                    using (FileStream fs = new FileStream(filePath, FileMode.CreateNew))
 | 
						|
                    {
 | 
						|
                        fs.Write(fileData, 0, fileData.Length);
 | 
						|
                        fs.Flush();
 | 
						|
                        fs.Close();
 | 
						|
                    }
 | 
						|
 | 
						|
                    //获取数据
 | 
						|
                    Dictionary<int, int> startRowIndexs = new Dictionary<int, int>();
 | 
						|
                    startRowIndexs.Add(0, 1);//根据Excel格式数据赋值
 | 
						|
                    var dataTables = FileUtils.ReadExcelByOledb(filePath, startRowIndexs);
 | 
						|
                    string Msg = string.Empty;
 | 
						|
                    bool isOK = InsertModel5(dataTables.Tables[0], orgId, ref Msg);
 | 
						|
                    if (isOK)
 | 
						|
                    {
 | 
						|
                        bool isOK1 = InsertModel8(dataTables.Tables[1], orgId, ref Msg);
 | 
						|
                        if (isOK1)
 | 
						|
                        {
 | 
						|
                            bool isOK2 = InsertModel6(dataTables.Tables[2], orgId, ref Msg);
 | 
						|
                            if (isOK2)
 | 
						|
                            {
 | 
						|
                                bool isOK3 = InsertModel7(dataTables.Tables[3], orgId, ref Msg);
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    try
 | 
						|
                    {
 | 
						|
                        System.IO.File.Delete(filePath);
 | 
						|
                    }
 | 
						|
                    catch { }
 | 
						|
 | 
						|
                    result.Data = Msg;
 | 
						|
                    result.MessageList = new List<string> { Msg };
 | 
						|
                }
 | 
						|
 | 
						|
                return result;
 | 
						|
            });
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 数据插入
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="dtSource"></param>
 | 
						|
        /// <param name="orgId"></param>
 | 
						|
        /// <param name="Msg"></param>
 | 
						|
        /// <param name="rowIndex"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        /// <exception cref="Exception"></exception>
 | 
						|
        public bool InsertModel(DataTable dtSource, Guid? orgId, ref string Msg, int rowIndex = 1)
 | 
						|
        {
 | 
						|
            var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
            if (dtSource == null || dtSource.Rows.Count < rowIndex)
 | 
						|
            {
 | 
						|
                Msg = "未获取到导入数据";
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            int rowAll = dtSource.Rows.Count;
 | 
						|
            List<T_SK_ENTERPRISE_LIBRARY_TEMP> librarys = new List<T_SK_ENTERPRISE_LIBRARY_TEMP>();
 | 
						|
            if (rowAll == 1)
 | 
						|
            {
 | 
						|
                throw new Exception("导入必须两条以上,一条请直接新增");
 | 
						|
            }
 | 
						|
            var areas = this.GetEntities<T_SK_RISK_AREA>(t => t.IS_DELETED == false, new BaseFilter(orgId));
 | 
						|
            var types = this.GetEntities<T_SK_RISK_TYPE>(t => t.IS_DELETED == false, new BaseFilter(orgId));
 | 
						|
            for (int i = 0; i < rowAll; i++)
 | 
						|
            {
 | 
						|
                T_SK_ENTERPRISE_LIBRARY_TEMP temp = new T_SK_ENTERPRISE_LIBRARY_TEMP();
 | 
						|
                temp.ID = Guid.NewGuid();
 | 
						|
                temp.ORG_ID = orgId;
 | 
						|
                var num = dtSource.Rows[i][0].ToString().Trim();
 | 
						|
                temp.NUM = int.Parse(num);
 | 
						|
                temp.CODE = num;
 | 
						|
                var minetype = dtSource.Rows[i][1].ToString().Trim();
 | 
						|
                if (!string.IsNullOrEmpty(minetype))
 | 
						|
                {
 | 
						|
                    switch (minetype)
 | 
						|
                    {
 | 
						|
                        case "全公司":
 | 
						|
                            temp.MineType = 0;
 | 
						|
                            break;
 | 
						|
                        case "露天矿":
 | 
						|
                            temp.MineType = (FMProductionUnit)30;
 | 
						|
                            break;
 | 
						|
                        case "选矿厂":
 | 
						|
                            temp.MineType = (FMProductionUnit)10;
 | 
						|
                            break;
 | 
						|
                        case "尾矿库":
 | 
						|
                            temp.MineType = (FMProductionUnit)20;
 | 
						|
                            break;
 | 
						|
                        case "职能口":
 | 
						|
                            temp.MineType = (FMProductionUnit)31;
 | 
						|
                            break;
 | 
						|
                        case "非金属":
 | 
						|
                            temp.MineType = (FMProductionUnit)32;
 | 
						|
                            break;
 | 
						|
                        case "地下矿":
 | 
						|
                            temp.MineType = (FMProductionUnit)40;
 | 
						|
                            break;
 | 
						|
                        default:
 | 
						|
                            temp.MineType = 0;
 | 
						|
                            break;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                temp.MINE_NAME = minetype;
 | 
						|
                var areaName = dtSource.Rows[i][2].ToString().Trim();
 | 
						|
                if (!string.IsNullOrEmpty(areaName))
 | 
						|
                {
 | 
						|
                    var area = areas.FirstOrDefault(t => t.NAME == areaName);
 | 
						|
                    if (area != null)
 | 
						|
                    {
 | 
						|
                        temp.AREA_ID = area.ID;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                temp.AREA_NAME = areaName;
 | 
						|
                temp.RISK_NAME = dtSource.Rows[i][3].ToString().Trim();
 | 
						|
                temp.RISK_DESCRIPTION = dtSource.Rows[i][4].ToString().Trim();
 | 
						|
                var typeName = dtSource.Rows[i][5].ToString().Trim();
 | 
						|
                if (!string.IsNullOrEmpty(typeName))
 | 
						|
                {
 | 
						|
                    var type = types.FirstOrDefault(t => t.NAME == typeName);
 | 
						|
                    if (type != null)
 | 
						|
                    {
 | 
						|
                        temp.TYPE_ID = type.ID;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                temp.TYPE_NAME = typeName;
 | 
						|
                var scoreL = dtSource.Rows[i][6].ToString().Trim();
 | 
						|
                var scoreE = dtSource.Rows[i][7].ToString().Trim();
 | 
						|
                var scoreC = dtSource.Rows[i][8].ToString().Trim();
 | 
						|
                var scoreD = dtSource.Rows[i][9].ToString().Trim();
 | 
						|
                temp.EVALUATE_L = string.IsNullOrEmpty(scoreL) ? 0 : int.Parse(scoreL);
 | 
						|
                temp.EVALUATE_E = string.IsNullOrEmpty(scoreE) ? 0 : int.Parse(scoreE);
 | 
						|
                temp.EVALUATE_C = string.IsNullOrEmpty(scoreC) ? 0 : int.Parse(scoreC);
 | 
						|
                temp.EVALUATE_SCORE = string.IsNullOrEmpty(scoreD) ? 0 : int.Parse(scoreD);
 | 
						|
                var riskLevel = dtSource.Rows[i][10].ToString().Trim();
 | 
						|
                if (!string.IsNullOrEmpty(riskLevel))
 | 
						|
                {
 | 
						|
                    switch (riskLevel)
 | 
						|
                    {
 | 
						|
                        case "重大风险":
 | 
						|
                            temp.EVALUATE_LEVEL = (SKEvaluateLevelEnum)10;
 | 
						|
                            break;
 | 
						|
                        case "较大风险":
 | 
						|
                            temp.EVALUATE_LEVEL = (SKEvaluateLevelEnum)20;
 | 
						|
                            break;
 | 
						|
                        case "一般风险":
 | 
						|
                            temp.EVALUATE_LEVEL = (SKEvaluateLevelEnum)30;
 | 
						|
                            break;
 | 
						|
                        case "低风险":
 | 
						|
                            temp.EVALUATE_LEVEL = (SKEvaluateLevelEnum)40;
 | 
						|
                            break;
 | 
						|
                        default:
 | 
						|
                            temp.EVALUATE_LEVEL = (SKEvaluateLevelEnum)40;
 | 
						|
                            break;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                temp.ENABLE_STATUS = FMEnableStatusEnum.启用;
 | 
						|
                librarys.Add(temp);
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrEmpty(Msg))
 | 
						|
            {
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    if (librarys != null && librarys.Any())
 | 
						|
                        BantchAddEntityNoCommit(librarys);
 | 
						|
                });
 | 
						|
                Msg = "导入成功!";
 | 
						|
            }
 | 
						|
            return true;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 数据插入
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="dtSource"></param>
 | 
						|
        /// <param name="orgId"></param>
 | 
						|
        /// <param name="Msg"></param>
 | 
						|
        /// <param name="rowIndex"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        /// <exception cref="Exception"></exception>
 | 
						|
        public bool InsertModel2(DataTable dtSource, Guid? orgId, ref string Msg, int rowIndex = 1)
 | 
						|
        {
 | 
						|
            var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
            if (dtSource == null || dtSource.Rows.Count < rowIndex)
 | 
						|
            {
 | 
						|
                Msg = "未获取到导入数据";
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            int rowAll = dtSource.Rows.Count;
 | 
						|
            List<T_SK_LIBRARY_IMPORT_TEMP> librarys = new List<T_SK_LIBRARY_IMPORT_TEMP>();
 | 
						|
            if (rowAll == 1)
 | 
						|
            {
 | 
						|
                throw new Exception("导入必须两条以上,一条请直接新增");
 | 
						|
            }
 | 
						|
            for (int i = 0; i < rowAll; i++)
 | 
						|
            {
 | 
						|
                T_SK_LIBRARY_IMPORT_TEMP temp = new T_SK_LIBRARY_IMPORT_TEMP();
 | 
						|
                temp.ID = Guid.NewGuid();
 | 
						|
                temp.ORG_ID = orgId;
 | 
						|
                var num = dtSource.Rows[i][0].ToString().Trim();
 | 
						|
                temp.NUM = int.Parse(num);
 | 
						|
                temp.MineType = dtSource.Rows[i][1].ToString().Trim();
 | 
						|
                temp.AREA_NAME = dtSource.Rows[i][2].ToString().Trim();
 | 
						|
                temp.RISK_NAME = dtSource.Rows[i][3].ToString().Trim();
 | 
						|
                temp.RISK_DESCRIPTION = dtSource.Rows[i][4].ToString().Trim();
 | 
						|
                temp.TYPE_NAME = dtSource.Rows[i][5].ToString().Trim();
 | 
						|
                temp.MEASURES_NAME = dtSource.Rows[i][6].ToString().Trim();
 | 
						|
                temp.CHECK_CONTENT = dtSource.Rows[i][7].ToString().Trim();
 | 
						|
                temp.CHECK_BASIC = dtSource.Rows[i][8].ToString().Trim();
 | 
						|
                temp.CHECK_STANDARD = dtSource.Rows[i][9].ToString().Trim();
 | 
						|
                temp.CHECK_LEVEL = dtSource.Rows[i][10].ToString().Trim();
 | 
						|
                temp.CHECK_DEPARTMENT = dtSource.Rows[i][11].ToString().Trim();
 | 
						|
                temp.CHECK_POST = dtSource.Rows[i][12].ToString().Trim();
 | 
						|
                temp.CHECK_TYPE = dtSource.Rows[i][13].ToString().Trim();
 | 
						|
                temp.CHECK_CYCLE = dtSource.Rows[i][14].ToString().Trim();
 | 
						|
                librarys.Add(temp);
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrEmpty(Msg))
 | 
						|
            {
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    if (librarys != null && librarys.Any())
 | 
						|
                        BantchAddEntityNoCommit(librarys);
 | 
						|
                });
 | 
						|
                Msg = "导入成功!";
 | 
						|
            }
 | 
						|
            return true;
 | 
						|
        }
 | 
						|
 | 
						|
        public bool InsertModel3(DataTable dtSource, Guid? orgId, ref string Msg, int rowIndex = 1)
 | 
						|
        {
 | 
						|
            var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
            if (dtSource == null || dtSource.Rows.Count < rowIndex)
 | 
						|
            {
 | 
						|
                Msg = "未获取到导入数据";
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            int rowAll = dtSource.Rows.Count;
 | 
						|
            List<T_SK_LIBRARY_IMPORT_TEMP_NEW> librarys = new List<T_SK_LIBRARY_IMPORT_TEMP_NEW>();
 | 
						|
            if (rowAll == 1)
 | 
						|
            {
 | 
						|
                throw new Exception("导入必须两条以上,一条请直接新增");
 | 
						|
            }
 | 
						|
            for (int i = 0; i < rowAll; i++)
 | 
						|
            {
 | 
						|
                T_SK_LIBRARY_IMPORT_TEMP_NEW temp = new T_SK_LIBRARY_IMPORT_TEMP_NEW();
 | 
						|
                temp.ID = Guid.NewGuid();
 | 
						|
                temp.ORG_ID = orgId;
 | 
						|
                var num = dtSource.Rows[i][0].ToString().Trim();
 | 
						|
                temp.NUM = int.Parse(num);
 | 
						|
                temp.MineType = dtSource.Rows[i][1].ToString().Trim();
 | 
						|
                temp.AREA_NAME = dtSource.Rows[i][2].ToString().Trim();
 | 
						|
                temp.RISK_NAME = dtSource.Rows[i][3].ToString().Trim();
 | 
						|
                temp.RISK_DESCRIPTION = dtSource.Rows[i][4].ToString().Trim();
 | 
						|
                temp.TYPE_NAME = dtSource.Rows[i][5].ToString().Trim();
 | 
						|
                temp.EVALUATE_L = dtSource.Rows[i][6].ToString().Trim();
 | 
						|
                temp.EVALUATE_E = dtSource.Rows[i][7].ToString().Trim();
 | 
						|
                temp.EVALUATE_C = dtSource.Rows[i][8].ToString().Trim();
 | 
						|
                temp.EVALUATE_SCORE = dtSource.Rows[i][9].ToString().Trim();
 | 
						|
                temp.EVALUATE_LEVEL = dtSource.Rows[i][10].ToString().Trim();
 | 
						|
                temp.MEASURES_NAME = dtSource.Rows[i][11].ToString().Trim();
 | 
						|
                temp.DEPARTMENT_TYPE = dtSource.Rows[i][12].ToString().Trim();
 | 
						|
                temp.DEPARTMENT_NAME = dtSource.Rows[i][13].ToString().Trim();
 | 
						|
                temp.DEPARTMENT_USER = dtSource.Rows[i][14].ToString().Trim();
 | 
						|
                temp.CHECK_CONTENT = dtSource.Rows[i][15].ToString().Trim();
 | 
						|
                temp.CHECK_BASIC = dtSource.Rows[i][16].ToString().Trim();
 | 
						|
                temp.CHECK_STANDARD = dtSource.Rows[i][17].ToString().Trim();
 | 
						|
                temp.CHECK_LEVEL = dtSource.Rows[i][18].ToString().Trim();
 | 
						|
                temp.CHECK_DEPARTMENT = dtSource.Rows[i][19].ToString().Trim();
 | 
						|
                temp.CHECK_POST = dtSource.Rows[i][20].ToString().Trim();
 | 
						|
                temp.CHECK_TYPE = dtSource.Rows[i][21].ToString().Trim();
 | 
						|
                temp.CHECK_OBJECT = dtSource.Rows[i][22].ToString().Trim();
 | 
						|
                temp.CHECK_CYCLE = dtSource.Rows[i][23].ToString().Trim();
 | 
						|
                temp.HIDDEN_DESCRIPTION = dtSource.Rows[i][24].ToString().Trim();
 | 
						|
                temp.HIDDEN_LEVEL = "一般";
 | 
						|
                temp.HIDDEN_RECITIFY = dtSource.Rows[i][26].ToString().Trim();
 | 
						|
                librarys.Add(temp);
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrEmpty(Msg))
 | 
						|
            {
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    if (librarys != null && librarys.Any())
 | 
						|
                        BantchAddEntityNoCommit(librarys);
 | 
						|
                });
 | 
						|
                Msg = "导入成功!";
 | 
						|
            }
 | 
						|
            return true;
 | 
						|
        }
 | 
						|
        public bool InsertModel4(DataTable dtSource, Guid? orgId, ref string Msg, int rowIndex = 1)
 | 
						|
        {
 | 
						|
            var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
            if (dtSource == null || dtSource.Rows.Count < rowIndex)
 | 
						|
            {
 | 
						|
                Msg = "未获取到导入数据";
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            int rowAll = dtSource.Rows.Count;
 | 
						|
            List<T_SK_LIBRARY_IMPORT_POST> librarys = new List<T_SK_LIBRARY_IMPORT_POST>();
 | 
						|
            if (rowAll == 1)
 | 
						|
            {
 | 
						|
                throw new Exception("导入必须两条以上,一条请直接新增");
 | 
						|
            }
 | 
						|
            for (int i = 0; i < rowAll; i++)
 | 
						|
            {
 | 
						|
                T_SK_LIBRARY_IMPORT_POST temp = new T_SK_LIBRARY_IMPORT_POST();
 | 
						|
                temp.ID = Guid.NewGuid();
 | 
						|
                temp.ORG_ID = orgId;
 | 
						|
                var num = dtSource.Rows[i][0].ToString().Trim();
 | 
						|
                temp.NUM = int.Parse(num);
 | 
						|
                temp.MineType = dtSource.Rows[i][1].ToString().Trim();
 | 
						|
                temp.DEPARTMENT_NAME = dtSource.Rows[i][2].ToString().Trim();
 | 
						|
                temp.POST_NAME = dtSource.Rows[i][3].ToString().Trim();
 | 
						|
                temp.AREA_NAME1 = dtSource.Rows[i][4].ToString().Trim();
 | 
						|
                temp.RISK_NAME1 = dtSource.Rows[i][5].ToString().Trim();
 | 
						|
                temp.AREA_NAME2 = dtSource.Rows[i][6].ToString().Trim();
 | 
						|
                temp.RISK_NAME2 = dtSource.Rows[i][7].ToString().Trim();
 | 
						|
                temp.AREA_NAME3 = dtSource.Rows[i][8].ToString().Trim();
 | 
						|
                temp.RISK_NAME3 = dtSource.Rows[i][9].ToString().Trim();
 | 
						|
                temp.AREA_NAME4 = dtSource.Rows[i][10].ToString().Trim();
 | 
						|
                temp.RISK_NAME4 = dtSource.Rows[i][11].ToString().Trim();
 | 
						|
                temp.AREA_NAME5 = dtSource.Rows[i][12].ToString().Trim();
 | 
						|
                temp.RISK_NAME5 = dtSource.Rows[i][13].ToString().Trim();
 | 
						|
                temp.AREA_NAME6 = dtSource.Rows[i][14].ToString().Trim();
 | 
						|
                temp.RISK_NAME6 = dtSource.Rows[i][15].ToString().Trim();
 | 
						|
                librarys.Add(temp);
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrEmpty(Msg))
 | 
						|
            {
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    if (librarys != null && librarys.Any())
 | 
						|
                        BantchAddEntityNoCommit(librarys);
 | 
						|
                });
 | 
						|
                Msg = "导入成功!";
 | 
						|
            }
 | 
						|
            return true;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 辨识部门岗位,对应风险
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("GetPostRiskList")]
 | 
						|
        public JsonActionResult<List<T_SK_ENTERPRISE_LIBRARY_POST>> GetPostRiskList([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            var loginDepart = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
 | 
						|
            var posts = this.GetEntities<T_FM_USER_POST>(t => t.IS_DELETED == false, new BaseFilter(filter.OrgId));
 | 
						|
            var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
 | 
						|
            var users = this.GetEntities<T_FM_USER>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
 | 
						|
            var AHDepart = departs.FirstOrDefault(t => t.NAME.Contains("安全环保"));
 | 
						|
            if (AHDepart != null && loginDepart == AHDepart.ID)
 | 
						|
            {
 | 
						|
                loginDepart = departs.FirstOrDefault(t => t.PARENT_ID == null).ID;
 | 
						|
            }
 | 
						|
            List<Guid> departmentIds = new List<Guid>() { loginDepart.Value };
 | 
						|
            DepartmentService.GetDepartmentIds(filter.OrgId.Value, new List<Guid>() { loginDepart.Value }, ref departmentIds);
 | 
						|
            var checkList = new JsonActionResult<List<T_SK_ENTERPRISE_LIBRARY_POST>>();
 | 
						|
            List<T_SK_ENTERPRISE_LIBRARY_POST> postLists = new List<T_SK_ENTERPRISE_LIBRARY_POST>();
 | 
						|
            var detailContents = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_POST>(t => t.DEPARTMENT_ID != null && departmentIds.Contains((Guid)t.DEPARTMENT_ID), new BaseFilter(filter.OrgId), "Nav_Library", "Nav_PostDetails", "Nav_Department");
 | 
						|
            if (detailContents != null && detailContents.Any())
 | 
						|
            {
 | 
						|
                foreach (var item in detailContents)
 | 
						|
                {
 | 
						|
                    if (item.Nav_PostDetails != null && item.Nav_PostDetails.Any())
 | 
						|
                    {
 | 
						|
                        foreach (var item2 in item.Nav_PostDetails)
 | 
						|
                        {
 | 
						|
                            var user = users.FirstOrDefault(t => t.ID == item.Nav_Department?.USER_ID);
 | 
						|
                            T_SK_ENTERPRISE_LIBRARY_POST part = new T_SK_ENTERPRISE_LIBRARY_POST();
 | 
						|
                            part.DEPARTMENT_ID = item.DEPARTMENT_ID;
 | 
						|
                            part.ORG_ID = item.ORG_ID;
 | 
						|
                            part.ENTERPRISE_LIBRARY_ID = item.ENTERPRISE_LIBRARY_ID;
 | 
						|
                            part.Nav_Department = item.Nav_Department;
 | 
						|
                            part.POST_NAME = posts.FirstOrDefault(t => t.ID == item2.POST_ID)?.NAME;
 | 
						|
                            part.PHONE = user?.NAME + "    " + user?.PHONE;
 | 
						|
                            postLists.Add(part);
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                checkList.Data = postLists.GroupBy(t => new { t.DEPARTMENT_ID, t.POST_NAME }).Select(m => m.FirstOrDefault()).OrderBy(m => m.DEPARTMENT_ID).ToList();
 | 
						|
                if (checkList.Data != null && checkList.Data.Any())
 | 
						|
                {
 | 
						|
                    var libraryIds = postLists.Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
 | 
						|
                    var librarys = this.GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => libraryIds.Contains(t.ID), new BaseFilter(filter.OrgId), "Nav_Area", "Nav_Type", "Nav_RiskName", "Nav_Details", "Nav_Photo.Nav_ImgFile");
 | 
						|
                    foreach (var item in checkList.Data)
 | 
						|
                    {
 | 
						|
                        var tempIds = postLists.Where(t => t.DEPARTMENT_ID == item.DEPARTMENT_ID && t.POST_NAME == item.POST_NAME).Select(m => m.ENTERPRISE_LIBRARY_ID).Distinct().ToList();
 | 
						|
                        item.Nav_Librarys = librarys.Where(t => tempIds.Contains(t.ID)).OrderBy(m => m.EVALUATE_LEVEL).ToList();
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                checkList.TotalCount = checkList.Data.Count;
 | 
						|
            }
 | 
						|
            return checkList;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 主表
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="dtSource"></param>
 | 
						|
        /// <param name="orgId"></param>
 | 
						|
        /// <param name="Msg"></param>
 | 
						|
        /// <param name="rowIndex"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        /// <exception cref="Exception"></exception>
 | 
						|
        public bool InsertModel5(DataTable dtSource, Guid? orgId, ref string Msg, int rowIndex = 1)
 | 
						|
        {
 | 
						|
            var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
            if (dtSource == null || dtSource.Rows.Count < rowIndex)
 | 
						|
            {
 | 
						|
                Msg = "未获取到导入数据";
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            int rowAll = dtSource.Rows.Count;
 | 
						|
            List<T_SK_LIBRARY_IMPORT_MAIN> librarys = new List<T_SK_LIBRARY_IMPORT_MAIN>();
 | 
						|
            if (rowAll == 1)
 | 
						|
            {
 | 
						|
                throw new Exception("导入必须两条以上,一条请直接新增");
 | 
						|
            }
 | 
						|
            for (int i = 0; i < rowAll; i++)
 | 
						|
            {
 | 
						|
                T_SK_LIBRARY_IMPORT_MAIN temp = new T_SK_LIBRARY_IMPORT_MAIN();
 | 
						|
                temp.ID = Guid.NewGuid();
 | 
						|
                temp.ORG_ID = orgId;
 | 
						|
                temp.NUM = i + 1;
 | 
						|
                temp.MineType = dtSource.Rows[i][0].ToString().Trim();
 | 
						|
                temp.AREA_NAME = dtSource.Rows[i][1].ToString().Trim();
 | 
						|
                temp.RISK_NAME = dtSource.Rows[i][2].ToString().Trim();
 | 
						|
                temp.RISK_DESCRIPTION = dtSource.Rows[i][3].ToString().Trim();
 | 
						|
                temp.TYPE_NAME = dtSource.Rows[i][4].ToString().Trim();
 | 
						|
                temp.EVALUATE_L = dtSource.Rows[i][5].ToString().Trim();
 | 
						|
                temp.EVALUATE_E = dtSource.Rows[i][6].ToString().Trim();
 | 
						|
                temp.EVALUATE_C = dtSource.Rows[i][7].ToString().Trim();
 | 
						|
                temp.EVALUATE_SCORE = dtSource.Rows[i][8].ToString().Trim();
 | 
						|
                temp.EVALUATE_LEVEL = dtSource.Rows[i][9].ToString().Trim();
 | 
						|
                temp.EMERGENCY = dtSource.Rows[i][10].ToString().Trim();
 | 
						|
                temp.DEPARTMENT_NAME = dtSource.Rows[i][11].ToString().Trim();
 | 
						|
                librarys.Add(temp);
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrEmpty(Msg))
 | 
						|
            {
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    if (librarys != null && librarys.Any())
 | 
						|
                        BantchAddEntityNoCommit(librarys);
 | 
						|
                });
 | 
						|
                Msg = "导入成功!";
 | 
						|
            }
 | 
						|
            return true;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 管控措施表
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="dtSource"></param>
 | 
						|
        /// <param name="orgId"></param>
 | 
						|
        /// <param name="Msg"></param>
 | 
						|
        /// <param name="rowIndex"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        /// <exception cref="Exception"></exception>
 | 
						|
        public bool InsertModel6(DataTable dtSource, Guid? orgId, ref string Msg, int rowIndex = 1)
 | 
						|
        {
 | 
						|
            var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
            if (dtSource == null || dtSource.Rows.Count < rowIndex)
 | 
						|
            {
 | 
						|
                Msg = "未获取到导入数据";
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            int rowAll = dtSource.Rows.Count;
 | 
						|
            List<T_SK_LIBRARY_IMPORT_MAIN_MEASURES> librarys = new List<T_SK_LIBRARY_IMPORT_MAIN_MEASURES>();
 | 
						|
            if (rowAll == 1)
 | 
						|
            {
 | 
						|
                throw new Exception("导入必须两条以上,一条请直接新增");
 | 
						|
            }
 | 
						|
            for (int i = 0; i < rowAll; i++)
 | 
						|
            {
 | 
						|
                T_SK_LIBRARY_IMPORT_MAIN_MEASURES temp = new T_SK_LIBRARY_IMPORT_MAIN_MEASURES();
 | 
						|
                temp.ID = Guid.NewGuid();
 | 
						|
                temp.ORG_ID = orgId;
 | 
						|
                temp.NUM = i + 1;
 | 
						|
                temp.MineType = dtSource.Rows[i][0].ToString().Trim();
 | 
						|
                temp.AREA_NAME = dtSource.Rows[i][1].ToString().Trim();
 | 
						|
                temp.RISK_NAME = dtSource.Rows[i][2].ToString().Trim();
 | 
						|
                temp.RISK_DESCRIPTION = dtSource.Rows[i][3].ToString().Trim();
 | 
						|
                temp.TYPE_NAME = dtSource.Rows[i][4].ToString().Trim();
 | 
						|
                temp.MEASURES_NAME = dtSource.Rows[i][5].ToString().Trim();
 | 
						|
                temp.CHECK_CONTENT = dtSource.Rows[i][6].ToString().Trim();
 | 
						|
                temp.CHECK_BASIC = dtSource.Rows[i][7].ToString().Trim();
 | 
						|
                temp.CHECK_STANDARD = dtSource.Rows[i][8].ToString().Trim();
 | 
						|
                temp.CHECK_LEVEL = dtSource.Rows[i][9].ToString().Trim();
 | 
						|
                temp.CHECK_DEPARTMENT = dtSource.Rows[i][10].ToString().Trim();
 | 
						|
                temp.CHECK_POST = dtSource.Rows[i][11].ToString().Trim();
 | 
						|
                temp.CHECK_TYPE = dtSource.Rows[i][12].ToString().Trim();
 | 
						|
                temp.CHECK_OBJECT = dtSource.Rows[i][13].ToString().Trim();
 | 
						|
                temp.CHECK_CYCLE = dtSource.Rows[i][14].ToString().Trim();
 | 
						|
                librarys.Add(temp);
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrEmpty(Msg))
 | 
						|
            {
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    if (librarys != null && librarys.Any())
 | 
						|
                        BantchAddEntityNoCommit(librarys);
 | 
						|
                });
 | 
						|
                Msg = "导入成功!";
 | 
						|
            }
 | 
						|
            return true;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 隐患描述表
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="dtSource"></param>
 | 
						|
        /// <param name="orgId"></param>
 | 
						|
        /// <param name="Msg"></param>
 | 
						|
        /// <param name="rowIndex"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        /// <exception cref="Exception"></exception>
 | 
						|
        public bool InsertModel7(DataTable dtSource, Guid? orgId, ref string Msg, int rowIndex = 1)
 | 
						|
        {
 | 
						|
            var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
            if (dtSource == null || dtSource.Rows.Count < rowIndex)
 | 
						|
            {
 | 
						|
                Msg = "未获取到导入数据";
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            int rowAll = dtSource.Rows.Count;
 | 
						|
            List<T_SK_LIBRARY_IMPORT_MAIN_HIDDEN> librarys = new List<T_SK_LIBRARY_IMPORT_MAIN_HIDDEN>();
 | 
						|
            if (rowAll == 1)
 | 
						|
            {
 | 
						|
                throw new Exception("导入必须两条以上,一条请直接新增");
 | 
						|
            }
 | 
						|
            for (int i = 0; i < rowAll; i++)
 | 
						|
            {
 | 
						|
                T_SK_LIBRARY_IMPORT_MAIN_HIDDEN temp = new T_SK_LIBRARY_IMPORT_MAIN_HIDDEN();
 | 
						|
                temp.ID = Guid.NewGuid();
 | 
						|
                temp.ORG_ID = orgId;
 | 
						|
                temp.NUM = i + 1;
 | 
						|
                temp.MineType = dtSource.Rows[i][0].ToString().Trim();
 | 
						|
                temp.AREA_NAME = dtSource.Rows[i][1].ToString().Trim();
 | 
						|
                temp.RISK_NAME = dtSource.Rows[i][2].ToString().Trim();
 | 
						|
                temp.RISK_DESCRIPTION = dtSource.Rows[i][3].ToString().Trim();
 | 
						|
                temp.TYPE_NAME = dtSource.Rows[i][4].ToString().Trim();
 | 
						|
                temp.MEASURES_NAME = dtSource.Rows[i][5].ToString().Trim();
 | 
						|
                temp.CHECK_CONTENT = dtSource.Rows[i][6].ToString().Trim();
 | 
						|
                temp.HIDDEN_DESCRIPTION = dtSource.Rows[i][7].ToString().Trim();
 | 
						|
                temp.HIDDEN_LEVEL = dtSource.Rows[i][8].ToString().Trim();
 | 
						|
                temp.HIDDEN_RECITIFY = dtSource.Rows[i][9].ToString().Trim();
 | 
						|
                librarys.Add(temp);
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrEmpty(Msg))
 | 
						|
            {
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    if (librarys != null && librarys.Any())
 | 
						|
                        BantchAddEntityNoCommit(librarys);
 | 
						|
                });
 | 
						|
                Msg = "导入成功!";
 | 
						|
            }
 | 
						|
            return true;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 隐患描述表
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="dtSource"></param>
 | 
						|
        /// <param name="orgId"></param>
 | 
						|
        /// <param name="Msg"></param>
 | 
						|
        /// <param name="rowIndex"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        /// <exception cref="Exception"></exception>
 | 
						|
        public bool InsertModel8(DataTable dtSource, Guid? orgId, ref string Msg, int rowIndex = 1)
 | 
						|
        {
 | 
						|
            var userId = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
            if (dtSource == null || dtSource.Rows.Count < rowIndex)
 | 
						|
            {
 | 
						|
                Msg = "未获取到导入数据";
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            int rowAll = dtSource.Rows.Count;
 | 
						|
            List<T_SK_LIBRARY_IMPORT_MAIN_POST> librarys = new List<T_SK_LIBRARY_IMPORT_MAIN_POST>();
 | 
						|
            if (rowAll == 1)
 | 
						|
            {
 | 
						|
                throw new Exception("导入必须两条以上,一条请直接新增");
 | 
						|
            }
 | 
						|
            for (int i = 0; i < rowAll; i++)
 | 
						|
            {
 | 
						|
                T_SK_LIBRARY_IMPORT_MAIN_POST temp = new T_SK_LIBRARY_IMPORT_MAIN_POST();
 | 
						|
                temp.ID = Guid.NewGuid();
 | 
						|
                temp.ORG_ID = orgId;
 | 
						|
                temp.NUM = i + 1;
 | 
						|
                temp.MineType = dtSource.Rows[i][0].ToString().Trim();
 | 
						|
                temp.AREA_NAME = dtSource.Rows[i][1].ToString().Trim();
 | 
						|
                temp.RISK_NAME = dtSource.Rows[i][2].ToString().Trim();
 | 
						|
                temp.RISK_DESCRIPTION = dtSource.Rows[i][3].ToString().Trim();
 | 
						|
                temp.TYPE_NAME = dtSource.Rows[i][4].ToString().Trim();
 | 
						|
                temp.DEPARTMENT_NAME = dtSource.Rows[i][5].ToString().Trim();
 | 
						|
                temp.POST_NAME = dtSource.Rows[i][6].ToString().Trim();
 | 
						|
                librarys.Add(temp);
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrEmpty(Msg))
 | 
						|
            {
 | 
						|
                throw new Exception(Msg);
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                UnifiedCommit(() =>
 | 
						|
                {
 | 
						|
                    if (librarys != null && librarys.Any())
 | 
						|
                        BantchAddEntityNoCommit(librarys);
 | 
						|
                });
 | 
						|
                Msg = "导入成功!";
 | 
						|
            }
 | 
						|
            return true;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 获得单条实体数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter">过滤实体</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("SKGetOld")]
 | 
						|
        public JsonActionResult<T_SK_ENTERPRISE_LIBRARY> SKGetOld([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            var result = WitEntity(null, filter);
 | 
						|
            if (result != null && result.Data != null)
 | 
						|
            {
 | 
						|
                if (result.Data.Nav_Details != null && result.Data.Nav_Details.Any())
 | 
						|
                {
 | 
						|
                    foreach (var item in result.Data.Nav_Details)
 | 
						|
                    {
 | 
						|
                        if (item.Nav_DetailContents != null && item.Nav_DetailContents.Any())
 | 
						|
                        {
 | 
						|
                            item.Nav_DetailContents.ForEach(t => t.Nav_DetailHiddens.OrderBy(m => m.NUM));
 | 
						|
                            item.Nav_DetailContents.ForEach(t => t.Nav_DetailDeparts.OrderBy(m => m.CHECK_TYPE).ThenBy(t => t.DEPARTMENT_ID));
 | 
						|
                            item.Nav_DetailContents.OrderBy(t => t.NUM);
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    result.Data.Nav_Details.OrderBy(t => t.NUM);
 | 
						|
                    result.Data.Nav_Departs.OrderBy(t => t.DEPARTMENT_TYPE).ThenBy(m => m.DEPARTMENT_ID);
 | 
						|
                    result.Data.Nav_Posts.OrderBy(t => t.DEPARTMENT_ID);
 | 
						|
                }
 | 
						|
 | 
						|
            }
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 获得单条实体数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter">过滤实体</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("SKGet")]
 | 
						|
        public JsonActionResult<T_SK_ENTERPRISE_LIBRARY> SKGet([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute(() =>
 | 
						|
            {
 | 
						|
                var result = new T_SK_ENTERPRISE_LIBRARY();
 | 
						|
                var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID")?.Value.ToString();
 | 
						|
                var mineType = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "MineType");
 | 
						|
                var areaId = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "AREA_ID");
 | 
						|
                //var typeId = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "TYPE_ID");
 | 
						|
                var riskName = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "RISK_NAME");
 | 
						|
                //var riskDes = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "RISK_DESCRIPTION");
 | 
						|
                filter.IgnoreDataRule = true;
 | 
						|
                if (!string.IsNullOrEmpty(id))
 | 
						|
                {
 | 
						|
                    result = this.GetEntity<T_SK_ENTERPRISE_LIBRARY>(id, new string[] { "Nav_Type", "Nav_Area","Nav_RiskName",
 | 
						|
            "Nav_SCOREL","Nav_SCOREE","Nav_SCOREC"});
 | 
						|
                }
 | 
						|
                else if (mineType != null && areaId != null && riskName != null)//&& typeId != null && riskDes!=null
 | 
						|
                {
 | 
						|
                    var temp = SKProductionUnit.All;
 | 
						|
                    switch (mineType.Value.ToString())
 | 
						|
                    {
 | 
						|
                        case "0":
 | 
						|
                            temp = SKProductionUnit.All;
 | 
						|
                            break;
 | 
						|
                        case "10":
 | 
						|
                            temp = SKProductionUnit.MineChoose;
 | 
						|
                            break;
 | 
						|
                        case "20":
 | 
						|
                            temp = SKProductionUnit.Minelast;
 | 
						|
                            break;
 | 
						|
                        case "30":
 | 
						|
                            temp = SKProductionUnit.Mine;
 | 
						|
                            break;
 | 
						|
                        case "40":
 | 
						|
                            temp = SKProductionUnit.MineUnderGround;
 | 
						|
                            break;
 | 
						|
                        case "31":
 | 
						|
                            temp = SKProductionUnit.Department;
 | 
						|
                            break;
 | 
						|
                        case "32":
 | 
						|
                            temp = SKProductionUnit.Nonmetallic;
 | 
						|
                            break;
 | 
						|
                        default:
 | 
						|
                            temp = SKProductionUnit.All;
 | 
						|
                            break;
 | 
						|
                    }
 | 
						|
                    result = this.GetEntity<T_SK_ENTERPRISE_LIBRARY>(t => t.MineType == temp && t.AREA_ID == Guid.Parse(areaId.Value.ToString()) && t.RISK_NAME == riskName.Value.ToString(), new string[] { "Nav_Type", "Nav_Area","Nav_RiskName",
 | 
						|
            "Nav_SCOREL","Nav_SCOREE","Nav_SCOREC"});
 | 
						|
                }
 | 
						|
                if (result != null)
 | 
						|
                {
 | 
						|
                    var departs = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DEPART>(t => t.ENTERPRISE_LIBRARY_ID == result.ID, new BaseFilter(filter.OrgId), "Nav_Department", "Nav_User");
 | 
						|
                    result.Nav_Departs = departs.OrderBy(t => t.DEPARTMENT_TYPE).ThenBy(m => m.DEPARTMENT_ID).ToList();
 | 
						|
                    var posts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_POST>(t => t.ENTERPRISE_LIBRARY_ID == result.ID, new BaseFilter(filter.OrgId), "Nav_Department", "Nav_PostDetails.Nav_Post");
 | 
						|
                    result.Nav_Posts = posts.OrderBy(t => t.DEPARTMENT_ID).ToList();
 | 
						|
                    var details = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => t.ENTERPRISE_LIBRARY_ID == result.ID, new BaseFilter(filter.OrgId));
 | 
						|
                    if (details.Any())
 | 
						|
                    {
 | 
						|
                        var detailIds = details.Select(t => t.ID).ToList();
 | 
						|
                        var contents = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(t => detailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID), new BaseFilter(filter.OrgId), "Nav_Contents");
 | 
						|
                        var contentIds = contents.Select(t => t.ID).ToList();
 | 
						|
                        var contentdeparts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>(t => contentIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(filter.OrgId), "Nav_Department", "Nav_CheckType", "Nav_DetailPosts.Nav_Post");
 | 
						|
                        var contenthiddens = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN>(t => contentIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(filter.OrgId), "Nav_Question");
 | 
						|
                        var contentbasics = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC>(t => contentIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(filter.OrgId), "Nav_Law");
 | 
						|
                        foreach (var detail in details)
 | 
						|
                        {
 | 
						|
                            var contentTemps = contents.Where(t => t.ENTERPRISE_LIBRARY_DETAIL_ID == detail.ID).ToList();
 | 
						|
                            detail.Nav_DetailContents = contentTemps.OrderBy(t => t.NUM).ToList();
 | 
						|
                            foreach (var content in detail.Nav_DetailContents)
 | 
						|
                            {
 | 
						|
                                var departTemps = contentdeparts.Where(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID == content.ID).ToList();
 | 
						|
                                content.Nav_DetailDeparts = departTemps.OrderBy(t => t.CHECK_TYPE).ThenBy(m => m.DEPARTMENT_ID).ToList();
 | 
						|
                                var hiddenTemps = contenthiddens.Where(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID == content.ID).ToList();
 | 
						|
                                content.Nav_DetailHiddens = hiddenTemps.OrderBy(t => t.NUM).ToList();
 | 
						|
                                var basicTemps = contentbasics.Where(t => t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID == content.ID).ToList();
 | 
						|
                                content.Nav_DetailBasics = basicTemps.ToList();
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    result.Nav_Details = details.OrderBy(t => t.NUM).ToList();
 | 
						|
                }
 | 
						|
                return result;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 查询
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="pageFilter"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("DepartOrderPaged")]
 | 
						|
        public PagedActionResult<T_FM_DEPARTMENT> DepartOrderPaged([FromBody] KeywordPageFilter pageFilter)
 | 
						|
        {
 | 
						|
            var result = new PagedActionResult<T_FM_DEPARTMENT>();
 | 
						|
            if (!string.IsNullOrEmpty(pageFilter.Keyword))
 | 
						|
            {
 | 
						|
                if (pageFilter.Keyword == "31")
 | 
						|
                {
 | 
						|
                    FilterRule order2 = new FilterRule();
 | 
						|
                    order2.Field = "MineType";
 | 
						|
                    order2.Value = 0;
 | 
						|
                    pageFilter.FilterGroup.Rules.Add(order2);
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    FilterRule order2 = new FilterRule();
 | 
						|
                    order2.Field = "MineType";
 | 
						|
                    order2.Value = pageFilter.Keyword;
 | 
						|
                    pageFilter.FilterGroup.Rules.Add(order2);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            result = GetOrderPageEntities<T_FM_DEPARTMENT>(null, pageFilter);
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
        [HttpPost, Route("GetCheckListOld")]
 | 
						|
        public JsonActionResult<List<CheckListNew>> GetCheckListOld([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            var loginDepart = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
 | 
						|
            var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
 | 
						|
            List<string> selectMinetype = new List<string>();
 | 
						|
            var minetype = departs.FirstOrDefault(t => t.ID == loginDepart)?.MineType;
 | 
						|
            switch (minetype)
 | 
						|
            {
 | 
						|
                case 0:
 | 
						|
                    selectMinetype.Add(SKProductionUnit.All.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.MineChoose.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.MineUnderGround.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Minelast.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Mine.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Department.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Nonmetallic.GetDescription());
 | 
						|
                    break;
 | 
						|
                case 10:
 | 
						|
                    selectMinetype.Add(SKProductionUnit.MineChoose.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Minelast.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Nonmetallic.GetDescription());
 | 
						|
                    break;
 | 
						|
                case 20:
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Minelast.GetDescription());
 | 
						|
                    break;
 | 
						|
                case 30:
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Mine.GetDescription());
 | 
						|
                    break;
 | 
						|
                case 40:
 | 
						|
                    selectMinetype.Add(SKProductionUnit.MineUnderGround.GetDescription());
 | 
						|
                    break;
 | 
						|
                default:
 | 
						|
                    selectMinetype.Add(SKProductionUnit.All.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.MineChoose.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.MineUnderGround.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Minelast.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Mine.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Department.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Nonmetallic.GetDescription());
 | 
						|
                    break;
 | 
						|
            }
 | 
						|
            //List<Guid> departmentIds = new List<Guid>() { loginDepart.Value };
 | 
						|
            //DepartmentService.GetDepartmentIds(filter.OrgId.Value, new List<Guid>() { loginDepart.Value }, ref departmentIds);
 | 
						|
            var checkList = new JsonActionResult<List<CheckListNew>>();
 | 
						|
            List<CheckListNew> list = new List<CheckListNew>();
 | 
						|
            var checkTypeIds = this.GetEntities<T_SK_CHECK_TYPE>(t => t.NAME == "岗位排查", new BaseFilter(filter.OrgId)).Select(m => m.ID).ToList();
 | 
						|
            var detailContents = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_DetailContent.Nav_LibraryDetail.Nav_Library", "Nav_CheckType", "Nav_Department").ToList();
 | 
						|
            var contents = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_LibraryDetail.Nav_Library.Nav_Area", "Nav_Contents").ToList();
 | 
						|
            var libraryIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).Select(m => m.ENTERPRISE_LIBRARY_ID).ToList();
 | 
						|
            var posts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_POST>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_PostDetails.Nav_Post").ToList();
 | 
						|
            if (detailContents != null && detailContents.Any())
 | 
						|
            {
 | 
						|
                detailContents.ForEach(t => t.MineType = t.Nav_DetailContent.Nav_LibraryDetail.Nav_Library.MineType);
 | 
						|
                var group = detailContents.GroupBy(t => new { t.MineType, t.CHECK_TYPE, t.CHECK_CYCLE, t.DEPARTMENT_ID, t.CHECK_TYPE_ID }).ToList();
 | 
						|
                foreach (var item in group)
 | 
						|
                {
 | 
						|
                    var detail = detailContents.FirstOrDefault(t => t.MineType == item.Key.MineType && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.CHECK_TYPE == item.Key.CHECK_TYPE && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID);
 | 
						|
                    CheckListNew listNew = new CheckListNew();
 | 
						|
                    listNew.MineType = item.Key.MineType.GetDescription();
 | 
						|
                    listNew.CheckType = detail?.Nav_CheckType?.NAME;
 | 
						|
                    listNew.CheckCycle = item.Key.CHECK_CYCLE.GetDescription();
 | 
						|
                    listNew.CheckLevel = item.Key.CHECK_TYPE.GetDescription();
 | 
						|
                    listNew.Num = (int)item.Key.CHECK_TYPE;
 | 
						|
                    listNew.CheckDepart = detail?.Nav_Department?.NAME;
 | 
						|
                    if (checkTypeIds != null && checkTypeIds.Any() && item.Key.CHECK_TYPE_ID != null && checkTypeIds.Contains((Guid)item.Key.CHECK_TYPE_ID))
 | 
						|
                    {
 | 
						|
                        var itemTemp = posts.FirstOrDefault(t => t.ENTERPRISE_LIBRARY_ID == detail.Nav_DetailContent.Nav_LibraryDetail.Nav_Library.ID && t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID)?.Nav_PostDetails;
 | 
						|
                        if (itemTemp != null && itemTemp.Any())
 | 
						|
                        {
 | 
						|
                            var lists = itemTemp.Select(t => t.Nav_Post?.NAME).Distinct().ToList();
 | 
						|
                            listNew.CheckPost = string.Join(",", lists);
 | 
						|
                        }
 | 
						|
                        else
 | 
						|
                        {
 | 
						|
                            listNew.CheckPost = detail?.Nav_Department?.NAME + "辨识岗位未配置";
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        if (item.Key.CHECK_TYPE == SKDepartmentTypeEnum.班组级)
 | 
						|
                        {
 | 
						|
                            listNew.CheckPost = "班组负责人";
 | 
						|
                        }
 | 
						|
                        else if (item.Key.CHECK_TYPE == SKDepartmentTypeEnum.车间级)
 | 
						|
                        {
 | 
						|
                            listNew.CheckPost = "车间安全员";
 | 
						|
                        }
 | 
						|
                        else if (item.Key.CHECK_TYPE == SKDepartmentTypeEnum.部门级)
 | 
						|
                        {
 | 
						|
                            listNew.CheckPost = "部门安全员";
 | 
						|
                        }
 | 
						|
                        else
 | 
						|
                        {
 | 
						|
                            listNew.CheckPost = "安环部安全员";
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
 | 
						|
                    var depathaveIds = detailContents.Where(t => t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.CHECK_TYPE == item.Key.CHECK_TYPE && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.MineType == item.Key.MineType).Select(m => m.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).Distinct().ToList();
 | 
						|
                    var temps = contents.Where(t => depathaveIds.Contains(t.ID)).ToList();
 | 
						|
                    if (temps.Any())
 | 
						|
                    {
 | 
						|
                        List<CheckListDetail> listDetail = new List<CheckListDetail>();
 | 
						|
                        foreach (var tem in temps)
 | 
						|
                        {
 | 
						|
                            CheckListDetail checkListDetail = new CheckListDetail();
 | 
						|
                            checkListDetail.CHECK_CONTENTS_ID = tem.CHECK_CONTENTS_ID;
 | 
						|
                            checkListDetail.CHECK_CONTENTS_NAME = tem.Nav_Contents?.CHECKCONTENT;
 | 
						|
                            checkListDetail.RISK_NAME = tem.Nav_LibraryDetail?.Nav_Library?.RISK_NAME;
 | 
						|
                            checkListDetail.RISK_AREA_ID = tem.Nav_LibraryDetail?.Nav_Library?.AREA_ID;
 | 
						|
                            checkListDetail.RISK_AREA_NAME = tem.Nav_LibraryDetail?.Nav_Library?.Nav_Area?.NAME;
 | 
						|
                            checkListDetail.CHECKPROOF = tem.CHECK_BASIC;
 | 
						|
                            checkListDetail.CHECKSTANDARD = tem.CHECK_STANDARD;
 | 
						|
                            listDetail.Add(checkListDetail);
 | 
						|
                        }
 | 
						|
                        listNew.details = listDetail.OrderBy(t => t.RISK_AREA_NAME).ThenBy(m => m.RISK_NAME).ToList();
 | 
						|
                    }
 | 
						|
                    list.Add(listNew);
 | 
						|
                }
 | 
						|
                checkList.Data = list.Where(t => selectMinetype.Contains(t.MineType)).GroupBy(t => new { t.MineType, t.CheckType, t.CheckCycle, t.CheckLevel, t.CheckDepart, t.CheckPost }).Select(m => m.FirstOrDefault()).OrderBy(n => n.MineType).ThenBy(x => x.Num).ThenBy(y => y.CheckType).ToList();
 | 
						|
                checkList.TotalCount = checkList.Data.Count;
 | 
						|
            }
 | 
						|
            return checkList;
 | 
						|
        }
 | 
						|
        [HttpPost, Route("GetCheckListNew")]
 | 
						|
        public JsonActionResult<List<CheckListNew>> GetCheckListNew([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            var loginDepart = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
 | 
						|
            var departs = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
 | 
						|
            List<string> selectMinetype = new List<string>();
 | 
						|
            var minetype = departs.FirstOrDefault(t => t.ID == loginDepart)?.MineType;
 | 
						|
            switch (minetype)
 | 
						|
            {
 | 
						|
                case 0:
 | 
						|
                    selectMinetype.Add(SKProductionUnit.All.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.MineChoose.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.MineUnderGround.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Minelast.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Mine.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Department.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Nonmetallic.GetDescription());
 | 
						|
                    break;
 | 
						|
                case 10:
 | 
						|
                    selectMinetype.Add(SKProductionUnit.MineChoose.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Minelast.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Nonmetallic.GetDescription());
 | 
						|
                    break;
 | 
						|
                case 20:
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Minelast.GetDescription());
 | 
						|
                    break;
 | 
						|
                case 30:
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Mine.GetDescription());
 | 
						|
                    break;
 | 
						|
                case 40:
 | 
						|
                    selectMinetype.Add(SKProductionUnit.MineUnderGround.GetDescription());
 | 
						|
                    break;
 | 
						|
                default:
 | 
						|
                    selectMinetype.Add(SKProductionUnit.All.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.MineChoose.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.MineUnderGround.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Minelast.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Mine.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Department.GetDescription());
 | 
						|
                    selectMinetype.Add(SKProductionUnit.Nonmetallic.GetDescription());
 | 
						|
                    break;
 | 
						|
            }
 | 
						|
            //List<Guid> departmentIds = new List<Guid>() { loginDepart.Value };
 | 
						|
            //DepartmentService.GetDepartmentIds(filter.OrgId.Value, new List<Guid>() { loginDepart.Value }, ref departmentIds);
 | 
						|
            var checkList = new JsonActionResult<List<CheckListNew>>();
 | 
						|
            List<CheckListNew> list = new List<CheckListNew>();
 | 
						|
            List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART> detailContents = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>();
 | 
						|
            var checkTypeIds = this.GetEntities<T_SK_CHECK_TYPE>(t => t.NAME == "岗位排查", new BaseFilter(filter.OrgId)).Select(m => m.ID).ToList();
 | 
						|
            var users = this.GetEntities<T_FM_USER>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Person").ToList();
 | 
						|
            var librarys = this.GetEntities<T_SK_ENTERPRISE_LIBRARY>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Area").ToList();
 | 
						|
            var libraryDetails = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId)).ToList();
 | 
						|
            var contents = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_Contents").ToList();
 | 
						|
            var contentDeparts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_CheckType", "Nav_Department").ToList();
 | 
						|
            var posts = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_POST>(t => !t.IS_DELETED, new BaseFilter(filter.OrgId), "Nav_PostDetails.Nav_Post").ToList();
 | 
						|
            if (librarys != null && librarys.Any())
 | 
						|
            {
 | 
						|
                foreach (var item in librarys)
 | 
						|
                {
 | 
						|
                    var libraryPost = posts.Where(t => t.ENTERPRISE_LIBRARY_ID == item.ID).ToList();
 | 
						|
                    var details = libraryDetails.Where(t => t.ENTERPRISE_LIBRARY_ID == item.ID).ToList();
 | 
						|
                    var detailIds = details.Select(t => t.ID).ToList();
 | 
						|
                    var contentTemps = contents.Where(t => detailIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_ID)).ToList();
 | 
						|
                    var contentTempIds = contentTemps.Select(t => t.ID).ToList();
 | 
						|
                    var contentDepartTemps = contentDeparts.Where(t => contentTempIds.Contains(t.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID)).ToList();
 | 
						|
                    if (contentDepartTemps != null && contentDepartTemps.Any())
 | 
						|
                    {
 | 
						|
                        foreach (var depart in contentDepartTemps)
 | 
						|
                        {
 | 
						|
                            var first = libraryPost.FirstOrDefault(t => t.DEPARTMENT_ID == depart.DEPARTMENT_ID)?.Nav_PostDetails?.Select(m => m.Nav_Post).OrderBy(n => n?.NAME).ToList();
 | 
						|
                            var contentFirst = contentTemps.FirstOrDefault(t => t.ID == depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID);
 | 
						|
                            if (first != null && first.Any())
 | 
						|
                            {
 | 
						|
                                foreach (var post in first)
 | 
						|
                                {
 | 
						|
                                    var userRole = users.FirstOrDefault(t => t.Nav_Person != null && t.Nav_Person.POST_ID == post?.ID).APPROVE_ROLE_ID;
 | 
						|
                                    if (userRole == null)
 | 
						|
                                    {
 | 
						|
                                        T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART();
 | 
						|
                                        de.POST_NAME = post?.NAME;
 | 
						|
                                        de.MineType = item.MineType;
 | 
						|
                                        de.AREA_NAME = item.Nav_Area?.NAME;
 | 
						|
                                        de.ENTERPRISE_LIBRARY_DETAIL_ID = contentFirst?.ENTERPRISE_LIBRARY_DETAIL_ID;
 | 
						|
                                        de.ENTERPRISE_LIBRARY_ID = item.ID;
 | 
						|
                                        de.TYPE_NAME = depart.Nav_CheckType?.NAME;
 | 
						|
                                        de.DEPART_NAME = depart.Nav_Department?.NAME;
 | 
						|
                                        de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
 | 
						|
                                        de.CHECK_CYCLE = depart.CHECK_CYCLE;
 | 
						|
                                        de.CHECK_TYPE_ID = depart.CHECK_TYPE_ID;
 | 
						|
                                        de.DEPARTMENT_ID = depart.DEPARTMENT_ID;
 | 
						|
                                        de.CHECK_TYPE = depart.CHECK_TYPE;
 | 
						|
                                        detailContents.Add(de);
 | 
						|
                                    }
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                            else
 | 
						|
                            {
 | 
						|
                                T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART de = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_DEPART();
 | 
						|
                                de.POST_NAME = "未配置辨识岗位";
 | 
						|
                                de.MineType = item.MineType;
 | 
						|
                                de.AREA_NAME = item.Nav_Area?.NAME;
 | 
						|
                                de.ENTERPRISE_LIBRARY_DETAIL_ID = contentFirst?.ENTERPRISE_LIBRARY_DETAIL_ID;
 | 
						|
                                de.ENTERPRISE_LIBRARY_ID = item.ID;
 | 
						|
                                de.TYPE_NAME = depart.Nav_CheckType?.NAME;
 | 
						|
                                de.DEPART_NAME = depart.Nav_Department?.NAME;
 | 
						|
                                de.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = depart.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID;
 | 
						|
                                de.CHECK_CYCLE = depart.CHECK_CYCLE;
 | 
						|
                                de.CHECK_TYPE_ID = depart.CHECK_TYPE_ID;
 | 
						|
                                de.DEPARTMENT_ID = depart.DEPARTMENT_ID;
 | 
						|
                                de.CHECK_TYPE = depart.CHECK_TYPE;
 | 
						|
                                detailContents.Add(de);
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
            if (detailContents != null && detailContents.Any())
 | 
						|
            {
 | 
						|
                foreach (var item in contents)
 | 
						|
                {
 | 
						|
                    var detailLib = libraryDetails.FirstOrDefault(t => t.ID == item.ENTERPRISE_LIBRARY_DETAIL_ID);
 | 
						|
                    var lib = librarys.FirstOrDefault(t => t.ID == detailLib?.ENTERPRISE_LIBRARY_ID);
 | 
						|
                    item.RISK_NAME = lib?.RISK_NAME;
 | 
						|
                    item.AREA_ID = lib?.AREA_ID;
 | 
						|
                    item.Nav_Area = lib?.Nav_Area;
 | 
						|
                }
 | 
						|
                foreach (var item in detailContents)
 | 
						|
                {
 | 
						|
                    if (checkTypeIds != null && checkTypeIds.Any() && item.CHECK_TYPE_ID != null && checkTypeIds.Contains((Guid)item.CHECK_TYPE_ID))
 | 
						|
                    {
 | 
						|
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        if (item.CHECK_TYPE == SKDepartmentTypeEnum.班组级)
 | 
						|
                        {
 | 
						|
                            item.POST_NAME = "班组负责人";
 | 
						|
                        }
 | 
						|
                        else if (item.CHECK_TYPE == SKDepartmentTypeEnum.车间级)
 | 
						|
                        {
 | 
						|
                            item.POST_NAME = "车间安全员";
 | 
						|
                        }
 | 
						|
                        else if (item.CHECK_TYPE == SKDepartmentTypeEnum.部门级)
 | 
						|
                        {
 | 
						|
                            item.POST_NAME = "部门安全员";
 | 
						|
                        }
 | 
						|
                        else
 | 
						|
                        {
 | 
						|
                            item.POST_NAME = "安环部安全员";
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                var group = detailContents.GroupBy(t => new { t.MineType, t.CHECK_TYPE, t.CHECK_CYCLE, t.DEPART_NAME, t.DEPARTMENT_ID, t.CHECK_TYPE_ID, t.TYPE_NAME, t.POST_NAME }).ToList();
 | 
						|
                foreach (var item in group)
 | 
						|
                {
 | 
						|
                    CheckListNew listNew = new CheckListNew();
 | 
						|
                    listNew.MineType = item.Key.MineType.GetDescription();
 | 
						|
                    listNew.CheckType = item.Key.TYPE_NAME;
 | 
						|
                    listNew.CheckCycle = item.Key.CHECK_CYCLE.GetDescription();
 | 
						|
                    listNew.CheckLevel = item.Key.CHECK_TYPE.GetDescription();
 | 
						|
                    listNew.Num = (int)item.Key.CHECK_TYPE;
 | 
						|
                    listNew.CheckDepart = item.Key.DEPART_NAME;
 | 
						|
                    listNew.CheckPost = item.Key.POST_NAME;
 | 
						|
                    var depathaveIds = detailContents.Where(t => t.DEPARTMENT_ID == item.Key.DEPARTMENT_ID && t.CHECK_TYPE_ID == item.Key.CHECK_TYPE_ID && t.CHECK_TYPE == item.Key.CHECK_TYPE && t.CHECK_CYCLE == item.Key.CHECK_CYCLE && t.MineType == item.Key.MineType && t.POST_NAME == item.Key.POST_NAME).Select(m => m.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID).Distinct().ToList();
 | 
						|
                    var temps = contents.Where(t => depathaveIds.Contains(t.ID)).Distinct().ToList();
 | 
						|
                    if (temps.Any())
 | 
						|
                    {
 | 
						|
                        List<CheckListDetail> listDetail = new List<CheckListDetail>();
 | 
						|
                        foreach (var tem in temps)
 | 
						|
                        {
 | 
						|
                            CheckListDetail checkListDetail = new CheckListDetail();
 | 
						|
                            checkListDetail.CHECK_CONTENTS_ID = tem.CHECK_CONTENTS_ID;
 | 
						|
                            checkListDetail.CHECK_CONTENTS_NAME = tem.Nav_Contents?.CHECKCONTENT;
 | 
						|
                            checkListDetail.RISK_NAME = tem.RISK_NAME;
 | 
						|
                            checkListDetail.RISK_AREA_ID = tem.AREA_ID;
 | 
						|
                            checkListDetail.RISK_AREA_NAME = tem.Nav_Area?.NAME;
 | 
						|
                            checkListDetail.CHECKPROOF = tem.CHECK_BASIC;
 | 
						|
                            checkListDetail.CHECKSTANDARD = tem.CHECK_STANDARD;
 | 
						|
                            listDetail.Add(checkListDetail);
 | 
						|
                        }
 | 
						|
                        listNew.details = listDetail.OrderBy(t => t.RISK_AREA_NAME).ThenBy(m => m.RISK_NAME).ToList();
 | 
						|
                    }
 | 
						|
                    list.Add(listNew);
 | 
						|
                }
 | 
						|
                checkList.Data = list.Where(t => selectMinetype.Contains(t.MineType)).OrderBy(n => n.MineType).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList();
 | 
						|
                checkList.TotalCount = checkList.Data.Count;
 | 
						|
            }
 | 
						|
            return checkList;
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |