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