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_MISPRO.Utility; using GThinking.N_MISPRO.Data; using GThinking.N_WORKFLOW; using GThinking.N_PUBLIC; using GThinking.N_MODEL.Dialog; using GThinking.N_CONTROL; using System.Text; using System.Collections.Generic; using GThinking.N_MISPRO.TableCache; using GThinking.N_MISPRO; namespace GThinking.N_XLXSBJ { public partial class XLBJD_BDBJQuery : SingleQueryBase { XLBJD_BDBJ_M queryentity = new XLBJD_BDBJ_M(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860000; this.UMName = "线缆销售报价单"; this.CurMaster = Master; this.CurQueryTable = QueryTalbe; this.CurQueryEntity = queryentity; base.InitPage(); if (!IsPostBack) { InitControl(); } } protected override bool QueryLogicValid() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); string sBJDHS = cbxBJDHS.SelectedValue.Trim(); string sBJDID = PageParam.GetRTrimString("BJDID"); string[] sTemp = sBJDHS.ToString().Trim().Split(','); string message = ""; List lstBDBJDID = new List(); lstBDBJDID.Clear(); SQL.Clear(); SQL.Add(" SELECT distinct XLXSBJDBDMX_BDBJDID FROM XLXSBJDBDMX WHERE XLXSBJDBDMX_BJDID = :pXLXSBJDBDMX_BJDID and isnull(XLXSBJDBDMX_BDBJDID,' ' ) <> ' ' "); SQL.ParamByName("pXLXSBJDBDMX_BJDID").Value = sBJDID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { lstBDBJDID.Add(ds.Tables[0].Rows[i]["XLXSBJDBDMX_BDBJDID"].ToString().Trim()); } } for (int m = 0; m < sTemp.Length; m++) { if (lstBDBJDID.Contains(sTemp[m])) { lstBDBJDID.Remove(sTemp[m]); } } if (lstBDBJDID.Count > 0) { for (int i = 0; i < lstBDBJDID.Count; i++) { message = message + lstBDBJDID[i].ToString() + ","; } ShowMessage("以下报价单已经参与比价,必须选中:" + message.TrimEnd(',')); return false; } return base.QueryLogicValid(); } #region 私有函数 private void InitControl() { string sXM = PageParam.GetRTrimString("XM"); string sKH = PageParam.GetRTrimString("KH"); string sBJFLID = PageParam.GetRTrimString("BJFLID"); string sBJDID = PageParam.GetRTrimString("BJDID"); //构建已经比对报价单的字符串 TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select distinct XLXSBJDBDMX_BDBJDID as BJDID,XLXSBJD_BJRQ as BJRQ "); SQL.Add(" from XLXSBJDBDMX,XLXSBJD "); SQL.Add(" where XLXSBJDBDMX_BJDID=:pBJDID "); SQL.Add(" and XLXSBJDBDMX_BDBZ<>'0' "); SQL.Add(" and isnull(XLXSBJDBDMX_BDBJDID,' ') <> ' ' "); SQL.Add(" and XLXSBJD_BJDID=XLXSBJDBDMX_BDBJDID "); SQL.Add(" union all "); SQL.Add(" select top 10 a.XLXSBJD_BJDID as BJDID,a.XLXSBJD_BJRQ as BJRQ "); SQL.Add(" from XLXSBJD a,XLXSBJD b "); /*关联报价单号*/ SQL.Add(" where b.XLXSBJD_BJDID=:pBJDID "); /*排除掉客户为空报价单*/ //SQL.Add(" and isnull(a.XLXSBJD_KH, ' ')<>' ' "); /*来自查询条件“客户”*/ SQL.Add(" and a.XLXSBJD_KH=:pKH "); /*排除掉项目为空报价单*/ //SQL.Add(" and isnull(a.XLXSBJD_XMMC,' ')<>' ' "); /*来自查询条件“项目”*/ SQL.Add(" and a.XLXSBJD_XMMC=:pXM "); /*主报价单之报价分类*/ //SQL.Add(" and a.XLXSBJD_BJFLID=:pBJFLID "); /*关联报价单号*/ SQL.Add(" and a.XLXSBJD_BJDID<>:pBJDID "); /*来自查询条件“报价日期始”*/ if (!datBJRQS.Text.Trim().Equals("")) SQL.Add(" and a.XLXSBJD_BJRQ>=:pBJRQS "); /*来自查询条件“报价日期终”*/ if (!datBJRQZ.Text.Trim().Equals("")) SQL.Add(" and a.XLXSBJD_BJRQ<=:pBJRQZ "); /*必须有相同产品的报价单*/ SQL.Add(" and exists "); SQL.Add(" ( "); SQL.Add(" select 1 "); SQL.Add(" from XLXSBJDMX c,XLXSBJDMX d "); SQL.Add(" where c.XLXSBJDMX_BJDID=a.XLXSBJD_BJDID "); SQL.Add(" and c.XLXSBJDMX_XLXHID=d.XLXSBJDMX_XLXHID "); SQL.Add(" and c.XLXSBJDMX_XLGGID=d.XLXSBJDMX_XLGGID "); SQL.Add(" and c.XLXSBJDMX_XLBZID=d.XLXSBJDMX_XLBZID "); SQL.Add(" and c.XLXSBJDMX_DYDJID=d.XLXSBJDMX_DYDJID "); SQL.Add(" and c.XLXSBJDMX_XLYSID=d.XLXSBJDMX_XLYSID "); /*报价单号*/ SQL.Add(" and d.XLXSBJDMX_BJDID=:pBJDID "); SQL.Add(" ) "); SQL.Add(" and not exists "); SQL.Add(" ( "); SQL.Add(" select 1 "); SQL.Add(" from XLXSBJDBDMX "); SQL.Add(" where XLXSBJDBDMX_BJDID=:pBJDID "); SQL.Add(" and XLXSBJDBDMX_BDBZ<>'0' "); SQL.Add(" and isnull(XLXSBJDBDMX_BDBJDID,' ' ) <> ' ' "); SQL.Add(" and XLXSBJDBDMX_BDBJDID=a.XLXSBJD_BJDID "); SQL.Add(" ) "); SQL.Add(" order by BJRQ desc, BJDID desc "); SQL.ParamByName("pBJDID").Value = sBJDID; if (!datBJRQS.Text.Trim().Equals("")) SQL.ParamByName("pBJRQS").Value = datBJRQS.Text; if (!datBJRQS.Text.Trim().Equals("")) SQL.ParamByName("pBJRQZ").Value = datBJRQZ.Text; SQL.ParamByName("pKH").Value = sKH; SQL.ParamByName("pXM").Value = sXM; //SQL.ParamByName("pBJFLID").Value = sBJFLID; DataSet ds = dberp.OpenDataSet(SQL); string sss = SQL.Text; cbxBJDHS.ClearItems(); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { cbxBJDHS.Items.Add(new ListItem(ds.Tables[0].Rows[i]["BJDID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["BJRQ"].ToString().Trim().Substring(0, 10), ds.Tables[0].Rows[i]["BJDID"].ToString().Trim())); } cbxBJDHS.ShowValue = false; } } #endregion #region 控件事件 protected void lblZBBJDID_Click(object sender, EventArgs e) { string sXM = PageParam.GetRTrimString("XM"); string sKH = PageParam.GetRTrimString("KH"); string sBJFLID = PageParam.GetRTrimString("BJFLID"); string sBJDID = PageParam.GetRTrimString("BJDID"); string sBJRQZ = PageParam.GetRTrimString("BJRQZ"); TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "XLBJD_BDBJSelList.aspx"; pageParams.AddString("BJDID", sBJDID); pageParams.AddString("txtZBBJDIDCID", txtZBBJDID.ClientID); OpenDialog(pageParams); } protected void datBJRQ_Change(object sender, EventArgs e) { string sXM = PageParam.GetRTrimString("XM"); string sKH = PageParam.GetRTrimString("KH"); string sBJFLID = PageParam.GetRTrimString("BJFLID"); string sBJDID = PageParam.GetRTrimString("BJDID"); //构建已经比对报价单的字符串 TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select distinct XLXSBJDBDMX_BDBJDID as BJDID,XLXSBJD_BJRQ as BJRQ "); SQL.Add(" from XLXSBJDBDMX,XLXSBJD "); SQL.Add(" where XLXSBJDBDMX_BJDID=:pBJDID "); SQL.Add(" and XLXSBJDBDMX_BDBZ<>'0' "); SQL.Add(" and isnull(XLXSBJDBDMX_BDBJDID,' ') <> ' ' "); SQL.Add(" and XLXSBJD_BJDID=XLXSBJDBDMX_BDBJDID "); SQL.Add(" union all "); SQL.Add(" select top 10 a.XLXSBJD_BJDID as BJDID,a.XLXSBJD_BJRQ as BJRQ "); SQL.Add(" from XLXSBJD a,XLXSBJD b "); /*关联报价单号*/ SQL.Add(" where b.XLXSBJD_BJDID=:pBJDID "); /*排除掉客户为空报价单*/ //SQL.Add(" and isnull(a.XLXSBJD_KH, ' ')<>' ' "); /*来自查询条件“客户”*/ SQL.Add(" and a.XLXSBJD_KH=:pKH "); /*排除掉项目为空报价单*/ //SQL.Add(" and isnull(a.XLXSBJD_XMMC,' ')<>' ' "); /*来自查询条件“项目”*/ SQL.Add(" and a.XLXSBJD_XMMC=:pXM "); /*主报价单之报价分类*/ //SQL.Add(" and a.XLXSBJD_BJFLID=:pBJFLID "); /*关联报价单号*/ SQL.Add(" and a.XLXSBJD_BJDID<>:pBJDID "); /*来自查询条件“报价日期始”*/ if(!datBJRQS.Text.Trim().Equals("")) SQL.Add(" and a.XLXSBJD_BJRQ>=:pBJRQS "); /*来自查询条件“报价日期终”*/ if (!datBJRQZ.Text.Trim().Equals("")) SQL.Add(" and a.XLXSBJD_BJRQ<=:pBJRQZ "); /*必须有相同产品的报价单*/ SQL.Add(" and exists "); SQL.Add(" ( "); SQL.Add(" select 1 "); SQL.Add(" from XLXSBJDMX c,XLXSBJDMX d "); SQL.Add(" where c.XLXSBJDMX_BJDID=a.XLXSBJD_BJDID "); SQL.Add(" and c.XLXSBJDMX_XLXHID=d.XLXSBJDMX_XLXHID "); SQL.Add(" and c.XLXSBJDMX_XLGGID=d.XLXSBJDMX_XLGGID "); SQL.Add(" and c.XLXSBJDMX_XLBZID=d.XLXSBJDMX_XLBZID "); SQL.Add(" and c.XLXSBJDMX_DYDJID=d.XLXSBJDMX_DYDJID "); SQL.Add(" and c.XLXSBJDMX_XLYSID=d.XLXSBJDMX_XLYSID "); /*报价单号*/ SQL.Add(" and d.XLXSBJDMX_BJDID=:pBJDID "); SQL.Add(" ) "); SQL.Add(" and not exists "); SQL.Add(" ( "); SQL.Add(" select 1 "); SQL.Add(" from XLXSBJDBDMX "); SQL.Add(" where XLXSBJDBDMX_BJDID=:pBJDID "); SQL.Add(" and XLXSBJDBDMX_BDBZ<>'0' "); SQL.Add(" and isnull(XLXSBJDBDMX_BDBJDID,' ' ) <> ' ' "); SQL.Add(" and XLXSBJDBDMX_BDBJDID=a.XLXSBJD_BJDID "); SQL.Add(" ) "); SQL.Add(" order by BJRQ desc, BJDID desc "); SQL.ParamByName("pBJDID").Value = sBJDID; if (!datBJRQS.Text.Trim().Equals("")) SQL.ParamByName("pBJRQS").Value = datBJRQS.Text; if (!datBJRQS.Text.Trim().Equals("")) SQL.ParamByName("pBJRQZ").Value = datBJRQZ.Text; SQL.ParamByName("pKH").Value = sKH; SQL.ParamByName("pXM").Value = sXM; //SQL.ParamByName("pBJFLID").Value = sBJFLID; DataSet ds = dberp.OpenDataSet(SQL); string sss = SQL.Text; cbxBJDHS.ClearItems(); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { cbxBJDHS.Items.Add(new ListItem(ds.Tables[0].Rows[i]["BJDID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["BJRQ"].ToString().Trim().Substring(0, 10), ds.Tables[0].Rows[i]["BJDID"].ToString().Trim())); } cbxBJDHS.ShowValue = false; } } #endregion } }