schangxiang@126.com
2025-08-25 aa383c30e4f1053e97c6a33ccf9a899fca26dd20
Merge branch 'master' of http://222.71.245.114:9086/r/WGQ_WB19011

# Conflicts:
# DEmon/iWareWms/iWareWms.csproj
# DEmon/iWareWms/package/Newtonsoft.Json.dll
已添加52个文件
已修改3个文件
3569 ■■■■■ 文件已修改
.gitignore 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/OpcAccess/DLL/Interop.OPCAutomation.dll 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/dll/FineUIPro.dll 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareCc/DLL/HPSocket4C-SSL_UD.dll 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareCc/DLL/HPSocket4C_UD.dll 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareCc/DLL/HPSocketCS.dll 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareCc/iWareCc.csproj 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareExcel/DLL/EPPlus.dll 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Dao/AlertDao.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Dao/FailSentMessageDao.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Dao/InOutStorageDetailDao.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Dao/OperationDao.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Dao/ReceiveMsgLogDao.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Dao/SendMsgLogDao.cs 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Entity/AlertEntity.cs 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Entity/FailSentMessageEntity.cs 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Entity/InOutStorageDetailEntity.cs 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Entity/OperationEntity.cs 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Entity/ReceiveMsgLogEntity.cs 113 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Entity/SendMsgLogEntity.cs 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/EnumType/EInOutStorageType.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/EnumType/EReceiveType.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/EnumType/_system~.ini 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Service/AlertService.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Service/FailSentMessageService.cs 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Service/InOutStorageDetailService.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Service/OperationService.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Service/ReceiveMsgLogService.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareLog/LOG/Service/SendMsgLogService.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/Alert/Alert.aspx 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/Alert/Alert.aspx.cs 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/Alert/Alert.aspx.designer.cs 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx.cs 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx.designer.cs 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/FailSentMessage/_system~.ini 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/Operation/Operation.aspx 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/Operation/Operation.aspx.cs 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/Operation/Operation.aspx.designer.cs 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx.cs 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx.designer.cs 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/ReceiveMsgLog/_system~.ini 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx 108 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx.cs 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx.designer.cs 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/View/LOG/SendMsgLog/_system~.ini 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/iWareWms.csproj 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/package/Newtonsoft.Json.dll 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/package/iWareCommon.dll 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/package/iWareDataCore.dll 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/package/iWareDataLog.dll 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/package/iWareDataRbacWms.dll 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/package/iWareExcel.dll 补丁 | 查看 | 原始文档 | blame | 历史
DEmon/iWareWms/package/iWareLog.dll 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -375,29 +375,5 @@
/WebApplication1/Properties/AssemblyInfo.cs
/WebApplication1/packages.config
/前端测试文件/checkOrder
/iWare_RawMaterialWarehouse/Admin.NET.Web.Entry/wwwroot/Upload
# å¿½ç•¥çš„æ–‡ä»¶
/Admin.NET.Web.Entry/wwwroot/Upload
/bin
*.dll
/My_Admin.NET_Template_Web/node_modules
/node_modules
/bin/Debug
/Debug
/bin/Release
/Release
/iWare_RawMaterialWarehouse/Admin.NET.Database.Migrations/Migrations
/iWare_RawMaterialWarehouse/Admin.NET.Database.Migrations/Migrations
/iWare_RawMaterialWarehouse/Admin.NET.Web.Entry/wwwroot/CodeGen
/iWare_RawMaterialWarehouse/Admin.NET.Application/Admin.NET.Application.xml
/使用文档/PDManer文件/.back_My_Admin
/iWare_RawMaterialWarehouse_Wms/Admin.NET.Database.Migrations/Migrations
/使用文档/PDManer文件/.back_原材料库标准化
/iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Admin.NET.Application.xml
/使用文档/PDManer文件/原材料库标准化-backup-20240426113843.chnr.json
/iWare_RawMaterialWarehouse_Web/public/config.js
/Old/iWare_RawMaterialWarehouse_Web_Old/package.json
/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/Upload
/iWare_RawMaterialWarehouse_Web/stats.html
/iWare_RawMaterialWarehouse_Web/stats.html
/iWare_RawMaterialWarehouse_Wms/Admin.NET.Web.Entry/wwwroot/CodeGen
/DEmon/iWareCommon/bin
/DEmon/iWareCommon/obj
DEmon/OpcAccess/DLL/Interop.OPCAutomation.dll
Binary files differ
DEmon/dll/FineUIPro.dll
Binary files differ
DEmon/iWareCc/DLL/HPSocket4C-SSL_UD.dll
Binary files differ
DEmon/iWareCc/DLL/HPSocket4C_UD.dll
Binary files differ
DEmon/iWareCc/DLL/HPSocketCS.dll
Binary files differ
DEmon/iWareCc/iWareCc.csproj
@@ -59,7 +59,7 @@
    <GenerateManifests>true</GenerateManifests>
  </PropertyGroup>
  <PropertyGroup>
    <SignManifests>true</SignManifests>
    <SignManifests>false</SignManifests>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="Autofac">
DEmon/iWareExcel/DLL/EPPlus.dll
Binary files differ
DEmon/iWareLog/LOG/Dao/AlertDao.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
using iWareCommon.Common.Dao;
using iWareLog.LOG.Entity;
using iWareLog.ORM;
using System.Collections.Generic;
using System.Linq;
namespace iWareLog.LOG.Dao
{
    public class AlertDao : CommonDao<AlertEntity, DEVAlert>
    {
         private static object Lock = new object();
         private AlertDao() { }
         private static AlertDao Instance = null;
        /// <summary>
        /// èŽ·å–å•ä¾‹çš„æ–¹æ³•
        /// </summary>
        /// <returns>log服务的单例实体</returns>
         public static AlertDao GetInstance()
        {
            if (Instance == null)
            {
                lock (Lock)
                {
                    if (Instance == null)
                    {
                        Instance = new AlertDao();
                    }
                }
            }
            return Instance;
        }
         protected override string GetColumnName(string name)
         {
             return AlertEntity.GetColumnName(name);
         }
         protected override string GetTableName()
         {
             return AlertEntity.GetTableName();
         }
         protected override AlertEntity ToEntity(DEVAlert receive)
         {
             return new AlertEntity(receive);
         }
         protected override DEVAlert ToOrm(AlertEntity receive)
         {
             return receive.ToOrm();
         }
         protected override List<string> GetColumnNames()
         {
             return AlertEntity.GetColumnMap().Keys.ToList();
         }
    }
}
DEmon/iWareLog/LOG/Dao/FailSentMessageDao.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
using iWareCommon.Common.Dao;
using iWareLog.LOG.Entity;
using iWareLog.ORM;
using System.Collections.Generic;
using System.Linq;
namespace iWareLog.LOG.Dao
{
    public class FailSentMessageDao : CommonDao<FailSentMessageEntity, LOGERRORFailSentMessage>
    {
         private static object Lock = new object();
         private FailSentMessageDao() { }
         private static FailSentMessageDao Instance = null;
        /// <summary>
        /// èŽ·å–å•ä¾‹çš„æ–¹æ³•
        /// </summary>
        /// <returns>log服务的单例实体</returns>
         public static FailSentMessageDao GetInstance()
        {
            if (Instance == null)
            {
                lock (Lock)
                {
                    if (Instance == null)
                    {
                        Instance = new FailSentMessageDao();
                    }
                }
            }
            return Instance;
        }
         protected override string GetColumnName(string name)
         {
             return FailSentMessageEntity.GetColumnName(name);
         }
         protected override string GetTableName()
         {
             return FailSentMessageEntity.GetTableName();
         }
         protected override FailSentMessageEntity ToEntity(LOGERRORFailSentMessage receive)
         {
             return new FailSentMessageEntity(receive);
         }
         protected override LOGERRORFailSentMessage ToOrm(FailSentMessageEntity receive)
         {
             return receive.ToOrm();
         }
         protected override List<string> GetColumnNames()
         {
             return FailSentMessageEntity.GetColumnMap().Keys.ToList();
         }
    }
}
DEmon/iWareLog/LOG/Dao/InOutStorageDetailDao.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
using iWareCommon.Common.Dao;
using iWareLog.LOG.Entity;
using iWareLog.ORM;
using System.Collections.Generic;
using System.Linq;
namespace iWareLog.LOG.Dao
{
    public class InOutStorageDetailDao : CommonDao<InOutStorageDetailEntity, InOutStorageDetail>
    {
         private static object Lock = new object();
         private InOutStorageDetailDao() { }
         private static InOutStorageDetailDao Instance = null;
        /// <summary>
        /// èŽ·å–å•ä¾‹çš„æ–¹æ³•
        /// </summary>
        /// <returns>log服务的单例实体</returns>
         public static InOutStorageDetailDao GetInstance()
        {
            if (Instance == null)
            {
                lock (Lock)
                {
                    if (Instance == null)
                    {
                        Instance = new InOutStorageDetailDao();
                    }
                }
            }
            return Instance;
        }
         protected override string GetColumnName(string name)
         {
             return InOutStorageDetailEntity.GetColumnName(name);
         }
         protected override string GetTableName()
         {
             return InOutStorageDetailEntity.GetTableName();
         }
         protected override InOutStorageDetailEntity ToEntity(InOutStorageDetail receive)
         {
             return new InOutStorageDetailEntity(receive);
         }
         protected override InOutStorageDetail ToOrm(InOutStorageDetailEntity receive)
         {
             return receive.ToOrm();
         }
         protected override List<string> GetColumnNames()
         {
             return InOutStorageDetailEntity.GetColumnMap().Keys.ToList();
         }
    }
}
DEmon/iWareLog/LOG/Dao/OperationDao.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
using iWareCommon.Common.Dao;
using iWareLog.LOG.Entity;
using iWareLog.ORM;
using System.Collections.Generic;
using System.Linq;
namespace iWareLog.LOG.Dao
{
    public class OperationDao : CommonDao<OperationEntity, LOGOperation>
    {
         private static object Lock = new object();
         private OperationDao() { }
         private static OperationDao Instance = null;
        /// <summary>
        /// èŽ·å–å•ä¾‹çš„æ–¹æ³•
        /// </summary>
        /// <returns>log服务的单例实体</returns>
         public static OperationDao GetInstance()
        {
            if (Instance == null)
            {
                lock (Lock)
                {
                    if (Instance == null)
                    {
                        Instance = new OperationDao();
                    }
                }
            }
            return Instance;
        }
         protected override string GetColumnName(string name)
         {
             return OperationEntity.GetColumnName(name);
         }
         protected override string GetTableName()
         {
             return OperationEntity.GetTableName();
         }
         protected override OperationEntity ToEntity(LOGOperation receive)
         {
             return new OperationEntity(receive);
         }
         protected override LOGOperation ToOrm(OperationEntity receive)
         {
             return receive.ToOrm();
         }
         protected override List<string> GetColumnNames()
         {
             return OperationEntity.GetColumnMap().Keys.ToList();
         }
    }
}
DEmon/iWareLog/LOG/Dao/ReceiveMsgLogDao.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
using iWareCommon.Common.Dao;
using iWareLog.LOG.Entity;
using iWareLog.ORM;
using System.Collections.Generic;
using System.Linq;
namespace iWareLog.LOG.Dao
{
    public class ReceiveMsgLogDao : CommonDao<ReceiveMsgLogEntity, LOGReceiveMsgLog>
    {
         private static object Lock = new object();
         private ReceiveMsgLogDao() { }
         private static ReceiveMsgLogDao Instance = null;
        /// <summary>
        /// èŽ·å–å•ä¾‹çš„æ–¹æ³•
        /// </summary>
        /// <returns>log服务的单例实体</returns>
         public static ReceiveMsgLogDao GetInstance()
        {
            if (Instance == null)
            {
                lock (Lock)
                {
                    if (Instance == null)
                    {
                        Instance = new ReceiveMsgLogDao();
                    }
                }
            }
            return Instance;
        }
         protected override string GetColumnName(string name)
         {
             return ReceiveMsgLogEntity.GetColumnName(name);
         }
         protected override string GetTableName()
         {
             return ReceiveMsgLogEntity.GetTableName();
         }
         protected override ReceiveMsgLogEntity ToEntity(LOGReceiveMsgLog receive)
         {
             return new ReceiveMsgLogEntity(receive);
         }
         protected override LOGReceiveMsgLog ToOrm(ReceiveMsgLogEntity receive)
         {
             return receive.ToOrm();
         }
         protected override List<string> GetColumnNames()
         {
             return ReceiveMsgLogEntity.GetColumnMap().Keys.ToList();
         }
    }
}
DEmon/iWareLog/LOG/Dao/SendMsgLogDao.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,64 @@
using iWareCommon.Common.Dao;
using iWareLog.LOG.Entity;
using iWareLog.ORM;
using System.Collections.Generic;
using System.Linq;
namespace iWareLog.LOG.Dao
{
    public class SendMsgLogDao: CommonDao<SendMsgLogEntity, LOGSendMsgLog>
    {
         private static object Lock = new object();
         private SendMsgLogDao() { }
         private static SendMsgLogDao Instance = null;
        /// <summary>
        /// èŽ·å–å•ä¾‹çš„æ–¹æ³•
        /// </summary>
        /// <returns>LOG服务的单例实体</returns>
         public static SendMsgLogDao GetInstance()
        {
            if (Instance == null)
            {
                lock (Lock)
                {
                    if (Instance == null)
                    {
                        Instance = new SendMsgLogDao();
                    }
                }
            }
            return Instance;
        }
         protected override string GetColumnName(string name)
         {
             return SendMsgLogEntity.GetColumnName(name);
         }
         protected override string GetTableName()
         {
             return SendMsgLogEntity.GetTableName();
         }
         protected override SendMsgLogEntity ToEntity(LOGSendMsgLog send)
         {
             return new SendMsgLogEntity(send);
         }
         protected override LOGSendMsgLog ToOrm(SendMsgLogEntity send)
         {
             return send.ToOrm();
         }
         protected override List<string> GetColumnNames()
         {
             return SendMsgLogEntity.GetColumnMap().Keys.ToList();
         }
    }
}
DEmon/iWareLog/LOG/Entity/AlertEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,138 @@
using iWareCommon.Utils;
using iWareLog.ORM;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iWareCommon.Common.Entity;
namespace iWareLog.LOG.Entity
{
    public class AlertEntity : ICommonEntity<DEVAlert>
    {
        /// <summary>
        /// 1主键
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 2小车名称
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 3提示类型
        /// </summary>
        public int Type { get; set; }
        /// <summary>
        /// 4设备id
        /// </summary>
        public string EquipId { get; set; }
        /// <summary>
        /// 5提示代码
        /// </summary>
        public string AlertCode{ get; set; }
        /// <summary>
        /// 6提示名称
        /// </summary>
        public string AlertName { get; set; }
        /// <summary>
        /// 7是否消警
        /// </summary>
        public int IsFinished { get; set; }
        /// <summary>
        /// 8事件代码
        /// </summary>
        public int EventCode { get; set; }
        /// <summary>
        /// 9创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }
        /// <summary>
        /// 10结束事件
        /// </summary>
        public DateTime FinishTime { get; set; }
        /// <summary>
        /// æ— å‚构造
        /// </summary>
        public AlertEntity() {  }
        /// <summary>
        /// æœ‰å‚构造
        /// </summary>
        /// <param name="alert">orm印射的类</param>
        public AlertEntity(DEVAlert alert)
        {
            EntityPropHelper<AlertEntity, DEVAlert>.CopyProp(alert, this, GetColumnMap());
        }
        /// <summary>
        /// å°†å¯¹è±¡è½¬æ¢æˆORM中的类型
        /// </summary>
        /// <returns>Orm中的BASEShift类型</returns>
        public DEVAlert ToOrm()
        {
            DEVAlert alert = new DEVAlert();
            EntityPropHelper<AlertEntity, DEVAlert>.CopyProp(this, alert, GetColumnMap());
            return alert;
        }
        ///<summary>
        /// èŽ·å–è‡ªå®šä¹‰è§’è‰²ç±»ä¸­çš„å­—æ®µåä¸ºé”®ï¼Œorm中对象的字段名为值的字段
        /// </summary>
        /// <returns></returns>
        public static Dictionary<string, string> GetColumnMap()
        {
            return new Dictionary<string, string>()
            {
                {"Id", "id"},
                {"Name", "name"},
                {"Type", "type"},
                {"EquipId", "equipid"},
                {"AlertCode", "alertcode"},
                {"AlertName", "alertname"},
                {"IsFinished", "isfinished"},
                {"EventCode","eventcode"},
                {"CreateTime","createtime"},
                {"FinishTime","finishtime"}
            };
        }
        /// <summary>
        /// æ ¹æ®ShiftEntity的字段转BASEShift的字段
        /// </summary>
        /// <param name="name">ShiftEntity的字段</param>
        /// <returns>BASEShift</returns>
        public static string GetColumnName(string name)
        {
            var columnMap = GetColumnMap();
            return columnMap.ContainsKey(name) ? columnMap[name] : name;
        }
        /// <summary>
        /// èŽ·å–ShiftEntity对应的表名
        /// </summary>
        /// <returns>表名</returns>
        public static string GetTableName()
        {
            return "[dbo].[DEVAlert]";
        }
    }
}
DEmon/iWareLog/LOG/Entity/FailSentMessageEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,132 @@
using iWareCommon.Utils;
using iWareLog.ORM;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iWareCommon.Common.Entity;
namespace iWareLog.LOG.Entity
{
    public class FailSentMessageEntity : ICommonEntity<LOGERRORFailSentMessage>
    {
        /// <summary>
        /// 1主键
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 2提交地址
        /// </summary>
        public string Url { get; set; }
        /// <summary>
        /// 3请求字符串
        /// </summary>
        public string RequestStr { get; set; }
        /// <summary>
        /// 4重试次数
        /// </summary>
        public int RetryTimes { get; set; }
        /// <summary>
        /// 5是否ok,0为未成功,1为成功
        /// </summary>
        public int IsOk { get; set; }
        /// <summary>
        /// 6是否发送邮件:0为未发送,1为已发送
        /// </summary>
        public int IsMailed { get; set; }
        /// <summary>
        /// 7创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }
        /// <summary>
        /// 8结束事件
        /// </summary>
        public DateTime FinishTime { get; set; }
        /// <summary>
        /// 9错误消息
        /// </summary>
        public string ResMsg { get; set; }
        /// <summary>
        /// æ— å‚构造
        /// </summary>
        public FailSentMessageEntity() {  }
        /// <summary>
        /// æœ‰å‚构造
        /// </summary>
        /// <param name="alert">orm印射的类</param>
        public FailSentMessageEntity(LOGERRORFailSentMessage alert)
        {
            EntityPropHelper<FailSentMessageEntity, LOGERRORFailSentMessage>.CopyProp(alert, this, GetColumnMap());
        }
        /// <summary>
        /// å°†å¯¹è±¡è½¬æ¢æˆORM中的类型
        /// </summary>
        /// <returns>Orm中的BASEShift类型</returns>
        public LOGERRORFailSentMessage ToOrm()
        {
            LOGERRORFailSentMessage alert = new LOGERRORFailSentMessage();
            EntityPropHelper<FailSentMessageEntity, LOGERRORFailSentMessage>.CopyProp(this, alert, GetColumnMap());
            return alert;
        }
        ///<summary>
        /// èŽ·å–è‡ªå®šä¹‰è§’è‰²ç±»ä¸­çš„å­—æ®µåä¸ºé”®ï¼Œorm中对象的字段名为值的字段
        /// </summary>
        /// <returns></returns>
        public static Dictionary<string, string> GetColumnMap()
        {
            return new Dictionary<string, string>()
            {
                {"Id", "id"},
                {"Url", "url"},
                {"RequestStr", "requeststr"},
                {"RetryTimes", "retrytimes"},
                {"IsOk", "isok"},
                {"IsMailed", "ismailed"},
                {"CreateTime", "createtime"},
                {"UpdateTime","updatetime"},
                {"ResMsg","resmsg"}
            };
        }
        /// <summary>
        /// æ ¹æ®ShiftEntity的字段转BASEShift的字段
        /// </summary>
        /// <param name="name">ShiftEntity的字段</param>
        /// <returns>BASEShift</returns>
        public static string GetColumnName(string name)
        {
            var columnMap = GetColumnMap();
            return columnMap.ContainsKey(name) ? columnMap[name] : name;
        }
        /// <summary>
        /// èŽ·å–ShiftEntity对应的表名
        /// </summary>
        /// <returns>表名</returns>
        public static string GetTableName()
        {
            return "[dbo].[LOGERRORFailSentMessage]";
        }
    }
}
DEmon/iWareLog/LOG/Entity/InOutStorageDetailEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,150 @@
using iWareCommon.Utils;
using iWareLog.ORM;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iWareCommon.Common.Entity;
namespace iWareLog.LOG.Entity
{
    public class InOutStorageDetailEntity : ICommonEntity<InOutStorageDetail>
    {
        /// <summary>
        /// 1主键
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 2库位类型id
        /// </summary>
        public int FormPlaceId { get; set; }
        /// <summary>
        /// 3库位代码
        /// </summary>
        public string FromPlaceCode { get; set; }
        /// <summary>
        /// 4库位类型id
        /// </summary>
        public int ToPlaceId { get; set; }
        /// <summary>
        /// 5库位代码
        /// </summary>
        public string ToPlaceCode { get; set; }
        /// <summary>
        /// 6出入库时间
        /// </summary>
        public DateTime CreateTime { get; set; }
        /// <summary>
        /// 7修改时间
        /// </summary>
        public DateTime UpdateTime { get; set; }
        /// <summary>
        /// 8操作类型,1为入库,2为出库
        /// </summary>
        public int Type { get; set; }
        /// <summary>
        /// 9设备id
        /// </summary>
        public int EquipId { get; set; }
        /// <summary>
        /// 10设备名称
        /// </summary>
        public string EquipName { get; set; }
        /// <summary>
        /// 11物料id
        /// </summary>
        public int MaterialId { get; set; }
        /// <summary>
        /// 12物料号
        /// </summary>
        public string MaterialCode { get; set; }
        /// <summary>
        /// æ— å‚构造
        /// </summary>
        public InOutStorageDetailEntity() {  }
        /// <summary>
        /// æœ‰å‚构造
        /// </summary>
        /// <param name="alert">orm印射的类</param>
        public InOutStorageDetailEntity(InOutStorageDetail alert)
        {
            EntityPropHelper<InOutStorageDetailEntity, InOutStorageDetail>.CopyProp(alert, this, GetColumnMap());
        }
        /// <summary>
        /// å°†å¯¹è±¡è½¬æ¢æˆORM中的类型
        /// </summary>
        /// <returns>Orm中的BASEShift类型</returns>
        public InOutStorageDetail ToOrm()
        {
            InOutStorageDetail alert = new InOutStorageDetail();
            EntityPropHelper<InOutStorageDetailEntity, InOutStorageDetail>.CopyProp(this, alert, GetColumnMap());
            return alert;
        }
        ///<summary>
        /// èŽ·å–è‡ªå®šä¹‰è§’è‰²ç±»ä¸­çš„å­—æ®µåä¸ºé”®ï¼Œorm中对象的字段名为值的字段
        /// </summary>
        /// <returns></returns>
        public static Dictionary<string, string> GetColumnMap()
        {
            return new Dictionary<string, string>()
            {
                {"Id", "id"},
                {"FormPlaceId", "formplaceid"},
                {"FromPlaceCode", "fromplacecode"},
                {"ToPlaceId", "toplaceid"},
                {"ToPlaceCode", "toplacecode"},
                {"CreateTime", "createtime"},
                {"UpdateTime", "updatetime"},
                {"EquipId","equipid"},
                {"EquipName","equipname"},
                {"MaterialId", "materialid"},
                {"MaterialCode","materialcode"},
                {"Type","type"}
            };
        }
        /// <summary>
        /// æ ¹æ®ShiftEntity的字段转BASEShift的字段
        /// </summary>
        /// <param name="name">ShiftEntity的字段</param>
        /// <returns>BASEShift</returns>
        public static string GetColumnName(string name)
        {
            var columnMap = GetColumnMap();
            return columnMap.ContainsKey(name) ? columnMap[name] : name;
        }
        /// <summary>
        /// èŽ·å–ShiftEntity对应的表名
        /// </summary>
        /// <returns>表名</returns>
        public static string GetTableName()
        {
            return "[dbo].[InOutStorageDetail]";
        }
    }
}
DEmon/iWareLog/LOG/Entity/OperationEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,138 @@
using iWareCommon.Utils;
using iWareLog.ORM;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iWareCommon.Common.Entity;
namespace iWareLog.LOG.Entity
{
    public class OperationEntity : ICommonEntity<LOGOperation>
    {
        /// <summary>
        /// 1主键
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// 2
        /// </summary>
        public int WbLogType { get; set; }
        /// <summary>
        /// 3
        /// </summary>
        public DateTime WbLogDate { get; set; }
        /// <summary>
        /// 4
        /// </summary>
        public string WbLogacCount { get; set; }
        /// <summary>
        /// 5
        /// </summary>
        public string WbUserName { get; set; }
        /// <summary>
        /// 6
        /// </summary>
        public string WbUserIpaddress { get; set; }
        /// <summary>
        /// 7
        /// </summary>
        public string WbLogTxt { get; set; }
        /// <summary>
        /// 8
        /// </summary>
        public string Log_backup1 { get; set; }
        /// <summary>
        /// 9
        /// </summary>
        public string Log_backup2 { get; set; }
        /// <summary>
        /// 10
        /// </summary>
        public string Log_backup3 { get; set; }
        /// <summary>
        /// æ— å‚构造
        /// </summary>
        public OperationEntity() {  }
        /// <summary>
        /// æœ‰å‚构造
        /// </summary>
        /// <param name="alert">orm印射的类</param>
        public OperationEntity(LOGOperation alert)
        {
            EntityPropHelper<OperationEntity, LOGOperation>.CopyProp(alert, this, GetColumnMap());
        }
        /// <summary>
        /// å°†å¯¹è±¡è½¬æ¢æˆORM中的类型
        /// </summary>
        /// <returns>Orm中的BASEShift类型</returns>
        public LOGOperation ToOrm()
        {
            LOGOperation alert = new LOGOperation();
            EntityPropHelper<OperationEntity, LOGOperation>.CopyProp(this, alert, GetColumnMap());
            return alert;
        }
        ///<summary>
        /// èŽ·å–è‡ªå®šä¹‰è§’è‰²ç±»ä¸­çš„å­—æ®µåä¸ºé”®ï¼Œorm中对象的字段名为值的字段
        /// </summary>
        /// <returns></returns>
        public static Dictionary<string, string> GetColumnMap()
        {
            return new Dictionary<string, string>()
            {
                {"Id", "wbdatalogid"},
                {"WbLogType", "wblogtype"},
                {"WbLogDate", "wblogdate"},
                {"WbLogacCount", "wblogaccount"},
                {"WbUserName", "wbusername"},
                {"WbUserIpaddress", "wbuseripaddress"},
                {"WbLogTxt", "wblogtxt"},
                {"Log_backup1","log_backup1"},
                {"Log_backup2","log_backup2"},
                {"Log_backup3","log_backup3"}
            };
        }
        /// <summary>
        /// æ ¹æ®ShiftEntity的字段转BASEShift的字段
        /// </summary>
        /// <param name="name">ShiftEntity的字段</param>
        /// <returns>BASEShift</returns>
        public static string GetColumnName(string name)
        {
            var columnMap = GetColumnMap();
            return columnMap.ContainsKey(name) ? columnMap[name] : name;
        }
        /// <summary>
        /// èŽ·å–ShiftEntity对应的表名
        /// </summary>
        /// <returns>表名</returns>
        public static string GetTableName()
        {
            return "[dbo].[LOGOperation]";
        }
    }
}
DEmon/iWareLog/LOG/Entity/ReceiveMsgLogEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,113 @@
using iWareCommon.Common.Entity;
using iWareCommon.Utils;
using iWareLog.ORM;
using System;
using System.Collections.Generic;
namespace iWareLog.LOG.Entity
{
    public class ReceiveMsgLogEntity : ICommonEntity<LOGReceiveMsgLog>
    {
        /// <summary>
        /// æŽ¥å—信息日志主键
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// æŽ¥å—类型,0为wip,1为rcs, 2为人工发送
        /// </summary>
        public int Type { get; set; }
        /// <summary>
        /// è°ƒç”¨æŽ¥å£åç§°
        /// </summary>
        public string InterfaceName { get; set; }
        /// <summary>
        /// è¯·æ±‚字符串
        /// </summary>
        public string RequestStr { get; set; }
        /// <summary>
        /// åº”答字符串
        /// </summary>
        public string ResponseStr { get; set; }
        /// <summary>
        /// è¯·æ±‚æ—¶é—´
        /// </summary>
        public DateTime ReceiveTime { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        public string Remark { get; set; }
        /// <summary>
        /// æž„造函数
        /// </summary>
        public ReceiveMsgLogEntity() { }
        /// <summary>
        /// æž„造函数
        /// </summary>
        /// <param name="receive">orm中的模型</param>
        public ReceiveMsgLogEntity(LOGReceiveMsgLog receive)
        {
            EntityPropHelper<ReceiveMsgLogEntity, LOGReceiveMsgLog>.CopyProp(receive, this, GetColumnMap());
        }
        /// <summary>
        /// èŽ·å–è‡ªå®šä¹‰ç±»ReceiveMsgLogEntity的字段名为键,ORM对象中字段名为值的字段
        /// </summary>
        /// <returns></returns>
        public static Dictionary<string, string> GetColumnMap()
        {
            return new Dictionary<string, string>()
            {
                {"Id", "id"},
                {"Type", "type"},
                {"InterfaceName", "interfacename"},
                {"RequestStr", "requeststr"},
                {"ResponseStr", "responsestr"},
                {"ReceiveTime","receivetime"},
                {"Remark","remark"}
            };
        }
        /// <summary>
        /// å°†ReceiveMsgLogEntity实体转化为orm里面的LOGReceiveMsgLog模型
        /// </summary>
        /// <returns>orm中的LOGReceiveMsgLog模型</returns>
        public LOGReceiveMsgLog ToOrm()
        {
            var receive = new LOGReceiveMsgLog();
            EntityPropHelper<ReceiveMsgLogEntity, LOGReceiveMsgLog>.CopyProp(this, receive, GetColumnMap());
            return receive;
        }
        /// <summary>
        /// æ ¹æ®ReceiveMsgLogEntity的字段转LOGReceiveMsgLog的字段
        /// </summary>
        /// <param name="name">ReceiveMsgLogEntity的字段</param>
        /// <returns>LOGReceiveMsgLog</returns>
        public static string GetColumnName(string name)
        {
            var columnMap = GetColumnMap();
            return columnMap.ContainsKey(name) ? columnMap[name] : name;
        }
        /// <summary>
        /// èŽ·å–ReceiveMsgLogEntity对应的表名
        /// </summary>
        /// <returns>LOGReceiveMsgLog</returns>
        public static string GetTableName()
        {
            return "[dbo].[LOGReceiveMsgLog]";
        }
    }
}
DEmon/iWareLog/LOG/Entity/SendMsgLogEntity.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,115 @@
using iWareCommon.Common.Entity;
using iWareCommon.Utils;
using iWareLog.ORM;
using System;
using System.Collections.Generic;
namespace iWareLog.LOG.Entity
{
    public class SendMsgLogEntity : ICommonEntity<LOGSendMsgLog>
    {
        /// <summary>
        /// æŽ¥å—信息日志主键
        /// </summary>
        public int Id { get; set; }
        /// <summary>
        /// è°ƒç”¨æŽ¥å£åç§°
        /// </summary>
        public string InterfaceName { get; set; }
        /// <summary>
        /// è¯·æ±‚字符串
        /// </summary>
        public string RequestStr { get; set; }
        /// <summary>
        /// åº”答字符串
        /// </summary>
        public string ResponseStr { get; set; }
        /// <summary>
        /// å‘送时间
        /// </summary>
        public DateTime SendTime { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        public string Remark { get; set; }
        /// <summary>
        /// æž„造函数
        /// </summary>
        public SendMsgLogEntity() { }
        /// <summary>
        /// æŽ¥å—类型,0为wip,1为rcs, 2为人工发送
        /// </summary>
        public int Type { get; set; }
        /// <summary>
        /// æž„造函数
        /// </summary>
        /// <param name="receive">orm中的模型</param>
        public SendMsgLogEntity(LOGSendMsgLog send)
        {
            EntityPropHelper<SendMsgLogEntity, LOGSendMsgLog>.CopyProp(send, this, GetColumnMap());
        }
        /// <summary>
        /// èŽ·å–è‡ªå®šä¹‰ç±»SendMsgLogEntity的字段名为键,ORM对象中字段名为值的字段
        /// </summary>
        /// <returns></returns>
        public static Dictionary<string, string> GetColumnMap()
        {
            return new Dictionary<string, string>()
            {
                {"Id", "id"},
                {"Type", "type"},
                {"InterfaceName", "interfacename"},
                {"RequestStr", "requeststr"},
                {"ResponseStr", "responsestr"},
                {"SendTime","sendtime"},
                {"Remark","remark"}
            };
        }
        /// <summary>
        /// å°†SendMsgLogEntity实体转化为orm里面的LOGSendMsgLog模型
        /// </summary>
        /// <returns>orm中的LOGReceiveMsgLog模型</returns>
        public LOGSendMsgLog ToOrm()
        {
            var send = new LOGSendMsgLog();
            EntityPropHelper<SendMsgLogEntity, LOGSendMsgLog>.CopyProp(this, send, GetColumnMap());
            return send;
        }
        /// <summary>
        /// æ ¹æ®SendMsgLogEntity的字段转LOGSendMsgLog的字段
        /// </summary>
        /// <param name="name">SendMsgLogEntity的字段</param>
        /// <returns>LOGSendMsgLog</returns>
        public static string GetColumnName(string name)
        {
            var columnMap = GetColumnMap();
            return columnMap.ContainsKey(name) ? columnMap[name] : name;
        }
        /// <summary>
        /// èŽ·å–SendMsgLogEntity对应的表名
        /// </summary>
        /// <returns>LOGSendMsgLog</returns>
        public static string GetTableName()
        {
            return "[dbo].[LOGSendMsgLog]";
        }
    }
}
DEmon/iWareLog/LOG/EnumType/EInOutStorageType.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareLog.LOG.EnumType
{
    public enum EInOutStorageType
    {
        å…¥åº“ = 0,
        å‡ºåº“ = 1,
        ç§»åº“ = 2,
        é€€åº“ = 3
    }
}
DEmon/iWareLog/LOG/EnumType/EReceiveType.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareLog.LOG.EnumType
{
    public enum EReceiveType
    {
        wip,
        rcs,
        äººå·¥å‘送
    }
}
DEmon/iWareLog/LOG/EnumType/_system~.ini
DEmon/iWareLog/LOG/Service/AlertService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,40 @@
using iWareLog.ORM;
using iWareLog.LOG.Entity;
using iWareLog.LOG.Dao;
using iWareCommon.Common.Service;
namespace iWareLog.LOG.Service
{
    public class AlertService : CommonService<AlertEntity, DEVAlert, DbModelLog>
    {
           private static object Lock = new object();
           private AlertService() : base(AlertDao.GetInstance()) { }
           private static AlertService Instance = null;
        /// <summary>
        /// èŽ·å–å•ä¾‹çš„æ–¹æ³•
        /// </summary>
        /// <returns>log服务的单例实体</returns>
           public static AlertService GetInstance()
        {
            if (Instance == null)
            {
                lock (Lock)
                {
                    if (Instance == null)
                    {
                        Instance = new AlertService();
                    }
                }
            }
            return Instance;
        }
    }
}
DEmon/iWareLog/LOG/Service/FailSentMessageService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,185 @@
using iWareLog.ORM;
using iWareLog.LOG.Entity;
using iWareLog.LOG.Dao;
using iWareCommon.Common.Service;
using iWareCommon.Utils;
using System;
using iWareCommon.Common.EnumType;
using Newtonsoft.Json;
using iWareLog.Properties;
using iWareCommon.Common.Entity;
using System.Linq;
namespace iWareLog.LOG.Service
{
    public class FailSentMessageService : CommonService<FailSentMessageEntity, LOGERRORFailSentMessage, DbModelLog>
    {
           private static object Lock = new object();
           private FailSentMessageService() : base(FailSentMessageDao.GetInstance()) { }
           private static FailSentMessageService Instance = null;
        /// <summary>
        /// èŽ·å–å•ä¾‹çš„æ–¹æ³•
        /// </summary>
        /// <returns>log服务的单例实体</returns>
           public static FailSentMessageService GetInstance()
        {
            if (Instance == null)
            {
                lock (Lock)
                {
                    if (Instance == null)
                    {
                        Instance = new FailSentMessageService();
                    }
                }
            }
            return Instance;
        }
           /// <summary>
           /// é‡æ–°å‘送
           /// </summary>
           /// <param name="message"></param>
           /// <param name="msg"></param>
           /// <returns></returns>
           public bool ReSend(int id, out string msg)
           {
               using (var dbModel = new DbModelLog())
               {
                   try
                   {
                       msg = "";
                       var url = "";
                       var message = dbModel.LOGERRORFailSentMessages.FirstOrDefault(x => x.id == id);
                       if (message == null)
                       {
                           msg = string.Format("没有找到id为{0}的记录", id);
                           return false;
                       }
                       switch (message.url)
                       {
                           case "pushstatusforpreheating":
                           case "pushstatusforheatstorage":
                           case "pushstatusforbufferfeed":
                           case "preheatstoragefinish":
                           case "pushstatusforft":
                           case "pushstatusforecmfeedbyrcs":
                           case "pushstatusforecmblankingbyrcs":
                           case "pushstatusforheattrans":
                           case "pushstatusforartificialqualityinspection":
                           case "heatstoroutbindrfid":
                           case "heatstoroutbindfinish":
                           case "pushstatusforbuffertrans":
                               url = Resources.WipUrl + @"/";
                               break;
                           case "syncmaterialinfo":
                           case "materialstatemodify":
                           case "getloadingtablestatus":
                           case "getecmtablestatus":
                           case "businessexception":
                           case "equipwarn":
                           case "equipstatus":
                           case "agvrealtimelocation":
                           case "outstoragecompleted":
                           case "movestoragecompleted":
                           case "bufferlayingoffcompleted":
                           case "artificialwarehousing":
                           case "processcardforwcs":
                           case "resetprocesscardprintqueue":
                               url = Resources.WipUrl2 + @"/";
                               break;
                           case "reparsetask":
                               break;
                       }
                       var responseStr = HttpHelper.GetHttpResponse(url + message.url, JsonConvert.DeserializeObject(message.requeststr), 5000);
                       var resFormat = JsonConvert.DeserializeObject<ResEntity>(responseStr);
                       message.isok = resFormat.resCode == "00000" ? (int)EYesOrNo.是 : (int)EYesOrNo.否;
                       message.updatetime = DateTime.Now;
                       message.retrytimes += 1;
                       dbModel.SaveChanges();
                       if (message.isok == (int)EYesOrNo.否)
                       {
                           msg = resFormat.resMsg;
                       }
                       return message.isok == (int)EYesOrNo.是;
                   }
                   catch (Exception ex)
                   {
                       msg = ex.Message;
                       var message = dbModel.LOGERRORFailSentMessages.FirstOrDefault(x => x.id == id);
                       message.isok = (int)EYesOrNo.否;
                       message.updatetime = DateTime.Now;
                       message.retrytimes += 1;
                       dbModel.SaveChanges();
                       LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "ReSend", msg);
                       return false;
                   }
               }
           }
           public bool PushBusinessException(int id, out string msg)
           {
               using (var dbModel2 = new DbModelLog())
               {
                   try
                   {
                       msg = "";
                       var message = dbModel2.LOGERRORFailSentMessages.FirstOrDefault(x => x.id == id);
                       if (message == null)
                       {
                           msg = string.Format("没有找到id为{0}的记录", id);
                           return false;
                       }
                       var requestBody = new
                       {
                           sysCode = "WCS",
                           taskNo = StringHelper.GetValue(message.requeststr, "taskNo"),
                           processCardNumber = StringHelper.GetValue(message.requeststr, "processCardNumber"),
                           exceptionCode = "001",
                           exceptionMsg = message.resmsg,
                           timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
                       };
                       var responseStr = HttpHelper.GetHttpResponse(Resources.WipUrl2 + @"/businessexception", requestBody, 5000);
                       LogTextHelper.WriteLine(Resources.LogDir, "PushBusinessException:responseStr = {0}", responseStr);
                       return true;
                   }
                   catch (Exception ex)
                   {
                       msg = ex.Message;
                       LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "PushBusinessException", msg);
                       return false;
                   }
               }
           }
    }
}
DEmon/iWareLog/LOG/Service/InOutStorageDetailService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
using iWareLog.ORM;
using iWareLog.LOG.Entity;
using iWareLog.LOG.Dao;
using iWareCommon.Common.Service;
namespace iWareLog.LOG.Service
{
    public class InOutStorageDetailService : CommonService<InOutStorageDetailEntity, InOutStorageDetail, DbModelLog>
    {
           private static object Lock = new object();
           private InOutStorageDetailService() : base(InOutStorageDetailDao.GetInstance()) { }
           private static InOutStorageDetailService Instance = null;
        /// <summary>
        /// èŽ·å–å•ä¾‹çš„æ–¹æ³•
        /// </summary>
        /// <returns>log服务的单例实体</returns>
        public static InOutStorageDetailService GetInstance()
        {
            if (Instance == null)
            {
                lock (Lock)
                {
                    if (Instance == null)
                    {
                        Instance = new InOutStorageDetailService();
                    }
                }
            }
            return Instance;
        }
    }
}
DEmon/iWareLog/LOG/Service/OperationService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,61 @@
using iWareLog.ORM;
using iWareLog.LOG.Entity;
using iWareLog.LOG.Dao;
using iWareCommon.Common.Service;
using iWareCommon.Utils;
using iWareLog.Properties;
using System;
namespace iWareLog.LOG.Service
{
    public class OperationService : CommonService<OperationEntity, LOGOperation, DbModelLog>
    {
           private static object Lock = new object();
           private OperationService() : base(OperationDao.GetInstance()) { }
           private static OperationService Instance = null;
        /// <summary>
        /// èŽ·å–å•ä¾‹çš„æ–¹æ³•
        /// </summary>
        /// <returns>log服务的单例实体</returns>
           public static OperationService GetInstance()
        {
            if (Instance == null)
            {
                lock (Lock)
                {
                    if (Instance == null)
                    {
                        Instance = new OperationService();
                    }
                }
            }
            return Instance;
        }
           /// <summary>
           /// å†™å…¥æ—¥å¿—
           /// </summary>
           /// <param name="tt_new"></param>
           /// <returns></returns>
           public void Save(OperationEntity dateLog)
           {
               try
               {
                   using (DbModelLog ml = new DbModelLog())
                   {
                       ml.LOGOperations.Add(dateLog.ToOrm());
                       ml.SaveChanges();
                   }
               }
               catch (Exception ex)
               {
                LogTextHelper.WriteLog(Resources.LogDir, this.ToString(), "Save", ex.Message);
               }
           }
    }
}
DEmon/iWareLog/LOG/Service/ReceiveMsgLogService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
using iWareLog.ORM;
using iWareLog.LOG.Entity;
using iWareLog.LOG.Dao;
using iWareCommon.Common.Service;
namespace iWareLog.LOG.Service
{
    public class ReceiveMsgLogService : CommonService<ReceiveMsgLogEntity, LOGReceiveMsgLog, DbModelLog>
    {
           private static object Lock = new object();
           private ReceiveMsgLogService() : base(ReceiveMsgLogDao.GetInstance()) { }
           private static ReceiveMsgLogService Instance = null;
        /// <summary>
        /// èŽ·å–å•ä¾‹çš„æ–¹æ³•
        /// </summary>
        /// <returns>log服务的单例实体</returns>
           public static ReceiveMsgLogService GetInstance()
        {
            if (Instance == null)
            {
                lock (Lock)
                {
                    if (Instance == null)
                    {
                        Instance = new ReceiveMsgLogService();
                    }
                }
            }
            return Instance;
        }
    }
}
DEmon/iWareLog/LOG/Service/SendMsgLogService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
using iWareLog.LOG.Dao;
using iWareLog.LOG.Entity;
using iWareLog.ORM;
using iWareCommon.Common.Service;
namespace iWareLog.LOG.Service
{
    public class SendMsgLogService : CommonService<SendMsgLogEntity, LOGSendMsgLog, DbModelLog>
    {
         private static object Lock = new object();
         private SendMsgLogService() : base(SendMsgLogDao.GetInstance()) { }
         private static SendMsgLogService Instance = null;
        /// <summary>
        /// èŽ·å–å•ä¾‹çš„æ–¹æ³•
        /// </summary>
        /// <returns>log服务的单例实体</returns>
         public static SendMsgLogService GetInstance()
        {
            if (Instance == null)
            {
                lock (Lock)
                {
                    if (Instance == null)
                    {
                        Instance = new SendMsgLogService();
                    }
                }
            }
            return Instance;
        }
    }
}
DEmon/iWareWms/View/LOG/Alert/Alert.aspx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,115 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Alert.aspx.cs" Inherits="iWareWms.View.LOG.Alert.Alert" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
     <form id="form1" runat="server">
    <f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server">
        </f:PageManager>
        <f:Panel ID="Panel1" runat="server" Layout="VBox" ShowBorder="false" ShowHeader="false">
            <items>
                <f:Form ID="Form2" runat="server" BodyPadding="5px" ShowBorder="false" ShowHeader="false">
                    <Rows>
                        <f:FormRow runat="server">
                            <Items>
                                <f:TextBox ID="tbName" Label="设备名称" runat="server" EmptyText="在设备名称中搜索" NextFocusControl="SearchBtn" LabelWidth="96px">
                                </f:TextBox>
                                <f:TextBox ID="tbType" Label="错误代码" runat="server" EmptyText="在错误代码中搜索" NextFocusControl="SearchBtn" LabelWidth="96px">
                                </f:TextBox>
                            </Items>
                        </f:FormRow>
                        <f:FormRow runat="server">
                            <Items>
                                <f:DatePicker runat="server" ID="SCreateTime" ShowTime="false" DateFormatString="yyyy-MM-dd"
                                  Label="创建时间从" LabelWidth="96px" AutoShowClearIcon="false"
                                    EnableDateSelectEvent="true" EnableEdit="false" AutoPostBack="true">
                                </f:DatePicker>
                                <f:DatePicker runat="server" ID="ECreateTime" ShowTime="false" DateFormatString="yyyy-MM-dd"
                                    Label="至" LabelWidth="96px" AutoShowClearIcon="false"
                                    EnableDateSelectEvent="true" EnableEdit="false" AutoPostBack="true">
                                </f:DatePicker>
                                <f:Button OnClick="Search" ID="SearchBtn"  runat="server" Text="搜索"  Width="80px" ></f:Button>
                            </Items>
                        </f:FormRow>
                    </Rows>
                </f:Form>
                <f:Grid ID="AlertGrid" runat="server"  BoxFlex="1" KeepCurrentSelection="true" IsFluid="true" EnableTextSelection="true"
                    IsDatabasePaging="true"   DataKeyNames="Id" AllowSorting="true"  SortField="Id" OnRowCommand="GridRowCommand"
                    ShowBorder="true"    AllowPaging="true"  OnPageIndexChange="GridPageIndexChange" ForceFit="true"
                    EnableRowLines="True" ShowSelectedCell="False" ShowHeader="false" EnableCheckBoxSelect="false" >
                    <ToolBars>
                        <f:Toolbar runat="server">
                            <Items>
                                <f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
                                <f:Button ID="ToExcel" EnableAjax="false" DisableControlBeforePostBack="false" Icon="ApplicationOsxGet"
                                    runat="server" Text="导出Excel" OnClick="ExportExcel" />
                            </Items>
                        </f:Toolbar>
                    </ToolBars>
                    <PageItems>
                          <f:ToolbarSeparator ID="ToolbarSeparator1" runat="server"></f:ToolbarSeparator>
                          <f:ToolbarText ID="ToolbarText1" runat="server"></f:ToolbarText>
                          <f:DropDownList ID="ddlPageSize" runat="server" Label="每页记录数" OnSelectedIndexChanged="PageSizeSelectedIndexChanged" AutoPostBack="true">
                          <f:ListItem Text="8" Value="8"/>
                          <f:ListItem Text="10" Value="10"/>
                          <f:ListItem Text="15" Value="15"/>
                          <f:ListItem Text="20" Value="20"/>
                          </f:DropDownList>
                    </PageItems>
                    <Columns>
                        <f:RowNumberField  MinWidth="30px" HeaderText=""  TextAlign="Center"/>
                        <f:BoundField DataField="Name" Width="130px" HeaderText="设备名称" />
                        <f:BoundField DataField="Type" Width="130px" HeaderText="告警类型" />
                        <f:BoundField DataField="AlertCode" Width="130px" HeaderText="错误代码" />
                        <f:BoundField DataField="AlertName" Width="100px" HeaderText="错误信息" />
                        <f:TemplateField Width="80px" HeaderText="是否处理" SortField="IsOk">
                            <ItemTemplate>
                                <asp:Label ID="IsFinished" runat="server" Text='<%# (Eval("IsFinished")) %>'></asp:Label>
                            </ItemTemplate>
                        </f:TemplateField>
                        <%--<f:TemplateField Width="80px" HeaderText="是否成功" SortField="IsOk">
                            <ItemTemplate>
                                <asp:Label ID="Type" runat="server" Text='<%# GetYesOrNo(Eval("IsOk")) %>'></asp:Label>
                            </ItemTemplate>
                        </f:TemplateField>--%>
                        <f:BoundField DataField="CreateTime" Width="130px" HeaderText="创建时间" />
                        <f:BoundField DataField="FinishTime" Width="130px" HeaderText="处理时间" />
                    </Columns>
                </f:Grid>
            </items>
        </f:Panel>
        <f:Window ID="Window2" runat="server" IsModal="true" Hidden="true" Target="Top" EnableResize="true"
            EnableMaximize="true" EnableIFrame="true" IFrameUrl="about:blank" Width="220px"
            Height="120px">
        </f:Window>
        <f:Timer OnTick="ExcelTick" runat="server" Enabled="false" Interval="1" ID="timer1"></f:Timer>
    </form>
</body>
</html>
DEmon/iWareWms/View/LOG/Alert/Alert.aspx.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,94 @@
using FineUIPro;
using FineUIPro.iWareWms;
using iWareCommon.Common.Entity;
using iWareCommon.Common.EnumType;
using iWareLog.LOG.Service;
using iWareWms.Code.Common.Entity;
using iWareWms.Code.Excel.Service;
using System;
using System.Collections.Generic;
namespace iWareWms.View.LOG.Alert
{
    public partial class Alert : PageBase
    {
        protected override Grid GetGrid()
        {
            return AlertGrid;
        }
        protected override FineUIPro.DropDownList GetPageSizeDropDownList()
        {
            return ddlPageSize;
        }
        protected override List<object> GetDataSource(int pageIndex, int pageSize, out string msg, out int totalNum, out int currentPage)
        {
            var message = AlertService.GetInstance().QueryByParam(new QueryParam
            {
                Search = new Dictionary<string, object> { { "Name", tbName.Text.Trim() }, { "AlertCode", tbType.Text.Trim() } },
                Geqd = new Dictionary<string, object> { { "CreateTime", (DateTime)SCreateTime.SelectedDate } },
                Ltd = new Dictionary<string, object> { { "CreateTime", ((DateTime)ECreateTime.SelectedDate).AddDays(1) } },
                PageIndex = pageIndex,
                PageSize = pageSize
            }, out msg, out totalNum, out currentPage);
            var res = new List<object>();
            message.ForEach(x => res.Add(x));
            return res;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                var today = DateTime.Today;
                SCreateTime.SelectedDate = today.AddDays(-6);
                ECreateTime.SelectedDate = today;
                Query(1);
            }
        }
        ///// <summary>
        ///// æ”¹å˜Type显示信息
        ///// </summary>
        ///// <param name="workLabel"></param>
        ///// <returns></returns>
        protected string GetYesOrNo(object obj)
        {
            return ((EYesOrNo)obj).ToString();
        }
        protected override void GetPath(object userName)
        {
            string msg;
            var message = AlertService.GetInstance().QueryByParam(new QueryParam
            {
                Search = new Dictionary<string, object> { { "Name", tbName.Text.Trim() }, { "AlertCode", tbType.Text.Trim() } },
                Geqd = new Dictionary<string, object> { { "CreateTime", (DateTime)SCreateTime.SelectedDate } },
                Ltd = new Dictionary<string, object> { { "CreateTime", ((DateTime)ECreateTime.SelectedDate).AddDays(1) } },
            }, out msg);
            var datas = new List<object>();
            message.ForEach(x => datas.Add(x));
            var path = ExcelService.GetInstance().ToExcel(CacheEntity.WorkBookDict["故障处理"], new Dictionary<string, List<object>> { { "设备故障信息", datas } }, out msg);
            Session["ExcelPath"] = path;
        }
        protected override Window GetWindow()
        {
            return Window2;
        }
        protected override FineUIPro.Timer GetTimer()
        {
            return timer1;
        }
    }
}
DEmon/iWareWms/View/LOG/Alert/Alert.aspx.designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
//------------------------------------------------------------------------------
// <自动生成>
//     æ­¤ä»£ç ç”±å·¥å…·ç”Ÿæˆã€‚
//
//     å¯¹æ­¤æ–‡ä»¶çš„æ›´æ”¹å¯èƒ½ä¼šå¯¼è‡´ä¸æ­£ç¡®çš„行为,并且如果
//     é‡æ–°ç”Ÿæˆä»£ç ï¼Œè¿™äº›æ›´æ”¹å°†ä¼šä¸¢å¤±ã€‚
// </自动生成>
//------------------------------------------------------------------------------
namespace iWareWms.View.LOG.Alert {
    public partial class Alert {
        /// <summary>
        /// form1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
        /// <summary>
        /// PageManager1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.PageManager PageManager1;
        /// <summary>
        /// Panel1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Panel Panel1;
        /// <summary>
        /// Form2 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Form Form2;
        /// <summary>
        /// tbName æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.TextBox tbName;
        /// <summary>
        /// tbType æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.TextBox tbType;
        /// <summary>
        /// SCreateTime æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.DatePicker SCreateTime;
        /// <summary>
        /// ECreateTime æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.DatePicker ECreateTime;
        /// <summary>
        /// SearchBtn æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Button SearchBtn;
        /// <summary>
        /// AlertGrid æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Grid AlertGrid;
        /// <summary>
        /// ToolbarFill1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarFill ToolbarFill1;
        /// <summary>
        /// ToExcel æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Button ToExcel;
        /// <summary>
        /// ToolbarSeparator1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
        /// <summary>
        /// ToolbarText1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarText ToolbarText1;
        /// <summary>
        /// ddlPageSize æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.DropDownList ddlPageSize;
        /// <summary>
        /// IsFinished æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.WebControls.Label IsFinished;
        /// <summary>
        /// Window2 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Window Window2;
        /// <summary>
        /// timer1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Timer timer1;
    }
}
DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,134 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FailSentMessage.aspx.cs" Inherits="iWareWms.View.LOG.FailSentMessage.FailSentMessage" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
     <form id="form1" runat="server">
    <f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server">
        </f:PageManager>
        <f:Panel ID="Panel1" runat="server" Layout="VBox" ShowBorder="false" ShowHeader="false">
            <items>
                <f:Form ID="Form2" runat="server" BodyPadding="5px" ShowBorder="false" ShowHeader="false">
                    <Rows>
                        <f:FormRow runat="server">
                            <Items>
                                <f:TextBox ID="tbUrl" Label="请求地址" runat="server" EmptyText="在请求地址中搜索" NextFocusControl="SearchBtn" LabelWidth="96px">
                                </f:TextBox>
                                <f:TextBox ID="tbRequestStr" Label="请求字符" runat="server" EmptyText="在请求字符中搜索" NextFocusControl="SearchBtn" LabelWidth="96px">
                                </f:TextBox>
                        </Items>
                        </f:FormRow>
                        <f:FormRow runat="server">
                            <Items>
                                <f:TextBox ID="tbResMsg" Label="错误消息" runat="server" EmptyText="在错误消息中搜索" NextFocusControl="SearchBtn" LabelWidth="96px">
                                </f:TextBox>
                                <f:DatePicker runat="server" ID="fromDate" ShowTime="false" DateFormatString="yyyy-MM-dd"
                                  Label="创建时间从" LabelWidth="96px" AutoShowClearIcon="false"
                                    EnableDateSelectEvent="true" EnableEdit="false" AutoPostBack="true">
                                </f:DatePicker>
                        </Items>
                        </f:FormRow>
                        <f:FormRow runat="server">
                            <Items>
                                <f:DatePicker runat="server" ID="toDate" ShowTime="false" DateFormatString="yyyy-MM-dd"
                                    Label="至" LabelWidth="96px" AutoShowClearIcon="false"
                                    EnableDateSelectEvent="true" EnableEdit="false" AutoPostBack="true">
                                </f:DatePicker>
                                <f:Button OnClick="Search" ID="SearchBtn"  runat="server" Text="搜索"  Width="96px"></f:Button>
                            </Items>
                        </f:FormRow>
                    </Rows>
                </f:Form>
                <f:Grid ID="FailSentMessageGrid" runat="server"  BoxFlex="1" KeepCurrentSelection="true" IsFluid="true" EnableTextSelection="true"
                    IsDatabasePaging="true"   DataKeyNames="Id" AllowSorting="true"  SortField="Id" OnRowCommand="GridRowCommand"
                    ShowBorder="true"    AllowPaging="true"  OnPageIndexChange="GridPageIndexChange" ForceFit="true"
                    EnableRowLines="True" ShowSelectedCell="False" ShowHeader="false" EnableCheckBoxSelect="false" >
                    <ToolBars>
                        <f:Toolbar runat="server">
                            <Items>
                                <f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
                                <f:Button ID="ToExcel" EnableAjax="false" Icon="ApplicationOsxGet"
                                    runat="server" Text="导出Excel" OnClick="ExportExcel">
                                </f:Button>
                            </Items>
                        </f:Toolbar>
                    </ToolBars>
                    <PageItems>
                          <f:ToolbarSeparator ID="ToolbarSeparator1" runat="server"></f:ToolbarSeparator>
                          <f:ToolbarText ID="ToolbarText1" runat="server"></f:ToolbarText>
                          <f:DropDownList ID="ddlPageSize" runat="server" Label="每页记录数" OnSelectedIndexChanged="PageSizeSelectedIndexChanged" AutoPostBack="true">
                          <f:ListItem Text="8" Value="8"/>
                          <f:ListItem Text="10" Value="10"/>
                          <f:ListItem Text="15" Value="15"/>
                          <f:ListItem Text="20" Value="20"/>
                          </f:DropDownList>
                    </PageItems>
                    <Columns>
                        <f:RowNumberField  MinWidth="30px" HeaderText=""  TextAlign="Center"/>
                        <f:BoundField DataField="Url" Width="130px" HeaderText="请求地址" />
                        <f:BoundField DataField="RequestStr" Width="130px" HeaderText="请求字符串" />
                        <f:BoundField DataField="ResMsg" Width="130px" HeaderText="错误消息" />
                        <f:BoundField DataField="RetryTimes" Width="100px" HeaderText="重试次数" />
                        <f:TemplateField Width="130px" HeaderText="是否成功" SortField="IsOk">
                            <ItemTemplate>
                                <asp:Label ID="Type" runat="server" Text='<%# GetYesOrNo(Eval("IsOk")) %>'></asp:Label>
                            </ItemTemplate>
                        </f:TemplateField>
                       <f:TemplateField Width="130px" HeaderText="是否发送邮件" SortField="IsOk">
                            <ItemTemplate>
                                <asp:Label ID="Label1" runat="server" Text='<%# GetYesOrNo(Eval("IsMailed")) %>'></asp:Label>
                            </ItemTemplate>
                        </f:TemplateField>
                        <f:BoundField DataField="CreateTime" Width="130px" HeaderText="创建时间" />
                        <f:BoundField DataField="UpdateTime" Width="130px" HeaderText="更新时间" />
                        <f:LinkButtonField ColumnID="reSendField" HeaderText="重新发送" TextAlign="Center"
                            Icon="BulletWrench" ToolTip="重新发送" ConfirmText="确定重新发送?"
                            ConfirmTarget="Top" CommandName="ReSend" Width="96px" Hidden="false" EnableColumnHide="false" ExpandUnusedSpace ="true"/>
                        <f:LinkButtonField ColumnID="sendMailField" HeaderText="发送邮件" TextAlign="Center"
                            Icon="Mail" ToolTip="发送邮件" ConfirmText="确定发送邮件?"
                            ConfirmTarget="Top" CommandName="SendMail" Width="130px" Hidden="false" EnableColumnHide="false" />
                    </Columns>
                </f:Grid>
            </items>
        </f:Panel>
        <f:Window ID="Window2" runat="server" IsModal="true" Hidden="true" Target="Top" EnableResize="true"
            EnableMaximize="true" EnableIFrame="true" IFrameUrl="about:blank" Width="220px"
            Height="120px">
        </f:Window>
        <f:Timer OnTick="ExcelTick" runat="server" Enabled="false" Interval="1" ID="timer1"></f:Timer>
    </form>
</body>
</html>
DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,109 @@
using FineUIPro;
using FineUIPro.iWareWms;
using iWareCommon.Common.Entity;
using iWareCommon.Common.EnumType;
using iWareLog.LOG.Service;
using iWareWms.Code.Common.Entity;
using iWareWms.Code.Excel.Service;
using System;
using System.Collections.Generic;
namespace iWareWms.View.LOG.FailSentMessage
{
    public partial class FailSentMessage : PageBase
    {
        protected override Grid GetGrid()
        {
            return FailSentMessageGrid;
        }
        protected override FineUIPro.DropDownList GetPageSizeDropDownList()
        {
            return ddlPageSize;
        }
        protected override List<object> GetDataSource(int pageIndex, int pageSize, out string msg, out int totalNum, out int currentPage)
        {
            var message = FailSentMessageService.GetInstance().QueryByParam(new QueryParam
            {
                Search = new Dictionary<string, object> { { "Url", tbUrl.Text.Trim() }, { "RequestStr", tbRequestStr.Text.Trim() }, { "ResMsg", tbResMsg.Text.Trim() } },
                Geqd = new Dictionary<string, object> { { "CreateTime", (DateTime)fromDate.SelectedDate } },
                Ltd = new Dictionary<string, object> { { "CreateTime", ((DateTime)toDate.SelectedDate).AddDays(1) } },
                PageIndex = pageIndex,
                PageSize = pageSize
            }, out msg, out totalNum, out currentPage);
            var res = new List<object>();
            message.ForEach(x => res.Add(x));
            return res;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                var today = DateTime.Today;
                fromDate.SelectedDate = today.AddDays(-6);
                toDate.SelectedDate = today;
                Query(1);
            }
        }
        /// <summary>
        /// æ”¹å˜Type显示信息
        /// </summary>
        /// <param name="workLabel"></param>
        /// <returns></returns>
        protected string GetYesOrNo(object obj)
        {
            return ((EYesOrNo)obj).ToString();
        }
        protected override void GetPath(object userName)
        {
            string msg;
            var message = FailSentMessageService.GetInstance().QueryByParam(new QueryParam
            {
                Search = new Dictionary<string, object> { { "Url", tbUrl.Text.Trim() }, { "RequestStr", tbRequestStr.Text.Trim() }, { "ResMsg", tbResMsg.Text.Trim() } },
                Geqd = new Dictionary<string, object> { { "CreateTime", (DateTime)fromDate.SelectedDate } },
                Ltd = new Dictionary<string, object> { { "CreateTime", ((DateTime)toDate.SelectedDate).AddDays(1) } },
            }, out msg);
            var datas = new List<object>();
            message.ForEach(x => datas.Add(x));
            var path = ExcelService.GetInstance().ToExcel(CacheEntity.WorkBookDict["发送失败的日志"], new Dictionary<string, List<object>> { { "发送失败的日志", datas } }, out msg);
            Session["ExcelPath"] = path;
        }
        protected override Window GetWindow()
        {
            return Window2;
        }
        protected override FineUIPro.Timer GetTimer()
        {
            return timer1;
        }
        //protected override void GridRowCommand(object sender, GridCommandEventArgs e)
        //{
        //    base.GridRowCommand(sender, e);
        //    if (e.CommandName == "ReSend")
        //    {
        //        string msg;
        //        Alert.ShowInTop(FailSentMessageService.GetInstance().ReSend(Convert.ToInt32((GetGrid().DataKeys[e.RowIndex][0].ToString())), out msg) ? "重发成功" : msg);
        //        Query(GetGrid().PageIndex + 1);
        //    }
        //}
    }
}
DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx.designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,195 @@
//------------------------------------------------------------------------------
// <自动生成>
//     æ­¤ä»£ç ç”±å·¥å…·ç”Ÿæˆã€‚
//
//     å¯¹æ­¤æ–‡ä»¶çš„æ›´æ”¹å¯èƒ½ä¼šå¯¼è‡´ä¸æ­£ç¡®çš„行为,并且如果
//     é‡æ–°ç”Ÿæˆä»£ç ï¼Œè¿™äº›æ›´æ”¹å°†ä¼šä¸¢å¤±ã€‚
// </自动生成>
//------------------------------------------------------------------------------
namespace iWareWms.View.LOG.FailSentMessage {
    public partial class FailSentMessage {
        /// <summary>
        /// form1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
        /// <summary>
        /// PageManager1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.PageManager PageManager1;
        /// <summary>
        /// Panel1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Panel Panel1;
        /// <summary>
        /// Form2 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Form Form2;
        /// <summary>
        /// tbUrl æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.TextBox tbUrl;
        /// <summary>
        /// tbRequestStr æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.TextBox tbRequestStr;
        /// <summary>
        /// tbResMsg æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.TextBox tbResMsg;
        /// <summary>
        /// fromDate æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.DatePicker fromDate;
        /// <summary>
        /// toDate æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.DatePicker toDate;
        /// <summary>
        /// SearchBtn æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Button SearchBtn;
        /// <summary>
        /// FailSentMessageGrid æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Grid FailSentMessageGrid;
        /// <summary>
        /// ToolbarFill1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarFill ToolbarFill1;
        /// <summary>
        /// ToExcel æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Button ToExcel;
        /// <summary>
        /// ToolbarSeparator1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
        /// <summary>
        /// ToolbarText1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarText ToolbarText1;
        /// <summary>
        /// ddlPageSize æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.DropDownList ddlPageSize;
        /// <summary>
        /// Type æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.WebControls.Label Type;
        /// <summary>
        /// Label1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.WebControls.Label Label1;
        /// <summary>
        /// Window2 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Window Window2;
        /// <summary>
        /// timer1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Timer timer1;
    }
}
DEmon/iWareWms/View/LOG/FailSentMessage/_system~.ini
DEmon/iWareWms/View/LOG/Operation/Operation.aspx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Operation.aspx.cs" Inherits="iWareWms.View.LOG.Operation.Operation" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
     <form id="form1" runat="server">
    <f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server">
        </f:PageManager>
        <f:Panel ID="Panel1" runat="server" Layout="VBox" ShowBorder="false" ShowHeader="false">
            <items>
                <f:Form ID="Form2" runat="server" BodyPadding="5px" ShowBorder="false" ShowHeader="false">
                    <Rows>
                        <f:FormRow runat="server">
                            <Items>
                                <f:TextBox ID="tbWbLogType" Label="所属模块" runat="server" EmptyText="在日志类型中搜索" NextFocusControl="SearchBtn" LabelWidth="80px">
                                </f:TextBox>
                                <f:TextBox ID="tbUserName" Label="用户名" runat="server" EmptyText="在用户名中搜索" NextFocusControl="SearchBtn" LabelWidth="80px">
                                </f:TextBox>
                                <f:Button OnClick="Search" ID="SearchBtn"  runat="server" Text="搜索"  Width="80px"></f:Button>
                            </Items>
                        </f:FormRow>
                    </Rows>
                </f:Form>
                <f:Grid ID="OperationGrid" runat="server"  BoxFlex="1" KeepCurrentSelection="true" IsFluid="true" EnableTextSelection="true"
                    IsDatabasePaging="true"   DataKeyNames="Id" AllowSorting="true"  SortField="Id" OnRowCommand="GridRowCommand"
                    ShowBorder="true"    AllowPaging="true"  OnPageIndexChange="GridPageIndexChange" ForceFit="true"
                    EnableRowLines="True" ShowSelectedCell="False" ShowHeader="false" EnableCheckBoxSelect="false" >
                    <ToolBars>
                        <f:Toolbar runat="server">
                            <Items>
                                <f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
                                <f:Button ID="ToExcel" EnableAjax="false" DisableControlBeforePostBack="false" Icon="ApplicationOsxGet"
                                    runat="server" Text="导出Excel" OnClick="ExportExcel" />
                            </Items>
                        </f:Toolbar>
                    </ToolBars>
                    <PageItems>
                          <f:ToolbarSeparator ID="ToolbarSeparator1" runat="server"></f:ToolbarSeparator>
                          <f:ToolbarText ID="ToolbarText1" runat="server"></f:ToolbarText>
                          <f:DropDownList ID="ddlPageSize" runat="server" Label="每页记录数" OnSelectedIndexChanged="PageSizeSelectedIndexChanged" AutoPostBack="true">
                          <f:ListItem Text="8" Value="8"/>
                          <f:ListItem Text="10" Value="10"/>
                          <f:ListItem Text="15" Value="15"/>
                          <f:ListItem Text="20" Value="20"/>
                          </f:DropDownList>
                    </PageItems>
                    <Columns>
                        <f:RowNumberField  MinWidth="30px" HeaderText=""  TextAlign="Center"/>
                        <f:BoundField DataField="WbLogType" Width="130px" HeaderText="操作类型"  Hidden="true" />
                        <f:BoundField DataField="WbLogDate" Width="130px" HeaderText="操作时间" />
                        <f:BoundField DataField="WbLogacCount" Width="130px" HeaderText="操作次数" />
                        <f:BoundField DataField="WbUserName" Width="100px" HeaderText="操作用户" />
                        <f:BoundField DataField="WbUserIpaddress" Width="100px" HeaderText="操作IP地址" />
                        <f:BoundField DataField="WbLogTxt" Width="250px" HeaderText="日志文件" />
                        <f:BoundField DataField="Log_backup1" Width="150px" HeaderText="日志模块" />
                        <f:BoundField DataField="Log_backup2" Width="100px" HeaderText="备用2" />
                        <f:BoundField DataField="Log_backup3" Width="100px" HeaderText="备用3" />
                    </Columns>
                </f:Grid>
            </items>
        </f:Panel>
        <f:Window ID="Window2" runat="server" IsModal="true" Hidden="true" Target="Top" EnableResize="true"
            EnableMaximize="true" EnableIFrame="true" IFrameUrl="about:blank" Width="220px"
            Height="120px">
        </f:Window>
        <f:Timer OnTick="ExcelTick" runat="server" Enabled="false" Interval="1" ID="timer1"></f:Timer>
    </form>
</body>
</html>
DEmon/iWareWms/View/LOG/Operation/Operation.aspx.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,86 @@
using FineUIPro;
using iWareCommon.Common.Entity;
using iWareLog.LOG.Service;
using iWareWms.Code.Common.Entity;
using iWareWms.Code.Excel.Service;
using System;
using System.Collections.Generic;
namespace iWareWms.View.LOG.Operation
{
    public partial class Operation : PageBase
    {
        protected override Grid GetGrid()
        {
            return OperationGrid;
        }
        protected override FineUIPro.DropDownList GetPageSizeDropDownList()
        {
            return ddlPageSize;
        }
        protected override List<object> GetDataSource(int pageIndex, int pageSize, out string msg, out int totalNum, out int currentPage)
        {
            var message = OperationService.GetInstance().QueryByParam(new QueryParam
            {
                Search = new Dictionary<string, object> { { "Log_backup1", tbWbLogType.Text.Trim() }, { "WbUserName", tbUserName.Text.Trim() } },
                PageIndex = pageIndex,
                PageSize = pageSize
            }, out msg, out totalNum, out currentPage);
            var res = new List<object>();
            message.ForEach(x => res.Add(x));
            return res;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Query(1);
            }
        }
        ///// <summary>
        ///// æ”¹å˜Type显示信息
        ///// </summary>
        ///// <param name="workLabel"></param>
        ///// <returns></returns>
        //protected string GetYesOrNo(object obj)
        //{
        //    return ((EYesOrNo)obj).ToString();
        //}
        protected override void GetPath(object userName)
        {
            string msg;
            var message = OperationService.GetInstance().QueryByParam(new QueryParam
            {
                Search = new Dictionary<string, object> { { "Log_backup1", tbWbLogType.Text.Trim() }, { "WbUserName", tbUserName.Text.Trim() } },
            }, out msg);
            var datas = new List<object>();
            message.ForEach(x => datas.Add(x));
            var path = ExcelService.GetInstance().ToExcel(CacheEntity.WorkBookDict["操作日志查询"], new Dictionary<string, List<object>> { { "操作日志查询", datas } }, out msg);
            Session["ExcelPath"] = path;
        }
        protected override Window GetWindow()
        {
            return Window2;
        }
        protected override FineUIPro.Timer GetTimer()
        {
            return timer1;
        }
    }
}
DEmon/iWareWms/View/LOG/Operation/Operation.aspx.designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,150 @@
//------------------------------------------------------------------------------
// <自动生成>
//     æ­¤ä»£ç ç”±å·¥å…·ç”Ÿæˆã€‚
//
//     å¯¹æ­¤æ–‡ä»¶çš„æ›´æ”¹å¯èƒ½ä¼šå¯¼è‡´ä¸æ­£ç¡®çš„行为,并且如果
//     é‡æ–°ç”Ÿæˆä»£ç ï¼Œè¿™äº›æ›´æ”¹å°†ä¼šä¸¢å¤±ã€‚
// </自动生成>
//------------------------------------------------------------------------------
namespace iWareWms.View.LOG.Operation {
    public partial class Operation {
        /// <summary>
        /// form1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
        /// <summary>
        /// PageManager1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.PageManager PageManager1;
        /// <summary>
        /// Panel1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Panel Panel1;
        /// <summary>
        /// Form2 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Form Form2;
        /// <summary>
        /// tbWbLogType æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.TextBox tbWbLogType;
        /// <summary>
        /// tbUserName æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.TextBox tbUserName;
        /// <summary>
        /// SearchBtn æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Button SearchBtn;
        /// <summary>
        /// OperationGrid æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Grid OperationGrid;
        /// <summary>
        /// ToolbarFill1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarFill ToolbarFill1;
        /// <summary>
        /// ToExcel æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Button ToExcel;
        /// <summary>
        /// ToolbarSeparator1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
        /// <summary>
        /// ToolbarText1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarText ToolbarText1;
        /// <summary>
        /// ddlPageSize æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.DropDownList ddlPageSize;
        /// <summary>
        /// Window2 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Window Window2;
        /// <summary>
        /// timer1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Timer timer1;
    }
}
DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,114 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ReceiveMsgLog.aspx.cs" Inherits="iWareWms.View.LOG.ReceiveMsgLog.ReceiveMsgLog" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
     <form id="form1" runat="server">
    <f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server">
        </f:PageManager>
        <f:Panel ID="Panel1" runat="server" Layout="VBox" ShowBorder="false" ShowHeader="false">
            <items>
                <f:Form ID="Form2" runat="server" BodyPadding="5px" ShowBorder="false" ShowHeader="false">
                    <Rows>
                        <f:FormRow runat="server">
                            <Items>
                                <f:TextBox ID="tbInterfaceName" Label="接口名" runat="server" EmptyText="在接口名中搜索" NextFocusControl="SearchBtn" LabelWidth="96px">
                                </f:TextBox>
                                <f:TextBox ID="tbRequestStr" Label="请求字符" runat="server" EmptyText="在请求字符中搜索" NextFocusControl="SearchBtn" LabelWidth="96px">
                                </f:TextBox>
                        </Items>
                        </f:FormRow>
                        <f:FormRow runat="server">
                            <Items>
                                 <f:TextBox ID="tbResponseStr" Label="应答字符" runat="server" EmptyText="在应答字符中搜索" NextFocusControl="SearchBtn" LabelWidth="96px">
                                </f:TextBox>
                                <f:DatePicker runat="server" ID="fromDate" ShowTime="false" DateFormatString="yyyy-MM-dd"
                                  Label="开始时间从" LabelWidth="96px" AutoShowClearIcon="false"
                                    EnableDateSelectEvent="true" EnableEdit="false" AutoPostBack="true">
                                </f:DatePicker>
                        </Items>
                        </f:FormRow>
                       <f:FormRow runat="server">
                            <Items>
                                <f:DatePicker runat="server" ID="toDate" ShowTime="false" DateFormatString="yyyy-MM-dd"
                                    Label="至" LabelWidth="96px" AutoShowClearIcon="false"
                                    EnableDateSelectEvent="true" EnableEdit="false" AutoPostBack="true">
                                </f:DatePicker>
                                <f:Button OnClick="Search" ID="SearchBtn"  runat="server" Text="搜索"  Width="80px"></f:Button>
                            </Items>
                        </f:FormRow>
                    </Rows>
                </f:Form>
                <f:Grid ID="ReceiveMsgLogGrid" runat="server"  BoxFlex="1" KeepCurrentSelection="true" IsFluid="true"
                    IsDatabasePaging="true"   DataKeyNames="Id" AllowSorting="true"  SortField="Id" EnableTextSelection="true"
                    ShowBorder="true"    AllowPaging="true"  OnPageIndexChange="GridPageIndexChange" ForceFit="true"
                    EnableRowLines="True" ShowSelectedCell="False" ShowHeader="false" EnableCheckBoxSelect="false" >
                    <ToolBars>
                        <f:Toolbar runat="server">
                            <Items>
                                <f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
                                <f:Button ID="ToExcel" EnableAjax="false" DisableControlBeforePostBack="false" Icon="ApplicationOsxGet"
                                    runat="server" Text="导出Excel" OnClick="ExportExcel" />
                            </Items>
                        </f:Toolbar>
                    </ToolBars>
                    <PageItems>
                          <f:ToolbarSeparator ID="ToolbarSeparator1" runat="server"></f:ToolbarSeparator>
                          <f:ToolbarText ID="ToolbarText1" runat="server"></f:ToolbarText>
                          <f:DropDownList ID="ddlPageSize" runat="server" Label="每页记录数" OnSelectedIndexChanged="PageSizeSelectedIndexChanged" AutoPostBack="true">
                          <f:ListItem Text="8" Value="8"/>
                          <f:ListItem Text="10" Value="10"/>
                          <f:ListItem Text="15" Value="15"/>
                          <f:ListItem Text="20" Value="20"/>
                          </f:DropDownList>
                    </PageItems>
                    <Columns>
                       <f:RowNumberField  MinWidth="30px" HeaderText=""  TextAlign="Center"/>
                        <f:BoundField DataField="InterfaceName" Width="130px" HeaderText="接口名称" />
                          <f:TemplateField Width="80px" HeaderText="接受类型" SortField="Type">
                            <ItemTemplate>
                                <asp:Label ID="Type" runat="server" Text='<%# GetType(Eval("Type")) %>'></asp:Label>
                            </ItemTemplate>
                        </f:TemplateField>
                        <f:BoundField DataField="RequestStr" Width="130px" HeaderText="请求字符串" />
                        <f:BoundField DataField="ResponseStr" Width="130px" HeaderText="应答字符串" />
                        <f:BoundField DataField="ReceiveTime" Width="130px" HeaderText="接收时间" />
                       <f:BoundField DataField="Remark" Width="130px" HeaderText="备注" />
                    </Columns>
                </f:Grid>
            </items>
        </f:Panel>
        <f:Window ID="Window2" runat="server" IsModal="true" Hidden="true" Target="Top" EnableResize="true"
            EnableMaximize="true" EnableIFrame="true" IFrameUrl="about:blank" Width="220px"
            Height="120px">
        </f:Window>
        <f:Timer OnTick="ExcelTick" runat="server" Enabled="false" Interval="1" ID="timer1"></f:Timer>
    </form>
</body>
</html>
DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
using FineUIPro;
using FineUIPro.iWareWms;
using iWareCommon.Common.Entity;
using iWareLog.LOG.EnumType;
using iWareLog.LOG.Service;
using iWareWms.Code.Excel.Service;
using System;
using System.Collections.Generic;
namespace iWareWms.View.LOG.ReceiveMsgLog
{
    public partial class ReceiveMsgLog : PageBase
    {
        protected override Grid GetGrid()
        {
            return ReceiveMsgLogGrid;
        }
        protected override FineUIPro.DropDownList GetPageSizeDropDownList()
        {
            return ddlPageSize;
        }
        protected override List<object> GetDataSource(int pageIndex, int pageSize, out string msg, out int totalNum, out int currentPage)
        {
            var receive = ReceiveMsgLogService.GetInstance().QueryByParam(new QueryParam
            {
                Search = new Dictionary<string, object> { { "InterfaceName", tbInterfaceName.Text.Trim() }, { "RequestStr", tbRequestStr.Text.Trim() }, { "ResponseStr", tbResponseStr.Text.Trim() } },
                Geqd = new Dictionary<string, object> { { "ReceiveTime", (DateTime)fromDate.SelectedDate } },
                Ltd = new Dictionary<string, object> { { "ReceiveTime", ((DateTime)toDate.SelectedDate).AddDays(1) } },
                PageIndex = pageIndex,
                PageSize = pageSize
            }, out msg, out totalNum, out currentPage);
            var res = new List<object>();
            receive.ForEach(x => res.Add(x));
            return res;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                var today = DateTime.Today;
                fromDate.SelectedDate = today.AddDays(-6);
                toDate.SelectedDate = today;
                Query(1);
            }
        }
        /// <summary>
        /// æ”¹å˜Type显示信息
        /// </summary>
        /// <param name="workLabel"></param>
        ///
        /// <returns></returns>
        protected string GetType(object type)
        {
            return ((EReceiveType)type).ToString();
        }
        protected override void GetPath(object userName)
        {
            string msg;
            var receive = ReceiveMsgLogService.GetInstance().QueryByParam(new QueryParam
            {
                Search = new Dictionary<string, object> { { "InterfaceName", tbInterfaceName.Text.Trim() }, { "RequestStr", tbRequestStr.Text.Trim() }, { "ResponseStr", tbResponseStr.Text.Trim() } },
                Geqd = new Dictionary<string, object> { { "ReceiveTime", (DateTime)fromDate.SelectedDate } },
                Ltd = new Dictionary<string, object> { { "ReceiveTime", ((DateTime)toDate.SelectedDate).AddDays(1) } },
            }, out msg);
            var datas = new List<object>();
            receive.ForEach(x => datas.Add(x));
            var path = ExcelService.GetInstance().ToExcel(iWareWms.Code.Common.Entity.CacheEntity.WorkBookDict["接收报文日志"], new Dictionary<string, List<object>> { { "接收报文日志", datas } }, out msg);
            Session["ExcelPath"] = path;
        }
        protected override Window GetWindow()
        {
            return Window2;
        }
        protected override FineUIPro.Timer GetTimer()
        {
            return timer1;
        }
    }
}
DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx.designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,186 @@
//------------------------------------------------------------------------------
// <自动生成>
//     æ­¤ä»£ç ç”±å·¥å…·ç”Ÿæˆã€‚
//
//     å¯¹æ­¤æ–‡ä»¶çš„æ›´æ”¹å¯èƒ½ä¼šå¯¼è‡´ä¸æ­£ç¡®çš„行为,并且如果
//     é‡æ–°ç”Ÿæˆä»£ç ï¼Œè¿™äº›æ›´æ”¹å°†ä¼šä¸¢å¤±ã€‚
// </自动生成>
//------------------------------------------------------------------------------
namespace iWareWms.View.LOG.ReceiveMsgLog {
    public partial class ReceiveMsgLog {
        /// <summary>
        /// form1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
        /// <summary>
        /// PageManager1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.PageManager PageManager1;
        /// <summary>
        /// Panel1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Panel Panel1;
        /// <summary>
        /// Form2 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Form Form2;
        /// <summary>
        /// tbInterfaceName æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.TextBox tbInterfaceName;
        /// <summary>
        /// tbRequestStr æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.TextBox tbRequestStr;
        /// <summary>
        /// tbResponseStr æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.TextBox tbResponseStr;
        /// <summary>
        /// fromDate æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.DatePicker fromDate;
        /// <summary>
        /// toDate æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.DatePicker toDate;
        /// <summary>
        /// SearchBtn æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Button SearchBtn;
        /// <summary>
        /// ReceiveMsgLogGrid æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Grid ReceiveMsgLogGrid;
        /// <summary>
        /// ToolbarFill1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarFill ToolbarFill1;
        /// <summary>
        /// ToExcel æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Button ToExcel;
        /// <summary>
        /// ToolbarSeparator1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
        /// <summary>
        /// ToolbarText1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarText ToolbarText1;
        /// <summary>
        /// ddlPageSize æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.DropDownList ddlPageSize;
        /// <summary>
        /// Type æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.WebControls.Label Type;
        /// <summary>
        /// Window2 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Window Window2;
        /// <summary>
        /// timer1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Timer timer1;
    }
}
DEmon/iWareWms/View/LOG/ReceiveMsgLog/_system~.ini
DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,108 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SendMsgLog.aspx.cs" Inherits="iWareWms.View.LOG.SendMsgLog.SendMsgLog" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server">
        </f:PageManager>
        <f:Panel ID="Panel1" runat="server" Layout="VBox" ShowBorder="false" ShowHeader="false">
            <items>
                <f:Form ID="Form2" runat="server" BodyPadding="5px" ShowBorder="false" ShowHeader="false">
                    <Rows>
                        <f:FormRow runat="server">
                            <Items>
                                <f:TextBox ID="tbInterfaceName" Label="接口名" runat="server" EmptyText="在接口名中搜索" NextFocusControl="SearchBtn" LabelWidth="96px">
                                </f:TextBox>
                                <f:TextBox ID="tbRequestStr" Label="请求字符" runat="server" EmptyText="在请求字符中搜索" NextFocusControl="SearchBtn" LabelWidth="96px">
                                </f:TextBox>
                        </Items>
                        </f:FormRow>
                        <f:FormRow runat="server">
                            <Items>
                                 <f:TextBox ID="tbResponseStr" Label="应答字符" runat="server" EmptyText="在应答字符中搜索" NextFocusControl="SearchBtn" LabelWidth="96px">
                                </f:TextBox>
                                <f:DatePicker runat="server" ID="fromDate" ShowTime="false" DateFormatString="yyyy-MM-dd"
                                  Label="开始时间从" LabelWidth="96px" AutoShowClearIcon="true"
                                    EnableDateSelectEvent="true" EnableEdit="false" AutoPostBack="true">
                                </f:DatePicker>
                        </Items>
                        </f:FormRow>
                        <f:FormRow runat="server">
                            <Items>
                                <f:DatePicker runat="server" ID="toDate" ShowTime="false" DateFormatString="yyyy-MM-dd"
                                    Label="至" LabelWidth="96px" AutoShowClearIcon="true"
                                    EnableDateSelectEvent="true" EnableEdit="false" AutoPostBack="true">
                                </f:DatePicker>
                                <f:Button OnClick="Search" ID="SearchBtn"  runat="server" Text="搜索"  Width="96px"></f:Button>
                            </Items>
                        </f:FormRow>
                    </Rows>
                </f:Form>
                <f:Grid ID="SendMsgLogGrid" runat="server"  BoxFlex="1" KeepCurrentSelection="true" IsFluid="true"
                    IsDatabasePaging="true"   DataKeyNames="Id" AllowSorting="true"  SortField="Id" EnableTextSelection="true"
                    ShowBorder="true"    AllowPaging="true"  OnPageIndexChange="GridPageIndexChange" ForceFit="true"
                    EnableRowLines="True" ShowSelectedCell="False" ShowHeader="false" EnableCheckBoxSelect="false" >
                    <ToolBars>
                        <f:Toolbar runat="server">
                            <Items>
                                <f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
                                <f:Button ID="ToExcel" EnableAjax="false" DisableControlBeforePostBack="false" Icon="ApplicationOsxGet"
                                    runat="server" Text="导出Excel" OnClick="ExportExcel" />
                            </Items>
                        </f:Toolbar>
                    </ToolBars>
                    <PageItems>
                          <f:ToolbarSeparator ID="ToolbarSeparator1" runat="server"></f:ToolbarSeparator>
                          <f:ToolbarText ID="ToolbarText1" runat="server"></f:ToolbarText>
                          <f:DropDownList ID="ddlPageSize" runat="server" Label="每页记录数" OnSelectedIndexChanged="PageSizeSelectedIndexChanged" AutoPostBack="true">
                          <f:ListItem Text="8" Value="8"/>
                          <f:ListItem Text="10" Value="10"/>
                          <f:ListItem Text="15" Value="15"/>
                          <f:ListItem Text="20" Value="20"/>
                          </f:DropDownList>
                    </PageItems>
                    <Columns>
                      <f:RowNumberField  MinWidth="30px" HeaderText=""  TextAlign="Center"/>
                        <f:BoundField DataField="InterfaceName" Width="130px" HeaderText="接口名称" />
                          <f:TemplateField Width="80px" HeaderText="发送类型" SortField="Type">
                            <ItemTemplate>
                                <asp:Label ID="Type" runat="server" Text='<%# GetType(Eval("Type")) %>'></asp:Label>
                            </ItemTemplate>
                        </f:TemplateField>
                        <f:BoundField DataField="RequestStr" Width="130px" HeaderText="请求字符串" />
                        <f:BoundField DataField="ResponseStr" Width="130px" HeaderText="应答字符串" />
                        <f:BoundField DataField="SendTime" Width="130px" HeaderText="发送时间" />
                       <f:BoundField DataField="Remark" Width="130px" HeaderText="备注" />
                    </Columns>
                </f:Grid>
            </items>
        </f:Panel>
        <f:Window ID="Window2" runat="server" IsModal="true" Hidden="true" Target="Top" EnableResize="true"
            EnableMaximize="true" EnableIFrame="true" IFrameUrl="about:blank" Width="220px"
            Height="120px">
        </f:Window>
        <f:Timer OnTick="ExcelTick" runat="server" Enabled="false" Interval="1" ID="timer1"></f:Timer>
    </form>
</body>
</html>
DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,95 @@
using FineUIPro;
using FineUIPro.iWareWms;
using iWareCommon.Common.Entity;
using iWareLog.LOG.EnumType;
using iWareLog.LOG.Service;
using iWareWms.Code.Excel.Service;
using System;
using System.Collections.Generic;
namespace iWareWms.View.LOG.SendMsgLog
{
    public partial class SendMsgLog : PageBase
    {
        protected override Grid GetGrid()
        {
            return SendMsgLogGrid;
        }
        protected override FineUIPro.DropDownList GetPageSizeDropDownList()
        {
            return ddlPageSize;
        }
        protected override List<object> GetDataSource(int pageIndex, int pageSize, out string msg, out int totalNum, out int currentPage)
        {
            var send = SendMsgLogService.GetInstance().QueryByParam(new QueryParam
            {
                Search = new Dictionary<string, object> { { "InterfaceName", tbInterfaceName.Text.Trim() }, { "RequestStr", tbRequestStr.Text.Trim() }, { "ResponseStr", tbResponseStr.Text.Trim() } },
                Geqd = new Dictionary<string, object> { { "SendTime", (DateTime)fromDate.SelectedDate } },
                Ltd = new Dictionary<string, object> { { "SendTime", ((DateTime)toDate.SelectedDate).AddDays(1) } },
                PageIndex = pageIndex,
                PageSize = pageSize
            }, out msg, out totalNum, out currentPage);
            var res = new List<object>();
            send.ForEach(x => res.Add(x));
            return res;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                var today = DateTime.Today;
                fromDate.SelectedDate = today.AddDays(-6);
                toDate.SelectedDate = today;
                Query(1);
            }
        }
        /// <summary>
        /// æ”¹å˜Type显示信息
        /// </summary>
        /// <param name="workLabel"></param>
        /// <returns></returns>
        protected string GetType(object type)
        {
            return ((EReceiveType)type).ToString();
        }
        protected override void GetPath(object userName)
        {
            string msg;
            var decomposition = SendMsgLogService.GetInstance().QueryByParam(new QueryParam
            {
                Search = new Dictionary<string, object> { { "InterfaceName", tbInterfaceName.Text.Trim() }, { "RequestStr", tbRequestStr.Text.Trim() }, { "ResponseStr", tbResponseStr.Text.Trim() } },
                Geqd = new Dictionary<string, object> { { "SendTime", (DateTime)fromDate.SelectedDate } },
                Ltd = new Dictionary<string, object> { { "SendTime", ((DateTime)toDate.SelectedDate).AddDays(1) } },
            }, out msg);
            var datas = new List<object>();
            decomposition.ForEach(x => datas.Add(x));
            var path = ExcelService.GetInstance().ToExcel(iWareWms.Code.Common.Entity.CacheEntity.WorkBookDict["发送报文日志"], new Dictionary<string, List<object>> { { "发送报文日志", datas } }, out msg);
            Session["ExcelPath"] = path;
        }
        protected override Window GetWindow()
        {
            return Window2;
        }
        protected override FineUIPro.Timer GetTimer()
        {
            return timer1;
        }
    }
}
DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx.designer.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,186 @@
//------------------------------------------------------------------------------
// <自动生成>
//     æ­¤ä»£ç ç”±å·¥å…·ç”Ÿæˆã€‚
//
//     å¯¹æ­¤æ–‡ä»¶çš„æ›´æ”¹å¯èƒ½ä¼šå¯¼è‡´ä¸æ­£ç¡®çš„行为,并且如果
//     é‡æ–°ç”Ÿæˆä»£ç ï¼Œè¿™äº›æ›´æ”¹å°†ä¼šä¸¢å¤±ã€‚
// </自动生成>
//------------------------------------------------------------------------------
namespace iWareWms.View.LOG.SendMsgLog {
    public partial class SendMsgLog {
        /// <summary>
        /// form1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
        /// <summary>
        /// PageManager1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.PageManager PageManager1;
        /// <summary>
        /// Panel1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Panel Panel1;
        /// <summary>
        /// Form2 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Form Form2;
        /// <summary>
        /// tbInterfaceName æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.TextBox tbInterfaceName;
        /// <summary>
        /// tbRequestStr æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.TextBox tbRequestStr;
        /// <summary>
        /// tbResponseStr æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.TextBox tbResponseStr;
        /// <summary>
        /// fromDate æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.DatePicker fromDate;
        /// <summary>
        /// toDate æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.DatePicker toDate;
        /// <summary>
        /// SearchBtn æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Button SearchBtn;
        /// <summary>
        /// SendMsgLogGrid æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Grid SendMsgLogGrid;
        /// <summary>
        /// ToolbarFill1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarFill ToolbarFill1;
        /// <summary>
        /// ToExcel æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Button ToExcel;
        /// <summary>
        /// ToolbarSeparator1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
        /// <summary>
        /// ToolbarText1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.ToolbarText ToolbarText1;
        /// <summary>
        /// ddlPageSize æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.DropDownList ddlPageSize;
        /// <summary>
        /// Type æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::System.Web.UI.WebControls.Label Type;
        /// <summary>
        /// Window2 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Window Window2;
        /// <summary>
        /// timer1 æŽ§ä»¶ã€‚
        /// </summary>
        /// <remarks>
        /// è‡ªåŠ¨ç”Ÿæˆçš„å­—æ®µã€‚
        /// è‹¥è¦è¿›è¡Œä¿®æ”¹ï¼Œè¯·å°†å­—段声明从设计器文件移到代码隐藏文件。
        /// </remarks>
        protected global::FineUIPro.Timer timer1;
    }
}
DEmon/iWareWms/View/LOG/SendMsgLog/_system~.ini
DEmon/iWareWms/iWareWms.csproj
@@ -14,7 +14,7 @@
    <RootNamespace>FineUIPro.iWareWms</RootNamespace>
    <AssemblyName>iWareWms</AssemblyName>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <UseIISExpress>false</UseIISExpress>
    <UseIISExpress>true</UseIISExpress>
    <TargetFrameworkProfile />
    <FileUpgradeFlags>
    </FileUpgradeFlags>
@@ -3725,7 +3725,11 @@
          <AutoAssignPort>True</AutoAssignPort>
          <DevelopmentServerPort>65031</DevelopmentServerPort>
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
<<<<<<< HEAD
          <IISUrl>http://localhost:8099</IISUrl>
=======
          <IISUrl>http://localhost:55234/</IISUrl>
>>>>>>> c3984d64e9727d60a2a61682271bd52cc82712b9
          <NTLMAuthentication>False</NTLMAuthentication>
          <UseCustomServer>False</UseCustomServer>
          <CustomServerUrl>
DEmon/iWareWms/package/Newtonsoft.Json.dll
Binary files differ
DEmon/iWareWms/package/iWareCommon.dll
Binary files differ
DEmon/iWareWms/package/iWareDataCore.dll
Binary files differ
DEmon/iWareWms/package/iWareDataLog.dll
Binary files differ
DEmon/iWareWms/package/iWareDataRbacWms.dll
Binary files differ
DEmon/iWareWms/package/iWareExcel.dll
Binary files differ
DEmon/iWareWms/package/iWareLog.dll
Binary files differ