Files
2026-08-21 17:03:02 +08:00

330 lines
13 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.Page;
using GThinking.N_PUBLIC;
using GThinking.N_MISPRO.Utility;
using GThinking.N_MISPRO.Data;
namespace GThinking.N_XLXSBJ
{
public partial class CLHQQuery : SingleQueryBase
{
XLXSCLHQ_M qryEntity = new XLXSCLHQ_M();
#region 页面初始化
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860003;
this.UMName = "线缆销售报价材料行情";
this.CurMaster = Master;
this.CurQueryTable = QueryTable;
this.CurQueryEntity = qryEntity;
cbxBJHQ.ClearItems();
cbxBJHQ.Items.Add(new ListItem("", ""));
cbxBJHQ.Items.Add(new ListItem("材料行情", "1"));
cbxBJHQ.Items.Add(new ListItem("物料行情", "2"));
cbxPXFS.ClearItems();
cbxPXFS.Items.Add(new ListItem("材料编码", "ID"));
cbxPXFS.Items.Add(new ListItem("材料名称", "MC"));
cbxPXFS.Items.Add(new ListItem("按维护时间倒排", "AWHSJDP"));
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select top 1 XLXSBJCL_BJHQ from XLXSBJCL where XLXSBJCL_BJHQ = '2' ");
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
cbxPXFS.Items.Add(new ListItem("行情价差率↓+材料编码", "HQJCLD+ID"));
cbxPXFS.Items.Add(new ListItem("行情价差率↓+材料名称", "HQJCLD+MC"));
}
cbxHQBDPL.ClearItems();
cbxHQBDPL.Items.Add(new ListItem("", ""));
cbxHQBDPL.Items.Add(new ListItem("未设置", "未设置"));
SQL.Clear();
SQL.Add(" select distinct XLXSBJCL_HQBDPL as HQBDPL from XLXSBJCL ");
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow trow in ds.Tables[0].Rows)
{
string sHQBDPL = trow["HQBDPL"].ToString().Trim();
if (!string.IsNullOrEmpty(sHQBDPL))
{
cbxHQBDPL.Items.Add(new ListItem(sHQBDPL, sHQBDPL));
}
}
}
base.InitPage();
if (!IsPostBack)
{
InitControl();
}
}
#endregion
#region 模板事件
protected override bool QueryLogicValid()
{
if (datCKRQ.Text.Equals(""))
{
ShowMessage("参考日期不允许为空!");
return false;
}
if (chkCXByJGCZB.Checked && cbxJGCZB.SelectedValue.Trim().Equals(""))
{
ShowMessage("按结构尺重表查询报价材料时,结构尺重表不允许为空!");
return false;
}
return base.QueryLogicValid();
}
#endregion
#region 私有函数
private void InitControl()
{
cbxXLXHID.Enabled = false;
cbxDYDJID.Enabled = false;
cbxJGCZB.Enabled = false;
chkYLWLBXS.Enabled = false;
if (datCKRQ.Text.Trim().Equals(DateTime.Now.ToShortDateString().Trim()))
chkHQWS.Enabled = true;
else
chkHQWS.Enabled = false;
chkCXByJGCZB_CheckedChanged(null, null);
}
#endregion
#region
protected void chkCXByJGCZB_CheckedChanged(object Sender, EventArgs e)
{
if (IsPostBack)
{
if (chkCXByJGCZB.Checked)
{
chkYLWLBXS.Checked = true;
}
else
{
chkYLWLBXS.Checked = false;
}
}
if (chkCXByJGCZB.Checked)
{
cbxXLXHID.Enabled = true;
cbxDYDJID.Enabled = true;
cbxJGCZB.Enabled = true;
cbxJGCZB.Tag = GThinking.N_CONTROL.gtComboBox.DTagStates.Star;
chkYLWLBXS.Enabled = true;
TComboBox.SetComboBox("DBERP", cbxXLXHID, "select distinct XLXSCLQD_XLXHID as ID,XLXSCLQD_XLXHID as NAME from XLXSCLQD where 1 = 1 and XLXSCLQD_WPID ='ZZZZ' order by ID ", true);
TComboBox.SetComboBox("DBERP", cbxDYDJID, "select distinct XLXSCLQD_DYDJID as ID,XLXSCLQD_DYDJID as NAME from XLXSCLQD where 1 = 1 and XLXSCLQD_WPID ='ZZZZ' and XLXSCLQD_DYDJID <> ' ' order by ID ", true);
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
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' ");
if (!cbxXLXHID.SelectedValue.Trim().Equals(""))
{
sql.Add(" and XLXSCLQD_XLXHID = :pXLXHID");
sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim();
}
if (!cbxDYDJID.SelectedValue.Trim().Equals(""))
{
sql.Add(" and XLXSCLQD_DYDJID = :pDYDJID");
sql.ParamByName("pDYDJID").Value = cbxDYDJID.SelectedValue.Trim();
}
sql.Add(") a left join XLJGCZBML on XLJGCZBML_JGCZBID=JGCZBID ");
sql.Add("order by JGCZBID");
DataSet ds = dberp.OpenDataSet(sql);
cbxJGCZB.ClearItems();
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 (cbxJGCZB.ItemsCount == 1)
{
cbxJGCZB.SelectedIndex = 0;
cbxJGCZB_SelectedIndexChanged(null, null);
}
}
else
{
cbxXLXHID.SelectedValue = "";
cbxDYDJID.SelectedValue = "";
cbxJGCZB.SelectedValue = "";
cbxJGCZB.Tag = GThinking.N_CONTROL.gtComboBox.DTagStates.None;
cbxXLXHID.Enabled = false;
cbxDYDJID.Enabled = false;
cbxJGCZB.Enabled = false;
chkYLWLBXS.Enabled = false;
}
}
protected void cbxJGCZB_SelectedIndexChanged(object Sender, EventArgs e)
{
if (!cbxJGCZB.SelectedValue.Trim().Equals(""))
txtJGCZBBBID.Text = cbxJGCZB.SelectedValue.Trim().Split('|')[1];
}
protected void cbxXLXHID_CheckedChanged(object Sender, EventArgs e)
{
//结构尺重表之前的值
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 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 ");
sql.Add(" where 1 = 1 and XLXSCLQD_WPID ='ZZZZ' ");
if (!cbxXLXHID.SelectedValue.Trim().Equals(""))
{
sql.Add(" and XLXSCLQD_XLXHID = :pXLXHID");
sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim();
}
if (!cbxDYDJID.SelectedValue.Trim().Equals(""))
{
sql.Add(" and XLXSCLQD_DYDJID = :pDYDJID");
sql.ParamByName("pDYDJID").Value = cbxDYDJID.SelectedValue.Trim();
}
sql.Add(") a left join XLJGCZBML on XLJGCZBML_JGCZBID=JGCZBID ");
sql.Add("order by JGCZBID");
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
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);
}
else
{
if (!cbxXLXHID.SelectedValue.Trim().Equals("") || !cbxDYDJID.SelectedValue.Trim().Equals(""))
{
if (cbxJGCZB.ItemsCount == 1)
{
cbxJGCZB.SelectedIndex = 0;
cbxJGCZB_SelectedIndexChanged(null, null);
}
}
}
}
}
protected void cbxDYDJID_CheckedChanged(object Sender, EventArgs e)
{
//结构尺重表之前的值
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 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 ");
sql.Add(" where 1 = 1 and XLXSCLQD_WPID ='ZZZZ' ");
if (!cbxXLXHID.SelectedValue.Trim().Equals(""))
{
sql.Add(" and XLXSCLQD_XLXHID = :pXLXHID");
sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim();
}
if (!cbxDYDJID.SelectedValue.Trim().Equals(""))
{
sql.Add(" and XLXSCLQD_DYDJID = :pDYDJID");
sql.ParamByName("pDYDJID").Value = cbxDYDJID.SelectedValue.Trim();
}
sql.Add(") a left join XLJGCZBML on XLJGCZBML_JGCZBID=JGCZBID ");
sql.Add("order by JGCZBID");
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
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);
}
else
{
if (!cbxXLXHID.SelectedValue.Trim().Equals("") || !cbxDYDJID.SelectedValue.Trim().Equals(""))
{
if (cbxJGCZB.ItemsCount == 1)
{
cbxJGCZB.SelectedIndex = 0;
cbxJGCZB_SelectedIndexChanged(null, null);
}
}
}
}
}
protected void OndatCKRQChanged(object Sender, EventArgs e)
{
chkHQWS.Checked = false;
if (datCKRQ.Text.Trim().Equals(DateTime.Now.ToShortDateString().Trim()))
chkHQWS.Enabled = true;
else
chkHQWS.Enabled = false;
}
#endregion
}
}