1085 lines
		
	
	
		
			65 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			1085 lines
		
	
	
		
			65 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.SC.PE;
 | 
						|
using APT.MS.Domain.Entities.SC.PM;
 | 
						|
using APT.MS.Domain.Entities.SC.PT;
 | 
						|
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.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>(() =>
 | 
						|
            {
 | 
						|
                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, 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);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 触发安全绩效监测计划表
 | 
						|
        /// </summary>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("SafetyMonitorPlanSync")]
 | 
						|
        public JsonActionResult<bool> SafetyMonitorPlanSync([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute<bool>(() =>
 | 
						|
            {
 | 
						|
                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, 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);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 触发安全绩效监测记录表
 | 
						|
        /// </summary>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("SafetyMonitorRecordSync")]
 | 
						|
        public JsonActionResult<bool> SafetyMonitorRecordSync([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute<bool>(() =>
 | 
						|
            {
 | 
						|
                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, 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);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 触发安全评价计划讨论会(今日提醒)
 | 
						|
        /// </summary>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("SafetyEvaluationPlanSync")]
 | 
						|
        public JsonActionResult<bool> SafetyEvaluationPlanSync([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute<bool>(() =>
 | 
						|
            {
 | 
						|
                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);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 触发安全标准化内部评价记录表
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter"></param>
 | 
						|
        [HttpPost, Route("SafetyEvaluationRecordSync")]
 | 
						|
        public JsonActionResult<bool> SafetyEvaluationRecordSync([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute<bool>(() =>
 | 
						|
            {
 | 
						|
                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.否, 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);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 同步考评项目导入子表到考评类目评分子表
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter"></param>
 | 
						|
        [HttpPost, Route("StandardizedScoreSync")]
 | 
						|
        public JsonActionResult<bool> StandardizedScoreSync([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute<bool>(() =>
 | 
						|
            {
 | 
						|
                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);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 触发安全标准化内部评价记录表
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter"></param>
 | 
						|
        [HttpPost, Route("SafetyEvaluationRecordNewSync")]
 | 
						|
        public JsonActionResult<bool> SafetyEvaluationRecordNewSync([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute<bool>(() =>
 | 
						|
            {
 | 
						|
                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.否, 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);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 触发安全标准化内部评价计划表
 | 
						|
        /// </summary>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("SafetyEvaluationRecordPlanSync")]
 | 
						|
        public JsonActionResult<bool> SafetyEvaluationRecordPlanSync([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute<bool>(() =>
 | 
						|
            {
 | 
						|
                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, 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);
 | 
						|
                });
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |