DS7/DSWeb/Shipping/OweFeeReportGridSource.aspx.cs

805 lines
42 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.DataAccess;
namespace DSWeb.Shipping
{
public partial class OweFeeReportGridSource : System.Web.UI.Page
{
private int iCurrentPage;
private int iShowPage;
private string strHandle="";//值为"page"获取分页状态值数组 值为"list"获取日志显示JSON数据 值为"columns"获取日志显示记录 值为"rename"更新列标题
private string strType = "18";//Grid模块号
private string strOldHeader;
private string strNewHeader;
private string ddlFEETYPE="";
private string hidsel="";
private string CheckBox1 = "";
public string strUserID;//用户GID
private string strShowName;//用户登录名
private string strCompanyID;//分公司GID
private string strDeptName;//部门名称
public string strRange = "";
UnicodeEncoding unicode = new UnicodeEncoding();
protected void Page_Load(object sender, EventArgs e)
{
if (Session["USERID"] != null)
{
strUserID = Session["USERID"].ToString().Trim();
}
if (Session["COMPANYID"] != null)
{
strCompanyID = Session["COMPANYID"].ToString();
}
if (Session["DEPTNAME"] != null)
{
strDeptName = Session["DEPTNAME"].ToString();
}
if (Session["SHOWNAME"] != null)
{
strShowName = Session["SHOWNAME"].ToString();
}
//
if (Request.QueryString["handle"] != null)
{
strHandle = Request.QueryString["handle"].ToString().Trim().ToLower();
}
if (Request.QueryString["cur_page"] != null)
{
iCurrentPage = int.Parse(Request.QueryString["cur_page"].ToString().Trim());
}
if (Request.QueryString["show_page"] != null)
{
iShowPage = int.Parse(Request.QueryString["show_page"].ToString().Trim());
}
//权限
RangeDA RangeDA = new RangeDA();
string strV = RangeDA.GetVISIBLERANGE(strUserID.Trim(), "modProfitreportRange");//借用利润报表的权限范围
if (strV == "0")//用户可视权限--全部
{
strRange = " ";
}
else if (strV == "1")//--分公司
{
strRange = RangeDA.ProfitReportViewPartCompany(strCompanyID);
}
else if (strV == "2")//--部门
{
strRange = RangeDA.ProfitReportViewDept(strCompanyID, strUserID);
}
else if (strV == "3")//--个人
{
strRange = RangeDA.ProfitReportViewPerson(strCompanyID, strUserID);
}
else
{
strRange = "";//4
}
//
ViewState["hid_sel"] = strRange;
if (Request.QueryString["tbNO"] != null && Request.QueryString["tbNO"] != "")
{
ViewState["hid_sel"] += " and (CUSTNO like '%" + Request.QueryString["tbNO"].ToString().Trim() + "%' or MBLNO like '%" + Request.QueryString["tbNO"].ToString().Trim() + "%' or HBLNO like '%" + Request.QueryString["tbNO"].ToString().Trim() + "%' or CONTRACTNO like '%" + Request.QueryString["tbNO"].ToString().Trim() + "%')";
}
if (Request.QueryString["ddlCUSTOMERNAME"] != null && Request.QueryString["ddlCUSTOMERNAME"] != "")
{
string strstlCUSTOMERNAME = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["ddlCUSTOMERNAME"].ToString().Trim())));
ViewState["hid_sel"] += " and stlCUSTOMERNAME='" + strstlCUSTOMERNAME.Trim() + "'";
}
if (Request.QueryString["ddlSALE"] != null && Request.QueryString["ddlSALE"] != "")
{
string strSALE = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["ddlSALE"].ToString().Trim())));
ViewState["hid_sel"] += " and SALE='" + strSALE.Trim() + "'";
}
if (Request.QueryString["ddlVESSEL"] != null && Request.QueryString["ddlVESSEL"] != "")
{
string strVESSEL = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["ddlVESSEL"].ToString().Trim())));
ViewState["hid_sel"] += " and VESSEL='" + strVESSEL.Trim() + "'";
}
if (Request.QueryString["ddlVOYNO"] != null && Request.QueryString["ddlVOYNO"] != "")
{
string strVOYNO = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["ddlVOYNO"].ToString().Trim())));
ViewState["hid_sel"] += " and VOYNO='" + strVOYNO.Trim() + "'";
}
if (Request.QueryString["tbETD"] != null && Request.QueryString["tbETD"] != "")
{
ViewState["hid_sel"] += " and convert(char(10),ETD,20)>='" + Request.QueryString["tbETD"].ToString().Trim() + "'";
}
if (Request.QueryString["tbETD2"] != null && Request.QueryString["tbETD2"] != "")
{
ViewState["hid_sel"] += " and convert(char(10),ETD,20)<='" + Request.QueryString["tbETD2"].ToString().Trim() + "'";
}
if (Request.QueryString["ddlBSTYPE"] != null && Request.QueryString["ddlBSTYPE"] != "")
{
string strBSTYPE = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["ddlBSTYPE"].ToString().Trim())));
if (strBSTYPE.Trim() != "all")
{
ViewState["hid_sel"] += " and bstype='" + strBSTYPE.Trim() + "'";
}
}
if (Request.QueryString["tbACCDATE"] != null && Request.QueryString["tbACCDATE"] != "")
{
ViewState["hid_sel"] += " and ACCDATE='" + Request.QueryString["tbACCDATE"].ToString().Trim() + "'";
}
if (Request.QueryString["ddlFEETYPE"] != null && Request.QueryString["ddlFEETYPE"] != "")
{
ddlFEETYPE = Request.QueryString["ddlFEETYPE"].ToString().Trim();
}
if (Request.QueryString["hidsel"] != null && Request.QueryString["hidsel"] != "")
{
hidsel = Request.QueryString["hidsel"].ToString().Trim();
}
if (Request.QueryString["CheckBox1"] != null && Request.QueryString["CheckBox1"] != "")
{
CheckBox1 = Request.QueryString["CheckBox1"].ToString().Trim();
}
if (ddlFEETYPE.Trim() == "0")
{
if (CheckBox1.Trim() == "0")
{
ViewState["hid_sel"] += " and (RMBDR<>RMBDRTTL or USDDR<>USDDRTTL or RMBCR<>RMBCRTTL or USDCR<>USDCRTTL)";
}
}
else if (ddlFEETYPE.Trim() == "1")
{
if (CheckBox1.Trim() == "0")
{
ViewState["hid_sel"] += " and (RMBDR<>RMBDRTTL or USDDR<>USDDRTTL)";
}
}
else if (ddlFEETYPE.Trim() == "2")
{
if (CheckBox1.Trim() == "0")
{
ViewState["hid_sel"] += " and (RMBCR<>RMBCRTTL or USDCR<>USDCRTTL)";
}
}
string strJSON = "";
if (strHandle != null)
{
if (strHandle.Equals("list"))
{
if (iCurrentPage <= 0 && iShowPage < 0)
{
strJSON = "-2";//提交页数参数错误
}
}
if (strHandle.Trim().ToLower().Equals("setting"))
{
Response.Write(GetUserSettingJson());
}
if (strHandle.Trim().ToLower().Equals("page"))
{
Response.Write(GetPageInfo().ToString());
}
if (strHandle.Trim().ToLower().Equals("list"))
{
Response.Write(GetLogContent(iShowPage, iCurrentPage));
}
if (strHandle.Trim().ToLower().Equals("rename"))
{
if (Request.QueryString["old_header"] != null && Request.QueryString["new_header"] != null)
{
UnicodeEncoding unicode = new UnicodeEncoding();
strOldHeader = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["old_header"].ToString())));
strNewHeader = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["new_header"].ToString())));
Response.Write(UpdateColumnHeader(strOldHeader, strNewHeader));
}
else
{
Response.Write("-1");//GET 参数错误
}
}
if (strHandle.Trim().ToLower().Equals("excel"))
{
string sSQL = "";
if (hidsel.Trim() != "")
{
if (ddlFEETYPE.Trim() == "0")
{
sSQL = " SELECT bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,CONTRACTNO,ACCDATE,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBDR,RMBDRTTL,RMBDRKP,USDDR,USDDRTTL,USDDRKP,RMBBLC,RMBCR,RMBCRTTL,USDCR,USDCRTTL,RMBDIFF FROM VW_OWEFEE where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0 or RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim()
+ " union all"
+ " SELECT '总计:' bstype,'','','','','','','','','','','',isnull(sum(RMBDR),0) as RMBDR,isnull(sum(RMBDRTTL),0) as RMBDRTTL,isnull(sum(RMBDRKP),0) as RMBDRKP,isnull(sum(USDDR),0) as USDDR,isnull(sum(USDDRTTL),0) as USDDRTTL,isnull(sum(USDDRKP),0) as USDDRKP,isnull(sum(RMBBLC),0) as RMBBLC,isnull(sum(RMBCR),0) as RMBCR,isnull(sum(RMBCRTTL),0) as RMBCRTTL,isnull(sum(USDCR),0) as USDCR,isnull(sum(USDCRTTL),0) as USDCRTTL,isnull(sum(RMBDIFF),0) as RMBDIFF FROM VW_OWEFEE where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0 or RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim()
+ " order by bstype,ETD";
}
else if (ddlFEETYPE.Trim() == "1")
{
sSQL = " SELECT bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,CONTRACTNO,ACCDATE,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBDR,RMBDRTTL,RMBDRKP,USDDR,USDDRTTL,USDDRKP,RMBBLC FROM VW_OWEFEE_DR where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0) " + ViewState["hid_sel"].ToString().Trim()
+ " union all"
+ " SELECT '总计:' bstype,'','','','','','','','','','','',isnull(sum(RMBDR),0) as RMBDR,isnull(sum(RMBDRTTL),0) as RMBDRTTL,isnull(sum(RMBDRKP),0) as RMBDRKP,isnull(sum(USDDR),0) as USDDR,isnull(sum(USDDRTTL),0) as USDDRTTL,isnull(sum(USDDRKP),0) as USDDRKP,isnull(sum(RMBBLC),0) as RMBBLC FROM VW_OWEFEE_DR where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0) " + ViewState["hid_sel"].ToString().Trim()
+ " order by bstype,ETD";
}
else if (ddlFEETYPE.Trim() == "2")
{
sSQL = " SELECT bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,CONTRACTNO,ACCDATE,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBCR,RMBCRTTL,USDCR,USDCRTTL,RMBDIFF FROM VW_OWEFEE_CR where (RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim()
+ " union all"
+ " SELECT '总计:' bstype,'','','','','','','','','','','',isnull(sum(RMBCR),0) as RMBCR,isnull(sum(RMBCRTTL),0) as RMBCRTTL,isnull(sum(USDCR),0) as USDCR,isnull(sum(USDCRTTL),0) as USDCRTTL,isnull(sum(RMBDIFF),0) as RMBDIFF FROM VW_OWEFEE_CR where (RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim()
+ " order by bstype,ETD";
}
}
Response.Write(sSQL);//GET 参数错误
}
else if (strHandle.Trim().ToLower().Equals("getsum"))
{
Response.Write(getsum());//GET 参数错误
}
}
else
{
strJSON = "-1";//GET 参数错误
}
}
protected string getsum()
{
string ls = "";
string sSQL = "";
if (hidsel.Trim() != "")
{
if (ddlFEETYPE.Trim() == "0")
{
sSQL = "SELECT sum(RMBDR) as RMBDR,sum(RMBDRTTL) as RMBDRTTL,sum(RMBDRKP) as RMBDRKP,sum(USDDR) as USDDR,sum(USDDRTTL) as USDDRTTL,sum(USDDRKP) as USDDRKP,sum(RMBBLC) as RMBBLC,sum(RMBCR) as RMBCR,sum(RMBCRTTL) as RMBCRTTL,sum(USDCR) as USDCR,sum(USDCRTTL) as USDCRTTL,sum(RMBDIFF) as RMBDIFF FROM VW_OWEFEE where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0 or RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim();
LogDA logDA = new LogDA();
DataTable logTable = GetSqlDataIndex(logDA.GetExcuteSql(sSQL).Tables[0]);
ls = logTable.Rows[0]["RMBDR"].ToString().Trim();
ls += "" + logTable.Rows[0]["RMBDRTTL"].ToString().Trim();
ls += "" + logTable.Rows[0]["USDDR"].ToString().Trim();
ls += "" + logTable.Rows[0]["USDDRTTL"].ToString().Trim();
ls += "" + logTable.Rows[0]["RMBBLC"].ToString().Trim();
ls += "" + logTable.Rows[0]["RMBCR"].ToString().Trim();
ls += "" + logTable.Rows[0]["RMBCRTTL"].ToString().Trim();
ls += "" + logTable.Rows[0]["USDCR"].ToString().Trim();
ls += "" + logTable.Rows[0]["USDCRTTL"].ToString().Trim();
ls += "" + logTable.Rows[0]["RMBDIFF"].ToString().Trim();
ls += "" + logTable.Rows[0]["RMBDRKP"].ToString().Trim();
ls += "" + logTable.Rows[0]["USDDRKP"].ToString().Trim();
}
else if (ddlFEETYPE.Trim() == "1")
{
sSQL = "SELECT sum(RMBDR) as RMBDR,sum(RMBDRTTL) as RMBDRTTL,sum(RMBDRKP) as RMBDRKP,sum(USDDR) as USDDR,sum(USDDRTTL) as USDDRTTL,sum(USDDRKP) as USDDRKP,sum(RMBBLC) as RMBBLC FROM VW_OWEFEE_DR where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0) " + ViewState["hid_sel"].ToString().Trim();
LogDA logDA = new LogDA();
DataTable logTable = GetSqlDataIndex(logDA.GetExcuteSql(sSQL).Tables[0]);
ls = logTable.Rows[0]["RMBDR"].ToString().Trim();
ls += "" + logTable.Rows[0]["RMBDRTTL"].ToString().Trim();
ls += "" + logTable.Rows[0]["USDDR"].ToString().Trim();
ls += "" + logTable.Rows[0]["USDDRTTL"].ToString().Trim();
ls += "" + logTable.Rows[0]["RMBBLC"].ToString().Trim();
ls += "" + logTable.Rows[0]["RMBDRKP"].ToString().Trim();
ls += "" + logTable.Rows[0]["USDDRKP"].ToString().Trim();
}
else if (ddlFEETYPE.Trim() == "2")
{
sSQL = "SELECT sum(RMBCR) as RMBCR,sum(RMBCRTTL) as RMBCRTTL,sum(USDCR) as USDCR,sum(USDCRTTL) as USDCRTTL,sum(RMBDIFF) as RMBDIFF FROM VW_OWEFEE_CR where (RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim();
LogDA logDA = new LogDA();
DataTable logTable = GetSqlDataIndex(logDA.GetExcuteSql(sSQL).Tables[0]);
ls = logTable.Rows[0]["RMBCR"].ToString().Trim();
ls += "" + logTable.Rows[0]["RMBCRTTL"].ToString().Trim();
ls += "" + logTable.Rows[0]["USDCR"].ToString().Trim();
ls += "" + logTable.Rows[0]["USDCRTTL"].ToString().Trim();
ls += "" + logTable.Rows[0]["RMBDIFF"].ToString().Trim();
}
}
return ls;
}
private int UpdateColumnHeader(string tempOldHeader, string tempNewHeader)
{
int iResult = 0;
UserSettingDA userSettingDA = new UserSettingDA();
UserSettingEntity userSettingEntity = userSettingDA.GetUserSettingByUserIDType(strUserID, strType);
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.GetUserSettingByUserIDType(strUserID, strType);
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 int GetPageInfo()
{
LogDA logDA = new LogDA();
StringBuilder logBuilder = new StringBuilder();
string strSql = "";
if (hidsel.Trim() == "")
{
strSql = "SELECT COUNT(*) FROM VW_OWEFEE where 1<0";
}
else
{
if (ddlFEETYPE.Trim() == "0")
{
strSql = String.Format("SELECT COUNT(*) FROM VW_OWEFEE where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0 or RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim());
}
else if (ddlFEETYPE.Trim() == "1")
{
strSql = String.Format("SELECT COUNT(*) FROM VW_OWEFEE_DR where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0) " + ViewState["hid_sel"].ToString().Trim());
}
else if (ddlFEETYPE.Trim() == "2")
{
strSql = String.Format("SELECT COUNT(*) FROM VW_OWEFEE_CR where (RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim());
}
}
//
int iTotal = 0;
if (strSql.Trim() != "")
{
iTotal = logDA.GetPageTotal(strSql);
}
return iTotal;
}
private string GetLogContent(int tempShowPage, int tempCurPage)
{
LogDA logDA = new LogDA();
StringBuilder logBuilder = new StringBuilder();
string strSql = "";
string strTopInclude = "";
string strTopNotInclude = "";
if (tempShowPage > 0 && tempCurPage > 0)
{
if (tempCurPage == 1)
{
if (hidsel.Trim() == "")
{
strSql = "SELECT newid() as GID,bsno,bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,CONTRACTNO,ACCDATE,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBDR,RMBDRTTL,RMBDRKP,RMBDRKP,USDDR,USDDRTTL,USDDRKP,USDDRKP,RMBBLC,RMBCR,RMBCRTTL,USDCR,USDCRTTL,RMBDIFF FROM VW_OWEFEE where 1<0";
}
else
{
if (ddlFEETYPE.Trim() == "0")
{
strSql = String.Format("SELECT {0} newid() as GID,bsno,bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,CONTRACTNO,ACCDATE,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBDR,RMBDRTTL,RMBDRKP,USDDR,USDDRTTL,USDDRKP,RMBBLC,RMBCR,RMBCRTTL,USDCR,USDCRTTL,RMBDIFF FROM VW_OWEFEE where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0 or RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim() + " order by ETD", "top " + tempShowPage);
}
else if (ddlFEETYPE.Trim() == "1")
{
//strSql = String.Format("SELECT {0} newid() as GID,bsno,bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBDR,RMBDRTTL,RMBDRKP,USDDR,USDDRTTL,USDDRKP,RMBBLC FROM VW_OWEFEE_DR where 1=1 " + ViewState["hid_sel"].ToString().Trim() + " and BSNO not in(select bsno from VW_OWEFEE_DR where RMBDR=0 and RMBDRTTL=0 and USDDR=0 and USDDRTTL=0 and RMBBLC=0) order by ETD", "top " + tempShowPage);
strSql = String.Format("SELECT {0} newid() as GID,bsno,bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,CONTRACTNO,ACCDATE,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBDR,RMBDRTTL,RMBDRKP,USDDR,USDDRTTL,USDDRKP,RMBBLC FROM VW_OWEFEE_DR where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0) " + ViewState["hid_sel"].ToString().Trim() + " order by ETD", "top " + tempShowPage);
}
else if (ddlFEETYPE.Trim() == "2")
{
strSql = String.Format("SELECT {0} newid() as GID,bsno,bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,CONTRACTNO,ACCDATE,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBCR,RMBCRTTL,USDCR,USDCRTTL,RMBDIFF FROM VW_OWEFEE_CR where (RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim() + " order by ETD", "top " + tempShowPage);
}
}
}
else
{
if (hidsel.Trim() == "")
{
strSql = "SELECT newid() as GID,bsno,bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,CONTRACTNO,ACCDATE,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBDR,RMBDRTTL,RMBDRKP,USDDR,USDDRTTL,USDDRKP,RMBBLC,RMBCR,RMBCRTTL,USDCR,USDCRTTL,RMBDIFF FROM VW_OWEFEE where 1<0";
}
else
{
strTopNotInclude = "top " + (tempShowPage * (tempCurPage - 1));//RowCount*PageNum
strTopInclude = "top " + tempShowPage;//RowCount*PageNum
if (ddlFEETYPE.Trim() == "0")
{
strSql = String.Format("SELECT {1} newid() as GID,bsno,bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,CONTRACTNO,ACCDATE,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBDR,RMBDRTTL,RMBDRKP,USDDR,USDDRTTL,USDDRKP,RMBBLC,RMBCR,RMBCRTTL,USDCR,USDCRTTL,RMBDIFF FROM VW_OWEFEE WHERE BSNO NOT IN (SELECT {0} BSNO FROM VW_OWEFEE where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0 or RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim() + " ORDER BY ETD) " + ViewState["hid_sel"].ToString().Trim() + " and (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0 or RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) ORDER BY ETD", strTopNotInclude, strTopInclude);
}
else if (ddlFEETYPE.Trim() == "1")
{
//strSql = String.Format("SELECT {1} newid() as GID,bsno,bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBDR,RMBDRTTL,RMBDRKP,USDDR,USDDRTTL,USDDRKP,RMBBLC FROM VW_OWEFEE_DR WHERE BSNO NOT IN (SELECT {0} BSNO FROM VW_OWEFEE_DR where 1=1 " + ViewState["hid_sel"].ToString().Trim() + " and BSNO not in(select bsno from VW_OWEFEE_DR where RMBDR=0 and RMBDRTTL=0 and USDDR=0 and USDDRTTL=0 and RMBBLC=0) ORDER BY ETD) " + ViewState["hid_sel"].ToString().Trim() + " and BSNO not in(select bsno from VW_OWEFEE_DR where RMBDR=0 and RMBDRTTL=0 and USDDR=0 and USDDRTTL=0 and RMBBLC=0) ORDER BY ETD", strTopNotInclude, strTopInclude);
strSql = String.Format("SELECT {1} newid() as GID,bsno,bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,CONTRACTNO,ACCDATE,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBDR,RMBDRTTL,RMBDRKP,USDDR,USDDRTTL,USDDRKP,RMBBLC FROM VW_OWEFEE_DR WHERE BSNO NOT IN (SELECT {0} BSNO FROM VW_OWEFEE_DR where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0) " + ViewState["hid_sel"].ToString().Trim() + " ORDER BY ETD) " + ViewState["hid_sel"].ToString().Trim() + " and (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0) ORDER BY ETD", strTopNotInclude, strTopInclude);
}
else if (ddlFEETYPE.Trim() == "2")
{
strSql = String.Format("SELECT {1} newid() as GID,bsno,bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,CONTRACTNO,ACCDATE,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBCR,RMBCRTTL,USDCR,USDCRTTL,RMBDIFF FROM VW_OWEFEE_CR WHERE BSNO NOT IN (SELECT {0} BSNO FROM VW_OWEFEE_CR where (RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim() + " ORDER BY ETD) " + ViewState["hid_sel"].ToString().Trim() + " and (RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) ORDER BY ETD", strTopNotInclude, strTopInclude);
}
}
}
}
else
{
strSql = "SELECT newid() as GID,bsno,bstype,stlCUSTOMERNAME,CUSTNO,MBLNO,HBLNO,CONTRACTNO,ACCDATE,VESSEL,VOYNO,ETD,PORTDISCHARGE,SALE,RMBDR,RMBDRTTL,RMBDRKP,USDDR,USDDRTTL,USDDRKP,RMBBLC,RMBCR,RMBCRTTL,USDCR,USDCRTTL,RMBDIFF FROM VW_OWEFEE where 1<0";//如果页数为空或者页数为0不返回数据
}
//
DataTable logTable = GetSqlDataIndex(logDA.GetExcuteSql(strSql).Tables[0]);
logBuilder.Append("{");
logBuilder.Append("rows:[");
for (int i = 0; i < logTable.Rows.Count; i++)
{
logBuilder.Append("{id:\"" + logTable.Rows[i][0].ToString() + "\",");
logBuilder.Append("data:[");
logBuilder.Append("\"0\",");
for (int j = 1; j < logTable.Columns.Count; j++)
{
if (j == logTable.Columns.Count - 1)
{
logBuilder.Append("\"" + logTable.Rows[i][j].ToString() + "\"");
}
else
{
logBuilder.Append("\"" + logTable.Rows[i][j].ToString() + "\",");
}
}
if (i == logTable.Rows.Count - 1)
{
logBuilder.Append("]}");
}
else
{
logBuilder.Append("]},");
}
}
logBuilder.Append("]");
logBuilder.Append("}");
return logBuilder.ToString();
}
private string GetSeaExportInfoBusinessGridSource()
{
//GetLogGridSource
LogDA logDA = new LogDA();
StringBuilder logBuilder = new StringBuilder();
StringBuilder userdateBuilder = new StringBuilder();
StringBuilder dataBuilder = new StringBuilder();
string strSql = "";
if (hidsel.Trim() == "")
{
strSql = "SELECT COUNT(*) FROM VW_OWEFEE where 1<0";
}
else
{
if (ddlFEETYPE.Trim() == "0")
{
strSql = String.Format("SELECT COUNT(*) FROM VW_OWEFEE where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0 or RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim());
}
else if (ddlFEETYPE.Trim() == "1")
{
strSql = String.Format("SELECT COUNT(*) FROM VW_OWEFEE_DR where (RMBDR<>0 or RMBDRTTL<>0 or RMBDRKP<>0 or USDDR<>0 or USDDRTTL<>0 or USDDRKP<>0 or RMBBLC<>0) " + ViewState["hid_sel"].ToString().Trim());
}
else if (ddlFEETYPE.Trim() == "2")
{
strSql = String.Format("SELECT COUNT(*) FROM VW_OWEFEE_CR where (RMBCR<>0 or RMBCRTTL<>0 or USDCR<>0 or USDCRTTL<>0 or RMBDIFF<>0) " + ViewState["hid_sel"].ToString().Trim());
}
}
//
if (strSql.Trim() == "")
{
strSql = "SELECT COUNT(*) FROM VW_OWEFEE where 1<0";
}
DataTable logTable = logDA.GetExcuteSql(strSql).Tables[0];
logBuilder.Append("{");
logBuilder.Append("rows:[");
for (int i = 0; i < logTable.Rows.Count; i++)
{
logBuilder.Append("{id:\"" + logTable.Rows[i][0].ToString() + "\",");
userdateBuilder.Append("userdata:{");
dataBuilder.Append("data:[");
for (int j = 1; j < logTable.Columns.Count; j++)
{
if (j == logTable.Columns.Count - 1)
{
userdateBuilder.Append("\"" + logTable.Columns[j].ColumnName + "\":\"" + logTable.Rows[i][j].ToString() + "\"");
dataBuilder.Append("\"" + logTable.Rows[i][j].ToString() + "\"");
}
else
{
userdateBuilder.Append("\"" + logTable.Columns[j].ColumnName + "\":\"" + logTable.Rows[i][j].ToString() + "\",");
dataBuilder.Append("\"" + logTable.Rows[i][j].ToString() + "\",");
}
}
userdateBuilder.Append("}");
dataBuilder.Append("]");
logBuilder.Append(userdateBuilder.ToString() + ",");
logBuilder.Append(dataBuilder);
if (i == logTable.Rows.Count - 1)
{
logBuilder.Append("}");
}
else
{
logBuilder.Append("},");
}
}
logBuilder.Append("]");
logBuilder.Append("}");
return logBuilder.ToString();
}
private DataTable GetSqlDataIndex(DataTable tempTable)
{
UserSettingDA userSettingDA = new UserSettingDA();
UserSettingEntity userSettingEntity = userSettingDA.GetUserSettingByUserIDType(strUserID, strType);
GridEntity gridEntity = null;
StringBuilder settingBuilder = new StringBuilder();
DataTable dataTable = new DataTable();
if (userSettingEntity != null)
{
if (userSettingEntity.GID != null)
{
gridEntity = GetSettingXml(userSettingEntity.Xml);
int i = 0;
StringBuilder columnGroupBuilder = new StringBuilder();
dataTable.Columns.Add(tempTable.Columns[0].ColumnName, tempTable.Columns[0].DataType);
for (int k = 0; k < tempTable.Rows.Count; k++)
{
DataRow newRow = dataTable.NewRow();
newRow[tempTable.Columns[0].ColumnName] = tempTable.Rows[k][tempTable.Columns[0].ColumnName].ToString();
dataTable.Rows.Add(newRow);
}
while (gridEntity.Columns.Count > i)
{
foreach (GridColumnEntity column in gridEntity.Columns)
{
if (column.Index == i)
{
for (int j = 1; j < tempTable.Columns.Count; j++)
{
if (tempTable.Columns[j].ColumnName.Equals(column.Name))
{
dataTable.Columns.Add(tempTable.Columns[j].ColumnName, tempTable.Columns[j].DataType);
for (int k = 0; k < tempTable.Rows.Count; k++)
{
if (tempTable.Columns[j].DataType.ToString().Trim().Equals("System.DateTime") && tempTable.Rows[k][tempTable.Columns[j].ColumnName].ToString().Trim().Equals(""))
{
//日期如果为空,就不赋值
//string ddd = tempTable.Rows[k][tempTable.Columns[j].ColumnName].ToString();
//dataTable.Rows[k][tempTable.Columns[j].ColumnName] = tempTable.Rows[k][tempTable.Columns[j].ColumnName].ToString();
}
else
{
dataTable.Rows[k][tempTable.Columns[j].ColumnName] = tempTable.Rows[k][tempTable.Columns[j].ColumnName].ToString();
}
}
break;
}
}
break;
}
}
i++;
}
}
else
{
return tempTable;
}
}
else
{
return tempTable;
}
return dataTable;
}
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;
}
}
}