mh_jy_safe/APT.MicroApi/APT.SK.WebApi/Controllers/Api/EnterpriseLibraryController.cs
2025-10-20 18:00:13 +08:00

2486 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 Guid? PRODUCTION_UNIT_ID { 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 == 0 || item.NUM == null) ? item.ROW_NO : 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 == 0 || item2.NUM == null) ? item2.ROW_NO : 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 ==0 || item3.NUM == null)?item3.ROW_NO: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.Include.Add("Nav_ProductionUnit");
pageFilter.SelectField.Add("Nav_Details.NUM");
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>(); var detailNum = new List<int?>();
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);
detailNum.Add(item2.NUM);
var temp = item2.NUM + "、" + 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 = 20;
switch (item2)
{
case "部门":
type = 10;
break;
case "车间":
type = 15;
break;
case "班组":
type = 20;
break;
case "公司":
type = 5;
break;
default:
type = 20;
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.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_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 == "PRODUCTION_UNIT_ID");
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","Nav_ProductionUnit"});
}
else if (mineType != null && areaId != null && riskName != null)//&& typeId != null && riskDes!=null
{
result = this.GetEntity<T_SK_ENTERPRISE_LIBRARY>(t => t.PRODUCTION_UNIT_ID == Guid.Parse(mineType.Value.ToString()) && 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","Nav_ProductionUnit"});
}
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 loginUser = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
var userInfo = this.GetEntity<T_FM_USER>(t => t.ID == loginUser, "Nav_ProdutionUnit");
List<Guid> selectMinetype = new List<Guid>();
if (userInfo != null && userInfo.Nav_ProdutionUnit != null && userInfo.Nav_ProdutionUnit.Any())
{
selectMinetype = userInfo.Nav_ProdutionUnit.Select(t => t.ID).Distinct().ToList();
}
//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", "Nav_ProductionUnit").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.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
de.MINE_NAME = item.Nav_ProductionUnit?.NAME;
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.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
de.MINE_NAME = item.Nav_ProductionUnit?.NAME;
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.PRODUCTION_UNIT_ID, t.MINE_NAME,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.PRODUCTION_UNIT_ID = item.Key.PRODUCTION_UNIT_ID;
listNew.MineType = item.Key.MINE_NAME;
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.PRODUCTION_UNIT_ID == item.Key.PRODUCTION_UNIT_ID && 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);
}
if (userInfo != null && userInfo.NAME.Contains("管理员"))
{
checkList.Data = list.OrderBy(n => n.PRODUCTION_UNIT_ID).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList();
}
else
{
checkList.Data = list.Where(t => t.PRODUCTION_UNIT_ID!=null && selectMinetype.Contains((Guid)t.PRODUCTION_UNIT_ID)).OrderBy(n => n.PRODUCTION_UNIT_ID).ThenBy(x => x.Num).ThenBy(n => n.CheckDepart).ToList();
}
checkList.TotalCount = checkList.Data.Count;
}
return checkList;
}
}
}