492 lines
23 KiB
C#
492 lines
23 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Web;
|
|
using System.Web.Security;
|
|
using System.Web.UI;
|
|
using System.Web.UI.HtmlControls;
|
|
using System.Web.UI.WebControls;
|
|
using System.Web.UI.WebControls.WebParts;
|
|
using System.Text;
|
|
using System.Text.RegularExpressions;
|
|
using DSWeb.Models;
|
|
using DSWeb.EntityDA;
|
|
|
|
namespace DSWeb.PriceCarrier
|
|
{
|
|
public partial class HtmlSearchServiceLC : System.Web.UI.Page
|
|
{
|
|
private int iPage;
|
|
private int iRows;
|
|
private string strSidx;
|
|
private string strSord;
|
|
private string strSearchString;
|
|
private string strUserName;
|
|
private string strPassWord;
|
|
private string strHandle;
|
|
private string strUserID;
|
|
private string strSearchOper;
|
|
public string strCompanyID="";//公司GID
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (Request.QueryString["handle"] != null)
|
|
{
|
|
strHandle = Request.QueryString["handle"].ToString().Trim().ToLower();
|
|
}
|
|
if (Request.QueryString["page"] != null)
|
|
{
|
|
iPage = int.Parse(Request.QueryString["page"].ToString());
|
|
}
|
|
else
|
|
{
|
|
iPage = 0;
|
|
}
|
|
|
|
if (Request.QueryString["rows"] != null)
|
|
{
|
|
iRows = int.Parse(Request.QueryString["rows"].ToString());
|
|
}
|
|
else
|
|
{
|
|
iRows = 0;
|
|
}
|
|
|
|
if (Request.QueryString["sidx"] != null)
|
|
{
|
|
strSidx = Request.QueryString["sidx"].ToString();
|
|
}
|
|
|
|
if (Request.QueryString["sord"] != null)
|
|
{
|
|
strSord = Request.QueryString["sord"].ToString();
|
|
}
|
|
if (Request.QueryString["searchField"] != null)
|
|
{
|
|
strUserID = Request.QueryString["searchField"].ToString().Trim();
|
|
}
|
|
if (Request.QueryString["searchString"] != null)
|
|
{
|
|
UnicodeEncoding unicode = new UnicodeEncoding();
|
|
strSearchString = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["searchString"].ToString())));
|
|
}
|
|
if (Request.QueryString["searchOper"] != null)
|
|
{
|
|
strSearchOper = Request.QueryString["searchOper"].ToString();
|
|
if (strSearchOper.Trim().Equals("0"))
|
|
{
|
|
strSearchOper = " and 1>2";
|
|
}
|
|
else //if (strSearchOper.Trim().Equals("1"))
|
|
{
|
|
strSearchOper = "";
|
|
}
|
|
}
|
|
|
|
if (iPage > 0)
|
|
{
|
|
Response.Write(GetSearchSeaPrice());
|
|
}
|
|
|
|
if (Request.QueryString["username"] != null)
|
|
{
|
|
strUserName = Request.QueryString["username"].ToString().Trim();
|
|
}
|
|
|
|
if (Request.QueryString["password"] != null)
|
|
{
|
|
strPassWord = Request.QueryString["username"].ToString().Trim();
|
|
}
|
|
|
|
|
|
|
|
|
|
if (strHandle != null)
|
|
{
|
|
if (strUserName != null && strPassWord != null)
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
private bool ValidateSignIn(string strTempUserID)
|
|
{
|
|
bool bResult = false;
|
|
|
|
UserLoginStatusDA userLoginStatusDA = new UserLoginStatusDA();
|
|
UserLoginStatusEntity userLoginStatusEntity = new UserLoginStatusEntity();
|
|
|
|
//查看是否当前登录用户是否是时效内重新登录的用户
|
|
userLoginStatusEntity = userLoginStatusDA.GetLoginStatusByUserID(strUserID);
|
|
|
|
if (userLoginStatusEntity.GID != null)
|
|
{
|
|
DateTime signDateTime = userLoginStatusEntity.SignInTime;
|
|
DateTime serverDateTime = userLoginStatusEntity.ServerDateTime;
|
|
double expiresMinutes = double.Parse(userLoginStatusEntity.ExpiresMinutes.ToString());
|
|
if (signDateTime.AddMinutes(expiresMinutes).CompareTo(serverDateTime) <= 0)
|
|
{
|
|
//userLoginStatusDA.DeleteUserLoginStatus(userLoginStatusEntity.GID);
|
|
|
|
//userLoginStatusEntity.GID = Guid.NewGuid().ToString();
|
|
//userLoginStatusEntity.SessionID = "USERID";
|
|
//userLoginStatusEntity.ExpiresMinutes = 200;
|
|
|
|
//userLoginStatusDA.InsertLoginStatus(userLoginStatusEntity);
|
|
bResult = false;
|
|
}
|
|
else
|
|
{
|
|
userLoginStatusDA.UpdateLoginStatusForReSign(userLoginStatusEntity);
|
|
bResult = true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
bResult = false;//用户未正常登录
|
|
}
|
|
|
|
return bResult;
|
|
}
|
|
|
|
private int GetEBPriceQueryTotal()
|
|
{
|
|
EBPricequeryDA ebPriceQueryDA = new EBPricequeryDA();
|
|
|
|
string strSql = "SELECT COUNT(*) FROM eb_pricequery WHERE TYPE='LC' and CORPID='" + strCompanyID.Trim() + "' " + strSearchOper;
|
|
|
|
//string strAuthorityCondition = "";
|
|
//UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modRecvSettleList");
|
|
|
|
//if (userAuthorityManage.OperateType != AuthorityType.NULL)
|
|
//{
|
|
// strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.RECVSETTLELIST, strShowName, strCompanyID, strDeptName, strUserID);
|
|
// strSql += strAuthorityCondition;
|
|
//}
|
|
|
|
string strCondition = "";
|
|
if (!ValidateSignIn(strUserID))
|
|
{
|
|
strSql = "SELECT COUNT(*) FROM eb_pricequery WHERE TYPE='LC' and CORPID='" + strCompanyID.Trim() + "' " + strSearchOper;
|
|
}
|
|
else
|
|
{
|
|
if (strSearchString != null)
|
|
{
|
|
if (!strSearchString.Trim().Equals(""))
|
|
{
|
|
string tempSearch = strSearchString;
|
|
tempSearch = tempSearch.Replace("{", "");
|
|
tempSearch = tempSearch.Replace("}", "");
|
|
tempSearch = tempSearch.Replace("[", "");
|
|
tempSearch = tempSearch.Replace("]", "");
|
|
|
|
string[] searchArg = tempSearch.Split(new char[] { ',' });
|
|
|
|
for (int i = 0; i < searchArg.Length; i++)
|
|
{
|
|
if (i != (searchArg.Length - 1))
|
|
{
|
|
if (searchArg[i + 1].IndexOf(":") < 0)
|
|
{
|
|
string[] strArg = (searchArg[i] + "," + searchArg[i + 1]).Split(new char[] { ':' });
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
switch (strArg[0].Replace("\"", ""))
|
|
{
|
|
case "companyid"://Customer
|
|
strCompanyID = strArg[1].Replace("\"", "").Replace("##", ",");
|
|
strCondition += String.Format(" AND CORPID= '{0}' ", strCompanyID.Trim());
|
|
break;
|
|
case "lane"://Customer
|
|
strCondition += String.Format(" AND LANE = '{0}' ", strArg[1].Replace("\"", "").Replace("##", ","));
|
|
break;
|
|
case "carr"://BillNO
|
|
strCondition += String.Format(" AND CARRIER = '{0}' ", strArg[1].Replace("\"", "").Replace("##", ","));
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string[] strArg = searchArg[i].Split(new char[] { ':' });
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
switch (strArg[0].Replace("\"", ""))
|
|
{
|
|
case "companyid"://Customer
|
|
strCompanyID = strArg[1].Replace("\"", "").Replace("##", ",");
|
|
strCondition += String.Format(" AND CORPID= '{0}' ", strCompanyID.Trim());
|
|
break;
|
|
case "lane"://Customer
|
|
strCondition += String.Format(" AND LANE = '{0}' ", strArg[1].Replace("\"", "").Replace("##", ","));
|
|
break;
|
|
case "carr"://BillNO
|
|
strCondition += String.Format(" AND CARRIER = '{0}' ", strArg[1].Replace("\"", "").Replace("##", ","));
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (searchArg[i].IndexOf(":") > 0)
|
|
{
|
|
string[] strArg = searchArg[i].Split(new char[] { ':' });
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
switch (strArg[0].Replace("\"", ""))
|
|
{
|
|
case "companyid"://Customer
|
|
strCompanyID = strArg[1].Replace("\"", "").Replace("##", ",");
|
|
strCondition += String.Format(" AND CORPID= '{0}' ", strCompanyID.Trim());
|
|
break;
|
|
case "lane"://Customer
|
|
strCondition += String.Format(" AND LANE = '{0}' ", strArg[1].Replace("\"", "").Replace("##", ","));
|
|
break;
|
|
case "carr"://BillNO
|
|
strCondition += String.Format(" AND CARRIER = '{0}' ", strArg[1].Replace("\"", "").Replace("##", ","));
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
strSql += strCondition;
|
|
}
|
|
}
|
|
}
|
|
int iTotal = int.Parse(ebPriceQueryDA.GetExcuteSql(strSql).Tables[0].Rows[0][0].ToString());
|
|
|
|
return iTotal;
|
|
}
|
|
|
|
private string GetSearchSeaPrice()
|
|
{
|
|
EBPricequeryDA ebPriceQueryDA = new EBPricequeryDA();
|
|
|
|
DataTable sourceTable;
|
|
int iTotalCount = GetEBPriceQueryTotal();
|
|
|
|
string strCondition = "";
|
|
string strTopNotInclude = "";
|
|
string strTopInclude = "";
|
|
string strSql = "";
|
|
int iPageTotal = 0;
|
|
string strLane = "";
|
|
string strCarrier = "";
|
|
|
|
if (strSearchString != null)
|
|
{
|
|
if (!strSearchString.Trim().Equals(""))
|
|
{
|
|
string tempSearch = strSearchString;
|
|
tempSearch = tempSearch.Replace("{", "");
|
|
tempSearch = tempSearch.Replace("}", "");
|
|
tempSearch = tempSearch.Replace("[", "");
|
|
tempSearch = tempSearch.Replace("]", "");
|
|
|
|
string[] searchArg = tempSearch.Split(new char[] { ',' });
|
|
|
|
for (int i = 0; i < searchArg.Length; i++)
|
|
{
|
|
if (i != (searchArg.Length - 1))
|
|
{
|
|
if (searchArg[i + 1].IndexOf(":") < 0)
|
|
{
|
|
string[] strArg = (searchArg[i] + "," + searchArg[i + 1]).Split(new char[] { ':' });
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
switch (strArg[0].Replace("\"", ""))
|
|
{
|
|
case "companyid"://Customer
|
|
strCompanyID = strArg[1].Replace("\"", "").Replace("##", ",");
|
|
strCondition += String.Format(" AND CORPID= '{0}' ", strCompanyID.Trim());
|
|
break;
|
|
case "lane"://Customer
|
|
strCondition += String.Format(" AND LANE = '{0}' ", strArg[1].Replace("\"", "").Replace("##", ","));
|
|
strLane = strArg[1].Replace("\"", "").Replace("##", ",");
|
|
break;
|
|
case "carr"://BillNO
|
|
strCondition += String.Format(" AND CARRIER = '{0}' ", strArg[1].Replace("\"", "").Replace("##", ","));
|
|
strCarrier = strArg[1].Replace("\"", "").Replace("##", ",");
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string[] strArg = searchArg[i].Split(new char[] { ':' });
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
switch (strArg[0].Replace("\"", ""))
|
|
{
|
|
case "companyid"://Customer
|
|
strCompanyID = strArg[1].Replace("\"", "").Replace("##", ",");
|
|
strCondition += String.Format(" AND CORPID= '{0}' ", strCompanyID.Trim());
|
|
break;
|
|
case "lane"://Customer
|
|
strCondition += String.Format(" AND LANE = '{0}' ", strArg[1].Replace("\"", "").Replace("##", ","));
|
|
strLane = strArg[1].Replace("\"", "").Replace("##", ",");
|
|
break;
|
|
case "carr"://BillNO
|
|
strCondition += String.Format(" AND CARRIER = '{0}' ", strArg[1].Replace("\"", "").Replace("##", ","));
|
|
strCarrier = strArg[1].Replace("\"", "").Replace("##", ",");
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (searchArg[i].IndexOf(":") > 0)
|
|
{
|
|
string[] strArg = searchArg[i].Split(new char[] { ':' });
|
|
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
|
|
{
|
|
switch (strArg[0].Replace("\"", ""))
|
|
{
|
|
case "companyid"://Customer
|
|
strCompanyID = strArg[1].Replace("\"", "").Replace("##", ",");
|
|
strCondition += String.Format(" AND CORPID= '{0}' ", strCompanyID.Trim());
|
|
break;
|
|
case "lane"://Customer
|
|
strCondition += String.Format(" AND LANE = '{0}' ", strArg[1].Replace("\"", "").Replace("##", ","));
|
|
strLane = strArg[1].Replace("\"", "").Replace("##", ",");
|
|
break;
|
|
case "carr"://BillNO
|
|
strCondition += String.Format(" AND CARRIER = '{0}' ", strArg[1].Replace("\"", "").Replace("##", ","));
|
|
strCarrier = strArg[1].Replace("\"", "").Replace("##", ",");
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (iTotalCount > 0)
|
|
{
|
|
iPageTotal = (iTotalCount % iRows) > 0 ? ((iTotalCount / iRows) + 1) : (iTotalCount / iRows);
|
|
}
|
|
else
|
|
{
|
|
iPageTotal = 0;
|
|
}
|
|
|
|
if (!ValidateSignIn(strUserID))
|
|
{
|
|
//strSql = String.Format(" SELECT GID,CARRIER,CARRIERCN,LANE,EFFECTIVEDATE,BOOKINGFEE,CTNFEE,THCFEE,FILEFEE,REMARK,REMARK2 FROM eb_pricequery WHERE TYPE='LC'" + strSearchOper);
|
|
if (iPage > 0 && iRows > 0)
|
|
{
|
|
if (iPage == 1)
|
|
{
|
|
strSql = String.Format(" SELECT {0} GID,CARRIER,CARRIERCN,LANE,EFFECTIVEDATE,BOOKINGFEE,CTNFEE,THCFEE,FILEFEE,REMARK,REMARK2 FROM eb_pricequery WHERE TYPE='LC' " + strCondition + strSearchOper + " ORDER BY " + strSidx + " " + strSord + " ", "top " + iRows.ToString());
|
|
}
|
|
else
|
|
{
|
|
strTopNotInclude = "top " + (iRows * (iPage - 1)).ToString();//RowCount*PageNum
|
|
strTopInclude = "top " + iRows.ToString();
|
|
|
|
|
|
strSql = String.Format(" SELECT {0} GID,CARRIER,CARRIERCN,LANE,EFFECTIVEDATE,BOOKINGFEE,CTNFEE,THCFEE,FILEFEE,REMARK,REMARK2 FROM eb_pricequery WHERE GID NOT IN (SELECT {1} GID FROM eb_pricequery WHERE TYPE='LC' " + strCondition + strSearchOper + " ORDER BY " + strSidx + " " + strSord + " ) and TYPE='LC' " + strCondition + strSearchOper + " ORDER BY " + strSidx + " " + strSord + " ", strTopInclude, strTopNotInclude);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
strSql = String.Format(" SELECT GID,CARRIER,CARRIERCN,LANE,EFFECTIVEDATE,BOOKINGFEE,CTNFEE,THCFEE,FILEFEE,REMARK,REMARK2 FROM eb_pricequery " + " WHERE TYPE='LC' " + strCondition + strSearchOper + " ORDER BY " + strSidx + " " + strSord + " ");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (iPage > 0 && iRows > 0)
|
|
{
|
|
if (iPage == 1)
|
|
{
|
|
strSql = String.Format(" SELECT {0} GID,CARRIER,CARRIERCN,LANE,EFFECTIVEDATE,BOOKINGFEE,CTNFEE,THCFEE,FILEFEE,REMARK,REMARK2 FROM eb_pricequery WHERE TYPE='LC' " + strCondition + strSearchOper + " ORDER BY " + strSidx + " " + strSord + " ", "top " + iRows.ToString());
|
|
}
|
|
else
|
|
{
|
|
strTopNotInclude = "top " + (iRows * (iPage - 1)).ToString();//RowCount*PageNum
|
|
strTopInclude = "top " + iRows.ToString();
|
|
|
|
|
|
strSql = String.Format(" SELECT {0} GID,CARRIER,CARRIERCN,LANE,EFFECTIVEDATE,BOOKINGFEE,CTNFEE,THCFEE,FILEFEE,REMARK,REMARK2 FROM eb_pricequery WHERE GID NOT IN (SELECT {1} GID FROM eb_pricequery WHERE TYPE='LC' " + strCondition + strSearchOper + " ORDER BY " + strSidx + " " + strSord + " ) and TYPE='LC' " + strCondition + strSearchOper + " ORDER BY " + strSidx + " " + strSord + " ", strTopInclude, strTopNotInclude);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
strSql = String.Format(" SELECT GID,CARRIER,CARRIERCN,LANE,EFFECTIVEDATE,BOOKINGFEE,CTNFEE,THCFEE,FILEFEE,REMARK,REMARK2 FROM eb_pricequery WHERE TYPE='LC' " + strCondition + strSearchOper + " ORDER BY " + strSidx + " " + strSord + " ");
|
|
}
|
|
}
|
|
sourceTable = ebPriceQueryDA.GetExcuteSql(strSql).Tables[0];
|
|
|
|
StringBuilder sourceBuilder = new StringBuilder();
|
|
sourceBuilder.Append("{");
|
|
sourceBuilder.Append("\"griddatas\":[");
|
|
for (int i = 0; i < sourceTable.Rows.Count; i++)
|
|
{
|
|
sourceBuilder.Append("{\"id\":\"" + sourceTable.Rows[i][0].ToString() + "\",");
|
|
//sourceBuilder.Append("data:[");
|
|
|
|
//sourceBuilder.Append("\"0\",");
|
|
for (int j = 1; j < sourceTable.Columns.Count; j++)
|
|
{
|
|
string ls = sourceTable.Rows[i][j].ToString();
|
|
ls = ls.Replace("\r\n", " ");
|
|
ls = ls.Replace("\n", " ");
|
|
//
|
|
if (j == sourceTable.Columns.Count - 1)
|
|
{
|
|
sourceBuilder.Append("\"" + sourceTable.Columns[j].ColumnName.ToString().ToLower() + "\":\"" + ls + "\"");
|
|
}
|
|
else
|
|
{
|
|
sourceBuilder.Append("\"" + sourceTable.Columns[j].ColumnName.ToString().ToLower() + "\":\"" + ls + "\",");
|
|
}
|
|
}
|
|
if (i == sourceTable.Rows.Count - 1)
|
|
{
|
|
sourceBuilder.Append("}");
|
|
}
|
|
else
|
|
{
|
|
sourceBuilder.Append("},");
|
|
}
|
|
|
|
}
|
|
sourceBuilder.Append("],");
|
|
sourceBuilder.Append("\"page\": " + iPage + ",");
|
|
sourceBuilder.Append("\"record\":" + iTotalCount + ",");
|
|
sourceBuilder.Append("\"rows\": " + iRows + ",");
|
|
sourceBuilder.Append("\"total\":" + iPageTotal);
|
|
sourceBuilder.Append("}");
|
|
|
|
string alt = "'','','" + strCarrier + "','','','LC'";
|
|
//
|
|
if (strLane != "" || strCarrier != "")
|
|
{
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
bool bl = T_ALL_DA.GetEBPricequeryListLOG(alt, strUserID, strCompanyID.Trim());
|
|
}
|
|
return sourceBuilder.ToString();
|
|
}
|
|
}
|
|
}
|