using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using GThinking.N_MODEL.Page; using GThinking.N_MISPRO.Data; using GThinking.N_MISPRO; using GThinking.N_MISPRO.Utility; using System.Text; using GThinking.N_CONTROL; namespace GThinking.N_XLJC { public partial class CPMLList : SingleGridBase { CPML entity = new CPML(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 101421007; this.UMName = "线缆产品目录"; this.CurMaster = Master; this.ModuleGV = grdCPML; this.CurEntity = entity; this.sURLTarget = "CPMLInfo.aspx"; this.PageHeight = 600; this.PageWidth = 750; base.DataKeyNames = new string[] { "XLXSCPML_CPMLID"}; this.Master.EnableQueryBtn = false; this.CanDeleteCheckedRows = true; base.InitPage(); if (!IsPostBack) { Master_OnStandardQuery(null, null); } } #region 模板事件 protected override void Master_OnStandardQuery(object sender, EventArgs e) { entity.EntityTable.QuerySelSql = GetSql(); base.Master_OnStandardQuery(sender, e); entity.GridDataBind(grdCPML, tSession); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { entity.EntityTable.QuerySelSql = GetSql(); base.moduleGV_PageIndexChanging(sender, e); grdCPML.SelectedIndex = -1; } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if ((e.Row.Cells[3].Text.Trim() != "") && (e.Row.Cells[3].Text.Trim() != " ")) { if (e.Row.Cells[3].Text.Trim().Equals("Y")) e.Row.Cells[3].Text = "组合产品目录"; else if (e.Row.Cells[3].Text.Trim().Equals("N")) e.Row.Cells[3].Text = "单一产品目录"; } if ((e.Row.Cells[4].Text.Trim() != "") && (e.Row.Cells[4].Text.Trim() != " ")) { e.Row.Cells[4].Text = GetCPMLXX(e.Row.Cells[4].Text.Trim()); } LinkPageParam.AddString("XLXSCPML_CPMLID", grdCPML.DataKeys[e.Row.RowIndex]["XLXSCPML_CPMLID"].ToString().Trim()); } base.moduleGV_RowDataBound(sender, e); } protected override void BeforeDelete(TDatabase db, ref bool ActionIsDone) { entity.Param.Add("XLXSCPML_CPMLID", grdCPML.DataKeys[grdCPML.SelectedIndex]["XLXSCPML_CPMLID"].ToString().Trim()); base.BeforeDelete(db, ref ActionIsDone); } protected override bool Master_BeforeDeleteAction(object sender, EventArgs e) { if (!base.Master_BeforeDeleteAction(sender, e)) { return false; } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSCPML where isnull(XLXSCPML_CPMLIDS,' ')<>' ' and ','||rtrim(XLXSCPML_CPMLIDS)||',' like '{0}'", "%," + grdCPML.DataKeys[grdCPML.SelectedIndex]["XLXSCPML_CPMLID"].ToString().Trim() + ",%"))) { ShowMessage("已被组合产品目录引用,不允许删除!"); return false; } string sCPMLID = grdCPML.DataKeys[grdCPML.SelectedIndex]["XLXSCPML_CPMLID"].ToString().Trim(); //XLJGCZBML_CPMLID string sSQL = string.Format("select top 1 XLJGCZBML_JGCZBID from XLJGCZBML where XLJGCZBML_CPMLID = '{0}' ", sCPMLID); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("已被线缆结构尺重表目录使用,不允许删除!"); return false; } //XLXSBJXHML_CPMLID sSQL = string.Format("select top 1 XLXSBJXHML_XLXHID from XLXSBJXHML where XLXSBJXHML_CPMLID = '{0}' ", sCPMLID); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("已被线缆销售报价型号目录使用,不允许删除!"); return false; } //XLXSBJTJXHML_CPMLID sSQL = string.Format("select top 1 XLXSBJTJXHML_XLXHID from XLXSBJTJXHML where XLXSBJTJXHML_CPMLID = '{0}' ", sCPMLID); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("已被线缆销售报价调价型号目录使用,不允许删除!"); return false; } return true; } protected override bool Master_AfterDeleteAction(object sender, EventArgs e) { if (!base.Master_AfterDeleteAction(sender, e)) { return false; } entity.EntityTable.QuerySelSql = GetSql(); entity.GridDataBind(grdCPML, tSession); grdCPML.SelectedIndex = -1; return true; } #endregion #region 自定义函数 private string GetSql() { StringBuilder strSQL = new StringBuilder(); strSQL.AppendLine(" select XLXSCPML_CPMLID,XLXSCPML_CPMLMC,XLXSCPML_CPMLLX,XLXSCPML_CPMLIDS,isnull(XLXSCPML_SJY,'N') AS XLXSCPML_SJY,isnull(XLXSCPML_BJY,'N') AS XLXSCPML_BJY,isnull(XLXSCPML_TJY,'N') AS XLXSCPML_TJY,"); strSQL.AppendLine(" XLXSCPML_XSXH,XLXSCPML_QYRQ,XLXSCPML_TYBZ,XLXSCPML_TYRQ,XLXSCPML_BZ,XLXSCPML_WHR,XLXSCPML_WHRID,XLXSCPML_WHSJ,XLXSCPML_FZR"); strSQL.AppendLine(" from XLXSCPML where 1=1 order by XLXSCPML_XSXH,XLXSCPML_CPMLID"); return strSQL.ToString(); } private string GetCPMLXX(string sCPMLIDList) { string[] sCPMLIDs = sCPMLIDList.Trim().Split(','); string Result = ""; for (int i = 0; i < sCPMLIDs.Length; i++) { Result += sCPMLIDs[i].Trim() + "|" + GetCPMLMC(sCPMLIDs[i].Trim()) + ","; } return Result.TrimEnd(','); } private string GetCPMLMC(string sCPMLID) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add("select XLXSCPML_CPMLMC from XLXSCPML where XLXSCPML_CPMLID=:pCPMLID "); sql.ParamByName("pCPMLID").Value = sCPMLID.Trim(); DataSet ds = dberp.OpenDataSet(sql); string sCPMLMC = ""; if (ds.Tables[0].Rows.Count > 0) { sCPMLMC = ds.Tables[0].Rows[0][0].ToString().Trim(); } return sCPMLMC; } #endregion #region 控件事件 protected void btnSYXHDY_DropDown(object sender, EventArgs e) { btnSYXHDY.Nodes.Clear(); btnSYXHDY.Nodes.Add(new gtTreeNode("BJ", "对外展示")); btnSYXHDY.Nodes.Add(new gtTreeNode("BJZCLDR", "自材料清单导入", "BJ")); btnSYXHDY.Nodes.Add(new gtTreeNode("BJDR", "EXCEL导入", "BJ")); btnSYXHDY.Nodes.Add(new gtTreeNode("TJ", "调价")); btnSYXHDY.Nodes.Add(new gtTreeNode("TJZCLDR", "自材料清单导入", "TJ")); btnSYXHDY.Nodes.Add(new gtTreeNode("TJDR", "EXCEL导入", "TJ")); MenuAreaUpdate(); } protected void btnSYXHDY_MenuItemClick(object sender, string value) { TPageParams pageParams = new TPageParams(); switch (value) { //对外展示 case "BJ": if (grdCPML.SelectedIndex >= 0) { if (CMISproDataBase.ExistsRecord("DBERP", " select XLXSCPML_CPMLID from XLXSCPML WHERE (isnull(XLXSCPML_CPMLLX,' ')='Y' or isnull(XLXSCPML_BJY,'N') <> 'Y') and XLXSCPML_CPMLID='" + grdCPML.DataKeys[grdCPML.SelectedIndex]["XLXSCPML_CPMLID"].ToString().Trim() + "'")) { ShowMessage("请选择单一产品目录,且对外展示已被勾选的记录!"); return; } } pageParams.UrlPath = "CPML_XHMLList.aspx"; if (grdCPML.SelectedIndex >= 0) { pageParams.AddString("CPMLID", grdCPML.DataKeys[grdCPML.SelectedIndex]["XLXSCPML_CPMLID"].ToString().Trim()); } OpenModuleDialog(101421007, pageParams); break; //对外展示-自材料清单导入 case "BJZCLDR": if (grdCPML.SelectedIndex < 0) { ShowMessage("请选择记录!"); return; } if (CMISproDataBase.ExistsRecord("DBERP", " select XLXSCPML_CPMLID from XLXSCPML WHERE (isnull(XLXSCPML_CPMLLX,' ')='Y' or isnull(XLXSCPML_BJY,'N') <> 'Y') and XLXSCPML_CPMLID='" + grdCPML.DataKeys[grdCPML.SelectedIndex]["XLXSCPML_CPMLID"].ToString().Trim() + "'")) { ShowMessage("请选择单一产品目录,且对外展示已被勾选的记录!"); return; } pageParams.UrlPath = "CPML_PLDRList.aspx"; pageParams.AddString("CPMLID", grdCPML.DataKeys[grdCPML.SelectedIndex]["XLXSCPML_CPMLID"].ToString().Trim()); pageParams.AddString("XHMLLB", "BJ"); OpenModuleDialog(101421007, pageParams); break; //对外展示-EXCEL导入 case "BJDR": if (grdCPML.SelectedIndex >= 0) { if (CMISproDataBase.ExistsRecord("DBERP", " select XLXSCPML_CPMLID from XLXSCPML WHERE (isnull(XLXSCPML_CPMLLX,' ')='Y' or isnull(XLXSCPML_BJY,'N') <> 'Y' ) and XLXSCPML_CPMLID='" + grdCPML.DataKeys[grdCPML.SelectedIndex]["XLXSCPML_CPMLID"].ToString().Trim() + "'")) { ShowMessage("请选择单一产品目录,且对外展示已被勾选的记录!"); return; } } pageParams.UrlPath = "CPML_DRInfo.aspx"; OpenDialog(pageParams); break; //调价 case "TJ": if (grdCPML.SelectedIndex >= 0) { if (CMISproDataBase.ExistsRecord("DBERP", " select XLXSCPML_CPMLID from XLXSCPML WHERE (isnull(XLXSCPML_CPMLLX,' ')='Y' or isnull(XLXSCPML_TJY,'N') <> 'Y') and XLXSCPML_CPMLID='" + grdCPML.DataKeys[grdCPML.SelectedIndex]["XLXSCPML_CPMLID"].ToString().Trim() + "'")) { ShowMessage("请选择单一产品目录,且调价已被勾选的记录!"); return; } } pageParams.UrlPath = "CPML_TJXHMLList.aspx"; if (grdCPML.SelectedIndex >= 0) { pageParams.AddString("CPMLID", grdCPML.DataKeys[grdCPML.SelectedIndex]["XLXSCPML_CPMLID"].ToString().Trim()); } OpenModuleDialog(101421007, pageParams); break; //调价-自材料清单导入 case "TJZCLDR": if (grdCPML.SelectedIndex < 0) { ShowMessage("请选择记录!"); return; } if (CMISproDataBase.ExistsRecord("DBERP", " select XLXSCPML_CPMLID from XLXSCPML WHERE (isnull(XLXSCPML_CPMLLX,' ')='Y' or isnull(XLXSCPML_TJY,'N') <> 'Y') and XLXSCPML_CPMLID='" + grdCPML.DataKeys[grdCPML.SelectedIndex]["XLXSCPML_CPMLID"].ToString().Trim() + "'")) { ShowMessage("请选择单一产品目录,且调价已被勾选的记录!"); return; } pageParams.UrlPath = "CPML_PLDRList.aspx"; pageParams.AddString("CPMLID", grdCPML.DataKeys[grdCPML.SelectedIndex]["XLXSCPML_CPMLID"].ToString().Trim()); pageParams.AddString("XHMLLB", "TJ"); OpenModuleDialog(101421007, pageParams); break; //调价-EXCEL导入 case "TJDR": if (grdCPML.SelectedIndex >= 0) { if (CMISproDataBase.ExistsRecord("DBERP", " select XLXSCPML_CPMLID from XLXSCPML WHERE (isnull(XLXSCPML_CPMLLX,' ')='Y' or isnull(XLXSCPML_TJY,'N') <> 'Y' ) and XLXSCPML_CPMLID='" + grdCPML.DataKeys[grdCPML.SelectedIndex]["XLXSCPML_CPMLID"].ToString().Trim() + "'")) { ShowMessage("请选择单一产品目录,且调价已被勾选的记录!"); return; } } pageParams.UrlPath = "CPML_TJDRInfo.aspx"; OpenDialog(pageParams); break; } } #endregion } }