349 lines
17 KiB
C#
349 lines
17 KiB
C#
using System;
|
||
using System.Configuration;
|
||
using System.Data;
|
||
using System.Web;
|
||
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 HWSB = SuperMap.RealEstate.HighWay.Storage.Business;
|
||
using WorkFlowBusiness = SuperMap.RealEstate.WorkFlow.Instance.Business;
|
||
using HZQR.Common;
|
||
|
||
namespace SuperMap.RealEstate.HighWay.CloudCompents.Commodity
|
||
{
|
||
/// <summary>
|
||
/// T_COMMODITY_商品管理 的WebUserControl
|
||
/// <summary>
|
||
public partial class Default : Storage.UI.UserControlsEx<HWRB.RTCOMMODITY>
|
||
{
|
||
protected string _BUSINESSTYPE = ConfigurationManager.AppSettings["BusinessType"].ToString();
|
||
private const string RequestUrl = "/HighWay/CloudCompents/Commodity/{0}.aspx?" +
|
||
"HIGHWAYPROINST_ID={1}&SERVERPART_ID={2}&BUSINESSTYPE={3}";
|
||
|
||
//流程实例
|
||
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)
|
||
{
|
||
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('&'))
|
||
{
|
||
if (RequestStr.Split('=')[0] == "BUSINESSTYPE")
|
||
{
|
||
RequestParameter += RequestStr.Split('=')[1];
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
//绑定商品业态
|
||
HWSB.CommonHelper.BindingBusinessDropDownList(BUSINESSTYPE.Items,
|
||
RequestParameter, Transaction, 0, _HighWayProInst.Dept_ID.ToString());
|
||
//加载商品列表
|
||
GridViewEx1.SelectingWithInit<HWRB.COMMODITY>(ObjectDataSource1, GridPageEx1,
|
||
DictionaryHelper.GetDictionary(Transaction, "COMMODITYGRADE").AsNewKeys("COMMODITY_GRADE"));
|
||
if (GridViewEx1.Rows.Count > 0)
|
||
{
|
||
BUSINESSTYPE.SelectedValue = GridViewEx1.DataKeys[GridViewEx1.Rows[0].RowIndex]["BUSINESSTYPE"].ToString();
|
||
BUSINESSTYPE.Enabled = false;
|
||
}
|
||
//批量更新生效时间
|
||
GridViewEx1.SetOpenControl(BtnOperateDate, string.Format(RequestUrl, "UpdateOPERATE_DATE",
|
||
_HighWayProInst.HIGHWAYPROINST_ID_Encrypt, _HighWayProInst.Dept_ID.ToEncrypt(), ""), 500, 500);
|
||
//加载资质图片信息
|
||
ImgFilseList();
|
||
//设置回车焦点按钮
|
||
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
|
||
|
||
//在此加入界面的数据初始化(Page_Load之前),如DropDownList的数据源绑定等
|
||
public override void InitializeWebControl()
|
||
{
|
||
COMMODITYTYPE_NAME.Clear();
|
||
new HWSB.COMMODITYTYPE(Transaction).BindingDropDownList(COMMODITYTYPE_NAME.Items, "",
|
||
true, true, true, true, false, Page.PassportInfo.ProvinceCode.TryParseToInt());
|
||
}
|
||
|
||
#region 方法 -> 载入数据
|
||
public override bool LoadData()
|
||
{
|
||
return true;
|
||
}
|
||
#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("注意:请新增商品信息然后转到下一环节!");
|
||
}
|
||
//获取已添加的商品信息
|
||
DataTable dtCommodity = _HighWayProInst.ExecuteDataTable(
|
||
"SELECT COMMODITY_ID,SERVERPART_ID,COMMODITY_BARCODE,BUSINESSTYPE,COMMODITY_STATE " +
|
||
"FROM HIGHWAY_STORAGE.V_ALL_COMMODITY" + GoodsProvinceCode +
|
||
" WHERE SERVERPART_ID IN (" + _HighWayProInst.Dept_ID + "," + WholeServerpartID + ")");
|
||
|
||
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_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, dtCommodity);
|
||
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 != "")
|
||
{
|
||
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())
|
||
{
|
||
string _SHORTNAME;
|
||
HWSB.SERVERPARTSHOP _SERVERPARTSHOP = new HWSB.SERVERPARTSHOP(Transaction);
|
||
_SERVERPARTSHOP.AddSearchParameter("SERVERPART_ID", _HighWayProInst.Dept_ID);
|
||
_SERVERPARTSHOP.AddSearchParameter("SHOPTRADE", BUSINESSTYPE.SelectedValue);
|
||
if (_HighWayProInst.Dept_ID != null && _SERVERPARTSHOP.Search())
|
||
{
|
||
_SHORTNAME = (!string.IsNullOrEmpty(_SERVERPARTSHOP.SHOPSHORTNAME) ?
|
||
_SERVERPARTSHOP.SHOPSHORTNAME : _SERVERPARTSHOP.SHOPNAME);
|
||
}
|
||
else
|
||
{
|
||
_SHORTNAME = DictionaryHelper.GetFieldEnumName("BUSINESSTYPE", BUSINESSTYPE.SelectedValue, Transaction);
|
||
}
|
||
if (string.IsNullOrEmpty(_SHORTNAME) || !_SHORTNAME.Contains(_SHORTNAME))
|
||
{
|
||
_SHORTNAME += (_SHORTNAME == "" ? "" : ",") + _SHORTNAME;
|
||
}
|
||
_HighWayProInst.HIGHWAYPROINST_DESC = _SHORTNAME + "【" + _ProInst.ProDef_Name.Replace("审批", "") + "】";
|
||
_HighWayProInst.Update();
|
||
}
|
||
}
|
||
|
||
return base.Save(AutoBindData);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 列表事件
|
||
protected void GridPageEx1_CallBackPageChanged(object src, ClientSetEventArgs e)
|
||
{
|
||
GridViewEx1.Pagging<HWRB.COMMODITY>(ObjectDataSource1, GridPageEx1);
|
||
//设置UI变化
|
||
e.SetOuterHtml(GridViewEx1, GridViewEx1.OuterHTML);
|
||
if (GridViewEx1.Rows.Count > 0)
|
||
{
|
||
e.SetEnabled(BUSINESSTYPE, false);
|
||
}
|
||
else
|
||
{
|
||
e.SetEnabled(BUSINESSTYPE, true);
|
||
}
|
||
}
|
||
|
||
//查询
|
||
protected void ButtonSearch_CallBackClick(object sender, ClientSetEventArgs e)
|
||
{
|
||
GridViewEx1.Selecting<HWRB.COMMODITY>(ObjectDataSource1, GridPageEx1);
|
||
//设置UI变化
|
||
e.SetValue(GridViewEx1);
|
||
e.SetValue(GridPageEx1);
|
||
if (GridViewEx1.Rows.Count > 0)
|
||
{
|
||
e.SetEnabled(BUSINESSTYPE, false);
|
||
}
|
||
else
|
||
{
|
||
e.SetEnabled(BUSINESSTYPE, true);
|
||
}
|
||
}
|
||
|
||
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);
|
||
}
|
||
#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=" + ModifyType.ToString() +
|
||
"&BUSINESSTYPE=" + BUSINESSTYPE.SelectedValue.ToEncrypt());
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 新增商品按钮事件
|
||
protected void CBBNew_CallBackClick(object sender, ClientSetEventArgs e)
|
||
{
|
||
e.ClientScript = GridViewEx1.GetOpenPopDialogClientScript(string.Format(RequestUrl, "COMMODITYPage",
|
||
_HighWayProInst.HIGHWAYPROINST_ID_Encrypt, _HighWayProInst.Dept_ID.ToEncrypt(), BUSINESSTYPE.SelectedValue.ToEncrypt()));
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 导入商品按钮事件
|
||
protected void CBBImport_CallBackClick(object sender, ClientSetEventArgs e)
|
||
{
|
||
e.ClientScript = GridViewEx1.GetOpenPopDialogClientScript(string.Format(RequestUrl, "ImportCommodity",
|
||
_HighWayProInst.HIGHWAYPROINST_ID_Encrypt, _HighWayProInst.Dept_ID.ToEncrypt(), BUSINESSTYPE.SelectedValue.ToEncrypt()), 1200, 600);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 附件-显示图片列表和文件列表
|
||
public void ImgFilseList()
|
||
{
|
||
if (_HighWayProInst != null)
|
||
{
|
||
//图片列表
|
||
DataTable imgList = new HWSB.IMAGE(Transaction).FillDataTable("WHERE TABLE_ID = " +
|
||
_HighWayProInst.HIGHWAYPROINST_ID + " AND TABLE_NAME = 'T_HIGHWAYPROINST'");
|
||
|
||
ratTable.DataSource = imgList;
|
||
ratTable.DataBind();
|
||
|
||
if (imgList.Rows.Count > 0)
|
||
{
|
||
cssGroupBar.Visible = true;
|
||
}
|
||
}
|
||
}
|
||
|
||
protected void ratTable_ItemDataBound(object sender, RepeaterItemEventArgs e)
|
||
{
|
||
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
|
||
{
|
||
//ImageButton ImgShow = (ImageButton)e.Item.FindControl("ImgShow");
|
||
|
||
//ImgShow.OnClientClick = Page.GetOpenPopDialogClientScript("http://eshangtech.com/uploadPhoto/index.html?id=" +
|
||
// _HighWayProInst.KeyID + "&ReadOnly=true&tablename=HIGHWAYPROINST", "IMAGEPage", 1140, 710, true, false, true);
|
||
//加载资质附件信息
|
||
DataRowView _DataRowView = (DataRowView)e.Item.DataItem;
|
||
LinkButton LinkButton = e.Item.FindControl("LinkButton") as LinkButton;
|
||
LinkButton.ToolTip = _DataRowView["IMAGE_TITLE"].ToString();
|
||
LinkButton.Text = "<span><img src='/HighWay/Resources/v1_0/Images/4950_old-versions.png' />" +
|
||
(LinkButton.ToolTip.Length > 30 ? LinkButton.ToolTip.Substring(0, 25) + "..." : LinkButton.ToolTip) + "</span>";
|
||
LinkButton.Attributes["base-code"] = _DataRowView["IMAGE_ID"].ToEncrypt();
|
||
LinkButton.OnClientClick = Page.GetOpenWindowClientScript(_DataRowView["IMAGE_URL"].ToString(),
|
||
"QualificationFile", 2000, 900, 0, 0, true, false, false, false, false, false);
|
||
}
|
||
}
|
||
|
||
protected void LinkButton_Click(object sender, EventArgs e)
|
||
{
|
||
LinkButton LinkButton = sender as LinkButton;
|
||
//下载内容
|
||
HWSB.IMAGE _IMAGE = new HWSB.IMAGE(Transaction);
|
||
_IMAGE.Image_ID_Encrypt = LinkButton.Attributes["base-code"];
|
||
if (_IMAGE.Select())
|
||
{
|
||
//解决文件名乱码
|
||
string FileName = HttpUtility.UrlEncode(_IMAGE.IMAGE_TITLE, System.Text.Encoding.UTF8);
|
||
|
||
System.IO.MemoryStream ms = new System.IO.MemoryStream();
|
||
string uploadPath = _IMAGE.IMAGE_PATH;
|
||
HttpContext.Current.Response.Clear();
|
||
HttpContext.Current.Response.Buffer = true;
|
||
HttpContext.Current.Response.Charset = "utf-8";
|
||
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");//设置输出流为简体中文
|
||
HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format(
|
||
"attachment; filename=" + FileName, DateTime.Now.ToString("yyyyMMddHHmmssfff")));
|
||
HttpContext.Current.Response.BinaryWrite(System.IO.File.ReadAllBytes(uploadPath));
|
||
HttpContext.Current.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
|
||
HttpContext.Current.Response.End();
|
||
ms.Close();
|
||
ms.Dispose();
|
||
}
|
||
}
|
||
#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();
|
||
}
|
||
}
|
||
}
|
||
}
|