代码合并

T_FM_SYNC_LOG 添加 时间限制才入库
log4Net 年月 添加
跑批 部分添加 try catch 记录错误(大概率比较少错误了懒得全部添加过来)
隐患整改单 获取数据改进 (检查库 添加 整改单 查看)
FMFlowPermitService 添加 记录信息 防止 全部注入依赖
This commit is contained in:
wyw 2024-04-09 13:56:33 +08:00
parent 00d009d88f
commit f0f1669d2a
40 changed files with 5907 additions and 5313 deletions

View File

@ -21,6 +21,7 @@ namespace APT.BaseData.Services.Services.FM
{
/// <summary>
/// 送审后,单据特殊处理
/// wyw此文件如果引入别的service 可能导致整个服务 都要依赖注入(引用依赖)
/// </summary>
public class FMFlowPermitService : CommonService, IFMFlowPermitService
{
@ -28,16 +29,13 @@ 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, IBSOperateLogService bsOperateLogService)
public FMFlowPermitService(IRepository repository, IPFCodeRuleService codeRuleService, IFMNotificationTaskService notificationTaskService, IPFSysLogService sysLogService, IPFApproveCallBackService approveCallBackService)
: base(repository)
{
CodeRuleService = codeRuleService;
NotificationTaskService = notificationTaskService;
SysLogService = sysLogService;
ApproveCallBackService = approveCallBackService;
BSOperateLogService = bsOperateLogService;
}
/// <summary>
@ -590,7 +588,7 @@ namespace APT.BaseData.Services.Services.FM
}
}
listBSLog = BSOperateLogService.GetListOperateLog(OPERATEPOINT, id, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, ListUserID, ListUserName, approve.ORG_ID, null, null);
listBSLog = GetListOperateLog(OPERATEPOINT, id, APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value, null, ListUserID, ListUserName, approve.ORG_ID, null, null);
}
catch { }
}
@ -1954,5 +1952,155 @@ namespace APT.BaseData.Services.Services.FM
//#endregion
//#endregion
#region BSOperateLogService
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);
if (model != null)
model.OPERTETIME = DateTime.Now;
return model;
}
#endregion
}
}

View File

@ -352,6 +352,7 @@ builder.HasOne(t => t.Nav_Department).WithMany().HasForeignKey(t => t.DEPARTMENT
builder.HasOne(t => t.Nav_ApproveCheckAudit).WithMany().HasForeignKey(t => t.APPROVE_ID).OnDelete(DeleteBehavior.Restrict);
builder.Ignore(t => t.FORM_CODE);
builder.Ignore(t => t.IS_OVERTIME);
builder.Ignore(t => t.CREATE_NAME);
}
}
#endregion

View File

@ -207,5 +207,18 @@ namespace APT.MS.Domain.Entities.BS
public bool? ISFINISHINTTIME { get; set; }
[DataFieldIngore]
public int IS_OVERTIME { get; set; }
/// <summary>
/// 外界IDTPM
/// </summary>
public Guid? DATAID { get; set; }
/// <summary>
/// 完善人
/// </summary>
[Description("完善人")]
[DataFieldIngore]
public string CREATE_NAME { get; set; }
}
}

View File

@ -13,6 +13,7 @@ namespace APT.MS.Domain.Entities.BS
/// 隐患上报明细 隐患上报子表(关联检查内容)
/// </summary>
[Description("隐患上报明细")]
[DataRuleField("DEPARTMENT_ID")]
public class T_BS_RISK_SUBMIT_CONTENT : MesEntityBase
{
/// <summary>

View File

@ -1,11 +1,12 @@
using APT.MS.Domain.Entities.BS;
using APT.Infrastructure.Api;
using APT.MS.Domain.Entities.BS;
using APT.MS.Domain.Enums;
using System;
using System.Collections.Generic;
namespace APT.BaseData.Domain.IServices.BS
namespace APT.BaseData.Domain.IServices
{
public interface IBSOperateLogService
public interface IBSOperateLogService
{
/// <summary>
/// 直接添加多个操作

View File

@ -25,6 +25,6 @@ namespace APT.BaseData.Domain.IServices
/// <param name="listUserID"></param>
/// <param name="entity"></param>
/// <param name="listAllUser"></param>
void GetEntityInfo(Guid MEETINGID, string NAME, string THEME, string CODE, Guid? ORG_ID, Guid DEPARTMENT_ID, int? DEPARTMENT_TYPE, Guid USER_ID_ORIGINATOR, CREACTTYPEEnum CREACTTYPE, SCMEETINGTYPE MEETINGTYPE, IEnumerable<Guid> listUserID, out T_SC_MT_MEETING entity, out List<T_SC_MT_MEETING_PALL> listAllUser);
List<T_SC_MT_MEETING_PALL> GetEntityInfo(Guid MEETINGID, string NAME, string THEME, string CODE, Guid? ORG_ID, Guid DEPARTMENT_ID, int? DEPARTMENT_TYPE, Guid USER_ID_ORIGINATOR, CREACTTYPEEnum CREACTTYPE, SCMEETINGTYPE MEETINGTYPE, IEnumerable<Guid> listUserID, out T_SC_MT_MEETING entity);
}
}

View File

@ -16,7 +16,7 @@ using APT.BaseData.Domain.IServices.BS;
using APT.MS.Domain.Entities.BS;
namespace APT.BaseData.Services.Services.BS
namespace APT.BaseData.Services.DomainServices
{
/// <summary>
/// 安全检查
@ -185,9 +185,7 @@ namespace APT.BaseData.Services.Services.BS
expression = expression.And(e => e.DATA_ID_SUB.HasValue && e.DATA_ID_SUB == DATA_ID_SUB);
var model = GetEntity(expression);
if (model != null)
{
model.OPERTETIME = DateTime.Now;
}
return model;
}

View File

@ -48,13 +48,13 @@ namespace APT.BaseData.Services.DomainServices
/// <param name="listUserID"></param>
/// <param name="entity"></param>
/// <param name="listAllUser"></param>
public void GetEntityInfo(Guid MEETINGID, string NAME, string THEME, string CODE, Guid? ORG_ID, Guid DEPARTMENT_ID, int? DEPARTMENT_TYPE, Guid USER_ID_ORIGINATOR, CREACTTYPEEnum CREACTTYPE, SCMEETINGTYPE MEETINGTYPE, IEnumerable<Guid> listUserID, out T_SC_MT_MEETING entity, out List<T_SC_MT_MEETING_PALL> listAllUser)
public List<T_SC_MT_MEETING_PALL> GetEntityInfo(Guid MEETINGID, string NAME, string THEME, string CODE, Guid? ORG_ID, Guid DEPARTMENT_ID, int? DEPARTMENT_TYPE, Guid USER_ID_ORIGINATOR, CREACTTYPEEnum CREACTTYPE, SCMEETINGTYPE MEETINGTYPE, IEnumerable<Guid> listUserID, out T_SC_MT_MEETING entity)
{
listAllUser = new List<T_SC_MT_MEETING_PALL>();
var listAllUser = new List<T_SC_MT_MEETING_PALL>();
entity = new T_SC_MT_MEETING();
if (listUserID == null || !listUserID.Any())
{
return;
return listAllUser;
}
if (listUserID != null && listUserID.Any())
{
@ -119,6 +119,7 @@ namespace APT.BaseData.Services.DomainServices
modelUser.PERSONNATURE = PersonNature.JOIN;
listAllUser.Add(modelUser);
}
return listAllUser;
}
}
}

View File

@ -65,58 +65,59 @@ namespace APT.WebApi.Models
}
}
var TalSeconds = (DateTime.Now - START_TIME).TotalSeconds;
//if (TalSeconds > 1)
//{
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
double TalSeconds = (DateTime.Now - START_TIME).TotalSeconds;
if (TalSeconds > 0.8)
{
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
}
}
}
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
}
}
}
}

View File

@ -19,7 +19,7 @@
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<datePattern value="yyyyMM'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">

View File

@ -56,11 +56,11 @@ namespace APT.BS.WebApi.Controllers.Api
}
}
filter.Include = Include;
List<FilterRule> filterRules = filter.FilterGroup.Rules.ToList();
var guid = new Guid(filterRules[0].Value.ToString());
var modelSubConDel = GetEntity<T_BS_RISK_SUBMIT_CONTENT_DEAL>(e => e.ID == guid, filter);
var modelSubConDel = GetEntity<T_BS_RISK_SUBMIT_CONTENT_DEAL>(null, filter);
if (modelSubConDel == null)
{
throw new Exception("获取整改单信息失败!");
}
List<Guid> listUserID = new List<Guid>();
if (modelSubConDel.DEAL_USER_ID.HasValue)
listUserID.Add(modelSubConDel.DEAL_USER_ID.Value);

View File

@ -4099,6 +4099,21 @@ namespace APT.BS.WebApi.Controllers.Api
//Expression<Func<T_BS_RISK_SUBMIT, bool>> expression = e => !e.IS_DELETED && e.DEPARTMENT_ID.HasValue && departmentIds.Contains(e.DEPARTMENT_ID.Value);
PagedActionResult<T_BS_RISK_SUBMIT> orderPageEntities = GetOrderPageEntities(expression, pageFilter, null);
if (orderPageEntities.TotalCount > 0)
{
var listCreateID = orderPageEntities.Data.Where(e => e.CREATER_ID.HasValue).Select(e => e.CREATER_ID.Value).Distinct();
if (listCreateID != null && listCreateID.Any())
{
var listUser = GetEntities<T_FM_USER>(e => listCreateID.Contains(e.ID), null, null);
foreach (var item in orderPageEntities.Data)
{
if (!item.CREATER_ID.HasValue)
continue;
item.CREATE_NAME = listUser.FirstOrDefault(e => e.ID == item.CREATER_ID.Value)?.NAME;
}
}
}
result.Data = orderPageEntities.Data;
result.TotalCount = orderPageEntities.TotalCount;
});
@ -4854,8 +4869,9 @@ namespace APT.BS.WebApi.Controllers.Api
}
}
BaseFilter filterRiskContent = new BaseFilter();
BaseFilter filterRiskContent = new BaseFilter(pageFilter.OrgId);
filterRiskContent.SelectField = new List<string> { "ID", "QUESTION_LEVEL", "RISK_AREA_ID", "CHECKCONTENT", "DESCREPTION" };
filterRiskContent.IgnoreDataRule = true;
var IlistRiskContent = GetEntities(expressionSC, filterRiskContent);
BaseFilter filterArea = new BaseFilter();
@ -5579,6 +5595,7 @@ namespace APT.BS.WebApi.Controllers.Api
#endregion
#region
@ -6131,6 +6148,9 @@ namespace APT.BS.WebApi.Controllers.Api
entity.STARTTIME = task.CREATE_TIME;
}
//记录完善人信息
entity.CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
entity.CREATE_TIME = DateTime.Now;
if (entity.SUBMIT_STATUS == (int)BSSubmitStatusEnum.Temp)
{
this.UnifiedCommit(() =>

View File

@ -1879,23 +1879,26 @@ namespace APT.BS.WebApi.Controllers.Api
item.Nav_Standard = null;
}
}
if (DataHelper.GetRequestType(HttpContext.Response.Headers) == 2)
//var requestType = DataHelper.GetRequestType(HttpContext.Response.Headers);
//if (DataHelper.GetRequestType(HttpContext.Response.Headers) == 2)
//{
if (listDetail != null && listDetail.Count > 0)
{
foreach (var item in listDetail)
{
if (item.Nav_SafeCheck != null)
{
item.Nav_SafeCheck = null;
}
}
if (listDetailLaw != null && listDetailLaw.Count > 0)
{
foreach (var item in listDetailLaw)
{
item.Nav_Standard = null;
}
}
}
if (listDetailLaw != null && listDetailLaw.Count > 0)
{
foreach (var item in listDetailLaw)
{
if (item.Nav_Standard != null)
item.Nav_Standard = null;
}
}
//}
if (entity.STATUSPLAN == 0)
{
@ -7285,6 +7288,7 @@ namespace APT.BS.WebApi.Controllers.Api
break;
}
//var iListCheck = GetEntities(expressionCheck, null, "Nav_Department", "Nav_CheckType", "Nav_CheckTypeLevel.Nav_Enums").Select(e => new T_BS_SAFE_CHECK_SUM()
//{
// ID = e.ID.ToString() + "_",

View File

@ -45,6 +45,53 @@ namespace APT.WebApi.Models//APT.BS.WebApi.Models
{
try
{
#region
//var API_NAME = context.HttpContext.Request.Path;
//bool isRecord = false;
////switch (API_NAME)
////{
//// case "":
//// isRecord = true;
//// break;
//// default:
//// break;
////}
////isRecord = true;
//if (isRecord)
//{
// //避免不需要的反射
// //bool? IsSuccessful = null;
// //try
// //{
// // IsSuccessful = ((APT.Infrastructure.Core.JsonActionResult`1[System.Boolean])((Microsoft.AspNetCore.Mvc.ObjectResult)context.Result).Value).IsSuccessful;
// //}
// //catch { }
// var ResultValue = ((Microsoft.AspNetCore.Mvc.ObjectResult)context.Result).Value;
// Type TResultValue = ResultValue.GetType();
// bool? IsSuccessful = null;
// PropertyInfo[] propsVal = TResultValue.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
// foreach (var prop in propsVal)
// {
// if (prop.Name == "IsSuccessful")
// {
// var fdsafd = prop.GetValue(ResultValue);
// IsSuccessful = (bool)fdsafd;
// break;
// }
// }
// if (IsSuccessful.HasValue && IsSuccessful.Value)
// {
// //执行成功记录操作结果
// }
//}
#endregion
#region T_FM_SYNC_LOG
T_FM_SYNC_LOG log = null;
if (context.HttpContext.Items != null && context.HttpContext.Items.ContainsKey("1"))
{
DateTime START_TIME = DateTime.Now;
@ -64,37 +111,47 @@ namespace APT.WebApi.Models//APT.BS.WebApi.Models
}
}
double SYNC_PARAM = (DateTime.Now - START_TIME).TotalSeconds;
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
if (SYNC_PARAM > 0.8)
{
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = SYNC_PARAM.ToString()
};
log = new T_FM_SYNC_LOG()
{
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = SYNC_PARAM.ToString()
};
//var commonService = APT.Infrastructure.Api.ServiceLocator.Instance.GetService<IFMUserService>();
//commonService.AddEntity<T_FM_SYNC_LOG>(log);
//var commonService = APT.Infrastructure.Api.ServiceLocator.Instance.GetService<IFMUserService>();
//commonService.AddEntity<T_FM_SYNC_LOG>(log);
}
}
#endregion
#region
if (log != null)//增加别的判断 (log != null||(isRecord&& !=null ))
{
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
@ -118,6 +175,8 @@ namespace APT.WebApi.Models//APT.BS.WebApi.Models
}
}
}
#endregion
}
catch
{

View File

@ -99,6 +99,7 @@ namespace APT.BS.WebApi
services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All));
//UpdateDatabase();
services.RegisterBearAuth();
services.AddControllers(o => o.Filters.Add(typeof(APIAttributeActionFilter)));
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.

View File

@ -19,7 +19,7 @@
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<datePattern value="yyyyMM'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">

View File

@ -66,57 +66,58 @@ namespace APT.WebApi.Models
}
var TalSeconds = (DateTime.Now - START_TIME).TotalSeconds;
//if (TalSeconds > 1)
//{
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
if (TalSeconds > 0.8)
{
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
}
}
}
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
}
}
}
}

View File

@ -19,7 +19,7 @@
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<datePattern value="yyyyMM'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">

View File

@ -66,57 +66,58 @@ namespace APT.WebApi.Models
}
var TalSeconds = (DateTime.Now - START_TIME).TotalSeconds;
//if (TalSeconds > 1)
//{
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
if (TalSeconds > 0.8)
{
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
}
}
}
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
}
}
}
}

View File

@ -19,7 +19,7 @@
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<datePattern value="yyyyMM'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">

View File

@ -66,57 +66,58 @@ namespace APT.WebApi.Models
}
var TalSeconds = (DateTime.Now - START_TIME).TotalSeconds;
//if (TalSeconds > 1)
//{
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
if (TalSeconds > 0.8)
{
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
}
}
}
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
}
}
}
}

View File

@ -19,7 +19,7 @@
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<datePattern value="yyyyMM'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">

View File

@ -66,57 +66,58 @@ namespace APT.WebApi.Models
}
var TalSeconds = (DateTime.Now - START_TIME).TotalSeconds;
//if (TalSeconds > 1)
//{
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
if (TalSeconds > 0.8)
{
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
}
}
}
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
}
}
}
}

View File

@ -19,7 +19,7 @@
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<datePattern value="yyyyMM'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">

View File

@ -66,57 +66,58 @@ namespace APT.WebApi.Models
}
var TalSeconds = (DateTime.Now - START_TIME).TotalSeconds;
//if (TalSeconds > 1)
//{
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
if (TalSeconds > 0.8)
{
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
}
}
}
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
}
}
}
}

View File

@ -19,7 +19,7 @@
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<datePattern value="yyyyMM'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">

View File

@ -66,57 +66,58 @@ namespace APT.WebApi.Models
}
var TalSeconds = (DateTime.Now - START_TIME).TotalSeconds;
//if (TalSeconds > 1)
//{
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
if (TalSeconds > 0.8)
{
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
}
}
}
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
}
}
}
}

View File

@ -19,7 +19,7 @@
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<datePattern value="yyyyMM'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -93,9 +93,11 @@ namespace APT.WebApi.Models
}
}
}
context.HttpContext.Items.Add("syncLog", log);
context.HttpContext.Items.Add("syncID", log.ID);
if (!context.HttpContext.Items.ContainsKey("syncLog"))
{
context.HttpContext.Items.Add("syncLog", log);
context.HttpContext.Items.Add("syncID", log.ID);
}
}
/// <summary>

View File

@ -19,7 +19,7 @@
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<datePattern value="yyyyMM'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">

View File

@ -62,7 +62,6 @@ namespace APT.HM.WebApi.App_Start
builder.RegisterType<BSSafeCheckService>().As<IBSSafeCheckService>().InstancePerLifetimeScope();
builder.RegisterType<BIHomeService>().As<IBIHomeService>().InstancePerLifetimeScope();
builder.RegisterType<FMNoticeService>().As<IFMNoticeService>().InstancePerLifetimeScope();
builder.RegisterType<BSOperateLogService>().As<IBSOperateLogService>().InstancePerLifetimeScope();
}
}
}

View File

@ -103,6 +103,7 @@ namespace APT.SC.WebApi.Controllers.Api.CM
entity.Nav_ListProject = null;
List<T_FM_NOTIFICATION_TASK> listTask = null;
T_FM_NOTIFICATION_TASK taskEnd = null;
#region
if (listUsers == null || !listUsers.Any())
@ -146,6 +147,15 @@ namespace APT.SC.WebApi.Controllers.Api.CM
{
throw new Exception("未获取到评估明细,操作失败!");
}
if (entity.TaskID != Guid.Empty)
{
taskEnd = NotificationTaskService.GetEntityTask(entity.TaskID, "CM026_SHOWPRINT");
if (!taskEnd.SOURCE_DATA_ID.HasValue)
{
taskEnd.SOURCE_DATA_ID = entity.ID;
}
}
}
#endregion
@ -155,6 +165,8 @@ namespace APT.SC.WebApi.Controllers.Api.CM
{
if (entity != null)
UpdateEntityNoCommit(entity);
if (taskEnd != null)
UpdateEntityNoCommit(taskEnd);
if (listUsers != null && listUsers.Any())//明细
BantchSaveEntityNoCommit(listUsers);
if (listListProject != null && listListProject.Any())//关联应急预案

View File

@ -126,15 +126,24 @@ namespace APT.SC.WebApi.Controllers.Api.CM
entity.APPROVE_ID = Guid.NewGuid();
var serialCode = DateTime.Now.ToString("yyyyMMddHHmmss");
MFlowPermitService.InsertApprove("CM" + serialCode, "CM002", null, entity.ID, "CM002_SHOWPRINT", entity.TaskID, true, () =>
{
if (entity != null)
UpdateEntityNoCommit(entity);
if (listPlanDetail != null && listPlanDetail.Any())//明细
BantchSaveEntityNoCommit(listPlanDetail);
if (listFiles != null && listFiles.Any())//关联应急预案
BantchSaveEntityNoCommit(listFiles);
}, entity.APPROVE_ID, null, null, null, null, "CM002_SHOWPRINT", null, "年度应急演练计划审批");
T_FM_NOTIFICATION_TASK taskEnd = null;
if (entity.TaskID != Guid.Empty)
{
taskEnd = NotificationTaskService.GetEntityTask(entity.TaskID, "CM002_SHOWPRINT");
if (!taskEnd.SOURCE_DATA_ID.HasValue)
taskEnd.SOURCE_DATA_ID = entity.ID;
}
MFlowPermitService.InsertApprove("CM" + serialCode, "CM002", null, entity.ID, "CM002_SHOWPRINT", null, true, () =>
{
if (entity != null)
UpdateEntityNoCommit(entity);
if (taskEnd != null)//明细
UpdateEntityNoCommit(taskEnd);
if (listPlanDetail != null && listPlanDetail.Any())//明细
BantchSaveEntityNoCommit(listPlanDetail);
if (listFiles != null && listFiles.Any())//关联应急预案
BantchSaveEntityNoCommit(listFiles);
}, entity.APPROVE_ID, null, null, null, null, "CM002_SHOWPRINT", null, "年度应急演练计划审批");
}
return true;

View File

@ -112,7 +112,11 @@ namespace APT.SC.WebApi.Controllers.Api.CM
}
T_FM_NOTIFICATION_TASK taskEnd = null;
if (entity.TaskID != Guid.Empty)
{
taskEnd = NotificationTaskService.GetEntityTask(entity.TaskID, "CM018_SHOWPRINT");
if (!taskEnd.SOURCE_DATA_ID.HasValue)
taskEnd.SOURCE_DATA_ID = entity.ID;
}
if (entity.ENABLE_STATUS == FMEnableStatusEnum.)
{

View File

@ -66,57 +66,58 @@ namespace APT.WebApi.Models
}
var TalSeconds = (DateTime.Now - START_TIME).TotalSeconds;
//if (TalSeconds > 1)
//{
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
if (TalSeconds > 0.8)
{
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
T_FM_SYNC_LOG log = new T_FM_SYNC_LOG()
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
ID = Guid.NewGuid(),
START_TIME = START_TIME,
END_TIME = DateTime.Now,
API_NAME = context.HttpContext.Request.Path,
DATA_COUNT = 0,
IS_SUCCESS = true,
IS_DELETED = false,
ORG_ID = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId,
ENTITY_ORG_TPYE = 0,
FLOW_STATUS = 0,
FLOW_SEND_STATUS = 0,
//CREATE_TIME = DateTime.Now,
//MODIFY_TIME = DateTime.Now,
TRACEIDENTIFIER = TRACEIDENTIFIER,
TRACEIDENTIFIERED = context.HttpContext.TraceIdentifier,
ISINSERT = false,
LOGTYPE = DataHelper.GetRequestType(context.HttpContext.Request.Headers) == 2 ? SyncLogType.APITimeResponsenAPP : SyncLogType.APITimeResponsen,
//FLOW_ID = ID,
//FORM_ID = ID,
CREATER_ID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID,
//MODIFIER_ID = ID,
//SYNC_PARAM = SYNC_PARAM,
//LOGTYPE = ID,
SYNC_PARAM = TalSeconds.ToString()
};
Infrastructure.Core.IUnitOfWork UnitOfWork = UserService.UnitWork();
Type TUnitOfWork = UnitOfWork.GetType();
PropertyInfo[] props = TUnitOfWork.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
List<string> listInfo = new List<string>();
TenantInfo tenantInfo = null;
foreach (var prop in props)
{
if (prop.Name == "TenantInfo")
{
var fdsafd = prop.GetValue(UnitOfWork);
tenantInfo = (TenantInfo)fdsafd;
break;
}
}
}
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
if (!string.IsNullOrEmpty(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
using (var contextCnn = new MigrationContext(tenantInfo.Conn))
{
contextCnn.AddEntity(log);
contextCnn.SaveChanges();
}
}
}
}

View File

@ -19,7 +19,7 @@
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<datePattern value="yyyyMM'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">

View File

@ -19,7 +19,7 @@
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<datePattern value="yyyyMM'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">