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.Dialog; using GThinking.N_MODEL.Page; using GThinking.N_MISPRO.Utility; using GThinking.N_MISPRO.Data; using System.Collections.Generic; namespace GThinking.N_XLXSBJ { public partial class BJDTJQuery : SingleQueryBase { BJDTJ_M queryentity = new BJDTJ_M(); #region page事件 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860063; this.UMName = "查询"; this.CurMaster = Master; this.CurQueryEntity = queryentity; this.CurQueryTable = QueryTalbe; base.InitPage(); if (!IsPostBack) { InitControls(); } } #endregion #region 模板事件 protected override bool QueryLogicValid() { if (cbxBJFLID.SelectedValue.Trim().Equals("")) { ShowMessage("请选择报价分类!"); return false; } string sFLLV = LogicValidBJFLID(cbxBJFLID.SelectedValue); if (sFLLV.Equals("BJ")) { ShowMessage("所选报价分类的非空价差率公式不一致!"); return false; } else if (sFLLV.Equals("LJ")) { ShowMessage("所选报价分类的非空料价价差率公式不一致!"); return false; } else if (sFLLV.Equals("XJ")) { ShowMessage("所选报价分类的非空最低限价价差率公式不一致!"); return false; } if (cbxHZFS.SelectedValue.Trim().Equals("")) { ShowMessage("请选择汇总方式!"); return false; } if (chkXSMX.Checked && chkDTCLZS.Checked) { ShowMessage("显示明细和产品分导体材料展示不能同时展示!"); return false; } return base.QueryLogicValid(); } # endregion #region 自定义事件 private void InitControls() { WorkFlowUtils.SetCheckedDropDownList_WFPROC("XLXSBJ_BJD", cbxWFState); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); cbxHZFS.ClearItems(); cbxHZFS.Items.Add(new ListItem("型号", "XH")); cbxHZFS.Items.Add(new ListItem("客户", "KH")); XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000); if (pzxx.XLXSBJPZ_KHJSLY == "KHXX" || pzxx.XLXSBJPZ_KHJSLY == "KH") { cbxHZFS.Items.Add(new ListItem("客户分类", "KHFL")); } cbxHZFS.Items.Add(new ListItem("销售员", "TXY")); cbxHZFS.Items.Add(new ListItem("部门", "BM")); cbxHZFS.Items.Add(new ListItem("项目所在地(省/直辖市/自治区)", "XMSZD_PRO")); cbxHZFS.Items.Add(new ListItem("项目所在地(市/区/盟/州)", "XMSZD_CIY")); cbxHZFS.Items.Add(new ListItem("产品目录", "CPMLID")); if (CMISproDataBase.ExistsRecord("DBERP", "select 1 from CPXLDZB where 1=1 ")) { cbxHZFS.Items.Add(new ListItem("产品系列", "CPXLID")); cbxHZFS.Items.Add(new ListItem("项目所在地(省/直辖市/自治区)+产品系列", "XMSZD_PROCPXLID")); cbxHZFS.Items.Add(new ListItem("项目所在地(市/区/盟/州)+产品系列", "XMSZD_CIYCPXLID")); } cbxHZFS.Items.Add(new ListItem("产品目录+电压等级分类", "CPMLIDDYDJFL")); cbxHZFS.Items.Add(new ListItem("产品用途", "CPYT")); cbxHZFS.Items.Add(new ListItem("产品用途+电压等级分类", "CPYTDYDJFL")); cbxHZFS.ShowValue = false; sql.Clear(); sql.Add("select XLXSBJFL_BJFLID,case isnull(XLXSBJFL_TYBZ,' ') when 'Y' then rtrim(XLXSBJFL_BJFLMC)||'(停用)' else XLXSBJFL_BJFLMC end as Name from XLXSBJFL where 1 = 1 "); if (!GetOption("BJU012").Equals("")) { sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJFL_BJFLID", GetOption("BJU012"))); } sql.Add(" order by XLXSBJFL_XSXH,XLXSBJFL_BJFLID "); DataSet ds = dberp.OpenDataSet(sql); cbxBJFLID.ClearItems(); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sBJFLID = ds.Tables[0].Rows[i][0].ToString().Trim(); string sBJFLMC = ds.Tables[0].Rows[i][1].ToString().Trim(); cbxBJFLID.Items.Add(new ListItem(sBJFLMC, sBJFLID)); } } if (cbxBJFLID.Items.Count == 1) { cbxBJFLID.SelectedIndex = 0; } string sSQL = " SELECT BM_BMID,BM_MC FROM BM where 1=1 "; if (!string.IsNullOrEmpty(GetOption("HJU006").Trim())) { sSQL += " and " + CMISproDataBase.GetWhereEqual("BM_BMID", GetOption("HJU006").Trim()); } sSQL += " order by BM_BMID"; TComboBox.SetComboBox("DBERP", cbxXSBM, sSQL, true); sql.Clear(); ds.Clear(); sql.Add("select XSY_TXY,XSY_ZJM from XSY where 1=1 and XSY_TYBZ = 'N' "); if (!string.IsNullOrEmpty(GetOption("HJU006").Trim())) { sql.Add(" and (" + CMISproDataBase.GetWhereEqual("XSY_BMID", GetOption("HJU006").Trim())); sql.Add(" or isnull(XSY_BMID, ' ') = ' ') "); } sql.Add(" order by XSY_ZJM "); ds = dberp.OpenDataSet(sql); cbxTXY.ClearItems(); if (ds.Tables[0].Rows.Count > 0) { cbxTXY.Items.Add(new ListItem("", "")); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sTXY = ds.Tables[0].Rows[i][0].ToString().Trim(); string sZJM = ds.Tables[0].Rows[i][1].ToString().Trim(); if (sZJM.Equals("")) sZJM = CMISproConvert.ConvertZJM(sTXY).Trim(); cbxTXY.Items.Add(new ListItem(sZJM + "|" + sTXY, sTXY)); } } TComboBox.SetComboBox("DBERP", cbxCPYT, "select XLCPYT_CPYT,XLCPYT_CPYTMC from XLCPYT where 1=1 order by XLCPYT_CPYT", true); sql.Clear(); ds.Clear(); sql.Add("select XLXHB_XLXHID as ID,XLXHB_XLXHID as Name from XLXHB where isnull(XLXHB_TYBZ,'N')<>'Y' "); if (!cbxCPYT.SelectedValue.Trim().Equals("")) { sql.Add(" and XLXHB_CPYT = '" + cbxCPYT.SelectedValue + "' "); } sql.Add(" order by ID "); ds = dberp.OpenDataSet(sql); cbxXH.ClearItems(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sID = ds.Tables[0].Rows[i]["ID"].ToString().Trim(); string sName = ds.Tables[0].Rows[i]["Name"].ToString().Trim(); cbxXH.Items.Add(new ListItem(sName, sID)); } cbxXH.ShowValue = false; } //价差率公式、料价价差率公式、最低限价价差率公式必须为空或相同 private string LogicValidBJFLID(string sBJFLID) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XLXSBJFL_BJJCLLX,XLXSBJFL_LJJCLLX,XLXSBJFL_ZDXJJCLLX from XLXSBJFL where 1=1 and " + CMISproDataBase.GetWhereEqual("XLXSBJFL_BJFLID", sBJFLID)); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { string sBJJCLLX = ""; string sLJJCLLX = ""; string sZDXJJCLLX = ""; foreach (DataRow trow in ds.Tables[0].Rows) { string tBJJCLLX = trow["XLXSBJFL_BJJCLLX"].ToString().Trim(); string tLJJCLLX = trow["XLXSBJFL_LJJCLLX"].ToString().Trim(); string tZDXJJCLLX = trow["XLXSBJFL_ZDXJJCLLX"].ToString().Trim(); if (!sBJJCLLX.Equals("") && !tBJJCLLX.Equals("") && !sBJJCLLX.Equals(tBJJCLLX)) return "BJ"; if (!sLJJCLLX.Equals("") && !tLJJCLLX.Equals("") && !sLJJCLLX.Equals(tLJJCLLX)) return "LJ"; if (!sZDXJJCLLX.Equals("") && !tZDXJJCLLX.Equals("") && !sLJJCLLX.Equals(tZDXJJCLLX)) return "XJ"; sBJJCLLX = tBJJCLLX; sLJJCLLX = tLJJCLLX; sZDXJJCLLX = tZDXJJCLLX; } } return ""; } #endregion #region 控件事件 protected void OncbxCPYT_Changed(object sender, EventArgs e) { cbxXH.ClearItems(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add("select XLXHB_XLXHID as ID,XLXHB_XLXHID as Name from XLXHB where isnull(XLXHB_TYBZ,'N')<>'Y' "); if (!cbxCPYT.SelectedValue.Trim().Equals("")) { sql.Add(" and XLXHB_CPYT = '" + cbxCPYT.SelectedValue + "' "); } DataSet ds = dberp.OpenDataSet(sql); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sID = ds.Tables[0].Rows[i]["ID"].ToString().Trim(); string sName = ds.Tables[0].Rows[i]["Name"].ToString().Trim(); cbxXH.Items.Add(new ListItem(sName, sID)); } cbxXH.ShowValue = false; } protected void chkXSMX_CheckedChanged(object sender, EventArgs e) { if (chkXSMX.Checked && chkDTCLZS.Checked) chkDTCLZS.Checked = false; } protected void chkDTCLZS_CheckedChanged(object sender, EventArgs e) { if (chkXSMX.Checked && chkDTCLZS.Checked) chkXSMX.Checked = false; } #endregion } }