From da6b5437817b9e3591df32ce5e667cf6aa717baa Mon Sep 17 00:00:00 2001
From: wyw <571921741@qq.com>
Date: Mon, 25 Mar 2024 13:56:33 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=90=8C=E6=AD=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
 .../IServices/FM/IFMFlowPermitService.cs      |     2 +-
 .../FM/IFMNotificationTaskService.cs          |     2 +-
 .../Platform/IPFApproveCallBackService.cs     |     2 +-
 .../Services/FM/FMDepartmentService.cs        |     8 +-
 .../Services/FM/FMFlowPermitService.cs        |    91 +-
 .../Services/FM/FMNoticeService.cs            |     4 +-
 .../Services/FM/FMNotificationTaskService.cs  |     4 +-
 .../Services/PF/PFApproveCallBackService.cs   |    46 +-
 .../20240325014058_wyw2024032501.Designer.cs  | 61839 ++++++++++++++++
 .../20240325014058_wyw2024032501.cs           |    64 +
 .../MigrationContextModelSnapshot.cs          |   101 +-
 APT.MS.Data/Mapping/T4/T4Map.cs               |    11 +
 APT.MS.Domain/Entities/BS/T_BS_OPERATE_LOG.cs |    71 +
 .../Entities/BS/T_BS_RISK_SUBMIT_CONTENT.cs   |     8 +
 APT.MS.Domain/Enums/BS/BSEnums.cs             |   101 +-
 .../IServices/BS/IBSOperateLogService.cs      |    27 +
 .../Services/BS/BSOperateLogService.cs        |   245 +
 .../APT.BS.WebApi/App_Start/DIConfig.cs       |     1 +
 .../Api/BSRiskSubmitContentController.cs      |    42 +-
 .../Controllers/Api/BSRiskSubmitController.cs |    23 +-
 .../Controllers/Api/BSSafeCheckController.cs  |    81 +-
 .../Controllers/Api/T4/T4Control.cs           |   105 +
 22 files changed, 62802 insertions(+), 76 deletions(-)
 create mode 100644 APT.Data.Migrations/Migrations/20240325014058_wyw2024032501.Designer.cs
 create mode 100644 APT.Data.Migrations/Migrations/20240325014058_wyw2024032501.cs
 create mode 100644 APT.MS.Domain/Entities/BS/T_BS_OPERATE_LOG.cs
 create mode 100644 APT.MS.Domain/IServices/BS/IBSOperateLogService.cs
 create mode 100644 APT.MS.Services/Services/BS/BSOperateLogService.cs
diff --git a/APT.BaseData.Domain/IServices/FM/IFMFlowPermitService.cs b/APT.BaseData.Domain/IServices/FM/IFMFlowPermitService.cs
index f44f109..b07e2f5 100644
--- a/APT.BaseData.Domain/IServices/FM/IFMFlowPermitService.cs
+++ b/APT.BaseData.Domain/IServices/FM/IFMFlowPermitService.cs
@@ -52,7 +52,7 @@ namespace APT.BaseData.Domain.IServices.FM
         /// 自定义审批流程人员部门信息
         /// 审批流名称
         /// 
-        void InsertApprove(string serialCode, string fromCode, string param, Guid id, string approveCode, Guid? finishNoticeId, bool sendMessage, Action action, Guid? approveId = null, Guid? approveUserId = null, Dictionary dicApproveUser = null, Dictionary dicApproveDepartMentID = null, string NoticeCode = "", string taskSourceFormCode = "", Guid? operaterID = null, string approveTaskName = "", Enums.FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null);
+        void InsertApprove(string serialCode, string fromCode, string param, Guid id, string approveCode, Guid? finishNoticeId, bool sendMessage, Action action, Guid? approveId = null, Guid? approveUserId = null, Dictionary dicApproveUser = null, Dictionary dicApproveDepartMentID = null, string NoticeCode = "", string taskSourceFormCode = "", Guid? operaterID = null, string approveTaskName = "", Enums.FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null, int? BSOperateEnum = null);
 
         /// 
         /// 发布审批流
diff --git a/APT.BaseData.Domain/IServices/FM/IFMNotificationTaskService.cs b/APT.BaseData.Domain/IServices/FM/IFMNotificationTaskService.cs
index f6aae49..c4d9405 100644
--- a/APT.BaseData.Domain/IServices/FM/IFMNotificationTaskService.cs
+++ b/APT.BaseData.Domain/IServices/FM/IFMNotificationTaskService.cs
@@ -228,7 +228,7 @@ namespace APT.BaseData.Domain.IServices.FM
         /// 
         /// 消息ID
         /// 
-        List InsertUserNoticeTaskModels(string Name, Guid DataId, Guid? OrgId, List UserId, List userName,
+        List InsertUserNoticeTaskModels(string Name, Guid? DataId, Guid? OrgId, List UserId, List userName,
   DateTime startTime, DateTime endTime, int noticeType, string formCode, Guid? AutoDoneID = null);
         /// 
         /// 发送新消息集合返回实体集合
diff --git a/APT.BaseData.Domain/IServices/Platform/IPFApproveCallBackService.cs b/APT.BaseData.Domain/IServices/Platform/IPFApproveCallBackService.cs
index bc6062a..9ee9001 100644
--- a/APT.BaseData.Domain/IServices/Platform/IPFApproveCallBackService.cs
+++ b/APT.BaseData.Domain/IServices/Platform/IPFApproveCallBackService.cs
@@ -56,7 +56,7 @@ namespace APT.BaseData.Domain.IServices
         /// 
         /// 
         /// 
-        bool CallBackNew(string CALLBACK_INTERFACE, T_PF_APPROVE entity);
+        bool CallBackNew(string CALLBACK_INTERFACE, T_PF_APPROVE entity, bool isApprovel = true);
 
     }
 }
diff --git a/APT.BaseData.Services/Services/FM/FMDepartmentService.cs b/APT.BaseData.Services/Services/FM/FMDepartmentService.cs
index 304c657..6c61a01 100644
--- a/APT.BaseData.Services/Services/FM/FMDepartmentService.cs
+++ b/APT.BaseData.Services/Services/FM/FMDepartmentService.cs
@@ -111,14 +111,14 @@ namespace APT.BaseData.Services.Services.FM
                 {
                     return dep;
                 }
-                else if (dep.Nav_Parent.DEPARTMENT_TYPE == 0)
-                {
-                    return dep.Nav_Parent;
-                }
                 else if (dep.DEPARTMENT_TYPE == 3)
                 {
                     return dep;
                 }
+                else if (dep.Nav_Parent.DEPARTMENT_TYPE == 0)
+                {
+                    return dep.Nav_Parent;
+                }
                 else
                 {
                     if (!dep.Nav_Parent.PARENT_ID.HasValue)
diff --git a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs
index 0638f8a..169d254 100644
--- a/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs
+++ b/APT.BaseData.Services/Services/FM/FMFlowPermitService.cs
@@ -14,6 +14,8 @@ using System.Linq.Expressions;
 using Newtonsoft.Json;
 using APT.MS.Domain.Entities.PF;
 using InfluxData.Net.InfluxDb.Models.Responses;
+using APT.BaseData.Domain.IServices.BS;
+using APT.MS.Domain.Entities.BS;
 
 namespace APT.BaseData.Services.Services.FM
 {
@@ -26,15 +28,16 @@ namespace APT.BaseData.Services.Services.FM
         IFMNotificationTaskService NotificationTaskService { get; set; }
         IPFSysLogService SysLogService { get; set; }
         IPFApproveCallBackService ApproveCallBackService { get; set; }
+        IBSOperateLogService BSOperateLogService { get; set; }
 
-
-        public FMFlowPermitService(IRepository repository, IPFCodeRuleService codeRuleService, IFMNotificationTaskService notificationTaskService, IPFSysLogService sysLogService, IPFApproveCallBackService approveCallBackService)
+        public FMFlowPermitService(IRepository repository, IPFCodeRuleService codeRuleService, IFMNotificationTaskService notificationTaskService, IPFSysLogService sysLogService, IPFApproveCallBackService approveCallBackService, IBSOperateLogService bsOperateLogService)
             : base(repository)
         {
             CodeRuleService = codeRuleService;
             NotificationTaskService = notificationTaskService;
             SysLogService = sysLogService;
             ApproveCallBackService = approveCallBackService;
+            BSOperateLogService = bsOperateLogService;
         }
 
         /// 
@@ -315,7 +318,7 @@ namespace APT.BaseData.Services.Services.FM
         /// 
         /// 审批流名称
         /// 
-        public void InsertApprove(string serialCode, string fromCode, string param, Guid id, string approveCode, Guid? finishNoticeId, bool sendMessage, Action action, Guid? approveId = null, Guid? approveUserId = null, Dictionary dicApproveUser = null, Dictionary dicApproveDepartMentID = null, string NoticeCode = "", string taskSourceFormCode = "", Guid? operaterID = null, string approveTaskName = "", FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null)
+        public void InsertApprove(string serialCode, string fromCode, string param, Guid id, string approveCode, Guid? finishNoticeId, bool sendMessage, Action action, Guid? approveId = null, Guid? approveUserId = null, Dictionary dicApproveUser = null, Dictionary dicApproveDepartMentID = null, string NoticeCode = "", string taskSourceFormCode = "", Guid? operaterID = null, string approveTaskName = "", FMTASKTYPE? TASK_TYPE = null, int? FREQUENCYE = null, DateTime? DateTimeLastest = null, int? iBSOperateEnum = null)
         {
             T_PF_APPROVE approve = null;
             //上个消息
@@ -330,7 +333,7 @@ namespace APT.BaseData.Services.Services.FM
             }
             string CALLBACK_INTERFACE = string.Empty;
             List listDATA_ID = new List();
-
+            List listBSLog = null;
             if (sendMessage || approveId != null)// wyw 添加 || approveId != null   先添加审批流 但是不发送通知
             {
                 Expression> express = t => t.FORM_CODE == fromCode && t.ENABLE_STATUS == (int)FMEnableStatusEnum.启用;
@@ -443,6 +446,7 @@ namespace APT.BaseData.Services.Services.FM
                         if (detail.APPROVE_USER_ID != null)
                             appdetails.Add(detail);
                     });
+                    appdetails.OrderBy(t => t.NUM);
                     var loginUser = users.FirstOrDefault(t => t.ID == loginUserId);
                     var departUser = this.GetEntity(t => (t.USER_ID == loginUserId || t.CHARGEUSER_ID == loginUserId) && (t.NAME.Contains("安全环保") || t.NAME.Contains("安环部")));
                     if (departUser != null || (loginUser.Nav_ApproveRole != null && loginUser.Nav_ApproveRole.NAME.Contains("安环部负责人")) || (loginUser.Nav_ApproveRole != null && loginUser.Nav_ApproveRole.NAME.Contains("安环部安全员")))
@@ -490,15 +494,15 @@ namespace APT.BaseData.Services.Services.FM
 
                             var sendUserId = appdetails.Where(i => i.NUM == curentApprove.NUM).Select(t => (Guid)t.APPROVE_USER_ID).FirstOrDefault();
                             //var sendUserName = users.Where(i => i.ID == sendUserId).FirstOrDefault().NAME;
-                           var ue= users.Where(i => i.ID == sendUserId).FirstOrDefault();
+                            var ue = users.Where(i => i.ID == sendUserId).FirstOrDefault();
                             string sendUserName = string.Empty;
-                            if (ue!=null)
+                            if (ue != null)
                             {
                                 sendUserName = users.Where(i => i.ID == sendUserId).FirstOrDefault().NAME;
                             }
                             else
                             {
-                                sendUserName = GetEntity(t=>t.ID == sendUserId && t.ENABLE_STATUS == 0)?.NAME;
+                                sendUserName = GetEntity(t => t.ID == sendUserId && t.ENABLE_STATUS == 0)?.NAME;
                             }
 
                             string taskName = approveTaskName;
@@ -561,6 +565,35 @@ namespace APT.BaseData.Services.Services.FM
                         e.DEFAULT_APPROVE_USER_ID = null;
                     });
                 }
+
+                if (iBSOperateEnum.HasValue && appdetails != null && appdetails.Any())
+                {
+                    try
+                    {
+                        OPERATEPOINT_Enums OPERATEPOINT = (OPERATEPOINT_Enums)iBSOperateEnum;
+
+                        List ListUserID = new List();
+                        List ListUserName = new List();
+                        foreach (var item in appdetails)
+                        {
+                            if (item.APPROVE_USER_ID.HasValue)
+                            {
+                                ListUserID.Add(item.APPROVE_USER_ID.Value);
+                            }
+                        }
+                        if (ListUserID.Count > 0)
+                        {
+                            var listUser = GetEntities(e => ListUserID.Contains(e.ID));
+                            for (int i = 0; i < ListUserID.Count; i++)
+                            {
+                                ListUserName.Add(listUser.FirstOrDefault(e => e.ID == ListUserID[i])?.NAME);
+                            }
+                        }
+
+                        listBSLog = BSOperateLogService.GetListOperateLog(OPERATEPOINT, id, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, ListUserID, ListUserName, approve.ORG_ID, null, null);
+                    }
+                    catch { }
+                }
             }
             this.UnifiedCommit(() =>
             {
@@ -574,6 +607,8 @@ namespace APT.BaseData.Services.Services.FM
                     UpdateEntityNoCommit(finishNotice, "NOTICE_STATUS", "TASK_DT", "MODIFIER_ID");
                 if (notice != null)
                     AddEntityNoCommit(notice);
+                if (listBSLog != null && listBSLog.Any())
+                    BantchSaveEntityNoCommit(listBSLog);//有修改和新增
             });
 
             //如果 审批流需要执行默认审批 调用 回调方法
@@ -1421,10 +1456,29 @@ namespace APT.BaseData.Services.Services.FM
             //回调方法写在之后  不然之前数据都没有保存到数据库  原有的方法不能使用
             if (!string.IsNullOrEmpty(CALLBACK_INTERFACE) && listDATA_ID.Count > 0)
             {
-                this.UnifiedCommit(() =>
+                if (CALLBACK_INTERFACE == "BS/BSSafeCheck/CheckAuditEnd" || CALLBACK_INTERFACE == "BS/BSSafeCheck/CheckPlanAuditEnd" || CALLBACK_INTERFACE == "BS/BSRiskSubmit/Notice" ||
+                            CALLBACK_INTERFACE == "BS/BSRiskSubmit/DealEnd" || CALLBACK_INTERFACE == "BS/BSRiskSubmitDelayApply/DealEnd" || CALLBACK_INTERFACE == "FO/FOJobEventRecord/BackUpdate")
                 {
-                    ApproveCallBackService.CallBack(CALLBACK_INTERFACE, listDATA_ID);
-                });
+                    CALLBACK_INTERFACE = CALLBACK_INTERFACE + "New";
+                    foreach (var item in listApprove)
+                    {
+                        if (item.APPROVE_STATUS == 10)
+                        {
+                            this.UnifiedCommit(() =>
+                            {
+                                ApproveCallBackService.CallBackNew(CALLBACK_INTERFACE, item, false);
+                            });
+                        }
+                    }
+                }
+                else
+                {
+
+                    this.UnifiedCommit(() =>
+                    {
+                        ApproveCallBackService.CallBack(CALLBACK_INTERFACE, listDATA_ID);
+                    });
+                }
             }
         }
 
@@ -1505,14 +1559,17 @@ namespace APT.BaseData.Services.Services.FM
                                             }
                                             else
                                             {
-                                                var dep = GetEntity(user.DEPARTMENT_ID.Value);
-                                                if (dep != null)
+                                                if (user.Nav_Department != null && user.Nav_Department.DEPARTMENT_TYPE == 0)
                                                 {
-                                                    if (dep.USER_ID.HasValue)
-                                                    { approveId = dep.USER_ID.Value; }
-                                                    else if (dep.CHARGEUSER_ID.HasValue)
-                                                    { approveId = dep.CHARGEUSER_ID.Value; }
-                                                    break;
+                                                    var dep = GetEntity(user.DEPARTMENT_ID.Value);
+                                                    if (dep != null)
+                                                    {
+                                                        if (dep.USER_ID.HasValue)
+                                                        { approveId = dep.USER_ID.Value; }
+                                                        else if (dep.CHARGEUSER_ID.HasValue)
+                                                        { approveId = dep.CHARGEUSER_ID.Value; }
+                                                        break;
+                                                    }
                                                 }
                                             }
                                         }
diff --git a/APT.BaseData.Services/Services/FM/FMNoticeService.cs b/APT.BaseData.Services/Services/FM/FMNoticeService.cs
index ce2e0cb..3041baf 100644
--- a/APT.BaseData.Services/Services/FM/FMNoticeService.cs
+++ b/APT.BaseData.Services/Services/FM/FMNoticeService.cs
@@ -205,7 +205,7 @@ namespace APT.BaseData.Services.Services.FM
             {
                 UnifiedCommit(() =>
                 {
-                    BantchUpdateEntityNoCommit(listNoticeSend);
+                    BantchSaveEntityNoCommit(listNoticeSend);//BantchUpdateEntityNoCommit(listNoticeSend); 得升级 不然报错
                     if (task != null)
                     {
                         UpdateEntityNoCommit(task);
@@ -221,7 +221,7 @@ namespace APT.BaseData.Services.Services.FM
                     {
                         item.TRYCOUNT++;
                     }
-                    BantchUpdateEntityNoCommit(listChange);
+                    BantchSaveEntityNoCommit(listChange); //BantchUpdateEntityNoCommit(listChange);
                     if (task != null)
                     {
                         UpdateEntityNoCommit(task);
diff --git a/APT.BaseData.Services/Services/FM/FMNotificationTaskService.cs b/APT.BaseData.Services/Services/FM/FMNotificationTaskService.cs
index 7264319..d3c80d8 100644
--- a/APT.BaseData.Services/Services/FM/FMNotificationTaskService.cs
+++ b/APT.BaseData.Services/Services/FM/FMNotificationTaskService.cs
@@ -418,7 +418,7 @@ namespace APT.BaseData.Services.Services.FM
             var task = GetEntity(t => t.ID == id && t.SOURCE_DATA_ID == sourceDataId && t.NOTICE_STATUS == (int)FMNoticeStatusEnum.未处理);
             if (task == null)
             {
-                GetEntity(t => t.USER_ID == APT.Infrastructure.Api.AppContext.CurrentSession.UserID && t.SOURCE_DATA_ID == sourceDataId && t.NOTICE_STATUS == (int)FMNoticeStatusEnum.未处理);
+                task = GetEntity(t => t.USER_ID == APT.Infrastructure.Api.AppContext.CurrentSession.UserID && t.SOURCE_DATA_ID == sourceDataId && t.NOTICE_STATUS == (int)FMNoticeStatusEnum.未处理);
             }
             if (task != null)
             {
@@ -475,7 +475,7 @@ namespace APT.BaseData.Services.Services.FM
         /// 
         /// 消息ID
         /// 
-        public List InsertUserNoticeTaskModels(string Name, Guid DataId, Guid? OrgId, List UserIds, List UserNames,
+        public List InsertUserNoticeTaskModels(string Name, Guid? DataId, Guid? OrgId, List UserIds, List UserNames,
   DateTime startTime, DateTime endTime, int noticeType, string formCode, Guid? AutoDoneID = null)
         {
             List notices = new List();
diff --git a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs
index 3c56211..c115016 100644
--- a/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs
+++ b/APT.BaseData.Services/Services/PF/PFApproveCallBackService.cs
@@ -5411,7 +5411,7 @@ namespace APT.BaseData.Services.DomainServices
         /// 审批入参
         /// 
         /// 
-        public bool CallBackNew(string CALLBACK_INTERFACE, T_PF_APPROVE entityInt)
+        public bool CallBackNew(string CALLBACK_INTERFACE, T_PF_APPROVE entityInt, bool isApprovel = true)
         {
             bool result = false;
             if (!string.IsNullOrEmpty(CALLBACK_INTERFACE))
@@ -5424,8 +5424,11 @@ namespace APT.BaseData.Services.DomainServices
                 List listTaskNext = null;
                 string taskCodeCheck = String.Empty;
                 bool isLast = false;//非审批最后一步
-                bool resultGetApp = GetApproject2(entityInt, ref modelApp, ref listAppDetail, ref taskFinish, ref taskCodeCheck, ref isLast, ref listTaskNext);
-
+                bool resultGetApp = true;
+                if (isApprovel)
+                {
+                    resultGetApp = GetApproject2(entityInt, ref modelApp, ref listAppDetail, ref taskFinish, ref taskCodeCheck, ref isLast, ref listTaskNext);
+                }
                 if (!resultGetApp)
                 {
                     throw new Exception("审批失败!");
@@ -5433,7 +5436,7 @@ namespace APT.BaseData.Services.DomainServices
 
                 #endregion
 
-                if (!isLast)
+                if (!isLast && isApprovel)
                 {
                     //如果感觉taskID会乱  taskFinish 做case 判断
                     this.UnifiedCommit(() =>
@@ -5459,7 +5462,7 @@ namespace APT.BaseData.Services.DomainServices
                             result = CheckAuditEndNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast);
                             break;
                         case "BS/BSRiskSubmit/NoticeNew":
-                            result = NoticeNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast);
+                            result = NoticeNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast, isApprovel);
                             break;
                         case "BS/BSRiskSubmit/DealEndNew":
                             result = DealEndNew(entityInt, modelApp, listAppDetail, taskFinish, listTaskNext, isLast);
@@ -6758,11 +6761,11 @@ namespace APT.BaseData.Services.DomainServices
         /// 
         /// 
         /// 
-        private bool NoticeNew(T_PF_APPROVE entityInt, T_PF_APPROVE modelApp, List listAppDetail, T_FM_NOTIFICATION_TASK taskFinish, List listTaskNext, bool isLast = false)
+        private bool NoticeNew(T_PF_APPROVE entityInt, T_PF_APPROVE modelApp, List listAppDetail, T_FM_NOTIFICATION_TASK taskFinish, List listTaskNext, bool isLast = false, bool isApprovel = true)
         {
             #region     审批公用
 
-            if (modelApp == null)
+            if (modelApp == null && isApprovel)
             {
                 string taskCodeCheck = String.Empty;
                 bool result = GetApproject2(entityInt, ref modelApp, ref listAppDetail, ref taskFinish, ref taskCodeCheck, ref isLast, ref listTaskNext);
@@ -6774,7 +6777,7 @@ namespace APT.BaseData.Services.DomainServices
 
             #endregion
 
-            if (!isLast)
+            if (!isLast && isApprovel)
             {
                 this.UnifiedCommit(() =>
                 {
@@ -6926,7 +6929,7 @@ namespace APT.BaseData.Services.DomainServices
                             {
                                 listUserName.Add(item.Nav_UserDeal.NAME);//Nav_UserCheck
                             }//listUserName.Add(item.Nav_User.NAME);
-                            listName.Add("整改责任人确认:" + entity.NAME);// temp.NAME
+                            listName.Add("整改责任人指定落实人:" + entity.NAME);// temp.NAME
                         }
                     }
                     else
@@ -7250,8 +7253,10 @@ namespace APT.BaseData.Services.DomainServices
                 //给隐患上报隐患通知责任人  发送待办
                 if (isNoticeCheck)
                 {
-                    //listNotice = NotificationTaskService.InsertUserNoticeTaskModels(codeList, listName, listDataID, entity.ORG_ID, listUserID, listUserName, DateTime.Now, DateTime.Now.AddHours(24), (int)FMNoticeTypeEnum.消息, "BS042_SHOWPRINT");  
-                    listNotice = NotificationTaskService.InsertUserNoticeTaskModels(codeList, listName, listDataID, entity.ORG_ID, listUserID, listUserName, DateTime.Now, listEndTime, (int)FMNoticeTypeEnum.消息, "BS042_SHOWPRINT");
+
+                    //listNotice = NotificationTaskService.InsertUserNoticeTaskModels(codeList, listName, listDataID, entity.ORG_ID, listUserID, listUserName, DateTime.Now, listEndTime, (int)FMNoticeTypeEnum.消息, "BS042_SHOWPRINT");
+                    //整改责任人 指定 整改落实人
+                    listNotice = NotificationTaskService.InsertUserNoticeTaskModels(codeList, listName, listDataID, entity.ORG_ID, listUserID, listUserName, DateTime.Now, listEndTime, (int)FMNoticeTypeEnum.消息, "BS074");
                 }
                 else
                 {
@@ -7261,14 +7266,17 @@ namespace APT.BaseData.Services.DomainServices
 
                 UnifiedCommit(() =>
                 {
-                    if (modelApp != null)
-                        UpdateEntityNoCommit(modelApp);   //保存主表
-                    if (listAppDetail.Count > 0)//添加组合数据   修改的安全库、隐患库
-                        BantchSaveEntityNoCommit(listAppDetail);
-                    if (taskFinish != null)
-                        UpdateEntityNoCommit(taskFinish);
-                    if (listTaskNext != null && listTaskNext.Count > 0)//下个审批节点
-                        BantchSaveEntityNoCommit(listTaskNext);
+                    if (isApprovel)
+                    {
+                        if (modelApp != null)
+                            UpdateEntityNoCommit(modelApp);   //保存主表
+                        if (listAppDetail.Count > 0)//添加组合数据   修改的安全库、隐患库
+                            BantchSaveEntityNoCommit(listAppDetail);
+                        if (taskFinish != null)
+                            UpdateEntityNoCommit(taskFinish);
+                        if (listTaskNext != null && listTaskNext.Count > 0)//下个审批节点
+                            BantchSaveEntityNoCommit(listTaskNext);
+                    }
 
                     if (entityMain != null)//审批结束 如果隐患上报 全部明细都审批完成 登记完成时间
                         UpdateEntityNoCommit(entityMain);
diff --git a/APT.Data.Migrations/Migrations/20240325014058_wyw2024032501.Designer.cs b/APT.Data.Migrations/Migrations/20240325014058_wyw2024032501.Designer.cs
new file mode 100644
index 0000000..67af3d0
--- /dev/null
+++ b/APT.Data.Migrations/Migrations/20240325014058_wyw2024032501.Designer.cs
@@ -0,0 +1,61839 @@
+// 
+using System;
+using APT.Migrations;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+namespace APT.Data.Migrations.Migrations
+{
+    [DbContext(typeof(MigrationContext))]
+    [Migration("20240325014058_wyw2024032501")]
+    partial class wyw2024032501
+    {
+        protected override void BuildTargetModel(ModelBuilder modelBuilder)
+        {
+#pragma warning disable 612, 618
+            modelBuilder
+                .HasAnnotation("Relational:MaxIdentifierLength", 128)
+                .HasAnnotation("ProductVersion", "5.0.12")
+                .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
+
+            modelBuilder.Entity("APT.BaseData.Domain.Entities.BD.T_BD_HMI", b =>
+                {
+                    b.Property("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CODE")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("CREATER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATE_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("ENTITY_ORG_TPYE")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("FLOW_SEND_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FORM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("IS_DELETED")
+                        .HasColumnType("bit");
+
+                    b.Property("MODIFIER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("MODIFY_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("NAME")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("ORG_ID")
+                        .IsRequired()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("REMARK")
+                        .HasMaxLength(300)
+                        .HasColumnType("nvarchar(300)");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("ORG_ID");
+
+                    b.ToTable("T_BD_HMI");
+                });
+
+            modelBuilder.Entity("APT.BaseData.Domain.Entities.BD.T_BD_PICTURE", b =>
+                {
+                    b.Property("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CODE")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("CREATER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATE_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("DATA_TYPE")
+                        .HasColumnType("int");
+
+                    b.Property("ENABLE_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("ENTITY_ORG_TPYE")
+                        .HasColumnType("int");
+
+                    b.Property("ENUM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("ENUM_ITEM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("FLOW_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("FLOW_SEND_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FORM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("IS_DELETED")
+                        .HasColumnType("bit");
+
+                    b.Property("MODIFIER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("MODIFY_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("NAME")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("ORG_ID")
+                        .IsRequired()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("REMARK")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)");
+
+                    b.Property("SRC_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("ENUM_ID");
+
+                    b.HasIndex("ENUM_ITEM_ID");
+
+                    b.HasIndex("ORG_ID");
+
+                    b.HasIndex("CODE", "ORG_ID")
+                        .IsUnique()
+                        .HasFilter("[CODE] IS NOT NULL");
+
+                    b.ToTable("T_BD_PICTURE");
+                });
+
+            modelBuilder.Entity("APT.BaseData.Domain.Entities.BD.T_BD_PICTURE_FILE", b =>
+                {
+                    b.Property("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATE_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("ENTITY_ORG_TPYE")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("FLOW_SEND_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FORM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("IMG_FILE_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("IMG_FILE_PATH")
+                        .HasMaxLength(300)
+                        .HasColumnType("nvarchar(300)");
+
+                    b.Property("IS_DELETED")
+                        .HasColumnType("bit");
+
+                    b.Property("MODIFIER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("MODIFY_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("NAME")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property("ORG_ID")
+                        .IsRequired()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("PICTURE_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("SRC_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("IMG_FILE_ID");
+
+                    b.HasIndex("ORG_ID");
+
+                    b.HasIndex("PICTURE_ID");
+
+                    b.ToTable("T_BD_PICTURE_FILE");
+                });
+
+            modelBuilder.Entity("APT.BaseData.Domain.Entities.BD.T_BD_PLACE", b =>
+                {
+                    b.Property("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATE_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("ENTITY_ORG_TPYE")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("FLOW_SEND_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FORM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("IS_DELETED")
+                        .HasColumnType("bit");
+
+                    b.Property("IS_LEAF")
+                        .HasColumnType("bit");
+
+                    b.Property("MODIFIER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("MODIFY_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("NAME")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property("NAME_ACRONYM")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property("NUM")
+                        .HasColumnType("int");
+
+                    b.Property("ORG_ID")
+                        .IsRequired()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("PARENT_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("PROP")
+                        .HasColumnType("int");
+
+                    b.Property("TEXT")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("ORG_ID");
+
+                    b.HasIndex("PARENT_ID");
+
+                    b.ToTable("T_BD_PLACE");
+                });
+
+            modelBuilder.Entity("APT.BaseData.Domain.Entities.BD.T_BD_SERVER_INFO", b =>
+                {
+                    b.Property("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CODE")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("CPU")
+                        .HasColumnType("decimal(18,2)");
+
+                    b.Property("CREATER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATE_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("ENABLE_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("ENTITY_ORG_TPYE")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("FLOW_SEND_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FORM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("IP")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("IS_DELETED")
+                        .HasColumnType("bit");
+
+                    b.Property("MEMORY")
+                        .HasColumnType("decimal(18,2)");
+
+                    b.Property("MODIFIER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("MODIFY_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("ORG_ID")
+                        .IsRequired()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("REMARK")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)");
+
+                    b.Property("STORAGE")
+                        .HasColumnType("decimal(18,2)");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("ORG_ID");
+
+                    b.ToTable("T_BD_SERVER_INFO");
+                });
+
+            modelBuilder.Entity("APT.BaseData.Domain.Entities.BD.T_BD_SYSTEM_INFO", b =>
+                {
+                    b.Property("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CONCURRENCY")
+                        .HasColumnType("int");
+
+                    b.Property("CREATER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATE_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("ENTITY_ORG_TPYE")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("FLOW_SEND_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FORM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("IS_DELETED")
+                        .HasColumnType("bit");
+
+                    b.Property("MODIFIER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("MODIFY_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("ORG_ID")
+                        .IsRequired()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("PV")
+                        .HasColumnType("int");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("ORG_ID");
+
+                    b.ToTable("T_BD_SYSTEM_INFO");
+                });
+
+            modelBuilder.Entity("APT.BaseData.Domain.Entities.BD.T_BD_WORD_TEMPLATE", b =>
+                {
+                    b.Property("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CODE")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("CREATER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATE_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("DATA_API")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)");
+
+                    b.Property("ENTITY_ORG_TPYE")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("FLOW_SEND_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FORM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("IS_DELETED")
+                        .HasColumnType("bit");
+
+                    b.Property("MODIFIER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("MODIFY_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("NAME")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("ORG_ID")
+                        .IsRequired()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("REMARK")
+                        .HasMaxLength(300)
+                        .HasColumnType("nvarchar(300)");
+
+                    b.Property("RET_ENTITY_TYPE")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("ORG_ID");
+
+                    b.ToTable("T_BD_WORD_TEMPLATE");
+                });
+
+            modelBuilder.Entity("APT.BaseData.Domain.Entities.FM.T_FM_API", b =>
+                {
+                    b.Property("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATE_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("DESCRIBE")
+                        .HasMaxLength(500)
+                        .HasColumnType("nvarchar(500)");
+
+                    b.Property("ENTITY_ORG_TPYE")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("FLOW_SEND_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FORM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("IS_DELETED")
+                        .HasColumnType("bit");
+
+                    b.Property("METHOD")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property("MODIFIER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("MODIFY_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("NAME")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property("ORG_ID")
+                        .IsRequired()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("ORG_ID");
+
+                    b.ToTable("T_FM_API");
+                });
+
+            modelBuilder.Entity("APT.BaseData.Domain.Entities.FM.T_FM_AUTO_PRINT_RECORD", b =>
+                {
+                    b.Property("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATE_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("ENTITY_ORG_TPYE")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("FLOW_SEND_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FORM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("IS_DELETED")
+                        .HasColumnType("bit");
+
+                    b.Property("MODIFIER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("MODIFY_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("ORG_ID")
+                        .IsRequired()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("PRINTER_COMPUTER_NAME")
+                        .HasMaxLength(400)
+                        .HasColumnType("nvarchar(400)");
+
+                    b.Property("PRINTER_NAME")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)");
+
+                    b.Property("PRINT_NUMBER")
+                        .HasColumnType("int");
+
+                    b.Property("PRINT_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("PRINT_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("REMARK")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)");
+
+                    b.Property("SOURCE_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("SOURCE_TYPE")
+                        .HasColumnType("int");
+
+                    b.Property("TEMPLET_FILE_NAME")
+                        .HasMaxLength(400)
+                        .HasColumnType("nvarchar(400)");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("ORG_ID");
+
+                    b.ToTable("T_FM_AUTO_PRINT_RECORD");
+                });
+
+            modelBuilder.Entity("APT.BaseData.Domain.Entities.FM.T_FM_AUTO_PRINT_RECORD_DETAIL", b =>
+                {
+                    b.Property("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("AUTO_PRINT_RECORD_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATE_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("ENTITY_ORG_TPYE")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("FLOW_SEND_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FORM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("IS_DELETED")
+                        .HasColumnType("bit");
+
+                    b.Property("MODIFIER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("MODIFY_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("ORG_ID")
+                        .IsRequired()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("PARAM_NAME")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)");
+
+                    b.Property("PARAM_VALUE")
+                        .HasMaxLength(800)
+                        .HasColumnType("nvarchar(800)");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("AUTO_PRINT_RECORD_ID");
+
+                    b.HasIndex("ORG_ID");
+
+                    b.ToTable("T_FM_AUTO_PRINT_RECORD_DETAIL");
+                });
+
+            modelBuilder.Entity("APT.BaseData.Domain.Entities.FM.T_FM_BASE_ADD", b =>
+                {
+                    b.Property("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("ADDRESS")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)");
+
+                    b.Property("CREATER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATE_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("ENTITY_ORG_TPYE")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("FLOW_SEND_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FORM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("HIERARCHY")
+                        .HasMaxLength(20)
+                        .HasColumnType("nvarchar(20)");
+
+                    b.Property("IS_DELETED")
+                        .HasColumnType("bit");
+
+                    b.Property("LATITIDE")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("LONGITUDE")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("MODIFIER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("MODIFY_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("ORG_ID")
+                        .IsRequired()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.HasKey("ID");
+
+                    b.HasIndex("ORG_ID");
+
+                    b.ToTable("T_FM_BASE_ADD");
+                });
+
+            modelBuilder.Entity("APT.BaseData.Domain.Entities.FM.T_FM_BASE_CONFIG", b =>
+                {
+                    b.Property("ID")
+                        .ValueGeneratedOnAdd()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("APP_CONS_PICTURE_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("BACK_PIC_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("BOOK_TIME")
+                        .HasColumnType("int");
+
+                    b.Property("CALENDAR_DAYS")
+                        .HasColumnType("int");
+
+                    b.Property("CODE")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("CONTINUOUS_CORRENT")
+                        .HasColumnType("int");
+
+                    b.Property("CONTINUOUS_CORRENT_WARING")
+                        .HasColumnType("int");
+
+                    b.Property("CORRENT_OK")
+                        .HasColumnType("int");
+
+                    b.Property("CORRENT_TOTAL")
+                        .HasColumnType("int");
+
+                    b.Property("COST_BENCHMARK")
+                        .HasColumnType("decimal(18,2)");
+
+                    b.Property("CREATER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("CREATE_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("CURRENT_VOLTAGE_HMI_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("DOWN_PERCENT")
+                        .HasColumnType("decimal(18,2)");
+
+                    b.Property("ENTITY_ORG_TPYE")
+                        .HasColumnType("int");
+
+                    b.Property("EXCEL_TYPE")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("FILE_LEN")
+                        .HasColumnType("int");
+
+                    b.Property("FILE_PATH")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property("FILE_TYPE")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)");
+
+                    b.Property("FLOW_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("FLOW_SEND_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FLOW_STATUS")
+                        .HasColumnType("int");
+
+                    b.Property("FORM_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("HOME_HMI_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("IS_CHECK_MESSAGE")
+                        .HasColumnType("bit");
+
+                    b.Property("IS_DELETED")
+                        .HasColumnType("bit");
+
+                    b.Property("IS_MENU_SHRINK")
+                        .HasColumnType("bit");
+
+                    b.Property("IS_PRODUCT_CAL")
+                        .HasColumnType("bit");
+
+                    b.Property("IS_USER_LOG")
+                        .HasColumnType("bit");
+
+                    b.Property("KPI_CAL_TYPE")
+                        .HasColumnType("int");
+
+                    b.Property("LEVEL")
+                        .HasColumnType("int");
+
+                    b.Property("LOGO_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("LOWER_PICTURE_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("MAP_KEY")
+                        .HasMaxLength(200)
+                        .HasColumnType("nvarchar(200)");
+
+                    b.Property("MESSAGE_TEMPLATE_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("METER_READ_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("MODIFIER_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("MODIFY_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property("NAME")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("ORG_ID")
+                        .IsRequired()
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("PICTURE_URL")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property("PIC_LEN")
+                        .HasColumnType("int");
+
+                    b.Property("PIC_PATH")
+                        .HasMaxLength(50)
+                        .HasColumnType("nvarchar(50)");
+
+                    b.Property("PIC_TYPE")
+                        .HasMaxLength(30)
+                        .HasColumnType("nvarchar(30)");
+
+                    b.Property("PUSH_API_URL")
+                        .HasMaxLength(100)
+                        .HasColumnType("nvarchar(100)");
+
+                    b.Property("SCREEN_TITLE")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property("SCREEN_URL")
+                        .HasColumnType("nvarchar(max)");
+
+                    b.Property("SLOGAN")
+                        .HasMaxLength(60)
+                        .HasColumnType("nvarchar(60)");
+
+                    b.Property("SRC_ID")
+                        .HasColumnType("uniqueidentifier");
+
+                    b.Property("STATISTICAL_TYPE")
+                        .HasColumnType("int");
+
+                    b.Property("SYSTART_TIME")
+                        .HasColumnType("datetime2");
+
+                    b.Property