401 lines
20 KiB
C#
401 lines
20 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Web.UI.WebControls;
|
|
using SuperMap.RealEstate.CoreFrameWork;
|
|
using SuperMap.RealEstate.CoreFrameWork.Dictionary.Business;
|
|
using SuperMap.RealEstate.ServiceModel;
|
|
using SuperMap.RealEstate.Web.Utility;
|
|
using SuperMap.RealEstate.Web.UI.WebControls;
|
|
using Business = SuperMap.RealEstate.HighWay.Storage.Business;
|
|
|
|
namespace SuperMap.RealEstate.SendRec.Modules.MerchantsManage
|
|
{
|
|
public partial class BasePage : UI.BasePage
|
|
{
|
|
#region BindingDropDownList
|
|
public static void BindingDropDownList(Transaction transaction, List<ListItemEx> items, int AutoType_TypeID, string DataSource_Type)
|
|
{
|
|
BindingDropDownList(transaction, items, AutoType_TypeID, DataSource_Type, "");
|
|
}
|
|
|
|
public static void BindingDropDownList(Transaction transaction, List<ListItemEx> items, int AutoType_TypeID, string DataSource_Type,
|
|
string disabledValue, bool status = true, string Serverpart_ID = "", bool ShowServerpart = false)
|
|
{
|
|
DataTable bindingDataSource = GetBindingDataSource(transaction, AutoType_TypeID,
|
|
DataSource_Type, disabledValue, status, " ASC", Serverpart_ID);
|
|
BindingDropDownList(transaction, items, AutoType_TypeID, DataSource_Type, "-1", disabledValue, 0,
|
|
status, bindingDataSource, Serverpart_ID, ShowServerpart);
|
|
}
|
|
|
|
private static void BindingDropDownList(Transaction transaction, List<ListItemEx> items, int AutoType_TypeID,
|
|
string DataSource_Type, string pid, string disabledValue, int level, bool status = true,
|
|
DataTable _DataAll = null, string Serverpart_ID = "", bool ShowServerpart = false, string SPName = "")
|
|
{
|
|
if (_DataAll == null)
|
|
{
|
|
_DataAll = GetBindingDataSource(transaction, AutoType_TypeID,
|
|
DataSource_Type, disabledValue, status, " ASC", Serverpart_ID);
|
|
}
|
|
|
|
if (ShowServerpart)
|
|
{
|
|
foreach (Business.SERVERPART _SERVERPART in new Business.SERVERPART(transaction).FillCollection(
|
|
"WHERE SERVERPART_ID IN (" + (string.IsNullOrWhiteSpace(Serverpart_ID) ? "0" : Serverpart_ID) +
|
|
") ORDER BY SERVERPART_INDEX,SERVERPART_CODE"))
|
|
{
|
|
DataRow[] dataRows = _DataAll.Select("AUTOTYPE_PID = " + pid + " AND SERVERPART_ID = " + _SERVERPART.SERVERPART_ID);
|
|
foreach (DataRow dataRow in dataRows)
|
|
{
|
|
ListItemEx listItemEx = new ListItemEx();
|
|
listItemEx.Value = dataRow["AUTOTYPE_ID"].ToString();
|
|
listItemEx.Text = (string.IsNullOrEmpty(dataRow["AUTOTYPE_CODE"].ToString()) ? "" :
|
|
"[" + dataRow["AUTOTYPE_CODE"].ToString() + "]") + dataRow["AUTOTYPE_NAME"].ToString() +
|
|
"【" + _SERVERPART.SERVERPART_NAME.Replace("服务区", "") + "】";
|
|
listItemEx.Level = level;
|
|
if (!status && dataRow["AUTOTYPE_VALID"].ToString() != "0")
|
|
{
|
|
listItemEx.Enabled = false;
|
|
}
|
|
items.Add(listItemEx);
|
|
BindingDropDownList(transaction, items, AutoType_TypeID, DataSource_Type, listItemEx.Value, disabledValue,
|
|
level + 1, status, _DataAll, "", false, "【" + _SERVERPART.SERVERPART_NAME.Replace("服务区", "") + "】");
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
DataRow[] dataRows = _DataAll.Select("AUTOTYPE_PID = " + pid);
|
|
foreach (DataRow dataRow in dataRows)
|
|
{
|
|
ListItemEx listItemEx = new ListItemEx();
|
|
listItemEx.Value = dataRow["AUTOTYPE_ID"].ToString();
|
|
listItemEx.Text = (string.IsNullOrEmpty(dataRow["AUTOTYPE_CODE"].ToString()) ? "" :
|
|
"[" + dataRow["AUTOTYPE_CODE"].ToString() + "]") + dataRow["AUTOTYPE_NAME"].ToString() + SPName;
|
|
listItemEx.Level = level;
|
|
if (!status && dataRow["AUTOTYPE_VALID"].ToString() != "0")
|
|
{
|
|
listItemEx.Enabled = false;
|
|
}
|
|
items.Add(listItemEx);
|
|
BindingDropDownList(transaction, items, AutoType_TypeID, DataSource_Type, listItemEx.Value,
|
|
disabledValue, level + 1, status, _DataAll, "", false, SPName);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region BindingTreeView
|
|
/// <summary>
|
|
/// 绑定商户自定义类别
|
|
/// </summary>
|
|
/// <param name="nodes">树节点</param>
|
|
/// <param name="AutoType_TypeID">自定义类型</param>
|
|
/// <param name="DataSource_Type">数据类型</param>
|
|
/// <param name="pid">父级内码</param>
|
|
/// <param name="obscureName">查询内容</param>
|
|
/// <param name="withChildNodes">是否包含子节点</param>
|
|
/// <param name="CanUrl">跳转路由</param>
|
|
/// <param name="IsValid">是否仅显示有效数据</param>
|
|
/// <param name="_DataAll">数据源列表</param>
|
|
/// <param name="Serverpart_ID">服务区集合</param>
|
|
/// <param name="IsIndent"></param>
|
|
/// <param name="ShowServerpart">是否显示服务区树</param>
|
|
/// <param name="displayAll">是否显示空白节点</param>
|
|
public static void BindingTreeView(Transaction transaction, TreeNodeCollection nodes, int AutoType_TypeID,
|
|
string DataSource_Type = "", string pid = "-1", string obscureName = "", bool withChildNodes = true,
|
|
string CanUrl = "", bool IsValid = false, DataTable _DataAll = null, string Serverpart_ID = "",
|
|
bool IsIndent = false, bool ShowServerpart = false, bool displayAll = false)
|
|
{
|
|
string _AutoType_Level = "";
|
|
if (_DataAll == null)
|
|
{
|
|
_DataAll = GetBindingDataSource(transaction, AutoType_TypeID, DataSource_Type, "", IsValid, " DESC", Serverpart_ID);
|
|
}
|
|
if (ShowServerpart)
|
|
{
|
|
foreach (Business.SERVERPART _SERVERPART in new Business.SERVERPART(transaction).FillCollection(
|
|
"WHERE SERVERPART_ID IN (" + (string.IsNullOrWhiteSpace(Serverpart_ID) ? "0" : Serverpart_ID) +
|
|
") ORDER BY SERVERPART_INDEX,SERVERPART_CODE"))
|
|
{
|
|
TreeNode ServerpartNode = new TreeNode();
|
|
ServerpartNode.Text = _SERVERPART.SERVERPART_NAME;
|
|
ServerpartNode.Value = _SERVERPART.SERVERPART_ID.ToString();
|
|
if (CanUrl == "")
|
|
{
|
|
ServerpartNode.NavigateUrl = UriHelper.AddRequestToUrl("AUTOTYPEPage.aspx",
|
|
"SERVERPART_ID", _SERVERPART.SERVERPART_ID_Encrypt);
|
|
}
|
|
else
|
|
{
|
|
ServerpartNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl, new Dictionary<string, string>
|
|
{
|
|
{ "DEFINETYPE", AutoType_TypeID .ToString()},
|
|
{ "SERVERPART_ID", _SERVERPART.SERVERPART_ID_Encrypt }
|
|
});
|
|
}
|
|
ServerpartNode.ImageToolTip = "Serverpart";
|
|
ServerpartNode.ImageUrl = "";
|
|
ServerpartNode.Expanded = false;
|
|
|
|
#region 绑定服务区商户自定义类别
|
|
foreach (DataRow dataRow in _DataAll.Select("SERVERPART_ID = " + ServerpartNode.Value +
|
|
(pid == "" ? "" : " AND AUTOTYPE_PID = " + pid)))
|
|
{
|
|
_AutoType_Level = _AutoType_Level == "" ? dataRow["AUTOTYPE_LEVEL"].ToString() : _AutoType_Level;
|
|
if (_AutoType_Level != dataRow["AUTOTYPE_LEVEL"].ToString())
|
|
{
|
|
continue;
|
|
}
|
|
TreeNode treeNode = new TreeNode();
|
|
treeNode.Text = (string.IsNullOrEmpty(dataRow["AUTOTYPE_CODE"].ToString()) ? "" :
|
|
"【" + dataRow["AUTOTYPE_CODE"].ToString() + "】") + dataRow["AUTOTYPE_NAME"].ToString();
|
|
if (IsIndent && treeNode.Text.Length > 18)
|
|
{
|
|
treeNode.ToolTip = treeNode.Text;
|
|
treeNode.Text = treeNode.Text.Substring(0, 18) + "...";
|
|
}
|
|
treeNode.Value = dataRow["AUTOTYPE_ID"].ToString();
|
|
if (CanUrl == "")
|
|
{
|
|
treeNode.NavigateUrl = UriHelper.AddRequestToUrl("AUTOTYPEPage.aspx?ID=" +
|
|
treeNode.Value.ToEncrypt() + "&SERVERPART_ID=" + _SERVERPART.SERVERPART_ID_Encrypt, "", "");
|
|
}
|
|
else
|
|
{
|
|
treeNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl + (CanUrl.Contains("?") ? "" : "?") +
|
|
"&DEFINETYPE=" + AutoType_TypeID + "&ID=" + treeNode.Value.ToEncrypt() +
|
|
"&SERVERPART_ID=" + _SERVERPART.SERVERPART_ID_Encrypt, "", "");
|
|
}
|
|
|
|
treeNode.ImageToolTip = "AUTOTYPE";
|
|
treeNode.ImageUrl = "";
|
|
treeNode.Expanded = new bool?(false);
|
|
ServerpartNode.ChildNodes.AddAt(0, treeNode);
|
|
treeNode.PopulateOnDemand = true;
|
|
if (!string.IsNullOrEmpty(obscureName) || withChildNodes)
|
|
{
|
|
BindingTreeView(transaction, treeNode.ChildNodes, AutoType_TypeID,
|
|
DataSource_Type, dataRow["AUTOTYPE_ID"].ToString(), obscureName,
|
|
withChildNodes, CanUrl, IsValid, _DataAll, _SERVERPART.KeyID);
|
|
treeNode.PopulateOnDemand = false;
|
|
}
|
|
if (!string.IsNullOrEmpty(obscureName))
|
|
{
|
|
if (treeNode.ChildNodes.Count == 0)
|
|
{
|
|
if (treeNode.Text.IndexOf(obscureName, StringComparison.CurrentCultureIgnoreCase) < 0)
|
|
{
|
|
ServerpartNode.ChildNodes.Remove(treeNode);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
treeNode.Expanded = new bool?(true);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
//添加服务区节点
|
|
if (ServerpartNode.ChildNodes.Count > 0 || displayAll)
|
|
{
|
|
nodes.Add(ServerpartNode);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
#region 绑定商户自定义类别
|
|
DataRow[] _DataRowList = _DataAll.Select(pid == "" ? "1 = 1" : "AUTOTYPE_PID = " + pid);
|
|
foreach (DataRow dataRow in _DataRowList)
|
|
{
|
|
_AutoType_Level = _AutoType_Level == "" ? dataRow["AUTOTYPE_LEVEL"].ToString() : _AutoType_Level;
|
|
if (_AutoType_Level != dataRow["AUTOTYPE_LEVEL"].ToString())
|
|
continue;
|
|
TreeNode treeNode = new TreeNode();
|
|
treeNode.Text = (string.IsNullOrEmpty(dataRow["AUTOTYPE_CODE"].ToString()) ? "" :
|
|
"【" + dataRow["AUTOTYPE_CODE"].ToString() + "】") + dataRow["AUTOTYPE_NAME"].ToString();
|
|
if (IsIndent && treeNode.Text.Length > 18)
|
|
{
|
|
treeNode.ToolTip = treeNode.Text;
|
|
treeNode.Text = treeNode.Text.Substring(0, 18) + "...";
|
|
}
|
|
treeNode.Value = dataRow["AUTOTYPE_ID"].ToString();
|
|
if (CanUrl == "")
|
|
{
|
|
treeNode.NavigateUrl = UriHelper.AddRequestToUrl("AUTOTYPEPage.aspx?ID=" +
|
|
treeNode.Value.ToEncrypt() + "&SERVERPART_ID=" + Serverpart_ID.ToEncrypt(), "", "");
|
|
}
|
|
else
|
|
{
|
|
treeNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl + (CanUrl.Contains("?") ? "" : "?") + "&ID=" +
|
|
treeNode.Value.ToEncrypt() + "&SERVERPART_ID=" + Serverpart_ID.ToEncrypt(), "", "");
|
|
}
|
|
|
|
treeNode.ImageToolTip = "AUTOTYPE";
|
|
treeNode.ImageUrl = "";
|
|
treeNode.Expanded = new bool?(false);
|
|
nodes.AddAt(0, treeNode);
|
|
treeNode.PopulateOnDemand = true;
|
|
if (!string.IsNullOrEmpty(obscureName) || withChildNodes)
|
|
{
|
|
BindingTreeView(transaction, treeNode.ChildNodes, AutoType_TypeID, DataSource_Type, dataRow["AUTOTYPE_ID"].ToString(),
|
|
obscureName, withChildNodes, CanUrl, IsValid, _DataAll, Serverpart_ID, IsIndent);
|
|
treeNode.PopulateOnDemand = false;
|
|
}
|
|
if (!string.IsNullOrEmpty(obscureName))
|
|
{
|
|
if (treeNode.ChildNodes.Count == 0)
|
|
{
|
|
if (treeNode.Text.IndexOf(obscureName, StringComparison.CurrentCultureIgnoreCase) < 0)
|
|
{
|
|
nodes.Remove(treeNode);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
treeNode.Expanded = new bool?(true);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region GetBindingDataSource
|
|
public static DataTable GetBindingDataSource(Transaction transaction, int AutoType_TypeID, string DataSource_Type,
|
|
string orderbysql = " ASC", string Serverpart_ID = "")
|
|
{
|
|
return GetBindingDataSource(transaction, AutoType_TypeID, DataSource_Type, "", false, orderbysql, Serverpart_ID);
|
|
}
|
|
|
|
public static DataTable GetBindingDataSource(Transaction transaction, int AutoType_TypeID, string DataSource_Type,
|
|
string obscureName = "", bool JudgeValid = false, string orderbysql = " ASC", string Serverpart_ID = "")
|
|
{
|
|
string format = "SELECT * FROM HIGHWAY_STORAGE.T_AUTOTYPE WHERE {0} {1} {2} ORDER BY AUTOTYPE_LEVEL,AUTOTYPE_INDEX" +
|
|
orderbysql + ",AUTOTYPE_CODE" + orderbysql + ",AUTOTYPE_NAME" + orderbysql;
|
|
string arg = "AutoType_TypeID = " + AutoType_TypeID;
|
|
string arg2 = string.IsNullOrEmpty(obscureName) ? "" : " AND (AUTOTYPE_NAME LIKE '%" + obscureName +
|
|
"%' OR AUTOTYPE_CODE LIKE '%" + obscureName + "%')";
|
|
string arg3 = (string.IsNullOrEmpty(DataSource_Type) ? "" : " AND DATASOURCE_TYPE IN (" + DataSource_Type + ")") +
|
|
(string.IsNullOrEmpty(Serverpart_ID) ? "" : " AND SERVERPART_ID IN (" + Serverpart_ID + ")");
|
|
if (JudgeValid == true)
|
|
{
|
|
arg3 += " and AUTOTYPE_VALID = 1";
|
|
}
|
|
string fullSQLString = string.Format(format, arg, arg2, arg3);
|
|
|
|
return new Business.AUTOTYPE(transaction).ExecuteDataTable(fullSQLString);
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 获取/绑定省份信息
|
|
/// <summary>
|
|
/// 绑定省份下拉框
|
|
/// </summary>
|
|
/// <param name="transaction"></param>
|
|
/// <param name="items"></param>
|
|
/// <param name="obscureName"></param>
|
|
/// <param name="HasId">是否显示内码</param>
|
|
public static void BindingProvinceDDL(Transaction transaction, List<ListItemEx> items, string obscureName = "", bool HasId = false)
|
|
{
|
|
FieldExplain _FieldExplain = DictionaryHelper.GetFieldExplain("DIVISION_CODE", transaction);
|
|
foreach (FieldEnum _FieldEnum in (new FieldEnum(transaction)).FillCollection("WHERE FIELDEXPLAIN_ID = " +
|
|
_FieldExplain.FieldExplain_ID + obscureName + " AND FIELDENUM_PID = -1 ORDER BY FIELDENUM_INDEX"))
|
|
{
|
|
ListItemEx _ListItemEx = new ListItemEx();
|
|
_ListItemEx.Text = _FieldEnum.FieldEnum_Name;
|
|
if (HasId)
|
|
{
|
|
_ListItemEx.Text += "【" + _FieldEnum.FieldEnum_ID + "】";
|
|
}
|
|
_ListItemEx.Value = _FieldEnum.FieldEnum_Value;
|
|
items.Add(_ListItemEx);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据枚举内码获取省份
|
|
/// </summary>
|
|
/// <param name="Province_ID"></param>
|
|
/// <param name="_Transaction"></param>
|
|
/// <returns></returns>
|
|
public static string GetProvinceCode(int? Province_ID, Transaction _Transaction)
|
|
{
|
|
string _ProvinceCode = "";
|
|
|
|
if (Province_ID != null)
|
|
{
|
|
FieldEnum _FieldEnum = new FieldEnum(_Transaction);
|
|
_FieldEnum.FieldEnum_ID = Province_ID;
|
|
if (_FieldEnum.Select())
|
|
{
|
|
_ProvinceCode = _FieldEnum.FieldEnum_Value;
|
|
}
|
|
}
|
|
|
|
return _ProvinceCode;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据用户权限获取省份
|
|
/// </summary>
|
|
/// <param name="CityAuthority"></param>
|
|
/// <param name="_Transaction"></param>
|
|
/// <returns></returns>
|
|
public static string GetProvinceCode(string CityAuthority, Transaction _Transaction)
|
|
{
|
|
string _ProvinceCode = "";
|
|
|
|
if (!string.IsNullOrEmpty(CityAuthority))
|
|
{
|
|
Business.SERVERPART _SERVERPART = new Business.SERVERPART(_Transaction);
|
|
_SERVERPART.AddSearchParameter("SERVERPART_CODE", CityAuthority.Split(',')[0]);
|
|
if (_SERVERPART.Search())
|
|
{
|
|
FieldEnum _FieldEnum = new FieldEnum(_Transaction);
|
|
_FieldEnum.FieldEnum_ID = _SERVERPART.PROVINCE_CODE;
|
|
if (_FieldEnum.Select())
|
|
{
|
|
_ProvinceCode = _FieldEnum.FieldEnum_Value;
|
|
}
|
|
}
|
|
}
|
|
|
|
return _ProvinceCode;
|
|
}
|
|
#endregion
|
|
|
|
#region 方法 -> 解析数字型的日期
|
|
public static string TranslateDateTime(string DateTimeString)
|
|
{
|
|
string str = "";
|
|
|
|
switch (DateTimeString.Length)
|
|
{
|
|
case 8:
|
|
str = DateTimeString.Substring(0, 4) + "/" + DateTimeString.Substring(4, 2) +
|
|
"/" + DateTimeString.Substring(6, 2);
|
|
break;
|
|
case 14:
|
|
str = DateTimeString.Substring(0, 4) + "/" + DateTimeString.Substring(4, 2) +
|
|
"/" + DateTimeString.Substring(6, 2) + " " + DateTimeString.Substring(8, 2) + ":" +
|
|
DateTimeString.Substring(10, 2) + ":" + DateTimeString.Substring(12, 2);
|
|
break;
|
|
default:
|
|
if (DateTimeString.Length > 14)
|
|
{
|
|
str = DateTimeString.Substring(0, 4) + "/" + DateTimeString.Substring(4, 2) +
|
|
"/" + DateTimeString.Substring(6, 2) + " " + DateTimeString.Substring(8, 2) + ":" +
|
|
DateTimeString.Substring(10, 2) + ":" + DateTimeString.Substring(12, 2);
|
|
}
|
|
break;
|
|
}
|
|
|
|
return str;
|
|
}
|
|
#endregion
|
|
}
|
|
} |