321 lines
15 KiB
C#
321 lines
15 KiB
C#
using System;
|
||
using System.Data;
|
||
using System.Web.UI;
|
||
using SuperMap.RealEstate.CoreFrameWork;
|
||
using SuperMap.RealEstate.Web.UI;
|
||
using SuperMap.RealEstate.Web.UI.WebControls;
|
||
using Business = SuperMap.RealEstate.HighWay.Storage.Business;
|
||
using HisHighWay = SuperMap.RealEstate.HighWay.History.Business;
|
||
using HZQR.Common;
|
||
|
||
namespace SuperMap.RealEstate.SendRec.Modules.MerchantsManage
|
||
{
|
||
/// <summary>
|
||
/// T_MERCHANTS_商户信息表 的WebUserControl
|
||
/// <summary>
|
||
public partial class MERCHANTS : UserControl<Business.MERCHANTS>
|
||
{
|
||
protected DataTable MERCHANTSENTRYDT = null, RTMERCHANTSTable = new DataTable();
|
||
string _SERVERPART_IDS = "";
|
||
|
||
#region 方法 -> 页面加载
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (IsPostBack) return;
|
||
|
||
#region 绑定商户类别
|
||
if (!string.IsNullOrWhiteSpace(MERCHANTS_ID.Text))
|
||
{
|
||
DataTable _DataTable = new Business.RTAUTOTYPE(CurrObject).ExecuteDataTable(
|
||
@"SELECT WM_CONCAT(DISTINCT A.AUTOTYPE_ID),WM_CONCAT(DISTINCT A.SERVERPART_ID)
|
||
FROM HIGHWAY_STORAGE.T_AUTOTYPE A,HIGHWAY_STORAGE.T_RTAUTOTYPE B
|
||
WHERE A.AUTOTYPE_ID = B.AUTOTYPE_ID AND A.AUTOTYPE_TYPEID = 3000 AND
|
||
NVL(B.RTAUTOTYPE_DESC,'VALID') = 'VALID' AND B.MERCHANTS_ID = " + MERCHANTS_ID.Text);
|
||
if (_DataTable.Rows.Count > 0 && _DataTable.Rows[0][0].ToString() != "")
|
||
{
|
||
string _AUTOTYPE_ID = _DataTable.Rows[0][0].ToString();
|
||
if (!string.IsNullOrWhiteSpace(Request["AUTOTYPE_ID"]) &&
|
||
!("," + _AUTOTYPE_ID + ",").Contains("," + Request["AUTOTYPE_ID"].ToDecrypt() + ","))
|
||
{
|
||
_AUTOTYPE_ID += "," + Request["AUTOTYPE_ID"].ToDecrypt();
|
||
}
|
||
AUTOTYPE_ID.SelectedValue = _AUTOTYPE_ID;
|
||
//若是多个服务区合并管理的供应商,则显示联系人列表
|
||
if (_DataTable.Rows[0][1].ToString().Split(',').Length > 1)
|
||
{
|
||
if (!string.IsNullOrWhiteSpace(Request["SERVERPART_ID"]) &&
|
||
Request["SERVERPART_ID"].ToDecrypt().Split(',').Length == 1)
|
||
{
|
||
AUTOTYPE_ID.Visible = true;
|
||
}
|
||
else
|
||
{
|
||
AUTOTYPE_ID.Visible = false;
|
||
}
|
||
}
|
||
}
|
||
else if (!string.IsNullOrWhiteSpace(Request["AUTOTYPE_ID"]))
|
||
{
|
||
AUTOTYPE_ID.SelectedValue = Request["AUTOTYPE_ID"].ToDecrypt();
|
||
}
|
||
CallBackButton_Select.Enabled = false;
|
||
}
|
||
else if (!string.IsNullOrWhiteSpace(Request["AUTOTYPE_ID"]))
|
||
{
|
||
AUTOTYPE_ID.SelectedValue = Request["AUTOTYPE_ID"].ToDecrypt();
|
||
//选择已存在供应商信息
|
||
CallBackButton_Select.OnClientClick = Page.GetOpenPopDialogClientScript("RelatePage/RelateList.aspx" +
|
||
Request.Url.Query + "&MERCHANTS_ID=" + MERCHANTS_ID.Text.ToEncrypt() + "&SelectType=true",
|
||
"RelateList", 1200, 800, true, false, true);
|
||
}
|
||
#endregion
|
||
|
||
if (CurrObject.MERCHANTS_NATURE == 2000)
|
||
{
|
||
TAXPAYER_IDENTIFYCODE.CaptionText = "个人证件号码:";
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 在此加入界面的数据初始化(Page_Load之前),如DropDownList的数据源绑定等
|
||
public override void InitializeWebControl()
|
||
{
|
||
//商户性质
|
||
MERCHANTS_NATURE.Items.Clear();
|
||
DictionaryHelper.BindingDropDownList("MERCHANTS_NATURE", MERCHANTS_NATURE.Items, Transaction);
|
||
//商户状态
|
||
MERCHANTS_STATE.Items.Clear();
|
||
DictionaryHelper.BindingDropDownList("COMMODITYSTATE", MERCHANTS_STATE.Items, this.Transaction);
|
||
MERCHANTS_STATE.SelectedValue = "1";
|
||
//绑定商户类型
|
||
AUTOTYPE_ID.Clear();
|
||
if (!string.IsNullOrWhiteSpace(Request["SERVERPART_ID"]))
|
||
{
|
||
_SERVERPART_IDS = Request["SERVERPART_ID"].ToDecrypt();
|
||
}
|
||
else
|
||
{
|
||
_SERVERPART_IDS = new Business.SERVERPART(Transaction).GetPassportServerPartID(Page.PassportInfo.CityAuthority);
|
||
}
|
||
string _DATASOURCE_TYPE = string.IsNullOrWhiteSpace(Request["DATASOURCE_TYPE"]) ? "" : Request["DATASOURCE_TYPE"].ToDecrypt();
|
||
BasePage.BindingDropDownList(Transaction, AUTOTYPE_ID.Items, 3000, _DATASOURCE_TYPE, "", true, _SERVERPART_IDS, true);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 载入数据
|
||
public override bool LoadData()
|
||
{
|
||
STAFF_ID.Text = Page.PassportInfo.ID.ToString();
|
||
STAFF_NAME.Text = Page.PassportInfo.Name;
|
||
OPERATE_DATE.Text = DateTime.Now.ToString();
|
||
//如果是工作流组件请自行修改载入的逻辑,以下是功能模块的默认代码
|
||
if (!String.IsNullOrEmpty(Request["MERCHANTS_ID"]))
|
||
{
|
||
CurrObject.MERCHANTS_ID_Encrypt = Request["MERCHANTS_ID"];
|
||
return this.Select();
|
||
}
|
||
else if (!String.IsNullOrEmpty(Request["ID"]))
|
||
{
|
||
CurrObject.MERCHANTS_ID_Encrypt = Request["ID"];
|
||
return this.Select();
|
||
}
|
||
//默认返回值,工作流组件返回True,功能模块返回False。
|
||
return (WorkFlowPage != null);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 页面保存事件
|
||
//OnDataAction_XXXXX 有一个系列可用,在此加入界面的逻辑处理
|
||
//e.CancelDataAction 来处理是否取消该动作;
|
||
//失败的原因可以用Page.Alert()传递到页面
|
||
public override void OnDataAction_BeforeSave(DataActionEventArgs<Business.MERCHANTS> e)
|
||
{
|
||
//存储省份信息
|
||
if (!string.IsNullOrWhiteSpace(Request["PROVINCE_CODE"]))
|
||
{
|
||
e.CurrObject.PROVINCE_CODE = Request["PROVINCE_CODE"].ToDecrypt().TryParseToInt();
|
||
}
|
||
if (e.CurrObject.MERCHANTS_ID == null && e.CurrObject.GetCount(
|
||
"WHERE TAXPAYER_IDENTIFYCODE = '" + TAXPAYER_IDENTIFYCODE.Text.Trim() + "'" +
|
||
(e.CurrObject.PROVINCE_CODE == null ? "" : " AND PROVINCE_CODE = " + e.CurrObject.PROVINCE_CODE)) > 0)
|
||
{
|
||
throw new Exception("相同“统一信用代码”商户已添加,请搜索进行数据更新!");
|
||
}
|
||
|
||
string updateRemark = "";
|
||
|
||
Business.MERCHANTS OriMERCHANTS = new Business.MERCHANTS(this.Transaction);
|
||
OriMERCHANTS.MERCHANTS_ID = e.CurrObject.MERCHANTS_ID;
|
||
if (e.CurrObject.MERCHANTS_ID != null && OriMERCHANTS.Select())
|
||
{
|
||
if (OriMERCHANTS.MERCHANTS_NAME != e.CurrObject.MERCHANTS_NAME)
|
||
{
|
||
updateRemark += "商户名称:【" + OriMERCHANTS.MERCHANTS_NAME + "】更改为:【" + e.CurrObject.MERCHANTS_NAME + "】";
|
||
}
|
||
if (OriMERCHANTS.TAXPAYER_IDENTIFYCODE != e.CurrObject.TAXPAYER_IDENTIFYCODE)
|
||
{
|
||
updateRemark += "纳税人识别号:【" + OriMERCHANTS.TAXPAYER_IDENTIFYCODE + "】更改为:【" +
|
||
e.CurrObject.TAXPAYER_IDENTIFYCODE + "】";
|
||
}
|
||
if (OriMERCHANTS.BANK_NAME != e.CurrObject.BANK_NAME)
|
||
{
|
||
updateRemark += "开户行:【" + OriMERCHANTS.BANK_NAME + "】更改为:【" + e.CurrObject.BANK_NAME + "】";
|
||
}
|
||
if (OriMERCHANTS.BANK_ACCOUNT != e.CurrObject.BANK_ACCOUNT)
|
||
{
|
||
updateRemark += "银行账号:【" + OriMERCHANTS.BANK_ACCOUNT + "】更改为:【" + e.CurrObject.BANK_ACCOUNT + "】";
|
||
}
|
||
if (!string.IsNullOrEmpty(updateRemark))
|
||
{
|
||
updateRemark = "修改商户信息:" + updateRemark;
|
||
}
|
||
|
||
if (!string.IsNullOrEmpty(updateRemark))
|
||
{
|
||
HisHighWay.MERCHANTS _HisMERCHANTS = new HisHighWay.MERCHANTS(this.Transaction);
|
||
_HisMERCHANTS.CopyFrom(OriMERCHANTS);
|
||
_HisMERCHANTS.MERCHANTS_DESC = updateRemark;
|
||
_HisMERCHANTS.Insert();
|
||
}
|
||
}
|
||
e.CurrObject.STAFF_ID = Page.PassportInfo.ID;
|
||
e.CurrObject.STAFF_NAME = Page.PassportInfo.Name;
|
||
e.CurrObject.OPERATE_DATE = DateTime.Now;
|
||
|
||
base.OnDataAction_BeforeSave(e);
|
||
}
|
||
|
||
public override void OnDataAction_AfterSave(DataActionEventArgs<Business.MERCHANTS> e)
|
||
{
|
||
#region 重新绑定供应商和供应商类别的关联关系
|
||
//删除多余的服务区关联关系
|
||
if (!string.IsNullOrWhiteSpace(Request["SERVERPART_ID"]))
|
||
{
|
||
e.CurrObject.ExecuteNonQuery("DELETE FROM T_RTAUTOTYPE A WHERE A.MERCHANTS_ID = " + e.CurrObject.MERCHANTS_ID +
|
||
" AND EXISTS (SELECT 1 FROM T_AUTOTYPE B WHERE A.AUTOTYPE_ID = B.AUTOTYPE_ID AND B.SERVERPART_ID IN (" +
|
||
Request["SERVERPART_ID"].ToDecrypt() + "))", null);
|
||
}
|
||
else
|
||
{
|
||
e.CurrObject.ExecuteNonQuery("DELETE FROM T_RTAUTOTYPE WHERE MERCHANTS_ID = " + e.CurrObject.MERCHANTS_ID, null);
|
||
}
|
||
if (!string.IsNullOrWhiteSpace(AUTOTYPE_ID.SelectedValue))
|
||
{
|
||
foreach (string _AUTOTYPE_ID in AUTOTYPE_ID.SelectedValue.Split(','))
|
||
{
|
||
Business.RTAUTOTYPE _RTAUTOTYPE = new Business.RTAUTOTYPE(CurrObject);
|
||
_RTAUTOTYPE.AddSearchParameter("AUTOTYPE_ID", _AUTOTYPE_ID);
|
||
_RTAUTOTYPE.AddSearchParameter("MERCHANTS_ID", e.CurrObject.MERCHANTS_ID);
|
||
if (!_RTAUTOTYPE.Search())
|
||
{
|
||
_RTAUTOTYPE.ResetProperty();
|
||
_RTAUTOTYPE.AUTOTYPE_ID = int.Parse(_AUTOTYPE_ID);
|
||
_RTAUTOTYPE.MERCHANTS_ID = e.CurrObject.MERCHANTS_ID;
|
||
_RTAUTOTYPE.RTAUTOTYPE_DESC = "VALID";
|
||
_RTAUTOTYPE.Insert();
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 将开户信息、联系人存入供应商联系人表
|
||
using (Business.RTMERCHANTS _RTMERCHANTS = new Business.RTMERCHANTS(CurrObject))
|
||
{
|
||
_RTMERCHANTS.AddSearchParameter("MERCHANTS_ID", e.CurrObject.MERCHANTS_ID);
|
||
if (_RTMERCHANTS.Search())
|
||
{
|
||
_RTMERCHANTS.MERCHANTS_ID = e.CurrObject.MERCHANTS_ID;
|
||
_RTMERCHANTS.BANK_NAME = e.CurrObject.BANK_NAME;
|
||
_RTMERCHANTS.BANK_ACCOUNT = e.CurrObject.BANK_ACCOUNT;
|
||
_RTMERCHANTS.RTMERCHANTS_LINKMAN = e.CurrObject.MERCHANTS_LINKMAN;
|
||
_RTMERCHANTS.RTMERCHANTS_TELEPHONE = e.CurrObject.MERCHANTS_TELEPHONE;
|
||
_RTMERCHANTS.RTMERCHANTS_MOBILEPHONE = e.CurrObject.MERCHANTS_MOBILEPHONE;
|
||
_RTMERCHANTS.STAFF_ID = Page.PassportInfo.ID;
|
||
_RTMERCHANTS.STAFF_NAME = Page.PassportInfo.Name;
|
||
_RTMERCHANTS.OPERATE_DATE = DateTime.Now;
|
||
_RTMERCHANTS.Update();
|
||
}
|
||
else
|
||
{
|
||
_RTMERCHANTS.ResetProperty();
|
||
_RTMERCHANTS.MERCHANTS_ID = e.CurrObject.MERCHANTS_ID;
|
||
_RTMERCHANTS.BANK_NAME = e.CurrObject.BANK_NAME;
|
||
_RTMERCHANTS.BANK_ACCOUNT = e.CurrObject.BANK_ACCOUNT;
|
||
_RTMERCHANTS.RTMERCHANTS_LINKMAN = e.CurrObject.MERCHANTS_LINKMAN;
|
||
_RTMERCHANTS.RTMERCHANTS_TELEPHONE = e.CurrObject.MERCHANTS_TELEPHONE;
|
||
_RTMERCHANTS.RTMERCHANTS_MOBILEPHONE = e.CurrObject.MERCHANTS_MOBILEPHONE;
|
||
_RTMERCHANTS.STAFF_ID = Page.PassportInfo.ID;
|
||
_RTMERCHANTS.STAFF_NAME = Page.PassportInfo.Name;
|
||
_RTMERCHANTS.OPERATE_DATE = DateTime.Now;
|
||
_RTMERCHANTS.Insert();
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
//更新供应商和原材料关联表中的供应商名称
|
||
e.CurrObject.ExecuteNonQuery("UPDATE SENDREC_STORAGE.T_RTSUPPLIERRAW SET SUPPLIER_NAME = '" +
|
||
e.CurrObject.MERCHANTS_NAME + "' WHERE SUPPLIER_ID = " + e.CurrObject.MERCHANTS_ID, null);
|
||
|
||
base.OnDataAction_AfterSave(e);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 删除按钮事件
|
||
public bool DeleteData()
|
||
{
|
||
bool DeleteFlag = false;
|
||
if (string.IsNullOrWhiteSpace(AUTOTYPE_ID.SelectedValue))
|
||
{
|
||
BindControlToObject(CurrObject);
|
||
CurrObject.MERCHANTS_STATE = 0;
|
||
DeleteFlag = CurrObject.Update();
|
||
}
|
||
else
|
||
{
|
||
string SQLString = "DELETE FROM HIGHWAY_STORAGE.T_RTAUTOTYPE WHERE AUTOTYPE_ID IN (" +
|
||
AUTOTYPE_ID.SelectedValue + ") AND MERCHANTS_ID = " + MERCHANTS_ID.Text;
|
||
int ExcuteCount = CurrObject.ExecuteNonQuery(SQLString, null);
|
||
if (ExcuteCount > 0)
|
||
{
|
||
DeleteFlag = true;
|
||
}
|
||
}
|
||
|
||
return DeleteFlag;
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 下拉框事件
|
||
protected void MERCHANTS_NATURE_CallBackSetControl(object sender, ClientSetEventArgs e)
|
||
{
|
||
if (e.Argument == "3000")
|
||
{
|
||
e.SetCaptionText(TAXPAYER_IDENTIFYCODE.ClientID, "个人身份证号:");
|
||
}
|
||
else
|
||
{
|
||
e.SetCaptionText(TAXPAYER_IDENTIFYCODE.ClientID, "统一信用代码:");
|
||
}
|
||
}
|
||
|
||
protected void TAXPAYER_IDENTIFYCODE_CallBackSetControl(object sender, ClientSetEventArgs e)
|
||
{
|
||
e.SetValue(MERCHANTS_CODE, TAXPAYER_IDENTIFYCODE.Text);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 审核供应商数据,通过后可以提供给用户选择关联
|
||
public void ApproveSupplier()
|
||
{
|
||
Business.MERCHANTS _MERCHANTS = new Business.MERCHANTS(Transaction);
|
||
_MERCHANTS.MERCHANTS_ID_Encrypt = MERCHANTS_ID.Text.ToEncrypt();
|
||
if (_MERCHANTS.Select())
|
||
{
|
||
_MERCHANTS.MERCHANTS_CATEGORY = 1;
|
||
_MERCHANTS.Update();
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|