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; using GThinking.N_WORKFLOW; using GThinking.N_MISPRO.Data; using GThinking.N_MISPRO.Utility; using GThinking.N_PUBLIC; using GThinking.N_MISPRO.TableCache; using GThinking.N_CONTROL; using System.Collections.Generic; namespace GThinking.N_XLJC { public partial class XLDYDJList : SingleGridBase { XLDYDJ entity = new XLDYDJ(); #region 页面初始化 protected void Page_Load(object sender, EventArgs e) { this.UMID = 101421001; this.UMName = "线缆电压等级"; this.CurMaster = Master; this.ModuleGV = this.ContentGrid; this.CurEntity = entity; this.PageHeight = 500; this.PageWidth = 700; this.sURLTarget = "XLDYDJInfo.aspx"; base.DataKeyNames = new string[] { "XLDYDJB_DYDJID" }; this.Master.EnableAttachBtn = false; this.Master.EnableWorkflowBtn = false; this.Master.EnableQueryBtn = false; base.InitPage(); if (!IsPostBack) { Master_OnStandardQuery(null, null); } } #endregion #region 模板继承事件 protected override void Master_OnStandardQuery(object sender, EventArgs e) { //base.InitEntityByCondition(); base.Master_OnStandardQuery(sender, e); entity.EntityTable.QuerySelSql = GetQuerySQL(); entity.GridDataBind(ContentGrid, tSession); ContentGrid.SelectedIndex = -1; } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { // base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySQL(); base.moduleGV_PageIndexChanging(sender, e); ContentGrid.SelectedIndex = -1; } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { LinkPageParam.AddString("XLDYDJB_DYDJID", ContentGrid.DataKeys[e.Row.RowIndex]["XLDYDJB_DYDJID"].ToString().Trim()); } base.moduleGV_RowDataBound(sender, e); } protected override bool Master_BeforeDeleteAction(object sender, EventArgs e) { if (!CanDelete(ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLDYDJB_DYDJID"].ToString().Trim())) { ShowMessage("线缆电压等级已被使用,不允许删除!"); return false; } return base.Master_BeforeDeleteAction(sender, e); } protected override void BeforeDelete(TDatabase db, ref bool ActionIsDone) { this.CurEntity.Param.Add("OLD_XLDYDJB_DYDJID", ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLDYDJB_DYDJID"].ToString().Trim()); base.BeforeDelete(db, ref ActionIsDone); } protected override bool Master_AfterDeleteAction(object sender, EventArgs e) { moduleGV_PageIndexChanging(null, null); return base.Master_AfterDeleteAction(sender, e); } #endregion #region 控件事件 protected void btnSZQS_MenuItemClick(object sender, string ItemIndex) { int index = Int32.Parse(ItemIndex); switch (index) { case 0: btnSCQS_Click(sender, null); break; } } protected void btnDRQS_Click(object sender, EventArgs e) { string[,] arrray = new string[83, 6]{ {"--","-","0","0","不标注","--"}, {"110/110V","V","110","110","低压","AC"}, {"220/220V","V","220","220","低压","AC"}, {"250V","V","250","0","低压","AC"}, {"300/300V","V","300","300","低压","AC"}, {"250/440V","V","240","440","低压","AC"}, {"300/500V","V","300","500","低压","AC"}, {"500/500V","V","500","500","低压","AC"}, {"600V","V","600","0","低压","AC"}, {"0.38/0.66kV","kV","0.38","0.66","低压","AC"}, {"450/750V","V","450","750","低压","AC"}, {"750V","V","750","0","低压","AC"}, {"0.6/1kV","kV","0.6","1","低压","AC"}, {"1kV","kV","1","0","低压","AC"}, {"0.66/1.14kV","kV","0.66","1.14","低压","AC"}, {"1.5/1.5kV","kV","1.5","1.5","低压","AC"}, {"1.8/3kV","kV","1.8","3","低压","AC"}, {"3/3kV","kV","3","3","低压","AC"}, {"1.9/3.3kV","kV","1.9","3.3","低压","AC"}, {"3.6/6kV","kV","3.6","6","低压","AC"}, {"6/6kV","kV","6","6","中压","AC"}, {"6/10kV","kV","6","10","中压","AC"}, {"8.7/10kV","kV","8.7","10","中压","AC"}, {"8.7/15kV","kV","8.7","15","中压","AC"}, {"12/15kV","kV","12","15","中压","AC"}, {"12/20kV","kV","12","20","中压","AC"}, {"18/20kV","kV","18","20","中压","AC"}, {"18/30kV","kV","18","30","中压","AC"}, {"21/35kV","kV","21","35","中压","AC"}, {"26/35kV","kV","26","36","中压","AC"}, {"26/45kV","kV","26","45","中压","AC"}, {"50kV","kV","50","0","高压","AC"}, {"36/63kV","kV","36","63","高压","AC"}, {"64/110kV","kV","64","110","高压","AC"}, {"75kV","kV","75","0","高压","AC"}, {"100kV","kV","100","0","高压","AC"}, {"110kV","kV","100","0","高压","AC"}, {"125kV","kV","125","0","高压","AC"}, {"132kV","kV","132","0","高压","AC"}, {"150kV","kV","150","0","高压","AC"}, {"154kV","kV","154","0","高压","AC"}, {"200kV","kV","200","0","高压","AC"}, {"220kV","kV","220","0","高压","AC"}, {"275kV","kV","275","0","高压","AC"}, {"330kV","kV","330","0","高压","AC"}, {"500kV","kV","500","0","高压","AC"}, {"750kV","kV","750","0","高压","AC"}, {"5V","V","5","0","低压","AC"}, {"10kV","kV","10","0","中压","AC"}, {"300V","V","300","0","低压","AC"}, {"690V","V","690","0","低压","AC"}, {"DC-1000V","V","1000","0","低压","DC"}, {"DC-1500V","V","1500","0","低压","DC"}, {"DC-2000V","V","2000","0","低压","DC"}, {"1.2/2kV","kV","1.2","2","低压","AC"}, {"DC-3000V","V","3000","0","低压","DC"}, {"DC-3300V","V","3300","0","低压","DC"}, {"3.8/6.6kV","kV","3.8","6.6","低压","AC"}, {"DC-5000V","V","5000","0","低压","DC"}, {"5kV","kV","5","0","低压","AC"}, {"DC-6600V","V","6600","0","低压","DC"}, {"20kV","kV","20","0","中压","AC"}, {"27.5kV","kV","27.5","0","中压","AC"}, {"30kV","kV","30","0","中压","AC"}, {"35kV","kV","35","0","中压","AC"}, {"37/66kV","kV","37","66","高压","AC"}, {"38/66kV","kV","38","66","高压","AC"}, {"48/66kV","kV","48","66","高压","AC"}, {"50/66kV","kV","50","66","高压","AC"}, {"76/132kV","kV","76","132","高压","AC"}, {"127/220kV","kV","127","220","高压","AC"}, {"290/500kV","kV","290","500","高压","AC"}, {"500V","V","500","0","低压","AC"}, {"DC-1800V","V","1800","0","低压","DC"}, {"DC-3600V","V","3600","0","低压","DC"}, {"DC-30kV","kV","30","0","中压","DC"}, {"6.35/11kV","kV","6.35","11","中压","AC"}, {"12.7/22kV","kV","12.7","22","中压","AC"}, {"87/150kV","kV","87","150","高压","AC"}, {"133/230kV","kV","133","230","高压","AC"}, {"12/22kV","kV","12","22","中压","AC"}, {"0.4kV","kV","0.4","0","低压","AC"}, {"19/33kV","kV","19","33","中压","AC"} }; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); try { dberp.BeginTrans(); for (int i = 0; i < 83; i++) { if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLDYDJB where XLDYDJB_DYDJID = '{0}' and XLDYDJB_ACDC = '{1}' ", arrray[i, 0], arrray[i, 5]))) { sql.Clear(); sql.Add(" insert into XLDYDJB ("); sql.Add(" XLDYDJB_DYDJID,XLDYDJB_DYJLDW,XLDYDJB_XXLXDY,XLDYDJB_XXXXDY,XLDYDJB_DYDJFL, "); sql.Add(" XLDYDJB_QYRQ,XLDYDJB_TYBZ,XLDYDJB_WHRID,XLDYDJB_WHR,XLDYDJB_WHSJ,XLDYDJB_ACDC "); sql.Add(" ) values ( "); sql.Add(" :XLDYDJB_DYDJID,:XLDYDJB_DYJLDW,:XLDYDJB_XXLXDY,:XLDYDJB_XXXXDY,:XLDYDJB_DYDJFL, "); sql.Add(" :XLDYDJB_QYRQ,:XLDYDJB_TYBZ,:XLDYDJB_WHRID, :XLDYDJB_WHR, :XLDYDJB_WHSJ, :XLDYDJB_ACDC"); sql.Add(" )"); sql.ParamByName("XLDYDJB_DYDJID").Value = arrray[i, 0]; sql.ParamByName("XLDYDJB_DYJLDW").Value = arrray[i, 1]; sql.ParamByName("XLDYDJB_XXLXDY").Value = arrray[i, 2]; sql.ParamByName("XLDYDJB_XXXXDY").Value = arrray[i, 3]; sql.ParamByName("XLDYDJB_DYDJFL").Value = arrray[i, 4]; sql.ParamByName("XLDYDJB_ACDC").Value = arrray[i, 5]; sql.ParamByName("XLDYDJB_QYRQ").Value = CMISproConvert.ConvertTime(DateTime.Now); sql.ParamByName("XLDYDJB_TYBZ").Value = "N"; sql.ParamByName("XLDYDJB_WHRID").Value = tSession.UserId; sql.ParamByName("XLDYDJB_WHR").Value = tSession.UserName; sql.ParamByName("XLDYDJB_WHSJ").Value = CMISproConvert.ConvertTime(DateTime.Now); dberp.ExecSQL(sql); } } dberp.CommitTrans(); ShowMessage("导入缺省成功!"); Master_OnStandardQuery(null, null); FormAreaUpdate(); } catch (Exception ex) { ShowMessage("导入失败,原因:" + ex.Message); dberp.RollbackTrans(); return; } } protected void btnSCQS_Click(object sender, EventArgs e) { string[,] arrray = new string[83, 6]{ {"--","-","0","0","不标注","--"}, {"110/110V","V","110","110","低压","AC"}, {"220/220V","V","220","220","低压","AC"}, {"250V","V","250","0","低压","AC"}, {"300/300V","V","300","300","低压","AC"}, {"250/440V","V","240","440","低压","AC"}, {"300/500V","V","300","500","低压","AC"}, {"500/500V","V","500","500","低压","AC"}, {"600V","V","600","0","低压","AC"}, {"0.38/0.66kV","kV","0.38","0.66","低压","AC"}, {"450/750V","V","450","750","低压","AC"}, {"750V","V","750","0","低压","AC"}, {"0.6/1kV","kV","0.6","1","低压","AC"}, {"1kV","kV","1","0","低压","AC"}, {"0.66/1.14kV","kV","0.66","1.14","低压","AC"}, {"1.5/1.5kV","kV","1.5","1.5","低压","AC"}, {"1.8/3kV","kV","1.8","3","低压","AC"}, {"3/3kV","kV","3","3","低压","AC"}, {"1.9/3.3kV","kV","1.9","3.3","低压","AC"}, {"3.6/6kV","kV","3.6","6","低压","AC"}, {"6/6kV","kV","6","6","中压","AC"}, {"6/10kV","kV","6","10","中压","AC"}, {"8.7/10kV","kV","8.7","10","中压","AC"}, {"8.7/15kV","kV","8.7","15","中压","AC"}, {"12/15kV","kV","12","15","中压","AC"}, {"12/20kV","kV","12","20","中压","AC"}, {"18/20kV","kV","18","20","中压","AC"}, {"18/30kV","kV","18","30","中压","AC"}, {"21/35kV","kV","21","35","中压","AC"}, {"26/35kV","kV","26","36","中压","AC"}, {"26/45kV","kV","26","45","中压","AC"}, {"50kV","kV","50","0","高压","AC"}, {"36/63kV","kV","36","63","高压","AC"}, {"64/110kV","kV","64","110","高压","AC"}, {"75kV","kV","75","0","高压","AC"}, {"100kV","kV","100","0","高压","AC"}, {"110kV","kV","100","0","高压","AC"}, {"125kV","kV","125","0","高压","AC"}, {"132kV","kV","132","0","高压","AC"}, {"150kV","kV","150","0","高压","AC"}, {"154kV","kV","154","0","高压","AC"}, {"200kV","kV","200","0","高压","AC"}, {"220kV","kV","220","0","高压","AC"}, {"275kV","kV","275","0","高压","AC"}, {"330kV","kV","330","0","高压","AC"}, {"500kV","kV","500","0","高压","AC"}, {"750kV","kV","750","0","高压","AC"}, {"5V","V","5","0","低压","AC"}, {"10kV","kV","10","0","中压","AC"}, {"300V","V","300","0","低压","AC"}, {"690V","V","690","0","低压","AC"}, {"DC-1000V","V","1000","0","低压","DC"}, {"DC-1500V","V","1500","0","低压","DC"}, {"DC-2000V","V","2000","0","低压","DC"}, {"1.2/2kV","kV","1.2","2","低压","AC"}, {"DC-3000V","V","3000","0","低压","DC"}, {"DC-3300V","V","3300","0","低压","DC"}, {"3.8/6.6kV","kV","3.8","6.6","低压","AC"}, {"DC-5000V","V","5000","0","低压","DC"}, {"5kV","kV","5","0","低压","AC"}, {"DC-6600V","V","6600","0","低压","DC"}, {"20kV","kV","20","0","中压","AC"}, {"27.5kV","kV","27.5","0","中压","AC"}, {"30kV","kV","30","0","中压","AC"}, {"35kV","kV","35","0","中压","AC"}, {"37/66kV","kV","37","66","高压","AC"}, {"38/66kV","kV","38","66","高压","AC"}, {"48/66kV","kV","48","66","高压","AC"}, {"50/66kV","kV","50","66","高压","AC"}, {"76/132kV","kV","76","132","高压","AC"}, {"127/220kV","kV","127","220","高压","AC"}, {"290/500kV","kV","290","500","高压","AC"}, {"500V","V","500","0","低压","AC"}, {"DC-1800V","V","1800","0","低压","DC"}, {"DC-3600V","V","3600","0","低压","DC"}, {"DC-30kV","kV","30","0","中压","DC"}, {"6.35/11kV","kV","6.35","11","中压","AC"}, {"12.7/22kV","kV","12.7","22","中压","AC"}, {"87/150kV","kV","87","150","高压","AC"}, {"133/230kV","kV","133","230","高压","AC"}, {"12/22kV","kV","12","22","中压","AC"}, {"0.4kV","kV","0.4","0","低压","AC"}, {"19/33kV","kV","19","33","中压","AC"} }; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); int k = 0; int m = 0; try { dberp.BeginTrans(); sql.Clear(); //改善速度可直接查询ID为值域的数据 sql.Add(" select XLDYDJB_DYDJID,XLDYDJB_ACDC from XLDYDJB where 1 = 1 and isnull(XLDYDJB_TYBZ,'N')='N' "); DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { for (int j = 0; j < ds.Tables[0].Rows.Count; j++) { for (int i = 0; i < 83; i++) { if (arrray[i, 0].ToString().Trim() == ds.Tables[0].Rows[j]["XLDYDJB_DYDJID"].ToString().Trim() && arrray[i, 5].ToString().Trim() == ds.Tables[0].Rows[j]["XLDYDJB_ACDC"].ToString().Trim()) { if (CanDelete(ds.Tables[0].Rows[j]["XLDYDJB_DYDJID"].ToString().Trim())) { sql.Clear(); sql.Add(" delete from XLDYDJB where XLDYDJB_DYDJID = :pDYDJID "); sql.ParamByName("pDYDJID").Value = ds.Tables[0].Rows[j]["XLDYDJB_DYDJID"].ToString().Trim(); dberp.ExecSQL(sql); k++; } else { m++; } } } } } else { k = -1; } dberp.CommitTrans(); if (-1 == k) { ShowMessage("当前没有数据可以删除!"); } else if (0 == k && 0 == m) { ShowMessage("当前没有缺省数据可以删除!"); } else if (k > 0 && m > 0) { ShowMessage("部分电压等级已被使用,不能删除!"); } else if (k > 0 && 0 == m) { ShowMessage("删除缺省数据成功!"); } else if (0 == k && m > 0) { ShowMessage("当前电压等级已被使用,不能删除!"); } Master_OnStandardQuery(null, null); FormAreaUpdate(); } catch (Exception ex) { ShowMessage("删除失败,原因:" + ex.Message); dberp.RollbackTrans(); return; } } //排序 protected void btnPX_MenuItemClick(object sender, string ItemIndex) { int index = Int32.Parse(ItemIndex); switch (index) { case 0: Sort_LXR_XXR(); break; } } //相线零线电压(升序)+相线相线电压(升序) private void Sort_LXR_XXR() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); try { if (dberp.DriverName == "ORACLE") { SQL.Add("select XLDYDJB_DYDJID as DYDJID, "); SQL.Add(" row_number() over(order by XLDYDJB_DYJLDW,XLDYDJB_XXLXDY,XLDYDJB_XXXXDY) as XH "); SQL.Add("from XLDYDJB "); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { UpdateXLDYDJ_XH(ds.Tables[0].Rows[i]["DYDJID"].ToString().Trim(), ds.Tables[0].Rows[i]["XH"].ToString().Trim()); } } moduleGV_PageIndexChanging(null, null); FormAreaUpdate(); } else { dberp.BeginTrans(); SQL.Clear(); SQL.Add("update XLDYDJB set XLDYDJB_XH=A.XH "); SQL.Add("from "); SQL.Add("( select XLDYDJB_DYDJID as DYDJID, "); SQL.Add(" row_number() over(order by XLDYDJB_DYJLDW desc,XLDYDJB_XXLXDY,XLDYDJB_XXXXDY) as XH "); SQL.Add(" from XLDYDJB) A "); SQL.Add(" where XLDYDJB_DYDJID=A.DYDJID "); dberp.ExecSQL(SQL); moduleGV_PageIndexChanging(null, null); FormAreaUpdate(); dberp.CommitTrans(); } } catch (Exception ex) { dberp.RollbackTrans(); ShowMessage(ex.Message); return; } } #endregion #region 私有函数 private string GetQuerySQL() { string sSQL; sSQL = ""; sSQL = "select XLDYDJB_DYDJID, XLDYDJB_DYJLDW,XLDYDJB_XH, "; sSQL += " XLDYDJB_XXLXDY, XLDYDJB_XXXXDY, XLDYDJB_DYDJFL, case XLDYDJB_ACDC when 'AC' then 'AC|交流' when 'DC' then 'DC|直流' else XLDYDJB_ACDC end as XLDYDJB_ACDC,"; sSQL += " XLDYDJB_QYRQ, XLDYDJB_TYBZ, XLDYDJB_TYRQ, "; sSQL += " XLDYDJB_WHR, XLDYDJB_WHRID, XLDYDJB_WHSJ from XLDYDJB where 1 = 1 "; sSQL += " order by XLDYDJB_XH "; return sSQL; } private void UpdateXLDYDJ_XH(string sDYDJID, string sXH) { TDatabase dberp1 = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp1); SQL.Clear(); SQL.Add(" update XLDYDJB set XLDYDJB_XH=:pXH where XLDYDJB_DYDJID=:pDYDJID "); SQL.ParamByName("pXH").Value = CMISproConvert.StrToFloat(sXH); SQL.ParamByName("pDYDJID").Value = sDYDJID; dberp1.ExecSQL(SQL); } private bool CanDelete(string sDYDJID) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select 1 from XLHTCLB where XLHTCLB_DYDJID =:pDYDJID "); SQL.Add("union all "); SQL.Add("select 1 from XLJYCLB where XLJYCLB_DYDJID =:pDYDJID "); SQL.Add("union all "); SQL.Add("select 1 from XLWHCLB where XLWHCLB_DYDJID =:pDYDJID "); SQL.Add("union all "); SQL.Add("select 1 from XLXLB where XLXLB_DYDJID =:pDYDJID "); SQL.Add("union all "); SQL.Add("select 1 from XLXLPL where XLXLPL_DYDJID =:pDYDJID "); SQL.Add("union all "); SQL.Add("select 1 from XLLXB where charindex(:pDYDJID,XLLXB_DYDJID)>0 "); SQL.Add("union all "); SQL.Add("select 1 from XLLXTXB where charindex(:pDYDJID,XLLXTXB_SYDYDJID)>0 "); SQL.Add("union all "); SQL.Add("select 1 from XLLXPL where charindex(:pDYDJID,XLLXPL_SYDYDJID)>0 "); SQL.Add("union all "); SQL.Add("select 1 from XLXXB where XLXXB_DYDJID =:pDYDJID "); SQL.Add("union all "); SQL.Add("select 1 from XLXZB where XLXZB_DYDJID =:pDYDJID "); SQL.Add("union all "); SQL.Add("select 1 from XLXZPL where XLXZPL_DYDJID =:pDYDJID "); SQL.ParamByName("pDYDJID").Value = sDYDJID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { return false; } return true; } #endregion } }