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

390 lines
21 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.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 HSB = SuperMap.RealEstate.HighWay.Storage.Business;
using HWRB = SuperMap.RealEstate.HighWay.Running.Business;
using WorkFlowBusiness = SuperMap.RealEstate.WorkFlow.Instance.Business;
namespace SuperMap.RealEstate.HighWay.CloudCompents.CommodityChange
{
/// <summary>
/// T_COMMODITY_商品管理 的WebUserControl
/// <summary>
public partial class Default : Storage.UI.UserControlsEx<Running.Business.RTCOMMODITY>
{
protected string _BUSINESSTYPE = ConfigurationManager.AppSettings["BusinessType"].ToString();
//流程实例
Running.Business.HIGHWAYPROINST _HighWayProInst = null;
#region ->
protected void Page_Load(object sender, EventArgs e)
{
if (this.ModifyType == ModifyTypeEnum.ReadOnlyVisible || ModifyType == ModifyTypeEnum.ReadOnly)
{
ButtonNew.Visible = false;
BtnImport.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"),
DictionaryHelper.GetDictionary(Transaction, "ISVALID").AsNewKeys("COMMODITY_STATE"));
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/CommodityChange/COMMODITYList.aspx?HIGHWAYPROINST_ID=" +
_HighWayProInst.HIGHWAYPROINST_ID.ToEncrypt() + RequestParameter +
"&SERVERPART_ID=" + _HighWayProInst.Dept_ID.ToEncrypt());
//导入商品
GridViewEx1.SetOpenControl(BtnImport, "/HighWay/CloudCompents/CommodityChange/UpdateExcel.aspx?HIGHWAYPROINST_ID=" +
_HighWayProInst.HIGHWAYPROINST_ID_Encrypt + "&SERVERPART_ID=" + _HighWayProInst.Dept_ID.ToEncrypt() + RequestParameter);
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);
}
#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)
{
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:
if (new Storage.Business.COMMODITY(_COMMODITY).GetCount("WHERE COMMODITY_BARCODE = '" +
_COMMODITY.COMMODITY_BARCODE + "' AND BUSINESSTYPE = " + _COMMODITY.BUSINESSTYPE) > 0)
{
_COMMODITY_BARCODE += (_COMMODITY_BARCODE == "" ? "" : ",") + _COMMODITY.COMMODITY_BARCODE;
continue;
}
break;
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())
{
if (_COMMODITY.COMMODITY_STATE > 0)
{
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:
if (new Storage.Business.COMMODITY(_COMMODITY).GetCount("WHERE COMMODITY_BARCODE = '" +
_COMMODITY.COMMODITY_BARCODE + "' AND BUSINESSTYPE = " + _COMMODITY.BUSINESSTYPE) > 0)
{
_COMMODITY_BARCODE += (_COMMODITY_BARCODE == "" ? "" : ",") + _COMMODITY.COMMODITY_BARCODE;
continue;
}
break;
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 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);
}
//翻页事件
protected void GridPageEx1_CallBackPageChanged(object src, ClientSetEventArgs e)
{
GridViewEx1.Pagging<Running.Business.COMMODITY>(ObjectDataSource1, GridPageEx1);
//设置UI变化
e.SetOuterHtml(GridViewEx1, GridViewEx1.OuterHTML);
}
#endregion
#region ->
protected void GridViewEx1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string _COMMODITY_ID = GridViewEx1.DataKeys[e.Row.RowIndex]["COMMODITY_ID"].ToEncrypt();
CallBackButton _CallBack_Delete = e.Row.FindControl("CallBack_Delete") as CallBackButton;
Page.SetControlClientAction(_CallBack_Delete, false);
HWRB.COMMODITY _RCOMMODITY = new HWRB.COMMODITY(Transaction);
Storage.Business.COMMODITY _COMMODITY = new Storage.Business.COMMODITY(Transaction);
_RCOMMODITY.COMMODITY_ID_Encrypt = _COMMODITY_ID;
_COMMODITY.COMMODITY_ID_Encrypt = _COMMODITY_ID;
if (_COMMODITY.Select(GoodsProvinceCode) && _RCOMMODITY.Select())
{
if (_COMMODITY.BUSINESSTYPE != _RCOMMODITY.BUSINESSTYPE)
{
e.Row.Cells[2].Font.Bold = true;
e.Row.Cells[2].ToolTip = "原业态:" + DictionaryHelper.GetFieldEnumName(
"BUSINESSTYPE", _COMMODITY.BUSINESSTYPE.ToString(), Transaction);
}
if (_COMMODITY.COMMODITY_TYPE != _RCOMMODITY.COMMODITY_TYPE)
{
e.Row.Cells[3].Font.Bold = true;
Storage.Business.COMMODITYTYPE SCOMMODITYTYPE = new Storage.Business.COMMODITYTYPE(this.Transaction);
SCOMMODITYTYPE.COMMODITYTYPE_ID_Encrypt = _COMMODITY.COMMODITY_TYPE.ToEncrypt();
if (SCOMMODITYTYPE.Select())
{
e.Row.Cells[3].ToolTip = "原商品类型:" + SCOMMODITYTYPE.COMMODITYTYPE_NAME;
}
}
if (_COMMODITY.COMMODITY_NAME != _RCOMMODITY.COMMODITY_NAME)
{
e.Row.Cells[5].Font.Bold = true;
e.Row.Cells[5].ToolTip = "原商品名称:" + _COMMODITY.COMMODITY_NAME;
}
if (_COMMODITY.COMMODITY_BARCODE != _RCOMMODITY.COMMODITY_BARCODE)
{
e.Row.Cells[6].Font.Bold = true;
e.Row.Cells[6].ToolTip = "原商品条码:" + _COMMODITY.COMMODITY_BARCODE;
}
if (_COMMODITY.COMMODITY_EN != _RCOMMODITY.COMMODITY_EN)
{
e.Row.Cells[8].Font.Bold = true;
e.Row.Cells[8].ToolTip = "原英文缩写:" + _COMMODITY.COMMODITY_EN;
}
if (_COMMODITY.COMMODITY_UNIT != _RCOMMODITY.COMMODITY_UNIT)
{
e.Row.Cells[9].Font.Bold = true;
e.Row.Cells[9].ToolTip = "原商品单位:" + _COMMODITY.COMMODITY_UNIT;
}
if (_COMMODITY.COMMODITY_RULE != _RCOMMODITY.COMMODITY_RULE)
{
e.Row.Cells[10].Font.Bold = true;
e.Row.Cells[10].ToolTip = "原商品规格:" + _COMMODITY.COMMODITY_RULE;
}
if (_COMMODITY.COMMODITY_ORI != _RCOMMODITY.COMMODITY_ORI)
{
e.Row.Cells[11].Font.Bold = true;
e.Row.Cells[11].ToolTip = "原商品产地:" + _COMMODITY.COMMODITY_ORI;
}
if (_COMMODITY.COMMODITY_GRADE != _RCOMMODITY.COMMODITY_GRADE)
{
e.Row.Cells[12].Font.Bold = true;
e.Row.Cells[12].ToolTip = "原质量等级:" + _COMMODITY.COMMODITY_GRADE;
}
if (_COMMODITY.COMMODITY_STATE != _RCOMMODITY.COMMODITY_STATE)
{
e.Row.Cells[e.Row.Cells.Count - 3].Font.Bold = true;
e.Row.Cells[e.Row.Cells.Count - 3].ToolTip = "原商品状态:" + DictionaryHelper.GetFieldEnumName(
"COMMODITYSTATE", _COMMODITY.COMMODITY_STATE.ToString(), Transaction);
}
}
}
}
#endregion
#region ->
protected void CallBackButton_Edit_CallBackClick(object sender, ClientSetEventArgs e)
{
CallBackButton _button = (CallBackButton)sender;
GridViewRow _Row = (GridViewRow)_button.NamingContainer;
string _Key_ID = GridViewEx1.DataKeys[_Row.RowIndex][0].ToString();
e.ExcuteClientScript(GridViewEx1.GetOpenPopDialogClientScript("/HighWay/CloudCompents/CommodityChange/COMMODITYPage.aspx?ID=" +
_Key_ID.ToEncrypt() + "&HIGHWAYPROINST_ID=" + _HighWayProInst.HIGHWAYPROINST_ID_Encrypt +
"&ProvinceID=" + ProvinceID.ToEncrypt() + "&ProvinceCode=" + GoodsProvinceCode.ToEncrypt()));
}
#endregion
#region ->
protected void CallBack_Delete_CallBackClick(object sender, ClientSetEventArgs e)
{
CallBackButton _button = (CallBackButton)sender;
GridViewRow _Row = (GridViewRow)_button.NamingContainer;
string _Key_ID = GridViewEx1.DataKeys[_Row.RowIndex][0].ToString();
using (Running.Business.COMMODITY _COMMODITY = new Running.Business.COMMODITY(this.Transaction))
{
_COMMODITY.COMMODITY_ID = int.Parse(_Key_ID);
if (_COMMODITY.Select())
{
//删除关联关系
Running.Business.MODIFYFROMSTORAGE _MODIFYFROMSTORAGE = new Running.Business.MODIFYFROMSTORAGE(this.Transaction);
_MODIFYFROMSTORAGE.AddSearchParameter("HIGHWAYPROINST_ID", _HighWayProInst.HIGHWAYPROINST_ID);
_MODIFYFROMSTORAGE.AddSearchParameter("Field_Value", _COMMODITY.COMMODITY_ID);
_MODIFYFROMSTORAGE.AddSearchParameter("Table_Name", "T_COMMODITY");
if (_MODIFYFROMSTORAGE.Search())
{
_MODIFYFROMSTORAGE.Delete();
}
_COMMODITY.Delete();
e.ExcuteClientScript(Page.GetAlertStr("删除成功!", 3));
}
}
GridViewEx1.SelectingWithInit<Running.Business.COMMODITY>(ObjectDataSource1, GridPageEx1,
DictionaryHelper.GetDictionary(Transaction, "BUSINESSTYPE"),
DictionaryHelper.GetDictionary(Transaction, "COMMODITYGRADE").AsNewKeys("COMMODITY_GRADE"),
DictionaryHelper.GetDictionary(Transaction, "ISVALID").AsNewKeys("COMMODITY_STATE"));
//设置UI变化
e.SetValue(GridViewEx1);
e.SetValue(GridPageEx1);
}
#endregion
}
}