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

2389 lines
128 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_CONTROL;
using System.Collections.Generic;
namespace GThinking.N_XLXSBJ
{
public partial class BJDTJList : SingleGridBase
{
BJDTJ entity = new BJDTJ();
BJDTJ_M queryentity = new BJDTJ_M();
#region pageload 事件
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860063;
this.UMName = "线缆销售报价单统计";
this.CurMaster = Master;
this.ModuleGV = this.grdContentGrid;
this.CurEntity = entity;
this.CurQueryEntity = queryentity;
this.sQueryURLTarget = "BJDTJQuery.aspx";
this.sURLTarget = "";
this.PageHeight = 600;
this.PageWidth = 750;
if (!IsPostBack)
{
DateTime dtNow = DateTime.Now;
string dateNow = dtNow.ToShortDateString().Trim();
string dateFirst = dateNow.Split('-')[0] + "-" + dateNow.Split('-')[1] + "-01";
CurQueryEntity.FieldByName("BJRQS").Value = dateFirst;
CurQueryEntity.FieldByName("BJRQZ").Value = dateNow;
}
this.Master.EnableCopyBtn = false;
this.Master.EnableDeleteBtn = false;
this.Master.EnableNewBtn = false;
this.Master.EnableEditBtn = false;
this.Master.EnableViewBtn = false;
string sHZFS = CurQueryEntity.FieldByName("HZFS").Value.Trim();
if (sHZFS.Equals("CPYTDYDJFL"))
{
base.DataKeyNames = new string[] { "COLOR", "HZFS_1", "HZFS_2" };
}
else
{
base.DataKeyNames = new string[] { "COLOR", "HZFS_1" };
}
base.InitPage();
if (!IsPostBack)
{
if (IsDefaultExecute)
Master_OnStandardQuery(null, null);
}
this.ModuleGV.OnClientDblClick = "return false;";
}
#endregion
#region 模板事件继承
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = "select 1 from XLXSJGBMX where 1<>1";
base.Master_OnStandardQuery(sender, e);
DataSet ds = GetTable();
entity.GridDataBind(grdContentGrid, tSession);
entity.GridDataBind(grdContentGrid, ds.Tables[0], ds.Tables[0].Rows.Count);
grdContentGrid.DataSource = ds;
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = "select 1 from XLXSJGBMX where 1<>1";
base.moduleGV_PageIndexChanging(sender, e);
grdContentGrid.SelectedIndex = -1;
DataSet ds = GetTable();
entity.GridDataBind(grdContentGrid, tSession);
entity.GridDataBind(grdContentGrid, ds.Tables[0], ds.Tables[0].Rows.Count);
grdContentGrid.DataSource = ds;
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (grdContentGrid.DataKeys[e.Row.RowIndex]["COLOR"].ToString().Trim().Equals("PB"))
{
e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#87CEFA");
}
else if (grdContentGrid.DataKeys[e.Row.RowIndex]["COLOR"].ToString().Trim().Equals("DB"))
{
e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#00BFFF");
}
}
base.moduleGV_RowDataBound(sender, e);
}
protected override void ReportRecordSetAdd()
{
base.InitEntityByCondition();
DataSet ds = GetTable();
AddUserReportDataSet("CX_BJDTJ", ds);
base.ReportRecordSetAdd();
}
protected override void ReportDataSetAdd()
{
base.InitEntityByCondition();
DataSet ds = GetTable();
for (int i = 0; i < grdContentGrid.Columns.Count; i++)
{
string sDataField = ((System.Web.UI.WebControls.BoundField)(grdContentGrid.Columns[i])).DataField.ToString().Trim();
string sHeaderText = grdContentGrid.Columns[i].HeaderText;
AddUserReportField("CX_BJDTJ", sDataField, sHeaderText, "S");
}
base.ReportDataSetAdd();
}
#endregion
#region 自定义函数
private string AddCondition()
{
string sSQL = " and isnull(XLXSBJD_YWLX,' ') = ' ' ";
if (!CurQueryEntity.FieldByName("DCBJCXSY").Value.ToString().Trim().ToUpper().Equals("TRUE"))
sSQL += " and ISNULL(XLXSBJD_TJBZ,'N') = 'Y' ";
sSQL += CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ",
CurQueryEntity.FieldByName("BJRQS").Value.ToString().Trim(),
CurQueryEntity.FieldByName("BJRQZ").Value.ToString().Trim(),
DateTimeType.dtDate, DateTimeType.dtDate);
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("STATE").Value.Trim()))
{
sSQL += " and " + CMISproDataBase.GetWhereEqual("XLXSBJD_WPID", CurQueryEntity.FieldByName("STATE").Value.Trim());
}
if (!CurQueryEntity.FieldByName("KH").Value.Trim().Equals(""))
{
sSQL += " and XLXSBJD_KH like '%" + CurQueryEntity.FieldByName("KH").Value.Trim() + "%' ";
}
if (!CurQueryEntity.FieldByName("XM").Value.Trim().Equals(""))
{
sSQL += " and XLXSBJD_XMMC like '%" + CurQueryEntity.FieldByName("XM").Value.Trim() + "%' ";
}
if (!CurQueryEntity.FieldByName("TXY").Value.Trim().Equals(""))
{
sSQL += " and XLXSBJD_TXY = '" + CurQueryEntity.FieldByName("TXY").Value.Trim() + "' ";
}
if (!CurQueryEntity.FieldByName("XSBM").Value.Trim().Equals(""))
{
sSQL += " and XLXSBJD_XSBMID = '" + CurQueryEntity.FieldByName("XSBM").Value.Trim() + "' ";
}
if (!string.IsNullOrEmpty(GetOption("HJU006").Trim()))
{
sSQL += " and (" + CMISproDataBase.GetWhereEqual("XLXSBJD_XSBMID", GetOption("HJU006").Trim());
sSQL += " or isnull(XLXSBJD_XSBMID, ' ') = ' ')";
}
if (!CurQueryEntity.FieldByName("XSDW").Value.Trim().Equals(""))
{
sSQL += " and (GS_GSMC like '%" + CurQueryEntity.FieldByName("XSDW").Value.Trim() + "%' or KH_MC like '%" + CurQueryEntity.FieldByName("XSDW").Value.Trim() + "%) ";
}
if (!CurQueryEntity.FieldByName("BJFLID").Value.Trim().Equals(""))
{
sSQL += " and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJFLID", CurQueryEntity.FieldByName("BJFLID").Value.Trim());
}
if (!GetOption("BJU012").Equals(""))
{
sSQL += " and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJFLID", GetOption("BJU012"));
}
if (!CurQueryEntity.FieldByName("CPYT").Value.Trim().Equals(""))
{
sSQL += " and XLXHB_CPYT = '" + CurQueryEntity.FieldByName("CPYT").Value.Trim() + "' ";
}
if (!CurQueryEntity.FieldByName("XH").Value.Trim().Equals(""))
{
sSQL += " and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_XLXHID", CurQueryEntity.FieldByName("XH").Value.Trim());
}
return sSQL;
}
private DataSet GetTable()
{
grdContentGrid.Columns.Clear();
int iXSWS = string.IsNullOrEmpty(GetOption(100860000, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860000, "BJU002"));
if (iXSWS < 0)
{
iXSWS = 0;
}
else if (iXSWS > 8)
{
iXSWS = 8;
}
string sJLDW = GetOption(100860000, "BJU003");
string sHZFS = CurQueryEntity.FieldByName("HZFS").Value.Trim();
string sBJFLID = CurQueryEntity.FieldByName("BJFLID").Value.Trim();
//显示明细
bool bXSMX = CurQueryEntity.FieldByName("XSMX").Value.ToString().Trim().ToUpper().Equals("TRUE");
//分铜铝产品展示
bool bDTCLZS = CurQueryEntity.FieldByName("DTCLZS").Value.ToString().Trim().ToUpper().Equals("TRUE");
DataSet dsQry = new DataSet();
DataTable dt = new DataTable();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
#region 初始化
string sKHJSLY = "";
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_KHJSLY))
sKHJSLY = pzxx.XLXSBJPZ_KHJSLY;
//同产品所属,铝产品所属
string sTcpList = "";
string sLcpList = "";
string sTLcpList = "";
if (bDTCLZS)
{
pzxx = XLBJDUtils.GetXLXSBJPZXX(100860063);
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_TDTGSCLID))
sTcpList = pzxx.XLXSBJPZ_TDTGSCLID;
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_LDTGSCLID))
sLcpList = pzxx.XLXSBJPZ_LDTGSCLID;
sTLcpList = sTcpList + "," + sLcpList;
sTLcpList = sTLcpList.TrimStart(',').TrimEnd(',');
}
pzxx = XLBJDUtils.GetXLXSBJPZXX(100860063);
string sZBLRGS = pzxx.XLXSBJPZ_ZBLRGS;
#region 报价分类的设置
string sJCLLX = string.Empty;
string sLJJCLLX = string.Empty;
string sZDXJJCLLX = string.Empty;
bool bXSBJDHQLJ = false;
bool bXSLJ = false;
bool bXSJCL = false;
bool bXSLJJCL = false;
bool bXSJGBBJJCE = false;
bool bXSZDXJ = false;
string[] sBJFLIDList = sBJFLID.Split(',');
foreach (string sID in sBJFLIDList)
{
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sID);
//表价-料价-最低限价=价差率
if (string.IsNullOrEmpty(sJCLLX))
sJCLLX = bjflxx.XLXSBJFL_BJJCLLX;
if (string.IsNullOrEmpty(sLJJCLLX))
sLJJCLLX = bjflxx.XLXSBJFL_LJJCLLX;
if (string.IsNullOrEmpty(sZDXJJCLLX))
sZDXJJCLLX = bjflxx.XLXSBJFL_ZDXJJCLLX;
//显示报价单行情料价
if (bjflxx.XSBJDHQLJ())
bXSBJDHQLJ = true;
//显示价格表行情料价
if (bjflxx.XSLJ())
bXSLJ = true;
//显示表价价差率
if (bjflxx.XSJCL())
bXSJCL = true;
//显示价格表行情料价/显示料价价差率
if (bjflxx.XSLJJCL())
bXSLJJCL = true;
//表价价差总额/表价价差额
if (bjflxx.XSJGBBJJCEChecked())
bXSJGBBJJCE = true;
//最低限价
if (bjflxx.XSZDXJ())
bXSZDXJ = true;
}
#endregion
#endregion
#region 列构建
if (bXSMX)
{
#region 显示明细
AddColumn("px0", "px0", 100, false);
AddColumn("px1", "px1", 100, false);
//设置动态列
SetColumn_HZFS(sHZFS);
AddColumn("XLXHID", "型号", 100);
AddColumn("XLGGID", "规格", 100);
AddColumn("XLBZID", "标准", 60);
AddColumn("DYDJID", "电压等级", 60);
AddColumn("TLCP", "铜铝产品", 60);
AddColumn("GGZJM", "规格总截面", 2, 72);
AddColumn("XLXSBJDMX_JLDW", "计量单位", 60);
AddColumn("BJSL", "报价数量", true, 3, 80);
AddColumn("XLXSBJDMX_BJDID", "报价单号", 100);
AddColumn("XLXSBJDMX_XSSX", "显示序号", 0, 60);
AddColumn("BJSLZB", "报价数量占比(%)", 2, 100);
AddColumn("XLXSBJDMX_CPBJ", "报价", iXSWS, 80);
AddColumn("BJJE", "报价金额", 2, 80);
AddColumn("XLXSBJDMX_BJDHQCLCB", "报价单行情料价", iXSWS, 80, bXSBJDHQLJ);
AddColumn("BJDHQCLCBJE", "报价单行情料价金额", 2, 80, bXSBJDHQLJ);
AddColumn("XLXSBJDMX_CLCB", "价格表行情料价", iXSWS, 80, bXSLJ);
AddColumn("CLCBJE", "价格表行情料价金额", 2, 80, bXSLJ);
AddColumn("XLXSBJDMX_JGBBJ", "表价", iXSWS, 80);
AddColumn("CPJJJE", "表价金额", 2, 80);
AddColumn("XLXSBJDMX_ZDXJ", "最低限价", 2, 80, bXSZDXJ);
AddColumn("XLXSBJDMX_ZDXJZJE", "最低限价金额", 2, 80, bXSZDXJ);
AddColumn("XLXSBJDMX_ZDXJJCL", "最低限价价差率", 2, 100, bXSZDXJ);
AddColumn("XLXSBJDMX_JGBBJJCL", "表价价差率", 2, 100, bXSJCL);
AddColumn("XLXSBJDMX_JGBBJJCE", "表价价差额", 2, 100, bXSJGBBJJCE);
AddColumn("XLXSBJDMX_CLCBJCL", "料价价差率", 2, 100, bXSLJJCL);
AddColumn("ZBSL", "中标数量", 3, 100);
AddColumn("ZBJE", "中标金额", 2, 80);
if (!sZBLRGS.Equals(""))
AddColumn("ZBLR", "中标利润", 2, 80, true, true);
AddColumn("ZBBJDHQLJJE", "中标报价单行情料价金额", 2, 80);
AddColumn("ZBJGBHQLJJE", "中标价格表行情料价金额", 2, 80);
AddColumn("ZBBJJE", "中标表价金额", 2, 80);
AddColumn("ZBBJJCL", "中标表价价差率", 2, 100, bXSJCL);
AddColumn("ZBZDXJJE", "中标最低限价金额", 2, 80, bXSZDXJ);
AddColumn("ZBZDXJJCL", "中标最低限价价差率", 2, 100, bXSZDXJ);
AddColumn("ZBLJJCL", "中标料价价差率", 2, 100, bXSLJJCL);
AddColumn("COLOR", "COLOR", 100, false);
#endregion
}
else
{
#region 不显示明细
SetColumn_HZFS(sHZFS);
if (bDTCLZS)
{
AddColumn("BJDCount", "报价次数", 0, 80);
AddColumn("ZBCount", "中标次数", 0, 80);
AddColumn("BJJE", "报价金额", 2, 80);
AddColumn("TBJJE", "铜产品报价金额", 2, 80);
AddColumn("LBJJE", "铝产品报价金额", 2, 80);
AddColumn("QTBJJE", "其他产品报价金额", 2, 80);
AddColumn("ZBJE", "中标金额", 2, 80);
if (!sZBLRGS.Equals(""))
AddColumn("ZBLR", "中标利润", 2, 80, true, true);
AddColumn("TZBJE", "铜产品中标金额", 2, 80);
AddColumn("LZBJE", "铝产品中标金额", 2, 80);
AddColumn("QTZBJE", "其他产品中标金额", 2, 80);
AddColumn("ZBBL", "中标次数/报价次数", 4, 100);
AddColumn("BJJEZB", "报价金额占比(%)", 2, 100);
AddColumn("ZBJEZB", "中标金额占比(%)", 2, 100);
}
else
{
AddColumn("BJDCount", "报价次数", 0, 80);
AddColumn("ZBCount", "中标次数", 0, 80);
AddColumn("BJJE", "报价金额", 2, 80);
AddColumn("ZBJE", "中标金额", 2, 80);
if (!sZBLRGS.Equals(""))
AddColumn("ZBLR", "中标利润", 2, 80, true, true);
AddColumn("ZBBL", "中标次数/报价次数", 4, 100);
AddColumn("BJJEZB", "报价金额占比(%)", 2, 100);
AddColumn("ZBJEZB", "中标金额占比(%)", 2, 100);
}
AddColumn("JGBLJJE", "价格表料价金额", 2, 80, bXSLJ);
AddColumn("BJDLJJE", "报价单料价金额", 2, 80, bXSBJDHQLJ);
AddColumn("LJJCL", "料价价差率", 2, 100, bXSLJJCL);
AddColumn("JGBBJJE", "表价金额", 2, 80);
AddColumn("BJJCL", "表价价差率", 2, 100, bXSJCL);
AddColumn("ZDXJJE", "最低限价金额", 2, 80, bXSZDXJ);
AddColumn("ZDXJJCL", "最低限价价差率", 2, 100, bXSZDXJ);
AddColumn("MXJLS", "明细记录数", 0, 80);
AddColumn("BJSL", "报价数量", true, 3, 100);
AddColumn("BJSLZB", "报价数量占比(%)", 2, 100);
AddColumn("PX", "PX", 100, false);
AddColumn("COLOR", "COLOR", 100, false);
#endregion
}
#endregion
double sumBJSL = 0.0;
double sumBJJE = 0.0;
double sumZBJE = 0.0;
SQL.Clear();
SQL.Add("select sum(XLXSBJDMX_BJSL) as sumBJSL,sum(XLXSBJDMX_BJJE) as sumBJJE,sum(XLXSBJDMX_ZBJE) as sumZBJE ");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" left join XLXSBJD on XLXSBJD_BJDID=XLXSBJDMX_BJDID ");
SQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSBJDMX_XLXHID ");
SQL.Add(" where 1=1 ");
SQL.Add(AddCondition());
DataSet dsAllMX = dberp.OpenDataSet(SQL);
if (dsAllMX.Tables[0].Rows.Count > 0)
{
sumBJSL = CMISproConvert.StrToFloat(dsAllMX.Tables[0].Rows[0]["sumBJSL"].ToString());
sumBJJE = CMISproConvert.StrToFloat(dsAllMX.Tables[0].Rows[0]["sumBJJE"].ToString());
sumZBJE = CMISproConvert.StrToFloat(dsAllMX.Tables[0].Rows[0]["sumZBJE"].ToString());
}
if (bXSMX)
{
#region 显示明细
SQL.Clear();
if (sHZFS.Equals("CPYT"))//产品用途
{
SQL.Add("select 0 as px0, 0 as px1, ");
SQL.Add(" case when isnull(XLXHB_CPYT,' ')=' ' then ' ' else rtrim(isnull(XLXHB_CPYT,' '))||'|'||rtrim(isnull(XLCPYT_CPYTMC,' ')) end as HZFS_1, ");
}
else if (sHZFS.Equals("CPYTDYDJFL"))//产品用途+电压等级分类
{
SQL.Add("select 0 as px0, XLXHB_CPYT as CPYT,XLDYDJB_DYDJFL as DYDJFL, 0 as px1,");
SQL.Add(" case when isnull(XLXHB_CPYT,' ')=' ' then ' ' else rtrim(isnull(XLXHB_CPYT,' '))||'|'||rtrim(isnull(XLCPYT_CPYTMC,' ')) end as HZFS_1, ");
SQL.Add(" XLDYDJB_DYDJFL as HZFS_2, ");
}
else if (sHZFS.Equals("XH"))//型号
{
SQL.Add("select 0 as px0, 0 as px1, ");
SQL.Add(" XLXSBJDMX_XLXHID as HZFS_1, ");
}
else if (sHZFS.Equals("KHFL"))//客户分类
{
SQL.Add("select 0 as px0, 0 as px1, ");
if (sKHJSLY.Equals("KH"))
{
SQL.Add(" case when isnull(KH_FL,' ')=' ' then ' ' else rtrim(isnull(KH_FL,' '))||'|'||rtrim(isnull(KHFL_FLMC,' ')) end as HZFS_1, ");
}
else
{
SQL.Add(" case when isnull(KHXX_FLID,' ')=' ' then ' ' else rtrim(isnull(KHXX_FLID,' '))||'|'||rtrim(isnull(KHFL_FLMC,' ')) end as HZFS_1, ");
}
}
else if (sHZFS.Equals("KH"))//客户
{
SQL.Add("select 0 as px0, 0 as px1, ");
SQL.Add(" rtrim(isnull(XLXSBJD_KH, ' ')) as HZFS_1, ");
}
else if (sHZFS.Equals("TXY"))//销售员
{
SQL.Add("select 0 as px0, 0 as px1, ");
SQL.Add(" rtrim(isnull(XLXSBJD_TXY, ' ')) as HZFS_1, ");
}
else if (sHZFS.Equals("BM"))//销售部门
{
SQL.Add("select 0 as px0, 0 as px1, ");
SQL.Add(" case when isnull(XLXSBJD_XSBMID,' ')= ' ' then ' ' else rtrim(isnull(XLXSBJD_XSBMID,' '))||'|'||rtrim(isnull(BM_MC,' ')) end as HZFS_1, ");
}
else if (sHZFS.Equals("XMSZD_PRO"))
{
SQL.Add("select 0 as px0, 0 as px1, ");
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then isnull(C.XZQH_PROVINCE,' ') else isnull(D.XZQH_PROVINCE,' ') end as HZFS_1,");
}
else if (sHZFS.Equals("XMSZD_PROCPXLID"))
{
SQL.Add("select 0 as px0, 0 as px1, ");
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then isnull(C.XZQH_PROVINCE,' ') else isnull(D.XZQH_PROVINCE,' ') end as HZFS_1,");
SQL.Add(" case when isnull(CPXL_CPXLID,' ')=' ' then ' ' else rtrim(isnull(CPXL_CPXLID,' '))||'|'||rtrim(isnull(CPXL_CPXLMC,' ')) end as HZFS_2, ");
}
else if (sHZFS.Equals("XMSZD_CIY"))
{
SQL.Add("select 0 as px0, 0 as px1, ");
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then isnull(C.XZQH_PROVINCE,' ') else rtrim(isnull(D.XZQH_PROVINCE,' '))||isnull(C.XZQH_CITY,' ') end as HZFS_1,");
}
else if (sHZFS.Equals("XMSZD_CIYCPXLID"))
{
SQL.Add("select 0 as px0, 0 as px1, ");
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then isnull(C.XZQH_PROVINCE,' ') else rtrim(isnull(D.XZQH_PROVINCE,' '))||isnull(C.XZQH_CITY,' ') end as HZFS_1,");
SQL.Add(" case when isnull(CPXL_CPXLID,' ')=' ' then ' ' else rtrim(isnull(CPXL_CPXLID,' '))||'|'||rtrim(isnull(CPXL_CPXLMC,' ')) end as HZFS_2, ");
}
else if (sHZFS.Equals("CPMLID"))//产品目录
{
SQL.Add("select 0 as px0, 0 as px1, ");
SQL.Add(" case when isnull(XLXSCPML_CPMLID,' ')=' ' then ' ' else rtrim(isnull(XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLMC,' ')) end as HZFS_1, ");
}
else if (sHZFS.Equals("CPXLID"))//产品系列
{
SQL.Add("select 0 as px0, 0 as px1, ");
SQL.Add(" case when isnull(CPXL_CPXLID,' ')=' ' then ' ' else rtrim(isnull(CPXL_CPXLID,' '))||'|'||rtrim(isnull(CPXL_CPXLMC,' ')) end as HZFS_1, ");
}
else if (sHZFS.Equals("CPMLIDDYDJFL"))//产品目录+电压等级分类
{
SQL.Add("select 0 as px0,XLXSCPML_CPMLID as CPMLID,XLDYDJB_DYDJFL as DYDJFL, 0 as px1, ");
SQL.Add(" case when isnull(XLXSCPML_CPMLID,' ')=' ' then ' ' else rtrim(isnull(XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLMC,' ')) end as HZFS_1, ");
SQL.Add(" XLDYDJB_DYDJFL as HZFS_2, ");
}
SQL.Add(" XLXSBJDMX_XLXHID as XLXHID, XLXSBJDMX_XLGGID as XLGGID, ");
SQL.Add(" rtrim(XLXSBJDMX_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) as XLBZID,isnull(XLXSBJDMX_DYDJID,' ') as DYDJID, ");
SQL.Add(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList.Equals("") ? "XXXX" : sTcpList) + " then '铜产品' ");
SQL.Add(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList.Equals("") ? "XXXX" : sLcpList) + " then '铝产品' ");
SQL.Add(" else '其他产品' end as TLCP,");
SQL.Add(" XLGGB_GGZJM as GGZJM,");
SQL.Add(" XLXSBJDMX_JLDW,");
SQL.Add(" XLXSBJDMX_BJSL as BJSL, ");
SQL.Add(" XLXSBJDMX_BJDID, XLXSBJDMX_XSSX, ");
if (sumBJSL != 0)
{
SQL.Add(" round(XLXSBJDMX_BJSL / :psumBJSL, 4)*100 as BJSLZB, ");
}
else
SQL.Add(" 0.0 as BJSLZB, ");
//报价
SQL.Add(" XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE as BJJE, ");
//报价单行情料价
SQL.Add(" XLXSBJDMX_BJDHQCLCB,");
SQL.Add(" XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB as BJDHQCLCBJE, ");
//价格表行情料价
SQL.Add(" XLXSBJDMX_CLCB,");
SQL.Add(" XLXSBJDMX_BJSL*XLXSBJDMX_CLCB as CLCBJE,");
//表价
SQL.Add(" XLXSBJDMX_JGBBJ,");
SQL.Add(" XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ as CPJJJE,");
//最低限价
SQL.Add(" XLXSBJDMX_ZDXJ,");
SQL.Add(" XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ as XLXSBJDMX_ZDXJZJE, ");
SQL.Add(" XLXSBJDMX_ZDXJJCL, ");
//表价价差率
SQL.Add(" XLXSBJDMX_JGBBJJCL,");
//表价价差额
SQL.Add(" XLXSBJDMX_JGBBJJCE,");
//料价价差率
SQL.Add(" XLXSBJDMX_CLCBJCL,");
SQL.Add(" XLXSBJDMX_ZBSL as ZBSL,XLXSBJDMX_ZBJE as ZBJE,");
if (sZBLRGS.Equals("1"))
SQL.Add(" XLXSBJDMX_ZBJE - RoundFix(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ,2) as ZBLR,");
else
SQL.Add(" 0 as ZBLR,");
SQL.Add(" XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB as ZBBJDHQLJJE,");
SQL.Add(" XLXSBJDMX_ZBSL*XLXSBJDMX_CLCB as ZBJGBHQLJJE,");
SQL.Add(" XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ as ZBBJJE,");
SQL.Add(" XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ as ZBZDXJJE,");
//中标表价价差率
if (sJCLLX.Equals("1"))
{
SQL.Add(" case XLXSBJDMX_ZBJE when 0.0 then 0.0 else RoundFix((XLXSBJDMX_ZBJE-XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ)/XLXSBJDMX_ZBJE,4) *100.0 end as ZBBJJCL, ");
}
else if (sJCLLX.Equals("2"))
{
SQL.Add(" case XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ when 0.0 then 0.0 else RoundFix((XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ-XLXSBJDMX_ZBJE)/(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ),4) *100.0 end as ZBBJJCL, ");
}
else if (sJCLLX.Equals("3"))
{
SQL.Add(" case XLXSBJDMX_ZBJE when 0.0 then 0.0 else RoundFix((XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ)/XLXSBJDMX_ZBJE,4) *100.0 end as ZBBJJCL, ");
}
else if (sJCLLX.Equals("4"))
{
SQL.Add(" case XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ when 0.0 then 0.0 else RoundFix((XLXSBJDMX_ZBJE-XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ)/(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ),4) *100.0 end as ZBBJJCL, ");
}
else
{
SQL.Add(" 0.0 as ZBBJJCL, ");
}
//中标最低限价价差率
if (sZDXJJCLLX.Equals("1"))
{
SQL.Add(" case XLXSBJDMX_ZBJE when 0.0 then 0.0 else 100.0-RoundFix((XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ)/XLXSBJDMX_ZBJE,4) *100.0 end as ZBZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("2"))
{
SQL.Add(" case XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ when 0.0 then 0.0 else RoundFix(XLXSBJDMX_ZBJE/(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ),4) *100.0 - 100.0 end as ZBZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
{
SQL.Add(" case XLXSBJDMX_ZBJE when 0.0 then 0.0 else RoundFix((XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ)/(XLXSBJDMX_ZBJE),4) *100.0 end as ZBZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("4"))
{
SQL.Add(" case XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ when 0.0 then 0.0 else 100.0 - RoundFix(XLXSBJDMX_BJDHQCLCB/XLXSBJDMX_ZDXJ,4) *100.0 end as ZBZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("5"))
{
SQL.Add(" case XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + " when 0.0 then 0.0 else RoundFix(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ/(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + "),4) *100.0 end as ZBZDXJJCL, ");
}
else
{
SQL.Add(" 0.0 as ZBZDXJJCL, ");
}
//中标料价价差率
if (sLJJCLLX.Equals("1"))
{
SQL.Add(" case XLXSBJDMX_ZBJE when 0.0 then 0.0 else 100.0-RoundFix((XLXSBJDMX_ZBSL*XLXSBJDMX_CLCB)/XLXSBJDMX_ZBJE,4) *100.0 end as ZBLJJCL, ");
}
else if (sLJJCLLX.Equals("2"))
{
SQL.Add(" case XLXSBJDMX_ZBJE when 0.0 then 0.0 else 100.0-RoundFix((XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB)/XLXSBJDMX_ZBJE,4) *100.0 end as ZBLJJCL, ");
}
else if (sLJJCLLX.Equals("3"))
{
SQL.Add(" case XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB when 0.0 then 0.0 else RoundFix(XLXSBJDMX_ZBJE/(XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB),4) *100.0 - 100.0 end as ZBLJJCL, ");
}
else if (sLJJCLLX.Equals("4"))
{
SQL.Add(" case XLXSBJDMX_ZBJE when 0.0 then 0.0 else RoundFix((XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB)/XLXSBJDMX_ZBJE,4) *100.0 end as ZBLJJCL, ");
}
else
{
SQL.Add(" 0.0 as ZBLJJCL, ");
}
SQL.Add(" 'WT' as COLOR ");
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.XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID ");
SQL.Add(" left join XLGGB on XLGGB_XLGGID=XLXSBJXLGGTHB.XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') ");
if (sHZFS.Equals("CPYT"))
{
SQL.Add(" left join XLCPYT on XLCPYT_CPYT = XLXHB_CPYT ");
}
else if (sHZFS.Equals("CPYTDYDJFL"))
{
SQL.Add(" left join XLCPYT on XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID = isnull(XLXSBJDMX_DYDJID,' ') ");
}
else if (sHZFS.Equals("XH"))
{
}
else if (sHZFS.Equals("KHFL"))
{
if (sKHJSLY.Equals("KH"))
{
SQL.Add(" left join KH on isnull(KH_MC,' ')=isnull(XLXSBJD_KH,' ') ");
SQL.Add(" left join KHFL on KHFL_FLID=KH_FL ");
}
else
{
SQL.Add(" left join KHXX on isnull(KHXX_MC,' ')=isnull(XLXSBJD_KH,' ') ");
SQL.Add(" left join KHFL on KHFL_FLID=KHXX_FLID ");
}
}
else if (sHZFS.Equals("KH"))
{
}
else if (sHZFS.Equals("TXY"))
{
}
else if (sHZFS.Equals("BM"))
{
SQL.Add(" left join BM on BM_BMID = isnull(XLXSBJD_XSBMID,' ') ");
}
else if (sHZFS.Equals("XMSZD_PRO") || sHZFS.Equals("XMSZD_CIY"))
{
SQL.Add(" left join XZQH C on C.XZQH_XZQHID = XLXSBJD_XZQHID ");
SQL.Add(" left join XZQH D on D.XZQH_XZQHID = C.XZQH_FID ");
}
else if (sHZFS.Equals("XMSZD_PROCPXLID") || sHZFS.Equals("XMSZD_CIYCPXLID"))
{
SQL.Add(" left join XZQH C on C.XZQH_XZQHID = XLXSBJD_XZQHID ");
SQL.Add(" left join XZQH D on D.XZQH_XZQHID = C.XZQH_FID ");
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
SQL.Add(" left join CPXLDZB on CPXLDZB_CPMLID = XLXSCPML_CPMLID ");
SQL.Add(" left join CPXL on CPXL_CPXLID = CPXLDZB_CPXLID ");
}
else if (sHZFS.Equals("CPMLID"))
{
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
}
else if (sHZFS.Equals("CPXLID"))
{
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
SQL.Add(" left join CPXLDZB on CPXLDZB_CPMLID = XLXSCPML_CPMLID ");
SQL.Add(" left join CPXL on CPXL_CPXLID = CPXLDZB_CPXLID ");
}
else if (sHZFS.Equals("CPMLIDDYDJFL"))
{
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
SQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID = isnull(XLXSBJDMX_DYDJID,' ') ");
}
SQL.Add(" where 1=1 ");
SQL.Add(AddCondition());
SQL.Add(" union all");
if (sHZFS.Equals("CPYT"))
{
SQL.Add(" select 0 as px0, 1 as px1,");
SQL.Add(" case when isnull(XLXHB_CPYT,' ')=' ' then '(小计)' else rtrim(isnull(XLXHB_CPYT,' '))||'|'||rtrim(isnull(XLCPYT_CPYTMC,' '))||'|'|| '(小计)' end as HZFS_1, ");
}
else if (sHZFS.Equals("CPYTDYDJFL"))
{
SQL.Add(" select 0 as px0, XLXHB_CPYT as CPYT,XLDYDJB_DYDJFL as DYDJFL, 1 as px1,");
SQL.Add(" case when isnull(XLXHB_CPYT,' ')=' ' then '(小计)' else rtrim(isnull(XLXHB_CPYT,' '))||'|'||rtrim(isnull(XLCPYT_CPYTMC,' '))||'|'|| '(小计)' end as HZFS_1, ");
SQL.Add(" case when isnull(XLDYDJB_DYDJFL,' ')=' ' then '(小计)' else rtrim(XLDYDJB_DYDJFL)|| '|' ||'(小计)' end as HZFS_2, ");
}
else if (sHZFS.Equals("XH"))
{
SQL.Add(" select 0 as px0, 1 as px1,");
SQL.Add(" rtrim(XLXSBJDMX_XLXHID) || '|' || '(小计)' as HZFS_1, ");
}
else if (sHZFS.Equals("KHFL"))
{
SQL.Add(" select 0 as px0, 1 as px1,");
if (sKHJSLY.Equals("KH"))
{
SQL.Add(" case when isnull(KH_FL,' ')=' ' then ' ' else rtrim(isnull(KH_FL,' '))||'|'||rtrim(isnull(KHFL_FLMC,' '))||'|'||'(小计)' end as HZFS_1, ");
}
else
{
SQL.Add(" case when isnull(KHXX_FLID,' ')=' ' then ' ' else rtrim(isnull(KHXX_FLID,' '))||'|'||rtrim(isnull(KHFL_FLMC,' '))||'|'||'(小计)' end as HZFS_1, ");
}
}
else if (sHZFS.Equals("KH"))
{
SQL.Add(" select 0 as px0, 1 as px1,");
SQL.Add(" rtrim(isnull(XLXSBJD_KH, ' '))|| '|' ||'(小计)' as HZFS_1, ");
}
else if (sHZFS.Equals("TXY"))
{
SQL.Add(" select 0 as px0, 1 as px1,");
SQL.Add(" rtrim(isnull(XLXSBJD_TXY, ' '))|| '|' ||'(小计)' as HZFS_1, ");
}
else if (sHZFS.Equals("BM"))
{
SQL.Add(" select 0 as px0, 1 as px1,");
SQL.Add(" case when isnull(XLXSBJD_XSBMID,' ')= ' ' then ' ' else rtrim(isnull(XLXSBJD_XSBMID,' '))||'|'||rtrim(isnull(BM_MC,' ')) || '|' || '(小计)' end as HZFS_1, ");
}
else if (sHZFS.Equals("XMSZD_PRO"))
{
SQL.Add(" select 0 as px0, 1 as px1,");
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then rtrim(isnull(C.XZQH_PROVINCE,' '))||'|'||'(小计)' else rtrim(isnull(D.XZQH_PROVINCE,' '))||'|'||'(小计)' end as HZFS_1,");
}
else if (sHZFS.Equals("XMSZD_PROCPXLID"))
{
SQL.Add(" select 0 as px0, 1 as px1,");
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then rtrim(isnull(C.XZQH_PROVINCE,' '))||'|'||'(小计)' else rtrim(isnull(D.XZQH_PROVINCE,' '))||'|'||'(小计)' end as HZFS_1,");
SQL.Add(" case when isnull(CPXL_CPXLID,' ')=' ' then ' ' else rtrim(isnull(CPXL_CPXLID,' '))||'|'||rtrim(isnull(CPXL_CPXLMC,' '))||'|'||'(小计)' end as HZFS_2, ");
}
else if (sHZFS.Equals("XMSZD_CIY"))
{
SQL.Add(" select 0 as px0, 1 as px1,");
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then rtrim(isnull(C.XZQH_PROVINCE,' '))||'|'||'(小计)' else rtrim(isnull(D.XZQH_PROVINCE,' '))||rtrim(isnull(C.XZQH_CITY,' '))||'|'||'(小计)' end as HZFS_1,");
}
else if (sHZFS.Equals("XMSZD_CIYCPXLID"))
{
SQL.Add(" select 0 as px0, 1 as px1,");
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then rtrim(isnull(C.XZQH_PROVINCE,' '))||'|'||'(小计)' else rtrim(isnull(D.XZQH_PROVINCE,' '))||rtrim(isnull(C.XZQH_CITY,' '))||'|'||'(小计)' end as HZFS_1,");
SQL.Add(" case when isnull(CPXL_CPXLID,' ')=' ' then ' ' else rtrim(isnull(CPXL_CPXLID,' '))||'|'||rtrim(isnull(CPXL_CPXLMC,' '))||'|'||'(小计)' end as HZFS_2, ");
}
else if (sHZFS.Equals("CPMLID"))
{
SQL.Add(" select 0 as px0, 1 as px1,");
SQL.Add(" case when isnull(XLXSCPML_CPMLID,' ')=' ' then '(小计)' else rtrim(isnull(XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLMC,' '))||'|'||'(小计)' end as HZFS_1, ");
}
else if (sHZFS.Equals("CPXLID"))//产品系列
{
SQL.Add("select 0 as px0, 1 as px1, ");
SQL.Add(" case when isnull(CPXL_CPXLID,' ')=' ' then ' ' else rtrim(isnull(CPXL_CPXLID,' '))||'|'||rtrim(isnull(CPXL_CPXLMC,' '))||'|'||'(小计)' end as HZFS_1, ");
}
else if (sHZFS.Equals("CPMLIDDYDJFL"))
{
SQL.Add(" select 0 as px0,XLXSCPML_CPMLID as CPMLID,XLDYDJB_DYDJFL as DYDJFL, 1 as px1,");
SQL.Add(" case when isnull(XLXSCPML_CPMLID,' ')=' ' then '(小计)' else rtrim(isnull(XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLMC,' '))||'|'||'(小计)' end as HZFS_1, ");
SQL.Add(" case when isnull(XLDYDJB_DYDJFL,' ')=' ' then '(小计)' else rtrim(XLDYDJB_DYDJFL)|| '|' ||'(小计)' end as HZFS_2, ");
}
SQL.Add(" ' ' as XLXHID, ' ' as XLGGID, ");
SQL.Add(" ' ' as XLBZID, ' ' as DYDJID, ");
SQL.Add(" ' ' as TLCP,");
SQL.Add(" 0.0 as GGZJM,");
SQL.Add(" ' ' as XLXSBJDMX_JLDW, ");
SQL.Add(" sum(XLXSBJDMX_BJSL) as XLXSBJDMX_BJSL, ");
SQL.Add(" ' ' as XLXSBJDMX_BJDID, 0 as XLXSBJDMX_XSSX, ");
if (sumBJSL != 0)
{
SQL.Add(" round(sum(XLXSBJDMX_BJSL) / :psumBJSL, 4)*100 as BJSLZB, ");
}
else
SQL.Add(" 0.0 as BJSLZB, ");
//报价
SQL.Add(" sum(XLXSBJDMX_CPBJ) as XLXSBJDMX_CPBJ,sum(XLXSBJDMX_BJJE) as BJJE, ");
//报价单行情料价
SQL.Add(" sum(XLXSBJDMX_BJDHQCLCB) as XLXSBJDMX_BJDHQCLCB, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDHQCLCBJE, ");
//价格表行情料价
SQL.Add(" sum(XLXSBJDMX_CLCB) as XLXSBJDMX_CLCB, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as CLCBJE, ");
//表价
SQL.Add(" sum(XLXSBJDMX_JGBBJ) as XLXSBJDMX_JGBBJ, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as CPJJJE, ");
//最低限价
SQL.Add(" sum(XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJ,");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJZJE, ");
//最低限价价差率
if (sZDXJJCLLX.Equals("1"))
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("2"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100.0 - 100.0 end as XLXSBJDMX_ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("4"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0.0 then 0.0 else 100.0 - RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100.0 end as XLXSBJDMX_ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("5"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100.0 end as XLXSBJDMX_ZDXJJCL, ");
}
else
{
SQL.Add(" 0.0 as XLXSBJDMX_ZDXJJCL, ");
}
//表价价差率
if (sJCLLX.Equals("1"))
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_JGBBJJCL, ");
}
else if (sJCLLX.Equals("2"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100.0 end as XLXSBJDMX_JGBBJJCL, ");
}
else if (sJCLLX.Equals("3"))
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_JGBBJJCL, ");
}
else if (sJCLLX.Equals("4"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100.0 end as XLXSBJDMX_JGBBJJCL, ");
}
else
{
SQL.Add(" 0.0 as XLXSBJDMX_JGBBJJCL, ");
}
//表价价差额
SQL.Add(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
//料价价差率
if (sLJJCLLX.Equals("1"))
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_CLCBJCL, ");
}
else if (sLJJCLLX.Equals("2"))
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_CLCBJCL, ");
}
else if (sLJJCLLX.Equals("3"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB),4) *100.0 - 100.0 end as XLXSBJDMX_CLCBJCL, ");
}
else if (sLJJCLLX.Equals("4"))
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_CLCBJCL, ");
}
else
{
SQL.Add(" 0.0 as XLXSBJDMX_CLCBJCL, ");
}
SQL.Add(" sum(XLXSBJDMX_ZBSL) as ZBSL,sum(XLXSBJDMX_ZBJE) as ZBJE,");
if (sZBLRGS.Equals("1"))
SQL.Add(" sum(XLXSBJDMX_ZBJE - RoundFix(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ,2)) as ZBLR,");
else
SQL.Add(" 0 as ZBLR,");
SQL.Add(" sum(XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB) as ZBBJDHQLJJE,");
SQL.Add(" sum(XLXSBJDMX_ZBSL*XLXSBJDMX_CLCB) as ZBJGBHQLJJE,");
SQL.Add(" sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ) as ZBBJJE,");
SQL.Add(" sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ) as ZBZDXJJE,");
//中标表价价差率
if (sJCLLX.Equals("1"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBJE-XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBBJJCL, ");
}
else if (sJCLLX.Equals("2"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ-XLXSBJDMX_ZBJE)/sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ),4) *100.0 end as ZBBJJCL, ");
}
else if (sJCLLX.Equals("3"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBBJJCL, ");
}
else if (sJCLLX.Equals("4"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBJE-XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ),4) *100.0 end as ZBBJJCL, ");
}
else
{
SQL.Add(" 0.0 as ZBBJJCL, ");
}
//中标最低限价价差率
if (sZDXJJCLLX.Equals("1"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("2"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBJE)/sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ),4) *100.0 - 100.0 end as ZBZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("4"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ) when 0.0 then 0.0 else 100.0 - RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ),4) *100.0 end as ZBZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("5"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100.0 end as ZBZDXJJCL, ");
}
else
{
SQL.Add(" 0.0 as ZBZDXJJCL, ");
}
//中标料价价差率
if (sLJJCLLX.Equals("1"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_CLCB)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBLJJCL, ");
}
else if (sLJJCLLX.Equals("2"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBLJJCL, ");
}
else if (sLJJCLLX.Equals("3"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBJE)/sum(XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB),4) *100.0 - 100.0 end as ZBLJJCL, ");
}
else if (sLJJCLLX.Equals("4"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBLJJCL, ");
}
else
{
SQL.Add(" 0.0 as ZBLJJCL, ");
}
SQL.Add(" 'PB' as COLOR ");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID ");
SQL.Add(" left join XLXHB on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
if (sHZFS.Equals("CPYT"))
{
SQL.Add(" left join XLCPYT on XLCPYT_CPYT = XLXHB_CPYT ");
}
else if (sHZFS.Equals("CPYTDYDJFL"))
{
SQL.Add(" left join XLCPYT on XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" left join XLDYDJB a2 on XLDYDJB_DYDJID = isnull(XLXSBJDMX_DYDJID,' ') ");
}
else if (sHZFS.Equals("XH"))
{
}
else if (sHZFS.Equals("KHFL"))
{
if (sKHJSLY.Equals("KH"))
{
SQL.Add(" left join KH a on isnull(a.KH_MC,' ')=isnull(XLXSBJD_KH,' ') ");
SQL.Add(" left join KHFL on KHFL_FLID=KH_FL ");
}
else
{
SQL.Add(" left join KHXX a on isnull(a.KHXX_MC,' ')=isnull(XLXSBJD_KH,' ') ");
SQL.Add(" left join KHFL on KHFL_FLID=KHXX_FLID ");
}
}
else if (sHZFS.Equals("KH"))
{
}
else if (sHZFS.Equals("TXY"))
{
}
else if (sHZFS.Equals("BM"))
{
SQL.Add(" left join BM on BM_BMID = isnull(XLXSBJD_XSBMID,' ') ");
}
else if (sHZFS.Equals("XMSZD_PRO") || sHZFS.Equals("XMSZD_CIY"))
{
SQL.Add(" left join XZQH C on C.XZQH_XZQHID = XLXSBJD_XZQHID ");
SQL.Add(" left join XZQH D on D.XZQH_XZQHID = C.XZQH_FID ");
}
else if (sHZFS.Equals("XMSZD_PROCPXLID") || sHZFS.Equals("XMSZD_CIYCPXLID"))
{
SQL.Add(" left join XZQH C on C.XZQH_XZQHID = XLXSBJD_XZQHID ");
SQL.Add(" left join XZQH D on D.XZQH_XZQHID = C.XZQH_FID ");
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML a on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
SQL.Add(" left join CPXLDZB on CPXLDZB_CPMLID = XLXSCPML_CPMLID ");
SQL.Add(" left join CPXL on CPXL_CPXLID = CPXLDZB_CPXLID ");
}
else if (sHZFS.Equals("CPMLID"))
{
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML a on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
}
else if (sHZFS.Equals("CPXLID"))
{
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML a on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
SQL.Add(" left join CPXLDZB on CPXLDZB_CPMLID = XLXSCPML_CPMLID ");
SQL.Add(" left join CPXL on CPXL_CPXLID = CPXLDZB_CPXLID ");
}
else if (sHZFS.Equals("CPMLIDDYDJFL"))
{
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML a1 on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
SQL.Add(" left join XLDYDJB a2 on XLDYDJB_DYDJID = isnull(XLXSBJDMX_DYDJID,' ') ");
}
SQL.Add(" where 1=1 ");
SQL.Add(AddCondition());
if (sHZFS.Equals("CPYT"))
{
SQL.Add(" group by XLXHB_CPYT,XLCPYT_CPYTMC");
}
else if (sHZFS.Equals("CPYTDYDJFL"))
{
SQL.Add(" group by XLXHB_CPYT,XLCPYT_CPYTMC,XLDYDJB_DYDJFL");
}
else if (sHZFS.Equals("XH"))
{
SQL.Add(" group by XLXSBJDMX_XLXHID ");
}
else if (sHZFS.Equals("KHFL"))
{
if (sKHJSLY.Equals("KH"))
{
SQL.Add(" group by isnull(KH_FL, ' '),KHFL_FLMC ");
}
else
{
SQL.Add(" group by isnull(KHXX_FLID, ' '),KHFL_FLMC ");
}
}
else if (sHZFS.Equals("KH"))
{
SQL.Add(" group by isnull(XLXSBJD_KH, ' ') ");
}
else if (sHZFS.Equals("TXY"))
{
SQL.Add(" group by isnull(XLXSBJD_TXY, ' ') ");
}
else if (sHZFS.Equals("BM"))
{
SQL.Add(" group by isnull(XLXSBJD_XSBMID,' '),BM_MC ");
}
else if (sHZFS.Equals("XMSZD_PRO"))
SQL.Add(" group by ISNULL(D.XZQH_XZQHID,' '),isnull(C.XZQH_PROVINCE,' '),isnull(D.XZQH_PROVINCE,' ') ");
else if (sHZFS.Equals("XMSZD_PROCPXLID"))
SQL.Add(" group by ISNULL(D.XZQH_XZQHID,' '),isnull(C.XZQH_PROVINCE,' '),isnull(D.XZQH_PROVINCE,' '),ISNULL(CPXL_CPXLID,' '),isnull(CPXL_CPXLMC,' ') ");
else if (sHZFS.Equals("XMSZD_CIY"))
SQL.Add(" group by ISNULL(D.XZQH_XZQHID,' '),isnull(C.XZQH_PROVINCE,' '),isnull(D.XZQH_PROVINCE,' '),isnull(C.XZQH_CITY,' ') ");
else if (sHZFS.Equals("XMSZD_CIYCPXLID"))
SQL.Add(" group by ISNULL(D.XZQH_XZQHID,' '),isnull(C.XZQH_PROVINCE,' '),isnull(D.XZQH_PROVINCE,' '),isnull(C.XZQH_CITY,' '),ISNULL(CPXL_CPXLID,' '),isnull(CPXL_CPXLMC,' ') ");
else if (sHZFS.Equals("CPMLID"))
SQL.Add(" group by ISNULL(XLXSCPML_CPMLID,' '),isnull(XLXSCPML_CPMLMC,' ') ");
else if (sHZFS.Equals("CPXLID"))
SQL.Add(" group by ISNULL(CPXL_CPXLID,' '),isnull(CPXL_CPXLMC,' ') ");
else if (sHZFS.Equals("CPMLIDDYDJFL"))
SQL.Add(" group by XLXSCPML_CPMLID,XLXSCPML_CPMLMC,XLDYDJB_DYDJFL ");
SQL.Add(" union all");
if (sHZFS.Equals("CPYT"))
{
SQL.Add(" select 1 as px0, 1 as px1,");
SQL.Add(" '合计' as HZFS_1, ");
}
else if (sHZFS.Equals("CPYTDYDJFL"))
{
SQL.Add(" select 1 as px0, ' ' as CPYT,' ' as DYDJFL, 1 as px1,");
SQL.Add(" '合计' as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("XH"))
{
SQL.Add(" select 1 as px0, 1 as px1,");
SQL.Add(" '合计' as HZFS_1, ");
}
else if (sHZFS.Equals("KHFL"))
{
SQL.Add(" select 1 as px0, 1 as px1,");
SQL.Add(" '合计' as HZFS_1, ");
}
else if (sHZFS.Equals("KH"))
{
SQL.Add(" select 1 as px0, 1 as px1,");
SQL.Add(" '合计' as HZFS_1, ");
}
else if (sHZFS.Equals("TXY"))
{
SQL.Add(" select 1 as px0, 1 as px1,");
SQL.Add(" '合计' as HZFS_1, ");
}
else if (sHZFS.Equals("BM"))
{
SQL.Add(" select 1 as px0, 1 as px1,");
SQL.Add(" '合计' as HZFS_1, ");
}
else if (sHZFS.Equals("XMSZD_PRO") || sHZFS.Equals("XMSZD_CIY"))
{
SQL.Add(" select 1 as px0, 1 as px1,");
SQL.Add(" '合计' as HZFS_1, ");
}
else if (sHZFS.Equals("CPMLID") || sHZFS.Equals("CPXLID"))
{
SQL.Add(" select 1 as px0, 1 as px1,");
SQL.Add(" '合计' as HZFS_1, ");
}
else if (sHZFS.Equals("XMSZD_PROCPXLID") || sHZFS.Equals("XMSZD_CIYCPXLID"))
{
SQL.Add(" select 1 as px0,1 as px1,");
SQL.Add(" '合计' as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("CPMLIDDYDJFL"))
{
SQL.Add(" select 1 as px0,' ' as CPMLID,' ' as DYDJFL, 1 as px1,");
SQL.Add(" '合计' as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
SQL.Add(" ' ' as XLXHID, ' ' as XLGGID, ");
SQL.Add(" ' ' as XLBZID, ' ' as DYDJID, ");
SQL.Add(" ' ' as TLCP,");
SQL.Add(" 0.0 as GGZJM,");
SQL.Add(" ' ' as XLXSBJDMX_JLDW, ");
SQL.Add(" sum(XLXSBJDMX_BJSL) as XLXSBJDMX_BJSL, ");
SQL.Add(" ' ' as XLXSBJDMX_BJDID, 0 as XLXSBJDMX_XSSX, 100 as BJSLZB, ");
//报价
SQL.Add(" sum(XLXSBJDMX_CPBJ) as XLXSBJDMX_CPBJ,sum(XLXSBJDMX_BJJE) as BJJE, ");
//报价单行情料价
SQL.Add(" sum(XLXSBJDMX_BJDHQCLCB) as XLXSBJDMX_BJDHQCLCB, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDHQCLCBJE, ");
//价格表行情料价
SQL.Add(" sum(XLXSBJDMX_CLCB) as XLXSBJDMX_CLCB, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as CLCBJE, ");
//表价
SQL.Add(" sum(XLXSBJDMX_JGBBJ) as XLXSBJDMX_JGBBJ, ");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as CPJJJE, ");
//最低限价
SQL.Add(" sum(XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJ,");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJZJE, ");
//最低限价价差率
if (sZDXJJCLLX.Equals("1"))
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("2"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100.0 - 100.0 end as XLXSBJDMX_ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("4"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0.0 then 0.0 else 100.0 - RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100.0 end as XLXSBJDMX_ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("5"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100.0 end as XLXSBJDMX_ZDXJJCL, ");
}
else
{
SQL.Add(" 0.0 as XLXSBJDMX_ZDXJJCL, ");
}
//表价价差率
if (sJCLLX.Equals("1"))
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_JGBBJJCL, ");
}
else if (sJCLLX.Equals("2"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100.0 end as XLXSBJDMX_JGBBJJCL, ");
}
else if (sJCLLX.Equals("3"))
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_JGBBJJCL, ");
}
else if (sJCLLX.Equals("4"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100.0 end as XLXSBJDMX_JGBBJJCL, ");
}
else
{
SQL.Add(" 0.0 as XLXSBJDMX_JGBBJJCL, ");
}
//表价价差额
SQL.Add(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
//料价价差率
if (sLJJCLLX.Equals("1"))
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_CLCBJCL, ");
}
else if (sLJJCLLX.Equals("2"))
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_CLCBJCL, ");
}
else if (sLJJCLLX.Equals("3"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB),4) *100.0 - 100.0 end as XLXSBJDMX_CLCBJCL, ");
}
else if (sLJJCLLX.Equals("4"))
{
SQL.Add(" case sum(XLXSBJDMX_BJJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJJE),4) *100.0 end as XLXSBJDMX_CLCBJCL, ");
}
else
{
SQL.Add(" 0.0 as XLXSBJDMX_CLCBJCL, ");
}
SQL.Add(" sum(XLXSBJDMX_ZBSL) as ZBSL,sum(XLXSBJDMX_ZBJE) as ZBJE,");
if (sZBLRGS.Equals("1"))
SQL.Add(" sum(XLXSBJDMX_ZBJE - RoundFix(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ,2)) as ZBLR,");
else
SQL.Add(" 0 as ZBLR,");
SQL.Add(" sum(XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB) as ZBBJDHQLJJE,");
SQL.Add(" sum(XLXSBJDMX_ZBSL*XLXSBJDMX_CLCB) as ZBJGBHQLJJE,");
SQL.Add(" sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ) as ZBBJJE,");
SQL.Add(" sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ) as ZBZDXJJE,");
//中标表价价差率
if (sJCLLX.Equals("1"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBJE-XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBBJJCL, ");
}
else if (sJCLLX.Equals("2"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ-XLXSBJDMX_ZBJE)/sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ),4) *100.0 end as ZBBJJCL, ");
}
else if (sJCLLX.Equals("3"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBBJJCL, ");
}
else if (sJCLLX.Equals("4"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBJE-XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_ZBSL*XLXSBJDMX_JGBBJ),4) *100.0 end as ZBBJJCL, ");
}
else
{
SQL.Add(" 0.0 as ZBBJJCL, ");
}
//中标最低限价价差率
if (sZDXJJCLLX.Equals("1"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("2"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBJE)/sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ),4) *100.0 - 100.0 end as ZBZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("4"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ) when 0.0 then 0.0 else 100.0 - RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_ZBSL*XLXSBJDMX_ZDXJ),4) *100.0 end as ZBZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("5"))
{
SQL.Add(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100.0 end as ZBZDXJJCL, ");
}
else
{
SQL.Add(" 0.0 as ZBZDXJJCL, ");
}
//中标料价价差率
if (sLJJCLLX.Equals("1"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_CLCB)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBLJJCL, ");
}
else if (sLJJCLLX.Equals("2"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBLJJCL, ");
}
else if (sLJJCLLX.Equals("3"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBJE)/sum(XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB),4) *100.0 - 100.0 end as ZBLJJCL, ");
}
else if (sLJJCLLX.Equals("4"))
{
SQL.Add(" case sum(XLXSBJDMX_ZBJE) when 0.0 then 0.0 else RoundFix(sum(XLXSBJDMX_ZBSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_ZBJE),4) *100.0 end as ZBLJJCL, ");
}
else
{
SQL.Add(" 0.0 as ZBLJJCL, ");
}
SQL.Add(" 'PB' as COLOR ");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID ");
SQL.Add(" left join XLXHB on XLXHB_XLXHID = XLXSBJDMX_XLXHID ");
SQL.Add(" where 1=1 ");
SQL.Add(AddCondition());
if (sHZFS.Equals("CPYTDYDJFL"))
{
SQL.Add(" order by px0,CPYT,DYDJFL,px1,XLXHID,XLGGID,XLBZID,DYDJID ");
}
else if (sHZFS.Equals("CPMLIDDYDJFL"))
{
SQL.Add(" order by px0,CPMLID,DYDJFL,px1,XLXHID,XLGGID,XLBZID,DYDJID ");
}
else if (sHZFS.Equals("XMSZD_PROCPXLID") || sHZFS.Equals("XMSZD_CIYCPXLID"))
{
SQL.Add(" order by px0,HZFS_1,HZFS_2,px1,XLXHID,XLGGID,XLBZID,DYDJID ");
}
else
{
SQL.Add(" order by px0,HZFS_1,px1,XLXHID,XLGGID,XLBZID,DYDJID ");
}
if (sumBJSL != 0)
{
SQL.ParamByName("psumBJSL").Value = sumBJSL;
}
#endregion
}
else
{
#region 不显示明细
SQL.Clear();
SQL.Add(" select HZFS_1,HZFS_2,count(XLXSBJD_BJDID) as BJDCount,sum(isnull(ZB,0)) as ZBCount, ");
SQL.Add(" sum(BJJE) as BJJE, ");
if (bDTCLZS)
SQL.Add(" sum(TBJJE) as TBJJE,sum(LBJJE) as LBJJE,sum(QTBJJE) as QTBJJE, ");
SQL.Add(" sum(ZBJE) as ZBJE, ");
if (sZBLRGS.Equals("1"))
SQL.Add(" sum(ZBJE - ZDXJJE) as ZBLR,");
else
SQL.Add(" 0 as ZBLR,");
if (bDTCLZS)
SQL.Add(" sum(TZBJE) as TZBJE,sum(LZBJE) as LZBJE,sum(QTZBJE) as QTZBJE, ");
SQL.Add(" case when count(XLXSBJD_BJDID)=0 then 0 else RoundFix(sum(case when isnull(ZB,0)>0 then 1.0 else 0.0 end)/count(XLXSBJD_BJDID),4) end as ZBBL, ");
if (sumBJJE != 0)
{
SQL.Add(" round(sum(BJJE) / :psumBJJE, 4)*100 as BJJEZB, ");
}
else
SQL.Add(" 0.0 as BJJEZB, ");
if (sumZBJE != 0)
{
SQL.Add(" round(sum(ZBJE) / :psumZBJE, 4)*100 as ZBJEZB, ");
}
else
SQL.Add(" 0.0 as ZBJEZB, ");
SQL.Add(" sum(MXJLS) as MXJLS, ");
SQL.Add(" sum(BJSL) as BJSL, ");
if (sumBJSL != 0)
{
SQL.Add(" round(sum(BJSL) / :psumBJSL, 4)*100 as BJSLZB, ");
}
else
SQL.Add(" 0.0 as BJSLZB, ");
//最低限价价差率
SQL.Add(" sum(ZDXJJE) as ZDXJJE, ");
if (sZDXJJCLLX.Equals("1"))
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(ZDXJJE)/sum(BJJE),4) *100.0 end as ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("2"))
{
SQL.Add(" case sum(ZDXJJE) when 0.0 then 0.0 else RoundFix(sum(BJJE)/sum(ZDXJJE),4) *100.0 - 100.0 end as ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else RoundFix(sum(ZDXJJE)/sum(BJJE),4) *100.0 end as ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("4"))
{
SQL.Add(" case sum(ZDXJJE) when 0.0 then 0.0 else 100.0 - RoundFix(sum(BJDLJJE)/sum(ZDXJJE),4) *100.0 end as ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("5"))
{
SQL.Add(" case sum(JGBBJJE *" + XLBJDUtils.sCJXS.ToString() + ") when 0.0 then 0.0 else RoundFix(sum(ZDXJJE)/(sum(JGBBJJE *" + XLBJDUtils.sCJXS.ToString() + ")),4) *100.0 end as ZDXJJCL, ");
}
else
{
SQL.Add(" 0.0 as ZDXJJCL, ");
}
//表价价差率
SQL.Add(" sum(JGBBJJE) as JGBBJJE,");
if (sJCLLX.Equals("1"))
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(JGBBJJE)/sum(BJJE),4) *100.0 end as BJJCL, ");
}
else if (sJCLLX.Equals("2"))
{
SQL.Add(" case sum(JGBBJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(BJJE)/sum(JGBBJJE),4) *100.0 end as BJJCL, ");
}
else if (sJCLLX.Equals("3"))
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else RoundFix(sum(JGBBJJE)/sum(BJJE),4) *100.0 end as BJJCL, ");
}
else if (sJCLLX.Equals("4"))
{
SQL.Add(" case sum(JGBBJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(BJJE)/sum(JGBBJJE),4) *100.0 end as BJJCL, ");
}
else
{
SQL.Add(" 0.0 as BJJCL, ");
}
//料价价差率
SQL.Add(" sum(JGBLJJE) as JGBLJJE,");
SQL.Add(" sum(BJDLJJE) as BJDLJJE,");
if (sLJJCLLX.Equals("1"))
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(JGBLJJE)/sum(BJJE),4) *100.0 end as LJJCL, ");
}
else if (sLJJCLLX.Equals("2"))
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(BJDLJJE)/sum(BJJE),4) *100.0 end as LJJCL, ");
}
else if (sLJJCLLX.Equals("3"))
{
SQL.Add(" case sum(BJDLJJE) when 0.0 then 0.0 else RoundFix(sum(BJJE)/sum(BJDLJJE),4) *100.0 - 100.0 end as LJJCL, ");
}
else if (sLJJCLLX.Equals("4"))
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else RoundFix(sum(BJDLJJE)/sum(BJJE),4) *100.0 end as LJJCL, ");
}
else
{
SQL.Add(" 0.0 as LJJCL, ");
}
SQL.Add(" 0 as PX,'WT' as COLOR ");
SQL.Add(" from ");
SQL.Add(" ( ");
SQL.Add(" select XLXSBJD_BJDID, ");
if (sHZFS.Equals("CPYT"))//产品用途
{
SQL.Add(" case when isnull(XLXHB_CPYT,' ')=' ' then ' ' else rtrim(isnull(XLXHB_CPYT,' '))||'|'||rtrim(isnull(XLCPYT_CPYTMC,' ')) end as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("CPYTDYDJFL"))//产品用途+电压等级分类
{
SQL.Add(" case when isnull(XLXHB_CPYT,' ')=' ' then ' ' else rtrim(isnull(XLXHB_CPYT,' '))||'|'||rtrim(isnull(XLCPYT_CPYTMC,' ')) end as HZFS_1, ");
SQL.Add(" XLDYDJB_DYDJFL as HZFS_2, ");
}
else if (sHZFS.Equals("XH"))//型号
{
SQL.Add(" XLXSBJDMX_XLXHID as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("KHFL"))//客户分类
{
if (sKHJSLY.Equals("KH"))
{
SQL.Add(" case when isnull(KH_FL,' ')=' ' then ' ' else rtrim(isnull(KH_FL,' '))||'|'||rtrim(isnull(KHFL_FLMC,' ')) end as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else
{
SQL.Add(" case when isnull(KHXX_FLID,' ')=' ' then ' ' else rtrim(isnull(KHXX_FLID,' '))||'|'||rtrim(isnull(KHFL_FLMC,' ')) end as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
}
else if (sHZFS.Equals("KH"))//客户
{
SQL.Add(" rtrim(isnull(XLXSBJD_KH, ' ')) as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("TXY"))//销售员
{
SQL.Add(" rtrim(isnull(XLXSBJD_TXY, ' ')) as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("BM"))//销售部门
{
SQL.Add(" case when isnull(XLXSBJD_XSBMID,' ')= ' ' then ' ' else rtrim(isnull(XLXSBJD_XSBMID,' '))||'|'||rtrim(isnull(BM_MC,' ')) end as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("XMSZD_PRO"))
{
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then isnull(C.XZQH_PROVINCE,' ') else isnull(D.XZQH_PROVINCE,' ') end as HZFS_1,");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("XMSZD_CIY"))
{
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then isnull(C.XZQH_PROVINCE,' ') else rtrim(isnull(D.XZQH_PROVINCE,' '))||isnull(C.XZQH_CITY,' ') end as HZFS_1,");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("XMSZD_PROCPXLID"))
{
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then isnull(C.XZQH_PROVINCE,' ') else isnull(D.XZQH_PROVINCE,' ') end as HZFS_1,");
SQL.Add(" case when isnull(CPXL_CPXLID,' ')=' ' then ' ' else rtrim(isnull(CPXL_CPXLID,' '))||'|'||rtrim(isnull(CPXL_CPXLMC,' ')) end as HZFS_2, ");
}
else if (sHZFS.Equals("XMSZD_CIYCPXLID"))
{
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then isnull(C.XZQH_PROVINCE,' ') else rtrim(isnull(D.XZQH_PROVINCE,' '))||isnull(C.XZQH_CITY,' ') end as HZFS_1,");
SQL.Add(" case when isnull(CPXL_CPXLID,' ')=' ' then ' ' else rtrim(isnull(CPXL_CPXLID,' '))||'|'||rtrim(isnull(CPXL_CPXLMC,' ')) end as HZFS_2, ");
}
else if (sHZFS.Equals("CPMLID"))//产品目录
{
SQL.Add(" case when isnull(XLXSCPML_CPMLID,' ')=' ' then ' ' else rtrim(isnull(XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLMC,' ')) end as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("CPXLID"))//产品系列
{
SQL.Add(" case when isnull(CPXL_CPXLID,' ')=' ' then ' ' else rtrim(isnull(CPXL_CPXLID,' '))||'|'||rtrim(isnull(CPXL_CPXLMC,' ')) end as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("CPMLIDDYDJFL"))//产品目录+电压等级分类
{
SQL.Add(" case when isnull(XLXSCPML_CPMLID,' ')=' ' then ' ' else rtrim(isnull(XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLMC,' ')) end as HZFS_1, ");
SQL.Add(" XLDYDJB_DYDJFL as HZFS_2, ");
}
SQL.Add(" case when XLXSBJD_ZB = 'Y' then 1 else 0 end as ZB, ");
SQL.Add(" sum(1) as MXJLS,sum(XLXSBJDMX_BJSL)as BJSL, ");
SQL.Add(" sum(XLXSBJDMX_BJJE)as BJJE, ");
if (bDTCLZS)
{
SQL.Add(" sum(case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList.Equals("") ? "XXXX" : sTcpList) + " then XLXSBJDMX_BJJE else 0 end) as TBJJE, ");
SQL.Add(" sum(case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList.Equals("") ? "XXXX" : sLcpList) + " then XLXSBJDMX_BJJE else 0 end) as LBJJE, ");
SQL.Add(" sum(case when " + XLBJDUtils.GetWhereNotEqual("isnull(XLXHB_DTCLID,' ')", sTLcpList.Equals("") ? "XXXX" : sTLcpList) + " then XLXSBJDMX_BJJE else 0 end) as QTBJJE, ");
}
SQL.Add(" sum(XLXSBJDMX_ZBJE) as ZBJE, ");//--中标金额
if (bDTCLZS)
{
SQL.Add(" sum(case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList.Equals("") ? "XXXX" : sTcpList) + " then XLXSBJDMX_ZBJE else 0 end) as TZBJE, ");
SQL.Add(" sum(case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList.Equals("") ? "XXXX" : sLcpList) + " then XLXSBJDMX_ZBJE else 0 end) as LZBJE, ");
SQL.Add(" sum(case when " + XLBJDUtils.GetWhereNotEqual("isnull(XLXHB_DTCLID,' ')", sTLcpList.Equals("") ? "XXXX" : sTLcpList) + " then XLXSBJDMX_ZBJE else 0 end) as QTZBJE, ");
}
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as ZDXJJE,");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as JGBBJJE,");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as JGBLJJE,");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDLJJE");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" left join XLXSBJD on XLXSBJD_BJDID=XLXSBJDMX_BJDID ");
SQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSBJDMX_XLXHID ");
if (sHZFS.Equals("CPYT"))
{
SQL.Add(" left join XLCPYT on XLCPYT_CPYT = XLXHB_CPYT ");
}
else if (sHZFS.Equals("CPYTDYDJFL"))
{
SQL.Add(" left join XLCPYT on XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID = isnull(XLXSBJDMX_DYDJID,' ') ");
}
else if (sHZFS.Equals("XH"))
{
}
else if (sHZFS.Equals("KHFL"))
{
if (sKHJSLY.Equals("KH"))
{
SQL.Add(" left join KH on isnull(KH_MC,' ')=isnull(XLXSBJD_KH,' ') ");
SQL.Add(" left join KHFL on KHFL_FLID=KH_FL ");
}
else
{
SQL.Add(" left join KHXX on isnull(KHXX_MC,' ')=isnull(XLXSBJD_KH,' ') ");
SQL.Add(" left join KHFL on KHFL_FLID=KHXX_FLID ");
}
}
else if (sHZFS.Equals("KH"))
{
}
else if (sHZFS.Equals("TXY"))
{
}
else if (sHZFS.Equals("BM"))
{
SQL.Add(" left join BM on BM_BMID = isnull(XLXSBJD_XSBMID,' ') ");
}
else if (sHZFS.Equals("XMSZD_PRO") || sHZFS.Equals("XMSZD_CIY"))
{
SQL.Add(" left join XZQH C on C.XZQH_XZQHID = XLXSBJD_XZQHID ");
SQL.Add(" left join XZQH D on D.XZQH_XZQHID = C.XZQH_FID ");
}
else if (sHZFS.Equals("XMSZD_PROCPXLID") || sHZFS.Equals("XMSZD_CIYCPXLID"))
{
SQL.Add(" left join XZQH C on C.XZQH_XZQHID = XLXSBJD_XZQHID ");
SQL.Add(" left join XZQH D on D.XZQH_XZQHID = C.XZQH_FID ");
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
SQL.Add(" left join CPXLDZB on CPXLDZB_CPMLID = XLXSCPML_CPMLID ");
SQL.Add(" left join CPXL on CPXL_CPXLID = CPXLDZB_CPXLID ");
}
else if (sHZFS.Equals("CPMLID"))
{
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
}
else if (sHZFS.Equals("CPXLID"))
{
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
SQL.Add(" left join CPXLDZB on CPXLDZB_CPMLID = XLXSCPML_CPMLID ");
SQL.Add(" left join CPXL on CPXL_CPXLID = CPXLDZB_CPXLID ");
}
else if (sHZFS.Equals("CPMLIDDYDJFL"))
{
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
SQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID = isnull(XLXSBJDMX_DYDJID,' ') ");
}
SQL.Add(" where 1=1 ");
SQL.Add(AddCondition());
if (sHZFS.Equals("CPYT"))
{
SQL.Add(" group by XLXSBJD_BJDID,XLXHB_CPYT,XLCPYT_CPYTMC,XLXSBJD_ZB,XLXSBJD_ZBJE");
}
else if (sHZFS.Equals("CPYTDYDJFL"))
{
SQL.Add(" group by XLXSBJD_BJDID,XLXHB_CPYT,XLCPYT_CPYTMC,XLDYDJB_DYDJFL,XLXSBJD_ZB,XLXSBJD_ZBJE");
}
else if (sHZFS.Equals("XH"))
{
SQL.Add(" group by XLXSBJD_BJDID,XLXSBJDMX_XLXHID,XLXSBJD_ZB,XLXSBJD_ZBJE ");
}
else if (sHZFS.Equals("KHFL"))
{
if (sKHJSLY.Equals("KH"))
{
SQL.Add(" group by XLXSBJD_BJDID,isnull(KH_FL, ' '),KHFL_FLMC,XLXSBJD_ZB,XLXSBJD_ZBJE ");
}
else
{
SQL.Add(" group by XLXSBJD_BJDID,isnull(KHXX_FLID, ' '),KHFL_FLMC,XLXSBJD_ZB,XLXSBJD_ZBJE ");
}
}
else if (sHZFS.Equals("KH"))
{
SQL.Add(" group by XLXSBJD_BJDID,isnull(XLXSBJD_KH, ' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
}
else if (sHZFS.Equals("TXY"))
{
SQL.Add(" group by XLXSBJD_BJDID,isnull(XLXSBJD_TXY, ' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
}
else if (sHZFS.Equals("BM"))
{
SQL.Add(" group by XLXSBJD_BJDID,isnull(XLXSBJD_XSBMID,' '),BM_MC,XLXSBJD_ZB,XLXSBJD_ZBJE ");
}
else if (sHZFS.Equals("XMSZD_PRO"))
SQL.Add(" group by XLXSBJD_BJDID,ISNULL(D.XZQH_XZQHID,' '),isnull(C.XZQH_PROVINCE,' '),isnull(D.XZQH_PROVINCE,' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
else if (sHZFS.Equals("XMSZD_CIY"))
SQL.Add(" group by XLXSBJD_BJDID,ISNULL(D.XZQH_XZQHID,' '),isnull(C.XZQH_PROVINCE,' '),isnull(D.XZQH_PROVINCE,' '),isnull(C.XZQH_CITY,' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
else if (sHZFS.Equals("XMSZD_PROCPXLID"))
SQL.Add(" group by XLXSBJD_BJDID,ISNULL(D.XZQH_XZQHID,' '),isnull(C.XZQH_PROVINCE,' '),isnull(D.XZQH_PROVINCE,' '),ISNULL(CPXL_CPXLID,' '),isnull(CPXL_CPXLMC,' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
else if (sHZFS.Equals("XMSZD_CIYCPXLID"))
SQL.Add(" group by XLXSBJD_BJDID,ISNULL(D.XZQH_XZQHID,' '),isnull(C.XZQH_PROVINCE,' '),isnull(D.XZQH_PROVINCE,' '),isnull(C.XZQH_CITY,' '),ISNULL(CPXL_CPXLID,' '),isnull(CPXL_CPXLMC,' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
else if (sHZFS.Equals("CPMLID"))
SQL.Add(" group by XLXSBJD_BJDID,ISNULL(XLXSCPML_CPMLID,' '),isnull(XLXSCPML_CPMLMC,' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
else if (sHZFS.Equals("CPXLID"))
SQL.Add(" group by XLXSBJD_BJDID,ISNULL(CPXL_CPXLID,' '),isnull(CPXL_CPXLMC,' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
else if (sHZFS.Equals("CPMLIDDYDJFL"))
SQL.Add(" group by XLXSBJD_BJDID,XLXSCPML_CPMLID,XLXSCPML_CPMLMC,XLDYDJB_DYDJFL,XLXSBJD_ZB,XLXSBJD_ZBJE ");
SQL.Add(" ) tmpCPYT ");
SQL.Add(" where 1=1 ");
SQL.Add(" group by HZFS_1,HZFS_2 ");
SQL.Add(" union all");
SQL.Add(" select '合计' as HZFS_1,' ' as HZFS_2, ");
SQL.Add(" count(XLXSBJD_BJDID) as BJDCount,sum(isnull(ZB,0)) as ZBCount, ");
SQL.Add(" sum(BJJE) as BJJE, ");
if (bDTCLZS)
SQL.Add(" sum(TBJJE) as TBJJE,sum(LBJJE) as LBJJE,sum(QTBJJE) as QTBJJE, ");
SQL.Add(" sum(ZBJE) as ZBJE, ");
if (sZBLRGS.Equals("1"))
SQL.Add(" sum(ZBJE - ZDXJJE) as ZBLR,");
else
SQL.Add(" 0 as ZBLR,");
if (bDTCLZS)
SQL.Add(" sum(TZBJE) as TZBJE,sum(LZBJE) as LZBJE,sum(QTZBJE) as QTZBJE, ");
SQL.Add(" case when count(XLXSBJD_BJDID)=0 then 0 else RoundFix(sum(case when isnull(ZB,0)>0 then 1.0 else 0.0 end)/count(XLXSBJD_BJDID),4) end as ZBBL, ");
if (sumBJJE != 0)
{
SQL.Add(" round(sum(BJJE) / :psumBJJE, 4)*100 as BJJEZB, ");
}
else
SQL.Add(" 0.0 as BJJEZB, ");
if (sumZBJE != 0)
{
SQL.Add(" round(sum(ZBJE) / :psumZBJE, 4)*100 as ZBJEZB, ");
}
else
SQL.Add(" 0.0 as ZBJEZB, ");
SQL.Add(" sum(MXJLS) as MXJLS, ");
SQL.Add(" sum(BJSL) as BJSL, ");
if (sumBJSL != 0)
{
SQL.Add(" round(sum(BJSL) / :psumBJSL, 4)*100 as BJSLZB, ");
}
else
SQL.Add(" 0.0 as BJSLZB, ");
//最低限价价差率
SQL.Add(" sum(ZDXJJE) as ZDXJJE, ");
if (sZDXJJCLLX.Equals("1"))
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(ZDXJJE)/sum(BJJE),4) *100.0 end as ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("2"))
{
SQL.Add(" case sum(ZDXJJE) when 0.0 then 0.0 else RoundFix(sum(BJJE)/sum(ZDXJJE),4) *100.0 - 100.0 end as ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else RoundFix(sum(ZDXJJE)/sum(BJJE),4) *100.0 end as ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("4"))
{
SQL.Add(" case sum(ZDXJJE) when 0.0 then 0.0 else 100.0 - RoundFix(sum(BJDLJJE)/sum(ZDXJJE),4) *100.0 end as ZDXJJCL, ");
}
else if (sZDXJJCLLX.Equals("5"))
{
SQL.Add(" case sum(JGBBJJE *" + XLBJDUtils.sCJXS.ToString() + ") when 0.0 then 0.0 else RoundFix(sum(ZDXJJE)/(sum(JGBBJJE *" + XLBJDUtils.sCJXS.ToString() + ")),4) *100.0 end as ZDXJJCL, ");
}
else
{
SQL.Add(" 0.0 as ZDXJJCL, ");
}
//表价价差率
SQL.Add(" sum(JGBBJJE) as JGBBJJE,");
if (sJCLLX.Equals("1"))
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(JGBBJJE)/sum(BJJE),4) *100.0 end as BJJCL, ");
}
else if (sJCLLX.Equals("2"))
{
SQL.Add(" case sum(JGBBJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(BJJE)/sum(JGBBJJE),4) *100.0 end as BJJCL, ");
}
else if (sJCLLX.Equals("3"))
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else RoundFix(sum(JGBBJJE)/sum(BJJE),4) *100.0 end as BJJCL, ");
}
else if (sJCLLX.Equals("4"))
{
SQL.Add(" case sum(JGBBJJE) when 0.0 then 0.0 else RoundFix(sum(BJJE)/sum(JGBBJJE),4) *100.0-100.0 end as BJJCL, ");
}
else
{
SQL.Add(" 0.0 as BJJCL, ");
}
//料价价差率
SQL.Add(" sum(JGBLJJE) as JGBLJJE,");
SQL.Add(" sum(BJDLJJE) as BJDLJJE,");
if (sLJJCLLX.Equals("1"))
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(JGBLJJE)/sum(BJJE),4) *100.0 end as LJJCL, ");
}
else if (sLJJCLLX.Equals("2"))
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else 100.0-RoundFix(sum(BJDLJJE)/sum(BJJE),4) *100.0 end as LJJCL, ");
}
else if (sLJJCLLX.Equals("3"))
{
SQL.Add(" case sum(BJDLJJE) when 0.0 then 0.0 else RoundFix(sum(BJJE)/sum(BJDLJJE),4) *100.0 - 100.0 end as LJJCL, ");
}
else if (sLJJCLLX.Equals("4"))
{
SQL.Add(" case sum(BJJE) when 0.0 then 0.0 else RoundFix(sum(BJDLJJE)/sum(BJJE),4) *100.0 end as LJJCL, ");
}
else
{
SQL.Add(" 0.0 as LJJCL, ");
}
SQL.Add(" 1 as PX,'DB' as COLOR ");
SQL.Add(" from ");
SQL.Add(" ( ");
SQL.Add(" select XLXSBJD_BJDID, ");
if (sHZFS.Equals("CPYT"))//产品用途
{
SQL.Add(" case when isnull(XLXHB_CPYT,' ')=' ' then ' ' else rtrim(isnull(XLXHB_CPYT,' '))||'|'||rtrim(isnull(XLCPYT_CPYTMC,' ')) end as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("CPYTDYDJFL"))//产品用途+电压等级分类
{
SQL.Add(" case when isnull(XLXHB_CPYT,' ')=' ' then ' ' else rtrim(isnull(XLXHB_CPYT,' '))||'|'||rtrim(isnull(XLCPYT_CPYTMC,' ')) end as HZFS_1, ");
SQL.Add(" XLDYDJB_DYDJFL as HZFS_2, ");
}
else if (sHZFS.Equals("XH"))//型号
{
SQL.Add(" XLXSBJDMX_XLXHID as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("KHFL"))//客户分类
{
if (sKHJSLY.Equals("KH"))
{
SQL.Add(" case when isnull(KH_FL,' ')=' ' then ' ' else rtrim(isnull(KH_FL,' '))||'|'||rtrim(isnull(KHFL_FLMC,' ')) end as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else
{
SQL.Add(" case when isnull(KHXX_FLID,' ')=' ' then ' ' else rtrim(isnull(KHXX_FLID,' '))||'|'||rtrim(isnull(KHFL_FLMC,' ')) end as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
}
else if (sHZFS.Equals("KH"))//客户
{
SQL.Add(" rtrim(isnull(XLXSBJD_KH, ' ')) as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("TXY"))//销售员
{
SQL.Add(" rtrim(isnull(XLXSBJD_TXY, ' ')) as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("BM"))//销售部门
{
SQL.Add(" case when isnull(XLXSBJD_XSBMID,' ')= ' ' then ' ' else rtrim(isnull(XLXSBJD_XSBMID,' '))||'|'||rtrim(isnull(BM_MC,' ')) end as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("XMSZD_PRO"))
{
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then isnull(C.XZQH_PROVINCE,' ') else isnull(D.XZQH_PROVINCE,' ') end as HZFS_1,");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("XMSZD_CIY"))
{
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then isnull(C.XZQH_PROVINCE,' ') else rtrim(isnull(D.XZQH_PROVINCE,' '))||isnull(C.XZQH_CITY,' ') end as HZFS_1,");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("XMSZD_PROCPXLID"))
{
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then isnull(C.XZQH_PROVINCE,' ') else isnull(D.XZQH_PROVINCE,' ') end as HZFS_1,");
SQL.Add(" case when isnull(CPXL_CPXLID,' ')=' ' then ' ' else rtrim(isnull(CPXL_CPXLID,' '))||'|'||rtrim(isnull(CPXL_CPXLMC,' ')) end as HZFS_2, ");
}
else if (sHZFS.Equals("XMSZD_CIYCPXLID"))
{
SQL.Add(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then isnull(C.XZQH_PROVINCE,' ') else rtrim(isnull(D.XZQH_PROVINCE,' '))||isnull(C.XZQH_CITY,' ') end as HZFS_1,");
SQL.Add(" case when isnull(CPXL_CPXLID,' ')=' ' then ' ' else rtrim(isnull(CPXL_CPXLID,' '))||'|'||rtrim(isnull(CPXL_CPXLMC,' ')) end as HZFS_2, ");
}
else if (sHZFS.Equals("CPMLID"))//产品目录
{
SQL.Add(" case when isnull(XLXSCPML_CPMLID,' ')=' ' then ' ' else rtrim(isnull(XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLMC,' ')) end as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("CPXLID"))//产品系列
{
SQL.Add(" case when isnull(CPXL_CPXLID,' ')=' ' then ' ' else rtrim(isnull(CPXL_CPXLID,' '))||'|'||rtrim(isnull(CPXL_CPXLMC,' ')) end as HZFS_1, ");
SQL.Add(" ' ' as HZFS_2, ");
}
else if (sHZFS.Equals("CPMLIDDYDJFL"))//产品目录+电压等级分类
{
SQL.Add(" case when isnull(XLXSCPML_CPMLID,' ')=' ' then ' ' else rtrim(isnull(XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLMC,' ')) end as HZFS_1, ");
SQL.Add(" XLDYDJB_DYDJFL as HZFS_2, ");
}
SQL.Add(" case when XLXSBJD_ZB = 'Y' then 1 else 0 end as ZB, ");
SQL.Add(" sum(1) as MXJLS,sum(XLXSBJDMX_BJSL)as BJSL, ");
SQL.Add(" sum(XLXSBJDMX_BJJE)as BJJE, ");
if (bDTCLZS)
{
SQL.Add(" sum(case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList.Equals("") ? "XXXX" : sTcpList) + " then XLXSBJDMX_BJJE else 0 end) as TBJJE, ");
SQL.Add(" sum(case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList.Equals("") ? "XXXX" : sLcpList) + " then XLXSBJDMX_BJJE else 0 end) as LBJJE, ");
SQL.Add(" sum(case when " + XLBJDUtils.GetWhereNotEqual("isnull(XLXHB_DTCLID,' ')", sTLcpList.Equals("") ? "XXXX" : sTLcpList) + " then XLXSBJDMX_BJJE else 0 end) as QTBJJE, ");
}
SQL.Add(" sum(XLXSBJDMX_ZBJE) as ZBJE, ");//--中标金额
if (bDTCLZS)
{
SQL.Add(" sum(case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList.Equals("") ? "XXXX" : sTcpList) + " then XLXSBJDMX_ZBJE else 0 end) as TZBJE, ");
SQL.Add(" sum(case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList.Equals("") ? "XXXX" : sLcpList) + " then XLXSBJDMX_ZBJE else 0 end) as LZBJE, ");
SQL.Add(" sum(case when " + XLBJDUtils.GetWhereNotEqual("isnull(XLXHB_DTCLID,' ')", sTLcpList.Equals("") ? "XXXX" : sTLcpList) + " then XLXSBJDMX_ZBJE else 0 end) as QTZBJE, ");
}
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as ZDXJJE,");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as JGBBJJE,");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as JGBLJJE,");
SQL.Add(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDLJJE");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" left join XLXSBJD on XLXSBJD_BJDID=XLXSBJDMX_BJDID ");
SQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSBJDMX_XLXHID ");
if (sHZFS.Equals("CPYT"))
{
SQL.Add(" left join XLCPYT on XLCPYT_CPYT = XLXHB_CPYT ");
}
else if (sHZFS.Equals("CPYTDYDJFL"))
{
SQL.Add(" left join XLCPYT on XLCPYT_CPYT = XLXHB_CPYT ");
SQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID = isnull(XLXSBJDMX_DYDJID,' ') ");
}
else if (sHZFS.Equals("XH"))
{
}
else if (sHZFS.Equals("KHFL"))
{
if (sKHJSLY.Equals("KH"))
{
SQL.Add(" left join KH on isnull(KH_MC,' ')=isnull(XLXSBJD_KH,' ') ");
SQL.Add(" left join KHFL on KHFL_FLID=KH_FL ");
}
else
{
SQL.Add(" left join KHXX on isnull(KHXX_MC,' ')=isnull(XLXSBJD_KH,' ') ");
SQL.Add(" left join KHFL on KHFL_FLID=KHXX_FLID ");
}
}
else if (sHZFS.Equals("KH"))
{
}
else if (sHZFS.Equals("TXY"))
{
}
else if (sHZFS.Equals("BM"))
{
SQL.Add(" left join BM on BM_BMID = isnull(XLXSBJD_XSBMID,' ') ");
}
else if (sHZFS.Equals("XMSZD_PRO") || sHZFS.Equals("XMSZD_CIY"))
{
SQL.Add(" left join XZQH C on C.XZQH_XZQHID = XLXSBJD_XZQHID ");
SQL.Add(" left join XZQH D on D.XZQH_XZQHID = C.XZQH_FID ");
}
else if (sHZFS.Equals("XMSZD_PROCPXLID") || sHZFS.Equals("XMSZD_CIYCPXLID"))
{
SQL.Add(" left join XZQH C on C.XZQH_XZQHID = XLXSBJD_XZQHID ");
SQL.Add(" left join XZQH D on D.XZQH_XZQHID = C.XZQH_FID ");
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
SQL.Add(" left join CPXLDZB on CPXLDZB_CPMLID = XLXSCPML_CPMLID ");
SQL.Add(" left join CPXL on CPXL_CPXLID = CPXLDZB_CPXLID ");
}
else if (sHZFS.Equals("CPMLID"))
{
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
}
else if (sHZFS.Equals("CPXLID"))
{
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
SQL.Add(" left join CPXLDZB on CPXLDZB_CPMLID = XLXSCPML_CPMLID ");
SQL.Add(" left join CPXL on CPXL_CPXLID = CPXLDZB_CPXLID ");
}
else if (sHZFS.Equals("CPMLIDDYDJFL"))
{
SQL.Add(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
SQL.Add(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
SQL.Add(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
SQL.Add(" left join XLDYDJB on XLDYDJB_DYDJID = isnull(XLXSBJDMX_DYDJID,' ') ");
}
SQL.Add(" where 1=1 ");
SQL.Add(AddCondition());
if (sHZFS.Equals("CPYT"))
{
SQL.Add(" group by XLXSBJD_BJDID,XLXHB_CPYT,XLCPYT_CPYTMC,XLXSBJD_ZB,XLXSBJD_ZBJE");
}
else if (sHZFS.Equals("CPYTDYDJFL"))
{
SQL.Add(" group by XLXSBJD_BJDID,XLXHB_CPYT,XLCPYT_CPYTMC,XLDYDJB_DYDJFL,XLXSBJD_ZB,XLXSBJD_ZBJE");
}
else if (sHZFS.Equals("XH"))
{
SQL.Add(" group by XLXSBJD_BJDID,XLXSBJDMX_XLXHID,XLXSBJD_ZB,XLXSBJD_ZBJE ");
}
else if (sHZFS.Equals("KHFL"))
{
if (sKHJSLY.Equals("KH"))
{
SQL.Add(" group by XLXSBJD_BJDID,isnull(KH_FL, ' '),KHFL_FLMC,XLXSBJD_ZB,XLXSBJD_ZBJE ");
}
else
{
SQL.Add(" group by XLXSBJD_BJDID,isnull(KHXX_FLID, ' '),KHFL_FLMC,XLXSBJD_ZB,XLXSBJD_ZBJE ");
}
}
else if (sHZFS.Equals("KH"))
{
SQL.Add(" group by XLXSBJD_BJDID,isnull(XLXSBJD_KH, ' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
}
else if (sHZFS.Equals("TXY"))
{
SQL.Add(" group by XLXSBJD_BJDID,isnull(XLXSBJD_TXY, ' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
}
else if (sHZFS.Equals("BM"))
{
SQL.Add(" group by XLXSBJD_BJDID,isnull(XLXSBJD_XSBMID,' '),BM_MC,XLXSBJD_ZB,XLXSBJD_ZBJE ");
}
else if (sHZFS.Equals("XMSZD_PRO"))
SQL.Add(" group by XLXSBJD_BJDID,ISNULL(D.XZQH_XZQHID,' '),isnull(C.XZQH_PROVINCE,' '),isnull(D.XZQH_PROVINCE,' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
else if (sHZFS.Equals("XMSZD_CIY"))
SQL.Add(" group by XLXSBJD_BJDID,ISNULL(D.XZQH_XZQHID,' '),isnull(C.XZQH_PROVINCE,' '),isnull(D.XZQH_PROVINCE,' '),isnull(C.XZQH_CITY,' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
else if (sHZFS.Equals("XMSZD_PROCPXLID"))
SQL.Add(" group by XLXSBJD_BJDID,ISNULL(D.XZQH_XZQHID,' '),isnull(C.XZQH_PROVINCE,' '),isnull(D.XZQH_PROVINCE,' '),ISNULL(CPXL_CPXLID,' '),isnull(CPXL_CPXLMC,' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
else if (sHZFS.Equals("XMSZD_CIYCPXLID"))
SQL.Add(" group by XLXSBJD_BJDID,ISNULL(D.XZQH_XZQHID,' '),isnull(C.XZQH_PROVINCE,' '),isnull(D.XZQH_PROVINCE,' '),isnull(C.XZQH_CITY,' '),ISNULL(CPXL_CPXLID,' '),isnull(CPXL_CPXLMC,' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
else if (sHZFS.Equals("CPMLID"))
SQL.Add(" group by XLXSBJD_BJDID,ISNULL(XLXSCPML_CPMLID,' '),isnull(XLXSCPML_CPMLMC,' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
else if (sHZFS.Equals("CPXLID"))
SQL.Add(" group by XLXSBJD_BJDID,ISNULL(CPXL_CPXLID,' '),isnull(CPXL_CPXLMC,' '),XLXSBJD_ZB,XLXSBJD_ZBJE ");
else if (sHZFS.Equals("CPMLIDDYDJFL"))
SQL.Add(" group by XLXSBJD_BJDID,XLXSCPML_CPMLID,XLXSCPML_CPMLMC,XLDYDJB_DYDJFL,XLXSBJD_ZB,XLXSBJD_ZBJE ");
SQL.Add(" ) tmpCPYT ");
SQL.Add(" where 1=1 ");
SQL.Add(" order by PX,HZFS_1,HZFS_2 ");
SQL.ParamByName("psumBJSL").Value = sumBJSL;
SQL.ParamByName("psumBJJE").Value = sumBJJE;
if (sumZBJE != 0)
{
SQL.ParamByName("psumZBJE").Value = sumZBJE;
}
#endregion
}
dsQry = dberp.OpenDataSet(SQL);
return dsQry;
}
//汇总方式栏目
private void SetColumn_HZFS(string sHZFS)
{
if (sHZFS.Equals("CPYT"))
{
AddColumn("HZFS_1", "产品用途", 180);
}
else if (sHZFS.Equals("CPYTDYDJFL"))
{
AddColumn("HZFS_1", "产品用途", 180);
AddColumn("HZFS_2", "电压等级分类", 180);
}
else if (sHZFS.Equals("XH"))
{
AddColumn("HZFS_1", "型号", 180);
}
else if (sHZFS.Equals("KHFL"))
{
AddColumn("HZFS_1", "客户分类", 180);
}
else if (sHZFS.Equals("KH"))
{
AddColumn("HZFS_1", "客户", 180);
}
else if (sHZFS.Equals("TXY"))
{
AddColumn("HZFS_1", "销售员", 180);
}
else if (sHZFS.Equals("BM"))
{
AddColumn("HZFS_1", "销售部门", 180);
}
else if (sHZFS.Equals("XMSZD_PRO"))
{
AddColumn("HZFS_1", "项目所在地(省/直辖市/自治区)", 180);
}
else if (sHZFS.Equals("XMSZD_CIY"))
{
AddColumn("HZFS_1", "项目所在地(市/区/盟/州)", 180);
}
else if (sHZFS.Equals("XMSZD_PROCPXLID"))
{
AddColumn("HZFS_1", "项目所在地(省/直辖市/自治区)", 180);
AddColumn("HZFS_2", "产品系列", 180);
}
else if (sHZFS.Equals("XMSZD_CIYCPXLID"))
{
AddColumn("HZFS_1", "项目所在地(市/区/盟/州)", 180);
AddColumn("HZFS_2", "产品系列", 180);
}
else if (sHZFS.Equals("CPMLID"))
{
AddColumn("HZFS_1", "产品目录", 180);
}
else if (sHZFS.Equals("CPXLID"))
{
AddColumn("HZFS_1", "产品系列", 180);
}
else if (sHZFS.Equals("CPMLIDDYDJFL"))
{
AddColumn("HZFS_1", "产品目录", 180);
AddColumn("HZFS_2", "电压等级分类", 180);
}
}
#endregion
#region GridView增加列
/// <summary>
/// 设置etCheckBox列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="Width"></param>
/// <param name="CheckBox"></param>
private void AddColumn(string sDataField, string HeadText, int Width, TEditType CheckBox)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)Width;
Column.HeaderStyle.Width = (Unit)Width;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etCheckBox;
grdContentGrid.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)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)Width;
Column.HeaderStyle.Width = (Unit)Width;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etString;
ColumnEx.ShowHint = true;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <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)
{
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;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etNumber;
ColumnEx.ShowHint = true;
ColumnEx.NumberDecimalPlace = NumberDecimalPlace;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <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 bVisible,bool bShowZero)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)Width;
Column.HeaderStyle.Width = (Unit)Width;
Column.Visible = bVisible;
Column.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etNumber;
ColumnEx.ShowHint = true;
ColumnEx.NumberDecimalPlace = NumberDecimalPlace;
ColumnEx.ShowZero = bShowZero;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <summary>
/// 设置etNumber列(报价数量)
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="NumberIsQuantity"></param>
/// <param name="NumberDecimalPlace"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, bool NumberIsQuantity, int NumberDecimalPlace, int Width)
{
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;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etNumber;
ColumnEx.ShowHint = true;
ColumnEx.NumberIsQuantity = NumberIsQuantity;
ColumnEx.NumberDecimalPlace = NumberDecimalPlace;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <summary>
/// 设置etDateTime列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="DateTimeKind"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, TDateTimeEditKinds DateTimeKind)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72);
Column.HeaderStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72);
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etDateTime;
ColumnEx.DateTimeEditKins = DateTimeKind;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <summary>
/// 设置etCheckBox列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="Width"></param>
/// <param name="CheckBox"></param>
private void AddColumn(string sDataField, string HeadText, int Width, TEditType CheckBox, 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;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etCheckBox;
grdContentGrid.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;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etString;
ColumnEx.ShowHint = true;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <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 bVisible)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)Width;
Column.HeaderStyle.Width = (Unit)Width;
Column.Visible = bVisible;
Column.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etNumber;
ColumnEx.ShowHint = true;
ColumnEx.NumberDecimalPlace = NumberDecimalPlace;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <summary>
/// 设置etDateTime列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="DateTimeKind"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, TDateTimeEditKinds DateTimeKind, bool bVisible)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.Visible = bVisible;
Column.ItemStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72);
Column.HeaderStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72);
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etDateTime;
ColumnEx.DateTimeEditKins = DateTimeKind;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
#endregion
}
}