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

375 lines
19 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 HWSB = SuperMap.RealEstate.HighWay.Storage.Business;
using HWRB = SuperMap.RealEstate.HighWay.Running.Business;
using WorkFlowBusiness = SuperMap.RealEstate.WorkFlow.Instance.Business;
using HZQR.Common;
namespace SuperMap.RealEstate.HighWay.CloudCompents.CommodityChange
{
/// <summary>
/// T_COMMODITY_商品管理 的WebUserControl
/// <summary>
public partial class Default : Storage.UI.UserControlsEx<HWRB.RTCOMMODITY>
{
protected string _BUSINESSTYPE = ConfigurationManager.AppSettings["BusinessType"].ToString();
//流程实例
HWRB.HIGHWAYPROINST _HighWayProInst = null;
#region ->
protected void Page_Load(object sender, EventArgs e)
{
if (ModifyType == ModifyTypeEnum.ReadOnlyVisible || ModifyType == ModifyTypeEnum.ReadOnly ||
_HighWayProInst.ProInst.NowActInst.ActInst_Type != Enums.ActInstType.Accept)
{
ButtonNew.Visible = false;
BtnImport.Visible = false;
BtnOperateDate.Visible = false;
GridViewEx1.Columns[1].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<HWRB.COMMODITY>(ObjectDataSource1, GridPageEx1,
DictionaryHelper.GetDictionary(Transaction, "COMMODITYGRADE").AsNewKeys("COMMODITY_GRADE"),
DictionaryHelper.GetDictionary(Transaction, "ISVALID").AsNewKeys("COMMODITY_STATE"));
//工具条按钮事件
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);
//设置回车焦点按钮
Page.SetControlClientAction(ButtonSearch);
}
protected override void OnInit(EventArgs e)
{
Common.PageHelper.CreateHeaderStyle(Page);
_HighWayProInst = HWRB.HIGHWAYPROINST.CreateInstance(Page);
base.ButtonVisible = false;
base.OnInit(e);
}
#endregion
#region ->
public override bool LoadData()
{
return true;
}
#endregion
#region -> (Page_Load之前)DropDownList的数据源绑定等
public override void InitializeWebControl()
{
COMMODITYTYPE_NAME.Clear();
new HWSB.COMMODITYTYPE(Transaction).BindingDropDownList(COMMODITYTYPE_NAME.Items, "",
false, true, true, true, false, Page.PassportInfo.ProvinceCode.TryParseToInt());
}
#endregion
#region ->
public override bool Save(bool AutoBindData = true)
{
string _COMMODITY_BARCODE = "", _TCOMMODITY_BARCODE = "";
if ((new HWRB.COMMODITY(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 HWRB.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")
{
HWRB.COMMODITY _COMMODITY = new HWRB.COMMODITY(Transaction);
_COMMODITY.COMMODITY_ID = int.Parse(_MODIFYFROMSTORAGE.Field_Value);
if (_COMMODITY.Select())
{
if (_COMMODITY.COMMODITY_STATE > 0)
{
if (_COMMODITY.COMMODITY_TYPE.TryParseToInt() == 0)
{
throw new Exception("注意:请先补充商品类型,然后转到下一环节!");
}
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 = "";
HWSB.SERVERPARTSHOP _SERVERPARTSHOP = new HWSB.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<HWRB.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("HIGHWAYPROINST_ID", _HighWayProInst.HIGHWAYPROINST_ID);
//排序
e.AddOrderByParams(GridViewOrderBy1);
}
//翻页事件
protected void GridPageEx1_CallBackPageChanged(object src, ClientSetEventArgs e)
{
GridViewEx1.Pagging<HWRB.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();
string _BUSINESSTYPE = GridViewEx1.DataKeys[e.Row.RowIndex]["BUSINESSTYPE"].ToString();
string _COMMODITYTYPE_NAME = GridViewEx1.DataKeys[e.Row.RowIndex]["COMMODITYTYPE_NAME"].ToString();
DropDownListEx ddlCOMMODITYTYPE_NAME = e.Row.FindControl("ddlCOMMODITYTYPE_NAME") as DropDownListEx;
Label lbCOMMODITYTYPE_NAME = e.Row.FindControl("lbCOMMODITYTYPE_NAME") as Label;
if (string.IsNullOrWhiteSpace(_COMMODITYTYPE_NAME))
{
ddlCOMMODITYTYPE_NAME.Visible = true;
lbCOMMODITYTYPE_NAME.Visible = false;
HWSB.COMMODITYTYPE.CopyDropdownlistEx(COMMODITYTYPE_NAME, ddlCOMMODITYTYPE_NAME, _BUSINESSTYPE);
}
CallBackButton _CallBack_Delete = e.Row.FindControl("CallBack_Delete") as CallBackButton;
Page.SetControlClientAction(_CallBack_Delete, false);
HWRB.COMMODITY _RCOMMODITY = new HWRB.COMMODITY(Transaction);
HWSB.COMMODITY _COMMODITY = new HWSB.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;
if (_COMMODITY.COMMODITY_TYPE != null)
{
HWSB.COMMODITYTYPE SCOMMODITYTYPE = new HWSB.COMMODITYTYPE(Transaction);
SCOMMODITYTYPE.COMMODITYTYPE_ID_Encrypt = _COMMODITY.COMMODITY_TYPE.ToEncrypt();
if (SCOMMODITYTYPE.Select())
{
e.Row.Cells[3].ToolTip = "原商品类型:" + SCOMMODITYTYPE.COMMODITYTYPE_NAME;
}
}
else
{
e.Row.Cells[3].ToolTip = "原商品类型:无";
}
}
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 (HWRB.COMMODITY _COMMODITY = new HWRB.COMMODITY(Transaction))
{
_COMMODITY.COMMODITY_ID = int.Parse(_Key_ID);
if (_COMMODITY.Select())
{
//删除关联关系
HWRB.MODIFYFROMSTORAGE _MODIFYFROMSTORAGE = new HWRB.MODIFYFROMSTORAGE(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<HWRB.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
protected void ddlCOMMODITYTYPE_NAME_CallBackSetControl(object sender, ClientSetEventArgs e)
{
DropDownListEx ddlCOMMODITYTYPE_NAME = (DropDownListEx)sender;
GridViewRow _Row = (GridViewRow)ddlCOMMODITYTYPE_NAME.NamingContainer;
string _Key_ID = GridViewEx1.DataKeys[_Row.RowIndex][0].ToEncrypt();
HWRB.COMMODITY _COMMODITY = new HWRB.COMMODITY(Transaction);
_COMMODITY.COMMODITY_ID_Encrypt = _Key_ID;
if (_COMMODITY.Select())
{
_COMMODITY.COMMODITY_TYPE = e.Argument;
_COMMODITY.Update();
}
}
}
}