355 lines
13 KiB
C#
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
|
|
}
|
|
}
|