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

400 lines
17 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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<TZYZXX> 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
}
}