284 lines
16 KiB
C#
284 lines
16 KiB
C#
using System;
|
||
using System.Configuration;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using SuperMap.RealEstate.CoreFrameWork;
|
||
using SuperMap.RealEstate.Web.UI;
|
||
using SuperMap.RealEstate.Web.UI.WebControls;
|
||
using SuperMap.RealEstate.Web.Utility;
|
||
using HWRB = SuperMap.RealEstate.HighWay.Running.Business;
|
||
using HSB = SuperMap.RealEstate.HighWay.Storage.Business;
|
||
using WorkFlowBusiness = SuperMap.RealEstate.WorkFlow.Instance.Business;
|
||
|
||
namespace SuperMap.RealEstate.HighWay.Compents.Commodity
|
||
{
|
||
/// <summary>
|
||
/// T_COMMODITY_商品管理 的WebUserControl
|
||
/// <summary>
|
||
public partial class Default : UserControl<Running.Business.RTCOMMODITY>
|
||
{
|
||
protected string _SERVERPART_ID = ConfigurationManager.AppSettings["UmiformCommodity"].ToString().Split('|')[0];
|
||
protected string _SERVERPART_CODE = ConfigurationManager.AppSettings["UmiformCommodity"].ToString().Split('|')[1];
|
||
protected string _PROVINCE_CODE = ConfigurationManager.AppSettings["UmiformCommodity"].ToString().Split('|')[2];
|
||
protected string _BUSINESSTYPE = ConfigurationManager.AppSettings["BusinessType"].ToString();
|
||
private const string XslPath = "/HighWay/Modules/004_Compact/Statistics/RegisterCompact/Xsl/Static.xsl";
|
||
|
||
//流程实例
|
||
Running.Business.HIGHWAYPROINST _HighWayProInst = null;
|
||
|
||
#region 方法 -> 页面加载
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (IsPostBack)
|
||
return;
|
||
|
||
string RequestParameter = "";
|
||
if (!string.IsNullOrEmpty(WorkFlowGuid))
|
||
{
|
||
WorkFlow.Support.Business.Component _Component = new WorkFlow.Support.Business.Component(Transaction);
|
||
_Component.AddSearchParameter("COMPONENT_GUID", WorkFlowGuid);
|
||
if (_Component.Search())
|
||
{
|
||
if (_Component.Component_Url.Contains("?"))
|
||
{
|
||
foreach (string RequestStr in _Component.Component_Url.Split('?')[1].Split('&'))
|
||
{
|
||
RequestParameter += "&" + RequestStr.Split('=')[0] + "=" + RequestStr.Split('=')[1].ToEncrypt();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (this.ModifyType == ModifyTypeEnum.ReadOnlyVisible || ModifyType == ModifyTypeEnum.ReadOnly)
|
||
{
|
||
ButtonNew.Visible = false;
|
||
ButtonImport.Visible = false;
|
||
BtnOperateDate.Visible = false;
|
||
}
|
||
GridViewEx1.SelectingWithInit<Running.Business.COMMODITY>(ObjectDataSource1, GridPageEx1,
|
||
HSB.CommonHelper.GetDictionary(Transaction, "USERDEFINEDTYPE_ID",
|
||
"SELECT USERDEFINEDTYPE_ID,USERDEFINEDTYPE_NAME FROM HIGHWAY_STORAGE.T_USERDEFINEDTYPE"),
|
||
DictionaryHelper.GetDictionary(Transaction, "COMMODITYGRADE").AsNewKeys("COMMODITY_GRADE"),
|
||
DictionaryHelper.GetDictionary(Transaction, "BUSINESSTYPE"));
|
||
//工具条按钮事件
|
||
GridViewEx1.SetOpenControl(ButtonNew, "/HighWay/Compents/Commodity/COMMODITYPage.aspx?HIGHWAYPROINST_ID=" +
|
||
_HighWayProInst.HIGHWAYPROINST_ID.ToEncrypt() + RequestParameter);
|
||
//导入商品
|
||
GridViewEx1.SetOpenControl(ButtonImport, "/HighWay/Compents/Commodity/ImportCommodity.aspx?HIGHWAYPROINST_ID=" +
|
||
_HighWayProInst.HIGHWAYPROINST_ID.ToEncrypt() + "&SERVERPART_CODE=" + (_HighWayProInst.__ProInst.Division_Code == null ?
|
||
_SERVERPART_CODE.ToEncrypt() : _HighWayProInst.__ProInst.Division_Code.ToEncrypt()) + RequestParameter, 1200, 600);
|
||
//设置生效时间
|
||
GridViewEx1.SetOpenControl(BtnOperateDate, "/HighWay/Compents/CommodityChange/UpdateOPERATE_DATE.aspx?HIGHWAYPROINST_ID=" +
|
||
_HighWayProInst.HIGHWAYPROINST_ID_Encrypt + "&SERVERPART_CODE=" + (_HighWayProInst.__ProInst.Division_Code == null ?
|
||
_SERVERPART_CODE.ToEncrypt() : _HighWayProInst.__ProInst.Division_Code.ToEncrypt()), 500, 500);
|
||
//设置回车焦点按钮
|
||
Page.SetControlClientAction(ButtonSearch);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 初始化页面参数
|
||
protected override void OnInit(EventArgs e)
|
||
{
|
||
Common.PageHelper.CreateHeaderStyle(Page);
|
||
_HighWayProInst = Running.Business.HIGHWAYPROINST.CreateInstance(Page);
|
||
base.ButtonVisible = false;
|
||
|
||
base.OnInit(e);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 在此加入界面的数据初始化(Page_Load之前),如DropDownList的数据源绑定等
|
||
public override void InitializeWebControl()
|
||
{
|
||
//加载对应的数据
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 载入数据
|
||
public override bool LoadData()
|
||
{
|
||
//加载对应的
|
||
string _COMMODITY_BARCODE = "", _TCOMMODITY_BARCODE = "";
|
||
foreach (HWRB.MODIFYFROMSTORAGE _MODIFYFROMSTORAGE in (new HWRB.MODIFYFROMSTORAGE(_HighWayProInst)).FillCollection(
|
||
"WHERE HIGHWAYPROINST_ID =" + (_HighWayProInst.HIGHWAYPROINST_ID == null ? 0 : _HighWayProInst.HIGHWAYPROINST_ID)))
|
||
{
|
||
if (_MODIFYFROMSTORAGE.Table_Name == "T_COMMODITY" && _MODIFYFROMSTORAGE.Field_Name == "COMMODITY_ID")
|
||
{
|
||
Running.Business.COMMODITY _COMMODITY = new Running.Business.COMMODITY(this.Transaction);
|
||
_COMMODITY.COMMODITY_ID = int.Parse(_MODIFYFROMSTORAGE.Field_Value);
|
||
if (_COMMODITY.Select())
|
||
{
|
||
if (_COMMODITY.COMMODITY_STATE > 0 && _COMMODITY.ExecuteDataTable(
|
||
"SELECT 1 FROM HIGHWAY_STORAGE.V_ALL_COMMODITY WHERE SERVERPART_ID = " + _COMMODITY.SERVERPART_ID +
|
||
" AND COMMODITY_BARCODE = '" + _COMMODITY.COMMODITY_BARCODE + "' AND COMMODITY_ID != " +
|
||
_COMMODITY.COMMODITY_ID + " AND COMMODITY_STATE >= 1" + (_BUSINESSTYPE != "" &&
|
||
_BUSINESSTYPE.Contains(_COMMODITY.BUSINESSTYPE.ToString()) ? " AND BUSINESSTYPE = " +
|
||
_COMMODITY.BUSINESSTYPE : " AND BUSINESSTYPE NOT IN (" + _BUSINESSTYPE + ")")).Rows.Count > 0)
|
||
{
|
||
_COMMODITY_BARCODE += (_COMMODITY_BARCODE == "" ? "" : ",") + _COMMODITY.COMMODITY_BARCODE;
|
||
}
|
||
else if (_COMMODITY.COMMODITY_STATE > 0 && _COMMODITY.SERVERPART_ID.ToString() != _SERVERPART_ID &&
|
||
_COMMODITY.PROVINCE_CODE.ToString() == _PROVINCE_CODE && (string.IsNullOrEmpty(_BUSINESSTYPE) ||
|
||
_COMMODITY.BUSINESSTYPE == null || !_BUSINESSTYPE.Contains(_COMMODITY.BUSINESSTYPE.ToString())) &&
|
||
_COMMODITY.ExecuteDataTable("SELECT 1 FROM HIGHWAY_STORAGE.V_ALL_COMMODITY WHERE SERVERPART_ID = " +
|
||
_SERVERPART_ID + " AND COMMODITY_STATE >= 1 AND COMMODITY_BARCODE = '" + _COMMODITY.COMMODITY_BARCODE +
|
||
"' AND COMMODITY_ID != " + _COMMODITY.COMMODITY_ID + (_COMMODITY.BUSINESSTYPE == 9032 ?
|
||
" AND BUSINESSTYPE = 9032" : " AND BUSINESSTYPE <> 9032")).Rows.Count > 0)
|
||
{
|
||
_TCOMMODITY_BARCODE += (_TCOMMODITY_BARCODE == "" ? "" : ",") + _COMMODITY.COMMODITY_BARCODE;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (_COMMODITY_BARCODE != "" || _TCOMMODITY_BARCODE != "")
|
||
{
|
||
Page.Alert("注意:商品条码为" + (_COMMODITY_BARCODE == "" ? (_TCOMMODITY_BARCODE + "的商品已存在于统一定价类中!") :
|
||
_COMMODITY_BARCODE + "的商品已存在于您的服务区" + (_TCOMMODITY_BARCODE == "" ? "!" : ",商品条码为" +
|
||
_TCOMMODITY_BARCODE + "的商品已存在于统一定价类中!")) + "请验证后重新录入!");
|
||
}
|
||
return true;
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 组件保存事件
|
||
public override bool Save(bool AutoBindData = true)
|
||
{
|
||
string _COMMODITY_BARCODE = "", _TCOMMODITY_BARCODE = "";
|
||
if ((new Running.Business.COMMODITY(this.Transaction)).ExecuteDataTable(
|
||
"SELECT COMMODITY_ID FROM HIGHWAY_RUNNING.V_COMMODITY WHERE COMMODITY_BARCODE IS NULL AND HIGHWAYPROINST_ID = " +
|
||
_HighWayProInst.HIGHWAYPROINST_ID).Rows.Count > 0)
|
||
{
|
||
throw new Exception("注意:请给空条码的商品填写或者生成条码!");
|
||
}
|
||
if (new Running.Business.MODIFYFROMSTORAGE(Transaction).GetCount("WHERE HIGHWAYPROINST_ID = " +
|
||
(_HighWayProInst.HIGHWAYPROINST_ID == null ? 0 : _HighWayProInst.HIGHWAYPROINST_ID) +
|
||
" AND TABLE_NAME='T_COMMODITY' AND FIELD_NAME='COMMODITY_ID'") == 0)
|
||
{
|
||
throw new Exception("注意:请新增商品信息然后转到下一环节!");
|
||
}
|
||
string _shopName = string.Empty;
|
||
foreach (HWRB.MODIFYFROMSTORAGE _MODIFYFROMSTORAGE in (new HWRB.MODIFYFROMSTORAGE(_HighWayProInst)).FillCollection(
|
||
"WHERE HIGHWAYPROINST_ID =" + (_HighWayProInst.HIGHWAYPROINST_ID == null ? 0 : _HighWayProInst.HIGHWAYPROINST_ID)))
|
||
{
|
||
if (_MODIFYFROMSTORAGE.Table_Name == "T_COMMODITY" && _MODIFYFROMSTORAGE.Field_Name == "COMMODITY_ID")
|
||
{
|
||
Running.Business.COMMODITY _COMMODITY = new Running.Business.COMMODITY(this.Transaction);
|
||
_COMMODITY.COMMODITY_ID = int.Parse(_MODIFYFROMSTORAGE.Field_Value);
|
||
if (_COMMODITY.Select())
|
||
{
|
||
|
||
if (_COMMODITY.ExecuteDataTable("SELECT 1 FROM HIGHWAY_STORAGE.V_ALL_COMMODITY WHERE COMMODITY_BARCODE = '" +
|
||
_COMMODITY.COMMODITY_BARCODE + "' AND COMMODITY_STATE >= 1 AND COMMODITY_ID != " + _COMMODITY.COMMODITY_ID +
|
||
(_BUSINESSTYPE != "" && _BUSINESSTYPE.Contains(_COMMODITY.BUSINESSTYPE.ToString()) ? " AND BUSINESSTYPE = " +
|
||
_COMMODITY.BUSINESSTYPE : " AND BUSINESSTYPE NOT IN (" + _BUSINESSTYPE + ")") + " AND SERVERPART_ID = " +
|
||
_COMMODITY.SERVERPART_ID).Rows.Count > 0 && _COMMODITY.COMMODITY_STATE > 0)
|
||
{
|
||
_COMMODITY_BARCODE += (_COMMODITY_BARCODE == "" ? "" : ",") + _COMMODITY.COMMODITY_BARCODE;
|
||
}
|
||
else if (_COMMODITY.COMMODITY_STATE > 0 && _COMMODITY.SERVERPART_ID.ToString() != _SERVERPART_ID &&
|
||
_COMMODITY.PROVINCE_CODE.ToString() == _PROVINCE_CODE && (string.IsNullOrEmpty(_BUSINESSTYPE) ||
|
||
_COMMODITY.BUSINESSTYPE == null || !_BUSINESSTYPE.Contains(_COMMODITY.BUSINESSTYPE.ToString())) &&
|
||
_COMMODITY.ExecuteDataTable("SELECT 1 FROM HIGHWAY_STORAGE.V_ALL_COMMODITY WHERE SERVERPART_ID = " +
|
||
_SERVERPART_ID + " AND COMMODITY_STATE >= 1 AND COMMODITY_BARCODE = '" + _COMMODITY.COMMODITY_BARCODE +
|
||
"' AND COMMODITY_ID != " + _COMMODITY.COMMODITY_ID + (_COMMODITY.BUSINESSTYPE == 9032 ?
|
||
" AND BUSINESSTYPE = 9032" : " AND BUSINESSTYPE <> 9032")).Rows.Count > 0)
|
||
{
|
||
_TCOMMODITY_BARCODE += (_TCOMMODITY_BARCODE == "" ? "" : ",") + _COMMODITY.COMMODITY_BARCODE;
|
||
}
|
||
else
|
||
{
|
||
string _SHORTNAME = "";
|
||
HSB.SERVERPARTSHOP _SERVERPARTSHOP = new HSB.SERVERPARTSHOP(Transaction);
|
||
_SERVERPARTSHOP.AddSearchParameter("SERVERPART_ID", _COMMODITY.SERVERPART_ID);
|
||
_SERVERPARTSHOP.AddSearchParameter("SHOPTRADE", _COMMODITY.BUSINESSTYPE);
|
||
if (_SERVERPARTSHOP.Search())
|
||
{
|
||
_SHORTNAME = (!string.IsNullOrEmpty(_SERVERPARTSHOP.SHOPSHORTNAME) ?
|
||
_SERVERPARTSHOP.SHOPSHORTNAME : _SERVERPARTSHOP.SHOPNAME);
|
||
}
|
||
else
|
||
{
|
||
_SHORTNAME = DictionaryHelper.GetFieldEnumName("BUSINESSTYPE", _COMMODITY.BUSINESSTYPE.ToString(), Transaction);
|
||
}
|
||
if (string.IsNullOrEmpty(_shopName) || !_shopName.Contains(_SHORTNAME))
|
||
{
|
||
_shopName += (_shopName == "" ? "" : ",") + _SHORTNAME;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (_COMMODITY_BARCODE != "" || _TCOMMODITY_BARCODE != "")
|
||
{
|
||
throw new Exception("注意:商品条码为" + (_COMMODITY_BARCODE == "" ? (_TCOMMODITY_BARCODE +
|
||
"的商品已存在于统一定价类中!") : _COMMODITY_BARCODE + "的商品已存在于您的服务区" + (_TCOMMODITY_BARCODE == "" ?
|
||
"!" : ",商品条码为" + _TCOMMODITY_BARCODE + "的商品已存在于统一定价类中!")) + "请验证后重新录入!");
|
||
}
|
||
//增加门店和备注信息
|
||
if (_HighWayProInst != null)
|
||
{
|
||
WorkFlowBusiness.ProInst _ProInst = new WorkFlowBusiness.ProInst(Transaction);
|
||
_ProInst.ProInst_ID = _HighWayProInst.Proinst_ID;
|
||
if (_ProInst.Select())
|
||
{
|
||
_HighWayProInst.HIGHWAYPROINST_DESC = _shopName.TrimEnd(',') + "【" +
|
||
_ProInst.ProDef_Name.Replace("审批", "") + "】";
|
||
_HighWayProInst.Update();
|
||
}
|
||
}
|
||
|
||
return base.Save(AutoBindData);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 列表事件
|
||
protected void GridPageEx1_CallBackPageChanged(object src, ClientSetEventArgs e)
|
||
{
|
||
GridViewEx1.Pagging<Running.Business.COMMODITY>(ObjectDataSource1, GridPageEx1);
|
||
//设置UI变化
|
||
e.SetOuterHtml(GridViewEx1, GridViewEx1.OuterHTML);
|
||
}
|
||
|
||
//查询
|
||
protected void ButtonSearch_CallBackClick(object sender, ClientSetEventArgs e)
|
||
{
|
||
GridViewEx1.Selecting<Running.Business.COMMODITY>(ObjectDataSource1, GridPageEx1);
|
||
//设置UI变化
|
||
e.SetValue(GridViewEx1);
|
||
e.SetValue(GridPageEx1);
|
||
}
|
||
|
||
protected void GridViewEx1_SelectMethodParameters(object sender, SelectMethodParametersArgs e)
|
||
{
|
||
if (!string.IsNullOrEmpty(TextBox_Search.Text))
|
||
e.AddOrParams(GridViewSearch1, TextBox_Search.Text);
|
||
e.AddAndParams("1", 1);
|
||
//搜索选项的搜索条件过滤
|
||
e.SetOtherUserCustomWhereSqlString = @"COMMODITY_ID IN(SELECT FIELD_VALUE FROM HIGHWAY_RUNNING.T_MODIFYFROMSTORAGE
|
||
WHERE HIGHWAYPROINST_ID = " + _HighWayProInst.HIGHWAYPROINST_ID + ")";
|
||
//排序
|
||
e.AddOrderByParams(GridViewOrderBy1);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 行绑定事件
|
||
protected void GridViewEx1_RowDataBound(object sender, GridViewRowEventArgs e)
|
||
{
|
||
if (e.Row.RowType == DataControlRowType.DataRow)
|
||
{
|
||
string _Key_ID = GridViewEx1.DataKeys[e.Row.RowIndex].Values["COMMODITY_ID"].ToEncrypt();
|
||
e.Row.Attributes["onclick"] = GridViewEx1.GetOpenPopDialogClientScript(
|
||
"/HighWay/Compents/Commodity/COMMODITYPage.aspx?ID=" + _Key_ID + "&HIGHWAYPROINST_ID=" +
|
||
_HighWayProInst.HIGHWAYPROINST_ID_Encrypt + "&ModifyType=" + this.ModifyType.ToString());
|
||
|
||
Storage.Business.COMMODITYTYPE _COMMODITYTYPE = new Storage.Business.COMMODITYTYPE(this.Transaction);
|
||
_COMMODITYTYPE.COMMODITYTYPE_ID_Encrypt = e.Row.Cells[2].Text.ToEncrypt();
|
||
if (_COMMODITYTYPE.Select())
|
||
{
|
||
e.Row.Cells[2].Text = "[" + _COMMODITYTYPE.COMMODITYTYPE_CODE + "]" + _COMMODITYTYPE.COMMODITYTYPE_NAME;
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|