代码同步
This commit is contained in:
		
							parent
							
								
									94ec5a79d7
								
							
						
					
					
						commit
						da6b543781
					
				@ -52,7 +52,7 @@ namespace APT.BaseData.Domain.IServices.FM
 | 
			
		||||
        /// <param name="dicApproveDepartMentID">自定义审批流程人员部门信息</param>
 | 
			
		||||
        /// <param name="approveTaskName">审批流名称</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        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<int, T_FM_USER> dicApproveUser = null, Dictionary<int, Guid> 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<int, T_FM_USER> dicApproveUser = null, Dictionary<int, Guid> 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);
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 发布审批流
 | 
			
		||||
 | 
			
		||||
@ -228,7 +228,7 @@ namespace APT.BaseData.Domain.IServices.FM
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="id">消息ID</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        List<T_FM_NOTIFICATION_TASK> InsertUserNoticeTaskModels(string Name, Guid DataId, Guid? OrgId, List<Guid> UserId, List<string> userName,
 | 
			
		||||
        List<T_FM_NOTIFICATION_TASK> InsertUserNoticeTaskModels(string Name, Guid? DataId, Guid? OrgId, List<Guid> UserId, List<string> userName,
 | 
			
		||||
  DateTime startTime, DateTime endTime, int noticeType, string formCode, Guid? AutoDoneID = null);
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 发送新消息集合返回实体集合
 | 
			
		||||
 | 
			
		||||
@ -56,7 +56,7 @@ namespace APT.BaseData.Domain.IServices
 | 
			
		||||
        /// <param name="CALLBACK_INTERFACE"></param>
 | 
			
		||||
        /// <param name="listDATA_ID"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        bool CallBackNew(string CALLBACK_INTERFACE, T_PF_APPROVE entity);
 | 
			
		||||
        bool CallBackNew(string CALLBACK_INTERFACE, T_PF_APPROVE entity, bool isApprovel = true);
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -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)
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
@ -315,7 +318,7 @@ namespace APT.BaseData.Services.Services.FM
 | 
			
		||||
        /// <param name="operaterID"></param>
 | 
			
		||||
        /// <param name="approveTaskName">审批流名称</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        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<int, T_FM_USER> dicApproveUser = null, Dictionary<int, Guid> 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<int, T_FM_USER> dicApproveUser = null, Dictionary<int, Guid> 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<string> listDATA_ID = new List<string>();
 | 
			
		||||
 | 
			
		||||
            List<T_BS_OPERATE_LOG> listBSLog = null;
 | 
			
		||||
            if (sendMessage || approveId != null)// wyw 添加 || approveId != null   先添加审批流 但是不发送通知
 | 
			
		||||
            {
 | 
			
		||||
                Expression<Func<T_PF_APPROVE_TEMP, bool>> 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_FM_DEPARTMENT>(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_FM_USER>(t=>t.ID == sendUserId && t.ENABLE_STATUS == 0)?.NAME;
 | 
			
		||||
                                sendUserName = GetEntity<T_FM_USER>(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<Guid> ListUserID = new List<Guid>();
 | 
			
		||||
                        List<string> ListUserName = new List<string>();
 | 
			
		||||
                        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<T_FM_USER>(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<T_FM_DEPARTMENT>(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<T_FM_DEPARTMENT>(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;
 | 
			
		||||
                                                    }
 | 
			
		||||
                                                }
 | 
			
		||||
                                            }
 | 
			
		||||
                                        }
 | 
			
		||||
 | 
			
		||||
@ -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);
 | 
			
		||||
 | 
			
		||||
@ -418,7 +418,7 @@ namespace APT.BaseData.Services.Services.FM
 | 
			
		||||
            var task = GetEntity<T_FM_NOTIFICATION_TASK>(t => t.ID == id && t.SOURCE_DATA_ID == sourceDataId && t.NOTICE_STATUS == (int)FMNoticeStatusEnum.未处理);
 | 
			
		||||
            if (task == null)
 | 
			
		||||
            {
 | 
			
		||||
                GetEntity<T_FM_NOTIFICATION_TASK>(t => t.USER_ID == APT.Infrastructure.Api.AppContext.CurrentSession.UserID && t.SOURCE_DATA_ID == sourceDataId && t.NOTICE_STATUS == (int)FMNoticeStatusEnum.未处理);
 | 
			
		||||
                task = GetEntity<T_FM_NOTIFICATION_TASK>(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
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="id">消息ID</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        public List<T_FM_NOTIFICATION_TASK> InsertUserNoticeTaskModels(string Name, Guid DataId, Guid? OrgId, List<Guid> UserIds, List<string> UserNames,
 | 
			
		||||
        public List<T_FM_NOTIFICATION_TASK> InsertUserNoticeTaskModels(string Name, Guid? DataId, Guid? OrgId, List<Guid> UserIds, List<string> UserNames,
 | 
			
		||||
  DateTime startTime, DateTime endTime, int noticeType, string formCode, Guid? AutoDoneID = null)
 | 
			
		||||
        {
 | 
			
		||||
            List<T_FM_NOTIFICATION_TASK> notices = new List<T_FM_NOTIFICATION_TASK>();
 | 
			
		||||
 | 
			
		||||
@ -5411,7 +5411,7 @@ namespace APT.BaseData.Services.DomainServices
 | 
			
		||||
        /// <param name="entityInt">审批入参</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        /// <exception cref="Exception"></exception>
 | 
			
		||||
        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<T_FM_NOTIFICATION_TASK> 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
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="id"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        private bool NoticeNew(T_PF_APPROVE entityInt, T_PF_APPROVE modelApp, List<T_PF_APPROVE_DETAIL> listAppDetail, T_FM_NOTIFICATION_TASK taskFinish, List<T_FM_NOTIFICATION_TASK> listTaskNext, bool isLast = false)
 | 
			
		||||
        private bool NoticeNew(T_PF_APPROVE entityInt, T_PF_APPROVE modelApp, List<T_PF_APPROVE_DETAIL> listAppDetail, T_FM_NOTIFICATION_TASK taskFinish, List<T_FM_NOTIFICATION_TASK> 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);
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										61839
									
								
								APT.Data.Migrations/Migrations/20240325014058_wyw2024032501.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										61839
									
								
								APT.Data.Migrations/Migrations/20240325014058_wyw2024032501.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -0,0 +1,64 @@
 | 
			
		||||
using System;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
 | 
			
		||||
namespace APT.Data.Migrations.Migrations
 | 
			
		||||
{
 | 
			
		||||
    public partial class wyw2024032501 : Migration
 | 
			
		||||
    {
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "T_BS_OPERATE_LOG",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
 | 
			
		||||
                    LOGTYPE = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    DATA_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
 | 
			
		||||
                    DATA_ID_SUB = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
 | 
			
		||||
                    OPERATEPOINT = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    USER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
 | 
			
		||||
                    USRTNAME = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
 | 
			
		||||
                    ORDERNO = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    OPERTETIME = table.Column<DateTime>(type: "datetime2", nullable: true),
 | 
			
		||||
                    ISINTTIME = table.Column<bool>(type: "bit", nullable: true),
 | 
			
		||||
                    IS_DELETED = table.Column<bool>(type: "bit", nullable: false),
 | 
			
		||||
                    ORG_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
 | 
			
		||||
                    ENTITY_ORG_TPYE = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    FORM_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
 | 
			
		||||
                    FLOW_STATUS = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    FLOW_SEND_STATUS = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    FLOW_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
 | 
			
		||||
                    CREATE_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
 | 
			
		||||
                    MODIFY_TIME = table.Column<DateTime>(type: "datetime2", nullable: true),
 | 
			
		||||
                    CREATER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
 | 
			
		||||
                    MODIFIER_ID = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_T_BS_OPERATE_LOG", x => x.ID);
 | 
			
		||||
                    table.ForeignKey(
 | 
			
		||||
                        name: "FK_T_BS_OPERATE_LOG_T_FM_ORGANIZATION_ORG_ID",
 | 
			
		||||
                        column: x => x.ORG_ID,
 | 
			
		||||
                        principalTable: "T_FM_ORGANIZATION",
 | 
			
		||||
                        principalColumn: "ID",
 | 
			
		||||
                        onDelete: ReferentialAction.Restrict);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateIndex(
 | 
			
		||||
                name: "IX_T_BS_OPERATE_LOG_ORG_ID",
 | 
			
		||||
                table: "T_BS_OPERATE_LOG",
 | 
			
		||||
                column: "ORG_ID");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateIndex(
 | 
			
		||||
                name: "IX_T_BS_OPERATE_LOG_USER_ID",
 | 
			
		||||
                table: "T_BS_OPERATE_LOG",
 | 
			
		||||
                column: "USER_ID");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "T_BS_OPERATE_LOG");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -18695,9 +18695,6 @@ namespace APT.Data.Migrations.Migrations
 | 
			
		||||
                    b.Property<bool>("IS_DELETED")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("LastDateSystem")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("MODIFIER_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
@ -18973,6 +18970,81 @@ namespace APT.Data.Migrations.Migrations
 | 
			
		||||
                    b.ToTable("T_BS_DEPARTMENT_AREAOBJECT");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("APT.MS.Domain.Entities.BS.T_BS_OPERATE_LOG", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<Guid>("ID")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("CREATER_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("CREATE_TIME")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid>("DATA_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("DATA_ID_SUB")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ENTITY_ORG_TPYE")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("FLOW_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("FLOW_SEND_STATUS")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("FLOW_STATUS")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("FORM_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool?>("ISINTTIME")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IS_DELETED")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("LOGTYPE")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("MODIFIER_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("MODIFY_TIME")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("OPERATEPOINT")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("OPERTETIME")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ORDERNO")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("ORG_ID")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid>("USER_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("USRTNAME")
 | 
			
		||||
                        .HasMaxLength(500)
 | 
			
		||||
                        .HasColumnType("nvarchar(500)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("ID");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("ORG_ID");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("T_BS_OPERATE_LOG");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("APT.MS.Domain.Entities.BS.T_BS_PLAN_SET", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<Guid>("ID")
 | 
			
		||||
@ -19503,12 +19575,6 @@ namespace APT.Data.Migrations.Migrations
 | 
			
		||||
                    b.Property<Guid?>("CHECK_QUESTION_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("CHECK_TYPE_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("CHECK_TYPE_LEVEL_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("CHECK_USER_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
@ -19551,7 +19617,8 @@ namespace APT.Data.Migrations.Migrations
 | 
			
		||||
                        .HasColumnType("nvarchar(500)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("DESCRIBE")
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
                        .HasMaxLength(500)
 | 
			
		||||
                        .HasColumnType("nvarchar(500)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ENTITY_ORG_TPYE")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
@ -19655,9 +19722,6 @@ namespace APT.Data.Migrations.Migrations
 | 
			
		||||
                    b.Property<DateTime?>("SUBMITFINISHTIME")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int?>("SUBMIT_STATUS")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid?>("USER_ID")
 | 
			
		||||
                        .HasColumnType("uniqueidentifier");
 | 
			
		||||
 | 
			
		||||
@ -50107,6 +50171,17 @@ namespace APT.Data.Migrations.Migrations
 | 
			
		||||
                    b.Navigation("Nav_Org");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("APT.MS.Domain.Entities.BS.T_BS_OPERATE_LOG", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("APT.Infrastructure.Core.T_FM_ORGANIZATION", "Nav_Org")
 | 
			
		||||
                        .WithMany()
 | 
			
		||||
                        .HasForeignKey("ORG_ID")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Restrict)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Nav_Org");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("APT.MS.Domain.Entities.BS.T_BS_PLAN_SET", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("APT.MS.Domain.Entities.BS.T_BS_CHECK_TYPE", "Nav_CheckType")
 | 
			
		||||
 | 
			
		||||
@ -258,6 +258,16 @@ builder.HasOne(t => t.Nav_Enums).WithMany().HasForeignKey(t => t.MINETYPE_ENUMS_
 | 
			
		||||
			builder.Ignore(t => t.ISDOWNSAME);
 | 
			
		||||
builder.HasOne(t => t.Nav_Department).WithMany().HasForeignKey(t => t.DEPARTMENTID).OnDelete(DeleteBehavior.Restrict);
 | 
			
		||||
		} 
 | 
			
		||||
     }
 | 
			
		||||
	 #endregion
 | 
			
		||||
					#region  OperateLog
 | 
			
		||||
     public partial class BSOperateLogMap :APTEntityBaseMap<T_BS_OPERATE_LOG>
 | 
			
		||||
     {   
 | 
			
		||||
        public override void Configure(EntityTypeBuilder<T_BS_OPERATE_LOG> builder)
 | 
			
		||||
		{
 | 
			
		||||
			base.Configure(builder);
 | 
			
		||||
			builder.Property(t => t.USRTNAME).HasMaxLength(500);
 | 
			
		||||
		} 
 | 
			
		||||
     }
 | 
			
		||||
	 #endregion
 | 
			
		||||
					#region  PlanSet
 | 
			
		||||
@ -385,6 +395,7 @@ builder.Property(t => t.DESCRIBE).HasMaxLength(500);
 | 
			
		||||
builder.Ignore(t => t.CHECK_TYPE_ID);
 | 
			
		||||
builder.Ignore(t => t.CHECK_TYPE_LEVEL_ID);
 | 
			
		||||
builder.Ignore(t => t.SUBMIT_STATUS);
 | 
			
		||||
builder.Ignore(t => t.CREATE_NAME);
 | 
			
		||||
		} 
 | 
			
		||||
     }
 | 
			
		||||
	 #endregion
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										71
									
								
								APT.MS.Domain/Entities/BS/T_BS_OPERATE_LOG.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								APT.MS.Domain/Entities/BS/T_BS_OPERATE_LOG.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,71 @@
 | 
			
		||||
using APT.BaseData.Domain.Entities.FM;
 | 
			
		||||
using APT.Infrastructure.Core;
 | 
			
		||||
using APT.MS.Domain.Entities.HM;
 | 
			
		||||
using APT.MS.Domain.Enums;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.ComponentModel;
 | 
			
		||||
 | 
			
		||||
namespace APT.MS.Domain.Entities.BS
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// 检查内容
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    [Description("操作日志")]
 | 
			
		||||
    public class T_BS_OPERATE_LOG : MesEntityBase
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 操作类型 安全检查/隐患上报(对应的 DATA_ID 不一样)
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("操作类型")]
 | 
			
		||||
        public LOGTYPE_Enums LOGTYPE { get; set; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 表单ID 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("表单ID")]
 | 
			
		||||
        public Guid DATA_ID { get; set; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 表单明细ID
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("表单明细ID")]
 | 
			
		||||
        public Guid? DATA_ID_SUB { get; set; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 操作节点
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("操作节点")]
 | 
			
		||||
        public OPERATEPOINT_Enums OPERATEPOINT { get; set; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 操作人(需要操作的人) 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("操作人")]
 | 
			
		||||
        public Guid USER_ID { get; set; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 操作人
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("操作人")]
 | 
			
		||||
        public string USRTNAME { get; set; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 排序 比如审批 可能多节点
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("排序")]
 | 
			
		||||
        public int ORDERNO { get; set; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 操作时间  
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("操作时间")]
 | 
			
		||||
        public DateTime? OPERTETIME { get; set; }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 是否超时
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("是否超时")]
 | 
			
		||||
        public bool? ISINTTIME { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -552,5 +552,13 @@ namespace APT.MS.Domain.Entities.BS
 | 
			
		||||
        [Description("状态")]
 | 
			
		||||
        [DataFieldIngore]
 | 
			
		||||
        public int? SUBMIT_STATUS { get; set; }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 状态 BS073
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("状态")]
 | 
			
		||||
        [DataFieldIngore]
 | 
			
		||||
        public string CREATE_NAME { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -442,7 +442,7 @@ namespace APT.MS.Domain.Enums
 | 
			
		||||
        /// 文件审核表 170
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("文件审核表")]
 | 
			
		||||
        ToWJSH =170,
 | 
			
		||||
        ToWJSH = 170,
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
@ -1379,4 +1379,103 @@ namespace APT.MS.Domain.Enums
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #endregion
 | 
			
		||||
 | 
			
		||||
    public enum LOGTYPE_Enums
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 安全检查 10 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("安全检查")]
 | 
			
		||||
        SafeCheck = 10,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 隐患上报 20 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("隐患上报")]
 | 
			
		||||
        RiskSubmit = 20
 | 
			
		||||
    }
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// 操作节点
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public enum OPERATEPOINT_Enums
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 表单获取 10
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("表单获取")]
 | 
			
		||||
        GotCheck = 10,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 检查任务制定 20
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("检查任务制定")]
 | 
			
		||||
        CheckForm = 20,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 检查任务审批  30
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("检查任务审批")]
 | 
			
		||||
        CheckAudit = 30,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 检查任务确认 40 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("检查任务确认")]
 | 
			
		||||
        CheckerCheck = 40,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 检查登记 50
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("检查登记")]
 | 
			
		||||
        CheckRegister = 50,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 检查结果确认
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("检查结果确认")]
 | 
			
		||||
        CheckAgree = 60,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 检查记录审批  70
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("检查记录审批")]
 | 
			
		||||
        CheckResultAudit = 70,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 检查记录归档  80
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("检查记录归档")]
 | 
			
		||||
        CheckEnd = 80,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 手动隐患上报草稿 90
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("手动隐患上报草稿")]
 | 
			
		||||
        RiskNoticeSD = 90,
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 手动隐患上报 100
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("手动隐患上报")]
 | 
			
		||||
        RiskUpSD = 100,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 手动隐患上报完善 110
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("手动隐患上报完善")]
 | 
			
		||||
        RiskInfoCompleteSD = 110,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 隐患待上报  120
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("隐患待上报")]
 | 
			
		||||
        RiskGet = 120,
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 隐患上报  130
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        [Description("隐患上报")]
 | 
			
		||||
        RiskSend =130,
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										27
									
								
								APT.MS.Domain/IServices/BS/IBSOperateLogService.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								APT.MS.Domain/IServices/BS/IBSOperateLogService.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
			
		||||
using APT.MS.Domain.Entities.BS;
 | 
			
		||||
using APT.MS.Domain.Enums;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
 | 
			
		||||
namespace APT.BaseData.Domain.IServices.BS
 | 
			
		||||
{
 | 
			
		||||
    public interface IBSOperateLogService
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>  
 | 
			
		||||
        /// 直接添加多个操作
 | 
			
		||||
        /// 或者 一个操作 引起多个后续操作人
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="OPERATEPOINT">操作的节点</param>
 | 
			
		||||
        /// <param name="DATA_ID">SafeCheckID RiskSubmitID</param>
 | 
			
		||||
        /// <param name="UserIDLogin">登入人ID</param>
 | 
			
		||||
        /// <param name="ListDATA_ID">可为null与 DATA_ID 只有一个</param>
 | 
			
		||||
        /// <param name="ListUserID">可为null</param>
 | 
			
		||||
        /// <param name="ListUserName">可为null</param>
 | 
			
		||||
        /// <param name="ORG_ID"></param>
 | 
			
		||||
        /// <param name="DATA_ID_SUB"></param>
 | 
			
		||||
        /// <param name="ListUserIDDone">默认操作通过的</param>
 | 
			
		||||
        /// <param name="isEnd"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        List<T_BS_OPERATE_LOG> GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List<Guid> ListDATA_ID, List<Guid> ListUserID, List<string> ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List<Guid> ListUserIDDone = null, bool isEnd = true);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										245
									
								
								APT.MS.Services/Services/BS/BSOperateLogService.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										245
									
								
								APT.MS.Services/Services/BS/BSOperateLogService.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,245 @@
 | 
			
		||||
using APT.BaseData.Domain.Entities;
 | 
			
		||||
using APT.BaseData.Domain.Enums;
 | 
			
		||||
using APT.Infrastructure.Core;
 | 
			
		||||
using System;
 | 
			
		||||
using APT.BaseData.Domain.Entities.FM;
 | 
			
		||||
using APT.BaseData.Domain.IServices.FM;
 | 
			
		||||
using APT.Infrastructure.Api;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using APT.MS.Domain.Enums;
 | 
			
		||||
using APT.BaseData.Domain.Enums.PF;
 | 
			
		||||
using APT.BaseData.Domain.IServices;
 | 
			
		||||
using System.Linq.Expressions;
 | 
			
		||||
using Newtonsoft.Json;
 | 
			
		||||
using APT.BaseData.Domain.IServices.BS;
 | 
			
		||||
using APT.MS.Domain.Entities.BS;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace APT.BaseData.Services.Services.BS
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// 安全检查
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public class BSOperateLogService : CommonService, IBSOperateLogService
 | 
			
		||||
    {
 | 
			
		||||
        public BSOperateLogService(IRepository repository) : base(repository)
 | 
			
		||||
        {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>  
 | 
			
		||||
        /// 直接添加多个操作
 | 
			
		||||
        /// 或者 一个操作 引起多个后续操作人
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="OPERATEPOINT">操作的节点</param>
 | 
			
		||||
        /// <param name="DATA_ID">SafeCheckID RiskSubmitID</param>
 | 
			
		||||
        /// <param name="UserIDLogin">登入人ID</param>
 | 
			
		||||
        /// <param name="ListDATA_ID">可为null与 DATA_ID 只有一个</param>
 | 
			
		||||
        /// <param name="ListUserID">可为null</param>
 | 
			
		||||
        /// <param name="ListUserName">可为null</param>
 | 
			
		||||
        /// <param name="ORG_ID"></param>
 | 
			
		||||
        /// <param name="DATA_ID_SUB"></param>
 | 
			
		||||
        /// <param name="ListUserIDDone">默认操作通过的</param>
 | 
			
		||||
        /// <param name="isEnd"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        public List<T_BS_OPERATE_LOG> GetListOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserIDLogin, List<Guid> ListDATA_ID, List<Guid> ListUserID, List<string> ListUserName, Guid? ORG_ID, Guid? DATA_ID_SUB = null, List<Guid> ListUserIDDone = null, bool isEnd = true)
 | 
			
		||||
        {
 | 
			
		||||
            List<T_BS_OPERATE_LOG> listResult = new List<T_BS_OPERATE_LOG>();
 | 
			
		||||
            T_BS_OPERATE_LOG modelLogUpdate = null;
 | 
			
		||||
            switch (OPERATEPOINT)
 | 
			
		||||
            {
 | 
			
		||||
                case OPERATEPOINT_Enums.GotCheck:
 | 
			
		||||
                    //系统触发 只是新增
 | 
			
		||||
                    if (ListUserID != null && ListUserName != null)
 | 
			
		||||
                        for (int i = 0; i < ListUserID.Count; i++)
 | 
			
		||||
                            listResult.Add(AddModel(OPERATEPOINT, ListDATA_ID[i], ListUserID[i], ListUserName[i], ORG_ID, i));
 | 
			
		||||
                    break;
 | 
			
		||||
                case OPERATEPOINT_Enums.CheckForm:
 | 
			
		||||
                    //BS032保存并发送 到审批流
 | 
			
		||||
                    modelLogUpdate = GetUpdateDeal(OPERATEPOINT_Enums.GotCheck, DATA_ID, UserIDLogin);
 | 
			
		||||
                    if (modelLogUpdate != null)
 | 
			
		||||
                        listResult.Add(modelLogUpdate);
 | 
			
		||||
                    if (ListUserID != null && ListUserName != null)
 | 
			
		||||
                        for (int i = 0; i < ListUserID.Count; i++)
 | 
			
		||||
                            listResult.Add(AddModel(OPERATEPOINT, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
 | 
			
		||||
                    break;
 | 
			
		||||
                case OPERATEPOINT_Enums.CheckAudit:
 | 
			
		||||
                    modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的待办日志
 | 
			
		||||
                    if (modelLogUpdate != null)
 | 
			
		||||
                        listResult.Add(modelLogUpdate);
 | 
			
		||||
                    if (ListUserID != null && ListUserName != null)
 | 
			
		||||
                        for (int i = 0; i < ListUserID.Count; i++)//最后一个审批人 添加 通知
 | 
			
		||||
                            listResult.Add(AddModel(OPERATEPOINT_Enums.CheckerCheck, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
 | 
			
		||||
                    break;
 | 
			
		||||
                case OPERATEPOINT_Enums.CheckerCheck:
 | 
			
		||||
                    modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
 | 
			
		||||
                    if (modelLogUpdate != null)
 | 
			
		||||
                        listResult.Add(modelLogUpdate);
 | 
			
		||||
                    break;
 | 
			
		||||
                case OPERATEPOINT_Enums.CheckRegister:
 | 
			
		||||
                    //检查登记
 | 
			
		||||
                    modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
 | 
			
		||||
                    if (modelLogUpdate != null)
 | 
			
		||||
                        listResult.Add(modelLogUpdate);
 | 
			
		||||
                    if (ListUserID != null && ListUserName != null)
 | 
			
		||||
                        for (int i = 0; i < ListUserID.Count; i++) //发起检查结果确认
 | 
			
		||||
                            listResult.Add(AddModel(OPERATEPOINT_Enums.CheckAgree, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
 | 
			
		||||
                    break;
 | 
			
		||||
                case OPERATEPOINT_Enums.CheckAgree:
 | 
			
		||||
                    modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
 | 
			
		||||
                    if (modelLogUpdate != null)
 | 
			
		||||
                        listResult.Add(modelLogUpdate);
 | 
			
		||||
                    if (ListUserID != null && ListUserName != null)
 | 
			
		||||
                        for (int i = 0; i < ListUserID.Count; i++) //检查结果确认完 直接到审批
 | 
			
		||||
                            listResult.Add(AddModel(OPERATEPOINT_Enums.CheckResultAudit, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
 | 
			
		||||
                    break;
 | 
			
		||||
                case OPERATEPOINT_Enums.CheckResultAudit:
 | 
			
		||||
                    modelLogUpdate = GetUpdateDeal(OPERATEPOINT, DATA_ID, UserIDLogin);//处理自己的
 | 
			
		||||
                    if (modelLogUpdate != null)
 | 
			
		||||
                        listResult.Add(modelLogUpdate);
 | 
			
		||||
                    if (isEnd) //最后一个审批就归档
 | 
			
		||||
                    {
 | 
			
		||||
                        listResult.Add(AddModel(OPERATEPOINT_Enums.CheckEnd, DATA_ID, UserIDLogin, APT.Infrastructure.Api.AppContext.CurrentSession.UserName, ORG_ID));
 | 
			
		||||
                    }
 | 
			
		||||
                    break;
 | 
			
		||||
                case OPERATEPOINT_Enums.CheckEnd:
 | 
			
		||||
                    //此处没操作
 | 
			
		||||
                    break;
 | 
			
		||||
                case OPERATEPOINT_Enums.RiskNoticeSD:
 | 
			
		||||
                    break;
 | 
			
		||||
                case OPERATEPOINT_Enums.RiskUpSD:
 | 
			
		||||
                    break;
 | 
			
		||||
                case OPERATEPOINT_Enums.RiskInfoCompleteSD:
 | 
			
		||||
                    break;
 | 
			
		||||
                case OPERATEPOINT_Enums.RiskGet:
 | 
			
		||||
                    //审批结束后 如果有隐患 
 | 
			
		||||
                    if (ListUserID != null && ListUserName != null)
 | 
			
		||||
                        for (int i = 0; i < ListUserID.Count; i++)
 | 
			
		||||
                            listResult.Add(AddModel(OPERATEPOINT, DATA_ID, ListUserID[i], ListUserName[i], ORG_ID, i));
 | 
			
		||||
                    break;
 | 
			
		||||
                case OPERATEPOINT_Enums.RiskSend:
 | 
			
		||||
                    break;
 | 
			
		||||
                default:
 | 
			
		||||
                    break;
 | 
			
		||||
            }
 | 
			
		||||
            if (ListUserIDDone != null && ListUserIDDone.Count > 0)
 | 
			
		||||
            {
 | 
			
		||||
                //除了登陆者 需要默认操作的
 | 
			
		||||
                listResult.ForEach(e =>
 | 
			
		||||
                {
 | 
			
		||||
                    if (ListUserIDDone.Contains(e.USER_ID))
 | 
			
		||||
                        e.OPERTETIME = DateTime.Now;
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
            return listResult;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 获取新记录
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="OPERATEPOINT"></param>
 | 
			
		||||
        /// <param name="DATA_ID"></param>
 | 
			
		||||
        /// <param name="UserID"></param>
 | 
			
		||||
        /// <param name="UserName"></param>
 | 
			
		||||
        /// <param name="ORG_ID"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        private T_BS_OPERATE_LOG AddModel(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, string UserName, Guid? ORG_ID, int ORDERNO = 0)
 | 
			
		||||
        {
 | 
			
		||||
            T_BS_OPERATE_LOG ModelAdd = new T_BS_OPERATE_LOG()
 | 
			
		||||
            {
 | 
			
		||||
                ID = Guid.NewGuid(),
 | 
			
		||||
                ORG_ID = ORG_ID,
 | 
			
		||||
                LOGTYPE = ((int)OPERATEPOINT) > 80 ? LOGTYPE_Enums.RiskSubmit : LOGTYPE_Enums.SafeCheck,
 | 
			
		||||
                DATA_ID = DATA_ID,
 | 
			
		||||
                //DATA_ID_SUB = null,
 | 
			
		||||
                OPERATEPOINT = OPERATEPOINT,
 | 
			
		||||
                USER_ID = UserID,
 | 
			
		||||
                USRTNAME = UserName,
 | 
			
		||||
                ORDERNO = ORDERNO,
 | 
			
		||||
                //OPERTETIME = null,
 | 
			
		||||
                ISINTTIME = false,
 | 
			
		||||
                CREATE_TIME = DateTime.Now,
 | 
			
		||||
                CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID
 | 
			
		||||
            };
 | 
			
		||||
            if (APT.Infrastructure.Api.AppContext.CurrentSession.UserID.HasValue && APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value == UserID)
 | 
			
		||||
            {
 | 
			
		||||
                ModelAdd.OPERTETIME = DateTime.Now;//默认通过
 | 
			
		||||
            }
 | 
			
		||||
            return ModelAdd;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 获取需要修改的Model
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="OPERATEPOINT">操作节点</param>
 | 
			
		||||
        /// <param name="DATA_ID"></param>
 | 
			
		||||
        /// <param name="UserID"></param>
 | 
			
		||||
        /// <param name="DATA_ID_SUB"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        private T_BS_OPERATE_LOG GetUpdateDeal(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, Guid? DATA_ID_SUB = null)
 | 
			
		||||
        {
 | 
			
		||||
            Expression<Func<T_BS_OPERATE_LOG, bool>> expression = e => e.DATA_ID == DATA_ID && e.OPERATEPOINT == OPERATEPOINT && e.USER_ID == UserID;
 | 
			
		||||
            if (DATA_ID_SUB.HasValue)
 | 
			
		||||
                expression = expression.And(e => e.DATA_ID_SUB.HasValue && e.DATA_ID_SUB == DATA_ID_SUB);
 | 
			
		||||
            var model = GetEntity(expression);
 | 
			
		||||
            model.OPERTETIME = DateTime.Now;
 | 
			
		||||
            return model;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        ///// <summary>
 | 
			
		||||
        ///// 关闭上一个操作,添加新的操作
 | 
			
		||||
        ///// </summary>
 | 
			
		||||
        ///// <param name="OPERATEPOINT">当前操作节点</param>
 | 
			
		||||
        ///// <param name="DATA_ID"></param>
 | 
			
		||||
        ///// <param name="UserID"></param>
 | 
			
		||||
        ///// <param name="UserName"></param>
 | 
			
		||||
        ///// <returns></returns>
 | 
			
		||||
        //public List<T_BS_OPERATE_LOG> GetOperateLog(OPERATEPOINT_Enums OPERATEPOINT, Guid DATA_ID, Guid UserID, string UserName, Guid? ORG_ID, Guid? DATA_ID_SUB, bool isNext = true)
 | 
			
		||||
        //{
 | 
			
		||||
        //    T_BS_OPERATE_LOG modelLogUpdate = null;
 | 
			
		||||
        //    T_BS_OPERATE_LOG modelLogAdd = null;
 | 
			
		||||
        //    switch (OPERATEPOINT)
 | 
			
		||||
        //    {
 | 
			
		||||
        //        case OPERATEPOINT_Enums.GotCheck:
 | 
			
		||||
        //            //系统触发 只是新增
 | 
			
		||||
        //            modelLogAdd = AddModel(OPERATEPOINT, DATA_ID, UserID, UserName, ORG_ID);
 | 
			
		||||
        //            break;
 | 
			
		||||
        //        case OPERATEPOINT_Enums.CheckForm:
 | 
			
		||||
        //            modelLogUpdate = GetUpdate(OPERATEPOINT_Enums.GotCheck, DATA_ID, UserID, DATA_ID_SUB);
 | 
			
		||||
        //            modelLogAdd = AddModel(OPERATEPOINT, DATA_ID, UserID, UserName, ORG_ID);
 | 
			
		||||
 | 
			
		||||
        //            break;
 | 
			
		||||
        //        case OPERATEPOINT_Enums.CheckAudit:
 | 
			
		||||
        //            break;
 | 
			
		||||
        //        case OPERATEPOINT_Enums.CheckerCheck:
 | 
			
		||||
        //            break;
 | 
			
		||||
        //        case OPERATEPOINT_Enums.CheckRegister:
 | 
			
		||||
        //            break;
 | 
			
		||||
        //        case OPERATEPOINT_Enums.CheckAgree:
 | 
			
		||||
        //            break;
 | 
			
		||||
        //        case OPERATEPOINT_Enums.CheckResultAudit:
 | 
			
		||||
        //            break;
 | 
			
		||||
        //        case OPERATEPOINT_Enums.CheckEnd:
 | 
			
		||||
        //            break;
 | 
			
		||||
        //        case OPERATEPOINT_Enums.RiskNotice:
 | 
			
		||||
        //            break;
 | 
			
		||||
        //        case OPERATEPOINT_Enums.RiskUp:
 | 
			
		||||
        //            break;
 | 
			
		||||
        //        case OPERATEPOINT_Enums.RiskInfoComplete:
 | 
			
		||||
        //            break;
 | 
			
		||||
        //        case OPERATEPOINT_Enums.RiskGet:
 | 
			
		||||
        //            break;
 | 
			
		||||
        //        case OPERATEPOINT_Enums.RiskSend:
 | 
			
		||||
        //            break;
 | 
			
		||||
        //        default:
 | 
			
		||||
        //            break;
 | 
			
		||||
        //    }
 | 
			
		||||
 | 
			
		||||
        //    return new List<T_BS_OPERATE_LOG>() { modelLogAdd ?? modelLogAdd, modelLogUpdate ?? modelLogUpdate };
 | 
			
		||||
        //}
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -56,6 +56,7 @@ namespace APT.BS.WebApi.App_Start
 | 
			
		||||
            builder.RegisterType<ExtConnConfigService>().As<IExtConnConfigService>().InstancePerLifetimeScope();
 | 
			
		||||
            builder.RegisterType<FMNotificationTaskService>().As<IFMNotificationTaskService>().InstancePerLifetimeScope();
 | 
			
		||||
            builder.RegisterType<BSSafeCheckService>().As<IBSSafeCheckService>().InstancePerLifetimeScope();
 | 
			
		||||
            builder.RegisterType<BSOperateLogService>().As<IBSOperateLogService>().InstancePerLifetimeScope();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -32,16 +32,52 @@ namespace APT.BS.WebApi.Controllers.Api
 | 
			
		||||
            ApproveCallBackService = approveCallBackService;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 获得单条实体数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="filter">过滤实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("GetDevlp")]
 | 
			
		||||
        public JsonActionResult<T_BS_RISK_SUBMIT_CONTENT> GetDevlp([FromBody] KeywordFilter filter)
 | 
			
		||||
        {
 | 
			
		||||
            return SafeExecute(() =>
 | 
			
		||||
            {
 | 
			
		||||
                var model = GetEntity<T_BS_RISK_SUBMIT_CONTENT>(null, filter, null);
 | 
			
		||||
                if (model.CREATER_ID.HasValue)
 | 
			
		||||
                {
 | 
			
		||||
                    var userUp = GetEntity<T_FM_USER>(model.CREATER_ID.Value);
 | 
			
		||||
                    model.CREATE_NAME = userUp.NAME;
 | 
			
		||||
                }
 | 
			
		||||
                return model;
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 排序分页查询数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="pageFilter">分页过滤实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("OrderPaged")]
 | 
			
		||||
        public PagedActionResult<T_BS_RISK_SUBMIT_CONTENT> OrderPaged([FromBody] KeywordPageFilter pageFilter)
 | 
			
		||||
        [HttpPost, Route("OrderPagedDevlp")]
 | 
			
		||||
        public PagedActionResult<T_BS_RISK_SUBMIT_CONTENT> OrderPagedDevlp([FromBody] KeywordPageFilter pageFilter)
 | 
			
		||||
        {
 | 
			
		||||
            return WitOrderPaged(e => e.Nav_Submit.SUBMIT_TYPE != 10, pageFilter);
 | 
			
		||||
            return SafeGetPagedData(delegate (PagedActionResult<T_BS_RISK_SUBMIT_CONTENT> result)
 | 
			
		||||
            {
 | 
			
		||||
                PagedActionResult<T_BS_RISK_SUBMIT_CONTENT> orderPageEntities = GetOrderPageEntities<T_BS_RISK_SUBMIT_CONTENT>(e => e.Nav_Submit.SUBMIT_TYPE != 10, pageFilter, null);
 | 
			
		||||
                if (orderPageEntities.TotalCount > 0)
 | 
			
		||||
                {
 | 
			
		||||
                    var listUserID = orderPageEntities.Data.Where(e => e.CREATER_ID.HasValue).Select(e => e.CREATER_ID.Value).Distinct();
 | 
			
		||||
                    var listUsers = GetEntities<T_FM_USER>(e => listUserID.Contains(e.ID), null, null);
 | 
			
		||||
                    foreach (var item in orderPageEntities.Data)
 | 
			
		||||
                    {
 | 
			
		||||
                        if (item.CREATER_ID.HasValue)
 | 
			
		||||
                            item.CREATE_NAME = listUsers.FirstOrDefault(e => e.ID == item.CREATER_ID.Value)?.NAME;
 | 
			
		||||
                        else
 | 
			
		||||
                            item.CREATE_NAME = "";
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                result.Data = orderPageEntities.Data;
 | 
			
		||||
                result.TotalCount = orderPageEntities.TotalCount;
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -611,17 +611,22 @@ namespace APT.BS.WebApi.Controllers.Api
 | 
			
		||||
                        {
 | 
			
		||||
                            var listRoleID = listRole.Select(e => e.ID);
 | 
			
		||||
                            var listHeader = GetEntities<T_FM_USER>(e => listDepID.Contains(e.DEPARTMENT_ID.Value) && e.APPROVE_ROLE_ID.HasValue && listRoleID.Contains(e.APPROVE_ROLE_ID.Value), null, null);
 | 
			
		||||
 | 
			
		||||
                            foreach (var item in list)
 | 
			
		||||
                            if (listHeader != null && listHeader.Any())
 | 
			
		||||
                            {
 | 
			
		||||
                                if (item.DEPARTMENT_ID.HasValue)
 | 
			
		||||
                                foreach (var item in list)
 | 
			
		||||
                                {
 | 
			
		||||
                                    var depThis = listDeps.FirstOrDefault(e => e.ID == item.DEPARTMENT_ID.Value);
 | 
			
		||||
                                    if (depThis != null && depThis.PARENT_ID.HasValue)
 | 
			
		||||
                                    if (item.DEPARTMENT_ID.HasValue)
 | 
			
		||||
                                    {
 | 
			
		||||
                                        T_FM_USER userTemp = listHeader.FirstOrDefault(x => x.DEPARTMENT_ID == depThis.PARENT_ID.Value);
 | 
			
		||||
                                        item.CHECK_USER_ID = userTemp.ID;
 | 
			
		||||
                                        item.Nav_UserCheck = userTemp;
 | 
			
		||||
                                        var depThis = listDeps.FirstOrDefault(e => e.ID == item.DEPARTMENT_ID.Value);
 | 
			
		||||
                                        if (depThis != null && depThis.PARENT_ID.HasValue)
 | 
			
		||||
                                        {
 | 
			
		||||
                                            T_FM_USER userTemp = listHeader.FirstOrDefault(x => x.DEPARTMENT_ID == depThis.PARENT_ID.Value);
 | 
			
		||||
                                            if (userTemp != null)
 | 
			
		||||
                                            {
 | 
			
		||||
                                                item.CHECK_USER_ID = userTemp.ID;
 | 
			
		||||
                                                item.Nav_UserCheck = userTemp;
 | 
			
		||||
                                            }
 | 
			
		||||
                                        }
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
@ -32,7 +32,8 @@ namespace APT.BS.WebApi.Controllers.Api
 | 
			
		||||
        IPFApproveCallBackService ApproveCallBackService { get; set; }
 | 
			
		||||
        IFMDepartmentService DepartmentService { get; set; }
 | 
			
		||||
        IPFSysLogService SysLogService { get; set; }
 | 
			
		||||
        public BSSafeCheckController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService, IPFApproveCallBackService approveCallBackService, IFMDepartmentService departmentService, IPFSysLogService sysLogService)
 | 
			
		||||
        IFMUserService UserService { get; set; }
 | 
			
		||||
        public BSSafeCheckController(IFMNotificationTaskService notificationTaskService, IFMFlowPermitService mFlowPermitService, IPFCodeRuleService codeRuleService, IPFApproveCallBackService approveCallBackService, IFMDepartmentService departmentService, IPFSysLogService sysLogService, IFMUserService userService)
 | 
			
		||||
        {
 | 
			
		||||
            NotificationTaskService = notificationTaskService;
 | 
			
		||||
            MFlowPermitService = mFlowPermitService;
 | 
			
		||||
@ -40,6 +41,7 @@ namespace APT.BS.WebApi.Controllers.Api
 | 
			
		||||
            ApproveCallBackService = approveCallBackService;
 | 
			
		||||
            DepartmentService = departmentService;
 | 
			
		||||
            SysLogService = sysLogService;
 | 
			
		||||
            UserService = userService;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region   安全检查表单设计
 | 
			
		||||
@ -2056,8 +2058,15 @@ namespace APT.BS.WebApi.Controllers.Api
 | 
			
		||||
                            appOperaterID = userOper.ID;
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    T_FM_NOTIFICATION_TASK task = null;
 | 
			
		||||
                    if (entity.TaskID != Guid.Empty)
 | 
			
		||||
                    {
 | 
			
		||||
                        task = NotificationTaskService.GetEntityTask(entity.TaskID, "BS032_SHOWPRINT");
 | 
			
		||||
                        if (!task.SOURCE_DATA_ID.HasValue)
 | 
			
		||||
                            task.SOURCE_DATA_ID = entity.ID;
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    MFlowPermitService.InsertApprove(serialCode, "BS032", param, entity.ID, "BS032_SHOWPRINT", entity.TaskID, true, () =>
 | 
			
		||||
                    MFlowPermitService.InsertApprove(serialCode, "BS032", param, entity.ID, "BS032_SHOWPRINT", null, true, () =>
 | 
			
		||||
                    {
 | 
			
		||||
                        if (entity != null)
 | 
			
		||||
                            UpdateEntityNoCommit(entity);   //保存主表 NoCommit
 | 
			
		||||
@ -2087,7 +2096,7 @@ namespace APT.BS.WebApi.Controllers.Api
 | 
			
		||||
                            BantchDeleteEntityNoCommit<T_BS_SAFE_CHECK_PROJECT_CATEGORY>(listDelCategoryID);
 | 
			
		||||
                        if (listDelUserIDs != null)
 | 
			
		||||
                            BantchDeleteEntityNoCommit<T_BS_SAFE_CHECK_DETAIL_USER>(listDelUserIDs);
 | 
			
		||||
                    }, entity.APPROVE_ID, null, null, null, null, "BS032_SHOWPRINT", appOperaterID, approveTaskName, FMTASKTYPE.BS_SafeCheck_Make_Audit, null, entity.CHECKTIME);//, entity.LIMITDATETIME
 | 
			
		||||
                    }, entity.APPROVE_ID, null, null, null, null, "BS032_SHOWPRINT", appOperaterID, approveTaskName, FMTASKTYPE.BS_SafeCheck_Make_Audit, null, entity.CHECKTIME, (int)OPERATEPOINT_Enums.CheckForm);//, entity.LIMITDATETIME
 | 
			
		||||
 | 
			
		||||
                    #endregion
 | 
			
		||||
                }
 | 
			
		||||
@ -8100,6 +8109,72 @@ namespace APT.BS.WebApi.Controllers.Api
 | 
			
		||||
                return modelResult;
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// 排序分页查询数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="pageFilter">分页过滤实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("OrderPagedAreaMineType")]
 | 
			
		||||
        public PagedActionResult<T_HM_RISK_AREA> OrderPagedAreaMineType([FromBody] KeywordPageFilter pageFilter)
 | 
			
		||||
        {
 | 
			
		||||
            return SafeGetPagedData<T_HM_RISK_AREA>((result) =>
 | 
			
		||||
            {
 | 
			
		||||
                Expression<Func<T_HM_RISK_AREA, bool>> expression = null;
 | 
			
		||||
                List<int> listMineType = new List<int>();
 | 
			
		||||
                if (pageFilter.FilterGroup.Groups.Count() > 0)
 | 
			
		||||
                {
 | 
			
		||||
                    var filterGroup = pageFilter.FilterGroup.Groups.ToList()[0];
 | 
			
		||||
                    if (filterGroup.Rules.Count() > 0)
 | 
			
		||||
                    {
 | 
			
		||||
                        foreach (var item in filterGroup.Rules)
 | 
			
		||||
                        {
 | 
			
		||||
                            if (item.Field == "CHECKOBJECT")
 | 
			
		||||
                            {
 | 
			
		||||
                                try
 | 
			
		||||
                                {
 | 
			
		||||
                                    listMineType.Add(int.Parse(item.Value.ToString()));
 | 
			
		||||
                                }
 | 
			
		||||
                                catch { }
 | 
			
		||||
                                filterGroup.Rules.Remove(item);
 | 
			
		||||
                                break;
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (listMineType == null)
 | 
			
		||||
                {
 | 
			
		||||
                    listMineType = UserService.GetMineType();
 | 
			
		||||
                }
 | 
			
		||||
                if (listMineType != null && listMineType.Count > 0)
 | 
			
		||||
                {
 | 
			
		||||
                    var listDepUnit = GetEntities<T_FM_DEPARTMENT_PRODUCTION_UNIT>(e => e.Nav_Enums != null && listMineType.Contains(e.Nav_Enums.VALUE), null, "Nav_Enums");
 | 
			
		||||
                    if (listDepUnit != null && listDepUnit.Any())
 | 
			
		||||
                    {
 | 
			
		||||
                        List<Guid> listDepID = listDepUnit.Select(e => e.DEPARTMENT_ID).ToList();
 | 
			
		||||
                        var listDep = GetEntities<T_FM_DEPARTMENT>(e => !e.MineType.HasValue || listDepID.Contains(e.ID), null, null);
 | 
			
		||||
                        List<Guid> listDepId = new List<Guid>();
 | 
			
		||||
                        if (listDep != null && listDep.Any())
 | 
			
		||||
                        {
 | 
			
		||||
                            listDepId = listDep.Select(e => e.ID).ToList();
 | 
			
		||||
                        }
 | 
			
		||||
                        if (listDepId.Count > 0)
 | 
			
		||||
                        {
 | 
			
		||||
                            expression = e => !e.DEPARTMENT_ID.HasValue || listDepId.Contains(e.DEPARTMENT_ID.Value);
 | 
			
		||||
                        }
 | 
			
		||||
                        else
 | 
			
		||||
                        {
 | 
			
		||||
                            expression = e => !e.DEPARTMENT_ID.HasValue;
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                PagedActionResult<T_HM_RISK_AREA> orderPageEntities = GetOrderPageEntities<T_HM_RISK_AREA>(expression, pageFilter, null);
 | 
			
		||||
                result.Data = orderPageEntities.Data;
 | 
			
		||||
                result.TotalCount = orderPageEntities.TotalCount;
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// 问题描述
 | 
			
		||||
 | 
			
		||||
@ -2019,6 +2019,111 @@ using APT.BaseData.Domain.ApiModel.PF;
 | 
			
		||||
            return WitEntity(null, filter);
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
     }
 | 
			
		||||
	 #endregion
 | 
			
		||||
					#region  OperateLog-操作日志
 | 
			
		||||
	 /// <summary>
 | 
			
		||||
    ///  操作日志
 | 
			
		||||
    /// </summary>
 | 
			
		||||
	 [Route("api/BS/OperateLog")]
 | 
			
		||||
     public partial class OperateLogController : AuthorizeApiController<T_BS_OPERATE_LOG>
 | 
			
		||||
     {   
 | 
			
		||||
         /// <summary>
 | 
			
		||||
        /// 查询所有数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="filter">过滤实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("Entities")]
 | 
			
		||||
        public JsonActionResult<IEnumerable<T_BS_OPERATE_LOG>> Entities([FromBody]KeywordFilter filter)
 | 
			
		||||
        {
 | 
			
		||||
            return WitEntities(null, filter);
 | 
			
		||||
        }
 | 
			
		||||
         /// <summary>
 | 
			
		||||
        /// 排序查询所有数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="filter">过滤实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
 | 
			
		||||
        [HttpPost, Route("OrderEntities")]
 | 
			
		||||
        public JsonActionResult<IEnumerable<T_BS_OPERATE_LOG>> OrderEntities([FromBody]KeywordFilter filter)
 | 
			
		||||
        {
 | 
			
		||||
            return WitOrderEntities(null, filter);
 | 
			
		||||
        }
 | 
			
		||||
         /// <summary>
 | 
			
		||||
        /// 分页查询数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="pageFilter">分页过滤实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("Paged")]
 | 
			
		||||
        public PagedActionResult<T_BS_OPERATE_LOG> Paged([FromBody]KeywordPageFilter pageFilter)
 | 
			
		||||
        {
 | 
			
		||||
            return WitPaged(null, pageFilter);
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 排序分页查询数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="pageFilter">分页过滤实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("OrderPaged")]
 | 
			
		||||
        public PagedActionResult<T_BS_OPERATE_LOG> OrderPaged([FromBody]KeywordPageFilter pageFilter)
 | 
			
		||||
        {
 | 
			
		||||
            return WitOrderPaged(null, pageFilter);
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 根据主键删除数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="id">主键ID</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpGet, Route("Delete")]
 | 
			
		||||
        public JsonActionResult<bool> Delete(string id)
 | 
			
		||||
        {
 | 
			
		||||
            return WitRealDelete(id);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 更新或新增数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="entity">对象实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("Update")]
 | 
			
		||||
        public JsonActionResult<bool> Update([FromBody]T_BS_OPERATE_LOG entity)
 | 
			
		||||
        {
 | 
			
		||||
            return WitUpdate(entity);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 批量更新
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="entity">对象实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("BatchUpdate")]
 | 
			
		||||
        public JsonActionResult<bool> BatchUpdate([FromBody] BatchUpdateModel<T_BS_OPERATE_LOG> entity)
 | 
			
		||||
        {
 | 
			
		||||
              return WitBantchUpdate(entity?.Data);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 批量删除数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="ids">id字符串(id用逗号分隔)</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpGet, Route("BatchDelete")]
 | 
			
		||||
        public JsonActionResult<bool> BatchDelete(string ids)
 | 
			
		||||
        {
 | 
			
		||||
            return WitRealBatchDelete(ids);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 获得单条实体数据
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="filter">过滤实体</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost, Route("Get")]
 | 
			
		||||
        public JsonActionResult<T_BS_OPERATE_LOG> Get([FromBody] KeywordFilter filter)
 | 
			
		||||
        {
 | 
			
		||||
            return WitEntity(null, filter);
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
     }
 | 
			
		||||
	 #endregion
 | 
			
		||||
					#region  PlanSet-制定任务
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user