549 lines
		
	
	
		
			31 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			549 lines
		
	
	
		
			31 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using APT.BaseData.Domain.Entities.FM;
 | 
						|
using APT.BaseData.Domain.Entities;
 | 
						|
using APT.BaseData.Domain.Enums;
 | 
						|
using APT.BaseData.Services.Services.FM;
 | 
						|
using APT.Infrastructure.Core;
 | 
						|
using APT.MS.Domain.Entities.FO;
 | 
						|
using APT.MS.Domain.Entities.SK;
 | 
						|
using APT.MS.Domain.Enums;
 | 
						|
using APT.Utility;
 | 
						|
using Microsoft.AspNetCore.Mvc;
 | 
						|
using APT.BaseData.Domain.Enums.PF;
 | 
						|
using APT.BaseData.Services.DomainServices;
 | 
						|
using MySqlX.XDevAPI.Common;
 | 
						|
using System.Security.Policy;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Linq;
 | 
						|
using System;
 | 
						|
using APT.MS.Domain.Enums.SK;
 | 
						|
 | 
						|
namespace APT.SK.WebApi.Controllers
 | 
						|
{
 | 
						|
    /// <summary>
 | 
						|
    /// 基础库
 | 
						|
    /// </summary>
 | 
						|
    [Route("api/SK/SKBasicLibrary")]
 | 
						|
    public partial class BasicLibraryController : AuthorizeApiController<T_SK_BASIC_LIBRARY>
 | 
						|
    {
 | 
						|
        /// <summary>
 | 
						|
        /// 保存
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="entity"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("FullUpdate")]
 | 
						|
        public JsonActionResult<bool> FullUpdate([FromBody] T_SK_BASIC_LIBRARY entity)
 | 
						|
        {
 | 
						|
            return SafeExecute<bool>(() =>
 | 
						|
            {
 | 
						|
                var details = entity.Nav_Details;
 | 
						|
                entity.Nav_Details = null;
 | 
						|
                List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT> contentList = new List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT>();
 | 
						|
                List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN> hiddenList = new List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN>();
 | 
						|
                List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC> basicList = new List<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC>();
 | 
						|
                if (details != null && details.Any())
 | 
						|
                {
 | 
						|
                    foreach (var item in details)
 | 
						|
                    {
 | 
						|
                        if (item.Nav_DetailContents != null && item.Nav_DetailContents.Any())
 | 
						|
                        {
 | 
						|
                            foreach (var item2 in item.Nav_DetailContents)
 | 
						|
                            {
 | 
						|
                                if (item2.Nav_DetailHiddens != null && item2.Nav_DetailHiddens.Any())
 | 
						|
                                {
 | 
						|
                                    foreach (var item3 in item2.Nav_DetailHiddens)
 | 
						|
                                    {
 | 
						|
                                        item3.ORG_ID = entity.ORG_ID;
 | 
						|
                                        item3.BASIC_LIBRARY_DETAIL_CONTENT_ID = item2.ID;
 | 
						|
                                        item3.NUM = (item3.NUM == 0 || item3.NUM == null) ? item3.ROW_NO : item3.NUM;
 | 
						|
                                        hiddenList.Add(item3);
 | 
						|
                                    }
 | 
						|
                                }
 | 
						|
                                if (item2.Nav_DetailBasics != null && item2.Nav_DetailBasics.Any())
 | 
						|
                                {
 | 
						|
                                    foreach (var item3 in item2.Nav_DetailBasics)
 | 
						|
                                    {
 | 
						|
                                        item3.ORG_ID = entity.ORG_ID;
 | 
						|
                                        item3.BASIC_LIBRARY_DETAIL_CONTENT_ID = item2.ID;
 | 
						|
                                        basicList.Add(item3);
 | 
						|
                                    }
 | 
						|
                                }
 | 
						|
                                item2.ORG_ID = entity.ORG_ID;
 | 
						|
                                item2.BASIC_LIBRARY_DETAIL_ID = item.ID;
 | 
						|
                                item2.Nav_DetailHiddens = null;
 | 
						|
                                item2.Nav_DetailBasics = null;
 | 
						|
                                item2.NUM = (item2.NUM == 0 || item2.NUM == null) ? item2.ROW_NO : item2.NUM;
 | 
						|
                                contentList.Add(item2);
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        item.ORG_ID = entity.ORG_ID;
 | 
						|
                        item.BASIC_LIBRARY_ID = entity.ID;
 | 
						|
                        item.Nav_DetailContents = null;
 | 
						|
                        item.NUM = (item.NUM == 0 || item.NUM == null) ? item.ROW_NO : item.NUM;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                List<Guid> libraryIds = new List<Guid>();
 | 
						|
                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>();
 | 
						|
                T_SK_ENTERPRISE_LIBRARY enterpriseLib = null;
 | 
						|
                List<T_SK_ENTERPRISE_LIBRARY_DETAIL> libraryDetailList = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL>();
 | 
						|
                List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT> libraryContentList = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT>();
 | 
						|
                List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN> libraryHiddenList = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN>();
 | 
						|
                List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC> libraryBasicList = new List<T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC>();
 | 
						|
                //同步企业库
 | 
						|
                if (entity.PUBLISH != null && entity.PUBLISH.Equals("SaveAndNotify"))
 | 
						|
                {
 | 
						|
                    var library = this.GetEntity<T_SK_ENTERPRISE_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);
 | 
						|
                        libraryPostIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_POST>(t => t.ENTERPRISE_LIBRARY_ID == library.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();
 | 
						|
                        libraryDepartIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DEPART>(t => t.ENTERPRISE_LIBRARY_ID == library.ID, new BaseFilter(entity.ORG_ID)).Select(t => t.ID).ToList();
 | 
						|
                        detailIds = this.GetEntities<T_SK_ENTERPRISE_LIBRARY_DETAIL>(t => t.ENTERPRISE_LIBRARY_ID == library.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();
 | 
						|
                        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();
 | 
						|
                        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();
 | 
						|
                        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();
 | 
						|
                    }
 | 
						|
                    enterpriseLib = new T_SK_ENTERPRISE_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_ENTERPRISE_LIBRARY_DETAIL enterDetail = new T_SK_ENTERPRISE_LIBRARY_DETAIL();
 | 
						|
                            enterDetail.ORG_ID = item.ORG_ID;
 | 
						|
                            enterDetail.ID = item.ID;
 | 
						|
                            enterDetail.ENTERPRISE_LIBRARY_ID = item.BASIC_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_ENTERPRISE_LIBRARY_DETAIL_CONTENT enterDetail = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT();
 | 
						|
                            enterDetail.ORG_ID = item.ORG_ID;
 | 
						|
                            enterDetail.ID = item.ID;
 | 
						|
                            enterDetail.ENTERPRISE_LIBRARY_DETAIL_ID = item.BASIC_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_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC enterDetail = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_BASIC();
 | 
						|
                            enterDetail.ORG_ID = item.ORG_ID;
 | 
						|
                            enterDetail.ID = item.ID;
 | 
						|
                            enterDetail.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = item.BASIC_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_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN enterDetail = new T_SK_ENTERPRISE_LIBRARY_DETAIL_CONTENT_HIDDEN();
 | 
						|
                            enterDetail.ORG_ID = item.ORG_ID;
 | 
						|
                            enterDetail.ID = item.ID;
 | 
						|
                            enterDetail.ENTERPRISE_LIBRARY_DETAIL_CONTENT_ID = item.BASIC_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 (entity != null)
 | 
						|
                        UpdateEntityNoCommit(entity);
 | 
						|
                    if (details != null && details.Any())
 | 
						|
                        BantchSaveEntityNoCommit(details);
 | 
						|
                    if (contentList != null && contentList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(contentList);
 | 
						|
                    if (hiddenList != null && hiddenList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(hiddenList);
 | 
						|
                    if (basicList != null && basicList.Any())
 | 
						|
                        BantchSaveEntityNoCommit(basicList);
 | 
						|
                    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 (libraryIds != null && libraryIds.Any())
 | 
						|
                        this.BantchDeleteEntityNoCommit<T_SK_ENTERPRISE_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);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 排序分页查询数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="pageFilter">分页过滤实体</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("SKOrderPaged")]
 | 
						|
        public PagedActionResult<T_SK_BASIC_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);
 | 
						|
            pageFilter.Include.Add("Nav_Details");
 | 
						|
            pageFilter.Include.Add("Nav_Details.Nav_DetailContents.Nav_Contents");
 | 
						|
            pageFilter.Include.Add("Nav_Details.Nav_DetailContents.Nav_DetailHiddens.Nav_Question");
 | 
						|
            pageFilter.Include.Add("Nav_Details.Nav_DetailContents.Nav_DetailBasics.Nav_Law");
 | 
						|
            pageFilter.Include.Add("Nav_SCOREL");
 | 
						|
            pageFilter.Include.Add("Nav_SCOREE");
 | 
						|
            pageFilter.Include.Add("Nav_SCOREC");
 | 
						|
            pageFilter.Include.Add("Nav_Type");
 | 
						|
            pageFilter.Include.Add("Nav_ProductionUnit");
 | 
						|
            pageFilter.SelectField.Add("Nav_Details.NUM");
 | 
						|
            pageFilter.SelectField.Add("Nav_Details.MEASURES_NAME");
 | 
						|
            var result = WitOrderPaged(null, pageFilter);
 | 
						|
            if (result != null && 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))
 | 
						|
                            {
 | 
						|
                                var temp = item2.NUM + "、" + item2.MEASURES_NAME + Environment.NewLine;
 | 
						|
                                item.MINE_NAME = item.MINE_NAME + temp;
 | 
						|
                                i++;
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                result.Data.OrderBy(t => t.PRODUCTION_UNIT_ID).ThenBy(m => m.EVALUATE_LEVEL);
 | 
						|
            }
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 排序查询所有数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter">过滤实体</param>
 | 
						|
        /// <returns></returns>
 | 
						|
 | 
						|
        [HttpPost, Route("SKOrderEntities")]
 | 
						|
        public JsonActionResult<IEnumerable<T_SK_BASIC_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>();
 | 
						|
                        if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						|
                        {
 | 
						|
                            foreach (var item2 in item.Nav_Details.OrderBy(t => t.NUM))
 | 
						|
                            {
 | 
						|
                                var i = 1;
 | 
						|
                                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 (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 (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++;
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    result.Data.OrderBy(t => t.AREA_ID);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 获得单条实体数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter">过滤实体</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("SKGetOld")]
 | 
						|
        public JsonActionResult<T_SK_BASIC_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.OrderBy(t => t.NUM);
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    result.Data.Nav_Details.OrderBy(t => t.NUM);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            return result;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 获得单条实体数据
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter">过滤实体</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("SKGet")]
 | 
						|
        public JsonActionResult<T_SK_BASIC_LIBRARY> SKGet([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute(() =>
 | 
						|
            {
 | 
						|
                var result = new T_SK_BASIC_LIBRARY();
 | 
						|
                var id = filter.FilterGroup.Rules.FirstOrDefault(t => t.Field == "ID").Value.ToString();
 | 
						|
                filter.IgnoreDataRule = true;
 | 
						|
                if (!string.IsNullOrEmpty(id))
 | 
						|
                {
 | 
						|
                    result = this.GetEntity<T_SK_BASIC_LIBRARY>(id, new string[] { "Nav_Type", "Nav_Area","Nav_RiskName",
 | 
						|
            "Nav_SCOREL","Nav_SCOREE","Nav_SCOREC","Nav_ProductionUnit"});
 | 
						|
                }
 | 
						|
                if (result != null)
 | 
						|
                {
 | 
						|
                    var details = this.GetEntities<T_SK_BASIC_LIBRARY_DETAIL>(t => t.BASIC_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_BASIC_LIBRARY_DETAIL_CONTENT>(t => detailIds.Contains(t.BASIC_LIBRARY_DETAIL_ID), new BaseFilter(filter.OrgId), "Nav_Contents");
 | 
						|
                        var contentIds = contents.Select(t => t.ID).ToList();
 | 
						|
                        var contenthiddens = this.GetEntities<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_HIDDEN>(t => contentIds.Contains(t.BASIC_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(filter.OrgId), "Nav_Question");
 | 
						|
                        var contentbasics = this.GetEntities<T_SK_BASIC_LIBRARY_DETAIL_CONTENT_BASIC>(t => contentIds.Contains(t.BASIC_LIBRARY_DETAIL_CONTENT_ID), new BaseFilter(filter.OrgId), "Nav_Law");
 | 
						|
                        foreach (var detail in details)
 | 
						|
                        {
 | 
						|
                            var contentTemps = contents.Where(t => t.BASIC_LIBRARY_DETAIL_ID == detail.ID).ToList();
 | 
						|
                            detail.Nav_DetailContents = contentTemps.OrderBy(t => t.NUM).ToList();
 | 
						|
                            foreach (var content in detail.Nav_DetailContents)
 | 
						|
                            {
 | 
						|
                                var hiddenTemps = contenthiddens.Where(t => t.BASIC_LIBRARY_DETAIL_CONTENT_ID == content.ID).ToList();
 | 
						|
                                content.Nav_DetailHiddens = hiddenTemps.OrderBy(t => t.NUM).ToList();
 | 
						|
                                var basicTemps = contentbasics.Where(t => t.BASIC_LIBRARY_DETAIL_CONTENT_ID == content.ID).ToList();
 | 
						|
                                content.Nav_DetailBasics = basicTemps.ToList();
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    result.Nav_Details = details.ToList();
 | 
						|
                }
 | 
						|
                return result;
 | 
						|
            });
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |