DS7/DSWeb/SeaiInfoLCL/SeaImportLCLListGridSource....

985 lines
45 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections;
using System.Collections.Generic;
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 DSWeb.EntityDA;
using DSWeb.Models;
using System.Xml;
using System.Text.RegularExpressions;
using DSWeb.Authority;
namespace DSWeb.SeaiInfoLCL
{
public partial class SeaImportLCLListGridSource : System.Web.UI.Page
{
private string strSearch;//委托信息查询条件
private int iCurrentPage;//当前页数
private int iShowPage;//显示最大页数
private string strHandle;//值为"page"获取分页状态值数组 值为"list"获取日志显示JSON数据 值为"columns"获取日志显示记录 值为"rename"更新列标题
public string strUserID;//用户GID
private string strBSNO;//委托业务GID
private string strCompanyID;//公司GID
private string strShowName;//用户显示名
private string strDeptName;//部门名称
public string strCntr;//部门名称
private string strSortName;//排序名称
private string strSortIndex;//排序方向 asc desc
private string strSearchCacheName;//综合查询条件缓存
//private string strOldHeader;
//private string strNewHeader;
//UnicodeEncoding unicode = new UnicodeEncoding();
//public string strRange = String.Empty;//权限可视范围
//public string strSel = String.Empty;//查询条件
//RangeDA RangeDA = new RangeDA();
protected void Page_Load(object sender, EventArgs e)
{
if (Session["USERID"] != null)
{
strUserID = Session["USERID"].ToString().Trim();
}
if (Session["SHOWNAME"] != null)
{
strShowName = Session["SHOWNAME"].ToString();
}
if (Session["COMPANYID"] != null)
{
strCompanyID = Session["COMPANYID"].ToString();
}
if (Session["DEPTNAME"] != null)
{
strDeptName = Session["DEPTNAME"].ToString();
}
if (Request.QueryString["handle"] != null)
{
strHandle = Request.QueryString["handle"].ToString().Trim().ToLower();
}
if (Request.QueryString["bsno"] != null)
{
strBSNO = Request.QueryString["bsno"].ToString();
}
if (Request.QueryString["cntr"] != null)
{
strCntr = Request.QueryString["cntr"].ToString();
}
if (Request.QueryString["search"] != null)
{
UnicodeEncoding unicode = new UnicodeEncoding();
strSearch = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["search"].ToString())));
}
if (Request.QueryString["cur_page"] != null)
{
iCurrentPage = int.Parse(Request.QueryString["cur_page"].ToString().Trim());
}
else
{
iCurrentPage = 0;
}
if (Request.QueryString["show_page"] != null)
{
iShowPage = int.Parse(Request.QueryString["show_page"].ToString().Trim());
}
else
{
iShowPage = 0;
}
if (Request.QueryString["sort"] != null)
{
strSortName = Request.QueryString["sort"].ToString().Trim().ToUpper();
}
if (Request.QueryString["sortindex"] != null)
{
strSortIndex = Request.QueryString["sortindex"].ToString().Trim().ToUpper();
if (strSortIndex.Equals("DES"))
{
strSortIndex = "DESC";
}
}
if (Request.QueryString["searchcachename"] != null)
{
strSearchCacheName = Request.QueryString["searchcachename"].ToString();
}
//
string strJSON = "";
if (strHandle != null)
{
if (strHandle == "list")
{
Response.Write(GetOpseaiList());
}
if (strHandle == "listpage")
{
Response.Write(GetOpseaiListPage());
}
if (strHandle.Trim().ToLower().Equals("delete"))
{
Response.Write(DeleteSeaImportOrder(strBSNO).ToString());
}
}
else
{
strJSON = "-1";//GET 参数错误
}
}
#region 获取海运进口委托总页数
/// <summary>
/// 获取海运进口委托总页数
/// </summary>
/// <returns>返回总页数</returns>
private int GetOpseaiListPage()
{
SeaImportInfoDA SeaImportInfoDA = new SeaImportInfoDA();
string strSql = "SELECT COUNT(*) FROM [VW_OP_SEAI] WHERE 1 > 0 ";
string strCondition = "";
string strAuthorityCondition = "";
UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modSeaImportLCLList");
if (userAuthorityManage.OperateType != AuthorityType.NULL)
{
strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.OPSEAILIST, strShowName, strCompanyID, strDeptName, strUserID);
strSql += strAuthorityCondition;
}
string tempCacheSearch = "";
if (strSearchCacheName != null)
{
tempCacheSearch = Session[strSearchCacheName].ToString();
string tempSearch = tempCacheSearch;
tempSearch = tempSearch.Replace("{", "");
tempSearch = tempSearch.Replace("}", "");
tempSearch = tempSearch.Replace("[", "");
tempSearch = tempSearch.Replace("]", "");
string[] searchArg = tempSearch.Split(new char[] { ',' });
ArrayList optionList = new ArrayList();
for (int i = 0; i < searchArg.Length; i++)
{
string[] strArg = searchArg[i].Split(new char[] { ':' });
//if (!strArg[1].Replace("\"", "").Trim().Equals(""))
//{
switch (strArg[0].Replace("\"", ""))
{
case "search1"://search1
strCondition += "( " + String.Format(" {0} ", strArg[1].Replace("\"", "").Trim().ToUpper());
break;
case "equal1"://equal1
strCondition += GetEqual(strArg[1].Replace("\"", "").Trim().ToLower());
break;
case "type1"://type1
strCondition = String.Format(strCondition, GetEqualValueType(strArg[1].Replace("\"", "").Trim().ToLower()));
break;
case "value1"://value1
strCondition = String.Format(strCondition, strArg[1].Replace("\"", "").Trim()) + " )";
break;
case "option2":
strCondition = GetOption(strArg[1].Replace("\"", "").Trim(), optionList, strCondition);
optionList.Add(strArg[1].Replace("\"", "").Trim());
break;
case "search2"://search2
strCondition += "( " + String.Format(" {0} ", strArg[1].Replace("\"", "").Trim().ToUpper());
break;
case "equal2"://equal2
strCondition += GetEqual(strArg[1].Replace("\"", "").Trim().ToLower());
break;
case "type2"://type2
strCondition = String.Format(strCondition, GetEqualValueType(strArg[1].Replace("\"", "").Trim().ToLower()));
break;
case "value2"://value3
strCondition = String.Format(strCondition, strArg[1].Replace("\"", "").Trim()) + " )";
break;
case "option3":
strCondition = GetOption(strArg[1].Replace("\"", "").Trim(), optionList, strCondition);
optionList.Add(strArg[1].Replace("\"", "").Trim());
break;
case "search3"://search3
strCondition += "( " + String.Format(" {0} ", strArg[1].Replace("\"", "").Trim().ToUpper());
break;
case "equal3"://equal3
strCondition += GetEqual(strArg[1].Replace("\"", "").Trim().ToLower());
break;
case "type3"://type3
strCondition = String.Format(strCondition, GetEqualValueType(strArg[1].Replace("\"", "").Trim().ToLower()));
break;
case "value3"://value4
strCondition = String.Format(strCondition, strArg[1].Replace("\"", "").Trim()) + " )";
break;
case "option4":
strCondition = GetOption(strArg[1].Replace("\"", "").Trim(), optionList, strCondition);
optionList.Add(strArg[1].Replace("\"", "").Trim());
break;
case "search4"://search4
strCondition += "( " + String.Format(" {0} ", strArg[1].Replace("\"", "").Trim().ToUpper());
break;
case "equal4"://equal4
strCondition += GetEqual(strArg[1].Replace("\"", "").Trim().ToLower());
break;
case "type4"://type4
strCondition = String.Format(strCondition, GetEqualValueType(strArg[1].Replace("\"", "").Trim().ToLower()));
break;
case "value4"://value4
strCondition = String.Format(strCondition, strArg[1].Replace("\"", "").Trim()) + " )";
break;
case "option5":
strCondition = GetOption(strArg[1].Replace("\"", "").Trim(), optionList, strCondition);
optionList.Add(strArg[1].Replace("\"", "").Trim());
break;
case "search5"://search5
strCondition += "( " + String.Format(" {0} ", strArg[1].Replace("\"", "").Trim().ToUpper());
break;
case "equal5"://equal5
strCondition += GetEqual(strArg[1].Replace("\"", "").Trim().ToLower());
break;
case "type5"://type5
strCondition = String.Format(strCondition, GetEqualValueType(strArg[1].Replace("\"", "").Trim().ToLower()));
break;
case "value5"://value5
strCondition = String.Format(strCondition, strArg[1].Replace("\"", "").Trim()) + " )";
break;
case "option6":
strCondition = GetOption(strArg[1].Replace("\"", "").Trim(), optionList, strCondition);
optionList.Add(strArg[1].Replace("\"", "").Trim());
break;
case "search6"://search6
strCondition += "( " + String.Format(" {0} ", strArg[1].Replace("\"", "").Trim().ToUpper());
break;
case "equal6"://equal6
strCondition += GetEqual(strArg[1].Replace("\"", "").Trim().ToLower());
break;
case "type6"://type6
strCondition = String.Format(strCondition, GetEqualValueType(strArg[1].Replace("\"", "").Trim().ToLower()));
break;
case "value6"://value6
strCondition = String.Format(strCondition, strArg[1].Replace("\"", "").Trim()) + " )";
break;
default:
break;
}
//}
}
strCondition = " AND " + strCondition + " ";
strSql += strCondition;
}
else if (strSearch != null)
{
if (!strSearch.Trim().Equals(""))
{
string tempSearch = strSearch;
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++)
{
string[] strArg = searchArg[i].Split(new char[] { ':' });
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
{
switch (strArg[0].Replace("\"", ""))
{
case "btime"://ETD BeginDate
strCondition += String.Format(" AND CONVERT(char(10),CREATETIME, 20) >= CONVERT(char(10),'{0}', 20) ", strArg[1].Replace("\"", ""));
break;
case "etime"://ETD EndDate
strCondition += String.Format(" AND CONVERT(char(10),CREATETIME, 20) >= CONVERT(char(10),'{0}', 20) ", strArg[1].Replace("\"", ""));
break;
case "cus"://CUSTOMER
strCondition += String.Format(" AND CUSTOMERNAME LIKE '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "no"://NO
strCondition += String.Format(" AND (CUSTNO LIKE '%{0}%' OR MBLNO LIKE '%{0}%' OR HBLNO LIKE '%{0}%' OR ORDERNO like '%{0}%')", strArg[1].Replace("\"", ""));
break;
case "op"://OP
strCondition += String.Format(" AND INPUTBY LIKE '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "vessel"://VESSEL
strCondition += String.Format(" AND VESSEL LIKE '%{0}%' ", strArg[1].Replace("\"", ""));
break;
default:
break;
}
}
}
}
}
//
strCondition += " and bsno like '%topseailcl%' ";
strSql += strCondition;
//
int iTotal = int.Parse(SeaImportInfoDA.GetExcuteSql(strSql).Tables[0].Rows[0][0].ToString());
return iTotal;
}
#endregion
private string GetOpseaiList()
{
SeaImportInfoDA SeaImportInfoDA = new SeaImportInfoDA();
DataTable sourceTable;
string strCondition = "";
string strTopInclude = "";
string strTopNotInclude = "";
string tempCacheSearch = "";
if (strSearchCacheName != null)
{
tempCacheSearch = Session[strSearchCacheName].ToString();
string tempSearch = tempCacheSearch;
tempSearch = tempSearch.Replace("{", "");
tempSearch = tempSearch.Replace("}", "");
tempSearch = tempSearch.Replace("[", "");
tempSearch = tempSearch.Replace("]", "");
string[] searchArg = tempSearch.Split(new char[] { ',' });
ArrayList optionList = new ArrayList();
for (int i = 0; i < searchArg.Length; i++)
{
string[] strArg = searchArg[i].Split(new char[] { ':' });
//if (!strArg[1].Replace("\"", "").Trim().Equals(""))
//{
switch (strArg[0].Replace("\"", ""))
{
case "search1"://search1
strCondition += "( " + String.Format(" {0} ", strArg[1].Replace("\"", "").Trim().ToUpper());
break;
case "equal1"://equal1
strCondition += GetEqual(strArg[1].Replace("\"", "").Trim().ToLower());
break;
case "type1"://type1
strCondition = String.Format(strCondition, GetEqualValueType(strArg[1].Replace("\"", "").Trim().ToLower()));
break;
case "value1"://value1
strCondition = String.Format(strCondition, strArg[1].Replace("\"", "").Trim()) + " )";
break;
case "option2":
strCondition = GetOption(strArg[1].Replace("\"", "").Trim(), optionList, strCondition);
optionList.Add(strArg[1].Replace("\"", "").Trim());
break;
case "search2"://search2
strCondition += "( " + String.Format(" {0} ", strArg[1].Replace("\"", "").Trim().ToUpper());
break;
case "equal2"://equal2
strCondition += GetEqual(strArg[1].Replace("\"", "").Trim().ToLower());
break;
case "type2"://type2
strCondition = String.Format(strCondition, GetEqualValueType(strArg[1].Replace("\"", "").Trim().ToLower()));
break;
case "value2"://value3
strCondition = String.Format(strCondition, strArg[1].Replace("\"", "").Trim()) + " )";
break;
case "option3":
strCondition = GetOption(strArg[1].Replace("\"", "").Trim(), optionList, strCondition);
optionList.Add(strArg[1].Replace("\"", "").Trim());
break;
case "search3"://search3
strCondition += "( " + String.Format(" {0} ", strArg[1].Replace("\"", "").Trim().ToUpper());
break;
case "equal3"://equal3
strCondition += GetEqual(strArg[1].Replace("\"", "").Trim().ToLower());
break;
case "type3"://type3
strCondition = String.Format(strCondition, GetEqualValueType(strArg[1].Replace("\"", "").Trim().ToLower()));
break;
case "value3"://value4
strCondition = String.Format(strCondition, strArg[1].Replace("\"", "").Trim()) + " )";
break;
case "option4":
strCondition = GetOption(strArg[1].Replace("\"", "").Trim(), optionList, strCondition);
optionList.Add(strArg[1].Replace("\"", "").Trim());
break;
case "search4"://search4
strCondition += "( " + String.Format(" {0} ", strArg[1].Replace("\"", "").Trim().ToUpper());
break;
case "equal4"://equal4
strCondition += GetEqual(strArg[1].Replace("\"", "").Trim().ToLower());
break;
case "type4"://type4
strCondition = String.Format(strCondition, GetEqualValueType(strArg[1].Replace("\"", "").Trim().ToLower()));
break;
case "value4"://value4
strCondition = String.Format(strCondition, strArg[1].Replace("\"", "").Trim()) + " )";
break;
case "option5":
strCondition = GetOption(strArg[1].Replace("\"", "").Trim(), optionList, strCondition);
optionList.Add(strArg[1].Replace("\"", "").Trim());
break;
case "search5"://search5
strCondition += "( " + String.Format(" {0} ", strArg[1].Replace("\"", "").Trim().ToUpper());
break;
case "equal5"://equal5
strCondition += GetEqual(strArg[1].Replace("\"", "").Trim().ToLower());
break;
case "type5"://type5
strCondition = String.Format(strCondition, GetEqualValueType(strArg[1].Replace("\"", "").Trim().ToLower()));
break;
case "value5"://value5
strCondition = String.Format(strCondition, strArg[1].Replace("\"", "").Trim()) + " )";
break;
case "option6":
strCondition = GetOption(strArg[1].Replace("\"", "").Trim(), optionList, strCondition);
optionList.Add(strArg[1].Replace("\"", "").Trim());
break;
case "search6"://search6
strCondition += "( " + String.Format(" {0} ", strArg[1].Replace("\"", "").Trim().ToUpper());
break;
case "equal6"://equal6
strCondition += GetEqual(strArg[1].Replace("\"", "").Trim().ToLower());
break;
case "type6"://type6
strCondition = String.Format(strCondition, GetEqualValueType(strArg[1].Replace("\"", "").Trim().ToLower()));
break;
case "value6"://value6
strCondition = String.Format(strCondition, strArg[1].Replace("\"", "").Trim()) + " )";
break;
default:
break;
}
//}
}
strCondition = " AND " + strCondition + " ";
}
else if (strSearch != null)
{
if (!strSearch.Trim().Equals(""))
{
string tempSearch = strSearch;
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++)
{
string[] strArg = searchArg[i].Split(new char[] { ':' });
if (!strArg[1].Replace("\"", "").Trim().Equals(""))
{
switch (strArg[0].Replace("\"", ""))
{
case "btime"://ETD BeginDate
strCondition += String.Format(" AND CONVERT(char(10),CREATETIME, 20) >= CONVERT(char(10),'{0}', 20) ", strArg[1].Replace("\"", ""));
break;
case "etime"://ETD EndDate
strCondition += String.Format(" AND CONVERT(char(10),CREATETIME, 20) >= CONVERT(char(10),'{0}', 20) ", strArg[1].Replace("\"", ""));
break;
case "cus"://CUSTOMER
strCondition += String.Format(" AND CUSTOMERNAME LIKE '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "no"://NO
strCondition += String.Format(" AND (CUSTNO LIKE '%{0}%' OR MBLNO LIKE '%{0}%' OR HBLNO LIKE '%{0}%' OR ORDERNO like '%{0}%')", strArg[1].Replace("\"", ""));
break;
case "op"://OP
strCondition += String.Format(" AND INPUTBY LIKE '%{0}%' ", strArg[1].Replace("\"", ""));
break;
case "vessel"://VESSEL
strCondition += String.Format(" AND VESSEL LIKE '%{0}%' ", strArg[1].Replace("\"", ""));
break;
default:
break;
}
}
}
}
}
//
strCondition += " and bsno like '%topseailcl%' ";
//
string strAuthorityCondition = "";
UserAuthorityManage userAuthorityManage = new UserAuthorityManage(strUserID, "modSeaImportLCLList");
if (userAuthorityManage.OperateType != AuthorityType.NULL)
{
strAuthorityCondition = userAuthorityManage.GetVisibleRangeSql(userAuthorityManage.VisibleType, ModuleType.OPSEAILIST, strShowName, strCompanyID, strDeptName, strUserID);
}
string strSortCondition = "";
if (strSortName != null && strSortIndex != null)
{
strSortCondition = String.Format(" ORDER BY {0} {1},CREATETIME DESC", strSortName, strSortIndex);
}
else
{
strSortCondition = String.Format(" ORDER BY {0} {1},CREATETIME DESC", "ETD", "DESC");
}
string strSql = "";
if (iCurrentPage > 0 && iShowPage > 0)
{
if (iCurrentPage == 1)
{
//业务封账 接受委托
strSql = String.Format("SELECT {0} BSNO,ORDERTYPE,CASE WHEN BSSTATUS = 1 THEN '锁定' ELSE '未锁定' END as BSSTATUS,CASE WHEN FEESTATUS = 1 THEN '锁定' ELSE '未锁定' END as FEESTATUS"
+ ",OPSTATUS=(select top 1 STATUS from op_status where bsno=[VW_OP_SEAI].bsno order by INPUTTIME desc)"
+ ",INPUTBY,CREATETIME,CUSTOMERNAME,MBLNO,VESSEL,GOODSNAME,GRADE,COUNTRYOFORIGIN,CUSTOMSER,CUSTOMNO,CUSTOMDATE"
+ ",INSPECTION,INSPECTIONNO,INSPECTIONDATE,NOR,YARD,STORAGENAME,ISFORCEDTODESPATCH"
+ ",BSKGS,ACTUALKGS,DRAFTKGS,WHARFSKGS,WMSINKGS,WMSOUTKGS,DIFFERENCEKGS,UNITOFWEIGHT,WATERCONTENT,WATERDENSITY,CASE WHEN ISVOU = 1 THEN '是' ELSE '否' END as ISVOU,VOUNO,CORPID FROM [VW_OP_SEAI] where 1>0 "
+ strAuthorityCondition + strCondition + strSortCondition, "top " + iShowPage.ToString());
}
else
{
//业务封账 接受委托
strTopNotInclude = "top " + (iShowPage * (iCurrentPage - 1)).ToString();//RowCount*PageNum
strTopInclude = "top " + iShowPage.ToString();
strSql = String.Format("SELECT {0} BSNO,ORDERTYPE,CASE WHEN BSSTATUS = 1 THEN '锁定' ELSE '未锁定' END as BSSTATUS,CASE WHEN FEESTATUS = 1 THEN '锁定' ELSE '未锁定' END as FEESTATUS"
+ ",OPSTATUS=(select top 1 STATUS from op_status where bsno=[VW_OP_SEAI].bsno order by INPUTTIME desc)"
+ ",INPUTBY,CREATETIME,CUSTOMERNAME,MBLNO,VESSEL,GOODSNAME,GRADE,COUNTRYOFORIGIN,CUSTOMSER,CUSTOMNO,CUSTOMDATE"
+ ",INSPECTION,INSPECTIONNO,INSPECTIONDATE,NOR,YARD,STORAGENAME,ISFORCEDTODESPATCH"
+ ",BSKGS,ACTUALKGS,DRAFTKGS,WHARFSKGS,WMSINKGS,WMSOUTKGS,DIFFERENCEKGS,UNITOFWEIGHT,WATERCONTENT,WATERDENSITY,CASE WHEN ISVOU = 1 THEN '是' ELSE '否' END as ISVOU,VOUNO,CORPID FROM [VW_OP_SEAI] WHERE BSNO NOT IN(SELECT {1} BSNO FROM [VW_OP_SEAI] WHERE 1>0 "
+ strAuthorityCondition + strCondition + strSortCondition + ") "
+ strAuthorityCondition + strCondition + strSortCondition, strTopInclude, strTopNotInclude);//,UNITS
}
}
else
{
//业务封账 接受委托
strSql = "SELECT BSNO,ORDERTYPE,CASE WHEN BSSTATUS = 1 THEN '锁定' ELSE '未锁定' END as BSSTATUS,CASE WHEN FEESTATUS = 1 THEN '锁定' ELSE '未锁定' END as FEESTATUS"
+ ",OPSTATUS=(select top 1 STATUS from op_status where bsno=[VW_OP_SEAI].bsno order by INPUTTIME desc)"
+ ",INPUTBY,CREATETIME,CUSTOMERNAME,MBLNO,VESSEL,GOODSNAME,GRADE,COUNTRYOFORIGIN,CUSTOMSER,CUSTOMNO,CUSTOMDATE"
+ ",INSPECTION,INSPECTIONNO,INSPECTIONDATE,NOR,YARD,STORAGENAME,ISFORCEDTODESPATCH"
+ ",BSKGS,ACTUALKGS,DRAFTKGS,WHARFSKGS,WMSINKGS,WMSOUTKGS,DIFFERENCEKGS,UNITOFWEIGHT,WATERCONTENT,WATERDENSITY,CASE WHEN ISVOU = 1 THEN '是' ELSE '否' END as ISVOU,VOUNO,CORPID FROM [VW_OP_SEAI] where 1>0 ";//,UNITS
}
sourceTable = SeaImportInfoDA.GetExcuteSql(strSql).Tables[0];
StringBuilder sourceBuilder = new StringBuilder();
sourceBuilder.Append("{");
sourceBuilder.Append("rows:[");
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().Trim().Replace("\r\n","");
if (j == sourceTable.Columns.Count - 1)
{
sourceBuilder.Append("\"" + ls + "\"");
}
else
{
sourceBuilder.Append("\"" + ls + "\",");
}
}
if (i == sourceTable.Rows.Count - 1)
{
sourceBuilder.Append("]}");
}
else
{
sourceBuilder.Append("]},");
}
}
sourceBuilder.Append("]");
sourceBuilder.Append("}");
return sourceBuilder.ToString();
}
private string GetOption(string tempOption, ArrayList tempList, string tempCondition)
{
string tempResult = "";
switch (tempOption)
{
case "1":
if (tempList.Count > 0)
{
if (tempList[(tempList.Count - 1)].ToString().Trim() != "1")
{
tempResult = " (" + tempCondition + ") AND ";
}
else
{
tempResult = tempCondition + " AND ";
}
}
else
{
tempResult = tempCondition + " AND ";
}
break;
case "2":
if (tempList.Count > 0)
{
if (tempList[(tempList.Count - 1)].ToString().Trim() != "2")
{
tempResult = " (" + tempCondition + ") OR ";
}
else
{
tempResult = tempCondition + " OR ";
}
}
else
{
tempResult = tempCondition + " OR ";
}
break;
}
return tempResult;
}
private string GetEqual(string tempEqual)
{
string tempResult = "";
switch (tempEqual)
{
case "=":
tempResult = " = {0} ";
break;
case "&lt":
tempResult = " < {0} ";
break;
case "&gt":
tempResult = " > {0} ";
break;
case "in":
tempResult = " LIKE {0} ";
break;
case "notin":
tempResult = " NOT LIKE {0} ";
break;
case "null":
tempResult = " IS NULL ";
break;
case "notnull":
tempResult = " IS NOT NULL ";
break;
case "&gt=":
tempResult = " >= {0} ";
break;
case "&lt=":
tempResult = " <= {0} ";
break;
}
return tempResult;
}
private string GetEqualValueType(string typeName)
{
string tempResult = "";
switch (typeName)
{
case "str":
tempResult = "'{0}'";
break;
case "sdate":
tempResult = "'{0}'";
break;
case "bool":
tempResult = "{0}";
break;
case "int":
tempResult = "{0}";
break;
}
return tempResult;
}
private int DeleteSeaImportOrder(string tempBSNO)
{
int iResult = 0;
SeaImportInfoDA SeaImportInfoDA = new SeaImportInfoDA();
TopSeaiEntity TopSeaiEntity = new TopSeaiEntity();
TopSeaiEntity = SeaImportInfoDA.GetID(tempBSNO);
if (TopSeaiEntity.BSSTATUS)
{
iResult = -3;//当前业务为锁定状态,不允许删除此业务!//业务封帐
}
else
{
//
//if (strShowName.Trim() != TopSeaiEntity.OP.ToString().Trim())
//{
// iResult = -4;//您不是当前业务的操作,无删除此业务的权限!
//}
//else
//{
FeeDA feeDA = new FeeDA();
IList<FeeEntity> feeEntities = feeDA.GetFeeByBSNO(tempBSNO);
if (feeEntities.Count > 0)
{
iResult = -5;//有与海运进口委托相关联的费用信息
}
else
{
iResult = SeaImportInfoDA.DeleteOrder(tempBSNO);
}
//}
}
return iResult;
}
private int UpdateColumnHeader(string tempOldHeader, string tempNewHeader)
{
int iResult = 0;
UserSettingDA userSettingDA = new UserSettingDA();
UserSettingEntity userSettingEntity = userSettingDA.GetUserSettingByUserID(strUserID);
GridEntity gridEntity = null;
if (userSettingEntity != null)
{
if (userSettingEntity.GID != null)
{
gridEntity = GetSettingXml(userSettingEntity.Xml);
foreach (GridColumnEntity column in gridEntity.Columns)
{
if (column.Description.Equals(tempOldHeader))
{
column.Description = tempNewHeader;
break;
}
}
userSettingEntity.Xml = GetUserSettingXml(gridEntity).OuterXml;
iResult = userSettingDA.UpdateUserSetting(userSettingEntity);
}
else
{
iResult = -3;//没有相关用户Grid设置记录
}
}
else
{
iResult = -3;//没有相关用户Grid设置记录
}
return iResult;
}
private string GetUserSettingJson()
{
UserSettingDA userSettingDA = new UserSettingDA();
UserSettingEntity userSettingEntity = userSettingDA.GetUserSettingByUserID(strUserID);
GridEntity gridEntity = null;
StringBuilder settingBuilder = new StringBuilder();
if (userSettingEntity != null)
{
if (userSettingEntity.GID != null)
{
gridEntity = GetSettingXml(userSettingEntity.Xml);
settingBuilder.Append("{");
settingBuilder.Append("\"show\":" + gridEntity.PagePreCount + ",");
settingBuilder.Append("\"columns\":");
int i = 0;
StringBuilder columnGroupBuilder = new StringBuilder();
while (gridEntity.Columns.Count > i)
{
foreach (GridColumnEntity column in gridEntity.Columns)
{
if (column.Index == i)
{
StringBuilder columnBuilder = new StringBuilder();
columnBuilder.Append("{\"name\":\"" + column.Name + "\",");
columnBuilder.Append("\"description\":\"" + column.Description + "\",");
columnBuilder.Append("\"index\":" + column.Index.ToString() + ",");
columnBuilder.Append("\"width\":" + column.Width.ToString() + ",");
columnBuilder.Append("\"visible\":" + column.VisibleState.ToString());
columnGroupBuilder.Append(columnBuilder.ToString() + "},");
break;
}
}
i++;
}
string strGroup = columnGroupBuilder.ToString().Trim();
if (strGroup.EndsWith(","))
{
strGroup = strGroup.Substring(0, strGroup.Length - 1);
}
strGroup = "[" + strGroup + "]";
settingBuilder.Append(strGroup);
settingBuilder.Append("}");
}
else
{
settingBuilder.Append("-3");//没有相关用户Grid设置记录
}
}
else
{
settingBuilder.Append("-3");//没有相关用户Grid设置记录
}
return settingBuilder.ToString();
}
private GridEntity GetSettingXml(string strXml)
{
XmlDocument xmlSettingDoc = new XmlDocument();
GridEntity gridEntity = new GridEntity();
try
{
xmlSettingDoc.LoadXml(strXml);
gridEntity.GID = xmlSettingDoc.ChildNodes[0].ChildNodes[0].InnerText.Trim();
gridEntity.UserID = xmlSettingDoc.ChildNodes[0].ChildNodes[1].InnerText.Trim();
gridEntity.CreateTime = DateTime.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[2].InnerText.Trim());
IList<GridColumnEntity> columnsEntities = new List<GridColumnEntity>();
int iColCount = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes.Count;
for (int i = 0; i < iColCount; i++)
{
GridColumnEntity columnEntity = new GridColumnEntity();
//columnEntity.GID = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[0].ToString();
columnEntity.Name = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[0].InnerText.Trim();
columnEntity.Description = xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[1].InnerText.Trim();
columnEntity.Index = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[2].InnerText.Trim());
columnEntity.Width = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[3].ChildNodes[i].ChildNodes[3].InnerText.Trim());
columnsEntities.Add(columnEntity);
}
gridEntity.Columns = columnsEntities;
gridEntity.GroupBy = xmlSettingDoc.ChildNodes[0].ChildNodes[4].InnerText.Trim();
gridEntity.DefaultPrePageCount = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[5].ChildNodes[0].InnerText.Trim());
gridEntity.PagePreCount = int.Parse(xmlSettingDoc.ChildNodes[0].ChildNodes[5].ChildNodes[1].InnerText.Trim());
}
catch (Exception error)
{
throw (error);
}
return gridEntity;
}
private DataTable GetSqlDataIndex(DataTable tempTable)
{
return tempTable;
}
public static string ToDBC(string input)
{
char[] c = input.ToCharArray();
for (int i = 0; i < c.Length; i++)
{
if (c[i] == 12288)
{
c[i] = (char)32;
continue;
}
if (c[i] > 65280 && c[i] < 65375)
c[i] = (char)(c[i] - 65248);
}
return new string(c);
}
private XmlDocument GetUserSettingXml(GridEntity gridEntity)
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement root = xmlDoc.CreateElement("user-settings");
//xmlDoc.AppendChild(root);
XmlElement xGid = xmlDoc.CreateElement("gid");
xGid.InnerText = gridEntity.GID;
root.AppendChild(xGid);
XmlElement xUserID = xmlDoc.CreateElement("userid");
xUserID.InnerText = gridEntity.UserID;
root.AppendChild(xUserID);
XmlElement xCreateTime = xmlDoc.CreateElement("create-time");
xCreateTime.InnerText = gridEntity.CreateTime.ToString();
root.AppendChild(xCreateTime);
XmlElement xColumns = xmlDoc.CreateElement("columns");
foreach (GridColumnEntity column in gridEntity.Columns)
{
XmlElement xColumn = xmlDoc.CreateElement("column");
XmlElement nName = xmlDoc.CreateElement("name");
nName.InnerText = column.Name;
xColumn.AppendChild(nName);
XmlElement nDescription = xmlDoc.CreateElement("description");
nDescription.InnerText = column.Description;
xColumn.AppendChild(nDescription);
XmlElement nIndex = xmlDoc.CreateElement("index");
nIndex.InnerText = column.Index.ToString();
xColumn.AppendChild(nIndex);
XmlElement nWidth = xmlDoc.CreateElement("width");
nWidth.InnerText = column.Width.ToString();
xColumn.AppendChild(nWidth);
XmlElement nVisible = xmlDoc.CreateElement("visible");
nVisible.InnerText = column.VisibleState.ToString();
xColumn.AppendChild(nVisible);
xColumns.AppendChild(xColumn);
}
root.AppendChild(xColumns);
XmlElement xGroupBy = xmlDoc.CreateElement("group-by");
xGroupBy.InnerText = gridEntity.GroupBy;
root.AppendChild(xGroupBy);
XmlElement xPage = xmlDoc.CreateElement("page");
XmlElement nPageDefault = xmlDoc.CreateElement("page-default");
nPageDefault.InnerText = gridEntity.DefaultPrePageCount.ToString();
xPage.AppendChild(nPageDefault);
XmlElement nPagePre = xmlDoc.CreateElement("page-pre");
nPagePre.InnerText = gridEntity.PagePreCount.ToString();
xPage.AppendChild(nPagePre);
root.AppendChild(xPage);
xmlDoc.AppendChild(root);
return xmlDoc;
}
}
}