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

272 lines
14 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.CloudCompents.Commodity
{
/// <summary>
/// T_COMMODITY_商品管理 的WebUserControl
/// <summary>
public partial class Default : Storage.UI.UserControlsEx<Running.Business.RTCOMMODITY>
{
protected string _BUSINESSTYPE = ConfigurationManager.AppSettings["BusinessType"].ToString();
private const string XslPath = "/HighWay/Modules/004_Compact/Statistics/RegisterCompact/Xsl/Static.xsl";
private string ReportXmlPath
{
get
{
return ViewState["TransferXmlPath"] == null ? "" : (string)ViewState["TransferXmlPath"];
}
set
{
ViewState["TransferXmlPath"] = value;
}
}
//流程实例
Running.Business.HIGHWAYPROINST _HighWayProInst = null;
protected void Page_Load(object sender, EventArgs e)
{
if (this.ModifyType == ModifyTypeEnum.ReadOnlyVisible || ModifyType == ModifyTypeEnum.ReadOnly)
{
ButtonNew.Visible = false;
ButtonImport.Visible = false;
BtnOperateDate.Visible = false;
}
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();
}
}
}
}
GridViewEx1.SelectingWithInit<Running.Business.COMMODITY>(ObjectDataSource1, GridPageEx1,
DictionaryHelper.GetDictionary(Transaction, "COMMODITYGRADE").AsNewKeys("COMMODITY_GRADE"));
string _SERVERPART_CODE = "";
if (!string.IsNullOrWhiteSpace(WholeServerpartID))
{
Storage.Business.SERVERPART _SERVERPART = new HSB.SERVERPART(Transaction);
_SERVERPART.SERVERPART_ID_Encrypt = WholeServerpartID.ToEncrypt();
if (_SERVERPART.Select())
{
_SERVERPART_CODE = _SERVERPART.SERVERPART_CODE;
}
}
//工具条按钮事件
GridViewEx1.SetOpenControl(ButtonNew, "/HighWay/CloudCompents/Commodity/COMMODITYPage.aspx?HIGHWAYPROINST_ID=" +
_HighWayProInst.HIGHWAYPROINST_ID.ToEncrypt() + RequestParameter +
"&SERVERPART_ID=" + _HighWayProInst.Dept_ID.ToEncrypt());
//导入商品
GridViewEx1.SetOpenControl(ButtonImport, "/HighWay/CloudCompents/Commodity/ImportCommodity.aspx?HIGHWAYPROINST_ID=" +
_HighWayProInst.HIGHWAYPROINST_ID.ToEncrypt() + "&SERVERPART_ID=" + _HighWayProInst.Dept_ID.ToEncrypt() + RequestParameter, 1200, 600);
GridViewEx1.SetOpenControl(BtnOperateDate, "/HighWay/CloudCompents/CommodityChange/UpdateOPERATE_DATE.aspx?HIGHWAYPROINST_ID=" +
_HighWayProInst.HIGHWAYPROINST_ID_Encrypt + "&SERVERPART_ID=" + _HighWayProInst.Dept_ID.ToEncrypt() + RequestParameter, 500, 500);
//设置回车焦点按钮
//SetControlClientAction(ButtonSearch);
}
protected override void OnInit(EventArgs e)
{
Common.PageHelper.CreateHeaderStyle(Page);
_HighWayProInst = Running.Business.HIGHWAYPROINST.CreateInstance(Page);
base.ButtonVisible = false;
base.OnInit(e);
}
//在此加入界面的数据初始化(Page_Load之前)如DropDownList的数据源绑定等
public override void InitializeWebControl()
{
}
#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())
{
int ResultCode = _COMMODITY.IsDuplicateBarcode(_COMMODITY.COMMODITY_ID.ToString(), _COMMODITY.COMMODITY_BARCODE,
_COMMODITY.SERVERPART_ID.ToString(), _COMMODITY.BUSINESSTYPE.ToString(), _COMMODITY.PROVINCE_CODE.ToString(),
_BUSINESSTYPE, ProvinceID, WholeServerpartID, GoodsProvinceCode);
switch (ResultCode)
{
case 1:
_COMMODITY_BARCODE += (_COMMODITY_BARCODE == "" ? "" : ",") + _COMMODITY.COMMODITY_BARCODE;
continue;
case 2:
_TCOMMODITY_BARCODE += (_TCOMMODITY_BARCODE == "" ? "" : ",") + _COMMODITY.COMMODITY_BARCODE;
continue;
}
}
}
}
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())
{
int ResultCode = _COMMODITY.IsDuplicateBarcode(_COMMODITY.COMMODITY_ID.ToString(), _COMMODITY.COMMODITY_BARCODE,
_COMMODITY.SERVERPART_ID.ToString(), _COMMODITY.BUSINESSTYPE.ToString(), _COMMODITY.PROVINCE_CODE.ToString(),
_BUSINESSTYPE, ProvinceID, WholeServerpartID, GoodsProvinceCode);
switch (ResultCode)
{
case 1:
_COMMODITY_BARCODE += (_COMMODITY_BARCODE == "" ? "" : ",") + _COMMODITY.COMMODITY_BARCODE;
continue;
case 2:
_TCOMMODITY_BARCODE += (_TCOMMODITY_BARCODE == "" ? "" : ",") + _COMMODITY.COMMODITY_BARCODE;
continue;
}
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/CloudCompents/Commodity/COMMODITYPage.aspx?ID=" + _Key_ID + "&HIGHWAYPROINST_ID=" +
_HighWayProInst.HIGHWAYPROINST_ID_Encrypt + "&ModifyType=" + this.ModifyType.ToString() +
"&ProvinceID=" + ProvinceID.ToEncrypt() + "&ProvinceCode=" + GoodsProvinceCode.ToEncrypt());
}
}
#endregion
}
}