1507 lines
110 KiB
C#
1507 lines
110 KiB
C#
using System;
|
||
using System.Data;
|
||
using System.Configuration;
|
||
using System.Collections;
|
||
using System.Web;
|
||
using System.Web.Security;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using System.Web.UI.WebControls.WebParts;
|
||
using System.Web.UI.HtmlControls;
|
||
using GThinking.N_MODEL.Page;
|
||
using GThinking.N_WORKFLOW;
|
||
using GThinking.N_MISPRO;
|
||
using GThinking.N_MISPRO.Data;
|
||
using GThinking.N_MISPRO.Utility;
|
||
using System.Text;
|
||
using System.Collections.Generic;
|
||
using GThinking.N_CONTROL;
|
||
using System.Drawing;
|
||
|
||
namespace GThinking.N_XLXSBJ
|
||
{
|
||
public partial class XLBJD_BJLRList : SingleGridBase
|
||
{
|
||
XLBJD_BJLR entity = new XLBJD_BJLR();
|
||
XLBJD_BJLR_M queryentity = new XLBJD_BJLR_M();
|
||
|
||
int iXSWS = 5;
|
||
|
||
#region 页面事件
|
||
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
this.UMID = 100860008;
|
||
this.UMName = "线缆销售报价单价差";
|
||
this.CurMaster = Master;
|
||
this.ModuleGV = grdGrid;
|
||
this.CurEntity = entity;
|
||
this.CurQueryEntity = queryentity;
|
||
this.sQueryURLTarget = "XLBJD_BJLRQuery.aspx";
|
||
this.PageHeight = 600;
|
||
this.PageWidth = 750;
|
||
|
||
//base.DataKeyNames = new string[] { "XLXSBJDMX_XLXHID", "XLXSBJDMX_XLGGID", "XLXSBJDMX_XLBZID", "XLXSBJDMX_DYDJID" };
|
||
|
||
iXSWS = string.IsNullOrEmpty(GetOption(100860001, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860001, "BJU002"));
|
||
if (iXSWS < 0)
|
||
iXSWS = 0;
|
||
else if (iXSWS > 8)
|
||
iXSWS = 8;
|
||
|
||
InitControl();
|
||
|
||
|
||
|
||
if (!IsPostBack)
|
||
{
|
||
CurQueryEntity.FieldByName("HZFS").Value = "1";
|
||
CurQueryEntity.FieldByName("XSMX").Value = "True";
|
||
CurQueryEntity.FieldByName("XSXJ").Value = "True";
|
||
}
|
||
|
||
base.InitEntityByCondition();
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_BJLY").Visible = false;
|
||
if (CurQueryEntity.FieldByName("XSMX").Value.ToString().Trim().ToUpper().Equals("TRUE"))
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_BJLY").Visible = true;
|
||
|
||
base.InitPage();
|
||
|
||
this.ModuleGV.OnClientDblClick = "return false;";
|
||
|
||
|
||
|
||
if (!IsPostBack)
|
||
{
|
||
Master_OnStandardQuery(null, null);
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region 模板继承事件
|
||
|
||
protected override void Master_OnStandardQuery(object sender, EventArgs e)
|
||
{
|
||
base.InitEntityByCondition();
|
||
base.Master_OnStandardQuery(sender, e);
|
||
entity.EntityTable.QuerySelSql = GetQuerySql();
|
||
entity.GridDataBind(grdGrid, tSession);
|
||
}
|
||
|
||
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
|
||
{
|
||
if (e.Row.RowType == DataControlRowType.DataRow)
|
||
{
|
||
if (e.Row.Cells[3].Text.ToString().Trim().Contains("小计") || e.Row.Cells[3].Text.ToString().Trim().Contains("合计"))
|
||
{
|
||
if (e.Row.Cells[3].Text.ToString().Trim().Contains("小计"))
|
||
e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#87CEFA");
|
||
e.Row.Cells[12].Text = "";
|
||
e.Row.Cells[14].Text = "";
|
||
e.Row.Cells[16].Text = "";
|
||
e.Row.Cells[19].Text = "";
|
||
e.Row.Cells[25].Text = "";
|
||
}
|
||
double dBJJEZB=0;
|
||
if (txtZJE.Value > 0)
|
||
{
|
||
dBJJEZB = NumberUtils.RoundX(CMISproConvert.StrToFloat(e.Row.Cells[21].Text.Trim()) / txtZJE.Value,4);
|
||
}
|
||
if (dBJJEZB > 0)
|
||
e.Row.Cells[21].Text = dBJJEZB.ToString("P");
|
||
else
|
||
e.Row.Cells[21].Text = "";
|
||
}
|
||
base.moduleGV_RowDataBound(sender, e);
|
||
}
|
||
|
||
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
|
||
{
|
||
|
||
base.InitEntityByCondition();
|
||
entity.EntityTable.QuerySelSql = GetQuerySql();
|
||
grdGrid.SelectedIndex = -1;
|
||
base.moduleGV_PageIndexChanging(sender, e);
|
||
}
|
||
#endregion
|
||
|
||
#region 自定义函数
|
||
|
||
private void InitControl()
|
||
{
|
||
//sJCLLX
|
||
//cbxBJJCLLX.Items.Add(new ListItem("(调整后报价金额-表价金额)/调整后报价金额*100", "1"));
|
||
//cbxBJJCLLX.Items.Add(new ListItem("(表价金额-调整后报价金额)/表价金额*100", "2"));
|
||
//cbxBJJCLLX.Items.Add(new ListItem("表价金额/调整后报价金额*100", "3"));
|
||
string sJCLLX = PageParam.GetRTrimString("JCLLX");
|
||
string sLJJCLLX = PageParam.GetRTrimString("LJJCLLX");
|
||
|
||
this.CurMaster.EnableNewBtn = false;
|
||
this.CurMaster.EnableCopyBtn = false;
|
||
this.CurMaster.EnableEditBtn = false;
|
||
this.CurMaster.EnableDeleteBtn = false;
|
||
this.CurMaster.EnableWorkflowBtn = false;
|
||
this.CurMaster.EnableViewBtn = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_BJDID").Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_XH").Visible = false;
|
||
grdGrid.FindColumnByFieldName("OLD_XLXSBJDMX_XH").Visible = false;
|
||
grdGrid.FindColumnByFieldName("BJLJJCL").Visible = false;
|
||
|
||
grdGrid.FindColumnExByFieldName("XLXSBJDMX_BJDHQCLCB").NumberDecimalPlace = iXSWS;
|
||
grdGrid.FindColumnExByFieldName("XLXSBJDMX_CLCB").NumberDecimalPlace = iXSWS;
|
||
grdGrid.FindColumnExByFieldName("XLXSBJDMX_JGBBJ").NumberDecimalPlace = iXSWS;
|
||
grdGrid.FindColumnExByFieldName("XLXSBJDMX_CPBJ").NumberDecimalPlace = iXSWS;
|
||
grdGrid.FindColumnExByFieldName("XLXSBJDMX_ZDXJ").NumberDecimalPlace = iXSWS;
|
||
|
||
|
||
//显示报价单行情料价
|
||
if (PageParam.GetRTrimString("XSBJDHQLJ").Equals("Y"))
|
||
{
|
||
lblBJDHQCLCBZJE.Visible = true;
|
||
txtBJDHQCLCBZJE.Visible = true;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_BJDHQCLCB").Visible = true;
|
||
grdGrid.FindColumnByFieldName("BJDHQCLCBJE").Visible = true;
|
||
}
|
||
else
|
||
{
|
||
lblBJDHQCLCBZJE.Visible = false;
|
||
txtBJDHQCLCBZJE.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_BJDHQCLCB").Visible = false;
|
||
grdGrid.FindColumnByFieldName("BJDHQCLCBJE").Visible = false;
|
||
}
|
||
|
||
//显示价格表行情料价
|
||
if (PageParam.GetRTrimString("XSLJ").Trim().Equals("Y"))
|
||
{
|
||
lblCLCBZJE.Visible = true;
|
||
txtCLCBZJE.Visible = true;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_CLCB").Visible = true;
|
||
grdGrid.FindColumnByFieldName("CLCBJE").Visible = true;
|
||
}
|
||
else
|
||
{
|
||
lblCLCBZJE.Visible = false;
|
||
txtCLCBZJE.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_CLCB").Visible = false;
|
||
grdGrid.FindColumnByFieldName("CLCBJE").Visible = false;
|
||
}
|
||
|
||
//sJCLLX
|
||
//cbxBJJCLLX.Items.Add(new ListItem("(调整后报价金额-表价金额)/调整后报价金额*100", "1"));
|
||
//cbxBJJCLLX.Items.Add(new ListItem("(表价金额-调整后报价金额)/表价金额*100", "2"));
|
||
//cbxBJJCLLX.Items.Add(new ListItem("表价金额/调整后报价金额*100", "3"));
|
||
//显示表价价差率
|
||
if (PageParam.GetRTrimString("XSJCL").Equals("Y"))
|
||
{
|
||
lblLRL.Visible = true;
|
||
txtLRL.Visible = true;
|
||
lblLRLP.Visible = true;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJJCL").Visible = true;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJJCE").Visible = true;
|
||
}
|
||
else
|
||
{
|
||
lblLRL.Visible = false;
|
||
txtLRL.Visible = false;
|
||
lblLRLP.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJJCL").Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJJCE").Visible = false;
|
||
}
|
||
|
||
//sLJJCLLX
|
||
//XLXSBJDMX_CLCB----价格表行情料价
|
||
//cbxLJJCLLX.Items.Add(new ListItem("(调整后报价金额-价格表行情料价金额)/调整后报价金额*100", "1"));
|
||
//XLXSBJDMX_BJDHQCLCB----报价单行情料价
|
||
//cbxLJJCLLX.Items.Add(new ListItem("(调整后报价金额-报价单行情料价金额)/调整后报价金额*100", "2"));
|
||
//显示价格表行情料价/显示料价价差率
|
||
if (PageParam.GetRTrimString("XSLJJCL").Equals("Y"))
|
||
{
|
||
lblCLCBLRL.Visible = true;
|
||
txtCLCBLRL.Visible = true;
|
||
lblCLCBLRLLP.Visible = true;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_CLCBJCL").Visible = true;
|
||
}
|
||
else
|
||
{
|
||
lblCLCBLRL.Visible = false;
|
||
txtCLCBLRL.Visible = false;
|
||
lblCLCBLRLLP.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_CLCBJCL").Visible = false;
|
||
}
|
||
|
||
//最低限价
|
||
if (PageParam.GetRTrimString("XSZDXJ").Equals("Y"))
|
||
{
|
||
lblZDXJZJE.Visible = true;
|
||
txtZDXJZJE.Visible = true;
|
||
lblZDXJLRL.Visible = true;
|
||
txtZDXJLRL.Visible = true;
|
||
lblZDXJLRLP.Visible = true;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_ZDXJ").Visible = true;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_ZDXJZJE").Visible = true;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_ZDXJJCL").Visible = true;
|
||
}
|
||
else
|
||
{
|
||
lblZDXJZJE.Visible = false;
|
||
txtZDXJZJE.Visible = false;
|
||
lblZDXJLRL.Visible = false;
|
||
txtZDXJLRL.Visible = false;
|
||
lblZDXJLRLP.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_ZDXJ").Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_ZDXJZJE").Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_ZDXJJCL").Visible = false;
|
||
}
|
||
|
||
if (sJCLLX.Equals(""))
|
||
{
|
||
lblLRL.Visible = false;
|
||
txtLRL.Visible = false;
|
||
lblLRLP.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJJCL").Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJJCE").Visible = false;
|
||
}
|
||
//if (grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJ").Visible == true && grdGrid.FindColumnByFieldName("XLXSBJDMX_BJDHQCLCB").Visible == true)
|
||
if (PageParam.GetRTrimString("XSBJLJJCL").Equals("Y"))
|
||
{
|
||
lblBJLJJCL.Visible = true;
|
||
txtBJLJJCL.Visible = true;
|
||
lblBJLJ.Visible = true;
|
||
grdGrid.FindColumnByFieldName("BJLJJCL").Visible = true;
|
||
}
|
||
if (PageParam.ContainsKey("HidJSLMList"))
|
||
{
|
||
HidJSLM(PageParam.GetRTrimString("HidJSLMList"));
|
||
}
|
||
string sBJLJJCL = "表价料价价差率";
|
||
if (PageParam.ContainsKey("JGBBJBM"))
|
||
{
|
||
string sJGBBJBM = PageParam.GetRTrimString("JGBBJBM");
|
||
if (!string.IsNullOrEmpty(sJGBBJBM))
|
||
{
|
||
lblBJLJJCL.Text = sJGBBJBM + "料价价差率:";
|
||
lblCPJJZJE.Text = sJGBBJBM + "总金额:";
|
||
lblLRL.Text = sJGBBJBM + "价差率:";
|
||
grdGrid.FindColumnByFieldName("BJLJJCL").HeaderText = sJGBBJBM + "料价价差率(%)";
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJ").HeaderText = sJGBBJBM;
|
||
grdGrid.FindColumnByFieldName("CPJJJE").HeaderText=sJGBBJBM+"金额";
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJJCL").HeaderText = sJGBBJBM + "价差率(%)";
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJJCE").HeaderText=sJGBBJBM+"价差额";
|
||
}
|
||
|
||
}
|
||
if (PageParam.ContainsKey("BJDHQLJBM"))
|
||
{
|
||
string sBJDHQLJBM = PageParam.GetRTrimString("BJDHQLJBM");
|
||
if (!string.IsNullOrEmpty(sBJDHQLJBM))
|
||
{
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_BJDHQCLCB").HeaderText = sBJDHQLJBM;
|
||
grdGrid.FindColumnByFieldName("BJDHQCLCBJE").HeaderText = sBJDHQLJBM + "金额";
|
||
}
|
||
|
||
}
|
||
lblBJLJJCL.Text = sBJLJJCL + ":";
|
||
grdGrid.FindColumnByFieldName("BJLJJCL").HeaderText = sBJLJJCL + "(%)";
|
||
if (PageParam.ContainsKey("BJBM"))
|
||
{
|
||
string sBJBM = PageParam.GetRTrimString("BJBM");
|
||
if (!string.IsNullOrEmpty(sBJBM))
|
||
{
|
||
lblZJE.Text = sBJBM + "总金额:";
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_CPBJ").HeaderText = sBJBM;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_BJJE").HeaderText = sBJBM + "金额";
|
||
grdGrid.FindColumnByFieldName("BJJEZB").HeaderText = sBJBM + "金额占比";
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
private string GetQuerySql()
|
||
{
|
||
string sBJDID = PageParam.GetRTrimString("BJDID");
|
||
string sXHList = PageParam.GetRTrimString("XHList");
|
||
string SqlXHLIST="";
|
||
if (!sXHList.Equals(""))
|
||
SqlXHLIST = " and XLXSBJDMX_XH in(" + sXHList + ") ";
|
||
string sJCLLX = PageParam.GetRTrimString("JCLLX");
|
||
string sLJJCLLX = PageParam.GetRTrimString("LJJCLLX");
|
||
string sZDXJJCLLX = PageParam.GetRTrimString("ZDXJJCLLX");
|
||
bool bXSMX = CurQueryEntity.FieldByName("XSMX").Value.ToString().Trim().ToUpper().Equals("TRUE");
|
||
bool bXSXJ = CurQueryEntity.FieldByName("XSXJ").Value.ToString().Trim().ToUpper().Equals("TRUE");
|
||
bool bWGXJ = CurQueryEntity.FieldByName("WGXJ").Value.ToString().Trim().ToUpper().Equals("TRUE");
|
||
string sHZFS = CurQueryEntity.FieldByName("HZFS").Value.ToString().Trim();
|
||
string sTcpList = "";
|
||
string sLcpList = "";
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860063);
|
||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_TDTGSCLID))
|
||
sTcpList = pzxx.XLXSBJPZ_TDTGSCLID;
|
||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_LDTGSCLID))
|
||
sLcpList = pzxx.XLXSBJPZ_LDTGSCLID;
|
||
|
||
StringBuilder strSQL = new StringBuilder();
|
||
//sJCLLX
|
||
//cbxBJJCLLX.Items.Add(new ListItem("(调整后报价金额-表价金额)/调整后报价金额*100", "1"));
|
||
//cbxBJJCLLX.Items.Add(new ListItem("(表价金额-调整后报价金额)/表价金额*100", "2"));
|
||
//cbxBJJCLLX.Items.Add(new ListItem("表价金额/调整后报价金额*100", "3"));
|
||
|
||
//sLJJCLLX
|
||
//料价价差率公式
|
||
//XLXSBJDMX_CLCB----价格表行情料价
|
||
//cbxLJJCLLX.Items.Add(new ListItem("(调整后报价金额-价格表行情料价金额)/调整后报价金额*100", "1"));
|
||
//XLXSBJDMX_BJDHQCLCB----报价单行情料价
|
||
//cbxLJJCLLX.Items.Add(new ListItem("(调整后报价金额-报价单行情料价金额)/调整后报价金额*100", "2"));
|
||
if (sHZFS.Equals("1"))
|
||
{
|
||
grdGrid.FindColumnByFieldName("HZFS").HeaderText = "产品目录";
|
||
}
|
||
else if (sHZFS.Equals("2"))
|
||
{
|
||
grdGrid.FindColumnByFieldName("HZFS").HeaderText = "产品用途";
|
||
}
|
||
else if(sHZFS.Equals("3"))
|
||
{
|
||
grdGrid.FindColumnByFieldName("HZFS").HeaderText = "产品用途+铜铝产品";
|
||
}
|
||
else if (sHZFS.Equals("5"))
|
||
{
|
||
grdGrid.FindColumnByFieldName("HZFS").HeaderText = "包号+产品目录";
|
||
}
|
||
else
|
||
{
|
||
grdGrid.FindColumnByFieldName("HZFS").HeaderText = "汇总栏目";
|
||
|
||
}
|
||
#region 产品目录
|
||
if (sHZFS.Equals("1") || sHZFS.Equals("4") || sHZFS.Equals("5"))
|
||
{
|
||
if (sHZFS.Equals("4"))
|
||
{
|
||
strSQL.AppendLine("select 0 as px0, 0 as px1,case when XLXSBJDMX_WGCPBZ<>'Y' then 0 else 1 end as px2 ,");
|
||
strSQL.AppendLine(" case when XLXSBJDMX_WGCPBZ<>'Y' then (case when isnull(XLXSCPML_CPMLID,' ')=' ' then ' ' else rtrim(isnull(XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLMC,' ')||'|'||'非外购') end ) else '外购' end as HZFS, ");
|
||
}
|
||
else if (sHZFS.Equals("5"))
|
||
{
|
||
strSQL.AppendLine("select 0 as px0, 0 as px1,");
|
||
strSQL.AppendLine(" case when isnull(XLXSCPML_CPMLID,' ')=' ' then XLXSBJDMX_FBH else rtrim(isnull(XLXSBJDMX_FBH,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLMC,' ')) end as HZFS, ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine("select 0 as px0, 0 as px1,");
|
||
strSQL.AppendLine(" case when isnull(XLXSCPML_CPMLID,' ')=' ' then ' ' else rtrim(isnull(XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLMC,' ')) end as HZFS, ");
|
||
}
|
||
strSQL.AppendLine(" XLXSBJDMX_BJDID,XLXSBJDMX_XSSX,XLXSBJDMX_XH, XLXSBJDMX_XH as OLD_XLXSBJDMX_XH, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, rtrim(XLXSBJDMX_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) as XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID, ");
|
||
strSQL.AppendLine(" rtrim(XLXSBJDMX_XLYSID)||'|'||rtrim(XLYSB_XLYSMC) as XLXSBJDMX_XLYSID,XLXSBJDMX_BJCP,");
|
||
strSQL.AppendLine(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_JGBBJ, XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ as CPJJJE,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,XLXSBJDMX_BJJE as BJJEZB, ");
|
||
strSQL.AppendLine(" XLXSBJDMX_CLCB,XLXSBJDMX_BJSL*XLXSBJDMX_CLCB as CLCBJE, XLXSBJDMX_BJDHQCLCB, XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB as BJDHQCLCBJE, ");
|
||
strSQL.AppendLine(" XLXSBJDMX_JGBBJLJJCL as BJLJJCL, ");
|
||
strSQL.AppendLine(" XLXSBJDMX_JGBBJJCL, XLXSBJDMX_JGBBJJCE,XLXSBJDMX_CLCBJCL,XLXSBJDMX_ZDXJ,XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ as XLXSBJDMX_ZDXJZJE,XLXSBJDMX_ZDXJJCL");
|
||
strSQL.AppendLine(" ,case when XLXSBJDMX_BJLY= 'JGBHQLJ' then '价格表行情料价' when XLXSBJDMX_BJLY='BJDHQLJ' then '报价单行情料价' when XLXSBJDMX_BJLY='SSJGBBJ' then '手输表价' when XLXSBJDMX_BJLY='JGBBJ' then '价格表表价' else ' ' end as XLXSBJDMX_BJLY ");
|
||
strSQL.AppendLine(" from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID ");
|
||
strSQL.AppendLine(" left join XLYSB on XLYSB_XLYSID = XLXSBJDMX_XLYSID ");
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST);
|
||
|
||
if (!bXSMX)
|
||
{
|
||
strSQL.AppendLine(" and 1 <> 1 ");
|
||
}
|
||
strSQL.AppendLine(" union all ");
|
||
|
||
if (sHZFS.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" select 0 as px0, 1 as px1,0 as px2,");
|
||
strSQL.AppendLine(" rtrim(isnull(a.XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(a.XLXSCPML_CPMLMC,' '))||'非外购(小计)' as HZFS, ");
|
||
}
|
||
else if (sHZFS.Equals("5"))
|
||
{
|
||
strSQL.AppendLine(" select 0 as px0, 1 as px1,");
|
||
strSQL.AppendLine(" case when isnull(XLXSCPML_CPMLID,' ')=' ' then rtrim(isnull(XLXSBJDMX_FBH,' '))||'(小计)' else rtrim(isnull(XLXSBJDMX_FBH,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(XLXSCPML_CPMLMC,' '))||'(小计)' end as HZFS, ");
|
||
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" select 0 as px0, 1 as px1,");
|
||
strSQL.AppendLine(" rtrim(isnull(a.XLXSCPML_CPMLID,' '))||'|'||rtrim(isnull(a.XLXSCPML_CPMLMC,' '))||'(小计)' as HZFS, ");
|
||
}
|
||
|
||
strSQL.AppendLine(" ' ' as XLXSBJDMX_BJDID,99999 as XLXSBJDMX_XSSX,99999 as XLXSBJDMX_XH, 99999 as OLD_XLXSBJDMX_XH, ' ' as XLXSBJDMX_XLXHID, ' ' as XLXSBJDMX_XLGGID, ' ' as XLXSBJDMX_XLBZID,' ' as XLXSBJDMX_DYDJID, ");
|
||
strSQL.AppendLine(" ' ' as XLXSBJDMX_XLYSID,' ' as XLXSBJDMX_BJCP,' ' as XLXSBJDMX_JLDW, sum(XLXSBJDMX_BJSL) as XLXSBJDMX_BJSL, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_JGBBJ) as XLXSBJDMX_JGBBJ, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as CPJJJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_CPBJ) as XLXSBJDMX_CPBJ, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJJE) as XLXSBJDMX_BJJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJJE) as BJJEZB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_CLCB) as XLXSBJDMX_CLCB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as CLCBJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJDHQCLCB) as XLXSBJDMX_BJDHQCLCB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDHQCLCBJE, ");
|
||
strSQL.AppendLine(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix((sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) - sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB))/ sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * 100,2) end as BJLJJCL ,");
|
||
if (sJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLBA on XHMLBA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLBA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLBB on XHMLBB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLBB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML b on XLXSCPML_CPMLID = case when ISNULL(XHMLBA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLBB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLBA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID"+SqlXHLIST+" and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCPML_CPMLID,' ') = ISNULL(b.XLXSCPML_CPMLID,' ') ");
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
else if (sJCLLX.Equals("2") || sJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLBA on XHMLBA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLBA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLBB on XHMLBB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLBB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML b on XLXSCPML_CPMLID = case when ISNULL(XHMLBA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLBB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLBA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCPML_CPMLID,' ') = ISNULL(b.XLXSCPML_CPMLID,' ') ");
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLBA on XHMLBA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLBA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLBB on XHMLBB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLBB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML b on XLXSCPML_CPMLID = case when ISNULL(XHMLBA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLBB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLBA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID "+SqlXHLIST+"and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCPML_CPMLID,' ') = ISNULL(b.XLXSCPML_CPMLID,' ') ");
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
|
||
if (sLJJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_CLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB)/sum(case when XLXSBJDMX_CLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCA on XHMLCA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCB on XHMLCB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML c on XLXSCPML_CPMLID = case when ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLCB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID "+SqlXHLIST+"and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCPML_CPMLID,' ') = ISNULL(c.XLXSCPML_CPMLID,' ') ");
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else if (sLJJCLLX.Equals("2"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCA on XHMLCA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCB on XHMLCB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML c on XLXSCPML_CPMLID = case when ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLCB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID"+SqlXHLIST+" and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCPML_CPMLID,' ') = ISNULL(c.XLXSCPML_CPMLID,' ') ");
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else if (sLJJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCA on XHMLCA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCB on XHMLCB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML c on XLXSCPML_CPMLID = case when ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLCB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID"+SqlXHLIST+" and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCPML_CPMLID,' ') = ISNULL(c.XLXSCPML_CPMLID,' ') ");
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) when 0 then 0 else RoundFix(sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB),4) *100 - 100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCA on XHMLCA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCB on XHMLCB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML c on XLXSCPML_CPMLID = case when ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLCB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID"+SqlXHLIST+" and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCPML_CPMLID,' ') = ISNULL(c.XLXSCPML_CPMLID,' ') ");
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJ,sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJZJE, ");
|
||
if (sZDXJJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCA on XHMLCA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCB on XHMLCB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML c on XLXSCPML_CPMLID = case when ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLCB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID"+SqlXHLIST+" and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCPML_CPMLID,' ') = ISNULL(c.XLXSCPML_CPMLID,' ') ");
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("2"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 -100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCA on XHMLCA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCB on XHMLCB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML c on XLXSCPML_CPMLID = case when ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLCB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID"+SqlXHLIST+" and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCPML_CPMLID,' ') = ISNULL(c.XLXSCPML_CPMLID,' ') ");
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCA on XHMLCA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCB on XHMLCB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML c on XLXSCPML_CPMLID = case when ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLCB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID "+SqlXHLIST+"and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCPML_CPMLID,' ') = ISNULL(c.XLXSCPML_CPMLID,' ') ");
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else 100 - RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCA on XHMLCA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCB on XHMLCB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML c on XLXSCPML_CPMLID = case when ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLCB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID"+SqlXHLIST+" and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCPML_CPMLID,' ') = ISNULL(c.XLXSCPML_CPMLID,' ') ");
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("5"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCA on XHMLCA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLCB on XHMLCB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLCB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML c on XLXSCPML_CPMLID = case when ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLCB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLCA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID"+SqlXHLIST+" and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXSCPML_CPMLID,' ') = ISNULL(c.XLXSCPML_CPMLID,' ') ");
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else
|
||
strSQL.AppendLine(" 0 as XLXSBJDMX_ZDXJJCL ");
|
||
strSQL.AppendLine(" ,' ' as XLXSBJDMX_BJLY ");
|
||
strSQL.AppendLine(" from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLAA on XHMLAA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLAA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLAB on XHMLAB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLAB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML a on XLXSCPML_CPMLID = case when ISNULL(XHMLAA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLAB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLAA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST);
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
if (!bXSXJ)
|
||
{
|
||
strSQL.AppendLine(" and 1 <> 1 ");
|
||
}
|
||
if (sHZFS.Equals("5"))
|
||
strSQL.AppendLine("group by XLXSBJDMX_FBH,a.XLXSCPML_CPMLID,a.XLXSCPML_CPMLMC");
|
||
else
|
||
{
|
||
strSQL.AppendLine(" group by a.XLXSCPML_CPMLID,a.XLXSCPML_CPMLMC ");
|
||
}
|
||
|
||
if (sHZFS.Equals("4"))
|
||
strSQL.AppendLine(GetQuerySql_HZFS4(bXSMX, bXSXJ, sJCLLX, sLJJCLLX, sZDXJJCLLX));
|
||
else if (bWGXJ)
|
||
{
|
||
strSQL.AppendLine(GetQuerySql_WGXJ(sJCLLX, sLJJCLLX, sZDXJJCLLX));
|
||
}
|
||
|
||
strSQL.AppendLine(" union all ");
|
||
if (sHZFS.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" select 1 as px0, 1 as px1, 1 as px2,'合计:' as HZFS,' ' as XLXSBJDMX_BJDID,99999 as XLXSBJDMX_XSSX, 99999 as XLXSBJDMX_XH, 99999 as OLD_XLXSBJDMX_XH, ' ' as XLXSBJDMX_XLXHID, ' ' as XLXSBJDMX_XLGGID, ' ' as XLXSBJDMX_XLBZID,' ' as XLXSBJDMX_DYDJID, ");
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" select 1 as px0, 1 as px1,'合计:' as HZFS,' ' as XLXSBJDMX_BJDID,99999 as XLXSBJDMX_XSSX, 99999 as XLXSBJDMX_XH, 99999 as OLD_XLXSBJDMX_XH, ' ' as XLXSBJDMX_XLXHID, ' ' as XLXSBJDMX_XLGGID, ' ' as XLXSBJDMX_XLBZID,' ' as XLXSBJDMX_DYDJID, ");
|
||
|
||
}
|
||
strSQL.AppendLine(" ' ' as XLXSBJDMX_XLYSID,' ' as XLXSBJDMX_BJCP,' ' as XLXSBJDMX_JLDW, sum(XLXSBJDMX_BJSL) as XLXSBJDMX_BJSL, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_JGBBJ) as XLXSBJDMX_JGBBJ, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as CPJJJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_CPBJ) as XLXSBJDMX_CPBJ, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJJE) as XLXSBJDMX_BJJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJJE) as BJJEZB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_CLCB) as XLXSBJDMX_CLCB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as CLCBJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJDHQCLCB) as XLXSBJDMX_BJDHQCLCB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDHQCLCBJE, ");
|
||
strSQL.AppendLine(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix((sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) - sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB))/ sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * 100,2) end as BJLJJCL ,");
|
||
if (sJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID "+SqlXHLIST+"and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
else if (sJCLLX.Equals("2") || sJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID"+SqlXHLIST+" and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
|
||
if (sLJJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_CLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB)/sum(case when XLXSBJDMX_CLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else if (sLJJCLLX.Equals("2"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else if (sLJJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) when 0 then 0 else RoundFix(sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB),4) *100 - 100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJ,sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJZJE, ");
|
||
if (sZDXJJCLLX.Equals("1"))
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
|
||
else if (sZDXJJCLLX.Equals("2"))
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 - 100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ <> 0) as XLXSBJDMX_ZDXJJCL ");
|
||
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
|
||
else if (sZDXJJCLLX.Equals("4"))
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else 100 - RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ <> 0) as XLXSBJDMX_ZDXJJCL ");
|
||
else if (sZDXJJCLLX.Equals("5"))
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ <> 0) as XLXSBJDMX_ZDXJJCL ");
|
||
else
|
||
strSQL.AppendLine(" 0 as XLXSBJDMX_ZDXJJCL ");
|
||
strSQL.AppendLine(" ,' ' as XLXSBJDMX_BJLY ");
|
||
strSQL.AppendLine(" from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLA on XHMLA.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLA.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
|
||
strSQL.AppendLine(" left join XLXSBJXHML XHMLB on XHMLB.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and XHMLB.XLXSBJXHML_DYDJID = ' ' ");
|
||
strSQL.AppendLine(" left join XLXSCPML a on XLXSCPML_CPMLID = case when ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(XHMLB.XLXSBJXHML_CPMLID,' ') else ISNULL(XHMLA.XLXSBJXHML_CPMLID,' ') end ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST);
|
||
if (sHZFS.Equals("4"))
|
||
{
|
||
|
||
if (!bXSXJ)
|
||
strSQL.AppendLine(" order by px2,px0, px1,XLXSBJDMX_XSSX, XLXSBJDMX_XH ");
|
||
else
|
||
strSQL.AppendLine(" order by px2,px0,HZFS, px1,XLXSBJDMX_XSSX, XLXSBJDMX_XH ");
|
||
}
|
||
else
|
||
{
|
||
if (!bXSXJ)
|
||
strSQL.AppendLine(" order by px0, px1,XLXSBJDMX_XSSX, XLXSBJDMX_XH ");
|
||
else
|
||
strSQL.AppendLine(" order by px0,HZFS, px1,XLXSBJDMX_XSSX, XLXSBJDMX_XH ");
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region 产品用途
|
||
else
|
||
{
|
||
strSQL.AppendLine("select 0 as px0, 0 as px1, rtrim(XLCPYT_CPYT) || '|' || rtrim(XLCPYT_CPYTMC) ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" || '|' || TLCP ");
|
||
}
|
||
strSQL.AppendLine(" as HZFS,");
|
||
strSQL.AppendLine(" XLXSBJDMX_BJDID,XLXSBJDMX_XSSX,XLXSBJDMX_XH, XLXSBJDMX_XH as OLD_XLXSBJDMX_XH, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, rtrim(XLXSBJDMX_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) as XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID, ");
|
||
strSQL.AppendLine(" rtrim(XLXSBJDMX_XLYSID)||'|'||rtrim(XLYSB_XLYSMC) as XLXSBJDMX_XLYSID,XLXSBJDMX_BJCP,");
|
||
strSQL.AppendLine(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_JGBBJ, XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ as CPJJJE,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,XLXSBJDMX_BJJE as BJJEZB, ");
|
||
strSQL.AppendLine(" XLXSBJDMX_CLCB,XLXSBJDMX_BJSL*XLXSBJDMX_CLCB as CLCBJE, XLXSBJDMX_BJDHQCLCB, XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB as BJDHQCLCBJE,");
|
||
strSQL.AppendLine(" XLXSBJDMX_JGBBJLJJCL as BJLJJCL, ");
|
||
strSQL.AppendLine(" XLXSBJDMX_JGBBJJCL, XLXSBJDMX_JGBBJJCE,XLXSBJDMX_CLCBJCL,XLXSBJDMX_ZDXJ,XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ as XLXSBJDMX_ZDXJZJE,XLXSBJDMX_ZDXJJCL");
|
||
strSQL.AppendLine(" ,case when XLXSBJDMX_BJLY= 'JGBHQLJ' then '价格表行情料价' when XLXSBJDMX_BJLY='BJDHQLJ' then '报价单行情料价' when XLXSBJDMX_BJLY='SSJGBBJ' then '手输表价' when XLXSBJDMX_BJLY='JGBBJ' then '价格表表价' else ' ' end as XLXSBJDMX_BJLY ");
|
||
strSQL.AppendLine(" from XLXSBJDMX ");
|
||
strSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID ");
|
||
strSQL.AppendLine(" left join XLYSB on XLYSB_XLYSID = XLXSBJDMX_XLYSID ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) a on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID "+SqlXHLIST);
|
||
if (!bXSMX)
|
||
{
|
||
strSQL.AppendLine(" and 1 <> 1 ");
|
||
}
|
||
strSQL.AppendLine(" union all ");
|
||
strSQL.AppendLine(" select 0 as px0, 1 as px1,rtrim(isnull(XLXHB_CPYT,' ')) || '|' || rtrim(isnull(XLCPYT_CPYTMC,' '))");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" || '|' || TLCP ");
|
||
}
|
||
strSQL.AppendLine(" ||'(小计)' as HZFS,' ' as XLXSBJDMX_BJDID,99999 as XLXSBJDMX_XSSX, 99999 as XLXSBJDMX_XH, 99999 as OLD_XLXSBJDMX_XH, ' ' as XLXSBJDMX_XLXHID, ' ' as XLXSBJDMX_XLGGID, ' ' as XLXSBJDMX_XLBZID,' ' as XLXSBJDMX_DYDJID, ");
|
||
strSQL.AppendLine(" ' ' as XLXSBJDMX_XLYSID,' ' as XLXSBJDMX_BJCP, ' ' as XLXSBJDMX_JLDW, sum(XLXSBJDMX_BJSL) as XLXSBJDMX_BJSL, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_JGBBJ) as XLXSBJDMX_JGBBJ, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as CPJJJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_CPBJ) as XLXSBJDMX_CPBJ, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJJE) as XLXSBJDMX_BJJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJJE) as BJJEZB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_CLCB) as XLXSBJDMX_CLCB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as CLCBJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJDHQCLCB) as XLXSBJDMX_BJDHQCLCB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDHQCLCBJE, ");
|
||
strSQL.AppendLine(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix((sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) - sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB))/ sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * 100,2) end as BJLJJCL ,");
|
||
if (sJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) b on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB b on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(b.XLXHB_CPYT,' ')");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" and ISNULL(a.TLCP,' ') = ISNULL(b.TLCP,' ') ");
|
||
}
|
||
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
else if (sJCLLX.Equals("2") || sJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) b on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB b on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(b.XLXHB_CPYT,' ')");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" and ISNULL(a.TLCP,' ') = ISNULL(b.TLCP,' ') ");
|
||
}
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) b on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB b on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(b.XLXHB_CPYT,' ') ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" and ISNULL(a.TLCP,' ') = ISNULL(b.TLCP,' ') ");
|
||
}
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
|
||
if (sLJJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_CLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB)/sum(case when XLXSBJDMX_CLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" and ISNULL(a.TLCP,' ') = ISNULL(c.TLCP,' ') ");
|
||
}
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else if (sLJJCLLX.Equals("2"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" and ISNULL(a.TLCP,' ') = ISNULL(c.TLCP,' ') ");
|
||
}
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else if (sLJJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" and ISNULL(a.TLCP,' ') = ISNULL(c.TLCP,' ') ");
|
||
}
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) when 0 then 0 else RoundFix(sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB),4) *100 - 100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB c on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(c.XLXHB_CPYT,' ') ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" and ISNULL(a.TLCP,' ') = ISNULL(c.TLCP,' ') ");
|
||
}
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJ,sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJZJE, ");
|
||
if (sZDXJJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) d on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB d on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(d.XLXHB_CPYT,' ') ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" and ISNULL(a.TLCP,' ') = ISNULL(d.TLCP,' ') ");
|
||
}
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("2"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 -100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) d on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB d on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(d.XLXHB_CPYT,' ') ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" and ISNULL(a.TLCP,' ') = ISNULL(d.TLCP,' ') ");
|
||
}
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) d on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB d on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(d.XLXHB_CPYT,' ') ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" and ISNULL(a.TLCP,' ') = ISNULL(d.TLCP,' ') ");
|
||
}
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else 100 - RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) d on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB d on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(d.XLXHB_CPYT,' ') ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" and ISNULL(a.TLCP,' ') = ISNULL(d.TLCP,' ') ");
|
||
}
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("5"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) d on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB d on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 and ISNULL(a.XLXHB_CPYT,' ') = ISNULL(d.XLXHB_CPYT,' ') ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" and ISNULL(a.TLCP,' ') = ISNULL(d.TLCP,' ') ");
|
||
}
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else
|
||
strSQL.AppendLine(" 0 as XLXSBJDMX_ZDXJJCL ");
|
||
strSQL.AppendLine(" ,' ' as XLXSBJDMX_BJLY ");
|
||
strSQL.AppendLine(" from XLXSBJDMX ");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN (select XLXHB_XLXHID,XLXHB_CPYT, ");
|
||
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铜产品' ");
|
||
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " and isnull(XLXHB_DTCLID,' ') <> ' ' then '铝产品' ");
|
||
strSQL.AppendLine(" else '其他产品' end as TLCP from XLXHB where 1=1 ) a on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB a on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
}
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST);
|
||
if (!bXSXJ)
|
||
{
|
||
strSQL.AppendLine(" and 1 <> 1 ");
|
||
}
|
||
strSQL.AppendLine(" group by XLXHB_CPYT,XLCPYT_CPYTMC");
|
||
if (sHZFS.Equals("3"))
|
||
{
|
||
strSQL.AppendLine(" ,TLCP ");
|
||
}
|
||
if (bWGXJ)
|
||
{
|
||
strSQL.AppendLine(GetQuerySql_WGXJ(sJCLLX, sLJJCLLX, sZDXJJCLLX));
|
||
}
|
||
strSQL.AppendLine(" union all ");
|
||
strSQL.AppendLine(" select 1 as px0, 2 as px1,'合计:' as HZFS,' ' as XLXSBJDMX_BJDID,99999 as XLXSBJDMX_XSSX, 99999 as XLXSBJDMX_XH, 99999 as OLD_XLXSBJDMX_XH, ' ' as XLXSBJDMX_XLXHID, ' ' as XLXSBJDMX_XLGGID, ' ' as XLXSBJDMX_XLBZID,' ' as XLXSBJDMX_DYDJID, ");
|
||
strSQL.AppendLine(" ' ' as XLXSBJDMX_XLYSID,' ' as XLXSBJDMX_BJCP,' ' as XLXSBJDMX_JLDW, sum(XLXSBJDMX_BJSL) as XLXSBJDMX_BJSL, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_JGBBJ) as XLXSBJDMX_JGBBJ, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as CPJJJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_CPBJ) as XLXSBJDMX_CPBJ, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJJE) as XLXSBJDMX_BJJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJJE) as BJJEZB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_CLCB) as XLXSBJDMX_CLCB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as CLCBJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJDHQCLCB) as XLXSBJDMX_BJDHQCLCB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDHQCLCBJE, ");
|
||
strSQL.AppendLine(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix((sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) - sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB))/ sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * 100,2) end as BJLJJCL ,");
|
||
if (sJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
else if (sJCLLX.Equals("2") || sJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
|
||
if (sLJJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_CLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB)/sum(case when XLXSBJDMX_CLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else if (sLJJCLLX.Equals("2"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else if (sLJJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) when 0 then 0 else RoundFix(sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB),4) *100 - 100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJ,sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJZJE, ");
|
||
if (sZDXJJCLLX.Equals("1"))
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
|
||
else if (sZDXJJCLLX.Equals("2"))
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 -100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ <> 0) as XLXSBJDMX_ZDXJJCL ");
|
||
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0) as XLXSBJDMX_ZDXJJCL ");
|
||
else if (sZDXJJCLLX.Equals("4"))
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else 100 - RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ <> 0) as XLXSBJDMX_ZDXJJCL ");
|
||
else if (sZDXJJCLLX.Equals("5"))
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ <> 0) as XLXSBJDMX_ZDXJJCL ");
|
||
else
|
||
strSQL.AppendLine(" 0 as XLXSBJDMX_ZDXJJCL ");
|
||
strSQL.AppendLine(" ,' ' as XLXSBJDMX_BJLY ");
|
||
strSQL.AppendLine(" from XLXSBJDMX ");
|
||
strSQL.AppendLine(" LEFT JOIN XLXHB on XLXHB_XLXHID =XLXSBJDMX_XLXHID ");
|
||
strSQL.AppendLine(" LEFT JOIN XLCPYT ON XLCPYT_CPYT = XLXHB_CPYT ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID "+SqlXHLIST);
|
||
if (!bXSXJ)
|
||
strSQL.AppendLine(" order by px0, px1,XLXSBJDMX_XSSX, XLXSBJDMX_XH ");
|
||
else
|
||
strSQL.AppendLine(" order by px0,HZFS, px1,XLXSBJDMX_XSSX, XLXSBJDMX_XH ");
|
||
}
|
||
#endregion
|
||
entity.Param.Clear();
|
||
entity.Param.Add("XLXSBJDMX_BJDID", sBJDID);
|
||
|
||
|
||
txtCLCBZJE.Value = 0;
|
||
txtCPJJZJE.Value = 0;
|
||
txtZJE.Value = 0;
|
||
txtLRL.Value = 0;
|
||
txtCLCBLRL.Value = 0;
|
||
txtZDXJZJE.Value = 0;
|
||
txtZDXJLRL.Value = 0;
|
||
txtBJLJJCL.Value = 0;
|
||
SQL.Clear();
|
||
SQL.Add(strSQL.ToString());
|
||
SQL.ParamByName("XLXSBJDMX_BJDID").Value = sBJDID;
|
||
string ss = SQL.Text;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i]["HZFS"].ToString().Trim().Contains("合计"))
|
||
{
|
||
txtCLCBZJE.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["CLCBJE"].ToString().Trim());
|
||
txtBJDHQCLCBZJE.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["BJDHQCLCBJE"].ToString().Trim());
|
||
txtCPJJZJE.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["CPJJJE"].ToString().Trim());
|
||
txtZJE.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSBJDMX_BJJE"].ToString().Trim());
|
||
txtZDXJZJE.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSBJDMX_ZDXJZJE"].ToString().Trim());
|
||
//txtBJLJJCL.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["BJLJJCL"].ToString().Trim());
|
||
double HJBJLJJCL = NumberUtils.RoundX(CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["BJLJJCL"].ToString().Trim()), 2);
|
||
double HJLRL = NumberUtils.RoundX(CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSBJDMX_JGBBJJCL"].ToString().Trim()),2);
|
||
double HJCLCBJCL = NumberUtils.RoundX(CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSBJDMX_CLCBJCL"].ToString().Trim()),2);
|
||
double HJZDXJJCL = NumberUtils.RoundX(CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSBJDMX_ZDXJJCL"].ToString().Trim()),2);
|
||
double dBJLJJCL = 0, dLRL = 0, dCLCBJCL = 0, dZDXJJCL = 0;
|
||
GetBJDLRL(sBJDID, ref dLRL, ref dCLCBJCL, ref dZDXJJCL, ref dBJLJJCL);
|
||
txtLRL.Value = dLRL;
|
||
txtCLCBLRL.Value = dCLCBJCL;
|
||
txtZDXJLRL.Value = dZDXJJCL;
|
||
txtBJLJJCL.Value = dBJLJJCL;
|
||
if (Math.Abs(HJLRL - dLRL) > 0.001)
|
||
lblLRL.ForeColor = Color.Red;
|
||
else
|
||
lblLRL.ForeColor = Color.Black;
|
||
if (Math.Abs(HJCLCBJCL - dCLCBJCL) > 0.001)
|
||
lblCLCBLRL.ForeColor = Color.Red;
|
||
else
|
||
lblCLCBLRL.ForeColor = Color.Black;
|
||
if (Math.Abs(HJZDXJJCL - dZDXJJCL) > 0.001)
|
||
lblZDXJLRL.ForeColor = Color.Red;
|
||
else
|
||
lblZDXJLRL.ForeColor = Color.Black;
|
||
if (Math.Abs(HJBJLJJCL - dBJLJJCL) > 0.001)
|
||
lblBJLJJCL.ForeColor = Color.Red;
|
||
else
|
||
lblBJLJJCL.ForeColor = Color.Black;
|
||
}
|
||
}
|
||
}
|
||
return strSQL.ToString();
|
||
}
|
||
//直接查询报价单利润率字段
|
||
private void GetBJDLRL(string sBJDID, ref double dLRL, ref double dCLCBJCL, ref double dZDXJJCL, ref double dBJLJJCL)
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add("select XLXSBJD_JGBBJLJJCL,XLXSBJD_LRL,XLXSBJD_CLCBJCL,XLXSBJD_ZDXJJCL from XLXSBJD where XLXSBJD_BJDID = :pBJDID ");
|
||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
dLRL = NumberUtils.RoundX(CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJD_LRL"].ToString().Trim()),2);
|
||
dCLCBJCL = NumberUtils.RoundX(CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJD_CLCBJCL"].ToString().Trim()),2);
|
||
dZDXJJCL = NumberUtils.RoundX(CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJD_ZDXJJCL"].ToString().Trim()),2);
|
||
dBJLJJCL = NumberUtils.RoundX(CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJD_JGBBJLJJCL"].ToString().Trim()), 2);
|
||
}
|
||
}
|
||
|
||
private string GetQuerySql_HZFS4(bool bXSMX, bool bXSXJ, string sJCLLX, string sLJJCLLX, string sZDXJJCLLX)
|
||
{
|
||
string sXHList = PageParam.GetRTrimString("XHList");
|
||
string SqlXHLIST = "";
|
||
if (!sXHList.Equals(""))
|
||
SqlXHLIST = " and XLXSBJDMX_XH in(" + sXHList + ") ";
|
||
|
||
StringBuilder strSQL = new StringBuilder();
|
||
strSQL.AppendLine(" union all ");
|
||
strSQL.AppendLine(" select 0 as px0, 1 as px1,1 as px2,'外购(小计)' as HZFS, ");
|
||
strSQL.AppendLine(" ' ' as XLXSBJDMX_BJDID,99999 as XLXSBJDMX_XSSX,99999 as XLXSBJDMX_XH, 99999 as OLD_XLXSBJDMX_XH, ' ' as XLXSBJDMX_XLXHID, ' ' as XLXSBJDMX_XLGGID, ' ' as XLXSBJDMX_XLBZID,' ' as XLXSBJDMX_DYDJID, ");
|
||
strSQL.AppendLine(" ' ' as XLXSBJDMX_XLYSID,' ' as XLXSBJDMX_BJCP,' ' as XLXSBJDMX_JLDW, sum(XLXSBJDMX_BJSL) as XLXSBJDMX_BJSL, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_JGBBJ) as XLXSBJDMX_JGBBJ, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as CPJJJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_CPBJ) as XLXSBJDMX_CPBJ, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJJE) as XLXSBJDMX_BJJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJJE) as BJJEZB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_CLCB) as XLXSBJDMX_CLCB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as CLCBJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJDHQCLCB) as XLXSBJDMX_BJDHQCLCB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDHQCLCBJE, ");
|
||
strSQL.AppendLine(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix((sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) - sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB))/ sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * 100,2) end as BJLJJCL ,");
|
||
if (sJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
else if (sJCLLX.Equals("2") || sJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
|
||
if (sLJJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_CLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB)/sum(case when XLXSBJDMX_CLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else if (sLJJCLLX.Equals("2"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else if (sLJJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) when 0 then 0 else RoundFix(sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB),4) *100 - 100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJ,sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJZJE, ");
|
||
if (sZDXJJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("2"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100-100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else 100 - RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("5"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else
|
||
strSQL.AppendLine(" 0 as XLXSBJDMX_ZDXJJCL ");
|
||
strSQL.AppendLine(" ,' ' as XLXSBJDMX_BJLY ");
|
||
strSQL.AppendLine(" from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST);
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
if (!bXSXJ)
|
||
{
|
||
strSQL.AppendLine(" and 1 <> 1 ");
|
||
}
|
||
strSQL.AppendLine(" group by XLXSBJDMX_BJDID");
|
||
return strSQL.ToString();
|
||
}
|
||
|
||
private string GetQuerySql_WGXJ(string sJCLLX, string sLJJCLLX, string sZDXJJCLLX)
|
||
{
|
||
string sXHList = PageParam.GetRTrimString("XHList");
|
||
string SqlXHLIST = "";
|
||
if (!sXHList.Equals(""))
|
||
SqlXHLIST = " and XLXSBJDMX_XH in(" + sXHList + ") ";
|
||
|
||
StringBuilder strSQL = new StringBuilder();
|
||
strSQL.AppendLine(" union all ");
|
||
strSQL.AppendLine(" select 0 as px0, 2 as px1,'外购(小计)' as HZFS, ");
|
||
strSQL.AppendLine(" ' ' as XLXSBJDMX_BJDID,99999 as XLXSBJDMX_XSSX,99999 as XLXSBJDMX_XH, 99999 as OLD_XLXSBJDMX_XH, ' ' as XLXSBJDMX_XLXHID, ' ' as XLXSBJDMX_XLGGID, ' ' as XLXSBJDMX_XLBZID,' ' as XLXSBJDMX_DYDJID, ");
|
||
strSQL.AppendLine(" ' ' as XLXSBJDMX_XLYSID,' ' as XLXSBJDMX_BJCP,' ' as XLXSBJDMX_JLDW, sum(XLXSBJDMX_BJSL) as XLXSBJDMX_BJSL, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_JGBBJ) as XLXSBJDMX_JGBBJ, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) as CPJJJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_CPBJ) as XLXSBJDMX_CPBJ, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJJE) as XLXSBJDMX_BJJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJJE) as BJJEZB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_CLCB) as XLXSBJDMX_CLCB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as CLCBJE, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJDHQCLCB) as XLXSBJDMX_BJDHQCLCB, ");
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) as BJDHQCLCBJE, ");
|
||
strSQL.AppendLine(" case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix((sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) - sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB))/ sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * 100,2) end as BJLJJCL ,");
|
||
if (sJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
else if (sJCLLX.Equals("2") || sJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_JGBBJJCE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_JGBBJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_JGBBJJCL, ");
|
||
}
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_JGBBJJCE) as XLXSBJDMX_JGBBJJCE, ");
|
||
if (sLJJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_CLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB)/sum(case when XLXSBJDMX_CLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ<>'Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else if (sLJJCLLX.Equals("2"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else if (sLJJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end),4) *100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
else
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB) when 0 then 0 else RoundFix(sum(case when XLXSBJDMX_BJDHQCLCB = 0 then 0 else XLXSBJDMX_BJJE end)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB),4) *100 - 100 end as XLXSBJDMX_CLCBJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_CLCBJCL, ");
|
||
}
|
||
strSQL.AppendLine(" sum(XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJ,sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as XLXSBJDMX_ZDXJZJE, ");
|
||
if (sZDXJJCLLX.Equals("1"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else 100-RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("2"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJJE)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100-100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("3"))//SQL语句自测:刘青棚 2025/03/31 11:00:00
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJJE) when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/sum(XLXSBJDMX_BJJE),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("4"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) when 0 then 0 else 100 - RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST + " and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else if (sZDXJJCLLX.Equals("5"))
|
||
{
|
||
strSQL.AppendLine(" (select case sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ") when 0 then 0 else RoundFix(sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ)/(sum(XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ*" + XLBJDUtils.sCJXS.ToString() + ")),4) *100 end as XLXSBJDMX_ZDXJJCL from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID " + SqlXHLIST + "and XLXSBJDMX_BJJE <> 0 ");
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" ) as XLXSBJDMX_ZDXJJCL ");
|
||
}
|
||
else
|
||
strSQL.AppendLine(" 0 as XLXSBJDMX_ZDXJJCL ");
|
||
strSQL.AppendLine(" ,' ' as XLXSBJDMX_BJLY ");
|
||
strSQL.AppendLine(" from XLXSBJDMX ");
|
||
strSQL.AppendLine(" where XLXSBJDMX_BJDID = :XLXSBJDMX_BJDID" + SqlXHLIST );
|
||
strSQL.AppendLine(" and XLXSBJDMX_WGCPBZ='Y' ");
|
||
strSQL.AppendLine(" group by XLXSBJDMX_BJDID");
|
||
return strSQL.ToString();
|
||
}
|
||
|
||
private void HidJSLM(string sHidJSLMList)
|
||
{
|
||
sHidJSLMList += ",";
|
||
if (sHidJSLMList.Contains("XLXSBJDMX_BJDHQCLCB,"))
|
||
{
|
||
lblBJDHQCLCBZJE.Visible = false;
|
||
txtBJDHQCLCBZJE.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_BJDHQCLCB").Visible = false;
|
||
grdGrid.FindColumnByFieldName("BJDHQCLCBJE").Visible = false;
|
||
}
|
||
if (sHidJSLMList.Contains("XLXSBJDMX_CLCB,"))
|
||
{
|
||
lblCLCBZJE.Visible = false;
|
||
txtCLCBZJE.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_CLCB").Visible = false;
|
||
grdGrid.FindColumnByFieldName("CLCBJE").Visible = false;
|
||
}
|
||
if (sHidJSLMList.Contains("XLXSBJDMX_JGBBJ,"))
|
||
{
|
||
lblCPJJZJE.Visible = false;
|
||
txtCPJJZJE.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJ").Visible = false;
|
||
grdGrid.FindColumnByFieldName("CPJJJE").Visible = false;
|
||
}
|
||
if (sHidJSLMList.Contains("XLXSBJDMX_CPBJ,"))
|
||
{
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_CPBJ").Visible = false;
|
||
}
|
||
if (sHidJSLMList.Contains("XLXSBJDMX_BJJE,"))
|
||
{
|
||
lblZJE.Visible = false;
|
||
txtZJE.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_BJJE").Visible = false;
|
||
}
|
||
if (sHidJSLMList.Contains("XLXSBJDMX_ZDXJ,"))
|
||
{
|
||
lblZDXJZJE.Visible = false;
|
||
txtZDXJZJE.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_ZDXJ").Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_ZDXJZJE").Visible = false;
|
||
}
|
||
if (sHidJSLMList.Contains("XLXSBJDMX_CLCBJCL,"))
|
||
{
|
||
lblCLCBLRLLP.Visible = false;
|
||
lblCLCBLRL.Visible = false;
|
||
txtCLCBLRL.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_CLCBJCL").Visible = false;
|
||
}
|
||
if (sHidJSLMList.Contains("XLXSBJDMX_JGBBJJCL,"))
|
||
{
|
||
lblLRLP.Visible = false;
|
||
lblLRL.Visible = false;
|
||
txtLRL.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_JGBBJJCL").Visible = false;
|
||
}
|
||
if (sHidJSLMList.Contains("XLXSBJDMX_ZDXJJCL,"))
|
||
{
|
||
lblZDXJLRLP.Visible = false;
|
||
lblZDXJLRL.Visible = false;
|
||
txtZDXJLRL.Visible = false;
|
||
grdGrid.FindColumnByFieldName("XLXSBJDMX_ZDXJJCL").Visible = false;
|
||
}
|
||
if (sHidJSLMList.Contains("XLXSBJDMX_JGBBJLJJCL,"))
|
||
{
|
||
lblBJLJJCL.Visible = false;
|
||
txtBJLJJCL.Visible = false;
|
||
lblBJLJ.Visible = false;
|
||
grdGrid.FindColumnByFieldName("BJLJJCL").Visible = false;
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|