From 436a10da68bed298b8eaa733d98eebded0bb8c21 Mon Sep 17 00:00:00 2001
From: wyw <571921741@qq.com>
Date: Tue, 16 Apr 2024 10:24:04 +0800
Subject: [PATCH] =?UTF-8?q?=E8=B7=91=E6=89=B9=E4=B8=AD=E4=BC=9A=E8=AE=AE?=
 =?UTF-8?q?=E5=AF=B9=E6=8E=A5=20=20SPS=20=E7=A7=BB=E6=A4=8D=E5=88=B0=20SMS?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
 .../Controllers/Api/SCController.cs           | 1462 +++++++++++++++--
 1 file changed, 1337 insertions(+), 125 deletions(-)
diff --git a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SCController.cs b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SCController.cs
index bd58e68..a4888df 100644
--- a/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SCController.cs
+++ b/APT.MicroApi/APT.PP.WebApi/Controllers/Api/SCController.cs
@@ -737,6 +737,186 @@ namespace APT.PP.WebApi.Controllers.Api.PP
             });
         }
 
+        ///// 
+        ///// 会议结束 链接到别的模块
+        ///// 
+        ///// 
+        ///// 
+        //[HttpPost, Route("MeetingEndToOther")]
+        //public JsonActionResult MeetingEndToOther([FromBody] KeywordFilter filter)
+        //{
+        //    return SafeExecute(() =>
+        //    {
+        //        DateTime dtNow = DateTime.Now;
+        //        if (!string.IsNullOrEmpty(filter.Parameter1))
+        //        {
+        //            try
+        //            {
+        //                //接收来自页面的参数
+        //                DateTime deParm = Convert.ToDateTime(filter.Parameter1);
+        //                dtNow = deParm;
+        //            }
+        //            catch { }
+        //        }
+
+        //        var listMtEnd = GetEntities(e => !e.IS_DELETED && !e.ISEND && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Date <= dtNow.Date, null, null);
+        //        if (listMtEnd == null && !listMtEnd.Any())
+        //        {
+        //            return true;
+        //        }
+
+        //        var listMTID = listMtEnd.Select(e => e.MEETING_ID);
+        //        var listMT = GetEntities(e => !e.IS_DELETED && listMTID.Contains(e.ID), null, null);
+        //        if (listMT == null || !listMT.Any())
+        //        {
+        //            return true;
+        //        }
+
+        //        listMT = listMT.ToList();
+
+        //        List listTaskSend = null;//需要添加的所有待办
+        //        T_FM_USER userSafeMaster = null; //安环部负责人
+
+        //        T_FM_SYNC_TASK taskSync = null;
+        //        #region     各处理逻辑  代码块区分 不直接 return 因为有数据要处理
+
+        //        //数据挨个判断处理
+        //        listMtEnd.ForEach(e =>
+        //        {
+        //            e.RUN_COUNT++;
+        //            e.ISEND = true;
+        //            e.MODIFY_TIME = DateTime.Now;
+        //        });
+
+
+
+        //        #region     3、CM 潜在紧急事件讨论 
+
+        //        var listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToCM018);
+        //        if (listMTFA != null && listMTFA.Any())
+        //        {
+        //            var userIDs = listMTFA.Where(e => e.USER_ID_RECORDER.HasValue && !e.ISCANCEL && !e.IS_DELETED).Select(e => e.USER_ID_RECORDER.Value);
+        //            if (userIDs != null && userIDs.Any())
+        //            {
+        //                var listUser = GetEntities(e => userIDs.Contains(e.ID), null);
+        //                if (listTaskSend == null)
+        //                    listTaskSend = new List();
+        //                foreach (var item in listUser)
+        //                {
+        //                    listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("潜在紧急事件", Guid.Empty, filter.OrgId, item.ID, item.NAME, DateTime.Now, 0, "CM018", FMTASKTYPE.Default));
+        //                }
+        //            }
+        //        }
+
+        //        #endregion
+
+
+        //        #endregion
+
+        //        taskSync = GetEntity(filter.Keyword);//跑批待办
+        //        if (taskSync.SYNC_PARAM != null)
+        //        {
+        //            taskSync.SYNC_PARAM = "";
+        //        }
+        //        taskSync.TASK_END_TIME = DateTime.Now;
+        //        taskSync.UPDATE_SUCCES_TIME = DateTime.Now;
+
+        //        this.UnifiedCommit(() =>
+        //        {
+        //            if (taskSync != null) //跑批信息
+        //                UpdateEntityNoCommit(taskSync);
+        //            BantchUpdateEntityNoCommit(listMtEnd);
+
+        //            if (listTaskSend != null && listTaskSend.Any()) //添加待办 公共
+        //                BantchSaveEntityNoCommit(listTaskSend);
+        //        });
+
+        //        int Count = ((listMtEnd != null && listMtEnd.Any()) ? listMtEnd.Count() : 0) + ((listTaskSend != null && listTaskSend.Any()) ? listTaskSend.Count : 0);
+        //        SyncLogDetailService.InsertSyncLogDetail(HttpContext.Items, HttpContext.TraceIdentifier, filter.OrgId, Count, filter.Parameter1, SyncLogType.BSCreateCheckPlanSet);
+        //        return true;
+        //    });
+        //}
+
+        ///// 
+        ///// 其他模块 对接到会议开始
+        ///// 
+        ///// 
+        ///// 
+        //[HttpPost, Route("OtherToMeetingBegin")]
+        //public JsonActionResult OtherToMeetingBegin([FromBody] KeywordFilter filter)
+        //{
+        //    return SafeExecute(() =>
+        //    {
+        //        DateTime dtNow = DateTime.Now;
+        //        if (!string.IsNullOrEmpty(filter.Parameter1))
+        //        {
+        //            try
+        //            {
+        //                //接收来自页面的参数
+        //                DateTime deParm = Convert.ToDateTime(filter.Parameter1);
+        //                dtNow = deParm;
+        //            }
+        //            catch { }
+        //        }
+
+        //        var listMtBegin = GetEntities(e => !e.IS_DELETED && !e.ISBEGIN && (!e.END_IGNORE.HasValue || e.END_IGNORE.Value > dtNow), null, null).OrderBy(e => e.CREATE_TIME.Value);
+        //        //&& e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Date == dtNow.Date  只要没触发 就会触发
+
+        //        if (listMtBegin == null && !listMtBegin.Any())
+        //        {
+        //            return true;
+        //        }
+
+
+        //        #region    业务代码 扩展 每条一个事务处理 加强健壮性 但是性能低一些
+
+
+        //        bool isChange = false;
+        //        //foreach (var item in listMtBegin)
+        //        //{
+        //        //    switch (item.SOURCETYPE)
+        //        //    {
+        //        //        case SOURCETYPE.EventReport:
+
+        //        //            if (!isChange)
+        //        //                isChange = true;
+        //        //            break;
+        //        //        default:
+        //        //            break;
+        //        //    }
+        //        //}
+
+        //        #endregion
+
+        //        if (isChange)
+        //        {
+        //            T_FM_SYNC_TASK taskSync = GetEntity(filter.Keyword);//跑批待办
+        //            if (taskSync.SYNC_PARAM != null)
+        //            {
+        //                taskSync.SYNC_PARAM = "";
+        //            }
+        //            taskSync.TASK_END_TIME = DateTime.Now;
+        //            taskSync.UPDATE_SUCCES_TIME = DateTime.Now;
+        //            this.UnifiedCommit(() =>
+        //            {
+        //                if (taskSync != null) //跑批信息
+        //                    UpdateEntityNoCommit(taskSync);
+        //            });
+        //        }
+
+        //        return true;
+        //    });
+        //}
+
+
+
+
+
+
+
+
+
+
         /// 
         /// 会议结束 链接到别的模块
         /// 
@@ -747,96 +927,820 @@ namespace APT.PP.WebApi.Controllers.Api.PP
         {
             return SafeExecute(() =>
             {
-                DateTime dtNow = DateTime.Now;
-                if (!string.IsNullOrEmpty(filter.Parameter1))
+                try
                 {
-                    try
+                    //如果 会议内容 需要匹配多个 触发 现在只有一个 (应急处理方案 待会议登记的类型触发后,修改信息,修改会议结束 数据为未触发 重新跑一下)
+                    DateTime dtNow = DateTime.Now;
+                    if (!string.IsNullOrEmpty(filter.Parameter1))
                     {
-                        //接收来自页面的参数
-                        DateTime deParm = Convert.ToDateTime(filter.Parameter1);
-                        dtNow = deParm;
-                    }
-                    catch { }
-                }
-
-                var listMtEnd = GetEntities(e => !e.IS_DELETED && !e.ISEND && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Date <= dtNow.Date, null, null);
-                if (listMtEnd == null && !listMtEnd.Any())
-                {
-                    return true;
-                }
-
-                var listMTID = listMtEnd.Select(e => e.MEETING_ID);
-                var listMT = GetEntities(e => !e.IS_DELETED && listMTID.Contains(e.ID), null, null);
-                if (listMT == null || !listMT.Any())
-                {
-                    return true;
-                }
-
-                listMT = listMT.ToList();
-
-                List listTaskSend = null;//需要添加的所有待办
-                T_FM_USER userSafeMaster = null; //安环部负责人
-
-                T_FM_SYNC_TASK taskSync = null;
-                #region     各处理逻辑  代码块区分 不直接 return 因为有数据要处理
-
-                //数据挨个判断处理
-                listMtEnd.ForEach(e =>
-                {
-                    e.RUN_COUNT++;
-                    e.ISEND = true;
-                    e.MODIFY_TIME = DateTime.Now;
-                });
-
-
-
-                #region     3、CM 潜在紧急事件讨论 
-
-                var listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToCM018);
-                if (listMTFA != null && listMTFA.Any())
-                {
-                    var userIDs = listMTFA.Where(e => e.USER_ID_RECORDER.HasValue && !e.ISCANCEL && !e.IS_DELETED).Select(e => e.USER_ID_RECORDER.Value);
-                    if (userIDs != null && userIDs.Any())
-                    {
-                        var listUser = GetEntities(e => userIDs.Contains(e.ID), null);
-                        if (listTaskSend == null)
-                            listTaskSend = new List();
-                        foreach (var item in listUser)
+                        try
                         {
-                            listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("潜在紧急事件", Guid.Empty, filter.OrgId, item.ID, item.NAME, DateTime.Now, 0, "CM018", FMTASKTYPE.Default));
+                            //接收来自页面的参数
+                            DateTime deParm = Convert.ToDateTime(filter.Parameter1);
+                            dtNow = deParm;
+                        }
+                        catch { }
+                    }
+
+                    var listMtEnd = GetEntities(e => !e.IS_DELETED && !e.ISEND && e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Date <= dtNow.Date, null, null);
+                    if (listMtEnd == null && !listMtEnd.Any())
+                    {
+                        return true;
+                    }
+
+                    var listMTID = listMtEnd.Select(e => e.MEETING_ID);
+                    var listMT = GetEntities(e => !e.IS_DELETED && listMTID.Contains(e.ID), null, null);
+                    if (listMT == null || !listMT.Any())
+                    {
+                        return true;
+                    }
+
+                    listMT = listMT.ToList();
+
+                    List listTaskSend = new List(); //需要添加的所有待办
+                    T_FM_USER userSafeMaster = null;  //安环负责人/安全员
+
+                    //List listInvestigationUsers = null;//需要添加的所有待办
+                    T_FM_SYNC_TASK taskSync = null;
+
+                    #region  公共需求  userSafeMaster  安环负责人/安全员  如果有需要 缺没有 就不执行了
+
+                    List listEnum = new List() { CREACTTYPEEnum.ToPT014, CREACTTYPEEnum.ToHM134, CREACTTYPEEnum.ToOG010, CREACTTYPEEnum.ToCM018, CREACTTYPEEnum.ToCM002, CREACTTYPEEnum.ToLR010, CREACTTYPEEnum.ToPR002, CREACTTYPEEnum.ToSC067, CREACTTYPEEnum.ToPR002_2, CREACTTYPEEnum.ToPR002_3, CREACTTYPEEnum.ToPR002_4 };
+
+                    var checkUserT = listMT.FirstOrDefault(e => e.CREACTTYPE.HasValue && listEnum.Contains(e.CREACTTYPE.Value));
+                    if (checkUserT != null)
+                    {
+                        string Msg = string.Empty;
+                        userSafeMaster = UserService.GetRoleUser(ref Msg, "安环部负责人", null, null);
+                        if (userSafeMaster == null)
+                            userSafeMaster = UserService.GetRoleUser(ref Msg, "安环部安全员", null, null);
+                        if (userSafeMaster == null)
+                            return true;
+                    }
+
+                    //默认时间
+                    DateTime dtEndDefault = NotificationTaskService.GetTaskEndTime(FMTASKTYPE.Default, filter.OrgId.Value, DateTime.Now, null, null);
+
+                    #endregion
+
+                    #region     各处理逻辑  代码块区分 不直接 return 因为有数据要处理
+
+                    //数据挨个判断处理
+                    listMtEnd.ForEach(e =>
+                    {
+                        e.RUN_COUNT++;
+                        e.ISEND = true;
+                        e.MODIFY_TIME = DateTime.Now;
+                    });
+                    IEnumerable listMTFA = null;
+                    //后续扩展
+                    #region    1、AE 事故事件 会议小组     //ToAE008《事故调查小组成员表》的触发对象  
+                    //事故事件上报[AE006] => 审批 => 触发【事故调查小组成立】会议 => 【事故调查小组成员AE008】表单=> 触发【事故调查讨论】会议 => 【勘察记录表 AE018】表单  => 触发【调查报告讨论】会议 => 【事故事件调查结果填报表AE010】
+
+                    #region   ToAE006   《事故事件上报表》的触发对象       转到 事后触发会议    //不需要
+                    //List listMember = null;
+                    //listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToAE006);
+                    //if (listMTFA != null && listMTFA.Any())
+                    //{
+                    //    listMember = new List();
+                    //    T_AE_ACCIDENT_SURVEY_TEAM_MEMBER member = null;
+                    //    var listMTID006 = listMT.Select(e => e.ID);
+                    //    var listBegin = GetEntities(e => e.MEETING_ID.HasValue && listMTID006.Contains(e.MEETING_ID.Value), null, null);
+                    //    var listUserID = listBegin.Select(e => e.USER_ID);
+                    //    var listUserBegin = GetEntities(e => listUserID.Contains(e.ID), null, null);
+                    //    //《事故调查小组成员表》的触发对象 
+                    //    foreach (var item in listMTFA)
+                    //    {
+                    //        var begin = listBegin.FirstOrDefault(e => e.MEETING_ID == item.ID);
+                    //        if (begin == null)
+                    //            continue;
+                    //        var userThis = listUserBegin.FirstOrDefault(e => e.ID == begin.USER_ID);
+                    //        if (userThis == null)
+                    //            continue;
+                    //        member = new T_AE_ACCIDENT_SURVEY_TEAM_MEMBER();
+                    //        member.ID = Guid.NewGuid();
+                    //        member.REPORT_ID = begin.DATA_ID;
+                    //        member.STATUS = PFStandardStatus.Draft;
+                    //        member.IS_DELETED = false;
+                    //        member.ORG_ID = filter.OrgId;
+                    //        member.CREATE_TIME = DateTime.Now;
+                    //        member.CREATER_ID = begin.USER_ID;
+                    //        //member.LEADER_USER_ID = ;
+                    //        //member.SURVEY_USER_ID = ;
+                    //        //member.ENTITY_ORG_TPYE = ;
+                    //        //member.FORM_ID = ;
+                    //        //member.FLOW_STATUS = ;
+                    //        //member.FLOW_SEND_STATUS = ;
+                    //        //member.FLOW_ID = ;
+                    //        //member.MODIFY_TIME = ;
+                    //        member.MODIFIER_ID = begin.USER_ID;
+                    //        listMember.Add(member);
+                    //        listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("事故调查小组成员", member.ID, filter.OrgId, begin.USER_ID, userThis.NAME, DateTime.Now, DateTime.Now.AddDays(1), (int)FMNoticeTypeEnum.消息, "AE008"));
+                    //    }
+                    //}
+
+                    #endregion
+
+                    #region   ToAE008   《事故调查小组成员表》的触发对象   转到 事后触发会议
+                    //List listMember = null;
+                    //listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToAE006);//事故事件上报AE006  触发的 会议 触发 事故调查小组成员 会议 AE008
+                    //if (listMTFA != null && listMTFA.Any())
+                    //{
+                    //    listMember = new List();
+                    //    T_AE_ACCIDENT_SURVEY_TEAM_MEMBER member = null;
+                    //    var listMTID006 = listMT.Select(e => e.ID);
+                    //    var listBegin = GetEntities(e => e.MEETING_ID.HasValue && listMTID006.Contains(e.MEETING_ID.Value), null, null);
+                    //    var listUserID = listBegin.Select(e => e.USER_ID);
+                    //    var listUserBegin = GetEntities(e => listUserID.Contains(e.ID), null, null);
+                    //    //《事故调查小组成员表》的触发对象 
+                    //    foreach (var item in listMTFA)
+                    //    {
+                    //        var begin = listBegin.FirstOrDefault(e => e.MEETING_ID == item.ID);
+                    //        if (begin == null)
+                    //            continue;
+                    //        var userThis = listUserBegin.FirstOrDefault(e => e.ID == begin.USER_ID);
+                    //        if (userThis == null)
+                    //            continue;
+                    //        member = new T_AE_ACCIDENT_SURVEY_TEAM_MEMBER();
+                    //        member.ID = Guid.NewGuid();
+                    //        member.REPORT_ID = begin.DATA_ID;
+                    //        member.STATUS = PFStandardStatus.Draft;
+                    //        member.IS_DELETED = false;
+                    //        member.ORG_ID = filter.OrgId;
+                    //        member.CREATE_TIME = DateTime.Now;
+                    //        member.CREATER_ID = begin.USER_ID;
+                    //        //member.LEADER_USER_ID = ;
+                    //        //member.SURVEY_USER_ID = ;
+                    //        //member.ENTITY_ORG_TPYE = ;
+                    //        //member.FORM_ID = ;
+                    //        //member.FLOW_STATUS = ;
+                    //        //member.FLOW_SEND_STATUS = ;
+                    //        //member.FLOW_ID = ;
+                    //        //member.MODIFY_TIME = ;
+                    //        member.MODIFIER_ID = begin.USER_ID;
+                    //        listMember.Add(member);
+                    //        listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("事故调查小组成员", member.ID, filter.OrgId, begin.USER_ID, userThis.NAME, DateTime.Now, DateTime.Now.AddDays(1), (int)FMNoticeTypeEnum.消息, "AE008"));
+                    //    }
+                    //}
+
+                    #endregion
+                    //#region     ToAE010
+                    //listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToAE010);
+                    //List listResult = null;
+                    //if (listMTFA != null && listMTFA.Any())
+                    //{
+                    //    var listMTIDAE010 = listMTFA.Select(e => e.ID);
+                    //    var listBegin = GetEntities(e => e.MEETING_ID.HasValue && listMTIDAE010.Contains(e.MEETING_ID.Value), null, null);
+                    //    if (listBegin != null && listBegin.Any())
+                    //    {
+                    //        var listRecordID = listBegin.Select(e => e.DATA_ID);
+                    //        var listRecord = GetEntities(e => listRecordID.Contains(e.ID), null, null);
+                    //        var listUserID = listBegin.Select(e => e.USER_ID).Distinct();
+                    //        var listUser = GetEntities(e => listUserID.Contains(e.ID), null, null);
+
+                    //        if (listRecord != null && listRecord.Any())
+                    //        {
+                    //            listResult = new List();
+                    //            T_AE_INVESTIGATION_RECORD modelRec = null;
+                    //            T_FM_USER modelUser = null;
+                    //            T_SC_MT_MEETING_BEGIN modelBegin = null;
+                    //            foreach (var item in listMTFA)
+                    //            {
+                    //                modelBegin = listBegin.FirstOrDefault(e => e.MEETING_ID.HasValue && e.MEETING_ID.Value == item.ID);
+                    //                if (modelBegin == null)
+                    //                    continue;
+                    //                modelRec = listRecord.First(e => e.ID == modelBegin.DATA_ID);
+                    //                if (modelRec == null)
+                    //                    continue;
+                    //                modelUser = listUser.FirstOrDefault(e => e.ID == modelBegin.USER_ID);
+                    //                if (modelUser == null)
+                    //                    continue;
+
+                    //                T_AE_ACCIDENT_EVENT_SURVEY_RESULT modelResult = new T_AE_ACCIDENT_EVENT_SURVEY_RESULT();
+                    //                modelResult.ID = Guid.NewGuid();
+                    //                modelResult.REPORT_ID = modelRec.ACCIDENT_ID;
+                    //                modelResult.STATUS = PFStandardStatus.Draft;
+                    //                modelResult.IS_DELETED = false;
+                    //                modelResult.ORG_ID = filter.OrgId;
+
+                    //                //modelResult.CASUALTY_COUNT = "";
+                    //                //modelResult.ECONOMIC_LOSSES = "";
+                    //                //modelResult.ACCIDENT_COURSE = "";
+                    //                //modelResult.TIME = "";
+                    //                //modelResult.RISK_SUBMIT_ID = "";
+                    //                //modelResult.ENTITY_ORG_TPYE = "";
+                    //                //modelResult.FORM_ID = "";
+                    //                //modelResult.FLOW_STATUS = "";
+                    //                //modelResult.FLOW_SEND_STATUS = "";
+                    //                //modelResult.FLOW_ID = "";
+                    //                //modelResult.CREATE_TIME = "";
+                    //                //modelResult.MODIFY_TIME = "";
+                    //                //modelResult.CREATER_ID = "";
+                    //                //modelResult.MODIFIER_ID = ""; 
+                    //                listResult.Add(modelResult);
+
+                    //                listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("事故事件调查结果填报", modelResult.ID, filter.OrgId, modelUser.ID, modelUser.NAME, DateTime.Now, DateTime.Now.AddDays(1), (int)FMNoticeTypeEnum.消息, "AE010"));
+                    //            }
+                    //        }
+                    //    }
+                    //}
+                    //#endregion
+                    //#region ToAE018  AEToMTAfterTeamMember
+                    //List listSurveyResult = null;
+                    //listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && (e.CREACTTYPE == CREACTTYPEEnum.AEToMTAfterTeamMember || e.CREACTTYPE == CREACTTYPEEnum.ToAE018));//
+                    //if (listMTFA != null && listMTFA.Any())
+                    //{
+                    //    var listMTIDAE = listMTFA.Select(e => e.ID);
+                    //    var begins = GetEntities(e => e.MEETING_ID.HasValue && e.ISBEGIN && listMTIDAE.Contains(e.MEETING_ID.Value), null, null);
+
+                    //    var listJoinAll = GetEntities(e => listMTIDAE.Contains(e.MEETING_ID), null);
+
+                    //    //listSurveyResult = new List();
+                    //    listSurveyResult = new List();
+                    //    if (listInvestigationUsers == null)
+                    //        listInvestigationUsers = new List();
+                    //    IEnumerable listUserID = null;
+                    //    foreach (var item in listMTFA)
+                    //    {
+                    //        var begin = begins.FirstOrDefault(e => e.MEETING_ID == item.ID);
+                    //        if (begin == null)
+                    //        {
+                    //            continue;
+                    //        }
+
+                    //        #region   事故事件调查结果填报  => 勘察记录()
+
+                    //        T_AE_ACCIDENT_SURVEY_TEAM_MEMBER entityM = GetEntity(e => e.REPORT_ID.HasValue && e.SURVEY_USER_ID.HasValue && e.REPORT_ID.Value == begin.DATA_ID, "Nav_SurveyUser");
+                    //        if (entityM == null)
+                    //        {
+                    //            continue;
+                    //        }
+
+                    //        DateTime dtEndLevel = DateTime.Now;
+                    //        #region   获取 限制结案时间  dtEnd
+
+                    //        AEAccidentLevel level = GetEntity(entityM.REPORT_ID.Value).ACCIDENT_LEVEL.Value;
+                    //        var days = GetEntity(e => e.ACCIDENT_LEVEL == level);
+                    //        if (days == null)
+                    //        {
+                    //            switch (level)
+                    //            {
+                    //                case AEAccidentLevel.Jumbo:
+                    //                case AEAccidentLevel.Major:
+                    //                case AEAccidentLevel.Larger:
+                    //                case AEAccidentLevel.General:
+                    //                    dtEndLevel = DateTime.Now.Date.AddDays(32).AddSeconds(-1);
+                    //                    break;
+                    //                case AEAccidentLevel.SeriouslyInjured:
+                    //                    dtEndLevel = DateTime.Now.Date.AddDays(17).AddSeconds(-1);
+                    //                    break;
+                    //                case AEAccidentLevel.MinorJuries:
+                    //                case AEAccidentLevel.Aminor:
+                    //                case AEAccidentLevel.Risk:
+                    //                    dtEndLevel = DateTime.Now.Date.AddDays(12).AddSeconds(-1);
+                    //                    break;
+                    //                default:
+                    //                    break;
+                    //            }
+                    //        }
+                    //        else
+                    //        {
+                    //            dtEndLevel = DateTime.Now.Date.AddDays(2 + days.DAYS).AddSeconds(-1);
+                    //        }
+                    //        #endregion
+
+
+                    //        T_AE_INVESTIGATION_RECORD modelResult = new T_AE_INVESTIGATION_RECORD();
+                    //        modelResult.ID = Guid.NewGuid();
+                    //        //modelResult.LAUNCH_TIME =;
+
+                    //        modelResult.DEPARTMENT_ID = item.DEPARTMENT_ID;
+
+                    //        modelResult.USER_ID = entityM.SURVEY_USER_ID;
+                    //        modelResult.ACCIDENT_ID = entityM.REPORT_ID; ;
+                    //        modelResult.TEAM_MEMBER_ID = entityM.ID;
+
+                    //        //modelResult.INVESTIGATION_TIME =;
+                    //        //modelResult.INVESTIGATION_LOCATION =;
+                    //        //modelResult.INVESTIGATION_REASON =;
+                    //        //modelResult.SCENE_ENV_DESC =;
+                    //        //modelResult.SCENE_DESC =;
+                    //        //modelResult.SCENE_EVIDENCE_DESC =;
+                    //        modelResult.STATUS = PFStandardStatus.Draft;
+                    //        //modelResult.REVIEW_OK =;
+                    //        //modelResult.REVIEW_COMMENT =;
+                    //        modelResult.IS_DELETED = false;
+                    //        modelResult.ORG_ID = item.ORG_ID;
+                    //        //modelResult.ENTITY_ORG_TPYE =;
+                    //        //modelResult.FORM_ID =;
+                    //        //modelResult.FLOW_STATUS =;
+                    //        //modelResult.FLOW_SEND_STATUS =;
+                    //        //modelResult.FLOW_ID =;
+                    //        //modelResult.CREATE_TIME =;
+                    //        //modelResult.MODIFY_TIME =;
+                    //        //modelResult.CREATER_ID =;
+                    //        //modelResult.MODIFIER_ID =;
+                    //        //modelResult.LEADER_USER_ID =;
+                    //        //modelResult.APPROVE_ID =;
+
+
+                    //        //勘察人员 默认 参会人员 24 0226
+                    //        //T_AE_INVESTIGATION_RECORD_INVESTIGATION_USERS 
+                    //        listUserID = listJoinAll.Select(e => e.USER_ID).Distinct();
+                    //        if (item.USER_ID_HOST.HasValue && !listUserID.Contains(item.USER_ID_HOST.Value))
+                    //            listUserID.Append(item.USER_ID_HOST.Value);
+                    //        if (!listUserID.Contains(item.USER_ID_ORIGINATOR))
+                    //            listUserID.Append(item.USER_ID_ORIGINATOR);
+                    //        if (item.USER_ID_RECORDER.HasValue && !listUserID.Contains(item.USER_ID_RECORDER.Value))
+                    //            listUserID.Append(item.USER_ID_RECORDER.Value);
+                    //        foreach (var itemUser in listUserID)
+                    //        {
+                    //            listInvestigationUsers.Add(new T_AE_INVESTIGATION_RECORD_INVESTIGATION_USERS()
+                    //            {
+                    //                ID = Guid.NewGuid(),
+                    //                ORG_ID = modelResult.ORG_ID,
+                    //                RECORD_ID = modelResult.ID,
+                    //                USER_ID = itemUser,
+                    //                STATUS = AEInvestigationUserStatusEnum.未审阅
+                    //            });
+                    //        }
+                    //        listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("勘察记录表", modelResult.ID, item.ORG_ID, entityM.SURVEY_USER_ID.Value, entityM.Nav_SurveyUser.NAME, DateTime.Now, dtEndLevel, (int)FMNoticeTypeEnum.消息, "AE018"));
+                    //        listSurveyResult.Add(modelResult);
+
+                    //        #endregion
+                    //        #region //事故事件调查结果填报
+
+                    //        //T_AE_ACCIDENT_EVENT_SURVEY_RESULT modelResult = new T_AE_ACCIDENT_EVENT_SURVEY_RESULT();
+                    //        //var begin = begins.FirstOrDefault(e => e.MEETING_ID == item.ID);
+                    //        //if (begin == null)
+                    //        //{
+                    //        //    continue;
+                    //        //}
+                    //        //modelResult.ID = Guid.NewGuid();
+                    //        //modelResult.REPORT_ID = begin.DATA_ID;
+                    //        //modelResult.STATUS = PFStandardStatus.Draft;
+                    //        //modelResult.IS_DELETED = false;
+                    //        //modelResult.ORG_ID = item.ORG_ID;
+
+                    //        ////modelResult.CASUALTY_COUNT = "";
+                    //        ////modelResult.ECONOMIC_LOSSES = "";
+                    //        ////modelResult.ACCIDENT_COURSE = "";
+                    //        ////modelResult.TIME = "";
+                    //        ////modelResult.RISK_SUBMIT_ID = "";
+                    //        ////modelResult.ENTITY_ORG_TPYE = "";
+                    //        ////modelResult.FORM_ID = "";
+                    //        ////modelResult.FLOW_STATUS = "";
+                    //        ////modelResult.FLOW_SEND_STATUS = "";
+                    //        ////modelResult.FLOW_ID = "";
+                    //        ////modelResult.CREATE_TIME = "";
+                    //        ////modelResult.MODIFY_TIME = "";
+                    //        ////modelResult.CREATER_ID = "";
+                    //        ////modelResult.MODIFIER_ID = "";
+
+                    //        //string SURVEYNAME = GetEntity(item.USER_ID_ORIGINATOR).NAME;
+                    //        //T_FM_NOTIFICATION_TASK taskAdd = NotificationTaskService.InsertUserNoticeTaskModel("事故事件调查结果填报", modelResult.ID, item.ORG_ID, item.USER_ID_ORIGINATOR, SURVEYNAME, DateTime.Now, 0, "AE010", FMTASKTYPE.Default);
+
+                    //        #endregion
+
+                    //    }
+                    //}
+                    //#endregion
+                    #endregion
+
+                    #region  2、BS  ToBS032  
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToBS032);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        //各层级负责人
+                        //wyw 班组 车间  安环 负责人
+                        //wyw有多个也就触发一个
+                        var listDep = GetEntities(e => !e.IS_DELETED && e.ENABLE_STATUS == 0 && e.DEPARTMENT_TYPE != 3, null, null);//&&(e.DEPARTMENT_TYPE== FMDepartmentType.班组|| e.DEPARTMENT_TYPE == FMDepartmentType.车间|| e.DEPARTMENT_TYPE == FMDepartmentType.部门
+                        var listUserID = listDep.Where(e => e.USER_ID.HasValue && (e.DEPARTMENT_TYPE == 1 || e.DEPARTMENT_TYPE == 2 || (e.DEPARTMENT_TYPE == 0 && e.DEPARTMENT_STATUS != 0))).Select(e => e.USER_ID.Value).Distinct();
+                        if (listUserID != null && listUserID.Any())
+                        {
+                            var users = GetEntities(e => !e.IS_DELETED && e.ENABLE_STATUS == 0 && listUserID.Contains(e.ID), null, null);
+                            List listUserIDTask = new List();
+                            List listUserNameTask = new List();
+                            users.ForEach(e =>
+                            {
+                                if (!listUserIDTask.Contains(e.ID))
+                                {
+                                    listUserIDTask.Add(e.ID); listUserNameTask.Add(e.NAME);
+                                }
+                            });
+                            var listTaskBS032 = NotificationTaskService.InsertUserNoticeTaskModels("检查任务制定", null, filter.OrgId, listUserIDTask, listUserNameTask, DateTime.Now, dtEndDefault, 0, "BS032");
+                            listTaskSend.AddRange(listTaskBS032);
                         }
                     }
+
+                    #endregion
+
+                    #region     3、CM 潜在紧急事件讨论 
+                    #region ToCM002 安环部负责人/安全员
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToCM026);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("年度应急演练计划", null, filter.OrgId, userSafeMaster.ID, userSafeMaster.NAME, DateTime.Now, 0, "CM002", FMTASKTYPE.Default));
+                    }
+                    #endregion
+                    #region ToCM018 记录人
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToCM018);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        var userIDs = listMTFA.Where(e => e.USER_ID_RECORDER.HasValue && !e.ISCANCEL && !e.IS_DELETED).Select(e => e.USER_ID_RECORDER.Value);
+                        if (userIDs != null && userIDs.Any())
+                        {
+                            var listUser = GetEntities(e => userIDs.Contains(e.ID), null);
+                            foreach (var item in listUser)
+                            {
+                                listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("潜在紧急事件", Guid.Empty, filter.OrgId, item.ID, item.NAME, DateTime.Now, 0, "CM018", FMTASKTYPE.Default));
+                            }
+                        }
+                    }
+                    #endregion
+                    #region ToCM026 记录人
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToCM026);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        //会议记录人
+                        var userIDs = listMTFA.Where(e => e.USER_ID_RECORDER.HasValue && !e.ISCANCEL && !e.IS_DELETED).Select(e => e.USER_ID_RECORDER.Value).Distinct();
+                        if (userIDs != null && userIDs.Any())
+                        {
+                            var listUser = GetEntities(e => userIDs.Contains(e.ID), null);
+                            foreach (var item in listUser)
+                            {
+                                listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("应急能力评估", null, filter.OrgId, item.ID, item.NAME, DateTime.Now, 0, "CM026", FMTASKTYPE.Default));
+                            }
+                        }
+                    }
+                    #endregion
+                    #endregion
+
+                    #region   4、HM  
+                    #region   ToHM076  各部门负责人
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToHM104);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        var deps = GetEntities(e => !e.IS_DELETED && e.DEPARTMENT_STATUS == 0 && e.USER_ID.HasValue && e.DEPARTMENT_TYPE == (int)FMDepartmentType.部门, null, null);
+                        var listUsers = deps.Select(e => e.USER_ID.Value);
+                        var listUser = GetEntities(e => listUsers.Contains(e.ID), null, null);
+                        List listUserIDdep = new List();
+                        List listUserNamedep = new List();
+                        listUser.ForEach(e => { if (!listUserIDdep.Contains(e.ID)) { listUserIDdep.Add(e.ID); listUserNamedep.Add(e.NAME); } });
+
+                        listTaskSend.AddRange(NotificationTaskService.InsertUserNoticeTaskModels("作业任务识别", null, filter.OrgId, listUserIDdep, listUserNamedep, DateTime.Now, 0, "HM104", FMTASKTYPE.Default));
+                    }
+                    #endregion
+                    #region   ToHM134  
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToHM134);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("年度风险评价计划", null, filter.OrgId, userSafeMaster.ID, userSafeMaster.NAME, DateTime.Now, 0, "HM134", FMTASKTYPE.Default));
+                    }
+                    #endregion
+                    #region   ToHM062_HM102   对应会议的触发对象
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToHM062_HM102);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        //谁创建的会议给谁
+                        var listUserID = listMTFA.Where(e => e.CREATER_ID.HasValue).Select(e => e.CREATER_ID.Value).Distinct();
+                        if (listUserID != null && listUserID.Any())
+                        {
+                            var listUser = GetEntities(e => !e.IS_DELETED && e.ENABLE_STATUS == 0 && listUserID.Contains(e.ID), null, null);
+                            foreach (var item in listMTFA)
+                            {
+                                if (!item.CREATER_ID.HasValue)
+                                    continue;
+                                var userSend = listUser.FirstOrDefault(e => e.ID == item.CREATER_ID.Value);
+                                if (userSend == null)
+                                    continue;
+                                listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("危险源/风险辨识任务", null, filter.OrgId, userSend.ID, userSend.NAME, DateTime.Now, 0, "HM062", FMTASKTYPE.Default));
+                                listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("职业危害辨识任务", null, filter.OrgId, userSend.ID, userSend.NAME, DateTime.Now, 0, "HM102", FMTASKTYPE.Default));
+                            }
+                        }
+                    }
+                    #endregion
+                    #endregion
+
+                    #region   5、LR   ToLR010
+                    //发起人
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToSC067);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        var listUserID = listMTFA.Where(e => e.CREATER_ID.HasValue).Select(e => e.CREATER_ID);
+                        var listUser = GetEntities(e => listUserID.Contains(e.ID), null, null);
+                        List listUserIDU = new List();
+                        List listUserName = new List();
+                        listTaskSend.AddRange(NotificationTaskService.InsertUserNoticeTaskModels("法律法规更新与融入", null, filter.OrgId, listUserIDU, listUserName, DateTime.Now, 0, "LR010", FMTASKTYPE.Default));
+                    }
+
+                    #endregion
+
+                    #region   6、OG 组织保障(OG002 给全部员工发送代办?)
+                    //标准化系统评审意见  会议内容为安全生产标准化评审会的会议纪要完成后触发待办任务 (此表单) 给会议记录人
+                    #region //OG002  全体员工???什么是员工?总经理要吗? 讨论后 暂时不要
+                    //listMTFA = listMT.Where(e => e.CREACTTYPE == CREACTTYPEEnum.ToOG002);
+                    //if (listMTFA != null && listMTFA.Any())
+                    //{
+                    //    IEnumerable listUser = null;
+                    //    try
+                    //    {
+                    //        BaseFilter filt = new BaseFilter();
+                    //        filt.OrgId = filter.OrgId;
+                    //        filt.IgnoreDataRule = true;
+                    //        filt.SelectField = new List { "IS_DELETED", "ENABLE_STATUS", "ID", "NAME" };
+                    //        listUser = GetEntities(e => !e.IS_DELETED && e.ENABLE_STATUS == 0, null, null);
+                    //    }
+                    //    catch { }
+
+                    //    if (listUser != null)
+                    //    {
+                    //        List listUserIDTask = new List();
+                    //        List listUserNameTask = new List();
+                    //        listUser.ForEach(e =>
+                    //        {
+                    //            if (!listUserIDTask.Contains(e.ID))
+                    //            {
+                    //                listUserIDTask.Add(e.ID); listUserNameTask.Add(e.NAME);
+                    //            }
+                    //        });
+                    //        listTaskSend.AddRange(NotificationTaskService.InsertUserNoticeTaskModels("安全生产责任制签订", null, filter.OrgId, listUserIDTask, listUserNameTask, DateTime.Now, dtEndDefault, 0, "OG002"));
+                    //    }
+                    //}
+
+                    #endregion
+                    #region ToOG034Edit
+                    listMTFA = listMT.Where(e => e.CREACTTYPE == CREACTTYPEEnum.ToOG034Edit);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        var userIDs = listMTFA.Where(e => e.USER_ID_RECORDER.HasValue && !e.ISCANCEL && !e.IS_DELETED).Select(e => e.USER_ID_RECORDER.Value);
+                        if (userIDs != null && userIDs.Any())
+                        {
+                            var listUser = GetEntities(e => userIDs.Contains(e.ID), null);
+                            foreach (var item in listUser)
+                            {
+                                listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("标准化系统评审意见", null, filter.OrgId, item.ID, item.NAME, DateTime.Now, 0, "OG034_EDIT", FMTASKTYPE.Default));
+                            }
+                        }
+                    }
+                    #endregion
+                    #region ToOG010  安环部负责人/安全员
+
+                    listMTFA = listMT.Where(e => e.CREACTTYPE == CREACTTYPEEnum.ToOG010);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("人员任命书", null, filter.OrgId, userSafeMaster.ID, userSafeMaster.NAME, DateTime.Now, 0, "OG010", FMTASKTYPE.Default));
+                    }
+
+                    #endregion
+                    #region   ToOG028    安环部安全员
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToOG028);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        var depSafe = GetEntity(e => !e.IS_DELETED && e.DEPARTMENT_TYPE == (int)FMDepartmentType.部门 && e.DEPARTMENT_STATUS == (int)FMDepartmentStatus.安全部门);
+                        if (depSafe != null)
+                        {
+                            var role = GetEntity(e => e.NAME.Contains("安环部安全员"));
+                            var UserSafe = GetEntity(e => e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == depSafe.ID && e.APPROVE_ROLE_ID.HasValue && e.APPROVE_ROLE_ID.Value == role.ID);
+                            if (UserSafe != null)
+                            {
+                                listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("认可与奖励上报", null, filter.OrgId, UserSafe.ID, UserSafe.NAME, DateTime.Now, 0, "OG028", FMTASKTYPE.Default));
+                            }
+                        }
+                    }
+                    #endregion
+                    #region ToOG060  各部门安全员(生产部门 安全员)
+
+                    listMTFA = listMT.Where(e => e.CREACTTYPE == CREACTTYPEEnum.ToOG060);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        var deps = GetEntities(e => e.ENABLE_STATUS == 0 && !e.IS_DELETED && e.DEPARTMENT_TYPE == 0 && e.DEPARTMENT_STATUS == (int)FMDepartmentStatus.生产部门, null, null);
+                        if (deps != null && deps.Any())
+                        {
+                            var listDepID = deps.Select(e => e.ID);
+                            var approveRole = GetEntity(e => !e.IS_DELETED && e.NAME.Contains("部门安全员"));
+                            if (approveRole != null)
+                            {
+                                var listUser = GetEntities(e => e.APPROVE_ROLE_ID.HasValue && e.APPROVE_ROLE_ID.Value == approveRole.ID && listDepID.Contains(e.ID), null, null);
+                                foreach (var item in listUser)
+                                {
+                                    listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("员工意见征集", null, filter.OrgId, item.ID, item.NAME, DateTime.Now, 0, "OG060", FMTASKTYPE.Default));
+                                }
+                            }
+                        }
+                    }
+                    #endregion
+                    #endregion
+
+                    #region   7、PE   ToPE027
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToSC067);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("安全标准化内部评价计划录入", null, filter.OrgId, userSafeMaster.ID, userSafeMaster.NAME, DateTime.Now, 0, "PE027", FMTASKTYPE.Default));
+                    }
+                    #endregion
+
+                    #region   8、PT安全生产方针调查
+                    #region ToPT014
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToPT014);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("安全生产方针调查", null, filter.OrgId, userSafeMaster.ID, userSafeMaster.NAME, DateTime.Now, 0, "PT014", FMTASKTYPE.Default));
+                    }
+                    #endregion
+                    #endregion
+
+                    #region   9、 PR
+                    #region   ToPR023  
+
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToPR023);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        var listUserID = listMTFA.Where(e => e.CREATER_ID.HasValue).Select(e => e.CREATER_ID.Value).Distinct().ToList();
+                        if (listUserID != null && listUserID.Any())
+                        {
+                            var users = GetEntities(e => !e.IS_DELETED && e.ENABLE_STATUS == 0 && listUserID.Contains(e.ID), null, null);
+                            List listUserIDTask = new List();
+                            List listUserNameTask = new List();
+                            users.ForEach(e =>
+                            {
+                                if (!listUserIDTask.Contains(e.ID))
+                                {
+                                    listUserIDTask.Add(e.ID); listUserNameTask.Add(e.NAME);
+                                }
+                            });
+                            var listTaskPR023 = NotificationTaskService.InsertUserNoticeTaskModels("变化识别评估表", null, filter.OrgId, listUserIDTask, listUserNameTask, DateTime.Now, dtEndDefault, 0, "PR023");
+                            listTaskSend.AddRange(listTaskPR023);
+                        }
+                    }
+                    #endregion
+                    #region   ToPR002  
+                    //安环部负责人 / 安全员 多个也触发一次会议
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && (e.CREACTTYPE == CREACTTYPEEnum.ToPR002 || e.CREACTTYPE == CREACTTYPEEnum.ToPR002_2 || e.CREACTTYPE == CREACTTYPEEnum.ToPR002_3 || e.CREACTTYPE == CREACTTYPEEnum.ToPR002_4));
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        T_FM_NOTIFICATION_TASK taskAdd = NotificationTaskService.InsertUserNoticeTaskModel("内部设计文件审核表", null, filter.OrgId, userSafeMaster.ID, userSafeMaster.NAME, DateTime.Now, 0, "PR002", FMTASKTYPE.Default);
+                        listTaskSend.Add(taskAdd);
+                    }
+                    #endregion
+                    #endregion
+
+                    #region   10、SC   ToSC067
+                    listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.Ordinary && e.CREACTTYPE == CREACTTYPEEnum.ToSC067);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("应急预案修订记录", null, filter.OrgId, userSafeMaster.ID, userSafeMaster.NAME, DateTime.Now, 0, "SC067", FMTASKTYPE.Default));
+                    }
+                    #endregion
+
+                    #region    11、TL 尾矿库 
+                    //#region    FileAudit
+                    //T_TL_FILE_SUM modelFileSum = null;
+                    //listMTFA = listMT.Where(e => e.MEETINGTYPE == SCMEETINGTYPE.FileAudit);
+                    //if (listMTFA != null && listMTFA.Any())
+                    //{
+                    //    var MeetID = listMTFA.Select(e => e.ID);
+                    //    var listMeetContent = GetEntities(e => MeetID.Contains(e.MEETING_ID) && e.Nav_ContentName.NAME.Contains("尾矿") && e.Nav_ContentName.NAME.Contains("设计文件审核"), null, "Nav_ContentName");
+
+                    //    string Msg = string.Empty;
+                    //    if (listMeetContent != null && listMeetContent.Any())
+                    //    {
+                    //        var listMeetID = listMeetContent.Select(e => e.MEETING_ID).Distinct();
+
+                    //        //不管几条 符合 尾矿库 建设 【设计文件专家评审意见】
+                    //        //1、只添加 一个待办 
+                    //        //2、对应会议结束  完善信息
+                    //        //TL004
+                    //        string FormCode = "TL004";
+                    //        modelFileSum = new T_TL_FILE_SUM();
+                    //        modelFileSum.ID = Guid.NewGuid();
+                    //        modelFileSum.ORG_ID = filter.OrgId;
+                    //        modelFileSum.CONTENT = "请提交经安全生产监督管理部门审查批准的专家审查意见";
+                    //        modelFileSum.DEPARTMENT_ID = userSafeMaster.DEPARTMENT_ID;
+                    //        modelFileSum.USER_ID = userSafeMaster.ID;
+                    //        modelFileSum.FILETYPE = FILETYPE.SJWJZJPSYJ;
+                    //        modelFileSum.STATUS = PFStandardStatus.Draft;
+                    //        var task = NotificationTaskService.InsertUserNoticeTaskModel("请提交经安全生产监督管理部门审查批准的专家审查意见", modelFileSum.ID, modelFileSum.ORG_ID, modelFileSum.USER_ID, userSafeMaster.NAME, System.DateTime.Now, 0, FormCode, FMTASKTYPE.Default);
+                    //        listTaskSend.Add(task);
+
+                    //        foreach (var item in listMtEnd)
+                    //        {
+                    //            if (listMeetID.Contains(item.MEETING_ID))
+                    //            {
+                    //                if (!item.DATA_ID.HasValue)
+                    //                {
+                    //                    item.DATA_ID = modelFileSum.ID;
+                    //                    item.USER_ID = modelFileSum.USER_ID;
+                    //                    item.CODE = FormCode;
+                    //                }
+                    //                else
+                    //                {
+                    //                    item.CODE += ";TL004 DATA_ID:" + modelFileSum.ID + " USER_ID:" + modelFileSum.USER_ID;
+                    //                }
+                    //            }
+                    //        }
+
+                    //    }
+                    //}
+                    //#endregion
+                    #region ToTL014
+                    listMTFA = listMT.Where(e => e.CREACTTYPE == CREACTTYPEEnum.ToTL014);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        //尾矿库部门负责人
+                        var wkEnum = GetEntity(e => e.CODE == "BSMineTypeEnum" && e.VALUE == 20);
+                        var listDep = GetEntities(e => e.ENUMS_ID == wkEnum.ID && e.Nav_Department.USER_ID.HasValue && e.Nav_Department.DEPARTMENT_TYPE == (int)FMDepartmentType.部门, null, "Nav_Department");
+                        if (listDep != null && listDep.Any())
+                        {
+                            var listUserID = listDep.Select(e => e.Nav_Department.USER_ID.Value);
+                            var listUser = GetEntities(e => listUserID.Contains(e.ID), null, null);
+                            List listUserIDD = new List();
+                            List listUserNAMED = new List();
+                            listUser.ForEach(e => { if (!listUserIDD.Contains(e.ID)) { listUserIDD.Add(e.ID); listUserNAMED.Add(e.NAME); } });
+                            listTaskSend.AddRange(NotificationTaskService.InsertUserNoticeTaskModels("回采计划", null, filter.OrgId, listUserIDD, listUserNAMED, DateTime.Now, dtEndDefault, 0, "TL014"));
+                        }
+                    }
+                    #endregion
+                    #endregion
+
+                    #region    12、今日提醒 
+
+                    #region ToNotice 今日提醒
+                    //触发对象 根据公司实际指派  //触发今日提醒:消息类型:文件上传;消息内容:请上传下年度生产作业计划至文件库。 
+                    //谁发起的会议给谁触发今日提醒
+                    listMTFA = listMT.Where(e => e.CREACTTYPE == CREACTTYPEEnum.ToNotice);
+                    if (listMTFA != null && listMTFA.Any())
+                    {
+                        var listUserID = listMTFA.Where(e => e.CREATER_ID.HasValue).Select(e => e.CREATER_ID.Value).Distinct();
+                        if (listUserID != null && listUserID.Any())
+                        {
+                            var listUser = GetEntities(e => !e.IS_DELETED && e.ENABLE_STATUS == 0 && listUserID.Contains(e.ID), null, null);
+                            foreach (var item in listMTFA)
+                            {
+                                if (!item.CREATER_ID.HasValue)
+                                    continue;
+                                var userSend = listUser.FirstOrDefault(e => e.ID == item.CREATER_ID.Value);
+                                if (userSend == null)
+                                    continue;
+                                listTaskSend.Add(NotificationTaskService.InsertUserNoticeTaskModel("请上传下年度生产作业计划至文件库", null, filter.OrgId, userSend.ID, userSend.NAME, DateTime.Now, (int)FMNoticeTypeEnum.今日提醒, "", FMTASKTYPE.Default));
+                            }
+                        }
+                    }
+
+                    #endregion
+
+                    #endregion
+
+                    #endregion
+
+                    taskSync = GetEntity(filter.Keyword);//跑批待办
+                    if (taskSync.SYNC_PARAM != null)
+                    {
+                        taskSync.SYNC_PARAM = "";
+                    }
+                    taskSync.TASK_END_TIME = DateTime.Now;
+                    taskSync.UPDATE_SUCCES_TIME = DateTime.Now;
+
+                    this.UnifiedCommit(() =>
+                    {
+                        if (taskSync != null) //跑批信息
+                            UpdateEntityNoCommit(taskSync);
+                        BantchUpdateEntityNoCommit(listMtEnd);
+
+                        if (listTaskSend != null && listTaskSend.Any()) //添加待办 公共
+                            BantchSaveEntityNoCommit(listTaskSend);
+
+                        //if (modelFileSum != null) //TL 尾矿库建设  设计文件专家评审意见  
+                        //    UpdateEntityNoCommit(modelFileSum);
+
+                        //if (listSurveyResult != null && listSurveyResult.Any()) //AE 添加调查结果填报 
+                        //    BantchSaveEntityNoCommit(listSurveyResult);
+                        //if (listInvestigationUsers != null && listInvestigationUsers.Any()) //勘察人员 
+                        //    BantchSaveEntityNoCommit(listInvestigationUsers);
+
+                        //if (listMember != null && listMember.Any())//需要数据关联
+                        //    BantchSaveEntityNoCommit(listMember);
+                        //if (listResult != null && listResult.Any())//需要数据关联
+                        //    BantchSaveEntityNoCommit(listResult);
+                    });
+
+                    int Count = ((listMtEnd != null && listMtEnd.Any()) ? listMtEnd.Count() : 0) + ((listTaskSend != null && listTaskSend.Any()) ? listTaskSend.Count : 0);// + ((listSurveyResult != null && listSurveyResult.Any()) ? listSurveyResult.Count : 0)
+                    SyncLogDetailService.InsertSyncLogDetail(HttpContext.Items, HttpContext.TraceIdentifier, filter.OrgId, Count, filter.Parameter1, SyncLogType.BSCreateCheckPlanSet);
                 }
-
-                #endregion
-
-
-                #endregion
-
-                taskSync = GetEntity(filter.Keyword);//跑批待办
-                if (taskSync.SYNC_PARAM != null)
+                catch (Exception ex)
                 {
-                    taskSync.SYNC_PARAM = "";
+                    if (!string.IsNullOrEmpty(ex.StackTrace))
+                        throw new Exception("错误日志:[StackTrace]" + ex.StackTrace);
+                    else
+                        throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message);
                 }
-                taskSync.TASK_END_TIME = DateTime.Now;
-                taskSync.UPDATE_SUCCES_TIME = DateTime.Now;
-
-                this.UnifiedCommit(() =>
-                {
-                    if (taskSync != null) //跑批信息
-                        UpdateEntityNoCommit(taskSync);
-                    BantchUpdateEntityNoCommit(listMtEnd);
-
-                    if (listTaskSend != null && listTaskSend.Any()) //添加待办 公共
-                        BantchSaveEntityNoCommit(listTaskSend);
-                });
-
-                int Count = ((listMtEnd != null && listMtEnd.Any()) ? listMtEnd.Count() : 0) + ((listTaskSend != null && listTaskSend.Any()) ? listTaskSend.Count : 0);
-                SyncLogDetailService.InsertSyncLogDetail(HttpContext.Items, HttpContext.TraceIdentifier, filter.OrgId, Count, filter.Parameter1, SyncLogType.BSCreateCheckPlanSet);
                 return true;
             });
         }
 
+        //事故事件与会议关联总体流程
+        //事故事件上报[AE006] => 审批 => 触发【事故调查小组成立】会议 => 【事故调查小组成员AE008】表单=> 触发【事故调查讨论】会议 => 【勘察记录表 AE018】表单  => 触发【调查报告讨论】会议 => 【事故事件调查结果填报表AE010】
+
         /// 
         /// 其他模块 对接到会议开始
         /// 
@@ -847,68 +1751,376 @@ namespace APT.PP.WebApi.Controllers.Api.PP
         {
             return SafeExecute(() =>
             {
-                DateTime dtNow = DateTime.Now;
-                if (!string.IsNullOrEmpty(filter.Parameter1))
+                try
                 {
-                    try
+                    DateTime dtNow = DateTime.Now;
+                    if (!string.IsNullOrEmpty(filter.Parameter1))
                     {
-                        //接收来自页面的参数
-                        DateTime deParm = Convert.ToDateTime(filter.Parameter1);
-                        dtNow = deParm;
+                        try
+                        {
+                            //接收来自页面的参数
+                            DateTime deParm = Convert.ToDateTime(filter.Parameter1);
+                            dtNow = deParm;
+                        }
+                        catch { }
                     }
-                    catch { }
-                }
 
-                var listMtBegin = GetEntities(e => !e.IS_DELETED && !e.ISBEGIN && (!e.END_IGNORE.HasValue || e.END_IGNORE.Value > dtNow), null, null).OrderBy(e => e.CREATE_TIME.Value);
-                //&& e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Date == dtNow.Date  只要没触发 就会触发
+                    //ToWJSH 暂时没有表单 所以暂时只做了基础的处理
+                    var listMtBegin = GetEntities(e => !e.IS_DELETED && !e.ISBEGIN && (!e.END_IGNORE.HasValue || e.END_IGNORE.Value > dtNow), null, null).OrderBy(e => e.CREATE_TIME.Value);
+                    //&& e.CREATE_TIME.HasValue && e.CREATE_TIME.Value.Date == dtNow.Date  只要没触发 就会触发
 
-                if (listMtBegin == null && !listMtBegin.Any())
-                {
-                    return true;
-                }
+                    if (listMtBegin == null || !listMtBegin.Any())
+                        return true;
 
+                    #region    业务代码 扩展 每条一个事务处理 加强健壮性 但是性能低一些
 
-                #region    业务代码 扩展 每条一个事务处理 加强健壮性 但是性能低一些
-
-
-                bool isChange = false;
-                //foreach (var item in listMtBegin)
-                //{
-                //    switch (item.SOURCETYPE)
-                //    {
-                //        case SOURCETYPE.EventReport:
-
-                //            if (!isChange)
-                //                isChange = true;
-                //            break;
-                //        default:
-                //            break;
-                //    }
-                //}
-
-                #endregion
-
-                if (isChange)
-                {
-                    T_FM_SYNC_TASK taskSync = GetEntity(filter.Keyword);//跑批待办
-                    if (taskSync.SYNC_PARAM != null)
+                    int Count = 0;
+                    T_SC_MT_MEETING entityMT = null;
+                    List listMTAllUser = null;
+                    List listMTContent = null;
+                    T_FM_NOTIFICATION_TASK taskNotice = null;
+                    //T_AE_ACCIDENT_SURVEY_TEAM_MEMBER member = null;
+                    //IEnumerable listUserLeadre = null;
+                    //IEnumerable listMember = null;
+                    T_FM_USER userSurvey = null;
+                    IEnumerable listUserID = null;
+                    foreach (var item in listMtBegin)
                     {
-                        taskSync.SYNC_PARAM = "";
+                        switch (item.SOURCETYPE)
+                        {
+                            case SOURCETYPE.AE006ToMeet:
+                                #region //《事故事件上报表》归档后    触发   会议类型:普通会议    会议内容:事故调查小组成立
+                                userSurvey = GetEntity(item.USER_ID, "Nav_Department");
+                                entityMT = new T_SC_MT_MEETING();
+                                entityMT.ID = Guid.NewGuid();
+                                entityMT.MEETINGTYPE = SCMEETINGTYPE.Ordinary;
+                                entityMT.CREACTTYPE = CREACTTYPEEnum.ToAE006;
+                                entityMT.DEPARTMENT_ID = userSurvey.DEPARTMENT_ID.Value;
+                                entityMT.LEVELVALUE = userSurvey.Nav_Department.DEPARTMENT_TYPE;
+                                entityMT.ORG_ID = item.ORG_ID;
+                                entityMT.USER_ID_ORIGINATOR = item.USER_ID;
+                                entityMT.STATUS = PFStandardStatus.Draft;
+                                entityMT.PERSCORE = 0;
+                                entityMT.IS_DELETED = false;
+                                entityMT.CREATE_TIME = DateTime.Now;
+
+                                var modelContent = GetEntity(e => e.NAME == "事故调查小组成立");
+                                if (modelContent != null)
+                                {
+                                    listMTContent = new List();
+                                    listMTContent.Add(new T_SC_MT_MEETING_CONTENT()
+                                    {
+                                        ID = Guid.NewGuid(),
+                                        ORG_ID = item.ORG_ID,
+                                        MEETING_ID = entityMT.ID,
+                                        CONTENTNAME_ID = modelContent.ID,
+                                    });
+                                }
+                                taskNotice = NotificationTaskService.InsertUserNoticeTaskModel("请召开事故调查小组成立会议", entityMT.ID, entityMT.ORG_ID, userSurvey.ID, userSurvey.NAME, dtNow, 0, "SC032", FMTASKTYPE.MT_PLAN_Make);
+                                item.RUN_COUNT++;
+                                item.ISBEGIN = true;
+                                item.MODIFY_TIME = DateTime.Now;
+                                item.MEETING_ID = entityMT.ID;
+                                this.UnifiedCommit(() =>
+                                {
+                                    UpdateEntityNoCommit(item);
+                                    UpdateEntityNoCommit(taskNotice);
+                                    UpdateEntityNoCommit(entityMT);//多次触发 人员可能会重复 
+                                    if (listMTContent != null && listMTContent.Any())//会议内容
+                                        BantchSaveEntityNoCommit(listMTContent);
+                                });
+                                Count += 4;
+                                #endregion
+                                break;
+                            case SOURCETYPE.AE008ToMeet:
+                                #region     流程描述 事故调查小组 =>会议 => 勘察记录 
+                                //member = GetEntity(e => e.REPORT_ID.HasValue && e.REPORT_ID.Value == item.DATA_ID && e.STATUS == PFStandardStatus.Archived, "Nav_AccidentEventReport");
+                                //listUserLeadre = GetEntities(e => !e.IS_DELETED && e.TEAM_MEMBER_ID == member.ID, null, null);//副组长
+                                //listMember = GetEntities(e => !e.IS_DELETED && e.TEAM_MEMBER_ID == member.ID, null, null);//组员 
+                                //if (listMember == null)
+                                //    continue;
+                                //entityMT = new T_SC_MT_MEETING();
+                                //listMTAllUser = new List();
+                                //listUserID = new List();
+                                //if (listUserLeadre != null && listUserLeadre.Any())
+                                //{
+                                //    listUserID = listUserLeadre.Where(e => e.USER_ID.HasValue).Select(e => e.USER_ID.Value);
+                                //}
+                                //if (listMember != null && listMember.Any())
+                                //{
+                                //    listUserID = listUserID.Concat(listMember.Where(e => e.USER_ID.HasValue).Select(e => e.USER_ID.Value));
+                                //}
+                                //if (member.LEADER_USER_ID.HasValue && !listUserID.Contains(member.LEADER_USER_ID.Value))
+                                //{
+                                //    listUserID.Append(member.LEADER_USER_ID.Value);
+                                //}
+                                //if (member.SURVEY_USER_ID.HasValue && !listUserID.Contains(member.SURVEY_USER_ID.Value))
+                                //{
+                                //    listUserID.Append(member.SURVEY_USER_ID.Value);
+                                //}
+                                //listUserID = listUserID.Distinct();
+
+                                //if (!item.MEETING_ID.HasValue || item.MEETING_ID == Guid.Empty)
+                                //{
+                                //    item.MEETING_ID = Guid.NewGuid();
+                                //}
+                                //userSurvey = GetEntity(member.SURVEY_USER_ID.Value, "Nav_Department");
+                                //listMTAllUser = SCMTMeetingService.GetEntityInfo(item.MEETING_ID.Value, "事故调查小组成立 " + DateTime.Now.ToString("yyMMdd"), "事故调查小组成立", member.Nav_AccidentEventReport.CODE, item.ORG_ID, userSurvey.DEPARTMENT_ID.Value, userSurvey.Nav_Department.DEPARTMENT_TYPE, member.SURVEY_USER_ID.Value, CREACTTYPEEnum.AEToMTAfterTeamMember, SCMEETINGTYPE.Ordinary, listUserID, out entityMT);
+                                //taskNotice = NotificationTaskService.InsertUserNoticeTaskModel("请召开事故调查讨论会议", entityMT.ID, entityMT.ORG_ID, entityMT.USER_ID_ORIGINATOR, userSurvey.NAME, dtNow, 0, "SC032", FMTASKTYPE.MT_PLAN_Make);//+ entityMT.MEETINGTYPE.GetDescription()
+
+                                //item.RUN_COUNT++;
+                                //item.ISBEGIN = true;
+                                //item.MODIFY_TIME = DateTime.Now;
+                                ////item.MEETING_ID = entityMT.ID;
+                                //var modelContent008 = GetEntity(e => e.NAME == "事故调查讨论");
+                                //if (modelContent008 != null)
+                                //{
+                                //    listMTContent = new List();
+                                //    listMTContent.Add(new T_SC_MT_MEETING_CONTENT()
+                                //    {
+                                //        ID = Guid.NewGuid(),
+                                //        ORG_ID = item.ORG_ID,
+                                //        MEETING_ID = entityMT.ID,
+                                //        CONTENTNAME_ID = modelContent008.ID,
+                                //    });
+                                //}
+
+                                ////var userLeader = GetEntity(member.LEADER_USER_ID.Value, "Nav_Department");
+                                //////SCMTMeetingService.GetEntityInfo(item.MEETING_ID.Value, "事故事件关联 " + DateTime.Now.ToString("yyMMdd"), "事故事件关联 " + member.Nav_AccidentEventReport.NAME, member.Nav_AccidentEventReport.CODE, item.ORG_ID, userLeader.DEPARTMENT_ID.Value, userLeader.Nav_Department.DEPARTMENT_TYPE, member.LEADER_USER_ID.Value, CREACTTYPEEnum.AEToMTAfterTeamMember, SCMEETINGTYPE.Ordinary, listUserID, out entityMT, out listMTAllUser);
+                                ////SCMTMeetingService.GetEntityInfo(item.MEETING_ID.Value, "事故调查小组成立 " + DateTime.Now.ToString("yyMMdd"), "事故调查小组成立", member.Nav_AccidentEventReport.CODE, item.ORG_ID, userLeader.DEPARTMENT_ID.Value, userLeader.Nav_Department.DEPARTMENT_TYPE, member.LEADER_USER_ID.Value, CREACTTYPEEnum.AEToMTAfterTeamMember, SCMEETINGTYPE.Ordinary, listUserID, out entityMT, out listMTAllUser);
+                                //////listTask = NotificationTaskService.InsertUserNoticeTaskModels(noticeTitles[0], noticeDataIds, filter.OrgId, noticeUserIds, noticeUserNames, DateTime.Now, 0, FormCode, FMTASKTYPE.MT_PLAN_Make, (int)listPlanSetRund[i].PLANCHECKFREQUENCY);
+                                ////T_FM_NOTIFICATION_TASK taskNotice = NotificationTaskService.InsertUserNoticeTaskModel("请召开" + entityMT.MEETINGTYPE.GetDescription(), entityMT.ID, entityMT.ORG_ID, entityMT.USER_ID_ORIGINATOR, userLeader.NAME, dtNow, 0, "SC032", FMTASKTYPE.MT_PLAN_Make);
+
+                                ////信息修改
+                                //this.UnifiedCommit(() =>
+                                //{
+                                //    UpdateEntityNoCommit(item);
+                                //    UpdateEntityNoCommit(entityMT);//多次触发 人员可能会重复 
+                                //    if (listMTAllUser != null && listMTAllUser.Any())
+                                //        BantchSaveEntityNoCommit(listMTAllUser);
+                                //    if (listMTContent != null && listMTContent.Any())
+                                //        BantchSaveEntityNoCommit(listMTContent);
+                                //    UpdateEntityNoCommit(taskNotice);
+                                //});
+                                //Count += ((listMTAllUser != null && listMTAllUser.Any()) ? listMTAllUser.Count() : 0);
+                                #endregion
+                                break;
+                            case SOURCETYPE.AE018ToMeet:
+                                #region     //调查报告讨论   //《勘察记录表》归档后          触发   会议类型:普通会议    会议内容:调查报告讨论
+                                //var recordModel = GetEntity(item.DATA_ID);
+                                //if (recordModel == null || !recordModel.ACCIDENT_ID.HasValue)
+                                //    continue;
+                                //member = GetEntity(e => e.REPORT_ID.HasValue && e.REPORT_ID.Value == recordModel.ACCIDENT_ID.Value && e.STATUS == PFStandardStatus.Archived, "Nav_AccidentEventReport");
+                                //if (member == null)
+                                //    continue;
+                                ////member = GetEntity(e => e.REPORT_ID.HasValue && e.REPORT_ID.Value == item.DATA_ID && e.STATUS == PFStandardStatus.Archived, "Nav_AccidentEventReport");
+                                //listUserLeadre = GetEntities(e => !e.IS_DELETED && e.TEAM_MEMBER_ID == member.ID, null, null);//副组长
+                                //listMember = GetEntities(e => !e.IS_DELETED && e.TEAM_MEMBER_ID == member.ID, null, null);//组员 
+                                //if (listUserLeadre == null || listMember == null)
+                                //    continue;
+                                //entityMT = new T_SC_MT_MEETING();
+                                //listMTAllUser = new List();
+                                //listUserID = new List();
+                                //if (listUserLeadre != null && listUserLeadre.Any())
+                                //{
+                                //    listUserID = listUserLeadre.Where(e => e.USER_ID.HasValue).Select(e => e.USER_ID.Value);
+                                //}
+                                //if (listMember != null && listMember.Any())
+                                //{
+                                //    listUserID = listUserID.Concat(listMember.Where(e => e.USER_ID.HasValue).Select(e => e.USER_ID.Value));
+                                //}
+                                //if (member.LEADER_USER_ID.HasValue && !listUserID.Contains(member.LEADER_USER_ID.Value))
+                                //{
+                                //    listUserID.Append(member.LEADER_USER_ID.Value);
+                                //}
+                                //if (member.SURVEY_USER_ID.HasValue && !listUserID.Contains(member.SURVEY_USER_ID.Value))
+                                //{
+                                //    listUserID.Append(member.SURVEY_USER_ID.Value);
+                                //}
+                                //listUserID = listUserID.Distinct();
+
+                                //if (!item.MEETING_ID.HasValue || item.MEETING_ID == Guid.Empty)
+                                //{
+                                //    item.MEETING_ID = Guid.NewGuid();
+                                //}
+                                //userSurvey = GetEntity(member.SURVEY_USER_ID.Value, "Nav_Department");
+
+                                //listMTAllUser = SCMTMeetingService.GetEntityInfo(item.MEETING_ID.Value, "调查报告讨论" + DateTime.Now.ToString("yyMMdd"), "调查报告讨论", member.Nav_AccidentEventReport.CODE, item.ORG_ID, userSurvey.DEPARTMENT_ID.Value, userSurvey.Nav_Department.DEPARTMENT_TYPE, member.SURVEY_USER_ID.Value, CREACTTYPEEnum.ToAE010, SCMEETINGTYPE.Ordinary, listUserID, out entityMT);
+
+                                //taskNotice = NotificationTaskService.InsertUserNoticeTaskModel("请召开调查报告讨论会议", entityMT.ID, entityMT.ORG_ID, entityMT.USER_ID_ORIGINATOR, userSurvey.NAME, dtNow, 0, "SC032", FMTASKTYPE.MT_PLAN_Make);
+
+                                //var modelContent018 = GetEntity(e => e.NAME == "调查报告讨论");
+                                //if (modelContent018 != null)
+                                //{
+                                //    listMTContent = new List();
+                                //    listMTContent.Add(new T_SC_MT_MEETING_CONTENT()
+                                //    {
+                                //        ID = Guid.NewGuid(),
+                                //        ORG_ID = item.ORG_ID,
+                                //        MEETING_ID = entityMT.ID,
+                                //        CONTENTNAME_ID = modelContent018.ID,
+                                //    });
+                                //}
+
+                                //item.RUN_COUNT++;
+                                //item.ISBEGIN = true;
+                                //item.MODIFY_TIME = DateTime.Now;
+                                //item.MEETING_ID = entityMT.ID;
+                                ////信息修改
+                                //this.UnifiedCommit(() =>
+                                //{
+                                //    UpdateEntityNoCommit(item);
+                                //    UpdateEntityNoCommit(entityMT);//多次触发 人员可能会重复 
+                                //    UpdateEntityNoCommit(taskNotice);
+                                //    if (listMTAllUser != null && listMTAllUser.Any())
+                                //        BantchSaveEntityNoCommit(listMTAllUser);
+                                //    if (listMTContent != null && listMTContent.Any())
+                                //        BantchSaveEntityNoCommit(listMTContent);
+                                //});
+                                //Count += (2 + ((listMTAllUser != null && listMTAllUser.Any()) ? listMTAllUser.Count() : 0) + (listMTContent != null ? listMTContent.Count : 0));
+                                #endregion
+                                break;
+                            case SOURCETYPE.PR023ToMeet:
+                                #region      //《变化识别评估表》提交后      触发   会议类型:普通会议    会议内容:变化管理讨论     触发对象: item.USER_ID
+
+                                var modelUser = GetEntity(item.USER_ID, "Nav_Department");
+                                entityMT = new T_SC_MT_MEETING();
+                                entityMT.ID = Guid.NewGuid();
+                                entityMT.MEETINGTYPE = SCMEETINGTYPE.Ordinary;
+                                entityMT.CREACTTYPE = CREACTTYPEEnum.PR023ToMeet;
+                                if (!modelUser.DEPARTMENT_ID.HasValue)
+                                {
+                                    throw new Exception(HttpContext.Request.Path + " 1834 " + modelUser.ID.ToString());
+                                }
+                                entityMT.DEPARTMENT_ID = modelUser.DEPARTMENT_ID.Value;
+                                if (userSurvey != null && userSurvey.Nav_Department != null)
+                                {
+                                    entityMT.LEVELVALUE = userSurvey.Nav_Department.DEPARTMENT_TYPE;
+                                }
+                                entityMT.ORG_ID = item.ORG_ID;
+                                entityMT.USER_ID_ORIGINATOR = item.USER_ID;
+                                entityMT.STATUS = PFStandardStatus.Draft;
+                                entityMT.PERSCORE = 0;
+                                entityMT.IS_DELETED = false;
+                                entityMT.CREATE_TIME = DateTime.Now;
+
+                                modelContent = GetEntity(e => e.NAME == "变化管理讨论");
+                                if (modelContent != null)
+                                {
+                                    listMTContent = new List();
+                                    listMTContent.Add(new T_SC_MT_MEETING_CONTENT()
+                                    {
+                                        ID = Guid.NewGuid(),
+                                        ORG_ID = item.ORG_ID,
+                                        MEETING_ID = entityMT.ID,
+                                        CONTENTNAME_ID = modelContent.ID,
+                                    });
+                                }
+
+                                taskNotice = NotificationTaskService.InsertUserNoticeTaskModel("请召开变化管理讨论会议", entityMT.ID, entityMT.ORG_ID, modelUser.ID, modelUser.NAME, dtNow, 0, "SC032", FMTASKTYPE.MT_PLAN_Make);
+
+                                item.RUN_COUNT++;
+                                item.ISBEGIN = true;
+                                item.MODIFY_TIME = DateTime.Now;
+                                item.MEETING_ID = entityMT.ID;
+
+                                this.UnifiedCommit(() =>
+                                {
+                                    UpdateEntityNoCommit(item);
+                                    UpdateEntityNoCommit(entityMT);//多次触发 人员可能会重复 
+                                    if (listMTContent != null && listMTContent.Any())//会议内容
+                                        BantchSaveEntityNoCommit(listMTContent);
+                                    UpdateEntityNoCommit(taskNotice);
+                                });
+                                Count += (2 + (listMTContent != null ? listMTContent.Count : 0));
+                                #endregion
+                                break;
+                            case SOURCETYPE.PT014ToMeet:
+                                #region      //《安全生产方针征集表》归档后  触发   会议类型:普通会议    会议内容:安全生产方针讨论   触发对象:安环部负责人 / 安全员
+                                string Msg = string.Empty;
+                                var userSafeMaster = UserService.GetRoleUser(ref Msg, "安环部负责人", null, null);
+                                if (userSafeMaster == null)
+                                    userSafeMaster = UserService.GetRoleUser(ref Msg, "安环部安全员", null, null);
+                                if (userSafeMaster != null)
+                                {
+                                    entityMT = new T_SC_MT_MEETING();
+                                    entityMT.ID = Guid.NewGuid();
+                                    entityMT.MEETINGTYPE = SCMEETINGTYPE.Ordinary;
+                                    entityMT.DEPARTMENT_ID = userSafeMaster.DEPARTMENT_ID.Value;
+                                    entityMT.LEVELVALUE = (int)FMDepartmentType.部门;
+                                    entityMT.ORG_ID = item.ORG_ID;
+                                    entityMT.USER_ID_ORIGINATOR = userSafeMaster.ID;
+                                    entityMT.STATUS = PFStandardStatus.Draft;
+                                    entityMT.PERSCORE = 0;
+                                    entityMT.IS_DELETED = false;
+                                    entityMT.CREATE_TIME = DateTime.Now;
+
+                                    var modelContent014 = GetEntity(e => e.NAME == "安全生产方针讨论");
+                                    if (modelContent014 != null)
+                                    {
+                                        listMTContent = new List();
+                                        listMTContent.Add(new T_SC_MT_MEETING_CONTENT()
+                                        {
+                                            ID = Guid.NewGuid(),
+                                            ORG_ID = item.ORG_ID,
+                                            MEETING_ID = entityMT.ID,
+                                            CONTENTNAME_ID = modelContent014.ID,
+                                        });
+                                    }
+                                    taskNotice = NotificationTaskService.InsertUserNoticeTaskModel("请召开安全生产方针讨论会议", entityMT.ID, entityMT.ORG_ID, userSafeMaster.ID, userSafeMaster.NAME, dtNow, 0, "SC032", FMTASKTYPE.MT_PLAN_Make);
+                                    item.RUN_COUNT++;
+                                    item.ISBEGIN = true;
+                                    item.MODIFY_TIME = DateTime.Now;
+                                    item.MEETING_ID = entityMT.ID;
+                                    this.UnifiedCommit(() =>
+                                    {
+                                        UpdateEntityNoCommit(item);
+                                        UpdateEntityNoCommit(entityMT);//多次触发 人员可能会重复 
+                                        if (listMTContent != null && listMTContent.Any())//会议内容
+                                            BantchSaveEntityNoCommit(listMTContent);
+                                        UpdateEntityNoCommit(taskNotice);
+                                    });
+                                    Count += (2 + (listMTContent != null ? listMTContent.Count : 0));
+                                }
+                                #endregion
+                                break;
+                            default:
+                                break;
+                        }
                     }
-                    taskSync.TASK_END_TIME = DateTime.Now;
-                    taskSync.UPDATE_SUCCES_TIME = DateTime.Now;
-                    this.UnifiedCommit(() =>
-                    {
-                        if (taskSync != null) //跑批信息
-                            UpdateEntityNoCommit(taskSync);
-                    });
-                }
 
+                    SyncLogDetailService.InsertSyncLogDetail(HttpContext.Items, HttpContext.TraceIdentifier, filter.OrgId, Count, filter.Parameter1, SyncLogType.BSCreateCheckPlanSet);
+                    #endregion
+
+                    if (Count > 0)
+                    {
+                        T_FM_SYNC_TASK taskSync = GetEntity(filter.Keyword);//跑批待办
+                        if (taskSync.SYNC_PARAM != null)
+                        {
+                            taskSync.SYNC_PARAM = "";
+                        }
+                        taskSync.TASK_END_TIME = DateTime.Now;
+                        taskSync.UPDATE_SUCCES_TIME = DateTime.Now;
+                        this.UnifiedCommit(() =>
+                        {
+                            if (taskSync != null) //跑批信息
+                                UpdateEntityNoCommit(taskSync);
+                        });
+                    }
+                }
+                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;
             });
         }
 
 
+
         ///// 
         ///// 会议开始   原方法 如果有多个可能会报错
         ///// 现在按每个单独处理(从数据库获取的model 不能设置导航属性为空)