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; namespace GThinking.N_XLXSBJ { public partial class XLJGB_JGBMXQuery : SingleQueryBase { XLJGB_JGBMX_M queryentity = new XLJGB_JGBMX_M(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860001; this.UMName = "线缆销售报价价格表"; this.CurMaster = Master; this.CurQueryTable = QueryTalbe; this.CurQueryEntity = queryentity; if (!IsPostBack) { InitControl(); } base.InitPage(); if (!IsPostBack) { if (PageParam.ContainsKey("FromJGBML")) { tbrJGB.Visible = false; tbrFL.Visible = false; cbxJGBID.SelectedValue = PageParam.GetRTrimString("JGBID"); } } } protected override bool QueryLogicValid() { string sXLGGID = txtXLGGID.Text.Trim(); string[] sTempXLGGID = sXLGGID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTempXLGGID.Length >= 2 && chkXLGGIDJQPP.Checked == false) { ShowMessage("多规格查询时,规格精确匹配必须勾选!"); return false; } string sXLXHID = txtXLXHID.Text.Trim(); string[] sTempXLXHID = sXLXHID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTempXLXHID.Length >= 2 && chkXLXHIDJQPP.Checked == false) { ShowMessage("多型号查询时,型号精确匹配必须勾选!"); return false; } return base.QueryLogicValid(); } protected override void SetComboxItems() { setCbxJGCZB(); } #region 私有函数 private void InitControl() { cbxMXBH.ClearItems(); cbxMXBH.Items.Add(new ListItem("报价价格表", "JGB")); cbxMXBH.Items.Add(new ListItem("基价价格表", "JGC")); cbxMXBH.Items.Add(new ListItem("优先取价价格表", "JGF")); cbxJGHC.ClearItems(); cbxJGHC.Items.Add(new ListItem("", "")); cbxJGHC.Items.Add(new ListItem("表价<0", "1")); cbxJGHC.Items.Add(new ListItem("表价<基价", "2")); cbxJGHC.Items.Add(new ListItem("表价=基价", "3")); cbxJGHC.Items.Add(new ListItem("表价>基价", "4")); cbxWCLQD.ClearItems(); cbxWCLQD.Items.Add(new ListItem("", "")); cbxWCLQD.Items.Add(new ListItem("有", "1")); cbxWCLQD.Items.Add(new ListItem("无", "2")); cbxWCLQD.ShowValue = false; cbxWGCP.ClearItems(); cbxWGCP.Items.Add(new ListItem("", "")); cbxWGCP.Items.Add(new ListItem("是", "1")); cbxWGCP.Items.Add(new ListItem("否", "2")); cbxWGCP.ShowValue = false; cbxXLCP.ClearItems(); cbxXLCP.Items.Add(new ListItem("", "")); cbxXLCP.Items.Add(new ListItem("有", "1")); cbxXLCP.Items.Add(new ListItem("无", "2")); cbxXLCP.ShowValue = false; TComboBox.SetComboBox("DBERP", cbxWJGBYS1, "select XLXSTZYZ_YZID,XLXSTZYZ_YZMC from XLXSTZYZ where XLXSTZYZ_MXBH='JZJ' AND XLXSTZYZ_TJYS='1' ORDER BY XLXSTZYZ_YZID", true); TComboBox.SetComboBox("DBERP", this.cbxST, "select XLBZ_XLBZID,XLBZ_XLBZLXMC from XLBZ where isnull(XLBZ_DZSC,'N')='N' order by XLBZ_PX,XLBZ_XLBZID", true); TComboBox.SetComboBox("DBERP", cbxDYDJID, "select distinct XLDYDJB_DYDJID as ID,XLDYDJB_DYDJID as Name from XLDYDJB where 1=1 order by ID ", true); TComboBox.SetComboBox("DBERP", cbxDTCL, "select XLDTCLB_DTCLID,XLDTCLB_WLMC from XLDTCLB where XLDTCLB_WLID =' ' order by XLDTCLB_DTCLID ", true); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add("SELECT XLXSJGB_JGBID,XLXSJGB_YXQS,XLXSJGB_YXQZ,XLXSJGB_JGBMC from XLXSJGB "); sql.Add("where XLXSJGB_MXBH=:pMXBH "); if (!GetOption("BJU016").Equals("")) { sql.Add(" and (isnull(XLXSJGB_CPMLID,' ')=' ' or " + CMISproDataBase.GetWhereEqual("XLXSJGB_CPMLID", GetOption("BJU016")) + ") "); } sql.Add("order by XLXSJGB_JGBID"); sql.ParamByName("pMXBH").Value = cbxMXBH.SelectedValue.Trim(); DataSet ds = dberp.OpenDataSet(sql); cbxJGBID.ClearItems(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sJGBID = ds.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim(); string sYXQS = ds.Tables[0].Rows[i]["XLXSJGB_YXQS"].ToString().Trim(); string sYXQZ = ds.Tables[0].Rows[i]["XLXSJGB_YXQZ"].ToString().Trim(); string sJGBMC = ds.Tables[0].Rows[i]["XLXSJGB_JGBMC"].ToString().Trim(); if (sYXQS.Equals("")) sYXQS = "--"; else sYXQS = CMISproConvert.ConvertDate(sYXQS); if (sYXQZ.Equals("")) sYXQZ = "--"; else sYXQZ = CMISproConvert.ConvertDate(sYXQZ); if (sJGBMC.Equals("")) cbxJGBID.Items.Add(new ListItem(sJGBID + "|" + sYXQS + "至" + sYXQZ, sJGBID)); else cbxJGBID.Items.Add(new ListItem(sJGBID + "|" + sYXQS + "至" + sYXQZ + "|" + sJGBMC, sJGBID)); } sql.Clear(); sql.Add("select JGCZBID,XLJGCZBML_JGCZBMC as JGCZBMC,JGCZBBBID "); sql.Add("from "); sql.Add("( "); sql.Add(" select distinct XLXSCLQD_JGCZBID as JGCZBID, XLXSCLQD_JGCZBBBID as JGCZBBBID"); sql.Add(" from XLXSCLQD where 1=1 and XLXSCLQD_WPID ='ZZZZ' "); sql.Add(") a left join XLJGCZBML on XLJGCZBML_JGCZBID=JGCZBID "); sql.Add("order by JGCZBID"); ds = dberp.OpenDataSet(sql); cbxJGCZB.ClearItems(); cbxJGCZB.Items.Add(new ListItem("", "")); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sJGCZBBBID = ds.Tables[0].Rows[i]["JGCZBBBID"].ToString().Trim(); cbxJGCZB.Items.Add(new ListItem(ds.Tables[0].Rows[i]["JGCZBID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["JGCZBMC"].ToString().Trim() + "|" + sJGCZBBBID , ds.Tables[0].Rows[i]["JGCZBID"].ToString().Trim() + "|" + sJGCZBBBID)); } } private string GetJGCIDS(string sJGBID, string sMXBH) { string sJGCIDS = sJGBID; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add("SELECT XLXSJGB_JGCIDS from XLXSJGB "); sql.Add("where XLXSJGB_MXBH=:pMXBH "); sql.Add(" and XLXSJGB_JGBID = :pJGBID "); sql.ParamByName("pMXBH").Value = sMXBH; sql.ParamByName("pJGBID").Value = sJGBID; DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { sJGCIDS = sJGCIDS + "," + ds.Tables[0].Rows[0][0].ToString().Trim(); } sJGCIDS = sJGCIDS.TrimStart(',').TrimEnd(','); return sJGCIDS; } private void setCbxJGCZB() { string sJGCIDS = GetJGCIDS(cbxJGBID.SelectedValue.Trim(), cbxMXBH.SelectedValue.Trim()); //结构尺重表之前的值 string sOLDJGCZB = cbxJGCZB.SelectedValue.Trim(); int flag = 0; cbxJGCZB.ClearItems(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Clear(); sql.Add("select distinct XLJGCZBML_JGCZBID as JGCZBID,XLJGCZBML_JGCZBMC as JGCZBMC,XLJGCZBML_JGCZBBBID as JGCZBBBID "); sql.Add(" from XLJGCZBML "); sql.Add(" where exists( "); sql.Add(" select 1 "); sql.Add(" from XLXSJGBMX"); sql.Add(" left join XLXSCLQD on XLXSCLQD_XLXHID = XLXSJGBMX_XLXHID and XLXSCLQD_XLGGID = XLXSJGBMX_XLGGID"); sql.Add(" and XLXSCLQD_XLBZID = XLXSJGBMX_XLBZID and XLXSCLQD_DYDJID = isnull(XLXSJGBMX_DYDJID,' ')"); sql.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID"); sql.Add(" where " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGCIDS)); sql.Add(" and XLXSCLQD_WPID ='ZZZZ' and XLXSCLQD_JGCZBID=XLJGCZBML_JGCZBID and XLXSCLQD_JGCZBBBID=XLJGCZBML_JGCZBBBID "); if (!txtXLXHID.Text.Trim().Equals("")) { string sXLXHID = txtXLXHID.Text.Trim(); string[] sTemp = sXLXHID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length >= 2) { if (chkXLXHIDJQPP.Checked == false) { chkXLXHIDJQPP.Checked = true; } sql.Add(" and " + CMISproDataBase.GetWhereEqual(" XLXSCLQD_XLXHID", sXLXHID)); } else { if (chkXLXHIDJQPP.Checked == true) { sql.Add(" and XLXSCLQD_XLXHID = :pXLXHID "); sql.ParamByName("pXLXHID").Value = sXLXHID; } else { sql.Add(" and XLXSCLQD_XLXHID like :pXLXHID "); sql.ParamByName("pXLXHID").Value = "%" + sXLXHID + "%"; } } } if (!txtXLGGID.Text.Trim().Equals("")) { string sXLGGID = txtXLGGID.Text.Trim(); string[] sTemp = sXLGGID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length >= 2) { //区别 sql.Add(" and " + CMISproDataBase.GetWhereEqual(" XLXSBJXLGGTHB_XLGGIDCH", sXLGGID.Replace('*', '×'))); } else { if (chkXLGGIDJQPP.Checked == true) { sql.Add(" and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID "); sql.ParamByName("pXLGGID").Value = txtXLGGID.Text.Trim().Replace('*', '×'); } else { sql.Add(" and XLXSBJXLGGTHB_XLGGIDCH like :pXLGGID "); sql.ParamByName("pXLGGID").Value = "%" + txtXLGGID.Text.Trim().Replace('*', '×') + "%"; } } } if (!txtJGCZBID2.Text.Trim().Equals("")) { sql.Add(" and XLXSCLQD_JGCZBID = :pJGCZBID"); sql.ParamByName("pJGCZBID").Value = txtJGCZBID2.Text.Trim(); } if (!cbxST.SelectedValue.Trim().Equals("")) { sql.Add(" and XLXSCLQD_XLBZID = :pXLBZID"); sql.ParamByName("pXLBZID").Value = cbxST.SelectedValue.Trim(); } if (!cbxDYDJID.SelectedValue.Trim().Equals("")) { sql.Add(" and XLXSCLQD_DYDJID = :pDYDJID"); sql.ParamByName("pDYDJID").Value = cbxDYDJID.SelectedValue.Trim(); } sql.Add(" ) "); sql.Add("order by XLJGCZBML_JGCZBID"); DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { cbxJGCZB.Items.Add(new ListItem("", "")); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sJGCZBBBID = ds.Tables[0].Rows[i]["JGCZBBBID"].ToString().Trim(); cbxJGCZB.Items.Add(new ListItem(ds.Tables[0].Rows[i]["JGCZBID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["JGCZBMC"].ToString().Trim() + "|" + sJGCZBBBID , ds.Tables[0].Rows[i]["JGCZBID"].ToString().Trim() + "|" + sJGCZBBBID)); if (sOLDJGCZB.Equals(ds.Tables[0].Rows[i]["JGCZBID"].ToString().Trim() + "|" + sJGCZBBBID)) { flag = 1; } } if (1 == flag) { cbxJGCZB.SelectedValue = sOLDJGCZB; cbxJGCZB_SelectedIndexChanged(null, null); } } } #endregion #region 控件事件 protected void cbxMXBH_SelectedIndexChanged(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add("SELECT XLXSJGB_JGBID,XLXSJGB_YXQS,XLXSJGB_YXQZ,XLXSJGB_JGBMC from XLXSJGB "); sql.Add("where XLXSJGB_MXBH=:pMXBH "); if (!GetOption("BJU016").Equals("")) { sql.Add(" and (isnull(XLXSJGB_CPMLID,' ')=' ' or " + CMISproDataBase.GetWhereEqual("XLXSJGB_CPMLID", GetOption("BJU016")) + ") "); } sql.Add("order by XLXSJGB_YXQS desc,ISNULL(XLXSJGB_YXQZ,'9999-12-31') desc,XLXSJGB_JGBID "); sql.ParamByName("pMXBH").Value = cbxMXBH.SelectedValue.Trim(); DataSet ds = dberp.OpenDataSet(sql); cbxJGBID.ClearItems(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sJGBID = ds.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim(); string sYXQS = ds.Tables[0].Rows[i]["XLXSJGB_YXQS"].ToString().Trim(); string sYXQZ = ds.Tables[0].Rows[i]["XLXSJGB_YXQZ"].ToString().Trim(); string sJGBMC = ds.Tables[0].Rows[i]["XLXSJGB_JGBMC"].ToString().Trim(); if (sYXQS.Equals("")) sYXQS = "--"; else sYXQS = CMISproConvert.ConvertDate(sYXQS); if (sYXQZ.Equals("")) sYXQZ = "--"; else sYXQZ = CMISproConvert.ConvertDate(sYXQZ); if (sJGBMC.Equals("")) cbxJGBID.Items.Add(new ListItem(sJGBID + "|" + sYXQS + "至" + sYXQZ, sJGBID)); else cbxJGBID.Items.Add(new ListItem(sJGBID + "|" + sYXQS + "至" + sYXQZ + "|" + sJGBMC, sJGBID)); } } protected void cbxJGBID_SelectedIndexChanged(object sender, EventArgs e) { cbxLZYZ.ClearItems(); cbxLZYZ.Items.Add(new ListItem("", "")); if (!cbxJGBID.SelectedValue.Trim().Equals("")) { List yzxx_List = XLBJDUtils.GetJGBYZOrderByXSXH(cbxJGBID.SelectedValue.Trim()); foreach (TZYZXX yzxx in yzxx_List) { cbxLZYZ.Items.Add(new ListItem(yzxx.XLXSTZYZ_YZMC.Trim(), yzxx.XLXSTZYZ_YZID.Trim())); } } txtXLXHID_OnTextChanged(null, null); } protected void cbxJGCZB_SelectedIndexChanged(object Sender, EventArgs e) { if (!cbxJGCZB.SelectedValue.Trim().Equals("")) txtJGCZBBBID.Text = cbxJGCZB.SelectedValue.Trim().Split('|')[1]; else txtJGCZBBBID.Text = ""; } protected void txtXLXHID_OnTextChanged(object Sender, EventArgs e) { if (IsPostBack) setCbxJGCZB(); } protected void txtXLGGID_OnTextChanged(object Sender, EventArgs e) { if (IsPostBack) setCbxJGCZB(); } protected void chkXLXHIDJQPP_OnCheckedChanged(object Sender, EventArgs e) { string sXLXHID = txtXLXHID.Text.Trim(); string[] sTemp = sXLXHID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length >= 2) { } else { txtXLXHID_OnTextChanged(null, null); } } protected void chkXLGGIDJQPP_OnCheckedChanged(object Sender, EventArgs e) { string sXLGGID = txtXLGGID.Text.Trim(); string[] sTemp = sXLGGID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (sTemp.Length >= 2) { } else { txtXLGGID_OnTextChanged(null, null); } } #endregion } }