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

284 lines
16 KiB
C#
Raw 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.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
}
}