2025-03-28 09:49:56 +08:00

329 lines
15 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using SuperMap.RealEstate.Enums;
using SuperMap.RealEstate.ServiceModel;
using SuperMap.RealEstate.Utility;
using SuperMap.RealEstate.Web.UI;
using SuperMap.RealEstate.Web.UI.WebControls;
using SuperMap.RealEstate.Web.Utility;
using SuperMap.RealEstate.Coop.Merchant.Interface;
using System.Web.UI.WebControls;
namespace SuperMap.RealEstate.Coop.Merchant.Business
{
/// <summary>
/// T_SUPPLIER_省份供应商信息表 类
/// </summary>
public partial class SUPPLIER : References.SUPPLIER
{
#region
/// <summary>
/// 构造函数
/// </summary>
public SUPPLIER() : base() { }
/// <summary>
/// 构造函数
/// </summary>
/// <param name="outer">IBusinessModel接口对象</param>
public SUPPLIER(IBusinessModel outer) : base(outer) { }
/// <summary>
/// 构造函数
/// </summary>
/// <param name="transaction">事务对象</param>
public SUPPLIER(Transaction transaction) : base(transaction) { }
/// <summary>
/// 构造函数
/// </summary>
/// <param name="dataRow">DataTable的数据行</param>
public SUPPLIER(DataRow dataRow) : base(dataRow) { }
/// <summary>
/// 构造函数
/// </summary>
/// <param name="dataRow">DataTable的数据行</param>
/// <param name="outer">IBusinessModel接口对象</param>
public SUPPLIER(DataRow dataRow, IBusinessModel outer) : base(dataRow, outer) { }
/// <summary>
/// 构造函数
/// </summary>
/// <param name="dataRow">DataTable的数据行</param>
/// <param name="transaction">事务对象</param>
public SUPPLIER(DataRow dataRow, Transaction transaction) : base(dataRow, transaction) { }
#endregion
#region FillCollection
/// <summary />
public List<SUPPLIER> FillCollection(string whereSQLString, Dictionary<string, object> Parameters = null)
{
List<SUPPLIER> _List = new List<SUPPLIER>();
DataTable _DataTable = this.FillDataTable(whereSQLString, Parameters);
foreach (DataRow _DataRow in _DataTable.Rows)
{
using (SUPPLIER _Item = new SUPPLIER(_DataRow, this))
{
_List.Add(_Item);
}
}
return _List;
}
#endregion
#region -> /
public override void Insert()
{
base.Insert();
InsertMerchants(this);
}
public override bool Update()
{
bool UpdateFlag = base.Update();
InsertMerchants(this);
return UpdateFlag;
}
public void InsertMerchants(SUPPLIER _SUPPLIER)
{
if (!string.IsNullOrWhiteSpace(_SUPPLIER.TAXPAYER_IDENTIFYCODE))
{
MERCHANTS _MERCHANTS = new MERCHANTS(Transaction);
_MERCHANTS.AddSearchParameter("TAXPAYER_IDENTIFYCODE", _SUPPLIER.TAXPAYER_IDENTIFYCODE);
if (!_MERCHANTS.Search())
{
_MERCHANTS.ResetProperty();
_MERCHANTS.MERCHANTS_TYPE = _SUPPLIER.SUPPLIER_NATURE == null ? "" : _SUPPLIER.SUPPLIER_NATURE.ToString();
_MERCHANTS.MERCHANTS_NAME = _SUPPLIER.SUPPLIER_NAME;
_MERCHANTS.MERCHANTS_EN = _SUPPLIER.SUPPLIER_EN;
_MERCHANTS.TAXPAYER_IDENTIFYCODE = _SUPPLIER.TAXPAYER_IDENTIFYCODE;
_MERCHANTS.MERCHANTS_DRAWER = _SUPPLIER.SUPPLIER_DRAWER;
_MERCHANTS.BANK_NAME = _SUPPLIER.BANK_NAME;
_MERCHANTS.BANK_ACCOUNT = _SUPPLIER.BANK_ACCOUNT;
_MERCHANTS.MERCHANTS_LINKMAN = _SUPPLIER.SUPPLIER_LINKMAN;
_MERCHANTS.MERCHANTS_TELEPHONE = _SUPPLIER.SUPPLIER_TELEPHONE;
_MERCHANTS.MERCHANTS_MOBILEPHONE = _SUPPLIER.SUPPLIER_MOBILEPHONE;
_MERCHANTS.MERCHANTS_FAX = _SUPPLIER.SUPPLIER_FAX;
_MERCHANTS.MERCHANTS_EMAIL = _SUPPLIER.SUPPLIER_EMAIL;
_MERCHANTS.MERCHANTS_ADDRESS = _SUPPLIER.SUPPLIER_ADDRESS;
_MERCHANTS.MERCHANTS_STATE = (short)_SUPPLIER.SUPPLIER_STATE;
_MERCHANTS.OPERATE_DATE = DateTime.Now;
_MERCHANTS.MERCHANTS_DESC = _SUPPLIER.SUPPLIER_DESC;
_MERCHANTS.Insert();
}
}
}
public string GetSUPPLIER_CODE(int? _SUPPLIER_ID = null)
{
if (_SUPPLIER_ID != null)
{
if (_SUPPLIER_ID < 0)
{
return "S1" + Math.Abs(_SUPPLIER_ID.Value).ToString().PadLeft(8, '0');
}
else
{
return "S" + _SUPPLIER_ID.ToString().PadLeft(8, '0');
}
}
else
{
DataTable dataTable = new Business.COOPMERCHANTS(Transaction).ExecuteDataTable(
"SELECT NVL(MAX(ABS(SUPPLIER_ID)),0) FROM COOP_MERCHANT.T_SUPPLIER");
if (dataTable.Rows.Count > 0)
{
int.TryParse(dataTable.Rows[0][0].ToString(), out int _MaxId);
return "S" + (_MaxId + 1).ToString().PadLeft(8, '0');
}
else
{
return "S" + "1".PadLeft(8, '0');
}
}
}
#endregion
#region -> BindingDropDownList
public void BindingDropDownList(List<ListItemEx> items)
{
DataTable bindingDataSource = this.GetBindingDataSource(string.Empty);
this.BindingDropDownList(bindingDataSource, items);
}
private void BindingDropDownList(DataTable _DataTable, List<ListItemEx> items)
{
foreach (DataRow dataRow in _DataTable.Rows)
{
ListItemEx listItemEx = new ListItemEx();
listItemEx.Value = dataRow["SUPPLIER_ID"].ToString();
listItemEx.Text = dataRow["SUPPLIER_NAME"].ToString();
items.Add(listItemEx);
}
}
#endregion
#region -> GetBindingDataSource
public DataTable GetBindingDataSource(string obscureName)
{
string arg = string.IsNullOrEmpty(obscureName) ? " 1 = 1 " : ("AND SUPPLIER_NAME like '%" + obscureName + "%'");
string format = "SELECT * from T_SUPPLIER where {0}";
string fullSQLString = string.Format(format, arg);
return base.ExecuteDataTable(fullSQLString, null, 0, 0);
}
#endregion
#region -> BindingTreeView
public void BindingTreeView(string pid, TreeNodeCollection nodes, string obscureName, bool withChildNodes,
Identity.PassportInfo _PassportInfo, string ID_Encrypt, DataTable TypeTable = null, DataTable SupplierTable = null,
string NodeUrl = "", string NodeUrlParam = "", bool IsValid = false)
{
DataTable dataTable = new Business.RTOWNERUNIT(Transaction).ExecuteDataTable(
"SELECT OWNERUNIT_ID,OWNERUNIT_NAME,PROVINCE_CODE FROM COOP_MERCHANT.T_RTOWNERUNIT WHERE USER_ID = " + _PassportInfo.ID);
for (int i = 0; i < dataTable.Rows.Count; i++)
{
DataRow dataRow = dataTable.Rows[i];
TreeNode treeNode = new TreeNode();
treeNode.Text = dataRow["OWNERUNIT_NAME"].ToString();
if (NodeUrl != "")
{
treeNode.NavigateUrl = UriHelper.AddRequestToUrl(NodeUrl + "?OWNERUNIT_ID=" +
dataRow["OWNERUNIT_ID"].ToEncrypt() + NodeUrlParam, "Module_ID", ID_Encrypt);
}
else
{
treeNode.NavigateUrl = "javascript:void(0)";
}
treeNode.Value = dataRow["OWNERUNIT_ID"].ToString();
treeNode.ImageToolTip = "OWNERUNIT";
treeNode.ImageUrl = "/Portal/Icons/ObjectType.png";
treeNode.Expanded = true;
BindingTypeTreeView(treeNode.ChildNodes, "4000", Convert.ToInt32(dataRow["OWNERUNIT_ID"].ToString()),
Convert.ToInt32(dataRow["PROVINCE_CODE"].ToString()), pid, obscureName, withChildNodes, NodeUrl);
foreach (Business.SUPPLIER ChileSupplier in new Business.SUPPLIER(Transaction).FillCollection(
"WHERE OWNERUNIT_ID = " + treeNode.Value + " AND MERCHANTTYPE_ID IS NULL AND SUPPLIER_STATE = 1"))
{
TreeNode ChileTreeNode = new TreeNode();
ChileTreeNode.Text = ChileSupplier.SUPPLIER_NAME;
ChileTreeNode.Value = ChileSupplier.SUPPLIER_ID.ToString();
ChileTreeNode.ImageToolTip = "SUPPLIER";
ChileTreeNode.ImageUrl = "";
treeNode.ChildNodes.Add(ChileTreeNode);
}
if (treeNode.ChildNodes.Count > 0)
{
nodes.Add(treeNode);
}
}
}
#region -> BindingTreeView
/// <summary>
/// 绑定自定义树类目
/// </summary>
/// <param name="nodes">树节点</param>
/// <param name="AutoType_TypeID">自定义类型</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="IsIndent">是否缩略显示</param>
/// <param name="ExpandedLevel">展开树层级</param>
/// <param name="AutoType_Index">自定义类别索引</param>
/// <param name="MerchantsList">商户集合</param>
public void BindingTypeTreeView(TreeNodeCollection nodes, string AutoType_TypeID, int? _Owner_ID, int? _Province_code, string pid = "-1",
string obscureName = "", bool withChildNodes = true, string CanUrl = "", bool IsValid = false, DataTable _DataAll = null,
DataTable SupplierTable = null, bool IsIndent = false)
{
DataRow[] _DataRowList = null;
if (_DataAll == null)
{
_DataAll = new Business.AUTOSTATISTICS(Transaction).FillDataTable(string.Format(
"WHERE AUTOSTATISTICS_TYPE = 4000 AND OWNERUNIT_ID = {0} AND PROVINCE_CODE = {1}", _Owner_ID, _Province_code));
}
if (SupplierTable == null)
{
SupplierTable = new Business.SUPPLIER(Transaction).FillDataTable(string.Format(
"WHERE OWNERUNIT_ID = {0} AND PROVINCE_CODE = {1} AND SUPPLIER_STATE = 1", _Owner_ID, _Province_code));
}
#region
_DataRowList = _DataAll.Select("AUTOSTATISTICS_PID = " + (pid == "" ? "-1" : pid), "AUTOSTATISTICS_INDEX");
foreach (DataRow dataRow in _DataRowList)
{
TreeNode treeNode = new TreeNode();
treeNode.Text = dataRow["AUTOSTATISTICS_NAME"].ToString();
if (IsIndent && treeNode.Text.Length > 18)
{
treeNode.ToolTip = treeNode.Text;
treeNode.Text = treeNode.Text.Substring(0, 18) + "...";
}
treeNode.Value = dataRow["AUTOSTATISTICS_ID"].ToString();
treeNode.ImageToolTip = "AUTOTYPE";
treeNode.ImageUrl = "/Portal/Icons/ObjectType.png";
if (CanUrl != "")
{
treeNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl + "?AUTOSTATISTICS_ID=" +
treeNode.Value.ToEncrypt() + "&ID=" + _Owner_ID.ToEncrypt(), "Module_ID", "1234");
}
treeNode.Expanded = true;
if (!string.IsNullOrEmpty(obscureName) || withChildNodes)
{
this.BindingTypeTreeView(treeNode.ChildNodes, AutoType_TypeID, _Owner_ID, _Province_code,
treeNode.Value, obscureName, withChildNodes, CanUrl, IsValid, _DataAll, SupplierTable, IsIndent);
}
DataRow[] _Row = SupplierTable.Select("MERCHANTTYPE_ID = '" + dataRow["AUTOSTATISTICS_ID"].ToString() +
"' AND SUPPLIER_PID IS NULL", "SUPPLIER_NAME");
foreach (DataRow _DataRow in _Row)
{
TreeNode childTreeNode = new TreeNode();
childTreeNode.Text = _DataRow["SUPPLIER_NAME"].ToString();
childTreeNode.Value = _DataRow["SUPPLIER_ID"].ToString();
if (CanUrl != "")
{
childTreeNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl + "?SUPPLIER_ID=" +
childTreeNode.Value.ToEncrypt() + "&ID=" + _Owner_ID.ToEncrypt(), "Module_ID", "1234");
}
childTreeNode.ImageToolTip = "SUPPLIER";
childTreeNode.ImageUrl = "";
foreach (DataRow SupplierRow in SupplierTable.Select("SUPPLIER_PID = " + childTreeNode.Value))
{
TreeNode SupplierChildNode = new TreeNode();
SupplierChildNode.Text = SupplierRow["SUPPLIER_NAME"].ToString();
SupplierChildNode.Value = SupplierRow["SUPPLIER_ID"].ToString();
if (CanUrl != "")
{
SupplierChildNode.NavigateUrl = UriHelper.AddRequestToUrl(CanUrl + "?SUPPLIER_ID=" +
SupplierChildNode.Value.ToEncrypt() + "&ID=" + _Owner_ID.ToEncrypt(), "Module_ID", "1234");
}
SupplierChildNode.ImageToolTip = "SUPPLIER";
SupplierChildNode.ImageUrl = "";
childTreeNode.ChildNodes.Add(SupplierChildNode);
}
treeNode.ChildNodes.Add(childTreeNode);
}
if (treeNode.ChildNodes.Count > 0)
{
nodes.Add(treeNode);
}
}
#endregion
}
#endregion
#endregion
}
}