From 4214efaa804bf6f94b28a6db6b099523df9b3252 Mon Sep 17 00:00:00 2001
From: yzh <snbbt@21cn.com>
Date: 星期五, 29 四月 2022 16:32:04 +0800
Subject: [PATCH] 充值、充值日志
---
web/Dao/bin/Release/Dao.pdb | 0
web/web/static/select2/select2.js | 5885 ++++++++++++++++++++++++++++++
web/Common/obj/Release/Common.csproj.CoreCompileInputs.cache | 2
web/UMCLib/obj/Release/UMCLib.csproj.CoreCompileInputs.cache | 2
web/Dao/SysFlowNodeDao.cs | 220 +
web/App_Code/obj/Release/App_Code.dll | 0
web/Dao/GwOrderAuditDao.cs | 183
web/Dao/bin/Release/Dao.dll | 0
web/Model/bin/Release/Model.dll | 0
web/Model/obj/Release/Model.csproj.AssemblyReference.cache | 0
web/Model/obj/Release/Model.csproj.FileListAbsolute.txt | 13
web/App_Code/obj/Release/App_Code.pdb | 0
web/Dao/obj/Debug/Dao.dll | 0
web/Common/bin/Release/Common.pdb | 0
web/Model/bin/Release/Model.pdb | 0
web/UMCLib/bin/Release/UMCLib.dll | 0
web/web/GwOrderList.aspx | 339 +
web/Dao/GwOrderDao.cs | 309 +
web/UMCLib/obj/Release/UMCLib.pdb | 0
web/App_Code/bin/Release/App_Code.dll | 0
web/Common/obj/Release/Common.pdb | 0
web/UMCLib/bin/Release/UMCLib.pdb | 0
web/web/static/select2/select2-bootstrap.css | 7
web/Dao/bin/Release/Model.pdb | 0
web/web/static/select2/select2.css | 484 ++
web/Dao/obj/Release/build.force | 0
web/Dao/obj/Debug/Dao.pdb | 0
web/Dao/obj/Release/Dao.csproj.CoreCompileInputs.cache | 10
web/Lib/Dao.dll | 0
web/.vs/Web/v16/.suo | 0
web/Dao/obj/Release/Dao.pdb | 0
web/App_Code/obj/Release/App_Code.csproj.AssemblyReference.cache | 0
web/Common/obj/Release/Common.dll | 0
web/web/GwOrderList.aspx.cs | 106
web/Model/Model/GwOrder.cs | 44
web/Model/obj/Release/Model.pdb | 0
web/Common/obj/Release/Common.csproj.FileListAbsolute.txt | 9
web/UMCLib/obj/Release/UMCLib.csproj.AssemblyReference.cache | 0
web/Model/Model/GwOrderAudit.cs | 25
web/UMCLib/obj/Release/UMCLib.dll | 0
web/web/GwOrderAudit.aspx | 434 ++
web/Dao/obj/Release/Dao.dll | 0
web/Model/obj/Debug/Model.csproj.AssemblyReference.cache | 0
web/Lib/Dao.pdb | 0
web/web/Bin/Dao.dll | 0
web/Dao/obj/Release/Dao.csproj.AssemblyReference.cache | 0
web/Model/Model/SysFlowNode.cs | 25
web/web/GwOrderComplete.aspx | 341 +
web/web/gwspupdate.aspx.cs | 2
web/Model/Model/SysFlow.cs | 21
web/Model/obj/Release/Model.dll | 0
web/App_Code/obj/Release/App_Code.csproj.FileListAbsolute.txt | 10
web/web/GwOrderCreate.aspx.cs | 123
web/UMCLib/obj/Release/UMCLib.csproj.FileListAbsolute.txt | 8
web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache | 0
web/web/GwOrder.ashx | 706 +++
web/web/static/select2/select2.min.css | 1
web/App_Code/bin/Release/App_Code.pdb | 0
web/App_Code/obj/Release/App_Code.csproj.CoreCompileInputs.cache | 2
web/Dao/SysFlowDao.cs | 213 +
web/Dao/bin/Release/Model.dll | 0
web/web/GwOrderAudit.aspx.cs | 171
web/web/Bin/Dao.pdb | 0
web/Model/obj/Release/Model.csproj.CoreCompileInputs.cache | 10
web/web/web.config | 4
web/web/static/select2/select2.min.js | 1
web/web/GwSp.aspx | 8
web/Common/bin/Release/Common.dll | 0
web/Dao/obj/Release/Dao.csproj.FileListAbsolute.txt | 15
web/Model/obj/Debug/Model.csproj.CopyComplete | 0
web/web/GwOrderComplete.aspx.cs | 179
web/Dao/obj/Release/Dao.csproj.CopyComplete | 0
web/web/logs/logx.txt | 742 +++
web/Common/obj/Release/Common.csproj.AssemblyReference.cache | 0
web/web/GwOrderCreate.aspx | 169
web/web/logs/err.txt | 742 +++
76 files changed, 11,544 insertions(+), 21 deletions(-)
diff --git a/web/.vs/Web/v16/.suo b/web/.vs/Web/v16/.suo
index 91ac5d4..a6e911f 100644
--- a/web/.vs/Web/v16/.suo
+++ b/web/.vs/Web/v16/.suo
Binary files differ
diff --git a/web/App_Code/bin/Release/App_Code.dll b/web/App_Code/bin/Release/App_Code.dll
index 4563dce..0cfb1c4 100644
--- a/web/App_Code/bin/Release/App_Code.dll
+++ b/web/App_Code/bin/Release/App_Code.dll
Binary files differ
diff --git a/web/App_Code/bin/Release/App_Code.pdb b/web/App_Code/bin/Release/App_Code.pdb
index 835d4e7..315fa9a 100644
--- a/web/App_Code/bin/Release/App_Code.pdb
+++ b/web/App_Code/bin/Release/App_Code.pdb
Binary files differ
diff --git a/web/App_Code/obj/Release/App_Code.csproj.AssemblyReference.cache b/web/App_Code/obj/Release/App_Code.csproj.AssemblyReference.cache
index 5cda5a2..4d058c3 100644
--- a/web/App_Code/obj/Release/App_Code.csproj.AssemblyReference.cache
+++ b/web/App_Code/obj/Release/App_Code.csproj.AssemblyReference.cache
Binary files differ
diff --git a/web/App_Code/obj/Release/App_Code.csproj.CoreCompileInputs.cache b/web/App_Code/obj/Release/App_Code.csproj.CoreCompileInputs.cache
index 67e55a9..b95c3a9 100644
--- a/web/App_Code/obj/Release/App_Code.csproj.CoreCompileInputs.cache
+++ b/web/App_Code/obj/Release/App_Code.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-74406b3dfaab2e4511ea31aebcbbc3c8da43a8a3
+873be3bb4c68603651a642203b3380fde6dd4755
diff --git a/web/App_Code/obj/Release/App_Code.csproj.FileListAbsolute.txt b/web/App_Code/obj/Release/App_Code.csproj.FileListAbsolute.txt
index 797ac7a..6be79b4 100644
--- a/web/App_Code/obj/Release/App_Code.csproj.FileListAbsolute.txt
+++ b/web/App_Code/obj/Release/App_Code.csproj.FileListAbsolute.txt
@@ -41,3 +41,13 @@
C:\Users\mac\Desktop\Work-Archives\SMGW\SMGW_NewWeb\web\App_Code\obj\Release\App_Code.pdb
=======
>>>>>>> Stashed changes
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\App_Code\bin\Release\App_Code.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\App_Code\bin\Release\App_Code.pdb
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\App_Code\bin\Release\Aspose.Cells.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\App_Code\bin\Release\Dao.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\App_Code\bin\Release\Ionic.Zip.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\App_Code\obj\Release\App_Code.csproj.AssemblyReference.cache
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\App_Code\obj\Release\App_Code.csproj.CoreCompileInputs.cache
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\App_Code\obj\Release\App_Code.csproj.CopyComplete
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\App_Code\obj\Release\App_Code.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\App_Code\obj\Release\App_Code.pdb
diff --git a/web/App_Code/obj/Release/App_Code.dll b/web/App_Code/obj/Release/App_Code.dll
index 4563dce..0cfb1c4 100644
--- a/web/App_Code/obj/Release/App_Code.dll
+++ b/web/App_Code/obj/Release/App_Code.dll
Binary files differ
diff --git a/web/App_Code/obj/Release/App_Code.pdb b/web/App_Code/obj/Release/App_Code.pdb
index 835d4e7..315fa9a 100644
--- a/web/App_Code/obj/Release/App_Code.pdb
+++ b/web/App_Code/obj/Release/App_Code.pdb
Binary files differ
diff --git a/web/Common/bin/Release/Common.dll b/web/Common/bin/Release/Common.dll
index a0c329f..c17eeb7 100644
--- a/web/Common/bin/Release/Common.dll
+++ b/web/Common/bin/Release/Common.dll
Binary files differ
diff --git a/web/Common/bin/Release/Common.pdb b/web/Common/bin/Release/Common.pdb
index db03453..8cf945b 100644
--- a/web/Common/bin/Release/Common.pdb
+++ b/web/Common/bin/Release/Common.pdb
Binary files differ
diff --git a/web/Common/obj/Release/Common.csproj.AssemblyReference.cache b/web/Common/obj/Release/Common.csproj.AssemblyReference.cache
index dec21a9..1bf2744 100644
--- a/web/Common/obj/Release/Common.csproj.AssemblyReference.cache
+++ b/web/Common/obj/Release/Common.csproj.AssemblyReference.cache
Binary files differ
diff --git a/web/Common/obj/Release/Common.csproj.CoreCompileInputs.cache b/web/Common/obj/Release/Common.csproj.CoreCompileInputs.cache
index d15af69..c0253ac 100644
--- a/web/Common/obj/Release/Common.csproj.CoreCompileInputs.cache
+++ b/web/Common/obj/Release/Common.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-d34782dce186f7104d1081cac4d568756f64a0b0
+f05064e66538c56da836b03d27148211bdb278f8
diff --git a/web/Common/obj/Release/Common.csproj.FileListAbsolute.txt b/web/Common/obj/Release/Common.csproj.FileListAbsolute.txt
index 60323db..7eb4c74 100644
--- a/web/Common/obj/Release/Common.csproj.FileListAbsolute.txt
+++ b/web/Common/obj/Release/Common.csproj.FileListAbsolute.txt
@@ -46,3 +46,12 @@
C:\Users\mac\Desktop\Work-Archives\SMGW\SMGW_NewWeb\web\Common\obj\Release\Common.pdb
=======
>>>>>>> Stashed changes
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Common\bin\Release\Common.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Common\bin\Release\Common.pdb
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Common\bin\Release\log4net.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Common\bin\Release\Oracle.DataAccess.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Common\obj\Release\Common.csproj.AssemblyReference.cache
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Common\obj\Release\Common.csproj.CoreCompileInputs.cache
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Common\obj\Release\Common.csproj.CopyComplete
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Common\obj\Release\Common.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Common\obj\Release\Common.pdb
diff --git a/web/Common/obj/Release/Common.dll b/web/Common/obj/Release/Common.dll
index a0c329f..c17eeb7 100644
--- a/web/Common/obj/Release/Common.dll
+++ b/web/Common/obj/Release/Common.dll
Binary files differ
diff --git a/web/Common/obj/Release/Common.pdb b/web/Common/obj/Release/Common.pdb
index db03453..8cf945b 100644
--- a/web/Common/obj/Release/Common.pdb
+++ b/web/Common/obj/Release/Common.pdb
Binary files differ
diff --git a/web/Dao/GwOrderAuditDao.cs b/web/Dao/GwOrderAuditDao.cs
new file mode 100644
index 0000000..80e1014
--- /dev/null
+++ b/web/Dao/GwOrderAuditDao.cs
@@ -0,0 +1,183 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Model;
+using Common;
+using Oracle.DataAccess.Client;
+using System.Data.Common;
+
+namespace Dao
+{
+ /// <summary>
+ /// 璁㈠崟瀹℃牳鎿嶄綔
+ /// </summary>
+ public class GwOrderAuditDao : IDisposable
+ {
+ public void Dispose()
+ {
+ }
+
+ private static GwOrderAuditDao _instance;
+ public static GwOrderAuditDao Instance
+ {
+ get {
+ if (_instance == null)
+ {
+ _instance = new GwOrderAuditDao();
+ }
+ return _instance;
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇璁㈠崟瀹℃牳鍒楄〃
+ /// </summary>
+ /// flag: 0-寰呭鏍歌鍗�(宸叉彁浜ゃ�佸鏍镐腑)锛�1-宸插畬鎴愯鍗曪紙瀹℃牳閫氳繃銆佸鏍镐笉閫氳繃銆佸彇娑堬級
+ /// <returns></returns>
+ public List<GwOrderAudit> List(GwOrderAudit gwOrderAudit)
+ {
+ List<GwOrderAudit> list = new List<GwOrderAudit>();
+ try
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("SELECT GOA.* ");
+ stringBuilder.Append(" FROM GW_ORDER_AUDIT GOA ");
+ stringBuilder.Append(" WHERE 1=1 ");
+
+ if (gwOrderAudit.AuditId!=null && gwOrderAudit.AuditId!="")
+ {
+ stringBuilder.Append(" AND AUDIT_ID= '" + gwOrderAudit.AuditId + "' ");
+ }
+ if (gwOrderAudit.OrderId != null && gwOrderAudit.OrderId != "")
+ {
+ stringBuilder.Append(" AND ORDER_ID= '" + gwOrderAudit.OrderId + "' ");
+ }
+ if (gwOrderAudit.AuditSort != 0 )
+ {
+ stringBuilder.Append(" AND AUDIT_SORT= " + gwOrderAudit.AuditSort + " ");
+ }
+ if (gwOrderAudit.AuditStatus != 0)
+ {
+ stringBuilder.Append(" AND AUDIT_STATUS= " + gwOrderAudit.AuditStatus + " ");
+ }
+ stringBuilder.Append(" ORDER BY ORDER_ID, AUDIT_TIME DESC ");
+
+ using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString() , OracleHelper.Connection))
+ {
+ while (((DbDataReader)reader).Read())
+ {
+ GwOrderAudit o = new GwOrderAudit();
+ if (this.ReadInfo(reader, o))
+ list.Add(o);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Error(ex);
+ return list;
+ }
+ return list;
+ }
+
+
+ //娣诲姞淇℃伅
+ public bool Add(GwOrderAudit o)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("INSERT INTO GW_ORDER_AUDIT ( ");
+ stringBuilder.Append(" AUDIT_ID, ORDER_ID, AUDIT_SORT, AUDIT_STATUS, AUDITOR, AUDIT_REASON, AUDIT_TIME ");
+ stringBuilder.Append(" ) ");
+ stringBuilder.Append(" VALUES (:AUDIT_ID, :ORDER_ID, :AUDIT_SORT, :AUDIT_STATUS, :AUDITOR, :AUDIT_REASON, :AUDIT_TIME ");
+ stringBuilder.Append(" ) ");
+
+ string sql = stringBuilder.ToString();
+
+ return OracleHelper.ExecuteSql(sql,
+ OracleHelper.Connection,
+ new OracleParameter(":AUDIT_ID", (object)o.AuditId),
+ new OracleParameter(":ORDER_ID", (object)o.OrderId),
+ new OracleParameter(":AUDIT_SORT", (object)o.AuditSort),
+ new OracleParameter(":AUDIT_STATUS", (object)o.AuditStatus),
+ new OracleParameter(":AUDITOR", (object)o.Auditor),
+ new OracleParameter(":AUDIT_REASON", (object)o.AuditReason),
+ new OracleParameter(":AUDIT_TIME", (object)o.AuditTime)
+ ) > 0;
+ }
+
+ //鍒犻櫎
+ public bool Delete(string AuditId)
+ {
+ if (string.IsNullOrEmpty(AuditId) )
+ return false;
+ return OracleHelper.ExecuteSql("delete from GW_ORDER_AUDIT where AUDIT_ID=:AUDIT_ID", OracleHelper.Connection, new OracleParameter(":AUDIT_ID", (object)AuditId)) > 0;
+ }
+
+ //鏇存柊浜у搧鎴栦骇鍝佸垎绫讳俊鎭�
+ public bool Update(GwOrderAudit o)
+ {
+ OracleParameter[] cmdParms = new OracleParameter[] {
+ new OracleParameter(":AUDIT_ID", (object)o.AuditId),
+ new OracleParameter(":ORDER_ID", (object)o.OrderId),
+ new OracleParameter(":AUDIT_SORT", (object)o.AuditSort),
+ new OracleParameter(":AUDIT_STATUS", (object)o.AuditStatus),
+ new OracleParameter(":AUDITOR", (object)o.Auditor),
+ new OracleParameter(":AUDIT_REASON", (object)o.AuditReason),
+ new OracleParameter(":AUDIT_TIME", (object)o.AuditTime)
+ };
+
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("UPDATE GW_ORDER_AUDIT SET ");
+ //stringBuilder.Append(" , AUDIT_ID =:AUDIT_ID ");
+ stringBuilder.Append(" , ORDER_ID =:ORDER_ID ");
+ stringBuilder.Append(" , AUDIT_SORT =:AUDIT_SORT ");
+ stringBuilder.Append(" , AUDIT_STATUS =:AUDIT_STATUS ");
+ stringBuilder.Append(" , AUDITOR=:AUDITOR, AUDIT_REASON=:AUDIT_REASON, AUDIT_TIME=:AUDIT_TIME ");
+ stringBuilder.Append(" WHERE AUDIT_ID=:AUDIT_ID ");
+
+ string sql = stringBuilder.ToString();
+ return (OracleHelper.ExecuteSql(sql, OracleHelper.Connection, cmdParms) > 0);
+ }
+
+ //鑾峰彇淇℃伅
+ public GwOrderAudit Get(string auditId)
+ {
+ GwOrderAudit o = new GwOrderAudit();
+ if (string.IsNullOrEmpty(auditId))
+ return o;
+ using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_ORDER_AUDIT where AUDIT_ID=:AUDIT_ID"), OracleHelper.Connection, new OracleParameter(":AUDIT_ID", (object)auditId)))
+ {
+ if (((DbDataReader)reader).Read())
+ {
+ this.ReadInfo(reader, o);
+ return o;
+ }
+ }
+ return o;
+ }
+
+ //缁熻璁板綍鏁�
+ private int ReadCount(OracleDataReader reader)
+ {
+ OracleReaderWrapper wrapper = new OracleReaderWrapper(reader);
+ return wrapper.GetInt("count", 0);
+ }
+
+ //鏁版嵁灏佽
+ private bool ReadInfo(OracleDataReader reader, GwOrderAudit o)
+ {
+ OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
+ o.AuditId = oracleReaderWrapper.GetString("AUDIT_ID", "");
+ o.OrderId = oracleReaderWrapper.GetString("ORDER_ID", "");
+ o.AuditSort = oracleReaderWrapper.GetInt("AUDIT_SORT", 0);
+ o.AuditStatus = oracleReaderWrapper.GetInt("AUDIT_STATUS", 0);
+ o.Auditor = oracleReaderWrapper.GetString("AUDITOR", "");
+ o.AuditReason = oracleReaderWrapper.GetString("AUDIT_REASON", "");
+ o.AuditTime = oracleReaderWrapper.GetDateTime("AUDIT_TIME");
+ return true;
+ }
+
+ }
+
+}
diff --git a/web/Dao/GwOrderDao.cs b/web/Dao/GwOrderDao.cs
new file mode 100644
index 0000000..84b510b
--- /dev/null
+++ b/web/Dao/GwOrderDao.cs
@@ -0,0 +1,309 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Model;
+using Common;
+using Oracle.DataAccess.Client;
+using System.Data.Common;
+
+namespace Dao
+{
+ /// <summary>
+ /// 璁㈠崟鎿嶄綔
+ /// </summary>
+ public class GwOrderDao : IDisposable
+ {
+ public void Dispose()
+ {
+ }
+
+ private static GwOrderDao _instance;
+ public static GwOrderDao Instance
+ {
+ get {
+ if (_instance == null)
+ {
+ _instance = new GwOrderDao();
+ }
+ return _instance;
+ }
+ }
+
+
+ //flag: 0-寰呭鏍歌鍗�(宸叉彁浜ゃ�佸鏍镐腑)锛�1-宸插畬鎴愯鍗曪紙瀹℃牳閫氳繃銆佸鏍镐笉閫氳繃銆佸彇娑堬級
+ public List<GwOrder> LoadInfoList(string spId, string clientId, string clientName, int flag, DateTime startDate, DateTime endDate, int pageSize, int PageIndex, out int recordcount)
+ {
+
+ List<GwOrder> list = new List<GwOrder>();
+ recordcount = 0;
+ try
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append(" FROM ( ");
+ stringBuilder.Append("SELECT GWO.*, GWC.CLIENT_NAME ");
+ stringBuilder.Append(" FROM GW_ORDER GWO ");
+ stringBuilder.Append(" LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID ");
+ stringBuilder.Append(" LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID ");
+ stringBuilder.Append(" WHERE 1=1 ");
+
+ if (flag == 0)
+ {
+ stringBuilder.Append(" AND GWO.STATUS IN (0, 1) ");
+ }
+ else if (flag == 1)
+ {
+ stringBuilder.Append(" AND GWO.STATUS IN (2, 3, 4) ");
+ }
+
+ /**
+ if ((startDate != null) && (endDate != null))
+ {
+ stringBuilder.Append(" AND GWO.CREATE_TIME BETWEEN " + startDate + " AND " + endDate + " ");
+ }
+ else if ((startDate != null) && (endDate == null) )
+ {
+ stringBuilder.Append(" AND GWO.CREATE_TIME BETWEEN " + startDate + "'AND " + startDate + "");
+ }
+ else if ((endDate != null) && (startDate == null) )
+ {
+ stringBuilder.Append(" AND GWO.CREATE_TIME BETWEEN " + endDate + " AND " + endDate + " ");
+ }
+ **/
+ stringBuilder.Append(" AND GWO.CREATE_TIME BETWEEN :START_TIME AND :END_TIME ");
+
+ if ((spId != null) && (spId != ""))
+ {
+ stringBuilder.Append(" AND GWO.SP_ID like '%" + spId + "%' " );
+ }
+
+ if ((clientId != null) && (clientId != ""))
+ {
+ stringBuilder.Append(" and GWO.CLIENT_ID like '%" + clientId + "%'");
+ }
+ if ((clientName != null) && (clientName != ""))
+ {
+ stringBuilder.Append(" and GWC.CLIENT_NAME like '%" + clientName + "%'");
+ }
+ stringBuilder.Append(" ) T ");
+
+ OracleParameter[] parameterArray = new OracleParameter[] { new OracleParameter(":START_TIME", startDate), new OracleParameter(":END_TIME", endDate) };
+
+ using (OracleDataReader reader = OracleHelper.ExecuteReader("select count(*) as count " + stringBuilder.ToString(), OracleHelper.Connection, parameterArray))
+ {
+ while (reader.Read())
+ {
+ recordcount = this.ReadCount(reader);
+ }
+ }
+ using (OracleDataReader reader2 = OracleHelper.ExecuteReader(PubConstant.doOracleSql(PageIndex, pageSize, recordcount, "select * " + stringBuilder.ToString()).ToString() + " order by CREATE_TIME desc ", OracleHelper.Connection, parameterArray))
+ {
+ while (reader2.Read())
+ {
+ GwOrder o = new GwOrder();
+ if (this.ReadInfo(reader2, o))
+ {
+ list.Add(o);
+ }
+ }
+ }
+ }
+ catch (Exception exception)
+ {
+ LogHelper.Error(exception);
+ return list;
+ }
+ return list;
+
+ }
+
+ /// <summary>
+ /// 鑾峰彇璁㈠崟鍒楄〃
+ /// </summary>
+ /// flag: 0-寰呭鏍歌鍗�(宸叉彁浜ゃ�佸鏍镐腑)锛�1-宸插畬鎴愯鍗曪紙瀹℃牳閫氳繃銆佸鏍镐笉閫氳繃銆佸彇娑堬級
+ /// <returns></returns>
+ public List<GwOrder> List(GwOrder gwOrder, GwSp gwSp, GwClient gwClient, int flag)
+ {
+ List<GwOrder> list = new List<GwOrder>();
+ //recordcount = 0; //
+ try
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("SELECT GWO.* ");
+ stringBuilder.Append(" FROM GW_ORDER GWO ");
+ stringBuilder.Append(" LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID ");
+ stringBuilder.Append(" LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID ");
+ stringBuilder.Append(" WHERE 1=1 ");
+
+ if(flag == 0)
+ {
+ stringBuilder.Append(" AND GWO.STATUS IN (0, 1) ");
+ }
+ else if (flag == 1)
+ {
+ stringBuilder.Append(" AND GWO.STATUS IN (2, 3, 4) ");
+ }
+
+ stringBuilder.Append(" ORDER BY CREATE_TIME DESC ");
+
+ using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString() , OracleHelper.Connection))
+ {
+ while (((DbDataReader)reader).Read())
+ {
+ GwOrder o = new GwOrder();
+ if (this.ReadInfo(reader, o))
+ list.Add(o);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Error(ex);
+ return list;
+ }
+ return list;
+ }
+
+
+ //娣诲姞浜у搧鎴栦骇鍝佸垎绫讳俊鎭�
+ public bool Add(GwOrder o)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("INSERT INTO GW_ORDER ( ");
+ stringBuilder.Append(" ORDER_ID, SP_ID, CLIENT_ID, PRODUCT_ID, COMBO_ID, BASIC_NUM, GIVING_NUM, PRICE, ORDER_NUM_TOTAL, ORDER_AMOUNT_TOTAL, BEFORE_BALANCE_NUM ");
+ stringBuilder.Append(" , CREATOR, CREATE_TIME, STATUS, REMARK ");
+ //stringBuilder.Append(" , AUDITOR, AUDIT_TIME ");
+ stringBuilder.Append(" ) ");
+ stringBuilder.Append(" VALUES (:ORDER_ID, :SP_ID, :CLIENT_ID, :PRODUCT_ID, :COMBO_ID, :BASIC_NUM, :GIVING_NUM, :PRICE, :ORDER_NUM_TOTAL, :ORDER_AMOUNT_TOTAL, :BEFORE_BALANCE_NUM ");
+ stringBuilder.Append(" , :CREATOR, :CREATE_TIME, :STATUS, :REMARK ");
+ //stringBuilder.Append(" , :AUDITOR, :AUDIT_TIME ");
+ stringBuilder.Append(" ) ");
+
+ string sql = stringBuilder.ToString();
+
+ return OracleHelper.ExecuteSql(sql,
+ OracleHelper.Connection,
+ new OracleParameter(":ORDER_ID", (object)o.OrderId),
+ new OracleParameter(":SP_ID", (object)o.SpId),
+ new OracleParameter(":CLIENT_ID", (object)o.ClientId),
+ new OracleParameter(":PRODUCT_ID", (object)o.ProductId),
+ new OracleParameter(":COMBO_ID", (object)o.ComboId),
+ new OracleParameter(":BASIC_NUM", (object)o.BasicNum),
+ new OracleParameter(":GIVING_NUM", (object)o.GivingNum),
+ new OracleParameter(":PRICE", (object)o.Price),
+ new OracleParameter(":ORDER_NUM_TOTAL", (object)o.OrderNumTotal),
+ new OracleParameter(":ORDER_AMOUNT_TOTAL", (object)o.OrderAmountTotal),
+ new OracleParameter(":BEFORE_BALANCE_NUM", (object)o.BeforeBalanceNum),
+ new OracleParameter(":CREATOR", (object)o.Creator),
+ new OracleParameter(":CREATE_TIME", (object)o.CreateTime),
+ new OracleParameter(":STATUS", (object)o.Status),
+ new OracleParameter(":REMARK", (object)o.Remark)
+ ) > 0;
+ }
+
+ //鍒犻櫎
+ public bool Delete(string orderId)
+ {
+ if (string.IsNullOrEmpty(orderId) )
+ return false;
+ return OracleHelper.ExecuteSql("delete from GW_ORDER where ORDER_ID=:ORDER_ID", OracleHelper.Connection, new OracleParameter(":ORDER_ID", (object)orderId)) > 0;
+ }
+
+ //鍙栨秷
+ public bool UpdateStatus(int status, string orderId)
+ {
+ if (string.IsNullOrEmpty(orderId))
+ return false;
+ //status:4-鍙栨秷
+ return OracleHelper.ExecuteSql("update GW_ORDER SET STATUS = :STATUS where ORDER_ID=:ORDER_ID", OracleHelper.Connection, new OracleParameter(":STATUS", (object)status), new OracleParameter(":ORDER_ID", (object)orderId)) > 0;
+ }
+
+ //鏇存柊浜у搧鎴栦骇鍝佸垎绫讳俊鎭�
+ public bool Update(GwOrder o)
+ {
+ OracleParameter[] cmdParms = new OracleParameter[] {
+ new OracleParameter(":ORDER_ID", (object)o.OrderId),
+ new OracleParameter(":SP_ID", (object)o.SpId),
+ new OracleParameter(":CLIENT_ID", (object)o.ClientId),
+ new OracleParameter(":PRODUCT_ID", (object)o.ProductId),
+ new OracleParameter(":COMBO_ID", (object)o.ComboId),
+ new OracleParameter(":BASIC_NUM", (object)o.BasicNum),
+ new OracleParameter(":GIVING_NUM", (object)o.GivingNum),
+ new OracleParameter(":PRICE", (object)o.Price),
+ new OracleParameter(":ORDER_NUM_TOTAL", (object)o.OrderNumTotal),
+ new OracleParameter(":ORDER_AMOUNT_TOTAL", (object)o.OrderAmountTotal),
+ new OracleParameter(":BEFORE_BALANCE_NUM", (object)o.BeforeBalanceNum),
+ new OracleParameter(":CREATOR", (object)o.Creator),
+ new OracleParameter(":CREATE_TIME", (object)o.CreateTime),
+ new OracleParameter(":STATUS", (object)o.Status),
+ new OracleParameter(":REMARK", (object)o.Remark)
+ };
+
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("UPDATE GW_ORDER SET ");
+ //stringBuilder.Append(" ORDER_ID=:ORDER_ID ");
+ stringBuilder.Append(" , SP_ID =:SP_ID ");
+ stringBuilder.Append(" , CLIENT_ID =:CLIENT_ID ");
+ stringBuilder.Append(" , PRODUCT_ID =:PRODUCT_ID ");
+ stringBuilder.Append(" , COMBO_ID =:COMBO_ID ");
+ stringBuilder.Append(" , BASIC_NUM=:BASIC_NUM, GIVING_NUM=:GIVING_NUM, PRICE=:PRICE, ORDER_NUM_TOTAL=:ORDER_NUM_TOTAL, ORDER_AMOUNT_TOTAL=:ORDER_AMOUNT_TOTAL ");
+ stringBuilder.Append(" , BEFORE_BALANCE_NUM =:BEFORE_BALANCE_NUM, CREATOR=:CREATOR, CREATE_TIME=:CREATE_TIME ");
+ stringBuilder.Append(" , STATUS=:STATUS, REMARK=:REMARK ");
+ stringBuilder.Append(" WHERE ORDER_ID=:ORDER_ID ");
+
+ string sql = stringBuilder.ToString();
+ return (OracleHelper.ExecuteSql(sql, OracleHelper.Connection, cmdParms) > 0);
+ }
+
+ //鑾峰彇淇℃伅
+ public GwOrder Get(string orderId)
+ {
+ GwOrder o = new GwOrder();
+ if (string.IsNullOrEmpty(orderId))
+ return o;
+ using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from GW_ORDER where ORDER_ID=:ORDER_ID"), OracleHelper.Connection, new OracleParameter(":ORDER_ID", (object)orderId)))
+ {
+ if (((DbDataReader)reader).Read())
+ {
+ this.ReadInfo(reader, o);
+ return o;
+ }
+ }
+ return o;
+ }
+
+ //缁熻璁板綍鏁�
+ private int ReadCount(OracleDataReader reader)
+ {
+ OracleReaderWrapper wrapper = new OracleReaderWrapper(reader);
+ return wrapper.GetInt("count", 0);
+ }
+
+ //鏁版嵁灏佽
+ private bool ReadInfo(OracleDataReader reader, GwOrder o)
+ {
+ OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
+ o.OrderId = oracleReaderWrapper.GetString("ORDER_ID", "");
+ o.SpId = oracleReaderWrapper.GetString("SP_ID", "");
+ o.ClientId = oracleReaderWrapper.GetString("CLIENT_ID", "");
+ o.ClientName = oracleReaderWrapper.GetString("CLIENT_NAME", "");
+ o.ProductId = oracleReaderWrapper.GetString("PRODUCT_ID", "");
+ o.ComboId = oracleReaderWrapper.GetString("COMBO_ID", "");
+ o.BasicNum = oracleReaderWrapper.GetInt("BASIC_NUM", 0);
+ o.GivingNum = oracleReaderWrapper.GetInt("GIVING_NUM", 0);
+ o.Price = oracleReaderWrapper.GetInt("PRICE", 0);
+ o.OrderNumTotal = oracleReaderWrapper.GetInt("ORDER_NUM_TOTAL", 0);
+ o.OrderAmountTotal = oracleReaderWrapper.GetInt("ORDER_AMOUNT_TOTAL", 0);
+ o.BeforeBalanceNum = oracleReaderWrapper.GetInt("BEFORE_BALANCE_NUM", 0);
+ o.Creator = oracleReaderWrapper.GetString("CREATOR", "");
+ o.CreateTime = oracleReaderWrapper.GetDateTime("CREATE_TIME");
+ //o.Auditor = oracleReaderWrapper.GetString("AUDITOR", "");
+ //o.AuditTime = oracleReaderWrapper.GetDateTime("AUDIT_TIME");
+ o.Status = oracleReaderWrapper.GetInt("STATUS", 0);
+ o.Remark = oracleReaderWrapper.GetString("REMARK", "");
+ return true;
+ }
+
+ }
+
+}
diff --git a/web/Dao/SysFlowDao.cs b/web/Dao/SysFlowDao.cs
new file mode 100644
index 0000000..d6c127c
--- /dev/null
+++ b/web/Dao/SysFlowDao.cs
@@ -0,0 +1,213 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Model;
+using Common;
+using Oracle.DataAccess.Client;
+using System.Data.Common;
+
+namespace Dao
+{
+ /// <summary>
+ /// 娴佺▼瀹氫箟琛ㄦ搷浣�
+ /// </summary>
+ public class SysFlowDao : IDisposable
+ {
+ public void Dispose()
+ {
+ }
+
+ private static SysFlowDao _instance;
+ public static SysFlowDao Instance
+ {
+ get {
+ if (_instance == null)
+ {
+ _instance = new SysFlowDao();
+ }
+ return _instance;
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇淇℃伅鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public List<SysFlow> List(SysFlow sysFlow)
+ {
+ List<SysFlow> list = new List<SysFlow>();
+ try
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("SELECT SFN.* ");
+ stringBuilder.Append(" FROM SYS_FLOW SFN ");
+ stringBuilder.Append(" WHERE 1=1 ");
+
+ if (sysFlow.FlowCode != null && sysFlow.FlowCode != "")
+ {
+ stringBuilder.Append(" AND FLOW_CODE= '" + sysFlow.FlowCode + "' ");
+ }
+ if (sysFlow.Status != 0)
+ {
+ stringBuilder.Append(" AND STATUS= " + sysFlow.Status + " ");
+ }
+ stringBuilder.Append(" ORDER BY FLOW_CODE ");
+
+ using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString() , OracleHelper.Connection))
+ {
+ while (((DbDataReader)reader).Read())
+ {
+ SysFlow o = new SysFlow();
+ if (this.ReadInfo(reader, o))
+ list.Add(o);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Error(ex);
+ return list;
+ }
+ return list;
+ }
+
+
+ //娣诲姞淇℃伅
+ public bool Add(SysFlow o)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("INSERT INTO SYS_FLOW ( ");
+ stringBuilder.Append(" ID, FLOW_CODE, FLOW_NAME, FLOW_GROUP, STATUS ");
+ stringBuilder.Append(" ) ");
+ stringBuilder.Append(" VALUES (:ID, :FLOW_CODE, :FLOW_NAME, :FLOW_GROUP, :STATUS ");
+ stringBuilder.Append(" ) ");
+
+ string sql = stringBuilder.ToString();
+
+ return OracleHelper.ExecuteSql(sql,
+ OracleHelper.Connection,
+ new OracleParameter(":ID", (object)o.Id),
+ new OracleParameter(":FLOW_CODE", (object)o.FlowCode),
+ new OracleParameter(":FLOW_NAME", (object)o.FlowName),
+ new OracleParameter(":FLOW_GROUP", (object)o.FlowGroup),
+ new OracleParameter(":STATUS", (object)o.Status)
+ ) > 0;
+ }
+
+ //鍒犻櫎
+ public bool Delete(string id)
+ {
+ if (string.IsNullOrEmpty(id) )
+ return false;
+ return OracleHelper.ExecuteSql("delete from SYS_FLOW where ID=:ID", OracleHelper.Connection, new OracleParameter(":ID", (object)id)) > 0;
+ }
+
+ //鏇存柊浜у搧鎴栦骇鍝佸垎绫讳俊鎭�
+ public bool Update(SysFlow o)
+ {
+ OracleParameter[] cmdParms = new OracleParameter[] {
+ new OracleParameter(":ID", (object)o.Id),
+ new OracleParameter(":FLOW_CODE", (object)o.FlowCode),
+ new OracleParameter(":FLOW_NAME", (object)o.FlowName),
+ new OracleParameter(":FLOW_GROUP", (object)o.FlowGroup),
+ new OracleParameter(":STATUS", (object)o.Status)
+ };
+
+
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("UPDATE SYS_FLOW SET ");
+ stringBuilder.Append(" , FLOW_CODE =:FLOW_CODE ");
+ stringBuilder.Append(" , FLOW_NAME =:FLOW_NAME ");
+ stringBuilder.Append(" , FLOW_GROUP =:FLOW_GROUP ");
+ stringBuilder.Append(" , STATUS=:STATUS ");
+ stringBuilder.Append(" WHERE ID=:ID ");
+
+ string sql = stringBuilder.ToString();
+ return (OracleHelper.ExecuteSql(sql, OracleHelper.Connection, cmdParms) > 0);
+ }
+
+ //鑾峰彇淇℃伅
+ public SysFlow Get(string id)
+ {
+ SysFlow o = new SysFlow();
+ if (string.IsNullOrEmpty(id))
+ return o;
+ using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from SYS_FLOW where ID=:ID"), OracleHelper.Connection, new OracleParameter(":ID", (object)id)))
+ {
+ if (((DbDataReader)reader).Read())
+ {
+ this.ReadInfo(reader, o);
+ return o;
+ }
+ }
+ return o;
+ }
+
+ //鑾峰彇淇℃伅
+ public SysFlow Get(SysFlow sysFlow)
+ {
+ SysFlow o = new SysFlow();
+ if (sysFlow==null)
+ return o;
+
+ try
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("SELECT SFN.* ");
+ stringBuilder.Append(" FROM SYS_FLOW SFN ");
+ stringBuilder.Append(" WHERE 1=1 ");
+
+ if (sysFlow.Id != null && sysFlow.Id != "")
+ {
+ stringBuilder.Append(" AND ID= '" + sysFlow.Id + "' ");
+ }
+ if (sysFlow.FlowCode != null && sysFlow.FlowCode != "")
+ {
+ stringBuilder.Append(" AND FLOW_CODE= '" + sysFlow.FlowCode + "' ");
+ }
+ if (sysFlow.Status != 0)
+ {
+ stringBuilder.Append(" AND STATUS= " + sysFlow.Status + " ");
+ }
+
+ using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString(), OracleHelper.Connection))
+ {
+ if (((DbDataReader)reader).Read())
+ {
+ this.ReadInfo(reader, o);
+ return o;
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Error(ex);
+ return null;
+ }
+
+ return o;
+ }
+
+ //缁熻璁板綍鏁�
+ private int ReadCount(OracleDataReader reader)
+ {
+ OracleReaderWrapper wrapper = new OracleReaderWrapper(reader);
+ return wrapper.GetInt("count", 0);
+ }
+
+ //鏁版嵁灏佽
+ private bool ReadInfo(OracleDataReader reader, SysFlow o)
+ {
+ OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
+ o.Id = oracleReaderWrapper.GetString("ID", "");
+ o.FlowCode = oracleReaderWrapper.GetString("FLOW_CODE", "");
+ o.FlowName = oracleReaderWrapper.GetString("FLOW_NAME", "");
+ o.FlowGroup = oracleReaderWrapper.GetString("FLOW_GROUP", "");
+ o.Status = oracleReaderWrapper.GetInt("STATUS", 0);
+ return true;
+ }
+
+ }
+
+}
diff --git a/web/Dao/SysFlowNodeDao.cs b/web/Dao/SysFlowNodeDao.cs
new file mode 100644
index 0000000..c289723
--- /dev/null
+++ b/web/Dao/SysFlowNodeDao.cs
@@ -0,0 +1,220 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Model;
+using Common;
+using Oracle.DataAccess.Client;
+using System.Data.Common;
+
+namespace Dao
+{
+ /// <summary>
+ /// 娴佺▼鑺傜偣瀹氫箟鎿嶄綔
+ /// </summary>
+ public class SysFlowNodeDao : IDisposable
+ {
+ public void Dispose()
+ {
+ }
+
+ private static SysFlowNodeDao _instance;
+ public static SysFlowNodeDao Instance
+ {
+ get {
+ if (_instance == null)
+ {
+ _instance = new SysFlowNodeDao();
+ }
+ return _instance;
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇淇℃伅鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public List<SysFlowNode> List(SysFlowNode sysFlowNode)
+ {
+ List<SysFlowNode> list = new List<SysFlowNode>();
+ try
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("SELECT SFN.* ");
+ stringBuilder.Append(" FROM SYS_FLOW_NODE SFN ");
+ stringBuilder.Append(" WHERE 1=1 ");
+
+ if (sysFlowNode.FlowNodeCode != null && sysFlowNode.FlowNodeCode != "")
+ {
+ stringBuilder.Append(" AND FLOW_NODE_CODE= '" + sysFlowNode.FlowNodeCode + "' ");
+ }
+ if (sysFlowNode.BusinessType != 0)
+ {
+ stringBuilder.Append(" AND BUSINESS_TYPE= " + sysFlowNode.BusinessType + " ");
+ }
+ stringBuilder.Append(" ORDER BY BUSINESS_TYPE ");
+
+ using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString() , OracleHelper.Connection))
+ {
+ while (((DbDataReader)reader).Read())
+ {
+ SysFlowNode o = new SysFlowNode();
+ if (this.ReadInfo(reader, o))
+ list.Add(o);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Error(ex);
+ return list;
+ }
+ return list;
+ }
+
+
+ //娣诲姞淇℃伅
+ public bool Add(SysFlowNode o)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("INSERT INTO SYS_FLOW_NODE ( ");
+ stringBuilder.Append(" ID, FLOW_NODE_CODE, FLOW_NODE_NAME, ROLE_ID, USER_ID, BUSINESS_TYPE, REMARK ");
+ stringBuilder.Append(" ) ");
+ stringBuilder.Append(" VALUES (:ID, :FLOW_NODE_CODE, :FLOW_NODE_NAME, :ROLE_ID, :USER_ID, :BUSINESS_TYPE, :REMARK ");
+ stringBuilder.Append(" ) ");
+
+ string sql = stringBuilder.ToString();
+
+ return OracleHelper.ExecuteSql(sql,
+ OracleHelper.Connection,
+ new OracleParameter(":ID", (object)o.Id),
+ new OracleParameter(":FLOW_NODE_CODE", (object)o.FlowNodeCode),
+ new OracleParameter(":FLOW_NODE_NAME", (object)o.FlowNodeName),
+ new OracleParameter(":ROLE_ID", (object)o.RoleId),
+ new OracleParameter(":USER_ID", (object)o.UserId),
+ new OracleParameter(":BUSINESS_TYPE", (object)o.BusinessType),
+ new OracleParameter(":REMARK", (object)o.Remark)
+ ) > 0;
+ }
+
+ //鍒犻櫎
+ public bool Delete(string id)
+ {
+ if (string.IsNullOrEmpty(id) )
+ return false;
+ return OracleHelper.ExecuteSql("delete from SYS_FLOW_NODE where ID=:ID", OracleHelper.Connection, new OracleParameter(":ID", (object)id)) > 0;
+ }
+
+ //鏇存柊浜у搧鎴栦骇鍝佸垎绫讳俊鎭�
+ public bool Update(SysFlowNode o)
+ {
+ OracleParameter[] cmdParms = new OracleParameter[] {
+ new OracleParameter(":ID", (object)o.Id),
+ new OracleParameter(":FLOW_NODE_CODE", (object)o.FlowNodeCode),
+ new OracleParameter(":FLOW_NODE_NAME", (object)o.FlowNodeName),
+ new OracleParameter(":ROLE_ID", (object)o.RoleId),
+ new OracleParameter(":USER_ID", (object)o.UserId),
+ new OracleParameter(":BUSINESS_TYPE", (object)o.BusinessType),
+ new OracleParameter(":REMARK", (object)o.Remark)
+ };
+
+
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("UPDATE SYS_FLOW_NODE SET ");
+ stringBuilder.Append(" , FLOW_NODE_CODE =:FLOW_NODE_CODE ");
+ stringBuilder.Append(" , FLOW_NODE_NAME =:FLOW_NODE_NAME ");
+ stringBuilder.Append(" , ROLE_ID =:ROLE_ID ");
+ stringBuilder.Append(" , USER_ID=:USER_ID, BUSINESS_TYPE=:BUSINESS_TYPE, REMARK=:REMARK ");
+ stringBuilder.Append(" WHERE ID=:ID ");
+
+ string sql = stringBuilder.ToString();
+ return (OracleHelper.ExecuteSql(sql, OracleHelper.Connection, cmdParms) > 0);
+ }
+
+ //鑾峰彇淇℃伅
+ public SysFlowNode Get(string id)
+ {
+ SysFlowNode o = new SysFlowNode();
+ if (string.IsNullOrEmpty(id))
+ return o;
+ using (OracleDataReader reader = OracleHelper.ExecuteReader(string.Format("select * from SYS_FLOW_NODE where ID=:ID"), OracleHelper.Connection, new OracleParameter(":ID", (object)id)))
+ {
+ if (((DbDataReader)reader).Read())
+ {
+ this.ReadInfo(reader, o);
+ return o;
+ }
+ }
+ return o;
+ }
+
+ /// <summary>
+ /// 鏍规嵁鐢ㄦ埛鍙婃祦绋嬭妭鐐硅幏鍙栧垽鏂槸鏈夋潈闄�
+ /// </summary>
+ /// <returns></returns>
+ public List<SysFlowNode> IsAuth(SysFlowNode sysFlowNode)
+ {
+ List<SysFlowNode> list = new List<SysFlowNode>();
+ try
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.Append("SELECT SFN.* ");
+ stringBuilder.Append(" FROM SYS_FLOW_NODE SFN ");
+ stringBuilder.Append(" WHERE 1=1 ");
+
+ if (sysFlowNode.FlowNodeCode != null && sysFlowNode.FlowNodeCode != "")
+ {
+ stringBuilder.Append(" AND FLOW_NODE_CODE= '" + sysFlowNode.FlowNodeCode + "' ");
+ }
+ if (sysFlowNode.BusinessType != 0)
+ {
+ stringBuilder.Append(" AND BUSINESS_TYPE= " + sysFlowNode.BusinessType + " ");
+ }
+ if (sysFlowNode.UserId != null && sysFlowNode.UserId != "")
+ {
+ stringBuilder.Append(" AND INSTR(','||USER_ID||',','" + sysFlowNode.UserId + "') > 0");
+ }
+ stringBuilder.Append(" ORDER BY BUSINESS_TYPE ");
+
+ using (OracleDataReader reader = OracleHelper.ExecuteReader(stringBuilder.ToString(), OracleHelper.Connection))
+ {
+ while (((DbDataReader)reader).Read())
+ {
+ SysFlowNode o = new SysFlowNode();
+ if (this.ReadInfo(reader, o))
+ list.Add(o);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Error(ex);
+ return list;
+ }
+ return list;
+ }
+
+ //缁熻璁板綍鏁�
+ private int ReadCount(OracleDataReader reader)
+ {
+ OracleReaderWrapper wrapper = new OracleReaderWrapper(reader);
+ return wrapper.GetInt("count", 0);
+ }
+
+ //鏁版嵁灏佽
+ private bool ReadInfo(OracleDataReader reader, SysFlowNode o)
+ {
+ OracleReaderWrapper oracleReaderWrapper = new OracleReaderWrapper(reader);
+ o.Id = oracleReaderWrapper.GetString("ID", "");
+ o.FlowNodeCode = oracleReaderWrapper.GetString("FLOW_NODE_CODE", "");
+ o.FlowNodeName = oracleReaderWrapper.GetString("FLOW_NODE_NAME", "");
+ o.RoleId = oracleReaderWrapper.GetString("ROLE_ID", "");
+ o.UserId = oracleReaderWrapper.GetString("USER_ID", "");
+ o.BusinessType = oracleReaderWrapper.GetInt("BUSINESS_TYPE", 0);
+ o.Remark = oracleReaderWrapper.GetString("REMARK", "");
+ return true;
+ }
+
+ }
+
+}
diff --git a/web/Dao/bin/Release/Dao.dll b/web/Dao/bin/Release/Dao.dll
index 4769573..465f93e 100644
--- a/web/Dao/bin/Release/Dao.dll
+++ b/web/Dao/bin/Release/Dao.dll
Binary files differ
diff --git a/web/Dao/bin/Release/Dao.pdb b/web/Dao/bin/Release/Dao.pdb
index 15300ad..156a9f8 100644
--- a/web/Dao/bin/Release/Dao.pdb
+++ b/web/Dao/bin/Release/Dao.pdb
Binary files differ
diff --git a/web/Dao/bin/Release/Model.dll b/web/Dao/bin/Release/Model.dll
index 2982995..5e1399a 100644
--- a/web/Dao/bin/Release/Model.dll
+++ b/web/Dao/bin/Release/Model.dll
Binary files differ
diff --git a/web/Dao/bin/Release/Model.pdb b/web/Dao/bin/Release/Model.pdb
index 9987a01..2d4dfc1 100644
--- a/web/Dao/bin/Release/Model.pdb
+++ b/web/Dao/bin/Release/Model.pdb
Binary files differ
diff --git a/web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache b/web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache
index 20947fa..bb77563 100644
--- a/web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache
+++ b/web/Dao/obj/Debug/Dao.csproj.AssemblyReference.cache
Binary files differ
diff --git a/web/Dao/obj/Debug/Dao.dll b/web/Dao/obj/Debug/Dao.dll
index cd10034..408ec61 100644
--- a/web/Dao/obj/Debug/Dao.dll
+++ b/web/Dao/obj/Debug/Dao.dll
Binary files differ
diff --git a/web/Dao/obj/Debug/Dao.pdb b/web/Dao/obj/Debug/Dao.pdb
index 0727b98..6ccb779 100644
--- a/web/Dao/obj/Debug/Dao.pdb
+++ b/web/Dao/obj/Debug/Dao.pdb
Binary files differ
diff --git a/web/Dao/obj/Release/Dao.csproj.AssemblyReference.cache b/web/Dao/obj/Release/Dao.csproj.AssemblyReference.cache
index c7c0395..47cfffa 100644
--- a/web/Dao/obj/Release/Dao.csproj.AssemblyReference.cache
+++ b/web/Dao/obj/Release/Dao.csproj.AssemblyReference.cache
Binary files differ
diff --git a/web/Dao/obj/Release/Dao.csproj.CopyComplete b/web/Dao/obj/Release/Dao.csproj.CopyComplete
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/web/Dao/obj/Release/Dao.csproj.CopyComplete
diff --git a/web/Dao/obj/Release/Dao.csproj.CoreCompileInputs.cache b/web/Dao/obj/Release/Dao.csproj.CoreCompileInputs.cache
index 21ddc74..89d1d3d 100644
--- a/web/Dao/obj/Release/Dao.csproj.CoreCompileInputs.cache
+++ b/web/Dao/obj/Release/Dao.csproj.CoreCompileInputs.cache
@@ -1,9 +1 @@
-<<<<<<< HEAD
-<<<<<<< Updated upstream
-03ac8fb778df47064b4ab65f28af8408156b7fa4
-=======
-4e3d3c0d46e0394eded6a28ceeaec6a8f69625db
->>>>>>> Stashed changes
-=======
-03ac8fb778df47064b4ab65f28af8408156b7fa4
->>>>>>> 751731362e5fcf901065c25eaed0319cf7a27cc1
+0c60e0363c7ebe19e617b065424b04ecbc8fd3d6
diff --git a/web/Dao/obj/Release/Dao.csproj.FileListAbsolute.txt b/web/Dao/obj/Release/Dao.csproj.FileListAbsolute.txt
index 22f6468..62ed5ea 100644
--- a/web/Dao/obj/Release/Dao.csproj.FileListAbsolute.txt
+++ b/web/Dao/obj/Release/Dao.csproj.FileListAbsolute.txt
@@ -73,3 +73,18 @@
C:\Users\mac\Desktop\Work-Archives\SMGW\SMGW_NewWeb\web\Dao\obj\Release\Dao.pdb
=======
>>>>>>> Stashed changes
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\bin\Release\Dao.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\bin\Release\Dao.pdb
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\bin\Release\Common.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\bin\Release\Model.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\bin\Release\Newtonsoft.Json.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\bin\Release\Oracle.DataAccess.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\bin\Release\UMCLib.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\bin\Release\log4net.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\bin\Release\Model.pdb
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\bin\Release\Common.pdb
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\obj\Release\Dao.csproj.AssemblyReference.cache
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\obj\Release\Dao.csproj.CoreCompileInputs.cache
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\obj\Release\Dao.csproj.CopyComplete
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\obj\Release\Dao.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\obj\Release\Dao.pdb
diff --git a/web/Dao/obj/Release/Dao.dll b/web/Dao/obj/Release/Dao.dll
index 4769573..465f93e 100644
--- a/web/Dao/obj/Release/Dao.dll
+++ b/web/Dao/obj/Release/Dao.dll
Binary files differ
diff --git a/web/Dao/obj/Release/Dao.pdb b/web/Dao/obj/Release/Dao.pdb
index 15300ad..156a9f8 100644
--- a/web/Dao/obj/Release/Dao.pdb
+++ b/web/Dao/obj/Release/Dao.pdb
Binary files differ
diff --git a/web/Dao/obj/Release/build.force b/web/Dao/obj/Release/build.force
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/web/Dao/obj/Release/build.force
diff --git a/web/Lib/Dao.dll b/web/Lib/Dao.dll
index cd10034..408ec61 100644
--- a/web/Lib/Dao.dll
+++ b/web/Lib/Dao.dll
Binary files differ
diff --git a/web/Lib/Dao.pdb b/web/Lib/Dao.pdb
index 0727b98..6ccb779 100644
--- a/web/Lib/Dao.pdb
+++ b/web/Lib/Dao.pdb
Binary files differ
diff --git a/web/Model/Model/GwOrder.cs b/web/Model/Model/GwOrder.cs
new file mode 100644
index 0000000..e3ff54f
--- /dev/null
+++ b/web/Model/Model/GwOrder.cs
@@ -0,0 +1,44 @@
+锘�
+using System;
+
+namespace Model
+{
+
+ //璁㈠崟琛�
+ public class GwOrder
+ {
+ public string OrderId { get; set; }
+
+ public string SpId { get; set; }
+
+ public string ClientId { get; set; }
+
+ public string ClientName { get; set; }
+
+ public string ProductId { get; set; }
+
+ public string ComboId { get; set; }
+
+ public int BasicNum { get; set; }
+
+ public int GivingNum { get; set; }
+
+ public int Price { get; set; }
+
+ public int OrderNumTotal { get; set; }
+
+ public int OrderAmountTotal { get; set; }
+
+ public int BeforeBalanceNum { get; set; }
+
+ public string Creator { get; set; }
+
+ public DateTime CreateTime { get; set; }
+
+ //0-寰呭鏍革紙宸叉彁浜わ級锛�1-瀹℃牳涓紱2-瀹℃牳涓嶉�氳繃锛�3-瀹℃牳涓嶉�氳繃锛�4-鍙栨秷锛�
+ //鐢宠璁㈠崟鍦ㄦ湭瀹℃牳鎯呭喌涓嬪彲浠ュ彇娑堛��
+ public int Status { get; set; }
+
+ public string Remark { get; set; }
+ }
+}
diff --git a/web/Model/Model/GwOrderAudit.cs b/web/Model/Model/GwOrderAudit.cs
new file mode 100644
index 0000000..985b66b
--- /dev/null
+++ b/web/Model/Model/GwOrderAudit.cs
@@ -0,0 +1,25 @@
+锘�
+using System;
+
+namespace Model
+{
+
+ //璁㈠崟瀹℃牳琛�
+ public class GwOrderAudit
+ {
+ public string AuditId { get; set; }
+
+ public string OrderId { get; set; }
+
+ public int AuditSort { get; set; }
+ //1-瀹℃牳閫氳繃锛�2-瀹℃牳涓嶉�氳繃锛�3-鍙栨秷
+ public int AuditStatus { get; set; }
+
+ public string Auditor { get; set; }
+
+ //0-鍏呭�硷紱99-鍏朵粬
+ public string AuditReason { get; set; }
+
+ public DateTime AuditTime { get; set; }
+ }
+}
diff --git a/web/Model/Model/SysFlow.cs b/web/Model/Model/SysFlow.cs
new file mode 100644
index 0000000..5a6748e
--- /dev/null
+++ b/web/Model/Model/SysFlow.cs
@@ -0,0 +1,21 @@
+锘�
+using System;
+
+namespace Model
+{
+
+ //娴佺▼瀹氫箟琛�
+ public class SysFlow
+ {
+ public string Id { get; set; }
+
+ public string FlowCode { get; set; }
+
+ public string FlowName { get; set; }
+
+ public string FlowGroup { get; set; }
+
+ //0-绂佺敤锛�1-鍚敤
+ public int Status { get; set; }
+ }
+}
diff --git a/web/Model/Model/SysFlowNode.cs b/web/Model/Model/SysFlowNode.cs
new file mode 100644
index 0000000..e3a65d3
--- /dev/null
+++ b/web/Model/Model/SysFlowNode.cs
@@ -0,0 +1,25 @@
+锘�
+using System;
+
+namespace Model
+{
+
+ //娴佺▼鑺傜偣瀹氫箟
+ public class SysFlowNode
+ {
+ public string Id { get; set; }
+
+ public string FlowNodeCode { get; set; }
+
+ public string FlowNodeName { get; set; }
+
+ public string RoleId { get; set; }
+
+ public string UserId { get; set; }
+
+ //0-鍏呭�硷紱99-鍏朵粬
+ public int BusinessType { get; set; }
+
+ public string Remark { get; set; }
+ }
+}
diff --git a/web/Model/bin/Release/Model.dll b/web/Model/bin/Release/Model.dll
index 2982995..5e1399a 100644
--- a/web/Model/bin/Release/Model.dll
+++ b/web/Model/bin/Release/Model.dll
Binary files differ
diff --git a/web/Model/bin/Release/Model.pdb b/web/Model/bin/Release/Model.pdb
index 9987a01..2d4dfc1 100644
--- a/web/Model/bin/Release/Model.pdb
+++ b/web/Model/bin/Release/Model.pdb
Binary files differ
diff --git a/web/Model/obj/Debug/Model.csproj.AssemblyReference.cache b/web/Model/obj/Debug/Model.csproj.AssemblyReference.cache
index a927aa2..4cee163 100644
--- a/web/Model/obj/Debug/Model.csproj.AssemblyReference.cache
+++ b/web/Model/obj/Debug/Model.csproj.AssemblyReference.cache
Binary files differ
diff --git a/web/Model/obj/Debug/Model.csproj.CopyComplete b/web/Model/obj/Debug/Model.csproj.CopyComplete
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/web/Model/obj/Debug/Model.csproj.CopyComplete
diff --git a/web/Model/obj/Release/Model.csproj.AssemblyReference.cache b/web/Model/obj/Release/Model.csproj.AssemblyReference.cache
index eb259f3..2816e2a 100644
--- a/web/Model/obj/Release/Model.csproj.AssemblyReference.cache
+++ b/web/Model/obj/Release/Model.csproj.AssemblyReference.cache
Binary files differ
diff --git a/web/Model/obj/Release/Model.csproj.CoreCompileInputs.cache b/web/Model/obj/Release/Model.csproj.CoreCompileInputs.cache
index db7c352..57e5d3c 100644
--- a/web/Model/obj/Release/Model.csproj.CoreCompileInputs.cache
+++ b/web/Model/obj/Release/Model.csproj.CoreCompileInputs.cache
@@ -1,9 +1 @@
-<<<<<<< HEAD
-<<<<<<< Updated upstream
-c4762145da2a34560c5dc93e2958bfb07137e5f2
-=======
-4680df9d251d534abbe2f1eb51d69736b996d0d8
->>>>>>> Stashed changes
-=======
-c4762145da2a34560c5dc93e2958bfb07137e5f2
->>>>>>> 751731362e5fcf901065c25eaed0319cf7a27cc1
+12e65c17b8944c912c6483c66ed2578caa57f1d2
diff --git a/web/Model/obj/Release/Model.csproj.FileListAbsolute.txt b/web/Model/obj/Release/Model.csproj.FileListAbsolute.txt
index baa5c80..701dd21 100644
--- a/web/Model/obj/Release/Model.csproj.FileListAbsolute.txt
+++ b/web/Model/obj/Release/Model.csproj.FileListAbsolute.txt
@@ -63,3 +63,16 @@
C:\Users\mac\Desktop\Work-Archives\SMGW\SMGW_NewWeb\web\Model\obj\Release\Model.pdb
=======
>>>>>>> Stashed changes
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Model\bin\Release\Model.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Model\bin\Release\Model.pdb
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Model\bin\Release\Common.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Model\bin\Release\Newtonsoft.Json.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Model\bin\Release\UMCLib.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Model\bin\Release\log4net.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Model\bin\Release\Oracle.DataAccess.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Model\bin\Release\Common.pdb
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Model\obj\Release\Model.csproj.AssemblyReference.cache
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Model\obj\Release\Model.csproj.CoreCompileInputs.cache
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Model\obj\Release\Model.csproj.CopyComplete
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Model\obj\Release\Model.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Model\obj\Release\Model.pdb
diff --git a/web/Model/obj/Release/Model.dll b/web/Model/obj/Release/Model.dll
index 2982995..5e1399a 100644
--- a/web/Model/obj/Release/Model.dll
+++ b/web/Model/obj/Release/Model.dll
Binary files differ
diff --git a/web/Model/obj/Release/Model.pdb b/web/Model/obj/Release/Model.pdb
index 9987a01..2d4dfc1 100644
--- a/web/Model/obj/Release/Model.pdb
+++ b/web/Model/obj/Release/Model.pdb
Binary files differ
diff --git a/web/UMCLib/bin/Release/UMCLib.dll b/web/UMCLib/bin/Release/UMCLib.dll
index c4dccfe..67a8f18 100644
--- a/web/UMCLib/bin/Release/UMCLib.dll
+++ b/web/UMCLib/bin/Release/UMCLib.dll
Binary files differ
diff --git a/web/UMCLib/bin/Release/UMCLib.pdb b/web/UMCLib/bin/Release/UMCLib.pdb
index 015c9a8..fdd37a0 100644
--- a/web/UMCLib/bin/Release/UMCLib.pdb
+++ b/web/UMCLib/bin/Release/UMCLib.pdb
Binary files differ
diff --git a/web/UMCLib/obj/Release/UMCLib.csproj.AssemblyReference.cache b/web/UMCLib/obj/Release/UMCLib.csproj.AssemblyReference.cache
index 841426a..9b73383 100644
--- a/web/UMCLib/obj/Release/UMCLib.csproj.AssemblyReference.cache
+++ b/web/UMCLib/obj/Release/UMCLib.csproj.AssemblyReference.cache
Binary files differ
diff --git a/web/UMCLib/obj/Release/UMCLib.csproj.CoreCompileInputs.cache b/web/UMCLib/obj/Release/UMCLib.csproj.CoreCompileInputs.cache
index ed11994..7f17e93 100644
--- a/web/UMCLib/obj/Release/UMCLib.csproj.CoreCompileInputs.cache
+++ b/web/UMCLib/obj/Release/UMCLib.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-fa96c443ff4c3eda7263ab6de8b0bbba4c306077
+6ff39fd28dd87b6cc010ab534c82ef3efebde7dc
diff --git a/web/UMCLib/obj/Release/UMCLib.csproj.FileListAbsolute.txt b/web/UMCLib/obj/Release/UMCLib.csproj.FileListAbsolute.txt
index ef8d5a0..9d69a19 100644
--- a/web/UMCLib/obj/Release/UMCLib.csproj.FileListAbsolute.txt
+++ b/web/UMCLib/obj/Release/UMCLib.csproj.FileListAbsolute.txt
@@ -33,3 +33,11 @@
C:\Users\mac\Desktop\Work-Archives\SMGW\SMGW_NewWeb\web\UMCLib\obj\Release\UMCLib.pdb
=======
>>>>>>> Stashed changes
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\UMCLib\bin\Release\UMCLib.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\UMCLib\bin\Release\UMCLib.pdb
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\UMCLib\bin\Release\Newtonsoft.Json.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\UMCLib\obj\Release\UMCLib.csproj.AssemblyReference.cache
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\UMCLib\obj\Release\UMCLib.csproj.CoreCompileInputs.cache
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\UMCLib\obj\Release\UMCLib.csproj.CopyComplete
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\UMCLib\obj\Release\UMCLib.dll
+C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\UMCLib\obj\Release\UMCLib.pdb
diff --git a/web/UMCLib/obj/Release/UMCLib.dll b/web/UMCLib/obj/Release/UMCLib.dll
index c4dccfe..67a8f18 100644
--- a/web/UMCLib/obj/Release/UMCLib.dll
+++ b/web/UMCLib/obj/Release/UMCLib.dll
Binary files differ
diff --git a/web/UMCLib/obj/Release/UMCLib.pdb b/web/UMCLib/obj/Release/UMCLib.pdb
index 015c9a8..fdd37a0 100644
--- a/web/UMCLib/obj/Release/UMCLib.pdb
+++ b/web/UMCLib/obj/Release/UMCLib.pdb
Binary files differ
diff --git a/web/web/Bin/Dao.dll b/web/web/Bin/Dao.dll
index cd10034..408ec61 100644
--- a/web/web/Bin/Dao.dll
+++ b/web/web/Bin/Dao.dll
Binary files differ
diff --git a/web/web/Bin/Dao.pdb b/web/web/Bin/Dao.pdb
index 0727b98..6ccb779 100644
--- a/web/web/Bin/Dao.pdb
+++ b/web/web/Bin/Dao.pdb
Binary files differ
diff --git a/web/web/GwOrder.ashx b/web/web/GwOrder.ashx
new file mode 100644
index 0000000..7e9019d
--- /dev/null
+++ b/web/web/GwOrder.ashx
@@ -0,0 +1,706 @@
+锘�<%@ WebHandler Language="C#" Class="GwOrderHandler" %>
+using Dao;
+using Model;
+using System;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+
+public class GwOrderHandler : PageHandler<SysUser>
+{
+ private GwOrderDao _Dao = new GwOrderDao();
+ private GwSpDao _GwSpDao = new GwSpDao();
+ private GwOpGroupDao _GwOpGroupDao = new GwOpGroupDao();
+ private GwProductDao _GwProductDao = new GwProductDao();
+ private SysXhDao _SysXhDao = new SysXhDao();
+ private SysFlowDao _SysFlowDao = new SysFlowDao();
+ private SysFlowNodeDao _SysFlowNodeDao = new SysFlowNodeDao();
+
+ private SysFlowDao _SysFlowDaoDao = new SysFlowDao(); //娴佺▼瀹氫箟
+ private GwOrderAuditDao _GwOrderAuditDao = new GwOrderAuditDao(); //璁㈠崟瀹℃牳
+
+ private List<GwOp> _OpList;
+ private List<GwOpGroup> _GroupList;
+ private List<GwProduct> _ProductList; //浜у搧鍙婁骇鍝佸垎绫�
+ //private List<GwProduct> _ProductClassList; //浜у搧鍒嗙被
+
+ public override JsonPageResult ProcessRequestInternal(PageContext<SysUser> context)
+ {
+ string @string = context.GetString("action");
+ switch (@string)
+ {
+ case "delete":
+ return this.Delete(context); //鍒犻櫎
+ case "update":
+ return this.Update(context); //淇敼
+ case "add":
+ return this.Add(context); //娣诲姞
+ case "listComplete":
+ return this.ListComplete(context); //鏌ヨ宸插畬鎴愯鍗曪紙瀹℃牳閫氳繃銆佸鏍镐笉閫氳繃銆佸彇娑堬級
+ case "listAudit":
+ return this.ListAudit(context); //鏌ヨ寰呭鏍歌鍗曪紙寰呭鏍搞�佸鏍镐腑锛�
+ case "gwOrderList":
+ return this.GwOrderList(context); //璁㈠崟鍒楄〃
+ case "get":
+ return this.Get(context); //鑾峰彇璁板綍淇℃伅
+ case "cancel":
+ return this.Cancel(context); //鍙栨秷
+ case "audit":
+ return this.Audit(context); //璁㈠崟瀹℃牳
+
+ default:
+ throw new Exception("Invalid Action=" + @string);
+ }
+ }
+
+ //鍔犺浇宸插畬鎴愯鍗曪紙瀹℃牳閫氳繃銆佸鏍镐笉閫氳繃銆佸彇娑堬級
+ private JsonPageResult ListComplete(PageContext<SysUser> context)
+ {
+ //Console.WriteLine("List.............[" + context.GetInt("name") + "][" + context.GetInt("classes") + "]");
+ string spId = context.GetString("spId");
+ string clientId = context.GetString("clientId");
+ string clientName = context.GetString("clientName");
+ int flag = context.GetInt("flag");
+ DateTime startDate = context.GetDateTime("startDate");
+ DateTime endDate = context.GetDateTime("endDate");
+
+ int recordCount = 0;
+ int pageSize = context.GetInt("pageSize", 50);
+ int pageIndex = context.GetInt("pageIndex", 1);
+
+ List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, startDate, endDate, pageSize, pageIndex, out recordCount);
+
+ string str1 = "";
+ if (list != null && list.Count > 0)
+ {
+
+ int num = 0;
+ foreach (GwOrder bean in list)
+ {
+ ++num;
+
+ str1 += "<tr><td>" + bean.OrderId + "</td>";
+ str1 = str1 + "<td>" + bean.SpId + "</td>";
+ str1 = str1 + "<td>" + bean.ClientId + "-" + bean.ClientName + "</td>";
+ str1 = str1 + "<td>" + ProductToName(bean.ProductId) + "</td>";
+ //str1 = str1 + "<td>" + bean.ComboId + "</td>";
+ str1 = str1 + "<td>" + bean.BasicNum + "</td>";
+ str1 = str1 + "<td>" + bean.GivingNum + "</td>";
+ str1 = str1 + string.Format("<td>{0}鍏�/鏉�</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
+ str1 = str1 + "<td>" + bean.OrderNumTotal + "</td>";
+ str1 = str1 + string.Format("<td>{0}鍏�</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));;
+ str1 = str1 + "<td>" + bean.BeforeBalanceNum + "</td>";
+ str1 = str1 + "<td>" + bean.Creator + "</td>";
+ str1 = str1 + "<td>" + bean.CreateTime + "</td>";
+ str1 = str1 + "<td>" + StatusToName(bean.Status) + "</td>";
+ //str1 = str1 + "<td>" + bean.Remark + "</td>";
+
+ str1 += "<td class=\"text-right\">";
+ str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-detail btn btn-success btn-xs\"><i class=\"fa fa-search\"></i> 鏌ョ湅</a> ", (object) bean.OrderId);
+ str1 += "</td>";
+ str1 += "</tr>";
+ }
+ }
+ else
+ str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
+
+ return new JsonPageResult(true, new
+ {
+ Table = str1.ToString(),
+ TotalCount = recordCount
+ });
+ }
+
+ //鍔犺浇寰呭鏍歌鍗曪紙寰呭鏍搞�佸鏍镐腑锛�
+ private JsonPageResult ListAudit(PageContext<SysUser> context)
+ {
+ string spId = context.GetString("spId");
+ string clientId = context.GetString("clientId");
+ string clientName = context.GetString("clientName");
+ int flag = context.GetInt("flag");
+ DateTime startDate = context.GetDateTime("startDate");
+ DateTime endDate = context.GetDateTime("endDate");
+
+ int recordCount = 0;
+ int pageSize = context.GetInt("pageSize", 50);
+ int pageIndex = context.GetInt("pageIndex", 1);
+
+ List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, startDate, endDate, pageSize, pageIndex, out recordCount);
+
+ string str1 = "";
+ if (list != null && list.Count > 0)
+ {
+
+ int num = 0;
+ foreach (GwOrder bean in list)
+ {
+ ++num;
+
+ str1 += "<tr><td>" + bean.OrderId + "</td>";
+ str1 = str1 + "<td>" + bean.SpId + "</td>";
+ str1 = str1 + "<td>" + bean.ClientId + "-" + bean.ClientName + "</td>";
+ str1 = str1 + "<td>" + ProductToName(bean.ProductId) + "</td>";
+ //str1 = str1 + "<td>" + bean.ComboId + "</td>";
+ str1 = str1 + "<td>" + bean.BasicNum + "</td>";
+ str1 = str1 + "<td>" + bean.GivingNum + "</td>";
+ str1 = str1 + string.Format("<td>{0}鍏�/鏉�</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
+ str1 = str1 + "<td>" + bean.OrderNumTotal + "</td>";
+ str1 = str1 + string.Format("<td>{0}鍏�</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));;
+ str1 = str1 + "<td>" + bean.BeforeBalanceNum + "</td>";
+ str1 = str1 + "<td>" + bean.Creator + "</td>";
+ str1 = str1 + "<td>" + bean.CreateTime + "</td>";
+ str1 = str1 + "<td>" + StatusToName(bean.Status) + "</td>";
+ //str1 = str1 + "<td>" + bean.Remark + "</td>";
+
+ str1 += "<td class=\"text-right\">";
+ str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-detail btn btn-success btn-xs\"><i class=\"fa fa-search\"></i> 鏌ョ湅</a> ", (object) bean.OrderId);
+ str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-audit btn btn-success btn-xs\"><i class=\"fa fa-search\"></i> 瀹℃牳</a> ", (object) bean.OrderId);
+ if(bean.Status == 0) {
+ str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-cancel btn btn-success btn-xs\"><i class=\"fa fa-search\"></i> 鍙栨秷</a> ", (object) bean.OrderId);
+ }
+ str1 += "</td>";
+ str1 += "</tr>";
+ }
+ }
+ else
+ str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
+
+ return new JsonPageResult(true, new
+ {
+ Table = str1.ToString(),
+ TotalCount = recordCount
+ });
+ }
+
+ private JsonPageResult GwOrderList(PageContext<SysUser> context)
+ {
+ /**
+ string string1 = context.GetString("SpID");
+ string string2 = context.GetString("ClientID");
+ string string3 = context.GetString("ClientName");
+ string str1 = context.GetString("sDate");
+ string str2 = context.GetString("EndTime");
+ if (string.IsNullOrEmpty(str1))
+ str1 = DateTime.Now.AddDays(-1.0).ToString("yyyy-MM-dd");
+ if (string.IsNullOrEmpty(str2))
+ str2 = DateTime.Now.ToString("yyyy-MM-dd");
+ **/
+
+
+ string spId = context.GetString("spId");
+ string clientId = context.GetString("clientId");
+ string clientName = context.GetString("clientName");
+ int flag = context.GetInt("flag");
+ DateTime startDate = context.GetDateTime("startDate");
+ DateTime endDate = context.GetDateTime("endDate");
+
+ int recordCount = 0;
+ int pageSize = context.GetInt("pageSize", 50);
+ int pageIndex = context.GetInt("pageIndex", 1);
+
+ List<GwOrder> list = _Dao.LoadInfoList(spId, clientId, clientName, flag, startDate, endDate, pageSize, pageIndex, out recordCount);
+
+ string str1 = "";
+ if (list != null && list.Count > 0)
+ {
+
+ int num = 0;
+ foreach (GwOrder bean in list)
+ {
+ ++num;
+
+ str1 += "<tr><td>" + bean.OrderId + "</td>";
+ str1 = str1 + "<td>" + bean.SpId + "</td>";
+ str1 = str1 + "<td>" + bean.ClientId + "-" + bean.ClientName + "</td>";
+ str1 = str1 + "<td>" + ProductToName(bean.ProductId) + "</td>";
+ //str1 = str1 + "<td>" + bean.ComboId + "</td>";
+ str1 = str1 + "<td>" + bean.BasicNum + "</td>";
+ str1 = str1 + "<td>" + bean.GivingNum + "</td>";
+ str1 = str1 + string.Format("<td>{0}鍏�/鏉�</td>", (object)(Convert.ToDecimal(bean.Price) / new Decimal(1000)));
+ str1 = str1 + "<td>" + bean.OrderNumTotal + "</td>";
+ str1 = str1 + string.Format("<td>{0}鍏�</td>", (object)(Convert.ToDecimal(bean.OrderAmountTotal) / new Decimal(1000)));;
+ str1 = str1 + "<td>" + bean.BeforeBalanceNum + "</td>";
+ str1 = str1 + "<td>" + bean.Creator + "</td>";
+ str1 = str1 + "<td>" + bean.CreateTime + "</td>";
+ str1 = str1 + "<td>" + StatusToName(bean.Status) + "</td>";
+ //str1 = str1 + "<td>" + bean.Remark + "</td>";
+
+ str1 += "<td class=\"text-right\">";
+ str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-detail btn btn-success btn-xs\"><i class=\"fa fa-search\"></i> 鏌ョ湅</a> ", (object) bean.OrderId);
+ //str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-audit btn btn-success btn-xs\"><i class=\"fa fa-search\"></i> 瀹℃牳</a> ", (object) bean.OrderId);
+ //if(bean.Status == 0) {
+ // str1 += string.Format("<a href=\"javascript:;\" data-orderid=\"{0}\" class=\"action-modal-cancel btn btn-success btn-xs\"><i class=\"fa fa-search\"></i> 鍙栨秷</a> ", (object) bean.OrderId);
+ //}
+ str1 += "</td>";
+ str1 += "</tr>";
+ }
+ }
+ else
+ str1 += "<tr><td colspan=\"14\" style=\"padding-left:5px; text-align: center;\">鏆傛棤淇℃伅</td></tr>";
+
+ return new JsonPageResult(true, new
+ {
+ Table = str1.ToString(),
+ TotalCount = recordCount
+ });
+ }
+
+
+ //鍒犻櫎淇℃伅
+ private JsonPageResult Delete(PageContext<SysUser> context)
+ {
+ string orderId = context.GetString("orderId");
+
+ GwOrder gwOrder = this._Dao.Get(orderId);
+ if (gwOrder.Status !=0)
+ throw new ArgumentException("璇ヨ鍗曞凡澶勭悊,鏃犳硶鍒犻櫎锛�");
+ this._Dao.Delete(orderId);
+ return new JsonPageResult(true, "鍒犻櫎淇℃伅鎴愬姛锛�");
+
+ }
+
+
+ //鍙栨秷淇℃伅
+ private JsonPageResult Cancel(PageContext<SysUser> context)
+ {
+ string orderId = context.GetString("orderId");
+ int status = context.GetInt("status");
+
+
+ GwOrder gwOrder = this._Dao.Get(orderId);
+ if (gwOrder==null)
+ throw new ArgumentException("璇ヨ鍗曡褰曚笉瀛樺湪锛�");
+ if (gwOrder.Status !=0)
+ throw new ArgumentException("璇ヨ鍗曞凡澶勭悊,鏃犳硶鍙栨秷锛�");
+
+ //status:0-寰呭鏍革紙宸叉彁浜わ級锛�1-瀹℃牳涓紱2-瀹℃牳閫氳繃锛�3-瀹℃牳涓嶉�氳繃锛�4-鍙栨秷锛�
+ this._Dao.UpdateStatus(status, orderId);
+ return new JsonPageResult(true, "鍙栨秷淇℃伅鎴愬姛锛�");
+
+ }
+
+
+ //璁㈠崟瀹℃牳
+ private JsonPageResult Audit(PageContext<SysUser> context)
+ {
+ string orderId = context.GetString("orderId");
+ int status = context.GetInt("status"); //0-瀹℃牳涓嶉�氳繃锛�1-瀹℃牳閫氳繃
+ string auditReason = context.GetString("auditReason");
+
+ string beforeFlowCode = null; //涔嬪墠鐨勬祦绋嬬紪鐮�
+ string currentFlowCode = null; //褰撳墠鐨勬祦绋嬬紪鐮�
+ string nextFlowCode = null; //涓嬩竴涓祦绋嬬紪鐮�
+
+
+ GwOrder gwOrder = this._Dao.Get(orderId);
+ if (gwOrder==null)
+ throw new ArgumentException("璇ヨ鍗曡褰曚笉瀛樺湪锛�");
+ if (gwOrder.Status !=0 && gwOrder.Status !=1)
+ throw new ArgumentException("璇ヨ鍗曞凡澶勭悊,鎿嶄綔澶辫触锛�");
+
+ GwOrderAudit gworderAudit = new GwOrderAudit();
+ gworderAudit.AuditStatus = 1;
+ gworderAudit.OrderId = orderId;
+ List<GwOrderAudit> gworderAuditList = _GwOrderAuditDao.List(gworderAudit);
+ if(gworderAuditList==null || gworderAuditList.Count<=0 )
+ {
+
+ }
+
+ //鍒ゆ柇璁㈠崟瀹℃牳娴佺▼鏄惁閮藉鏍搁�氳繃涓旀槸鏈�鍚庡鏍哥幆鑺傘��
+
+ //鏄渶鍚庡鏍哥幆鑺傛椂锛屾洿鏂板鎴疯处鍙蜂綑棰濇潯鏁般��
+
+ //涓嶆槸鏈�鍚庡鏍哥幆鑺傛椂锛岀珯鍐呴�氱煡
+
+ //status:0-寰呭鏍革紙宸叉彁浜わ級锛�1-瀹℃牳涓紱2-瀹℃牳閫氳繃锛�3-瀹℃牳涓嶉�氳繃锛�4-鍙栨秷锛�
+ this._Dao.UpdateStatus(status, orderId);
+ return new JsonPageResult(true, "瀹℃牳鎿嶄綔鎴愬姛锛�");
+
+ }
+
+ //娣诲姞淇℃伅
+ private JsonPageResult Add(PageContext<SysUser> context)
+ {
+
+ string spId = context.GetString("spId");
+ string clientId = context.GetString("clientId");
+ string productId = context.GetString("productId");
+ //string comboId = context.GetString("comboId");
+ int basicNum = context.GetInt("basicNum", 0);
+ int givingNum = context.GetInt("givingNum", 0);
+ int price = 0;
+
+ int orderNumTotal = context.GetInt("orderNumTotal", 0);
+ int orderAmountTotal = context.GetInt("orderAmountTotal", 0);
+ int beforeBalanceNum = context.GetInt("beforeBalanceNum", 0);
+ //瀹㈡湇浜哄憳鎻愪氦璁㈠崟鏃剁殑鐘舵�佷负1-瀹℃牳涓��
+ int status = 1; //0-寰呭鏍革紙宸叉彁浜わ級锛�1-瀹℃牳涓紱2-瀹℃牳閫氳繃锛�3-瀹℃牳涓嶉�氳繃锛�4-鍙栨秷锛涚敵璇疯鍗曞湪鏈鏍告儏鍐典笅鍙互鍙栨秷銆�
+ string remark = context.GetString("remark");
+ DateTime createTime = DateTime.Now;
+ string creator = context.OperatorID;
+
+ int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 1);
+ price = num;
+
+ //鏍¢獙
+ if (!string.IsNullOrEmpty(context.GetString("price")) && !Regex.IsMatch(context.GetString("price"), "^[0-9]*$") && price<=0 )
+ throw new Exception("鍙傝�冨崟浠蜂笉鑳藉皬浜庣瓑浜�0");
+ if (!string.IsNullOrEmpty(context.GetString("basicNum")) && !Regex.IsMatch(context.GetString("basicNum"), "^[0-9]*$"))
+ throw new Exception("鍩烘湰鏉℃暟蹇呴』涓烘暣鏁�");
+ if (!string.IsNullOrEmpty(context.GetString("givingNum")) && !Regex.IsMatch(context.GetString("givingNum"), "^[0-9]*$"))
+ throw new Exception("璧犻�佹潯鏁板繀椤讳负鏁存暟");
+
+ if (string.IsNullOrEmpty(clientId))
+ {
+ throw new ArgumentException("瀹㈡埛涓嶈兘涓虹┖锛�");
+ }
+ if (string.IsNullOrEmpty(spId))
+ {
+ throw new ArgumentException("璐﹀彿涓嶈兘涓虹┖锛�");
+ }
+
+ if (basicNum<=0 && givingNum <= 0)
+ {
+ throw new ArgumentException("鍩烘湰鏉℃暟鎴栬禒閫佹潯鏁板繀椤诲ぇ浜庨浂锛�");
+ }
+
+ //鑾峰彇璁㈠崟瀹℃牳娴佺▼
+ string flowGroup = null;
+ string[] flowGroupS = null;
+ string[] flowCodeS = null;
+ string flowCode = null;
+ int sort = 0;
+ string flowNodeCode = null;
+ SysFlow SysFlow = new SysFlow();
+ SysFlow.FlowCode = "F_DDSH"; //璁㈠崟娴佺▼
+ SysFlow.Status = 1; //鐘舵�侊細0-绂佺敤锛�1-鍚敤
+
+ SysFlow sysFlow = _SysFlowDao.Get(SysFlow);
+ if (sysFlow == null)
+ {
+ throw new ArgumentException("璁㈠崟瀹℃牳娴佺▼涓嶅瓨鍦紒");
+ }
+
+ flowGroup = sysFlow.FlowGroup;
+ //娴佺▼缁勫悎涓虹┖鏃�
+ if (string.IsNullOrEmpty(flowGroup))
+ {
+ status = 2; //0-寰呭鏍革紙宸叉彁浜わ級锛�1-瀹℃牳涓紱2-瀹℃牳閫氳繃锛�3-瀹℃牳涓嶉�氳繃锛�4-鍙栨秷锛�
+ }
+ else
+ {
+ status = 1; //0-寰呭鏍革紙宸叉彁浜わ級锛�1-瀹℃牳涓紱2-瀹℃牳閫氳繃锛�3-瀹℃牳涓嶉�氳繃锛�4-鍙栨秷锛�
+
+ flowGroupS = flowGroup.Split('|');
+ if(flowGroupS.Length >0)
+ {
+ flowCode = flowGroupS[0];
+ if (!string.IsNullOrEmpty(flowCode))
+ {
+ flowCodeS = flowCode.Split('#');
+ }
+ }
+
+ if(flowCodeS!=null && flowCodeS.Length == 2)
+ {
+ sort = int.Parse(flowCodeS[0]); //搴忓彿
+ flowNodeCode = flowCodeS[1]; //搴忓彿
+ }
+ else
+ {
+ throw new ArgumentException("娴佺▼缁勫悎鏍煎紡閿欒锛�");
+ }
+ }
+
+ //鑾峰彇鐢ㄦ埛鏉冮檺
+ SysFlowNode sysFlowNode = new SysFlowNode();
+ sysFlowNode.BusinessType = 1; //涓氬姟绫诲瀷:1-鍏呭�硷紱99-鍏朵粬
+ sysFlowNode.FlowNodeCode = flowNodeCode;
+ sysFlowNode.UserId = creator;
+
+ List<SysFlowNode> sysFlowNodeList = _SysFlowNodeDao.IsAuth(sysFlowNode);
+ if(sysFlowNodeList==null || sysFlowNodeList.Count <=0 )
+ {
+ throw new ArgumentException("鐢ㄦ埛娌℃湁鍏呭�兼潈闄愶紝璇疯仈绯荤鐞嗗憳锛�");
+ }
+
+
+ //鑾峰彇璁㈠崟淇℃伅
+ GwSp gwSp = _GwSpDao.Get(spId);
+ if (gwSp == null)
+ {
+ throw new ArgumentException("璐﹀彿涓嶅瓨鍦紒");
+ }
+ else if (gwSp.Status==0)
+ {
+ throw new ArgumentException("璐﹀彿宸茬鐢紒");
+ }
+
+ productId = gwSp.ProductId;
+ price = gwSp.Price;
+
+ orderNumTotal = basicNum + givingNum;
+ orderAmountTotal = basicNum * price;
+
+
+ string orderId = _SysXhDao.getXh("GW_ORDER"); //鑾峰彇鐢熸垚璁㈠崟ID
+ this._Dao.Add(new GwOrder()
+ {
+ OrderId = orderId,
+ SpId = spId,
+ ClientId = clientId,
+ ProductId = productId,
+ //ComboId = comboId,
+ BasicNum = basicNum,
+ GivingNum = givingNum,
+ Price = price, //鍗曚环鎹㈢畻
+ OrderNumTotal = orderNumTotal,
+ OrderAmountTotal = orderAmountTotal,
+ BeforeBalanceNum = beforeBalanceNum,
+ Status = status,
+ Remark = remark,
+ CreateTime = createTime,
+ Creator = creator
+
+ });
+
+
+ string auditId = _SysXhDao.getXh("GW_ORDER_AUDIT"); //鑾峰彇鐢熸垚璁㈠崟瀹℃牳ID
+ this._GwOrderAuditDao.Add(new GwOrderAudit()
+ {
+ AuditId = auditId,
+ OrderId = orderId,
+ AuditSort = sort,
+ AuditStatus = status,
+ Auditor = creator,
+ //AuditReason = null,
+ AuditTime = createTime
+
+ });
+
+
+ return new JsonPageResult(true, "鐢熸垚璁㈠崟淇℃伅鎴愬姛锛�");
+ }
+
+ //鏇存柊淇℃伅
+ private JsonPageResult Update(PageContext<SysUser> context)
+ {
+ string orderId = context.GetString("orderId");
+ string spId = context.GetString("spId");
+ string clientId = context.GetString("clientId");
+ string productId = context.GetString("productId");
+ string comboId = context.GetString("clientId");
+ int basicNum = context.GetInt("basicNum", 0);
+ int givingNum = context.GetInt("givingNum", 0);
+ int price = 0;
+
+ int orderNumTotal = context.GetInt("orderNumTotal", 0);
+ int orderAmountTotal = context.GetInt("orderAmountTotal", 0);
+ int beforeBalanceNum = context.GetInt("beforeBalanceNum", 0);
+ int status = 0;
+ string remark = context.GetString("remark");
+ DateTime createTime = DateTime.Now;
+ string creator = context.OperatorID;
+
+ int num = Math.Max((int) (context.GetDecimal("price", new Decimal(4, 0, 0, false, (byte) 2)) * new Decimal(1000)), 1);
+ price = num;
+
+ //鏍¢獙
+ if (!string.IsNullOrEmpty(context.GetString("price")) && !Regex.IsMatch(context.GetString("price"), "^[0-9]*$") && price<=0 )
+ throw new Exception("鍙傝�冨崟浠蜂笉鑳藉皬浜庣瓑浜�0");
+ if (!string.IsNullOrEmpty(context.GetString("basicNum")) && !Regex.IsMatch(context.GetString("basicNum"), "^[0-9]*$"))
+ throw new Exception("鍩烘湰鏉℃暟蹇呴』涓烘暣鏁�");
+ if (!string.IsNullOrEmpty(context.GetString("givingNum")) && !Regex.IsMatch(context.GetString("givingNum"), "^[0-9]*$"))
+ throw new Exception("璧犻�佹潯鏁板繀椤讳负鏁存暟");
+
+ if (string.IsNullOrEmpty(clientId))
+ {
+ throw new ArgumentException("瀹㈡埛涓嶈兘涓虹┖锛�");
+ }
+ if (string.IsNullOrEmpty(spId))
+ {
+ throw new ArgumentException("璐﹀彿涓嶈兘涓虹┖锛�");
+ }
+
+ if (basicNum<=0 && givingNum <= 0)
+ {
+ throw new ArgumentException("鍩烘湰鏉℃暟鎴栬禒閫佹潯鏁板繀椤诲ぇ浜庨浂锛�");
+ }
+
+ this._Dao.Update(new GwOrder()
+ {
+ OrderId = orderId,
+ SpId = spId,
+ ClientId = clientId,
+ ProductId = productId,
+ ComboId = comboId,
+ BasicNum = basicNum,
+ GivingNum = givingNum,
+ Price = price, //鍗曚环鎹㈢畻
+ OrderNumTotal = orderNumTotal,
+ OrderAmountTotal = orderAmountTotal,
+ BeforeBalanceNum = beforeBalanceNum,
+ Status = status,
+ Remark = remark,
+ CreateTime = createTime,
+ Creator = creator
+
+ });
+
+ return new JsonPageResult(true, "淇℃伅鏇存柊鎴愬姛锛�");
+ }
+
+ //鏍规嵁涓婚敭鑾峰彇浜у搧鎴栦骇鍝佸垎绫讳俊鎭�
+ private JsonPageResult Get(PageContext<SysUser> context)
+ {
+ return new JsonPageResult(true, this._Dao.Get(context.GetString("orderId")));
+ }
+
+ //鑾峰彇閫氶亾鍒楄〃
+ private List<GwOp> OpList
+ {
+ get
+ {
+ if (this._OpList == null)
+ {
+ using (GwOpDao gwOpDao = new GwOpDao())
+ this._OpList = gwOpDao.LoadInfoList();
+ }
+ return this._OpList;
+ }
+ }
+
+ //鑾峰彇閫氶亾缁勫垪琛�
+ private List<GwOpGroup> GroupList
+ {
+ get
+ {
+ if (this._GroupList == null)
+ {
+ using (GwOpGroupDao gwOpGroupDao = new GwOpGroupDao())
+ this._GroupList = gwOpGroupDao.GetGroupList();
+ }
+ return this._GroupList;
+ }
+ }
+
+ //閫氶亾ID杞崲鍚嶇О
+ private string GetOpName(int opID)
+ {
+ if (this.OpList == null)
+ return string.Empty;
+ GwOp gwOp = this.OpList.Find((Predicate<GwOp>)(op => op.OpID == opID));
+ if (gwOp != null)
+ return string.Format("{0}-{1}", (object)gwOp.OpID, (object)gwOp.OpName);
+ return string.Empty;
+ }
+
+ //浜у搧绫诲埆杞崲鍚嶇О
+ private string ClassesToName(int classes)
+ {
+ if (classes == -1)
+ return string.Empty;
+ else if(classes == 0)
+ return "0-浜у搧鍒嗙被";
+ else if(classes == 1)
+ return "1-浜у搧";
+
+ return string.Empty;
+ }
+
+ //浜у搧鏄惁榛樿杞崲鍚嶇О
+ private string IsDefaultToName(int isDefault)
+ {
+ if (isDefault == -1)
+ return string.Empty;
+ else if(isDefault == 0)
+ return "0-涓�у寲";
+ else if(isDefault == 1)
+ return "1-绯荤粺榛樿";
+
+ return string.Empty;
+ }
+
+ //鍚敤鍋滅敤杞崲鍚嶇О
+ private string IsEnableToName(int isEnable)
+ {
+ if (isEnable == -1)
+ return string.Empty;
+ else if(isEnable == 0)
+ return "0-鍋滅敤";
+ else if(isEnable == 1)
+ return "1-鍚敤";
+
+ return string.Empty;
+ }
+
+ //閫氶亾缁処D杞崲鍚嶇О
+ private string GetGroupName(int groupID)
+ {
+ if (this.GroupList == null)
+ return string.Empty;
+ GwOpGroup gwOpGroup = this.GroupList.Find((Predicate<GwOpGroup>)(group => group.GroupID == groupID));
+ if (gwOpGroup != null)
+ return string.Format("{0}-{1}", (object)gwOpGroup.GroupID, (object)gwOpGroup.GroupName);
+ return string.Empty;
+ }
+
+ //璁㈠崟鐘舵�佽浆鎹㈠悕绉�
+ private string StatusToName(int status)
+ {
+ if (status == -1)
+ return string.Empty;
+ else if(status == 0)
+ return "0-寰呭鏍革紙宸叉彁浜わ級";
+ else if(status == 1)
+ return "1-瀹℃牳涓�";
+ else if(status == 2)
+ return "2-瀹℃牳閫氳繃";
+ else if(status == 3)
+ return "3-瀹℃牳涓嶉�氳繃";
+ else if(status == 4)
+ return "4-鍙栨秷";
+
+ return string.Empty;
+ }
+
+
+ //鍔犺浇浜у搧鍙婁骇鍝佸垎绫讳俊鎭�
+ private List<GwProduct> ProductAllList()
+ {
+ GwProduct bean = new GwProduct();
+ bean.Classes = -1;
+ bean.IsDefault = -1;
+ bean.IsEnable = -1;
+
+ List<GwProduct> list = _GwProductDao.getAllList(bean);
+
+ return list;
+ }
+
+ //鑾峰彇浜у搧鎴栦骇鍝佸垎绫诲垪琛�
+ private List<GwProduct> ProductList
+ {
+ get
+ {
+ if (this._ProductList == null)
+ {
+ this._ProductList = this.ProductAllList();
+ }
+ return this._ProductList;
+ }
+ }
+
+ //浜у搧鎴栦骇鍝佸垎绫籌D杞崲鍚嶇О
+ private string ProductToName(string productId)
+ {
+ if (this.ProductList == null)
+ return string.Empty;
+ GwProduct bean = this.ProductList.Find((Predicate<GwProduct>)(product => product.Id == productId));
+ if (bean != null)
+ //return string.Format("{0}-{1}", (object)bean.Id, (object)bean.Name);
+ return string.Format("{0}", (object)bean.Name);
+ return string.Empty;
+ }
+
+}
\ No newline at end of file
diff --git a/web/web/GwOrderAudit.aspx b/web/web/GwOrderAudit.aspx
new file mode 100644
index 0000000..3e759ca
--- /dev/null
+++ b/web/web/GwOrderAudit.aspx
@@ -0,0 +1,434 @@
+锘�<%@ Page Language="C#" masterpagefile="~/Main.master" AutoEventWireup="true" CodeFile="GwOrderAudit.aspx.cs" Inherits="_GwOrderAudit" %>
+<%-- 寰呭鏍歌鍗� --%>
+<asp:Content runat="server" ID="Content1" ContentPlaceHolderID="head">
+ <script type="text/javascript" language="javascript">
+ $(document).ready(function() {
+ var pagination = new Pagination();
+ pagination.setPageIndex(1);
+ pagination.setPageSize(50);
+
+ function loadPageList() {
+ var clientId = $("#ClientId").val();
+ var clientName = $("#ClientName").val();
+ var spId = $("#SpId").val();
+ var startDate = $("#StartTime").val();
+ var endDate = $("#EndTime").val();
+ $.ajax({
+ url: "GwOrder.ashx",
+ type: "POST",
+ data: { action: "listAudit", clientId: clientId, clientName: clientName, spId: spId, startDate: startDate, endDate: endDate, flag: 0, pageIndex: pagination.getPageIndex(), pageSize: pagination.getPageSize() },
+ success: function (result) {
+ if (result.OK) {
+ $("#orderTable tbody").html(result.Message.Table);
+ pagination.setRecordCount(result.Message.TotalCount);
+ $("#pagination").html(pagination.getHtml());
+ $("[data-toggle='popover']").popover();
+ } else {
+ mytek.alert(result.Message, result.OK);
+ }
+ }
+ });
+ }
+
+ $(".input-daterange").datepicker({ keyboardNavigation: !1, forceParse: !1, autoclose: !0 });
+
+ //鏌ョ湅鏄庣粏
+ $(document).on("click", ".action-modal-detail", function () {
+ var orderId = $(this).data("orderid");
+ $("#orderDialog .modal-title").text("璁㈠崟鏄庣粏");
+
+ $.get("gwOrder.ashx", { "action": "get", orderId: orderId }, function (r) {
+
+ //$("#orderDialog .modal-title").text("璁㈠崟鏄庣粏");
+ //$("#orderDialog #action").val("detail");
+ $("#orderDialog #orderId").val(r.Message.OrderId).attr("readonly", false);
+ $("#orderDialog #spId").val(r.Message.SpId).attr("readonly", false);
+ $("#orderDialog #clientId").val(r.Message.ClientId).attr("readonly", false);
+ $("#orderDialog #productId").val(r.Message.ProductId).attr("readonly", false);
+ //$("#orderDialog #comboId").val(r.Message.ComboId);
+ $("#orderDialog #basicNum").val(r.Message.BasicNum, 0);
+ $("#orderDialog #givingNum").val(r.Message.GivingNum, 0);
+ $("#orderDialog #price").val(r.Message.Price / 1000, 0.00);
+ $("#orderDialog #orderNumTotal").val(r.Message.OrderNumTotal, 0);
+ $("#orderDialog #orderAmountTotal").val(r.Message.OrderAmountTotal / 1000, 0);
+ $("#orderDialog #beforeBalanceNum").val(r.Message.BeforeBalanceNum, 0);
+ $("#orderDialog #creator").val(r.Message.Creator);
+ $("#orderDialog #createTime").val(r.Message.CreateTime);
+ //$("#orderDialog #auditor").valval(r.Message.Auditor);
+ //$("#orderDialog #auditTime").val(r.Message.AuditTime);
+ $("#orderDialog #status").val(r.Message.Status).attr("readonly", false);
+ $("#orderDialog #remark").val(r.Message.Remark).attr("readonly", false);
+
+
+ $("#orderDialog #auditPass").css("display", "none");
+ $("#orderDialog #auditNoPass").css("display", "none");
+
+ $("#orderDialog").modal("show");
+ }, "json");
+ });
+
+ //瀹℃牳
+ $(document).on("click", ".action-modal-audit", function () {
+ var orderId = $(this).data("orderid");
+ $("#orderDialog .modal-title").text("璁㈠崟瀹℃牳");
+
+ $.get("gwOrder.ashx", { "action": "get", orderId: orderId }, function (r) {
+
+ //$("#orderDialog .modal-title").text("璁㈠崟鏄庣粏");
+ //$("#orderDialog #action").val("detail");
+ $("#orderDialog #orderId").val(r.Message.OrderId).attr("readonly", false);
+ $("#orderDialog #spId").val(r.Message.SpId).attr("readonly", false);
+ $("#orderDialog #clientId").val(r.Message.ClientId).attr("readonly", false);
+ $("#orderDialog #productId").val(r.Message.ProductId).attr("readonly", false);
+ //$("#orderDialog #comboId").val(r.Message.ComboId);
+ $("#orderDialog #basicNum").val(r.Message.BasicNum, 0);
+ $("#orderDialog #givingNum").val(r.Message.GivingNum, 0);
+ $("#orderDialog #price").val(r.Message.Price / 1000, 0.00);
+ $("#orderDialog #orderNumTotal").val(r.Message.OrderNumTotal, 0);
+ $("#orderDialog #orderAmountTotal").val(r.Message.OrderAmountTotal / 1000, 0);
+ $("#orderDialog #beforeBalanceNum").val(r.Message.BeforeBalanceNum, 0);
+ $("#orderDialog #creator").val(r.Message.Creator);
+ $("#orderDialog #createTime").val(r.Message.CreateTime);
+ //$("#orderDialog #auditor").valval(r.Message.Auditor);
+ //$("#orderDialog #auditTime").val(r.Message.AuditTime);
+ $("#orderDialog #status").val(r.Message.Status);
+ $("#orderDialog #remark").val(r.Message.Remark);
+
+ $("#orderDialog #auditPass").css("display", "");
+ $("#orderDialog #auditNoPass").css("display", "");
+
+ $("#orderDialog").modal("show");
+ }, "json");
+ });
+
+ $(document).on("click", ".action-modal-delete", function() {
+ var orderId = $(this).data("orderid");
+ mytek.confirm("鏄惁闇�瑕佸垹闄よ淇℃伅锛�", "鏁版嵁鍒犻櫎鍚庡皢鏃犳硶鎭㈠锛岃璋ㄦ厧鎿嶄綔锛�", function(b) {
+ if (b) {
+ $.post("gwOrder.ashx", { "action": "delete", orderId: orderId }, function(result) {
+ mytek.alert(result.Message, result.OK, function() {
+ loadPageList();
+ });
+ },
+ "json");
+ }
+ });
+ });
+
+ $(document).on("click", ".action-modal-cancel", function () {
+ var orderId = $(this).data("orderid");
+ mytek.confirm("鏄惁纭畾鍙栨秷璇ヤ俊鎭紵", "鏁版嵁鍙栨秷鍚庡皢鏃犳硶鎭㈠锛岃璋ㄦ厧鎿嶄綔锛�", function (b) {
+ if (b) {
+ $.post("gwOrder.ashx", { "action": "cancel", status: 4, orderId: orderId }, function (result) {
+ mytek.alert(result.Message, result.OK, function () {
+ loadPageList();
+ });
+ },
+ "json");
+ }
+ });
+ });
+
+ //瀹℃牳閫氳繃
+ $(document).on("click", ".action-auditPass", function () {
+ var orderId = $(this).data("orderid");
+ mytek.confirm("鏄惁纭畾瀹℃牳閫氳繃璇ヤ俊鎭紵", "鏁版嵁鏇存柊鍚庡皢鏃犳硶鎭㈠锛岃璋ㄦ厧鎿嶄綔锛�", function (b) {
+ if (b) {
+ $.post("gwOrder.ashx", { "action": "audit", status: 1, orderId: orderId }, function (result) {
+ mytek.alert(result.Message, result.OK, function () {
+ loadPageList();
+ });
+ },
+ "json");
+ }
+ });
+ });
+
+ //瀹℃牳涓嶉�氳繃
+ $(document).on("click", ".action-auditNoPass", function () {
+ var orderId = $(this).data("orderid");
+ mytek.confirm("鏄惁纭畾瀹℃牳涓嶉�氳繃璇ヤ俊鎭紵", "鏁版嵁鏇存柊鍚庡皢鏃犳硶鎭㈠锛岃璋ㄦ厧鎿嶄綔锛�", function (b) {
+ if (b) {
+ $.post("gwOrder.ashx", { "action": "audit", status: 0, orderId: orderId }, function (result) {
+ mytek.alert(result.Message, result.OK, function () {
+ loadPageList();
+ });
+ },
+ "json");
+ }
+ });
+ });
+
+ $(document).on("click", ".action-btn-GwOrderQuery", function() {
+ pagination.setPageIndex(1);
+ loadPageList();
+ });
+
+ $(document).on("click", "a[data-index]", function() {
+ pagination.setPageIndex($(this).attr("data-index"));
+ loadPageList();
+ });
+
+ //杩涘叆椤甸潰鏃舵墽琛屾煡璇�
+ loadPageList();
+
+ });
+ </script>
+ </asp:Content>
+<asp:Content runat="server" ID="Content2" ContentPlaceHolderID="title">璁㈠崟绠$悊</asp:Content>
+<asp:Content ID="Content3" ContentPlaceHolderID="content" runat="Server">
+
+ <form name="queryForm" method="get" action="GwOrder.aspx" id="queryForm" class="form-inline"
+ id="gwOrderTable">
+ <div class="m-b">
+ <div class="form-group">
+ <div class="input-group m-b">
+ <span class="input-group-addon">浠g悊鍟嗗鎴疯处鎴�</span>
+ <input type="text" name="ClientId" id="ClientId" class="form-control col-md-2" />
+ </div>
+ </div>
+ <div class="form-group">
+ <div class="input-group m-b">
+ <span class="input-group-addon">浠g悊鍟嗗鎴峰悕绉�</span>
+ <input type="text" name="ClientName" id="ClientName" class="form-control col-md-2" />
+ </div>
+ </div>
+ <div class="form-group">
+ <div class="input-group m-b">
+ <span class="input-group-addon">SP璐﹀彿</span>
+ <input type="text" name="SpId" id="SpId" class="form-control col-md-2" />
+ </div>
+ </div>
+ <div class="form-group">
+ <div class="input-group m-b ">
+ <div class="input-daterange input-group" id="datepicker">
+ <span class="input-group-addon">鏃堕棿鑼冨洿 <i class="fa fa-calendar"></i></span>
+ <input type="text" class="input-sm form-control" name="StartTime" id="StartTime"
+ value="<%=StartTime.ToString("yyyy-MM-dd") %>" />
+ <span class="input-group-addon">鍒�</span> <span class="input-group-addon"><i class="fa fa-calendar">
+ </i></span>
+ <input type="text" class="input-sm form-control" name="EndTime" id="EndTime" value="<%=EndTime.ToString("yyyy-MM-dd") %>" />
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <div class="input-group">
+ <input type="button" value="鏌ヨ" class="btn btn-primary action-btn-GwOrderQuery" />
+ </div>
+ </div>
+ </div>
+ <table class="table table-striped table-bordered table-hover" id="orderTable">
+ <thead>
+ <tr class="header">
+ <th>璁㈠崟ID
+ </th>
+ <th>璐﹀彿ID
+ </th>
+ <th>瀹㈡埛ID
+ </th>
+ <th>浜у搧ID
+ </th>
+ <%--<th>濂楅ID
+ </th>
+ --%>
+ <th>璁㈠崟鍩烘湰鏉℃暟
+ </th>
+ <th>璁㈠崟璧犻�佹潯鏁�
+ </th>
+ <th>鍗曚环锛堝厓/鏉★級
+ </th>
+ <th>璁㈠崟鎬绘潯鏁�
+ </th>
+ <th>璁㈠崟鎬婚噾棰濓紙鍏冿級
+ </th>
+ <th>鍏呭�煎墠璐﹀彿浣欓锛堟潯锛�
+ </th>
+ <th>鍒涘缓浜�
+ </th>
+ <th>鍒涘缓鏃堕棿
+ </th>
+ <th>鐘舵��
+ </th>
+ <th class="text-right">鎿嶄綔
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ </table>
+ </form>
+ <div id="pagination">
+ </div>
+ <div class="footBar">
+
+ </div>
+
+ <div class="modal inmodal fade" id="orderDialog" tabindex="-1" role="dialog" aria-hidden="true">
+ <div class="modal-dialog modal-lg">
+ <form class="form-horizontal" id="orderForm" name="orderForm" method="post" action="gwOrder.ashx">
+ <div class="modal-content ">
+ <div class="modal-header">
+ <input type="hidden" class="form-control" name="action" id="action" value="update" />
+ <button type="button" class="close" data-dismiss="modal">
+ <span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
+ <h4 class="modal-title">璁㈠崟淇℃伅</h4>
+ </div>
+ <div class="modal-body">
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟缂栧彿</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="orderId" id="orderId" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璐﹀彿ID</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="spId" id="spId" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 瀹㈡埛ID</label>
+ <div class="col-sm-4 ">
+ <select name="clientId" id="clientId" class="form-control">
+ <%=GetClientOptions("0")%>
+ </select>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 浜у搧ID</label>
+ <div class="col-sm-4 ">
+ <select name="productId" id="productId" class="form-control">
+ <%=GetProductOptions("0")%>
+ </select>
+ </div>
+ </div>
+ <%--
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 濂楅ID</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="comboId" id="comboId" value="" />
+ </div>
+ </div>
+ --%>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟鍩烘湰鏉℃暟</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="basicNum" id="basicNum" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟璧犻�佹潯鏁�</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="givingNum" id="givingNum" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group classes-span classes-span-1">
+ <label class="col-sm-2 control-label">
+ 鍗曚环</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="price" id="price" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鍏�/鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟鎬绘潯鏁�</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="orderNumTotal" id="orderNumTotal" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟鎬婚噾棰�</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="orderAmountTotal" id="orderAmountTotal" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鍏� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 鍏呭�煎墠璐﹀彿浣欓</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="beforeBalanceNum" id="beforeBalanceNum" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 鍒涘缓浜�</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="creator" id="creator" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 鍒涘缓鏃堕棿</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="createTime" id="createTime" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 鐘舵��</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="status" id="status" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 澶囨敞</label>
+ <div class="col-sm-10 input-group m-b">
+ <input type="text" class="form-control" name="remark" id="remark" value="" />
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="action-auditPass btn btn-primary" data-dismiss="modal" aria-hidden="true" id="auditPass">
+ 瀹℃牳閫氳繃</button>
+ <button class="action-auditNoPass btn btn-primary" data-dismiss="modal" aria-hidden="true" id="auditNoPass">
+ 瀹℃牳涓嶉�氳繃</button>
+ <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">
+ 鍙栨秷</button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+
+ <!-- footBar -->
+ <div id="mask" class="mask">
+ <span></span>
+ <img src="img/spinning-circles.svg" alt="杞藉叆涓�..." />
+ </div>
+ </asp:Content>
+
+
+
diff --git a/web/web/GwOrderAudit.aspx.cs b/web/web/GwOrderAudit.aspx.cs
new file mode 100644
index 0000000..f2ac1cf
--- /dev/null
+++ b/web/web/GwOrderAudit.aspx.cs
@@ -0,0 +1,171 @@
+锘�
+using Common;
+using Dao;
+using Model;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Web;
+using System.Web.Profile;
+using System.Web.SessionState;
+
+public partial class _GwOrderAudit : PageBase<SysUser>, IRequiresSessionState
+{
+ protected List<GwProduct> GwProductList;
+ protected List<GwProduct> GwProductClassList;
+ protected List<GwOp> OpList; //閫氶亾淇℃伅鍒楄〃
+ protected List<GwOpGroup> OpGroupList; //閫氶亾缁勪俊鎭垪琛�
+ protected List<GwClient> GwClientList;
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ //鏉冮檺鎺у埗
+ this.CheckRight("702", FailedOperation.ErrorMsgOnly);
+ using (GwOpDao gwOpDao = new GwOpDao())
+ this.OpList = gwOpDao.LoadInfoList();
+ using (GwOpGroupDao gwOpGroupDao = new GwOpGroupDao())
+ this.OpGroupList = gwOpGroupDao.GetGroupList();
+ using (GwClientDao gwClientDao = new GwClientDao())
+ this.GwClientList = gwClientDao.Clientlist();
+
+ //鑾峰彇浜у搧鎴栦骇鍝佸垎绫�
+ using (GwProductDao gwProductDao = new GwProductDao()) {
+ GwProduct bean = new GwProduct();
+ bean.Classes = -1;
+ bean.IsEnable = -1;
+ bean.IsDefault = -1;
+ this.GwProductList = gwProductDao.getAllList(bean);
+ }
+
+
+
+ }
+
+ public DateTime StartTime
+ {
+ get
+ {
+ DateTime result;
+ if (!DateTime.TryParse(this.Request["StartTime"], out result))
+ return DateTime.Now.Date.AddDays(-1.0);
+ return result;
+ }
+ }
+
+ public DateTime EndTime
+ {
+ get
+ {
+ DateTime result;
+ if (!DateTime.TryParse(this.Request["EndTime"], out result))
+ return DateTime.Now.Date.AddDays(1.0);
+ return result;
+ }
+ }
+
+
+ //鑾峰彇閫氶亾淇℃伅
+ public string GetOpOptions(int opId)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ if (this.OpList.Count == 0)
+ return "<option value=''>鏃犻�氶亾淇℃伅</option>";
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{1}</option>", (object)0, (object)"NA");
+ foreach (GwOp gwOp in this.OpList)
+ {
+ //鍋滅敤鐨勯�氶亾涓嶅啀鏄剧ず
+ if (gwOp.OpStatus == 0)
+ {
+ continue;
+ }
+
+ if (opId == gwOp.OpID)
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)gwOp.OpID, (object)gwOp.OpName);
+ else
+ stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)gwOp.OpID, (object)gwOp.OpName);
+ }
+ return stringBuilder.ToString();
+ }
+
+ /// <summary>
+ /// 鑾峰彇閫氶亾缁�
+ /// </summary>
+ /// <param name="groupID"></param>
+ /// <returns></returns>
+ public string GetOpGroupOptions(int groupID)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ using (GwOpGroupDao gwOpGroupDao = new GwOpGroupDao())
+ {
+ List<GwOpGroup> groupList = gwOpGroupDao.GetGroupList();
+ stringBuilder.AppendFormat("<option value=\"0\">涓嶈缃�</option>");
+ foreach (GwOpGroup gwOpGroup in groupList)
+ stringBuilder.AppendFormat("<option value='{0}' {2}>{1}</option>", (object)gwOpGroup.GroupID, (object)gwOpGroup.GroupName, gwOpGroup.GroupID == groupID ? (object)"selected" : (object)"");
+ }
+ return stringBuilder.ToString();
+ }
+
+ //鑾峰彇浜у搧鍒嗙被淇℃伅
+ public string GetProductClassOptions(string productId)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ if (this.GwProductClassList.Count == 0)
+ return "<option value='0'>鏃�</option>";
+ stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"鏃�");
+ foreach (GwProduct bean in this.GwProductList)
+ {
+ //鍋滅敤鐨勪骇鍝佸垎绫讳笉鍐嶆樉绀�
+ if (bean.IsEnable == 0)
+ {
+ continue;
+ }
+ //绫诲埆涓轰骇鍝佷笉鍐嶆樉绀�
+ if (bean.Classes == 1)
+ {
+ continue;
+ }
+
+ if (productId.Equals(bean.Id) )
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+ else
+ stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+ }
+ return stringBuilder.ToString();
+ }
+
+ //鑾峰彇浜у搧淇℃伅
+ public string GetProductOptions(string productId)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ if (this.GwProductList.Count == 0)
+ return "<option value='0'>鏃�</option>";
+ stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"鏃�");
+ foreach (GwProduct bean in this.GwProductList)
+ {
+ if (productId.Equals(bean.Id))
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+ else
+ stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+ }
+ return stringBuilder.ToString();
+ }
+
+ //鑾峰彇瀹㈡埛淇℃伅
+ public string GetClientOptions(string clientId)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ if (this.GwClientList.Count == 0)
+ return "<option value='0'>鏃�</option>";
+ stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"鏃�");
+ foreach (GwClient bean in this.GwClientList)
+ {
+ if (clientId.Equals(bean.ClientID))
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.ClientID, (object)bean.ClientName);
+ else
+ stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.ClientID, (object)bean.ClientName);
+ }
+ return stringBuilder.ToString();
+ }
+
+}
+
\ No newline at end of file
diff --git a/web/web/GwOrderComplete.aspx b/web/web/GwOrderComplete.aspx
new file mode 100644
index 0000000..4d3887e
--- /dev/null
+++ b/web/web/GwOrderComplete.aspx
@@ -0,0 +1,341 @@
+锘�<%@ Page Language="C#" masterpagefile="~/Main.master" AutoEventWireup="true" CodeFile="GwOrderComplete.aspx.cs" Inherits="_GwOrderComplete" %>
+<%-- 宸插畬鎴愯鍗曪紙鍙栨秷銆佸鏍搁�氳繃銆佸鏍镐笉閫氳繃锛� --%>
+<asp:Content runat="server" ID="Content1" ContentPlaceHolderID="head">
+ <script type="text/javascript" language="javascript">
+ $(document).ready(function() {
+ var pagination = new Pagination();
+ pagination.setPageIndex(1);
+ pagination.setPageSize(50);
+
+ function loadPageList() {
+ var clientId = $("#ClientId").val();
+ var clientName = $("#ClientName").val();
+ var spId = $("#SpId").val();
+ var startDate = $("#StartTime").val();
+ var endDate = $("#EndTime").val();
+ $.ajax({
+ url: "GwOrder.ashx",
+ type: "POST",
+ data: { action: "listComplete", clientId: clientId, clientName: clientName, spId: spId, startDate: startDate, endDate: endDate, flag: 1, pageIndex: pagination.getPageIndex(), pageSize: pagination.getPageSize() },
+ success: function(result) {
+ if (result.OK) {
+ $("#orderTable tbody").html(result.Message.Table);
+ pagination.setRecordCount(result.Message.TotalCount);
+ $("#pagination").html(pagination.getHtml());
+ $("[data-toggle='popover']").popover();
+ } else {
+ mytek.alert(result.Message, result.OK);
+ }
+ }
+ });
+ }
+
+ $(".input-daterange").datepicker({ keyboardNavigation: !1, forceParse: !1, autoclose: !0 });
+
+ $(document).on("click", ".action-modal-detail", function () {
+ var orderId = $(this).data("orderid");
+ $("#orderDialog .modal-title").text("璁㈠崟鏄庣粏");
+
+ $.get("gwOrder.ashx", { "action": "get", orderId: orderId }, function (r) {
+
+ //$("#orderDialog .modal-title").text("璁㈠崟鏄庣粏");
+ //$("#orderDialog #action").val("detail");
+ $("#orderDialog #orderId").val(r.Message.OrderId).attr("readonly", false);
+ $("#orderDialog #spId").val(r.Message.SpId);
+ $("#orderDialog #clientId").val(r.Message.ClientId);
+ $("#orderDialog #productId").val(r.Message.ProductId);
+ //$("#orderDialog #comboId").val(r.Message.ComboId);
+ $("#orderDialog #basicNum").val(r.Message.BasicNum, 0);
+ $("#orderDialog #givingNum").val(r.Message.GivingNum, 0);
+ $("#orderDialog #price").val(r.Message.Price / 1000, 0.00);
+ $("#orderDialog #orderNumTotal").val(r.Message.OrderNumTotal, 0);
+ $("#orderDialog #orderAmountTotal").val(r.Message.OrderAmountTotal / 1000, 0);
+ $("#orderDialog #beforeBalanceNum").val(r.Message.BeforeBalanceNum, 0);
+ $("#orderDialog #creator").val(r.Message.Creator);
+ $("#orderDialog #createTime").val(r.Message.CreateTime);
+ //$("#orderDialog #auditor").valval(r.Message.Auditor);
+ //$("#orderDialog #auditTime").val(r.Message.AuditTime);
+ $("#orderDialog #status").val(r.Message.Status);
+ $("#orderDialog #remark").val(r.Message.Remark);
+
+ $("#orderDialog").modal("show");
+ }, "json");
+ });
+
+ $("#orderForm").ajaxForm({
+ success: function(r) {
+ if (r.OK) {
+ mytek.alert(r.Message, r.OK, function() {
+ $("#orderDialog").modal("hide");
+ loadPageList();
+ });
+ } else {
+ mytek.alert(r.Message, r.OK);
+ }
+ }
+ });
+
+ $(document).on("click", ".action-btn-GwOrderQuery", function() {
+ pagination.setPageIndex(1);
+ loadPageList();
+ });
+
+ //杩涘叆椤甸潰鏃舵墽琛屾煡璇�
+ loadPageList();
+
+ });
+ </script>
+ </asp:Content>
+<asp:Content runat="server" ID="Content2" ContentPlaceHolderID="title">璁㈠崟绠$悊</asp:Content>
+<asp:Content ID="Content3" ContentPlaceHolderID="content" runat="Server">
+
+ <form name="queryForm" method="get" action="GwOrder.aspx" id="queryForm" class="form-inline"
+ id="gwOrderTable">
+ <div class="m-b">
+ <div class="form-group">
+ <div class="input-group m-b">
+ <span class="input-group-addon">浠g悊鍟嗗鎴疯处鎴�</span>
+ <input type="text" name="ClientId" id="ClientId" class="form-control col-md-2" />
+ </div>
+ </div>
+ <div class="form-group">
+ <div class="input-group m-b">
+ <span class="input-group-addon">浠g悊鍟嗗鎴峰悕绉�</span>
+ <input type="text" name="ClientName" id="ClientName" class="form-control col-md-2" />
+ </div>
+ </div>
+ <div class="form-group">
+ <div class="input-group m-b">
+ <span class="input-group-addon">SP璐﹀彿</span>
+ <input type="text" name="SpId" id="SpId" class="form-control col-md-2" />
+ </div>
+ </div>
+ <div class="form-group">
+ <div class="input-group m-b ">
+ <div class="input-daterange input-group" id="datepicker">
+ <span class="input-group-addon">鏃堕棿鑼冨洿 <i class="fa fa-calendar"></i></span>
+ <input type="text" class="input-sm form-control" name="StartTime" id="StartTime"
+ value="<%=StartTime.ToString("yyyy-MM-dd") %>" />
+ <span class="input-group-addon">鍒�</span> <span class="input-group-addon"><i class="fa fa-calendar">
+ </i></span>
+ <input type="text" class="input-sm form-control" name="EndTime" id="EndTime" value="<%=EndTime.ToString("yyyy-MM-dd") %>" />
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <div class="input-group">
+ <input type="button" value="鏌ヨ" class="btn btn-primary action-btn-GwOrderQuery" />
+ </div>
+ </div>
+ </div>
+ <table class="table table-striped table-bordered table-hover" id="orderTable">
+ <thead>
+ <tr class="header">
+ <th>璁㈠崟ID
+ </th>
+ <th>璐﹀彿ID
+ </th>
+ <th>瀹㈡埛ID
+ </th>
+ <th>浜у搧ID
+ </th>
+ <%--<th>濂楅ID
+ </th>
+ --%>
+ <th>璁㈠崟鍩烘湰鏉℃暟
+ </th>
+ <th>璁㈠崟璧犻�佹潯鏁�
+ </th>
+ <th>鍗曚环锛堝厓/鏉★級
+ </th>
+ <th>璁㈠崟鎬绘潯鏁�
+ </th>
+ <th>璁㈠崟鎬婚噾棰濓紙鍏冿級
+ </th>
+ <th>鍏呭�煎墠璐﹀彿浣欓锛堟潯锛�
+ </th>
+ <th>鍒涘缓浜�
+ </th>
+ <th>鍒涘缓鏃堕棿
+ </th>
+ <th>鐘舵��
+ </th>
+ <th class="text-right">鎿嶄綔
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ </table>
+ </form>
+ <div id="pagination">
+ </div>
+ <div class="footBar">
+
+ </div>
+
+ <div class="modal inmodal fade" id="orderDialog" tabindex="-1" role="dialog" aria-hidden="true">
+ <div class="modal-dialog modal-lg">
+ <form class="form-horizontal" id="orderForm" name="orderForm" method="post" action="gwOrder.ashx">
+ <div class="modal-content ">
+ <div class="modal-header">
+ <input type="hidden" class="form-control" name="action" id="action" value="update" />
+ <button type="button" class="close" data-dismiss="modal">
+ <span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
+ <h4 class="modal-title">璁㈠崟淇℃伅</h4>
+ </div>
+ <div class="modal-body">
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟缂栧彿</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="orderId" id="orderId" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璐﹀彿ID</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="spId" id="spId" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 瀹㈡埛ID</label>
+ <div class="col-sm-4 ">
+ <select name="clientId" id="clientId" class="form-control">
+ <%=GetClientOptions("0")%>
+ </select>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 浜у搧ID</label>
+ <div class="col-sm-4 ">
+ <select name="productId" id="productId" class="form-control">
+ <%=GetProductOptions("0")%>
+ </select>
+ </div>
+ </div>
+ <%--
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 濂楅ID</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="comboId" id="comboId" value="" />
+ </div>
+ </div>
+ --%>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟鍩烘湰鏉℃暟</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="basicNum" id="basicNum" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟璧犻�佹潯鏁�</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="givingNum" id="givingNum" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group classes-span classes-span-1">
+ <label class="col-sm-2 control-label">
+ 鍗曚环</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="price" id="price" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鍏�/鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟鎬绘潯鏁�</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="orderNumTotal" id="orderNumTotal" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟鎬婚噾棰�</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="orderAmountTotal" id="orderAmountTotal" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鍏� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 鍏呭�煎墠璐﹀彿浣欓</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="beforeBalanceNum" id="beforeBalanceNum" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 鍒涘缓浜�</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="creator" id="creator" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 鍒涘缓鏃堕棿</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="createTime" id="createTime" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 鐘舵��</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="status" id="status" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 澶囨敞</label>
+ <div class="col-sm-10 input-group m-b">
+ <input type="text" class="form-control" name="remark" id="remark" value="" />
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">
+ 鍙栨秷</button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+
+ <!-- footBar -->
+ <div id="mask" class="mask">
+ <span></span>
+ <img src="img/spinning-circles.svg" alt="杞藉叆涓�..." />
+ </div>
+ </asp:Content>
+
+
+
diff --git a/web/web/GwOrderComplete.aspx.cs b/web/web/GwOrderComplete.aspx.cs
new file mode 100644
index 0000000..2320cb3
--- /dev/null
+++ b/web/web/GwOrderComplete.aspx.cs
@@ -0,0 +1,179 @@
+锘�
+using Common;
+using Dao;
+using Model;
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Web;
+using System.Web.Profile;
+using System.Web.SessionState;
+
+public partial class _GwOrderComplete : PageBase<SysUser>, IRequiresSessionState
+{
+ protected List<GwProduct> GwProductList;
+ protected List<GwProduct> GwProductClassList;
+ protected List<GwOp> OpList; //閫氶亾淇℃伅鍒楄〃
+ protected List<GwOpGroup> OpGroupList; //閫氶亾缁勪俊鎭垪琛�
+ protected List<GwClient> GwClientList;
+ //public GwProduct GwProduct { get; protected set; } //鐢ㄤ簬瀛樻斁浜у搧缂栬緫
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ //鏉冮檺鎺у埗
+ this.CheckRight("701", FailedOperation.ErrorMsgOnly);
+
+ using (GwOpDao gwOpDao = new GwOpDao())
+ this.OpList = gwOpDao.LoadInfoList();
+ using (GwOpGroupDao gwOpGroupDao = new GwOpGroupDao())
+ this.OpGroupList = gwOpGroupDao.GetGroupList();
+ using (GwClientDao gwClientDao = new GwClientDao())
+ this.GwClientList = gwClientDao.Clientlist();
+
+ //鑾峰彇浜у搧鎴栦骇鍝佸垎绫�
+ using (GwProductDao gwProductDao = new GwProductDao()) {
+ GwProduct bean = new GwProduct();
+ bean.Classes = -1;
+ bean.IsEnable = -1;
+ bean.IsDefault = -1;
+ this.GwProductList = gwProductDao.getAllList(bean);
+ }
+
+
+
+ }
+
+ public DateTime StartTime
+ {
+ get
+ {
+ DateTime result;
+ if (!DateTime.TryParse(this.Request["StartTime"], out result))
+ return DateTime.Now.Date.AddDays(-1.0);
+ return result;
+ }
+ }
+
+ public DateTime EndTime
+ {
+ get
+ {
+ DateTime result;
+ if (!DateTime.TryParse(this.Request["EndTime"], out result))
+ return DateTime.Now.Date.AddDays(1.0);
+ return result;
+ }
+ }
+
+
+ //鑾峰彇閫氶亾淇℃伅
+ public string GetOpOptions(int opId)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ if (this.OpList.Count == 0)
+ return "<option value=''>鏃犻�氶亾淇℃伅</option>";
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{1}</option>", (object)0, (object)"NA");
+ foreach (GwOp gwOp in this.OpList)
+ {
+ //鍋滅敤鐨勯�氶亾涓嶅啀鏄剧ず
+ if (gwOp.OpStatus == 0)
+ {
+ continue;
+ }
+
+ if (opId == gwOp.OpID)
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)gwOp.OpID, (object)gwOp.OpName);
+ else
+ stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)gwOp.OpID, (object)gwOp.OpName);
+ }
+ return stringBuilder.ToString();
+ }
+
+ /// <summary>
+ /// 鑾峰彇閫氶亾缁�
+ /// </summary>
+ /// <param name="groupID"></param>
+ /// <returns></returns>
+ public string GetOpGroupOptions(int groupID)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ using (GwOpGroupDao gwOpGroupDao = new GwOpGroupDao())
+ {
+ List<GwOpGroup> groupList = gwOpGroupDao.GetGroupList();
+ stringBuilder.AppendFormat("<option value=\"0\">涓嶈缃�</option>");
+ foreach (GwOpGroup gwOpGroup in groupList)
+ stringBuilder.AppendFormat("<option value='{0}' {2}>{1}</option>", (object)gwOpGroup.GroupID, (object)gwOpGroup.GroupName, gwOpGroup.GroupID == groupID ? (object)"selected" : (object)"");
+ }
+ return stringBuilder.ToString();
+ }
+
+ //鑾峰彇浜у搧鍒嗙被淇℃伅
+ public string GetProductClassOptions(string productId)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ if (this.GwProductClassList.Count == 0)
+ return "<option value='0'>鏃�</option>";
+ stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"鏃�");
+ foreach (GwProduct bean in this.GwProductList)
+ {
+ //鍋滅敤鐨勪骇鍝佸垎绫讳笉鍐嶆樉绀�
+ if (bean.IsEnable == 0)
+ {
+ continue;
+ }
+ //绫诲埆涓轰骇鍝佷笉鍐嶆樉绀�
+ if (bean.Classes == 1)
+ {
+ continue;
+ }
+
+ if (productId.Equals(bean.Id) )
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+ else
+ stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+ }
+ return stringBuilder.ToString();
+ }
+
+ //鑾峰彇浜у搧淇℃伅
+ public string GetProductOptions(string productId)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ if (this.GwProductList.Count == 0)
+ return "<option value='0'>鏃�</option>";
+ stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"鏃�");
+ foreach (GwProduct bean in this.GwProductList)
+ {
+ //鍋滅敤鐨勪骇鍝佸垎绫讳笉鍐嶆樉绀�
+ if (bean.IsEnable == 0)
+ {
+ continue;
+ }
+
+ if (productId.Equals(bean.Id))
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+ else
+ stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+ }
+ return stringBuilder.ToString();
+ }
+
+ //鑾峰彇瀹㈡埛淇℃伅
+ public string GetClientOptions(string clientId)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ if (this.GwClientList.Count == 0)
+ return "<option value='0'>鏃�</option>";
+ stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"鏃�");
+ foreach (GwClient bean in this.GwClientList)
+ {
+ if (clientId.Equals(bean.ClientID))
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.ClientID, (object)bean.ClientName);
+ else
+ stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.ClientID, (object)bean.ClientName);
+ }
+ return stringBuilder.ToString();
+ }
+
+}
+
\ No newline at end of file
diff --git a/web/web/GwOrderCreate.aspx b/web/web/GwOrderCreate.aspx
new file mode 100644
index 0000000..09a653b
--- /dev/null
+++ b/web/web/GwOrderCreate.aspx
@@ -0,0 +1,169 @@
+锘�<%@ Page Language="C#" masterpagefile="~/Main.master" AutoEventWireup="true" CodeFile="GwOrderCreate.aspx.cs" Inherits="_GwOrderCreate" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
+
+ </asp:Content>
+<asp:Content runat="server" ID="Content2" ContentPlaceHolderID="title"> </asp:Content>
+<asp:Content ID="Content3" ContentPlaceHolderID="content" runat="Server">
+
+ <form method="get" action="GwOrderCreate.aspx" class=" form-horizontal">
+ <!--<form method="get" action="GwOrderCreate.aspx?action=Add" name="thisForm" id="thisForm" class=" form-horizontal"> -->
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content ">
+ <div class="modal-header">
+ <h4 class="modal-title">
+ 璐﹀彿鍏呭�� <input type="hidden" name="apid" id="apid" value="0"/></h4>
+ </div>
+ <div class="modal-body">
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璐﹀彿ID</label>
+ <div class="col-sm-6 ">
+ <input type="text" class="form-control" name="spId" id="spId" value="<%=GwOrder.SpId %>" readonly="readonly"/>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 瀹㈡埛ID</label>
+ <div class="col-sm-6 ">
+ <select name="clientId" id="clientId" class="form-control" disabled="disabled">
+ <%=GetClientOptions(GwOrder.ClientId)%>
+ </select>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 浜у搧ID</label>
+ <div class="col-sm-6 ">
+ <select name="productId" id="productId" class="form-control" disabled="disabled">
+ <%=GetProductOptions(GwOrder.ProductId)%>
+ </select>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 鍩烘湰鏉℃暟浣欓</label>
+ <div class="col-sm-6">
+ <div class="input-group">
+ <input type="text" class="form-control" value="<%=GwOrder.BasicNum %>"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" readonly="readonly" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璧犻�佹潯鏁颁綑棰�</label>
+ <div class="col-sm-6">
+ <div class="input-group">
+ <input type="text" class="form-control" value="<%=GwOrder.GivingNum %>"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" readonly="readonly" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group classes-span classes-span-1">
+ <label class="col-sm-2 control-label">
+ 鍗曚环</label>
+ <div class="col-sm-6">
+ <div class="input-group">
+ <input type="text" class="form-control" name="price" id="price" value="<%=(double)GwOrder.Price/1000 %>"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" readonly="readonly" /><span class="input-group-addon">鍏�/鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group classes-span classes-span-1">
+ <label class="col-sm-2 control-label">
+ 鐢ㄦ埛浣欓</label>
+ <div class="col-sm-6">
+ <div class="input-group">
+ <input type="text" class="form-control" value="<%=(double)Balance/1000 %>"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" readonly="readonly" /><span class="input-group-addon">鍏� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟鍩烘湰鏉℃暟</label>
+ <div class="col-sm-6">
+ <div class="input-group">
+ <input type="text" class="form-control" name="basicNum" id="basicNum" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟璧犻�佹潯鏁�</label>
+ <div class="col-sm-6">
+ <div class="input-group">
+ <input type="text" class="form-control" name="givingNum" id="givingNum" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 澶囨敞</label>
+ <div class="col-sm-6 input-group m-b">
+ <textarea class="form-control" id="remark" name="remark" rows="6"></textarea>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <input class="btn btn-default" value="杩斿洖" onclick="return window.location = 'GwSp.aspx'" type="button" />
+ <button class="btn btn-primary action-save">
+ 淇濆瓨</button>
+ </div>
+ </div>
+ </div>
+ </form>
+
+
+ <script type="text/javascript" language="javascript">
+ //$(document).ready(function () {
+
+ $(document).on("click", ".action-save", function () {
+
+ var spId = $("#spId").val();
+ var clientId = $("#clientId").val();
+ var productId = $("#productId").val();
+ var basicNum = $("#basicNum").val();
+ var givingNum = $("#givingNum").val();
+ var remark = $("#remark").val();
+
+ mytek.confirm("鏄惁纭畾鍏呭�硷紵", "鏄惁鎿嶄綔锛�", function (b) {
+
+ if (b) {
+
+ $.post("gwOrder.ashx", { action: "add", spId: spId, clientId: clientId, productId: productId, basicNum: basicNum, givingNum: givingNum, remark: remark }, function (r) {
+ /**
+ if (r.OK) {
+ mytek.alert(r.Message);
+ //window.location = history.back();
+ } else {
+ mytek.alert(r.Message);
+ }
+ **/
+
+ mytek.alert(r.Message, r.OK, function () {
+ //loadPageList();
+ });
+
+ });
+
+ }
+
+ });
+ });
+
+ //}
+
+ </script>
+
+
+</asp:Content>
diff --git a/web/web/GwOrderCreate.aspx.cs b/web/web/GwOrderCreate.aspx.cs
new file mode 100644
index 0000000..749e8ae
--- /dev/null
+++ b/web/web/GwOrderCreate.aspx.cs
@@ -0,0 +1,123 @@
+锘�
+using Common;
+using Dao;
+using Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Web;
+using System.Web.Profile;
+using System.Web.SessionState;
+using System.Text;
+
+public partial class _GwOrderCreate : PageBase<SysUser>, IRequiresSessionState
+{
+
+ protected List<GwProduct> GwProductList;
+ protected List<GwClient> GwClientList;
+ protected long Balance;
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ //this.CheckRight("201", FailedOperation.ErrorMsgOnly);
+
+ using (GwClientDao gwClientDao = new GwClientDao())
+ this.GwClientList = gwClientDao.Clientlist();
+
+ //鑾峰彇浜у搧鎴栦骇鍝佸垎绫�
+ using (GwProductDao gwProductDao = new GwProductDao())
+ {
+ GwProduct bean = new GwProduct();
+ bean.Classes = -1;
+ bean.IsEnable = -1;
+ bean.IsDefault = -1;
+ this.GwProductList = gwProductDao.getAllList(bean);
+ }
+
+ using (GwSpDao gwSpDao = new GwSpDao())
+ {
+ if (!string.IsNullOrEmpty(this.SpID))
+ {
+ GwSp gwSp = gwSpDao.Get(this.SpID);
+ if(gwSp==null)
+ {
+ throw new ArgumentException("璐﹀彿涓嶅瓨鍦紒");
+
+ }
+ else if (gwSp.Status==0)
+ {
+ throw new ArgumentException("璐﹀彿鐘舵�佸凡鍋滅敤锛�");
+
+ }
+ else
+ {
+ this.GwOrder = new GwOrder();
+ this.GwOrder.SpId = gwSp.SpID;
+ this.GwOrder.ClientId = gwSp.ClientID;
+ this.GwOrder.ProductId = gwSp.ProductId;
+ this.GwOrder.Price = gwSp.Price;
+ this.GwOrder.BasicNum = gwSp.BasicNum; //鍩烘湰鏉℃暟
+ this.GwOrder.GivingNum = gwSp.GivingNum;
+
+ this.Balance = gwSp.Balance; //浣欓
+ }
+ }
+ else
+ {
+ this.GwOrder = new GwOrder();
+ }
+ }
+ }
+
+
+ public GwOrder GwOrder { get; protected set; }
+
+ public string SpID
+ {
+ get
+ {
+ return this.AppContext.GetString("spId");
+ }
+ }
+
+ //鑾峰彇浜у搧淇℃伅
+ public string GetProductOptions(string productId)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ if (this.GwProductList.Count == 0)
+ return "<option value='0'>鏃�</option>";
+ stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"鏃�");
+ foreach (GwProduct bean in this.GwProductList)
+ {
+ //鍋滅敤鐨勪骇鍝佸垎绫讳笉鍐嶆樉绀�
+ if (bean.IsEnable == 0)
+ {
+ continue;
+ }
+
+ if (productId.Equals(bean.Id))
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+ else
+ stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+ }
+ return stringBuilder.ToString();
+ }
+
+ //鑾峰彇瀹㈡埛淇℃伅
+ public string GetClientOptions(string clientId)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ if (this.GwClientList.Count == 0)
+ return "<option value='0'>鏃�</option>";
+ stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"鏃�");
+ foreach (GwClient bean in this.GwClientList)
+ {
+ if (clientId.Equals(bean.ClientID))
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.ClientID, (object)bean.ClientName);
+ else
+ stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.ClientID, (object)bean.ClientName);
+ }
+ return stringBuilder.ToString();
+ }
+}
diff --git a/web/web/GwOrderList.aspx b/web/web/GwOrderList.aspx
new file mode 100644
index 0000000..c219de4
--- /dev/null
+++ b/web/web/GwOrderList.aspx
@@ -0,0 +1,339 @@
+锘�<%@ Page Language="C#" masterpagefile="~/Main.master" AutoEventWireup="true" CodeFile="GwOrderList.aspx.cs" Inherits="_GwOrderList" %>
+
+
+<asp:Content ID="Content3" ContentPlaceHolderID="content" runat="Server">
+ <script>
+ $(function () {
+ /**
+ $("#pager").Pager({
+ pageSize: 50,
+ onChange: function (pageIndex, pageSize) {
+ loadPageList();
+ }
+ });
+ **/
+ var pagination = new Pagination();
+ pagination.setPageIndex(1);
+ pagination.setPageSize(50);
+
+ function loadPageList() {
+
+ var clientId = $("#ClientID").val();
+ var clientName = $("#ClientName").val();
+ var spId = $("#SpID").val();
+ var startDate = $("#sDate").val();
+ var endDate = $("#eDate").val();
+
+ $.ajax({
+ url: "GwOrder.ashx",
+ type: "POST",
+ //data: { action: "gwOrderList", SpID: SpID, ClientID: ClientID, ClientName: ClientName, sDate: sDate, EndTime: EndTime, pageSize: $("#pager").Pager("getPageSize"), pageIndex: $("#pager").Pager("getPageIndex") },
+ data: { action: "gwOrderList", clientId: clientId, clientName: clientName, spId: spId, startDate: startDate, endDate: endDate, flag: -1, pageIndex: pagination.getPageIndex(), pageSize: pagination.getPageSize() },
+ success: function (result) {
+ if (result.OK) {
+ $("#orderListTable tbody").html(result.Message.Table);
+ $("#pager").Pager("setTotalCount", result.Message.TotalCount);
+ } else {
+ mytek.alert(result.Message, result.OK);
+ }
+ }
+ });
+ }
+
+
+ $(".input-daterange").datepicker({ keyboardNavigation: !1, forceParse: !1, autoclose: !0 });
+
+ $(document).on("click", ".action-modal-detail", function () {
+ var orderId = $(this).data("orderid");
+ $("#orderDialog .modal-title").text("璁㈠崟鏄庣粏");
+
+ $.get("gwOrder.ashx", { "action": "get", orderId: orderId }, function (r) {
+
+ //$("#orderDialog .modal-title").text("璁㈠崟鏄庣粏");
+ //$("#orderDialog #action").val("detail");
+ $("#orderDialog #orderId").val(r.Message.OrderId).attr("readonly", false);
+ $("#orderDialog #spId").val(r.Message.SpId);
+ $("#orderDialog #clientId").val(r.Message.ClientId);
+ $("#orderDialog #productId").val(r.Message.ProductId);
+ //$("#orderDialog #comboId").val(r.Message.ComboId);
+ $("#orderDialog #basicNum").val(r.Message.BasicNum, 0);
+ $("#orderDialog #givingNum").val(r.Message.GivingNum, 0);
+ $("#orderDialog #price").val(r.Message.Price / 1000, 0.00);
+ $("#orderDialog #orderNumTotal").val(r.Message.OrderNumTotal, 0);
+ $("#orderDialog #orderAmountTotal").val(r.Message.OrderAmountTotal / 1000, 0);
+ $("#orderDialog #beforeBalanceNum").val(r.Message.BeforeBalanceNum, 0);
+ $("#orderDialog #creator").val(r.Message.Creator);
+ $("#orderDialog #createTime").val(r.Message.CreateTime);
+ //$("#orderDialog #auditor").valval(r.Message.Auditor);
+ //$("#orderDialog #auditTime").val(r.Message.AuditTime);
+ $("#orderDialog #status").val(r.Message.Status);
+ $("#orderDialog #remark").val(r.Message.Remark);
+
+ $("#orderDialog").modal("show");
+ }, "json");
+ });
+
+ $("#orderForm").ajaxForm({
+ success: function (r) {
+ if (r.OK) {
+ mytek.alert(r.Message, r.OK, function () {
+ $("#orderDialog").modal("hide");
+ loadPageList();
+ });
+ } else {
+ mytek.alert(r.Message, r.OK);
+ }
+ }
+ });
+
+ $(document).on("click", ".action-query", function () {
+ pagination.setPageIndex(1);
+ loadPageList();
+ });
+
+ //杩涘叆椤甸潰鏃舵墽琛屾煡璇�
+ loadPageList();
+
+ })</script>
+ <form name="OrderListForm" method="post" action="GwOrderList.aspx" id="OrderListForm"
+ class="form-inline">
+ <div class="ibox">
+ <div class="input-group m-b">
+ <span class="input-group-addon">SPID</span>
+ <input type="text" name="SpID" id="SpID" value="<%=SpID %>"" class="form-control" />
+ </div>
+ <div class="input-group m-b">
+ <span class="input-group-addon">瀹㈡埛ID</span>
+ <input type="text" name="ClientID" id="ClientID" class="form-control" />
+ </div>
+ <div class="input-group m-b">
+ <span class="input-group-addon">瀹㈡埛鍚嶇О</span>
+ <input type="text" name="ClientName" id="ClientName" class="form-control " />
+ </div>
+ <div class="input-group m-b">
+ <div class="input-daterange input-group " id="datepicker">
+ <span class="input-group-addon">鏃堕棿鑼冨洿 <i class="fa fa-calendar"></i></span>
+ <input type="text" class=" form-control" name="sDate" id="sDate" value="<%=sDate%>" />
+ <span class="input-group-addon">鍒�</span> <span class="input-group-addon"><i class="fa fa-calendar">
+ </i></span>
+ <input type="text" class=" form-control" name="eDate" id="eDate" value="<%=eDate%>" />
+ </div>
+ </div>
+ <div class="input-group m-b">
+ <input type="button" value="鏌ヨ" class="btn btn-primary action-query" />
+ </div>
+ </div>
+ <div class="table-responsive">
+ <table class="table table-striped table-bordered table-hover" id="orderListTable">
+ <thead>
+ <tr class="header">
+ <th>璁㈠崟ID
+ </th>
+ <th>璐﹀彿ID
+ </th>
+ <th>瀹㈡埛ID
+ </th>
+ <th>浜у搧ID
+ </th>
+ <%--<th>濂楅ID
+ </th>
+ --%>
+ <th>璁㈠崟鍩烘湰鏉℃暟
+ </th>
+ <th>璁㈠崟璧犻�佹潯鏁�
+ </th>
+ <th>鍗曚环锛堝厓/鏉★級
+ </th>
+ <th>璁㈠崟鎬绘潯鏁�
+ </th>
+ <th>璁㈠崟鎬婚噾棰濓紙鍏冿級
+ </th>
+ <th>鍏呭�煎墠璐﹀彿浣欓锛堟潯锛�
+ </th>
+ <th>鍒涘缓浜�
+ </th>
+ <th>鍒涘缓鏃堕棿
+ </th>
+ <th>鐘舵��
+ </th>
+ <th class="text-right">鎿嶄綔
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+ </tbody>
+ <%--<%=ViewState["list"] %>--%>
+ </table>
+ </div>
+ </form>
+ <%--
+ <div id="pager">
+ </div>--%>
+ <div id="pagination">
+ </div>
+ <div class="footBar">
+
+ </div>
+
+ <div class="modal inmodal fade" id="orderDialog" tabindex="-1" role="dialog" aria-hidden="true">
+ <div class="modal-dialog modal-lg">
+ <form class="form-horizontal" id="orderForm" name="orderForm" method="post" action="gwOrder.ashx">
+ <div class="modal-content ">
+ <div class="modal-header">
+ <input type="hidden" class="form-control" name="action" id="action" value="update" />
+ <button type="button" class="close" data-dismiss="modal">
+ <span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
+ <h4 class="modal-title">璁㈠崟淇℃伅</h4>
+ </div>
+ <div class="modal-body">
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟缂栧彿</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="orderId" id="orderId" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璐﹀彿ID</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="spId" id="spId" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 瀹㈡埛ID</label>
+ <div class="col-sm-4 ">
+ <select name="clientId" id="clientId" class="form-control">
+ <%=GetClientOptions("0")%>
+ </select>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 浜у搧ID</label>
+ <div class="col-sm-4 ">
+ <select name="productId" id="productId" class="form-control">
+ <%=GetProductOptions("0")%>
+ </select>
+ </div>
+ </div>
+ <%--
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 濂楅ID</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="comboId" id="comboId" value="" />
+ </div>
+ </div>
+ --%>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟鍩烘湰鏉℃暟</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="basicNum" id="basicNum" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟璧犻�佹潯鏁�</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="givingNum" id="givingNum" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group classes-span classes-span-1">
+ <label class="col-sm-2 control-label">
+ 鍗曚环</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="price" id="price" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鍏�/鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟鎬绘潯鏁�</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="orderNumTotal" id="orderNumTotal" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 璁㈠崟鎬婚噾棰�</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="orderAmountTotal" id="orderAmountTotal" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鍏� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 鍏呭�煎墠璐﹀彿浣欓</label>
+ <div class="col-sm-4">
+ <div class="input-group">
+ <input type="text" class="form-control" name="beforeBalanceNum" id="beforeBalanceNum" value="" maxlength="5"
+ onkeyup="value=value.replace(/[^\d\.]/g,'')" onpaste="value=value.replace(/[^\d\.]/g,'')"
+ oncontextmenu="return false" /><span class="input-group-addon">鏉� </span>
+ </div>
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 鍒涘缓浜�</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="creator" id="creator" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 鍒涘缓鏃堕棿</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="createTime" id="createTime" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 鐘舵��</label>
+ <div class="col-sm-4 ">
+ <input type="text" class="form-control" name="status" id="status" value="" />
+ </div>
+ </div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">
+ 澶囨敞</label>
+ <div class="col-sm-10 input-group m-b">
+ <input type="text" class="form-control" name="remark" id="remark" value="" />
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">
+ 鍙栨秷</button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+
+ <!-- footBar -->
+ <div id="mask" class="mask">
+ <span></span>
+ <img src="img/spinning-circles.svg" alt="杞藉叆涓�..." />
+ </div>
+ </asp:Content>
diff --git a/web/web/GwOrderList.aspx.cs b/web/web/GwOrderList.aspx.cs
new file mode 100644
index 0000000..7a26a7d
--- /dev/null
+++ b/web/web/GwOrderList.aspx.cs
@@ -0,0 +1,106 @@
+锘�
+using Common;
+using Model;
+using System;
+using System.Web;
+using System.Web.Profile;
+using System.Web.SessionState;
+using System.Collections.Generic;
+using System.Text;
+using Dao;
+
+public partial class _GwOrderList : PageBase<SysUser>, IRequiresSessionState
+{
+
+ protected List<GwProduct> GwProductList;
+ protected List<GwClient> GwClientList;
+
+ public string sDate
+ {
+ get
+ {
+ string @string = this.AppContext.GetString("sDate");
+ if (string.IsNullOrEmpty(@string))
+ return DateTime.Now.AddDays(-1.0).ToString("yyyy-MM-dd");
+ return @string;
+ }
+ }
+
+ public string eDate
+ {
+ get
+ {
+ string @string = this.AppContext.GetString("eDate");
+ if (string.IsNullOrEmpty(@string))
+ return DateTime.Now.ToString("yyyy-MM-dd");
+ return @string;
+ }
+ }
+
+ public string SpID
+ {
+ get
+ {
+ return this.AppContext.GetString("spId");
+ }
+ }
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ this.CheckRight("3022", FailedOperation.ErrorMsgOnly);
+
+ using (GwClientDao gwClientDao = new GwClientDao())
+ this.GwClientList = gwClientDao.Clientlist();
+
+ //鑾峰彇浜у搧鎴栦骇鍝佸垎绫�
+ using (GwProductDao gwProductDao = new GwProductDao())
+ {
+ GwProduct bean = new GwProduct();
+ bean.Classes = -1;
+ bean.IsEnable = -1;
+ bean.IsDefault = -1;
+ this.GwProductList = gwProductDao.getAllList(bean);
+ }
+ }
+
+
+ //鑾峰彇浜у搧淇℃伅
+ public string GetProductOptions(string productId)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ if (this.GwProductList.Count == 0)
+ return "<option value='0'>鏃�</option>";
+ stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"鏃�");
+ foreach (GwProduct bean in this.GwProductList)
+ {
+ //鍋滅敤鐨勪骇鍝佸垎绫讳笉鍐嶆樉绀�
+ if (bean.IsEnable == 0)
+ {
+ continue;
+ }
+
+ if (productId.Equals(bean.Id))
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+ else
+ stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.Id, (object)bean.Name);
+ }
+ return stringBuilder.ToString();
+ }
+
+ //鑾峰彇瀹㈡埛淇℃伅
+ public string GetClientOptions(string clientId)
+ {
+ StringBuilder stringBuilder = new StringBuilder();
+ if (this.GwClientList.Count == 0)
+ return "<option value='0'>鏃�</option>";
+ stringBuilder.AppendFormat("<option value=\"{0}\" >{1}</option>", (object)0, (object)"鏃�");
+ foreach (GwClient bean in this.GwClientList)
+ {
+ if (clientId.Equals(bean.ClientID))
+ stringBuilder.AppendFormat("<option value=\"{0}\" selected>{0}-{1}</option>", (object)bean.ClientID, (object)bean.ClientName);
+ else
+ stringBuilder.AppendFormat("<option value=\"{0}\">{0}-{1}</option>", (object)bean.ClientID, (object)bean.ClientName);
+ }
+ return stringBuilder.ToString();
+ }
+}
diff --git a/web/web/GwSp.aspx b/web/web/GwSp.aspx
index 5003bf1..551b7a3 100644
--- a/web/web/GwSp.aspx
+++ b/web/web/GwSp.aspx
@@ -193,10 +193,18 @@
window.location.href = url;
});
+ //鍏呭�兼棩蹇�
+ /**
$(document).on("click", ".action-modal-Acctunchargelog", function() {
var id = $(this).data("id");
window.location.href = "GwSpChargeLog.aspx?id=" + id + "";
});
+ **/
+
+ $(document).on("click", ".action-modal-Acctunchargelog", function () {
+ var spId = $(this).data("id");
+ window.location.href = "GwOrderList.aspx?spId=" + spId + "";
+ });
var serverIp =<%=Newtonsoft.Json.JsonConvert.SerializeObject(ConfigurationManager.AppSettings["serverIp"])%>;
var apList =<%=Newtonsoft.Json.JsonConvert.SerializeObject(this.ApList)%>;
diff --git a/web/web/gwspupdate.aspx.cs b/web/web/gwspupdate.aspx.cs
index 85f7ffd..656e0ef 100644
--- a/web/web/gwspupdate.aspx.cs
+++ b/web/web/gwspupdate.aspx.cs
@@ -229,6 +229,8 @@
//鑾峰彇浜у搧淇℃伅
public string GetProductOptions(string productId)
{
+ if (productId==null)
+ return "<option value='0'>鏃�</option>";
StringBuilder stringBuilder = new StringBuilder();
if (this.GwProductList.Count == 0)
return "<option value='0'>鏃�</option>";
diff --git a/web/web/logs/err.txt b/web/web/logs/err.txt
index 3ede951..23bec1a 100644
--- a/web/web/logs/err.txt
+++ b/web/web/logs/err.txt
@@ -654,3 +654,745 @@
#20 2022-02-16 17:24:53,794 Common.dll OracleHelper.ExecuteScalar SQL=select count(1) FROM GW_AUDIT_CACHE ca left join gw_op op on ca.op_id=op.op_id WHERE ca.AP_SUBMIT_TIME BETWEEN :START_TIME AND :END_TIME AND (ca.MSG_CONTENT LIKE :CONTENT OR :CONTENT='%%') AND ca.AUDITING_STATUS=:AUDITING_STATUS and op.OP_NAME=移动通道
Message=ORA-00904: "移动通道": 标识符无效
>>>>>>> Stashed changes
+#36 2022-03-21 00:37:11,743 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7008
+会话 ID: 73 序列号: 3456
+
+#9 2022-03-21 00:37:11,744 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 7784
+会话 ID: 200 序列号: 3327
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#7 2022-03-21 00:40:12,986 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1160
+会话 ID: 14 序列号: 6599
+
+#7 2022-03-21 00:42:12,726 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220321 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7676
+会话 ID: 134 序列号: 3609
+
+#35 2022-03-21 00:48:59,108 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7488
+会话 ID: 72 序列号: 2827
+
+#22 2022-03-21 00:49:18,562 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220321 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7180
+会话 ID: 16 序列号: 4733
+
+#39 2022-03-21 00:51:08,010 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7308
+会话 ID: 195 序列号: 4472
+
+#16 2022-03-21 00:51:35,782 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 712
+会话 ID: 139 序列号: 389
+
+#40 2022-03-21 00:58:01,084 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220321 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7172
+会话 ID: 206 序列号: 104
+
+#34 2022-03-21 00:58:20,626 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 3328
+会话 ID: 77 序列号: 28
+
+#68 2022-03-31 02:38:57,384 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 12584
+会话 ID: 133 序列号: 58839
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#61 2022-03-31 03:41:16,261 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-30 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#61 2022-03-31 03:41:16,301 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#29 2022-03-31 03:43:54,989 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-30 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#29 2022-03-31 03:43:55,017 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#45 2022-03-31 03:44:03,573 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#45 2022-03-31 03:44:03,589 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#61 2022-03-31 03:44:23,873 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220331 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1116
+会话 ID: 207 序列号: 37854
+
+#29 2022-03-31 03:44:43,222 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11496
+会话 ID: 74 序列号: 5973
+
+#45 2022-03-31 03:45:02,368 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 AND 2022-04-01 ) T Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7596
+会话 ID: 201 序列号: 49901
+
+#45 2022-03-31 03:45:02,385 Dao.dll GwOrderDao.LoadInfoList ORA-03113: 通信通道的文件结尾
+进程 ID: 7596
+会话 ID: 201 序列号: 49901
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#61 2022-03-31 03:45:13,034 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#61 2022-03-31 03:45:13,050 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#61 2022-03-31 03:46:12,333 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-04-01 AND 2022-04-01 ) T Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 6272
+会话 ID: 72 序列号: 18963
+
+#61 2022-03-31 03:46:12,349 Dao.dll GwOrderDao.LoadInfoList ORA-03113: 通信通道的文件结尾
+进程 ID: 6272
+会话 ID: 72 序列号: 18963
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#45 2022-03-31 03:46:15,419 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-30 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#45 2022-03-31 03:46:15,442 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#64 2022-03-31 03:47:30,072 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-30 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#64 2022-03-31 03:47:30,088 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#64 2022-03-31 03:47:37,216 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-10 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#64 2022-03-31 03:47:37,236 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#64 2022-03-31 03:50:06,744 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-10 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#64 2022-03-31 03:50:06,761 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#17 2022-03-31 03:50:37,525 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_OP order BY OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7160
+会话 ID: 15 序列号: 40808
+
+#64 2022-03-31 03:56:17,282 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-30 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#64 2022-03-31 03:56:17,306 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#17 2022-03-31 03:56:25,686 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-10 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#17 2022-03-31 03:57:30,596 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#61 2022-03-31 03:59:48,236 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-10 AND 2022-04-01 ) T Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 9200
+会话 ID: 133 序列号: 61737
+
+#61 2022-03-31 04:01:34,816 Dao.dll GwOrderDao.LoadInfoList ORA-03113: 通信通道的文件结尾
+进程 ID: 9200
+会话 ID: 133 序列号: 61737
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount)
+
+#61 2022-03-31 04:02:00,393 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_OP order BY OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1340
+会话 ID: 200 序列号: 25647
+
+#28 2022-03-31 04:02:15,016 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN '2022-03-30' AND '2022-04-01' ) T Message=ORA-01861: 文字与格式字符串不匹配
+
+#28 2022-03-31 04:02:15,041 Dao.dll GwOrderDao.LoadInfoList ORA-01861: 文字与格式字符串不匹配
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount)
+
+#61 2022-03-31 04:02:25,909 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN '2022-03-23' AND '2022-04-01' ) T Message=ORA-01861: 文字与格式字符串不匹配
+
+#61 2022-03-31 04:03:37,152 Dao.dll GwOrderDao.LoadInfoList ORA-01861: 文字与格式字符串不匹配
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount)
+
+#61 2022-03-31 04:08:54,008 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_OP order BY OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11356
+会话 ID: 11 序列号: 1737
+
+#7 2022-03-31 04:10:03,457 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-30 00:00:00 AND 2022-04-01 00:00:00 ) T Message=ORA-00905: 缺失关键字
+
+#7 2022-03-31 04:10:03,492 Dao.dll GwOrderDao.LoadInfoList ORA-00905: 缺失关键字
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, DateTime startDate, DateTime endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#11 2022-03-31 04:10:11,724 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 00:00:00 AND 2022-04-01 00:00:00 ) T Message=ORA-00905: 缺失关键字
+
+#11 2022-03-31 04:10:11,740 Dao.dll GwOrderDao.LoadInfoList ORA-00905: 缺失关键字
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, DateTime startDate, DateTime endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#9 2022-03-31 04:10:29,921 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 00:00:00 AND 2022-04-01 00:00:00 ) T Message=ORA-00905: 缺失关键字
+
+#9 2022-03-31 04:10:29,937 Dao.dll GwOrderDao.LoadInfoList ORA-00905: 缺失关键字
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, DateTime startDate, DateTime endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#8 2022-03-31 04:11:30,513 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 00:00:00 AND 2022-04-01 00:00:00 ) T Message=ORA-00905: 缺失关键字
+
+#8 2022-03-31 04:11:30,529 Dao.dll GwOrderDao.LoadInfoList ORA-00905: 缺失关键字
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, DateTime startDate, DateTime endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#9 2022-03-31 04:14:02,931 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 00:00:00 AND 2022-04-01 00:00:00 ) T Message=ORA-00905: 缺失关键字
+
+#9 2022-03-31 04:14:45,999 Dao.dll GwOrderDao.LoadInfoList ORA-00905: 缺失关键字
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, DateTime startDate, DateTime endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#7 2022-03-31 04:33:17,699 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7880
+会话 ID: 145 序列号: 10
+
+#25 2022-03-31 04:38:29,628 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220331 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1152
+会话 ID: 17 序列号: 1772
+
+#23 2022-03-31 16:46:15,119 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 11340
+会话 ID: 205 序列号: 50957
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#8 2022-03-31 16:53:15,014 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 2000
+会话 ID: 79 序列号: 1018
+
+#21 2022-03-31 16:53:34,118 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220331 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 9296
+会话 ID: 212 序列号: 3228
+
+#18 2022-03-31 17:05:15,999 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7400
+会话 ID: 139 序列号: 57391
+
+#20 2022-03-31 17:11:15,191 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_OP order BY OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 12896
+会话 ID: 205 序列号: 52285
+
+#42 2022-04-01 09:34:46,186 Common.dll OracleHelper.ExecuteReader ORA-00942: 表或视图不存在
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#42 2022-04-01 09:34:50,161 Dao.dll GwSmDao.LoadInfoList ORA-00942: 表或视图不存在select count(*) as count from LG_SM_20220131 sm left join GW_OP op on sm.op_id=op.op_id where 1=1 and sm.AP_SUBMIT_TIME BETWEEN :BEGIN_TIME AND :END_TIME
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 227
+ 在 Dao.GwSmDao.LoadInfoList(String apMID, String opName, String clientID, String spID, String destnationId, String sDate, String beginTime, String endTime, String content, String opstat, Int32 TStatus, Int32& recordcount, Int32 pageSize, Int32 pageIndex, String ReSend) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwSmDao.cs:行号 406
+
+#39 2022-04-01 09:35:00,742 Common.dll OracleHelper.ExecuteReader ORA-00942: 表或视图不存在
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#39 2022-04-01 09:35:00,763 Dao.dll GwSmDao.LoadInfoList ORA-00942: 表或视图不存在select count(*) as count from LG_SM_20211001 sm left join GW_OP op on sm.op_id=op.op_id where 1=1 and sm.AP_SUBMIT_TIME BETWEEN :BEGIN_TIME AND :END_TIME
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 227
+ 在 Dao.GwSmDao.LoadInfoList(String apMID, String opName, String clientID, String spID, String destnationId, String sDate, String beginTime, String endTime, String content, String opstat, Int32 TStatus, Int32& recordcount, Int32 pageSize, Int32 pageIndex, String ReSend) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwSmDao.cs:行号 406
+
+#39 2022-04-01 09:35:23,454 Common.dll OracleHelper.ExecuteReader ORA-00942: 表或视图不存在
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#39 2022-04-01 09:35:23,481 Dao.dll GwDmDao.LoadInfoList ORA-00942: 表或视图不存在 select count(*) as count from LG_DM_20211201 where 1=1
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 227
+ 在 Dao.GwDmDao.LoadInfoList(String ApID, String OpID, String spID, String DestnationId, String sDate, Int32& recordcount, Int32 pageSize, Int32 PageIndex) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwDmDao.cs:行号 52
+
+#39 2022-04-01 09:35:34,169 Common.dll OracleHelper.ExecuteReader ORA-00942: 表或视图不存在
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#39 2022-04-01 09:35:34,185 Dao.dll GwDmDao.LoadInfoList ORA-00942: 表或视图不存在 select count(*) as count from LG_DM_20200115 where 1=1
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 227
+ 在 Dao.GwDmDao.LoadInfoList(String ApID, String OpID, String spID, String DestnationId, String sDate, Int32& recordcount, Int32 pageSize, Int32 PageIndex) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwDmDao.cs:行号 52
+
+#62 2022-04-13 10:25:04,410 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 9504
+会话 ID: 205 序列号: 25061
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#7 2022-04-13 10:30:50,008 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220413 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 9916
+会话 ID: 204 序列号: 37226
+
+#61 2022-04-13 10:31:09,611 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 9400
+会话 ID: 146 序列号: 45532
+
+#7 2022-04-13 10:33:42,410 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 10060
+会话 ID: 72 序列号: 27318
+
+#7 2022-04-13 10:39:48,992 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220413 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7744
+会话 ID: 139 序列号: 33341
+
+#60 2022-04-13 10:40:08,472 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 12772
+会话 ID: 19 序列号: 45105
+
+#35 2022-04-13 15:04:17,914 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 12212
+会话 ID: 77 序列号: 17059
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#29 2022-04-14 09:01:27,250 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_CLIENT Message=ORA-12571: TNS: 包写入程序失败
+
+#11 2022-04-18 12:12:48,369 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 11472
+会话 ID: 145 序列号: 57954
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#56 2022-04-18 12:18:50,712 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220418 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11044
+会话 ID: 146 序列号: 57041
+
+#12 2022-04-18 12:19:09,861 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1008
+会话 ID: 77 序列号: 25608
+
+#11 2022-04-18 12:21:07,679 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_CLIENT Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 4996
+会话 ID: 78 序列号: 39675
+
+#20 2022-04-18 12:21:42,286 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_CLIENT Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7264
+会话 ID: 19 序列号: 1251
+
+#32 2022-04-19 16:25:21,592 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220419 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-00942: 表或视图不存在
+
+#57 2022-04-19 16:31:38,212 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11472
+会话 ID: 72 序列号: 40490
+
+#77 2022-04-19 18:35:29,267 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 10872
+会话 ID: 82 序列号: 36454
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#25 2022-04-19 18:35:33,119 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220419 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-00942: 表或视图不存在
+
+#77 2022-04-19 18:41:31,055 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 992
+会话 ID: 11 序列号: 28892
+
+#28 2022-04-19 18:52:42,815 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 10212
+会话 ID: 212 序列号: 18440
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#14 2022-04-22 08:23:38,988 Common.dll OracleHelper.ExecuteReader ORA-12571: TNS: 包写入程序失败
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#13 2022-04-22 08:33:11,967 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220422 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 9836
+会话 ID: 209 序列号: 57680
+
+#17 2022-04-22 08:33:31,194 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7540
+会话 ID: 139 序列号: 8489
+
+#56 2022-04-22 08:33:50,278 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 5408
+会话 ID: 203 序列号: 19804
+
+#84 2022-04-22 08:44:13,910 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 5184
+会话 ID: 143 序列号: 11866
+
+#88 2022-04-22 11:31:06,133 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11156
+会话 ID: 11 序列号: 38047
+
+#7 2022-04-25 22:58:25,334 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 13228
+会话 ID: 17 序列号: 34550
+
+#51 2022-04-25 23:19:53,698 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220425 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 6084
+会话 ID: 136 序列号: 3887
+
+#54 2022-04-25 23:20:12,944 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1432
+会话 ID: 78 序列号: 49284
+
+#7 2022-04-25 23:27:51,078 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220425 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 12944
+会话 ID: 69 序列号: 25109
+
+#5 2022-04-25 23:28:10,137 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 13524
+会话 ID: 18 序列号: 45820
+
+#145 2022-04-26 23:59:45,129 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220426 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11156
+会话 ID: 21 序列号: 17536
+
+#7 2022-04-27 00:00:04,598 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 4184
+会话 ID: 205 序列号: 40173
+
+#145 2022-04-27 00:05:39,944 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1448
+会话 ID: 133 序列号: 30900
+
+#124 2022-04-27 00:15:37,087 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 344
+会话 ID: 69 序列号: 26594
+
+#69 2022-04-27 00:15:56,553 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220427 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 13748
+会话 ID: 209 序列号: 64653
+
+#37 2022-04-27 00:55:01,177 Dao.dll SysFlowDao.Get 未将对象引用设置到对象的实例。
+ 在 Dao.SysFlowDao.Get(SysFlow sysFlow)
+
+#23 2022-04-27 11:32:27,691 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220427 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 10716
+会话 ID: 20 序列号: 9639
+
+#32 2022-04-27 11:32:47,001 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 8244
+会话 ID: 136 序列号: 9702
+
+#19 2022-04-27 14:47:06,194 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 4364
+会话 ID: 18 序列号: 53123
+
+#64 2022-04-27 14:47:25,594 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220427 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 12472
+会话 ID: 67 序列号: 107
+
+#30 2022-04-27 15:10:12,093 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220427 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11728
+会话 ID: 15 序列号: 43421
+
+#21 2022-04-27 15:10:31,612 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 8000
+会话 ID: 196 序列号: 37075
+
+#46 2022-04-27 15:33:12,950 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 6180
+会话 ID: 17 序列号: 37044
+
+#46 2022-04-27 15:33:41,213 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 8448
+会话 ID: 203 序列号: 41050
+
+#5 2022-04-27 22:21:06,598 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 7780
+会话 ID: 209 序列号: 5557
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#15 2022-04-27 22:51:51,165 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220427 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 4844
+会话 ID: 17 序列号: 37683
+
+#14 2022-04-27 22:57:48,002 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 6864
+会话 ID: 196 序列号: 38297
+
+#37 2022-04-27 22:58:12,732 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 12960
+会话 ID: 136 序列号: 10086
+
+#26 2022-04-27 22:58:39,974 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 10032
+会话 ID: 142 序列号: 21220
+
+#47 2022-04-29 07:55:52,772 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 16256
+会话 ID: 209 序列号: 7045
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#50 2022-04-29 08:01:26,368 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220429 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 10744
+会话 ID: 21 序列号: 27701
+
+#63 2022-04-29 08:01:45,600 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11040
+会话 ID: 144 序列号: 9728
+
+#56 2022-04-29 15:16:51,387 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 16404
+会话 ID: 208 序列号: 5357
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#56 2022-04-29 15:17:27,946 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 5848
+会话 ID: 16 序列号: 32693
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#16 2022-04-29 15:17:46,940 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 8556
+会话 ID: 207 序列号: 51867
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#80 2022-04-29 15:18:06,212 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 8032
+会话 ID: 15 序列号: 49369
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#53 2022-04-29 16:19:34,117 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220429 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7444
+会话 ID: 16 序列号: 33621
+
+#17 2022-04-29 16:19:53,591 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 4800
+会话 ID: 212 序列号: 60930
+
+#46 2022-04-29 16:23:07,992 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_CLIENT Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 16392
+会话 ID: 21 序列号: 29658
+
+#66 2022-04-29 16:23:38,585 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_CLIENT Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 15364
+会话 ID: 208 序列号: 6082
+
diff --git a/web/web/logs/logx.txt b/web/web/logs/logx.txt
index 3ede951..23bec1a 100644
--- a/web/web/logs/logx.txt
+++ b/web/web/logs/logx.txt
@@ -654,3 +654,745 @@
#20 2022-02-16 17:24:53,794 Common.dll OracleHelper.ExecuteScalar SQL=select count(1) FROM GW_AUDIT_CACHE ca left join gw_op op on ca.op_id=op.op_id WHERE ca.AP_SUBMIT_TIME BETWEEN :START_TIME AND :END_TIME AND (ca.MSG_CONTENT LIKE :CONTENT OR :CONTENT='%%') AND ca.AUDITING_STATUS=:AUDITING_STATUS and op.OP_NAME=移动通道
Message=ORA-00904: "移动通道": 标识符无效
>>>>>>> Stashed changes
+#36 2022-03-21 00:37:11,743 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7008
+会话 ID: 73 序列号: 3456
+
+#9 2022-03-21 00:37:11,744 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 7784
+会话 ID: 200 序列号: 3327
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#7 2022-03-21 00:40:12,986 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1160
+会话 ID: 14 序列号: 6599
+
+#7 2022-03-21 00:42:12,726 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220321 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7676
+会话 ID: 134 序列号: 3609
+
+#35 2022-03-21 00:48:59,108 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7488
+会话 ID: 72 序列号: 2827
+
+#22 2022-03-21 00:49:18,562 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220321 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7180
+会话 ID: 16 序列号: 4733
+
+#39 2022-03-21 00:51:08,010 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7308
+会话 ID: 195 序列号: 4472
+
+#16 2022-03-21 00:51:35,782 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 712
+会话 ID: 139 序列号: 389
+
+#40 2022-03-21 00:58:01,084 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220321 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7172
+会话 ID: 206 序列号: 104
+
+#34 2022-03-21 00:58:20,626 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 3328
+会话 ID: 77 序列号: 28
+
+#68 2022-03-31 02:38:57,384 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 12584
+会话 ID: 133 序列号: 58839
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#61 2022-03-31 03:41:16,261 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-30 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#61 2022-03-31 03:41:16,301 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#29 2022-03-31 03:43:54,989 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-30 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#29 2022-03-31 03:43:55,017 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#45 2022-03-31 03:44:03,573 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#45 2022-03-31 03:44:03,589 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#61 2022-03-31 03:44:23,873 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220331 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1116
+会话 ID: 207 序列号: 37854
+
+#29 2022-03-31 03:44:43,222 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11496
+会话 ID: 74 序列号: 5973
+
+#45 2022-03-31 03:45:02,368 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 AND 2022-04-01 ) T Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7596
+会话 ID: 201 序列号: 49901
+
+#45 2022-03-31 03:45:02,385 Dao.dll GwOrderDao.LoadInfoList ORA-03113: 通信通道的文件结尾
+进程 ID: 7596
+会话 ID: 201 序列号: 49901
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#61 2022-03-31 03:45:13,034 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#61 2022-03-31 03:45:13,050 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#61 2022-03-31 03:46:12,333 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-04-01 AND 2022-04-01 ) T Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 6272
+会话 ID: 72 序列号: 18963
+
+#61 2022-03-31 03:46:12,349 Dao.dll GwOrderDao.LoadInfoList ORA-03113: 通信通道的文件结尾
+进程 ID: 6272
+会话 ID: 72 序列号: 18963
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#45 2022-03-31 03:46:15,419 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-30 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#45 2022-03-31 03:46:15,442 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#64 2022-03-31 03:47:30,072 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-30 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#64 2022-03-31 03:47:30,088 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#64 2022-03-31 03:47:37,216 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-10 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#64 2022-03-31 03:47:37,236 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#64 2022-03-31 03:50:06,744 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-10 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#64 2022-03-31 03:50:06,761 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#17 2022-03-31 03:50:37,525 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_OP order BY OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7160
+会话 ID: 15 序列号: 40808
+
+#64 2022-03-31 03:56:17,282 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-30 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#64 2022-03-31 03:56:17,306 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#17 2022-03-31 03:56:25,686 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-10 AND 2022-04-01 ) T Message=ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+
+#17 2022-03-31 03:57:30,596 Dao.dll GwOrderDao.LoadInfoList ORA-00932: 数据类型不一致: 应为 DATE, 但却获得 NUMBER
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#61 2022-03-31 03:59:48,236 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-10 AND 2022-04-01 ) T Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 9200
+会话 ID: 133 序列号: 61737
+
+#61 2022-03-31 04:01:34,816 Dao.dll GwOrderDao.LoadInfoList ORA-03113: 通信通道的文件结尾
+进程 ID: 9200
+会话 ID: 133 序列号: 61737
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount)
+
+#61 2022-03-31 04:02:00,393 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_OP order BY OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1340
+会话 ID: 200 序列号: 25647
+
+#28 2022-03-31 04:02:15,016 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN '2022-03-30' AND '2022-04-01' ) T Message=ORA-01861: 文字与格式字符串不匹配
+
+#28 2022-03-31 04:02:15,041 Dao.dll GwOrderDao.LoadInfoList ORA-01861: 文字与格式字符串不匹配
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount)
+
+#61 2022-03-31 04:02:25,909 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN '2022-03-23' AND '2022-04-01' ) T Message=ORA-01861: 文字与格式字符串不匹配
+
+#61 2022-03-31 04:03:37,152 Dao.dll GwOrderDao.LoadInfoList ORA-01861: 文字与格式字符串不匹配
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, String startDate, String endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount)
+
+#61 2022-03-31 04:08:54,008 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_OP order BY OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11356
+会话 ID: 11 序列号: 1737
+
+#7 2022-03-31 04:10:03,457 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-30 00:00:00 AND 2022-04-01 00:00:00 ) T Message=ORA-00905: 缺失关键字
+
+#7 2022-03-31 04:10:03,492 Dao.dll GwOrderDao.LoadInfoList ORA-00905: 缺失关键字
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, DateTime startDate, DateTime endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#11 2022-03-31 04:10:11,724 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 00:00:00 AND 2022-04-01 00:00:00 ) T Message=ORA-00905: 缺失关键字
+
+#11 2022-03-31 04:10:11,740 Dao.dll GwOrderDao.LoadInfoList ORA-00905: 缺失关键字
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, DateTime startDate, DateTime endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#9 2022-03-31 04:10:29,921 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 00:00:00 AND 2022-04-01 00:00:00 ) T Message=ORA-00905: 缺失关键字
+
+#9 2022-03-31 04:10:29,937 Dao.dll GwOrderDao.LoadInfoList ORA-00905: 缺失关键字
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, DateTime startDate, DateTime endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#8 2022-03-31 04:11:30,513 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 00:00:00 AND 2022-04-01 00:00:00 ) T Message=ORA-00905: 缺失关键字
+
+#8 2022-03-31 04:11:30,529 Dao.dll GwOrderDao.LoadInfoList ORA-00905: 缺失关键字
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, DateTime startDate, DateTime endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#9 2022-03-31 04:14:02,931 Common.dll OracleHelper.ExecuteReader SQL=select count(*) as count FROM ( SELECT GWO.*, GWC.CLIENT_NAME FROM GW_ORDER GWO LEFT JOIN GW_SP GWS ON GWS.SP_ID = GWO.SP_ID LEFT JOIN GW_CLIENT GWC ON GWC.CLIENT_ID = GWO.CLIENT_ID WHERE 1=1 AND GWO.STATUS IN (0, 1) AND GWO.CREATE_TIME BETWEEN 2022-03-23 00:00:00 AND 2022-04-01 00:00:00 ) T Message=ORA-00905: 缺失关键字
+
+#9 2022-03-31 04:14:45,999 Dao.dll GwOrderDao.LoadInfoList ORA-00905: 缺失关键字
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 113
+ 在 Dao.GwOrderDao.LoadInfoList(String spId, String clientId, String clientName, Int32 flag, DateTime startDate, DateTime endDate, Int32 pageSize, Int32 PageIndex, Int32& recordcount) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwOrderDao.cs:行号 88
+
+#7 2022-03-31 04:33:17,699 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7880
+会话 ID: 145 序列号: 10
+
+#25 2022-03-31 04:38:29,628 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220331 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1152
+会话 ID: 17 序列号: 1772
+
+#23 2022-03-31 16:46:15,119 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 11340
+会话 ID: 205 序列号: 50957
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#8 2022-03-31 16:53:15,014 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 2000
+会话 ID: 79 序列号: 1018
+
+#21 2022-03-31 16:53:34,118 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220331 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 9296
+会话 ID: 212 序列号: 3228
+
+#18 2022-03-31 17:05:15,999 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7400
+会话 ID: 139 序列号: 57391
+
+#20 2022-03-31 17:11:15,191 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_OP order BY OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 12896
+会话 ID: 205 序列号: 52285
+
+#42 2022-04-01 09:34:46,186 Common.dll OracleHelper.ExecuteReader ORA-00942: 表或视图不存在
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#42 2022-04-01 09:34:50,161 Dao.dll GwSmDao.LoadInfoList ORA-00942: 表或视图不存在select count(*) as count from LG_SM_20220131 sm left join GW_OP op on sm.op_id=op.op_id where 1=1 and sm.AP_SUBMIT_TIME BETWEEN :BEGIN_TIME AND :END_TIME
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 227
+ 在 Dao.GwSmDao.LoadInfoList(String apMID, String opName, String clientID, String spID, String destnationId, String sDate, String beginTime, String endTime, String content, String opstat, Int32 TStatus, Int32& recordcount, Int32 pageSize, Int32 pageIndex, String ReSend) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwSmDao.cs:行号 406
+
+#39 2022-04-01 09:35:00,742 Common.dll OracleHelper.ExecuteReader ORA-00942: 表或视图不存在
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#39 2022-04-01 09:35:00,763 Dao.dll GwSmDao.LoadInfoList ORA-00942: 表或视图不存在select count(*) as count from LG_SM_20211001 sm left join GW_OP op on sm.op_id=op.op_id where 1=1 and sm.AP_SUBMIT_TIME BETWEEN :BEGIN_TIME AND :END_TIME
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 227
+ 在 Dao.GwSmDao.LoadInfoList(String apMID, String opName, String clientID, String spID, String destnationId, String sDate, String beginTime, String endTime, String content, String opstat, Int32 TStatus, Int32& recordcount, Int32 pageSize, Int32 pageIndex, String ReSend) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwSmDao.cs:行号 406
+
+#39 2022-04-01 09:35:23,454 Common.dll OracleHelper.ExecuteReader ORA-00942: 表或视图不存在
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#39 2022-04-01 09:35:23,481 Dao.dll GwDmDao.LoadInfoList ORA-00942: 表或视图不存在 select count(*) as count from LG_DM_20211201 where 1=1
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 227
+ 在 Dao.GwDmDao.LoadInfoList(String ApID, String OpID, String spID, String DestnationId, String sDate, Int32& recordcount, Int32 pageSize, Int32 PageIndex) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwDmDao.cs:行号 52
+
+#39 2022-04-01 09:35:34,169 Common.dll OracleHelper.ExecuteReader ORA-00942: 表或视图不存在
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#39 2022-04-01 09:35:34,185 Dao.dll GwDmDao.LoadInfoList ORA-00942: 表或视图不存在 select count(*) as count from LG_DM_20200115 where 1=1
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 227
+ 在 Dao.GwDmDao.LoadInfoList(String ApID, String OpID, String spID, String DestnationId, String sDate, Int32& recordcount, Int32 pageSize, Int32 PageIndex) 位置 C:\AYZH\work\Git_Rep\SMGW_NewWeb\web\Dao\GwDmDao.cs:行号 52
+
+#62 2022-04-13 10:25:04,410 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 9504
+会话 ID: 205 序列号: 25061
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#7 2022-04-13 10:30:50,008 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220413 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 9916
+会话 ID: 204 序列号: 37226
+
+#61 2022-04-13 10:31:09,611 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 9400
+会话 ID: 146 序列号: 45532
+
+#7 2022-04-13 10:33:42,410 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 10060
+会话 ID: 72 序列号: 27318
+
+#7 2022-04-13 10:39:48,992 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220413 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7744
+会话 ID: 139 序列号: 33341
+
+#60 2022-04-13 10:40:08,472 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 12772
+会话 ID: 19 序列号: 45105
+
+#35 2022-04-13 15:04:17,914 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 12212
+会话 ID: 77 序列号: 17059
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#29 2022-04-14 09:01:27,250 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_CLIENT Message=ORA-12571: TNS: 包写入程序失败
+
+#11 2022-04-18 12:12:48,369 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 11472
+会话 ID: 145 序列号: 57954
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#56 2022-04-18 12:18:50,712 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220418 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11044
+会话 ID: 146 序列号: 57041
+
+#12 2022-04-18 12:19:09,861 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1008
+会话 ID: 77 序列号: 25608
+
+#11 2022-04-18 12:21:07,679 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_CLIENT Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 4996
+会话 ID: 78 序列号: 39675
+
+#20 2022-04-18 12:21:42,286 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_CLIENT Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7264
+会话 ID: 19 序列号: 1251
+
+#32 2022-04-19 16:25:21,592 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220419 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-00942: 表或视图不存在
+
+#57 2022-04-19 16:31:38,212 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11472
+会话 ID: 72 序列号: 40490
+
+#77 2022-04-19 18:35:29,267 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 10872
+会话 ID: 82 序列号: 36454
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#25 2022-04-19 18:35:33,119 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220419 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-00942: 表或视图不存在
+
+#77 2022-04-19 18:41:31,055 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 992
+会话 ID: 11 序列号: 28892
+
+#28 2022-04-19 18:52:42,815 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 10212
+会话 ID: 212 序列号: 18440
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#14 2022-04-22 08:23:38,988 Common.dll OracleHelper.ExecuteReader ORA-12571: TNS: 包写入程序失败
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#13 2022-04-22 08:33:11,967 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220422 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 9836
+会话 ID: 209 序列号: 57680
+
+#17 2022-04-22 08:33:31,194 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7540
+会话 ID: 139 序列号: 8489
+
+#56 2022-04-22 08:33:50,278 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 5408
+会话 ID: 203 序列号: 19804
+
+#84 2022-04-22 08:44:13,910 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 5184
+会话 ID: 143 序列号: 11866
+
+#88 2022-04-22 11:31:06,133 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11156
+会话 ID: 11 序列号: 38047
+
+#7 2022-04-25 22:58:25,334 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 13228
+会话 ID: 17 序列号: 34550
+
+#51 2022-04-25 23:19:53,698 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220425 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 6084
+会话 ID: 136 序列号: 3887
+
+#54 2022-04-25 23:20:12,944 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1432
+会话 ID: 78 序列号: 49284
+
+#7 2022-04-25 23:27:51,078 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220425 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 12944
+会话 ID: 69 序列号: 25109
+
+#5 2022-04-25 23:28:10,137 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 13524
+会话 ID: 18 序列号: 45820
+
+#145 2022-04-26 23:59:45,129 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220426 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11156
+会话 ID: 21 序列号: 17536
+
+#7 2022-04-27 00:00:04,598 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 4184
+会话 ID: 205 序列号: 40173
+
+#145 2022-04-27 00:05:39,944 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 1448
+会话 ID: 133 序列号: 30900
+
+#124 2022-04-27 00:15:37,087 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 344
+会话 ID: 69 序列号: 26594
+
+#69 2022-04-27 00:15:56,553 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220427 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 13748
+会话 ID: 209 序列号: 64653
+
+#37 2022-04-27 00:55:01,177 Dao.dll SysFlowDao.Get 未将对象引用设置到对象的实例。
+ 在 Dao.SysFlowDao.Get(SysFlow sysFlow)
+
+#23 2022-04-27 11:32:27,691 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220427 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 10716
+会话 ID: 20 序列号: 9639
+
+#32 2022-04-27 11:32:47,001 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 8244
+会话 ID: 136 序列号: 9702
+
+#19 2022-04-27 14:47:06,194 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 4364
+会话 ID: 18 序列号: 53123
+
+#64 2022-04-27 14:47:25,594 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220427 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 12472
+会话 ID: 67 序列号: 107
+
+#30 2022-04-27 15:10:12,093 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220427 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11728
+会话 ID: 15 序列号: 43421
+
+#21 2022-04-27 15:10:31,612 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 8000
+会话 ID: 196 序列号: 37075
+
+#46 2022-04-27 15:33:12,950 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 6180
+会话 ID: 17 序列号: 37044
+
+#46 2022-04-27 15:33:41,213 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 8448
+会话 ID: 203 序列号: 41050
+
+#5 2022-04-27 22:21:06,598 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 7780
+会话 ID: 209 序列号: 5557
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#15 2022-04-27 22:51:51,165 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220427 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 4844
+会话 ID: 17 序列号: 37683
+
+#14 2022-04-27 22:57:48,002 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 6864
+会话 ID: 196 序列号: 38297
+
+#37 2022-04-27 22:58:12,732 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 12960
+会话 ID: 136 序列号: 10086
+
+#26 2022-04-27 22:58:39,974 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_AP Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 10032
+会话 ID: 142 序列号: 21220
+
+#47 2022-04-29 07:55:52,772 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 16256
+会话 ID: 209 序列号: 7045
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#50 2022-04-29 08:01:26,368 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220429 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 10744
+会话 ID: 21 序列号: 27701
+
+#63 2022-04-29 08:01:45,600 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 11040
+会话 ID: 144 序列号: 9728
+
+#56 2022-04-29 15:16:51,387 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 16404
+会话 ID: 208 序列号: 5357
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#56 2022-04-29 15:17:27,946 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 5848
+会话 ID: 16 序列号: 32693
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#16 2022-04-29 15:17:46,940 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 8556
+会话 ID: 207 序列号: 51867
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#80 2022-04-29 15:18:06,212 Common.dll OracleHelper.ExecuteReader ORA-03113: 通信通道的文件结尾
+进程 ID: 8032
+会话 ID: 15 序列号: 49369
+ 在 Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, String procedure, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleException.HandleError(Int32 errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, Object src, Boolean bCheck)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(Boolean requery, Boolean fillRequest, CommandBehavior behavior)
+ 在 Oracle.DataAccess.Client.OracleCommand.ExecuteReader(CommandBehavior behavior)
+ 在 Common.OracleHelper.ExecuteReader(String sql, OracleConnection x, OracleParameter[] cmdParms) 位置 D:\Company\SMGW_NewWeb\web\Common\OracleHelper.cs:行号 219
+
+#53 2022-04-29 16:19:34,117 Common.dll OracleHelper.ExecuteReader SQL=select A.*,NVL(b.OP_OUT_COUNT,0) OP_OUT_COUNT,NVL(B.OP_SUCCESS_COUNT,0) OP_SUCCESS_COUNT,NVL(b.OP_FAILED_COUNT,0) OP_FAILED_COUNT FROM GW_OP A LEFT JOIN
+ (select OP_ID,NVL(SUM(OP_FEE_COUNT),0) OP_OUT_COUNT,
+ NVL(SUM(CASE WHEN STATUS=4 THEN OP_FEE_COUNT ELSE 0 END),0) OP_SUCCESS_COUNT,
+ NVL(SUM(CASE WHEN STATUS=5 THEN OP_FEE_COUNT ELSE 0 END),0) OP_FAILED_COUNT
+ from LG_SM_20220429 where OP_SUBMIT_TIME > SYSDATE - 5.0/1440 GROUP BY OP_ID) b ON A.OP_ID = b.OP_ID WHERE a.OP_STATUS=1 ORDER BY a.OP_ID ASC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 7444
+会话 ID: 16 序列号: 33621
+
+#17 2022-04-29 16:19:53,591 Common.dll OracleHelper.Execute SQL=SELECT * FROM GW_ALARM_LOG WHERE RESTORE_FLAG=0 and rownum < 10 ORDER BY ALARM_ID DESC Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 4800
+会话 ID: 212 序列号: 60930
+
+#46 2022-04-29 16:23:07,992 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_CLIENT Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 16392
+会话 ID: 21 序列号: 29658
+
+#66 2022-04-29 16:23:38,585 Common.dll OracleHelper.ExecuteReader SQL=SELECT * FROM GW_CLIENT Message=ORA-03113: 通信通道的文件结尾
+进程 ID: 15364
+会话 ID: 208 序列号: 6082
+
diff --git a/web/web/static/select2/select2-bootstrap.css b/web/web/static/select2/select2-bootstrap.css
new file mode 100644
index 0000000..69924c2
--- /dev/null
+++ b/web/web/static/select2/select2-bootstrap.css
@@ -0,0 +1,7 @@
+/*!
+ * Select2 Bootstrap Theme v0.1.0-beta.10 (https://select2.github.io/select2-bootstrap-theme)
+ * Copyright 2015-2017 Florian Kissling and contributors (https://github.com/select2/select2-bootstrap-theme/graphs/contributors)
+ * Licensed under MIT (https://github.com/select2/select2-bootstrap-theme/blob/master/LICENSE)
+ */
+
+.select2-container--bootstrap{display:block}.select2-container--bootstrap .select2-selection{background-color:#fff;border:1px solid #e5e6e7;border-radius:4px;color:#555;font-size:14px;outline:0}.select2-container--bootstrap .select2-selection.form-control{border-radius:4px}.select2-container--bootstrap .select2-search--dropdown .select2-search__field{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);background-color:#fff;border:1px solid #ccc;border-radius:4px;color:#555;font-size:14px}.select2-container--bootstrap .select2-search__field{outline:0}.select2-container--bootstrap .select2-search__field::-webkit-input-placeholder{color:#999}.select2-container--bootstrap .select2-search__field:-moz-placeholder{color:#999}.select2-container--bootstrap .select2-search__field::-moz-placeholder{color:#999;opacity:1}.select2-container--bootstrap .select2-search__field:-ms-input-placeholder{color:#999}.select2-container--bootstrap .select2-results__option{padding:6px 12px}.select2-container--bootstrap .select2-results__option[role=group]{padding:0}.select2-container--bootstrap .select2-results__option[aria-disabled=true]{color:#777;cursor:not-allowed}.select2-container--bootstrap .select2-results__option[aria-selected=true]{background-color:#f5f5f5;color:#262626}.select2-container--bootstrap .select2-results__option--highlighted[aria-selected]{background-color:#337ab7;color:#fff}.select2-container--bootstrap .select2-results__option .select2-results__option{padding:6px 12px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option{margin-left:-12px;padding-left:24px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-24px;padding-left:36px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-36px;padding-left:48px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-48px;padding-left:60px}.select2-container--bootstrap .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-60px;padding-left:72px}.select2-container--bootstrap .select2-results__group{color:#777;display:block;padding:6px 12px;font-size:12px;line-height:1.42857143;white-space:nowrap}.select2-container--bootstrap.select2-container--focus .select2-selection,.select2-container--bootstrap.select2-container--open .select2-selection{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;border-color:#66afe9}.select2-container--bootstrap.select2-container--open .select2-selection .select2-selection__arrow b{border-color:transparent transparent #999;border-width:0 4px 4px}.select2-container--bootstrap.select2-container--open.select2-container--below .select2-selection{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom-color:transparent}.select2-container--bootstrap.select2-container--open.select2-container--above .select2-selection{border-top-right-radius:0;border-top-left-radius:0;border-top-color:transparent}.select2-container--bootstrap .select2-selection__clear{color:#999;cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--bootstrap .select2-selection__clear:hover{color:#333}.select2-container--bootstrap.select2-container--disabled .select2-selection{border-color:#ccc;-webkit-box-shadow:none;box-shadow:none}.select2-container--bootstrap.select2-container--disabled .select2-search__field,.select2-container--bootstrap.select2-container--disabled .select2-selection{cursor:not-allowed}.select2-container--bootstrap.select2-container--disabled .select2-selection,.select2-container--bootstrap.select2-container--disabled .select2-selection--multiple .select2-selection__choice{background-color:#eee}.select2-container--bootstrap.select2-container--disabled .select2-selection--multiple .select2-selection__choice__remove,.select2-container--bootstrap.select2-container--disabled .select2-selection__clear{display:none}.select2-container--bootstrap .select2-dropdown{-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);border-color:#66afe9;overflow-x:hidden;margin-top:-1px}.select2-container--bootstrap .select2-dropdown--above{-webkit-box-shadow:0 -6px 12px rgba(0,0,0,.175);box-shadow:0 -6px 12px rgba(0,0,0,.175);margin-top:1px}.select2-container--bootstrap .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--bootstrap .select2-selection--single{height:31px;line-height:1.42857143;padding:4px 6px 4px}.select2-container--bootstrap .select2-selection--single .select2-selection__arrow{position:absolute;bottom:0;right:12px;top:0;width:4px}.select2-container--bootstrap .select2-selection--single .select2-selection__arrow b{border-color:#999 transparent transparent;border-style:solid;border-width:4px 4px 0;height:0;left:0;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--bootstrap .select2-selection--single .select2-selection__rendered{color:#555;padding:0}.select2-container--bootstrap .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--bootstrap .select2-selection--multiple{min-height:31px;padding:0;height:auto}.select2-container--bootstrap .select2-selection--multiple .select2-selection__rendered{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;line-height:1.42857143;list-style:none;margin:0;overflow:hidden;padding:0;width:100%;text-overflow:ellipsis;white-space:nowrap}.select2-container--bootstrap .select2-selection--multiple .select2-selection__placeholder{color:#999;float:left;margin-top:5px}.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice{color:#fff;background:#1AB394;border:1px solid #1AB394;border-radius:4px;cursor:default;float:left;margin:5px 0 0 6px;padding:0 6px}.select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field{background:0 0;padding:4px 6px 4px;height:31px;line-height:1.42857143;margin-top:0;min-width:5em}.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove{color:#fff;cursor:pointer;display:inline-block;font-weight:700;margin-right:3px}.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--bootstrap .select2-selection--multiple .select2-selection__clear{margin-top:6px}.form-group-sm .select2-container--bootstrap .select2-selection--single,.input-group-sm .select2-container--bootstrap .select2-selection--single,.select2-container--bootstrap .select2-selection--single.input-sm{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 22px 5px 10px}.form-group-sm .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,.input-group-sm .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,.select2-container--bootstrap .select2-selection--single.input-sm .select2-selection__arrow b{margin-left:-5px}.form-group-sm .select2-container--bootstrap .select2-selection--multiple,.input-group-sm .select2-container--bootstrap .select2-selection--multiple,.select2-container--bootstrap .select2-selection--multiple.input-sm{min-height:30px;border-radius:3px}.form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,.input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,.select2-container--bootstrap .select2-selection--multiple.input-sm .select2-selection__choice{font-size:12px;line-height:1.5;margin:4px 0 0 5px;padding:0 5px}.form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,.select2-container--bootstrap .select2-selection--multiple.input-sm .select2-search--inline .select2-search__field{padding:0 10px;font-size:12px;height:28px;line-height:1.5}.form-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,.input-group-sm .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,.select2-container--bootstrap .select2-selection--multiple.input-sm .select2-selection__clear{margin-top:5px}.form-group-lg .select2-container--bootstrap .select2-selection--single,.input-group-lg .select2-container--bootstrap .select2-selection--single,.select2-container--bootstrap .select2-selection--single.input-lg{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 31px 10px 16px}.form-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow,.input-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow,.select2-container--bootstrap .select2-selection--single.input-lg .select2-selection__arrow{width:5px}.form-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,.input-group-lg .select2-container--bootstrap .select2-selection--single .select2-selection__arrow b,.select2-container--bootstrap .select2-selection--single.input-lg .select2-selection__arrow b{border-width:5px 5px 0;margin-left:-10px;margin-top:-2.5px}.form-group-lg .select2-container--bootstrap .select2-selection--multiple,.input-group-lg .select2-container--bootstrap .select2-selection--multiple,.select2-container--bootstrap .select2-selection--multiple.input-lg{min-height:46px;border-radius:6px}.form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,.input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__choice,.select2-container--bootstrap .select2-selection--multiple.input-lg .select2-selection__choice{font-size:18px;line-height:1.3333333;border-radius:4px;margin:9px 0 0 8px;padding:0 10px}.form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-search--inline .select2-search__field,.select2-container--bootstrap .select2-selection--multiple.input-lg .select2-search--inline .select2-search__field{padding:0 16px;font-size:18px;height:44px;line-height:1.3333333}.form-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,.input-group-lg .select2-container--bootstrap .select2-selection--multiple .select2-selection__clear,.select2-container--bootstrap .select2-selection--multiple.input-lg .select2-selection__clear{margin-top:10px}.input-group-lg .select2-container--bootstrap .select2-selection.select2-container--open .select2-selection--single .select2-selection__arrow b,.select2-container--bootstrap .select2-selection.input-lg.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #999;border-width:0 5px 5px}.select2-container--bootstrap[dir=rtl] .select2-selection--single{padding-left:24px;padding-right:12px}.select2-container--bootstrap[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:0;padding-left:0;text-align:right}.select2-container--bootstrap[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--bootstrap[dir=rtl] .select2-selection--single .select2-selection__arrow{left:12px;right:auto}.select2-container--bootstrap[dir=rtl] .select2-selection--single .select2-selection__arrow b{margin-left:0}.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:0;margin-right:6px}.select2-container--bootstrap[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.has-warning .select2-dropdown,.has-warning .select2-selection{border-color:#8a6d3b}.has-warning .select2-container--focus .select2-selection,.has-warning .select2-container--open .select2-selection{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;border-color:#66512c}.has-warning.select2-drop-active{border-color:#66512c}.has-warning.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#66512c}.has-error .select2-dropdown,.has-error .select2-selection{border-color:#a94442}.has-error .select2-container--focus .select2-selection,.has-error .select2-container--open .select2-selection{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;border-color:#843534}.has-error.select2-drop-active{border-color:#843534}.has-error.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#843534}.has-success .select2-dropdown,.has-success .select2-selection{border-color:#3c763d}.has-success .select2-container--focus .select2-selection,.has-success .select2-container--open .select2-selection{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;border-color:#2b542c}.has-success.select2-drop-active{border-color:#2b542c}.has-success.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#2b542c}.input-group>.select2-hidden-accessible:first-child+.select2-container--bootstrap>.selection>.select2-selection,.input-group>.select2-hidden-accessible:first-child+.select2-container--bootstrap>.selection>.select2-selection.form-control{border-bottom-right-radius:0;border-top-right-radius:0}.input-group>.select2-hidden-accessible:not(:first-child)+.select2-container--bootstrap:not(:last-child)>.selection>.select2-selection,.input-group>.select2-hidden-accessible:not(:first-child)+.select2-container--bootstrap:not(:last-child)>.selection>.select2-selection.form-control{border-radius:0}.input-group>.select2-hidden-accessible:not(:first-child):not(:last-child)+.select2-container--bootstrap:last-child>.selection>.select2-selection,.input-group>.select2-hidden-accessible:not(:first-child):not(:last-child)+.select2-container--bootstrap:last-child>.selection>.select2-selection.form-control{border-bottom-left-radius:0;border-top-left-radius:0}.input-group>.select2-container--bootstrap{display:table;table-layout:fixed;position:relative;z-index:2;width:100%;margin-bottom:0}.input-group>.select2-container--bootstrap>.selection>.select2-selection.form-control{float:none}.input-group>.select2-container--bootstrap.select2-container--focus,.input-group>.select2-container--bootstrap.select2-container--open{z-index:3}.input-group>.select2-container--bootstrap,.input-group>.select2-container--bootstrap .input-group-btn,.input-group>.select2-container--bootstrap .input-group-btn .btn{vertical-align:top}.form-control.select2-hidden-accessible{position:absolute!important;width:1px!important}@media (min-width:768px){.form-inline .select2-container--bootstrap{display:inline-block}}
diff --git a/web/web/static/select2/select2.css b/web/web/static/select2/select2.css
new file mode 100644
index 0000000..ce3afd1
--- /dev/null
+++ b/web/web/static/select2/select2.css
@@ -0,0 +1,484 @@
+.select2-container {
+ box-sizing: border-box;
+ display: inline-block;
+ margin: 0;
+ position: relative;
+ vertical-align: middle; }
+ .select2-container .select2-selection--single {
+ box-sizing: border-box;
+ cursor: pointer;
+ display: block;
+ height: 28px;
+ user-select: none;
+ -webkit-user-select: none; }
+ .select2-container .select2-selection--single .select2-selection__rendered {
+ display: block;
+ padding-left: 8px;
+ padding-right: 20px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap; }
+ .select2-container .select2-selection--single .select2-selection__clear {
+ position: relative; }
+ .select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
+ padding-right: 8px;
+ padding-left: 20px; }
+ .select2-container .select2-selection--multiple {
+ box-sizing: border-box;
+ cursor: pointer;
+ display: block;
+ min-height: 32px;
+ user-select: none;
+ -webkit-user-select: none; }
+ .select2-container .select2-selection--multiple .select2-selection__rendered {
+ display: inline-block;
+ overflow: hidden;
+ padding-left: 8px;
+ text-overflow: ellipsis;
+ white-space: nowrap; }
+ .select2-container .select2-search--inline {
+ float: left; }
+ .select2-container .select2-search--inline .select2-search__field {
+ box-sizing: border-box;
+ border: none;
+ font-size: 100%;
+ margin-top: 5px;
+ padding: 0; }
+ .select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
+ -webkit-appearance: none; }
+
+.select2-dropdown {
+ background-color: white;
+ border: 1px solid #aaa;
+ border-radius: 4px;
+ box-sizing: border-box;
+ display: block;
+ position: absolute;
+ left: -100000px;
+ width: 100%;
+ z-index: 1051; }
+
+.select2-results {
+ display: block; }
+
+.select2-results__options {
+ list-style: none;
+ margin: 0;
+ padding: 0; }
+
+.select2-results__option {
+ padding: 6px;
+ user-select: none;
+ -webkit-user-select: none; }
+ .select2-results__option[aria-selected] {
+ cursor: pointer; }
+
+.select2-container--open .select2-dropdown {
+ left: 0; }
+
+.select2-container--open .select2-dropdown--above {
+ border-bottom: none;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0; }
+
+.select2-container--open .select2-dropdown--below {
+ border-top: none;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0; }
+
+.select2-search--dropdown {
+ display: block;
+ padding: 4px; }
+ .select2-search--dropdown .select2-search__field {
+ padding: 4px;
+ width: 100%;
+ box-sizing: border-box; }
+ .select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
+ -webkit-appearance: none; }
+ .select2-search--dropdown.select2-search--hide {
+ display: none; }
+
+.select2-close-mask {
+ border: 0;
+ margin: 0;
+ padding: 0;
+ display: block;
+ position: fixed;
+ left: 0;
+ top: 0;
+ min-height: 100%;
+ min-width: 100%;
+ height: auto;
+ width: auto;
+ opacity: 0;
+ z-index: 99;
+ background-color: #fff;
+ filter: alpha(opacity=0); }
+
+.select2-hidden-accessible {
+ border: 0 !important;
+ clip: rect(0 0 0 0) !important;
+ -webkit-clip-path: inset(50%) !important;
+ clip-path: inset(50%) !important;
+ height: 1px !important;
+ overflow: hidden !important;
+ padding: 0 !important;
+ position: absolute !important;
+ width: 1px !important;
+ white-space: nowrap !important; }
+
+.select2-container--default .select2-selection--single {
+ background-color: #fff;
+ border: 1px solid #aaa;
+ border-radius: 4px; }
+ .select2-container--default .select2-selection--single .select2-selection__rendered {
+ color: #444;
+ line-height: 28px; }
+ .select2-container--default .select2-selection--single .select2-selection__clear {
+ cursor: pointer;
+ float: right;
+ font-weight: bold; }
+ .select2-container--default .select2-selection--single .select2-selection__placeholder {
+ color: #999; }
+ .select2-container--default .select2-selection--single .select2-selection__arrow {
+ height: 26px;
+ position: absolute;
+ top: 1px;
+ right: 1px;
+ width: 20px; }
+ .select2-container--default .select2-selection--single .select2-selection__arrow b {
+ border-color: #888 transparent transparent transparent;
+ border-style: solid;
+ border-width: 5px 4px 0 4px;
+ height: 0;
+ left: 50%;
+ margin-left: -4px;
+ margin-top: -2px;
+ position: absolute;
+ top: 50%;
+ width: 0; }
+
+.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
+ float: left; }
+
+.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
+ left: 1px;
+ right: auto; }
+
+.select2-container--default.select2-container--disabled .select2-selection--single {
+ background-color: #eee;
+ cursor: default; }
+ .select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
+ display: none; }
+
+.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
+ border-color: transparent transparent #888 transparent;
+ border-width: 0 4px 5px 4px; }
+
+.select2-container--default .select2-selection--multiple {
+ background-color: white;
+ border: 1px solid #aaa;
+ border-radius: 4px;
+ cursor: text; }
+ .select2-container--default .select2-selection--multiple .select2-selection__rendered {
+ box-sizing: border-box;
+ list-style: none;
+ margin: 0;
+ padding: 0 5px;
+ width: 100%; }
+ .select2-container--default .select2-selection--multiple .select2-selection__rendered li {
+ list-style: none; }
+ .select2-container--default .select2-selection--multiple .select2-selection__placeholder {
+ color: #999;
+ margin-top: 5px;
+ float: left; }
+ .select2-container--default .select2-selection--multiple .select2-selection__clear {
+ cursor: pointer;
+ float: right;
+ font-weight: bold;
+ margin-top: 5px;
+ margin-right: 10px; }
+ .select2-container--default .select2-selection--multiple .select2-selection__choice {
+ background-color: #e4e4e4;
+ border: 1px solid #aaa;
+ border-radius: 4px;
+ cursor: default;
+ float: left;
+ margin-right: 5px;
+ margin-top: 5px;
+ padding: 0 5px; }
+ .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
+ color: #999;
+ cursor: pointer;
+ display: inline-block;
+ font-weight: bold;
+ margin-right: 2px; }
+ .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
+ color: #333; }
+
+.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
+ float: right; }
+
+.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
+ margin-left: 5px;
+ margin-right: auto; }
+
+.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
+ margin-left: 2px;
+ margin-right: auto; }
+
+.select2-container--default.select2-container--focus .select2-selection--multiple {
+ border: solid black 1px;
+ outline: 0; }
+
+.select2-container--default.select2-container--disabled .select2-selection--multiple {
+ background-color: #eee;
+ cursor: default; }
+
+.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
+ display: none; }
+
+.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0; }
+
+.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0; }
+
+.select2-container--default .select2-search--dropdown .select2-search__field {
+ border: 1px solid #aaa; }
+
+.select2-container--default .select2-search--inline .select2-search__field {
+ background: transparent;
+ border: none;
+ outline: 0;
+ box-shadow: none;
+ -webkit-appearance: textfield; }
+
+.select2-container--default .select2-results > .select2-results__options {
+ max-height: 200px;
+ overflow-y: auto; }
+
+.select2-container--default .select2-results__option[role=group] {
+ padding: 0; }
+
+.select2-container--default .select2-results__option[aria-disabled=true] {
+ color: #999; }
+
+.select2-container--default .select2-results__option[aria-selected=true] {
+ background-color: #ddd; }
+
+.select2-container--default .select2-results__option .select2-results__option {
+ padding-left: 1em; }
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__group {
+ padding-left: 0; }
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option {
+ margin-left: -1em;
+ padding-left: 2em; }
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
+ margin-left: -2em;
+ padding-left: 3em; }
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
+ margin-left: -3em;
+ padding-left: 4em; }
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
+ margin-left: -4em;
+ padding-left: 5em; }
+ .select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
+ margin-left: -5em;
+ padding-left: 6em; }
+
+.select2-container--default .select2-results__option--highlighted[aria-selected] {
+ background-color: #5897fb;
+ color: white; }
+
+.select2-container--default .select2-results__group {
+ cursor: default;
+ display: block;
+ padding: 6px; }
+
+.select2-container--classic .select2-selection--single {
+ background-color: #f7f7f7;
+ border: 1px solid #aaa;
+ border-radius: 4px;
+ outline: 0;
+ background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
+ background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
+ background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
+ .select2-container--classic .select2-selection--single:focus {
+ border: 1px solid #5897fb; }
+ .select2-container--classic .select2-selection--single .select2-selection__rendered {
+ color: #444;
+ line-height: 28px; }
+ .select2-container--classic .select2-selection--single .select2-selection__clear {
+ cursor: pointer;
+ float: right;
+ font-weight: bold;
+ margin-right: 10px; }
+ .select2-container--classic .select2-selection--single .select2-selection__placeholder {
+ color: #999; }
+ .select2-container--classic .select2-selection--single .select2-selection__arrow {
+ background-color: #ddd;
+ border: none;
+ border-left: 1px solid #aaa;
+ border-top-right-radius: 4px;
+ border-bottom-right-radius: 4px;
+ height: 26px;
+ position: absolute;
+ top: 1px;
+ right: 1px;
+ width: 20px;
+ background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
+ background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
+ background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }
+ .select2-container--classic .select2-selection--single .select2-selection__arrow b {
+ border-color: #888 transparent transparent transparent;
+ border-style: solid;
+ border-width: 5px 4px 0 4px;
+ height: 0;
+ left: 50%;
+ margin-left: -4px;
+ margin-top: -2px;
+ position: absolute;
+ top: 50%;
+ width: 0; }
+
+.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
+ float: left; }
+
+.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
+ border: none;
+ border-right: 1px solid #aaa;
+ border-radius: 0;
+ border-top-left-radius: 4px;
+ border-bottom-left-radius: 4px;
+ left: 1px;
+ right: auto; }
+
+.select2-container--classic.select2-container--open .select2-selection--single {
+ border: 1px solid #5897fb; }
+ .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
+ background: transparent;
+ border: none; }
+ .select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
+ border-color: transparent transparent #888 transparent;
+ border-width: 0 4px 5px 4px; }
+
+.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
+ border-top: none;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
+ background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
+ background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }
+
+.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
+ border-bottom: none;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+ background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
+ background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
+ background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
+ background-repeat: repeat-x;
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }
+
+.select2-container--classic .select2-selection--multiple {
+ background-color: white;
+ border: 1px solid #aaa;
+ border-radius: 4px;
+ cursor: text;
+ outline: 0; }
+ .select2-container--classic .select2-selection--multiple:focus {
+ border: 1px solid #5897fb; }
+ .select2-container--classic .select2-selection--multiple .select2-selection__rendered {
+ list-style: none;
+ margin: 0;
+ padding: 0 5px; }
+ .select2-container--classic .select2-selection--multiple .select2-selection__clear {
+ display: none; }
+ .select2-container--classic .select2-selection--multiple .select2-selection__choice {
+ background-color: #e4e4e4;
+ border: 1px solid #aaa;
+ border-radius: 4px;
+ cursor: default;
+ float: left;
+ margin-right: 5px;
+ margin-top: 5px;
+ padding: 0 5px; }
+ .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
+ color: #888;
+ cursor: pointer;
+ display: inline-block;
+ font-weight: bold;
+ margin-right: 2px; }
+ .select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
+ color: #555; }
+
+.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
+ float: right;
+ margin-left: 5px;
+ margin-right: auto; }
+
+.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
+ margin-left: 2px;
+ margin-right: auto; }
+
+.select2-container--classic.select2-container--open .select2-selection--multiple {
+ border: 1px solid #5897fb; }
+
+.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
+ border-top: none;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0; }
+
+.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
+ border-bottom: none;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0; }
+
+.select2-container--classic .select2-search--dropdown .select2-search__field {
+ border: 1px solid #aaa;
+ outline: 0; }
+
+.select2-container--classic .select2-search--inline .select2-search__field {
+ outline: 0;
+ box-shadow: none; }
+
+.select2-container--classic .select2-dropdown {
+ background-color: white;
+ border: 1px solid transparent; }
+
+.select2-container--classic .select2-dropdown--above {
+ border-bottom: none; }
+
+.select2-container--classic .select2-dropdown--below {
+ border-top: none; }
+
+.select2-container--classic .select2-results > .select2-results__options {
+ max-height: 200px;
+ overflow-y: auto; }
+
+.select2-container--classic .select2-results__option[role=group] {
+ padding: 0; }
+
+.select2-container--classic .select2-results__option[aria-disabled=true] {
+ color: grey; }
+
+.select2-container--classic .select2-results__option--highlighted[aria-selected] {
+ background-color: #3875d7;
+ color: white; }
+
+.select2-container--classic .select2-results__group {
+ cursor: default;
+ display: block;
+ padding: 6px; }
+
+.select2-container--classic.select2-container--open .select2-dropdown {
+ border-color: #5897fb; }
diff --git a/web/web/static/select2/select2.js b/web/web/static/select2/select2.js
new file mode 100644
index 0000000..4a70caf
--- /dev/null
+++ b/web/web/static/select2/select2.js
@@ -0,0 +1,5885 @@
+/*!
+ * Select2 4.0.7
+ * https://select2.github.io
+ *
+ * Released under the MIT license
+ * https://github.com/select2/select2/blob/master/LICENSE.md
+ */
+;(function (factory) {
+ if (typeof define === 'function' && define.amd) {
+ // AMD. Register as an anonymous module.
+ define(['jquery'], factory);
+ } else if (typeof module === 'object' && module.exports) {
+ // Node/CommonJS
+ module.exports = function (root, jQuery) {
+ if (jQuery === undefined) {
+ // require('jQuery') returns a factory that requires window to
+ // build a jQuery instance, we normalize how we use modules
+ // that require this pattern but the window provided is a noop
+ // if it's defined (how jquery works)
+ if (typeof window !== 'undefined') {
+ jQuery = require('jquery');
+ }
+ else {
+ jQuery = require('jquery')(root);
+ }
+ }
+ factory(jQuery);
+ return jQuery;
+ };
+ } else {
+ // Browser globals
+ factory(jQuery);
+ }
+} (function (jQuery) {
+ // This is needed so we can catch the AMD loader configuration and use it
+ // The inner file should be wrapped (by `banner.start.js`) in a function that
+ // returns the AMD loader references.
+ var S2 =(function () {
+ // Restore the Select2 AMD loader so it can be used
+ // Needed mostly in the language files, where the loader is not inserted
+ if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) {
+ var S2 = jQuery.fn.select2.amd;
+ }
+var S2;(function () { if (!S2 || !S2.requirejs) {
+if (!S2) { S2 = {}; } else { require = S2; }
+/**
+ * @license almond 0.3.3 Copyright jQuery Foundation and other contributors.
+ * Released under MIT license, http://github.com/requirejs/almond/LICENSE
+ */
+//Going sloppy to avoid 'use strict' string cost, but strict practices should
+//be followed.
+/*global setTimeout: false */
+
+var requirejs, require, define;
+(function (undef) {
+ var main, req, makeMap, handlers,
+ defined = {},
+ waiting = {},
+ config = {},
+ defining = {},
+ hasOwn = Object.prototype.hasOwnProperty,
+ aps = [].slice,
+ jsSuffixRegExp = /\.js$/;
+
+ function hasProp(obj, prop) {
+ return hasOwn.call(obj, prop);
+ }
+
+ /**
+ * Given a relative module name, like ./something, normalize it to
+ * a real name that can be mapped to a path.
+ * @param {String} name the relative name
+ * @param {String} baseName a real name that the name arg is relative
+ * to.
+ * @returns {String} normalized name
+ */
+ function normalize(name, baseName) {
+ var nameParts, nameSegment, mapValue, foundMap, lastIndex,
+ foundI, foundStarMap, starI, i, j, part, normalizedBaseParts,
+ baseParts = baseName && baseName.split("/"),
+ map = config.map,
+ starMap = (map && map['*']) || {};
+
+ //Adjust any relative paths.
+ if (name) {
+ name = name.split('/');
+ lastIndex = name.length - 1;
+
+ // If wanting node ID compatibility, strip .js from end
+ // of IDs. Have to do this here, and not in nameToUrl
+ // because node allows either .js or non .js to map
+ // to same file.
+ if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {
+ name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');
+ }
+
+ // Starts with a '.' so need the baseName
+ if (name[0].charAt(0) === '.' && baseParts) {
+ //Convert baseName to array, and lop off the last part,
+ //so that . matches that 'directory' and not name of the baseName's
+ //module. For instance, baseName of 'one/two/three', maps to
+ //'one/two/three.js', but we want the directory, 'one/two' for
+ //this normalization.
+ normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);
+ name = normalizedBaseParts.concat(name);
+ }
+
+ //start trimDots
+ for (i = 0; i < name.length; i++) {
+ part = name[i];
+ if (part === '.') {
+ name.splice(i, 1);
+ i -= 1;
+ } else if (part === '..') {
+ // If at the start, or previous value is still ..,
+ // keep them so that when converted to a path it may
+ // still work when converted to a path, even though
+ // as an ID it is less than ideal. In larger point
+ // releases, may be better to just kick out an error.
+ if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') {
+ continue;
+ } else if (i > 0) {
+ name.splice(i - 1, 2);
+ i -= 2;
+ }
+ }
+ }
+ //end trimDots
+
+ name = name.join('/');
+ }
+
+ //Apply map config if available.
+ if ((baseParts || starMap) && map) {
+ nameParts = name.split('/');
+
+ for (i = nameParts.length; i > 0; i -= 1) {
+ nameSegment = nameParts.slice(0, i).join("/");
+
+ if (baseParts) {
+ //Find the longest baseName segment match in the config.
+ //So, do joins on the biggest to smallest lengths of baseParts.
+ for (j = baseParts.length; j > 0; j -= 1) {
+ mapValue = map[baseParts.slice(0, j).join('/')];
+
+ //baseName segment has config, find if it has one for
+ //this name.
+ if (mapValue) {
+ mapValue = mapValue[nameSegment];
+ if (mapValue) {
+ //Match, update name to the new value.
+ foundMap = mapValue;
+ foundI = i;
+ break;
+ }
+ }
+ }
+ }
+
+ if (foundMap) {
+ break;
+ }
+
+ //Check for a star map match, but just hold on to it,
+ //if there is a shorter segment match later in a matching
+ //config, then favor over this star map.
+ if (!foundStarMap && starMap && starMap[nameSegment]) {
+ foundStarMap = starMap[nameSegment];
+ starI = i;
+ }
+ }
+
+ if (!foundMap && foundStarMap) {
+ foundMap = foundStarMap;
+ foundI = starI;
+ }
+
+ if (foundMap) {
+ nameParts.splice(0, foundI, foundMap);
+ name = nameParts.join('/');
+ }
+ }
+
+ return name;
+ }
+
+ function makeRequire(relName, forceSync) {
+ return function () {
+ //A version of a require function that passes a moduleName
+ //value for items that may need to
+ //look up paths relative to the moduleName
+ var args = aps.call(arguments, 0);
+
+ //If first arg is not require('string'), and there is only
+ //one arg, it is the array form without a callback. Insert
+ //a null so that the following concat is correct.
+ if (typeof args[0] !== 'string' && args.length === 1) {
+ args.push(null);
+ }
+ return req.apply(undef, args.concat([relName, forceSync]));
+ };
+ }
+
+ function makeNormalize(relName) {
+ return function (name) {
+ return normalize(name, relName);
+ };
+ }
+
+ function makeLoad(depName) {
+ return function (value) {
+ defined[depName] = value;
+ };
+ }
+
+ function callDep(name) {
+ if (hasProp(waiting, name)) {
+ var args = waiting[name];
+ delete waiting[name];
+ defining[name] = true;
+ main.apply(undef, args);
+ }
+
+ if (!hasProp(defined, name) && !hasProp(defining, name)) {
+ throw new Error('No ' + name);
+ }
+ return defined[name];
+ }
+
+ //Turns a plugin!resource to [plugin, resource]
+ //with the plugin being undefined if the name
+ //did not have a plugin prefix.
+ function splitPrefix(name) {
+ var prefix,
+ index = name ? name.indexOf('!') : -1;
+ if (index > -1) {
+ prefix = name.substring(0, index);
+ name = name.substring(index + 1, name.length);
+ }
+ return [prefix, name];
+ }
+
+ //Creates a parts array for a relName where first part is plugin ID,
+ //second part is resource ID. Assumes relName has already been normalized.
+ function makeRelParts(relName) {
+ return relName ? splitPrefix(relName) : [];
+ }
+
+ /**
+ * Makes a name map, normalizing the name, and using a plugin
+ * for normalization if necessary. Grabs a ref to plugin
+ * too, as an optimization.
+ */
+ makeMap = function (name, relParts) {
+ var plugin,
+ parts = splitPrefix(name),
+ prefix = parts[0],
+ relResourceName = relParts[1];
+
+ name = parts[1];
+
+ if (prefix) {
+ prefix = normalize(prefix, relResourceName);
+ plugin = callDep(prefix);
+ }
+
+ //Normalize according
+ if (prefix) {
+ if (plugin && plugin.normalize) {
+ name = plugin.normalize(name, makeNormalize(relResourceName));
+ } else {
+ name = normalize(name, relResourceName);
+ }
+ } else {
+ name = normalize(name, relResourceName);
+ parts = splitPrefix(name);
+ prefix = parts[0];
+ name = parts[1];
+ if (prefix) {
+ plugin = callDep(prefix);
+ }
+ }
+
+ //Using ridiculous property names for space reasons
+ return {
+ f: prefix ? prefix + '!' + name : name, //fullName
+ n: name,
+ pr: prefix,
+ p: plugin
+ };
+ };
+
+ function makeConfig(name) {
+ return function () {
+ return (config && config.config && config.config[name]) || {};
+ };
+ }
+
+ handlers = {
+ require: function (name) {
+ return makeRequire(name);
+ },
+ exports: function (name) {
+ var e = defined[name];
+ if (typeof e !== 'undefined') {
+ return e;
+ } else {
+ return (defined[name] = {});
+ }
+ },
+ module: function (name) {
+ return {
+ id: name,
+ uri: '',
+ exports: defined[name],
+ config: makeConfig(name)
+ };
+ }
+ };
+
+ main = function (name, deps, callback, relName) {
+ var cjsModule, depName, ret, map, i, relParts,
+ args = [],
+ callbackType = typeof callback,
+ usingExports;
+
+ //Use name if no relName
+ relName = relName || name;
+ relParts = makeRelParts(relName);
+
+ //Call the callback to define the module, if necessary.
+ if (callbackType === 'undefined' || callbackType === 'function') {
+ //Pull out the defined dependencies and pass the ordered
+ //values to the callback.
+ //Default to [require, exports, module] if no deps
+ deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps;
+ for (i = 0; i < deps.length; i += 1) {
+ map = makeMap(deps[i], relParts);
+ depName = map.f;
+
+ //Fast path CommonJS standard dependencies.
+ if (depName === "require") {
+ args[i] = handlers.require(name);
+ } else if (depName === "exports") {
+ //CommonJS module spec 1.1
+ args[i] = handlers.exports(name);
+ usingExports = true;
+ } else if (depName === "module") {
+ //CommonJS module spec 1.1
+ cjsModule = args[i] = handlers.module(name);
+ } else if (hasProp(defined, depName) ||
+ hasProp(waiting, depName) ||
+ hasProp(defining, depName)) {
+ args[i] = callDep(depName);
+ } else if (map.p) {
+ map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
+ args[i] = defined[depName];
+ } else {
+ throw new Error(name + ' missing ' + depName);
+ }
+ }
+
+ ret = callback ? callback.apply(defined[name], args) : undefined;
+
+ if (name) {
+ //If setting exports via "module" is in play,
+ //favor that over return value and exports. After that,
+ //favor a non-undefined return value over exports use.
+ if (cjsModule && cjsModule.exports !== undef &&
+ cjsModule.exports !== defined[name]) {
+ defined[name] = cjsModule.exports;
+ } else if (ret !== undef || !usingExports) {
+ //Use the return value from the function.
+ defined[name] = ret;
+ }
+ }
+ } else if (name) {
+ //May just be an object definition for the module. Only
+ //worry about defining if have a module name.
+ defined[name] = callback;
+ }
+ };
+
+ requirejs = require = req = function (deps, callback, relName, forceSync, alt) {
+ if (typeof deps === "string") {
+ if (handlers[deps]) {
+ //callback in this case is really relName
+ return handlers[deps](callback);
+ }
+ //Just return the module wanted. In this scenario, the
+ //deps arg is the module name, and second arg (if passed)
+ //is just the relName.
+ //Normalize module name, if it contains . or ..
+ return callDep(makeMap(deps, makeRelParts(callback)).f);
+ } else if (!deps.splice) {
+ //deps is a config object, not an array.
+ config = deps;
+ if (config.deps) {
+ req(config.deps, config.callback);
+ }
+ if (!callback) {
+ return;
+ }
+
+ if (callback.splice) {
+ //callback is an array, which means it is a dependency list.
+ //Adjust args if there are dependencies
+ deps = callback;
+ callback = relName;
+ relName = null;
+ } else {
+ deps = undef;
+ }
+ }
+
+ //Support require(['a'])
+ callback = callback || function () {};
+
+ //If relName is a function, it is an errback handler,
+ //so remove it.
+ if (typeof relName === 'function') {
+ relName = forceSync;
+ forceSync = alt;
+ }
+
+ //Simulate async callback;
+ if (forceSync) {
+ main(undef, deps, callback, relName);
+ } else {
+ //Using a non-zero value because of concern for what old browsers
+ //do, and latest browsers "upgrade" to 4 if lower value is used:
+ //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout:
+ //If want a value immediately, use require('id') instead -- something
+ //that works in almond on the global level, but not guaranteed and
+ //unlikely to work in other AMD implementations.
+ setTimeout(function () {
+ main(undef, deps, callback, relName);
+ }, 4);
+ }
+
+ return req;
+ };
+
+ /**
+ * Just drops the config on the floor, but returns req in case
+ * the config return value is used.
+ */
+ req.config = function (cfg) {
+ return req(cfg);
+ };
+
+ /**
+ * Expose module registry for debugging and tooling
+ */
+ requirejs._defined = defined;
+
+ define = function (name, deps, callback) {
+ if (typeof name !== 'string') {
+ throw new Error('See almond README: incorrect module build, no module name');
+ }
+
+ //This module may not have dependencies
+ if (!deps.splice) {
+ //deps is not an array, so probably means
+ //an object literal or factory function for
+ //the value. Adjust args.
+ callback = deps;
+ deps = [];
+ }
+
+ if (!hasProp(defined, name) && !hasProp(waiting, name)) {
+ waiting[name] = [name, deps, callback];
+ }
+ };
+
+ define.amd = {
+ jQuery: true
+ };
+}());
+
+S2.requirejs = requirejs;S2.require = require;S2.define = define;
+}
+}());
+S2.define("almond", function(){});
+
+/* global jQuery:false, $:false */
+S2.define('jquery',[],function () {
+ var _$ = jQuery || $;
+
+ if (_$ == null && console && console.error) {
+ console.error(
+ 'Select2: An instance of jQuery or a jQuery-compatible library was not ' +
+ 'found. Make sure that you are including jQuery before Select2 on your ' +
+ 'web page.'
+ );
+ }
+
+ return _$;
+});
+
+S2.define('select2/utils',[
+ 'jquery'
+], function ($) {
+ var Utils = {};
+
+ Utils.Extend = function (ChildClass, SuperClass) {
+ var __hasProp = {}.hasOwnProperty;
+
+ function BaseConstructor () {
+ this.constructor = ChildClass;
+ }
+
+ for (var key in SuperClass) {
+ if (__hasProp.call(SuperClass, key)) {
+ ChildClass[key] = SuperClass[key];
+ }
+ }
+
+ BaseConstructor.prototype = SuperClass.prototype;
+ ChildClass.prototype = new BaseConstructor();
+ ChildClass.__super__ = SuperClass.prototype;
+
+ return ChildClass;
+ };
+
+ function getMethods (theClass) {
+ var proto = theClass.prototype;
+
+ var methods = [];
+
+ for (var methodName in proto) {
+ var m = proto[methodName];
+
+ if (typeof m !== 'function') {
+ continue;
+ }
+
+ if (methodName === 'constructor') {
+ continue;
+ }
+
+ methods.push(methodName);
+ }
+
+ return methods;
+ }
+
+ Utils.Decorate = function (SuperClass, DecoratorClass) {
+ var decoratedMethods = getMethods(DecoratorClass);
+ var superMethods = getMethods(SuperClass);
+
+ function DecoratedClass () {
+ var unshift = Array.prototype.unshift;
+
+ var argCount = DecoratorClass.prototype.constructor.length;
+
+ var calledConstructor = SuperClass.prototype.constructor;
+
+ if (argCount > 0) {
+ unshift.call(arguments, SuperClass.prototype.constructor);
+
+ calledConstructor = DecoratorClass.prototype.constructor;
+ }
+
+ calledConstructor.apply(this, arguments);
+ }
+
+ DecoratorClass.displayName = SuperClass.displayName;
+
+ function ctr () {
+ this.constructor = DecoratedClass;
+ }
+
+ DecoratedClass.prototype = new ctr();
+
+ for (var m = 0; m < superMethods.length; m++) {
+ var superMethod = superMethods[m];
+
+ DecoratedClass.prototype[superMethod] =
+ SuperClass.prototype[superMethod];
+ }
+
+ var calledMethod = function (methodName) {
+ // Stub out the original method if it's not decorating an actual method
+ var originalMethod = function () {};
+
+ if (methodName in DecoratedClass.prototype) {
+ originalMethod = DecoratedClass.prototype[methodName];
+ }
+
+ var decoratedMethod = DecoratorClass.prototype[methodName];
+
+ return function () {
+ var unshift = Array.prototype.unshift;
+
+ unshift.call(arguments, originalMethod);
+
+ return decoratedMethod.apply(this, arguments);
+ };
+ };
+
+ for (var d = 0; d < decoratedMethods.length; d++) {
+ var decoratedMethod = decoratedMethods[d];
+
+ DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod);
+ }
+
+ return DecoratedClass;
+ };
+
+ var Observable = function () {
+ this.listeners = {};
+ };
+
+ Observable.prototype.on = function (event, callback) {
+ this.listeners = this.listeners || {};
+
+ if (event in this.listeners) {
+ this.listeners[event].push(callback);
+ } else {
+ this.listeners[event] = [callback];
+ }
+ };
+
+ Observable.prototype.trigger = function (event) {
+ var slice = Array.prototype.slice;
+ var params = slice.call(arguments, 1);
+
+ this.listeners = this.listeners || {};
+
+ // Params should always come in as an array
+ if (params == null) {
+ params = [];
+ }
+
+ // If there are no arguments to the event, use a temporary object
+ if (params.length === 0) {
+ params.push({});
+ }
+
+ // Set the `_type` of the first object to the event
+ params[0]._type = event;
+
+ if (event in this.listeners) {
+ this.invoke(this.listeners[event], slice.call(arguments, 1));
+ }
+
+ if ('*' in this.listeners) {
+ this.invoke(this.listeners['*'], arguments);
+ }
+ };
+
+ Observable.prototype.invoke = function (listeners, params) {
+ for (var i = 0, len = listeners.length; i < len; i++) {
+ listeners[i].apply(this, params);
+ }
+ };
+
+ Utils.Observable = Observable;
+
+ Utils.generateChars = function (length) {
+ var chars = '';
+
+ for (var i = 0; i < length; i++) {
+ var randomChar = Math.floor(Math.random() * 36);
+ chars += randomChar.toString(36);
+ }
+
+ return chars;
+ };
+
+ Utils.bind = function (func, context) {
+ return function () {
+ func.apply(context, arguments);
+ };
+ };
+
+ Utils._convertData = function (data) {
+ for (var originalKey in data) {
+ var keys = originalKey.split('-');
+
+ var dataLevel = data;
+
+ if (keys.length === 1) {
+ continue;
+ }
+
+ for (var k = 0; k < keys.length; k++) {
+ var key = keys[k];
+
+ // Lowercase the first letter
+ // By default, dash-separated becomes camelCase
+ key = key.substring(0, 1).toLowerCase() + key.substring(1);
+
+ if (!(key in dataLevel)) {
+ dataLevel[key] = {};
+ }
+
+ if (k == keys.length - 1) {
+ dataLevel[key] = data[originalKey];
+ }
+
+ dataLevel = dataLevel[key];
+ }
+
+ delete data[originalKey];
+ }
+
+ return data;
+ };
+
+ Utils.hasScroll = function (index, el) {
+ // Adapted from the function created by @ShadowScripter
+ // and adapted by @BillBarry on the Stack Exchange Code Review website.
+ // The original code can be found at
+ // http://codereview.stackexchange.com/q/13338
+ // and was designed to be used with the Sizzle selector engine.
+
+ var $el = $(el);
+ var overflowX = el.style.overflowX;
+ var overflowY = el.style.overflowY;
+
+ //Check both x and y declarations
+ if (overflowX === overflowY &&
+ (overflowY === 'hidden' || overflowY === 'visible')) {
+ return false;
+ }
+
+ if (overflowX === 'scroll' || overflowY === 'scroll') {
+ return true;
+ }
+
+ return ($el.innerHeight() < el.scrollHeight ||
+ $el.innerWidth() < el.scrollWidth);
+ };
+
+ Utils.escapeMarkup = function (markup) {
+ var replaceMap = {
+ '\\': '\',
+ '&': '&',
+ '<': '<',
+ '>': '>',
+ '"': '"',
+ '\'': ''',
+ '/': '/'
+ };
+
+ // Do not try to escape the markup if it's not a string
+ if (typeof markup !== 'string') {
+ return markup;
+ }
+
+ return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
+ return replaceMap[match];
+ });
+ };
+
+ // Append an array of jQuery nodes to a given element.
+ Utils.appendMany = function ($element, $nodes) {
+ // jQuery 1.7.x does not support $.fn.append() with an array
+ // Fall back to a jQuery object collection using $.fn.add()
+ if ($.fn.jquery.substr(0, 3) === '1.7') {
+ var $jqNodes = $();
+
+ $.map($nodes, function (node) {
+ $jqNodes = $jqNodes.add(node);
+ });
+
+ $nodes = $jqNodes;
+ }
+
+ $element.append($nodes);
+ };
+
+ // Cache objects in Utils.__cache instead of $.data (see #4346)
+ Utils.__cache = {};
+
+ var id = 0;
+ Utils.GetUniqueElementId = function (element) {
+ // Get a unique element Id. If element has no id,
+ // creates a new unique number, stores it in the id
+ // attribute and returns the new id.
+ // If an id already exists, it simply returns it.
+
+ var select2Id = element.getAttribute('data-select2-id');
+ if (select2Id == null) {
+ // If element has id, use it.
+ if (element.id) {
+ select2Id = element.id;
+ element.setAttribute('data-select2-id', select2Id);
+ } else {
+ element.setAttribute('data-select2-id', ++id);
+ select2Id = id.toString();
+ }
+ }
+ return select2Id;
+ };
+
+ Utils.StoreData = function (element, name, value) {
+ // Stores an item in the cache for a specified element.
+ // name is the cache key.
+ var id = Utils.GetUniqueElementId(element);
+ if (!Utils.__cache[id]) {
+ Utils.__cache[id] = {};
+ }
+
+ Utils.__cache[id][name] = value;
+ };
+
+ Utils.GetData = function (element, name) {
+ // Retrieves a value from the cache by its key (name)
+ // name is optional. If no name specified, return
+ // all cache items for the specified element.
+ // and for a specified element.
+ var id = Utils.GetUniqueElementId(element);
+ if (name) {
+ if (Utils.__cache[id]) {
+ if (Utils.__cache[id][name] != null) {
+ return Utils.__cache[id][name];
+ }
+ return $(element).data(name); // Fallback to HTML5 data attribs.
+ }
+ return $(element).data(name); // Fallback to HTML5 data attribs.
+ } else {
+ return Utils.__cache[id];
+ }
+ };
+
+ Utils.RemoveData = function (element) {
+ // Removes all cached items for a specified element.
+ var id = Utils.GetUniqueElementId(element);
+ if (Utils.__cache[id] != null) {
+ delete Utils.__cache[id];
+ }
+ };
+
+ return Utils;
+});
+
+S2.define('select2/results',[
+ 'jquery',
+ './utils'
+], function ($, Utils) {
+ function Results ($element, options, dataAdapter) {
+ this.$element = $element;
+ this.data = dataAdapter;
+ this.options = options;
+
+ Results.__super__.constructor.call(this);
+ }
+
+ Utils.Extend(Results, Utils.Observable);
+
+ Results.prototype.render = function () {
+ var $results = $(
+ '<ul class="select2-results__options" role="tree"></ul>'
+ );
+
+ if (this.options.get('multiple')) {
+ $results.attr('aria-multiselectable', 'true');
+ }
+
+ this.$results = $results;
+
+ return $results;
+ };
+
+ Results.prototype.clear = function () {
+ this.$results.empty();
+ };
+
+ Results.prototype.displayMessage = function (params) {
+ var escapeMarkup = this.options.get('escapeMarkup');
+
+ this.clear();
+ this.hideLoading();
+
+ var $message = $(
+ '<li role="treeitem" aria-live="assertive"' +
+ ' class="select2-results__option"></li>'
+ );
+
+ var message = this.options.get('translations').get(params.message);
+
+ $message.append(
+ escapeMarkup(
+ message(params.args)
+ )
+ );
+
+ $message[0].className += ' select2-results__message';
+
+ this.$results.append($message);
+ };
+
+ Results.prototype.hideMessages = function () {
+ this.$results.find('.select2-results__message').remove();
+ };
+
+ Results.prototype.append = function (data) {
+ this.hideLoading();
+
+ var $options = [];
+
+ if (data.results == null || data.results.length === 0) {
+ if (this.$results.children().length === 0) {
+ this.trigger('results:message', {
+ message: 'noResults'
+ });
+ }
+
+ return;
+ }
+
+ data.results = this.sort(data.results);
+
+ for (var d = 0; d < data.results.length; d++) {
+ var item = data.results[d];
+
+ var $option = this.option(item);
+
+ $options.push($option);
+ }
+
+ this.$results.append($options);
+ };
+
+ Results.prototype.position = function ($results, $dropdown) {
+ var $resultsContainer = $dropdown.find('.select2-results');
+ $resultsContainer.append($results);
+ };
+
+ Results.prototype.sort = function (data) {
+ var sorter = this.options.get('sorter');
+
+ return sorter(data);
+ };
+
+ Results.prototype.highlightFirstItem = function () {
+ var $options = this.$results
+ .find('.select2-results__option[aria-selected]');
+
+ var $selected = $options.filter('[aria-selected=true]');
+
+ // Check if there are any selected options
+ if ($selected.length > 0) {
+ // If there are selected options, highlight the first
+ $selected.first().trigger('mouseenter');
+ } else {
+ // If there are no selected options, highlight the first option
+ // in the dropdown
+ $options.first().trigger('mouseenter');
+ }
+
+ this.ensureHighlightVisible();
+ };
+
+ Results.prototype.setClasses = function () {
+ var self = this;
+
+ this.data.current(function (selected) {
+ var selectedIds = $.map(selected, function (s) {
+ return s.id.toString();
+ });
+
+ var $options = self.$results
+ .find('.select2-results__option[aria-selected]');
+
+ $options.each(function () {
+ var $option = $(this);
+
+ var item = Utils.GetData(this, 'data');
+
+ // id needs to be converted to a string when comparing
+ var id = '' + item.id;
+
+ if ((item.element != null && item.element.selected) ||
+ (item.element == null && $.inArray(id, selectedIds) > -1)) {
+ $option.attr('aria-selected', 'true');
+ } else {
+ $option.attr('aria-selected', 'false');
+ }
+ });
+
+ });
+ };
+
+ Results.prototype.showLoading = function (params) {
+ this.hideLoading();
+
+ var loadingMore = this.options.get('translations').get('searching');
+
+ var loading = {
+ disabled: true,
+ loading: true,
+ text: loadingMore(params)
+ };
+ var $loading = this.option(loading);
+ $loading.className += ' loading-results';
+
+ this.$results.prepend($loading);
+ };
+
+ Results.prototype.hideLoading = function () {
+ this.$results.find('.loading-results').remove();
+ };
+
+ Results.prototype.option = function (data) {
+ var option = document.createElement('li');
+ option.className = 'select2-results__option';
+
+ var attrs = {
+ 'role': 'treeitem',
+ 'aria-selected': 'false'
+ };
+
+ if (data.disabled) {
+ delete attrs['aria-selected'];
+ attrs['aria-disabled'] = 'true';
+ }
+
+ if (data.id == null) {
+ delete attrs['aria-selected'];
+ }
+
+ if (data._resultId != null) {
+ option.id = data._resultId;
+ }
+
+ if (data.title) {
+ option.title = data.title;
+ }
+
+ if (data.children) {
+ attrs.role = 'group';
+ attrs['aria-label'] = data.text;
+ delete attrs['aria-selected'];
+ }
+
+ for (var attr in attrs) {
+ var val = attrs[attr];
+
+ option.setAttribute(attr, val);
+ }
+
+ if (data.children) {
+ var $option = $(option);
+
+ var label = document.createElement('strong');
+ label.className = 'select2-results__group';
+
+ var $label = $(label);
+ this.template(data, label);
+
+ var $children = [];
+
+ for (var c = 0; c < data.children.length; c++) {
+ var child = data.children[c];
+
+ var $child = this.option(child);
+
+ $children.push($child);
+ }
+
+ var $childrenContainer = $('<ul></ul>', {
+ 'class': 'select2-results__options select2-results__options--nested'
+ });
+
+ $childrenContainer.append($children);
+
+ $option.append(label);
+ $option.append($childrenContainer);
+ } else {
+ this.template(data, option);
+ }
+
+ Utils.StoreData(option, 'data', data);
+
+ return option;
+ };
+
+ Results.prototype.bind = function (container, $container) {
+ var self = this;
+
+ var id = container.id + '-results';
+
+ this.$results.attr('id', id);
+
+ container.on('results:all', function (params) {
+ self.clear();
+ self.append(params.data);
+
+ if (container.isOpen()) {
+ self.setClasses();
+ self.highlightFirstItem();
+ }
+ });
+
+ container.on('results:append', function (params) {
+ self.append(params.data);
+
+ if (container.isOpen()) {
+ self.setClasses();
+ }
+ });
+
+ container.on('query', function (params) {
+ self.hideMessages();
+ self.showLoading(params);
+ });
+
+ container.on('select', function () {
+ if (!container.isOpen()) {
+ return;
+ }
+
+ self.setClasses();
+
+ if (self.options.get('scrollAfterSelect')) {
+ self.highlightFirstItem();
+ }
+ });
+
+ container.on('unselect', function () {
+ if (!container.isOpen()) {
+ return;
+ }
+
+ self.setClasses();
+
+ if (self.options.get('scrollAfterSelect')) {
+ self.highlightFirstItem();
+ }
+ });
+
+ container.on('open', function () {
+ // When the dropdown is open, aria-expended="true"
+ self.$results.attr('aria-expanded', 'true');
+ self.$results.attr('aria-hidden', 'false');
+
+ self.setClasses();
+ self.ensureHighlightVisible();
+ });
+
+ container.on('close', function () {
+ // When the dropdown is closed, aria-expended="false"
+ self.$results.attr('aria-expanded', 'false');
+ self.$results.attr('aria-hidden', 'true');
+ self.$results.removeAttr('aria-activedescendant');
+ });
+
+ container.on('results:toggle', function () {
+ var $highlighted = self.getHighlightedResults();
+
+ if ($highlighted.length === 0) {
+ return;
+ }
+
+ $highlighted.trigger('mouseup');
+ });
+
+ container.on('results:select', function () {
+ var $highlighted = self.getHighlightedResults();
+
+ if ($highlighted.length === 0) {
+ return;
+ }
+
+ var data = Utils.GetData($highlighted[0], 'data');
+
+ if ($highlighted.attr('aria-selected') == 'true') {
+ self.trigger('close', {});
+ } else {
+ self.trigger('select', {
+ data: data
+ });
+ }
+ });
+
+ container.on('results:previous', function () {
+ var $highlighted = self.getHighlightedResults();
+
+ var $options = self.$results.find('[aria-selected]');
+
+ var currentIndex = $options.index($highlighted);
+
+ // If we are already at the top, don't move further
+ // If no options, currentIndex will be -1
+ if (currentIndex <= 0) {
+ return;
+ }
+
+ var nextIndex = currentIndex - 1;
+
+ // If none are highlighted, highlight the first
+ if ($highlighted.length === 0) {
+ nextIndex = 0;
+ }
+
+ var $next = $options.eq(nextIndex);
+
+ $next.trigger('mouseenter');
+
+ var currentOffset = self.$results.offset().top;
+ var nextTop = $next.offset().top;
+ var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset);
+
+ if (nextIndex === 0) {
+ self.$results.scrollTop(0);
+ } else if (nextTop - currentOffset < 0) {
+ self.$results.scrollTop(nextOffset);
+ }
+ });
+
+ container.on('results:next', function () {
+ var $highlighted = self.getHighlightedResults();
+
+ var $options = self.$results.find('[aria-selected]');
+
+ var currentIndex = $options.index($highlighted);
+
+ var nextIndex = currentIndex + 1;
+
+ // If we are at the last option, stay there
+ if (nextIndex >= $options.length) {
+ return;
+ }
+
+ var $next = $options.eq(nextIndex);
+
+ $next.trigger('mouseenter');
+
+ var currentOffset = self.$results.offset().top +
+ self.$results.outerHeight(false);
+ var nextBottom = $next.offset().top + $next.outerHeight(false);
+ var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset;
+
+ if (nextIndex === 0) {
+ self.$results.scrollTop(0);
+ } else if (nextBottom > currentOffset) {
+ self.$results.scrollTop(nextOffset);
+ }
+ });
+
+ container.on('results:focus', function (params) {
+ params.element.addClass('select2-results__option--highlighted');
+ });
+
+ container.on('results:message', function (params) {
+ self.displayMessage(params);
+ });
+
+ if ($.fn.mousewheel) {
+ this.$results.on('mousewheel', function (e) {
+ var top = self.$results.scrollTop();
+
+ var bottom = self.$results.get(0).scrollHeight - top + e.deltaY;
+
+ var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0;
+ var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height();
+
+ if (isAtTop) {
+ self.$results.scrollTop(0);
+
+ e.preventDefault();
+ e.stopPropagation();
+ } else if (isAtBottom) {
+ self.$results.scrollTop(
+ self.$results.get(0).scrollHeight - self.$results.height()
+ );
+
+ e.preventDefault();
+ e.stopPropagation();
+ }
+ });
+ }
+
+ this.$results.on('mouseup', '.select2-results__option[aria-selected]',
+ function (evt) {
+ var $this = $(this);
+
+ var data = Utils.GetData(this, 'data');
+
+ if ($this.attr('aria-selected') === 'true') {
+ if (self.options.get('multiple')) {
+ self.trigger('unselect', {
+ originalEvent: evt,
+ data: data
+ });
+ } else {
+ self.trigger('close', {});
+ }
+
+ return;
+ }
+
+ self.trigger('select', {
+ originalEvent: evt,
+ data: data
+ });
+ });
+
+ this.$results.on('mouseenter', '.select2-results__option[aria-selected]',
+ function (evt) {
+ var data = Utils.GetData(this, 'data');
+
+ self.getHighlightedResults()
+ .removeClass('select2-results__option--highlighted');
+
+ self.trigger('results:focus', {
+ data: data,
+ element: $(this)
+ });
+ });
+ };
+
+ Results.prototype.getHighlightedResults = function () {
+ var $highlighted = this.$results
+ .find('.select2-results__option--highlighted');
+
+ return $highlighted;
+ };
+
+ Results.prototype.destroy = function () {
+ this.$results.remove();
+ };
+
+ Results.prototype.ensureHighlightVisible = function () {
+ var $highlighted = this.getHighlightedResults();
+
+ if ($highlighted.length === 0) {
+ return;
+ }
+
+ var $options = this.$results.find('[aria-selected]');
+
+ var currentIndex = $options.index($highlighted);
+
+ var currentOffset = this.$results.offset().top;
+ var nextTop = $highlighted.offset().top;
+ var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset);
+
+ var offsetDelta = nextTop - currentOffset;
+ nextOffset -= $highlighted.outerHeight(false) * 2;
+
+ if (currentIndex <= 2) {
+ this.$results.scrollTop(0);
+ } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) {
+ this.$results.scrollTop(nextOffset);
+ }
+ };
+
+ Results.prototype.template = function (result, container) {
+ var template = this.options.get('templateResult');
+ var escapeMarkup = this.options.get('escapeMarkup');
+
+ var content = template(result, container);
+
+ if (content == null) {
+ container.style.display = 'none';
+ } else if (typeof content === 'string') {
+ container.innerHTML = escapeMarkup(content);
+ } else {
+ $(container).append(content);
+ }
+ };
+
+ return Results;
+});
+
+S2.define('select2/keys',[
+
+], function () {
+ var KEYS = {
+ BACKSPACE: 8,
+ TAB: 9,
+ ENTER: 13,
+ SHIFT: 16,
+ CTRL: 17,
+ ALT: 18,
+ ESC: 27,
+ SPACE: 32,
+ PAGE_UP: 33,
+ PAGE_DOWN: 34,
+ END: 35,
+ HOME: 36,
+ LEFT: 37,
+ UP: 38,
+ RIGHT: 39,
+ DOWN: 40,
+ DELETE: 46
+ };
+
+ return KEYS;
+});
+
+S2.define('select2/selection/base',[
+ 'jquery',
+ '../utils',
+ '../keys'
+], function ($, Utils, KEYS) {
+ function BaseSelection ($element, options) {
+ this.$element = $element;
+ this.options = options;
+
+ BaseSelection.__super__.constructor.call(this);
+ }
+
+ Utils.Extend(BaseSelection, Utils.Observable);
+
+ BaseSelection.prototype.render = function () {
+ var $selection = $(
+ '<span class="select2-selection" role="combobox" ' +
+ ' aria-haspopup="true" aria-expanded="false">' +
+ '</span>'
+ );
+
+ this._tabindex = 0;
+
+ if (Utils.GetData(this.$element[0], 'old-tabindex') != null) {
+ this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex');
+ } else if (this.$element.attr('tabindex') != null) {
+ this._tabindex = this.$element.attr('tabindex');
+ }
+
+ $selection.attr('title', this.$element.attr('title'));
+ $selection.attr('tabindex', this._tabindex);
+
+ this.$selection = $selection;
+
+ return $selection;
+ };
+
+ BaseSelection.prototype.bind = function (container, $container) {
+ var self = this;
+
+ var id = container.id + '-container';
+ var resultsId = container.id + '-results';
+
+ this.container = container;
+
+ this.$selection.on('focus', function (evt) {
+ self.trigger('focus', evt);
+ });
+
+ this.$selection.on('blur', function (evt) {
+ self._handleBlur(evt);
+ });
+
+ this.$selection.on('keydown', function (evt) {
+ self.trigger('keypress', evt);
+
+ if (evt.which === KEYS.SPACE) {
+ evt.preventDefault();
+ }
+ });
+
+ container.on('results:focus', function (params) {
+ self.$selection.attr('aria-activedescendant', params.data._resultId);
+ });
+
+ container.on('selection:update', function (params) {
+ self.update(params.data);
+ });
+
+ container.on('open', function () {
+ // When the dropdown is open, aria-expanded="true"
+ self.$selection.attr('aria-expanded', 'true');
+ self.$selection.attr('aria-owns', resultsId);
+
+ self._attachCloseHandler(container);
+ });
+
+ container.on('close', function () {
+ // When the dropdown is closed, aria-expanded="false"
+ self.$selection.attr('aria-expanded', 'false');
+ self.$selection.removeAttr('aria-activedescendant');
+ self.$selection.removeAttr('aria-owns');
+
+ window.setTimeout(function () {
+ self.$selection.focus();
+ }, 0);
+
+ self._detachCloseHandler(container);
+ });
+
+ container.on('enable', function () {
+ self.$selection.attr('tabindex', self._tabindex);
+ });
+
+ container.on('disable', function () {
+ self.$selection.attr('tabindex', '-1');
+ });
+ };
+
+ BaseSelection.prototype._handleBlur = function (evt) {
+ var self = this;
+
+ // This needs to be delayed as the active element is the body when the tab
+ // key is pressed, possibly along with others.
+ window.setTimeout(function () {
+ // Don't trigger `blur` if the focus is still in the selection
+ if (
+ (document.activeElement == self.$selection[0]) ||
+ ($.contains(self.$selection[0], document.activeElement))
+ ) {
+ return;
+ }
+
+ self.trigger('blur', evt);
+ }, 1);
+ };
+
+ BaseSelection.prototype._attachCloseHandler = function (container) {
+ var self = this;
+
+ $(document.body).on('mousedown.select2.' + container.id, function (e) {
+ var $target = $(e.target);
+
+ var $select = $target.closest('.select2');
+
+ var $all = $('.select2.select2-container--open');
+
+ $all.each(function () {
+ var $this = $(this);
+
+ if (this == $select[0]) {
+ return;
+ }
+
+ var $element = Utils.GetData(this, 'element');
+
+ $element.select2('close');
+ });
+ });
+ };
+
+ BaseSelection.prototype._detachCloseHandler = function (container) {
+ $(document.body).off('mousedown.select2.' + container.id);
+ };
+
+ BaseSelection.prototype.position = function ($selection, $container) {
+ var $selectionContainer = $container.find('.selection');
+ $selectionContainer.append($selection);
+ };
+
+ BaseSelection.prototype.destroy = function () {
+ this._detachCloseHandler(this.container);
+ };
+
+ BaseSelection.prototype.update = function (data) {
+ throw new Error('The `update` method must be defined in child classes.');
+ };
+
+ return BaseSelection;
+});
+
+S2.define('select2/selection/single',[
+ 'jquery',
+ './base',
+ '../utils',
+ '../keys'
+], function ($, BaseSelection, Utils, KEYS) {
+ function SingleSelection () {
+ SingleSelection.__super__.constructor.apply(this, arguments);
+ }
+
+ Utils.Extend(SingleSelection, BaseSelection);
+
+ SingleSelection.prototype.render = function () {
+ var $selection = SingleSelection.__super__.render.call(this);
+
+ $selection.addClass('select2-selection--single');
+
+ $selection.html(
+ '<span class="select2-selection__rendered"></span>' +
+ '<span class="select2-selection__arrow" role="presentation">' +
+ '<b role="presentation"></b>' +
+ '</span>'
+ );
+
+ return $selection;
+ };
+
+ SingleSelection.prototype.bind = function (container, $container) {
+ var self = this;
+
+ SingleSelection.__super__.bind.apply(this, arguments);
+
+ var id = container.id + '-container';
+
+ this.$selection.find('.select2-selection__rendered')
+ .attr('id', id)
+ .attr('role', 'textbox')
+ .attr('aria-readonly', 'true');
+ this.$selection.attr('aria-labelledby', id);
+
+ this.$selection.on('mousedown', function (evt) {
+ // Only respond to left clicks
+ if (evt.which !== 1) {
+ return;
+ }
+
+ self.trigger('toggle', {
+ originalEvent: evt
+ });
+ });
+
+ this.$selection.on('focus', function (evt) {
+ // User focuses on the container
+ });
+
+ this.$selection.on('blur', function (evt) {
+ // User exits the container
+ });
+
+ container.on('focus', function (evt) {
+ if (!container.isOpen()) {
+ self.$selection.focus();
+ }
+ });
+ };
+
+ SingleSelection.prototype.clear = function () {
+ var $rendered = this.$selection.find('.select2-selection__rendered');
+ $rendered.empty();
+ $rendered.removeAttr('title'); // clear tooltip on empty
+ };
+
+ SingleSelection.prototype.display = function (data, container) {
+ var template = this.options.get('templateSelection');
+ var escapeMarkup = this.options.get('escapeMarkup');
+
+ return escapeMarkup(template(data, container));
+ };
+
+ SingleSelection.prototype.selectionContainer = function () {
+ return $('<span></span>');
+ };
+
+ SingleSelection.prototype.update = function (data) {
+ if (data.length === 0) {
+ this.clear();
+ return;
+ }
+
+ var selection = data[0];
+
+ var $rendered = this.$selection.find('.select2-selection__rendered');
+ var formatted = this.display(selection, $rendered);
+
+ $rendered.empty().append(formatted);
+ $rendered.attr('title', selection.title || selection.text);
+ };
+
+ return SingleSelection;
+});
+
+S2.define('select2/selection/multiple',[
+ 'jquery',
+ './base',
+ '../utils'
+], function ($, BaseSelection, Utils) {
+ function MultipleSelection ($element, options) {
+ MultipleSelection.__super__.constructor.apply(this, arguments);
+ }
+
+ Utils.Extend(MultipleSelection, BaseSelection);
+
+ MultipleSelection.prototype.render = function () {
+ var $selection = MultipleSelection.__super__.render.call(this);
+
+ $selection.addClass('select2-selection--multiple');
+
+ $selection.html(
+ '<ul class="select2-selection__rendered"></ul>'
+ );
+
+ return $selection;
+ };
+
+ MultipleSelection.prototype.bind = function (container, $container) {
+ var self = this;
+
+ MultipleSelection.__super__.bind.apply(this, arguments);
+
+ this.$selection.on('click', function (evt) {
+ self.trigger('toggle', {
+ originalEvent: evt
+ });
+ });
+
+ this.$selection.on(
+ 'click',
+ '.select2-selection__choice__remove',
+ function (evt) {
+ // Ignore the event if it is disabled
+ if (self.options.get('disabled')) {
+ return;
+ }
+
+ var $remove = $(this);
+ var $selection = $remove.parent();
+
+ var data = Utils.GetData($selection[0], 'data');
+
+ self.trigger('unselect', {
+ originalEvent: evt,
+ data: data
+ });
+ }
+ );
+ };
+
+ MultipleSelection.prototype.clear = function () {
+ var $rendered = this.$selection.find('.select2-selection__rendered');
+ $rendered.empty();
+ $rendered.removeAttr('title');
+ };
+
+ MultipleSelection.prototype.display = function (data, container) {
+ var template = this.options.get('templateSelection');
+ var escapeMarkup = this.options.get('escapeMarkup');
+
+ return escapeMarkup(template(data, container));
+ };
+
+ MultipleSelection.prototype.selectionContainer = function () {
+ var $container = $(
+ '<li class="select2-selection__choice">' +
+ '<span class="select2-selection__choice__remove" role="presentation">' +
+ '×' +
+ '</span>' +
+ '</li>'
+ );
+
+ return $container;
+ };
+
+ MultipleSelection.prototype.update = function (data) {
+ this.clear();
+
+ if (data.length === 0) {
+ return;
+ }
+
+ var $selections = [];
+
+ for (var d = 0; d < data.length; d++) {
+ var selection = data[d];
+
+ var $selection = this.selectionContainer();
+ var formatted = this.display(selection, $selection);
+
+ $selection.append(formatted);
+ $selection.attr('title', selection.title || selection.text);
+
+ Utils.StoreData($selection[0], 'data', selection);
+
+ $selections.push($selection);
+ }
+
+ var $rendered = this.$selection.find('.select2-selection__rendered');
+
+ Utils.appendMany($rendered, $selections);
+ };
+
+ return MultipleSelection;
+});
+
+S2.define('select2/selection/placeholder',[
+ '../utils'
+], function (Utils) {
+ function Placeholder (decorated, $element, options) {
+ this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
+
+ decorated.call(this, $element, options);
+ }
+
+ Placeholder.prototype.normalizePlaceholder = function (_, placeholder) {
+ if (typeof placeholder === 'string') {
+ placeholder = {
+ id: '',
+ text: placeholder
+ };
+ }
+
+ return placeholder;
+ };
+
+ Placeholder.prototype.createPlaceholder = function (decorated, placeholder) {
+ var $placeholder = this.selectionContainer();
+
+ $placeholder.html(this.display(placeholder));
+ $placeholder.addClass('select2-selection__placeholder')
+ .removeClass('select2-selection__choice');
+
+ return $placeholder;
+ };
+
+ Placeholder.prototype.update = function (decorated, data) {
+ var singlePlaceholder = (
+ data.length == 1 && data[0].id != this.placeholder.id
+ );
+ var multipleSelections = data.length > 1;
+
+ if (multipleSelections || singlePlaceholder) {
+ return decorated.call(this, data);
+ }
+
+ this.clear();
+
+ var $placeholder = this.createPlaceholder(this.placeholder);
+
+ this.$selection.find('.select2-selection__rendered').append($placeholder);
+ };
+
+ return Placeholder;
+});
+
+S2.define('select2/selection/allowClear',[
+ 'jquery',
+ '../keys',
+ '../utils'
+], function ($, KEYS, Utils) {
+ function AllowClear () { }
+
+ AllowClear.prototype.bind = function (decorated, container, $container) {
+ var self = this;
+
+ decorated.call(this, container, $container);
+
+ if (this.placeholder == null) {
+ if (this.options.get('debug') && window.console && console.error) {
+ console.error(
+ 'Select2: The `allowClear` option should be used in combination ' +
+ 'with the `placeholder` option.'
+ );
+ }
+ }
+
+ this.$selection.on('mousedown', '.select2-selection__clear',
+ function (evt) {
+ self._handleClear(evt);
+ });
+
+ container.on('keypress', function (evt) {
+ self._handleKeyboardClear(evt, container);
+ });
+ };
+
+ AllowClear.prototype._handleClear = function (_, evt) {
+ // Ignore the event if it is disabled
+ if (this.options.get('disabled')) {
+ return;
+ }
+
+ var $clear = this.$selection.find('.select2-selection__clear');
+
+ // Ignore the event if nothing has been selected
+ if ($clear.length === 0) {
+ return;
+ }
+
+ evt.stopPropagation();
+
+ var data = Utils.GetData($clear[0], 'data');
+
+ var previousVal = this.$element.val();
+ this.$element.val(this.placeholder.id);
+
+ var unselectData = {
+ data: data
+ };
+ this.trigger('clear', unselectData);
+ if (unselectData.prevented) {
+ this.$element.val(previousVal);
+ return;
+ }
+
+ for (var d = 0; d < data.length; d++) {
+ unselectData = {
+ data: data[d]
+ };
+
+ // Trigger the `unselect` event, so people can prevent it from being
+ // cleared.
+ this.trigger('unselect', unselectData);
+
+ // If the event was prevented, don't clear it out.
+ if (unselectData.prevented) {
+ this.$element.val(previousVal);
+ return;
+ }
+ }
+
+ this.$element.trigger('change');
+
+ this.trigger('toggle', {});
+ };
+
+ AllowClear.prototype._handleKeyboardClear = function (_, evt, container) {
+ if (container.isOpen()) {
+ return;
+ }
+
+ if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) {
+ this._handleClear(evt);
+ }
+ };
+
+ AllowClear.prototype.update = function (decorated, data) {
+ decorated.call(this, data);
+
+ if (this.$selection.find('.select2-selection__placeholder').length > 0 ||
+ data.length === 0) {
+ return;
+ }
+
+ var removeAll = this.options.get('translations').get('removeAllItems');
+
+ var $remove = $(
+ '<span class="select2-selection__clear" title="' + removeAll() +'">' +
+ '×' +
+ '</span>'
+ );
+ Utils.StoreData($remove[0], 'data', data);
+
+ this.$selection.find('.select2-selection__rendered').prepend($remove);
+ };
+
+ return AllowClear;
+});
+
+S2.define('select2/selection/search',[
+ 'jquery',
+ '../utils',
+ '../keys'
+], function ($, Utils, KEYS) {
+ function Search (decorated, $element, options) {
+ decorated.call(this, $element, options);
+ }
+
+ Search.prototype.render = function (decorated) {
+ var $search = $(
+ '<li class="select2-search select2-search--inline">' +
+ '<input class="select2-search__field" type="search" tabindex="-1"' +
+ ' autocomplete="off" autocorrect="off" autocapitalize="none"' +
+ ' spellcheck="false" role="textbox" aria-autocomplete="list" />' +
+ '</li>'
+ );
+
+ this.$searchContainer = $search;
+ this.$search = $search.find('input');
+
+ var $rendered = decorated.call(this);
+
+ this._transferTabIndex();
+
+ return $rendered;
+ };
+
+ Search.prototype.bind = function (decorated, container, $container) {
+ var self = this;
+
+ decorated.call(this, container, $container);
+
+ container.on('open', function () {
+ self.$search.trigger('focus');
+ });
+
+ container.on('close', function () {
+ self.$search.val('');
+ self.$search.removeAttr('aria-activedescendant');
+ self.$search.trigger('focus');
+ });
+
+ container.on('enable', function () {
+ self.$search.prop('disabled', false);
+
+ self._transferTabIndex();
+ });
+
+ container.on('disable', function () {
+ self.$search.prop('disabled', true);
+ });
+
+ container.on('focus', function (evt) {
+ self.$search.trigger('focus');
+ });
+
+ container.on('results:focus', function (params) {
+ self.$search.attr('aria-activedescendant', params.id);
+ });
+
+ this.$selection.on('focusin', '.select2-search--inline', function (evt) {
+ self.trigger('focus', evt);
+ });
+
+ this.$selection.on('focusout', '.select2-search--inline', function (evt) {
+ self._handleBlur(evt);
+ });
+
+ this.$selection.on('keydown', '.select2-search--inline', function (evt) {
+ evt.stopPropagation();
+
+ self.trigger('keypress', evt);
+
+ self._keyUpPrevented = evt.isDefaultPrevented();
+
+ var key = evt.which;
+
+ if (key === KEYS.BACKSPACE && self.$search.val() === '') {
+ var $previousChoice = self.$searchContainer
+ .prev('.select2-selection__choice');
+
+ if ($previousChoice.length > 0) {
+ var item = Utils.GetData($previousChoice[0], 'data');
+
+ self.searchRemoveChoice(item);
+
+ evt.preventDefault();
+ }
+ }
+ });
+
+ // Try to detect the IE version should the `documentMode` property that
+ // is stored on the document. This is only implemented in IE and is
+ // slightly cleaner than doing a user agent check.
+ // This property is not available in Edge, but Edge also doesn't have
+ // this bug.
+ var msie = document.documentMode;
+ var disableInputEvents = msie && msie <= 11;
+
+ // Workaround for browsers which do not support the `input` event
+ // This will prevent double-triggering of events for browsers which support
+ // both the `keyup` and `input` events.
+ this.$selection.on(
+ 'input.searchcheck',
+ '.select2-search--inline',
+ function (evt) {
+ // IE will trigger the `input` event when a placeholder is used on a
+ // search box. To get around this issue, we are forced to ignore all
+ // `input` events in IE and keep using `keyup`.
+ if (disableInputEvents) {
+ self.$selection.off('input.search input.searchcheck');
+ return;
+ }
+
+ // Unbind the duplicated `keyup` event
+ self.$selection.off('keyup.search');
+ }
+ );
+
+ this.$selection.on(
+ 'keyup.search input.search',
+ '.select2-search--inline',
+ function (evt) {
+ // IE will trigger the `input` event when a placeholder is used on a
+ // search box. To get around this issue, we are forced to ignore all
+ // `input` events in IE and keep using `keyup`.
+ if (disableInputEvents && evt.type === 'input') {
+ self.$selection.off('input.search input.searchcheck');
+ return;
+ }
+
+ var key = evt.which;
+
+ // We can freely ignore events from modifier keys
+ if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) {
+ return;
+ }
+
+ // Tabbing will be handled during the `keydown` phase
+ if (key == KEYS.TAB) {
+ return;
+ }
+
+ self.handleSearch(evt);
+ }
+ );
+ };
+
+ /**
+ * This method will transfer the tabindex attribute from the rendered
+ * selection to the search box. This allows for the search box to be used as
+ * the primary focus instead of the selection container.
+ *
+ * @private
+ */
+ Search.prototype._transferTabIndex = function (decorated) {
+ this.$search.attr('tabindex', this.$selection.attr('tabindex'));
+ this.$selection.attr('tabindex', '-1');
+ };
+
+ Search.prototype.createPlaceholder = function (decorated, placeholder) {
+ this.$search.attr('placeholder', placeholder.text);
+ };
+
+ Search.prototype.update = function (decorated, data) {
+ var searchHadFocus = this.$search[0] == document.activeElement;
+
+ this.$search.attr('placeholder', '');
+
+ decorated.call(this, data);
+
+ this.$selection.find('.select2-selection__rendered')
+ .append(this.$searchContainer);
+
+ this.resizeSearch();
+ if (searchHadFocus) {
+ var isTagInput = this.$element.find('[data-select2-tag]').length;
+ if (isTagInput) {
+ // fix IE11 bug where tag input lost focus
+ this.$element.focus();
+ } else {
+ this.$search.focus();
+ }
+ }
+ };
+
+ Search.prototype.handleSearch = function () {
+ this.resizeSearch();
+
+ if (!this._keyUpPrevented) {
+ var input = this.$search.val();
+
+ this.trigger('query', {
+ term: input
+ });
+ }
+
+ this._keyUpPrevented = false;
+ };
+
+ Search.prototype.searchRemoveChoice = function (decorated, item) {
+ this.trigger('unselect', {
+ data: item
+ });
+
+ this.$search.val(item.text);
+ this.handleSearch();
+ };
+
+ Search.prototype.resizeSearch = function () {
+ this.$search.css('width', '25px');
+
+ var width = '';
+
+ if (this.$search.attr('placeholder') !== '') {
+ width = this.$selection.find('.select2-selection__rendered').innerWidth();
+ } else {
+ var minimumWidth = this.$search.val().length + 1;
+
+ width = (minimumWidth * 0.75) + 'em';
+ }
+
+ this.$search.css('width', width);
+ };
+
+ return Search;
+});
+
+S2.define('select2/selection/eventRelay',[
+ 'jquery'
+], function ($) {
+ function EventRelay () { }
+
+ EventRelay.prototype.bind = function (decorated, container, $container) {
+ var self = this;
+ var relayEvents = [
+ 'open', 'opening',
+ 'close', 'closing',
+ 'select', 'selecting',
+ 'unselect', 'unselecting',
+ 'clear', 'clearing'
+ ];
+
+ var preventableEvents = [
+ 'opening', 'closing', 'selecting', 'unselecting', 'clearing'
+ ];
+
+ decorated.call(this, container, $container);
+
+ container.on('*', function (name, params) {
+ // Ignore events that should not be relayed
+ if ($.inArray(name, relayEvents) === -1) {
+ return;
+ }
+
+ // The parameters should always be an object
+ params = params || {};
+
+ // Generate the jQuery event for the Select2 event
+ var evt = $.Event('select2:' + name, {
+ params: params
+ });
+
+ self.$element.trigger(evt);
+
+ // Only handle preventable events if it was one
+ if ($.inArray(name, preventableEvents) === -1) {
+ return;
+ }
+
+ params.prevented = evt.isDefaultPrevented();
+ });
+ };
+
+ return EventRelay;
+});
+
+S2.define('select2/translation',[
+ 'jquery',
+ 'require'
+], function ($, require) {
+ function Translation (dict) {
+ this.dict = dict || {};
+ }
+
+ Translation.prototype.all = function () {
+ return this.dict;
+ };
+
+ Translation.prototype.get = function (key) {
+ return this.dict[key];
+ };
+
+ Translation.prototype.extend = function (translation) {
+ this.dict = $.extend({}, translation.all(), this.dict);
+ };
+
+ // Static functions
+
+ Translation._cache = {};
+
+ Translation.loadPath = function (path) {
+ if (!(path in Translation._cache)) {
+ var translations = require(path);
+
+ Translation._cache[path] = translations;
+ }
+
+ return new Translation(Translation._cache[path]);
+ };
+
+ return Translation;
+});
+
+S2.define('select2/diacritics',[
+
+], function () {
+ var diacritics = {
+ '\u24B6': 'A',
+ '\uFF21': 'A',
+ '\u00C0': 'A',
+ '\u00C1': 'A',
+ '\u00C2': 'A',
+ '\u1EA6': 'A',
+ '\u1EA4': 'A',
+ '\u1EAA': 'A',
+ '\u1EA8': 'A',
+ '\u00C3': 'A',
+ '\u0100': 'A',
+ '\u0102': 'A',
+ '\u1EB0': 'A',
+ '\u1EAE': 'A',
+ '\u1EB4': 'A',
+ '\u1EB2': 'A',
+ '\u0226': 'A',
+ '\u01E0': 'A',
+ '\u00C4': 'A',
+ '\u01DE': 'A',
+ '\u1EA2': 'A',
+ '\u00C5': 'A',
+ '\u01FA': 'A',
+ '\u01CD': 'A',
+ '\u0200': 'A',
+ '\u0202': 'A',
+ '\u1EA0': 'A',
+ '\u1EAC': 'A',
+ '\u1EB6': 'A',
+ '\u1E00': 'A',
+ '\u0104': 'A',
+ '\u023A': 'A',
+ '\u2C6F': 'A',
+ '\uA732': 'AA',
+ '\u00C6': 'AE',
+ '\u01FC': 'AE',
+ '\u01E2': 'AE',
+ '\uA734': 'AO',
+ '\uA736': 'AU',
+ '\uA738': 'AV',
+ '\uA73A': 'AV',
+ '\uA73C': 'AY',
+ '\u24B7': 'B',
+ '\uFF22': 'B',
+ '\u1E02': 'B',
+ '\u1E04': 'B',
+ '\u1E06': 'B',
+ '\u0243': 'B',
+ '\u0182': 'B',
+ '\u0181': 'B',
+ '\u24B8': 'C',
+ '\uFF23': 'C',
+ '\u0106': 'C',
+ '\u0108': 'C',
+ '\u010A': 'C',
+ '\u010C': 'C',
+ '\u00C7': 'C',
+ '\u1E08': 'C',
+ '\u0187': 'C',
+ '\u023B': 'C',
+ '\uA73E': 'C',
+ '\u24B9': 'D',
+ '\uFF24': 'D',
+ '\u1E0A': 'D',
+ '\u010E': 'D',
+ '\u1E0C': 'D',
+ '\u1E10': 'D',
+ '\u1E12': 'D',
+ '\u1E0E': 'D',
+ '\u0110': 'D',
+ '\u018B': 'D',
+ '\u018A': 'D',
+ '\u0189': 'D',
+ '\uA779': 'D',
+ '\u01F1': 'DZ',
+ '\u01C4': 'DZ',
+ '\u01F2': 'Dz',
+ '\u01C5': 'Dz',
+ '\u24BA': 'E',
+ '\uFF25': 'E',
+ '\u00C8': 'E',
+ '\u00C9': 'E',
+ '\u00CA': 'E',
+ '\u1EC0': 'E',
+ '\u1EBE': 'E',
+ '\u1EC4': 'E',
+ '\u1EC2': 'E',
+ '\u1EBC': 'E',
+ '\u0112': 'E',
+ '\u1E14': 'E',
+ '\u1E16': 'E',
+ '\u0114': 'E',
+ '\u0116': 'E',
+ '\u00CB': 'E',
+ '\u1EBA': 'E',
+ '\u011A': 'E',
+ '\u0204': 'E',
+ '\u0206': 'E',
+ '\u1EB8': 'E',
+ '\u1EC6': 'E',
+ '\u0228': 'E',
+ '\u1E1C': 'E',
+ '\u0118': 'E',
+ '\u1E18': 'E',
+ '\u1E1A': 'E',
+ '\u0190': 'E',
+ '\u018E': 'E',
+ '\u24BB': 'F',
+ '\uFF26': 'F',
+ '\u1E1E': 'F',
+ '\u0191': 'F',
+ '\uA77B': 'F',
+ '\u24BC': 'G',
+ '\uFF27': 'G',
+ '\u01F4': 'G',
+ '\u011C': 'G',
+ '\u1E20': 'G',
+ '\u011E': 'G',
+ '\u0120': 'G',
+ '\u01E6': 'G',
+ '\u0122': 'G',
+ '\u01E4': 'G',
+ '\u0193': 'G',
+ '\uA7A0': 'G',
+ '\uA77D': 'G',
+ '\uA77E': 'G',
+ '\u24BD': 'H',
+ '\uFF28': 'H',
+ '\u0124': 'H',
+ '\u1E22': 'H',
+ '\u1E26': 'H',
+ '\u021E': 'H',
+ '\u1E24': 'H',
+ '\u1E28': 'H',
+ '\u1E2A': 'H',
+ '\u0126': 'H',
+ '\u2C67': 'H',
+ '\u2C75': 'H',
+ '\uA78D': 'H',
+ '\u24BE': 'I',
+ '\uFF29': 'I',
+ '\u00CC': 'I',
+ '\u00CD': 'I',
+ '\u00CE': 'I',
+ '\u0128': 'I',
+ '\u012A': 'I',
+ '\u012C': 'I',
+ '\u0130': 'I',
+ '\u00CF': 'I',
+ '\u1E2E': 'I',
+ '\u1EC8': 'I',
+ '\u01CF': 'I',
+ '\u0208': 'I',
+ '\u020A': 'I',
+ '\u1ECA': 'I',
+ '\u012E': 'I',
+ '\u1E2C': 'I',
+ '\u0197': 'I',
+ '\u24BF': 'J',
+ '\uFF2A': 'J',
+ '\u0134': 'J',
+ '\u0248': 'J',
+ '\u24C0': 'K',
+ '\uFF2B': 'K',
+ '\u1E30': 'K',
+ '\u01E8': 'K',
+ '\u1E32': 'K',
+ '\u0136': 'K',
+ '\u1E34': 'K',
+ '\u0198': 'K',
+ '\u2C69': 'K',
+ '\uA740': 'K',
+ '\uA742': 'K',
+ '\uA744': 'K',
+ '\uA7A2': 'K',
+ '\u24C1': 'L',
+ '\uFF2C': 'L',
+ '\u013F': 'L',
+ '\u0139': 'L',
+ '\u013D': 'L',
+ '\u1E36': 'L',
+ '\u1E38': 'L',
+ '\u013B': 'L',
+ '\u1E3C': 'L',
+ '\u1E3A': 'L',
+ '\u0141': 'L',
+ '\u023D': 'L',
+ '\u2C62': 'L',
+ '\u2C60': 'L',
+ '\uA748': 'L',
+ '\uA746': 'L',
+ '\uA780': 'L',
+ '\u01C7': 'LJ',
+ '\u01C8': 'Lj',
+ '\u24C2': 'M',
+ '\uFF2D': 'M',
+ '\u1E3E': 'M',
+ '\u1E40': 'M',
+ '\u1E42': 'M',
+ '\u2C6E': 'M',
+ '\u019C': 'M',
+ '\u24C3': 'N',
+ '\uFF2E': 'N',
+ '\u01F8': 'N',
+ '\u0143': 'N',
+ '\u00D1': 'N',
+ '\u1E44': 'N',
+ '\u0147': 'N',
+ '\u1E46': 'N',
+ '\u0145': 'N',
+ '\u1E4A': 'N',
+ '\u1E48': 'N',
+ '\u0220': 'N',
+ '\u019D': 'N',
+ '\uA790': 'N',
+ '\uA7A4': 'N',
+ '\u01CA': 'NJ',
+ '\u01CB': 'Nj',
+ '\u24C4': 'O',
+ '\uFF2F': 'O',
+ '\u00D2': 'O',
+ '\u00D3': 'O',
+ '\u00D4': 'O',
+ '\u1ED2': 'O',
+ '\u1ED0': 'O',
+ '\u1ED6': 'O',
+ '\u1ED4': 'O',
+ '\u00D5': 'O',
+ '\u1E4C': 'O',
+ '\u022C': 'O',
+ '\u1E4E': 'O',
+ '\u014C': 'O',
+ '\u1E50': 'O',
+ '\u1E52': 'O',
+ '\u014E': 'O',
+ '\u022E': 'O',
+ '\u0230': 'O',
+ '\u00D6': 'O',
+ '\u022A': 'O',
+ '\u1ECE': 'O',
+ '\u0150': 'O',
+ '\u01D1': 'O',
+ '\u020C': 'O',
+ '\u020E': 'O',
+ '\u01A0': 'O',
+ '\u1EDC': 'O',
+ '\u1EDA': 'O',
+ '\u1EE0': 'O',
+ '\u1EDE': 'O',
+ '\u1EE2': 'O',
+ '\u1ECC': 'O',
+ '\u1ED8': 'O',
+ '\u01EA': 'O',
+ '\u01EC': 'O',
+ '\u00D8': 'O',
+ '\u01FE': 'O',
+ '\u0186': 'O',
+ '\u019F': 'O',
+ '\uA74A': 'O',
+ '\uA74C': 'O',
+ '\u0152': 'OE',
+ '\u01A2': 'OI',
+ '\uA74E': 'OO',
+ '\u0222': 'OU',
+ '\u24C5': 'P',
+ '\uFF30': 'P',
+ '\u1E54': 'P',
+ '\u1E56': 'P',
+ '\u01A4': 'P',
+ '\u2C63': 'P',
+ '\uA750': 'P',
+ '\uA752': 'P',
+ '\uA754': 'P',
+ '\u24C6': 'Q',
+ '\uFF31': 'Q',
+ '\uA756': 'Q',
+ '\uA758': 'Q',
+ '\u024A': 'Q',
+ '\u24C7': 'R',
+ '\uFF32': 'R',
+ '\u0154': 'R',
+ '\u1E58': 'R',
+ '\u0158': 'R',
+ '\u0210': 'R',
+ '\u0212': 'R',
+ '\u1E5A': 'R',
+ '\u1E5C': 'R',
+ '\u0156': 'R',
+ '\u1E5E': 'R',
+ '\u024C': 'R',
+ '\u2C64': 'R',
+ '\uA75A': 'R',
+ '\uA7A6': 'R',
+ '\uA782': 'R',
+ '\u24C8': 'S',
+ '\uFF33': 'S',
+ '\u1E9E': 'S',
+ '\u015A': 'S',
+ '\u1E64': 'S',
+ '\u015C': 'S',
+ '\u1E60': 'S',
+ '\u0160': 'S',
+ '\u1E66': 'S',
+ '\u1E62': 'S',
+ '\u1E68': 'S',
+ '\u0218': 'S',
+ '\u015E': 'S',
+ '\u2C7E': 'S',
+ '\uA7A8': 'S',
+ '\uA784': 'S',
+ '\u24C9': 'T',
+ '\uFF34': 'T',
+ '\u1E6A': 'T',
+ '\u0164': 'T',
+ '\u1E6C': 'T',
+ '\u021A': 'T',
+ '\u0162': 'T',
+ '\u1E70': 'T',
+ '\u1E6E': 'T',
+ '\u0166': 'T',
+ '\u01AC': 'T',
+ '\u01AE': 'T',
+ '\u023E': 'T',
+ '\uA786': 'T',
+ '\uA728': 'TZ',
+ '\u24CA': 'U',
+ '\uFF35': 'U',
+ '\u00D9': 'U',
+ '\u00DA': 'U',
+ '\u00DB': 'U',
+ '\u0168': 'U',
+ '\u1E78': 'U',
+ '\u016A': 'U',
+ '\u1E7A': 'U',
+ '\u016C': 'U',
+ '\u00DC': 'U',
+ '\u01DB': 'U',
+ '\u01D7': 'U',
+ '\u01D5': 'U',
+ '\u01D9': 'U',
+ '\u1EE6': 'U',
+ '\u016E': 'U',
+ '\u0170': 'U',
+ '\u01D3': 'U',
+ '\u0214': 'U',
+ '\u0216': 'U',
+ '\u01AF': 'U',
+ '\u1EEA': 'U',
+ '\u1EE8': 'U',
+ '\u1EEE': 'U',
+ '\u1EEC': 'U',
+ '\u1EF0': 'U',
+ '\u1EE4': 'U',
+ '\u1E72': 'U',
+ '\u0172': 'U',
+ '\u1E76': 'U',
+ '\u1E74': 'U',
+ '\u0244': 'U',
+ '\u24CB': 'V',
+ '\uFF36': 'V',
+ '\u1E7C': 'V',
+ '\u1E7E': 'V',
+ '\u01B2': 'V',
+ '\uA75E': 'V',
+ '\u0245': 'V',
+ '\uA760': 'VY',
+ '\u24CC': 'W',
+ '\uFF37': 'W',
+ '\u1E80': 'W',
+ '\u1E82': 'W',
+ '\u0174': 'W',
+ '\u1E86': 'W',
+ '\u1E84': 'W',
+ '\u1E88': 'W',
+ '\u2C72': 'W',
+ '\u24CD': 'X',
+ '\uFF38': 'X',
+ '\u1E8A': 'X',
+ '\u1E8C': 'X',
+ '\u24CE': 'Y',
+ '\uFF39': 'Y',
+ '\u1EF2': 'Y',
+ '\u00DD': 'Y',
+ '\u0176': 'Y',
+ '\u1EF8': 'Y',
+ '\u0232': 'Y',
+ '\u1E8E': 'Y',
+ '\u0178': 'Y',
+ '\u1EF6': 'Y',
+ '\u1EF4': 'Y',
+ '\u01B3': 'Y',
+ '\u024E': 'Y',
+ '\u1EFE': 'Y',
+ '\u24CF': 'Z',
+ '\uFF3A': 'Z',
+ '\u0179': 'Z',
+ '\u1E90': 'Z',
+ '\u017B': 'Z',
+ '\u017D': 'Z',
+ '\u1E92': 'Z',
+ '\u1E94': 'Z',
+ '\u01B5': 'Z',
+ '\u0224': 'Z',
+ '\u2C7F': 'Z',
+ '\u2C6B': 'Z',
+ '\uA762': 'Z',
+ '\u24D0': 'a',
+ '\uFF41': 'a',
+ '\u1E9A': 'a',
+ '\u00E0': 'a',
+ '\u00E1': 'a',
+ '\u00E2': 'a',
+ '\u1EA7': 'a',
+ '\u1EA5': 'a',
+ '\u1EAB': 'a',
+ '\u1EA9': 'a',
+ '\u00E3': 'a',
+ '\u0101': 'a',
+ '\u0103': 'a',
+ '\u1EB1': 'a',
+ '\u1EAF': 'a',
+ '\u1EB5': 'a',
+ '\u1EB3': 'a',
+ '\u0227': 'a',
+ '\u01E1': 'a',
+ '\u00E4': 'a',
+ '\u01DF': 'a',
+ '\u1EA3': 'a',
+ '\u00E5': 'a',
+ '\u01FB': 'a',
+ '\u01CE': 'a',
+ '\u0201': 'a',
+ '\u0203': 'a',
+ '\u1EA1': 'a',
+ '\u1EAD': 'a',
+ '\u1EB7': 'a',
+ '\u1E01': 'a',
+ '\u0105': 'a',
+ '\u2C65': 'a',
+ '\u0250': 'a',
+ '\uA733': 'aa',
+ '\u00E6': 'ae',
+ '\u01FD': 'ae',
+ '\u01E3': 'ae',
+ '\uA735': 'ao',
+ '\uA737': 'au',
+ '\uA739': 'av',
+ '\uA73B': 'av',
+ '\uA73D': 'ay',
+ '\u24D1': 'b',
+ '\uFF42': 'b',
+ '\u1E03': 'b',
+ '\u1E05': 'b',
+ '\u1E07': 'b',
+ '\u0180': 'b',
+ '\u0183': 'b',
+ '\u0253': 'b',
+ '\u24D2': 'c',
+ '\uFF43': 'c',
+ '\u0107': 'c',
+ '\u0109': 'c',
+ '\u010B': 'c',
+ '\u010D': 'c',
+ '\u00E7': 'c',
+ '\u1E09': 'c',
+ '\u0188': 'c',
+ '\u023C': 'c',
+ '\uA73F': 'c',
+ '\u2184': 'c',
+ '\u24D3': 'd',
+ '\uFF44': 'd',
+ '\u1E0B': 'd',
+ '\u010F': 'd',
+ '\u1E0D': 'd',
+ '\u1E11': 'd',
+ '\u1E13': 'd',
+ '\u1E0F': 'd',
+ '\u0111': 'd',
+ '\u018C': 'd',
+ '\u0256': 'd',
+ '\u0257': 'd',
+ '\uA77A': 'd',
+ '\u01F3': 'dz',
+ '\u01C6': 'dz',
+ '\u24D4': 'e',
+ '\uFF45': 'e',
+ '\u00E8': 'e',
+ '\u00E9': 'e',
+ '\u00EA': 'e',
+ '\u1EC1': 'e',
+ '\u1EBF': 'e',
+ '\u1EC5': 'e',
+ '\u1EC3': 'e',
+ '\u1EBD': 'e',
+ '\u0113': 'e',
+ '\u1E15': 'e',
+ '\u1E17': 'e',
+ '\u0115': 'e',
+ '\u0117': 'e',
+ '\u00EB': 'e',
+ '\u1EBB': 'e',
+ '\u011B': 'e',
+ '\u0205': 'e',
+ '\u0207': 'e',
+ '\u1EB9': 'e',
+ '\u1EC7': 'e',
+ '\u0229': 'e',
+ '\u1E1D': 'e',
+ '\u0119': 'e',
+ '\u1E19': 'e',
+ '\u1E1B': 'e',
+ '\u0247': 'e',
+ '\u025B': 'e',
+ '\u01DD': 'e',
+ '\u24D5': 'f',
+ '\uFF46': 'f',
+ '\u1E1F': 'f',
+ '\u0192': 'f',
+ '\uA77C': 'f',
+ '\u24D6': 'g',
+ '\uFF47': 'g',
+ '\u01F5': 'g',
+ '\u011D': 'g',
+ '\u1E21': 'g',
+ '\u011F': 'g',
+ '\u0121': 'g',
+ '\u01E7': 'g',
+ '\u0123': 'g',
+ '\u01E5': 'g',
+ '\u0260': 'g',
+ '\uA7A1': 'g',
+ '\u1D79': 'g',
+ '\uA77F': 'g',
+ '\u24D7': 'h',
+ '\uFF48': 'h',
+ '\u0125': 'h',
+ '\u1E23': 'h',
+ '\u1E27': 'h',
+ '\u021F': 'h',
+ '\u1E25': 'h',
+ '\u1E29': 'h',
+ '\u1E2B': 'h',
+ '\u1E96': 'h',
+ '\u0127': 'h',
+ '\u2C68': 'h',
+ '\u2C76': 'h',
+ '\u0265': 'h',
+ '\u0195': 'hv',
+ '\u24D8': 'i',
+ '\uFF49': 'i',
+ '\u00EC': 'i',
+ '\u00ED': 'i',
+ '\u00EE': 'i',
+ '\u0129': 'i',
+ '\u012B': 'i',
+ '\u012D': 'i',
+ '\u00EF': 'i',
+ '\u1E2F': 'i',
+ '\u1EC9': 'i',
+ '\u01D0': 'i',
+ '\u0209': 'i',
+ '\u020B': 'i',
+ '\u1ECB': 'i',
+ '\u012F': 'i',
+ '\u1E2D': 'i',
+ '\u0268': 'i',
+ '\u0131': 'i',
+ '\u24D9': 'j',
+ '\uFF4A': 'j',
+ '\u0135': 'j',
+ '\u01F0': 'j',
+ '\u0249': 'j',
+ '\u24DA': 'k',
+ '\uFF4B': 'k',
+ '\u1E31': 'k',
+ '\u01E9': 'k',
+ '\u1E33': 'k',
+ '\u0137': 'k',
+ '\u1E35': 'k',
+ '\u0199': 'k',
+ '\u2C6A': 'k',
+ '\uA741': 'k',
+ '\uA743': 'k',
+ '\uA745': 'k',
+ '\uA7A3': 'k',
+ '\u24DB': 'l',
+ '\uFF4C': 'l',
+ '\u0140': 'l',
+ '\u013A': 'l',
+ '\u013E': 'l',
+ '\u1E37': 'l',
+ '\u1E39': 'l',
+ '\u013C': 'l',
+ '\u1E3D': 'l',
+ '\u1E3B': 'l',
+ '\u017F': 'l',
+ '\u0142': 'l',
+ '\u019A': 'l',
+ '\u026B': 'l',
+ '\u2C61': 'l',
+ '\uA749': 'l',
+ '\uA781': 'l',
+ '\uA747': 'l',
+ '\u01C9': 'lj',
+ '\u24DC': 'm',
+ '\uFF4D': 'm',
+ '\u1E3F': 'm',
+ '\u1E41': 'm',
+ '\u1E43': 'm',
+ '\u0271': 'm',
+ '\u026F': 'm',
+ '\u24DD': 'n',
+ '\uFF4E': 'n',
+ '\u01F9': 'n',
+ '\u0144': 'n',
+ '\u00F1': 'n',
+ '\u1E45': 'n',
+ '\u0148': 'n',
+ '\u1E47': 'n',
+ '\u0146': 'n',
+ '\u1E4B': 'n',
+ '\u1E49': 'n',
+ '\u019E': 'n',
+ '\u0272': 'n',
+ '\u0149': 'n',
+ '\uA791': 'n',
+ '\uA7A5': 'n',
+ '\u01CC': 'nj',
+ '\u24DE': 'o',
+ '\uFF4F': 'o',
+ '\u00F2': 'o',
+ '\u00F3': 'o',
+ '\u00F4': 'o',
+ '\u1ED3': 'o',
+ '\u1ED1': 'o',
+ '\u1ED7': 'o',
+ '\u1ED5': 'o',
+ '\u00F5': 'o',
+ '\u1E4D': 'o',
+ '\u022D': 'o',
+ '\u1E4F': 'o',
+ '\u014D': 'o',
+ '\u1E51': 'o',
+ '\u1E53': 'o',
+ '\u014F': 'o',
+ '\u022F': 'o',
+ '\u0231': 'o',
+ '\u00F6': 'o',
+ '\u022B': 'o',
+ '\u1ECF': 'o',
+ '\u0151': 'o',
+ '\u01D2': 'o',
+ '\u020D': 'o',
+ '\u020F': 'o',
+ '\u01A1': 'o',
+ '\u1EDD': 'o',
+ '\u1EDB': 'o',
+ '\u1EE1': 'o',
+ '\u1EDF': 'o',
+ '\u1EE3': 'o',
+ '\u1ECD': 'o',
+ '\u1ED9': 'o',
+ '\u01EB': 'o',
+ '\u01ED': 'o',
+ '\u00F8': 'o',
+ '\u01FF': 'o',
+ '\u0254': 'o',
+ '\uA74B': 'o',
+ '\uA74D': 'o',
+ '\u0275': 'o',
+ '\u0153': 'oe',
+ '\u01A3': 'oi',
+ '\u0223': 'ou',
+ '\uA74F': 'oo',
+ '\u24DF': 'p',
+ '\uFF50': 'p',
+ '\u1E55': 'p',
+ '\u1E57': 'p',
+ '\u01A5': 'p',
+ '\u1D7D': 'p',
+ '\uA751': 'p',
+ '\uA753': 'p',
+ '\uA755': 'p',
+ '\u24E0': 'q',
+ '\uFF51': 'q',
+ '\u024B': 'q',
+ '\uA757': 'q',
+ '\uA759': 'q',
+ '\u24E1': 'r',
+ '\uFF52': 'r',
+ '\u0155': 'r',
+ '\u1E59': 'r',
+ '\u0159': 'r',
+ '\u0211': 'r',
+ '\u0213': 'r',
+ '\u1E5B': 'r',
+ '\u1E5D': 'r',
+ '\u0157': 'r',
+ '\u1E5F': 'r',
+ '\u024D': 'r',
+ '\u027D': 'r',
+ '\uA75B': 'r',
+ '\uA7A7': 'r',
+ '\uA783': 'r',
+ '\u24E2': 's',
+ '\uFF53': 's',
+ '\u00DF': 's',
+ '\u015B': 's',
+ '\u1E65': 's',
+ '\u015D': 's',
+ '\u1E61': 's',
+ '\u0161': 's',
+ '\u1E67': 's',
+ '\u1E63': 's',
+ '\u1E69': 's',
+ '\u0219': 's',
+ '\u015F': 's',
+ '\u023F': 's',
+ '\uA7A9': 's',
+ '\uA785': 's',
+ '\u1E9B': 's',
+ '\u24E3': 't',
+ '\uFF54': 't',
+ '\u1E6B': 't',
+ '\u1E97': 't',
+ '\u0165': 't',
+ '\u1E6D': 't',
+ '\u021B': 't',
+ '\u0163': 't',
+ '\u1E71': 't',
+ '\u1E6F': 't',
+ '\u0167': 't',
+ '\u01AD': 't',
+ '\u0288': 't',
+ '\u2C66': 't',
+ '\uA787': 't',
+ '\uA729': 'tz',
+ '\u24E4': 'u',
+ '\uFF55': 'u',
+ '\u00F9': 'u',
+ '\u00FA': 'u',
+ '\u00FB': 'u',
+ '\u0169': 'u',
+ '\u1E79': 'u',
+ '\u016B': 'u',
+ '\u1E7B': 'u',
+ '\u016D': 'u',
+ '\u00FC': 'u',
+ '\u01DC': 'u',
+ '\u01D8': 'u',
+ '\u01D6': 'u',
+ '\u01DA': 'u',
+ '\u1EE7': 'u',
+ '\u016F': 'u',
+ '\u0171': 'u',
+ '\u01D4': 'u',
+ '\u0215': 'u',
+ '\u0217': 'u',
+ '\u01B0': 'u',
+ '\u1EEB': 'u',
+ '\u1EE9': 'u',
+ '\u1EEF': 'u',
+ '\u1EED': 'u',
+ '\u1EF1': 'u',
+ '\u1EE5': 'u',
+ '\u1E73': 'u',
+ '\u0173': 'u',
+ '\u1E77': 'u',
+ '\u1E75': 'u',
+ '\u0289': 'u',
+ '\u24E5': 'v',
+ '\uFF56': 'v',
+ '\u1E7D': 'v',
+ '\u1E7F': 'v',
+ '\u028B': 'v',
+ '\uA75F': 'v',
+ '\u028C': 'v',
+ '\uA761': 'vy',
+ '\u24E6': 'w',
+ '\uFF57': 'w',
+ '\u1E81': 'w',
+ '\u1E83': 'w',
+ '\u0175': 'w',
+ '\u1E87': 'w',
+ '\u1E85': 'w',
+ '\u1E98': 'w',
+ '\u1E89': 'w',
+ '\u2C73': 'w',
+ '\u24E7': 'x',
+ '\uFF58': 'x',
+ '\u1E8B': 'x',
+ '\u1E8D': 'x',
+ '\u24E8': 'y',
+ '\uFF59': 'y',
+ '\u1EF3': 'y',
+ '\u00FD': 'y',
+ '\u0177': 'y',
+ '\u1EF9': 'y',
+ '\u0233': 'y',
+ '\u1E8F': 'y',
+ '\u00FF': 'y',
+ '\u1EF7': 'y',
+ '\u1E99': 'y',
+ '\u1EF5': 'y',
+ '\u01B4': 'y',
+ '\u024F': 'y',
+ '\u1EFF': 'y',
+ '\u24E9': 'z',
+ '\uFF5A': 'z',
+ '\u017A': 'z',
+ '\u1E91': 'z',
+ '\u017C': 'z',
+ '\u017E': 'z',
+ '\u1E93': 'z',
+ '\u1E95': 'z',
+ '\u01B6': 'z',
+ '\u0225': 'z',
+ '\u0240': 'z',
+ '\u2C6C': 'z',
+ '\uA763': 'z',
+ '\u0386': '\u0391',
+ '\u0388': '\u0395',
+ '\u0389': '\u0397',
+ '\u038A': '\u0399',
+ '\u03AA': '\u0399',
+ '\u038C': '\u039F',
+ '\u038E': '\u03A5',
+ '\u03AB': '\u03A5',
+ '\u038F': '\u03A9',
+ '\u03AC': '\u03B1',
+ '\u03AD': '\u03B5',
+ '\u03AE': '\u03B7',
+ '\u03AF': '\u03B9',
+ '\u03CA': '\u03B9',
+ '\u0390': '\u03B9',
+ '\u03CC': '\u03BF',
+ '\u03CD': '\u03C5',
+ '\u03CB': '\u03C5',
+ '\u03B0': '\u03C5',
+ '\u03CE': '\u03C9',
+ '\u03C2': '\u03C3',
+ '\u2019': '\''
+ };
+
+ return diacritics;
+});
+
+S2.define('select2/data/base',[
+ '../utils'
+], function (Utils) {
+ function BaseAdapter ($element, options) {
+ BaseAdapter.__super__.constructor.call(this);
+ }
+
+ Utils.Extend(BaseAdapter, Utils.Observable);
+
+ BaseAdapter.prototype.current = function (callback) {
+ throw new Error('The `current` method must be defined in child classes.');
+ };
+
+ BaseAdapter.prototype.query = function (params, callback) {
+ throw new Error('The `query` method must be defined in child classes.');
+ };
+
+ BaseAdapter.prototype.bind = function (container, $container) {
+ // Can be implemented in subclasses
+ };
+
+ BaseAdapter.prototype.destroy = function () {
+ // Can be implemented in subclasses
+ };
+
+ BaseAdapter.prototype.generateResultId = function (container, data) {
+ var id = container.id + '-result-';
+
+ id += Utils.generateChars(4);
+
+ if (data.id != null) {
+ id += '-' + data.id.toString();
+ } else {
+ id += '-' + Utils.generateChars(4);
+ }
+ return id;
+ };
+
+ return BaseAdapter;
+});
+
+S2.define('select2/data/select',[
+ './base',
+ '../utils',
+ 'jquery'
+], function (BaseAdapter, Utils, $) {
+ function SelectAdapter ($element, options) {
+ this.$element = $element;
+ this.options = options;
+
+ SelectAdapter.__super__.constructor.call(this);
+ }
+
+ Utils.Extend(SelectAdapter, BaseAdapter);
+
+ SelectAdapter.prototype.current = function (callback) {
+ var data = [];
+ var self = this;
+
+ this.$element.find(':selected').each(function () {
+ var $option = $(this);
+
+ var option = self.item($option);
+
+ data.push(option);
+ });
+
+ callback(data);
+ };
+
+ SelectAdapter.prototype.select = function (data) {
+ var self = this;
+
+ data.selected = true;
+
+ // If data.element is a DOM node, use it instead
+ if ($(data.element).is('option')) {
+ data.element.selected = true;
+
+ this.$element.trigger('change');
+
+ return;
+ }
+
+ if (this.$element.prop('multiple')) {
+ this.current(function (currentData) {
+ var val = [];
+
+ data = [data];
+ data.push.apply(data, currentData);
+
+ for (var d = 0; d < data.length; d++) {
+ var id = data[d].id;
+
+ if ($.inArray(id, val) === -1) {
+ val.push(id);
+ }
+ }
+
+ self.$element.val(val);
+ self.$element.trigger('change');
+ });
+ } else {
+ var val = data.id;
+
+ this.$element.val(val);
+ this.$element.trigger('change');
+ }
+ };
+
+ SelectAdapter.prototype.unselect = function (data) {
+ var self = this;
+
+ if (!this.$element.prop('multiple')) {
+ return;
+ }
+
+ data.selected = false;
+
+ if ($(data.element).is('option')) {
+ data.element.selected = false;
+
+ this.$element.trigger('change');
+
+ return;
+ }
+
+ this.current(function (currentData) {
+ var val = [];
+
+ for (var d = 0; d < currentData.length; d++) {
+ var id = currentData[d].id;
+
+ if (id !== data.id && $.inArray(id, val) === -1) {
+ val.push(id);
+ }
+ }
+
+ self.$element.val(val);
+
+ self.$element.trigger('change');
+ });
+ };
+
+ SelectAdapter.prototype.bind = function (container, $container) {
+ var self = this;
+
+ this.container = container;
+
+ container.on('select', function (params) {
+ self.select(params.data);
+ });
+
+ container.on('unselect', function (params) {
+ self.unselect(params.data);
+ });
+ };
+
+ SelectAdapter.prototype.destroy = function () {
+ // Remove anything added to child elements
+ this.$element.find('*').each(function () {
+ // Remove any custom data set by Select2
+ Utils.RemoveData(this);
+ });
+ };
+
+ SelectAdapter.prototype.query = function (params, callback) {
+ var data = [];
+ var self = this;
+
+ var $options = this.$element.children();
+
+ $options.each(function () {
+ var $option = $(this);
+
+ if (!$option.is('option') && !$option.is('optgroup')) {
+ return;
+ }
+
+ var option = self.item($option);
+
+ var matches = self.matches(params, option);
+
+ if (matches !== null) {
+ data.push(matches);
+ }
+ });
+
+ callback({
+ results: data
+ });
+ };
+
+ SelectAdapter.prototype.addOptions = function ($options) {
+ Utils.appendMany(this.$element, $options);
+ };
+
+ SelectAdapter.prototype.option = function (data) {
+ var option;
+
+ if (data.children) {
+ option = document.createElement('optgroup');
+ option.label = data.text;
+ } else {
+ option = document.createElement('option');
+
+ if (option.textContent !== undefined) {
+ option.textContent = data.text;
+ } else {
+ option.innerText = data.text;
+ }
+ }
+
+ if (data.id !== undefined) {
+ option.value = data.id;
+ }
+
+ if (data.disabled) {
+ option.disabled = true;
+ }
+
+ if (data.selected) {
+ option.selected = true;
+ }
+
+ if (data.title) {
+ option.title = data.title;
+ }
+
+ var $option = $(option);
+
+ var normalizedData = this._normalizeItem(data);
+ normalizedData.element = option;
+
+ // Override the option's data with the combined data
+ Utils.StoreData(option, 'data', normalizedData);
+
+ return $option;
+ };
+
+ SelectAdapter.prototype.item = function ($option) {
+ var data = {};
+
+ data = Utils.GetData($option[0], 'data');
+
+ if (data != null) {
+ return data;
+ }
+
+ if ($option.is('option')) {
+ data = {
+ id: $option.val(),
+ text: $option.text(),
+ disabled: $option.prop('disabled'),
+ selected: $option.prop('selected'),
+ title: $option.prop('title')
+ };
+ } else if ($option.is('optgroup')) {
+ data = {
+ text: $option.prop('label'),
+ children: [],
+ title: $option.prop('title')
+ };
+
+ var $children = $option.children('option');
+ var children = [];
+
+ for (var c = 0; c < $children.length; c++) {
+ var $child = $($children[c]);
+
+ var child = this.item($child);
+
+ children.push(child);
+ }
+
+ data.children = children;
+ }
+
+ data = this._normalizeItem(data);
+ data.element = $option[0];
+
+ Utils.StoreData($option[0], 'data', data);
+
+ return data;
+ };
+
+ SelectAdapter.prototype._normalizeItem = function (item) {
+ if (item !== Object(item)) {
+ item = {
+ id: item,
+ text: item
+ };
+ }
+
+ item = $.extend({}, {
+ text: ''
+ }, item);
+
+ var defaults = {
+ selected: false,
+ disabled: false
+ };
+
+ if (item.id != null) {
+ item.id = item.id.toString();
+ }
+
+ if (item.text != null) {
+ item.text = item.text.toString();
+ }
+
+ if (item._resultId == null && item.id && this.container != null) {
+ item._resultId = this.generateResultId(this.container, item);
+ }
+
+ return $.extend({}, defaults, item);
+ };
+
+ SelectAdapter.prototype.matches = function (params, data) {
+ var matcher = this.options.get('matcher');
+
+ return matcher(params, data);
+ };
+
+ return SelectAdapter;
+});
+
+S2.define('select2/data/array',[
+ './select',
+ '../utils',
+ 'jquery'
+], function (SelectAdapter, Utils, $) {
+ function ArrayAdapter ($element, options) {
+ var data = options.get('data') || [];
+
+ ArrayAdapter.__super__.constructor.call(this, $element, options);
+
+ this.addOptions(this.convertToOptions(data));
+ }
+
+ Utils.Extend(ArrayAdapter, SelectAdapter);
+
+ ArrayAdapter.prototype.select = function (data) {
+ var $option = this.$element.find('option').filter(function (i, elm) {
+ return elm.value == data.id.toString();
+ });
+
+ if ($option.length === 0) {
+ $option = this.option(data);
+
+ this.addOptions($option);
+ }
+
+ ArrayAdapter.__super__.select.call(this, data);
+ };
+
+ ArrayAdapter.prototype.convertToOptions = function (data) {
+ var self = this;
+
+ var $existing = this.$element.find('option');
+ var existingIds = $existing.map(function () {
+ return self.item($(this)).id;
+ }).get();
+
+ var $options = [];
+
+ // Filter out all items except for the one passed in the argument
+ function onlyItem (item) {
+ return function () {
+ return $(this).val() == item.id;
+ };
+ }
+
+ for (var d = 0; d < data.length; d++) {
+ var item = this._normalizeItem(data[d]);
+
+ // Skip items which were pre-loaded, only merge the data
+ if ($.inArray(item.id, existingIds) >= 0) {
+ var $existingOption = $existing.filter(onlyItem(item));
+
+ var existingData = this.item($existingOption);
+ var newData = $.extend(true, {}, item, existingData);
+
+ var $newOption = this.option(newData);
+
+ $existingOption.replaceWith($newOption);
+
+ continue;
+ }
+
+ var $option = this.option(item);
+
+ if (item.children) {
+ var $children = this.convertToOptions(item.children);
+
+ Utils.appendMany($option, $children);
+ }
+
+ $options.push($option);
+ }
+
+ return $options;
+ };
+
+ return ArrayAdapter;
+});
+
+S2.define('select2/data/ajax',[
+ './array',
+ '../utils',
+ 'jquery'
+], function (ArrayAdapter, Utils, $) {
+ function AjaxAdapter ($element, options) {
+ this.ajaxOptions = this._applyDefaults(options.get('ajax'));
+
+ if (this.ajaxOptions.processResults != null) {
+ this.processResults = this.ajaxOptions.processResults;
+ }
+
+ AjaxAdapter.__super__.constructor.call(this, $element, options);
+ }
+
+ Utils.Extend(AjaxAdapter, ArrayAdapter);
+
+ AjaxAdapter.prototype._applyDefaults = function (options) {
+ var defaults = {
+ data: function (params) {
+ return $.extend({}, params, {
+ q: params.term
+ });
+ },
+ transport: function (params, success, failure) {
+ var $request = $.ajax(params);
+
+ $request.then(success);
+ $request.fail(failure);
+
+ return $request;
+ }
+ };
+
+ return $.extend({}, defaults, options, true);
+ };
+
+ AjaxAdapter.prototype.processResults = function (results) {
+ return results;
+ };
+
+ AjaxAdapter.prototype.query = function (params, callback) {
+ var matches = [];
+ var self = this;
+
+ if (this._request != null) {
+ // JSONP requests cannot always be aborted
+ if ($.isFunction(this._request.abort)) {
+ this._request.abort();
+ }
+
+ this._request = null;
+ }
+
+ var options = $.extend({
+ type: 'GET'
+ }, this.ajaxOptions);
+
+ if (typeof options.url === 'function') {
+ options.url = options.url.call(this.$element, params);
+ }
+
+ if (typeof options.data === 'function') {
+ options.data = options.data.call(this.$element, params);
+ }
+
+ function request () {
+ var $request = options.transport(options, function (data) {
+ var results = self.processResults(data, params);
+
+ if (self.options.get('debug') && window.console && console.error) {
+ // Check to make sure that the response included a `results` key.
+ if (!results || !results.results || !$.isArray(results.results)) {
+ console.error(
+ 'Select2: The AJAX results did not return an array in the ' +
+ '`results` key of the response.'
+ );
+ }
+ }
+
+ callback(results);
+ }, function () {
+ // Attempt to detect if a request was aborted
+ // Only works if the transport exposes a status property
+ if ('status' in $request &&
+ ($request.status === 0 || $request.status === '0')) {
+ return;
+ }
+
+ self.trigger('results:message', {
+ message: 'errorLoading'
+ });
+ });
+
+ self._request = $request;
+ }
+
+ if (this.ajaxOptions.delay && params.term != null) {
+ if (this._queryTimeout) {
+ window.clearTimeout(this._queryTimeout);
+ }
+
+ this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay);
+ } else {
+ request();
+ }
+ };
+
+ return AjaxAdapter;
+});
+
+S2.define('select2/data/tags',[
+ 'jquery'
+], function ($) {
+ function Tags (decorated, $element, options) {
+ var tags = options.get('tags');
+
+ var createTag = options.get('createTag');
+
+ if (createTag !== undefined) {
+ this.createTag = createTag;
+ }
+
+ var insertTag = options.get('insertTag');
+
+ if (insertTag !== undefined) {
+ this.insertTag = insertTag;
+ }
+
+ decorated.call(this, $element, options);
+
+ if ($.isArray(tags)) {
+ for (var t = 0; t < tags.length; t++) {
+ var tag = tags[t];
+ var item = this._normalizeItem(tag);
+
+ var $option = this.option(item);
+
+ this.$element.append($option);
+ }
+ }
+ }
+
+ Tags.prototype.query = function (decorated, params, callback) {
+ var self = this;
+
+ this._removeOldTags();
+
+ if (params.term == null || params.page != null) {
+ decorated.call(this, params, callback);
+ return;
+ }
+
+ function wrapper (obj, child) {
+ var data = obj.results;
+
+ for (var i = 0; i < data.length; i++) {
+ var option = data[i];
+
+ var checkChildren = (
+ option.children != null &&
+ !wrapper({
+ results: option.children
+ }, true)
+ );
+
+ var optionText = (option.text || '').toUpperCase();
+ var paramsTerm = (params.term || '').toUpperCase();
+
+ var checkText = optionText === paramsTerm;
+
+ if (checkText || checkChildren) {
+ if (child) {
+ return false;
+ }
+
+ obj.data = data;
+ callback(obj);
+
+ return;
+ }
+ }
+
+ if (child) {
+ return true;
+ }
+
+ var tag = self.createTag(params);
+
+ if (tag != null) {
+ var $option = self.option(tag);
+ $option.attr('data-select2-tag', true);
+
+ self.addOptions([$option]);
+
+ self.insertTag(data, tag);
+ }
+
+ obj.results = data;
+
+ callback(obj);
+ }
+
+ decorated.call(this, params, wrapper);
+ };
+
+ Tags.prototype.createTag = function (decorated, params) {
+ var term = $.trim(params.term);
+
+ if (term === '') {
+ return null;
+ }
+
+ return {
+ id: term,
+ text: term
+ };
+ };
+
+ Tags.prototype.insertTag = function (_, data, tag) {
+ data.unshift(tag);
+ };
+
+ Tags.prototype._removeOldTags = function (_) {
+ var tag = this._lastTag;
+
+ var $options = this.$element.find('option[data-select2-tag]');
+
+ $options.each(function () {
+ if (this.selected) {
+ return;
+ }
+
+ $(this).remove();
+ });
+ };
+
+ return Tags;
+});
+
+S2.define('select2/data/tokenizer',[
+ 'jquery'
+], function ($) {
+ function Tokenizer (decorated, $element, options) {
+ var tokenizer = options.get('tokenizer');
+
+ if (tokenizer !== undefined) {
+ this.tokenizer = tokenizer;
+ }
+
+ decorated.call(this, $element, options);
+ }
+
+ Tokenizer.prototype.bind = function (decorated, container, $container) {
+ decorated.call(this, container, $container);
+
+ this.$search = container.dropdown.$search || container.selection.$search ||
+ $container.find('.select2-search__field');
+ };
+
+ Tokenizer.prototype.query = function (decorated, params, callback) {
+ var self = this;
+
+ function createAndSelect (data) {
+ // Normalize the data object so we can use it for checks
+ var item = self._normalizeItem(data);
+
+ // Check if the data object already exists as a tag
+ // Select it if it doesn't
+ var $existingOptions = self.$element.find('option').filter(function () {
+ return $(this).val() === item.id;
+ });
+
+ // If an existing option wasn't found for it, create the option
+ if (!$existingOptions.length) {
+ var $option = self.option(item);
+ $option.attr('data-select2-tag', true);
+
+ self._removeOldTags();
+ self.addOptions([$option]);
+ }
+
+ // Select the item, now that we know there is an option for it
+ select(item);
+ }
+
+ function select (data) {
+ self.trigger('select', {
+ data: data
+ });
+ }
+
+ params.term = params.term || '';
+
+ var tokenData = this.tokenizer(params, this.options, createAndSelect);
+
+ if (tokenData.term !== params.term) {
+ // Replace the search term if we have the search box
+ if (this.$search.length) {
+ this.$search.val(tokenData.term);
+ this.$search.focus();
+ }
+
+ params.term = tokenData.term;
+ }
+
+ decorated.call(this, params, callback);
+ };
+
+ Tokenizer.prototype.tokenizer = function (_, params, options, callback) {
+ var separators = options.get('tokenSeparators') || [];
+ var term = params.term;
+ var i = 0;
+
+ var createTag = this.createTag || function (params) {
+ return {
+ id: params.term,
+ text: params.term
+ };
+ };
+
+ while (i < term.length) {
+ var termChar = term[i];
+
+ if ($.inArray(termChar, separators) === -1) {
+ i++;
+
+ continue;
+ }
+
+ var part = term.substr(0, i);
+ var partParams = $.extend({}, params, {
+ term: part
+ });
+
+ var data = createTag(partParams);
+
+ if (data == null) {
+ i++;
+ continue;
+ }
+
+ callback(data);
+
+ // Reset the term to not include the tokenized portion
+ term = term.substr(i + 1) || '';
+ i = 0;
+ }
+
+ return {
+ term: term
+ };
+ };
+
+ return Tokenizer;
+});
+
+S2.define('select2/data/minimumInputLength',[
+
+], function () {
+ function MinimumInputLength (decorated, $e, options) {
+ this.minimumInputLength = options.get('minimumInputLength');
+
+ decorated.call(this, $e, options);
+ }
+
+ MinimumInputLength.prototype.query = function (decorated, params, callback) {
+ params.term = params.term || '';
+
+ if (params.term.length < this.minimumInputLength) {
+ this.trigger('results:message', {
+ message: 'inputTooShort',
+ args: {
+ minimum: this.minimumInputLength,
+ input: params.term,
+ params: params
+ }
+ });
+
+ return;
+ }
+
+ decorated.call(this, params, callback);
+ };
+
+ return MinimumInputLength;
+});
+
+S2.define('select2/data/maximumInputLength',[
+
+], function () {
+ function MaximumInputLength (decorated, $e, options) {
+ this.maximumInputLength = options.get('maximumInputLength');
+
+ decorated.call(this, $e, options);
+ }
+
+ MaximumInputLength.prototype.query = function (decorated, params, callback) {
+ params.term = params.term || '';
+
+ if (this.maximumInputLength > 0 &&
+ params.term.length > this.maximumInputLength) {
+ this.trigger('results:message', {
+ message: 'inputTooLong',
+ args: {
+ maximum: this.maximumInputLength,
+ input: params.term,
+ params: params
+ }
+ });
+
+ return;
+ }
+
+ decorated.call(this, params, callback);
+ };
+
+ return MaximumInputLength;
+});
+
+S2.define('select2/data/maximumSelectionLength',[
+
+], function (){
+ function MaximumSelectionLength (decorated, $e, options) {
+ this.maximumSelectionLength = options.get('maximumSelectionLength');
+
+ decorated.call(this, $e, options);
+ }
+
+ MaximumSelectionLength.prototype.query =
+ function (decorated, params, callback) {
+ var self = this;
+
+ this.current(function (currentData) {
+ var count = currentData != null ? currentData.length : 0;
+ if (self.maximumSelectionLength > 0 &&
+ count >= self.maximumSelectionLength) {
+ self.trigger('results:message', {
+ message: 'maximumSelected',
+ args: {
+ maximum: self.maximumSelectionLength
+ }
+ });
+ return;
+ }
+ decorated.call(self, params, callback);
+ });
+ };
+
+ return MaximumSelectionLength;
+});
+
+S2.define('select2/dropdown',[
+ 'jquery',
+ './utils'
+], function ($, Utils) {
+ function Dropdown ($element, options) {
+ this.$element = $element;
+ this.options = options;
+
+ Dropdown.__super__.constructor.call(this);
+ }
+
+ Utils.Extend(Dropdown, Utils.Observable);
+
+ Dropdown.prototype.render = function () {
+ var $dropdown = $(
+ '<span class="select2-dropdown">' +
+ '<span class="select2-results"></span>' +
+ '</span>'
+ );
+
+ $dropdown.attr('dir', this.options.get('dir'));
+
+ this.$dropdown = $dropdown;
+
+ return $dropdown;
+ };
+
+ Dropdown.prototype.bind = function () {
+ // Should be implemented in subclasses
+ };
+
+ Dropdown.prototype.position = function ($dropdown, $container) {
+ // Should be implemented in subclasses
+ };
+
+ Dropdown.prototype.destroy = function () {
+ // Remove the dropdown from the DOM
+ this.$dropdown.remove();
+ };
+
+ return Dropdown;
+});
+
+S2.define('select2/dropdown/search',[
+ 'jquery',
+ '../utils'
+], function ($, Utils) {
+ function Search () { }
+
+ Search.prototype.render = function (decorated) {
+ var $rendered = decorated.call(this);
+
+ var $search = $(
+ '<span class="select2-search select2-search--dropdown">' +
+ '<input class="select2-search__field" type="search" tabindex="-1"' +
+ ' autocomplete="off" autocorrect="off" autocapitalize="none"' +
+ ' spellcheck="false" role="textbox" />' +
+ '</span>'
+ );
+
+ this.$searchContainer = $search;
+ this.$search = $search.find('input');
+
+ $rendered.prepend($search);
+
+ return $rendered;
+ };
+
+ Search.prototype.bind = function (decorated, container, $container) {
+ var self = this;
+
+ decorated.call(this, container, $container);
+
+ this.$search.on('keydown', function (evt) {
+ self.trigger('keypress', evt);
+
+ self._keyUpPrevented = evt.isDefaultPrevented();
+ });
+
+ // Workaround for browsers which do not support the `input` event
+ // This will prevent double-triggering of events for browsers which support
+ // both the `keyup` and `input` events.
+ this.$search.on('input', function (evt) {
+ // Unbind the duplicated `keyup` event
+ $(this).off('keyup');
+ });
+
+ this.$search.on('keyup input', function (evt) {
+ self.handleSearch(evt);
+ });
+
+ container.on('open', function () {
+ self.$search.attr('tabindex', 0);
+
+ self.$search.focus();
+
+ window.setTimeout(function () {
+ self.$search.focus();
+ }, 0);
+ });
+
+ container.on('close', function () {
+ self.$search.attr('tabindex', -1);
+
+ self.$search.val('');
+ self.$search.blur();
+ });
+
+ container.on('focus', function () {
+ if (!container.isOpen()) {
+ self.$search.focus();
+ }
+ });
+
+ container.on('results:all', function (params) {
+ if (params.query.term == null || params.query.term === '') {
+ var showSearch = self.showSearch(params);
+
+ if (showSearch) {
+ self.$searchContainer.removeClass('select2-search--hide');
+ } else {
+ self.$searchContainer.addClass('select2-search--hide');
+ }
+ }
+ });
+ };
+
+ Search.prototype.handleSearch = function (evt) {
+ if (!this._keyUpPrevented) {
+ var input = this.$search.val();
+
+ this.trigger('query', {
+ term: input
+ });
+ }
+
+ this._keyUpPrevented = false;
+ };
+
+ Search.prototype.showSearch = function (_, params) {
+ return true;
+ };
+
+ return Search;
+});
+
+S2.define('select2/dropdown/hidePlaceholder',[
+
+], function () {
+ function HidePlaceholder (decorated, $element, options, dataAdapter) {
+ this.placeholder = this.normalizePlaceholder(options.get('placeholder'));
+
+ decorated.call(this, $element, options, dataAdapter);
+ }
+
+ HidePlaceholder.prototype.append = function (decorated, data) {
+ data.results = this.removePlaceholder(data.results);
+
+ decorated.call(this, data);
+ };
+
+ HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) {
+ if (typeof placeholder === 'string') {
+ placeholder = {
+ id: '',
+ text: placeholder
+ };
+ }
+
+ return placeholder;
+ };
+
+ HidePlaceholder.prototype.removePlaceholder = function (_, data) {
+ var modifiedData = data.slice(0);
+
+ for (var d = data.length - 1; d >= 0; d--) {
+ var item = data[d];
+
+ if (this.placeholder.id === item.id) {
+ modifiedData.splice(d, 1);
+ }
+ }
+
+ return modifiedData;
+ };
+
+ return HidePlaceholder;
+});
+
+S2.define('select2/dropdown/infiniteScroll',[
+ 'jquery'
+], function ($) {
+ function InfiniteScroll (decorated, $element, options, dataAdapter) {
+ this.lastParams = {};
+
+ decorated.call(this, $element, options, dataAdapter);
+
+ this.$loadingMore = this.createLoadingMore();
+ this.loading = false;
+ }
+
+ InfiniteScroll.prototype.append = function (decorated, data) {
+ this.$loadingMore.remove();
+ this.loading = false;
+
+ decorated.call(this, data);
+
+ if (this.showLoadingMore(data)) {
+ this.$results.append(this.$loadingMore);
+ }
+ };
+
+ InfiniteScroll.prototype.bind = function (decorated, container, $container) {
+ var self = this;
+
+ decorated.call(this, container, $container);
+
+ container.on('query', function (params) {
+ self.lastParams = params;
+ self.loading = true;
+ });
+
+ container.on('query:append', function (params) {
+ self.lastParams = params;
+ self.loading = true;
+ });
+
+ this.$results.on('scroll', function () {
+ var isLoadMoreVisible = $.contains(
+ document.documentElement,
+ self.$loadingMore[0]
+ );
+
+ if (self.loading || !isLoadMoreVisible) {
+ return;
+ }
+
+ var currentOffset = self.$results.offset().top +
+ self.$results.outerHeight(false);
+ var loadingMoreOffset = self.$loadingMore.offset().top +
+ self.$loadingMore.outerHeight(false);
+
+ if (currentOffset + 50 >= loadingMoreOffset) {
+ self.loadMore();
+ }
+ });
+ };
+
+ InfiniteScroll.prototype.loadMore = function () {
+ this.loading = true;
+
+ var params = $.extend({}, {page: 1}, this.lastParams);
+
+ params.page++;
+
+ this.trigger('query:append', params);
+ };
+
+ InfiniteScroll.prototype.showLoadingMore = function (_, data) {
+ return data.pagination && data.pagination.more;
+ };
+
+ InfiniteScroll.prototype.createLoadingMore = function () {
+ var $option = $(
+ '<li ' +
+ 'class="select2-results__option select2-results__option--load-more"' +
+ 'role="treeitem" aria-disabled="true"></li>'
+ );
+
+ var message = this.options.get('translations').get('loadingMore');
+
+ $option.html(message(this.lastParams));
+
+ return $option;
+ };
+
+ return InfiniteScroll;
+});
+
+S2.define('select2/dropdown/attachBody',[
+ 'jquery',
+ '../utils'
+], function ($, Utils) {
+ function AttachBody (decorated, $element, options) {
+ this.$dropdownParent = options.get('dropdownParent') || $(document.body);
+
+ decorated.call(this, $element, options);
+ }
+
+ AttachBody.prototype.bind = function (decorated, container, $container) {
+ var self = this;
+
+ var setupResultsEvents = false;
+
+ decorated.call(this, container, $container);
+
+ container.on('open', function () {
+ self._showDropdown();
+ self._attachPositioningHandler(container);
+
+ if (!setupResultsEvents) {
+ setupResultsEvents = true;
+
+ container.on('results:all', function () {
+ self._positionDropdown();
+ self._resizeDropdown();
+ });
+
+ container.on('results:append', function () {
+ self._positionDropdown();
+ self._resizeDropdown();
+ });
+ }
+ });
+
+ container.on('close', function () {
+ self._hideDropdown();
+ self._detachPositioningHandler(container);
+ });
+
+ this.$dropdownContainer.on('mousedown', function (evt) {
+ evt.stopPropagation();
+ });
+ };
+
+ AttachBody.prototype.destroy = function (decorated) {
+ decorated.call(this);
+
+ this.$dropdownContainer.remove();
+ };
+
+ AttachBody.prototype.position = function (decorated, $dropdown, $container) {
+ // Clone all of the container classes
+ $dropdown.attr('class', $container.attr('class'));
+
+ $dropdown.removeClass('select2');
+ $dropdown.addClass('select2-container--open');
+
+ $dropdown.css({
+ position: 'absolute',
+ top: -999999
+ });
+
+ this.$container = $container;
+ };
+
+ AttachBody.prototype.render = function (decorated) {
+ var $container = $('<span></span>');
+
+ var $dropdown = decorated.call(this);
+ $container.append($dropdown);
+
+ this.$dropdownContainer = $container;
+
+ return $container;
+ };
+
+ AttachBody.prototype._hideDropdown = function (decorated) {
+ this.$dropdownContainer.detach();
+ };
+
+ AttachBody.prototype._attachPositioningHandler =
+ function (decorated, container) {
+ var self = this;
+
+ var scrollEvent = 'scroll.select2.' + container.id;
+ var resizeEvent = 'resize.select2.' + container.id;
+ var orientationEvent = 'orientationchange.select2.' + container.id;
+
+ var $watchers = this.$container.parents().filter(Utils.hasScroll);
+ $watchers.each(function () {
+ Utils.StoreData(this, 'select2-scroll-position', {
+ x: $(this).scrollLeft(),
+ y: $(this).scrollTop()
+ });
+ });
+
+ $watchers.on(scrollEvent, function (ev) {
+ var position = Utils.GetData(this, 'select2-scroll-position');
+ $(this).scrollTop(position.y);
+ });
+
+ $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent,
+ function (e) {
+ self._positionDropdown();
+ self._resizeDropdown();
+ });
+ };
+
+ AttachBody.prototype._detachPositioningHandler =
+ function (decorated, container) {
+ var scrollEvent = 'scroll.select2.' + container.id;
+ var resizeEvent = 'resize.select2.' + container.id;
+ var orientationEvent = 'orientationchange.select2.' + container.id;
+
+ var $watchers = this.$container.parents().filter(Utils.hasScroll);
+ $watchers.off(scrollEvent);
+
+ $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent);
+ };
+
+ AttachBody.prototype._positionDropdown = function () {
+ var $window = $(window);
+
+ var isCurrentlyAbove = this.$dropdown.hasClass('select2-dropdown--above');
+ var isCurrentlyBelow = this.$dropdown.hasClass('select2-dropdown--below');
+
+ var newDirection = null;
+
+ var offset = this.$container.offset();
+
+ offset.bottom = offset.top + this.$container.outerHeight(false);
+
+ var container = {
+ height: this.$container.outerHeight(false)
+ };
+
+ container.top = offset.top;
+ container.bottom = offset.top + container.height;
+
+ var dropdown = {
+ height: this.$dropdown.outerHeight(false)
+ };
+
+ var viewport = {
+ top: $window.scrollTop(),
+ bottom: $window.scrollTop() + $window.height()
+ };
+
+ var enoughRoomAbove = viewport.top < (offset.top - dropdown.height);
+ var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height);
+
+ var css = {
+ left: offset.left,
+ top: container.bottom
+ };
+
+ // Determine what the parent element is to use for calculating the offset
+ var $offsetParent = this.$dropdownParent;
+
+ // For statically positioned elements, we need to get the element
+ // that is determining the offset
+ if ($offsetParent.css('position') === 'static') {
+ $offsetParent = $offsetParent.offsetParent();
+ }
+
+ var parentOffset = $offsetParent.offset();
+
+ css.top -= parentOffset.top;
+ css.left -= parentOffset.left;
+
+ if (!isCurrentlyAbove && !isCurrentlyBelow) {
+ newDirection = 'below';
+ }
+
+ if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) {
+ newDirection = 'above';
+ } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) {
+ newDirection = 'below';
+ }
+
+ if (newDirection == 'above' ||
+ (isCurrentlyAbove && newDirection !== 'below')) {
+ css.top = container.top - parentOffset.top - dropdown.height;
+ }
+
+ if (newDirection != null) {
+ this.$dropdown
+ .removeClass('select2-dropdown--below select2-dropdown--above')
+ .addClass('select2-dropdown--' + newDirection);
+ this.$container
+ .removeClass('select2-container--below select2-container--above')
+ .addClass('select2-container--' + newDirection);
+ }
+
+ this.$dropdownContainer.css(css);
+ };
+
+ AttachBody.prototype._resizeDropdown = function () {
+ var css = {
+ width: this.$container.outerWidth(false) + 'px'
+ };
+
+ if (this.options.get('dropdownAutoWidth')) {
+ css.minWidth = css.width;
+ css.position = 'relative';
+ css.width = 'auto';
+ }
+
+ this.$dropdown.css(css);
+ };
+
+ AttachBody.prototype._showDropdown = function (decorated) {
+ this.$dropdownContainer.appendTo(this.$dropdownParent);
+
+ this._positionDropdown();
+ this._resizeDropdown();
+ };
+
+ return AttachBody;
+});
+
+S2.define('select2/dropdown/minimumResultsForSearch',[
+
+], function () {
+ function countResults (data) {
+ var count = 0;
+
+ for (var d = 0; d < data.length; d++) {
+ var item = data[d];
+
+ if (item.children) {
+ count += countResults(item.children);
+ } else {
+ count++;
+ }
+ }
+
+ return count;
+ }
+
+ function MinimumResultsForSearch (decorated, $element, options, dataAdapter) {
+ this.minimumResultsForSearch = options.get('minimumResultsForSearch');
+
+ if (this.minimumResultsForSearch < 0) {
+ this.minimumResultsForSearch = Infinity;
+ }
+
+ decorated.call(this, $element, options, dataAdapter);
+ }
+
+ MinimumResultsForSearch.prototype.showSearch = function (decorated, params) {
+ if (countResults(params.data.results) < this.minimumResultsForSearch) {
+ return false;
+ }
+
+ return decorated.call(this, params);
+ };
+
+ return MinimumResultsForSearch;
+});
+
+S2.define('select2/dropdown/selectOnClose',[
+ '../utils'
+], function (Utils) {
+ function SelectOnClose () { }
+
+ SelectOnClose.prototype.bind = function (decorated, container, $container) {
+ var self = this;
+
+ decorated.call(this, container, $container);
+
+ container.on('close', function (params) {
+ self._handleSelectOnClose(params);
+ });
+ };
+
+ SelectOnClose.prototype._handleSelectOnClose = function (_, params) {
+ if (params && params.originalSelect2Event != null) {
+ var event = params.originalSelect2Event;
+
+ // Don't select an item if the close event was triggered from a select or
+ // unselect event
+ if (event._type === 'select' || event._type === 'unselect') {
+ return;
+ }
+ }
+
+ var $highlightedResults = this.getHighlightedResults();
+
+ // Only select highlighted results
+ if ($highlightedResults.length < 1) {
+ return;
+ }
+
+ var data = Utils.GetData($highlightedResults[0], 'data');
+
+ // Don't re-select already selected resulte
+ if (
+ (data.element != null && data.element.selected) ||
+ (data.element == null && data.selected)
+ ) {
+ return;
+ }
+
+ this.trigger('select', {
+ data: data
+ });
+ };
+
+ return SelectOnClose;
+});
+
+S2.define('select2/dropdown/closeOnSelect',[
+
+], function () {
+ function CloseOnSelect () { }
+
+ CloseOnSelect.prototype.bind = function (decorated, container, $container) {
+ var self = this;
+
+ decorated.call(this, container, $container);
+
+ container.on('select', function (evt) {
+ self._selectTriggered(evt);
+ });
+
+ container.on('unselect', function (evt) {
+ self._selectTriggered(evt);
+ });
+ };
+
+ CloseOnSelect.prototype._selectTriggered = function (_, evt) {
+ var originalEvent = evt.originalEvent;
+
+ // Don't close if the control key is being held
+ if (originalEvent && (originalEvent.ctrlKey || originalEvent.metaKey)) {
+ return;
+ }
+
+ this.trigger('close', {
+ originalEvent: originalEvent,
+ originalSelect2Event: evt
+ });
+ };
+
+ return CloseOnSelect;
+});
+
+S2.define('select2/i18n/en',[],function () {
+ // English
+ return {
+ errorLoading: function () {
+ return '鏃犳硶杞藉叆缁撴灉';
+ },
+ inputTooLong: function (args) {
+ var overChars = args.input.length - args.maximum;
+
+ var message = '璇峰垹闄�' + overChars + '涓瓧绗�';
+
+ if (overChars != 1) {
+ message += 's';
+ }
+
+ return message;
+ },
+ inputTooShort: function (args) {
+ var remainingChars = args.minimum - args.input.length;
+
+ var message = '璇峰啀杈撳叆鑷冲皯' + remainingChars + '涓瓧绗�';
+
+ return message;
+ },
+ loadingMore: function () {
+ return '杞藉叆鏇村缁撴灉鈥�';
+ },
+ maximumSelected: function (args) {
+ var message = '鏈�澶氬彧鑳�' + args.maximum + '涓�夐」';
+
+ if (args.maximum != 1) {
+ message += 's';
+ }
+
+ return message;
+ },
+ noResults: function () {
+ return '鏈壘鍒扮粨鏋�';
+ },
+ searching: function () {
+ return '鎼滅储涓��';
+ },
+ removeAllItems: function () {
+ return '鍒犻櫎鎵�鏈夐」鐩�';
+ }
+ };
+});
+
+S2.define('select2/defaults',[
+ 'jquery',
+ 'require',
+
+ './results',
+
+ './selection/single',
+ './selection/multiple',
+ './selection/placeholder',
+ './selection/allowClear',
+ './selection/search',
+ './selection/eventRelay',
+
+ './utils',
+ './translation',
+ './diacritics',
+
+ './data/select',
+ './data/array',
+ './data/ajax',
+ './data/tags',
+ './data/tokenizer',
+ './data/minimumInputLength',
+ './data/maximumInputLength',
+ './data/maximumSelectionLength',
+
+ './dropdown',
+ './dropdown/search',
+ './dropdown/hidePlaceholder',
+ './dropdown/infiniteScroll',
+ './dropdown/attachBody',
+ './dropdown/minimumResultsForSearch',
+ './dropdown/selectOnClose',
+ './dropdown/closeOnSelect',
+
+ './i18n/en'
+], function ($, require,
+
+ ResultsList,
+
+ SingleSelection, MultipleSelection, Placeholder, AllowClear,
+ SelectionSearch, EventRelay,
+
+ Utils, Translation, DIACRITICS,
+
+ SelectData, ArrayData, AjaxData, Tags, Tokenizer,
+ MinimumInputLength, MaximumInputLength, MaximumSelectionLength,
+
+ Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll,
+ AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect,
+
+ EnglishTranslation) {
+ function Defaults () {
+ this.reset();
+ }
+
+ Defaults.prototype.apply = function (options) {
+ options = $.extend(true, {}, this.defaults, options);
+
+ if (options.dataAdapter == null) {
+ if (options.ajax != null) {
+ options.dataAdapter = AjaxData;
+ } else if (options.data != null) {
+ options.dataAdapter = ArrayData;
+ } else {
+ options.dataAdapter = SelectData;
+ }
+
+ if (options.minimumInputLength > 0) {
+ options.dataAdapter = Utils.Decorate(
+ options.dataAdapter,
+ MinimumInputLength
+ );
+ }
+
+ if (options.maximumInputLength > 0) {
+ options.dataAdapter = Utils.Decorate(
+ options.dataAdapter,
+ MaximumInputLength
+ );
+ }
+
+ if (options.maximumSelectionLength > 0) {
+ options.dataAdapter = Utils.Decorate(
+ options.dataAdapter,
+ MaximumSelectionLength
+ );
+ }
+
+ if (options.tags) {
+ options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags);
+ }
+
+ if (options.tokenSeparators != null || options.tokenizer != null) {
+ options.dataAdapter = Utils.Decorate(
+ options.dataAdapter,
+ Tokenizer
+ );
+ }
+
+ if (options.query != null) {
+ var Query = require(options.amdBase + 'compat/query');
+
+ options.dataAdapter = Utils.Decorate(
+ options.dataAdapter,
+ Query
+ );
+ }
+
+ if (options.initSelection != null) {
+ var InitSelection = require(options.amdBase + 'compat/initSelection');
+
+ options.dataAdapter = Utils.Decorate(
+ options.dataAdapter,
+ InitSelection
+ );
+ }
+ }
+
+ if (options.resultsAdapter == null) {
+ options.resultsAdapter = ResultsList;
+
+ if (options.ajax != null) {
+ options.resultsAdapter = Utils.Decorate(
+ options.resultsAdapter,
+ InfiniteScroll
+ );
+ }
+
+ if (options.placeholder != null) {
+ options.resultsAdapter = Utils.Decorate(
+ options.resultsAdapter,
+ HidePlaceholder
+ );
+ }
+
+ if (options.selectOnClose) {
+ options.resultsAdapter = Utils.Decorate(
+ options.resultsAdapter,
+ SelectOnClose
+ );
+ }
+ }
+
+ if (options.dropdownAdapter == null) {
+ if (options.multiple) {
+ options.dropdownAdapter = Dropdown;
+ } else {
+ var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch);
+
+ options.dropdownAdapter = SearchableDropdown;
+ }
+
+ if (options.minimumResultsForSearch !== 0) {
+ options.dropdownAdapter = Utils.Decorate(
+ options.dropdownAdapter,
+ MinimumResultsForSearch
+ );
+ }
+
+ if (options.closeOnSelect) {
+ options.dropdownAdapter = Utils.Decorate(
+ options.dropdownAdapter,
+ CloseOnSelect
+ );
+ }
+
+ if (
+ options.dropdownCssClass != null ||
+ options.dropdownCss != null ||
+ options.adaptDropdownCssClass != null
+ ) {
+ var DropdownCSS = require(options.amdBase + 'compat/dropdownCss');
+
+ options.dropdownAdapter = Utils.Decorate(
+ options.dropdownAdapter,
+ DropdownCSS
+ );
+ }
+
+ options.dropdownAdapter = Utils.Decorate(
+ options.dropdownAdapter,
+ AttachBody
+ );
+ }
+
+ if (options.selectionAdapter == null) {
+ if (options.multiple) {
+ options.selectionAdapter = MultipleSelection;
+ } else {
+ options.selectionAdapter = SingleSelection;
+ }
+
+ // Add the placeholder mixin if a placeholder was specified
+ if (options.placeholder != null) {
+ options.selectionAdapter = Utils.Decorate(
+ options.selectionAdapter,
+ Placeholder
+ );
+ }
+
+ if (options.allowClear) {
+ options.selectionAdapter = Utils.Decorate(
+ options.selectionAdapter,
+ AllowClear
+ );
+ }
+
+ if (options.multiple) {
+ options.selectionAdapter = Utils.Decorate(
+ options.selectionAdapter,
+ SelectionSearch
+ );
+ }
+
+ if (
+ options.containerCssClass != null ||
+ options.containerCss != null ||
+ options.adaptContainerCssClass != null
+ ) {
+ var ContainerCSS = require(options.amdBase + 'compat/containerCss');
+
+ options.selectionAdapter = Utils.Decorate(
+ options.selectionAdapter,
+ ContainerCSS
+ );
+ }
+
+ options.selectionAdapter = Utils.Decorate(
+ options.selectionAdapter,
+ EventRelay
+ );
+ }
+
+ if (typeof options.language === 'string') {
+ // Check if the language is specified with a region
+ if (options.language.indexOf('-') > 0) {
+ // Extract the region information if it is included
+ var languageParts = options.language.split('-');
+ var baseLanguage = languageParts[0];
+
+ options.language = [options.language, baseLanguage];
+ } else {
+ options.language = [options.language];
+ }
+ }
+
+ if ($.isArray(options.language)) {
+ var languages = new Translation();
+ options.language.push('en');
+
+ var languageNames = options.language;
+
+ for (var l = 0; l < languageNames.length; l++) {
+ var name = languageNames[l];
+ var language = {};
+
+ try {
+ // Try to load it with the original name
+ language = Translation.loadPath(name);
+ } catch (e) {
+ try {
+ // If we couldn't load it, check if it wasn't the full path
+ name = this.defaults.amdLanguageBase + name;
+ language = Translation.loadPath(name);
+ } catch (ex) {
+ // The translation could not be loaded at all. Sometimes this is
+ // because of a configuration problem, other times this can be
+ // because of how Select2 helps load all possible translation files.
+ if (options.debug && window.console && console.warn) {
+ console.warn(
+ 'Select2: The language file for "' + name + '" could not be ' +
+ 'automatically loaded. A fallback will be used instead.'
+ );
+ }
+
+ continue;
+ }
+ }
+
+ languages.extend(language);
+ }
+
+ options.translations = languages;
+ } else {
+ var baseTranslation = Translation.loadPath(
+ this.defaults.amdLanguageBase + 'en'
+ );
+ var customTranslation = new Translation(options.language);
+
+ customTranslation.extend(baseTranslation);
+
+ options.translations = customTranslation;
+ }
+
+ return options;
+ };
+
+ Defaults.prototype.reset = function () {
+ function stripDiacritics (text) {
+ // Used 'uni range + named function' from http://jsperf.com/diacritics/18
+ function match(a) {
+ return DIACRITICS[a] || a;
+ }
+
+ return text.replace(/[^\u0000-\u007E]/g, match);
+ }
+
+ function matcher (params, data) {
+ // Always return the object if there is nothing to compare
+ if ($.trim(params.term) === '') {
+ return data;
+ }
+
+ // Do a recursive check for options with children
+ if (data.children && data.children.length > 0) {
+ // Clone the data object if there are children
+ // This is required as we modify the object to remove any non-matches
+ var match = $.extend(true, {}, data);
+
+ // Check each child of the option
+ for (var c = data.children.length - 1; c >= 0; c--) {
+ var child = data.children[c];
+
+ var matches = matcher(params, child);
+
+ // If there wasn't a match, remove the object in the array
+ if (matches == null) {
+ match.children.splice(c, 1);
+ }
+ }
+
+ // If any children matched, return the new object
+ if (match.children.length > 0) {
+ return match;
+ }
+
+ // If there were no matching children, check just the plain object
+ return matcher(params, match);
+ }
+
+ var original = stripDiacritics(data.text).toUpperCase();
+ var term = stripDiacritics(params.term).toUpperCase();
+
+ // Check if the text contains the term
+ if (original.indexOf(term) > -1) {
+ return data;
+ }
+
+ // If it doesn't contain the term, don't return anything
+ return null;
+ }
+
+ this.defaults = {
+ amdBase: './',
+ amdLanguageBase: './i18n/',
+ closeOnSelect: true,
+ debug: false,
+ dropdownAutoWidth: false,
+ escapeMarkup: Utils.escapeMarkup,
+ language: EnglishTranslation,
+ matcher: matcher,
+ minimumInputLength: 0,
+ maximumInputLength: 0,
+ maximumSelectionLength: 0,
+ minimumResultsForSearch: 0,
+ selectOnClose: false,
+ scrollAfterSelect: false,
+ sorter: function (data) {
+ return data;
+ },
+ templateResult: function (result) {
+ return result.text;
+ },
+ templateSelection: function (selection) {
+ return selection.text;
+ },
+ theme: 'default',
+ width: '100%'
+ };
+ };
+
+ Defaults.prototype.set = function (key, value) {
+ var camelKey = $.camelCase(key);
+
+ var data = {};
+ data[camelKey] = value;
+
+ var convertedData = Utils._convertData(data);
+
+ $.extend(true, this.defaults, convertedData);
+ };
+
+ var defaults = new Defaults();
+
+ return defaults;
+});
+
+S2.define('select2/options',[
+ 'require',
+ 'jquery',
+ './defaults',
+ './utils'
+], function (require, $, Defaults, Utils) {
+ function Options (options, $element) {
+ this.options = options;
+
+ if ($element != null) {
+ this.fromElement($element);
+ }
+
+ this.options = Defaults.apply(this.options);
+
+ if ($element && $element.is('input')) {
+ var InputCompat = require(this.get('amdBase') + 'compat/inputData');
+
+ this.options.dataAdapter = Utils.Decorate(
+ this.options.dataAdapter,
+ InputCompat
+ );
+ }
+ }
+
+ Options.prototype.fromElement = function ($e) {
+ var excludedData = ['select2'];
+
+ if (this.options.multiple == null) {
+ this.options.multiple = $e.prop('multiple');
+ }
+
+ if (this.options.disabled == null) {
+ this.options.disabled = $e.prop('disabled');
+ }
+
+ if (this.options.language == null) {
+ if ($e.prop('lang')) {
+ this.options.language = $e.prop('lang').toLowerCase();
+ } else if ($e.closest('[lang]').prop('lang')) {
+ this.options.language = $e.closest('[lang]').prop('lang');
+ }
+ }
+
+ if (this.options.dir == null) {
+ if ($e.prop('dir')) {
+ this.options.dir = $e.prop('dir');
+ } else if ($e.closest('[dir]').prop('dir')) {
+ this.options.dir = $e.closest('[dir]').prop('dir');
+ } else {
+ this.options.dir = 'ltr';
+ }
+ }
+
+ $e.prop('disabled', this.options.disabled);
+ $e.prop('multiple', this.options.multiple);
+
+ if (Utils.GetData($e[0], 'select2Tags')) {
+ if (this.options.debug && window.console && console.warn) {
+ console.warn(
+ 'Select2: The `data-select2-tags` attribute has been changed to ' +
+ 'use the `data-data` and `data-tags="true"` attributes and will be ' +
+ 'removed in future versions of Select2.'
+ );
+ }
+
+ Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags'));
+ Utils.StoreData($e[0], 'tags', true);
+ }
+
+ if (Utils.GetData($e[0], 'ajaxUrl')) {
+ if (this.options.debug && window.console && console.warn) {
+ console.warn(
+ 'Select2: The `data-ajax-url` attribute has been changed to ' +
+ '`data-ajax--url` and support for the old attribute will be removed' +
+ ' in future versions of Select2.'
+ );
+ }
+
+ $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl'));
+ Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl'));
+ }
+
+ var dataset = {};
+
+ function upperCaseLetter(_, letter) {
+ return letter.toUpperCase();
+ }
+
+ // Pre-load all of the attributes which are prefixed with `data-`
+ for (var attr = 0; attr < $e[0].attributes.length; attr++) {
+ var attributeName = $e[0].attributes[attr].name;
+ var prefix = 'data-';
+
+ if (attributeName.substr(0, prefix.length) == prefix) {
+ // Get the contents of the attribute after `data-`
+ var dataName = attributeName.substring(prefix.length);
+
+ // Get the data contents from the consistent source
+ // This is more than likely the jQuery data helper
+ var dataValue = Utils.GetData($e[0], dataName);
+
+ // camelCase the attribute name to match the spec
+ var camelDataName = dataName.replace(/-([a-z])/g, upperCaseLetter);
+
+ // Store the data attribute contents into the dataset since
+ dataset[camelDataName] = dataValue;
+ }
+ }
+
+ // Prefer the element's `dataset` attribute if it exists
+ // jQuery 1.x does not correctly handle data attributes with multiple dashes
+ if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) {
+ dataset = $.extend(true, {}, $e[0].dataset, dataset);
+ }
+
+ // Prefer our internal data cache if it exists
+ var data = $.extend(true, {}, Utils.GetData($e[0]), dataset);
+
+ data = Utils._convertData(data);
+
+ for (var key in data) {
+ if ($.inArray(key, excludedData) > -1) {
+ continue;
+ }
+
+ if ($.isPlainObject(this.options[key])) {
+ $.extend(this.options[key], data[key]);
+ } else {
+ this.options[key] = data[key];
+ }
+ }
+
+ return this;
+ };
+
+ Options.prototype.get = function (key) {
+ return this.options[key];
+ };
+
+ Options.prototype.set = function (key, val) {
+ this.options[key] = val;
+ };
+
+ return Options;
+});
+
+S2.define('select2/core',[
+ 'jquery',
+ './options',
+ './utils',
+ './keys'
+], function ($, Options, Utils, KEYS) {
+ var Select2 = function ($element, options) {
+ if (Utils.GetData($element[0], 'select2') != null) {
+ Utils.GetData($element[0], 'select2').destroy();
+ }
+
+ this.$element = $element;
+
+ this.id = this._generateId($element);
+
+ options = options || {};
+
+ this.options = new Options(options, $element);
+
+ Select2.__super__.constructor.call(this);
+
+ // Set up the tabindex
+
+ var tabindex = $element.attr('tabindex') || 0;
+ Utils.StoreData($element[0], 'old-tabindex', tabindex);
+ $element.attr('tabindex', '-1');
+
+ // Set up containers and adapters
+
+ var DataAdapter = this.options.get('dataAdapter');
+ this.dataAdapter = new DataAdapter($element, this.options);
+
+ var $container = this.render();
+
+ this._placeContainer($container);
+
+ var SelectionAdapter = this.options.get('selectionAdapter');
+ this.selection = new SelectionAdapter($element, this.options);
+ this.$selection = this.selection.render();
+
+ this.selection.position(this.$selection, $container);
+
+ var DropdownAdapter = this.options.get('dropdownAdapter');
+ this.dropdown = new DropdownAdapter($element, this.options);
+ this.$dropdown = this.dropdown.render();
+
+ this.dropdown.position(this.$dropdown, $container);
+
+ var ResultsAdapter = this.options.get('resultsAdapter');
+ this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
+ this.$results = this.results.render();
+
+ this.results.position(this.$results, this.$dropdown);
+
+ // Bind events
+
+ var self = this;
+
+ // Bind the container to all of the adapters
+ this._bindAdapters();
+
+ // Register any DOM event handlers
+ this._registerDomEvents();
+
+ // Register any internal event handlers
+ this._registerDataEvents();
+ this._registerSelectionEvents();
+ this._registerDropdownEvents();
+ this._registerResultsEvents();
+ this._registerEvents();
+
+ // Set the initial state
+ this.dataAdapter.current(function (initialData) {
+ self.trigger('selection:update', {
+ data: initialData
+ });
+ });
+
+ // Hide the original select
+ $element.addClass('select2-hidden-accessible');
+ $element.attr('aria-hidden', 'true');
+
+ // Synchronize any monitored attributes
+ this._syncAttributes();
+
+ Utils.StoreData($element[0], 'select2', this);
+
+ // Ensure backwards compatibility with $element.data('select2').
+ $element.data('select2', this);
+ };
+
+ Utils.Extend(Select2, Utils.Observable);
+
+ Select2.prototype._generateId = function ($element) {
+ var id = '';
+
+ if ($element.attr('id') != null) {
+ id = $element.attr('id');
+ } else if ($element.attr('name') != null) {
+ id = $element.attr('name') + '-' + Utils.generateChars(2);
+ } else {
+ id = Utils.generateChars(4);
+ }
+
+ id = id.replace(/(:|\.|\[|\]|,)/g, '');
+ id = 'select2-' + id;
+
+ return id;
+ };
+
+ Select2.prototype._placeContainer = function ($container) {
+ $container.insertAfter(this.$element);
+
+ var width = this._resolveWidth(this.$element, this.options.get('width'));
+
+ if (width != null) {
+ $container.css('width', width);
+ }
+ };
+
+ Select2.prototype._resolveWidth = function ($element, method) {
+ var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;
+
+ if (method == 'resolve') {
+ var styleWidth = this._resolveWidth($element, 'style');
+
+ if (styleWidth != null) {
+ return styleWidth;
+ }
+
+ return this._resolveWidth($element, 'element');
+ }
+
+ if (method == 'element') {
+ var elementWidth = $element.outerWidth(false);
+
+ if (elementWidth <= 0) {
+ return 'auto';
+ }
+
+ return elementWidth + 'px';
+ }
+
+ if (method == 'style') {
+ var style = $element.attr('style');
+
+ if (typeof(style) !== 'string') {
+ return null;
+ }
+
+ var attrs = style.split(';');
+
+ for (var i = 0, l = attrs.length; i < l; i = i + 1) {
+ var attr = attrs[i].replace(/\s/g, '');
+ var matches = attr.match(WIDTH);
+
+ if (matches !== null && matches.length >= 1) {
+ return matches[1];
+ }
+ }
+
+ return null;
+ }
+
+ return method;
+ };
+
+ Select2.prototype._bindAdapters = function () {
+ this.dataAdapter.bind(this, this.$container);
+ this.selection.bind(this, this.$container);
+
+ this.dropdown.bind(this, this.$container);
+ this.results.bind(this, this.$container);
+ };
+
+ Select2.prototype._registerDomEvents = function () {
+ var self = this;
+
+ this.$element.on('change.select2', function () {
+ self.dataAdapter.current(function (data) {
+ self.trigger('selection:update', {
+ data: data
+ });
+ });
+ });
+
+ this.$element.on('focus.select2', function (evt) {
+ self.trigger('focus', evt);
+ });
+
+ this._syncA = Utils.bind(this._syncAttributes, this);
+ this._syncS = Utils.bind(this._syncSubtree, this);
+
+ if (this.$element[0].attachEvent) {
+ this.$element[0].attachEvent('onpropertychange', this._syncA);
+ }
+
+ var observer = window.MutationObserver ||
+ window.WebKitMutationObserver ||
+ window.MozMutationObserver
+ ;
+
+ if (observer != null) {
+ this._observer = new observer(function (mutations) {
+ $.each(mutations, self._syncA);
+ $.each(mutations, self._syncS);
+ });
+ this._observer.observe(this.$element[0], {
+ attributes: true,
+ childList: true,
+ subtree: false
+ });
+ } else if (this.$element[0].addEventListener) {
+ this.$element[0].addEventListener(
+ 'DOMAttrModified',
+ self._syncA,
+ false
+ );
+ this.$element[0].addEventListener(
+ 'DOMNodeInserted',
+ self._syncS,
+ false
+ );
+ this.$element[0].addEventListener(
+ 'DOMNodeRemoved',
+ self._syncS,
+ false
+ );
+ }
+ };
+
+ Select2.prototype._registerDataEvents = function () {
+ var self = this;
+
+ this.dataAdapter.on('*', function (name, params) {
+ self.trigger(name, params);
+ });
+ };
+
+ Select2.prototype._registerSelectionEvents = function () {
+ var self = this;
+ var nonRelayEvents = ['toggle', 'focus'];
+
+ this.selection.on('toggle', function () {
+ self.toggleDropdown();
+ });
+
+ this.selection.on('focus', function (params) {
+ self.focus(params);
+ });
+
+ this.selection.on('*', function (name, params) {
+ if ($.inArray(name, nonRelayEvents) !== -1) {
+ return;
+ }
+
+ self.trigger(name, params);
+ });
+ };
+
+ Select2.prototype._registerDropdownEvents = function () {
+ var self = this;
+
+ this.dropdown.on('*', function (name, params) {
+ self.trigger(name, params);
+ });
+ };
+
+ Select2.prototype._registerResultsEvents = function () {
+ var self = this;
+
+ this.results.on('*', function (name, params) {
+ self.trigger(name, params);
+ });
+ };
+
+ Select2.prototype._registerEvents = function () {
+ var self = this;
+
+ this.on('open', function () {
+ self.$container.addClass('select2-container--open');
+ });
+
+ this.on('close', function () {
+ self.$container.removeClass('select2-container--open');
+ });
+
+ this.on('enable', function () {
+ self.$container.removeClass('select2-container--disabled');
+ });
+
+ this.on('disable', function () {
+ self.$container.addClass('select2-container--disabled');
+ });
+
+ this.on('blur', function () {
+ self.$container.removeClass('select2-container--focus');
+ });
+
+ this.on('query', function (params) {
+ if (!self.isOpen()) {
+ self.trigger('open', {});
+ }
+
+ this.dataAdapter.query(params, function (data) {
+ self.trigger('results:all', {
+ data: data,
+ query: params
+ });
+ });
+ });
+
+ this.on('query:append', function (params) {
+ this.dataAdapter.query(params, function (data) {
+ self.trigger('results:append', {
+ data: data,
+ query: params
+ });
+ });
+ });
+
+ this.on('keypress', function (evt) {
+ var key = evt.which;
+
+ if (self.isOpen()) {
+ if (key === KEYS.ESC || key === KEYS.TAB ||
+ (key === KEYS.UP && evt.altKey)) {
+ self.close();
+
+ evt.preventDefault();
+ } else if (key === KEYS.ENTER) {
+ self.trigger('results:select', {});
+
+ evt.preventDefault();
+ } else if ((key === KEYS.SPACE && evt.ctrlKey)) {
+ self.trigger('results:toggle', {});
+
+ evt.preventDefault();
+ } else if (key === KEYS.UP) {
+ self.trigger('results:previous', {});
+
+ evt.preventDefault();
+ } else if (key === KEYS.DOWN) {
+ self.trigger('results:next', {});
+
+ evt.preventDefault();
+ }
+ } else {
+ if (key === KEYS.ENTER || key === KEYS.SPACE ||
+ (key === KEYS.DOWN && evt.altKey)) {
+ self.open();
+
+ evt.preventDefault();
+ }
+ }
+ });
+ };
+
+ Select2.prototype._syncAttributes = function () {
+ this.options.set('disabled', this.$element.prop('disabled'));
+
+ if (this.options.get('disabled')) {
+ if (this.isOpen()) {
+ this.close();
+ }
+
+ this.trigger('disable', {});
+ } else {
+ this.trigger('enable', {});
+ }
+ };
+
+ Select2.prototype._syncSubtree = function (evt, mutations) {
+ var changed = false;
+ var self = this;
+
+ // Ignore any mutation events raised for elements that aren't options or
+ // optgroups. This handles the case when the select element is destroyed
+ if (
+ evt && evt.target && (
+ evt.target.nodeName !== 'OPTION' && evt.target.nodeName !== 'OPTGROUP'
+ )
+ ) {
+ return;
+ }
+
+ if (!mutations) {
+ // If mutation events aren't supported, then we can only assume that the
+ // change affected the selections
+ changed = true;
+ } else if (mutations.addedNodes && mutations.addedNodes.length > 0) {
+ for (var n = 0; n < mutations.addedNodes.length; n++) {
+ var node = mutations.addedNodes[n];
+
+ if (node.selected) {
+ changed = true;
+ }
+ }
+ } else if (mutations.removedNodes && mutations.removedNodes.length > 0) {
+ changed = true;
+ }
+
+ // Only re-pull the data if we think there is a change
+ if (changed) {
+ this.dataAdapter.current(function (currentData) {
+ self.trigger('selection:update', {
+ data: currentData
+ });
+ });
+ }
+ };
+
+ /**
+ * Override the trigger method to automatically trigger pre-events when
+ * there are events that can be prevented.
+ */
+ Select2.prototype.trigger = function (name, args) {
+ var actualTrigger = Select2.__super__.trigger;
+ var preTriggerMap = {
+ 'open': 'opening',
+ 'close': 'closing',
+ 'select': 'selecting',
+ 'unselect': 'unselecting',
+ 'clear': 'clearing'
+ };
+
+ if (args === undefined) {
+ args = {};
+ }
+
+ if (name in preTriggerMap) {
+ var preTriggerName = preTriggerMap[name];
+ var preTriggerArgs = {
+ prevented: false,
+ name: name,
+ args: args
+ };
+
+ actualTrigger.call(this, preTriggerName, preTriggerArgs);
+
+ if (preTriggerArgs.prevented) {
+ args.prevented = true;
+
+ return;
+ }
+ }
+
+ actualTrigger.call(this, name, args);
+ };
+
+ Select2.prototype.toggleDropdown = function () {
+ if (this.options.get('disabled')) {
+ return;
+ }
+
+ if (this.isOpen()) {
+ this.close();
+ } else {
+ this.open();
+ }
+ };
+
+ Select2.prototype.open = function () {
+ if (this.isOpen()) {
+ return;
+ }
+
+ this.trigger('query', {});
+ };
+
+ Select2.prototype.close = function () {
+ if (!this.isOpen()) {
+ return;
+ }
+
+ this.trigger('close', {});
+ };
+
+ Select2.prototype.isOpen = function () {
+ return this.$container.hasClass('select2-container--open');
+ };
+
+ Select2.prototype.hasFocus = function () {
+ return this.$container.hasClass('select2-container--focus');
+ };
+
+ Select2.prototype.focus = function (data) {
+ // No need to re-trigger focus events if we are already focused
+ if (this.hasFocus()) {
+ return;
+ }
+
+ this.$container.addClass('select2-container--focus');
+ this.trigger('focus', {});
+ };
+
+ Select2.prototype.enable = function (args) {
+ if (this.options.get('debug') && window.console && console.warn) {
+ console.warn(
+ 'Select2: The `select2("enable")` method has been deprecated and will' +
+ ' be removed in later Select2 versions. Use $element.prop("disabled")' +
+ ' instead.'
+ );
+ }
+
+ if (args == null || args.length === 0) {
+ args = [true];
+ }
+
+ var disabled = !args[0];
+
+ this.$element.prop('disabled', disabled);
+ };
+
+ Select2.prototype.data = function () {
+ if (this.options.get('debug') &&
+ arguments.length > 0 && window.console && console.warn) {
+ console.warn(
+ 'Select2: Data can no longer be set using `select2("data")`. You ' +
+ 'should consider setting the value instead using `$element.val()`.'
+ );
+ }
+
+ var data = [];
+
+ this.dataAdapter.current(function (currentData) {
+ data = currentData;
+ });
+
+ return data;
+ };
+
+ Select2.prototype.val = function (args) {
+ if (this.options.get('debug') && window.console && console.warn) {
+ console.warn(
+ 'Select2: The `select2("val")` method has been deprecated and will be' +
+ ' removed in later Select2 versions. Use $element.val() instead.'
+ );
+ }
+
+ if (args == null || args.length === 0) {
+ return this.$element.val();
+ }
+
+ var newVal = args[0];
+
+ if ($.isArray(newVal)) {
+ newVal = $.map(newVal, function (obj) {
+ return obj.toString();
+ });
+ }
+
+ this.$element.val(newVal).trigger('change');
+ };
+
+ Select2.prototype.destroy = function () {
+ this.$container.remove();
+
+ if (this.$element[0].detachEvent) {
+ this.$element[0].detachEvent('onpropertychange', this._syncA);
+ }
+
+ if (this._observer != null) {
+ this._observer.disconnect();
+ this._observer = null;
+ } else if (this.$element[0].removeEventListener) {
+ this.$element[0]
+ .removeEventListener('DOMAttrModified', this._syncA, false);
+ this.$element[0]
+ .removeEventListener('DOMNodeInserted', this._syncS, false);
+ this.$element[0]
+ .removeEventListener('DOMNodeRemoved', this._syncS, false);
+ }
+
+ this._syncA = null;
+ this._syncS = null;
+
+ this.$element.off('.select2');
+ this.$element.attr('tabindex',
+ Utils.GetData(this.$element[0], 'old-tabindex'));
+
+ this.$element.removeClass('select2-hidden-accessible');
+ this.$element.attr('aria-hidden', 'false');
+ Utils.RemoveData(this.$element[0]);
+ this.$element.removeData('select2');
+
+ this.dataAdapter.destroy();
+ this.selection.destroy();
+ this.dropdown.destroy();
+ this.results.destroy();
+
+ this.dataAdapter = null;
+ this.selection = null;
+ this.dropdown = null;
+ this.results = null;
+ };
+
+ Select2.prototype.render = function () {
+ var $container = $(
+ '<span class="select2 select2-container">' +
+ '<span class="selection"></span>' +
+ '<span class="dropdown-wrapper" aria-hidden="true"></span>' +
+ '</span>'
+ );
+
+ $container.attr('dir', this.options.get('dir'));
+
+ this.$container = $container;
+
+ this.$container.addClass('select2-container--' + this.options.get('theme'));
+
+ Utils.StoreData($container[0], 'element', this.$element);
+
+ return $container;
+ };
+
+ return Select2;
+});
+
+S2.define('jquery-mousewheel',[
+ 'jquery'
+], function ($) {
+ // Used to shim jQuery.mousewheel for non-full builds.
+ return $;
+});
+
+S2.define('jquery.select2',[
+ 'jquery',
+ 'jquery-mousewheel',
+
+ './select2/core',
+ './select2/defaults',
+ './select2/utils'
+], function ($, _, Select2, Defaults, Utils) {
+ if ($.fn.select2 == null) {
+ // All methods that should return the element
+ var thisMethods = ['open', 'close', 'destroy'];
+
+ $.fn.select2 = function (options) {
+ options = options || {};
+
+ if (typeof options === 'object') {
+ this.each(function () {
+ var instanceOptions = $.extend(true, {}, options);
+
+ var instance = new Select2($(this), instanceOptions);
+ });
+
+ return this;
+ } else if (typeof options === 'string') {
+ var ret;
+ var args = Array.prototype.slice.call(arguments, 1);
+
+ this.each(function () {
+ var instance = Utils.GetData(this, 'select2');
+
+ if (instance == null && window.console && console.error) {
+ console.error(
+ 'The select2(\'' + options + '\') method was called on an ' +
+ 'element that is not using Select2.'
+ );
+ }
+
+ ret = instance[options].apply(instance, args);
+ });
+
+ // Check if we should be returning `this`
+ if ($.inArray(options, thisMethods) > -1) {
+ return this;
+ }
+
+ return ret;
+ } else {
+ throw new Error('Invalid arguments for Select2: ' + options);
+ }
+ };
+ }
+
+ if ($.fn.select2.defaults == null) {
+ $.fn.select2.defaults = Defaults;
+ }
+
+ return Select2;
+});
+
+ // Return the AMD loader configuration so it can be used outside of this file
+ return {
+ define: S2.define,
+ require: S2.require
+ };
+}());
+
+ // Autoload the jQuery bindings
+ // We know that all of the modules exist above this, so we're safe
+ var select2 = S2.require('jquery.select2');
+
+ // Hold the AMD module references on the jQuery function that was just loaded
+ // This allows Select2 to use the internal loader outside of this file, such
+ // as in the language files.
+ jQuery.fn.select2.amd = S2;
+
+ // Return the Select2 instance for anyone who is importing it.
+ return select2;
+}));
diff --git a/web/web/static/select2/select2.min.css b/web/web/static/select2/select2.min.css
new file mode 100644
index 0000000..60d5990
--- /dev/null
+++ b/web/web/static/select2/select2.min.css
@@ -0,0 +1 @@
+.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
diff --git a/web/web/static/select2/select2.min.js b/web/web/static/select2/select2.min.js
new file mode 100644
index 0000000..9f17a27
--- /dev/null
+++ b/web/web/static/select2/select2.min.js
@@ -0,0 +1 @@
+/*! Select2 4.0.7 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(b,c){return void 0===c&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(b)),a(c),c}:a(jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return v.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o=b&&b.split("/"),p=t.map,q=p&&p["*"]||{};if(a){for(a=a.split("/"),g=a.length-1,t.nodeIdCompat&&x.test(a[g])&&(a[g]=a[g].replace(x,"")),"."===a[0].charAt(0)&&o&&(n=o.slice(0,o.length-1),a=n.concat(a)),k=0;k<a.length;k++)if("."===(m=a[k]))a.splice(k,1),k-=1;else if(".."===m){if(0===k||1===k&&".."===a[2]||".."===a[k-1])continue;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}if((o||q)&&p){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),o)for(l=o.length;l>0;l-=1)if((e=p[o.slice(0,l).join("/")])&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&q&&q[d]&&(i=q[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=w.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),o.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){r[a]=b}}function j(a){if(e(s,a)){var c=s[a];delete s[a],u[a]=!0,n.apply(b,c)}if(!e(r,a)&&!e(u,a))throw new Error("No "+a);return r[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return a?k(a):[]}function m(a){return function(){return t&&t.config&&t.config[a]||{}}}var n,o,p,q,r={},s={},t={},u={},v=Object.prototype.hasOwnProperty,w=[].slice,x=/\.js$/;p=function(a,b){var c,d=k(a),e=d[0],g=b[1];return a=d[1],e&&(e=f(e,g),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(g)):f(a,g):(a=f(a,g),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},q={require:function(a){return g(a)},exports:function(a){var b=r[a];return void 0!==b?b:r[a]={}},module:function(a){return{id:a,uri:"",exports:r[a],config:m(a)}}},n=function(a,c,d,f){var h,k,m,n,o,t,v,w=[],x=typeof d;if(f=f||a,t=l(f),"undefined"===x||"function"===x){for(c=!c.length&&d.length?["require","exports","module"]:c,o=0;o<c.length;o+=1)if(n=p(c[o],t),"require"===(k=n.f))w[o]=q.require(a);else if("exports"===k)w[o]=q.exports(a),v=!0;else if("module"===k)h=w[o]=q.module(a);else if(e(r,k)||e(s,k)||e(u,k))w[o]=j(k);else{if(!n.p)throw new Error(a+" missing "+k);n.p.load(n.n,g(f,!0),i(k),{}),w[o]=r[k]}m=d?d.apply(r[a],w):void 0,a&&(h&&h.exports!==b&&h.exports!==r[a]?r[a]=h.exports:m===b&&v||(r[a]=m))}else a&&(r[a]=d)},a=c=o=function(a,c,d,e,f){if("string"==typeof a)return q[a]?q[a](c):j(p(a,l(c)).f);if(!a.splice){if(t=a,t.deps&&o(t.deps,t.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?n(b,a,c,d):setTimeout(function(){n(b,a,c,d)},4),o},o.config=function(a){return o(a)},a._defined=r,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(r,a)||e(s,a)||(s[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){"function"==typeof b[d]&&("constructor"!==d&&c.push(d))}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){return Array.prototype.unshift.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;c<d;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;c<a;c++){b+=Math.floor(36*Math.random()).toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return(e!==f||"hidden"!==f&&"visible"!==f)&&("scroll"===e||"scroll"===f||(d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth))},c.escapeMarkup=function(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c.__cache={};var e=0;return c.GetUniqueElementId=function(a){var b=a.getAttribute("data-select2-id");return null==b&&(a.id?(b=a.id,a.setAttribute("data-select2-id",b)):(a.setAttribute("data-select2-id",++e),b=e.toString())),b},c.StoreData=function(a,b,d){var e=c.GetUniqueElementId(a);c.__cache[e]||(c.__cache[e]={}),c.__cache[e][b]=d},c.GetData=function(b,d){var e=c.GetUniqueElementId(b);return d?c.__cache[e]&&null!=c.__cache[e][d]?c.__cache[e][d]:a(b).data(d):c.__cache[e]},c.RemoveData=function(a){var b=c.GetUniqueElementId(a);null!=c.__cache[b]&&delete c.__cache[b]},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){b.find(".select2-results").append(a)},c.prototype.sort=function(a){return this.options.get("sorter")(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var c=this;this.data.current(function(d){var e=a.map(d,function(a){return a.id.toString()});c.$results.find(".select2-results__option[aria-selected]").each(function(){var c=a(this),d=b.GetData(this,"data"),f=""+d.id;null!=d.element&&d.element.selected||null==d.element&&a.inArray(f,e)>-1?c.attr("aria-selected","true"):c.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(c){var d=document.createElement("li");d.className="select2-results__option";var e={role:"treeitem","aria-selected":"false"};c.disabled&&(delete e["aria-selected"],e["aria-disabled"]="true"),null==c.id&&delete e["aria-selected"],null!=c._resultId&&(d.id=c._resultId),c.title&&(d.title=c.title),c.children&&(e.role="group",e["aria-label"]=c.text,delete e["aria-selected"]);for(var f in e){var g=e[f];d.setAttribute(f,g)}if(c.children){var h=a(d),i=document.createElement("strong");i.className="select2-results__group";a(i);this.template(c,i);for(var j=[],k=0;k<c.children.length;k++){var l=c.children[k],m=this.option(l);j.push(m)}var n=a("<ul></ul>",{class:"select2-results__options select2-results__options--nested"});n.append(j),h.append(i),h.append(n)}else this.template(c,d);return b.StoreData(d,"data",c),d},c.prototype.bind=function(c,d){var e=this,f=c.id+"-results";this.$results.attr("id",f),c.on("results:all",function(a){e.clear(),e.append(a.data),c.isOpen()&&(e.setClasses(),e.highlightFirstItem())}),c.on("results:append",function(a){e.append(a.data),c.isOpen()&&e.setClasses()}),c.on("query",function(a){e.hideMessages(),e.showLoading(a)}),c.on("select",function(){c.isOpen()&&(e.setClasses(),e.options.get("scrollAfterSelect")&&e.highlightFirstItem())}),c.on("unselect",function(){c.isOpen()&&(e.setClasses(),e.options.get("scrollAfterSelect")&&e.highlightFirstItem())}),c.on("open",function(){e.$results.attr("aria-expanded","true"),e.$results.attr("aria-hidden","false"),e.setClasses(),e.ensureHighlightVisible()}),c.on("close",function(){e.$results.attr("aria-expanded","false"),e.$results.attr("aria-hidden","true"),e.$results.removeAttr("aria-activedescendant")}),c.on("results:toggle",function(){var a=e.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),c.on("results:select",function(){var a=e.getHighlightedResults();if(0!==a.length){var c=b.GetData(a[0],"data");"true"==a.attr("aria-selected")?e.trigger("close",{}):e.trigger("select",{data:c})}}),c.on("results:previous",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a);if(!(c<=0)){var d=c-1;0===a.length&&(d=0);var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top,h=f.offset().top,i=e.$results.scrollTop()+(h-g);0===d?e.$results.scrollTop(0):h-g<0&&e.$results.scrollTop(i)}}),c.on("results:next",function(){var a=e.getHighlightedResults(),b=e.$results.find("[aria-selected]"),c=b.index(a),d=c+1;if(!(d>=b.length)){var f=b.eq(d);f.trigger("mouseenter");var g=e.$results.offset().top+e.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=e.$results.scrollTop()+h-g;0===d?e.$results.scrollTop(0):h>g&&e.$results.scrollTop(i)}}),c.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),c.on("results:message",function(a){e.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=e.$results.scrollTop(),c=e.$results.get(0).scrollHeight-b+a.deltaY,d=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=e.$results.height();d?(e.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(e.$results.scrollTop(e.$results.get(0).scrollHeight-e.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(c){var d=a(this),f=b.GetData(this,"data");if("true"===d.attr("aria-selected"))return void(e.options.get("multiple")?e.trigger("unselect",{originalEvent:c,data:f}):e.trigger("close",{}));e.trigger("select",{originalEvent:c,data:f})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(c){var d=b.GetData(this,"data");e.getHighlightedResults().removeClass("select2-results__option--highlighted"),e.trigger("results:focus",{data:d,element:a(this)})})},c.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),c<=2?this.$results.scrollTop(0):(g>this.$results.outerHeight()||g<0)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var c=a('<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=b.GetData(this.$element[0],"old-tabindex")?this._tabindex=b.GetData(this.$element[0],"old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),c.attr("title",this.$element.attr("title")),c.attr("tabindex",this._tabindex),this.$selection=c,c},d.prototype.bind=function(a,b){var d=this,e=(a.id,a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),window.setTimeout(function(){d.$selection.focus()},0),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(c){a(document.body).on("mousedown.select2."+c.id,function(c){var d=a(c.target),e=d.closest(".select2");a(".select2.select2-container--open").each(function(){a(this),this!=e[0]&&b.GetData(this,"element").select2("close")})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){b.find(".selection").append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()})},e.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},e.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.attr("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,e){var f=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){f.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!f.options.get("disabled")){var d=a(this),e=d.parent(),g=c.GetData(e[0],"data");f.trigger("unselect",{originalEvent:b,data:g})}})},d.prototype.clear=function(){var a=this.$selection.find(".select2-selection__rendered");a.empty(),a.removeAttr("title")},d.prototype.display=function(a,b){var c=this.options.get("templateSelection");return this.options.get("escapeMarkup")(c(a,b))},d.prototype.selectionContainer=function(){return a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>')},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.attr("title",e.title||e.text),c.StoreData(f[0],"data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id;if(b.length>1||c)return a.call(this,b);this.clear();var d=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(d)},b}),b.define("select2/selection/allowClear",["jquery","../keys","../utils"],function(a,b,c){function d(){}return d.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},d.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var d=this.$selection.find(".select2-selection__clear");if(0!==d.length){b.stopPropagation();var e=c.GetData(d[0],"data"),f=this.$element.val();this.$element.val(this.placeholder.id);var g={data:e};if(this.trigger("clear",g),g.prevented)return void this.$element.val(f);for(var h=0;h<e.length;h++)if(g={data:e[h]},this.trigger("unselect",g),g.prevented)return void this.$element.val(f);this.$element.trigger("change"),this.trigger("toggle",{})}}},d.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||c.which!=b.DELETE&&c.which!=b.BACKSPACE||this._handleClear(c)},d.prototype.update=function(b,d){if(b.call(this,d),!(this.$selection.find(".select2-selection__placeholder").length>0||0===d.length)){var e=this.options.get("translations").get("removeAllItems"),f=a('<span class="select2-selection__clear" title="'+e()+'">×</span>');c.StoreData(f[0],"data",d),this.$selection.find(".select2-selection__rendered").prepend(f)}},d}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,d,e){var f=this;a.call(this,d,e),d.on("open",function(){f.$search.trigger("focus")}),d.on("close",function(){f.$search.val(""),f.$search.removeAttr("aria-activedescendant"),f.$search.trigger("focus")}),d.on("enable",function(){f.$search.prop("disabled",!1),f._transferTabIndex()}),d.on("disable",function(){f.$search.prop("disabled",!0)}),d.on("focus",function(a){f.$search.trigger("focus")}),d.on("results:focus",function(a){f.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){f.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){f._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){if(a.stopPropagation(),f.trigger("keypress",a),f._keyUpPrevented=a.isDefaultPrevented(),a.which===c.BACKSPACE&&""===f.$search.val()){var d=f.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var e=b.GetData(d[0],"data");f.searchRemoveChoice(e),a.preventDefault()}}});var g=document.documentMode,h=g&&g<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){if(h)return void f.$selection.off("input.search input.searchcheck");f.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(h&&"input"===a.type)return void f.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&f.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;if(this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c){this.$element.find("[data-select2-tag]").length?this.$element.focus():this.$search.focus()}},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{a=.75*(this.$search.val().length+1)+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting","clear","clearing"],g=["opening","closing","selecting","unselecting","clearing"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){return{"鈷�":"A","锛�":"A","脌":"A","脕":"A","脗":"A","岷�":"A","岷�":"A","岷�":"A","岷�":"A","脙":"A","膧":"A","膫":"A","岷�":"A","岷�":"A","岷�":"A","岷�":"A","圈":"A","菭":"A","脛":"A","菫":"A","岷�":"A","脜":"A","呛":"A","菎":"A","葊":"A","葌":"A","岷�":"A","岷�":"A","岷�":"A","岣�":"A","膭":"A","群":"A","獗�":"A","隃�":"AA","脝":"AE","羌":"AE","洽":"AE","隃�":"AO","隃�":"AU","隃�":"AV","隃�":"AV","隃�":"AY","鈷�":"B","锛�":"B","岣�":"B","岣�":"B","岣�":"B","蓛":"B","苽":"B","苼":"B","鈷�":"C","锛�":"C","膯":"C","膱":"C","膴":"C","膶":"C","脟":"C","岣�":"C","茋":"C","然":"C","隃�":"C","鈷�":"D","锛�":"D","岣�":"D","膸":"D","岣�":"D","岣�":"D","岣�":"D","岣�":"D","膼":"D","茓":"D","茒":"D","茐":"D","隄�":"D","潜":"DZ","莿":"DZ","遣":"Dz","菂":"Dz","鈷�":"E","锛�":"E","脠":"E","脡":"E","脢":"E","峄�":"E","岷�":"E","峄�":"E","峄�":"E","岷�":"E","膾":"E","岣�":"E","岣�":"E","臄":"E","臇":"E","脣":"E","岷�":"E","臍":"E","葎":"E","葐":"E","岷�":"E","峄�":"E","权":"E","岣�":"E","臉":"E","岣�":"E","岣�":"E","茞":"E","茙":"E","鈷�":"F","锛�":"F","岣�":"F","茟":"F","隄�":"F","鈷�":"G","锛�":"G","谴":"G","臏":"G","岣�":"G","臑":"G","臓":"G","铅":"G","蘑":"G","扦":"G","茡":"G","隇�":"G","隄�":"G","隄�":"G","鈷�":"H","锛�":"H","膜":"H","岣�":"H","岣�":"H","葹":"H","岣�":"H","岣�":"H","岣�":"H","摩":"H","獗�":"H","獗�":"H","隇�":"H","鈷�":"I","锛�":"I","脤":"I","脥":"I","脦":"I","抹":"I","莫":"I","默":"I","陌":"I","脧":"I","岣�":"I","峄�":"I","菑":"I","葓":"I","葕":"I","峄�":"I","漠":"I","岣�":"I","茥":"I","鈷�":"J","锛�":"J","拇":"J","蓤":"J","鈸�":"K","锛�":"K","岣�":"K","迁":"K","岣�":"K","亩":"K","岣�":"K","茦":"K","獗�":"K","隄�":"K","隄�":"K","隄�":"K","隇�":"K","鈸�":"L","锛�":"L","目":"L","墓":"L","慕":"L","岣�":"L","岣�":"L","幕":"L","岣�":"L","岣�":"L","艁":"L","冉":"L","獗�":"L","獗�":"L","隄�":"L","隄�":"L","隇�":"L","菄":"LJ","菆":"Lj","鈸�":"M","锛�":"M","岣�":"M","峁�":"M","峁�":"M","獗�":"M","茰":"M","鈸�":"N","锛�":"N","歉":"N","艃":"N","脩":"N","峁�":"N","艊":"N","峁�":"N","艆":"N","峁�":"N","峁�":"N","葼":"N","茲":"N","隇�":"N","隇�":"N","菉":"NJ","菋":"Nj","鈸�":"O","锛�":"O","脪":"O","脫":"O","脭":"O","峄�":"O","峄�":"O","峄�":"O","峄�":"O","脮":"O","峁�":"O","痊":"O","峁�":"O","艑":"O","峁�":"O","峁�":"O","艓":"O","犬":"O","劝":"O","脰":"O","泉":"O","峄�":"O","艕":"O","菓":"O","葘":"O","葞":"O","茽":"O","峄�":"O","峄�":"O","峄�":"O","峄�":"O","峄�":"O","峄�":"O","峄�":"O","仟":"O","乾":"O","脴":"O","蔷":"O","茊":"O","茻":"O","隄�":"O","隄�":"O","艗":"OE","脾":"OI","隄�":"OO","娶":"OU","鈸�":"P","锛�":"P","峁�":"P","峁�":"P","皮":"P","獗�":"P","隄�":"P","隄�":"P","隄�":"P","鈸�":"Q","锛�":"Q","隄�":"Q","隄�":"Q","蓨":"Q","鈸�":"R","锛�":"R","艛":"R","峁�":"R","艠":"R","葠":"R","葤":"R","峁�":"R","峁�":"R","艝":"R","峁�":"R","蓪":"R","獗�":"R","隄�":"R","隇�":"R","隇�":"R","鈸�":"S","锛�":"S","岷�":"S","艢":"S","峁�":"S","艤":"S","峁�":"S","艩":"S","峁�":"S","峁�":"S","峁�":"S","葮":"S","艦":"S","獗�":"S","隇�":"S","隇�":"S","鈸�":"T","锛�":"T","峁�":"T","扭":"T","峁�":"T","葰":"T","泞":"T","峁�":"T","峁�":"T","纽":"T","片":"T","飘":"T","染":"T","隇�":"T","隃�":"TZ","鈸�":"U","锛�":"U","脵":"U","脷":"U","脹":"U","浓":"U","峁�":"U","弄":"U","峁�":"U","努":"U","脺":"U","菦":"U","菞":"U","菚":"U","菣":"U","峄�":"U","女":"U","虐":"U","菗":"U","葦":"U","葨":"U","漂":"U","峄�":"U","峄�":"U","峄�":"U","峄�":"U","峄�":"U","峄�":"U","峁�":"U","挪":"U","峁�":"U","峁�":"U","蓜":"U","鈸�":"V","锛�":"V","峁�":"V","峁�":"V","撇":"V","隄�":"V","蓞":"V","隄�":"VY","鈸�":"W","锛�":"W","岷�":"W","岷�":"W","糯":"W","岷�":"W","岷�":"W","岷�":"W","獗�":"W","鈸�":"X","锛�":"X","岷�":"X","岷�":"X","鈸�":"Y","锛�":"Y","峄�":"Y","脻":"Y","哦":"Y","峄�":"Y","炔":"Y","岷�":"Y","鸥":"Y","峄�":"Y","峄�":"Y","瞥":"Y","蓭":"Y","峄�":"Y","鈸�":"Z","锛�":"Z","殴":"Z","岷�":"Z","呕":"Z","沤":"Z","岷�":"Z","岷�":"Z","频":"Z","趣":"Z","獗�":"Z","獗�":"Z","隄�":"Z","鈸�":"a","锝�":"a","岷�":"a","脿":"a","谩":"a","芒":"a","岷�":"a","岷�":"a","岷�":"a","岷�":"a","茫":"a","膩":"a","膬":"a","岷�":"a","岷�":"a","岷�":"a","岷�":"a","颧":"a","恰":"a","盲":"a","菬":"a","岷�":"a","氓":"a","腔":"a","菐":"a","葋":"a","葍":"a","岷�":"a","岷�":"a","岷�":"a","岣�":"a","膮":"a","獗�":"a","蓯":"a","隃�":"aa","忙":"ae","墙":"ae","牵":"ae","隃�":"ao","隃�":"au","隃�":"av","隃�":"av","隃�":"ay","鈸�":"b","锝�":"b","岣�":"b","岣�":"b","岣�":"b","苺":"b","苾":"b","蓳":"b","鈸�":"c","锝�":"c","膰":"c","膲":"c","膵":"c","膷":"c","莽":"c","岣�":"c","茍":"c","燃":"c","隃�":"c","鈫�":"c","鈸�":"d","锝�":"d","岣�":"d","膹":"d","岣�":"d","岣�":"d","岣�":"d","岣�":"d","膽":"d","茖":"d","蓶":"d","蓷":"d","隄�":"d","浅":"dz","菃":"dz","鈸�":"e","锝�":"e","猫":"e","茅":"e","锚":"e","峄�":"e","岷�":"e","峄�":"e","峄�":"e","岷�":"e","膿":"e","岣�":"e","岣�":"e","臅":"e","臈":"e","毛":"e","岷�":"e","臎":"e","葏":"e","葒":"e","岷�":"e","峄�":"e","醛":"e","岣�":"e","臋":"e","岣�":"e","岣�":"e","蓢":"e","蓻":"e","菨":"e","鈸�":"f","锝�":"f","岣�":"f","茠":"f","隄�":"f","鈸�":"g","锝�":"g","堑":"g","臐":"g","岣�":"g","臒":"g","摹":"g","千":"g","模":"g","钎":"g","蔂":"g","隇�":"g","岬�":"g","隄�":"g","鈸�":"h","锝�":"h","磨":"h","岣�":"h","岣�":"h","葻":"h","岣�":"h","岣�":"h","岣�":"h","岷�":"h","魔":"h","獗�":"h","獗�":"h","丧":"h","茣":"hv","鈸�":"i","锝�":"i","矛":"i","铆":"i","卯":"i","末":"i","墨":"i","沫":"i","茂":"i","岣�":"i","峄�":"i","菒":"i","葔":"i","葖":"i","峄�":"i","寞":"i","岣�":"i","扫":"i","谋":"i","鈸�":"j","锝�":"j","牡":"j","前":"j","蓧":"j","鈸�":"k","锝�":"k","岣�":"k","签":"k","岣�":"k","姆":"k","岣�":"k","茩":"k","獗�":"k","隄�":"k","隄�":"k","隄�":"k","隇�":"k","鈸�":"l","锝�":"l","艀":"l","暮":"l","木":"l","岣�":"l","岣�":"l","募":"l","岣�":"l","岣�":"l","趴":"l","艂":"l","茪":"l","色":"l","獗�":"l","隄�":"l","隇�":"l","隄�":"l","菈":"lj","鈸�":"m","锝�":"m","岣�":"m","峁�":"m","峁�":"m","杀":"m","莎":"m","鈸�":"n","锝�":"n","枪":"n","艅":"n","帽":"n","峁�":"n","艌":"n","峁�":"n","艈":"n","峁�":"n","峁�":"n","茷":"n","刹":"n","艍":"n","隇�":"n","隇�":"n","菍":"nj","鈸�":"o","锝�":"o","貌":"o","贸":"o","么":"o","峄�":"o","峄�":"o","峄�":"o","峄�":"o","玫":"o","峁�":"o","拳":"o","峁�":"o","艒":"o","峁�":"o","峁�":"o","艔":"o","券":"o","缺":"o","枚":"o","全":"o","峄�":"o","艖":"o","菕":"o","葝":"o","葟":"o","啤":"o","峄�":"o","峄�":"o","峄�":"o","峄�":"o","峄�":"o","峄�":"o","峄�":"o","谦":"o","黔":"o","酶":"o","强":"o","蓴":"o","隄�":"o","隄�":"o","傻":"o","艙":"oe","疲":"oi","龋":"ou","隄�":"oo","鈸�":"p","锝�":"p","峁�":"p","峁�":"p","匹":"p","岬�":"p","隄�":"p","隄�":"p","隄�":"p","鈸�":"q","锝�":"q","蓩":"q","隄�":"q","隄�":"q","鈸�":"r","锝�":"r","艜":"r","峁�":"r","艡":"r","葢":"r","葥":"r","峁�":"r","峁�":"r","艞":"r","峁�":"r","蓫":"r","山":"r","隄�":"r","隇�":"r","隇�":"r","鈸�":"s","锝�":"s","脽":"s","艣":"s","峁�":"s","艥":"s","峁�":"s","拧":"s","峁�":"s","峁�":"s","峁�":"s","葯":"s","艧":"s","瓤":"s","隇�":"s","隇�":"s","岷�":"s","鈸�":"t","锝�":"t","峁�":"t","岷�":"t","钮":"t","峁�":"t","葲":"t","牛":"t","峁�":"t","峁�":"t","脓":"t","骗":"t","蕡":"t","獗�":"t","隇�":"t","隃�":"tz","鈸�":"u","锝�":"u","霉":"u","煤":"u","没":"u","农":"u","峁�":"u","奴":"u","峁�":"u","怒":"u","眉":"u","菧":"u","菢":"u","菛":"u","菤":"u","峄�":"u","暖":"u","疟":"u","菙":"u","葧":"u","葪":"u","瓢":"u","峄�":"u","峄�":"u","峄�":"u","峄�":"u","峄�":"u","峄�":"u","峁�":"u","懦":"u","峁�":"u","峁�":"u","蕢":"u","鈸�":"v","锝�":"v","峁�":"v","峁�":"v","蕥":"v","隄�":"v","蕦":"v","隄�":"vy","鈸�":"w","锝�":"w","岷�":"w","岷�":"w","诺":"w","岷�":"w","岷�":"w","岷�":"w","岷�":"w","獗�":"w","鈸�":"x","锝�":"x","岷�":"x","岷�":"x","鈸�":"y","锝�":"y","峄�":"y","媒":"y","欧":"y","峄�":"y","瘸":"y","岷�":"y","每":"y","峄�":"y","岷�":"y","峄�":"y","拼":"y","蓮":"y","峄�":"y","鈸�":"z","锝�":"z","藕":"z","岷�":"z","偶":"z","啪":"z","岷�":"z","岷�":"z","贫":"z","去":"z","蓘":"z","獗�":"z","隄�":"z","螁":"螒","螆":"螘","螇":"螚","螉":"螜","为":"螜","螌":"螣","螏":"违","潍":"违","螐":"惟","维":"伪","苇":"蔚","萎":"畏","委":"喂","蠆":"喂","螑":"喂","蠈":"慰","蠉":"蠀","蠇":"蠀","伟":"蠀","蠋":"蠅","蟼":"蟽","鈥�":"'"}}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),null!=c.id?d+="-"+c.id.toString():d+="-"+a.generateChars(4),d},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple")){if(a.selected=!1,c(a.element).is("option"))return a.element.selected=!1,void this.$element.trigger("change");this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})}},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){b.RemoveData(this)})},d.prototype.query=function(a,b){var d=[],e=this;this.$element.children().each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var d;a.children?(d=document.createElement("optgroup"),d.label=a.text):(d=document.createElement("option"),void 0!==d.textContent?d.textContent=a.text:d.innerText=a.text),void 0!==a.id&&(d.value=a.id),a.disabled&&(d.disabled=!0),a.selected&&(d.selected=!0),a.title&&(d.title=a.title);var e=c(d),f=this._normalizeItem(a);return f.element=d,b.StoreData(d,"data",f),e},d.prototype.item=function(a){var d={};if(null!=(d=b.GetData(a[0],"data")))return d;if(a.is("option"))d={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){d={text:a.prop("label"),children:[],title:a.prop("title")};for(var e=a.children("option"),f=[],g=0;g<e.length;g++){var h=c(e[g]),i=this.item(h);f.push(i)}d.children=f}return d=this._normalizeItem(d),d.element=a[0],b.StoreData(a[0],"data",d),d},d.prototype._normalizeItem=function(a){a!==Object(a)&&(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){return this.options.get("matcher")(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){"status"in d&&(0===d.status||"0"===d.status)||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0);if((i.text||"").toUpperCase()===(b.term||"").toUpperCase()||j)return!f&&(a.data=g,void c(a))}if(f)return!0;var k=e.createTag(b);if(null!=k){var l=e.option(k);l.attr("data-select2-tag",!0),e.addOptions([l]),e.insertTag(g,k)}a.results=g,c(a)}var e=this;if(this._removeOldTags(),null==b.term||null!=b.page)return void a.call(this,b,c);a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b);if(!g.$element.find("option").filter(function(){return a(this).val()===c.id}).length){var d=g.option(c);d.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([d])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",b.term.length<this.minimumInputLength)return void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){if(b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength)return void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}});a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;if(d.maximumSelectionLength>0&&f>=d.maximumSelectionLength)return void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}});a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val(""),e.$search.blur()}),c.on("focus",function(){c.isOpen()||e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){e.showSearch(a)?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){e.$results.offset().top+e.$results.outerHeight(!1)+50>=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1)&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){b.StoreData(this,"select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(c){var d=b.GetData(this,"select2-scroll-position");a(this).scrollTop(d.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id;this.$container.parents().filter(b.hasScroll).off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return!(a(c.data.results)<this.minimumResultsForSearch)&&b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",["../utils"],function(a){function b(){}return b.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},b.prototype._handleSelectOnClose=function(b,c){if(c&&null!=c.originalSelect2Event){var d=c.originalSelect2Event;if("select"===d._type||"unselect"===d._type)return}var e=this.getHighlightedResults();if(!(e.length<1)){var f=a.GetData(e[0],"data");null!=f.element&&f.element.selected||null==f.element&&f.selected||this.trigger("select",{data:f})}},b}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&(c.ctrlKey||c.metaKey)||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"鏃犳硶杞藉叆缁撴灉"},inputTooLong:function(a){var b=a.input.length-a.maximum,c="璇峰垹闄� "+b+" 涓瓧绗�";return 1!=b&&(c+="s"),c},inputTooShort:function(a){return"璇峰啀杈撳叆鑷冲皯"+(a.minimum-a.input.length)+"涓瓧绗�"},loadingMore:function(){return"杞藉叆鏇村缁撴灉鈥�"},maximumSelected:function(a){var b="鏈�澶氬彧鑳�"+a.maximum+"涓�夐」";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"鏈壘鍒扮粨鏋�"},searching:function(){return"鎼滅储涓��"},removeAllItems:function(){return"鍒犻櫎鎵�鏈夐」鐩�"}}}),b.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}return D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),null==l.tokenSeparators&&null==l.tokenizer||(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(a){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(a){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var O=k.loadPath(this.defaults.amdLanguageBase+"en"),P=new k(l.language);P.extend(O),l.translations=P}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){null==c(d,e.children[g])&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var h=b(e.text).toUpperCase(),i=b(d.term).toUpperCase();return h.indexOf(i)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,scrollAfterSelect:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"100%"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(!0,this.defaults,f)},new D}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){function c(a,b){return b.toUpperCase()}var e=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),d.GetData(a[0],"select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),d.StoreData(a[0],"data",d.GetData(a[0],"select2Tags")),d.StoreData(a[0],"tags",!0)),d.GetData(a[0],"ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),a.attr("ajax--url",d.GetData(a[0],"ajaxUrl")),d.StoreData(a[0],"ajax-Url",d.GetData(a[0],"ajaxUrl")));for(var f={},g=0;g<a[0].attributes.length;g++){var h=a[0].attributes[g].name,i="data-";if(h.substr(0,i.length)==i){var j=h.substring(i.length),k=d.GetData(a[0],j);f[j.replace(/-([a-z])/g,c)]=k}}b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset&&(f=b.extend(!0,{},a[0].dataset,f));var l=b.extend(!0,{},d.GetData(a[0]),f);l=d._convertData(l);for(var m in l)b.inArray(m,e)>-1||(b.isPlainObject(this.options[m])?b.extend(this.options[m],l[m]):this.options[m]=l[m]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,d){null!=c.GetData(a[0],"select2")&&c.GetData(a[0],"select2").destroy(),this.$element=a,this.id=this._generateId(a),d=d||{},this.options=new b(d,a),e.__super__.constructor.call(this);var f=a.attr("tabindex")||0;c.StoreData(a[0],"old-tabindex",f),a.attr("tabindex","-1");var g=this.options.get("dataAdapter");this.dataAdapter=new g(a,this.options);var h=this.render();this._placeContainer(h);var i=this.options.get("selectionAdapter");this.selection=new i(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,h);var j=this.options.get("dropdownAdapter");this.dropdown=new j(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,h);var k=this.options.get("resultsAdapter");this.results=new k(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){l.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),c.StoreData(a[0],"select2",this),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return e<=0?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;h<i;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting",clear:"clearing"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=a&&0!==a.length||(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",c.GetData(this.$element[0],"old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),c.RemoveData(this.$element[0]),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),c.StoreData(b[0],"element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults","./select2/utils"],function(a,b,c,d,e){if(null==a.fn.select2){var f=["open","close","destroy"];a.fn.select2=function(b){if("object"==typeof(b=b||{}))return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,g=Array.prototype.slice.call(arguments,1);return this.each(function(){var a=e.GetData(this,"select2");null==a&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=a[b].apply(a,g)}),a.inArray(b,f)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});
\ No newline at end of file
diff --git a/web/web/web.config b/web/web/web.config
index 0bacb15..167693e 100644
--- a/web/web/web.config
+++ b/web/web/web.config
@@ -20,6 +20,10 @@
<add key="serverIp" value="8.129.227.30"/>
<add key="clientPort" value="8888"/>
<add key="connectionString" value="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=8.129.227.30)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=SMGW)));User ID=smgw;Password=smgw2018"/>
+
+ <!--
+ <add key="connectionString" value="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=8.129.227.30)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SID=SMGW)));User ID=smgwtest;Password=smgwtest"/>
+ -->
</appSettings>
<connectionStrings/>
<system.web>
--
Gitblit v1.9.1