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_WORKFLOW; using GThinking.N_MISPRO; using GThinking.N_MISPRO.Data; using GThinking.N_MISPRO.Utility; using System.Text; namespace GThinking.N_XLXSBJ { public partial class XLBJD_WBBJDMX_XHTHList : SingleGridBase { XLBJD_WBBJDMX_XHTH entity = new XLBJD_WBBJDMX_XHTH(); XLBJD_WBBJDMX_XHTH_M queryentity = new XLBJD_WBBJDMX_XHTH_M(); #region Page事件继承 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860043; this.UMName = "外部线缆产品导入"; this.CurMaster = Master; this.ModuleGV = grdContentGrid; this.CurEntity = entity; this.CurQueryEntity = queryentity; this.sURLTarget = "XLBJD_WBBJDMX_XHTHInfo.aspx"; this.sQueryURLTarget = "XLBJD_WBBJDMX_XHTHQuery.aspx"; this.PageWidth = 750; this.PageHeight = 600; base.DataKeyNames = new string[] { "XLWBBJDXHDZB_WBXLXHID", "XLWBBJDXHDZB_XLXHID" }; //this.Master.EnablePrintBtn = false; this.Master.EnableAttachBtn = false; //使用的长参数传递方式,大刷新页面的时候会丢失参数。 if (PageParam.ContainsExtKey("DRHHList")) { txtDRHHList.Value = PageParam.GetExtRawString("DRHHList"); } if (!IsPostBack) { if (PageParam.ContainsKey("SFYC") && PageParam.GetRTrimString("SFYC").Equals("Y")) btnTHXH.Visible = false; } base.InitPage(); if (!IsPostBack) { Master_OnStandardQuery(null, null); } } #endregion #region 模板事件继承 protected override void Master_OnStandardQuery(object sender, EventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySelSQL().ToString(); base.Master_OnStandardQuery(sender, e); entity.GridDataBind(grdContentGrid, tSession); } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { LinkPageParam.AddString("XLWBBJDXHDZB_WBXLXHID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLWBBJDXHDZB_WBXLXHID"].ToString().Trim()); LinkPageParam.AddString("XLWBBJDXHDZB_XLXHID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLWBBJDXHDZB_XLXHID"].ToString().Trim()); } base.moduleGV_RowDataBound(sender, e); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySelSQL().ToString(); grdContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } protected override void BeforeDelete(TDatabase db, ref bool ActionIsDone) { entity.Param.Add("XLWBBJDXHDZB_WBXLXHID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLWBBJDXHDZB_WBXLXHID"].ToString().Trim()); entity.Param.Add("XLWBBJDXHDZB_XLXHID", grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLWBBJDXHDZB_XLXHID"].ToString().Trim()); base.BeforeDelete(db, ref ActionIsDone); } protected override bool Master_AfterDeleteAction(object sender, EventArgs e) { if (!base.Master_AfterDeleteAction(sender, e)) { return false; } base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySelSQL().ToString(); entity.GridDataBind(grdContentGrid, tSession); grdContentGrid.SelectedIndex = -1; return true; } protected override void AfterDelete(TDatabase db, ref bool ActionIsDone) { base.AfterDelete(db, ref ActionIsDone); } #endregion #region 私有函数 private StringBuilder GetQuerySelSQL() { StringBuilder strSQL = new StringBuilder(); strSQL.AppendLine(" select XLWBBJDXHDZB_WBXLXHID, XLWBBJDXHDZB_XLXHID, "); strSQL.AppendLine(" XLWBBJDXHDZB_WHR, XLWBBJDXHDZB_WHRID,XLWBBJDXHDZB_WHSJ from XLWBBJDXHDZB "); strSQL.AppendLine("where 1=1 "); if (!CurQueryEntity.FieldByName("WBXLXHID").Value.Trim().Equals("")) { strSQL.AppendLine(" AND XLWBBJDXHDZB_WBXLXHID=:XLWBBJDXHDZB_WBXLXHID"); entity.Param.Add("XLWBBJDXHDZB_WBXLXHID", CurQueryEntity.FieldByName("WBXLXHID").Value.Trim()); } if (!CurQueryEntity.FieldByName("XTXLXHID").Value.Trim().Equals("")) { strSQL.AppendLine(" AND XLWBBJDXHDZB_XLXHID=:XLWBBJDXHDZB_XLXHID"); entity.Param.Add("XLWBBJDXHDZB_XLXHID", CurQueryEntity.FieldByName("XTXLXHID").Value.Trim()); } strSQL.AppendLine(" order by XLWBBJDXHDZB_XLXHID,XLWBBJDXHDZB_WBXLXHID "); return strSQL; } #endregion #region 控件事件 protected void btnTHXH_Click(object sender, EventArgs e) { Confirm.Register("IsQD", "将按替换关系进行型号替换(不区分大小写),是否继续?"); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("IsQD").Trim().Equals("")) { Confirm.Ask("IsQD"); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return; } else if (Confirm.GetValue("IsQD").Trim().Equals("Y")) { //表示进行了提示并选择了确认 Confirm.Clear(); } string sWBBJDID = PageParam.GetRTrimString("WBBJDID"); string sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID"); string sDRHHList = txtDRHHList.Value.ToString().Trim(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); try { dberp.BeginTrans(); if (sDRHHList.Trim().Equals("")) { SQL.Clear(); SQL.Add(" merge into XLWBBJDMX tar "); SQL.Add(" using ( "); SQL.Add(" SELECT XLWBBJDXHDZB_XLXHID,XLWBBJDMX_DRHH,XLWBBJDMX_WBBJDID,XLWBBJDMX_BJDID FROM XLWBBJDMX "); SQL.Add(" LEFT JOIN XLWBBJDXHDZB ON UPPER(XLWBBJDXHDZB_WBXLXHID) =UPPER(ISNULL(XLWBBJDMX_XLXHID,' '))"); SQL.Add(" WHERE XLWBBJDMX_WBBJDID = :pWBBJDID AND isnull(XLWBBJDXHDZB_WBXLXHID,' ') <> ' ' and XLWBBJDMX_BJDID = :pBJDID "); SQL.Add(" ) sor"); SQL.Add(" on("); SQL.Add(" tar.XLWBBJDMX_DRHH =sor.XLWBBJDMX_DRHH "); SQL.Add(" AND tar.XLWBBJDMX_WBBJDID =sor.XLWBBJDMX_WBBJDID "); SQL.Add(" AND tar.XLWBBJDMX_BJDID =sor.XLWBBJDMX_BJDID "); SQL.Add(" )"); SQL.Add(" when matched then update set tar.XLWBBJDMX_XLXHID = sor.XLWBBJDXHDZB_XLXHID "); SQL.ParamByName("pWBBJDID").Value = sWBBJDID; SQL.ParamByName("pBJDID").Value = sSELBJDID; dberp.ExecSQL(SQL); } else XLBJD_WBBJDMXList.TZXH_7_SQL(dberp,SQL,sWBBJDID,sSELBJDID,sDRHHList); dberp.CommitTrans(); } catch (Exception ex) { dberp.RollbackTrans(); ShowMessage(ex.Message); return; } ShowMessage("替换完成!"); DialogOperationScript dos = new DialogOperationScript(this); dos.ClickOwnerButton(PageParam.GetRTrimString("btnCallBack")); dos.CloseSelf(); dos.Execute(); } #endregion } }