400 lines
17 KiB
C#
400 lines
17 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_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
|
||
}
|
||
}
|