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

222 lines
10 KiB
C#

using System;
using System.Data;
using System.Configuration;
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_MISPRO;
using GThinking.N_MISPRO.Data;
using GThinking.N_MODEL.Page;
using GThinking.N_MISPRO.Utility;
namespace GThinking.N_XLJC
{
public partial class XLJGCZB_LMSZList : SingleGridBase
{
#region Page类事件继承
private XLJGCZB_LMSZ entity = new XLJGCZB_LMSZ();
private XLJGCZB_LMSZ_M queryEntity = new XLJGCZB_LMSZ_M();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 101421008;
this.UMName = "线缆结构尺重表";
this.CurMaster = Master;
this.ModuleGV = ContentGrid;
this.CurEntity = entity;
this.CurQueryEntity = queryEntity;
this.sQueryURLTarget = "XLJGCZB_LMSZQuery.aspx";
this.PageHeight = 600;
this.PageWidth = 750;
base.DataKeyNames = new string[] { "XLXSBJCL_BJCLID", "XLXSBJCL_BJCLMC", "XLJGCZBLM_CZBLMBH" };
this.Master.EnableNewBtn = false;
this.Master.EnableCopyBtn = false;
this.Master.EnableEditBtn = false;
this.Master.EnableDeleteBtn = false;
this.Master.EnableViewBtn = false;
if (!IsPostBack)
{
CurQueryEntity.FieldByName("PXFS").Value = "0";
}
base.InitPage();
if (!IsPostBack)
{
Master_OnStandardQuery(null, null);
}
}
#endregion
#region 模板事件继承
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetQuerySql();
base.Master_OnStandardQuery(sender, e);
entity.GridDataBind(ContentGrid, tSession);
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetQuerySql();
ContentGrid.SelectedIndex = -1;
base.moduleGV_PageIndexChanging(sender, e);
}
#endregion
#region 自定义函数
private string GetQuerySql()
{
string sSQL = @"
select XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC,'Kg' as JLDW,XLJGCZBLM_CLQDL,XLJGCZBLM_CZBLMBH,isnull(XLJGCZBLM_CLQDL,'第99列') as px
from XLXSBJCL
LEFT JOIN XLJGCZBML on XLJGCZBML_JGCZBID = :pJGCZBID
left join XLJGCZBLM on XLJGCZBLM_JGCZBID=:pJGCZBID and XLJGCZBLM_BJCLID=XLXSBJCL_BJCLID and XLJGCZBLM_BJCLID=XLXSBJCL_BJCLID and ISNULL(XLJGCZBML_JGCZBBBID,'1.0') = XLJGCZBLM_JGCZBBBID
where 1 = 1 ";
//*----只会出现A类型数据
entity.Param.Add("pJGCZBID", PageParam.GetRTrimString("JGCZBID"));
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJCLMC").Value.Trim()))
{
sSQL += " and XLXSBJCL_BJCLMC like :pBJCLMC ";
entity.Param.Add("pBJCLMC", "%" + CurQueryEntity.FieldByName("BJCLMC").Value.Trim() + "%");
}
if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("0"))
{
sSQL += " order by XLXSBJCL_BJCLID ";
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("1"))
{
sSQL += " order by px,XLXSBJCL_BJCLID ";
}
else
{
sSQL += " order by XLXSBJCL_BJCLID ";
}
return sSQL;
}
#endregion
#region 控件事件
protected void ContentGrid_RowDoubleClick(object sender, GThinking.N_CONTROL.RowDoubleClickEventArgs e)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
string sJGCZBID = PageParam.GetRTrimString("JGCZBID");
//默认1.0版本
string sJGCZBBBID = "1.0";
string sBJCLID = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJCL_BJCLID"].ToString().Trim();
string sBJCLMC = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLXSBJCL_BJCLMC"].ToString().Trim();
string sCZBLMBH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLJGCZBLM_CZBLMBH"].ToString().Trim();
SQL.Clear();
SQL.Add(" SELECT ISNULL(XLJGCZBML_JGCZBBBID,'1.0') as XLJGCZBML_JGCZBBBID FROM XLJGCZBML WHERE XLJGCZBML_JGCZBID =:pJGCZBID ");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
DataSet dsJGCZBBBID = dberp.OpenDataSet(SQL);
if (dsJGCZBBBID.Tables[0].Rows.Count > 0)
{
sJGCZBBBID = dsJGCZBBBID.Tables[0].Rows[0][0].ToString().Trim();
}
SQL.Clear();
SQL.Add(" SELECT max(XLJGCZBLM_CZBLMBH) as XLJGCZBLM_CZBLMBH FROM XLJGCZBLM WHERE XLJGCZBLM_JGCZBID =:pJGCZBID and XLJGCZBLM_JGCZBBBID = :pJGCZBBBID ");
SQL.Add(" AND XLJGCZBLM_HLMLX = 'Z' ");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
SQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
if (ds.Tables[0].Rows[0][0].ToString().Trim().Equals(""))
{
//插入
SQL.Clear();
SQL.Add("insert into XLJGCZBLM (XLJGCZBLM_JGCZBID,XLJGCZBLM_JGCZBBBID,XLJGCZBLM_CZBLMBH,XLJGCZBLM_CZBLMMC, XLJGCZBLM_CLQDL,XLJGCZBLM_BJCLID,XLJGCZBLM_HLMLX,XLJGCZBLM_ZDLMLX) ");
SQL.Add(" values(:pJGCZBID,:pJGCZBBBID,:pCZBLMBH,:pCZBLMMC, :pCLQDL,:pBJCLID,:pHLMLX,'4') ");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
SQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
SQL.ParamByName("pCZBLMBH").Value = "01";
SQL.ParamByName("pCZBLMMC").Value = sBJCLMC;
SQL.ParamByName("pCLQDL").Value = "第01列" ;
SQL.ParamByName("pBJCLID").Value = sBJCLID;
SQL.ParamByName("pHLMLX").Value = "Z";
dberp.ExecSQL(SQL);
}
else
{
SQL.Clear();
SQL.Add("select XLJGCZBLM_JGCZBID from XLJGCZBLM WHERE XLJGCZBLM_JGCZBID =:pJGCZBID and XLJGCZBLM_JGCZBBBID = :pJGCZBBBID ");
SQL.Add(" AND XLJGCZBLM_HLMLX = 'Z' and XLJGCZBLM_CZBLMBH =:pCZBLMBH ");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
SQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
SQL.ParamByName("pCZBLMBH").Value = sCZBLMBH;
DataSet dsMX = dberp.OpenDataSet(SQL);
//取消
if (dsMX.Tables[0].Rows.Count > 0)
{
//判断是否为最大的尺重表栏目编号
if (ds.Tables[0].Rows[0][0].ToString().Trim().Equals(sCZBLMBH))
{
SQL.Clear();
SQL.Add("delete from XLJGCZBLM WHERE XLJGCZBLM_JGCZBID =:pJGCZBID and XLJGCZBLM_JGCZBBBID= :pJGCZBBBID and XLJGCZBLM_HLMLX = 'Z' and XLJGCZBLM_CZBLMBH =:pCZBLMBH ");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
SQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
SQL.ParamByName("pCZBLMBH").Value = sCZBLMBH;
dberp.ExecSQL(SQL);
}
else
{
SQL.Clear();
SQL.Add("select XLJGCZBLM_CLQDL from XLJGCZBLM WHERE XLJGCZBLM_JGCZBID =:pJGCZBID and XLJGCZBLM_JGCZBBBID = :pJGCZBBBID ");
SQL.Add(" AND XLJGCZBLM_HLMLX = 'Z' and XLJGCZBLM_CZBLMBH =:pCZBLMBH ");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
SQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
SQL.ParamByName("pCZBLMBH").Value = ds.Tables[0].Rows[0][0].ToString().Trim();
DataSet dsMAX = dberp.OpenDataSet(SQL);
ShowMessage("请先从材料清单列为【" + dsMAX.Tables[0].Rows[0][0].ToString().Trim() + "】开始去除尺重表栏目。");
return;
}
}
//补充
else
{
int tmpJGCZBID = CMISproConvert.StrToInt(ds.Tables[0].Rows[0][0].ToString().Trim()) + 1;
if (81 == tmpJGCZBID)
{
ShowMessage("已达到材料清单所能支持的最大值,无法继续添加材料清单列。");
return;
}
SQL.Clear();
SQL.Add("insert into XLJGCZBLM (XLJGCZBLM_JGCZBID,XLJGCZBLM_JGCZBBBID,XLJGCZBLM_CZBLMBH,XLJGCZBLM_CZBLMMC, XLJGCZBLM_CLQDL,XLJGCZBLM_BJCLID,XLJGCZBLM_HLMLX,XLJGCZBLM_ZDLMLX) ");
SQL.Add(" values(:pJGCZBID,:pJGCZBBBID,:pCZBLMBH,:pCZBLMMC, :pCLQDL,:pBJCLID,:pHLMLX,'4') ");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
SQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
SQL.ParamByName("pCZBLMBH").Value = tmpJGCZBID.ToString().PadLeft(2,'0');
SQL.ParamByName("pCZBLMMC").Value = sBJCLMC;
SQL.ParamByName("pCLQDL").Value = "第" + tmpJGCZBID.ToString().PadLeft(2, '0') + "列";
SQL.ParamByName("pBJCLID").Value = sBJCLID;
SQL.ParamByName("pHLMLX").Value = "Z";
dberp.ExecSQL(SQL);
}
}
moduleGV_PageIndexChanging(null, null);
FormAreaUpdate();
}
}
#endregion
}
}