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_MISPRO; using GThinking.N_MISPRO.Data; using GThinking.N_PUBLIC; using GThinking.N_MISPRO.Utility; using System.Collections.Generic; using GThinking.N_MODEL.Page; using System.Text; namespace GThinking.N_XLXSBJ { public partial class XLXSBJCLList : SingleGridBase { XLXSBJCL entity = new XLXSBJCL(); XLXSBJCL_M queryentity = new XLXSBJCL_M(); #region Page类事件继承 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860012; this.UMName = "线缆销售报价材料"; this.CurMaster = Master; this.ModuleGV = grdContentGrid; this.CurEntity = entity; this.CurQueryEntity = queryentity; this.sURLTarget = "XLXSBJCLInfo.aspx"; this.sQueryURLTarget = "XLXSBJCLQuery.aspx"; this.PageHeight = 400; this.PageWidth = 500; //Master.EnableNewBtn = false; //Master.EnableCopyBtn = false; base.DataKeyNames = new string[] { "XLXSBJCL_BJCLID" }; CanDeleteCheckedRows = true; ConfirmDelete("报价材料将删除,包含报价材料行情、材料行情分段,是否继续?"); if (!IsPostBack) { CurQueryEntity.FieldByName("PXFS").Value = "0"; } base.InitPage(); TGtGridView.SetGrdColItems("DBERP", grdContentGrid.FindColumnExByFieldName("XLXSBJCL_ZCSCPZ"), " SELECT distinct XLZCSC_ZCSCID,XLZCSC_ZCSCMC FROM XLZCSC order by XLZCSC_ZCSCID "); if (!IsPostBack) { Master_OnStandardQuery(null, null); } } #endregion #region 模板事件继承 protected override void Master_OnStandardQuery(object sender, EventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySelSQL(); base.Master_OnStandardQuery(sender, e); entity.GridDataBind(grdContentGrid, tSession); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySelSQL(); grdContentGrid.SelectedIndex = -1; base.moduleGV_PageIndexChanging(sender, e); } protected override void BeforeDelete(TDatabase db, ref bool ActionIsDone) { entity.Param.Add("XLXSBJCL_BJCLID", this.grdContentGrid.SelectedDataKey["XLXSBJCL_BJCLID"].ToString()); base.BeforeDelete(db, ref ActionIsDone); } protected override bool Master_BeforeDeleteAction(object sender, EventArgs e) { bool bReturn = base.Master_BeforeDeleteAction(sender, e); string sBJCLID = this.grdContentGrid.SelectedDataKey["XLXSBJCL_BJCLID"].ToString().Trim(); string sSQL = string.Format(" select XLXSBJCL_BJCLID from XLXSBJCL " + " where XLXSBJCL_JGYBJCLID = '{0}' ", sBJCLID); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage(string.Format("报价材料【{0}】已被当作加工原料使用,不允许删除!", sBJCLID)); return false; } string sCZBXX = ""; string sWLXX = ""; string sTJYZXX = ""; string sHQFD = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLJGCZBLM_JGCZBID,XLJGCZBML_JGCZBMC, "); SQL.Add(" XLJGCZBLM_JGCZBBBID AS XLJGCZBLM_JGCZBBBID, "); SQL.Add(" XLJGCZBLM_CZBLMBH,XLJGCZBLM_CZBLMMC "); SQL.Add(" from XLJGCZBLM,XLJGCZBML "); SQL.Add(" where XLJGCZBLM_JGCZBID=XLJGCZBML_JGCZBID"); SQL.Add(" and XLJGCZBML_JGCZBBBID = XLJGCZBLM_JGCZBBBID "); SQL.Add(" and XLJGCZBLM_BJCLID=:pBJCLID "); SQL.Add(" order by XLJGCZBLM_JGCZBID "); SQL.ParamByName("pBJCLID").Value = sBJCLID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sCZBXX = "报价材料涉及如下尺重表,不允许删除:" + "\r\n"; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sCZBXX += ds.Tables[0].Rows[i][0].ToString().Trim() + "|" + ds.Tables[0].Rows[i][1].ToString().Trim() + "|" + ds.Tables[0].Rows[i][2].ToString().Trim() + "|" + ds.Tables[0].Rows[i][3].ToString().Trim() + "|" + ds.Tables[0].Rows[i][4].ToString().Trim() + "\r\n"; } ShowMessage(sCZBXX); return false; } ds.Clear(); SQL.Clear(); SQL.Add(" select XLXSBJCLWL_WLID,WL_MC,WL_GG, "); SQL.Add(" WL_TZ,WL_CL "); SQL.Add(" from XLXSBJCLWL,WL "); SQL.Add(" where XLXSBJCLWL_WLID=WL_WLID"); SQL.Add(" and XLXSBJCLWL_BJCLID=:pBJCLID "); SQL.Add(" order by XLXSBJCLWL_WLID "); SQL.ParamByName("pBJCLID").Value = sBJCLID; ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sWLXX = "报价材料涉及如下报价材料物料,不允许删除:" + "\r\n"; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sWLXX += ds.Tables[0].Rows[i][0].ToString().Trim() + "|" + ds.Tables[0].Rows[i][1].ToString().Trim() + "|" + ds.Tables[0].Rows[i][2].ToString().Trim() + "|" + ds.Tables[0].Rows[i][3].ToString().Trim() + "|" + ds.Tables[0].Rows[i][4].ToString().Trim() + "\r\n"; } ShowMessage(sWLXX); return false; } ds.Clear(); SQL.Clear(); SQL.Add(" select XLXSJGBYZZ2_JGBID,XLXSJGBYZZ2_CPYT,XLCPYT_CPYTMC,"); SQL.Add(" XLXSJGBYZZ2_DYDJFL,XLXSJGBYZZ2_YZID,XLXSTZYZ_YZMC "); SQL.Add(" from XLXSJGBYZZ2,XLCPYT,XLXSTZYZ "); SQL.Add(" where XLXSJGBYZZ2_CPYT=XLCPYT_CPYT "); SQL.Add(" and XLXSJGBYZZ2_YZID=XLXSTZYZ_YZID and XLXSTZYZ_MXBH='JZJ' and XLXSJGBYZZ2_BJCLID=:pBJCLID "); SQL.Add(" order by XLXSJGBYZZ2_JGBID,XLXSJGBYZZ2_CPYT,XLXSJGBYZZ2_DYDJFL,XLXSJGBYZZ2_YZID "); SQL.ParamByName("pBJCLID").Value = sBJCLID; ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sTJYZXX = "报价材料涉及如下销售价格表调价因子值设置,不允许删除:" + "\r\n"; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sTJYZXX += ds.Tables[0].Rows[i][0].ToString().Trim() + "|" + ds.Tables[0].Rows[i][1].ToString().Trim() + "|" + ds.Tables[0].Rows[i][2].ToString().Trim() + "|" + ds.Tables[0].Rows[i][3].ToString().Trim() + "|" + ds.Tables[0].Rows[i][4].ToString().Trim() + "|" + ds.Tables[0].Rows[i][5].ToString().Trim() + "\r\n"; } ShowMessage(sTJYZXX); return false; } ds.Clear(); SQL.Clear(); SQL.Add(" select top 1 XLXSJGBPZ_JGBPZDH from XLXSJGBPZ "); SQL.Add(" where XLXSJGBPZ_BJCLIDS like :pBJCLID"); SQL.ParamByName("pBJCLID").Value = "%" + sBJCLID + "%"; ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sHQFD = "此报价材料已经被价格目录配置使用,不允许删除!" + "\r\n"; ShowMessage(sHQFD); return false; } ds.Clear(); SQL.Clear(); SQL.Add(" select top 1 XLXSBJFLBJRHQCL_BJCLID from XLXSBJFLBJRHQCL "); SQL.Add(" where XLXSBJFLBJRHQCL_BJCLID = :pBJCLID"); SQL.ParamByName("pBJCLID").Value = sBJCLID; ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sHQFD = "此报价材料已经被报价分类引用,不允许删除!" + "\r\n"; ShowMessage(sHQFD); return false; } return bReturn; } protected override bool Master_AfterDeleteAction(object sender, EventArgs e) { if (!base.Master_AfterDeleteAction(sender, e)) { return false; } base.InitEntityByCondition(); entity.EntityTable.QuerySelSql = GetQuerySelSQL(); entity.GridDataBind(grdContentGrid, tSession); grdContentGrid.SelectedIndex = -1; return true; } protected override void AfterDelete(TDatabase db, ref bool ActionIsDone) { db.ExecSQL(string.Format("delete from XLXSCLHQ where XLXSCLHQ_BJCLID ='{0}' ", grdContentGrid.SelectedDataKey["XLXSBJCL_BJCLID"].ToString().Trim())); db.ExecSQL(string.Format("delete from XLXSCLHQFD where XLXSCLHQFD_BJCLID ='{0}' ", grdContentGrid.SelectedDataKey["XLXSBJCL_BJCLID"].ToString().Trim())); base.AfterDelete(db, ref ActionIsDone); } protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { LinkPageParam.AddString("BJCLID", grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJCL_BJCLID"].ToString().Trim()); } base.moduleGV_RowDataBound(sender, e); } #endregion #region 自定义事件 /// /// 取查询语句 /// /// private string GetQuerySelSQL() { StringBuilder sSQL = new StringBuilder(); sSQL.AppendLine(" select A.XLXSBJCL_BJCLID, A.XLXSBJCL_BJCLMC,'Kg' as JLDW,A.XLXSBJCL_BJHQ,A.XLXSBJCL_BJJZ,A.XLXSBJCL_JTZ,A.XLXSBJCL_JLZ,A.XLXSBJCL_CLHQFD,"); sSQL.AppendLine(" A.XLXSBJCL_ZZSL, A.XLXSBJCL_JGYBJCLID, rtrim(A.XLXSBJCL_JGYBJCLID) || '|'|| rtrim(B.XLXSBJCL_BJCLMC) AS XLXSBJCL_JGYBJCLID, A.XLXSBJCL_CGY,A.XLXSBJCL_HQBDPL,A.XLXSBJCL_ZCSCPZ,A.XLXSBJCL_ZCSCID, "); sSQL.AppendLine(" A.XLXSBJCL_SFQR, A.XLXSBJCL_QYRQ,isnull(A.XLXSBJCL_TYBZ,'N') as XLXSBJCL_TYBZ,A.XLXSBJCL_TYRQ,A.XLXSBJCL_BZ, A.XLXSBJCL_WHRID, A.XLXSBJCL_WHR, A.XLXSBJCL_WHSJ "); sSQL.AppendLine(" from XLXSBJCL A "); sSQL.AppendLine(" LEFT JOIN XLXSBJCL B ON B.XLXSBJCL_BJCLID = A.XLXSBJCL_JGYBJCLID "); sSQL.AppendLine(" where 1=1 "); if (!CurQueryEntity.FieldByName("BJCLID").Value.Trim().Equals("")) { sSQL.AppendLine(" and A.XLXSBJCL_BJCLID like :BJCLID "); entity.Param.Add("BJCLID", "%" + CurQueryEntity.FieldByName("BJCLID").Value.Trim() + "%"); } if (!CurQueryEntity.FieldByName("BJCLMC").Value.Trim().Equals("")) { sSQL.AppendLine(" and A.XLXSBJCL_BJCLMC like :pBJCLMC "); entity.Param.Add("pBJCLMC", "%" + CurQueryEntity.FieldByName("BJCLMC").Value.Trim() + "%"); } if (!CurQueryEntity.FieldByName("BJCL").Value.Trim().Equals("")) { sSQL.AppendLine(" and A.XLXSBJCL_BJCLID = :pBJCL"); entity.Param.Add("pBJCL", CurQueryEntity.FieldByName("BJCL").Value.Trim()); } if (CurQueryEntity.FieldByName("WQR").Value.Trim().ToUpper().Equals("TRUE")) { sSQL.AppendLine(" and A.XLXSBJCL_SFQR='N' "); } //是否与尺重表栏目关联 if (CurQueryEntity.FieldByName("JGCZBLMUsed").Value.Trim().Equals("Y")) { sSQL.AppendLine(" and exists(select top 1 XLJGCZBLM_JGCZBID from XLJGCZBLM where XLJGCZBLM_BJCLID=A.XLXSBJCL_BJCLID)"); } else if (CurQueryEntity.FieldByName("JGCZBLMUsed").Value.Trim().Equals("N")) { sSQL.AppendLine(" and not exists(select top 1 XLJGCZBLM_JGCZBID from XLJGCZBLM where XLJGCZBLM_BJCLID=A.XLXSBJCL_BJCLID)"); } if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("0")) { sSQL.AppendLine(" order by A.XLXSBJCL_BJCLID "); } else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("1")) { sSQL.AppendLine(" order by A.XLXSBJCL_BJCLMC "); } else { sSQL.AppendLine(" order by A.XLXSBJCL_BJCLID "); } return sSQL.ToString(); } #endregion #region 按钮事件 protected void btnCLHQFD_Click(object sender, EventArgs e) { if (this.grdContentGrid.SelectedIndex < 0) { ShowMessage("请选择处理记录"); return; } if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJCL where XLXSBJCL_CLHQFD='Y' and XLXSBJCL_BJCLID='{0}'", grdContentGrid.SelectedDataKey["XLXSBJCL_BJCLID"].ToString().Trim()))) { ShowMessage("所选报价材料无材料行情分段需要!"); return; } else { //被使用---区分已经分段---保证没有使用时可以重复分段 bool bUsed = false; string sBJCLID = (grdContentGrid.DataKeys[grdContentGrid.SelectedIndex]["XLXSBJCL_BJCLID"].ToString().Trim()); //点击派生价格表,只要没有派生价格表的都会重新计算,单材料的,需要重新分段 //if (!CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 XLXSJGBPZJGB_CLHQZH from XLXSJGBPZJGB where XLXSJGBPZJGB_JGBPZDH = '{0}' and isnull(XLXSJGBPZJGB_JGBID,' ')<>' '", // sJGBPZDH))) TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select top 1 XLXSJGBPZCLHQFD_BJCLID from XLXSJGBPZCLHQFD "); SQL.Add(" where XLXSJGBPZCLHQFD_BJCLID=:pBJCLID"); SQL.Add(" and exists(select 1 from XLXSJGBPZJGB where XLXSJGBPZJGB_JGBPZDH=XLXSJGBPZCLHQFD_JGBPZDH and XLXSJGBPZJGB_CLHQZH=XLXSJGBPZCLHQFD_CLHQZH and isnull(XLXSJGBPZJGB_JGBID,' ')<>' ')"); SQL.ParamByName("pBJCLID").Value = sBJCLID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { bUsed = true; } if (string.IsNullOrEmpty(sBJCLID)) { ShowMessage("材料编码为空!!"); return; } else { TPageParams pageParams = new TPageParams(); pageParams.CallAction = TPageCallAction.pcaBrowse; pageParams.UrlPath = "XLXSBJCL_HQFDList.aspx"; pageParams.AddString("BJCLID", sBJCLID); pageParams.AddBool("USED", bUsed); OpenDialog(pageParams); } } } #endregion } }