1600 lines
76 KiB
C#
1600 lines
76 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_WORKFLOW;
|
||
using GThinking.N_MISPRO;
|
||
using GThinking.N_MISPRO.Data;
|
||
using GThinking.N_MISPRO.Utility;
|
||
using System.Text;
|
||
using System.Collections.Generic;
|
||
using GThinking.N_CONTROL;
|
||
using System.Drawing;
|
||
using GThinking.N_MISPRO.TableCache;
|
||
using GThinking.N_PUBLIC;
|
||
|
||
namespace GThinking.N_XLXSBJ
|
||
{
|
||
public partial class XLBJDDBList : SingleGridBase
|
||
{
|
||
XLBJDDB entity = new XLBJDDB();
|
||
XLBJDDB_M queryentity = new XLBJDDB_M();
|
||
Dictionary<string, string> dicColoum = new Dictionary<string, string>();
|
||
|
||
int iXSWS = 5;
|
||
|
||
#region 页面事件
|
||
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
this.UMID = 100860042;
|
||
this.UMName = "报价单对比分析";
|
||
this.CurMaster = Master;
|
||
this.ModuleGV = grdGrid;
|
||
this.CurEntity = entity;
|
||
this.CurQueryEntity = queryentity;
|
||
this.sQueryURLTarget = "XLBJDDBQuery.aspx";
|
||
this.PageHeight = 500;
|
||
this.PageWidth = 700;
|
||
|
||
base.DataKeyNames = new string[] { "XLXSBJDMX_XLXHID", "XLXSBJDMX_XLGGID", "XLXSBJDMX_DYDJID" };
|
||
|
||
SetControlState();
|
||
|
||
iXSWS = string.IsNullOrEmpty(GetOption(100860001, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860001, "BJU002"));
|
||
if (iXSWS < 0)
|
||
iXSWS = 0;
|
||
else if (iXSWS > 8)
|
||
iXSWS = 8;
|
||
|
||
if (!IsPostBack)
|
||
{
|
||
//CurQueryEntity.FieldByName("PXFS").Value = "0";
|
||
}
|
||
|
||
base.InitPage();
|
||
|
||
this.ModuleGV.OnClientDblClick = "return false;";
|
||
|
||
|
||
|
||
if (!IsPostBack)
|
||
{
|
||
if (base.IsDefaultExecute)
|
||
{
|
||
Master_OnStandardQuery(null, null);
|
||
}
|
||
else
|
||
{
|
||
if (!PageParam.GetRTrimString("CXBJDID").Equals(""))
|
||
{
|
||
Master_OnStandardQuery(null, null);
|
||
}
|
||
}
|
||
//设置隐藏控件IsXJY、IsSJY、IsHJY
|
||
IsXJY.Value = "N";
|
||
IsSJY.Value = "N";
|
||
IsHJY.Value = "N";
|
||
|
||
TYGXX tRYXX = TRYXX.GetRYXXByGH(tSession.UserId);
|
||
string sXJYROLEID = string.Empty;
|
||
string sSJYROLEID = string.Empty;
|
||
string sHJYROLEID = string.Empty;
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
|
||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_XJYROLEID))
|
||
sXJYROLEID = pzxx.XLXSBJPZ_XJYROLEID;
|
||
|
||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_SJYROLEID))
|
||
sSJYROLEID = pzxx.XLXSBJPZ_SJYROLEID;
|
||
|
||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_HJYROLEID))
|
||
sHJYROLEID = pzxx.XLXSBJPZ_HJYROLEID;
|
||
|
||
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sXJYROLEID), tRYXX.RYID)))
|
||
{
|
||
IsXJY.Value = "Y";
|
||
}
|
||
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sSJYROLEID), tRYXX.RYID)))
|
||
{
|
||
IsSJY.Value = "Y";
|
||
}
|
||
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sHJYROLEID), tRYXX.RYID)))
|
||
{
|
||
IsHJY.Value = "Y";
|
||
}
|
||
if (!PageParam.GetRTrimString("CXBJDID").Equals(""))
|
||
{
|
||
string sBJDHQLJBM = GetBJDHQLJBM(PageParam.GetRTrimString("CXBJDID"));
|
||
if (!sBJDHQLJBM.Equals(""))
|
||
{
|
||
sBJDHQLJBM = sBJDHQLJBM + "追溯";
|
||
btnLJZS.Width = XLBJDUtils.GetBtnLength(ref sBJDHQLJBM, false);
|
||
btnLJZS.Caption = sBJDHQLJBM;
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 模板继承事件
|
||
|
||
protected override void Master_OnStandardQuery(object sender, EventArgs e)
|
||
{
|
||
entity.EntityTable.QuerySelSql = "select TOP 1 XLXSBJDMX_BJDID from XLXSBJDMX where 1<>1";
|
||
base.Master_OnStandardQuery(sender, e);
|
||
DataSet ds = GetDBMXDataSet();
|
||
entity.GridDataBind(grdGrid, tSession);
|
||
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||
entity.GridDataBind(grdGrid, ds.Tables[0], ds.Tables[0].Rows.Count);
|
||
grdGrid.DataSource = ds;
|
||
}
|
||
|
||
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
|
||
{
|
||
string sBJSL = "";
|
||
string sBiaoJ = "";
|
||
string sBaoJ = "";
|
||
string sBJJE = "";
|
||
int totalColumns = grdGrid.Columns.Count;
|
||
sBJSL = CurQueryEntity.FieldByName("BJSL").Value.Trim().Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", "");
|
||
sBiaoJ = CurQueryEntity.FieldByName("BiaoJ").Value.Trim().Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", "");
|
||
sBaoJ = CurQueryEntity.FieldByName("BaoJ").Value.Trim().Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", "");
|
||
sBJJE = CurQueryEntity.FieldByName("BJJE").Value.Trim().Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", "");
|
||
if (e.Row.RowType == DataControlRowType.DataRow)
|
||
{
|
||
for (int i = 10; i < totalColumns; i++)
|
||
{
|
||
if (((i - 3) % 5) == 2)
|
||
{
|
||
if (sBJSL == "相同")
|
||
{
|
||
if (e.Row.Cells[i].Text.Trim() == e.Row.Cells[5].Text.Trim()) {
|
||
e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000");
|
||
|
||
}
|
||
|
||
|
||
}
|
||
else if (sBJSL == "不同")
|
||
{
|
||
if (e.Row.Cells[i].Text.Trim() != e.Row.Cells[5].Text.Trim())
|
||
{
|
||
e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000");
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
}
|
||
else if (((i - 3) % 5) == 3)
|
||
{
|
||
if (sBiaoJ == "相同")
|
||
{
|
||
if (e.Row.Cells[i].Text.Trim() == e.Row.Cells[6].Text.Trim())
|
||
{
|
||
e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000");
|
||
|
||
}
|
||
|
||
}
|
||
else if (sBiaoJ == "不同")
|
||
{
|
||
if (e.Row.Cells[i].Text.Trim() != e.Row.Cells[6].Text.Trim())
|
||
{
|
||
e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000");
|
||
|
||
}
|
||
}
|
||
|
||
|
||
|
||
}
|
||
else if (((i - 3) % 5) == 4)
|
||
{
|
||
if (sBaoJ == "相同")
|
||
{
|
||
if (e.Row.Cells[i].Text.Trim() == e.Row.Cells[7].Text.Trim())
|
||
{
|
||
e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000");
|
||
|
||
}
|
||
|
||
}
|
||
else if (sBaoJ == "不同")
|
||
{
|
||
if (e.Row.Cells[i].Text.Trim() != e.Row.Cells[7].Text.Trim())
|
||
{
|
||
e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000");
|
||
|
||
}
|
||
}
|
||
|
||
}
|
||
else if (((i - 3) % 5) == 0)
|
||
{
|
||
if (sBJJE == "相同")
|
||
{
|
||
if (e.Row.Cells[i].Text.Trim() == e.Row.Cells[8].Text.Trim())
|
||
{
|
||
e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000");
|
||
|
||
}
|
||
|
||
}
|
||
else if (sBJJE == "不同")
|
||
{
|
||
if (e.Row.Cells[i].Text.Trim() != e.Row.Cells[8].Text.Trim())
|
||
{
|
||
e.Row.Cells[i].Style.Add(HtmlTextWriterStyle.Color, "#ff0000");
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
base.moduleGV_RowDataBound(sender, e);
|
||
}
|
||
|
||
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
|
||
{
|
||
entity.EntityTable.QuerySelSql = "select TOP 1 XLXSBJDMX_BJDID from XLXSBJDMX where 1<>1";
|
||
grdGrid.SelectedIndex = -1;
|
||
base.moduleGV_PageIndexChanging(sender, e);
|
||
DataSet ds = GetDBMXDataSet();
|
||
entity.GridDataBind(grdGrid, tSession);
|
||
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||
entity.GridDataBind(grdGrid, ds.Tables[0], ds.Tables[0].Rows.Count);
|
||
grdGrid.DataSource = ds;
|
||
}
|
||
|
||
protected override void ReportRecordSetAdd()
|
||
{
|
||
DataSet ds = GetDBMXDataSet();
|
||
AddUserReportDataSet("CX_XLXSBJDMX", ds);
|
||
DataSet DBBJDLIST = new DataSet("DBBJDLIST");
|
||
AddUserReportDataSet("DBBJDLIST", DBBJDLIST);
|
||
DataTable table = new DataTable("table");
|
||
table.Columns.Add("DBBJDID", typeof(string));
|
||
DBBJDLIST.Tables.Add(table);
|
||
DataRow row = table.NewRow();
|
||
if (txtDBBJDIDJL.Value.Equals(""))
|
||
{
|
||
row["DBBJDID"] = txtZBJDIDJL.Value;
|
||
}
|
||
else
|
||
{
|
||
row["DBBJDID"] = txtZBJDIDJL.Value + "," + txtDBBJDIDJL.Value;
|
||
|
||
}
|
||
table.Rows.Add(row);
|
||
|
||
base.ReportRecordSetAdd();
|
||
|
||
}
|
||
|
||
protected override void ReportDataSetAdd()
|
||
{
|
||
DataSet ds = GetDBMXDataSet();
|
||
for (int i = 0; i < grdGrid.Columns.Count; i++)
|
||
{
|
||
string sDataField = ((System.Web.UI.WebControls.BoundField)(grdGrid.Columns[i])).DataField.ToString().Trim();
|
||
string sHeaderText = grdGrid.Columns[i].HeaderText;
|
||
AddUserReportField("CX_XLXSBJDMX", sDataField, sHeaderText, "S");
|
||
}
|
||
AddUserReportField("DBBJDLIST", "DBBJDID", "对比报价单清单", "S");
|
||
|
||
base.ReportDataSetAdd();
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 自定义函数
|
||
|
||
private string GetBJDHQLJBM(string sCurBJDID)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("SELECT XLXSBJFL_BJDHQLJBM FROM XLXSBJFL LEFT JOIN XLXSBJD ON XLXSBJD_BJFLID = XLXSBJFL_BJFLID AND XLXSBJD_BJDID=:pBJDID ");
|
||
SQL.ParamByName("pBJDID").Value = sCurBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
return ds.Tables[0].Rows[0]["XLXSBJFL_BJDHQLJBM"].ToString().Trim();
|
||
}
|
||
return "";
|
||
}
|
||
|
||
|
||
private void SetControlState()
|
||
{
|
||
this.CurMaster.EnableNewBtn = false;
|
||
this.CurMaster.EnableCopyBtn = false;
|
||
this.CurMaster.EnableEditBtn = false;
|
||
this.CurMaster.EnableDeleteBtn = false;
|
||
this.CurMaster.EnableWorkflowBtn = false;
|
||
this.CurMaster.EnableViewBtn = false;
|
||
if (!PageParam.GetRTrimString("CXBJDID").Equals(""))
|
||
{
|
||
btnZJEDB.Visible = true;
|
||
}
|
||
else
|
||
{
|
||
btnZJEDB.Visible = false;
|
||
}
|
||
btnLJZS.Visible = GetbtnLJZSXS();
|
||
if (!IsPostBack)
|
||
{
|
||
if (!PageParam.GetRTrimString("CXBJDID").Equals(""))
|
||
{
|
||
string[] arrList = PageParam.GetRTrimString("CXBJDID").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||
txtZBJDIDJL.Value = arrList[0];
|
||
txtDBBJDIDJL.Value = string.Join(",", arrList, 1, arrList.Length - 1) ;
|
||
}
|
||
}
|
||
}
|
||
|
||
private bool GetbtnLJZSXS()
|
||
{
|
||
if (!PageParam.GetRTrimString("CXBJDID").Equals(""))
|
||
{
|
||
string sCurBJDID = "";
|
||
string sBJFLID = "";
|
||
string sWPID = "";
|
||
string sSQRID = "";
|
||
string[] sTemp = PageParam.GetRTrimString("CXBJDID").Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||
if (sTemp.Length > 0)
|
||
{
|
||
sCurBJDID = sTemp[0].ToString().Trim();
|
||
}
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("SELECT XLXSBJD_BJFLID,XLXSBJD_WPID,XLXSBJD_SQRID FROM XLXSBJD WHERE XLXSBJD_BJDID=:pBJDID ");
|
||
SQL.ParamByName("pBJDID").Value = sCurBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
sBJFLID = ds.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim();
|
||
sWPID = ds.Tables[0].Rows[0]["XLXSBJD_WPID"].ToString().Trim();
|
||
sSQRID = ds.Tables[0].Rows[0]["XLXSBJD_SQRID"].ToString().Trim();
|
||
}
|
||
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
|
||
string sJLRBJCP = bjflxx.XLXSBJFL_JLRBJCP;
|
||
string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFLID, IsXJY.Value.Equals("Y"), IsSJY.Value.Equals("Y"),IsHJY.Value.Equals("Y"));
|
||
if (bjflxx.XSBJDHQLJ() && CheckModule("100860044"))
|
||
{
|
||
if (sWPID.Equals(""))//新建
|
||
{
|
||
if (sJLRBJCP.Equals("Y"))
|
||
{
|
||
return false;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
string sBZSW = TWorkflow.Utils.WFGetBZSWID("XLXSBJ_BJD", sWPID);
|
||
if (sBZSW.Equals("0010"))
|
||
{
|
||
if (sJLRBJCP.Equals("Y"))
|
||
{
|
||
return false;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (sSQRID.Equals(tSession.RYID.Trim()))
|
||
{
|
||
//单据不在第一步0010环节,报价申请人只允许比第一步时多看到“报价”、“报价金额”两个栏目,“报价数量”至“备注”之间的其他栏目仍然控制隐藏。
|
||
if (sJLRBJCP.Equals("Y"))
|
||
{
|
||
return false;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
if (!sJLRBJCP.Equals("Y"))
|
||
{
|
||
if (bjflxx.XSBJDHQLJ())
|
||
{
|
||
return true;
|
||
}
|
||
else
|
||
{
|
||
return false;
|
||
}
|
||
}
|
||
|
||
#region 按角色隐藏栏目
|
||
//获取需要按角色隐藏的栏目ID列表
|
||
if (!sHidJSLMList.Trim().Equals(""))
|
||
{
|
||
string[] sHidJSLMs = sHidJSLMList.Split(',');
|
||
for (int i = 0; i < sHidJSLMs.Length; i++)
|
||
{
|
||
string sLMID = sHidJSLMs[i].Trim();
|
||
|
||
if (sLMID.Equals("btnLJ"))
|
||
return false;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
return true;
|
||
|
||
}
|
||
else
|
||
{
|
||
return false;
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
return false;
|
||
}
|
||
}
|
||
|
||
|
||
private DataSet GetDBMXDataSet()
|
||
{
|
||
base.InitEntityByCondition();
|
||
string sData = "";
|
||
string BJD = "";
|
||
string BJDLIST = "";
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
string temp = "";
|
||
if (txtZBJDIDJL.Value.Equals(""))
|
||
{
|
||
ShowMessage("请选择主报价单后再查询!");
|
||
return new DataSet();
|
||
}
|
||
if (txtDBBJDIDJL.Value.Equals(""))
|
||
{
|
||
temp = txtZBJDIDJL.Value;
|
||
}
|
||
else
|
||
{
|
||
temp = txtZBJDIDJL.Value + "," + txtDBBJDIDJL.Value;
|
||
}
|
||
string[] arr = temp.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||
|
||
string queryBJD = @" select
|
||
b.XH,b.XLXSBJDMX_XLXHID,b.XLXSBJDMX_XLGGID,
|
||
rtrim(b.XLXSBJDMX_XLBZID)+'|'+rtrim(XLBZ_XLBZLXMC) as XLBZID,
|
||
case when b.ID=1 then b.XLXSBJDMX_DYDJID when b.ID=2 then '合计' end as XLXSBJDMX_DYDJID,
|
||
b.BJSL,b.JGBBJ,b.CPBJ,b.BJJE ";
|
||
string queryBJDtemp = "";
|
||
for (int i = 1; i < arr.Length; i++)
|
||
{
|
||
queryBJDtemp = " ,b.XH0{0},b.BJSL0{0},b.JGBBJ0{0},b.CPBJ0{0},b.BJJE0{0} ";
|
||
queryBJDtemp = string.Format(queryBJDtemp, i.ToString());
|
||
queryBJD = queryBJD + queryBJDtemp;
|
||
}
|
||
|
||
queryBJD = queryBJD + " from (select IDX_ID as ID, ";
|
||
|
||
queryBJDtemp = @" case when IDX_ID=1 then a.XH when IDX_ID=2 then 0 end as XH,
|
||
case when IDX_ID=1 then a.XLXSBJDMX_XLXHID when IDX_ID=2 then '' end as XLXSBJDMX_XLXHID,
|
||
case when IDX_ID=1 then a.XLXSBJDMX_XLGGID when IDX_ID=2 then '' end as XLXSBJDMX_XLGGID,
|
||
case when IDX_ID=1 then a.XLXSBJDMX_DYDJID when IDX_ID=2 then '' end as XLXSBJDMX_DYDJID,
|
||
case when IDX_ID=1 then a.XLXSBJDMX_XLBZID when IDX_ID=2 then '' end as XLXSBJDMX_XLBZID,
|
||
sum(a.BJSL) as BJSL,
|
||
sum(case when IDX_ID=1 then a.JGBBJ else 0 end) as JGBBJ,
|
||
sum(case when IDX_ID=1 then a.CPBJ else 0 end) as CPBJ,
|
||
sum(a.BJJE) as BJJE ";
|
||
|
||
queryBJD = queryBJD + queryBJDtemp;
|
||
|
||
|
||
for (int i = 1; i < arr.Length; i++)
|
||
{
|
||
|
||
queryBJDtemp = @" ,case when IDX_ID=1 then a.XH0{0} when IDX_ID=2 then 0 end as XH0{0},
|
||
sum(a.BJSL0{0}) as BJSL0{0},
|
||
sum(case when IDX_ID=1 then a.JGBBJ0{0} else 0 end) as JGBBJ0{0},
|
||
sum(case when IDX_ID=1 then a.CPBJ0{0} else 0 end) as CPBJ0{0},
|
||
sum(a.BJJE0{0}) as BJJE0{0} ";
|
||
|
||
queryBJDtemp = string.Format(queryBJDtemp, i.ToString());
|
||
queryBJD = queryBJD + queryBJDtemp;
|
||
|
||
}
|
||
queryBJD = queryBJD + @" from ( select
|
||
a0.XLXSBJDMX_XH as XH,
|
||
a0.XLXSBJDMX_XLXHID ,
|
||
a0.XLXSBJDMX_XLGGID ,
|
||
a0.XLXSBJDMX_DYDJID ,
|
||
a0.XLXSBJDMX_XLBZID ,
|
||
a0.XLXSBJDMX_BJSL as BJSL,
|
||
a0.XLXSBJDMX_JGBBJ as JGBBJ,
|
||
a0.XLXSBJDMX_CPBJ as CPBJ,
|
||
a0.XLXSBJDMX_BJJE as BJJE ";
|
||
|
||
for (int i = 1; i < arr.Length; i++)
|
||
{
|
||
queryBJDtemp = @" ,isnull(a{0}.XLXSBJDMX_XH,0) as XH0{0},
|
||
isnull(a{0}.XLXSBJDMX_BJSL,0) as BJSL0{0},
|
||
isnull(a{0}.XLXSBJDMX_JGBBJ,0) as JGBBJ0{0},
|
||
isnull(a{0}.XLXSBJDMX_CPBJ,0) as CPBJ0{0},
|
||
isnull(a{0}.XLXSBJDMX_BJJE,0) as BJJE0{0} ";
|
||
|
||
queryBJDtemp = string.Format(queryBJDtemp, i.ToString());
|
||
queryBJD = queryBJD + queryBJDtemp;
|
||
|
||
|
||
}
|
||
|
||
queryBJD = queryBJD + " from ( ";
|
||
|
||
BJD = @"SELECT
|
||
XLXSBJDMX_XH,
|
||
XLXSBJDMX_XLXHID,
|
||
XLXSBJDMX_XLGGID,
|
||
XLXSBJDMX_DYDJID,
|
||
XLXSBJDMX_XLBZID,
|
||
XLXSBJDMX_BJSL,
|
||
XLXSBJDMX_JGBBJ,
|
||
XLXSBJDMX_CPBJ,
|
||
XLXSBJDMX_BJJE,
|
||
ROW_NUMBER() OVER(PARTITION BY XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLBZID ORDER BY XLXSBJDMX_XH) AS XH
|
||
FROM XLXSBJDMX
|
||
WHERE XLXSBJDMX_BJDID = '{0}'
|
||
) a0";
|
||
|
||
BJDLIST = BJDLIST + string.Format(BJD, arr[0]);
|
||
|
||
for (int i = 1; i < arr.Length; i++)
|
||
{
|
||
BJD = @" left join (
|
||
SELECT
|
||
XLXSBJDMX_XH,
|
||
XLXSBJDMX_XLXHID,
|
||
XLXSBJDMX_XLGGID,
|
||
XLXSBJDMX_DYDJID,
|
||
XLXSBJDMX_XLBZID,
|
||
XLXSBJDMX_BJSL,
|
||
XLXSBJDMX_JGBBJ,
|
||
XLXSBJDMX_CPBJ,
|
||
XLXSBJDMX_BJJE,
|
||
ROW_NUMBER()
|
||
OVER(
|
||
PARTITION BY
|
||
XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLBZID ORDER BY XLXSBJDMX_XH) AS XH
|
||
FROM XLXSBJDMX
|
||
WHERE XLXSBJDMX_BJDID = '{0}'
|
||
) a{1}
|
||
ON a{1}.XLXSBJDMX_XLXHID =a0.XLXSBJDMX_XLXHID
|
||
and a{1}.XLXSBJDMX_XLGGID=a0.XLXSBJDMX_XLGGID
|
||
and a{1}.XLXSBJDMX_DYDJID=a0.XLXSBJDMX_DYDJID
|
||
and a{1}.XLXSBJDMX_XLBZID=a0.XLXSBJDMX_XLBZID
|
||
AND a{1}.XH = a0.XH";
|
||
BJDLIST = BJDLIST + string.Format(BJD, arr[i], i.ToString());
|
||
|
||
|
||
}
|
||
|
||
BJDLIST = BJDLIST + " ) a,IDX where IDX_ID>=1 and IDX_ID<=2 group by IDX_ID, ";
|
||
BJDLIST= BJDLIST+@"case when IDX_ID=1 then a.XH when IDX_ID=2 then 0 end,
|
||
case when IDX_ID=1 then a.XLXSBJDMX_XLXHID when IDX_ID=2 then '' end,
|
||
case when IDX_ID=1 then a.XLXSBJDMX_XLGGID when IDX_ID=2 then '' end,
|
||
case when IDX_ID=1 then a.XLXSBJDMX_DYDJID when IDX_ID=2 then '' end,
|
||
case when IDX_ID=1 then a.XLXSBJDMX_XLBZID when IDX_ID=2 then '' end ";
|
||
|
||
for (int i = 1; i < arr.Length; i++)
|
||
{
|
||
BJD = " ,case when IDX_ID=1 then a.XH0{0} when IDX_ID=2 then 0 end ";
|
||
BJD = string.Format(BJD, i.ToString());
|
||
BJDLIST = BJDLIST + BJD;
|
||
}
|
||
BJDLIST = BJDLIST + " ) b left join XLBZ on XLBZ_XLBZID=b.XLXSBJDMX_XLBZID order by ID,XH ";
|
||
|
||
|
||
queryBJD = queryBJD + BJDLIST;
|
||
SQL.Add(queryBJD);
|
||
DataSet dsQry = dberp.OpenDataSet(SQL);
|
||
|
||
string sKHMsg = "";
|
||
sData = "XH";
|
||
AddColumn(sData, arr[0], 0, 80, true, false, sKHMsg);
|
||
sData = "BJSL";
|
||
AddColumn(sData, "报价数量", 3, 80, true, false, sKHMsg);
|
||
sData = "JGBBJ";
|
||
AddColumn(sData, "表价", iXSWS, 80, true, false, sKHMsg);
|
||
sData = "CPBJ";
|
||
AddColumn(sData, "报价", iXSWS, 80, true, false, sKHMsg);
|
||
sData = "BJJE";
|
||
AddColumn(sData, "报价金额", iXSWS, 80, true, false, sKHMsg);
|
||
|
||
for (int i = 1; i < arr.Length; i++)
|
||
{
|
||
sData = "XH0{0}";
|
||
sData = string.Format(sData, i.ToString());
|
||
AddColumn(sData, arr[i], 0, 80, true, false, sKHMsg);
|
||
|
||
sData = "BJSL0{0}";
|
||
sData = string.Format(sData, i.ToString());
|
||
AddColumn(sData, "报价数量", 3, 80, true, false, sKHMsg);
|
||
|
||
sData = "JGBBJ0{0}";
|
||
sData = string.Format(sData, i.ToString());
|
||
AddColumn(sData, "表价", iXSWS, 80, true, false, sKHMsg);
|
||
|
||
sData = "CPBJ0{0}";
|
||
sData = string.Format(sData, i.ToString());
|
||
AddColumn(sData, "报价", iXSWS, 80, true, false, sKHMsg);
|
||
|
||
sData = "BJJE0{0}";
|
||
sData = string.Format(sData, i.ToString());
|
||
AddColumn(sData, "报价金额", iXSWS, 80, true, false, sKHMsg);
|
||
}
|
||
return dsQry;
|
||
}
|
||
|
||
private DataSet GetSQLDataSet()
|
||
{
|
||
base.InitEntityByCondition();
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
string sXLXHID = "";
|
||
string sXLGGID = "";
|
||
string sXLBZID = "";
|
||
string sDYDJID = "";
|
||
Dictionary<string, string> dicBJDHQCLCB = new Dictionary<string, string>();
|
||
Dictionary<string, string> dicCLCBJCL = new Dictionary<string, string>();
|
||
//因子值拼接列10个因子+调整报价%
|
||
string sYZZList = "";
|
||
|
||
//存储查询调价的报价单/参数传过来的报价单
|
||
string temp = "";
|
||
dicColoum.Clear();
|
||
dicBJDHQCLCB.Clear();
|
||
dicCLCBJCL.Clear();
|
||
|
||
//比对报价单按钮过来的当前报价单
|
||
//用于匹配时,固定当前报价单ID
|
||
string sCurBJDID = "";
|
||
//比对报价单按钮过来的除当前报价单之外的报价单
|
||
string sLevBJDID = "";
|
||
//比对报价单按钮过来的单独处理
|
||
if (!PageParam.GetRTrimString("CXBJDID").Equals(""))
|
||
{
|
||
string[] sTemp = PageParam.GetRTrimString("CXBJDID").Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||
if (sTemp.Length > 0)
|
||
{
|
||
sCurBJDID = sTemp[0].ToString().Trim();
|
||
|
||
for (int i = 1; i < sTemp.Length; i++)
|
||
{
|
||
sLevBJDID += sTemp[i].ToString().Trim() + ",";
|
||
}
|
||
sLevBJDID = sLevBJDID.TrimEnd(',');
|
||
}
|
||
}
|
||
|
||
temp = CurQueryEntity.FieldByName("DBBJDID").Value.Trim().Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", "");
|
||
//构建基本的dsQry----型号,规格,标准,电压等级
|
||
SQL.Clear();
|
||
SQL.Add(" select '1' AS PX,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID, RTRIM(XLXSBJDMX_XLBZID) || '|' || RTRIM(XLBZ_XLBZLXMC) AS XLBZID,XLXSBJDMX_DYDJID,min(XLGGB_XH) as minXH ");
|
||
|
||
SQL.Add(" from XLXSBJDMX ");
|
||
|
||
SQL.Add(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID ");
|
||
SQL.Add(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID ");
|
||
SQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSBJDMX_XLXHID ");
|
||
SQL.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID ");
|
||
SQL.Add(" left join XLGGB on XLGGB_XLGGID = XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') ");
|
||
SQL.Add(" where 1 =1 ");
|
||
//SQL.Add(" and isnull(XLXSBJD_KH, ' ') <> ' ' ");
|
||
|
||
if (temp != "")
|
||
{
|
||
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_BJDID", temp));
|
||
}
|
||
|
||
|
||
SQL.Add(" group by XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLBZ_XLBZLXMC ");
|
||
|
||
SQL.Add(" UNION ALL ");
|
||
SQL.Add(" select '2' AS PX,' ' AS XLXSBJDMX_XLXHID,' ' AS XLXSBJDMX_XLGGID,' ' AS XLXSBJDMX_XLBZID, ' ' AS XLBZID,' ' AS XLXSBJDMX_DYDJID,0 as minXH ");
|
||
SQL.Add(" order by PX,XLXSBJDMX_XLXHID,minXH,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID ");
|
||
string s = SQL.Text;
|
||
DataSet dsQry = dberp.OpenDataSet(SQL);
|
||
|
||
//添加序号栏
|
||
dsQry.Tables[0].Columns.Add("XLXSBJDMX_XH");
|
||
|
||
//添加维度
|
||
string sData = "";
|
||
string sKHMsg = "";
|
||
if (!sCurBJDID.Equals(""))
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSBJD_KH,XLXSBJD_BJDID,XLXSBJD_BZ,XLXSBJD_BJFLID,XLXSBJD_WPID,XLXSBJD_SQRID from XLXSBJD ");
|
||
SQL.Add(" where 1 =1 ");
|
||
//SQL.Add(" and isnull(XLXSBJD_KH, ' ') <> ' ' ");
|
||
//temp = CurQueryEntity.FieldByName("DBBJDID").Value.Trim();
|
||
if (temp != "")
|
||
{
|
||
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJDID", sCurBJDID));
|
||
}
|
||
SQL.Add(" order by XLXSBJD_BJRQ desc,XLXSBJD_BJDID desc ");
|
||
DataSet dsKH = dberp.OpenDataSet(SQL);
|
||
|
||
if (dsKH.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dsKH.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!dicColoum.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim()))
|
||
{
|
||
dicColoum.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), i.ToString().Trim());
|
||
}
|
||
|
||
//添加客户列
|
||
sData = "KH_" + i.ToString().Trim();
|
||
//添加悬浮提示信息
|
||
sKHMsg = dsKH.Tables[0].Rows[i]["XLXSBJD_KH"].ToString().Trim() + "|"
|
||
+ dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim() + "|"
|
||
+ dsKH.Tables[0].Rows[i]["XLXSBJD_BZ"].ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
AddColumn(sData, sKHMsg, 100, false);
|
||
|
||
Dictionary<string, string> dicXSCLCB = XSCLCB(dsKH.Tables[0].Rows[i]["XLXSBJD_BJFLID"].ToString().Trim(), dsKH.Tables[0].Rows[i]["XLXSBJD_WPID"].ToString().Trim(), dsKH.Tables[0].Rows[i]["XLXSBJD_SQRID"].ToString().Trim());
|
||
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(dsKH.Tables[0].Rows[i]["XLXSBJD_BJFLID"].ToString().Trim());
|
||
if (!dicBJDHQCLCB.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim()))
|
||
{
|
||
dicBJDHQCLCB.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), dicXSCLCB["XLXSBJDMX_BJDHQCLCB"].Trim());
|
||
}
|
||
if (!dicCLCBJCL.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim()))
|
||
{
|
||
dicCLCBJCL.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), dicXSCLCB["XLXSBJDMX_CLCBJCL"].Trim());
|
||
}
|
||
|
||
sData = "XLXSBJDMX_XSSX_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
AddColumn(sData, dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), 0, 80, true, false, sKHMsg);
|
||
|
||
sData = "XLXSBJDMX_BJSL_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
//报价数量小数位数不确定
|
||
AddColumn(sData, "报价数量", 3, 80, true, false, sKHMsg);
|
||
if (dicXSCLCB["XLXSBJDMX_BJDHQCLCB"].Trim().Equals("Y"))
|
||
{
|
||
sData = "XLXSBJDMX_BJDHQCLCB_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
if (!bjflxx.XLXSBJFL_BJDHQLJBM.Equals(""))
|
||
AddColumn(sData, bjflxx.XLXSBJFL_BJDHQLJBM, iXSWS, 120, true, false, sKHMsg);
|
||
else
|
||
AddColumn(sData, "报价单行情料价", iXSWS, 120, true, false, sKHMsg);
|
||
}
|
||
sData = "XLXSBJDMX_JGBBJ_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
if (!bjflxx.XLXSBJFL_JGBBJBM.Equals(""))
|
||
AddColumn(sData, bjflxx.XLXSBJFL_JGBBJBM, iXSWS, 120, true, false, sKHMsg);
|
||
else
|
||
AddColumn(sData, "表价", iXSWS, 120, true, false, sKHMsg);
|
||
|
||
sData = "YZZ_List_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
AddColumn(sData, "报价单因子&调整报价", 170, true);
|
||
|
||
sData = "XLXSBJDMX_CPBJ_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
if (!bjflxx.XLXSBJFL_BJBM.Equals(""))
|
||
AddColumn(sData, bjflxx.XLXSBJFL_BJBM, iXSWS, 120, true, false, sKHMsg);
|
||
else
|
||
AddColumn(sData, "报价", iXSWS, 120, true, false, sKHMsg);
|
||
sData = "XLXSBJDMX_BJJE_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
if (!bjflxx.XLXSBJFL_BJBM.Equals(""))
|
||
AddColumn(sData, bjflxx.XLXSBJFL_BJBM + "金额", iXSWS, 120, true, false, sKHMsg);
|
||
else
|
||
AddColumn(sData, "报价金额", iXSWS, 120, true, false, sKHMsg);
|
||
|
||
if (dicXSCLCB["XLXSBJDMX_CLCBJCL"].Trim().Equals("Y"))
|
||
{
|
||
sData = "XLXSBJDMX_CLCBJCL_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
AddColumn(sData, "料价价差率(%)", 2, 120, true, false, sKHMsg);
|
||
}
|
||
}
|
||
}
|
||
|
||
//处理其他
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSBJD_KH,XLXSBJD_BJDID,XLXSBJD_BZ,XLXSBJD_BJFLID,XLXSBJD_WPID,XLXSBJD_SQRID from XLXSBJD ");
|
||
SQL.Add(" where 1 =1 ");
|
||
//SQL.Add(" and isnull(XLXSBJD_KH, ' ') <> ' ' ");
|
||
//temp = CurQueryEntity.FieldByName("DBBJDID").Value.Trim();
|
||
if (temp != "")
|
||
{
|
||
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJDID", sLevBJDID));
|
||
}
|
||
SQL.Add(" order by XLXSBJD_BJRQ desc,XLXSBJD_BJDID desc ");
|
||
dsKH = dberp.OpenDataSet(SQL);
|
||
if (dsKH.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < dsKH.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!dicColoum.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim()))
|
||
{
|
||
dicColoum.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), (i+1).ToString().Trim());
|
||
}
|
||
|
||
//添加客户列
|
||
sData = "KH_" + (i + 1).ToString().Trim();
|
||
sKHMsg = dsKH.Tables[0].Rows[i]["XLXSBJD_KH"].ToString().Trim() + "|"
|
||
+ dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim() + "|"
|
||
+ dsKH.Tables[0].Rows[i]["XLXSBJD_BZ"].ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
AddColumn(sData, sKHMsg, 100, false);
|
||
|
||
Dictionary<string, string> dicXSCLCB = XSCLCB(dsKH.Tables[0].Rows[i]["XLXSBJD_BJFLID"].ToString().Trim(), dsKH.Tables[0].Rows[i]["XLXSBJD_WPID"].ToString().Trim(), dsKH.Tables[0].Rows[i]["XLXSBJD_SQRID"].ToString().Trim());
|
||
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(dsKH.Tables[0].Rows[i]["XLXSBJD_BJFLID"].ToString().Trim());
|
||
|
||
if (!dicBJDHQCLCB.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim()))
|
||
{
|
||
dicBJDHQCLCB.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), dicXSCLCB["XLXSBJDMX_BJDHQCLCB"].Trim());
|
||
}
|
||
if (!dicCLCBJCL.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim()))
|
||
{
|
||
dicCLCBJCL.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), dicXSCLCB["XLXSBJDMX_CLCBJCL"].Trim());
|
||
}
|
||
|
||
sData = "XLXSBJDMX_XSSX_" + (i + 1).ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
AddColumn(sData, dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), 0, 80, true, false, sKHMsg);
|
||
|
||
sData = "XLXSBJDMX_BJSL_" + (i + 1).ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
//报价数量小数位数不确定
|
||
AddColumn(sData, "报价数量", 3, 80, true, false, sKHMsg);
|
||
|
||
if (dicXSCLCB["XLXSBJDMX_BJDHQCLCB"].Trim().Equals("Y"))
|
||
{
|
||
sData = "XLXSBJDMX_BJDHQCLCB_" + (i + 1).ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
if (!bjflxx.XLXSBJFL_BJDHQLJBM.Equals(""))
|
||
AddColumn(sData, bjflxx.XLXSBJFL_BJDHQLJBM, iXSWS, 120, true, false, sKHMsg);
|
||
else
|
||
AddColumn(sData, "报价单行情料价", iXSWS, 120, true, false, sKHMsg);
|
||
}
|
||
|
||
sData = "XLXSBJDMX_JGBBJ_" + (i + 1).ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
if (!bjflxx.XLXSBJFL_JGBBJBM.Equals(""))
|
||
AddColumn(sData, bjflxx.XLXSBJFL_JGBBJBM, iXSWS, 120, true, false, sKHMsg);
|
||
else
|
||
AddColumn(sData, "表价", iXSWS, 120, true, false, sKHMsg);
|
||
|
||
sData = "XLXSBJDMX_CPBJ_" + (i + 1).ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
if (!bjflxx.XLXSBJFL_BJBM.Equals(""))
|
||
AddColumn(sData, bjflxx.XLXSBJFL_BJBM, iXSWS, 120, true, false, sKHMsg);
|
||
else
|
||
AddColumn(sData, "报价", iXSWS, 120, true, false, sKHMsg);
|
||
|
||
sData = "XLXSBJDMX_BJJE_" + (i + 1).ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
if (!bjflxx.XLXSBJFL_BJBM.Equals(""))
|
||
AddColumn(sData, bjflxx.XLXSBJFL_BJBM + "金额", iXSWS, 120, true, false, sKHMsg);
|
||
else
|
||
AddColumn(sData, "报价金额", iXSWS, 120, true, false, sKHMsg);
|
||
|
||
if (dicXSCLCB["XLXSBJDMX_CLCBJCL"].Trim().Equals("Y"))
|
||
{
|
||
sData = "XLXSBJDMX_CLCBJCL_" + (i + 1).ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
AddColumn(sData, "料价价差率(%)", 2, 120, true, false, sKHMsg);
|
||
}
|
||
sData = "XLXSBJDMX_CPBJJCL_" + (i + 1).ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
AddColumn(sData, "报价价差率(%)", 2, 120, true, false, sKHMsg);
|
||
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSBJD_KH,XLXSBJD_BJDID,XLXSBJD_BZ,XLXSBJD_BJFLID,XLXSBJD_WPID,XLXSBJD_SQRID from XLXSBJD ");
|
||
SQL.Add(" where 1 =1 ");
|
||
//SQL.Add(" and isnull(XLXSBJD_KH, ' ') <> ' ' ");
|
||
//temp = CurQueryEntity.FieldByName("DBBJDID").Value.Trim();
|
||
if (temp != "")
|
||
{
|
||
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJDID", temp));
|
||
}
|
||
SQL.Add(" order by XLXSBJD_BJRQ desc,XLXSBJD_BJDID desc ");
|
||
DataSet dsKH = dberp.OpenDataSet(SQL);
|
||
for (int i = 0; i < dsKH.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!dicColoum.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim()))
|
||
{
|
||
dicColoum.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), i.ToString().Trim());
|
||
}
|
||
|
||
//添加客户列
|
||
sData = "KH_" + i.ToString().Trim();
|
||
sKHMsg = dsKH.Tables[0].Rows[i]["XLXSBJD_KH"].ToString().Trim() + "|"
|
||
+ dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim() + "|"
|
||
+ dsKH.Tables[0].Rows[i]["XLXSBJD_BZ"].ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
AddColumn(sData, sKHMsg, 100, false);
|
||
|
||
Dictionary<string, string> dicXSCLCB = XSCLCB(dsKH.Tables[0].Rows[i]["XLXSBJD_BJFLID"].ToString().Trim(), dsKH.Tables[0].Rows[i]["XLXSBJD_WPID"].ToString().Trim(), dsKH.Tables[0].Rows[i]["XLXSBJD_SQRID"].ToString().Trim());
|
||
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(dsKH.Tables[0].Rows[i]["XLXSBJD_BJFLID"].ToString().Trim());
|
||
|
||
if (!dicBJDHQCLCB.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim()))
|
||
{
|
||
dicBJDHQCLCB.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), dicXSCLCB["XLXSBJDMX_BJDHQCLCB"].Trim());
|
||
}
|
||
if (!dicCLCBJCL.ContainsKey(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim()))
|
||
{
|
||
dicCLCBJCL.Add(dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), dicXSCLCB["XLXSBJDMX_CLCBJCL"].Trim());
|
||
}
|
||
|
||
sData = "XLXSBJDMX_XSSX_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
AddColumn(sData, dsKH.Tables[0].Rows[i]["XLXSBJD_BJDID"].ToString().Trim(), 0, 80, true, false, sKHMsg);
|
||
|
||
sData = "XLXSBJDMX_BJSL_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
//报价数量小数位数不确定
|
||
AddColumn(sData, "报价数量", 3, 80, true, false, sKHMsg);
|
||
|
||
if (dicXSCLCB["XLXSBJDMX_BJDHQCLCB"].Trim().Equals("Y"))
|
||
{
|
||
sData = "XLXSBJDMX_BJDHQCLCB_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
if (!bjflxx.XLXSBJFL_BJDHQLJBM.Equals(""))
|
||
AddColumn(sData, bjflxx.XLXSBJFL_BJDHQLJBM, iXSWS, 120, true, false, sKHMsg);
|
||
else
|
||
AddColumn(sData, "报价单行情料价", iXSWS, 120, true, false, sKHMsg);
|
||
}
|
||
|
||
sData = "XLXSBJDMX_JGBBJ_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
if (!bjflxx.XLXSBJFL_JGBBJBM.Equals(""))
|
||
AddColumn(sData, bjflxx.XLXSBJFL_JGBBJBM, iXSWS, 120, true, false, sKHMsg);
|
||
else
|
||
AddColumn(sData, "表价", iXSWS, 120, true, false, sKHMsg);
|
||
|
||
sData = "XLXSBJDMX_CPBJ_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
if (!bjflxx.XLXSBJFL_BJBM.Equals(""))
|
||
AddColumn(sData, bjflxx.XLXSBJFL_BJBM, iXSWS, 120, true, false, sKHMsg);
|
||
else
|
||
AddColumn(sData, "报价", iXSWS, 120, true, false, sKHMsg);
|
||
|
||
sData = "XLXSBJDMX_BJJE_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
if (!bjflxx.XLXSBJFL_BJBM.Equals(""))
|
||
AddColumn(sData, bjflxx.XLXSBJFL_BJBM + "金额", iXSWS, 120, true, false, sKHMsg);
|
||
else
|
||
AddColumn(sData, "报价金额", iXSWS, 120, true, false, sKHMsg);
|
||
|
||
if (dicXSCLCB["XLXSBJDMX_CLCBJCL"].Trim().Equals("Y"))
|
||
{
|
||
sData = "XLXSBJDMX_CLCBJCL_" + i.ToString().Trim();
|
||
dsQry.Tables[0].Columns.Add(sData);
|
||
AddColumn(sData, "料价价差率(%)", 2, 120, true, false, sKHMsg);
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
|
||
//添加数据信息
|
||
//double sBJDHQCLCB = 0;
|
||
//double sCPBJ = 0;
|
||
//double sCLCBJCL = 0;
|
||
//string sKH = "";
|
||
SQL.Clear();
|
||
SQL.Add(" select XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CPBJ,XLXSBJDMX_BJSL,XLXSBJDMX_JGBBJ,XLXSBJDMX_BJJE,XLXSBJDMX_CLCBJCL,");
|
||
SQL.Add(" XLXSBJDMX_BJDID,XLXSBJD_KH,");
|
||
SQL.Add(" XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID, ");
|
||
SQL.Add(" XLXSBJDYZZ0_YZZ01, XLXSBJDYZZ0_YZZ02, XLXSBJDYZZ0_YZZ03, XLXSBJDYZZ0_YZZ04, XLXSBJDYZZ0_YZZ05, ");
|
||
SQL.Add(" XLXSBJDYZZ0_YZZ06, XLXSBJDYZZ0_YZZ07, XLXSBJDYZZ0_YZZ08, XLXSBJDYZZ0_YZZ09, XLXSBJDYZZ0_YZZ10, ");
|
||
SQL.Add(" XLXSBJDYZZ0_YZZ11, XLXSBJDYZZ0_YZZ12, XLXSBJDYZZ0_YZZ13, XLXSBJDYZZ0_YZZ14, XLXSBJDYZZ0_YZZ15, ");
|
||
SQL.Add(" XLXSBJDYZZ0_YZZ16, XLXSBJDYZZ0_YZZ17, XLXSBJDYZZ0_YZZ18, XLXSBJDYZZ0_YZZ19, XLXSBJDYZZ0_YZZ20, ");
|
||
SQL.Add(" XLXSBJDMX_TZCPBJ,XLXSBJDMX_XH,XLXSBJDMX_XSSX ");
|
||
|
||
SQL.Add(" from XLXSBJDMX ");
|
||
|
||
//SQL.Add(" from XLXSBJDMX ");
|
||
SQL.Add(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID ");
|
||
SQL.Add(" left join XLXSBJDYZZ0 ON XLXSBJDYZZ0_BJDID = XLXSBJDMX_BJDID AND XLXSBJDYZZ0_XH = XLXSBJDMX_XH ");
|
||
SQL.Add(" where 1 =1 ");
|
||
//SQL.Add(" and isnull(XLXSBJD_KH, ' ') <> ' ' ");
|
||
//temp = CurQueryEntity.FieldByName("DBBJDID").Value.Trim();
|
||
|
||
if (temp != "")
|
||
{
|
||
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_BJDID", temp));
|
||
}
|
||
|
||
|
||
DataSet dsData = dberp.OpenDataSet(SQL);
|
||
|
||
int len = dsQry.Tables[0].Rows.Count - 1;
|
||
dsQry.Tables[0].Rows[len]["XLXSBJDMX_DYDJID"] = "合计";
|
||
//循环dsQry,从dsData中匹配数据进行添加
|
||
for (int k = 0; k < dsQry.Tables[0].Rows.Count-1; k++)
|
||
{
|
||
sXLXHID = dsQry.Tables[0].Rows[k]["XLXSBJDMX_XLXHID"].ToString().Trim();
|
||
sXLGGID = dsQry.Tables[0].Rows[k]["XLXSBJDMX_XLGGID"].ToString().Trim();
|
||
sXLBZID = dsQry.Tables[0].Rows[k]["XLXSBJDMX_XLBZID"].ToString().Trim();
|
||
sDYDJID = dsQry.Tables[0].Rows[k]["XLXSBJDMX_DYDJID"].ToString().Trim();
|
||
|
||
|
||
//匹配数据
|
||
for (int i = 0; i < dsData.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (sXLXHID.Equals(dsData.Tables[0].Rows[i]["XLXSBJDMX_XLXHID"].ToString().Trim())
|
||
&& sXLGGID.Equals(dsData.Tables[0].Rows[i]["XLXSBJDMX_XLGGID"].ToString().Trim())
|
||
&& sXLBZID.Equals(dsData.Tables[0].Rows[i]["XLXSBJDMX_XLBZID"].ToString().Trim())
|
||
&& sDYDJID.Equals(dsData.Tables[0].Rows[i]["XLXSBJDMX_DYDJID"].ToString().Trim()))
|
||
{
|
||
if (dicColoum.ContainsKey(dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()))
|
||
{
|
||
//dsQry.Tables[0].Rows[k]["KH_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJD_KH"].ToString().Trim();
|
||
dsQry.Tables[0].Rows[k]["XLXSBJDMX_BJSL_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = (CMISproConvert.StrToFloat(dsQry.Tables[0].Rows[k]["XLXSBJDMX_BJSL_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]].ToString()) +CMISproConvert.StrToFloat(dsData.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim())).ToString();
|
||
dsQry.Tables[0].Rows[len]["XLXSBJDMX_BJSL_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = (CMISproConvert.StrToFloat(dsQry.Tables[0].Rows[len]["XLXSBJDMX_BJSL_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]].ToString()) + CMISproConvert.StrToFloat(dsData.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim())).ToString();
|
||
if (dicBJDHQCLCB[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()].Trim().Equals("Y"))
|
||
dsQry.Tables[0].Rows[k]["XLXSBJDMX_BJDHQCLCB_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDHQCLCB"].ToString().Trim();
|
||
dsQry.Tables[0].Rows[k]["XLXSBJDMX_JGBBJ_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJDMX_JGBBJ"].ToString().Trim();
|
||
dsQry.Tables[0].Rows[k]["XLXSBJDMX_CPBJ_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJDMX_CPBJ"].ToString().Trim();
|
||
dsQry.Tables[0].Rows[k]["XLXSBJDMX_BJJE_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJDMX_BJJE"].ToString().Trim();
|
||
dsQry.Tables[0].Rows[k]["XLXSBJDMX_XSSX_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJDMX_XSSX"].ToString().Trim();
|
||
dsQry.Tables[0].Rows[len]["XLXSBJDMX_BJJE_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = (CMISproConvert.StrToFloat(dsQry.Tables[0].Rows[len]["XLXSBJDMX_BJJE_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]].ToString()) + CMISproConvert.StrToFloat(dsData.Tables[0].Rows[i]["XLXSBJDMX_BJJE"].ToString().Trim())).ToString();
|
||
if (dicCLCBJCL[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()].Trim().Equals("Y"))
|
||
dsQry.Tables[0].Rows[k]["XLXSBJDMX_CLCBJCL_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = dsData.Tables[0].Rows[i]["XLXSBJDMX_CLCBJCL"].ToString().Trim();
|
||
|
||
//增补当前报价单的因子
|
||
if (sCurBJDID.Equals(dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()))
|
||
{
|
||
sYZZList = dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ01"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ02"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ03"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ04"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ05"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ06"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ07"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ08"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ09"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ10"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ11"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ12"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ13"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ14"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ15"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ16"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ17"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ18"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ19"].ToString().Trim()
|
||
+ "|" + dsData.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ20"].ToString().Trim()
|
||
+ "&" + dsData.Tables[0].Rows[i]["XLXSBJDMX_TZCPBJ"].ToString().Trim();
|
||
|
||
dsQry.Tables[0].Rows[k]["YZZ_List_" + dicColoum[dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()]] = sYZZList;
|
||
|
||
}
|
||
}
|
||
if (sCurBJDID.Equals(dsData.Tables[0].Rows[i]["XLXSBJDMX_BJDID"].ToString().Trim()))
|
||
{
|
||
dsQry.Tables[0].Rows[k]["XLXSBJDMX_XH"] = dsData.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
if (!sCurBJDID.Equals(""))
|
||
{
|
||
double fCurCPBJ = 0.0;
|
||
double fCPBJJCL = 0.0;
|
||
//循环dsQry,处理报价单的对比报价价差率=(1-A报价/B报价)%;
|
||
for (int i = 0; i < dsQry.Tables[0].Rows.Count; i++)
|
||
{
|
||
fCurCPBJ = CMISproConvert.StrToFloat(dsQry.Tables[0].Rows[i]["XLXSBJDMX_CPBJ_0"].ToString().Trim());
|
||
for (int j = 0; j < dsQry.Tables[0].Columns.Count; j++)
|
||
{
|
||
fCPBJJCL = 0;
|
||
string SS = dsQry.Tables[0].Columns[j].ToString().Trim();
|
||
if (dsQry.Tables[0].Columns[j].ToString().Trim().IndexOf("XLXSBJDMX_CPBJ_") >= 0 && !dsQry.Tables[0].Columns[j].ToString().Trim().Equals("XLXSBJDMX_CPBJ_0"))
|
||
{
|
||
if(!dsQry.Tables[0].Rows[i][j].ToString().Trim().Equals(""))
|
||
{
|
||
fCPBJJCL = 1 - fCurCPBJ / (CMISproConvert.StrToFloat(dsQry.Tables[0].Rows[i][j].ToString()));
|
||
}
|
||
dsQry.Tables[0].Rows[i][dsQry.Tables[0].Columns[j].ToString().Trim().Replace("CPBJ", "CPBJJCL")] = fCPBJJCL * 100;
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
return dsQry;
|
||
}
|
||
|
||
private Dictionary<string,string> XSCLCB(string sBJFLID, string sWPID, string sSQRID)
|
||
{
|
||
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
|
||
string sXSBJDHQCLCB = "";
|
||
string sXSCLCBJCL = "";
|
||
string sJLRBJCP = bjflxx.XLXSBJFL_JLRBJCP;
|
||
string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFLID, IsXJY.Value.Equals("Y"), IsSJY.Value.Equals("Y"),IsHJY.Value.Equals("Y"));
|
||
if (bjflxx.XSBJDHQLJ())
|
||
{
|
||
sXSBJDHQCLCB = "Y";
|
||
}
|
||
else
|
||
sXSBJDHQCLCB = "N";
|
||
//显示料价价差率
|
||
if (bjflxx.XSLJJCL())
|
||
{
|
||
sXSCLCBJCL = "Y";
|
||
}
|
||
else
|
||
sXSCLCBJCL = "N";
|
||
if (sWPID.Equals(""))//新建
|
||
{
|
||
if (sJLRBJCP.Equals("Y"))
|
||
{
|
||
sXSBJDHQCLCB = "N";
|
||
sXSCLCBJCL = "N";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
string sBZSW = TWorkflow.Utils.WFGetBZSWID("XLXSBJ_BJD", sWPID);
|
||
if (sBZSW.Equals("0010"))
|
||
{
|
||
if (sJLRBJCP.Equals("Y"))
|
||
{
|
||
sXSBJDHQCLCB = "N";
|
||
sXSCLCBJCL = "N";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (sSQRID.Trim().Equals(tSession.RYID.Trim()))
|
||
{
|
||
//单据不在第一步0010环节,报价申请人只允许比第一步时多看到“报价”、“报价金额”两个栏目,“报价数量”至“备注”之间的其他栏目仍然控制隐藏。
|
||
if (sJLRBJCP.Equals("Y"))
|
||
{
|
||
|
||
sXSBJDHQCLCB = "N";
|
||
sXSCLCBJCL = "N";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
#region 按角色隐藏栏目
|
||
//获取需要按角色隐藏的栏目ID列表
|
||
if (!sHidJSLMList.Trim().Equals(""))
|
||
{
|
||
string[] sHidJSLMs = sHidJSLMList.Split(',');
|
||
for (int i = 0; i < sHidJSLMs.Length; i++)
|
||
{
|
||
string sLMID = sHidJSLMs[i].Trim();
|
||
|
||
switch (sLMID)
|
||
{
|
||
case "XLXSBJDMX_BJDHQCLCB":
|
||
sXSBJDHQCLCB = "N";
|
||
break;
|
||
case "XLXSBJDMX_CLCBJCL":
|
||
sXSCLCBJCL = "N";
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
Dictionary<string, string> dicXSCLCB = new Dictionary<string, string>();
|
||
dicXSCLCB.Clear();
|
||
dicXSCLCB.Add("XLXSBJDMX_BJDHQCLCB", sXSBJDHQCLCB);
|
||
dicXSCLCB.Add("XLXSBJDMX_CLCBJCL", sXSCLCBJCL);
|
||
return dicXSCLCB;
|
||
|
||
}
|
||
|
||
/// <summary>
|
||
/// 设置etNumber列的属
|
||
/// </summary>
|
||
/// <param name="sDataField"></param>
|
||
/// <param name="HeadText"></param>
|
||
/// <param name="NumberDecimalPlace"></param>
|
||
/// <param name="Width"></param>
|
||
private void AddColumn(string sDataField, string HeadText, int NumberDecimalPlace, int Width, bool ShowSubBit, bool ShowZero, string sHintTitle)
|
||
{
|
||
BoundField Column = new BoundField();
|
||
Column.DataField = sDataField;
|
||
Column.HeaderText = HeadText;
|
||
Column.ItemStyle.Width = (Unit)Width;
|
||
Column.HeaderStyle.Width = (Unit)Width;
|
||
Column.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
|
||
grdGrid.Columns.Add(Column);
|
||
|
||
gtGridView_Column ColumnEx = new gtGridView_Column();
|
||
ColumnEx.DataField = sDataField;
|
||
ColumnEx.EditType = TEditType.etNumber;
|
||
ColumnEx.NumberDecimalPlace = NumberDecimalPlace;
|
||
ColumnEx.ShowSubBit = ShowSubBit;
|
||
ColumnEx.ShowZero = ShowZero;
|
||
ColumnEx.ShowHint = true;
|
||
ColumnEx.HintTitle = sHintTitle;
|
||
grdGrid.ColumnsEx.Insert(0, ColumnEx);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 设置etString列的属性
|
||
/// </summary>
|
||
/// <param name="sDataField"></param>
|
||
/// <param name="HeadText"></param>
|
||
/// <param name="Width"></param>
|
||
private void AddColumn(string sDataField, string HeadText, int Width, bool bVisible)
|
||
{
|
||
BoundField Column = new BoundField();
|
||
Column.DataField = sDataField;
|
||
Column.HeaderText = HeadText;
|
||
Column.ItemStyle.Width = (Unit)Width;
|
||
Column.HeaderStyle.Width = (Unit)Width;
|
||
Column.Visible = bVisible;
|
||
grdGrid.Columns.Add(Column);
|
||
|
||
gtGridView_Column ColumnEx = new gtGridView_Column();
|
||
ColumnEx.DataField = sDataField;
|
||
ColumnEx.EditType = TEditType.etString;
|
||
ColumnEx.ShowHint = true;
|
||
grdGrid.ColumnsEx.Insert(0, ColumnEx);
|
||
}
|
||
|
||
//判断模块是否存在并且是否有权限
|
||
private bool CheckModule(string sUMID)
|
||
{
|
||
int iUMID = CMISproConvert.StrToInt(sUMID);
|
||
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID);
|
||
return (DSActiveModule.IsActiveModule(iUMID) && UR.Open);
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 控件事件
|
||
protected void btnZJEDB_Click(object sender, EventArgs e)
|
||
{
|
||
//比对报价单按钮过来的当前报价单
|
||
//用于匹配时,固定当前报价单ID
|
||
string sCurBJDID = "";
|
||
//比对报价单按钮过来的除当前报价单之外的报价单
|
||
string sLevBJDID = "";
|
||
//比对报价单按钮过来的单独处理
|
||
if (!PageParam.GetRTrimString("CXBJDID").Equals(""))
|
||
{
|
||
string[] sTemp = PageParam.GetRTrimString("CXBJDID").Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||
if (sTemp.Length > 0)
|
||
{
|
||
sCurBJDID = sTemp[0].ToString().Trim();
|
||
|
||
for (int i = 1; i < sTemp.Length; i++)
|
||
{
|
||
sLevBJDID += sTemp[i].ToString().Trim() + ",";
|
||
}
|
||
sLevBJDID = sLevBJDID.TrimEnd(',');
|
||
}
|
||
}
|
||
// SQL.Add(" order by XLXSBJD_BJRQ desc,XLXSBJD_BJDID desc ");
|
||
TPageParams param = new TPageParams();
|
||
param.UrlPath = "XLBJDDB_ZJEList.aspx";
|
||
param.AddString("CurBJDID", sCurBJDID);
|
||
param.AddString("LevBJDID", sLevBJDID);
|
||
OpenDialog(param);
|
||
}
|
||
|
||
protected void btnZBJD_Click(object sender, EventArgs e)
|
||
{
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "XLBJD_BDBJSelList.aspx"; // 弹框页面
|
||
pageParams.Title = "选择主报价单";
|
||
pageParams.AddString("txtZBJDIDJL", txtZBJDIDJL.ClientID);
|
||
pageParams.AddString("BJDLX", "ZBJD");
|
||
pageParams.AddString("txtBJFLID", txtBJFLID.ClientID);
|
||
pageParams.AddString("txtKH", txtKH.ClientID);
|
||
pageParams.AddString("txtXM", txtXM.ClientID);
|
||
pageParams.AddString("txtOPEN", txtOPEN.ClientID);
|
||
OpenFuncModuleDialog(100860000, pageParams, btnOPEN.ClientID);
|
||
}
|
||
|
||
|
||
protected void btnDBBJD_Click(object sender, EventArgs e)
|
||
{
|
||
string BJFLID="";
|
||
string KH="";
|
||
string XM="";
|
||
|
||
if (txtZBJDIDJL.Value.Equals(""))
|
||
{
|
||
ShowMessage("请先选择主报价单!");
|
||
return;
|
||
}
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("SELECT XLXSBJD_BJFLID, XLXSBJD_KH, XLXSBJD_XMMC ");
|
||
SQL.Add("FROM XLXSBJD ");
|
||
SQL.Add("WHERE XLXSBJD_BJDID = :pBJDID");
|
||
SQL.ParamByName("pBJDID").Value = txtZBJDIDJL.Value;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
BJFLID = ds.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim();
|
||
KH = ds.Tables[0].Rows[0]["XLXSBJD_KH"].ToString().Trim();
|
||
XM = ds.Tables[0].Rows[0]["XLXSBJD_XMMC"].ToString().Trim();
|
||
}
|
||
|
||
TPageParams pageParams = new TPageParams();
|
||
pageParams.UrlPath = "XLBJD_BDBJSelList.aspx"; // 弹框页面
|
||
pageParams.Title = "选择对比报价单";
|
||
pageParams.AddString("txtDBBJDIDJL", txtDBBJDIDJL.ClientID);
|
||
pageParams.AddString("BJDLX", "DBBJD");
|
||
pageParams.AddString("txtBJFLID", BJFLID);
|
||
pageParams.AddString("txtKH", KH);
|
||
pageParams.AddString("txtXM", XM);
|
||
pageParams.AddString("txtOPEN", txtOPEN.ClientID);
|
||
OpenFuncModuleDialog(100860000, pageParams, btnOPEN.ClientID);
|
||
}
|
||
|
||
protected void btnZBJD_DropDown(object sender, EventArgs e)
|
||
{
|
||
string zbjdList = "";
|
||
btnZBJD.Nodes.Clear();
|
||
zbjdList = txtZBJDIDJL.Value;
|
||
if (zbjdList!="")
|
||
btnZBJD.Nodes.Add(new GThinking.N_CONTROL.gtTreeNode(zbjdList, zbjdList));
|
||
MenuAreaUpdate();
|
||
}
|
||
|
||
protected void btnDBBJD_DropDown(object sender, EventArgs e)
|
||
{
|
||
string dbbjdList="";
|
||
btnDBBJD.Nodes.Clear();
|
||
dbbjdList = txtDBBJDIDJL.Value;
|
||
string[] arrList = dbbjdList.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||
for (int i = 0; i < arrList.Length; i++)
|
||
{
|
||
btnDBBJD.Nodes.Add(new GThinking.N_CONTROL.gtTreeNode(arrList[i], arrList[i]));
|
||
btnDBBJD.Nodes.Add(new GThinking.N_CONTROL.gtTreeNode(i.ToString(),"切换为主报价单", arrList[i]));
|
||
}
|
||
MenuAreaUpdate();
|
||
|
||
}
|
||
|
||
protected void btnZBJD_MenuItemClick(object sender, string sValue)
|
||
{
|
||
string sBJDID = sValue.Trim();
|
||
string sWFID = "";
|
||
string sWFINST = "";
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" SELECT XLXSBJD_BJDID,XLXSBJD_WFID,XLXSBJD_WFINST FROM XLXSBJD WHERE XLXSBJD_BJDID = :pBJDID ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
sWFID = ds.Tables[0].Rows[0]["XLXSBJD_WFID"].ToString().Trim();
|
||
sWFINST = ds.Tables[0].Rows[0]["XLXSBJD_WFINST"].ToString().Trim();
|
||
}
|
||
|
||
TPageParams tpp = new TPageParams();
|
||
tpp.UrlPath = "XLBJDInfo.aspx";
|
||
tpp.AddString("XLXSBJD_BJDID", sBJDID);
|
||
tpp.AddString("WFID", sWFID);
|
||
tpp.AddString("WFINST", sWFINST);
|
||
tpp.CallAction = TPageCallAction.pcaBrowse;
|
||
OpenFuncModuleDialog(100860000, tpp);
|
||
}
|
||
|
||
|
||
protected void btnDBBJD_MenuItemClick(object sender, string sValue)
|
||
{
|
||
if (sValue.Trim() == "0" || sValue.Trim() =="1"|| sValue.Trim() == "2" || sValue.Trim() == "3")
|
||
{
|
||
string zbVal = txtZBJDIDJL.Value.Trim();
|
||
string dbVal = txtDBBJDIDJL.Value.Trim();
|
||
string[] dbList =dbVal.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||
string temp = dbList[int.Parse(sValue.Trim())];
|
||
dbList[int.Parse(sValue.Trim())] = zbVal;
|
||
txtZBJDIDJL.Value = temp;
|
||
txtDBBJDIDJL.Value = string.Join(",", dbList);
|
||
moduleGV_PageIndexChanging(null, null);
|
||
|
||
}
|
||
else{
|
||
string sBJDID = sValue.Trim();
|
||
string sWFID = "";
|
||
string sWFINST = "";
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(" SELECT XLXSBJD_BJDID,XLXSBJD_WFID,XLXSBJD_WFINST FROM XLXSBJD WHERE XLXSBJD_BJDID = :pBJDID ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
sWFID = ds.Tables[0].Rows[0]["XLXSBJD_WFID"].ToString().Trim();
|
||
sWFINST = ds.Tables[0].Rows[0]["XLXSBJD_WFINST"].ToString().Trim();
|
||
}
|
||
TPageParams tpp = new TPageParams();
|
||
tpp.UrlPath = "XLBJDInfo.aspx";
|
||
tpp.AddString("XLXSBJD_BJDID", sBJDID);
|
||
tpp.AddString("WFID", sWFID);
|
||
tpp.AddString("WFINST", sWFINST);
|
||
tpp.CallAction = TPageCallAction.pcaBrowse;
|
||
OpenFuncModuleDialog(100860000,tpp);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
protected void btnOPEN_Click(object sender, EventArgs e)
|
||
{
|
||
if (txtOPEN.Value == "run")
|
||
{
|
||
moduleGV_PageIndexChanging(null, null);
|
||
txtOPEN.Value = "norun";
|
||
}
|
||
|
||
}
|
||
protected void btnLJZS_Click(object sender, EventArgs e)
|
||
{
|
||
if (grdGrid.SelectedIndex < 0)
|
||
{
|
||
ShowMessage("请选择一条需要追溯的报价产品!");
|
||
return;
|
||
}
|
||
string sXLXHID = grdGrid.DataKeys[grdGrid.SelectedIndex]["XLXSBJDMX_XLXHID"].ToString().Trim();
|
||
string sXLGGID = grdGrid.DataKeys[grdGrid.SelectedIndex]["XLXSBJDMX_XLGGID"].ToString().Trim();
|
||
string sXLBZID = grdGrid.DataKeys[grdGrid.SelectedIndex]["XLXSBJDMX_XLBZID"].ToString().Trim();
|
||
string sDYDJID = grdGrid.DataKeys[grdGrid.SelectedIndex]["XLXSBJDMX_DYDJID"].ToString().Trim();
|
||
string sXH = grdGrid.DataKeys[grdGrid.SelectedIndex]["XLXSBJDMX_XH"].ToString().Trim();
|
||
string sCurBJDID = "";
|
||
if (!PageParam.GetRTrimString("CXBJDID").Equals(""))
|
||
{
|
||
string[] sTemp = PageParam.GetRTrimString("CXBJDID").Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||
if (sTemp.Length > 0)
|
||
{
|
||
sCurBJDID = sTemp[0].ToString().Trim();
|
||
}
|
||
}
|
||
|
||
if (sXH.Equals("0") || sXH.Equals(""))
|
||
{
|
||
ShowMessage(sCurBJDID + "报价单明细不存在当前报价产品!");
|
||
return;
|
||
}
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("SELECT XLXSBJD_JZBJHS,XLXSJGB_TJYS,XLXSBJD_GYSID,XLXSBJD_YSJDID,XLXSJGB_BJLY,XLXSBJD_TJ,XLXSBJD_LJ, ");
|
||
SQL.Add(" XLXSJGB_JGBIDS,XLXSJGB_JSBLFS,XLXSJGB_MXBH,XLXSBJD_JGBID,XLXSBJD_BJRQ,XLXSBJD_BJFLID FROM XLXSBJD ");
|
||
SQL.Add(" LEFT JOIN XLXSJGB ON XLXSJGB_JGBID=XLXSBJD_JGBID ");
|
||
SQL.Add(" WHERE XLXSBJD_BJDID=:pBJDID ");
|
||
SQL.ParamByName("pBJDID").Value = sCurBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(ds.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim());
|
||
TPageParams tpp = new TPageParams();
|
||
if (XLBJDUtils.IsJGEJGB(ds.Tables[0].Rows[0]["XLXSBJD_JGBID"].ToString().Trim()))
|
||
tpp.UrlPath = "XLBJD_JGECBZSList.aspx";
|
||
else
|
||
tpp.UrlPath = "XLBJD_CBZSList.aspx";
|
||
tpp.Title = "报价单行情料价追溯";
|
||
tpp.AddString("BJDID", sCurBJDID);
|
||
tpp.AddString("XH", sXH);
|
||
tpp.AddString("BJRQ", ds.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim());
|
||
tpp.AddString("BJFLID", ds.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim());
|
||
tpp.AddString("JGBID", ds.Tables[0].Rows[0]["XLXSBJD_JGBID"].ToString().Trim());
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[0]["XLXSJGB_MXBH"].ToString().Trim().Equals("JGB"))
|
||
{
|
||
tpp.AddString("JGBIDS", ds.Tables[0].Rows[i]["XLXSJGB_JGBIDS"].ToString().Trim());
|
||
tpp.AddString("JSBLFS", ds.Tables[0].Rows[i]["XLXSJGB_JSBLFS"].ToString().Trim());
|
||
tpp.AddString("JGBTJYS", ds.Tables[0].Rows[i]["XLXSJGB_TJYS"].ToString().Trim());
|
||
tpp.AddString("BJLY", ds.Tables[0].Rows[i]["XLXSJGB_BJLY"].ToString().Trim());
|
||
break;
|
||
}
|
||
else
|
||
{
|
||
tpp.AddString("JGBIDS", "");
|
||
tpp.AddString("JSBLFS", "");
|
||
tpp.AddString("JGBTJYS", "");
|
||
tpp.AddString("BJLY", "");
|
||
}
|
||
}
|
||
tpp.AddString("HSBZ", ds.Tables[0].Rows[0]["XLXSBJD_JZBJHS"].ToString().Trim());
|
||
tpp.AddString("XLXHID", sXLXHID);
|
||
tpp.AddString("XLGGID", sXLGGID);
|
||
tpp.AddString("XLBZID", sXLBZID);
|
||
tpp.AddString("DYDJID", sDYDJID);
|
||
tpp.AddString("BJDHQLY", bjflxx.XLXSBJFL_BJDHQLY);
|
||
|
||
tpp.AddString("TBJCLID", bjflxx.XLXSBJFL_TBJCLID);
|
||
tpp.AddString("LBJCLID", bjflxx.XLXSBJFL_LBJCLID);
|
||
tpp.AddString("TJ", ds.Tables[0].Rows[0]["XLXSBJD_TJ"].ToString().Trim());
|
||
tpp.AddString("LJ", ds.Tables[0].Rows[0]["XLXSBJD_LJ"].ToString().Trim());
|
||
|
||
tpp.AddString("JCLLX", bjflxx.XLXSBJFL_BJJCLLX);
|
||
tpp.AddString("LJJCLLX", bjflxx.XLXSBJFL_LJJCLLX);
|
||
if (bjflxx.XLXSBJFL_CPBJMRXSWS.Equals(""))
|
||
bjflxx.XLXSBJFL_CPBJMRXSWS = GetOption(100860000, "BJU002");
|
||
tpp.AddString("CPBJMRXSWS", bjflxx.XLXSBJFL_CPBJMRXSWS);
|
||
tpp.AddString("TZCLHQ", bjflxx.XLXSBJFL_TZCLHQ);//是否允许调整材料行情
|
||
tpp.AddString("CANEDIT", "N");//报价单是否允许编辑
|
||
tpp.AddString("ZDXJJCLLX", bjflxx.XLXSBJFL_ZDXJJCLLX);
|
||
|
||
tpp.AddString("JYF", bjflxx.XLXSBJFL_JYF);//计运费
|
||
tpp.AddString("YSJDID", ds.Tables[0].Rows[0]["XLXSBJD_YSJDID"].ToString().Trim());//运输节点
|
||
tpp.AddString("GYSID", ds.Tables[0].Rows[0]["XLXSBJD_GYSID"].ToString().Trim());//运输单位
|
||
tpp.AddString("YFWLID", bjflxx.XLXSBJFL_YFWLID);//运费物料
|
||
tpp.AddString("BJHYF", bjflxx.XLXSBJFL_BJHYF);//报价含运费
|
||
OpenModuleDialog(100860044, tpp);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 栏目颜色
|
||
|
||
protected void grdGrid_GetCellParams(object sender, TableCell Cell, string FieldName)
|
||
{
|
||
if (FieldName.Split('_').Length >= 3)
|
||
{
|
||
if (CMISproConvert.StrToFloat(FieldName.Split('_')[2]) % 2 == 0)
|
||
{
|
||
grdGrid.ImportCellColor = Color.LightGray;
|
||
}
|
||
}
|
||
|
||
|
||
if (FieldName.Split('0').Length == 2)
|
||
{
|
||
if (CMISproConvert.StrToFloat(FieldName.Split('0')[1]) % 2 == 0)
|
||
{
|
||
grdGrid.ImportCellColor = Color.LightGray;
|
||
}
|
||
}
|
||
|
||
if (FieldName.ToString() == "XH"
|
||
|| FieldName.ToString() == "BJSL"
|
||
|| FieldName.ToString() == "JGBBJ"
|
||
|| FieldName.ToString() == "CPBJ"
|
||
|| FieldName.ToString() == "BJJE")
|
||
{
|
||
grdGrid.ImportCellColor = Color.LightGray;
|
||
}
|
||
|
||
}
|
||
|
||
|
||
#endregion
|
||
|
||
}
|
||
}
|