2025-03-27 15:05:14 +08:00

321 lines
15 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}
}