using System; using System.Configuration; using System.Data; using System.Web.UI.WebControls; using SuperMap.RealEstate.ServiceModel; using SuperMap.RealEstate.Utility; using SuperMap.RealEstate.Web.UI; using SuperMap.RealEstate.Web.UI.WebControls; using Business = SuperMap.RealEstate.SendRec.Storage.Business; using HWSB = SuperMap.RealEstate.HighWay.Storage.Business; using HCC = HZQR.Common.Common; using HZQR.Common; namespace SuperMap.RealEstate.SendRec.Modules.MerchantsManage { public partial class MERCHANTSPage : SuperMap.RealEstate.Web.UI.Page { protected string postUrl = ConfigurationManager.AppSettings["postUrl"]; protected string USER_NAME = ConfigurationManager.AppSettings["USER_NAME"]; #region 方法 -> 页面加载 protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; //如果页面只读或只是上传附件,则隐藏“保存”和“删除”按钮 if (Request["readonly"] == "true" || Request["upload"] == "true" || (!PassportInfo.UserName.Contains("system") && !PassportInfo.UserName.Contains("admin") && !USER_NAME.Contains("'" + PassportInfo.Name + "'"))) { ButtonSave.Visible = false; ButtonDelete.Visible = false; } //载入数据 ButtonDelete.Enabled = MERCHANTS1.LoadData(); if (MERCHANTS1.CurrObject.MERCHANTS_ID != null) { //如果供应商未审核,且当前账号是内部人员,则允许手动修改审核状态 if (MERCHANTS1.CurrObject.MERCHANTS_CATEGORY == null && (PassportInfo.UserName.Contains("system") || PassportInfo.UserName.Contains("admin") || USER_NAME.Contains("'" + PassportInfo.Name + "'"))) { BtnApprove.Visible = true; } //显示关联的服务区列表 fieldset_sp.Visible = true; ShowServerpartList(MERCHANTS1.CurrObject.KeyID); //显示附件列表 fieldset_attachment.Visible = true; //绑定附件列表 TABLE_ID.Text = MERCHANTS1.CurrObject.KeyID; TABLE_NAME.Text = "T_MERCHANTS"; BindRepick(); //查询审批信息 HWSB.MODIFYFROMSTORAGE _MODIFYFROMSTORAGE = new HWSB.MODIFYFROMSTORAGE(Transaction); _MODIFYFROMSTORAGE.AddSearchParameter("TABLE_NAME", "T_MERCHANTS"); _MODIFYFROMSTORAGE.AddSearchParameter("FIELD_NAME", "MERCHANTS_ID"); _MODIFYFROMSTORAGE.AddSearchParameter("FIELD_VALUE", MERCHANTS1.CurrObject.MERCHANTS_ID); if (_MODIFYFROMSTORAGE.Search()) { //显示审批列表 cssGroupBar_SP.Visible = true; //绑定审批列表 HIGHWAYPROINST_ID.Text = _MODIFYFROMSTORAGE.HIGHWAYPROINST_ID.ToString(); //初始化并加载列表 GridViewEx1.SelectingWithInit(ObjectDataSource1, null); } if (!string.IsNullOrWhiteSpace(Request["SERVERPART_ID"]) && Request["SERVERPART_ID"].ToDecrypt().Split(',').Length == 1) { //如果是从服务区树节点点击进来查看的数据,则显示移除服务区关联按钮 BtnRemove.Visible = true; } //显示供应商品的按钮 BtnSearchGoods.Visible = true; BtnSearchGoods.OnClientClick = GetOpenPopDialogClientScript( "RawMaterial/RTSupplierRawList.aspx?MERCHANTS_ID=" + MERCHANTS1.CurrObject.MERCHANTS_ID_Encrypt + "&SERVERPART_ID=" + Request["SERVERPART_ID"] + "&PROVINCE_CODE=" + Request["PROVINCE_CODE"] + "&MERCHANTS_NAME=" + MERCHANTS1.CurrObject.MERCHANTS_NAME.ToEncrypt(), "RTSupplierRawList", 1000, 800); } //设置删除提示 SetControlConfirm(ButtonDelete, "您确认删除该记录,删除后将无法恢复数据?"); //设置按钮状态 SetControlClientAction(ButtonSave); SetControlClientAction(BtnApprove, false); SetControlClientAction(BtnRemove, false); //注册遮罩式窗口关闭脚本 SetControlClosePopDialog(ButtonClose); } #endregion #region 方法 -> 绑定关联的服务区列表 public void ShowServerpartList(string MerchantId) { string sql = string.Format(@"SELECT A.SERVERPART_ID,A.SERVERPART_NAME FROM HIGHWAY_STORAGE.T_SERVERPART A WHERE EXISTS (SELECT 1 FROM HIGHWAY_STORAGE.T_AUTOTYPE B, HIGHWAY_STORAGE.T_RTAUTOTYPE C WHERE A.SERVERPART_ID = B.SERVERPART_ID AND B.AUTOTYPE_ID = C.AUTOTYPE_ID AND C.MERCHANTS_ID = {0}) ORDER BY A.SPREGIONTYPE_INDEX,A.SERVERPART_INDEX,A.SERVERPART_CODE", MerchantId); DataTable dt = new HWSB.SERVERPART(Transaction).ExecuteDataTable(sql); rtServerpart.DataSource = dt; rtServerpart.DataBind(); } #endregion #region 方法 -> 保存按钮事件 protected void ButtonSave_Click(object sender, EventArgs e) { try { //刷新类型 bool _RefreshType = MERCHANTS1.Save(); //刷新弹出页列表 RefreshOpenerGridPage(_RefreshType ? RefreshGridPageType.Update : RefreshGridPageType.Insert); //提示信息 Alert("保存成功!", 3); ClosePopDialog(); } catch (Exception ex) { //回滚事务 Transaction.Rollback(); //记录日志 ErrorLogHelper.Write(ex); #if DEBUG Alert("保存失败!可能的原因:\n" + ex.Message); #else Alert("保存失败!"); #endif } } #endregion #region 方法 -> 删除商户类型事件 protected void ButtonDelete_Click(object sender, EventArgs e) { try { //删除数据 MERCHANTS1.DeleteData(); //刷新弹出页列表 RefreshOpenerGridPage(RefreshGridPageType.Delete); //操作结束,弹出提示信息 Alert("删除成功!", 3); ClosePopDialog(); } catch (Exception ex) { //回滚事务 Transaction.Rollback(); //记录日志 ErrorLogHelper.Write(ex); #if DEBUG Alert("删除失败!可能的原因:\n" + ex.Message); #else Alert("删除失败!"); #endif } } #endregion #region 方法 -> 绑定附件列表 private void BindRepick() { //查询附件表数据,查询条件:数据表内码【TABLE_ID】、数据表名称【TABLE_NAME】,数据值已经在Page_Load中绑定 RepeaterFile.DataSource = new Business.ATTACHMENT(Transaction).FillDataTable( "WHERE TABLE_ID = " + TABLE_ID.Text + " AND TABLE_NAME = '" + TABLE_NAME.Text + "'"); RepeaterFile.DataBind(); } #endregion #region 方法 -> 附件行绑定事件 protected void RepeaterFile_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.SelectedItem) { DataRowView rowv = (DataRowView)e.Item.DataItem; //附件链接 LinkButton LinkButton = e.Item.FindControl("LinkButton") as LinkButton; LinkButton.ToolTip = rowv["ATTACHMENT_NAME"].ToString(); LinkButton.Text = "" + (LinkButton.ToolTip.Length > 30 ? LinkButton.ToolTip.Substring(0, 25) + "..." : LinkButton.ToolTip) + ""; LinkButton.Attributes["base-code"] = rowv["ATTACHMENT_ID"].ToEncrypt(); //删除按钮 LinkButton DelButton = e.Item.FindControl("DelButton") as LinkButton; if (Request["readonly"] == "true") { //如果页面只读,则隐藏删除附件按钮 DelButton.Visible = false; } else { DelButton.Text = ""; DelButton.Attributes["base-code"] = rowv["ATTACHMENT_ID"].ToEncrypt(); //设置删除提示 SetControlConfirm(DelButton, "您确认删除该附件,删除后将无法恢复数据?"); } } } #endregion #region 方法 -> 附件下载事件 protected void LinkButton_Click(object sender, EventArgs e) { LinkButton LinkButton = sender as LinkButton; //根据内码查询附件数据对象 Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(Transaction); _ATTACHMENT.ATTACHMENT_ID_Encrypt = LinkButton.Attributes["base-code"]; if (_ATTACHMENT.Select()) { //弹出附件链接地址,如果是图片或者文本,可以直接预览内容;否则将下载文件到本地 Open(_ATTACHMENT.ATTACHMENT_URL, "AttachmentPage", 2000, 2000, 0, 0, true, true, false, false, false, false, true); } } #endregion #region 方法 -> 附件删除事件 protected void DelButton_Click(object sender, EventArgs e) { try { LinkButton LinkButton = sender as LinkButton; Business.ATTACHMENT _ATTACHMENT = new Business.ATTACHMENT(Transaction); _ATTACHMENT.ATTACHMENT_ID_Encrypt = LinkButton.Attributes["base-code"].ToString(); if (_ATTACHMENT.Select()) { //删除附件之前,更新操作人的信息,保存是谁删除的附件 _ATTACHMENT.STAFF_ID = PassportInfo.ID; _ATTACHMENT.STAFF_NAME = PassportInfo.Name; _ATTACHMENT.OPERATE_DATE = long.Parse(DateTime.Now.ToString("yyyyMMddHHmmss")); _ATTACHMENT.Update(); if (Request["DelFile"].TryParseToBool()) { //删除指定服务器上的文件 HCC.CommonHelper.DelFileFromServer(_ATTACHMENT.ATTACHMENT_PATH, _ATTACHMENT.ATTACHMENT_NAME, postUrl + "FileUpload.ashx"); } //从数据库删除记录 _ATTACHMENT.Delete(); } //重新绑定附件列表 BindRepick(); Alert("删除成功!"); } catch (Exception ex) { Alert(ex.Message); } } #endregion #region 方法 -> 绑定审批信息 //查询SQL设置 protected void GridViewEx1_SelectMethodParameters(object sender, SelectMethodParametersArgs e) { //搜索选项的搜索条件过滤 if (HIGHWAYPROINST_ID.Text != "") { e.AddAndParams("HIGHWAYPROINST_ID", HIGHWAYPROINST_ID.Text); e.AddOrderByParams("APPROVED_DATE", true); } else { e.AddAndParams("1", 2); } } #endregion #region 方法 -> 移除关联按钮点击事件 protected void BtnRemove_Click(object sender, EventArgs e) { if (!string.IsNullOrWhiteSpace(Request["SERVERPART_ID"])) { string _MERCHANTS_ID = (MERCHANTS1.FindControl("MERCHANTS_ID") as TextBoxEx).Text; string SQLString = string.Format(@"DELETE FROM HIGHWAY_STORAGE.T_RTAUTOTYPE A WHERE A.MERCHANTS_ID = {1} AND EXISTS (SELECT 1 FROM HIGHWAY_STORAGE.T_AUTOTYPE B WHERE A.AUTOTYPE_ID = B.AUTOTYPE_ID AND B.SERVERPART_ID = {0})", Request["SERVERPART_ID"].ToDecrypt(), _MERCHANTS_ID); new HWSB.RTAUTOTYPE(Transaction).ExecuteNonQuery(SQLString, null); //刷新弹出页列表 RefreshOpenerGridPage(RefreshGridPageType.Delete); Alert("移除成功!", 3); //关闭窗口 ClosePopDialog(); } } #endregion #region 方法 -> 审核供应商数据,可以提供给用户选择关联 protected void BtnApprove_Click(object sender, EventArgs e) { MERCHANTS1.ApproveSupplier(); BtnApprove.Visible = false; //刷新弹出页列表 RefreshOpenerGridPage(RefreshGridPageType.Update); Alert("审核通过!"); } #endregion } }