schangxiang@126.com
2024-09-04 4c0f8b9123f9627be73fff05c2062cffeee42cb7
AddInterfaceLogForRequestAsync
已添加4个文件
已修改3个文件
452 ■■■■■ 文件已修改
iWara.SCADA.Code/DF22001YiQi.Wms.sln 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Application/Service/AccessInterface/AccessInterfaceService.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Application/Service/AccessInterfaceLogForRequest/AccessInterfaceLogForRequestService.cs 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Application/Service/AccessInterfaceLogForRequest/Dto/AddAccessInterfaceLogForRequestInput.cs 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Application/Service/AccessInterfaceLogForRequest/IAccessInterfaceLogForRequestService.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/iWare.Wms.Core/Entity/Access/AccessInterfaceLogForRequest.cs 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
iWara.SCADA.Code/DF22001YiQi.Wms.sln
@@ -13,7 +13,7 @@
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "iWare.Wms.Application", "iWare.Wms.Application\iWare.Wms.Application.csproj", "{3E8EEE42-C8BF-4B63-992C-A87CB8996B19}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "iWare.Wms.Web.Core", "iWare.Wms.Web.Core\iWare.Wms.Web.Core.csproj", "{17D730E6-E41F-4F4C-BFC2-9E95A61F10BC}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "iWare.Wms.Web.Core", "iWare.Wms.Web.Core\iWare.Wms.Web.Core.csproj", "{17D730E6-E41F-4F4C-BFC2-9E95A61F10BC}"
EndProject
Global
    GlobalSection(SolutionConfigurationPlatforms) = preSolution
iWara.SCADA.Code/iWare.Wms.Application/Service/AccessInterface/AccessInterfaceService.cs
@@ -48,6 +48,7 @@
        private readonly IHttpContextAccessor _httpContextAccessor;
        private readonly IRepository<WorkPieceProcess, MasterDbContextLocator> _workPieceProcessRep;
        private readonly IAccessInterfaceLogService _accessInterfaceLog;
        private readonly IAccessInterfaceLogForRequestService _accessInterfaceLogForRequest;
        private readonly IRepository<WorkPieceInfoLog, MasterDbContextLocator> _WorkPieceInfoLog;
        private readonly IRepository<EquipmentCurrentMonitor, MasterDbContextLocator> _equipmentCurrentMonitorRep;
        private readonly IRepository<EquipmentBaseInfo, MasterDbContextLocator> _equipmentBaseInfoRep;
@@ -63,7 +64,9 @@
        /// <param name="workPieceInfoRep"></param>
        /// <param name="httpContextAccessor"></param>
        /// <param name="accessInterfaceLog"></param>
        public AccessInterfaceService(IRepository<QualityDataInfo, MasterDbContextLocator> qualityDataInfoRep,
        public AccessInterfaceService(
            IAccessInterfaceLogForRequestService accessInterfaceLogForRequest,
            IRepository<QualityDataInfo, MasterDbContextLocator> qualityDataInfoRep,
            IRepository<QualityDataInfoLog, MasterDbContextLocator> qualityDataInfoLogRep,
            IRepository<WorkPieceInfo, MasterDbContextLocator> workPieceInfoRep,
            IHttpContextAccessor httpContextAccessor,
@@ -77,6 +80,7 @@
            , IRepository<ProductionPlanInfo, MasterDbContextLocator> productionPlanInfoRep
            , IRepository<ShiftInfo, MasterDbContextLocator> shiftInfoRep)
        {
            _accessInterfaceLogForRequest = accessInterfaceLogForRequest;
            _qualityDataInfoRep = qualityDataInfoRep;
            _qualityDataInfoLogRep = qualityDataInfoLogRep;
            _workPieceInfoRep = workPieceInfoRep;
@@ -300,8 +304,8 @@
            {
                try
                {
                    addLog.WorkPieceID = input.WorkPieceID;
                    addLog.WorkingProcedureCurrent = input.WorkingProcedure;
                    addLog.WorkPieceID = input?.WorkPieceID;
                    addLog.WorkingProcedureCurrent = input?.WorkingProcedure;
                    await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
                }
@@ -323,7 +327,7 @@
        [HttpGet("GetWorkingProcedureForID")]
        public async Task<AccessWorPieceInfoOutput> GetWorkingProcedureForID([FromQuery] AccessWorkPieceInfoInput input)
        {
            AddAccessInterfaceLogInput addLog = new();
            AddAccessInterfaceLogForRequestInput addLog = new();
            addLog.JsonString = JsonConvert.SerializeObject(input);
            addLog.Action = 2;
            addLog.Key = input.WorkPieceID;
@@ -337,7 +341,9 @@
            if (input == null || string.IsNullOrEmpty(input.WorkPieceID))
            {
                addLog.Result = "传入参数异常:工件号不能为空!";
                await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
                //await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
                //替换[Editby shaocx,2024-09-04]
                await _accessInterfaceLogForRequest.AddInterfaceLogForRequestAsync(addLog);
                throw Oops.Oh(addLog.Result);
            }
@@ -346,14 +352,18 @@
            if (workPieceInfo == null)
            {
                addLog.Result = $"传入参数异常:工件号{input.WorkPieceID}不能找到指定工件!";
                await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
                //await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
                //替换[Editby shaocx,2024-09-04]
                await _accessInterfaceLogForRequest.AddInterfaceLogForRequestAsync(addLog);
                throw Oops.Oh(addLog.Result);
            }
            var re = workPieceInfo.Adapt<AccessWorPieceInfoOutput>();
            addLog.Result = re;
            await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
            //await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
            //替换[Editby shaocx,2024-09-04]
            await _accessInterfaceLogForRequest.AddInterfaceLogForRequestAsync(addLog);
            return re;
        }
@@ -807,7 +817,7 @@
            var workPieceInfo = await _workPieceInfoRep.DetachedEntities
                .FirstOrDefaultAsync(w => w.WorkPieceID == input.WorkPieceID.Trim());
            AddAccessInterfaceLogInput addLog = new();
            AddAccessInterfaceLogForRequestInput addLog = new();
            addLog.JsonString = JsonConvert.SerializeObject(input);
            addLog.Action = 2;
            addLog.Key = input.WorkPieceID;
@@ -818,7 +828,9 @@
                addLog.IpAddress = ipAddress.MapToIPv4().ToString();
            }
            addLog.OperateAddress = $"{_httpContextAccessor.HttpContext.Request.Path}";// {_httpContextAccessor.HttpContext.Request.QueryString}"; //_httpContextAccessor.HttpContext.Request.GetEncodedUrl();
            await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
            //替换[Editby shaocx,2024-09-04]
            // await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
            await _accessInterfaceLogForRequest.AddInterfaceLogForRequestAsync(addLog);
            return workPieceInfo == null ? null : workPieceInfo.Adapt<AccessWorPieceInfoOutput>();
        }
@@ -865,13 +877,15 @@
                    await _threadStatusMonitorRep.UpdateAsync(threadStatusMonitor);
                }
            }
            AddAccessInterfaceLogInput addLog = new();
            AddAccessInterfaceLogForRequestInput addLog = new();
            addLog.JsonString = JsonConvert.SerializeObject(input);
            addLog.Action = 1;
            addLog.Key = input.Threadcode;
            addLog.IpAddress = _httpContextAccessor.HttpContext.Connection.RemoteIpAddress.ToString();
            addLog.OperateAddress = $"{_httpContextAccessor.HttpContext.Request.Path}{_httpContextAccessor.HttpContext.Request.QueryString}";
            await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
            //替换[Editby shaocx,2024-09-04]
            // await _accessInterfaceLog.AddInterfaceLogAsync(addLog);
            await _accessInterfaceLogForRequest.AddInterfaceLogForRequestAsync(addLog);
        }
        #endregion
    }
iWara.SCADA.Code/iWare.Wms.Application/Service/AccessInterfaceLogForRequest/AccessInterfaceLogForRequestService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,139 @@
using Furion.DatabaseAccessor;
using Furion.DependencyInjection;
using Furion.DynamicApiController;
using iWare.Wms.Core;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using StackExchange.Redis;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
using System.Xml.Linq;
namespace iWare.Wms.Application
{
    /// <summary>
    /// å¤–部访问接口日志
    /// </summary>
    //[ApiDescriptionSettings("外部访问接口日志", Name = "AccessInterfaceLogForRequest", Order = 100)]
    //[Route("api/[Controller]")]
    public class AccessInterfaceLogForRequestService : IAccessInterfaceLogForRequestService, IDynamicApiController, ITransient
    {
        private readonly IRepository<AccessInterfaceLogForRequest, MasterDbContextLocator> _AccessInterfaceLogForRequestRep;
        /// <summary>
        /// å¤–部访问接口日志构造
        /// </summary>
        /// <param name="AccessInterfaceLogForRequestRep"></param>
        public AccessInterfaceLogForRequestService(IRepository<AccessInterfaceLogForRequest, MasterDbContextLocator> AccessInterfaceLogForRequestRep)
        {
            _AccessInterfaceLogForRequestRep = AccessInterfaceLogForRequestRep;
        }
        /// <summary>
        /// æ·»åŠ æ—¥å¿—
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        //[HttpPost("Add")]
        public async Task AddInterfaceLogForRequestAsync(AddAccessInterfaceLogForRequestInput input)
        {
            AccessInterfaceLogForRequest log = new();
            log.WorkPieceID = input.WorkPieceID;
            log.WorkingProcedureCurrent = input.WorkingProcedureCurrent;
            log.Id = input.Id;
            log.ParaJSON = input.JsonString;
            log.Action = input.Action;
            log.IPAddress = input.IpAddress;
            log.OperateAddress = input.OperateAddress;
            log.OperateUserId = input.OperateUserId;
            log.OperateUserName = input.OperateUserName;
            try
            {
                // å¤„理请求参数
                JObject jsonObject = JObject.Parse(input.JsonString);
                int count = 0;
                foreach (JProperty property in jsonObject.Properties())
                {
                    switch (count)
                    {
                        case 0:
                            log.Param1 = property.Value.ToString();
                            count++;
                            break;
                        case 1:
                            log.Param2 = property.Value.ToString();
                            count++;
                            break;
                        case 2:
                            log.Param3 = property.Value.ToString();
                            count++;
                            break;
                        default:
                            break;
                    }
                }
            }
            catch
            {
                log.Param1 = "解析失败";
            }
            // å¤„理返回结果
            var keys = new List<string>();
            try
            {
                //if (input.Result!=null&&input.Result.GetType().IsGenericType && input.Result.GetType().GetGenericTypeDefinition() == typeof(List<>) )
                //{
                //    PropertyInfo property = input.Result.GetType().GetProperty("Item");
                //    if (property != null)
                //    {
                //        IEnumerable collection = input.Result as IEnumerable;
                //        foreach (var item in collection)
                //        {
                //            PropertyInfo idProperty = item.GetType().GetProperty($"{input.Key}");
                //            if (idProperty == null) continue;
                //            var idValue = idProperty.GetValue(item);
                //            keys.Add(idValue.ToString());
                //        }
                //    }
                //}
                //else if(input.Result != null)
                //{
                //    PropertyInfo idProperty = input.Result.GetType().GetProperty($"{input.Key}");
                //    if (idProperty == null)
                //    {
                //        var idValue = idProperty.GetValue(input.Result);
                //        keys.Add(idValue.ToString());
                //    }
                //}
                //log.Keys = string.Join(", ", keys);
                if (input.Result.GetType().Name.Equals("String"))
                {
                    log.ResultJson = input.Result.ToString();
                }
                else
                {
                    log.ResultJson = JsonSerializer.Serialize(input.Result);
                }
            }
            catch
            {
                log.ResultJson = "日志异常";
            }
            //return log;
            await _AccessInterfaceLogForRequestRep.InsertNowAsync(log);
        }
    }
}
iWara.SCADA.Code/iWare.Wms.Application/Service/AccessInterfaceLogForRequest/Dto/AddAccessInterfaceLogForRequestInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWare.Wms.Application
{
    /// <summary>
    /// æ·»åŠ å¤–éƒ¨è®¿é—®æ—¥å¿—å‚æ•°
    /// </summary>
    public class AddAccessInterfaceLogForRequestInput
    {
        /// <summary>
        /// å·¥ä»¶å·
        /// </summary>
        [Comment("工件号")]
        public string WorkPieceID { get; set; }
        /// <summary>
        /// å½“前工序;进入下一工序前,此工序不变化
        /// </summary>
        [Comment("当前工序")]
        public string WorkingProcedureCurrent { get; set; }
        public long Id { get; set; }
        /// <summary>
        /// è¯·æ±‚参数Json字符串
        /// </summary>
        public string JsonString { get; set; } = null;
        /// <summary>
        /// è¯·æ±‚接口返回结果
        /// </summary>
        public object Result { get; set; } =null;
        /// <summary>
        /// æ“ä½œç±»åž‹1--插入,2--查询,3--更新
        /// </summary>
        public int Action { get; set; }
        /// <summary>
        /// å…³é”®å­—
        /// </summary>
        public string Key { get; set; }
        /// <summary>
        /// è°ƒç”¨æ–¹Ip
        /// </summary>
        public string IpAddress { get; set; } = "";
        /// <summary>
        /// æ“ä½œçš„æŽ¥å£åœ°å€
        /// </summary>
        public string OperateAddress { get; set; } = "";
        /// <summary>
        /// æ“ä½œäººId
        /// </summary>
        public string OperateUserId { get; set; } = null;
        /// <summary>
        /// æ“ä½œäººåç§°
        /// </summary>
        public string OperateUserName { get; set; } = null;
    }
}
iWara.SCADA.Code/iWare.Wms.Application/Service/AccessInterfaceLogForRequest/IAccessInterfaceLogForRequestService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWare.Wms.Application
{
    /// <summary>
    /// å¤–部访问接口日志
    /// </summary>
    public interface IAccessInterfaceLogForRequestService
    {
        /// <summary>
        /// æ·»åŠ æ—¥å¿—
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task AddInterfaceLogForRequestAsync(AddAccessInterfaceLogForRequestInput input);
    }
}
iWara.SCADA.Code/iWare.Wms.Application/iWare.Wms.Application.xml
@@ -4,6 +4,91 @@
        <name>iWare.Wms.Application</name>
    </assembly>
    <members>
        <member name="T:iWare.Wms.Application.AccessInterfaceLogForRequestService">
            <summary>
            å¤–部访问接口日志
            </summary>
        </member>
        <member name="M:iWare.Wms.Application.AccessInterfaceLogForRequestService.#ctor(Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.AccessInterfaceLogForRequest,Furion.DatabaseAccessor.MasterDbContextLocator})">
            <summary>
            å¤–部访问接口日志构造
            </summary>
            <param name="AccessInterfaceLogForRequestRep"></param>
        </member>
        <member name="M:iWare.Wms.Application.AccessInterfaceLogForRequestService.AddInterfaceLogForRequestAsync(iWare.Wms.Application.AddAccessInterfaceLogForRequestInput)">
            <summary>
            æ·»åŠ æ—¥å¿—
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="T:iWare.Wms.Application.AddAccessInterfaceLogForRequestInput">
            <summary>
            æ·»åŠ å¤–éƒ¨è®¿é—®æ—¥å¿—å‚æ•°
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.AddAccessInterfaceLogForRequestInput.WorkPieceID">
            <summary>
            å·¥ä»¶å·
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.AddAccessInterfaceLogForRequestInput.WorkingProcedureCurrent">
            <summary>
            å½“前工序;进入下一工序前,此工序不变化
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.AddAccessInterfaceLogForRequestInput.JsonString">
            <summary>
            è¯·æ±‚参数Json字符串
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.AddAccessInterfaceLogForRequestInput.Result">
            <summary>
            è¯·æ±‚接口返回结果
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.AddAccessInterfaceLogForRequestInput.Action">
            <summary>
            æ“ä½œç±»åž‹1--插入,2--查询,3--更新
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.AddAccessInterfaceLogForRequestInput.Key">
            <summary>
            å…³é”®å­—
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.AddAccessInterfaceLogForRequestInput.IpAddress">
            <summary>
            è°ƒç”¨æ–¹Ip
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.AddAccessInterfaceLogForRequestInput.OperateAddress">
            <summary>
            æ“ä½œçš„æŽ¥å£åœ°å€
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.AddAccessInterfaceLogForRequestInput.OperateUserId">
            <summary>
            æ“ä½œäººId
            </summary>
        </member>
        <member name="P:iWare.Wms.Application.AddAccessInterfaceLogForRequestInput.OperateUserName">
            <summary>
            æ“ä½œäººåç§°
            </summary>
        </member>
        <member name="T:iWare.Wms.Application.IAccessInterfaceLogForRequestService">
            <summary>
            å¤–部访问接口日志
            </summary>
        </member>
        <member name="M:iWare.Wms.Application.IAccessInterfaceLogForRequestService.AddInterfaceLogForRequestAsync(iWare.Wms.Application.AddAccessInterfaceLogForRequestInput)">
            <summary>
            æ·»åŠ æ—¥å¿—
            </summary>
            <param name="input"></param>
            <returns></returns>
        </member>
        <member name="T:iWare.Wms.Application.AccessInterfaceLogService">
            <summary>
            å¤–部访问接口日志
@@ -94,7 +179,7 @@
            å¤–部访问接口
            </summary>
        </member>
        <member name="M:iWare.Wms.Application.AccessInterfaceService.#ctor(Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.QualityDataInfo,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.QualityDataInfoLog,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceInfo,Furion.DatabaseAccessor.MasterDbContextLocator},Microsoft.AspNetCore.Http.IHttpContextAccessor,iWare.Wms.Application.IAccessInterfaceLogService,Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.ThreadStatusMonitor,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.DataCaptureConfig,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceProcess,Furion.DatabaseAccessor.MasterDbContextLocator},iWare.Wms.Application.WorkPieceInfoService,Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceInfoLog,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.EquipmentCurrentMonitor,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.EquipmentBaseInfo,Furion.DatabaseAccessor.MasterDbContextLocator},iWare.Wms.Application.ISysDictTypeService,Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.ProductionPlanInfo,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.ShiftInfo,Furion.DatabaseAccessor.MasterDbContextLocator})">
        <member name="M:iWare.Wms.Application.AccessInterfaceService.#ctor(iWare.Wms.Application.IAccessInterfaceLogForRequestService,Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.QualityDataInfo,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.QualityDataInfoLog,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceInfo,Furion.DatabaseAccessor.MasterDbContextLocator},Microsoft.AspNetCore.Http.IHttpContextAccessor,iWare.Wms.Application.IAccessInterfaceLogService,Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.ThreadStatusMonitor,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.DataCaptureConfig,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceProcess,Furion.DatabaseAccessor.MasterDbContextLocator},iWare.Wms.Application.WorkPieceInfoService,Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.WorkPieceInfoLog,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.EquipmentCurrentMonitor,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.EquipmentBaseInfo,Furion.DatabaseAccessor.MasterDbContextLocator},iWare.Wms.Application.ISysDictTypeService,Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.ProductionPlanInfo,Furion.DatabaseAccessor.MasterDbContextLocator},Furion.DatabaseAccessor.IRepository{iWare.Wms.Core.ShiftInfo,Furion.DatabaseAccessor.MasterDbContextLocator})">
            <summary>
            å¤–部访问构造函数
            </summary>
iWara.SCADA.Code/iWare.Wms.Core/Entity/Access/AccessInterfaceLogForRequest.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,96 @@
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWare.Wms.Core
{
    public class AccessInterfaceLogForRequest : DEntityBase
    {
        /// <summary>
        /// å·¥ä»¶å·
        /// </summary>
        [Comment("工件号")]
        public string WorkPieceID { get; set; }
        /// <summary>
        /// å½“前工序;进入下一工序前,此工序不变化
        /// </summary>
        [Comment("当前工序")]
        public string WorkingProcedureCurrent { get; set; }
        /// <summary>
        /// è°ƒç”¨è¡Œä¸º
        /// </summary>
        [Comment("调用行为")]
        [Required]
        public int Action { get; set; }
        /// <summary>
        /// æ“ä½œæŽ¥å£
        /// </summary>
        [Comment("操作接口")]
        [MaxLength(200)]
        public string OperateAddress { get; set; }
        [Comment("操作人Id")]
        [MaxLength(200)]
        public string OperateUserId { get; set; }
        [Comment("操作人名称")]
        [MaxLength(200)]
        public string OperateUserName { get; set; }
        /// <summary>
        /// æ“ä½œIp
        /// </summary>
        [Comment("操作Ip")]
        [MaxLength(50)]
        public string IPAddress { get; set; }
        /// <summary>
        /// å‚æ•°1
        /// </summary>
        [Comment("参数1")]
        [MaxLength(200)]
        public string Param1 { get; set; }
        /// <summary>
        /// å‚æ•°2
        /// </summary>
        [Comment("参数2")]
        [MaxLength(200)]
        public string Param2 { get; set; }
        /// <summary>
        /// å‚æ•°3
        /// </summary>
        [Comment("参数3")]
        [MaxLength(200)]
        public string Param3 { get; set; }
        /// <summary>
        /// è¯·æ±‚参数json
        /// </summary>
        [Comment("请求参数json")]
        public string ParaJSON { get; set; }
        /// <summary>
        /// è¿”回结果
        /// </summary>
        [Comment("返回结果")]
        public string ResultJson { get; set; }
        /// <summary>
        /// å…³é”®å­—集合
        /// </summary>
        [Comment("关键字集合")]
        public string Keys { get; set; }
    }
}