You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
476 lines
20 KiB
C#
476 lines
20 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Linq;
|
|
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 DSWeb.Models;
|
|
using DSWeb.EntityDA;
|
|
using System.Text;
|
|
using System.Collections.Generic;
|
|
using System.Xml.Linq;
|
|
using JsonHelper;
|
|
using System.Xml;
|
|
using System.Text.RegularExpressions;
|
|
|
|
namespace DSWeb.SeaiInfo
|
|
{
|
|
public partial class WmsRateGridSource : System.Web.UI.Page
|
|
{
|
|
private string strReadXmlType = "";//读取xml串方式 "init"-初始化获取所有账户信息;"add"-添加新的账户信息;"delete"-删除账户信息;"exist"查看是否有与委托相关账户
|
|
private int iShowCount;//每页显示数据量
|
|
|
|
//delete
|
|
private string strWmsRateGid;//账户信息GID
|
|
private string strHandle;//账户操作说明
|
|
private const int iResult = -99;//参数错误
|
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
private string strRange = String.Empty;//权限可视范围
|
|
RangeDA RangeDA = new RangeDA();
|
|
public string strUserID;//用户GID
|
|
public string strParentGID;//
|
|
public string strassociatedno;//
|
|
public string strGIDS;//
|
|
public string strgoodspack;//
|
|
public string strgoodname;//
|
|
public string strgoodsrksl;//
|
|
public string strcntrno;//
|
|
public string strCompanyID;//公司GID
|
|
public string strShowName;//用户显示名
|
|
public string strDeptName;//部门名称
|
|
|
|
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();
|
|
}
|
|
//
|
|
#region 判断参数是否正确
|
|
if (Request.QueryString["read"] != null)
|
|
{
|
|
strReadXmlType = Request.QueryString["read"].ToString().Trim();
|
|
}
|
|
if (Request.QueryString["showcount"] != null)
|
|
{
|
|
iShowCount = int.Parse(Request.QueryString["showcount"].ToString());
|
|
}
|
|
if (Request.QueryString["id"] != null)
|
|
{
|
|
strParentGID = Request.QueryString["id"].ToString();
|
|
}
|
|
if (Request.QueryString["associatedno"] != null)
|
|
{
|
|
strassociatedno = Request.QueryString["associatedno"].ToString();
|
|
}
|
|
if (Request.QueryString["gids"] != null)
|
|
{
|
|
strGIDS = Request.QueryString["gids"].ToString();
|
|
}
|
|
if (Request.QueryString["goodspack"] != null)
|
|
{
|
|
strgoodspack = Request.QueryString["goodspack"].ToString();
|
|
}
|
|
if (Request.QueryString["goodsrksl"] != null)
|
|
{
|
|
strgoodsrksl = Request.QueryString["goodsrksl"].ToString();
|
|
}
|
|
if (Request.QueryString["goodname"] != null)
|
|
{
|
|
UnicodeEncoding unicode = new UnicodeEncoding();
|
|
strgoodname = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["goodname"].ToString().Trim())));
|
|
}
|
|
if (Request.QueryString["cntrno"] != null)
|
|
{
|
|
UnicodeEncoding unicode = new UnicodeEncoding();
|
|
strcntrno = unicode.GetString(unicode.GetBytes(Regex.Unescape(Request.QueryString["cntrno"].ToString().Trim())));
|
|
}
|
|
#endregion
|
|
|
|
/*
|
|
//权限可视范围
|
|
strRange = RangeDA.GetVISIBLERANGE(strUserID.Trim(), "modOrderManagement");
|
|
if (strRange.Trim().Equals("0"))//全部
|
|
{
|
|
strRange = "";
|
|
}
|
|
else if (strRange.Trim().Equals("1"))//分公司
|
|
{
|
|
strRange = " and BSNO in(" + RangeDA.GetOrderManagementCompany(strUserID.Trim()) + ")";
|
|
}
|
|
else if (strRange.Trim().Equals("2"))//部门
|
|
{
|
|
strRange = " and BSNO in(" + RangeDA.GetOrderManagementDEPT(strUserID.Trim()) + ")";
|
|
}
|
|
else if (strRange.Trim().Equals("3"))//个人
|
|
{
|
|
strRange = " and BSNO in(" + RangeDA.GetOrderManagementPerson(strUserID.Trim()) + ")";
|
|
}
|
|
else if (strRange.Trim().Equals("4"))//无
|
|
{
|
|
strRange = " and 1<0";
|
|
}
|
|
else//空
|
|
{
|
|
strRange = " and 1<0";
|
|
}
|
|
*/
|
|
|
|
//
|
|
if (!strReadXmlType.Equals(""))
|
|
{
|
|
if (strReadXmlType.Equals("delete") || strReadXmlType.Equals("recover"))
|
|
{
|
|
strWmsRateGid = (String)Request.QueryString["gid"] as String;
|
|
strHandle = (String)Request.QueryString["read"] as String;
|
|
if (strWmsRateGid == null || strHandle == null)
|
|
{
|
|
Response.Write(iResult);
|
|
}
|
|
else
|
|
{
|
|
string strQuery = DoExcute(strWmsRateGid, strHandle);
|
|
Response.Write(strQuery);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string strOutputXml = "";
|
|
strOutputXml = GetCells(iShowCount, strReadXmlType);
|
|
//输出XML字符串
|
|
Response.ContentType = "text/xml";
|
|
strOutputXml.Replace("&", "&");
|
|
Response.Write(strOutputXml);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//访问参数不正确
|
|
Response.ContentType = "text/xml";
|
|
Response.Write("-2");
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据用户提交的
|
|
/// </summary>
|
|
/// <param name="tempGid">账户GID</param>
|
|
/// <param name="tempHandle">操作类型 delete删除单条账户</param>
|
|
/// <returns>值1-删除成功;值-1 -删除操作异常 值-2 -回滚失败 值-3 -未获取相关账户信息</returns>
|
|
private string DoExcute(string tempGid, string tempHandle)
|
|
{
|
|
string strVal = "";
|
|
WmsRateDA WmsRateDA = new WmsRateDA();
|
|
//操作类型为删除
|
|
if (tempHandle == "delete")
|
|
{
|
|
int iResult = 0;
|
|
//先判断当前要删除的账户是否存在
|
|
if (!tempGid.Trim().Equals(""))
|
|
{
|
|
tempGid = "'" + tempGid.Replace(",","','") + "'";
|
|
bool bl = WmsRateDA.DeleteList(tempGid.Trim());
|
|
if (bl)
|
|
{
|
|
iResult = 1;
|
|
}
|
|
else
|
|
{
|
|
iResult = -3; //未获取相关账户信息
|
|
}
|
|
}
|
|
strVal = iResult.ToString();
|
|
}
|
|
else if (tempHandle == "recover")
|
|
{
|
|
if (!tempGid.Trim().Equals(""))
|
|
{
|
|
WmsRateEntity WmsRateEntity = new WmsRateEntity();
|
|
WmsRateEntity = WmsRateDA.GetModel(tempGid);
|
|
|
|
if (WmsRateEntity != null)
|
|
{
|
|
StringBuilder WMSBuilder = new StringBuilder();
|
|
WMSBuilder.Append(WmsRateEntity.GID + ",");//惟一编号
|
|
WMSBuilder.Append("0,");
|
|
WMSBuilder.Append(WmsRateEntity.FEEGRADE + ",");//费用等级
|
|
WMSBuilder.Append(WmsRateEntity.FEETYPE + ",");//费用类别
|
|
WMSBuilder.Append(WmsRateEntity.FEESCALE + ",");//计费区间
|
|
WMSBuilder.Append(WmsRateEntity.FEEUNIT + ",");//单位
|
|
WMSBuilder.Append(WmsRateEntity.FEEPRICE + ",");//单价
|
|
WMSBuilder.Append(WmsRateEntity.ADDPRICE + ",");//增值价
|
|
WMSBuilder.Append(WmsRateEntity.CAPPRICE + ",");//封顶价
|
|
WMSBuilder.Append(WmsRateEntity.ENDBILLINGDATE + ",");//结束计费日期
|
|
WMSBuilder.Append(WmsRateEntity.REMARK + ",");//备注
|
|
WMSBuilder.Append(WmsRateEntity.CREATEUSER + ",");//创建人
|
|
WMSBuilder.Append(WmsRateEntity.CREATETIME);//创建时间
|
|
WMSBuilder.Append(WmsRateEntity.BSNO);//委托单号
|
|
strVal = WMSBuilder.ToString();
|
|
}
|
|
else
|
|
{
|
|
strVal = "-3";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
strVal = "-3";
|
|
}
|
|
}
|
|
return strVal;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取账户信息
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private string GetCells(int iShowCount, string readXmlType)
|
|
{
|
|
WmsRateDA WmsRateEntity = new WmsRateDA();
|
|
WmsRateDA WmsRateDA = new WmsRateDA();
|
|
|
|
if (strReadXmlType.Equals("exist"))
|
|
{
|
|
return "1";//存在账户
|
|
}
|
|
else if (strReadXmlType.Equals("add"))
|
|
{
|
|
StringBuilder dataBuilder = new StringBuilder();
|
|
dataBuilder.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
|
|
dataBuilder.Append("<rows>");
|
|
dataBuilder.Append("<row id=\"" + Guid.NewGuid().ToString() + "\">");
|
|
//
|
|
dataBuilder.Append("<cell>0</cell>");
|
|
dataBuilder.Append("<cell>1</cell>");
|
|
//
|
|
string strcb = GetFEETYPE("收");
|
|
if (strcb.Trim() == "")
|
|
{
|
|
dataBuilder.Append("<cell>收</cell>");
|
|
}
|
|
else
|
|
{
|
|
dataBuilder.Append(strcb);
|
|
}
|
|
//
|
|
dataBuilder.Append("<cell></cell>");
|
|
strcb = GetFEEUNIT("吨天");
|
|
if (strcb.Trim() == "")
|
|
{
|
|
dataBuilder.Append("<cell>吨天</cell>");
|
|
}
|
|
else
|
|
{
|
|
dataBuilder.Append(strcb);
|
|
}
|
|
dataBuilder.Append("<cell>0.00</cell>");
|
|
dataBuilder.Append("<cell>0.00</cell>");
|
|
dataBuilder.Append("<cell>0.00</cell>");
|
|
dataBuilder.Append("<cell></cell>");
|
|
dataBuilder.Append("<cell></cell>");
|
|
dataBuilder.Append("<cell></cell>");
|
|
dataBuilder.Append("<cell></cell>");
|
|
dataBuilder.Append("<cell></cell>");
|
|
//
|
|
dataBuilder.Append("</row>");
|
|
dataBuilder.Append("</rows>");
|
|
return dataBuilder.ToString();
|
|
}
|
|
else if (!strReadXmlType.Equals("exist"))
|
|
{
|
|
//获取所有账户信息,用做Grid显示
|
|
DataTable WmsRateTable = new DataTable();
|
|
|
|
//初始化
|
|
string strInitSql = "";
|
|
if (strParentGID.ToString().Trim() == "")
|
|
{
|
|
strInitSql = " SELECT GID,FEEGRADE,FEETYPE,FEESCALE,FEEUNIT,FEEPRICE,ADDPRICE,CAPPRICE,convert(char(10),ENDBILLINGDATE,20) AS ENDBILLINGDATE,REMARK,MODIFIEDUSER,MODIFIEDTIME,BSNO FROM wms_rate WHERE 1<0";
|
|
}
|
|
else
|
|
{
|
|
strInitSql = " SELECT GID,FEEGRADE,FEETYPE,FEESCALE,FEEUNIT,FEEPRICE,ADDPRICE,CAPPRICE,convert(char(10),ENDBILLINGDATE,20) AS ENDBILLINGDATE,REMARK,MODIFIEDUSER,MODIFIEDTIME,BSNO FROM wms_rate WHERE 1=1 and BSNO='" + strParentGID.ToString().Trim() + "'" + strRange + " ORDER BY FEETYPE,FEEGRADE,CREATEUSER";
|
|
}
|
|
WmsRateTable = getStatusNameTable(WmsRateDA.GetExcuteSql(strInitSql).Tables[0]);
|
|
|
|
//编排字符串 xml串
|
|
StringBuilder dataBuilder = new StringBuilder();
|
|
|
|
dataBuilder.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
|
|
dataBuilder.Append("<rows>");
|
|
|
|
int iCount = WmsRateTable.Rows.Count;
|
|
|
|
for (int i = 0; i < iCount; i++)
|
|
{
|
|
int jCount = WmsRateTable.Columns.Count;
|
|
dataBuilder.Append("<row id=\"" + WmsRateTable.Rows[i]["GID"].ToString() + "\">");
|
|
dataBuilder.Append("<cell>0</cell>");
|
|
for (int j = 1; j < jCount; j++)
|
|
{
|
|
switch (j)
|
|
{
|
|
case 1:
|
|
dataBuilder.Append("<cell>" + WmsRateTable.Rows[i][j].ToString() + "</cell>");
|
|
break;
|
|
case 2:
|
|
string xl = GetFEETYPE(WmsRateTable.Rows[i][j].ToString().Trim());
|
|
if (xl != "")
|
|
{
|
|
dataBuilder.Append(xl);
|
|
}
|
|
else
|
|
{
|
|
dataBuilder.Append("<cell>" + WmsRateTable.Rows[i][j].ToString() + "</cell>");
|
|
}
|
|
break;
|
|
case 3:
|
|
dataBuilder.Append("<cell>" + WmsRateTable.Rows[i][j].ToString() + "</cell>");
|
|
break;
|
|
case 4:
|
|
xl = GetFEEUNIT(WmsRateTable.Rows[i][j].ToString().Trim());
|
|
if (xl != "")
|
|
{
|
|
dataBuilder.Append(xl);
|
|
}
|
|
else
|
|
{
|
|
dataBuilder.Append("<cell>" + WmsRateTable.Rows[i][j].ToString() + "</cell>");
|
|
}
|
|
break;
|
|
case 5:
|
|
dataBuilder.Append("<cell>" + WmsRateTable.Rows[i][j].ToString() + "</cell>");
|
|
break;
|
|
case 6:
|
|
dataBuilder.Append("<cell>" + WmsRateTable.Rows[i][j].ToString() + "</cell>");
|
|
break;
|
|
case 7:
|
|
//string rq = WmsRateTable.Rows[i][j].ToString();
|
|
//if (rq.Trim() != "")
|
|
//{
|
|
// int irq = rq.IndexOf(" ");
|
|
// rq = rq.Substring(0, irq);
|
|
// rq = rq.Replace("-", "/");
|
|
//}
|
|
//dataBuilder.Append("<cell>" + rq + "</cell>");
|
|
dataBuilder.Append("<cell>" + WmsRateTable.Rows[i][j].ToString() + "</cell>");
|
|
break;
|
|
case 8:
|
|
dataBuilder.Append("<cell>" + WmsRateTable.Rows[i][j].ToString() + "</cell>");
|
|
break;
|
|
case 9:
|
|
dataBuilder.Append("<cell>" + WmsRateTable.Rows[i][j].ToString() + "</cell>");
|
|
break;
|
|
case 10:
|
|
dataBuilder.Append("<cell>" + WmsRateTable.Rows[i][j].ToString() + "</cell>");
|
|
break;
|
|
case 11:
|
|
dataBuilder.Append("<cell>" + WmsRateTable.Rows[i][j].ToString() + "</cell>");
|
|
break;
|
|
case 12:
|
|
dataBuilder.Append("<cell>" + WmsRateTable.Rows[i][j].ToString() + "</cell>");
|
|
break;
|
|
}
|
|
|
|
}
|
|
dataBuilder.Append("</row>");
|
|
}
|
|
dataBuilder.Append("</rows>");
|
|
|
|
return dataBuilder.ToString();
|
|
}
|
|
else
|
|
{
|
|
return "-3";//没有相关的账户
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取当前业务录入的区别费用收、付类型
|
|
/// </summary>
|
|
/// <param name="strClientValue">当前业务GID</param>
|
|
/// <returns></returns>
|
|
public string GetFEETYPE(string strFEETYPE)
|
|
{
|
|
StringBuilder sBuilder = new StringBuilder();
|
|
sBuilder.Append("<cell xmlcontent=\"1\" editable=\"1\">" + strFEETYPE);
|
|
sBuilder.Append("<option value=\"1\">收</option>");
|
|
sBuilder.Append("<option value=\"2\">付</option>");
|
|
sBuilder.Append("</cell>");
|
|
return sBuilder.ToString();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取当前业务录入的区别费用收、付类型
|
|
/// </summary>
|
|
/// <param name="strClientValue">当前业务GID</param>
|
|
/// <returns></returns>
|
|
public string GetFEEUNIT(string strFEEUNIT)
|
|
{
|
|
StringBuilder sBuilder = new StringBuilder();
|
|
sBuilder.Append("<cell xmlcontent=\"1\" editable=\"1\">" + strFEEUNIT);
|
|
sBuilder.Append("<option value=\"吨天\">吨天</option>");
|
|
sBuilder.Append("<option value=\"吨月\">吨月</option>");
|
|
sBuilder.Append("<option value=\"方天\">方天</option>");
|
|
sBuilder.Append("<option value=\"方月\">方月</option>");
|
|
sBuilder.Append("</cell>");
|
|
return sBuilder.ToString();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 将数据集表中账户状态WmsRateStatus和应收应付类型WmsRateType的数字状态位转换成文字
|
|
/// </summary>
|
|
/// <param name="tempTable">原数据源DataTable</param>
|
|
/// <returns>返回新数据源DataTable</returns>
|
|
private DataTable getStatusNameTable(DataTable tempTable)
|
|
{
|
|
DataTable sourceTable = tempTable;
|
|
DataTable cloneTable = new DataTable();
|
|
int iSwitch = 0;
|
|
for (int i = 0; i < sourceTable.Rows.Count; i++)
|
|
{
|
|
if (iSwitch == 0)
|
|
{
|
|
for (int j = 0; j < sourceTable.Columns.Count; j++)
|
|
{
|
|
DataColumn newColumn = new DataColumn();
|
|
newColumn.ColumnName = sourceTable.Columns[j].ColumnName;
|
|
newColumn.DataType = sourceTable.Columns[j].DataType;
|
|
cloneTable.Columns.Add(newColumn);
|
|
}
|
|
iSwitch = 1;
|
|
}
|
|
DataRow cloneRow = cloneTable.NewRow();
|
|
|
|
for (int k = 0; k < sourceTable.Columns.Count; k++)
|
|
{
|
|
cloneRow[sourceTable.Columns[k].ColumnName] = sourceTable.Rows[i][k];
|
|
}
|
|
cloneTable.Rows.Add(cloneRow);
|
|
}
|
|
return cloneTable;
|
|
}
|
|
|
|
//
|
|
}
|
|
}
|