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