2389 lines
128 KiB
C#
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
|
|
}
|
|
}
|