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

355 lines
13 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_PUBLIC;
using GThinking.N_MISPRO.Data;
using GThinking.N_MISPRO.Utility;
using GThinking.N_MISPRO;
using GThinking.N_MISPRO.TableCache;
namespace GThinking.N_XLJC
{
public partial class XLBZLXList : SingleGridBase
{
XLBZLX entity = new XLBZLX();
#region Page事件
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 101421003;
this.UMName = "线缆标准类型";
this.ModuleGV = grdXLBZ;
this.CurMaster = Master;
this.CurEntity = entity;
this.sURLTarget = "XLBZLXInfo.aspx";
this.Master.EnableQueryBtn = false;
this.PageHeight = 500;
this.PageWidth = 700;
base.DataKeyNames = new string[] { "XLBZ_XLBZID" };
if (DSActiveModule.IsActiveModule(101421011))
{
btnXLDZBZ.Visible = true;
}
else
{
btnXLDZBZ.Visible = false;
}
base.InitPage();
if (!IsPostBack)
{
Master_OnStandardQuery(null, null);
}
}
#endregion
#region 模板事件继承
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
entity.EntityTable.QuerySelSql = GetSQL();
base.Master_OnStandardQuery(sender, e);
entity.GridDataBind(grdXLBZ, tSession);
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
entity.EntityTable.QuerySelSql = GetSQL();
grdXLBZ.SelectedIndex = -1;
base.moduleGV_PageIndexChanging(sender, e);
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkPageParam.AddString("XLBZ_XLBZID", grdXLBZ.DataKeys[e.Row.RowIndex]["XLBZ_XLBZID"].ToString().Trim());
}
base.moduleGV_RowDataBound(sender, e);
}
protected override void BeforeDelete(GThinking.N_MISPRO.Data.TDatabase db, ref bool ActionIsDone)
{
entity.Param.Add("XLBZ_XLBZID", grdXLBZ.DataKeys[grdXLBZ.SelectedIndex]["XLBZ_XLBZID"].ToString().Trim());
base.BeforeDelete(db, ref ActionIsDone);
}
protected override bool Master_AfterDeleteAction(object sender, EventArgs e)
{
if (!base.Master_AfterDeleteAction(sender, e))
{
return false;
}
entity.EntityTable.QuerySelSql = GetSQL();
entity.GridDataBind(grdXLBZ, tSession);
grdXLBZ.SelectedIndex = -1;
return true;
}
protected override bool Master_BeforeDeleteAction(object sender, EventArgs e)
{
string sXLBZID = grdXLBZ.DataKeys[grdXLBZ.SelectedIndex]["XLBZ_XLBZID"].ToString().Trim();
if (!sXLBZID.Equals("") && CMISproDataBase.ExistsRecord("DBERP", string.Format("select XLXLB_XLBZID from XLXLB where XLXLB_XLBZID ='{0}' "
+ " union all select XLLXB_XLBZID from XLLXB where XLLXB_XLBZID ='{0}' "
+ " union all select XLXZB_XLBZID from XLXZB where XLXZB_XLBZID ='{0}' "
+ " union all select XLXXB_XLBZID from XLXXB where XLXXB_XLBZID ='{0}' "
+ " union all select XLDTB_XLBZID from XLDTB where XLDTB_XLBZID ='{0}' "
+ " union all select XLZXBZ_XLBZID from XLZXBZ where XLZXBZ_XLBZID ='{0}'"
+ " union all select top 1 XLXSCLQD_XLBZID from XLXSCLQD where XLXSCLQD_XLBZID ='{0}' ", sXLBZID.Trim())))
{
ShowMessage("该标准类型已被使用,不允许删除");
return false;
}
string sSQL = string.Format("select TOP 1 XLDZBZ_XLBZID from XLDZBZ where 1=1 and XLDZBZ_XLBZID like '{0}%' ", sXLBZID);
if (CMISproDataBase.ExistsRecord("DBERP", sSQL))
{
ShowMessage("该标准类型存在线缆定制标准,不允许删除!");
return false;
}
return base.Master_BeforeDeleteAction(sender, e);
}
#endregion
#region 自定义事件
private string GetSQL()
{
string sSQL = " select XLBZ_XLBZID,XLBZ_XLBZLXMC,XLBZ_PX,XLBZ_DZSC, XLBZ_WHR,XLBZ_WHRID,XLBZ_WHSJ "
+ " from XLBZ "
+ " where 1=1 and len(XLBZ_XLBZID) < 10 "
+ " order by XLBZ_PX,XLBZ_XLBZID ";
return sSQL;
}
private bool CanDelete(string sXLBZID)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select XLXLB_XLBZID from XLXLB where XLXLB_XLBZID =:pXLBZID ");
SQL.Add("union all ");
SQL.Add("select XLLXB_XLBZID from XLLXB where XLLXB_XLBZID =:pXLBZID ");
SQL.Add("union all ");
SQL.Add("select XLXZB_XLBZID from XLXZB where XLXZB_XLBZID =:pXLBZID ");
SQL.Add("union all ");
SQL.Add("select XLXXB_XLBZID from XLXXB where XLXXB_XLBZID =:pXLBZID ");
SQL.Add("union all ");
SQL.Add("select XLDTB_XLBZID from XLDTB where XLDTB_XLBZID =:pXLBZID ");
SQL.Add("union all ");
SQL.Add("select XLZXBZ_XLBZID from XLZXBZ where XLZXBZ_XLBZID =:pXLBZID ");
SQL.Add("union all ");
SQL.Add("select top 1 XLXSCLQD_XLBZID from XLXSCLQD where XLXSCLQD_XLBZID =:pXLBZID ");
SQL.ParamByName("pXLBZID").Value = sXLBZID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
return false;
}
return true;
}
#endregion
#region 按钮
protected void btnXLDZBZ_Click(object sender, EventArgs e)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" select XLBZ_XLBZID from XLBZ where XLBZ_DZSC ='Y' ");
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
TPageParams pageParams = new TPageParams();
pageParams.UrlPath = "XLDZBZList.aspx";
OpenModuleDialog(101421011, pageParams);
}
else
{
ShowMessage("未指定允许定制生产的标准!");
return;
}
}
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[10, 2]{
{"1","国网"},
{"2","南网"},
{"3","样品"},
{"A","美标"},
{"D","地标"},
{"E","欧标"},
{"G","国标"},
{"J","行标"},
{"Q","企标"},
{"S","南非"}
};
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
try
{
dberp.BeginTrans();
for (int i = 0; i < 10; i++)
{
if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLBZ where XLBZ_XLBZID = '{0}' and len(XLBZ_XLBZID) <10 ", arrray[i, 0])))
{
sql.Clear();
sql.Add(" insert into XLBZ (");
sql.Add(" XLBZ_XLBZID, XLBZ_XLBZLXMC, XLBZ_WHR, XLBZ_WHRID, XLBZ_WHSJ,XLBZ_DZSC ");
sql.Add(" ) values ( ");
sql.Add(" :XLBZ_XLBZID, :XLBZ_XLBZLXMC, :XLBZ_WHR, :XLBZ_WHRID, :XLBZ_WHSJ, 'N' ");
sql.Add(" )");
sql.ParamByName("XLBZ_XLBZID").Value = arrray[i, 0];
sql.ParamByName("XLBZ_XLBZLXMC").Value = arrray[i, 1];
sql.ParamByName("XLBZ_WHRID").Value = tSession.UserId;
sql.ParamByName("XLBZ_WHR").Value = tSession.UserName;
sql.ParamByName("XLBZ_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[10, 2]{
{"1","国网"},
{"2","南网"},
{"3","样品"},
{"A","美标"},
{"D","地标"},
{"E","欧标"},
{"G","国标"},
{"J","行标"},
{"Q","企标"},
{"S","南非"}
};
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
int k = 0;
int m = 0;
try
{
bool pCDel = false;
string sSQL = string.Format("select TOP 1 XLDZBZ_XLBZID from XLDZBZ where 1=1 ");
pCDel = CMISproDataBase.ExistsRecord("DBERP", sSQL);
dberp.BeginTrans();
sql.Clear();
//改善速度可直接查询ID为值域的数据
sql.Add(" select XLBZ_XLBZID,XLBZ_XLBZLXMC from XLBZ where 1 = 1 and len(XLBZ_XLBZID) <10 ");
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 < 10; i++)
{
if (arrray[i, 0].ToString().Trim() == ds.Tables[0].Rows[j]["XLBZ_XLBZID"].ToString().Trim())
{
if (CanDelete(ds.Tables[0].Rows[j]["XLBZ_XLBZID"].ToString().Trim()))
{
sql.Clear();
sql.Add(" delete from XLBZ where XLBZ_XLBZID = :pXLBZID ");
if (pCDel)
{
sql.Add(" and isnull(XLBZ_DZSC,'N')<> 'Y' ");
}
sql.ParamByName("pXLBZID").Value = ds.Tables[0].Rows[j]["XLBZ_XLBZID"].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;
}
}
#endregion
}
}