3593 lines
		
	
	
		
			234 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			3593 lines
		
	
	
		
			234 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using APT.BaseData.Domain.Entities;
 | 
						||
using APT.BaseData.Domain.Entities.FM;
 | 
						||
using APT.BaseData.Domain.Enums.PF;
 | 
						||
using APT.BaseData.Domain.IServices.FM;
 | 
						||
using APT.Infrastructure.Core;
 | 
						||
using APT.MS.Domain.Entities.AE;
 | 
						||
using APT.MS.Domain.Entities.BS;
 | 
						||
using APT.MS.Domain.Entities.DM;
 | 
						||
using APT.MS.Domain.Entities.FO;
 | 
						||
using APT.MS.Domain.Entities.HM;
 | 
						||
using APT.MS.Domain.Entities.LR;
 | 
						||
using APT.MS.Domain.Entities.OG;
 | 
						||
using APT.MS.Domain.Entities.OH;
 | 
						||
using APT.MS.Domain.Entities.SC;
 | 
						||
using APT.MS.Domain.Entities.SC.DM;
 | 
						||
using APT.MS.Domain.Entities.SC.PE;
 | 
						||
using APT.MS.Domain.Entities.SC.PM;
 | 
						||
using APT.MS.Domain.Entities.SC.PR;
 | 
						||
using APT.MS.Domain.Entities.SC.PT;
 | 
						||
using APT.MS.Domain.Entities.SC.SC;
 | 
						||
using APT.MS.Domain.Entities.SE;
 | 
						||
using APT.MS.Domain.Enums;
 | 
						||
using APT.Utility;
 | 
						||
using APT.WebApi.Models;
 | 
						||
using Google.Protobuf.WellKnownTypes;
 | 
						||
using log4net.Filter;
 | 
						||
using Microsoft.AspNetCore.Mvc;
 | 
						||
using Microsoft.AspNetCore.Server.IISIntegration;
 | 
						||
using MySqlX.XDevAPI.Common;
 | 
						||
using NPOI.SS.Formula.Functions;
 | 
						||
using System;
 | 
						||
using System.Collections.Generic;
 | 
						||
using System.DirectoryServices.Protocols;
 | 
						||
using System.Linq;
 | 
						||
using System.Linq.Expressions;
 | 
						||
 | 
						||
namespace APT.PP.WebApi.Controllers.Api
 | 
						||
{
 | 
						||
    /// <summary>
 | 
						||
    /// 绩效测量与评价
 | 
						||
    /// </summary>
 | 
						||
    [Route("api/PP/PEController")]
 | 
						||
    [TypeFilter(typeof(CustomActionFilterAttribute))]
 | 
						||
    public class PEController : AuthorizeApiController<T_FM_BASE_CONFIG>
 | 
						||
    {
 | 
						||
        IFMNotificationTaskService NotificationTaskService { get; set; }
 | 
						||
        public PEController(IFMNotificationTaskService notificationTaskService)
 | 
						||
        {
 | 
						||
            NotificationTaskService = notificationTaskService;
 | 
						||
        }
 | 
						||
        /// <summary>
 | 
						||
        /// 触发纠正与预防措施通知单
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("CorrectivePreventiveSync")]
 | 
						||
        public JsonActionResult<bool> CorrectivePreventiveSync([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<bool>(() =>
 | 
						||
            {
 | 
						||
                try
 | 
						||
                {
 | 
						||
                    var dtNow = DateTime.Now;
 | 
						||
                    var month = dtNow.Month;
 | 
						||
                    var day = dtNow.Day;
 | 
						||
                    var time = dtNow.TimeOfDay;
 | 
						||
                    var week = dtNow.DayOfWeek;
 | 
						||
                    T_FM_NOTIFICATION_TASK sendNotice = null;
 | 
						||
                    T_PE_CORRECTIVE_PREVENTIVE corrective = null;
 | 
						||
                    var newFilter = new BaseFilter(filter.OrgId);
 | 
						||
                    newFilter.SelectField = new List<string> { "ID", "NAME" };
 | 
						||
                    var userInfo = this.GetEntity<T_FM_USER>(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == "安环部负责人" && t.ENABLE_STATUS == 0, newFilter);
 | 
						||
                    if (userInfo == null && filter.OrgId.ToString() == "3efd5276-632b-e379-9ff3-7a7546591fca")
 | 
						||
                    {
 | 
						||
                        userInfo = this.GetEntity<T_FM_USER>(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == "安环部安全员" && t.ENABLE_STATUS == 0);
 | 
						||
                    }
 | 
						||
                    if (userInfo != null)
 | 
						||
                    {
 | 
						||
                        bool isSend = false;
 | 
						||
                        newFilter.SelectField = new List<string> { "PLANCHECKFREQUENCY", "MONTH", "DATA", "WEEKDATA" };
 | 
						||
                        var timeSet = GetEntity<T_PT_TIME_SET>(i => i.SET_TYPE == PTSetTypeEnum.CorrectivePreventive && i.ENABLE_STATUS == 0, newFilter);
 | 
						||
                        if (timeSet != null)
 | 
						||
                        {
 | 
						||
                            switch (timeSet.PLANCHECKFREQUENCY)
 | 
						||
                            {
 | 
						||
                                //case BSPLANCHECKFREQUENCYEnum.OneTime:
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Year:
 | 
						||
                                    if (timeSet.MONTH == month && timeSet.DATA == day)
 | 
						||
                                        isSend = true;
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.HalfYear:
 | 
						||
                                    if ((timeSet.MONTH == month && timeSet.DATA == day) || ((timeSet.MONTH + 6) == month && (timeSet.DATA + 183) == day))
 | 
						||
                                        isSend = true;
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Date:
 | 
						||
                                    isSend = true;
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Week:
 | 
						||
                                    if (timeSet.WEEKDATA != null && (int)timeSet.WEEKDATA.Value == (int)week)
 | 
						||
                                        isSend = true;
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Month:
 | 
						||
                                    if (timeSet.DATA == day)
 | 
						||
                                        isSend = true;
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Quarter:
 | 
						||
                                    if (timeSet.MONTH == 1)
 | 
						||
                                    {
 | 
						||
                                        if ((month == 1 || month == 4 || month == 7 || month == 10) && timeSet.DATA == day)
 | 
						||
                                            isSend = true;
 | 
						||
                                    }
 | 
						||
                                    if (timeSet.MONTH == 2)
 | 
						||
                                    {
 | 
						||
                                        if ((month == 2 || month == 5 || month == 8 || month == 11) && timeSet.DATA == day)
 | 
						||
                                            isSend = true;
 | 
						||
                                    }
 | 
						||
                                    if (timeSet.MONTH == 3)
 | 
						||
                                    {
 | 
						||
                                        if ((month == 3 || month == 6 || month == 9 || month == 12) && timeSet.DATA == day)
 | 
						||
                                            isSend = true;
 | 
						||
                                    }
 | 
						||
                                    break;
 | 
						||
                                default:
 | 
						||
                                    break;
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                        if (isSend)
 | 
						||
                        {
 | 
						||
                            if (!string.IsNullOrEmpty(filter.Parameter1))
 | 
						||
                            {
 | 
						||
                                if (DateTime.Now.Hour.ToString() == filter.Parameter1)
 | 
						||
                                    isSend = true;
 | 
						||
                                else
 | 
						||
                                    isSend = false;
 | 
						||
                            }
 | 
						||
                            var safe = this.GetEntity<T_PE_CORRECTIVE_PREVENTIVE>(t => t.USER_ID == userInfo.ID && t.CREATE_TIME.Value.Date == DateTime.Now.Date);
 | 
						||
                            if (safe == null)
 | 
						||
                            {
 | 
						||
                                corrective = new T_PE_CORRECTIVE_PREVENTIVE();
 | 
						||
                                corrective.ORG_ID = filter.GetOrgId();
 | 
						||
                                corrective.USER_ID = userInfo.ID;
 | 
						||
                                corrective.DEPARTMENT_ID = userInfo.DEPARTMENT_ID;
 | 
						||
                                corrective.STATUS = PFStandardStatus.Draft;
 | 
						||
                                sendNotice = NotificationTaskService.InsertUserNoticeTaskModel("纠正与预防措施通知单", corrective.ID, filter.GetOrgId(), userInfo.ID, userInfo.NAME, DateTime.Now, DateTime.Now.AddDays(30), (int)FMNoticeTypeEnum.消息, "PE005");
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    UnifiedCommit(() =>
 | 
						||
                    {
 | 
						||
                        if (corrective != null)
 | 
						||
                            UpdateEntityNoCommit(corrective);
 | 
						||
                        if (sendNotice != null)
 | 
						||
                            UpdateEntityNoCommit(sendNotice);
 | 
						||
                    });
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(ex.StackTrace))
 | 
						||
                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
 | 
						||
                    else
 | 
						||
                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
 | 
						||
                }
 | 
						||
                return true;
 | 
						||
            });
 | 
						||
        }
 | 
						||
        /// <summary>
 | 
						||
        /// 触发安全绩效监测计划表
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("SafetyMonitorPlanSync")]
 | 
						||
        public JsonActionResult<bool> SafetyMonitorPlanSync([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<bool>(() =>
 | 
						||
            {
 | 
						||
                try
 | 
						||
                {
 | 
						||
                    var dtNow = DateTime.Now;
 | 
						||
                    var year = dtNow.Year;
 | 
						||
                    var month = dtNow.Month;
 | 
						||
                    var day = dtNow.Day;
 | 
						||
                    var time = dtNow.TimeOfDay;
 | 
						||
                    var week = dtNow.DayOfWeek;
 | 
						||
                    List<T_FM_NOTIFICATION_TASK> sendNotices = new List<T_FM_NOTIFICATION_TASK>();
 | 
						||
                    List<T_PE_SAFETY_MONITOR_PLAN> monitorPlans = new List<T_PE_SAFETY_MONITOR_PLAN>();
 | 
						||
                    List<T_PE_SAFETY_MONITOR_PLAN_DETAIL> monitorPlanDetails = new List<T_PE_SAFETY_MONITOR_PLAN_DETAIL>();
 | 
						||
                    var newFilter = new BaseFilter(filter.OrgId);
 | 
						||
                    newFilter.SelectField = new List<string> { "ID", "NAME" };
 | 
						||
                    var userInfo = this.GetEntity<T_FM_USER>(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == "安环部负责人" && t.ENABLE_STATUS == 0, newFilter);
 | 
						||
                    if (userInfo == null && filter.OrgId.ToString() == "3efd5276-632b-e379-9ff3-7a7546591fca")
 | 
						||
                    {
 | 
						||
                        userInfo = this.GetEntity<T_FM_USER>(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == "安环部安全员" && t.ENABLE_STATUS == 0);
 | 
						||
                    }
 | 
						||
                    if (userInfo != null)
 | 
						||
                    {
 | 
						||
                        bool isSend = false;
 | 
						||
                        newFilter.SelectField = new List<string> { "PLANCHECKFREQUENCY", "MONTH", "DATA", "WEEKDATA" };
 | 
						||
                        var timeSet = GetEntity<T_PT_TIME_SET>(i => i.SET_TYPE == PTSetTypeEnum.SafetyMonitorPlan && i.ENABLE_STATUS == 0, newFilter);
 | 
						||
                        if (timeSet != null)
 | 
						||
                        {
 | 
						||
                            switch (timeSet.PLANCHECKFREQUENCY)
 | 
						||
                            {
 | 
						||
                                //case BSPLANCHECKFREQUENCYEnum.OneTime:
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Year:
 | 
						||
                                    if (timeSet.MONTH == month && timeSet.DATA == day)
 | 
						||
                                    {
 | 
						||
                                        isSend = true;
 | 
						||
                                    }
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.HalfYear:
 | 
						||
                                    if ((timeSet.MONTH == month && timeSet.DATA == day) || ((timeSet.MONTH + 6) == month && (timeSet.DATA + 183) == day))
 | 
						||
                                    {
 | 
						||
                                        isSend = true;
 | 
						||
                                    }
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Date:
 | 
						||
                                    isSend = true;
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Week:
 | 
						||
                                    if (timeSet.WEEKDATA != null && (int)timeSet.WEEKDATA.Value == (int)week)
 | 
						||
                                        isSend = true;
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Month:
 | 
						||
                                    if (timeSet.DATA == day)
 | 
						||
                                    {
 | 
						||
                                        isSend = true;
 | 
						||
                                        //if (month == 1)
 | 
						||
                                        //    year = year - 1;
 | 
						||
                                    }
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Quarter:
 | 
						||
                                    if (timeSet.MONTH == 1)
 | 
						||
                                    {
 | 
						||
                                        if ((month == 1 || month == 4 || month == 7 || month == 10) && timeSet.DATA == day)
 | 
						||
                                            isSend = true;
 | 
						||
                                    }
 | 
						||
                                    if (timeSet.MONTH == 2)
 | 
						||
                                    {
 | 
						||
                                        if ((month == 2 || month == 5 || month == 8 || month == 11) && timeSet.DATA == day)
 | 
						||
                                            isSend = true;
 | 
						||
                                    }
 | 
						||
                                    if (timeSet.MONTH == 3)
 | 
						||
                                    {
 | 
						||
                                        if ((month == 3 || month == 6 || month == 9 || month == 12) && timeSet.DATA == day)
 | 
						||
                                            isSend = true;
 | 
						||
                                    }
 | 
						||
                                    //if ((month == 1 && day == timeSet.DATA) || (month == 4 && day == timeSet.DATA) || (month == 7 && day == timeSet.DATA) || (month == 10 && day == timeSet.DATA))
 | 
						||
                                    //{
 | 
						||
                                    //    isSend = true;
 | 
						||
                                    //    if (month == 1 && day == timeSet.DATA)
 | 
						||
                                    //        year = year - 1;
 | 
						||
                                    //}
 | 
						||
                                    break;
 | 
						||
                                default:
 | 
						||
                                    break;
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                        if (isSend)
 | 
						||
                        {
 | 
						||
                            if (!string.IsNullOrEmpty(filter.Parameter1))
 | 
						||
                            {
 | 
						||
                                if (DateTime.Now.Hour.ToString() == filter.Parameter1)
 | 
						||
                                    isSend = true;
 | 
						||
                                else
 | 
						||
                                    isSend = false;
 | 
						||
                            }
 | 
						||
                            //newFilter.SelectField = new List<string> { "ID", "NAME" };
 | 
						||
                            //var productUnit = this.GetEntities<T_PE_STANDARDIZED_SCORE_IMPORT>(t => t.PARENT_ID == null, newFilter).Distinct().ToList();
 | 
						||
                            //if (productUnit != null && productUnit.Any())
 | 
						||
                            //{
 | 
						||
                            //    foreach (var item in productUnit)
 | 
						||
                            //    {
 | 
						||
 | 
						||
                            //    }
 | 
						||
                            //}
 | 
						||
                            var safe = this.GetEntity<T_PE_SAFETY_MONITOR_PLAN>(t => t.USER_ID == userInfo.ID && t.CREATE_TIME.Value.Date == DateTime.Now.Date);
 | 
						||
                            if (safe == null)
 | 
						||
                            {
 | 
						||
                                T_PE_SAFETY_MONITOR_PLAN monitorPlan = new T_PE_SAFETY_MONITOR_PLAN();
 | 
						||
                                monitorPlan.ORG_ID = filter.GetOrgId();
 | 
						||
                                monitorPlan.USER_ID = userInfo.ID;
 | 
						||
                                monitorPlan.DEPARTMENT_ID = userInfo.DEPARTMENT_ID;
 | 
						||
                                monitorPlan.STATUS = PFStandardStatus.Draft;
 | 
						||
                                monitorPlan.YEAR = year.ToString();
 | 
						||
                                monitorPlan.PRODUCTION_UNIT_ID = null;
 | 
						||
                                monitorPlans.Add(monitorPlan);
 | 
						||
                                newFilter.SelectField = new List<string> { "ORG_ID", "ID" };
 | 
						||
                                var monitorProjects = this.GetEntities<T_PE_MONITOR_PROJECT>(t => !t.IS_DELETED, newFilter).ToList();
 | 
						||
                                if (monitorProjects != null && monitorProjects.Any())
 | 
						||
                                {
 | 
						||
                                    foreach (var project in monitorProjects)
 | 
						||
                                    {
 | 
						||
                                        T_PE_SAFETY_MONITOR_PLAN_DETAIL detail = new T_PE_SAFETY_MONITOR_PLAN_DETAIL();
 | 
						||
                                        detail.ORG_ID = project.ORG_ID;
 | 
						||
                                        detail.SAFETY_MONITOR_PLAN_ID = monitorPlan.ID;
 | 
						||
                                        detail.PROJECT_ID = project.ID;
 | 
						||
                                        detail.ASSESSMENT_CYCLE = PTAssessmentCycleEnums.Year;
 | 
						||
                                        monitorPlanDetails.Add(detail);
 | 
						||
                                    }
 | 
						||
                                }
 | 
						||
                                T_FM_NOTIFICATION_TASK sendNotice = NotificationTaskService.InsertUserNoticeTaskModel("年度安全绩效监测计划", monitorPlan.ID, filter.GetOrgId(), userInfo.ID, userInfo.NAME, DateTime.Now, DateTime.Now.AddDays(30), (int)FMNoticeTypeEnum.消息, "PE019");
 | 
						||
                                sendNotices.Add(sendNotice);
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    UnifiedCommit(() =>
 | 
						||
                    {
 | 
						||
                        if (monitorPlans != null && monitorPlans.Any())
 | 
						||
                            this.BantchSaveEntityNoCommit(monitorPlans);
 | 
						||
                        if (monitorPlanDetails != null && monitorPlanDetails.Any())
 | 
						||
                            this.BantchSaveEntityNoCommit(monitorPlanDetails);
 | 
						||
                        if (sendNotices != null && sendNotices.Any())
 | 
						||
                            this.BantchSaveEntityNoCommit(sendNotices);
 | 
						||
                    });
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(ex.StackTrace))
 | 
						||
                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
 | 
						||
                    else
 | 
						||
                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
 | 
						||
                }
 | 
						||
                return true;
 | 
						||
            });
 | 
						||
        }
 | 
						||
        /// <summary>
 | 
						||
        /// 触发安全绩效监测记录表
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("SafetyMonitorRecordSync")]
 | 
						||
        public JsonActionResult<bool> SafetyMonitorRecordSync([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<bool>(() =>
 | 
						||
            {
 | 
						||
                try
 | 
						||
                {
 | 
						||
                    var dtNow = DateTime.Now;
 | 
						||
                    var year = dtNow.Year;
 | 
						||
                    var month = dtNow.Month;
 | 
						||
                    var day = dtNow.Day;
 | 
						||
                    var time = dtNow.TimeOfDay;
 | 
						||
                    var week = dtNow.DayOfWeek;
 | 
						||
                    var isSend = true;
 | 
						||
                    List<T_FM_NOTIFICATION_TASK> sendNotices = new List<T_FM_NOTIFICATION_TASK>();
 | 
						||
                    var newFilter = new BaseFilter(filter.OrgId);
 | 
						||
                    //newFilter.SelectField = new List<string> { "YEAR", "ID" };
 | 
						||
                    var monitorPlan = this.GetEntities<T_PE_SAFETY_MONITOR_PLAN>(e => (e.YEAR == year.ToString()) && e.STATUS == PFStandardStatus.Archived && e.IS_RUN == DisableStatusEnum.否, new BaseFilter(filter.OrgId), "Nav_Details").ToList();
 | 
						||
                    if (monitorPlan.Count < 1)
 | 
						||
                        return true;
 | 
						||
                    List<T_PE_SAFETY_MONITOR_PLAN> monitorPlanList = new List<T_PE_SAFETY_MONITOR_PLAN>();
 | 
						||
                    List<T_PE_SAFETY_MONITOR_PLAN_DETAIL> monitorPlanDetails = new List<T_PE_SAFETY_MONITOR_PLAN_DETAIL>();
 | 
						||
                    List<T_PE_SAFETY_MONITOR_RECORD> monitorRecords = new List<T_PE_SAFETY_MONITOR_RECORD>();
 | 
						||
                    List<T_PE_SAFETY_MONITOR_RECORD_DETAIL> monitorRecordDetails = new List<T_PE_SAFETY_MONITOR_RECORD_DETAIL>();
 | 
						||
                    var timeSet = GetEntities<T_PT_TIME_SET>(i => i.SET_TYPE == PTSetTypeEnum.SafetyMonitorRecord && i.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
 | 
						||
                    if (timeSet != null && timeSet.Any())
 | 
						||
                    {
 | 
						||
                        if (isSend)
 | 
						||
                        {
 | 
						||
                            if (!string.IsNullOrEmpty(filter.Parameter1))
 | 
						||
                            {
 | 
						||
                                if (DateTime.Now.Hour.ToString() == filter.Parameter1)
 | 
						||
                                    isSend = true;
 | 
						||
                                else
 | 
						||
                                    isSend = false;
 | 
						||
                            }
 | 
						||
                            var monitorPlanIds = monitorPlan.Select(t => t.ID).ToList();
 | 
						||
                            foreach (var itemSet in timeSet)
 | 
						||
                            {
 | 
						||
                                var monitorPlanNew = new List<T_PE_SAFETY_MONITOR_PLAN>();
 | 
						||
                                //newFilter.SelectField = new List<string> { "SAFETY_MONITOR_PLAN_ID" };
 | 
						||
                                //var monitorRecordTemp = GetEntities<T_PE_SAFETY_MONITOR_RECORD>(i => monitorPlanIds.Contains(i.SAFETY_MONITOR_PLAN_ID.Value), new BaseFilter(filter.OrgId)).ToList();
 | 
						||
                                //var existIds = monitorRecordTemp.Select(t => t.SAFETY_MONITOR_PLAN_ID).Distinct().ToList();
 | 
						||
                                switch (itemSet.PLANCHECKFREQUENCY)
 | 
						||
                                {
 | 
						||
                                    //case BSPLANCHECKFREQUENCYEnum.OneTime:
 | 
						||
                                    case BSPLANCHECKFREQUENCYEnum.HalfYear:
 | 
						||
                                        if ((itemSet.MONTH == month && itemSet.DATA == day) || ((itemSet.MONTH + 6) == month && (itemSet.DATA + 183) == day))
 | 
						||
                                        {
 | 
						||
                                            monitorPlanNew = monitorPlan.Where(t => t.YEAR == year.ToString()).ToList();//&& !existIds.Contains(t.ID)
 | 
						||
                                            if (monitorPlanNew != null && monitorPlanNew.Any())
 | 
						||
                                            {
 | 
						||
                                                foreach (var item in monitorPlanNew)
 | 
						||
                                                {
 | 
						||
                                                    item.IS_RUN = DisableStatusEnum.是;
 | 
						||
                                                    if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						||
                                                    {
 | 
						||
                                                        var temp = item.Nav_Details.Where(t => t.ASSESSMENT_CYCLE == PTAssessmentCycleEnums.HalfYear).ToList();
 | 
						||
                                                        monitorPlanDetails.AddRange(temp);
 | 
						||
                                                    }
 | 
						||
                                                    monitorPlanList.Add(item);
 | 
						||
                                                }
 | 
						||
                                            }
 | 
						||
                                        }
 | 
						||
                                        break;
 | 
						||
                                    case BSPLANCHECKFREQUENCYEnum.Year:
 | 
						||
                                        if (itemSet.MONTH == month && itemSet.DATA == day)
 | 
						||
                                        {
 | 
						||
                                            monitorPlanNew = monitorPlan.Where(t => t.YEAR == year.ToString()).ToList();//&& !existIds.Contains(t.ID)
 | 
						||
                                            if (monitorPlanNew != null && monitorPlanNew.Any())
 | 
						||
                                            {
 | 
						||
                                                foreach (var item in monitorPlanNew)
 | 
						||
                                                {
 | 
						||
                                                    item.IS_RUN = DisableStatusEnum.是;
 | 
						||
                                                    if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						||
                                                    {
 | 
						||
                                                        var temp = item.Nav_Details.Where(t => t.ASSESSMENT_CYCLE == PTAssessmentCycleEnums.Year).ToList();
 | 
						||
                                                        monitorPlanDetails.AddRange(temp);
 | 
						||
                                                    }
 | 
						||
                                                    monitorPlanList.Add(item);
 | 
						||
                                                }
 | 
						||
                                            }
 | 
						||
                                        }
 | 
						||
                                        break;
 | 
						||
                                    case BSPLANCHECKFREQUENCYEnum.Date:
 | 
						||
                                        monitorPlanNew = monitorPlan.Where(t => t.YEAR == year.ToString()).ToList();//&& !existIds.Contains(t.ID)
 | 
						||
                                        if (monitorPlanNew != null && monitorPlanNew.Any())
 | 
						||
                                        {
 | 
						||
                                            foreach (var item in monitorPlanNew)
 | 
						||
                                            {
 | 
						||
                                                item.IS_RUN = DisableStatusEnum.是;
 | 
						||
                                                if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						||
                                                {
 | 
						||
                                                    var temp = item.Nav_Details.Where(t => t.ASSESSMENT_CYCLE == PTAssessmentCycleEnums.Day).ToList();
 | 
						||
                                                    monitorPlanDetails.AddRange(temp);
 | 
						||
                                                }
 | 
						||
                                                monitorPlanList.Add(item);
 | 
						||
                                            }
 | 
						||
                                        }
 | 
						||
                                        break;
 | 
						||
                                    case BSPLANCHECKFREQUENCYEnum.Week:
 | 
						||
                                        if (itemSet.WEEKDATA != null && (int)itemSet.WEEKDATA.Value == (int)week)
 | 
						||
                                        {
 | 
						||
                                            monitorPlanNew = monitorPlan.Where(t => t.YEAR == year.ToString()).ToList();// && !existIds.Contains(t.ID)
 | 
						||
                                            if (monitorPlanNew != null && monitorPlanNew.Any())
 | 
						||
                                            {
 | 
						||
                                                foreach (var item in monitorPlanNew)
 | 
						||
                                                {
 | 
						||
                                                    item.IS_RUN = DisableStatusEnum.是;
 | 
						||
                                                    if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						||
                                                    {
 | 
						||
                                                        var temp = item.Nav_Details.Where(t => t.ASSESSMENT_CYCLE == PTAssessmentCycleEnums.Week).ToList();
 | 
						||
                                                        monitorPlanDetails.AddRange(temp);
 | 
						||
                                                    }
 | 
						||
                                                    monitorPlanList.Add(item);
 | 
						||
                                                }
 | 
						||
                                            }
 | 
						||
                                        }
 | 
						||
                                        break;
 | 
						||
                                    case BSPLANCHECKFREQUENCYEnum.Month:
 | 
						||
                                        if (itemSet.DATA == day)
 | 
						||
                                        {
 | 
						||
                                            monitorPlanNew = monitorPlan.Where(t => t.YEAR == year.ToString()).ToList();// && !existIds.Contains(t.ID)
 | 
						||
                                            if (monitorPlanNew != null && monitorPlanNew.Any())
 | 
						||
                                            {
 | 
						||
                                                foreach (var item in monitorPlanNew)
 | 
						||
                                                {
 | 
						||
                                                    item.IS_RUN = DisableStatusEnum.是;
 | 
						||
                                                    if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						||
                                                    {
 | 
						||
                                                        var temp = item.Nav_Details.Where(t => t.ASSESSMENT_CYCLE == PTAssessmentCycleEnums.Month).ToList();
 | 
						||
                                                        monitorPlanDetails.AddRange(temp);
 | 
						||
                                                    }
 | 
						||
                                                    monitorPlanList.Add(item);
 | 
						||
                                                }
 | 
						||
                                            }
 | 
						||
                                        }
 | 
						||
                                        break;
 | 
						||
                                    case BSPLANCHECKFREQUENCYEnum.Quarter:
 | 
						||
                                        if (itemSet.MONTH == 1)
 | 
						||
                                        {
 | 
						||
                                            if ((month == 1 || month == 4 || month == 7 || month == 10) && itemSet.DATA == day)
 | 
						||
                                            {
 | 
						||
                                                monitorPlanNew = monitorPlan.Where(t => t.YEAR == year.ToString()).ToList();//&& !existIds.Contains(t.ID)
 | 
						||
                                                if (monitorPlanNew != null && monitorPlanNew.Any())
 | 
						||
                                                {
 | 
						||
                                                    foreach (var item in monitorPlanNew)
 | 
						||
                                                    {
 | 
						||
                                                        item.IS_RUN = DisableStatusEnum.是;
 | 
						||
                                                        if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						||
                                                        {
 | 
						||
                                                            var temp = item.Nav_Details.Where(t => t.ASSESSMENT_CYCLE == PTAssessmentCycleEnums.Quarter).ToList();
 | 
						||
                                                            monitorPlanDetails.AddRange(temp);
 | 
						||
                                                        }
 | 
						||
                                                        monitorPlanList.Add(item);
 | 
						||
                                                    }
 | 
						||
                                                }
 | 
						||
                                            }
 | 
						||
                                        }
 | 
						||
                                        if (itemSet.MONTH == 2)
 | 
						||
                                        {
 | 
						||
                                            if ((month == 2 || month == 5 || month == 8 || month == 11) && itemSet.DATA == day)
 | 
						||
                                            {
 | 
						||
                                                monitorPlanNew = monitorPlan.Where(t => t.YEAR == year.ToString()).ToList();//&& !existIds.Contains(t.ID)
 | 
						||
                                                if (monitorPlanNew != null && monitorPlanNew.Any())
 | 
						||
                                                {
 | 
						||
                                                    foreach (var item in monitorPlanNew)
 | 
						||
                                                    {
 | 
						||
                                                        item.IS_RUN = DisableStatusEnum.是;
 | 
						||
                                                        if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						||
                                                        {
 | 
						||
                                                            var temp = item.Nav_Details.Where(t => t.ASSESSMENT_CYCLE == PTAssessmentCycleEnums.Quarter).ToList();
 | 
						||
                                                            monitorPlanDetails.AddRange(temp);
 | 
						||
                                                        }
 | 
						||
                                                        monitorPlanList.Add(item);
 | 
						||
                                                    }
 | 
						||
                                                }
 | 
						||
                                            }
 | 
						||
                                        }
 | 
						||
                                        if (itemSet.MONTH == 3)
 | 
						||
                                        {
 | 
						||
                                            if ((month == 3 || month == 6 || month == 9 || month == 12) && itemSet.DATA == day)
 | 
						||
                                            {
 | 
						||
                                                monitorPlanNew = monitorPlan.Where(t => t.YEAR == year.ToString()).ToList();//&& !existIds.Contains(t.ID)
 | 
						||
                                                if (monitorPlanNew != null && monitorPlanNew.Any())
 | 
						||
                                                {
 | 
						||
                                                    foreach (var item in monitorPlanNew)
 | 
						||
                                                    {
 | 
						||
                                                        item.IS_RUN = DisableStatusEnum.是;
 | 
						||
                                                        if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						||
                                                        {
 | 
						||
                                                            var temp = item.Nav_Details.Where(t => t.ASSESSMENT_CYCLE == PTAssessmentCycleEnums.Quarter).ToList();
 | 
						||
                                                            monitorPlanDetails.AddRange(temp);
 | 
						||
                                                        }
 | 
						||
                                                        monitorPlanList.Add(item);
 | 
						||
                                                    }
 | 
						||
                                                }
 | 
						||
                                            }
 | 
						||
                                        }
 | 
						||
                                        break;
 | 
						||
                                    default:
 | 
						||
                                        break;
 | 
						||
                                }
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    if (monitorPlanDetails != null && monitorPlanDetails.Any())
 | 
						||
                    {
 | 
						||
                        var userIds = monitorPlanDetails.Select(t => t.USER_ID).Distinct().ToList();
 | 
						||
                        newFilter.SelectField = new List<string> { "DEPARTMENT_ID", "ID", "NAME" };
 | 
						||
                        var users = this.GetEntities<T_FM_USER>(t => userIds.Contains(t.ID) && t.ENABLE_STATUS == 0, newFilter).Distinct().ToList();
 | 
						||
                        var planTemps = monitorPlanDetails.GroupBy(t => new { t.SAFETY_MONITOR_PLAN_ID, t.ASSESSMENT_CYCLE, t.USER_ID }).ToList();
 | 
						||
                        foreach (var detailP in planTemps)
 | 
						||
                        {
 | 
						||
                            var userInfo = users.FirstOrDefault(t => t.ID == detailP.Key.USER_ID);
 | 
						||
                            T_PE_SAFETY_MONITOR_RECORD monitorRecord = new T_PE_SAFETY_MONITOR_RECORD();
 | 
						||
                            monitorRecord.ORG_ID = filter.GetOrgId();
 | 
						||
                            monitorRecord.USER_ID = detailP.Key.USER_ID;
 | 
						||
                            monitorRecord.DEPARTMENT_ID = userInfo?.DEPARTMENT_ID;
 | 
						||
                            monitorRecord.STATUS = PFStandardStatus.Draft;
 | 
						||
                            monitorRecord.SAFETY_MONITOR_PLAN_ID = detailP.Key.SAFETY_MONITOR_PLAN_ID;
 | 
						||
                            monitorRecord.ASSESSMENT_CYCLE = detailP.Key.ASSESSMENT_CYCLE;
 | 
						||
                            monitorRecords.Add(monitorRecord);
 | 
						||
                            var details = monitorPlanDetails.Where(t => t.SAFETY_MONITOR_PLAN_ID == detailP.Key.SAFETY_MONITOR_PLAN_ID && t.ASSESSMENT_CYCLE == detailP.Key.ASSESSMENT_CYCLE && t.USER_ID == detailP.Key.USER_ID).ToList();
 | 
						||
                            if (details != null && details.Any())
 | 
						||
                            {
 | 
						||
                                foreach (var detailR in details)
 | 
						||
                                {
 | 
						||
                                    T_PE_SAFETY_MONITOR_RECORD_DETAIL detail = new T_PE_SAFETY_MONITOR_RECORD_DETAIL();
 | 
						||
                                    detail.ORG_ID = monitorRecord.ORG_ID;
 | 
						||
                                    detail.SAFETY_MONITOR_RECORD_ID = monitorRecord.ID;
 | 
						||
                                    detail.PROJECT_ID = detailR.PROJECT_ID;
 | 
						||
                                    detail.CONTENTS = detailR.CONTENTS;
 | 
						||
                                    detail.STANDARD = detailR.STANDARD;
 | 
						||
                                    detail.METHOD = detailR.METHOD;
 | 
						||
                                    detail.RESULT_DISCUSS = PTResultDiscussEnums.Unfinished;
 | 
						||
                                    monitorRecordDetails.Add(detail);
 | 
						||
                                }
 | 
						||
                            }
 | 
						||
                            var sendNotice = NotificationTaskService.InsertUserNoticeTaskModel("安全绩效监测记录表-" + detailP.Key.ASSESSMENT_CYCLE.GetDescription(), monitorRecord.ID, filter.GetOrgId(), userInfo.ID, userInfo.NAME, DateTime.Now, DateTime.Now.AddDays(30), (int)FMNoticeTypeEnum.消息, "PE021");
 | 
						||
                            sendNotices.Add(sendNotice);
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    UnifiedCommit(() =>
 | 
						||
                    {
 | 
						||
                        if (monitorPlanList != null && monitorPlanList.Any())
 | 
						||
                            this.BantchUpdateEntityNoCommit(monitorPlanList);
 | 
						||
                        if (monitorRecords != null && monitorRecords.Any())
 | 
						||
                            this.BantchSaveEntityNoCommit(monitorRecords);
 | 
						||
                        if (monitorRecordDetails != null && monitorRecordDetails.Any())
 | 
						||
                            this.BantchSaveEntityNoCommit(monitorRecordDetails);
 | 
						||
                        if (sendNotices != null && sendNotices.Any())
 | 
						||
                            this.BantchSaveEntityNoCommit(sendNotices);
 | 
						||
                    });
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(ex.StackTrace))
 | 
						||
                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
 | 
						||
                    else
 | 
						||
                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
 | 
						||
                }
 | 
						||
                return true;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 触发安全评价计划讨论会(今日提醒)
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("SafetyEvaluationPlanSync")]
 | 
						||
        public JsonActionResult<bool> SafetyEvaluationPlanSync([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<bool>(() =>
 | 
						||
            {
 | 
						||
                try
 | 
						||
                {
 | 
						||
                    var dtNow = DateTime.Now;
 | 
						||
                    var month = dtNow.Month;
 | 
						||
                    var day = dtNow.Day;
 | 
						||
                    var time = dtNow.TimeOfDay;
 | 
						||
                    var week = dtNow.DayOfWeek;
 | 
						||
                    T_FM_NOTIFICATION_TASK sendNotice = null;
 | 
						||
                    bool isSend = false;
 | 
						||
                    var userInfo = this.GetEntity<T_FM_USER>(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == "安环部负责人" && t.ENABLE_STATUS == 0);
 | 
						||
                    if (userInfo == null && filter.OrgId.ToString() == "3efd5276-632b-e379-9ff3-7a7546591fca")
 | 
						||
                    {
 | 
						||
                        userInfo = this.GetEntity<T_FM_USER>(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == "安环部安全员" && t.ENABLE_STATUS == 0);
 | 
						||
                    }
 | 
						||
                    if (userInfo != null)
 | 
						||
                    {
 | 
						||
                        var newFilter = new BaseFilter(filter.OrgId);
 | 
						||
                        newFilter.SelectField = new List<string> { "PLANCHECKFREQUENCY", "MONTH", "DATA", "WEEKDATA" };
 | 
						||
                        var timeSet = GetEntity<T_PT_TIME_SET>(i => i.SET_TYPE == PTSetTypeEnum.SafetyPlanMeetting, newFilter);
 | 
						||
                        if (timeSet != null)
 | 
						||
                        {
 | 
						||
                            switch (timeSet.PLANCHECKFREQUENCY)
 | 
						||
                            {
 | 
						||
                                //case BSPLANCHECKFREQUENCYEnum.OneTime:
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Year:
 | 
						||
                                    if (timeSet.MONTH == month && timeSet.DATA == day)
 | 
						||
                                    {
 | 
						||
                                        isSend = true;
 | 
						||
                                    }
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.HalfYear:
 | 
						||
                                    if ((timeSet.MONTH == month && timeSet.DATA == day) || (timeSet.MONTH + 6 == month && timeSet.DATA + 183 == day))
 | 
						||
                                    {
 | 
						||
                                        isSend = true;
 | 
						||
                                    }
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Date:
 | 
						||
                                    isSend = true;
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Week:
 | 
						||
                                    if (timeSet.WEEKDATA != null && (int)timeSet.WEEKDATA.Value == (int)week)
 | 
						||
                                        isSend = true;
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Month:
 | 
						||
                                    if (timeSet.DATA == day)
 | 
						||
                                    {
 | 
						||
                                        isSend = true;
 | 
						||
                                        //if (month == 1)
 | 
						||
                                        //    year = year - 1;
 | 
						||
                                    }
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Quarter:
 | 
						||
                                    if (timeSet.MONTH == 1)
 | 
						||
                                    {
 | 
						||
                                        if ((month == 1 || month == 4 || month == 7 || month == 10) && timeSet.DATA == day)
 | 
						||
                                            isSend = true;
 | 
						||
                                    }
 | 
						||
                                    if (timeSet.MONTH == 2)
 | 
						||
                                    {
 | 
						||
                                        if ((month == 2 || month == 5 || month == 8 || month == 11) && timeSet.DATA == day)
 | 
						||
                                            isSend = true;
 | 
						||
                                    }
 | 
						||
                                    if (timeSet.MONTH == 3)
 | 
						||
                                    {
 | 
						||
                                        if ((month == 3 || month == 6 || month == 9 || month == 12) && timeSet.DATA == day)
 | 
						||
                                            isSend = true;
 | 
						||
                                    }
 | 
						||
                                    //if ((month == 1 && day == timeSet.DATA) || (month == 4 && day == timeSet.DATA) || (month == 7 && day == timeSet.DATA) || (month == 10 && day == timeSet.DATA))
 | 
						||
                                    //{
 | 
						||
                                    //    isSend = true;
 | 
						||
                                    //    if (month == 1 && day == timeSet.DATA)
 | 
						||
                                    //        year = year - 1;
 | 
						||
                                    //}
 | 
						||
                                    break;
 | 
						||
                                default:
 | 
						||
                                    break;
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    if (isSend)
 | 
						||
                        sendNotice = NotificationTaskService.InsertUserNoticeTaskModel("请召开安全标准化内部评价计划讨论会。", Guid.NewGuid(), filter.GetOrgId(), userInfo.ID, userInfo.NAME, DateTime.Now, DateTime.Now.AddDays(30), (int)FMNoticeTypeEnum.今日提醒, "PF135");
 | 
						||
                    UnifiedCommit(() =>
 | 
						||
                    {
 | 
						||
                        if (sendNotice != null)
 | 
						||
                            UpdateEntityNoCommit(sendNotice);
 | 
						||
                    });
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(ex.StackTrace))
 | 
						||
                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
 | 
						||
                    else
 | 
						||
                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
 | 
						||
                }
 | 
						||
                return true;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 触发安全标准化内部评价记录表
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="filter"></param>
 | 
						||
        [HttpPost, Route("SafetyEvaluationRecordSync")]
 | 
						||
        public JsonActionResult<bool> SafetyEvaluationRecordSync([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<bool>(() =>
 | 
						||
            {
 | 
						||
                try
 | 
						||
                {
 | 
						||
 | 
						||
                    var dtNow = DateTime.Now;
 | 
						||
                    var year = dtNow.Year;
 | 
						||
                    var month = dtNow.Month;
 | 
						||
                    var day = dtNow.Day;
 | 
						||
                    var time = dtNow.TimeOfDay;
 | 
						||
                    var week = dtNow.DayOfWeek;
 | 
						||
                    var newFilter = new BaseFilter(filter.OrgId);
 | 
						||
                    var evaluationPlan = this.GetEntities<T_PE_SAFETY_EVALUATION_PLAN>(t => t.START_TIME.Value.Year == year && t.START_TIME.Value.Month == month && t.START_TIME.Value.Day == day && t.IS_RUN == DisableStatusEnum.否 && t.STATUS == PFStandardStatus.Archived, new BaseFilter(filter.OrgId), "Nav_Details", "Nav_Details.Nav_EvaluationUser").ToList();
 | 
						||
                    if (evaluationPlan.Count < 1)
 | 
						||
                        return true;
 | 
						||
                    List<T_PE_SAFETY_EVALUATION_RECORD> recordList = new List<T_PE_SAFETY_EVALUATION_RECORD>();
 | 
						||
                    List<T_PE_SAFETY_EVALUATION_RECORD_DETAIL> recordDetailList = new List<T_PE_SAFETY_EVALUATION_RECORD_DETAIL>();
 | 
						||
                    List<T_PE_SAFETY_EVALUATION_RECORD_USER> recordUserList = new List<T_PE_SAFETY_EVALUATION_RECORD_USER>();
 | 
						||
                    List<T_FM_NOTIFICATION_TASK> notices = new List<T_FM_NOTIFICATION_TASK>();
 | 
						||
                    newFilter.SelectField = new List<string> { "ID", "NAME" };
 | 
						||
                    var userList = this.GetEntities<T_FM_USER>(t => !t.IS_DELETED && t.ENABLE_STATUS == 0, newFilter).ToList();
 | 
						||
                    foreach (var item in evaluationPlan)
 | 
						||
                    {
 | 
						||
                        item.IS_RUN = DisableStatusEnum.是;
 | 
						||
                        if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						||
                        {
 | 
						||
                            List<Guid> userIds = new List<Guid>();
 | 
						||
                            List<string> userNames = new List<string>();
 | 
						||
                            T_PE_SAFETY_EVALUATION_RECORD record = new T_PE_SAFETY_EVALUATION_RECORD();
 | 
						||
                            record.ORG_ID = filter.OrgId;
 | 
						||
                            record.EVALUATION_PLAN_ID = item.ID;
 | 
						||
                            record.STATUS = PFStandardStatus.Draft;
 | 
						||
                            recordList.Add(record);
 | 
						||
                            var group = 1;
 | 
						||
                            var standardizedIds = item.Nav_Details.Select(t => t.STANDARDIZED_ID).Distinct().ToList();
 | 
						||
                            var standardized = this.GetEntities<T_PE_STANDARDIZED_SCORE_IMPORT_DETAIL>(t => standardizedIds.Contains(t.PRIMARY_ELEMENTS_ID), new BaseFilter(filter.OrgId));
 | 
						||
                            foreach (var itemDetail in item.Nav_Details)
 | 
						||
                            {
 | 
						||
                                var evaluationItem = standardized.Where(t => t.PRIMARY_ELEMENTS_ID == itemDetail.STANDARDIZED_ID).ToList();
 | 
						||
                                if (evaluationItem != null && evaluationItem.Any())
 | 
						||
                                {
 | 
						||
                                    evaluationItem.ForEach(t =>
 | 
						||
                                    {
 | 
						||
                                        T_PE_SAFETY_EVALUATION_RECORD_DETAIL detail = new T_PE_SAFETY_EVALUATION_RECORD_DETAIL();
 | 
						||
                                        detail.ORG_ID = t.ORG_ID;
 | 
						||
                                        detail.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
 | 
						||
                                        detail.SAFETY_EVALUATION_RECORD_ID = record.ID;
 | 
						||
                                        detail.PRIMARY_ELEMENTS_ID = t.PRIMARY_ELEMENTS_ID;
 | 
						||
                                        detail.SECOND_ELEMENTS_ID = t.SECOND_ELEMENTS_ID;
 | 
						||
                                        detail.THREE_ELEMENTS_ID = t.THREE_ELEMENTS_ID;
 | 
						||
                                        detail.EVALUATION_ITEM = t.EVALUATION_ITEM;
 | 
						||
                                        detail.CONTENTS = t.CONTENTS;
 | 
						||
                                        detail.STANDARDIZED_SCORE = t.STANDARDIZED_SCORE;
 | 
						||
                                        detail.NON_STANDARDIZED_SCORE = t.NON_STANDARDIZED_SCORE;
 | 
						||
                                        detail.EVALUATION_RESULT = PEEvaluationResultEnum.Conform;
 | 
						||
                                        detail.NUM = t.NUM;
 | 
						||
                                        recordDetailList.Add(detail);
 | 
						||
                                    });
 | 
						||
                                }
 | 
						||
                                if (itemDetail.Nav_EvaluationUser != null && itemDetail.Nav_EvaluationUser.Any())
 | 
						||
                                {
 | 
						||
                                    foreach (var userDetail in itemDetail.Nav_EvaluationUser)
 | 
						||
                                    {
 | 
						||
                                        T_PE_SAFETY_EVALUATION_RECORD_USER user = new T_PE_SAFETY_EVALUATION_RECORD_USER();
 | 
						||
                                        user.SAFETY_EVALUATION_RECORD_ID = record.ID;
 | 
						||
                                        user.ORG_ID = filter.OrgId;
 | 
						||
                                        user.USER_ID = userDetail.USER_ID;
 | 
						||
                                        user.DEAL_STATUS = FOUserShiftStatusEnum.待处理;
 | 
						||
                                        user.GROUP_NO = group;
 | 
						||
                                        user.ROW_NO = userDetail.ROW_NO;
 | 
						||
                                        recordUserList.Add(user);
 | 
						||
                                        if (userDetail.ROW_NO == 1)
 | 
						||
                                            userIds.Add(userDetail.USER_ID.Value);
 | 
						||
                                    }
 | 
						||
                                }
 | 
						||
                                group++;
 | 
						||
                            }
 | 
						||
                            userIds = userIds.Distinct().ToList();
 | 
						||
                            if (userIds != null && userIds.Any())
 | 
						||
                            {
 | 
						||
                                foreach (var user in userIds)
 | 
						||
                                {
 | 
						||
                                    var userName = userList.FirstOrDefault(t => t.ID == user);
 | 
						||
                                    userNames.Add(userName?.NAME);
 | 
						||
                                }
 | 
						||
                                //发消息
 | 
						||
                                var notice = NotificationTaskService.InsertUserNoticeTaskModels("安全标准化内部评价记录表", record.ID, filter.OrgId, userIds, userNames, DateTime.Now,
 | 
						||
                                DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "PE029");
 | 
						||
                                notices.AddRange(notice);
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    if (notices != null && notices.Any())
 | 
						||
                    {
 | 
						||
                        //recordUserList = recordUserList.Distinct(t => new { t.SAFETY_EVALUATION_RECORD_ID, t.USER_ID }).ToList();
 | 
						||
                    }
 | 
						||
                    else
 | 
						||
                    {
 | 
						||
                        recordList = null;
 | 
						||
                        recordDetailList = null;
 | 
						||
                        recordUserList = null;
 | 
						||
                    }
 | 
						||
                    UnifiedCommit(() =>
 | 
						||
                    {
 | 
						||
                        if (evaluationPlan != null && evaluationPlan.Any())
 | 
						||
                            BantchSaveEntityNoCommit(evaluationPlan);
 | 
						||
                        if (recordList != null && recordList.Any())
 | 
						||
                            BantchSaveEntityNoCommit(recordList);
 | 
						||
                        if (recordDetailList != null && recordDetailList.Any())
 | 
						||
                            BantchAddEntityNoCommit(recordDetailList);
 | 
						||
                        if (recordUserList != null && recordUserList.Any())
 | 
						||
                            BantchAddEntityNoCommit(recordUserList);
 | 
						||
                        if (notices != null && notices.Any())
 | 
						||
                            BantchAddEntityNoCommit(notices);
 | 
						||
                    });
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(ex.StackTrace))
 | 
						||
                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
 | 
						||
                    else
 | 
						||
                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
 | 
						||
                }
 | 
						||
 | 
						||
                return true;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 同步考评项目导入子表到考评类目评分子表
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="filter"></param>
 | 
						||
        [HttpPost, Route("StandardizedScoreSync")]
 | 
						||
        public JsonActionResult<bool> StandardizedScoreSync([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<bool>(() =>
 | 
						||
            {
 | 
						||
                try
 | 
						||
                {
 | 
						||
                    List<T_PE_STANDARDIZED_SCORE_IMPORT_ITEM> standardScoreItems = new List<T_PE_STANDARDIZED_SCORE_IMPORT_ITEM>();
 | 
						||
                    var standardScore = this.GetEntities<T_PE_STANDARDIZED_SCORE_IMPORT_DETAIL>(t => true, new BaseFilter(filter.OrgId)).ToList();
 | 
						||
                    if (standardScore != null && standardScore.Any())
 | 
						||
                    {
 | 
						||
                        foreach (var item in standardScore)
 | 
						||
                        {
 | 
						||
                            T_PE_STANDARDIZED_SCORE_IMPORT_ITEM score = new T_PE_STANDARDIZED_SCORE_IMPORT_ITEM();
 | 
						||
                            score.ORG_ID = item.ORG_ID;
 | 
						||
                            score.NUM = item.NUM;
 | 
						||
                            score.CONTENTS = item.CONTENTS;
 | 
						||
                            score.STANDARDIZED_SCORE = item.STANDARDIZED_SCORE;
 | 
						||
                            score.NON_STANDARDIZED_SCORE = item.NON_STANDARDIZED_SCORE;
 | 
						||
                            score.EVALUATION_ITEM = item.EVALUATION_ITEM;
 | 
						||
                            score.STANDARDIZED_SCORE_IMPORT_ID = item.THREE_ELEMENTS_ID != null ? item.THREE_ELEMENTS_ID : (item.SECOND_ELEMENTS_ID != null ? item.SECOND_ELEMENTS_ID : (item.PRIMARY_ELEMENTS_ID != null ? item.PRIMARY_ELEMENTS_ID : item.PRODUCTION_UNIT_ID));
 | 
						||
                            standardScoreItems.Add(score);
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    UnifiedCommit(() =>
 | 
						||
                    {
 | 
						||
                        if (standardScoreItems != null && standardScoreItems.Any())
 | 
						||
                            BantchSaveEntityNoCommit(standardScoreItems);
 | 
						||
                    });
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(ex.StackTrace))
 | 
						||
                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
 | 
						||
                    else
 | 
						||
                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
 | 
						||
                }
 | 
						||
                return true;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 触发安全标准化内部评价记录表
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="filter"></param>
 | 
						||
        [HttpPost, Route("SafetyEvaluationRecordNewSync")]
 | 
						||
        public JsonActionResult<bool> SafetyEvaluationRecordNewSync([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<bool>(() =>
 | 
						||
            {
 | 
						||
                try
 | 
						||
                {
 | 
						||
                    var dtNow = DateTime.Now;
 | 
						||
                    var year = dtNow.Year;
 | 
						||
                    var month = dtNow.Month;
 | 
						||
                    var day = dtNow.Day;
 | 
						||
                    var hour = dtNow.Hour;
 | 
						||
                    var newFilter = new BaseFilter(filter.OrgId);
 | 
						||
                    var evaluationPlan = this.GetEntities<T_PE_SAFETY_EVALUATION_PLAN>(t => t.START_TIME.Value.Year == year && t.START_TIME.Value.Month == month && t.START_TIME.Value.Day == day && t.START_TIME.Value.Hour == hour && t.IS_RUN == DisableStatusEnum.否 && t.STATUS == PFStandardStatus.Archived, new BaseFilter(filter.OrgId), "Nav_Details.Nav_EvaluationMethod", "Nav_Details.Nav_EvaluationUser").ToList();
 | 
						||
                    if (evaluationPlan.Count < 1)
 | 
						||
                        return true;
 | 
						||
                    List<T_PE_SAFETY_EVALUATION_RECORD> recordList = new List<T_PE_SAFETY_EVALUATION_RECORD>();
 | 
						||
                    List<T_PE_SAFETY_EVALUATION_RECORD_DETAIL> recordDetailList = new List<T_PE_SAFETY_EVALUATION_RECORD_DETAIL>();
 | 
						||
                    List<T_PE_SAFETY_EVALUATION_RECORD_USER> recordUserList = new List<T_PE_SAFETY_EVALUATION_RECORD_USER>();
 | 
						||
                    List<T_PE_SAFETY_EVALUATION_RECORD_METHOD> recordMethodList = new List<T_PE_SAFETY_EVALUATION_RECORD_METHOD>();
 | 
						||
                    List<T_FM_NOTIFICATION_TASK> notices = new List<T_FM_NOTIFICATION_TASK>();
 | 
						||
                    newFilter.SelectField = new List<string> { "ID", "NAME" };
 | 
						||
                    var userList = this.GetEntities<T_FM_USER>(t => !t.IS_DELETED && t.ENABLE_STATUS == 0, newFilter).ToList();
 | 
						||
                    foreach (var item in evaluationPlan)
 | 
						||
                    {
 | 
						||
                        item.IS_RUN = DisableStatusEnum.是;
 | 
						||
                        if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						||
                        {
 | 
						||
                            List<Guid> userIds = new List<Guid>();
 | 
						||
                            List<string> userNames = new List<string>();
 | 
						||
                            var standardizedIds = item.Nav_Details.Select(t => t.STANDARDIZED_ID).Distinct().ToList();
 | 
						||
                            var standardized = this.GetEntities<T_PE_STANDARDIZED_SCORE_IMPORT_DETAIL>(t => standardizedIds.Contains(t.PRIMARY_ELEMENTS_ID), new BaseFilter(filter.OrgId));
 | 
						||
                            var group = 1;
 | 
						||
                            foreach (var itemDetail in item.Nav_Details)
 | 
						||
                            {
 | 
						||
                                var firstDetail = item.Nav_Details.FirstOrDefault(t => t.ID == itemDetail.ID);
 | 
						||
                                T_PE_SAFETY_EVALUATION_RECORD record = new T_PE_SAFETY_EVALUATION_RECORD();
 | 
						||
                                record.ORG_ID = filter.OrgId;
 | 
						||
                                record.EVALUATION_PLAN_ID = item.ID;
 | 
						||
                                record.EVALUATION_PLAN_DETAIL_ID = itemDetail.ID;
 | 
						||
                                record.STATUS = PFStandardStatus.Draft;
 | 
						||
                                recordList.Add(record);
 | 
						||
                                var evaluationItem = standardized.Where(t => t.PRIMARY_ELEMENTS_ID == itemDetail.STANDARDIZED_ID).ToList();
 | 
						||
                                if (evaluationItem != null && evaluationItem.Any())
 | 
						||
                                {
 | 
						||
                                    evaluationItem.ForEach(t =>
 | 
						||
                                    {
 | 
						||
                                        T_PE_SAFETY_EVALUATION_RECORD_DETAIL detail = new T_PE_SAFETY_EVALUATION_RECORD_DETAIL();
 | 
						||
                                        detail.ORG_ID = t.ORG_ID;
 | 
						||
                                        detail.PRODUCTION_UNIT_ID = item.PRODUCTION_UNIT_ID;
 | 
						||
                                        detail.SAFETY_EVALUATION_RECORD_ID = record.ID;
 | 
						||
                                        detail.PRIMARY_ELEMENTS_ID = t.PRIMARY_ELEMENTS_ID;
 | 
						||
                                        detail.SECOND_ELEMENTS_ID = t.SECOND_ELEMENTS_ID;
 | 
						||
                                        detail.THREE_ELEMENTS_ID = t.THREE_ELEMENTS_ID;
 | 
						||
                                        detail.EVALUATION_ITEM = t.EVALUATION_ITEM;
 | 
						||
                                        detail.CONTENTS = t.CONTENTS;
 | 
						||
                                        detail.STANDARDIZED_SCORE = t.STANDARDIZED_SCORE > 0 ? t.STANDARDIZED_SCORE : t.NON_STANDARDIZED_SCORE;
 | 
						||
                                        detail.NON_STANDARDIZED_SCORE = t.NON_STANDARDIZED_SCORE;
 | 
						||
                                        detail.RESULT_SCORE = t.STANDARDIZED_SCORE > 0 ? t.STANDARDIZED_SCORE : t.NON_STANDARDIZED_SCORE;
 | 
						||
                                        detail.EVALUATION_RESULT = PEEvaluationResultEnum.Conform;
 | 
						||
                                        detail.NUM = t.NUM;
 | 
						||
                                        detail.DESCRIPTION = t.DESCRIPTION;
 | 
						||
                                        recordDetailList.Add(detail);
 | 
						||
                                        if (firstDetail != null && firstDetail.Nav_EvaluationMethod != null && firstDetail.Nav_EvaluationMethod.Any())
 | 
						||
                                        {
 | 
						||
                                            firstDetail.Nav_EvaluationMethod.ForEach(t2 =>
 | 
						||
                                            {
 | 
						||
                                                T_PE_SAFETY_EVALUATION_RECORD_METHOD method = new T_PE_SAFETY_EVALUATION_RECORD_METHOD();
 | 
						||
                                                method.ORG_ID = detail.ORG_ID; method.SAFETY_EVALUATION_RECORD_DETAIL_ID = detail.ID;
 | 
						||
                                                method.METHOD_ID = t2.METHOD_ID;
 | 
						||
                                                recordMethodList.Add(method);
 | 
						||
                                            });
 | 
						||
                                        }
 | 
						||
                                    });
 | 
						||
                                }
 | 
						||
                                if (itemDetail.Nav_EvaluationUser != null && itemDetail.Nav_EvaluationUser.Any())
 | 
						||
                                {
 | 
						||
                                    foreach (var userDetail in itemDetail.Nav_EvaluationUser)
 | 
						||
                                    {
 | 
						||
                                        T_PE_SAFETY_EVALUATION_RECORD_USER user = new T_PE_SAFETY_EVALUATION_RECORD_USER();
 | 
						||
                                        user.SAFETY_EVALUATION_RECORD_ID = record.ID;
 | 
						||
                                        user.ORG_ID = filter.OrgId;
 | 
						||
                                        user.USER_ID = userDetail.USER_ID;
 | 
						||
                                        user.DEAL_STATUS = FOUserShiftStatusEnum.待处理;
 | 
						||
                                        user.GROUP_NO = group;
 | 
						||
                                        user.ROW_NO = userDetail.ROW_NO;
 | 
						||
                                        recordUserList.Add(user);
 | 
						||
                                        if (userDetail.ROW_NO == 1 && userDetail.USER_ID.HasValue)
 | 
						||
                                        {
 | 
						||
                                            //userIds.Add(userDetail.USER_ID.Value);
 | 
						||
                                            var userName = userList.FirstOrDefault(t => t.ID == userDetail.USER_ID.Value)?.NAME;
 | 
						||
                                            var notice = NotificationTaskService.InsertUserNoticeTaskModel("安全标准化内部评价记录表", record.ID, filter.OrgId, userDetail.USER_ID.Value, userName, item.START_TIME.Value,
 | 
						||
                               item.END_TIME.Value, (int)FMNoticeTypeEnum.消息, "PE029");
 | 
						||
                                            notices.Add(notice);
 | 
						||
                                        }
 | 
						||
                                    }
 | 
						||
                                }
 | 
						||
                                group++;
 | 
						||
                            }
 | 
						||
                            //userIds = userIds.Distinct().ToList();
 | 
						||
                            //if (userIds != null && userIds.Any())
 | 
						||
                            //{
 | 
						||
                            //    foreach (var user in userIds)
 | 
						||
                            //    {
 | 
						||
                            //        var userName = userList.FirstOrDefault(t => t.ID == user);
 | 
						||
                            //        userNames.Add(userName?.NAME);
 | 
						||
                            //    }
 | 
						||
                            //    //发消息
 | 
						||
                            //    var notice = NotificationTaskService.InsertUserNoticeTaskModels("安全标准化内部评价记录表", record.ID, filter.OrgId, userIds, userNames, DateTime.Now,
 | 
						||
                            //    DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "PE029");
 | 
						||
                            //    notices.AddRange(notice);
 | 
						||
                            //}
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    if (notices != null && notices.Any())
 | 
						||
                    {
 | 
						||
                        //recordUserList = recordUserList.Distinct(t => new { t.SAFETY_EVALUATION_RECORD_ID, t.USER_ID }).ToList();
 | 
						||
                    }
 | 
						||
                    else
 | 
						||
                    {
 | 
						||
                        recordList = null;
 | 
						||
                        recordDetailList = null;
 | 
						||
                        recordUserList = null;
 | 
						||
                        recordMethodList = null;
 | 
						||
                    }
 | 
						||
                    UnifiedCommit(() =>
 | 
						||
                    {
 | 
						||
                        if (evaluationPlan != null && evaluationPlan.Any())
 | 
						||
                            BantchSaveEntityNoCommit(evaluationPlan);
 | 
						||
                        if (recordList != null && recordList.Any())
 | 
						||
                            BantchSaveEntityNoCommit(recordList);
 | 
						||
                        if (recordDetailList != null && recordDetailList.Any())
 | 
						||
                            BantchAddEntityNoCommit(recordDetailList);
 | 
						||
                        if (recordUserList != null && recordUserList.Any())
 | 
						||
                            BantchAddEntityNoCommit(recordUserList);
 | 
						||
                        if (recordMethodList != null && recordMethodList.Any())
 | 
						||
                            BantchAddEntityNoCommit(recordMethodList);
 | 
						||
                        if (notices != null && notices.Any())
 | 
						||
                            BantchAddEntityNoCommit(notices);
 | 
						||
                    });
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(ex.StackTrace))
 | 
						||
                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
 | 
						||
                    else
 | 
						||
                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
 | 
						||
                }
 | 
						||
                return true;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 触发安全标准化内部评价计划表
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("SafetyEvaluationRecordPlanSync")]
 | 
						||
        public JsonActionResult<bool> SafetyEvaluationRecordPlanSync([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<bool>(() =>
 | 
						||
            {
 | 
						||
                try
 | 
						||
                {
 | 
						||
                    var dtNow = DateTime.Now;
 | 
						||
                    var year = dtNow.Year;
 | 
						||
                    var month = dtNow.Month;
 | 
						||
                    var day = dtNow.Day;
 | 
						||
                    var time = dtNow.TimeOfDay;
 | 
						||
                    var week = dtNow.DayOfWeek;
 | 
						||
                    List<T_FM_NOTIFICATION_TASK> sendNotices = new List<T_FM_NOTIFICATION_TASK>();
 | 
						||
                    List<T_PE_SAFETY_EVALUATION_PLAN> monitorPlans = new List<T_PE_SAFETY_EVALUATION_PLAN>();
 | 
						||
                    var newFilter = new BaseFilter(filter.OrgId);
 | 
						||
                    newFilter.SelectField = new List<string> { "ID", "NAME" };
 | 
						||
                    var userInfo = this.GetEntity<T_FM_USER>(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == "安环部负责人" && t.ENABLE_STATUS == 0, newFilter);
 | 
						||
                    if (userInfo == null && filter.OrgId.ToString() == "3efd5276-632b-e379-9ff3-7a7546591fca")
 | 
						||
                    {
 | 
						||
                        userInfo = this.GetEntity<T_FM_USER>(t => t.Nav_ApproveRole != null && t.Nav_ApproveRole.NAME == "安环部安全员" && t.ENABLE_STATUS == 0);
 | 
						||
                    }
 | 
						||
                    if (userInfo != null)
 | 
						||
                    {
 | 
						||
                        bool isSend = false;
 | 
						||
                        newFilter.SelectField = new List<string> { "PLANCHECKFREQUENCY", "MONTH", "DATA", "WEEKDATA" };
 | 
						||
                        var timeSet = GetEntity<T_PT_TIME_SET>(i => i.SET_TYPE == PTSetTypeEnum.SafetyEvaluationPlan && i.ENABLE_STATUS == 0, newFilter);
 | 
						||
                        if (timeSet != null)
 | 
						||
                        {
 | 
						||
                            switch (timeSet.PLANCHECKFREQUENCY)
 | 
						||
                            {
 | 
						||
                                //case BSPLANCHECKFREQUENCYEnum.OneTime:
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Year:
 | 
						||
                                    if (timeSet.MONTH == month && timeSet.DATA == day)
 | 
						||
                                    {
 | 
						||
                                        isSend = true;
 | 
						||
                                    }
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.HalfYear:
 | 
						||
                                    if ((timeSet.MONTH == month && timeSet.DATA == day) || ((timeSet.MONTH + 6) == month && (timeSet.DATA + 183) == day))
 | 
						||
                                    {
 | 
						||
                                        isSend = true;
 | 
						||
                                    }
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Date:
 | 
						||
                                    isSend = true;
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Week:
 | 
						||
                                    if (timeSet.WEEKDATA != null && (int)timeSet.WEEKDATA.Value == (int)week)
 | 
						||
                                        isSend = true;
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Month:
 | 
						||
                                    if (timeSet.DATA == day)
 | 
						||
                                    {
 | 
						||
                                        isSend = true;
 | 
						||
                                        //if (month == 1)
 | 
						||
                                        //    year = year - 1;
 | 
						||
                                    }
 | 
						||
                                    break;
 | 
						||
                                case BSPLANCHECKFREQUENCYEnum.Quarter:
 | 
						||
                                    if (timeSet.MONTH == 1)
 | 
						||
                                    {
 | 
						||
                                        if ((month == 1 || month == 4 || month == 7 || month == 10) && timeSet.DATA == day)
 | 
						||
                                            isSend = true;
 | 
						||
                                    }
 | 
						||
                                    if (timeSet.MONTH == 2)
 | 
						||
                                    {
 | 
						||
                                        if ((month == 2 || month == 5 || month == 8 || month == 11) && timeSet.DATA == day)
 | 
						||
                                            isSend = true;
 | 
						||
                                    }
 | 
						||
                                    if (timeSet.MONTH == 3)
 | 
						||
                                    {
 | 
						||
                                        if ((month == 3 || month == 6 || month == 9 || month == 12) && timeSet.DATA == day)
 | 
						||
                                            isSend = true;
 | 
						||
                                    }
 | 
						||
                                    //if ((month == 1 && day == timeSet.DATA) || (month == 4 && day == timeSet.DATA) || (month == 7 && day == timeSet.DATA) || (month == 10 && day == timeSet.DATA))
 | 
						||
                                    //{
 | 
						||
                                    //    isSend = true;
 | 
						||
                                    //    if (month == 1 && day == timeSet.DATA)
 | 
						||
                                    //        year = year - 1;
 | 
						||
                                    //}
 | 
						||
                                    break;
 | 
						||
                                default:
 | 
						||
                                    break;
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                        if (isSend)
 | 
						||
                        {
 | 
						||
                            if (!string.IsNullOrEmpty(filter.Parameter1))
 | 
						||
                            {
 | 
						||
                                if (DateTime.Now.Hour.ToString() == filter.Parameter1)
 | 
						||
                                    isSend = true;
 | 
						||
                                else
 | 
						||
                                    isSend = false;
 | 
						||
                            }
 | 
						||
                            //newFilter.SelectField = new List<string> { "ID", "NAME" };
 | 
						||
                            //var productUnit = this.GetEntities<T_PE_STANDARDIZED_SCORE_IMPORT>(t => t.PARENT_ID == null, newFilter).Distinct().ToList();
 | 
						||
                            //if (productUnit != null && productUnit.Any())
 | 
						||
                            //{
 | 
						||
                            //    foreach (var item in productUnit)
 | 
						||
                            //    {
 | 
						||
 | 
						||
                            //    }
 | 
						||
                            //}
 | 
						||
                            var safe = this.GetEntity<T_PE_SAFETY_EVALUATION_PLAN>(t => t.CREATE_TIME.Value.Date == DateTime.Now.Date);
 | 
						||
                            if (safe == null)
 | 
						||
                            {
 | 
						||
                                T_PE_SAFETY_EVALUATION_PLAN monitorPlan = new T_PE_SAFETY_EVALUATION_PLAN();
 | 
						||
                                monitorPlan.ORG_ID = filter.GetOrgId();
 | 
						||
                                monitorPlan.PRODUCTION_UNIT_ID = null;
 | 
						||
                                monitorPlan.DEPARTMENT_ID = userInfo.DEPARTMENT_ID;
 | 
						||
                                monitorPlan.STATUS = PFStandardStatus.Draft;
 | 
						||
                                monitorPlan.YEAR = year.ToString();
 | 
						||
                                monitorPlan.IS_RUN = DisableStatusEnum.否;
 | 
						||
                                monitorPlans.Add(monitorPlan);
 | 
						||
                                T_FM_NOTIFICATION_TASK sendNotice = NotificationTaskService.InsertUserNoticeTaskModel("安全标准化内部评价计划表", monitorPlan.ID, filter.GetOrgId(), userInfo.ID, userInfo.NAME, DateTime.Now, DateTime.Now.AddDays(30), (int)FMNoticeTypeEnum.消息, "PE027");
 | 
						||
                                sendNotices.Add(sendNotice);
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    UnifiedCommit(() =>
 | 
						||
                    {
 | 
						||
                        if (monitorPlans != null && monitorPlans.Any())
 | 
						||
                            this.BantchSaveEntityNoCommit(monitorPlans);
 | 
						||
                        if (sendNotices != null && sendNotices.Any())
 | 
						||
                            this.BantchSaveEntityNoCommit(sendNotices);
 | 
						||
                    });
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(ex.StackTrace))
 | 
						||
                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
 | 
						||
                    else
 | 
						||
                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
 | 
						||
                }
 | 
						||
 | 
						||
                return true;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 同步考评类目评分主表到考评项目明细表
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="filter"></param>
 | 
						||
        [HttpPost, Route("StandardizedScoreDetailSync")]
 | 
						||
        public JsonActionResult<bool> StandardizedScoreDetailSync([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<bool>(() =>
 | 
						||
            {
 | 
						||
                try
 | 
						||
                {
 | 
						||
                    List<T_PE_STANDARDIZED_SCORE_IMPORT_DETAIL> standardScoreDetails = new List<T_PE_STANDARDIZED_SCORE_IMPORT_DETAIL>();
 | 
						||
                    var standardScore = this.GetEntity<T_PE_STANDARDIZED_SCORE_IMPORT>(t => t.CODE == "WK");
 | 
						||
                    var standardScores = this.GetEntities<T_PE_STANDARDIZED_SCORE_IMPORT>(t => t.CODE.Contains("WK0"), new BaseFilter(filter.OrgId));
 | 
						||
                    var standardIds = standardScores.Select(t => t.ID);
 | 
						||
                    var standardScoreItems = this.GetEntities<T_PE_STANDARDIZED_SCORE_IMPORT_ITEM>(t => standardIds.Contains((Guid)t.STANDARDIZED_SCORE_IMPORT_ID), new BaseFilter(filter.OrgId));
 | 
						||
                    if (standardScores != null && standardScores.Any())
 | 
						||
                    {
 | 
						||
                        foreach (var item in standardScores)
 | 
						||
                        {
 | 
						||
                            var itemDetails = standardScoreItems.Where(t => t.STANDARDIZED_SCORE_IMPORT_ID == item.ID).ToList();
 | 
						||
                            if (itemDetails != null && itemDetails.Any())
 | 
						||
                            {
 | 
						||
                                foreach (var itemDetail in itemDetails)
 | 
						||
                                {
 | 
						||
                                    T_PE_STANDARDIZED_SCORE_IMPORT_DETAIL score = new T_PE_STANDARDIZED_SCORE_IMPORT_DETAIL();
 | 
						||
                                    score.ORG_ID = itemDetail.ORG_ID;
 | 
						||
                                    score.NUM = itemDetail.NUM;
 | 
						||
                                    score.CONTENTS = itemDetail.CONTENTS;
 | 
						||
                                    score.STANDARDIZED_SCORE = itemDetail.STANDARDIZED_SCORE;
 | 
						||
                                    score.NON_STANDARDIZED_SCORE = itemDetail.NON_STANDARDIZED_SCORE;
 | 
						||
                                    score.EVALUATION_ITEM = itemDetail.EVALUATION_ITEM;
 | 
						||
                                    score.GROUP_NO = itemDetail.GROUP_NO;
 | 
						||
                                    score.DESCRIPTION = itemDetail.DESCRIPTION;
 | 
						||
                                    score.PRODUCTION_UNIT_ID = standardScore.ID;
 | 
						||
                                    var standSecond = standardScores.FirstOrDefault(t => t.ID == itemDetail.STANDARDIZED_SCORE_IMPORT_ID);
 | 
						||
                                    if (standSecond != null && standSecond.PARENT_ID != null)
 | 
						||
                                    {
 | 
						||
                                        if (standSecond.PARENT_ID == standardScore.ID)
 | 
						||
                                        {
 | 
						||
                                            score.PRIMARY_ELEMENTS_ID = itemDetail.STANDARDIZED_SCORE_IMPORT_ID;
 | 
						||
                                        }
 | 
						||
                                        else
 | 
						||
                                        {
 | 
						||
                                            var standPrimary = standardScores.FirstOrDefault(t => t.ID == standSecond.PARENT_ID);
 | 
						||
                                            if (standPrimary != null && standPrimary.PARENT_ID != null)
 | 
						||
                                            {
 | 
						||
                                                if (standPrimary.PARENT_ID == standardScore.ID)
 | 
						||
                                                {
 | 
						||
                                                    score.PRIMARY_ELEMENTS_ID = standPrimary.ID;
 | 
						||
                                                    score.SECOND_ELEMENTS_ID = itemDetail.STANDARDIZED_SCORE_IMPORT_ID;
 | 
						||
                                                }
 | 
						||
                                                else
 | 
						||
                                                {
 | 
						||
                                                    var standThree = standardScores.FirstOrDefault(t => t.ID == standPrimary.PARENT_ID);
 | 
						||
                                                    if (standThree != null && standThree.PARENT_ID != null)
 | 
						||
                                                    {
 | 
						||
                                                        if (standThree.PARENT_ID == standardScore.ID)
 | 
						||
                                                        {
 | 
						||
                                                            score.PRIMARY_ELEMENTS_ID = standThree.ID;
 | 
						||
                                                            score.SECOND_ELEMENTS_ID = standPrimary.ID;
 | 
						||
                                                            score.THREE_ELEMENTS_ID = itemDetail.STANDARDIZED_SCORE_IMPORT_ID;
 | 
						||
                                                        }
 | 
						||
                                                    }
 | 
						||
                                                }
 | 
						||
                                            }
 | 
						||
                                        }
 | 
						||
                                    }
 | 
						||
                                    standardScoreDetails.Add(score);
 | 
						||
                                }
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    UnifiedCommit(() =>
 | 
						||
                    {
 | 
						||
                        if (standardScoreDetails != null && standardScoreDetails.Any())
 | 
						||
                            BantchSaveEntityNoCommit(standardScoreDetails);
 | 
						||
                    });
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(ex.StackTrace))
 | 
						||
                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
 | 
						||
                    else
 | 
						||
                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
 | 
						||
                }
 | 
						||
                return true;
 | 
						||
            });
 | 
						||
        }
 | 
						||
        /// <summary>
 | 
						||
        /// 自动化得分-目标指标模块
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="filter"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public JsonActionResult<bool> PTSync([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<bool>(() =>
 | 
						||
            {
 | 
						||
                try
 | 
						||
                {
 | 
						||
                    List<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL> autoDetails = new List<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL>();
 | 
						||
                    var meeting = this.GetEntity<T_SC_MT_MEETING>(t => t.THEME.Contains("安全生产方针制定、传达、评审与修订"));
 | 
						||
                    var autoAll = this.GetEntities<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL>(null,new BaseFilter(filter.OrgId));
 | 
						||
                    var auto = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立了针对安全生产方针制定、传达、评审与修订等环节的安全生产方针管理制度?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto != null)
 | 
						||
                    {
 | 
						||
                        auto.RESULT_SCORE = meeting == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto);
 | 
						||
                    }
 | 
						||
                    var auto2 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("制度是否指定了相应的责任部门和责任人员并规定了相应职责?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto2 != null)
 | 
						||
                    {
 | 
						||
                        auto2.RESULT_SCORE = meeting == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto2);
 | 
						||
                    }
 | 
						||
                    var meeting3 = this.GetEntity<T_SC_MT_MEETING>(t => t.THEME.Contains("安全生产方针文件审核表"));
 | 
						||
                    var auto3 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否有由最高管理者签发的文件化的安全生产方针?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto3 != null)
 | 
						||
                    {
 | 
						||
                        auto3.RESULT_SCORE = meeting3 == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto3);
 | 
						||
                    }
 | 
						||
                    var auto4 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("安全生产方针的制定是否有员工参与?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var auto5 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("安全生产方针是否已传达至全体员工?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var auto6 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("安全生产方针是否体现:遵守法律法规与其他要求;持续改进?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var resultScore4 = 0; var resultScore5 = 0; var resultScore6 = 0;
 | 
						||
                    var safePolicy = this.GetEntity<T_PT_SAFETY_POLICY_SURVEY>(t => t.YEAR == DateTime.Now.Year.ToString());
 | 
						||
                    if (safePolicy != null)
 | 
						||
                    {
 | 
						||
                        var userCount = this.GetCount<T_FM_USER>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
 | 
						||
                        var taskCount = this.GetCount<T_FM_NOTIFICATION_TASK>(t => t.SOURCE_DATA_ID == safePolicy.ID, new BaseFilter(filter.OrgId));
 | 
						||
                        if (userCount == taskCount)
 | 
						||
                        {
 | 
						||
                            resultScore4 = 3;
 | 
						||
                            resultScore5 = 3;
 | 
						||
                        }
 | 
						||
                        var safeCollects = this.GetEntities<T_PT_SAFETY_POLICY_SURVEY_COLLECT>(t => t.SAFETY_POLICY_ID == safePolicy.ID, new BaseFilter(filter.OrgId), "Nav_Collect");
 | 
						||
                        if (safeCollects != null && safeCollects.Any())
 | 
						||
                        {
 | 
						||
                            var safeCollect = safeCollects.FirstOrDefault(t => t.Nav_Collect != null && t.Nav_Collect.NAME.Contains("考虑法律法规与其他要求"));
 | 
						||
                            var safeCollect2 = safeCollects.FirstOrDefault(t => t.Nav_Collect != null && t.Nav_Collect.NAME.Contains("持续改进"));
 | 
						||
                            if (safeCollect != null && safeCollect2 != null)
 | 
						||
                            {
 | 
						||
                                resultScore6 = 8;
 | 
						||
                            }
 | 
						||
                            else if (safeCollect != null || safeCollect2 != null)
 | 
						||
                            {
 | 
						||
                                resultScore6 = 4;
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    if (auto4 != null)
 | 
						||
                    {
 | 
						||
                        auto4.RESULT_SCORE = resultScore4.ToString();
 | 
						||
                        autoDetails.Add(auto4);
 | 
						||
                    }
 | 
						||
                    if (auto5 != null)
 | 
						||
                    {
 | 
						||
                        auto5.RESULT_SCORE = resultScore5.ToString();
 | 
						||
                        autoDetails.Add(auto5);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    if (auto6 != null)
 | 
						||
                    {
 | 
						||
                        auto6.RESULT_SCORE = resultScore6.ToString();
 | 
						||
                        autoDetails.Add(auto6);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var auto7 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否有安全生产目标与指标设立、完成情况评价的管理制度?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var meeting4 = this.GetEntity<T_SC_MT_MEETING>(t => t.THEME.Contains("方针及目标与指标考核"));
 | 
						||
                    if (auto7 != null)
 | 
						||
                    {
 | 
						||
                        auto7.RESULT_SCORE = meeting4 == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto7);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto8 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否明确了安全生产目标和指标完成情况评价的责任部门、责任人员及评价方法?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var meeting5 = this.GetEntity<T_SC_MT_MEETING>(t => t.THEME.Contains("目标与指标设立和考核办法"));
 | 
						||
                    if (auto8 != null)
 | 
						||
                    {
 | 
						||
                        auto8.RESULT_SCORE = meeting5 == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto8);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto9 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否设立了文件化的年度安全生产目标与指标?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var auto10 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否为安全生产目标与指标的实现提供了下列资源:人力资源;财力资源;物力资源;技术资源?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var auto11 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否制定了实现安全生产目标和指标的实施计划?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var auto12 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("设立安全生产目标时是否考虑:管理评审的结果;风险评价的结果;以往安全生产的绩效;标准化系统评价的结果法律法规与其他要求?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var auto13 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("安全生产目标是否体现改进安全生产管理的要求?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var auto14 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("安全生产目标中是否只有伤亡指标?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var resultScore10 = 0; var resultScore12 = 0;
 | 
						||
                    var formulation = this.GetEntity<T_PT_INDICATOR_FORMULATION>(t => t.YEAR == DateTime.Now.Year.ToString());
 | 
						||
                    if (formulation != null)
 | 
						||
                    {
 | 
						||
                        var planResources = this.GetEntities<T_PT_INDICATOR_FORMULATION_PLAN_RESOURCES>(t => t.INDICATOR_FORMULATION_ID == formulation.ID, new BaseFilter(filter.OrgId), "Nav_Resources");
 | 
						||
                        if (planResources != null && planResources.Any())
 | 
						||
                        {
 | 
						||
                            resultScore10 = planResources.Count();
 | 
						||
                        }
 | 
						||
 | 
						||
                        var requirements = this.GetEntities<T_PT_INDICATOR_FORMULATION_REQUIREMENTS>(t => t.INDICATOR_FORMULATION_ID == formulation.ID, new BaseFilter(filter.OrgId), "Nav_Resources");
 | 
						||
                        if (requirements != null && requirements.Any())
 | 
						||
                        {
 | 
						||
                            resultScore12 = requirements.Count();
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    if (auto9 != null)
 | 
						||
                    {
 | 
						||
                        auto9.RESULT_SCORE = formulation == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto9);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    if (auto10 != null)
 | 
						||
                    {
 | 
						||
                        auto10.RESULT_SCORE = resultScore10.ToString();
 | 
						||
                        autoDetails.Add(auto10);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    if (auto11 != null)
 | 
						||
                    {
 | 
						||
                        auto11.RESULT_SCORE = formulation != null && formulation.IS_PLAN ? "4" : "0";
 | 
						||
                        autoDetails.Add(auto11);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    if (auto12 != null)
 | 
						||
                    {
 | 
						||
                        auto12.RESULT_SCORE = resultScore12.ToString();
 | 
						||
                        autoDetails.Add(auto12);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    if (auto13 != null)
 | 
						||
                    {
 | 
						||
                        auto13.RESULT_SCORE = formulation != null && formulation.IS_DEMAND ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto13);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    if (auto14 != null)
 | 
						||
                    {
 | 
						||
                        auto14.RESULT_SCORE = formulation != null && formulation.IS_TARGET ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto14);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto15 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("对安全生产目标与指标的完成情况实施监测的比例:是否对安全生产目标和指标的实施计划执行情况进行监测、修正和更新?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var resultScore15 = 0;
 | 
						||
                    var departments = this.GetEntities<T_FM_DEPARTMENT>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
 | 
						||
                    var departmentIds = departments.Select(t => t.ID).ToList();
 | 
						||
                    var assessment = this.GetEntities<T_PT_MONITOR_ASSESSMENT>(t => t.YEAR == DateTime.Now.Year.ToString() && departmentIds.Contains((Guid)t.DEPARTMENT_ID), new BaseFilter(filter.OrgId), "Nav_Details.Nav_Contents");
 | 
						||
                    var distinctAssessment = assessment.DistinctBy(t => t.DEPARTMENT_ID).ToList();
 | 
						||
                    var rate = Math.Round((decimal)distinctAssessment.Count() / departments.Count() * 100, 2);
 | 
						||
                    if (rate >= 90)
 | 
						||
                    {
 | 
						||
                        resultScore15 = 3;
 | 
						||
                    }
 | 
						||
                    else if (rate >= 75 && rate < 90)
 | 
						||
                    { resultScore15 = 2; }
 | 
						||
                    else if (rate >= 60 && rate < 75)
 | 
						||
                    { resultScore15 = 1; }
 | 
						||
                    if (auto15 != null)
 | 
						||
                    {
 | 
						||
                        auto15.RESULT_SCORE = resultScore15.ToString();
 | 
						||
                        autoDetails.Add(auto15);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto16 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否完成了所有安全生产目标和指标?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var finishAssessment = assessment.FirstOrDefault(t => t.STATUS != PFStandardStatus.Archived);
 | 
						||
                    if (auto16 != null)
 | 
						||
                    {
 | 
						||
                        auto16.RESULT_SCORE = finishAssessment == null ? "4" : "0";
 | 
						||
                        autoDetails.Add(auto16);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto17 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("对目标和指标完成的情况是否进行了系统分析,并提出了改进措施?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var resultScore17 = 0;
 | 
						||
                    if (assessment != null && assessment.Any())
 | 
						||
                    {
 | 
						||
                        foreach (var item in assessment)
 | 
						||
                        {
 | 
						||
                            if (item.Nav_Details != null && item.Nav_Details.Any())
 | 
						||
                            {
 | 
						||
                                foreach (var item2 in item.Nav_Details)
 | 
						||
                                {
 | 
						||
                                    var measures = item2.Nav_Contents.Select(t => t.MEASURES).ToList();
 | 
						||
                                    if (measures != null && measures.Any())
 | 
						||
                                    {
 | 
						||
                                        resultScore17 = 4;
 | 
						||
                                    }
 | 
						||
                                }
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    if (auto17 != null)
 | 
						||
                    {
 | 
						||
                        auto17.RESULT_SCORE = resultScore17.ToString();
 | 
						||
                        autoDetails.Add(auto17);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto18 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("尾矿库安全生产目标是否包含于企业安全生产目标?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var formulationDepartment = this.GetEntity<T_PT_INDICATOR_FORMULATION_DEPARTMENT>(t => t.YEAR == DateTime.Now.Year.ToString() && t.Nav_Department != null && t.Nav_Department.NAME.Contains("尾矿"));
 | 
						||
                    if (auto18 != null)
 | 
						||
                    {
 | 
						||
                        auto18.RESULT_SCORE = formulationDepartment == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto18);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto19 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否定期与员工沟通安全生产目标的完成情况?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var innerContact = this.GetEntity<T_OG_INNER_CONTACT>(t => t.DATE.Value.Year == DateTime.Now.Year && t.NAME.Contains("安全生产目标"));
 | 
						||
                    if (auto19 != null)
 | 
						||
                    {
 | 
						||
                        auto19.RESULT_SCORE = innerContact == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto19);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    UnifiedCommit(() =>
 | 
						||
                    {
 | 
						||
                        if (autoDetails != null && autoDetails.Any())
 | 
						||
                            BantchSaveEntityNoCommit(autoDetails);
 | 
						||
                    });
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(ex.StackTrace))
 | 
						||
                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
 | 
						||
                    else
 | 
						||
                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
 | 
						||
                }
 | 
						||
                return true;
 | 
						||
            });
 | 
						||
        }
 | 
						||
        /// <summary>
 | 
						||
        /// 自动化得分-法律法规模块
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="filter"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public JsonActionResult<bool> LRSync([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<bool>(() =>
 | 
						||
            {
 | 
						||
                try 
 | 
						||
                {
 | 
						||
                    List<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL> autoDetails = new List<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL>();
 | 
						||
                    #region 评分规则
 | 
						||
                    var meeting = this.GetEntity<T_SC_MT_MEETING>(t => t.THEME.Contains("安全生产法律法规与其他要求"));
 | 
						||
                    var auto = this.GetEntity<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL>(t => t.CONTENTS.Contains("是否建立了识别安全生产法律法规与其他要求的需求并获取相应法律法规与其他要求的制度?"));
 | 
						||
                    if (auto != null)
 | 
						||
                    {
 | 
						||
                        auto.RESULT_SCORE = meeting == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto);
 | 
						||
                    }
 | 
						||
                    else
 | 
						||
                    {
 | 
						||
                        var autoNew = new T_PE_STANDARDIZED_SCORE_AUTO_DETAIL();
 | 
						||
                        autoNew.YEAR = DateTime.Now.Year.ToString();
 | 
						||
                        autoNew.PRODUCTION_UNIT = "露天矿";
 | 
						||
                        autoNew.Primary = "安全生产法律法规与其他要求";
 | 
						||
                        autoNew.Second = "需求识别与获取";
 | 
						||
                        autoNew.Three = "";
 | 
						||
                        autoNew.EVALUATION_ITEM = "策划";
 | 
						||
                        autoNew.CONTENTS = "是否建立了识别安全生产法律法规与其他要求的需求并获取相应法律法规与其他要求的制度?";
 | 
						||
                        autoNew.DESCRIPTION = "(分数 是:2分; 否:0分)";
 | 
						||
                        autoNew.STANDARDIZED_SCORE = "2";
 | 
						||
                        autoNew.RESULT_SCORE = meeting == null ? "0" : "2";
 | 
						||
                        autoNew.IS_AUTO = false;
 | 
						||
                        autoDetails.Add(autoNew);
 | 
						||
                    }
 | 
						||
 | 
						||
                    var auto2 = this.GetEntity<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL>(t => t.CONTENTS.Contains("是否确定了负责识别安全生产法律法规与其他要求的需求并获取相应法律法规与其他要求的部门、人员及其职责?"));
 | 
						||
                    if (auto2 != null)
 | 
						||
                    {
 | 
						||
                        auto2.RESULT_SCORE = meeting == null ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto2);
 | 
						||
                    }
 | 
						||
                    else
 | 
						||
                    {
 | 
						||
                        var autoNew = new T_PE_STANDARDIZED_SCORE_AUTO_DETAIL();
 | 
						||
                        autoNew.YEAR = DateTime.Now.Year.ToString();
 | 
						||
                        autoNew.PRODUCTION_UNIT = "露天矿";
 | 
						||
                        autoNew.Primary = "安全生产法律法规与其他要求";
 | 
						||
                        autoNew.Second = "需求识别与获取";
 | 
						||
                        autoNew.Three = "";
 | 
						||
                        autoNew.EVALUATION_ITEM = "策划";
 | 
						||
                        autoNew.CONTENTS = "是否确定了负责识别安全生产法律法规与其他要求的需求并获取相应法律法规与其他要求的部门、人员及其职责?";
 | 
						||
                        autoNew.DESCRIPTION = "(分数 是:1分; 否:0分)";
 | 
						||
                        autoNew.STANDARDIZED_SCORE = "1";
 | 
						||
                        autoNew.RESULT_SCORE = meeting == null ? "0" : "1";
 | 
						||
                        autoNew.IS_AUTO = false;
 | 
						||
                        autoDetails.Add(autoNew);
 | 
						||
                    }
 | 
						||
                    var auto3 = this.GetEntity<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL>(t => t.CONTENTS.Contains("是否识别了安全生产法律法规与其他要求的需求?"));
 | 
						||
                    var demandDis = this.GetEntity<T_LR_DEMAND_DISTINGUISH>(t => t.YEARS == DateTime.Now.Year);
 | 
						||
                    if (auto3 != null)
 | 
						||
                    {
 | 
						||
                        auto3.RESULT_SCORE = demandDis == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto3);
 | 
						||
                    }
 | 
						||
                    else
 | 
						||
                    {
 | 
						||
                        var autoNew = new T_PE_STANDARDIZED_SCORE_AUTO_DETAIL();
 | 
						||
                        autoNew.YEAR = DateTime.Now.Year.ToString();
 | 
						||
                        autoNew.PRODUCTION_UNIT = "露天矿";
 | 
						||
                        autoNew.Primary = "安全生产法律法规与其他要求";
 | 
						||
                        autoNew.Second = "需求识别与获取";
 | 
						||
                        autoNew.Three = "";
 | 
						||
                        autoNew.EVALUATION_ITEM = "执行";
 | 
						||
                        autoNew.CONTENTS = "是否识别了安全生产法律法规与其他要求的需求?";
 | 
						||
                        autoNew.DESCRIPTION = "(分数 是:2分; 否:0分)";
 | 
						||
                        autoNew.STANDARDIZED_SCORE = "2";
 | 
						||
                        autoNew.RESULT_SCORE = demandDis == null ? "0" : "2";
 | 
						||
                        autoNew.IS_AUTO = false;
 | 
						||
                        autoDetails.Add(autoNew);
 | 
						||
                    }
 | 
						||
                    var auto4 = this.GetEntity<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL>(t => t.CONTENTS.Contains("是否根据需求识别结果获取相应的安全生产法律法规与其他要求?"));
 | 
						||
                    var legalList = this.GetEntity<T_LR_LEGAL_LIST>(t => t.YEARS == DateTime.Now.Year);
 | 
						||
                    if (auto4 != null)
 | 
						||
                    {
 | 
						||
                        auto4.RESULT_SCORE = legalList == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto4);
 | 
						||
                    }
 | 
						||
                    else
 | 
						||
                    {
 | 
						||
                        var autoNew = new T_PE_STANDARDIZED_SCORE_AUTO_DETAIL();
 | 
						||
                        autoNew.YEAR = DateTime.Now.Year.ToString();
 | 
						||
                        autoNew.PRODUCTION_UNIT = "露天矿";
 | 
						||
                        autoNew.Primary = "安全生产法律法规与其他要求";
 | 
						||
                        autoNew.Second = "需求识别与获取";
 | 
						||
                        autoNew.Three = "";
 | 
						||
                        autoNew.EVALUATION_ITEM = "执行";
 | 
						||
                        autoNew.CONTENTS = "是否根据需求识别结果获取相应的安全生产法律法规与其他要求?";
 | 
						||
                        autoNew.DESCRIPTION = "(分数 是:2分; 否:0分)";
 | 
						||
                        autoNew.STANDARDIZED_SCORE = "2";
 | 
						||
                        autoNew.RESULT_SCORE = legalList == null ? "0" : "2";
 | 
						||
                        autoNew.IS_AUTO = false;
 | 
						||
                        autoDetails.Add(autoNew);
 | 
						||
                    }
 | 
						||
                    #endregion
 | 
						||
                    UnifiedCommit(() =>
 | 
						||
                    {
 | 
						||
                        if (autoDetails != null && autoDetails.Any())
 | 
						||
                            BantchSaveEntityNoCommit(autoDetails);
 | 
						||
                    });
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(ex.StackTrace))
 | 
						||
                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
 | 
						||
                    else
 | 
						||
                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
 | 
						||
                }
 | 
						||
                return true;
 | 
						||
            });
 | 
						||
        }
 | 
						||
        /// <summary>
 | 
						||
        /// 自动化得分-作业现场模块
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="filter"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public JsonActionResult<bool> FOSync([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<bool>(() =>
 | 
						||
            {
 | 
						||
                try
 | 
						||
                {
 | 
						||
                    List<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL> autoDetails = new List<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL>();
 | 
						||
                    #region 露天矿
 | 
						||
                    var standard = this.GetEntities<T_SC_STANDARD_CREATE>(t => t.NAME.Contains("作业环境") || t.NAME.Contains("安全警示标志"),new BaseFilter(filter.OrgId));
 | 
						||
                    var autoAll = this.GetEntities<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL>(null,new BaseFilter(filter.OrgId));
 | 
						||
                    var auto = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否有基于风险评估的下列管理制度:作业环境管理制度;安全警示标志管理制度?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var resultScore = 0;
 | 
						||
                    if (standard.Count() > 1)
 | 
						||
                    {
 | 
						||
                        resultScore = 4;
 | 
						||
                    }
 | 
						||
                    else if(standard.Count() == 1)
 | 
						||
                    {
 | 
						||
                        resultScore = 2;
 | 
						||
                    }
 | 
						||
                    if (auto != null)
 | 
						||
                    {
 | 
						||
                        auto.RESULT_SCORE = resultScore.ToString();
 | 
						||
                        autoDetails.Add(auto);
 | 
						||
                    }
 | 
						||
                    var auto2 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("对露天矿边界上可能危及人员安全的松散岩土层、植物和不稳固矿岩是否进行了处理?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var postIds= GetEntities<T_PT_TIME_SET>(i => i.SET_TYPE == PTSetTypeEnum.RollStone, new BaseFilter(filter.OrgId)).Select(t=>t.POST_ID).ToList();
 | 
						||
                    var userIds = GetEntities<T_FM_USER>(i => i.Nav_Person != null && postIds.Contains(i.Nav_Person.POST_ID), new BaseFilter(filter.OrgId)).Select(t => t.ID).ToList();
 | 
						||
                    var rollstone = GetCount<T_PR_LANDSLIDE_ROLLSTONE_MONITOR>(i => userIds.Contains((Guid)i.USER_ID), new BaseFilter(filter.OrgId));
 | 
						||
                    if (auto2 != null)
 | 
						||
                    {
 | 
						||
                        auto2.RESULT_SCORE = rollstone!=0 && rollstone == postIds.Count() ? "1" : "0";
 | 
						||
                        autoDetails.Add(auto2);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var autoAdd = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("有潜在滑坡的地段是否采取了处理措施?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (autoAdd != null)
 | 
						||
                    {
 | 
						||
                        autoAdd.RESULT_SCORE = rollstone != 0 && rollstone == postIds.Count() ? "2" : "0";
 | 
						||
                        autoDetails.Add(autoAdd);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto3 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否基于风险评价建立下列安全管理制度:穿孔爆破作业安全管理制度;铲装作业安全管理制度;运输作业安全管理制度;排土作业安全管理制度;交接班管理制度;边坡安全管理制度?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var standard2 = this.GetEntities<T_SC_STANDARD_CREATE>(t => t.NAME.Contains("穿孔爆破作业管理") || t.NAME.Contains("铲装作业管理") || t.NAME.Contains("运输作业管理") 
 | 
						||
                    || t.NAME.Contains("排土作业管理") || t.NAME.Contains("交接班管理") || t.NAME.Contains("边坡安全管理"), new BaseFilter(filter.OrgId));
 | 
						||
                    var resultScore3 = 0;
 | 
						||
                    if (standard2.Count() >= 1)
 | 
						||
                    {
 | 
						||
                        resultScore3 = standard2.Count() * 2;
 | 
						||
                    }
 | 
						||
                    if (auto3 != null)
 | 
						||
                    {
 | 
						||
                        auto3.RESULT_SCORE = resultScore3.ToString();
 | 
						||
                        autoDetails.Add(auto3);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto4 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("员工在作业前是否对作业现场进行安全检查与确认?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto4 != null)
 | 
						||
                    {
 | 
						||
                        auto4.RESULT_SCORE = "2";
 | 
						||
                        autoDetails.Add(auto4);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto5 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("交接班时,是否对发现潜在的或已发生的危及作业人员安全的状况进行交代?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var changeShift = this.GetEntity<T_FO_CHANGE_SHIFT_RECORD>(t => t.LAST_CLASS_RECORD_STATUS == FORunRecordStatusEnum.不完整);
 | 
						||
                    if (auto5 != null)
 | 
						||
                    {
 | 
						||
                        auto5.RESULT_SCORE = changeShift == null ? "1" : "0";
 | 
						||
                        autoDetails.Add(auto5);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto6 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("员工进入作业现场是否佩带个体防护用品?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var currentClass = this.GetEntity<T_FO_CURRENT_CLASS_RECORD>(t => t.SUPPLIES_USED == (int)WFDisableStatusEnum.否);
 | 
						||
                    if (auto6 != null)
 | 
						||
                    {
 | 
						||
                        auto6.RESULT_SCORE = currentClass == null ? "1" : "0";
 | 
						||
                        autoDetails.Add(auto6);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var jobEventAll = this.GetEntities<T_FO_JOB_EVENT_RECORD>(t => t.Nav_OperationStep != null && (t.Nav_OperationStep.NAME.Contains("穿孔作业") ||
 | 
						||
                   t.Nav_OperationStep.NAME.Contains("铲装作业") || t.Nav_OperationStep.NAME.Contains("运输作业") || t.Nav_OperationStep.NAME.Contains("排土作业")), new BaseFilter(filter.OrgId), "Nav_OperationStep");
 | 
						||
                    var auto7 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("穿孔作业是否采用湿式作业或其他防尘措施?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var jobEvent = jobEventAll.FirstOrDefault(t => t.Nav_OperationStep!=null && t.Nav_OperationStep.NAME.Contains("穿孔作业"));
 | 
						||
                    if (auto7 != null)
 | 
						||
                    {
 | 
						||
                        auto7.RESULT_SCORE = jobEvent == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto7);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto8 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否存在打残眼现象?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var jobActivity = this.GetEntity<T_FO_JOB_ACTIVITY_RECORD>(t => t.Nav_OperationStep != null && t.Nav_OperationStep.NAME.Contains("爆破作业"));
 | 
						||
                    if (auto8 != null)
 | 
						||
                    {
 | 
						||
                        auto8.RESULT_SCORE = jobActivity == null ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto8);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto9 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在穿孔、铲装、运输、排土等设备的活动区域内是否有非操作人员滞留?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var jobEvent2 = jobEventAll.FirstOrDefault();
 | 
						||
                    if (auto9 != null)
 | 
						||
                    {
 | 
						||
                        auto9.RESULT_SCORE = jobEvent2 == null ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto9);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto10 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("穿孔、铲装设备是否在作业平台的稳定范围内移动,且有人引导和监护?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var jobEvent3 = jobEventAll.FirstOrDefault(t => t.Nav_OperationStep != null && (t.Nav_OperationStep.NAME.Contains("穿孔作业") || t.Nav_OperationStep.NAME.Contains("铲装作业")));
 | 
						||
                    if (auto10 != null)
 | 
						||
                    {
 | 
						||
                        auto10.RESULT_SCORE = jobEvent3 == null ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto10);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto11 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("爆破作业是否按爆破设计书或爆破说明书进行?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto11 != null)
 | 
						||
                    {
 | 
						||
                        auto11.RESULT_SCORE = jobActivity == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto11);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto12 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("爆破作业是否按爆破设计书或爆破说明书进行?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto12 != null)
 | 
						||
                    {
 | 
						||
                        auto12.RESULT_SCORE = jobActivity == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto12);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto13 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("临近最终边坡爆破是否采用控制爆破或减震措施?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto13 != null)
 | 
						||
                    {
 | 
						||
                        auto13.RESULT_SCORE = jobActivity == null ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto13);
 | 
						||
                    }
 | 
						||
                 
 | 
						||
                    var auto14 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在爆破危险区域内有两个以上的单位(作业组)进行露天爆破作业时,是否统一指挥?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto14 != null)
 | 
						||
                    {
 | 
						||
                        auto14.RESULT_SCORE = jobActivity == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto14);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto15 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("爆破后,爆破员是否按规定的等待时间进入爆破地点进行检查?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto15 != null)
 | 
						||
                    {
 | 
						||
                        auto15.RESULT_SCORE = jobActivity == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto15);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto16 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("发现悬浮岩块或崩塌征兆、盲炮等情况,是否立即停止铲装作业,并将设备移至安全地带?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var jobEvent4 = jobEventAll.FirstOrDefault(t => t.Nav_OperationStep != null && t.Nav_OperationStep.NAME.Contains("铲装作业"));
 | 
						||
                    if (auto16 != null)
 | 
						||
                    {
 | 
						||
                        auto16.RESULT_SCORE = jobEvent4 == null ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto16);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto17 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("上、下台阶同时作业时,作业点是否沿台阶走向错开一定的距离?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto17 != null)
 | 
						||
                    {
 | 
						||
                        auto17.RESULT_SCORE = jobEvent4 == null ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto17);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto18 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("车辆在急弯、陡坡、危险地段是否限速行驶?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var jobEvent5 = jobEventAll.FirstOrDefault(t => t.Nav_OperationStep != null && t.Nav_OperationStep.NAME.Contains("运输作业"));
 | 
						||
                    if (auto18 != null)
 | 
						||
                    {
 | 
						||
                        auto18.RESULT_SCORE = jobEvent5 == null ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto18);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto19 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("汽车排土作业时,是否有专人指挥?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var jobEvent6 = jobEventAll.FirstOrDefault(t => t.Nav_OperationStep != null && t.Nav_OperationStep.NAME.Contains("排土作业"));
 | 
						||
                    if (auto19 != null)
 | 
						||
                    {
 | 
						||
                        auto19.RESULT_SCORE = jobEvent6 == null ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto19);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var auto20 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("爆破作业是否做到:按说明书的要求进行爆破;作业人员具备资格和能力;爆破前确定危险区并设置标志和岗哨; 按规定等待时间进入爆区检查危石、盲炮;认真填写爆破记录?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var job = this.GetEntity<T_FO_CRUCIAL_LICENSE_JOB>(t => t.Nav_OperationStep != null && t.Nav_OperationStep.NAME.Contains("爆破作业"));
 | 
						||
                    var resultScore20 = 0;
 | 
						||
                    if (jobActivity != null)
 | 
						||
                    {
 | 
						||
                        resultScore20 = 6;
 | 
						||
                        if (jobActivity.FORM_STATUS == (int)FOTeamActivityState.已归档)
 | 
						||
                        {
 | 
						||
                            resultScore20 = resultScore20 + 2;
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    if (job != null)
 | 
						||
                    {
 | 
						||
                        resultScore20 = resultScore20 + 2;
 | 
						||
                    }
 | 
						||
                    if (auto20 != null)
 | 
						||
                    {
 | 
						||
                        auto20.RESULT_SCORE = resultScore20.ToString();
 | 
						||
                        autoDetails.Add(auto20);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto21 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("铲装作业是否做到:悬臂和铲斗下面及工作面附近无人员停留;挖掘机平衡装置外型的垂直投影到台阶坡底的水平距离不小于1m;铲斗不应从车辆驾驶室上方通过;不用铲斗处理粘厢车辆?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto21 != null)
 | 
						||
                    {
 | 
						||
                        auto21.RESULT_SCORE = jobEvent4 == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto21);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto22 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("道路运输作业是否做到:不超载运输;不用自卸汽车运载易燃、易爆物品;装车时不检查、维护车辆;装车时驾驶员不离开驾驶室;车辆在急弯、陡坡、危险地段限速行驶;不采用溜车的方式发动车辆;下坡行驶时不空档滑行;在坡道上停车时使用停车制动并采取安全措施;在恶劣天气条件下,控制行车速度并保持车距?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto22 != null)
 | 
						||
                    {
 | 
						||
                        auto22.RESULT_SCORE = jobEvent5 == null ? "0" : "9";
 | 
						||
                        autoDetails.Add(auto22);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto23 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("带式输送机运输作业是否做到:不乘坐非乘人带式输送机;不运送设备和过长的材料等;输送机运转时不注油、检查和修理?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var jobEvent7 = jobEventAll.FirstOrDefault(t => t.Nav_OperationStep != null && t.Nav_OperationStep.NAME.Contains("带式输送机运输作业"));
 | 
						||
                    if (auto23 != null)
 | 
						||
                    {
 | 
						||
                        auto23.RESULT_SCORE = jobEvent7 == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto23);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var auto24 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("采用汽车运输的排土作业是否做到:汽车排土作业有专人指挥;进入排土作业区内的工作人员、车辆、工程机械服从指挥人员的指挥;在同一地段进行卸车和推土作业时,设备之间保持足够的安全距离;视距小于30m或遇暴雨、大雪、大风等恶劣天气时,停止排土作业?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto24 != null)
 | 
						||
                    {
 | 
						||
                        auto24.RESULT_SCORE = jobEvent6 == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto24);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto25 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("交接班的有效性:详细交代已发现的危及作业人员安全的状况;交接班记录完整?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var changeShift2 = this.GetEntity<T_FO_CHANGE_SHIFT_RECORD>(t => t.CURRENT_CLASS_STATUS == (int)FOShiftRecordStatusEnum.不正常 || t.DEVICE_STATUS == (int)FOShiftRecordStatusEnum.不正常 || t.ENVIRONMENT_STATUS == (int)FOShiftRecordStatusEnum.不正常);
 | 
						||
                    if (auto25 != null)
 | 
						||
                    {
 | 
						||
                        auto25.RESULT_SCORE = changeShift2 == null ? "4" : "8";
 | 
						||
                        autoDetails.Add(auto25);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto26 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立了包括下列内容的劳动防护用品管理制度:评估与采购;发放与更换;使用与维护;监督与检查?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var meeting = this.GetEntity<T_SC_MT_MEETING>(t => t.THEME.Contains("劳动防护用品"));
 | 
						||
                    if (auto26 != null)
 | 
						||
                    {
 | 
						||
                        auto26.RESULT_SCORE = meeting == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto26);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto27 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立了鼓励员工正确使用劳动防护用品的机制?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var rewardPunishment = this.GetEntity<T_OG_APPROVE_REWARD_PUNISHMENT_REPORT>(t => t.TYPE == OGRewardPunishmentType.奖励 && t.Nav_Reason!=null && t.Nav_Reason.NAME.Contains("劳动防护用品"));
 | 
						||
                    if (auto27 != null)
 | 
						||
                    {
 | 
						||
                        auto27.RESULT_SCORE = rewardPunishment == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto27);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto28 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否评估了防护需求,包括:头保护;眼睛保护;脸保护;听力保护;手保护;脚保护;呼吸保护?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto28 != null)
 | 
						||
                    {
 | 
						||
                        auto28.RESULT_SCORE = "0";
 | 
						||
                        autoDetails.Add(auto28);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto29 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否为进入作业现场的人员提供适合的劳动防护用品?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto29 != null)
 | 
						||
                    {
 | 
						||
                        auto29.RESULT_SCORE = "0.5";
 | 
						||
                        autoDetails.Add(auto29);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto30 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在发放劳动防护用品时,是否提供了正确使用的培训?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var trainRecords = this.GetEntities<T_SE_TRAIN_RECORD>(t => t.Nav_Notify != null && t.Nav_Notify.NAME.Contains("劳动防护用品"), new BaseFilter(filter.OrgId), "Nav_Users");
 | 
						||
                    if (auto30 != null)
 | 
						||
                    {
 | 
						||
                        auto30.RESULT_SCORE = trainRecords==null || trainRecords.Count() == 0 ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto30);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto31 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否保存劳动防护用品的发放记录?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var deviceIssue = this.GetEntity<T_DM_DEVICE_ISSUE_DETAIL>(t => t.Nav_DeviceBase != null && t.Nav_DeviceBase.NAME.Contains("劳动防护用品"));
 | 
						||
                    if (auto31 != null)
 | 
						||
                    {
 | 
						||
                        auto31.RESULT_SCORE = deviceIssue == null ? "0" : "0.5";
 | 
						||
                        autoDetails.Add(auto31);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto32 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("不合格劳动防护用品是否禁止使用并得到了妥善处理?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var deviceScrap = this.GetEntity<T_DM_DEVICE_SCRAP>(t => t.Nav_DeviceBase != null && t.Nav_DeviceBase.NAME.Contains("劳动防护用品"));
 | 
						||
                    if (auto32 != null)
 | 
						||
                    {
 | 
						||
                        auto32.RESULT_SCORE = deviceScrap == null ? "0" : "0.5";
 | 
						||
                        autoDetails.Add(auto32);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto33 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("提供劳动防护用品的供应商是否具备相应的资质?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var related = this.GetEntity<T_OG_RELATED>(t => t.CONTENT.Contains("劳动防护用品"));
 | 
						||
                    if (auto33 != null)
 | 
						||
                    {
 | 
						||
                        auto33.RESULT_SCORE = related == null ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto33);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto34 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("劳动防护用品的维护是否适当?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var deviceMaintenance = this.GetEntity<T_DM_DEVICE_MAINTENANCE_CHECK_DETAIL>(t => t.Nav_DeviceBase != null && t.Nav_DeviceBase.NAME.Contains("劳动防护用品"));
 | 
						||
                    if (auto34 != null)
 | 
						||
                    {
 | 
						||
                        auto34.RESULT_SCORE = deviceMaintenance == null ? "0" : "0.5";
 | 
						||
                        autoDetails.Add(auto34);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto35 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否定期评估劳动防护用品配备与使用的依从程度?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto35 != null)
 | 
						||
                    {
 | 
						||
                        auto35.RESULT_SCORE = "0";
 | 
						||
                        autoDetails.Add(auto35);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto36 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立劳动防护用品发放台账?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto36 != null)
 | 
						||
                    {
 | 
						||
                        auto36.RESULT_SCORE = deviceIssue == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto36);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto37 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("所提供的劳动防护用品是否与可能的风险相适应?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto37 != null)
 | 
						||
                    {
 | 
						||
                        auto37.RESULT_SCORE = "0";
 | 
						||
                        autoDetails.Add(auto37);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto38 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("接受正确使用和维护劳动防护用品培训的员工比例:") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var trainIds = trainRecords.Select(t => t.ID).ToList();
 | 
						||
                    var trainRecordUsers = this.GetEntities<T_SE_TRAIN_RECORD_USER>(t => trainIds.Contains(t.RECORD_ID),new BaseFilter(filter.OrgId)).Select(m=>m.USER_ID).Distinct().ToList();
 | 
						||
                    var userCount = this.GetCount<T_FM_USER>(t => t.ENABLE_STATUS == 0, new BaseFilter(filter.OrgId));
 | 
						||
                    var rate = Math.Round((decimal)trainRecordUsers.Count() / userCount * 100, 2);
 | 
						||
                    var resultScore38 = 0;
 | 
						||
                    if (rate >= 90)
 | 
						||
                    {
 | 
						||
                        resultScore38 = 3;
 | 
						||
                    }
 | 
						||
                    else if (rate >= 75 && rate < 90)
 | 
						||
                    { resultScore38 = 2; }
 | 
						||
                    else if (rate >= 60 && rate < 75)
 | 
						||
                    { resultScore38 = 1; }
 | 
						||
                    if (auto38 != null)
 | 
						||
                    {
 | 
						||
                        auto38.RESULT_SCORE = resultScore38.ToString();
 | 
						||
                        autoDetails.Add(auto38);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto39 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("员工是否正确使用和维护劳动防护用品?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var changeShift3 = this.GetEntity<T_FO_CHANGE_SHIFT_RECORD>(t => t.SUPPLIES_STATUS == (int)FOShiftRecordStatusEnum.正常);
 | 
						||
                    if (auto39 != null)
 | 
						||
                    {
 | 
						||
                        auto39.RESULT_SCORE = deviceMaintenance == null || changeShift3 == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto39);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto40 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("报废及时?是否由于没有正确提供或使用劳动防护用品而导致事故、事件的发生?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var accidentReason = this.GetEntity<T_AE_ACCIDENT_EVENT_SURVEY_REASON_TYPE>(t => t.Nav_ReasonType != null && t.Nav_ReasonType.NAME.Contains("劳动防护用品"));
 | 
						||
                    if (auto40 != null)
 | 
						||
                    {
 | 
						||
                        auto40.RESULT_SCORE = accidentReason == null ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto40);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    #endregion
 | 
						||
                    #region 选矿厂
 | 
						||
                    var auto41 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否有基于风险评价的下列作业现场安全管理制度:危险化学品和材料管理制度;运输与起重管理制度;高处作业管理制度;危险场所动火、动焊安全管理制度;自然灾害应急管理制度;危险作业场所劳动防护管理制度;职业卫生管理制度;安全警示标志管理制度?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var standard3 = this.GetEntities<T_SC_STANDARD_CREATE>(t => t.NAME.Contains("危险化学品和材料管理") || t.NAME.Contains("运输与起重管理") || t.NAME.Contains("高处作业管理")
 | 
						||
                    || t.NAME.Contains("危险场所动火、动焊安全管理") || t.NAME.Contains("自然灾害应急管理") || t.NAME.Contains("危险作业场所劳动防护管理") || t.NAME.Contains("职业卫生管理")
 | 
						||
                    || t.NAME.Contains("安全警示标志管理"), new BaseFilter(filter.OrgId));
 | 
						||
                    if (auto41 != null)
 | 
						||
                    {
 | 
						||
                        auto41.RESULT_SCORE = standard3 != null && standard3.Any() ? (standard3.Count() * 1.5).ToString() : "0";
 | 
						||
                        autoDetails.Add(auto41);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto42 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("作业人员对其使用的化学药品的危害是否了解:理化特性;燃烧爆炸危险性;接触限值;对人体危害;急救和防护;应急处置?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var safeSurvey = this.GetEntities<T_SE_SAFE_SURVEY_LIST_POINT>(t => t.Nav_Point != null &&(t.Nav_Point.NAME.Contains("理化") || t.Nav_Point.NAME.Contains("爆炸") || t.Nav_Point.NAME.Contains("接触")
 | 
						||
                    || t.Nav_Point.NAME.Contains("人体危害") || t.Nav_Point.NAME.Contains("防护") || t.Nav_Point.NAME.Contains("应急")), new BaseFilter(filter.OrgId));
 | 
						||
                    if (auto42 != null)
 | 
						||
                    {
 | 
						||
                        auto42.RESULT_SCORE = safeSurvey != null && safeSurvey.Any() ? (safeSurvey.Count() * 0.5).ToString() : "0";
 | 
						||
                        autoDetails.Add(auto42);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto43 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否存在因作业环境不良而导致事故、事件发生的情况?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var accidentEvent = this.GetEntity<T_AE_ACCIDENT_EVENT_SURVEY_REASON_TYPE>(t => t.Nav_ReasonType != null && t.Nav_ReasonType.CATEGORY == AEReasonCategory.Environment);
 | 
						||
                    if (auto43 != null)
 | 
						||
                    {
 | 
						||
                        auto43.RESULT_SCORE = accidentEvent != null ? "0" : "6";
 | 
						||
                        autoDetails.Add(auto43);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto44 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否基于风险评价建立下列作业过程的安全操作规程:破碎与筛分;磨矿与分级设备;选别作业;脱水;尾矿输送;运输和起重;电气安全;除尘;自动化;矿石运输及其他?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var standard4 = this.GetEntities<T_SC_STANDARD_CREATE>(t => t.TYPE == SCType.岗位安全操作规程和指导书 && (t.NAME.Contains("破碎与筛分")|| t.NAME.Contains("选别作业") || t.NAME.Contains("磨矿与分级设备") 
 | 
						||
                    || t.NAME.Contains("脱水") || t.NAME.Contains("尾矿输送") || t.NAME.Contains("运输和起重") || t.NAME.Contains("电气安全") || t.NAME.Contains("除尘") || t.NAME.Contains("自动化") || t.NAME.Contains("矿石运输及其他")), new BaseFilter(filter.OrgId));
 | 
						||
                    if (auto44 != null)
 | 
						||
                    {
 | 
						||
                        auto44.RESULT_SCORE = standard4 != null && standard4.Any() ? (standard4.Count() * 2).ToString() : "0";
 | 
						||
                        autoDetails.Add(auto44);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto45 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("多层作业或危险作业(如进入转动设备内部检修),是否进行审批并安排专人监护?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var job2 = this.GetEntity<T_FO_CRUCIAL_LICENSE_JOB>(t=>t.IS_PUBLISH == 5);
 | 
						||
                    if (auto45 != null)
 | 
						||
                    {
 | 
						||
                        auto45.RESULT_SCORE = job2 == null ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto45);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto46 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否按规定搬运和使用选矿药品(剂)?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var drugCarry = this.GetEntity<T_PR_DRUG_CARRY_RECORD>(t=>t.STATUS == PFStandardStatus.Archived);
 | 
						||
                    if (auto46 != null)
 | 
						||
                    {
 | 
						||
                        auto46.RESULT_SCORE = drugCarry == null ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto46);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto47 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("操作起重设备和电气作业等特种作业人员是否取得相应资格证书?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var renewalTrain = this.GetEntity<T_SE_RENEWAL_TRAIN>(t => t.Nav_CertificateType!=null && t.Nav_CertificateType.NAME == "特种作业人员" && t.EXPIRY_DATE >= DateTime.Now);
 | 
						||
                    if (auto47 != null)
 | 
						||
                    {
 | 
						||
                        auto47.RESULT_SCORE = renewalTrain == null ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto47);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto48 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("带式输送机运行时是否遵守下列规定:人员不乘坐、跨越、钻爬带式输送机;不运送规定物料以外的其他物料;不用手捡矿石(手选皮带除外);输送带、传动轮和改向轮上的杂物,应及时停车清除;不在输送带下清矿;不进行检修、打扫和注油;不用手摸托滚、首尾轮等转动部件?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var jobEvent8 = jobEventAll.Where(t => t.Nav_OperationStep != null && t.Nav_OperationStep.NAME.Contains("皮带运输作业"));
 | 
						||
                    if (auto48 != null)
 | 
						||
                    {
 | 
						||
                        auto48.RESULT_SCORE = jobEvent8 == null ? "0" : "7";
 | 
						||
                        autoDetails.Add(auto48);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto49 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("员工是否执行交接班制度?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var changeShift4 = this.GetEntity<T_FO_CHANGE_SHIFT_RECORD>(t => t.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.归档);
 | 
						||
                    if (auto49 != null)
 | 
						||
                    {
 | 
						||
                        auto49.RESULT_SCORE = changeShift4 == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto49);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto50 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("供电、变电所倒闸操作是否执行下列规定:操作人填写操作票;操作时一人操作,一人监护?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var job3 = this.GetEntity<T_FO_CRUCIAL_LICENSE_JOB>(t => t.Nav_OperationStep != null && t.Nav_OperationStep.NAME.Contains("供电、变电所"));
 | 
						||
                    if (auto50 != null)
 | 
						||
                    {
 | 
						||
                        auto50.RESULT_SCORE = job3 == null ? "0" : "6";
 | 
						||
                        autoDetails.Add(auto50);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto51 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("作业过程是否做到:按规定交接班,并做好交接班记录;按规定正确佩戴和使用个体防护用品;作业人员熟悉安全出口和紧急撤离路线;认真做好作业前的安全检查确认工作;严格遵照作业指导书或安全操作规程的要求进行作业;作业结束认真清理作业现场,并认真填写当班作业记录?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var currentClass2 = this.GetEntity<T_FO_CURRENT_CLASS_RECORD>(t => t.SUPPLIES_USED == (int)WFDisableStatusEnum.是);
 | 
						||
                    var currentClass3 = this.GetEntity<T_FO_CURRENT_CLASS_RECORD>(t => t.SHIFT_STATUS == (int)FOShiftStatusEnum.归档);
 | 
						||
                    var jobEvent9 = this.GetEntity<T_FO_JOB_EVENT_RECORD>(t => t.FORM_STATUS == (int)FOTeamActivityState.已归档);
 | 
						||
                    var jobActivity2 = this.GetEntity<T_FO_JOB_ACTIVITY_RECORD>(t => t.FORM_STATUS == (int)FOTeamActivityState.已归档);
 | 
						||
                    var resultScore51 = 0;
 | 
						||
                    if (currentClass2 != null)
 | 
						||
                    {
 | 
						||
                        resultScore51 = resultScore51 + 2;
 | 
						||
                    }
 | 
						||
                    if (currentClass3 != null)
 | 
						||
                    {
 | 
						||
                        resultScore51 = resultScore51 + 2;
 | 
						||
                    }
 | 
						||
                    if (changeShift4 != null)
 | 
						||
                    {
 | 
						||
                        resultScore51 = resultScore51 + 2;
 | 
						||
                    }
 | 
						||
                    if (job2 != null)
 | 
						||
                    {
 | 
						||
                        resultScore51 = resultScore51 + 2;
 | 
						||
                    }
 | 
						||
                    if (jobEvent9 != null)
 | 
						||
                    {
 | 
						||
                        resultScore51 = resultScore51 + 2;
 | 
						||
                    }
 | 
						||
                    if (jobActivity2 != null)
 | 
						||
                    {
 | 
						||
                        resultScore51 = resultScore51 + 2;
 | 
						||
                    }
 | 
						||
                    if (auto51 != null)
 | 
						||
                    {
 | 
						||
                        auto51.RESULT_SCORE = resultScore51.ToString();
 | 
						||
                        autoDetails.Add(auto51);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto52 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("破碎与筛分工序下列作业时是否做到有专人监护:停车处理固定格筛卡矿、粗破碎机棚矿(囤矿或过铁卡矿)以及进入机体检查处理故障;清理粗破碎机翻车场地积矿或进入破碎机进料口;处理破碎机下部漏斗堵塞;不超载运输?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var jobActivity3 = this.GetEntity<T_FO_JOB_ACTIVITY_RECORD>(t => t.Nav_OperationStep != null && t.Nav_OperationStep.NAME.Contains("粗破碎机"));
 | 
						||
                    if (auto52 != null)
 | 
						||
                    {
 | 
						||
                        auto52.RESULT_SCORE = jobActivity3 == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto52);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto53 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("磨矿与分级作业时是否做到:禁止人员在磨矿机运转的筒体两侧和下部逗留或工作;封闭磨矿机入孔时,确认磨矿机内无人;球磨机\"胀肚\"时,立即停止给料,并按规定程序处理;给球磨机加球时,使用专门的加钢球装置及有保护作业人员的防护措施?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var jobEvent10 = this.GetEntity<T_FO_JOB_EVENT_RECORD>(t => t.Nav_OperationStep != null && t.Nav_OperationStep.NAME.Contains("磨矿与分级作业"));
 | 
						||
                    if (auto53 != null)
 | 
						||
                    {
 | 
						||
                        auto53.RESULT_SCORE = jobEvent10 == null ? "0" : "8";
 | 
						||
                        autoDetails.Add(auto53);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto54 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("使用有毒、易燃、易爆等选矿药品时是否做到:事先了解其化学性质、使用方法和注意事项,并掌握操作方法;开瓶时,瓶口朝向无人处;在通风条件良好的通风橱内操作剧毒、刺激性和麻醉性以及挥发性的药品;使用移液管而不是用口直接吸取有毒或剧毒液体药品并掌握操作方法;在安全地点加热或配制易燃、易爆药品;使用有毒、剧毒药品后立即将器皿冲洗干净,擦净试验台?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var drugUse = this.GetEntity<T_PR_DRUG_USE_RECORD>(t => t.STATUS == PFStandardStatus.Archived);
 | 
						||
                    if (auto54 != null)
 | 
						||
                    {
 | 
						||
                        auto54.RESULT_SCORE = drugUse == null ? "0" : "12";
 | 
						||
                        autoDetails.Add(auto54);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto55 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("搬运、使用强酸、强碱时是否做到:两人搬运桶装或坛装的强酸、强碱;用专用工具或车辆搬运,并放置牢固,严禁肩扛、背驮或徒手提运;事先检查确认所使用的工具、材料完好;按规定穿戴好劳动防护用品;用虹吸法将坛装、桶装的浓酸、浓碱注入器皿,严禁直接倾倒;在通风良好的通风橱内加热浓酸、浓碱,且操作人员远离;按规定程序配制酸碱溶液;事先准备必要的应急处置措施?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto55 != null)
 | 
						||
                    {
 | 
						||
                        auto55.RESULT_SCORE = drugCarry == null ? "0" : "8";
 | 
						||
                        autoDetails.Add(auto55);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto56 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("起重作业是否做到:视线不清或信号不明不作业;不歪拉斜吊、拖拉物体;吊物不从人员上方通过;不利用限位开关停车;吊运物件时不调整制动器;制动垫异常磨损或磨损超过一半立即更换;起重机吊钩达到最低位置时,卷筒上钢丝绳不少于3圈;不用电磁盘代替起重机作业?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var jobActivity4 = this.GetEntity<T_FO_JOB_ACTIVITY_RECORD>(t => t.Nav_OperationStep != null && t.Nav_OperationStep.NAME.Contains("起重作业"));
 | 
						||
                    if (auto56 != null)
 | 
						||
                    {
 | 
						||
                        auto56.RESULT_SCORE = jobActivity4 == null ? "0" : "8";
 | 
						||
                        autoDetails.Add(auto56);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto57 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("尾矿输送作业是否做到:事故尾矿池定期清理,保持足够的贮存容积;尾矿输送管、槽等,固定专人分班巡视检查和维护管理;金属管道定期进行壁厚测定和维护?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var safeCheck = this.GetEntity<T_BS_SAFE_CHECK_DETAIL>(t => t.CHECKCONTENT.Contains("尾矿输送管"));
 | 
						||
                    var deviceMaintenance2 = this.GetEntity<T_DM_DEVICE_MAINTENANCE_CHECK_DETAIL>(t => t.MACHINE_NAME.Contains("尾矿输送管道"));
 | 
						||
                    var deviceInspect = this.GetEntity<T_DM_DETECTION_INSPECTION_RECORD>(t => t.Nav_DeviceBase != null && t.Nav_DeviceBase.NAME.Contains("尾矿输送管"));
 | 
						||
                    var resultScore57 = 0;
 | 
						||
                    if (safeCheck != null)
 | 
						||
                    {
 | 
						||
                        resultScore57 = resultScore57 + 1;
 | 
						||
                    }
 | 
						||
                    if (deviceMaintenance2 != null)
 | 
						||
                    {
 | 
						||
                        resultScore57 = resultScore57 + 1;
 | 
						||
                    }
 | 
						||
                    if (deviceInspect != null)
 | 
						||
                    {
 | 
						||
                        resultScore57 = resultScore57 + 1;
 | 
						||
                    }
 | 
						||
                    if (auto57 != null)
 | 
						||
                    {
 | 
						||
                        auto57.RESULT_SCORE = resultScore57.ToString();
 | 
						||
                        autoDetails.Add(auto57);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var auto58 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立了包括下列内容的劳动防护用品管理制度:评估与采购;贮存与发放;使用与更换;维护和保养?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto58 != null)
 | 
						||
                    {
 | 
						||
                        auto58.RESULT_SCORE = meeting == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto58);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto59 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立了鼓励员工正确使用劳动防护用品的机制?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto59 != null)
 | 
						||
                    {
 | 
						||
                        auto59.RESULT_SCORE = rewardPunishment == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto59);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto60 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否评估了防护需求,包括:头保护;眼睛保护;脸保护;听力保护;手保护;脚保护;呼吸保护?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto60 != null)
 | 
						||
                    {
 | 
						||
                        auto60.RESULT_SCORE = "0";
 | 
						||
                        autoDetails.Add(auto60);
 | 
						||
                    }
 | 
						||
                 
 | 
						||
                    var auto61 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否为下列人员提供适合的劳动防护用品:员工;承包商;参观者?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto61 != null)
 | 
						||
                    {
 | 
						||
                        auto61.RESULT_SCORE = "1.5";
 | 
						||
                        autoDetails.Add(auto61);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto62 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在发放劳动防护用品时,是否进行了正确使用和维护培训?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto62 != null)
 | 
						||
                    {
 | 
						||
                        auto62.RESULT_SCORE = trainRecords == null || trainRecords.Count() == 0 ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto62);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto63 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否保存劳动防护用品的发放记录?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto63 != null)
 | 
						||
                    {
 | 
						||
                        auto63.RESULT_SCORE = deviceIssue == null ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto63);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto64 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("不合格劳动防护用品是否禁止使用并得到了妥善处理?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto64 != null)
 | 
						||
                    {
 | 
						||
                        auto64.RESULT_SCORE = deviceScrap == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto64);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto65 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("提供劳动防护用品的供应商是否具备相应的资质?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto65 != null)
 | 
						||
                    {
 | 
						||
                        auto65.RESULT_SCORE = related == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto65);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto66 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立劳动防护用品发放台账?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto66 != null)
 | 
						||
                    {
 | 
						||
                        auto66.RESULT_SCORE = deviceIssue == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto66);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto67 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("所提供的劳动防护用品是否与可能的风险相适应?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto67 != null)
 | 
						||
                    {
 | 
						||
                        auto67.RESULT_SCORE = "0";
 | 
						||
                        autoDetails.Add(auto67);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto68 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("接受正确使用和维护劳动防护用品培训的员工比例:") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var resultScore68 = 0;
 | 
						||
                    if (rate >= 90)
 | 
						||
                    {
 | 
						||
                        resultScore68 = 6;
 | 
						||
                    }
 | 
						||
                    else if (rate >= 75 && rate < 90)
 | 
						||
                    { resultScore68 = 3; }
 | 
						||
                    else if (rate >= 60 && rate < 75)
 | 
						||
                    { resultScore68 = 1; }
 | 
						||
                    if (auto68 != null)
 | 
						||
                    {
 | 
						||
                        auto68.RESULT_SCORE = resultScore68.ToString();
 | 
						||
                        autoDetails.Add(auto68);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto69 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("员工是否正确使用和维护劳动防护用品?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto69 != null)
 | 
						||
                    {
 | 
						||
                        auto69.RESULT_SCORE = deviceMaintenance == null || changeShift3 == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto69);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto70 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否由于没有正确提供或使用劳动防护用品而导致事故、事件的发生?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto70 != null)
 | 
						||
                    {
 | 
						||
                        auto70.RESULT_SCORE = accidentReason == null ? "4" : "0";
 | 
						||
                        autoDetails.Add(auto70);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    #endregion
 | 
						||
                    UnifiedCommit(() =>
 | 
						||
                    {
 | 
						||
                        if (autoDetails != null && autoDetails.Any())
 | 
						||
                            BantchSaveEntityNoCommit(autoDetails);
 | 
						||
                    });
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(ex.StackTrace))
 | 
						||
                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
 | 
						||
                    else
 | 
						||
                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
 | 
						||
                }
 | 
						||
                return true;
 | 
						||
            });
 | 
						||
        }
 | 
						||
        /// <summary>
 | 
						||
        /// 自动化得分-风险管理模块
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="filter"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public JsonActionResult<bool> HMSync([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<bool>(() =>
 | 
						||
            {
 | 
						||
                try
 | 
						||
                {
 | 
						||
                    List<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL> autoDetails = new List<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL>();
 | 
						||
                    #region 露天矿
 | 
						||
                    var autoAll = this.GetEntities<T_PE_STANDARDIZED_SCORE_AUTO_DETAIL>(null, new BaseFilter(filter.OrgId));
 | 
						||
                    var standards = this.GetEntities<T_SC_STANDARD_CREATE>(t => t.NAME.Contains("危险源辨识与风险评价") || t.NAME.Contains("关键任务识别与分析制度") || t.NAME.Contains("许可作业管理") || t.NAME.Contains("任务观察制度"), new BaseFilter(filter.OrgId));
 | 
						||
                    var standard = standards.FirstOrDefault(t => t.NAME.Contains("危险源辨识与风险评价"));
 | 
						||
                    var auto = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立了危险源辨识与风险评价的管理制度?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto != null)
 | 
						||
                    {
 | 
						||
                        auto.RESULT_SCORE = standard == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var meetings = this.GetEntities<T_SC_MT_MEETING>(t => t.THEME.Contains("危险源辨识与风险评价") || t.THEME.Contains("作业指导书") || t.THEME.Contains("许可作业"), new BaseFilter(filter.OrgId));
 | 
						||
                    var meeting = meetings.FirstOrDefault(t => t.NAME.Contains("危险源辨识与风险评价"));
 | 
						||
                    var auto2 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("制度是否明确风险评价的方法、流程及风险层次控制原则?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto2 != null)
 | 
						||
                    {
 | 
						||
                        auto2.RESULT_SCORE = meeting == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto2);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var auto3 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("制度是否明确了持续风险评价的要求?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto3 != null)
 | 
						||
                    {
 | 
						||
                        auto3.RESULT_SCORE = meeting == null ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto3);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var evaluationPlan = this.GetEntity<T_HM_EVALUATION_PLAN>(t => t.EVALUATION_DATE.Year == DateTime.Now.Year && t.STATUS == FOPreMeetingStatusEnum.归档);
 | 
						||
                    var auto4 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否进行危险源辨识与风险评价,并确定重大危险源?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto4 != null)
 | 
						||
                    {
 | 
						||
                        auto4.RESULT_SCORE = evaluationPlan == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto4);
 | 
						||
                    }
 | 
						||
                 
 | 
						||
                    var riskTask4 = this.GetEntity<T_HM_RISK_TASK>(t => t.CHANGE_IDENTIFY_EVALUATION_ID != null);
 | 
						||
                    var auto5 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否已通过初始及持续的风险评价,对风险评价实施动态管理?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto5 != null)
 | 
						||
                    {
 | 
						||
                        auto5.RESULT_SCORE = riskTask4 == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto5);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto6 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否定期或及时对危险源辨识与风险评价进行回顾?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto6 != null)
 | 
						||
                    {
 | 
						||
                        auto6.RESULT_SCORE = meeting == null ? "0" : "1";
 | 
						||
                        autoDetails.Add(auto6);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto7 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("风险评价的结果是否文件化?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto7 != null)
 | 
						||
                    {
 | 
						||
                        auto7.RESULT_SCORE = evaluationPlan == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto7);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var taskAreaCount = this.GetEntities<T_HM_RISK_TASK_AREA>(null,new BaseFilter(filter.OrgId)).Select(m=>m.AREA_ID).Distinct().ToList().Count();
 | 
						||
                    var areaCount = this.GetCount<T_HM_RISK_AREA>(null, new BaseFilter(filter.OrgId));
 | 
						||
                    var rate = Math.Round((decimal)taskAreaCount / areaCount * 100, 2);
 | 
						||
                    var auto8 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("危险源辨识与风险评价的范围是否涵盖所有的过程、活动、场所及周边环境?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto8 != null)
 | 
						||
                    {
 | 
						||
                        auto8.RESULT_SCORE = rate >= 60 ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto8);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var changeIdentifys = this.GetEntities<T_PR_CHANGE_IDENTIFY_EVALUATION_TYPE>(t=> t.Nav_Type != null && t.Nav_Type.NAME.Contains("相关方") || t.Nav_Type.NAME.Contains("生产作业过程"), new BaseFilter(filter.OrgId));
 | 
						||
                    var changeIdentifyIds2 = changeIdentifys.Where(t => t.Nav_Type.NAME.Contains("相关方")).Select(m => m.CHANGE_IDENTIFY_EVALUATION_ID).Distinct().ToList();
 | 
						||
                    var riskTask = this.GetEntity<T_HM_RISK_TASK>(t => changeIdentifyIds2.Contains((Guid)t.CHANGE_IDENTIFY_EVALUATION_ID));
 | 
						||
                    var auto9 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("危险源辨识与风险评价过程是否考虑了相关方的活动?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto9 != null)
 | 
						||
                    {
 | 
						||
                        auto9.RESULT_SCORE = riskTask != null ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto9);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var changeIdentifyIds3 = changeIdentifys.Where(t => t.Nav_Type.NAME.Contains("生产作业过程")).Select(m => m.CHANGE_IDENTIFY_EVALUATION_ID).Distinct().ToList();
 | 
						||
                    var riskTask2 = this.GetEntity<T_HM_RISK_TASK>(t => changeIdentifyIds3.Contains((Guid)t.CHANGE_IDENTIFY_EVALUATION_ID));
 | 
						||
                    var auto10 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否认定并评估工作或活动的次生风险?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto10 != null)
 | 
						||
                    {
 | 
						||
                        auto10.RESULT_SCORE = riskTask2 != null ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto10);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var riskTask3 = this.GetEntity<T_HM_RISK_TASK>(t => t.Nav_Request != null && t.Nav_Request.NAME.Contains("考虑了正常和非正常的情况以及潜在的事故和紧急情况"));
 | 
						||
                    var auto11 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否考虑了正常和非正常的情况以及潜在的事故和紧急情况?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto11 != null)
 | 
						||
                    {
 | 
						||
                        auto11.RESULT_SCORE = riskTask3 != null ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto11);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var evaluateResult = this.GetEntity<T_HM_EVALUATE_RESULT>(t => t.Nav_Requirement != null && t.Nav_Requirement.NAME.Contains("风险评价应考虑内部和外部的变化"));
 | 
						||
                    var auto12 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("风险评价时是否要求考虑内部和外部的变化?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto12 != null)
 | 
						||
                    {
 | 
						||
                        auto12.RESULT_SCORE = evaluateResult != null ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto12);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto13 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("危险源辨识与风险评价制度规定的职责是否明确?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto13 != null)
 | 
						||
                    {
 | 
						||
                        auto13.RESULT_SCORE = meeting == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto13);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto14 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("制度规定的风险评价流程是否清楚?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto14 != null)
 | 
						||
                    {
 | 
						||
                        auto14.RESULT_SCORE = meeting == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto14);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto15 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("风险评价方法是否合理?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto15 != null)
 | 
						||
                    {
 | 
						||
                        auto15.RESULT_SCORE = meeting == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto15);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    
 | 
						||
                    var indivdualMeasures = this.GetCount<T_HM_EVALUATE_RESULT_RISK_INDIVIDUAL_MEASURES>(t => true, new BaseFilter(filter.OrgId));
 | 
						||
                    var engineeringMeasures = this.GetCount<T_HM_EVALUATE_RESULT_RISK_ENGINEERING_MEASURES>(t => true, new BaseFilter(filter.OrgId));
 | 
						||
                    var managementMeasures = this.GetCount<T_HM_EVALUATE_RESULT_RISK_MANAGEMENT_MEASURES>(t => true, new BaseFilter(filter.OrgId));
 | 
						||
                    var resultScore16 = 0;
 | 
						||
                    if (indivdualMeasures > 0)
 | 
						||
                    {
 | 
						||
                        resultScore16 = resultScore16 + 1;
 | 
						||
                    }
 | 
						||
                    if (engineeringMeasures > 0)
 | 
						||
                    {
 | 
						||
                        resultScore16 = resultScore16 + 1;
 | 
						||
                    }
 | 
						||
                    if (managementMeasures > 0)
 | 
						||
                    {
 | 
						||
                        resultScore16 = resultScore16 + 1;
 | 
						||
                    }
 | 
						||
                    var auto16 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("风险控制措施是否包括:工程控制措施;管理控制措施;个体防护措施?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto16 != null)
 | 
						||
                    {
 | 
						||
                        auto16.RESULT_SCORE = resultScore16.ToString();
 | 
						||
                        autoDetails.Add(auto16);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var changeShift = this.GetCount<T_FO_CHANGE_SHIFT_RECORD>(t => t.SHIFT_STATUS == (int)FOChangeShiftStatusEnum.归档, new BaseFilter(filter.OrgId));
 | 
						||
                    var jobActivity = this.GetCount<T_FO_JOB_ACTIVITY_RECORD>(t => t.FORM_STATUS == (int)FOTeamActivityState.已归档, new BaseFilter(filter.OrgId));
 | 
						||
                    var deviceCheck = this.GetCount<T_DM_DEVICE_CHECK>(t => t.CHECKTYPE == CheckType.Check, new BaseFilter(filter.OrgId));
 | 
						||
                    var jobEvent = this.GetCount<T_FO_JOB_EVENT_RECORD>(t => true, new BaseFilter(filter.OrgId));
 | 
						||
                    var safeCheck = this.GetCount<T_BS_SAFE_CHECK>(t => t.Nav_CheckType!=null && (t.Nav_CheckType.NAME == "例行检查"|| t.Nav_CheckType.NAME == "巡回检查"), new BaseFilter(filter.OrgId));
 | 
						||
                    var inspectionRecord = this.GetCount<T_DM_DETECTION_INSPECTION_RECORD>(t => t.TIME.Value.Year == DateTime.Now.Year, new BaseFilter(filter.OrgId));
 | 
						||
                    var safetyEvaluation = this.GetCount<T_PE_SAFETY_EVALUATION_RECORD>(t => t.YEAR == DateTime.Now.Year.ToString(), new BaseFilter(filter.OrgId));
 | 
						||
                    var teamActivity = this.GetCount<T_FO_TEAM_ACTIVITY>(t => t.TITLE.Contains("作业活动的危险预知"), new BaseFilter(filter.OrgId));
 | 
						||
                    var resultScore17 = 0;
 | 
						||
                    if (changeShift > 0)
 | 
						||
                    {
 | 
						||
                        resultScore17 = resultScore17 + 1;
 | 
						||
                    }
 | 
						||
                    if (jobActivity > 0)
 | 
						||
                    {
 | 
						||
                        resultScore17 = resultScore17 + 1;
 | 
						||
                    }
 | 
						||
                    if (deviceCheck > 0)
 | 
						||
                    {
 | 
						||
                        resultScore17 = resultScore17 + 1;
 | 
						||
                    }
 | 
						||
                    if (jobEvent > 0)
 | 
						||
                    {
 | 
						||
                        resultScore17 = resultScore17 + 1;
 | 
						||
                    }
 | 
						||
                    if (safeCheck > 0)
 | 
						||
                    {
 | 
						||
                        resultScore17 = resultScore17 + 1;
 | 
						||
                    }
 | 
						||
                    if (inspectionRecord > 0)
 | 
						||
                    {
 | 
						||
                        resultScore17 = resultScore17 + 1;
 | 
						||
                    }
 | 
						||
                    if (safetyEvaluation > 0)
 | 
						||
                    {
 | 
						||
                        resultScore17 = resultScore17 + 1;
 | 
						||
                    }
 | 
						||
                    if (teamActivity > 0)
 | 
						||
                    {
 | 
						||
                        resultScore17 = resultScore17 + 1;
 | 
						||
                    }
 | 
						||
                    var auto17 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否采用下列方式开展持续风险识别与评价:使用前检查;计划任务观察;设备检查;班前安全检查确认;定期安全检查;定期检修;安全生产标准化系统评价;班组危险预知活动?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto17 != null)
 | 
						||
                    {
 | 
						||
                        auto17.RESULT_SCORE = resultScore17.ToString();
 | 
						||
                        autoDetails.Add(auto17);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var evalationIdentify = this.GetCount<T_HM_EVALUATION_DETAIL_IDENTIFYING>(t => t.Nav_Identifying != null && (t.Nav_Identifying.NAME == "作业人员" || t.Nav_Identifying.NAME == "设备设施" || t.Nav_Identifying.NAME == "作业过程" || t.Nav_Identifying.NAME == "作业环境" || t.Nav_Identifying.NAME == "安全管理" || t.Nav_Identifying.NAME == "职业危害辨识"), new BaseFilter(filter.OrgId));
 | 
						||
                    var auto18 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否制定了下列风险评价的计划:周边环境风险评价;关键设备风险评价;重要设施风险评价;重要场所风险评价;主要作业过程风险评价;职业卫生风险评价?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto18 != null)
 | 
						||
                    {
 | 
						||
                        auto18.RESULT_SCORE = evalationIdentify == 0 ? "0" : (2 * evalationIdentify).ToString();
 | 
						||
                        autoDetails.Add(auto18);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto19 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否针对下列方面开展了风险评价:周边环境;关键设备;重要设施;重要场所;主要作业过程;职业卫生?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto19 != null)
 | 
						||
                    {
 | 
						||
                        auto19.RESULT_SCORE = evalationIdentify == 0 ? "0" : evalationIdentify.ToString();
 | 
						||
                        autoDetails.Add(auto19);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    
 | 
						||
                    var auto20 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否根据风险评价结果制定了针对性的风险控制措施?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto20 != null)
 | 
						||
                    {
 | 
						||
                        auto20.RESULT_SCORE = resultScore16.ToString();
 | 
						||
                        autoDetails.Add(auto20);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var hazardTask = this.GetCount<T_HM_HAZARD_TASK_DETAIL_IDENTIFYING>(t => t.Nav_Identifying != null && (t.Nav_Identifying.NAME == "粉尘" || t.Nav_Identifying.NAME == "高温与低温" || t.Nav_Identifying.NAME == "振动与噪声" || t.Nav_Identifying.NAME == "辐射" || t.Nav_Identifying.NAME == "毒物" || t.Nav_Identifying.NAME == "生物危害" || t.Nav_Identifying.NAME == "其他"), new BaseFilter(filter.OrgId));
 | 
						||
                    var auto21 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否已识别和评价下列职业危害及其影响:粉尘;高温与低温;振动与噪声;辐射;毒物;生物危害;其他?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto21 != null)
 | 
						||
                    {
 | 
						||
                        auto21.RESULT_SCORE = hazardTask == 0 ? "0" : (0.5 * hazardTask).ToString();
 | 
						||
                        autoDetails.Add(auto21);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var hazardMonitor = this.GetCount<T_OH_HAZARD_MONITOR_JOB>(t => true, new BaseFilter(filter.OrgId));
 | 
						||
                    var auto22 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否对已识别的、可能造成严重风险的职业危害进行了监测?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto22 != null)
 | 
						||
                    {
 | 
						||
                        auto22.RESULT_SCORE = hazardMonitor == 0 ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto22);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var evalationIdentify2 = this.GetCount<T_HM_EVALUATION_DETAIL_IDENTIFYING>(t => t.Nav_Identifying != null && (t.Nav_Identifying.NAME == "滑坡" || t.Nav_Identifying.NAME == "泥石流" || t.Nav_Identifying.NAME == "火灾" || t.Nav_Identifying.NAME == "意外爆炸" || t.Nav_Identifying.NAME == "水灾"), new BaseFilter(filter.OrgId));
 | 
						||
                    var auto23 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否已识别和评价下列灾害及其影响?滑坡;泥石流;火灾;意外爆炸;水灾?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto23 != null)
 | 
						||
                    {
 | 
						||
                        auto23.RESULT_SCORE = evalationIdentify2 == 0 ? "0" : (0.5* evalationIdentify2).ToString();
 | 
						||
                        autoDetails.Add(auto23);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto24 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("初始风险评价结果是否已文件化?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto24 != null)
 | 
						||
                    {
 | 
						||
                        auto24.RESULT_SCORE = evaluationPlan == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto24);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var riskRecordDeatil = this.GetCount<T_HM_RISK_RECORD_DETAIL>(t =>t.RISK_NAME.Contains("暴雨") || t.RISK_NAME.Contains("地震") || t.RISK_NAME.Contains("洪水") || t.RISK_NAME.Contains("泥石流")
 | 
						||
                    || t.RISK_NAME.Contains("山体滑坡") || t.RISK_NAME.Contains("台风") || t.RISK_NAME.Contains("暴雪"), new BaseFilter(filter.OrgId));
 | 
						||
                    var auto25 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在对周边环境进行风险评价时,是否考虑了自然灾害及外部机构的影响?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto25 != null)
 | 
						||
                    {
 | 
						||
                        auto25.RESULT_SCORE = riskRecordDeatil == 0 ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto25);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var detailWorkduty = this.GetCount<T_HM_RISK_RECORD_DETAIL_WORKDUTY>(t => true, new BaseFilter(filter.OrgId));
 | 
						||
                    var auto26 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在对关键设备进行风险评价时,是否考虑了设备与工艺参数的匹配问题?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto26 != null)
 | 
						||
                    {
 | 
						||
                        auto26.RESULT_SCORE = detailWorkduty == 0 ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto26);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var hazardMonitor2 = this.GetCount<T_OH_HAZARD_MONITOR_JOB>(t => t.MONITOR_TIME.Value.Year == DateTime.Now.Year, new BaseFilter(filter.OrgId));
 | 
						||
                    var hazardMonitorRule = this.GetEntity<T_OH_HAZARD_MONITOR_RULE>(t => true);
 | 
						||
                    var qty = 0;
 | 
						||
                    if (hazardMonitorRule != null)
 | 
						||
                    {
 | 
						||
                        switch (hazardMonitorRule.MONITOR_INTERVAL)
 | 
						||
                        {
 | 
						||
                            case BSPLANCHECKFREQUENCYEnum.Date:
 | 
						||
                                qty = 365;
 | 
						||
                                break;
 | 
						||
                            case BSPLANCHECKFREQUENCYEnum.Week:
 | 
						||
                                qty = 52;
 | 
						||
                                break;
 | 
						||
                            case BSPLANCHECKFREQUENCYEnum.Month:
 | 
						||
                                qty = 12;
 | 
						||
                                break;
 | 
						||
                            case BSPLANCHECKFREQUENCYEnum.Quarter:
 | 
						||
                                qty = 4;
 | 
						||
                                break;
 | 
						||
                            case BSPLANCHECKFREQUENCYEnum.HalfYear:
 | 
						||
                                qty = 2;
 | 
						||
                                break;
 | 
						||
                            case BSPLANCHECKFREQUENCYEnum.Year:
 | 
						||
                                qty = 1;
 | 
						||
                                break;
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    var auto27 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("对识别的、可能造成严重健康风险的危害进行监测的比例:") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var rate2 = (decimal)0;
 | 
						||
                    if (qty != 0)
 | 
						||
                    {
 | 
						||
                        rate2 = Math.Round((decimal)hazardMonitor2 / qty, 2);
 | 
						||
                    }
 | 
						||
                    if (auto27 != null)
 | 
						||
                    {
 | 
						||
                        auto27.RESULT_SCORE = rate2 >= 60 ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto27);
 | 
						||
                    }
 | 
						||
                 
 | 
						||
                    var riskRecordDetail = this.GetCount<T_HM_RISK_RECORD_DETAIL>(t => t.Nav_Identifying!=null && t.Nav_Identifying.NAME == "作业环境" && t.Nav_Type!=null && t.Nav_Type.NAME == "淹没" && t.Nav_OperationStep!=null 
 | 
						||
                    && (t.Nav_OperationStep.NAME.Contains("河")|| t.Nav_OperationStep.NAME.Contains("湖") || t.Nav_OperationStep.NAME.Contains("江") || t.Nav_OperationStep.NAME.Contains("雨")
 | 
						||
                    || t.Nav_OperationStep.NAME.Contains("雪") || t.Nav_OperationStep.NAME.Contains("溶洞")), new BaseFilter(filter.OrgId));
 | 
						||
                    var auto28 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在水灾风险评价时,是否考虑了下列水源:地下水;地表水;降雨及融雪?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto28 != null)
 | 
						||
                    {
 | 
						||
                        auto28.RESULT_SCORE = riskRecordDetail == 0 ? "0" : (0.5* riskRecordDetail).ToString();
 | 
						||
                        autoDetails.Add(auto28);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var riskRecordDetail2 = this.GetCount<T_HM_RISK_RECORD_DETAIL>(t => t.Nav_Identifying != null && t.Nav_Identifying.NAME == "作业环境" && t.Nav_Type != null && t.Nav_Type.NAME == "坍塌" && t.Nav_OperationStep != null
 | 
						||
                   && (t.Nav_OperationStep.NAME.Contains("岩性") || t.Nav_OperationStep.NAME.Contains("结构") || t.Nav_OperationStep.NAME.Contains("雨") || t.Nav_OperationStep.NAME.Contains("支护")
 | 
						||
                   || t.Nav_OperationStep.NAME.Contains("爆破")), new BaseFilter(filter.OrgId));
 | 
						||
                    var auto29 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在滑坡、泥石流风险评价时,是否考虑了下列可能的致因因素:矿岩性质;结构面与软岩夹层;水文地质条件与雨水冲刷;支护与加固;爆破震动等?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto29 != null)
 | 
						||
                    {
 | 
						||
                        auto29.RESULT_SCORE = riskRecordDetail2 == 0 ? "0" : riskRecordDetail2.ToString();
 | 
						||
                        autoDetails.Add(auto29);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var riskRecordDetail3 = this.GetCount<T_HM_RISK_RECORD_DETAIL>(t => t.Nav_Identifying != null && t.Nav_Identifying.NAME == "设备设施" && t.Nav_Type != null && t.Nav_Type.NAME == "机械伤害" && t.Nav_OperationStep != null
 | 
						||
                   && (t.Nav_OperationStep.NAME.Contains("穿孔机械") || t.Nav_OperationStep.NAME.Contains("铲装机械") || t.Nav_OperationStep.NAME.Contains("运输机械") || t.Nav_OperationStep.NAME.Contains("排土机械")
 | 
						||
                   || t.Nav_OperationStep.NAME.Contains("破碎机械") || t.Nav_OperationStep.NAME.Contains("排水机械") || t.Nav_OperationStep.NAME.Contains("压风机械") || t.Nav_OperationStep.NAME.Contains("支护机械")), new BaseFilter(filter.OrgId));
 | 
						||
                    var auto30 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在机械伤害风险评价时,是否考虑了下列方面:穿孔机械;铲装机械;运输机械;排土机械;破碎机械;排水机械;压风机械;支护机械?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto30 != null)
 | 
						||
                    {
 | 
						||
                        auto30.RESULT_SCORE = riskRecordDetail3 == 0 ? "0" : (0.5 * riskRecordDetail3).ToString();
 | 
						||
                        autoDetails.Add(auto30);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var riskRecordDetail4 = this.GetCount<T_HM_RISK_RECORD_DETAIL>(t =>t.Nav_Type != null && (t.Nav_Type.NAME.Contains("火药爆炸")|| t.Nav_Type.NAME.Contains("锅炉爆炸")|| t.Nav_Type.NAME.Contains("其它爆炸")), new BaseFilter(filter.OrgId));
 | 
						||
                    var auto31 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在意外爆炸风险评价时,是否考虑了下列方面:燃料油;爆破器材;锅炉?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto31 != null)
 | 
						||
                    {
 | 
						||
                        auto31.RESULT_SCORE = riskRecordDetail4 == 0 ? "0" : riskRecordDetail4.ToString();
 | 
						||
                        autoDetails.Add(auto31);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto32 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("周边环境、重要设施及重要场所潜在风险识别与评价的有效性:周边环境可能的影响因素均已识别与评价,如滑坡、泥石流、洪水、其他矿山爆破等;可能的重大危险源均已识别与评价,如排土场、爆破器材库、油库、锅炉房等;相关风险识别与评价的信息更新及时?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto32 != null)
 | 
						||
                    {
 | 
						||
                        auto32.RESULT_SCORE = riskTask4 == null ? "0" : "6";
 | 
						||
                        autoDetails.Add(auto32);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var hazardRecord = this.GetEntity<T_HM_HAZARD_RECORD>(t => true);
 | 
						||
                    var auto33 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("职业危害风险识别与评价的有效性: 列出了职业危害因素清单;确定了暴露于职业危害的员工人数、暴露时间及相关风险;提出了职业危害的风险控制措施?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto33 != null)
 | 
						||
                    {
 | 
						||
                        auto33.RESULT_SCORE = hazardRecord == null ? "0" : "6";
 | 
						||
                        autoDetails.Add(auto33);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto34 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("危害因素的监测与测量效果:") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto34 != null)
 | 
						||
                    {
 | 
						||
                        auto34.RESULT_SCORE = hazardMonitor == 0 ? "0" : "6";
 | 
						||
                        autoDetails.Add(auto34);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var accidentEvent = this.GetEntity<T_AE_ACCIDENT_EVENT_SURVEY_REASON_TYPE>(t => t.Nav_ReasonType!=null && t.Nav_ReasonType.NAME.Contains("风险评价不充分"));
 | 
						||
                    var auto35 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否因风险评价不充分而导致企业发生事故或财产损失?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto35 != null)
 | 
						||
                    {
 | 
						||
                        auto35.RESULT_SCORE = accidentEvent == null ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto35);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var standard2 = standards.FirstOrDefault(t => t.NAME.Contains("关键任务识别与分析制度"));
 | 
						||
                    var auto36 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立了关键任务识别与分析制度?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto36 != null)
 | 
						||
                    {
 | 
						||
                        auto36.RESULT_SCORE = standard2 == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto36);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var standard3 = standards.FirstOrDefault(t => t.NAME.Contains("任务观察制度"));
 | 
						||
                    var auto37 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立任务观察制度,确保在需要时对作业任务进行完整的或部分的观察?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto37 != null)
 | 
						||
                    {
 | 
						||
                        auto37.RESULT_SCORE = standard3 == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto37);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var standard4 = standards.FirstOrDefault(t => t.NAME.Contains("许可作业管理"));
 | 
						||
                    var auto38 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否有许可作业管理制度?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto38 != null)
 | 
						||
                    {
 | 
						||
                        auto38.RESULT_SCORE = standard4 == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto38);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var meeting2 = meetings.FirstOrDefault(t => t.NAME.Contains("作业指导书"));
 | 
						||
                    var auto39 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("编写的作业指导书是否符合下列要求:简明扼要;步骤清楚、完整;危险源辨识全面;关键步骤确定准确;安全措施齐全?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto39 != null)
 | 
						||
                    {
 | 
						||
                        auto39.RESULT_SCORE = meeting2 == null ? "0" : "10";
 | 
						||
                        autoDetails.Add(auto39);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var crucialTaskDetail=this.GetEntities<T_HM_CRUCIAL_TASK_DETAIL>(t => t.Nav_Files!=null,new BaseFilter(filter.OrgId)).Select(m=>m.CRUCIAL_TASK_ANALYSIS_ID).Distinct().Count();
 | 
						||
                    var licenseAnalysisDetail = this.GetEntities<T_HM_LICENSE_ANALYSIS_DETAIL>(t => t.Nav_Files != null, new BaseFilter(filter.OrgId)).Select(m => m.LICENSE_ANALYSIS_ID).Distinct().Count();
 | 
						||
                    var crucialTask = this.GetCount<T_HM_CRUCIAL_TASK_ANALYSIS>(t => true, new BaseFilter(filter.OrgId));
 | 
						||
                    var licenseAnalysis = this.GetCount<T_HM_LICENSE_ANALYSIS>(t => true, new BaseFilter(filter.OrgId));
 | 
						||
                    var resultScore40 = 0; var resultScore93 = 0;
 | 
						||
                    if (crucialTask + licenseAnalysis > 0)
 | 
						||
                    {
 | 
						||
                        var rate40 = Math.Round((decimal)(crucialTaskDetail + licenseAnalysisDetail) / (crucialTask + licenseAnalysis), 2);
 | 
						||
                        if (rate40 >= 60)
 | 
						||
                        {
 | 
						||
                            resultScore40 = 2;
 | 
						||
                            resultScore93 = 3;
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    var auto40 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否已依据风险分析结果编制关键任务作业指导书?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto40 != null)
 | 
						||
                    {
 | 
						||
                        auto40.RESULT_SCORE = resultScore40.ToString();
 | 
						||
                        autoDetails.Add(auto40);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var trainNotify = this.GetEntity<T_SE_TRAIN_NOTIFY>(t => t.NAME.Contains("关键许可作业活动记录培训通知") && t.Nav_TrainType != null && t.Nav_TrainType.NAME == "日常培训");
 | 
						||
                    var auto41 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否就关键任务作业指导书对相关作业人员进行培训?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto41 != null)
 | 
						||
                    {
 | 
						||
                        auto41.RESULT_SCORE = trainNotify != null ? "2":"0";
 | 
						||
                        autoDetails.Add(auto41);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var shiftMeeting = this.GetEntity<T_FO_PRE_SHIFT_MEETING_RECORD>(t =>!string.IsNullOrEmpty(t.JOB_CONTENT) && !string.IsNullOrEmpty(t.PROTECT_MEASURE));
 | 
						||
                    var auto42 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("作业前或班组安全例会是否讨论作业指导书?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto42 != null)
 | 
						||
                    {
 | 
						||
                        auto42.RESULT_SCORE = shiftMeeting != null ? "2" : "0";
 | 
						||
                        autoDetails.Add(auto42);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var jobIdentify = this.GetEntity<T_HM_JOBTASK_IDENTIFY>(t => true);
 | 
						||
                    var auto43 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否认定了需要许可的作业范围?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto43 != null)
 | 
						||
                    {
 | 
						||
                        auto43.RESULT_SCORE = jobIdentify != null ? "2" : "0";
 | 
						||
                        autoDetails.Add(auto43);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var filePublish = this.GetEntity<T_HM_FILE_PUBLISH>(t => t.NAME.Contains("许可作业清单"));
 | 
						||
                    var auto44 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否将认定的需要许可的范围清单发放给受影响部门?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto44 != null)
 | 
						||
                    {
 | 
						||
                        auto44.RESULT_SCORE = filePublish != null ? "2" : "0";
 | 
						||
                        autoDetails.Add(auto44);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto45 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否按计划执行了任务观察?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto45 != null)
 | 
						||
                    {
 | 
						||
                        auto45.RESULT_SCORE = jobActivity != 0 ? "2" : "0";
 | 
						||
                        autoDetails.Add(auto45);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto46 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否针对观察发现的问题提出有针对性的改正意见?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto46 != null)
 | 
						||
                    {
 | 
						||
                        auto46.RESULT_SCORE = jobActivity != 0 ? "2" : "0";
 | 
						||
                        autoDetails.Add(auto46);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var approveReward = this.GetEntity<T_OG_APPROVE_REWARD_PUNISHMENT_REPORT>(t => t.TYPE == OGRewardPunishmentType.奖励 && t.Nav_Reason!=null &&(t.Nav_Reason.NAME.Contains("作业行为规范") || t.Nav_Reason.NAME.Contains("事故防范措施到位")));
 | 
						||
                    var auto47 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("任务观察时是否对好的行为给予赞誉与强化?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto47 != null)
 | 
						||
                    {
 | 
						||
                        auto47.RESULT_SCORE = approveReward != null ? "2" : "0";
 | 
						||
                        autoDetails.Add(auto47);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto48 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("关键任务有作业指导书的比例:") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto48 != null)
 | 
						||
                    {
 | 
						||
                        auto48.RESULT_SCORE = trainNotify != null ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto48);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto49 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("作业指导书是否明确:主要作业内容;作业过程可能的危险有害因素作业程序;作业过程的安全注意事项;紧急情况下的现场应急处置措施?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto49 != null)
 | 
						||
                    {
 | 
						||
                        auto49.RESULT_SCORE = meeting2 == null ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto49);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto50 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("执行关键任务的人员接受作业指导书培训的比例:") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto50 != null)
 | 
						||
                    {
 | 
						||
                        auto50.RESULT_SCORE = trainNotify != null ? "4" : "0";
 | 
						||
                        autoDetails.Add(auto50);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto51 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("所有执行观察的人员接受培训的比例:") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto51 != null)
 | 
						||
                    {
 | 
						||
                        auto51.RESULT_SCORE = trainNotify != null ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto51);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto52 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("针对观察发现的问题提出有针对性的改正意见的比例:") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto52 != null)
 | 
						||
                    {
 | 
						||
                        auto52.RESULT_SCORE = jobActivity != 0 ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto52);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto53 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("许可作业前是否做到:作业风险已识别; 已办理作业许可证;参与作业的人员已讨论作业风险及其控制措施?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto53 != null)
 | 
						||
                    {
 | 
						||
                        auto53.RESULT_SCORE = jobActivity != 0 ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto53);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto54 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("许可作业前是否做到:作业风险已识别; 已办理作业许可证;参与作业的人员已讨论作业风险及其控制措施?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto54 != null)
 | 
						||
                    {
 | 
						||
                        auto54.RESULT_SCORE = jobActivity != 0 ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto54);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto55 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("任务观察的有效性:在观察的同时辨识危险源和评估风险;及时指出观察中发现的可能导致损失的行为;了解员工的工作习惯;检查现有的工作方法与制度;跟踪当前培训效果?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto55 != null)
 | 
						||
                    {
 | 
						||
                        auto55.RESULT_SCORE = jobActivity != 0 ? "10" : "0";
 | 
						||
                        autoDetails.Add(auto55);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var job = this.GetCount<T_FO_CRUCIAL_LICENSE_JOB>(t => t.IS_PUBLISH == 5,new BaseFilter(filter.OrgId));
 | 
						||
                    var preOper = this.GetCount<T_FO_PRE_OPER_SCH>(t => t.FORM_STATUS == 2, new BaseFilter(filter.OrgId));
 | 
						||
                    var techForm = this.GetCount<T_FO_TECH_DISCLOSURE_FROM>(t => t.FORM_STATUS == 2, new BaseFilter(filter.OrgId));
 | 
						||
                    var meeting3 = meetings.FirstOrDefault(t => t.NAME.Contains("许可作业"));
 | 
						||
                    var auto56 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("工作许可的有效性:许可作业的范围认定准确;作业风险识别正确、全面;许可审批程序明确、执行严格;作业前的检查确认充分;许可作业的现场应急处置措施具体、可行;许可作业范围的评审、更新及时;作业前的技术交底充分;作业前参与作业的人员对作业方案进行充分讨论,必要时,予以补充完善?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    var resultScore56 = 0;
 | 
						||
                    if (jobIdentify != null)
 | 
						||
                    {
 | 
						||
                        resultScore56 = resultScore56 + 1;
 | 
						||
                    }
 | 
						||
                    if (jobActivity != 0)
 | 
						||
                    {
 | 
						||
                        resultScore56 = resultScore56 + 1;
 | 
						||
                    }
 | 
						||
                    if (licenseAnalysis != 0)
 | 
						||
                    {
 | 
						||
                        resultScore56 = resultScore56 + 1;
 | 
						||
                    }
 | 
						||
                    if (job != 0)
 | 
						||
                    {
 | 
						||
                        resultScore56 = resultScore56 + 2;
 | 
						||
                    }
 | 
						||
                    if (preOper != 0)
 | 
						||
                    {
 | 
						||
                        resultScore56 = resultScore56 + 1;
 | 
						||
                    }
 | 
						||
                    if (techForm != 0)
 | 
						||
                    {
 | 
						||
                        resultScore56 = resultScore56 + 1;
 | 
						||
                    }
 | 
						||
                    if (meeting3 != null)
 | 
						||
                    {
 | 
						||
                        resultScore56 = resultScore56 + 1;
 | 
						||
                    }
 | 
						||
                    if (auto56 != null)
 | 
						||
                    {
 | 
						||
                        auto56.RESULT_SCORE = resultScore56.ToString();
 | 
						||
                        autoDetails.Add(auto56);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var accidentEvent2 = this.GetEntity<T_AE_ACCIDENT_EVENT_SURVEY_REASON_TYPE>(t => t.Nav_ReasonType != null && (t.Nav_ReasonType.NAME.Contains("业指导书内容不全面")|| t.Nav_ReasonType.NAME.Contains("缺乏实际指导意义")));
 | 
						||
                    var auto57 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否因作业指导书的原因导致事件、事故的发生?") && t.PRODUCTION_UNIT == "露天矿");
 | 
						||
                    if (auto57 != null)
 | 
						||
                    {
 | 
						||
                        auto57.RESULT_SCORE = accidentEvent2 != null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto57);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    #endregion
 | 
						||
                    #region 选矿厂
 | 
						||
                    var auto58 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立了危险源辨识与风险评价的管理制度?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto58 != null)
 | 
						||
                    {
 | 
						||
                        auto58.RESULT_SCORE = standard == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto58);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto59 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("制度是否明确风险评价的方法、流程及风险层次控制原则?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto59 != null)
 | 
						||
                    {
 | 
						||
                        auto59.RESULT_SCORE = meeting == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto59);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto60 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("制度是否明确了持续风险评价的要求?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto60 != null)
 | 
						||
                    {
 | 
						||
                        auto60.RESULT_SCORE = meeting == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto60);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto61 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否进行危险源辨识与风险评价,并确定重大危险源?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto61 != null)
 | 
						||
                    {
 | 
						||
                        auto61.RESULT_SCORE = evaluationPlan == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto61);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto62 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否已通过初始及持续的风险评价,对风险评价实施动态管理?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto62 != null)
 | 
						||
                    {
 | 
						||
                        auto62.RESULT_SCORE = riskTask4 == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto62);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var auto63 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否定期或及时对危险源辨识与风险评价进行回顾?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto63 != null)
 | 
						||
                    {
 | 
						||
                        auto63.RESULT_SCORE = meeting == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto63);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var auto64 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("风险评价的结果是否文件化?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto64 != null)
 | 
						||
                    {
 | 
						||
                        auto64.RESULT_SCORE = evaluationPlan == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto64);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var auto65 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("危险源辨识与风险评价的范围是否涵盖所有的过程、活动、场所及周边环境:") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto65 != null)
 | 
						||
                    {
 | 
						||
                        auto65.RESULT_SCORE = rate >= 60 ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto65);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto66 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否认定并评估工作或活动的次生风险?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto66 != null)
 | 
						||
                    {
 | 
						||
                        auto66.RESULT_SCORE = riskTask2 != null ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto66);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto67 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否考虑了正常和非正常的情况以及潜在的事故和紧急情况?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto67 != null)
 | 
						||
                    {
 | 
						||
                        auto67.RESULT_SCORE = riskTask3 != null ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto67);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto68 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("风险评价时是否要求考虑内部和外部的变化?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto68 != null)
 | 
						||
                    {
 | 
						||
                        auto68.RESULT_SCORE = evaluateResult != null ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto68);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto69 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("危险源辨识与风险评价制度规定的职责是否明确?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto69 != null)
 | 
						||
                    {
 | 
						||
                        auto69.RESULT_SCORE = meeting == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto69);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto70 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("制度规定的风险评价流程是否清楚?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto70 != null)
 | 
						||
                    {
 | 
						||
                        auto70.RESULT_SCORE = meeting == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto70);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto71 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("风险评价方法是否合理?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto71 != null)
 | 
						||
                    {
 | 
						||
                        auto71.RESULT_SCORE = meeting == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto71);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto72 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("风险控制措施是否包括:工程控制措施;管理控制措施;个体防护措施?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto72 != null)
 | 
						||
                    {
 | 
						||
                        auto72.RESULT_SCORE = (2 * resultScore16).ToString();
 | 
						||
                        autoDetails.Add(auto72);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto73 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否采用下列方式开展持续风险识别与评价:使用前检查;计划任务观察;设备检查;班前安全检查确认;定期安全检查;定期检修;安全生产标准化系统评价;班组危险预知活动?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto73 != null)
 | 
						||
                    {
 | 
						||
                        auto73.RESULT_SCORE = (2 * resultScore17).ToString();
 | 
						||
                        autoDetails.Add(auto73);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var evalationIdentify3 = evalationIdentify >= 6 ? 5 : evalationIdentify;
 | 
						||
                    var auto74 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否制定了下列风险评价的计划:矿石运输和周边环境风险评价;生产工艺和关键设备设施风险评价;重要场所风险评价;职业卫生风险评价;自然灾害风险评价?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto74 != null)
 | 
						||
                    {
 | 
						||
                        auto74.RESULT_SCORE = evalationIdentify3 == 0 ? "0" : (2 * evalationIdentify3).ToString();
 | 
						||
                        autoDetails.Add(auto74);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto75 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否针对下列方面开展了风险评价:矿石运输和周边环境;生产工艺和关键设备设施;重要场所;职业卫生;自然灾害?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto75 != null)
 | 
						||
                    {
 | 
						||
                        auto75.RESULT_SCORE = evalationIdentify3 == 0 ? "0" : evalationIdentify3.ToString();
 | 
						||
                        autoDetails.Add(auto75);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var resultScore18 = resultScore16 >= 4 ? 3 : resultScore16;
 | 
						||
                    var auto76 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否根据风险评价结果制定了针对性的风险控制措施?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto76 != null)
 | 
						||
                    {
 | 
						||
                        auto76.RESULT_SCORE = resultScore18.ToString();
 | 
						||
                        autoDetails.Add(auto76);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto77 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否已识别和评价下列职业危害及其影响:粉尘;高温与低温;振动与噪声;辐射;毒物;照度;生物危害;其他?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto77 != null)
 | 
						||
                    {
 | 
						||
                        auto77.RESULT_SCORE = hazardTask == 0 ? "0" : (0.5 * hazardTask).ToString();
 | 
						||
                        autoDetails.Add(auto77);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto78 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否对已识别的、可能造成严重风险的职业危害进行了监测?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto78 != null)
 | 
						||
                    {
 | 
						||
                        auto78.RESULT_SCORE = hazardMonitor == 0 ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto78);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var evalationIdentify5 = this.GetCount<T_HM_EVALUATION_DETAIL_IDENTIFYING>(t => t.Nav_Identifying != null && (t.Nav_Identifying.NAME == "机械伤害" || t.Nav_Identifying.NAME == "起重伤害" || t.Nav_Identifying.NAME == "高处坠落" || t.Nav_Identifying.NAME == "物体打击" || t.Nav_Identifying.NAME == "触电" || t.Nav_Identifying.NAME == "油品、危险化学品泄漏" || t.Nav_Identifying.NAME == "爆炸与火灾" || t.Nav_Identifying.NAME == "中毒"), new BaseFilter(filter.OrgId));
 | 
						||
                    var auto79 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否已识别和评价下列灾害及其影响:机械伤害;起重伤害;高处坠落;物体打击;触电;爆炸与火灾;油品、危险化学品泄漏;中毒?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto79 != null)
 | 
						||
                    {
 | 
						||
                        auto79.RESULT_SCORE = evalationIdentify5 == 0 ? "0" : (0.5 * evalationIdentify5).ToString();
 | 
						||
                        autoDetails.Add(auto79);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto80 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("初始风险评价结果是否已文件化?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto80 != null)
 | 
						||
                    {
 | 
						||
                        auto80.RESULT_SCORE = evaluationPlan == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto80);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto81 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在对周边环境进行风险评价时,是否考虑了自然灾害及外部机构的影响?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto81 != null)
 | 
						||
                    {
 | 
						||
                        auto81.RESULT_SCORE = riskRecordDeatil == 0 ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto81);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto82 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在对关键设备进行风险评价时,是否考虑了设备与工艺参数的匹配问题?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto82 != null)
 | 
						||
                    {
 | 
						||
                        auto82.RESULT_SCORE = detailWorkduty == 0 ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto82);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var riskRecordDetail5 = this.GetCount<T_HM_RISK_RECORD_DETAIL>(t => t.Nav_Identifying != null && t.Nav_Identifying.NAME == "设备设施" && t.Nav_Type != null && t.Nav_Type.NAME == "机械伤害" && t.Nav_OperationStep != null
 | 
						||
                  && (t.Nav_OperationStep.NAME.Contains("碎矿设备") || t.Nav_OperationStep.NAME.Contains("磨矿设备") || t.Nav_OperationStep.NAME.Contains("筛分设备") || t.Nav_OperationStep.NAME.Contains("选别设备")
 | 
						||
                  || t.Nav_OperationStep.NAME.Contains("带式输送机")), new BaseFilter(filter.OrgId));
 | 
						||
                    var auto83 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在机械伤害风险评价时,是否考虑了下列方面:碎矿设备;磨矿设备;筛分设备;选别设备;带式输送机?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto83 != null)
 | 
						||
                    {
 | 
						||
                        auto83.RESULT_SCORE = riskRecordDetail5 == 0 ? "0" :  riskRecordDetail5.ToString();
 | 
						||
                        autoDetails.Add(auto83);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto84 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("在进行风险评价时,是否考虑了人的不安全行为?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto84 != null)
 | 
						||
                    {
 | 
						||
                        auto84.RESULT_SCORE = "0";
 | 
						||
                        autoDetails.Add(auto84);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto85 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("对识别的、可能造成严重健康风险的危害进行监测的比例:") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    var resultScore85 = 0;
 | 
						||
                    if (rate2 >= 90)
 | 
						||
                    {
 | 
						||
                        resultScore85 = 4;
 | 
						||
                    }
 | 
						||
                    if (rate2 >= 75 && rate2 < 90)
 | 
						||
                    {
 | 
						||
                        resultScore85 = 2;
 | 
						||
                    }
 | 
						||
                    if (rate2 >= 60 && rate2 < 75)
 | 
						||
                    {
 | 
						||
                        resultScore85 = 1;
 | 
						||
                    }
 | 
						||
                    if (auto85 != null)
 | 
						||
                    {
 | 
						||
                        auto85.RESULT_SCORE = resultScore85.ToString();
 | 
						||
                        autoDetails.Add(auto85);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto86 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("周边环境、重要设施及重要场所潜在风险识别与评价的有效性:周边环境可能的影响因素均已识别与评价,如滑坡、泥石流、洪水等;可能的重大危险源均已识别与评价,如油库、锅炉房、选矿药剂等;相关风险识别与评价的信息更新及时?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto86 != null)
 | 
						||
                    {
 | 
						||
                        auto86.RESULT_SCORE = riskTask4 == null ? "0" : "6";
 | 
						||
                        autoDetails.Add(auto86);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto87 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("职业危害风险识别与评价的有效性:列出了职业危害因素清单;确定了暴露于职业危害的员工人数、暴露时间及相关风险;提出了职业危害的风险控制措施?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto87 != null)
 | 
						||
                    {
 | 
						||
                        auto87.RESULT_SCORE = riskTask4 == null ? "0" : "6";
 | 
						||
                        autoDetails.Add(auto87);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto88 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("危害因素的监测与测量效果:") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto88 != null)
 | 
						||
                    {
 | 
						||
                        auto88.RESULT_SCORE = hazardMonitor == 0 ? "0" : "6";
 | 
						||
                        autoDetails.Add(auto88);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto89 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否因风险评价不充分而导致企业发生事故或财产损失?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto89 != null)
 | 
						||
                    {
 | 
						||
                        auto89.RESULT_SCORE = accidentEvent == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto89);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto90 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立了关键任务识别与分析制度?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto90 != null)
 | 
						||
                    {
 | 
						||
                        auto90.RESULT_SCORE = standard2 == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto90);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto91 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立任务观察制度,确保在需要时对作业任务进行完整的或部分的观察?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto91 != null)
 | 
						||
                    {
 | 
						||
                        auto91.RESULT_SCORE = standard3 == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto91);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto92 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否有许可作业管理制度?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto92 != null)
 | 
						||
                    {
 | 
						||
                        auto92.RESULT_SCORE = standard4 == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto92);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto93 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否已依据风险分析结果编制关键任务作业指导书?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto93 != null)
 | 
						||
                    {
 | 
						||
                        auto93.RESULT_SCORE = resultScore93.ToString();
 | 
						||
                        autoDetails.Add(auto93);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto94 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否就关键任务作业指导书对相关作业人员进行培训?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto94 != null)
 | 
						||
                    {
 | 
						||
                        auto94.RESULT_SCORE = trainNotify != null ? "4" : "0";
 | 
						||
                        autoDetails.Add(auto94);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto95 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("作业前或班组安全例会是否讨论作业指导书?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto95 != null)
 | 
						||
                    {
 | 
						||
                        auto95.RESULT_SCORE = shiftMeeting != null ? "4" : "0";
 | 
						||
                        autoDetails.Add(auto95);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto96 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否认定了需要许可的作业范围?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto96 != null)
 | 
						||
                    {
 | 
						||
                        auto96.RESULT_SCORE = jobIdentify != null ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto96);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto97 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否将认定的需要许可的范围清单发放给受影响部门?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto97 != null)
 | 
						||
                    {
 | 
						||
                        auto97.RESULT_SCORE = filePublish != null ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto97);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto98 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("关键任务有作业指导书的比例:") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto98 != null)
 | 
						||
                    {
 | 
						||
                        auto98.RESULT_SCORE = trainNotify != null ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto98);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto99 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("作业指导书是否明确:主要作业内容;作业过程可能的危险有害因素;作业程序和作业过程注意事项;紧急情况下的现场应急处置措施?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto99 != null)
 | 
						||
                    {
 | 
						||
                        auto99.RESULT_SCORE = meeting2 == null ? "0" : "12";
 | 
						||
                        autoDetails.Add(auto99);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto100 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("执行关键任务的人员接受作业指导书培训的比例:") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto100 != null)
 | 
						||
                    {
 | 
						||
                        auto100.RESULT_SCORE = trainNotify != null ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto100);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto101 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("许可作业前是否做到:作业风险已识别;已办理作业许可证;参与作业的人员已讨论作业风险及其控制措施?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto101 != null)
 | 
						||
                    {
 | 
						||
                        auto101.RESULT_SCORE = jobActivity != 0 ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto101);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto102 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("编写的作业指导书是否符合下列要求:步骤清楚、完整;危险源辨识全面;安全措施齐全?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto102 != null)
 | 
						||
                    {
 | 
						||
                        auto102.RESULT_SCORE = meeting2 == null ? "0" : "9";
 | 
						||
                        autoDetails.Add(auto102);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto103 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("任务观察的有效性:在观察的同时辨识危险源和评估风险;及时指出观察中发现的可能导致损失的行为;了解员工的工作习惯;检查现有的工作方法与制度;跟踪当前培训效果?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto103 != null)
 | 
						||
                    {
 | 
						||
                        auto103.RESULT_SCORE = jobActivity != 0 ? "10" : "0";
 | 
						||
                        autoDetails.Add(auto103);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto104 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("工作许可的有效性:许可作业的范围认定准确;作业风险识别正确、全面;许可审批程序明确、执行严格;作业前的检查确认充分;许可作业的现场应急处置措施具体、可行;许可作业范围的评审、更新及时;作业前的技术交底充分;作业前参与作业的人员对作业方案进行充分讨论,必要时,予以补充完善?") && t.PRODUCTION_UNIT == "选矿厂");
 | 
						||
                    if (auto104 != null)
 | 
						||
                    {
 | 
						||
                        auto104.RESULT_SCORE = (2 * resultScore56).ToString();
 | 
						||
                        autoDetails.Add(auto104);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    #endregion
 | 
						||
                    #region 尾矿库
 | 
						||
                    var auto105 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立了危险源辨识与风险评价的管理制度?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto105 != null)
 | 
						||
                    {
 | 
						||
                        auto105.RESULT_SCORE = standard == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto105);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto106 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("制度是否明确风险评价的方法、流程及风险层次控制原则?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto106 != null)
 | 
						||
                    {
 | 
						||
                        auto106.RESULT_SCORE = meeting == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto106);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto107 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("制度是否明确了持续风险评价的要求?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto107 != null)
 | 
						||
                    {
 | 
						||
                        auto107.RESULT_SCORE = meeting == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto107);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto108 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否进行危险源辨识与风险评价,并确定重大危险源?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto108 != null)
 | 
						||
                    {
 | 
						||
                        auto108.RESULT_SCORE = evaluationPlan == null ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto108);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto109 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否已通过初始及持续的风险评价,对风险评价实施动态管理?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto109 != null)
 | 
						||
                    {
 | 
						||
                        auto109.RESULT_SCORE = riskTask4 == null ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto109);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto110 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否定期或及时对危险源辨识与风险评价进行回顾?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto110 != null)
 | 
						||
                    {
 | 
						||
                        auto110.RESULT_SCORE = meeting == null ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto110);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto111 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("风险评价的结果是否文件化?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto111 != null)
 | 
						||
                    {
 | 
						||
                        auto111.RESULT_SCORE = evaluationPlan == null ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto111);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto112 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("危险源辨识与风险评价的范围是否涵盖所有的过程、活动、场所及周边环境?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto112 != null)
 | 
						||
                    {
 | 
						||
                        auto112.RESULT_SCORE = rate >= 60 ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto112);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto113 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("危险源辨识与风险评价过程是否考虑了相关方的活动?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto113 != null)
 | 
						||
                    {
 | 
						||
                        auto113.RESULT_SCORE = riskTask != null ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto113);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto114 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否认定并评估工作或活动的次生风险?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto114 != null)
 | 
						||
                    {
 | 
						||
                        auto114.RESULT_SCORE = riskTask2 != null ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto114);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto115 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否考虑了正常和非正常的情况以及潜在的事故和紧急情况?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto115 != null)
 | 
						||
                    {
 | 
						||
                        auto115.RESULT_SCORE = riskTask3 != null ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto115);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto116 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("风险评价时是否要求考虑内部和外部的变化?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto116 != null)
 | 
						||
                    {
 | 
						||
                        auto116.RESULT_SCORE = evaluateResult != null ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto116);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto117 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("危险源辨识与风险评价制度规定的职责是否明确?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto117 != null)
 | 
						||
                    {
 | 
						||
                        auto117.RESULT_SCORE = meeting == null ? "0" : "8";
 | 
						||
                        autoDetails.Add(auto117);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto118 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("制度规定的风险评价流程是否清楚?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto118 != null)
 | 
						||
                    {
 | 
						||
                        auto118.RESULT_SCORE = meeting == null ? "0" : "6";
 | 
						||
                        autoDetails.Add(auto118);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto119 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("风险评价方法是否合理?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto119 != null)
 | 
						||
                    {
 | 
						||
                        auto119.RESULT_SCORE = meeting == null ? "0" : "6";
 | 
						||
                        autoDetails.Add(auto119);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto120 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("风险控制措施是否包括:工程控制措施;管理控制措施;个体防护措施?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto120 != null)
 | 
						||
                    {
 | 
						||
                        auto120.RESULT_SCORE = (4 * resultScore16).ToString();
 | 
						||
                        autoDetails.Add(auto120);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto121 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否采用下列方式开展持续风险识别与评价:使用前检查;任务观察;设备检查;班前安全检查确认;定期安全检查;定期检修;安全生产标准化系统评价;班组危险预知活动?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto121 != null)
 | 
						||
                    {
 | 
						||
                        auto121.RESULT_SCORE = resultScore17.ToString();
 | 
						||
                        autoDetails.Add(auto121);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto122 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否制定了尾矿库建设期风险评价计划?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto122 != null)
 | 
						||
                    {
 | 
						||
                        auto122.RESULT_SCORE = evaluationPlan == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto122);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto123 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否制定了尾矿库运行期风险评价计划?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto123 != null)
 | 
						||
                    {
 | 
						||
                        auto123.RESULT_SCORE = evaluationPlan == null ? "0" : "6";
 | 
						||
                        autoDetails.Add(auto123);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var riskTask5 = this.GetEntity<T_HM_RISK_TASK>(t => t.PLAN_ID == evaluationPlan.ID && t.STATUS == FOPreMeetingStatusEnum.归档);
 | 
						||
                    var auto124 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否进行了尾矿库建设期风险评价?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto124 != null)
 | 
						||
                    {
 | 
						||
                        auto124.RESULT_SCORE = riskTask5 == null ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto124);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto125 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否进行了尾矿库运行期风险评价?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto125 != null)
 | 
						||
                    {
 | 
						||
                        auto125.RESULT_SCORE = riskTask5 == null ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto125);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var evalationIdentify6 = this.GetCount<T_HM_EVALUATION_DETAIL_IDENTIFYING>(t => t.Nav_Identifying != null && (t.Nav_Identifying.NAME == "作业过程"), new BaseFilter(filter.OrgId));
 | 
						||
                    var auto126 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否已对生产流程进行了辨识,并建立了关键流程及其关键设备设施清单?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto126 != null)
 | 
						||
                    {
 | 
						||
                        auto126.RESULT_SCORE = evalationIdentify6 == 0 ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto126);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var evalationIdentify7 = this.GetCount<T_HM_EVALUATION_DETAIL_IDENTIFYING>(t => t.Nav_Identifying != null && (t.Nav_Identifying.NAME == "设备设施"), new BaseFilter(filter.OrgId));
 | 
						||
                    var auto127 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否对识别的关键流程及其关键设备设施进行风险评价,分析与之相关的安全及故障模型,并根据分析结果制定针对性措施?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto127 != null)
 | 
						||
                    {
 | 
						||
                        auto127.RESULT_SCORE = evalationIdentify7 == 0 ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto127);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto128 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("初始风险评价结果是否已文件化?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto128 != null)
 | 
						||
                    {
 | 
						||
                        auto128.RESULT_SCORE = evaluationPlan == null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto128);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto129 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否已分析所有与尾矿库运行关键流程相关的风险?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto129 != null)
 | 
						||
                    {
 | 
						||
                        auto129.RESULT_SCORE = evalationIdentify6 == 0 ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto129);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto130 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立了关键任务识别与分析制度?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto130 != null)
 | 
						||
                    {
 | 
						||
                        auto130.RESULT_SCORE = standard2 == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto130);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto131 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否建立任务观察制度,确保在需要时对作业任务进行完整的或部分的观察?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto131 != null)
 | 
						||
                    {
 | 
						||
                        auto131.RESULT_SCORE = standard3 == null ? "0" : "3";
 | 
						||
                        autoDetails.Add(auto131);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto132 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否有许可作业管理制度?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto132 != null)
 | 
						||
                    {
 | 
						||
                        auto132.RESULT_SCORE = standard4 == null ? "0" : "2";
 | 
						||
                        autoDetails.Add(auto132);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto133 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否已依据风险分析结果编制关键任务作业指导书?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto133 != null)
 | 
						||
                    {
 | 
						||
                        auto133.RESULT_SCORE = resultScore40.ToString();
 | 
						||
                        autoDetails.Add(auto133);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto134 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否就关键任务作业指导书对相关作业人员进行培训?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto134 != null)
 | 
						||
                    {
 | 
						||
                        auto134.RESULT_SCORE = trainNotify != null ? "2" : "0";
 | 
						||
                        autoDetails.Add(auto134);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto135 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("作业前或班组安全例会是否讨论作业指导书?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto135 != null)
 | 
						||
                    {
 | 
						||
                        auto135.RESULT_SCORE = shiftMeeting != null ? "2" : "0";
 | 
						||
                        autoDetails.Add(auto135);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto136 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否认定了需要许可的作业范围?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto136 != null)
 | 
						||
                    {
 | 
						||
                        auto136.RESULT_SCORE = jobIdentify != null ? "2" : "0";
 | 
						||
                        autoDetails.Add(auto136);
 | 
						||
                    }
 | 
						||
                    
 | 
						||
                    var auto137 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否将认定的需要许可的范围清单发放给受影响部门?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto137 != null)
 | 
						||
                    {
 | 
						||
                        auto137.RESULT_SCORE = filePublish != null ? "2" : "0";
 | 
						||
                        autoDetails.Add(auto137);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto138 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否按计划执行了任务观察?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto138 != null)
 | 
						||
                    {
 | 
						||
                        auto138.RESULT_SCORE = jobActivity != 0 ? "2" : "0";
 | 
						||
                        autoDetails.Add(auto138);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto139 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否针对观察发现的问题提出有针对性的改正意见?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto139 != null)
 | 
						||
                    {
 | 
						||
                        auto139.RESULT_SCORE = jobActivity != 0 ? "2" : "0";
 | 
						||
                        autoDetails.Add(auto139);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var auto140 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("任务观察时是否对好的行为给予赞誉与强化?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto140 != null)
 | 
						||
                    {
 | 
						||
                        auto140.RESULT_SCORE = approveReward != null ? "2" : "0";
 | 
						||
                        autoDetails.Add(auto140);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto141 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("关键任务有作业指导书的比例:") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto141 != null)
 | 
						||
                    {
 | 
						||
                        auto141.RESULT_SCORE = trainNotify != null ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto141);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto142 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("作业指导书是否明确:主要作业内容;作业过程可能的危险有害因素;作业程序;作业过程的安全注意事项;紧急情况下的现场应急处置措施?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto142 != null)
 | 
						||
                    {
 | 
						||
                        auto142.RESULT_SCORE = meeting2 == null ? "0" : "5";
 | 
						||
                        autoDetails.Add(auto142);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var auto143 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("执行关键任务的人员接受作业指导书培训的比例:") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto143 != null)
 | 
						||
                    {
 | 
						||
                        auto143.RESULT_SCORE = trainNotify != null ? "4" : "0";
 | 
						||
                        autoDetails.Add(auto143);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto144 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("所有执行观察的人员接受培训的比例:") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto144 != null)
 | 
						||
                    {
 | 
						||
                        auto144.RESULT_SCORE = trainNotify != null ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto144);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto145 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("针对观察发现的问题提出有针对性的改正意见的比例:") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto145 != null)
 | 
						||
                    {
 | 
						||
                        auto145.RESULT_SCORE = jobActivity != 0 ? "3" : "0";
 | 
						||
                        autoDetails.Add(auto145);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto146 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("许可作业前是否做到:作业风险已识别;已办理作业许可证;参与作业的人员已讨论作业风险及其控制措施?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto146 != null)
 | 
						||
                    {
 | 
						||
                        auto146.RESULT_SCORE = jobActivity != 0 ? "6" : "0";
 | 
						||
                        autoDetails.Add(auto146);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto147 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("编写的作业指导书是否符合下列要求:简明扼要;编写的作业指导书是否符合下列要求:步骤清楚、完整;危险源辨识全面;关键步骤确定准确;安全措施齐全?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto147 != null)
 | 
						||
                    {
 | 
						||
                        auto147.RESULT_SCORE = meeting2 == null ? "0" : "10";
 | 
						||
                        autoDetails.Add(auto147);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var auto148 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("任务观察的有效性:在观察的同时辨识危险源和评估风险;及时指出观察中发现的可能导致损失的行为;了解员工的工作习惯;检查现有的工作方法与制度;跟踪当前培训效果?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto148 != null)
 | 
						||
                    {
 | 
						||
                        auto148.RESULT_SCORE = jobActivity != 0 ? "10" : "0";
 | 
						||
                        autoDetails.Add(auto148);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    var auto149 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("工作许可的有效性:许可作业的范围认定准确;作业风险识别正确、全面;许可审批程序明确、执行严格;作业前的检查确认充分;许可作业的现场应急处置措施具体、可行;许可作业范围的评审、更新及时;作业前的技术交底充分;作业前参与作业的人员对作业方案进行充分讨论,必要时,予以补充完善?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto149 != null)
 | 
						||
                    {
 | 
						||
                        auto149.RESULT_SCORE = resultScore56.ToString();
 | 
						||
                        autoDetails.Add(auto149);
 | 
						||
                    }
 | 
						||
                  
 | 
						||
                    var auto150 = autoAll.FirstOrDefault(t => t.CONTENTS.Contains("是否因作业指导书的原因导致事件、事故的发生?") && t.PRODUCTION_UNIT == "尾矿库");
 | 
						||
                    if (auto150 != null)
 | 
						||
                    {
 | 
						||
                        auto150.RESULT_SCORE = accidentEvent2 != null ? "0" : "4";
 | 
						||
                        autoDetails.Add(auto150);
 | 
						||
                    }
 | 
						||
                   
 | 
						||
                    #endregion
 | 
						||
                    UnifiedCommit(() =>
 | 
						||
                    {
 | 
						||
                        if (autoDetails != null && autoDetails.Any())
 | 
						||
                            BantchSaveEntityNoCommit(autoDetails);
 | 
						||
                    });
 | 
						||
                }
 | 
						||
                catch (Exception ex)
 | 
						||
                {
 | 
						||
                    if (!string.IsNullOrEmpty(ex.StackTrace))
 | 
						||
                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
 | 
						||
                    else
 | 
						||
                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
 | 
						||
                }
 | 
						||
                return true;
 | 
						||
            });
 | 
						||
        }
 | 
						||
    }
 | 
						||
}
 |