Files
N_XLXSBJ----MX/BJDTJQuery.aspx.cs
T
2026-08-21 17:03:02 +08:00

267 lines
10 KiB
C#

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
}
}