288 lines
12 KiB
C#
288 lines
12 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;
|
|
using GThinking.N_MISPRO.TableCache;
|
|
using GThinking.N_MISPRO;
|
|
|
|
|
|
namespace GThinking.N_XLXSBJ
|
|
{
|
|
public partial class XLBJD_BDBJQuery : SingleQueryBase
|
|
{
|
|
XLBJD_BDBJ_M queryentity = new XLBJD_BDBJ_M();
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
this.UMID = 100860000;
|
|
this.UMName = "线缆销售报价单";
|
|
this.CurMaster = Master;
|
|
this.CurQueryTable = QueryTalbe;
|
|
this.CurQueryEntity = queryentity;
|
|
|
|
base.InitPage();
|
|
|
|
if (!IsPostBack)
|
|
{
|
|
InitControl();
|
|
}
|
|
|
|
}
|
|
|
|
protected override bool QueryLogicValid()
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
string sBJDHS = cbxBJDHS.SelectedValue.Trim();
|
|
string sBJDID = PageParam.GetRTrimString("BJDID");
|
|
string[] sTemp = sBJDHS.ToString().Trim().Split(',');
|
|
string message = "";
|
|
List<string> lstBDBJDID = new List<string>();
|
|
lstBDBJDID.Clear();
|
|
SQL.Clear();
|
|
SQL.Add(" SELECT distinct XLXSBJDBDMX_BDBJDID FROM XLXSBJDBDMX WHERE XLXSBJDBDMX_BJDID = :pXLXSBJDBDMX_BJDID and isnull(XLXSBJDBDMX_BDBJDID,' ' ) <> ' ' ");
|
|
SQL.ParamByName("pXLXSBJDBDMX_BJDID").Value = sBJDID;
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
lstBDBJDID.Add(ds.Tables[0].Rows[i]["XLXSBJDBDMX_BDBJDID"].ToString().Trim());
|
|
}
|
|
}
|
|
|
|
for (int m = 0; m < sTemp.Length; m++)
|
|
{
|
|
if (lstBDBJDID.Contains(sTemp[m]))
|
|
{
|
|
lstBDBJDID.Remove(sTemp[m]);
|
|
}
|
|
}
|
|
|
|
if (lstBDBJDID.Count > 0)
|
|
{
|
|
for (int i = 0; i < lstBDBJDID.Count; i++)
|
|
{
|
|
|
|
message = message + lstBDBJDID[i].ToString() + ",";
|
|
}
|
|
ShowMessage("以下报价单已经参与比价,必须选中:" + message.TrimEnd(','));
|
|
return false;
|
|
}
|
|
|
|
|
|
|
|
return base.QueryLogicValid();
|
|
}
|
|
|
|
#region 私有函数
|
|
|
|
private void InitControl()
|
|
{
|
|
string sXM = PageParam.GetRTrimString("XM");
|
|
string sKH = PageParam.GetRTrimString("KH");
|
|
string sBJFLID = PageParam.GetRTrimString("BJFLID");
|
|
string sBJDID = PageParam.GetRTrimString("BJDID");
|
|
|
|
//构建已经比对报价单的字符串
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add(" select distinct XLXSBJDBDMX_BDBJDID as BJDID,XLXSBJD_BJRQ as BJRQ ");
|
|
SQL.Add(" from XLXSBJDBDMX,XLXSBJD ");
|
|
SQL.Add(" where XLXSBJDBDMX_BJDID=:pBJDID ");
|
|
SQL.Add(" and XLXSBJDBDMX_BDBZ<>'0' ");
|
|
SQL.Add(" and isnull(XLXSBJDBDMX_BDBJDID,' ') <> ' ' ");
|
|
SQL.Add(" and XLXSBJD_BJDID=XLXSBJDBDMX_BDBJDID ");
|
|
SQL.Add(" union all ");
|
|
SQL.Add(" select top 10 a.XLXSBJD_BJDID as BJDID,a.XLXSBJD_BJRQ as BJRQ ");
|
|
SQL.Add(" from XLXSBJD a,XLXSBJD b ");
|
|
/*关联报价单号*/
|
|
SQL.Add(" where b.XLXSBJD_BJDID=:pBJDID ");
|
|
/*排除掉客户为空报价单*/
|
|
//SQL.Add(" and isnull(a.XLXSBJD_KH, ' ')<>' ' ");
|
|
/*来自查询条件“客户”*/
|
|
SQL.Add(" and a.XLXSBJD_KH=:pKH ");
|
|
/*排除掉项目为空报价单*/
|
|
//SQL.Add(" and isnull(a.XLXSBJD_XMMC,' ')<>' ' ");
|
|
/*来自查询条件“项目”*/
|
|
SQL.Add(" and a.XLXSBJD_XMMC=:pXM ");
|
|
/*主报价单之报价分类*/
|
|
//SQL.Add(" and a.XLXSBJD_BJFLID=:pBJFLID ");
|
|
/*关联报价单号*/
|
|
SQL.Add(" and a.XLXSBJD_BJDID<>:pBJDID ");
|
|
/*来自查询条件“报价日期始”*/
|
|
if (!datBJRQS.Text.Trim().Equals(""))
|
|
SQL.Add(" and a.XLXSBJD_BJRQ>=:pBJRQS ");
|
|
/*来自查询条件“报价日期终”*/
|
|
if (!datBJRQZ.Text.Trim().Equals(""))
|
|
SQL.Add(" and a.XLXSBJD_BJRQ<=:pBJRQZ ");
|
|
/*必须有相同产品的报价单*/
|
|
SQL.Add(" and exists ");
|
|
SQL.Add(" ( ");
|
|
SQL.Add(" select 1 ");
|
|
SQL.Add(" from XLXSBJDMX c,XLXSBJDMX d ");
|
|
SQL.Add(" where c.XLXSBJDMX_BJDID=a.XLXSBJD_BJDID ");
|
|
SQL.Add(" and c.XLXSBJDMX_XLXHID=d.XLXSBJDMX_XLXHID ");
|
|
SQL.Add(" and c.XLXSBJDMX_XLGGID=d.XLXSBJDMX_XLGGID ");
|
|
SQL.Add(" and c.XLXSBJDMX_XLBZID=d.XLXSBJDMX_XLBZID ");
|
|
SQL.Add(" and c.XLXSBJDMX_DYDJID=d.XLXSBJDMX_DYDJID ");
|
|
SQL.Add(" and c.XLXSBJDMX_XLYSID=d.XLXSBJDMX_XLYSID ");
|
|
/*报价单号*/
|
|
SQL.Add(" and d.XLXSBJDMX_BJDID=:pBJDID ");
|
|
SQL.Add(" ) ");
|
|
SQL.Add(" and not exists ");
|
|
SQL.Add(" ( ");
|
|
SQL.Add(" select 1 ");
|
|
SQL.Add(" from XLXSBJDBDMX ");
|
|
SQL.Add(" where XLXSBJDBDMX_BJDID=:pBJDID ");
|
|
SQL.Add(" and XLXSBJDBDMX_BDBZ<>'0' ");
|
|
SQL.Add(" and isnull(XLXSBJDBDMX_BDBJDID,' ' ) <> ' ' ");
|
|
SQL.Add(" and XLXSBJDBDMX_BDBJDID=a.XLXSBJD_BJDID ");
|
|
SQL.Add(" ) ");
|
|
SQL.Add(" order by BJRQ desc, BJDID desc ");
|
|
|
|
SQL.ParamByName("pBJDID").Value = sBJDID;
|
|
if (!datBJRQS.Text.Trim().Equals(""))
|
|
SQL.ParamByName("pBJRQS").Value = datBJRQS.Text;
|
|
if (!datBJRQS.Text.Trim().Equals(""))
|
|
SQL.ParamByName("pBJRQZ").Value = datBJRQZ.Text;
|
|
SQL.ParamByName("pKH").Value = sKH;
|
|
SQL.ParamByName("pXM").Value = sXM;
|
|
//SQL.ParamByName("pBJFLID").Value = sBJFLID;
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
string sss = SQL.Text;
|
|
cbxBJDHS.ClearItems();
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
cbxBJDHS.Items.Add(new ListItem(ds.Tables[0].Rows[i]["BJDID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["BJRQ"].ToString().Trim().Substring(0, 10), ds.Tables[0].Rows[i]["BJDID"].ToString().Trim()));
|
|
}
|
|
cbxBJDHS.ShowValue = false;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 控件事件
|
|
protected void lblZBBJDID_Click(object sender, EventArgs e)
|
|
{
|
|
string sXM = PageParam.GetRTrimString("XM");
|
|
string sKH = PageParam.GetRTrimString("KH");
|
|
string sBJFLID = PageParam.GetRTrimString("BJFLID");
|
|
string sBJDID = PageParam.GetRTrimString("BJDID");
|
|
string sBJRQZ = PageParam.GetRTrimString("BJRQZ");
|
|
|
|
TPageParams pageParams = new TPageParams();
|
|
pageParams.UrlPath = "XLBJD_BDBJSelList.aspx";
|
|
pageParams.AddString("BJDID", sBJDID);
|
|
pageParams.AddString("txtZBBJDIDCID", txtZBBJDID.ClientID);
|
|
OpenDialog(pageParams);
|
|
}
|
|
|
|
protected void datBJRQ_Change(object sender, EventArgs e)
|
|
{
|
|
string sXM = PageParam.GetRTrimString("XM");
|
|
string sKH = PageParam.GetRTrimString("KH");
|
|
string sBJFLID = PageParam.GetRTrimString("BJFLID");
|
|
string sBJDID = PageParam.GetRTrimString("BJDID");
|
|
|
|
|
|
//构建已经比对报价单的字符串
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL SQL = new TSQL(dberp);
|
|
SQL.Clear();
|
|
SQL.Add(" select distinct XLXSBJDBDMX_BDBJDID as BJDID,XLXSBJD_BJRQ as BJRQ ");
|
|
SQL.Add(" from XLXSBJDBDMX,XLXSBJD ");
|
|
SQL.Add(" where XLXSBJDBDMX_BJDID=:pBJDID ");
|
|
SQL.Add(" and XLXSBJDBDMX_BDBZ<>'0' ");
|
|
SQL.Add(" and isnull(XLXSBJDBDMX_BDBJDID,' ') <> ' ' ");
|
|
SQL.Add(" and XLXSBJD_BJDID=XLXSBJDBDMX_BDBJDID ");
|
|
SQL.Add(" union all ");
|
|
SQL.Add(" select top 10 a.XLXSBJD_BJDID as BJDID,a.XLXSBJD_BJRQ as BJRQ ");
|
|
SQL.Add(" from XLXSBJD a,XLXSBJD b ");
|
|
/*关联报价单号*/
|
|
SQL.Add(" where b.XLXSBJD_BJDID=:pBJDID ");
|
|
/*排除掉客户为空报价单*/
|
|
//SQL.Add(" and isnull(a.XLXSBJD_KH, ' ')<>' ' ");
|
|
/*来自查询条件“客户”*/
|
|
SQL.Add(" and a.XLXSBJD_KH=:pKH ");
|
|
/*排除掉项目为空报价单*/
|
|
//SQL.Add(" and isnull(a.XLXSBJD_XMMC,' ')<>' ' ");
|
|
/*来自查询条件“项目”*/
|
|
SQL.Add(" and a.XLXSBJD_XMMC=:pXM ");
|
|
/*主报价单之报价分类*/
|
|
//SQL.Add(" and a.XLXSBJD_BJFLID=:pBJFLID ");
|
|
/*关联报价单号*/
|
|
SQL.Add(" and a.XLXSBJD_BJDID<>:pBJDID ");
|
|
/*来自查询条件“报价日期始”*/
|
|
if(!datBJRQS.Text.Trim().Equals(""))
|
|
SQL.Add(" and a.XLXSBJD_BJRQ>=:pBJRQS ");
|
|
/*来自查询条件“报价日期终”*/
|
|
if (!datBJRQZ.Text.Trim().Equals(""))
|
|
SQL.Add(" and a.XLXSBJD_BJRQ<=:pBJRQZ ");
|
|
/*必须有相同产品的报价单*/
|
|
SQL.Add(" and exists ");
|
|
SQL.Add(" ( ");
|
|
SQL.Add(" select 1 ");
|
|
SQL.Add(" from XLXSBJDMX c,XLXSBJDMX d ");
|
|
SQL.Add(" where c.XLXSBJDMX_BJDID=a.XLXSBJD_BJDID ");
|
|
SQL.Add(" and c.XLXSBJDMX_XLXHID=d.XLXSBJDMX_XLXHID ");
|
|
SQL.Add(" and c.XLXSBJDMX_XLGGID=d.XLXSBJDMX_XLGGID ");
|
|
SQL.Add(" and c.XLXSBJDMX_XLBZID=d.XLXSBJDMX_XLBZID ");
|
|
SQL.Add(" and c.XLXSBJDMX_DYDJID=d.XLXSBJDMX_DYDJID ");
|
|
SQL.Add(" and c.XLXSBJDMX_XLYSID=d.XLXSBJDMX_XLYSID ");
|
|
/*报价单号*/
|
|
SQL.Add(" and d.XLXSBJDMX_BJDID=:pBJDID ");
|
|
SQL.Add(" ) ");
|
|
SQL.Add(" and not exists ");
|
|
SQL.Add(" ( ");
|
|
SQL.Add(" select 1 ");
|
|
SQL.Add(" from XLXSBJDBDMX ");
|
|
SQL.Add(" where XLXSBJDBDMX_BJDID=:pBJDID ");
|
|
SQL.Add(" and XLXSBJDBDMX_BDBZ<>'0' ");
|
|
SQL.Add(" and isnull(XLXSBJDBDMX_BDBJDID,' ' ) <> ' ' ");
|
|
SQL.Add(" and XLXSBJDBDMX_BDBJDID=a.XLXSBJD_BJDID ");
|
|
SQL.Add(" ) ");
|
|
SQL.Add(" order by BJRQ desc, BJDID desc ");
|
|
|
|
SQL.ParamByName("pBJDID").Value = sBJDID;
|
|
if (!datBJRQS.Text.Trim().Equals(""))
|
|
SQL.ParamByName("pBJRQS").Value = datBJRQS.Text;
|
|
if (!datBJRQS.Text.Trim().Equals(""))
|
|
SQL.ParamByName("pBJRQZ").Value = datBJRQZ.Text;
|
|
SQL.ParamByName("pKH").Value = sKH;
|
|
SQL.ParamByName("pXM").Value = sXM;
|
|
//SQL.ParamByName("pBJFLID").Value = sBJFLID;
|
|
DataSet ds = dberp.OpenDataSet(SQL);
|
|
string sss = SQL.Text;
|
|
cbxBJDHS.ClearItems();
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
cbxBJDHS.Items.Add(new ListItem(ds.Tables[0].Rows[i]["BJDID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["BJRQ"].ToString().Trim().Substring(0, 10), ds.Tables[0].Rows[i]["BJDID"].ToString().Trim()));
|
|
}
|
|
cbxBJDHS.ShowValue = false;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|