Files
N_XLJC--MX/XLDYDJList.aspx.cs
T
2026-08-21 17:02:49 +08:00

547 lines
22 KiB
C#

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
}
}