From aa383c30e4f1053e97c6a33ccf9a899fca26dd20 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周一, 25 8月 2025 13:29:49 +0800
Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/WGQ_WB19011

---
 DEmon/iWareLog/LOG/EnumType/_system~.ini                                 |    0 
 DEmon/iWareWms/package/Newtonsoft.Json.dll                               |    0 
 DEmon/iWareLog/LOG/Service/ReceiveMsgLogService.cs                       |   38 
 DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx.designer.cs     |  186 +++
 DEmon/iWareLog/LOG/Entity/FailSentMessageEntity.cs                       |  132 ++
 DEmon/iWareLog/LOG/Dao/AlertDao.cs                                       |   64 +
 DEmon/iWareWms/package/iWareDataLog.dll                                  |    0 
 DEmon/iWareWms/package/iWareExcel.dll                                    |    0 
 DEmon/iWareWms/View/LOG/SendMsgLog/_system~.ini                          |    0 
 DEmon/iWareLog/LOG/Entity/InOutStorageDetailEntity.cs                    |  150 ++
 DEmon/iWareLog/LOG/Entity/ReceiveMsgLogEntity.cs                         |  113 +
 DEmon/iWareWms/package/iWareLog.dll                                      |    0 
 DEmon/iWareLog/LOG/Service/SendMsgLogService.cs                          |   37 
 DEmon/iWareLog/LOG/Service/InOutStorageDetailService.cs                  |   36 
 DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx                       |  108 +
 DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx.cs                    |   95 +
 DEmon/OpcAccess/DLL/Interop.OPCAutomation.dll                            |    0 
 DEmon/iWareWms/View/LOG/FailSentMessage/_system~.ini                     |    0 
 DEmon/iWareWms/View/LOG/Operation/Operation.aspx.cs                      |   86 +
 DEmon/iWareCc/DLL/HPSocket4C-SSL_UD.dll                                  |    0 
 DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx.cs          |  109 +
 DEmon/iWareExcel/DLL/EPPlus.dll                                          |    0 
 DEmon/iWareLog/LOG/Entity/OperationEntity.cs                             |  138 ++
 DEmon/iWareLog/LOG/Entity/AlertEntity.cs                                 |  138 ++
 DEmon/iWareWms/View/LOG/Alert/Alert.aspx.designer.cs                     |  177 ++
 DEmon/iWareWms/View/LOG/Operation/Operation.aspx                         |   90 +
 DEmon/iWareWms/package/iWareDataCore.dll                                 |    0 
 DEmon/iWareLog/LOG/Dao/InOutStorageDetailDao.cs                          |   64 +
 DEmon/iWareWms/package/iWareDataRbacWms.dll                              |    0 
 DEmon/iWareLog/LOG/Service/FailSentMessageService.cs                     |  185 +++
 DEmon/iWareLog/LOG/Service/AlertService.cs                               |   40 
 .gitignore                                                               |   28 
 DEmon/iWareLog/LOG/Service/OperationService.cs                           |   61 +
 DEmon/iWareWms/View/LOG/Alert/Alert.aspx.cs                              |   94 +
 DEmon/iWareWms/iWareWms.csproj                                           |    6 
 DEmon/iWareCc/iWareCc.csproj                                             |    2 
 DEmon/iWareLog/LOG/Entity/SendMsgLogEntity.cs                            |  115 +
 DEmon/iWareWms/View/LOG/ReceiveMsgLog/_system~.ini                       |    0 
 DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx             |  134 ++
 DEmon/iWareWms/View/LOG/Operation/Operation.aspx.designer.cs             |  150 ++
 DEmon/iWareLog/LOG/Dao/OperationDao.cs                                   |   64 +
 DEmon/iWareLog/LOG/EnumType/EInOutStorageType.cs                         |   17 
 DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx                 |  114 +
 DEmon/iWareLog/LOG/Dao/ReceiveMsgLogDao.cs                               |   64 +
 DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx.designer.cs           |  186 +++
 DEmon/iWareWms/View/LOG/Alert/Alert.aspx                                 |  115 +
 DEmon/iWareCc/DLL/HPSocket4C_UD.dll                                      |    0 
 DEmon/iWareLog/LOG/EnumType/EReceiveType.cs                              |   15 
 DEmon/iWareLog/LOG/Dao/SendMsgLogDao.cs                                  |   64 +
 DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx.cs              |   95 +
 DEmon/iWareLog/LOG/Dao/FailSentMessageDao.cs                             |   64 +
 DEmon/iWareCc/DLL/HPSocketCS.dll                                         |    0 
 DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx.designer.cs |  195 +++
 DEmon/iWareWms/package/iWareCommon.dll                                   |    0 
 DEmon/dll/FineUIPro.dll                                                  |    0 
 55 files changed, 3,541 insertions(+), 28 deletions(-)

diff --git a/.gitignore b/.gitignore
index 1144321..1a623a7 100644
--- a/.gitignore
+++ b/.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
diff --git a/DEmon/OpcAccess/DLL/Interop.OPCAutomation.dll b/DEmon/OpcAccess/DLL/Interop.OPCAutomation.dll
new file mode 100644
index 0000000..add5141
--- /dev/null
+++ b/DEmon/OpcAccess/DLL/Interop.OPCAutomation.dll
Binary files differ
diff --git a/DEmon/dll/FineUIPro.dll b/DEmon/dll/FineUIPro.dll
new file mode 100644
index 0000000..52247ed
--- /dev/null
+++ b/DEmon/dll/FineUIPro.dll
Binary files differ
diff --git a/DEmon/iWareCc/DLL/HPSocket4C-SSL_UD.dll b/DEmon/iWareCc/DLL/HPSocket4C-SSL_UD.dll
new file mode 100644
index 0000000..457b336
--- /dev/null
+++ b/DEmon/iWareCc/DLL/HPSocket4C-SSL_UD.dll
Binary files differ
diff --git a/DEmon/iWareCc/DLL/HPSocket4C_UD.dll b/DEmon/iWareCc/DLL/HPSocket4C_UD.dll
new file mode 100644
index 0000000..2c533b0
--- /dev/null
+++ b/DEmon/iWareCc/DLL/HPSocket4C_UD.dll
Binary files differ
diff --git a/DEmon/iWareCc/DLL/HPSocketCS.dll b/DEmon/iWareCc/DLL/HPSocketCS.dll
new file mode 100644
index 0000000..95c1b2b
--- /dev/null
+++ b/DEmon/iWareCc/DLL/HPSocketCS.dll
Binary files differ
diff --git a/DEmon/iWareCc/iWareCc.csproj b/DEmon/iWareCc/iWareCc.csproj
index 863e321..0c2d13b 100644
--- a/DEmon/iWareCc/iWareCc.csproj
+++ b/DEmon/iWareCc/iWareCc.csproj
@@ -59,7 +59,7 @@
     <GenerateManifests>true</GenerateManifests>
   </PropertyGroup>
   <PropertyGroup>
-    <SignManifests>true</SignManifests>
+    <SignManifests>false</SignManifests>
   </PropertyGroup>
   <ItemGroup>
     <Reference Include="Autofac">
diff --git a/DEmon/iWareExcel/DLL/EPPlus.dll b/DEmon/iWareExcel/DLL/EPPlus.dll
new file mode 100644
index 0000000..085ef6a
--- /dev/null
+++ b/DEmon/iWareExcel/DLL/EPPlus.dll
Binary files differ
diff --git a/DEmon/iWareLog/LOG/Dao/AlertDao.cs b/DEmon/iWareLog/LOG/Dao/AlertDao.cs
new file mode 100644
index 0000000..74242c4
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Dao/AlertDao.cs
@@ -0,0 +1,64 @@
+锘縰sing 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();
+         }
+
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Dao/FailSentMessageDao.cs b/DEmon/iWareLog/LOG/Dao/FailSentMessageDao.cs
new file mode 100644
index 0000000..d8dc28a
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Dao/FailSentMessageDao.cs
@@ -0,0 +1,64 @@
+锘縰sing 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();
+         }
+
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Dao/InOutStorageDetailDao.cs b/DEmon/iWareLog/LOG/Dao/InOutStorageDetailDao.cs
new file mode 100644
index 0000000..6533ece
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Dao/InOutStorageDetailDao.cs
@@ -0,0 +1,64 @@
+锘縰sing 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();
+         }
+
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Dao/OperationDao.cs b/DEmon/iWareLog/LOG/Dao/OperationDao.cs
new file mode 100644
index 0000000..3e8f622
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Dao/OperationDao.cs
@@ -0,0 +1,64 @@
+锘縰sing 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();
+         }
+
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Dao/ReceiveMsgLogDao.cs b/DEmon/iWareLog/LOG/Dao/ReceiveMsgLogDao.cs
new file mode 100644
index 0000000..c65511a
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Dao/ReceiveMsgLogDao.cs
@@ -0,0 +1,64 @@
+锘縰sing 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();
+         }
+
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Dao/SendMsgLogDao.cs b/DEmon/iWareLog/LOG/Dao/SendMsgLogDao.cs
new file mode 100644
index 0000000..c352bea
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Dao/SendMsgLogDao.cs
@@ -0,0 +1,64 @@
+锘縰sing 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();
+         }
+
+    }
+}
\ No newline at end of file
diff --git a/DEmon/iWareLog/LOG/Entity/AlertEntity.cs b/DEmon/iWareLog/LOG/Entity/AlertEntity.cs
new file mode 100644
index 0000000..0cb2217
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Entity/AlertEntity.cs
@@ -0,0 +1,138 @@
+锘縰sing 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鎻愮ず浠g爜
+        /// </summary>
+        public string AlertCode{ get; set; }
+
+        /// <summary>
+        /// 6鎻愮ず鍚嶇О
+        /// </summary>
+        public string AlertName { get; set; }
+
+        /// <summary>
+        /// 7鏄惁娑堣
+        /// </summary>
+        public int IsFinished { get; set; }
+
+        /// <summary>
+        /// 8浜嬩欢浠g爜
+        /// </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]";
+        }
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Entity/FailSentMessageEntity.cs b/DEmon/iWareLog/LOG/Entity/FailSentMessageEntity.cs
new file mode 100644
index 0000000..d99c6a3
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Entity/FailSentMessageEntity.cs
@@ -0,0 +1,132 @@
+锘縰sing 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]";
+        }
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Entity/InOutStorageDetailEntity.cs b/DEmon/iWareLog/LOG/Entity/InOutStorageDetailEntity.cs
new file mode 100644
index 0000000..8df4c19
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Entity/InOutStorageDetailEntity.cs
@@ -0,0 +1,150 @@
+锘縰sing 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搴撲綅浠g爜
+        /// </summary>
+        public string FromPlaceCode { get; set; }
+
+        /// <summary>
+        /// 4搴撲綅绫诲瀷id
+        /// </summary>
+        public int ToPlaceId { get; set; }
+
+        /// <summary>
+        /// 5搴撲綅浠g爜
+        /// </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]";
+        }
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Entity/OperationEntity.cs b/DEmon/iWareLog/LOG/Entity/OperationEntity.cs
new file mode 100644
index 0000000..605b816
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Entity/OperationEntity.cs
@@ -0,0 +1,138 @@
+锘縰sing 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]";
+        }
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Entity/ReceiveMsgLogEntity.cs b/DEmon/iWareLog/LOG/Entity/ReceiveMsgLogEntity.cs
new file mode 100644
index 0000000..0e0b73e
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Entity/ReceiveMsgLogEntity.cs
@@ -0,0 +1,113 @@
+锘縰sing 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涓簑ip锛�1涓簉cs, 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鐨勫瓧娈靛悕涓洪敭锛孫RM瀵硅薄涓瓧娈靛悕涓哄�肩殑瀛楁
+        /// </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>
+        /// 灏哛eceiveMsgLogEntity瀹炰綋杞寲涓簅rm閲岄潰鐨凩OGReceiveMsgLog妯″瀷
+        /// </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]";
+        }
+        
+
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Entity/SendMsgLogEntity.cs b/DEmon/iWareLog/LOG/Entity/SendMsgLogEntity.cs
new file mode 100644
index 0000000..466cf36
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Entity/SendMsgLogEntity.cs
@@ -0,0 +1,115 @@
+锘縰sing 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涓簑ip锛�1涓簉cs, 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鐨勫瓧娈靛悕涓洪敭锛孫RM瀵硅薄涓瓧娈靛悕涓哄�肩殑瀛楁
+        /// </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>
+        /// 灏哠endMsgLogEntity瀹炰綋杞寲涓簅rm閲岄潰鐨凩OGSendMsgLog妯″瀷
+        /// </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]";
+        }
+        
+
+
+    }
+}
diff --git a/DEmon/iWareLog/LOG/EnumType/EInOutStorageType.cs b/DEmon/iWareLog/LOG/EnumType/EInOutStorageType.cs
new file mode 100644
index 0000000..8f64b4f
--- /dev/null
+++ b/DEmon/iWareLog/LOG/EnumType/EInOutStorageType.cs
@@ -0,0 +1,17 @@
+锘縰sing 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
+
+    }
+}
diff --git a/DEmon/iWareLog/LOG/EnumType/EReceiveType.cs b/DEmon/iWareLog/LOG/EnumType/EReceiveType.cs
new file mode 100644
index 0000000..d97ab30
--- /dev/null
+++ b/DEmon/iWareLog/LOG/EnumType/EReceiveType.cs
@@ -0,0 +1,15 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace iWareLog.LOG.EnumType
+{
+    public enum EReceiveType
+    {
+        wip,
+        rcs,
+        浜哄伐鍙戦��
+    }
+}
diff --git a/DEmon/iWareLog/LOG/EnumType/_system~.ini b/DEmon/iWareLog/LOG/EnumType/_system~.ini
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/DEmon/iWareLog/LOG/EnumType/_system~.ini
diff --git a/DEmon/iWareLog/LOG/Service/AlertService.cs b/DEmon/iWareLog/LOG/Service/AlertService.cs
new file mode 100644
index 0000000..bc233ae
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Service/AlertService.cs
@@ -0,0 +1,40 @@
+锘縰sing 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;
+        }
+
+        
+        
+
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Service/FailSentMessageService.cs b/DEmon/iWareLog/LOG/Service/FailSentMessageService.cs
new file mode 100644
index 0000000..8c3e7cb
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Service/FailSentMessageService.cs
@@ -0,0 +1,185 @@
+锘縰sing 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;
+                   }
+
+               }
+
+           }
+
+         
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Service/InOutStorageDetailService.cs b/DEmon/iWareLog/LOG/Service/InOutStorageDetailService.cs
new file mode 100644
index 0000000..f133246
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Service/InOutStorageDetailService.cs
@@ -0,0 +1,36 @@
+锘縰sing 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;
+        }
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Service/OperationService.cs b/DEmon/iWareLog/LOG/Service/OperationService.cs
new file mode 100644
index 0000000..dd27816
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Service/OperationService.cs
@@ -0,0 +1,61 @@
+锘縰sing 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);
+                  
+               }
+           }
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Service/ReceiveMsgLogService.cs b/DEmon/iWareLog/LOG/Service/ReceiveMsgLogService.cs
new file mode 100644
index 0000000..db3fff4
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Service/ReceiveMsgLogService.cs
@@ -0,0 +1,38 @@
+锘縰sing 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;
+        }
+
+
+    }
+}
diff --git a/DEmon/iWareLog/LOG/Service/SendMsgLogService.cs b/DEmon/iWareLog/LOG/Service/SendMsgLogService.cs
new file mode 100644
index 0000000..1ac4b50
--- /dev/null
+++ b/DEmon/iWareLog/LOG/Service/SendMsgLogService.cs
@@ -0,0 +1,37 @@
+锘縰sing 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;
+        }
+
+    }
+}
diff --git a/DEmon/iWareWms/View/LOG/Alert/Alert.aspx b/DEmon/iWareWms/View/LOG/Alert/Alert.aspx
new file mode 100644
index 0000000..7eed0d0
--- /dev/null
+++ b/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="閿欒浠g爜" 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="閿欒浠g爜" />
+                        <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>
diff --git a/DEmon/iWareWms/View/LOG/Alert/Alert.aspx.cs b/DEmon/iWareWms/View/LOG/Alert/Alert.aspx.cs
new file mode 100644
index 0000000..6bc970e
--- /dev/null
+++ b/DEmon/iWareWms/View/LOG/Alert/Alert.aspx.cs
@@ -0,0 +1,94 @@
+锘縰sing 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;
+        }
+
+       
+    }
+}
\ No newline at end of file
diff --git a/DEmon/iWareWms/View/LOG/Alert/Alert.aspx.designer.cs b/DEmon/iWareWms/View/LOG/Alert/Alert.aspx.designer.cs
new file mode 100644
index 0000000..b65694e
--- /dev/null
+++ b/DEmon/iWareWms/View/LOG/Alert/Alert.aspx.designer.cs
@@ -0,0 +1,177 @@
+锘�//------------------------------------------------------------------------------
+// <鑷姩鐢熸垚>
+//     姝や唬鐮佺敱宸ュ叿鐢熸垚銆�
+//
+//     瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋�
+//     閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便�� 
+// </鑷姩鐢熸垚>
+//------------------------------------------------------------------------------
+
+namespace iWareWms.View.LOG.Alert {
+    
+    
+    public partial class Alert {
+        
+        /// <summary>
+        /// form1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+        
+        /// <summary>
+        /// PageManager1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.PageManager PageManager1;
+        
+        /// <summary>
+        /// Panel1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Panel Panel1;
+        
+        /// <summary>
+        /// Form2 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Form Form2;
+        
+        /// <summary>
+        /// tbName 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.TextBox tbName;
+        
+        /// <summary>
+        /// tbType 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.TextBox tbType;
+        
+        /// <summary>
+        /// SCreateTime 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.DatePicker SCreateTime;
+        
+        /// <summary>
+        /// ECreateTime 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.DatePicker ECreateTime;
+        
+        /// <summary>
+        /// SearchBtn 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Button SearchBtn;
+        
+        /// <summary>
+        /// AlertGrid 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Grid AlertGrid;
+        
+        /// <summary>
+        /// ToolbarFill1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarFill ToolbarFill1;
+        
+        /// <summary>
+        /// ToExcel 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Button ToExcel;
+        
+        /// <summary>
+        /// ToolbarSeparator1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
+        
+        /// <summary>
+        /// ToolbarText1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarText ToolbarText1;
+        
+        /// <summary>
+        /// ddlPageSize 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.DropDownList ddlPageSize;
+        
+        /// <summary>
+        /// IsFinished 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.Label IsFinished;
+        
+        /// <summary>
+        /// Window2 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Window Window2;
+        
+        /// <summary>
+        /// timer1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Timer timer1;
+    }
+}
diff --git a/DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx b/DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx
new file mode 100644
index 0000000..fddfa02
--- /dev/null
+++ b/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>
diff --git a/DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx.cs b/DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx.cs
new file mode 100644
index 0000000..9755530
--- /dev/null
+++ b/DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx.cs
@@ -0,0 +1,109 @@
+锘縰sing 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);
+                
+        //    }
+           
+        //}
+
+    }
+}
\ No newline at end of file
diff --git a/DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx.designer.cs b/DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx.designer.cs
new file mode 100644
index 0000000..eecff8d
--- /dev/null
+++ b/DEmon/iWareWms/View/LOG/FailSentMessage/FailSentMessage.aspx.designer.cs
@@ -0,0 +1,195 @@
+锘�//------------------------------------------------------------------------------
+// <鑷姩鐢熸垚>
+//     姝や唬鐮佺敱宸ュ叿鐢熸垚銆�
+//
+//     瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋�
+//     閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便�� 
+// </鑷姩鐢熸垚>
+//------------------------------------------------------------------------------
+
+namespace iWareWms.View.LOG.FailSentMessage {
+    
+    
+    public partial class FailSentMessage {
+        
+        /// <summary>
+        /// form1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+        
+        /// <summary>
+        /// PageManager1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.PageManager PageManager1;
+        
+        /// <summary>
+        /// Panel1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Panel Panel1;
+        
+        /// <summary>
+        /// Form2 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Form Form2;
+        
+        /// <summary>
+        /// tbUrl 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.TextBox tbUrl;
+        
+        /// <summary>
+        /// tbRequestStr 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.TextBox tbRequestStr;
+        
+        /// <summary>
+        /// tbResMsg 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.TextBox tbResMsg;
+        
+        /// <summary>
+        /// fromDate 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.DatePicker fromDate;
+        
+        /// <summary>
+        /// toDate 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.DatePicker toDate;
+        
+        /// <summary>
+        /// SearchBtn 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Button SearchBtn;
+        
+        /// <summary>
+        /// FailSentMessageGrid 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Grid FailSentMessageGrid;
+        
+        /// <summary>
+        /// ToolbarFill1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarFill ToolbarFill1;
+        
+        /// <summary>
+        /// ToExcel 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Button ToExcel;
+        
+        /// <summary>
+        /// ToolbarSeparator1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
+        
+        /// <summary>
+        /// ToolbarText1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarText ToolbarText1;
+        
+        /// <summary>
+        /// ddlPageSize 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.DropDownList ddlPageSize;
+        
+        /// <summary>
+        /// Type 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.Label Type;
+        
+        /// <summary>
+        /// Label1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.Label Label1;
+        
+        /// <summary>
+        /// Window2 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Window Window2;
+        
+        /// <summary>
+        /// timer1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Timer timer1;
+    }
+}
diff --git a/DEmon/iWareWms/View/LOG/FailSentMessage/_system~.ini b/DEmon/iWareWms/View/LOG/FailSentMessage/_system~.ini
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/DEmon/iWareWms/View/LOG/FailSentMessage/_system~.ini
diff --git a/DEmon/iWareWms/View/LOG/Operation/Operation.aspx b/DEmon/iWareWms/View/LOG/Operation/Operation.aspx
new file mode 100644
index 0000000..7ce467e
--- /dev/null
+++ b/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>
diff --git a/DEmon/iWareWms/View/LOG/Operation/Operation.aspx.cs b/DEmon/iWareWms/View/LOG/Operation/Operation.aspx.cs
new file mode 100644
index 0000000..db8d4ea
--- /dev/null
+++ b/DEmon/iWareWms/View/LOG/Operation/Operation.aspx.cs
@@ -0,0 +1,86 @@
+锘縰sing 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;
+        }
+    }
+}
\ No newline at end of file
diff --git a/DEmon/iWareWms/View/LOG/Operation/Operation.aspx.designer.cs b/DEmon/iWareWms/View/LOG/Operation/Operation.aspx.designer.cs
new file mode 100644
index 0000000..9613e2a
--- /dev/null
+++ b/DEmon/iWareWms/View/LOG/Operation/Operation.aspx.designer.cs
@@ -0,0 +1,150 @@
+锘�//------------------------------------------------------------------------------
+// <鑷姩鐢熸垚>
+//     姝や唬鐮佺敱宸ュ叿鐢熸垚銆�
+//
+//     瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋�
+//     閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便�� 
+// </鑷姩鐢熸垚>
+//------------------------------------------------------------------------------
+
+namespace iWareWms.View.LOG.Operation {
+    
+    
+    public partial class Operation {
+        
+        /// <summary>
+        /// form1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+        
+        /// <summary>
+        /// PageManager1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.PageManager PageManager1;
+        
+        /// <summary>
+        /// Panel1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Panel Panel1;
+        
+        /// <summary>
+        /// Form2 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Form Form2;
+        
+        /// <summary>
+        /// tbWbLogType 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.TextBox tbWbLogType;
+        
+        /// <summary>
+        /// tbUserName 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.TextBox tbUserName;
+        
+        /// <summary>
+        /// SearchBtn 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Button SearchBtn;
+        
+        /// <summary>
+        /// OperationGrid 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Grid OperationGrid;
+        
+        /// <summary>
+        /// ToolbarFill1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarFill ToolbarFill1;
+        
+        /// <summary>
+        /// ToExcel 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Button ToExcel;
+        
+        /// <summary>
+        /// ToolbarSeparator1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
+        
+        /// <summary>
+        /// ToolbarText1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarText ToolbarText1;
+        
+        /// <summary>
+        /// ddlPageSize 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.DropDownList ddlPageSize;
+        
+        /// <summary>
+        /// Window2 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Window Window2;
+        
+        /// <summary>
+        /// timer1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Timer timer1;
+    }
+}
diff --git a/DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx b/DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx
new file mode 100644
index 0000000..16bd881
--- /dev/null
+++ b/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="鍦ㄦ帴鍙e悕涓悳绱�" 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>
diff --git a/DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx.cs b/DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx.cs
new file mode 100644
index 0000000..3bcfe09
--- /dev/null
+++ b/DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx.cs
@@ -0,0 +1,95 @@
+锘縰sing 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;
+        }
+
+
+    }
+}
\ No newline at end of file
diff --git a/DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx.designer.cs b/DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx.designer.cs
new file mode 100644
index 0000000..a53d70c
--- /dev/null
+++ b/DEmon/iWareWms/View/LOG/ReceiveMsgLog/ReceiveMsgLog.aspx.designer.cs
@@ -0,0 +1,186 @@
+锘�//------------------------------------------------------------------------------
+// <鑷姩鐢熸垚>
+//     姝や唬鐮佺敱宸ュ叿鐢熸垚銆�
+//
+//     瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋�
+//     閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便�� 
+// </鑷姩鐢熸垚>
+//------------------------------------------------------------------------------
+
+namespace iWareWms.View.LOG.ReceiveMsgLog {
+    
+    
+    public partial class ReceiveMsgLog {
+        
+        /// <summary>
+        /// form1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+        
+        /// <summary>
+        /// PageManager1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.PageManager PageManager1;
+        
+        /// <summary>
+        /// Panel1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Panel Panel1;
+        
+        /// <summary>
+        /// Form2 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Form Form2;
+        
+        /// <summary>
+        /// tbInterfaceName 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.TextBox tbInterfaceName;
+        
+        /// <summary>
+        /// tbRequestStr 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.TextBox tbRequestStr;
+        
+        /// <summary>
+        /// tbResponseStr 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.TextBox tbResponseStr;
+        
+        /// <summary>
+        /// fromDate 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.DatePicker fromDate;
+        
+        /// <summary>
+        /// toDate 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.DatePicker toDate;
+        
+        /// <summary>
+        /// SearchBtn 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Button SearchBtn;
+        
+        /// <summary>
+        /// ReceiveMsgLogGrid 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Grid ReceiveMsgLogGrid;
+        
+        /// <summary>
+        /// ToolbarFill1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarFill ToolbarFill1;
+        
+        /// <summary>
+        /// ToExcel 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Button ToExcel;
+        
+        /// <summary>
+        /// ToolbarSeparator1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
+        
+        /// <summary>
+        /// ToolbarText1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarText ToolbarText1;
+        
+        /// <summary>
+        /// ddlPageSize 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.DropDownList ddlPageSize;
+        
+        /// <summary>
+        /// Type 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.Label Type;
+        
+        /// <summary>
+        /// Window2 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Window Window2;
+        
+        /// <summary>
+        /// timer1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Timer timer1;
+    }
+}
diff --git a/DEmon/iWareWms/View/LOG/ReceiveMsgLog/_system~.ini b/DEmon/iWareWms/View/LOG/ReceiveMsgLog/_system~.ini
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/DEmon/iWareWms/View/LOG/ReceiveMsgLog/_system~.ini
diff --git a/DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx b/DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx
new file mode 100644
index 0000000..b3cd532
--- /dev/null
+++ b/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="鍦ㄦ帴鍙e悕涓悳绱�" 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>
\ No newline at end of file
diff --git a/DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx.cs b/DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx.cs
new file mode 100644
index 0000000..2588c17
--- /dev/null
+++ b/DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx.cs
@@ -0,0 +1,95 @@
+锘縰sing 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;
+        }
+
+      
+    }
+}
\ No newline at end of file
diff --git a/DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx.designer.cs b/DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx.designer.cs
new file mode 100644
index 0000000..8a8f8a0
--- /dev/null
+++ b/DEmon/iWareWms/View/LOG/SendMsgLog/SendMsgLog.aspx.designer.cs
@@ -0,0 +1,186 @@
+锘�//------------------------------------------------------------------------------
+// <鑷姩鐢熸垚>
+//     姝や唬鐮佺敱宸ュ叿鐢熸垚銆�
+//
+//     瀵规鏂囦欢鐨勬洿鏀瑰彲鑳戒細瀵艰嚧涓嶆纭殑琛屼负锛屽苟涓斿鏋�
+//     閲嶆柊鐢熸垚浠g爜锛岃繖浜涙洿鏀瑰皢浼氫涪澶便�� 
+// </鑷姩鐢熸垚>
+//------------------------------------------------------------------------------
+
+namespace iWareWms.View.LOG.SendMsgLog {
+    
+    
+    public partial class SendMsgLog {
+        
+        /// <summary>
+        /// form1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+        
+        /// <summary>
+        /// PageManager1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.PageManager PageManager1;
+        
+        /// <summary>
+        /// Panel1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Panel Panel1;
+        
+        /// <summary>
+        /// Form2 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Form Form2;
+        
+        /// <summary>
+        /// tbInterfaceName 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.TextBox tbInterfaceName;
+        
+        /// <summary>
+        /// tbRequestStr 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.TextBox tbRequestStr;
+        
+        /// <summary>
+        /// tbResponseStr 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.TextBox tbResponseStr;
+        
+        /// <summary>
+        /// fromDate 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.DatePicker fromDate;
+        
+        /// <summary>
+        /// toDate 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.DatePicker toDate;
+        
+        /// <summary>
+        /// SearchBtn 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Button SearchBtn;
+        
+        /// <summary>
+        /// SendMsgLogGrid 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Grid SendMsgLogGrid;
+        
+        /// <summary>
+        /// ToolbarFill1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarFill ToolbarFill1;
+        
+        /// <summary>
+        /// ToExcel 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Button ToExcel;
+        
+        /// <summary>
+        /// ToolbarSeparator1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
+        
+        /// <summary>
+        /// ToolbarText1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.ToolbarText ToolbarText1;
+        
+        /// <summary>
+        /// ddlPageSize 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.DropDownList ddlPageSize;
+        
+        /// <summary>
+        /// Type 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::System.Web.UI.WebControls.Label Type;
+        
+        /// <summary>
+        /// Window2 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Window Window2;
+        
+        /// <summary>
+        /// timer1 鎺т欢銆�
+        /// </summary>
+        /// <remarks>
+        /// 鑷姩鐢熸垚鐨勫瓧娈点��
+        /// 鑻ヨ杩涜淇敼锛岃灏嗗瓧娈靛0鏄庝粠璁捐鍣ㄦ枃浠剁Щ鍒颁唬鐮侀殣钘忔枃浠躲��
+        /// </remarks>
+        protected global::FineUIPro.Timer timer1;
+    }
+}
diff --git a/DEmon/iWareWms/View/LOG/SendMsgLog/_system~.ini b/DEmon/iWareWms/View/LOG/SendMsgLog/_system~.ini
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/DEmon/iWareWms/View/LOG/SendMsgLog/_system~.ini
diff --git a/DEmon/iWareWms/iWareWms.csproj b/DEmon/iWareWms/iWareWms.csproj
index c8cd918..7aa3f27 100644
--- a/DEmon/iWareWms/iWareWms.csproj
+++ b/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>
diff --git a/DEmon/iWareWms/package/Newtonsoft.Json.dll b/DEmon/iWareWms/package/Newtonsoft.Json.dll
new file mode 100644
index 0000000..bc3ef13
--- /dev/null
+++ b/DEmon/iWareWms/package/Newtonsoft.Json.dll
Binary files differ
diff --git a/DEmon/iWareWms/package/iWareCommon.dll b/DEmon/iWareWms/package/iWareCommon.dll
new file mode 100644
index 0000000..63f097b
--- /dev/null
+++ b/DEmon/iWareWms/package/iWareCommon.dll
Binary files differ
diff --git a/DEmon/iWareWms/package/iWareDataCore.dll b/DEmon/iWareWms/package/iWareDataCore.dll
new file mode 100644
index 0000000..6759079
--- /dev/null
+++ b/DEmon/iWareWms/package/iWareDataCore.dll
Binary files differ
diff --git a/DEmon/iWareWms/package/iWareDataLog.dll b/DEmon/iWareWms/package/iWareDataLog.dll
new file mode 100644
index 0000000..8c9d44d
--- /dev/null
+++ b/DEmon/iWareWms/package/iWareDataLog.dll
Binary files differ
diff --git a/DEmon/iWareWms/package/iWareDataRbacWms.dll b/DEmon/iWareWms/package/iWareDataRbacWms.dll
new file mode 100644
index 0000000..b866ca5
--- /dev/null
+++ b/DEmon/iWareWms/package/iWareDataRbacWms.dll
Binary files differ
diff --git a/DEmon/iWareWms/package/iWareExcel.dll b/DEmon/iWareWms/package/iWareExcel.dll
new file mode 100644
index 0000000..ed4639e
--- /dev/null
+++ b/DEmon/iWareWms/package/iWareExcel.dll
Binary files differ
diff --git a/DEmon/iWareWms/package/iWareLog.dll b/DEmon/iWareWms/package/iWareLog.dll
new file mode 100644
index 0000000..86d13cf
--- /dev/null
+++ b/DEmon/iWareWms/package/iWareLog.dll
Binary files differ

--
Gitblit v1.9.3