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

2660 lines
138 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GThinking.N_MODEL.Page;
using GThinking.N_MISPRO.Utility;
using GThinking.N_MISPRO.Data;
using GThinking.N_CONTROL;
using System.Collections.Generic;
using System.Text;
using GThinking.N_MISPRO.TableCache;
using GThinking.N_MISPRO;
using GThinking.N_MISPROAS.MISproAS;
using GThinking.N_WORKFLOW;
using GThinking.N_PUBLIC;
namespace GThinking.N_XLXSBJ
{
public partial class XLXSBJCXList : SingleGridBase
{
XLXSBJCX entity = new XLXSBJCX();
XLXSBJCX_M queryentity = new XLXSBJCX_M();
static Dictionary<string, string> dicBJDYZMC = new Dictionary<string, string>();
static Dictionary<string, string> dicBJDYZJJFS = new Dictionary<string, string>();
static List<string> lstTJYS = new List<string>();
static string sCXDX = "";
static string sCurBJFLID = "";
static int iXSWS = 0;
static bool JcModule = false;
static string sTcpList = "";
static string sLcpList = "";
static string sTLcpList = "";
static bool bXSBJDHQLJ = false;
static bool bXSLJ = false;
static bool bXSJCL = false;
static bool bXSLJJCL = false;
static bool bXSJGBBJJCE = false;
static bool bXSZDXJ = false;
static bool bXSJSJG = false;
static bool bXSTZJG = false;
static bool bXSTZJE = false;
static string sCPBJMRXSWS = "";
static string sMXBH = "";
static string sTBJCLID = "";
static string sLBJCLID = "";
static int iNumberDecimalPlace = 0;
static string sKHLY = "";
static bool QYXZQH = false;
private string sBJFLID = "";
private string sTXY = "";
private string sKH = "";
private string sKHLXR = "";
private string sBJDLX = "";
private string sBJDID = "";
private string sXSQYID = "";
private string sSYDWID = "";
private int tmpXSWS = 0;
#region pageload 事件
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860069;
this.UMName = "线缆销售报价查询";
this.CurMaster = Master;
this.ModuleGV = this.grdContentGrid;
this.CurEntity = entity;
this.CurQueryEntity = queryentity;
this.sQueryURLTarget = "XLXSBJCXQuery.aspx";
this.sURLTarget = "";
this.PageHeight = 600;
this.PageWidth = 750;
if (!IsPostBack)
{
sBJDLX = PageParam.GetRTrimString("FromBJDINFO");
if (!sBJDLX.Equals("CFBJ"))
{
DateTime dtNow = DateTime.Now;
string dateNow = dtNow.ToShortDateString().Trim();
string dateFirst = dateNow.Split('-')[0] + "-" + dateNow.Split('-')[1] + "-01";
CurQueryEntity.FieldByName("BJRQS").Value = dateFirst;
CurQueryEntity.FieldByName("BJRQZ").Value = dateNow;
}
CurQueryEntity.FieldByName("PXFS").Value = "C";
}
this.Master.EnableCopyBtn = false;
this.Master.EnableDeleteBtn = false;
this.Master.EnableNewBtn = false;
this.Master.EnableEditBtn = false;
this.Master.EnableViewBtn = false;
base.DataKeyNames = new string[] { "XLXSBJD_BJDID","XLXSBJDMX_XH" };
InitToolBtn();
base.InitPage();
if (!IsPostBack)
{
//设置隐藏控件IsXJY、IsSJY、IsHJY
IsXJY.Value = "N";
IsSJY.Value = "N";
IsHJY.Value = "N";
TYGXX tRYXX = TRYXX.GetRYXXByGH(tSession.UserId);
string sXJYROLEID = string.Empty;
string sSJYROLEID = string.Empty;
string sHJYROLEID = string.Empty;
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_XJYROLEID))
sXJYROLEID = pzxx.XLXSBJPZ_XJYROLEID;
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_SJYROLEID))
sSJYROLEID = pzxx.XLXSBJPZ_SJYROLEID;
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_HJYROLEID))
sHJYROLEID = pzxx.XLXSBJPZ_HJYROLEID;
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sXJYROLEID), tRYXX.RYID)))
{
IsXJY.Value = "Y";
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sSJYROLEID), tRYXX.RYID)))
{
IsSJY.Value = "Y";
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from USERROLE where URUSERID='{0}' and " + CMISproDataBase.GetWhereEqual("URROLEID", sHJYROLEID), tRYXX.RYID)))
{
IsHJY.Value = "Y";
}
}
InitGridView();
if (!IsPostBack)
{
if (!PageParam.GetRTrimString("FromBJDINFO").Trim().Equals(""))
{
Master_OnStandardQuery(null, null);
}
else
{
if (IsDefaultExecute)
{
Master_OnStandardQuery(null, null);
}
}
}
}
#endregion
#region 模板事件继承
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetQuerySQL().ToString();
base.Master_OnStandardQuery(sender, e);
entity.GridDataBind(grdContentGrid, tSession);
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
base.InitEntityByCondition();
entity.EntityTable.QuerySelSql = GetQuerySQL().ToString();
grdContentGrid.SelectedIndex = -1;
base.moduleGV_PageIndexChanging(sender, e);
}
protected override void moduleGV_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string sBJDID = grdContentGrid.DataKeys[e.Row.RowIndex]["XLXSBJD_BJDID"].ToString().Trim();
LinkPageParam.UMID = 100860000;
LinkPageParam.UrlPath = "XLBJDInfo.aspx";
LinkPageParam.AddString("XLXSBJD_BJDID", sBJDID);
//
string sCXDX = CurQueryEntity.FieldByName("CXDX").Value.Trim();
}
base.moduleGV_RowDataBound(sender, e);
}
#endregion
#region 自定义函数
private string AddCondition_A(string sFrom)
{
StringBuilder sSQL = new StringBuilder();
sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("XLXSBJD_BJRQ",
CurQueryEntity.FieldByName("BJRQS").Value.ToString().Trim(),
CurQueryEntity.FieldByName("BJRQZ").Value.ToString().Trim(),
DateTimeType.dtDate, DateTimeType.dtDate));
if (!CurQueryEntity.FieldByName("BJFLID").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJFLID", CurQueryEntity.FieldByName("BJFLID").Value.Trim()));
}
if (!CurQueryEntity.FieldByName("STATE").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_WPID", CurQueryEntity.FieldByName("STATE").Value.Trim()));
}
if (!string.IsNullOrEmpty(GetOption("HJU006").Trim()))
{
sSQL.AppendLine(" and (" + CMISproDataBase.GetWhereEqual("XLXSBJD_XSBMID", GetOption("HJU006").Trim()));
sSQL.AppendLine(" or isnull(XLXSBJD_XSBMID, ' ') = ' ')");
}
sSQL.AppendLine(" and isnull(XLXSBJD_YWLX,' ') = ' ' ");
return sSQL.ToString();
}
//通用查询条件---查询语句调用是为1
private string AddCondition(string sFrom)
{
StringBuilder sSQL = new StringBuilder();
if (!CurQueryEntity.FieldByName("DCBJCXSY").Value.ToString().Trim().ToUpper().Equals("TRUE"))
sSQL.AppendLine(" and ISNULL(XLXSBJD_TJBZ,'N') = 'Y' ");
if (!CurQueryEntity.FieldByName("FKZT").Value.Trim().Equals(""))
{
if (CurQueryEntity.FieldByName("FKZT").Value.Trim().Equals("未反馈"))
{
sSQL.AppendLine(" and isnull(TBBJFK_TBID, ' ') = ' ' ");
}
else if (CurQueryEntity.FieldByName("FKZT").Value.Trim().Equals("已反馈"))
{
sSQL.AppendLine(" and isnull(TBBJFK_TBID, ' ') <> ' ' ");
}
}
//反馈日期
sSQL.AppendLine(CMISproDataBase.GetTimeConditionSQL("TBBJFK_FKRQ",
CurQueryEntity.FieldByName("FKRQS").Value.ToString().Trim(),
CurQueryEntity.FieldByName("FKRQZ").Value.ToString().Trim(),
DateTimeType.dtDate, DateTimeType.dtDate));
if (!CurQueryEntity.FieldByName("BJDID").Value.Trim().Equals(""))
{
if (CurQueryEntity.FieldByName("BJDIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE"))
{
sSQL.AppendLine(" and XLXSBJD_BJDID = :pBJDIDJQ ");
if (!entity.Param.ContainsKey("pBJDIDJQ"))
{
entity.Param.Add("pBJDIDJQ", CurQueryEntity.FieldByName("BJDID").Value.Trim());
}
}
else
{
sSQL.AppendLine(" and XLXSBJD_BJDID like :pBJDID ");
if (!entity.Param.ContainsKey("pBJDID"))
{
entity.Param.Add("pBJDID", "%" + CurQueryEntity.FieldByName("BJDID").Value.Trim() + "%");
}
}
}
if (!CurQueryEntity.FieldByName("XSDW").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXSBJD_SYDWID = :pXSDWID ");
entity.Param.Add("pXSDWID", CurQueryEntity.FieldByName("XSDW").Value.Trim());
}
if (!CurQueryEntity.FieldByName("XSQY").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXSBJD_XSQYID = :pXSQYID ");
entity.Param.Add("pXSQYID", CurQueryEntity.FieldByName("XSQY").Value.Trim());
}
if (!CurQueryEntity.FieldByName("XSBM").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXSBJD_XSBMID = :pXSBMID ");
entity.Param.Add("pXSBMID", CurQueryEntity.FieldByName("XSBM").Value.Trim());
}
if (!CurQueryEntity.FieldByName("SQRGH").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_SQRGH", CurQueryEntity.FieldByName("SQRGH").Value.Trim()));
}
if (!CurQueryEntity.FieldByName("TXY").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXSBJD_TXY = :pTXY ");
if (!entity.Param.ContainsKey("pTXY"))
{
entity.Param.Add("pTXY", CurQueryEntity.FieldByName("TXY").Value.Trim());
}
}
if (!CurQueryEntity.FieldByName("KH").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXSBJD_KH like :pKH ");
if (!entity.Param.ContainsKey("pKH"))
{
entity.Param.Add("pKH", "%" + CurQueryEntity.FieldByName("KH").Value.Trim() + "%");
}
}
if (!CurQueryEntity.FieldByName("KHLXR").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXSBJD_KHLXR like :pKHLXR ");
if (!entity.Param.ContainsKey("pKHLXR"))
{
entity.Param.Add("pKHLXR", "%" + CurQueryEntity.FieldByName("KHLXR").Value.Trim() + "%");
}
}
if (!CurQueryEntity.FieldByName("XM").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXSBJD_XMMC like :pXM ");
if (!entity.Param.ContainsKey("pXM"))
{
entity.Param.Add("pXM", "%" + CurQueryEntity.FieldByName("XM").Value.Trim() + "%");
}
}
if (!CurQueryEntity.FieldByName("FKQX").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXSBJD_FKQXNR like :pFKQX ");
if (!entity.Param.ContainsKey("pFKQX"))
{
entity.Param.Add("pFKQX", "%" + CurQueryEntity.FieldByName("FKQX").Value.Trim() + "%");
}
}
return sSQL.ToString();
}
//主表相关限制条件---查询语句调用是为Qry
private string AddConditionBJD(string sFrom)
{
//entity.Param.Clear();
StringBuilder sSQL = new StringBuilder();
if (!CurQueryEntity.FieldByName("ZB").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and (1<>1 ");
if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("1"))
{
sSQL.AppendLine(" or isnull(XLXSBJD_ZB,'N') = 'Y' ");
}
else if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("0"))
{
sSQL.AppendLine(" or (isnull(XLXSBJD_ZB,'N') = 'N' AND EXISTS(SELECT 1 FROM XLXSBJDMX WHERE XLXSBJDMX_BJDID=XLXSBJD_BJDID AND XLXSBJDMX_ZB = 'N')) ");
}
else if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("2"))
{
sSQL.AppendLine(" or (isnull(XLXSBJD_ZB,'N') = 'N' AND NOT EXISTS(SELECT 1 FROM XLXSBJDMX WHERE XLXSBJDMX_BJDID=XLXSBJD_BJDID AND XLXSBJDMX_ZB IN ('N','Q'))) ");
}
else if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("3"))
{
sSQL.AppendLine(" or (isnull(XLXSBJD_ZB,'N') = 'N' AND NOT EXISTS(SELECT 1 FROM XLXSBJDMX WHERE XLXSBJDMX_BJDID=XLXSBJD_BJDID AND XLXSBJDMX_ZB IN ('N','F')))");
}
sSQL.AppendLine(" ) ");
}
//报价金额
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJZJES").Value.Trim()) && !CurQueryEntity.FieldByName("BJZJES").Value.Trim().Equals("0"))
{
sSQL.AppendLine( string.Format(" and XLXSBJD_ZJE >={0} ", CurQueryEntity.FieldByName("BJZJES").Value.Trim()));
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJZJEZ").Value.Trim()) && !CurQueryEntity.FieldByName("BJZJEZ").Value.Trim().Equals("0"))
{
sSQL.AppendLine(string.Format(" and XLXSBJD_ZJE <={0} ", CurQueryEntity.FieldByName("BJZJEZ").Value.Trim()));
}
//主表查询时按报价单明细调价因子平均值过滤
for (int i = 1; i <= 20; i++)
{
string sNo = i.ToString("00");
string sFieldS = "TJYZ" + sNo + "S";
string sFieldZ = "TJYZ" + sNo + "Z";
string sValueS = CurQueryEntity.FieldByName(sFieldS).Value.Trim();
string sValueZ = CurQueryEntity.FieldByName(sFieldZ).Value.Trim();
string sColumn = "TZYZ_BJ" + sNo;
if (!string.IsNullOrEmpty(sValueS) && !sValueS.Equals("0"))
{
string sParam = "pBJD" + sFieldS;
sSQL.AppendLine(" and isnull(" + sColumn + ",0) >= :" + sParam + " ");
if (!entity.Param.ContainsKey(sParam))
{
entity.Param.Add(sParam, sValueS);
}
}
if (!string.IsNullOrEmpty(sValueZ) && !sValueZ.Equals("0"))
{
string sParam = "pBJD" + sFieldZ;
sSQL.AppendLine(" and " + sColumn + " <= :" + sParam + " ");
if (!entity.Param.ContainsKey(sParam))
{
entity.Param.Add(sParam, sValueZ);
}
}
}
//增加限制,以防止明细数据为空
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim())
|| !string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim())
|| !string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLBZID").Value.Trim())
|| !string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim())
|| !string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJCP").Value.Trim())
|| !CurQueryEntity.FieldByName("CPYT").Value.Trim().Equals("")
|| !CurQueryEntity.FieldByName("CPML").Value.Trim().Equals("") )
{
sSQL.AppendLine(" and XLXSBJD_BJDID in ( ");
sSQL.AppendLine(" select distinct XLXSBJDMX_BJDID from XLXSBJDMX ");
sSQL.AppendLine(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID ");
sSQL.AppendLine(" left join XLXSBJFL on XLXSBJFL_BJFLID = XLXSBJD_BJFLID ");
sSQL.AppendLine(" left join TBBJFK on TBBJFK_BJDID=XLXSBJDMX_BJDID ");
sSQL.AppendLine(" left join XLXHB on XLXHB_XLXHID = XLXSBJDMX_XLXHID ");
sSQL.AppendLine(" left join XLCPYT on XLCPYT_CPYT = XLXHB_CPYT ");
sSQL.AppendLine(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID ");
sSQL.AppendLine(" left join XLXSBJXHML A on A.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and A.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
sSQL.AppendLine(" left join XLXSBJXHML B on B.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and B.XLXSBJXHML_DYDJID = ' ' ");
sSQL.AppendLine(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end ");
sSQL.AppendLine(" where 1=1");
sSQL.AppendLine(" and XLXSBJDMX_BJDID = XLXSBJD_BJDID ");
sSQL.AppendLine(AddConditionBJDMX("BJD"));
sSQL.AppendLine(" )");
}
return sSQL.ToString();
}
//明细表相关限制条件---查询语句调用是为Qry,主记录调用是BJD
private string AddConditionBJDMX(string sFrom)
{
string sBJU003 = GetOption(100860000, "BJU003").Trim();
Dictionary<string, double> dicLenJLDWTD = XLBJDUtils.GetLenJLDWTD();
//entity.Param.Clear();
StringBuilder sSQL = new StringBuilder();
if (!CurQueryEntity.FieldByName("ZB").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and (1<>1 ");
if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("1"))
{
sSQL.AppendLine(" or isnull(XLXSBJDMX_ZB,' ') in ('Y','P')");
}
else if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("0"))
{
sSQL.AppendLine(" or isnull(XLXSBJDMX_ZB,' ') = 'N'");
}
else if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("2"))
{
sSQL.AppendLine(" or isnull(XLXSBJDMX_ZB,' ') = 'F'");
}
else if (CurQueryEntity.FieldByName("ZB").Value.Trim().Contains("3"))
{
sSQL.AppendLine(" or isnull(XLXSBJDMX_ZB,' ') = 'Q' ");
}
sSQL.AppendLine(" ) ");
}
//型号模糊
if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE"))
{
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim()))
{
sSQL.AppendLine(" \r\n and XLXSBJDMX_XLXHID like :pXLXHID ");
if (!entity.Param.ContainsKey("pXLXHID"))
{
entity.Param.Add("pXLXHID", "%" + CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%");
}
}
}
else
{
string sXLXHID = CurQueryEntity.FieldByName("XLXHID").Value.Trim();
if (!string.IsNullOrEmpty(sXLXHID))
{
string[] sTemp = sXLXHID.Split(new Char[] { ',',',' }, StringSplitOptions.RemoveEmptyEntries);
if (sTemp.Length >= 2)
{
sSQL.AppendLine(" \r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_XLXHID", sXLXHID));
}
else
{
sSQL.AppendLine(" \r\n and XLXSBJDMX_XLXHID = :pXLXHID ");
if (!entity.Param.ContainsKey("pXLXHID"))
{
entity.Param.Add("pXLXHID", sXLXHID);
}
}
}
}
//规格模糊
if (!CurQueryEntity.FieldByName("XLGGIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE"))
{
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim()))
{
sSQL.AppendLine(" and XLXSBJXLGGTHB_XLGGIDCH like :pXLGGID ");
if (!entity.Param.ContainsKey("pXLGGID"))
{
entity.Param.Add("pXLGGID", "%" + CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×") + "%");
}
}
}
else
{
string sXLGGID = CurQueryEntity.FieldByName("XLGGID").Value.Trim();
if (!string.IsNullOrEmpty(sXLGGID))
{
string[] sTemp = sXLGGID.Split(new Char[] { ',',',' }, StringSplitOptions.RemoveEmptyEntries);
if (sTemp.Length >= 2)
{
sSQL.AppendLine(" and " + XLBJDUtils.GetWhereEqual(" XLXSBJXLGGTHB_XLGGIDCH", sXLGGID.Replace('*', '×')));
}
else
{
sSQL.AppendLine(" and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID ");
if (!entity.Param.ContainsKey("pXLGGID"))
{
entity.Param.Add("pXLGGID", CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×"));
}
}
}
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLBZID").Value.Trim()))
{
sSQL.AppendLine(" and XLXSBJDMX_XLBZID = :pXLBZID ");
if (!entity.Param.ContainsKey("pXLBZID"))
{
entity.Param.Add("pXLBZID", CurQueryEntity.FieldByName("XLBZID").Value.Trim());
}
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJID").Value.Trim()))
{
sSQL.AppendLine(" and XLXSBJDMX_DYDJID = :pDYDJID ");
if (!entity.Param.ContainsKey("pDYDJID"))
{
entity.Param.Add("pDYDJID", CurQueryEntity.FieldByName("DYDJID").Value.Trim());
}
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("BJCP").Value.Trim()))
{
sSQL.AppendLine(" \r\n and XLXSBJDMX_BJCP like :pBJCP ");
if (!entity.Param.ContainsKey("pBJCP"))
{
entity.Param.Add("pBJCP", "%" + CurQueryEntity.FieldByName("BJCP").Value.Trim() + "%");
}
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DZSC").Value.Trim()))
{
if (CurQueryEntity.FieldByName("DZSC").Value.Trim().Equals("Y"))
sSQL.AppendLine(" and isnull(XLXSBJDMX_DZSC,'N')='Y' ");
else
sSQL.AppendLine(" and isnull(XLXSBJDMX_DZSC,'N')='N' ");
}
if (!CurQueryEntity.FieldByName("CPYT").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXHB_CPYT = :pCPYT ");
if (!entity.Param.ContainsKey("pCPYT"))
{
entity.Param.Add("pCPYT", CurQueryEntity.FieldByName("CPYT").Value.Trim());
}
}
if (!CurQueryEntity.FieldByName("CPML").Value.Trim().Equals(""))
{
sSQL.AppendLine(" and XLXSCPML_CPMLID = :pCPMLID ");
if (!entity.Param.ContainsKey("pCPMLID"))
{
entity.Param.Add("pCPMLID", CurQueryEntity.FieldByName("CPML").Value.Trim());
}
}
if (!CurQueryEntity.FieldByName("BJSLS").Value.Trim().Equals("") && !CurQueryEntity.FieldByName("BJSLS").Value.Trim().Equals("0"))
{
sSQL.AppendLine(" and (case ");
sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('Kg', '千克', '公斤') then (case when isnull(XLXSCLQD_CLZL,0.0)=0 then 0 else 1.0/RoundFix(isnull(XLXSCLQD_CLZL,0.0),6) end)");
sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('T', '吨') then (case when isnull(XLXSCLQD_CLZL,0.0)=0 then 0 else 1.0/RoundFix(isnull(XLXSCLQD_CLZL,0.0),6)*1000 end)");
if (sBJU003.ToUpper().Equals("KM") || sBJU003.ToUpper().Equals("千米"))
{
sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('M', '米') then 0.001");
sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('Km', '千米') then 1.0");
foreach (string sKey in dicLenJLDWTD.Keys)
{
sSQL.AppendLine(string.Format(" when XLXSBJDMX_JLDW='{0}' then 0.001*{1} ", sKey, dicLenJLDWTD[sKey]));
}
}
else if (sBJU003.ToUpper().Equals("米") || sBJU003.ToUpper().Equals("M"))
{
sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('M', '米') then 1.0");
sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('Km', '千米') then 1000.0");
foreach (string sKey in dicLenJLDWTD.Keys)
{
sSQL.AppendLine(string.Format(" when XLXSBJDMX_JLDW='{0}' then {1} ", sKey, dicLenJLDWTD[sKey]));
}
}
sSQL.AppendLine(" else 1.0 end ) * XLXSBJDMX_BJSL >= :pBJSLS ");
if (!entity.Param.ContainsKey("pBJSLS"))
{
entity.Param.Add("pBJSLS", CurQueryEntity.FieldByName("BJSLS").Value.Trim());
}
}
if (!CurQueryEntity.FieldByName("BJSLZ").Value.Trim().Equals("") && !CurQueryEntity.FieldByName("BJSLZ").Value.Trim().Equals("0"))
{
sSQL.AppendLine(" and (case ");
sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('Kg', '千克', '公斤') then (case when isnull(XLXSCLQD_CLZL,0.0)=0 then 0 else 1.0/RoundFix(isnull(XLXSCLQD_CLZL,0.0),6) end)");
sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('T', '吨') then (case when isnull(XLXSCLQD_CLZL,0.0)=0 then 0 else 1.0/RoundFix(isnull(XLXSCLQD_CLZL,0.0),6)*1000 end)");
if (sBJU003.ToUpper().Equals("KM") || sBJU003.ToUpper().Equals("千米"))
{
sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('M', '米') then 0.001");
sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('Km', '千米') then 1.0");
foreach (string sKey in dicLenJLDWTD.Keys)
{
sSQL.AppendLine(string.Format(" when XLXSBJDMX_JLDW='{0}' then 0.001*{1} ", sKey, dicLenJLDWTD[sKey]));
}
}
else if (sBJU003.ToUpper().Equals("米") || sBJU003.ToUpper().Equals("M"))
{
sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('M', '米') then 1.0");
sSQL.AppendLine(" when XLXSBJDMX_JLDW in ('Km', '千米') then 1000.0");
foreach (string sKey in dicLenJLDWTD.Keys)
{
sSQL.AppendLine(string.Format(" when XLXSBJDMX_JLDW='{0}' then {1} ", sKey, dicLenJLDWTD[sKey]));
}
}
sSQL.AppendLine(" else 1.0 end ) * XLXSBJDMX_BJSL <= :pBJSLZ ");
if (!entity.Param.ContainsKey("pBJSLZ"))
{
entity.Param.Add("pBJSLZ", CurQueryEntity.FieldByName("BJSLZ").Value.Trim());
}
}
if (!sFrom.Equals("BJD"))
{
for (int i = 1; i <= 20; i++)
{
string sNo = i.ToString("00");
string sFieldS = "TJYZ" + sNo + "S";
string sFieldZ = "TJYZ" + sNo + "Z";
string sValueS = CurQueryEntity.FieldByName(sFieldS).Value.Trim();
string sValueZ = CurQueryEntity.FieldByName(sFieldZ).Value.Trim();
string sColumn = "XLXSBJDYZZ0_YZZ" + sNo;
if (!string.IsNullOrEmpty(sValueS) && !sValueS.Equals("0"))
{
string sParam = "p" + sFieldS;
sSQL.AppendLine(" and isnull(" + sColumn + ",0) >= :" + sParam + " ");
if (!entity.Param.ContainsKey(sParam))
{
entity.Param.Add(sParam, sValueS);
}
}
if (!string.IsNullOrEmpty(sValueZ) && !sValueZ.Equals("0"))
{
string sParam = "p" + sFieldZ;
sSQL.AppendLine(" and " + sColumn + " <= :" + sParam + " ");
if (!entity.Param.ContainsKey(sParam))
{
entity.Param.Add(sParam, sValueZ);
}
}
}
}
return sSQL.ToString();
}
private StringBuilder GetQuerySQL()
{
StringBuilder strSQL = new StringBuilder();
strSQL.Remove(0, strSQL.Length);
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
InitGridView();
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860063);
string sZBLRGS = pzxx.XLXSBJPZ_ZBLRGS;
#region 清空查询因子
entity.Param.Clear();
#endregion
if (sCXDX.Equals("BJD"))
{
//查询主表的表价总金额、最低限价总金额、中标总金额、明细数量不受明细查询条件的限制
#region 查询主表记录
strSQL.AppendLine(" select XLXSBJD_BJDID,0.0 as XLXSBJDMX_XH,TBBJFK_FKRQ, ");
strSQL.AppendLine(" case isnull(XLXSBJD_CLHQJGBID, ' ') when ' ' then ' ' ");
strSQL.AppendLine(" when 'ZZZZZZZZ' then rtrim(XLXSBJD_JGBID)||'|'||rtrim(XLXSJGB_JGBMC)||',ZZZZZZZZ|基础材料行情' ");
strSQL.AppendLine(" else rtrim(XLXSJGB_JGBID)||'|'||rtrim(XLXSJGB_JGBMC)||',YYYYYYYY|报价单材料行情' ");
strSQL.AppendLine(" end as JGBID,XLXSBJD_JGBID, ");
strSQL.AppendLine(" XLXSBJD_CLHQJGBID, ");
if (sMXBH.Equals("JGE"))
{
strSQL.AppendLine(" XLXSBJD_TJ as TJJG, XLXSBJD_LJ as LJJG, ");
}
else
{
if (!sTBJCLID.Equals(""))
{
strSQL.AppendLine(" isnull(( ");
strSQL.AppendLine(" select case when isnull(XLXSBJDCLHQ_BJCLID, ' ') <> ' 'then XLXSBJDCLHQ_HSJG else XLXSCLHQ_HSJG end as XLXSCLHQ_HSJG ");
strSQL.AppendLine(" from XLXSCLHQ ");
strSQL.AppendLine(" left join XLXSBJDCLHQ on ");
strSQL.AppendLine(" XLXSBJDCLHQ_BJCLID=XLXSCLHQ_BJCLID ");
strSQL.AppendLine(" and XLXSBJDCLHQ_BJDID = XLXSBJD_BJDID ");
strSQL.AppendLine(" where XLXSCLHQ_JGBID=XLXSBJD_JGBID and XLXSCLHQ_BJCLID='" + sTBJCLID + "'");
strSQL.AppendLine(" ),0) as TJJG, ");
}
else
{
strSQL.AppendLine(" 0 as TJJG, ");
}
if (!sLBJCLID.Equals(""))
{
strSQL.AppendLine(" isnull(( ");
strSQL.AppendLine(" select case when isnull(XLXSBJDCLHQ_BJCLID, ' ') <> ' ' then XLXSBJDCLHQ_HSJG else XLXSCLHQ_HSJG end as XLXSCLHQ_HSJG ");
strSQL.AppendLine(" from XLXSCLHQ ");
strSQL.AppendLine(" left join XLXSBJDCLHQ on ");
strSQL.AppendLine(" XLXSBJDCLHQ_BJCLID=XLXSCLHQ_BJCLID ");
strSQL.AppendLine(" and XLXSBJDCLHQ_BJDID = XLXSBJD_BJDID ");
strSQL.AppendLine(" where XLXSCLHQ_JGBID=XLXSBJD_JGBID and XLXSCLHQ_BJCLID='" + sLBJCLID + "'");
strSQL.AppendLine(" ),0) as LJJG, ");
}
else
{
strSQL.AppendLine(" 0 as LJJG, ");
}
}
strSQL.AppendLine(" case isnull(XLXSBJD_BJFLID, ' ') when ' ' then ' ' else rtrim(XLXSBJD_BJFLID)||'|'||rtrim(XLXSBJFL_BJFLMC) end as BJFLID, XLXSBJD_BJFLID, ");
strSQL.AppendLine(" XLXSBJD_KHID, XLXSBJD_XSQYID, ");
strSQL.AppendLine(" case isnull(XLXSBJD_SYDWID, ' ') when ' ' then ' ' else rtrim(XLXSBJD_SYDWID)||'|'||rtrim(GS_GSMC) end as SYDWID, XLXSBJD_SYDWID, ");
strSQL.AppendLine(" case isnull(XLXSBJD_XSQYID, ' ') when ' ' then ' ' else rtrim(XLXSBJD_XSQYID)||'|'||rtrim(XSQY_XSQYMC) end as XSQY, XLXSBJD_XSQYID, ");
strSQL.AppendLine(" case isnull(XLXSBJD_XSBMID, ' ') when ' ' then ' ' else rtrim(XLXSBJD_XSBMID)||'|'||rtrim(BM_MC) end as XSBM, XLXSBJD_XSBMID, ");
strSQL.AppendLine(" XLXSBJD_BJRQ, XLXSBJD_XSJLMC, ");
strSQL.AppendLine(" XLXSBJD_SQR, XLXSBJD_TXY, XLXSBJD_XSBMID, XLXSBJD_KH, XLXSBJD_KHLXR,XLXSBJD_LXDH,XLXSBJD_CZ, ");
//客户分类
if(!sKHLY.Equals(""))
strSQL.AppendLine(" case when ISNULL(KHFL_FLID,' ') = ' ' then ' ' else rtrim(KHFL_FLID) || '|' || rtrim(KHFL_FLMC) end as KHFL, ");
else
strSQL.AppendLine(" ' ' as KHFL, ");
strSQL.AppendLine(" case isnull(XLXSBJD_PJLX, ' ') when ' ' then ' ' else rtrim(XLXSBJD_PJLX)||'|'||rtrim(SFPJ_PJMC) end as PJLX, XLXSBJD_PJLX, ");
strSQL.AppendLine(" XLXSBJD_JZBJHS, XLXSBJD_XMMC, XLXSBJD_XXDZ, XLXSBJD_FKSM, XLXSBJD_BZ,");
//客户区划
if (QYXZQH)
{
strSQL.AppendLine(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then C.XZQH_PROVINCE else D.XZQH_PROVINCE end as XMSZDPRO,");
strSQL.AppendLine(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then ' ' else C.XZQH_CITY end as XMSZDCITY,");
}
strSQL.AppendLine(" XLXSBJD_ZJE,XLXSBJD_ZZL,");
if (sCurBJFLID.Contains(","))//多选报价分类,需单独控制栏目值是否查询
{
List<string> ListBXS = new List<string>();
#region 料价价差率
GetBXSLJJCL(sCurBJFLID, ref ListBXS);
if (ListBXS.Count > 0)
{
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJD_CLCBJCL end as XLXSBJD_CLCBJCL, ");
}
else
{
strSQL.AppendLine(" XLXSBJD_CLCBJCL, ");
}
#endregion
#region 表价总金额
GetBXSJCL(sCurBJFLID, ref ListBXS);
if (ListBXS.Count > 0)
{
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJD_LRL end as XLXSBJD_LRL, ");
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else MXXX.BJZJE end as CPJJJE, ");
}
else
{
strSQL.AppendLine(" XLXSBJD_LRL,MXXX.BJZJE as CPJJJE ,");
}
#endregion
#region 最低限价总金额
GetBXSZDXJ(sCurBJFLID, ref ListBXS);
if (ListBXS.Count > 0)
{
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJD_ZDXJJCL end as XLXSBJD_ZDXJJCL, ");
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else MXXX.ZDXJZJE end as ZDXJZJE, ");
}
else
{
strSQL.AppendLine(" XLXSBJD_ZDXJJCL,MXXX.ZDXJZJE as ZDXJZJE , ");
}
#endregion
}
else
{
strSQL.AppendLine(" XLXSBJD_CLCBJCL, ");
//表价总金额
strSQL.AppendLine(" XLXSBJD_LRL,MXXX.BJZJE as CPJJJE ,");
//最低限价总金额
strSQL.AppendLine(" XLXSBJD_ZDXJJCL,MXXX.ZDXJZJE as ZDXJZJE , ");
}
//中标总金额
strSQL.AppendLine(" XLXSBJD_ZBJE as ZBZJE , ");
if (sZBLRGS.Equals("1"))
strSQL.AppendLine(" XLXSBJD_ZBJE - ZDXJZJE as ZBZLR , ");
else
strSQL.AppendLine(" 0 as ZBZLR , ");
strSQL.AppendLine(" MXJLS,XLXSBJD_FKQXNR,convert(varchar(250), XLXSBJD_BJSM) as XLXSBJD_BJSM,XLXSBJD_TJ,XLXSBJD_LJ,XLXSBJD_CZJSXY,XLXSBJD_KHDH,");
strSQL.AppendLine(" XLXSBJD_XZQHID,XLXSBJD_XMID,");
strSQL.AppendLine(" XLXSBJD_YSJDID,XLXSBJD_GYSID,XLXSBJD_YSFY,");
strSQL.AppendLine(" TZYZ_BJ01,TZYZ_BJ02,TZYZ_BJ03,TZYZ_BJ04,TZYZ_BJ05,");
strSQL.AppendLine(" TZYZ_BJ06,TZYZ_BJ07,TZYZ_BJ08,TZYZ_BJ09,TZYZ_BJ10,");
strSQL.AppendLine(" TZYZ_BJ11,TZYZ_BJ12,TZYZ_BJ13,TZYZ_BJ14,TZYZ_BJ15,");
strSQL.AppendLine(" TZYZ_BJ16,TZYZ_BJ17,TZYZ_BJ18,TZYZ_BJ19,TZYZ_BJ20,");
strSQL.AppendLine(" XLXSBJD_WHR, XLXSBJD_WHRID, XLXSBJD_WHSJ, XLXSBJD_DOCGRPID, XLXSBJD_FJS, XLXSBJD_WFID, XLXSBJD_WFINST, XLXSBJD_WPID, XLXSBJD_WFAWAITER, XLXSBJD_WFHANDLER, XLXSBJD_ACTNAME");
strSQL.AppendLine(" from XLXSBJD ");
strSQL.AppendLine(" left join ( ");
strSQL.AppendLine(" select XLXSBJDYZZ0_BJDID as BJDID,");
strSQL.AppendLine(" AVG(XLXSBJDYZZ0_YZZ01) as TZYZ_BJ01,AVG(XLXSBJDYZZ0_YZZ02) as TZYZ_BJ02,AVG(XLXSBJDYZZ0_YZZ03) as TZYZ_BJ03,AVG(XLXSBJDYZZ0_YZZ04) as TZYZ_BJ04,AVG(XLXSBJDYZZ0_YZZ05) as TZYZ_BJ05, ");
strSQL.AppendLine(" AVG(XLXSBJDYZZ0_YZZ06) as TZYZ_BJ06,AVG(XLXSBJDYZZ0_YZZ07) as TZYZ_BJ07,AVG(XLXSBJDYZZ0_YZZ08) as TZYZ_BJ08,AVG(XLXSBJDYZZ0_YZZ09) as TZYZ_BJ09,AVG(XLXSBJDYZZ0_YZZ10) as TZYZ_BJ10, ");
strSQL.AppendLine(" AVG(XLXSBJDYZZ0_YZZ11) as TZYZ_BJ11,AVG(XLXSBJDYZZ0_YZZ12) as TZYZ_BJ12,AVG(XLXSBJDYZZ0_YZZ13) as TZYZ_BJ13,AVG(XLXSBJDYZZ0_YZZ14) as TZYZ_BJ14,AVG(XLXSBJDYZZ0_YZZ15) as TZYZ_BJ15, ");
strSQL.AppendLine(" AVG(XLXSBJDYZZ0_YZZ16) as TZYZ_BJ16,AVG(XLXSBJDYZZ0_YZZ17) as TZYZ_BJ17,AVG(XLXSBJDYZZ0_YZZ18) as TZYZ_BJ18,AVG(XLXSBJDYZZ0_YZZ19) as TZYZ_BJ19,AVG(XLXSBJDYZZ0_YZZ20) as TZYZ_BJ20 ");
strSQL.AppendLine(" from XLXSBJDYZZ0 ");
strSQL.AppendLine(" group by XLXSBJDYZZ0_BJDID ");
strSQL.AppendLine(" ) YZZ0 on YZZ0.BJDID = XLXSBJD_BJDID ");
strSQL.AppendLine(" left join XLXSBJFL on XLXSBJFL_BJFLID = XLXSBJD_BJFLID ");
strSQL.AppendLine(" left join GS on GS_SYDWID=XLXSBJD_SYDWID ");
strSQL.AppendLine(" left join XSQY on XSQY_XSQYID=XLXSBJD_XSQYID ");
strSQL.AppendLine(" left join BM on BM_BMID=XLXSBJD_XSBMID ");
strSQL.AppendLine(" left join XLXSJGB on XLXSJGB_JGBID=XLXSBJD_JGBID and XLXSJGB_MXBH in ('JGB','JGE') ");
strSQL.AppendLine(" left join SFPJ on SFPJ_PJLX=XLXSBJD_PJLX ");
strSQL.AppendLine(" left join TBBJFK on TBBJFK_BJDID=XLXSBJD_BJDID ");
strSQL.AppendLine(" left join ( ");
strSQL.AppendLine(" select XLXSBJDMX_BJDID,sum(XLXSBJDMX_BJSL*XLXSBJDMX_CLCB) as BJZJE,sum(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ) as ZDXJZJE,COUNT(1) as MXJLS ");
strSQL.AppendLine(" from XLXSBJDMX ");
strSQL.AppendLine(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID ");
strSQL.AppendLine(" where 1=1 ");
strSQL.AppendLine(AddCondition_A("Qry"));
strSQL.AppendLine(" group by XLXSBJDMX_BJDID ");
strSQL.AppendLine(" ) MXXX on MXXX.XLXSBJDMX_BJDID = XLXSBJD_BJDID ");
if (sKHLY.Equals("KH"))
{
strSQL.AppendLine(" left join KH on isnull(KH_KHID,' ')=isnull(XLXSBJD_KHID,' ') ");
strSQL.AppendLine(" left join KHFL on KHFL_FLID = KH_FL ");
}
else if (sKHLY.Equals("KHXX"))
{
strSQL.AppendLine(" left join KHXX on isnull(KHXX_MC,' ')=isnull(XLXSBJD_KH,' ') ");
strSQL.AppendLine(" left join KHFL on KHFL_FLID = KHXX_FLID ");
}
if (QYXZQH)
{
strSQL.AppendLine(" left join XZQH C on C.XZQH_XZQHID = XLXSBJD_XZQHID ");
strSQL.AppendLine(" left join XZQH D on D.XZQH_XZQHID = C.XZQH_FID ");
}
strSQL.AppendLine("where 1=1 ");
strSQL.AppendLine(AddCondition("Qry"));
strSQL.AppendLine(AddCondition_A("Qry"));
strSQL.AppendLine(AddConditionBJD("Qry"));
if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("A"))
{
strSQL.AppendLine(" order by XLXSBJD_BJDID desc ");
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("B"))
{
strSQL.AppendLine(" order by XLXSBJD_BJDID ");
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("C"))
{
strSQL.AppendLine(" order by XLXSBJD_BJRQ desc, XLXSBJD_BJDID desc ");
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("D"))
{
strSQL.AppendLine(" order by XLXSBJD_BJRQ, XLXSBJD_BJDID ");
}
else
{
strSQL.AppendLine(" order by XLXSBJD_BJRQ desc, XLXSBJD_BJDID desc ");
}
#endregion
}
else
{
#region 查询明细
strSQL.AppendLine(" select XLXSBJD_BJDID,XLXSBJDMX_BJDID, XLXSBJDMX_XH, XLXSBJDMX_XH as OLD_XLXSBJDMX_XH,XLXSBJDMX_XSSX, ");
//主表信息
strSQL.AppendLine(" XLXSBJD_BJRQ, case isnull(XLXSBJD_BJFLID, ' ') when ' ' then ' ' else rtrim(XLXSBJD_BJFLID)||'|'||rtrim(XLXSBJFL_BJFLMC) end as BJFLID, XLXSBJD_BJFLID, ");
strSQL.AppendLine(" case isnull(XLXSBJD_CLHQJGBID, ' ') when ' ' then ' ' ");
strSQL.AppendLine(" when 'ZZZZZZZZ' then rtrim(XLXSBJD_JGBID)||'|'||rtrim(XLXSJGB_JGBMC)||',ZZZZZZZZ|基础材料行情' ");
strSQL.AppendLine(" else rtrim(XLXSJGB_JGBID)||'|'||rtrim(XLXSJGB_JGBMC)||',YYYYYYYY|报价单材料行情' ");
strSQL.AppendLine(" end as JGBID,XLXSBJD_JGBID, ");
strSQL.AppendLine(" TBBJFK_FKRQ,XLXSBJD_SQR,XLXSBJD_TXY,XLXSBJD_KH,XLXSBJD_XMMC, ");
//客户分类
if (!sKHLY.Equals(""))
strSQL.AppendLine(" case when ISNULL(KHFL_FLID,' ') = ' ' then ' ' else rtrim(KHFL_FLID) || '|' || rtrim(KHFL_FLMC) end as KHFL, ");
else
strSQL.AppendLine(" ' ' as KHFL, ");
//行政区划
if (QYXZQH)
{
strSQL.AppendLine(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then C.XZQH_PROVINCE else D.XZQH_PROVINCE end as XMSZDPRO,");
strSQL.AppendLine(" case rtrim(ISNULL(D.XZQH_XZQHID,' ')) when '86' then ' ' else C.XZQH_CITY end as XMSZDCITY,");
}
if (sMXBH.Equals("JGE"))
{
strSQL.AppendLine(" XLXSBJD_TJ as TJJG, XLXSBJD_LJ as LJJG, ");
}
else
{
if (!sTBJCLID.Equals(""))
{
strSQL.AppendLine(" isnull(( ");
strSQL.AppendLine(" select case when isnull(XLXSBJDCLHQ_BJCLID, ' ') <> ' 'then XLXSBJDCLHQ_HSJG else XLXSCLHQ_HSJG end as XLXSCLHQ_HSJG ");
strSQL.AppendLine(" from XLXSCLHQ ");
strSQL.AppendLine(" left join XLXSBJDCLHQ on ");
strSQL.AppendLine(" XLXSBJDCLHQ_BJCLID=XLXSCLHQ_BJCLID ");
strSQL.AppendLine(" and XLXSBJDCLHQ_BJDID = XLXSBJD_BJDID ");
strSQL.AppendLine(" where XLXSCLHQ_JGBID=XLXSBJD_JGBID and XLXSCLHQ_BJCLID='" + sTBJCLID + "'");
strSQL.AppendLine(" ),0) as TJJG, ");
}
else
{
strSQL.AppendLine(" 0 as TJJG, ");
}
if (!sLBJCLID.Equals(""))
{
strSQL.AppendLine(" isnull(( ");
strSQL.AppendLine(" select case when isnull(XLXSBJDCLHQ_BJCLID, ' ') <> ' ' then XLXSBJDCLHQ_HSJG else XLXSCLHQ_HSJG end as XLXSCLHQ_HSJG ");
strSQL.AppendLine(" from XLXSCLHQ ");
strSQL.AppendLine(" left join XLXSBJDCLHQ on ");
strSQL.AppendLine(" XLXSBJDCLHQ_BJCLID=XLXSCLHQ_BJCLID ");
strSQL.AppendLine(" and XLXSBJDCLHQ_BJDID = XLXSBJD_BJDID ");
strSQL.AppendLine(" where XLXSCLHQ_JGBID=XLXSBJD_JGBID and XLXSCLHQ_BJCLID='" + sLBJCLID + "'");
strSQL.AppendLine(" ),0) as LJJG, ");
}
else
{
strSQL.AppendLine(" 0 as LJJG, ");
}
}
strSQL.AppendLine(" XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, XLXSBJDMX_DZSC, ");
strSQL.AppendLine(" case isnull(XLXSBJDMX_XLBZID, ' ') when ' ' then ' ' else rtrim(XLXSBJDMX_XLBZID)||'|'||rtrim(XLBZ_XLBZLXMC) end as XLBZID, XLXSBJDMX_XLBZID, ");
strSQL.AppendLine(" XLXSBJDMX_DYDJID,");
strSQL.AppendLine(" case isnull(XLXSBJDMX_XLYSID, ' ') when ' ' then ' ' else rtrim(XLXSBJDMX_XLYSID)||'|'||rtrim(XLYSB_XLYSMC) end as XLYSID, XLXSBJDMX_XLYSID, ");
strSQL.AppendLine(" case ");
strSQL.AppendLine(" (case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end) ");
strSQL.AppendLine(" when ' ' then ' ' else ");
strSQL.AppendLine(" rtrim(case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end) || '|'|| rtrim(XLXSCPML_CPMLMC) end as CPML, ");
strSQL.AppendLine(" case isnull(XLXHB_CPYT, ' ') when ' ' then ' ' else rtrim(XLXHB_CPYT)||'|'||rtrim(XLCPYT_CPYTMC) end as CPYT, ");
strSQL.AppendLine(" case when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sTcpList) + " then '铜产品' ");
strSQL.AppendLine(" when " + XLBJDUtils.GetWhereEqual("isnull(XLXHB_DTCLID,' ')", sLcpList) + " then '铝产品' else '其他产品' end as TLCP, ");
strSQL.AppendLine(" XLDTJMZHB_DTJM1 as ZXJM, XLGGB_GGZJM as GGZJM, ");
strSQL.AppendLine(" XLXSBJDMX_BJCP,' ' as XLWLXX,");
strSQL.AppendLine(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_CLCB,XLXSBJDMX_JGBJJ,");
strSQL.AppendLine(" XLXSBJDJJYZ_YZZ01 as TZYZ_JZ01,XLXSBJDJJYZ_YZZ02 as TZYZ_JZ02,XLXSBJDJJYZ_YZZ03 as TZYZ_JZ03,XLXSBJDJJYZ_YZZ04 as TZYZ_JZ04,XLXSBJDJJYZ_YZZ05 as TZYZ_JZ05,");
strSQL.AppendLine(" XLXSBJDJJYZ_YZZ06 as TZYZ_JZ06,XLXSBJDJJYZ_YZZ07 as TZYZ_JZ07,XLXSBJDJJYZ_YZZ08 as TZYZ_JZ08,XLXSBJDJJYZ_YZZ09 as TZYZ_JZ09,XLXSBJDJJYZ_YZZ10 as TZYZ_JZ10,");
strSQL.AppendLine(" XLXSBJDMX_JGBBJ,");
strSQL.AppendLine(" XLXSBJDYZZ0_YZZ01 as TZYZ_BJ01,XLXSBJDYZZ0_YZZ02 as TZYZ_BJ02,XLXSBJDYZZ0_YZZ03 as TZYZ_BJ03,XLXSBJDYZZ0_YZZ04 as TZYZ_BJ04,XLXSBJDYZZ0_YZZ05 as TZYZ_BJ05,");
strSQL.AppendLine(" XLXSBJDYZZ0_YZZ06 as TZYZ_BJ06,XLXSBJDYZZ0_YZZ07 as TZYZ_BJ07,XLXSBJDYZZ0_YZZ08 as TZYZ_BJ08,XLXSBJDYZZ0_YZZ09 as TZYZ_BJ09,XLXSBJDYZZ0_YZZ10 as TZYZ_BJ10,");
strSQL.AppendLine(" XLXSBJDYZZ0_YZZ11 as TZYZ_BJ11,XLXSBJDYZZ0_YZZ12 as TZYZ_BJ12,XLXSBJDYZZ0_YZZ13 as TZYZ_BJ13,XLXSBJDYZZ0_YZZ14 as TZYZ_BJ14,XLXSBJDYZZ0_YZZ15 as TZYZ_BJ15,");
strSQL.AppendLine(" XLXSBJDYZZ0_YZZ16 as TZYZ_BJ16,XLXSBJDYZZ0_YZZ17 as TZYZ_BJ17,XLXSBJDYZZ0_YZZ18 as TZYZ_BJ18,XLXSBJDYZZ0_YZZ19 as TZYZ_BJ19,XLXSBJDYZZ0_YZZ20 as TZYZ_BJ20,");
strSQL.AppendLine(" XLXSBJDMX_TZQCPBJ,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,");
strSQL.AppendLine(" XLXSBJDMX_CLZL,");
if (sCurBJFLID.Contains(","))//多选报价分类,需单独控制栏目值是否查询
{
List<string> ListBXS = new List<string>();
#region 报价单行情料价
GetBXSBJDHQLJ(sCurBJFLID, ref ListBXS);
if (ListBXS.Count > 0)
{
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJDMX_BJDHQCLCB end as XLXSBJDMX_BJDHQCLCB, ");
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 'N' ");
}
strSQL.AppendLine(" else XLXSBJDMX_CLCBJCLSDBZ end as XLXSBJDMX_CLCBJCLSDBZ, ");
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB end as BJDHQCLCBJE, ");
}
else
{
strSQL.AppendLine(" XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCBJCLSDBZ,XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB as BJDHQCLCBJE, ");
}
#endregion
#region 调整产品报价
GetBXSTZJG(sCurBJFLID, ref ListBXS);
if (ListBXS.Count > 0)
{
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJDMX_TZCPBJ end as XLXSBJDMX_TZCPBJ, ");
}
else
{
strSQL.AppendLine(" XLXSBJDMX_TZCPBJ, ");
}
#endregion
#region 调整金额
GetBXSTZJE(sCurBJFLID, ref ListBXS);
if (ListBXS.Count > 0)
{
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJDMX_TZQBJJE end as XLXSBJDMX_TZQBJJE, ");
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJDMX_TZBJJE end as XLXSBJDMX_TZBJJE, ");
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else case when XLXSBJDMX_BJSL=0 then 0 else RoundFix(XLXSBJDMX_BJJE/XLXSBJDMX_BJSL,14) end end as TZHDJ, ");
}
else
{
strSQL.AppendLine(" XLXSBJDMX_TZQBJJE,XLXSBJDMX_TZBJJE,case when XLXSBJDMX_BJSL=0 then 0 else RoundFix(XLXSBJDMX_BJJE/XLXSBJDMX_BJSL,14) end as TZHDJ, ");
}
#endregion
#region 料价价差率
GetBXSLJJCL(sCurBJFLID, ref ListBXS);
if (ListBXS.Count > 0)
{
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJDMX_CLCBJCL end as XLXSBJDMX_CLCBJCL, ");
}
else
{
strSQL.AppendLine(" XLXSBJDMX_CLCBJCL, ");
}
#endregion
#region 表价价差率
GetBXSJCL(sCurBJFLID, ref ListBXS);
if (ListBXS.Count > 0)
{
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJDMX_JGBBJJCL end as XLXSBJDMX_JGBBJJCL, ");
}
else
{
strSQL.AppendLine(" XLXSBJDMX_JGBBJJCL, ");
}
#endregion
#region 表价价差额
GetBXSJGBBJJCE(sCurBJFLID, ref ListBXS);
if (ListBXS.Count > 0)
{
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJDMX_JGBBJJCE end as XLXSBJDMX_JGBBJJCE, ");
}
else
{
strSQL.AppendLine(" XLXSBJDMX_JGBBJJCE, ");
}
#endregion
#region 最低限价
GetBXSZDXJ(sCurBJFLID, ref ListBXS);
if (ListBXS.Count > 0)
{
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJDMX_ZDXJ end as XLXSBJDMX_ZDXJ, ");
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJDMX_ZDXJJCL end as XLXSBJDMX_ZDXJJCL, ");
}
else
{
strSQL.AppendLine(" XLXSBJDMX_ZDXJ,XLXSBJDMX_ZDXJJCL,");
}
#endregion
#region 结算价格
GetBXSJSJG(sCurBJFLID, ref ListBXS);
if (ListBXS.Count > 0)
{
strSQL.AppendLine(" case ");
for (int i = 0; i < ListBXS.Count; i++)
{
strSQL.AppendLine(" when XLXSBJD_BJFLID = '" + ListBXS[i] + "' then 0 ");
}
strSQL.AppendLine(" else XLXSBJDMX_JSJG end as XLXSBJDMX_JSJG, ");
}
else
{
strSQL.AppendLine(" XLXSBJDMX_JSJG, ");
}
#endregion
}
else
{
strSQL.AppendLine(" XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCBJCLSDBZ,XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB as BJDHQCLCBJE, ");
strSQL.AppendLine(" XLXSBJDMX_TZCPBJ, ");
strSQL.AppendLine(" XLXSBJDMX_TZQBJJE,XLXSBJDMX_TZBJJE,case when XLXSBJDMX_BJSL=0 then 0 else RoundFix(XLXSBJDMX_BJJE/XLXSBJDMX_BJSL,14) end as TZHDJ, ");
strSQL.AppendLine(" XLXSBJDMX_CLCBJCL, ");
strSQL.AppendLine(" XLXSBJDMX_JGBBJJCL, ");
strSQL.AppendLine(" XLXSBJDMX_JGBBJJCE, ");
strSQL.AppendLine(" XLXSBJDMX_ZDXJ,XLXSBJDMX_ZDXJJCL,");
strSQL.AppendLine(" XLXSBJDMX_JSJG, ");
}
strSQL.AppendLine(" case when isnull(XLXSBJDMX_ZB,' ') = ' ' then ' '");
strSQL.AppendLine(" when isnull(XLXSBJDMX_ZB,' ') = 'Y' then 'Y|全部中标'");
strSQL.AppendLine(" when isnull(XLXSBJDMX_ZB,' ') = 'P' then 'P|部分中标'");
strSQL.AppendLine(" when isnull(XLXSBJDMX_ZB,' ') = 'N' then 'N|未中标'");
strSQL.AppendLine(" when isnull(XLXSBJDMX_ZB,' ') = 'F' then 'F|废标'");
strSQL.AppendLine(" when isnull(XLXSBJDMX_ZB,' ') = 'Q' then 'Q|弃标'");
strSQL.AppendLine(" else ' ' end as XLXSBJDMX_ZB, ");
strSQL.AppendLine(" XLXSBJDMX_ZBSL,XLXSBJDMX_ZBJE,");
if (sZBLRGS.Equals("1"))
strSQL.AppendLine(" XLXSBJDMX_ZBJE - RoundFix(XLXSBJDMX_BJSL*XLXSBJDMX_ZDXJ,2) as XLXSBJDMX_ZBLR,");
else
strSQL.AppendLine(" 0 as XLXSBJDMX_ZBLR,");
strSQL.AppendLine(" XLXSBJDMX_WLID as WLID, ");
strSQL.AppendLine(" case when isnull(XLXSBJDMX_WLID,' ') = ' ' then ' ' ");
strSQL.AppendLine(" else rtrim(rtrim(rtrim(rtrim(isnull(WL_MC,' '))||' '||rtrim(isnull(WL_GG,' ')))||' '||rtrim(isnull(WL_TZ,' ')))||' '||rtrim(isnull(WL_CL,' '))) ");
strSQL.AppendLine(" end as WLXX, ");
strSQL.AppendLine(" XLXSBJDMX_BZ,XLXSBJDMX_BJCPSD,XLXSBJDMX_BJSDBZ,XLXSBJDMX_WHRID,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ, ");
strSQL.AppendLine(" case when isnull(XLXSCLQD_WPID,' ')='ZZZZ' then 'Y' else 'N' end as HasCLQD, ");
strSQL.AppendLine(" case when ((ISNULL(XLXSBJYLZD_WPID,' ')= '0060' or ISNULL(XLXSBJYLZD_WPID,' ')= 'ZZZZ') and isnull(XLXSBJYLZDMX_BZDBZ,'N') ='Y' and isnull(XLXSBJYLZDMX_BJDXH,0) <> 0) then 'N' ");
strSQL.AppendLine(" when (ISNULL(XLXSBJYLZD_WPID,' ')<> ' ' and isnull(XLXSBJYLZDMX_BJDXH,0) <> 0) then 'Y' ");
strSQL.AppendLine(" else 'N' end as HasYLDZSQ ");
strSQL.AppendLine(" from XLXSBJDMX ");
strSQL.AppendLine(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJDMX_BJDID ");
strSQL.AppendLine(" left join XLXSBJFL on XLXSBJFL_BJFLID = XLXSBJD_BJFLID ");
strSQL.AppendLine(" left join XLXSJGB on XLXSJGB_JGBID=XLXSBJD_JGBID and XLXSJGB_MXBH in ('JGB','JGE') ");
strSQL.AppendLine(" left join TBBJFK on TBBJFK_BJDID=XLXSBJDMX_BJDID ");
if (sKHLY.Equals("KH"))
{
strSQL.AppendLine(" left join KH on isnull(KH_KHID,' ')=isnull(XLXSBJD_KHID,' ') ");
strSQL.AppendLine(" left join KHFL on KHFL_FLID = KH_FL ");
}
else if (sKHLY.Equals("KHXX"))
{
strSQL.AppendLine(" left join KHXX on isnull(KHXX_MC,' ')=isnull(XLXSBJD_KH,' ') ");
strSQL.AppendLine(" left join KHFL on KHFL_FLID = KHXX_FLID ");
}
if (QYXZQH)
{
strSQL.AppendLine(" left join XZQH C on C.XZQH_XZQHID = XLXSBJD_XZQHID ");
strSQL.AppendLine(" left join XZQH D on D.XZQH_XZQHID = C.XZQH_FID ");
}
strSQL.AppendLine(" left join XLBZ on XLBZ_XLBZID = XLXSBJDMX_XLBZID ");
strSQL.AppendLine(" left join WL on WL_WLID = isnull(XLXSBJDMX_WLID, ' ') ");
strSQL.AppendLine(" left join XLYSB on XLYSB_XLYSID = XLXSBJDMX_XLYSID ");
strSQL.AppendLine(" left join XLXHB on XLXHB_XLXHID = XLXSBJDMX_XLXHID ");
strSQL.AppendLine(" left join XLXSBJXLGGTHB XLXSBJXLGGTHB_A on XLXSBJXLGGTHB_A.XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID ");
strSQL.AppendLine(" left join XLGGB on XLGGB_XLGGID=XLXSBJXLGGTHB_A.XLXSBJXLGGTHB_XLGGID and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') ");
strSQL.AppendLine(" left join XLDTJMZHB on XLDTJMZHB_DTJMZHID=XLGGB_DTJMZHID ");
strSQL.AppendLine(" left join XLCPYT on XLCPYT_CPYT = XLXHB_CPYT ");
strSQL.AppendLine(" left join XLXSBJDYZZ0 on XLXSBJDYZZ0_BJDID=XLXSBJDMX_BJDID and XLXSBJDYZZ0_XH=XLXSBJDMX_XH ");
strSQL.AppendLine(" left join XLXSBJDJJYZ on XLXSBJDJJYZ_BJDID=XLXSBJDMX_BJDID and XLXSBJDJJYZ_XH=XLXSBJDMX_XH ");
strSQL.AppendLine(" left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID=XLXSBJDMX_XLGGID and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID=isnull(XLXSBJDMX_DYDJID,' ')");
strSQL.AppendLine(" left join ( select XLXSBJYLZD_BJDID,XLXSBJYLZD_SQDH,XLXSBJYLZD_WPID,XLXSBJYLZDMX_BJDXH,XLXSBJYLZDMX_BZDBZ ");
strSQL.AppendLine(" from XLXSBJYLZDMX left join XLXSBJYLZD on XLXSBJYLZD_SQDH = XLXSBJYLZDMX_SQDH where 1=1 ) YLZDMX on XLXSBJYLZD_BJDID = XLXSBJDMX_BJDID and XLXSBJYLZDMX_BJDXH = XLXSBJDMX_XH ");
strSQL.AppendLine(" left join XLXSBJXHML A on A.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and A.XLXSBJXHML_DYDJID = isnull(XLXSBJDMX_DYDJID, ' ') ");
strSQL.AppendLine(" left join XLXSBJXHML B on B.XLXSBJXHML_XLXHID = XLXSBJDMX_XLXHID and B.XLXSBJXHML_DYDJID = ' ' ");
strSQL.AppendLine(" left join XLXSCPML on XLXSCPML_CPMLID = case when ISNULL(A.XLXSBJXHML_CPMLID,' ') = ' ' then ISNULL(B.XLXSBJXHML_CPMLID,' ') else ISNULL(A.XLXSBJXHML_CPMLID,' ') end ");
//strSQL.AppendLine(" left join XLXSBJXLGGTHB XLXSBJXLGGTHB_B on XLXSBJXLGGTHB_B.XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID ");
strSQL.AppendLine(" where 1=1 ");
strSQL.AppendLine(AddCondition("Qry"));
strSQL.AppendLine(AddCondition_A("Qry"));
strSQL.AppendLine(AddConditionBJDMX("Qry"));
if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("A"))
{
strSQL.AppendLine(" order by XLXSBJD_BJDID desc,XLXSBJDMX_XSSX,XLXSBJDMX_XH ");
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("B"))
{
strSQL.AppendLine(" order by XLXSBJD_BJDID,XLXSBJDMX_XSSX,XLXSBJDMX_XH ");
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("C"))
{
strSQL.AppendLine(" order by XLXSBJD_BJRQ desc, XLXSBJD_BJDID desc,XLXSBJDMX_XSSX,XLXSBJDMX_XH ");
}
else if (CurQueryEntity.FieldByName("PXFS").Value.Trim().Equals("D"))
{
strSQL.AppendLine(" order by XLXSBJD_BJRQ, XLXSBJD_BJDID,XLXSBJDMX_XSSX,XLXSBJDMX_XH ");
}
else
{
strSQL.AppendLine(" order by XLXSBJD_BJRQ desc, XLXSBJD_BJDID desc, XLXSBJDMX_XSSX,XLXSBJDMX_XH");
}
#endregion
}
return strSQL;
}
//判断模块是否存在并且是否有权限
private bool CheckModule(string sUMID)
{
int iUMID = CMISproConvert.StrToInt(sUMID);
UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, iUMID);
return (DSActiveModule.IsActiveModule(iUMID) && UR.Open);
}
private void InitToolBtn()
{
if (!PageParam.GetRTrimString("FromBJDINFO").Trim().Equals(""))
{
sBJDLX = PageParam.GetRTrimString("FromBJDINFO");
sBJDID = PageParam.GetRTrimString("BJDID");
sBJFLID = PageParam.GetRTrimString("BJFLID");
sTXY = PageParam.GetRTrimString("TXY");
sKH = PageParam.GetRTrimString("KH");
sKHLXR = PageParam.GetRTrimString("KHLXR");
sSYDWID = PageParam.GetRTrimString("SYDWID");
grdContentGrid.CheckBox = true;
if (sBJDLX.Equals("HBBJ"))
{
btnHBBJ.Visible = true;
CurQueryEntity.FieldByName("CXDX").Value = "BJD";
CurQueryEntity.FieldByName("BJFLID").Value = sBJFLID;
CurQueryEntity.FieldByName("FKZT").Value = "未反馈";
CurQueryEntity.FieldByName("TXY").Value = sTXY;
CurQueryEntity.FieldByName("KH").Value = sKH;
CurQueryEntity.FieldByName("KHLXR").Value = sKHLXR;
}
else if (sBJDLX.Equals("CFBJ"))
{
btnCFBJ.Visible = true;
CurQueryEntity.FieldByName("CXDX").Value = "BJDMX";
CurQueryEntity.FieldByName("BJFLID").Value = sBJFLID;
CurQueryEntity.FieldByName("BJDID").Value = sBJDID;
CurQueryEntity.FieldByName("BJDIDJQPP").Value = "True";
}
TPageParams tpp = new TPageParams();
tpp.AddString("BJDID", sBJDID);
tpp.AddString("BJDLX", sBJDLX);
QueryPageParam = tpp;
}
}
private void InitGridView()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
#region 查询条件相关初始化
grdContentGrid.Columns.Clear();
sCXDX = CurQueryEntity.FieldByName("CXDX").Value.Trim();
sCurBJFLID = CurQueryEntity.FieldByName("BJFLID").Value.Trim();
#endregion
#region 因子、小数位数等初始化
iXSWS = string.IsNullOrEmpty(GetOption(100860000, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860000, "BJU002"));
if (iXSWS < 0)
{
iXSWS = 0;
}
else if (iXSWS > 8)
{
iXSWS = 8;
}
JcModule = CheckModule("100860008");
//因子名称后缀
string sStr = "";
//同产品所属,铝产品所属
sTcpList = "";
sLcpList = "";
sTLcpList = "";
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;
sTLcpList = sTcpList + "," + sLcpList;
sTLcpList = sTLcpList.TrimStart(',').TrimEnd(',');
string sZBLRGS = pzxx.XLXSBJPZ_ZBLRGS;
#endregion
#region 报价分类的设置
int iCPMRXSWS = 0;
string sJGBBJBM = "";
string sBJDHQLJBM = "";
string sBJBM = "";
bXSBJDHQLJ = false;
bXSLJ = false;
bXSJCL = false;
bXSLJJCL = false;
bXSJGBBJJCE = false;
bXSZDXJ = false;
bXSJSJG = false;
bXSTZJG = false;
bXSTZJE = false;
//表价-料价-最低限价=价差率
foreach (string sBJFLID in sCurBJFLID.Split(','))
{
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
#region 按角色隐藏栏目
//获取需要按角色隐藏的栏目ID列表
string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sCurBJFLID, IsXJY.Value.Equals("Y"), IsSJY.Value.Equals("Y"), IsHJY.Value.Equals("Y"));
bool bJSYCBJDHQLJ = false;
bool bJSYCZDXJ = false;
bool bJSYCJSJG = false;
if (!sHidJSLMList.Trim().Equals(""))
{
string[] sHidJSLMs = sHidJSLMList.Split(',');
for (int i = 0; i < sHidJSLMs.Length; i++)
{
string sLMID = sHidJSLMs[i].Trim();
switch (sLMID)
{
case "XLXSBJDMX_BJDHQCLCB":
bJSYCBJDHQLJ = true;
break;
case "XLXSBJDMX_ZDXJ":
bJSYCZDXJ = true;
break;
case "XLXSBJDMX_JSJG":
bJSYCJSJG = true;
break;
}
}
}
#endregion
//显示报价单行情料价
if (bjflxx.XSBJDHQLJ() && !bJSYCBJDHQLJ)
bXSBJDHQLJ = true;
//显示结算价
if (bjflxx.XSJSJ() && !bJSYCJSJG)
bXSJSJG = true;
//显示价格表行情料价
if (bjflxx.XSLJ())
bXSLJ = true;
//显示表价价差率
if (bjflxx.XSJCL())
bXSJCL = true;
//显示价格表行情料价/显示料价价差率
if (bjflxx.XSLJJCL())
bXSLJJCL = true;
//表价价差总额/表价价差额
if (bjflxx.XSJGBBJJCEChecked())
bXSJGBBJJCE = true;
//最低限价
if (bjflxx.XSZDXJ() && !bJSYCZDXJ)
bXSZDXJ = true;
//
if (bjflxx.XSTZCPBJChecked())
bXSTZJG = true;
//显示调整总金额
if (bjflxx.XSTZBJJEChecked())
bXSTZJE = true;
if ( CMISproConvert.StrToInt(bjflxx.XLXSBJFL_CPBJMRXSWS) > iCPMRXSWS)
iCPMRXSWS = CMISproConvert.StrToInt(bjflxx.XLXSBJFL_CPBJMRXSWS);
sMXBH = bjflxx.XLXSBJFL_MXBH;
//别名
if (sJGBBJBM.Equals(""))
sJGBBJBM = bjflxx.XLXSBJFL_JGBBJBM;
if (sBJDHQLJBM.Equals(""))
sBJDHQLJBM = bjflxx.XLXSBJFL_BJDHQLJBM;
if (sBJBM.Equals(""))
sBJBM = bjflxx.XLXSBJFL_BJBM;
sTBJCLID = "";
sLBJCLID = "";
if (!sMXBH.Equals("JGE"))
JGBMLInfo.GetTLBJCLID(dberp, SQL, ref sTBJCLID, ref sLBJCLID);
}
//小数位数
iNumberDecimalPlace = iCPMRXSWS > iXSWS ? iCPMRXSWS : iXSWS;
#endregion
#region 销售报价业务配置
sKHLY = "";
pzxx = XLBJDUtils.GetXLXSBJPZXX(100860000);
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_KHJSLY))
sKHLY = pzxx.XLXSBJPZ_KHJSLY;
# endregion
QYXZQH = DSActiveModule.IsActiveModule(100956005);//是否启用行政区划
if (sCXDX.Equals("BJD"))
{
#region 构建因子列
dicBJDYZMC.Clear();
dicBJDYZJJFS.Clear();
lstTJYS.Clear();
SQL.Clear();
SQL.Add(" SELECT XLXSBJFLYZ_YZID,XLXSTZYZ_TJYS,XLXSTZYZ_YZMC,XLXSTZYZ_JJFS FROM XLXSBJFLYZ ");
SQL.Add(" LEFT JOIN XLXSTZYZ on XLXSTZYZ_YZID = XLXSBJFLYZ_YZID and XLXSTZYZ_MXBH = 'BJD' ");
SQL.Add(" where 1=1 ");
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJFLYZ_BJFLID", sCurBJFLID));
SQL.Add(" and (XLXSTZYZ_TJYS in('1','8','B') or isnull(XLXSTZYZ_TJYS,' ') = ' ' ) ");
SQL.Add(" order by XLXSTZYZ_XSXH,XLXSBJFLYZ_YZID ");
DataSet dsBJDYZZ = dberp.OpenDataSet(SQL);
for (int i = 0; i < dsBJDYZZ.Tables[0].Rows.Count; i++)
{
if (!dicBJDYZMC.ContainsKey(dsBJDYZZ.Tables[0].Rows[i]["XLXSBJFLYZ_YZID"].ToString().Trim()))
{
if (dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JD")
|| dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("KD")
|| dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("SX")
||dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("MD")
||dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("DD"))
{
sStr = "(%)";
}
else if (dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ"))
{
sStr = "(元)";
}
else if (dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("XX"))
{
sStr = "(不参与调价)";
}
dicBJDYZMC.Add(dsBJDYZZ.Tables[0].Rows[i]["XLXSBJFLYZ_YZID"].ToString().Trim(), dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sStr);
dicBJDYZJJFS.Add(dsBJDYZZ.Tables[0].Rows[i]["XLXSBJFLYZ_YZID"].ToString().Trim(), dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim());
lstTJYS.Add(dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim());
}
}
#endregion
//sCXDX.Equals("BJD")
#region 构建主表的列
AddColumn("XLXSBJD_BJDID", "报价单号", 80, true);
AddColumn("BJFLID", "报价分类", 150, true);
AddColumn("XLXSBJD_BJRQ", "报价日期", 72, TDateTimeEditKinds.dtDate, true);
AddColumn("XLXSBJD_SQR", "申请人", 72, true);
AddColumn("JGBID", "价格表", 160, true);
AddColumn("TJJG", "铜价", 2, 72, true);
AddColumn("LJJG", "铝价", 2, 72, true);
AddColumn("SYDWID", "销售单位", 160, true);
AddColumn("XSQY", "销售区域", 160, true);
AddColumn("XSBM", "销售部门", 160, true);
AddColumn("XLXSBJD_TXY", "销售员", 72, true);
AddColumn("XLXSBJD_KH", "客户", 150, true);
AddColumn("XLXSBJD_XMMC", "项目", 150, true);
AddColumn("KHFL", "客户分类", 120, true);
if (QYXZQH)
{
AddColumn("XMSZDPRO", "项目所在地(省/直辖市/自治区)", 180, true);
AddColumn("XMSZDCITY", "项目所在地(市/区/盟/州)", 180, true);
}
AddColumn("MXJLS", "明细记录数", 0, 80, true);
AddColumn("XLXSBJD_ZJE", "报价总金额", 2, 120, true);
AddColumn("CPJJJE", "表价总金额", 2, 120, bXSJCL);
AddColumn("ZDXJZJE", "最低限价总金额", 2, 120, bXSZDXJ);
AddColumn("TBBJFK_FKRQ", "反馈日期", 72, TDateTimeEditKinds.dtDate, true);
AddColumn("ZBZJE", "中标总金额", 2, 120, true);
if (!sZBLRGS.Equals(""))
AddColumn("ZBZLR", "中标总利润", 2, 120, true);
AddColumn("XLXSBJD_BJSM", "报价说明", 120, true);
AddColumn("XLXSBJD_FKQXNR", "付款期限", 120, true);
if (lstTJYS.Contains("1"))
{
AddColumn("PJLX", "付款方式", 120, true);
}
else
{
AddColumn("XLXSBJD_FKSM", "付款说明", 120, true);
}
//通过报价分类构建因子顺序,仅构建主表相关的因子
foreach (KeyValuePair<string, string> kvp in dicBJDYZMC)
{
if (dicBJDYZJJFS.ContainsKey(kvp.Key))
{
if (dicBJDYZJJFS[kvp.Key].Equals("MX") || dicBJDYZJJFS[kvp.Key].Equals("DX"))
{
AddColumn("TZYZ_" + kvp.Key, kvp.Value, 4, 100, true);
}
else
{
AddColumn("TZYZ_" + kvp.Key, kvp.Value, 2, 100, true);
}
}
}
AddColumn("XLXSBJD_LRL", "表价价差率(%)", 2, 120, JcModule && bXSJCL);
AddColumn("XLXSBJD_CLCBJCL", "料价价差率(%)", 2, 120, JcModule && bXSLJJCL);
AddColumn("XLXSBJD_ZDXJJCL", "最低限价价差率(%)", 2, 120, JcModule && bXSZDXJ);
AddColumn("XLXSBJD_BZ", "报价备注", 200, true);
AddColumn("XLXSBJD_WHRID", "维护人工号", 70, false);
AddColumn("XLXSBJD_WHR", "维护人", 72, true);
AddColumn("XLXSBJD_WHSJ", "维护时间", 125, TDateTimeEditKinds.dtDateTime, true);
#endregion
}
else
{
#region 构建因子列
dicBJDYZMC.Clear();
dicBJDYZJJFS.Clear();
lstTJYS.Clear();
SQL.Clear();
SQL.Add(" SELECT XLXSBJFLYZ_YZID,XLXSTZYZ_TJYS,XLXSTZYZ_YZMC,XLXSTZYZ_JJFS FROM XLXSBJFLYZ ");
SQL.Add(" LEFT JOIN XLXSTZYZ on XLXSTZYZ_YZID = XLXSBJFLYZ_YZID and XLXSTZYZ_MXBH = 'BJD' ");
SQL.Add(" where 1=1 ");
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJFLYZ_BJFLID", sCurBJFLID));
SQL.Add(" order by XLXSTZYZ_XSXH,XLXSBJFLYZ_YZID ");
DataSet dsBJDYZZ = dberp.OpenDataSet(SQL);
for (int i = 0; i < dsBJDYZZ.Tables[0].Rows.Count; i++)
{
if (!dicBJDYZMC.ContainsKey(dsBJDYZZ.Tables[0].Rows[i]["XLXSBJFLYZ_YZID"].ToString().Trim()))
{
if (dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JD")
|| dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("KD")
|| dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("SX")
||dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("MD")
||dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("DD"))
{
sStr = "(%)";
}
else if (dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ"))
{
sStr = "(元)";
}
else if (dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("XX"))
{
sStr = "(不参与调价)";
}
dicBJDYZMC.Add(dsBJDYZZ.Tables[0].Rows[i]["XLXSBJFLYZ_YZID"].ToString().Trim(), dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim() + sStr);
dicBJDYZJJFS.Add(dsBJDYZZ.Tables[0].Rows[i]["XLXSBJFLYZ_YZID"].ToString().Trim(), dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim());
lstTJYS.Add(dsBJDYZZ.Tables[0].Rows[i]["XLXSTZYZ_TJYS"].ToString().Trim());
}
}
#endregion
//sCXDX.Equals("BJDMX")
string sJGBBJMC = sJGBBJBM.Equals("") ? "表价" : sJGBBJBM;
string sBJMC = sBJBM.Equals("") ? "报价" : sBJBM;
#region 构建明细的列
AddColumn("XLXSBJDMX_BJDID", "报价单号", 80, true);
AddColumn("XLXSBJD_BJRQ", "报价日期", 72, TDateTimeEditKinds.dtDate, true);
AddColumn("XLXSBJD_SQR", "申请人", 72, true);
AddColumn("BJFLID", "报价分类", 150, true);
AddColumn("JGBID", "价格表", 160, true);
AddColumn("TBBJFK_FKRQ", "反馈日期", 72, TDateTimeEditKinds.dtDate, true);
AddColumn("TJJG", "铜价", 2, 72, true);
AddColumn("LJJG", "铝价", 2, 72, true);
AddColumn("XLXSBJD_TXY", "销售员", 72, true);
AddColumn("XLXSBJD_KH", "客户", 150, true);
AddColumn("KHFL", "客户分类", 120, true);
AddColumn("XLXSBJD_XMMC", "项目", 150, true);
if (QYXZQH)
{
AddColumn("XMSZDPRO", "项目所在地(省/直辖市/自治区)", 180, true);
AddColumn("XMSZDCITY", "项目所在地(市/区/盟/州)", 180, true);
}
AddColumn("XLXSBJDMX_XH", "序号", 0, 60, false);
AddColumn("XLXSBJDMX_XSSX", "显示序号", 0, 100, true);
AddColumn("XLXSBJDMX_XLXHID", "型号", 100, true);
AddColumn("XLXSBJDMX_XLGGID", "规格", 100, true);
AddColumn("XLBZID", "标准", 100, true);
AddColumn("XLXSBJDMX_DYDJID", "电压等级", 100, true);
AddColumn("XLYSID", "颜色", 100, true);
AddColumn("XLXSBJDMX_BJCP", "报价产品", 150, true);
AddColumn("TLCP", "铜铝产品", 100, true);
AddColumn("CPML", "产品目录", 100, true);
AddColumn("CPYT", "产品用途", 150, true);
AddColumn("XLXSBJDMX_DZSC", "定制生产",72, TEditType.etCheckBox, true);
AddColumn("ZXJM", "主芯截面", 72, true);
AddColumn("GGZJM", "规格总截面", 2, 72, true);
AddColumn("XLXSBJDMX_JLDW", "计量单位", 100, true);
AddColumn("XLXSBJDMX_BJSL", "报价数量", true, 3, 100, true);
AddColumn("XLXSBJDMX_CPBJ", sBJMC, iXSWS, 80, true);
AddColumn("XLXSBJDMX_BJDHQCLCB", sBJDHQLJBM.Equals("") ? "报价单行情料价" : sBJDHQLJBM, iXSWS, 90, bXSBJDHQLJ);
AddColumn("BJDHQCLCBJE", sBJDHQLJBM.Equals("") ? "报价单行情料价金额" : sBJDHQLJBM+"金额", iXSWS, 120, bXSBJDHQLJ);
AddColumn("XLXSBJDMX_CLCB", "价格表行情料价", iXSWS, 80, bXSLJ);
AddColumn("XLXSBJDMX_JGBJJ", "基价", iXSWS, 80, false);
//若存在“线缆销售报价表价”模块的权限,则增加显示价格表调价因子
if (CheckModule("100860010"))
{
Dictionary<string, string> dicJZJYZ = XLBJDUtils.GetJZJYZIDDic();
foreach (KeyValuePair<string, string> kvp in dicJZJYZ)
{
string sJJFS = XLBJDUtils.GetYZXXByYZID(kvp.Key).XLXSTZYZ_JJFS.Trim();
string sYZMC = kvp.Value;
if (sJJFS.Equals("JD") || sJJFS.Equals("KD") || sJJFS.Equals("SX"))
sYZMC += "(%)";
else
sYZMC += "(元)";
AddColumn("TZYZ_" + kvp.Key, sYZMC, 2, 100, true);
}
}
AddColumn("XLXSBJDMX_JGBBJ", sJGBBJMC, iXSWS, 80, true);
//通过报价分类构建因子顺序,构建明细因子
foreach (KeyValuePair<string, string> kvp in dicBJDYZMC)
{
if (dicBJDYZJJFS.ContainsKey(kvp.Key))
{
if (dicBJDYZJJFS[kvp.Key].Equals("MX") || dicBJDYZJJFS[kvp.Key].Equals("DX"))
{
AddColumn("TZYZ_" + kvp.Key, kvp.Value, 4, 100, true);
}
else
{
AddColumn("TZYZ_" + kvp.Key, kvp.Value, 2, 100, true);
}
}
}
AddColumn("XLXSBJDMX_TZQCPBJ", "调整前" + sBJMC, iNumberDecimalPlace, 80, false);
AddColumn("XLXSBJDMX_TZCPBJ", "调整" + sBJMC + "(%)", 6, 80, bXSTZJG);
AddColumn("XLXSBJDMX_TZQBJJE", sBJMC + "金额", 2, 80, bXSTZJE);
AddColumn("XLXSBJDMX_TZBJJE", "调整金额(元)", 2, 80, bXSTZJE);
if (bXSTZJE)
{
AddColumn("XLXSBJDMX_BJJE", string.Format("调整后{0}金额",sBJMC), 2, 90, true);
}
else
{
AddColumn("XLXSBJDMX_BJJE", sBJMC + "金额", 2, 90, true);
}
AddColumn("XLXSBJDMX_ZB", "中标", 72, true);
AddColumn("XLXSBJDMX_ZBSL", "中标数量", 3, 72, true);
AddColumn("XLXSBJDMX_ZBJE", "中标金额", 2, 72, true);
if (!sZBLRGS.Equals(""))
AddColumn("XLXSBJDMX_ZBLR", "中标利润", 2, 72, true,true);
AddColumn("WLID", "物料编码", 72, true);
AddColumn("WLXX", "物料信息", 150, true);
AddColumn("TZHDJ", "调整后单价", iXSWS, 90, bXSTZJE);
AddColumn("XLXSBJDMX_CLZL", "材料重量(Kg)", 3, 80, true);
AddColumn("XLXSBJDMX_CLCBJCL", "料价价差率(%)", 2, 120, bXSLJJCL);
AddColumn("XLXSBJDMX_JGBBJJCL", sJGBBJMC + "价差率(%)", 2, 120, bXSJCL);
AddColumn("XLXSBJDMX_JGBBJJCE", sJGBBJMC+"价差额", 2, 80, bXSJGBBJJCE);
AddColumn("XLXSBJDMX_ZDXJ", "最低限价", iXSWS, 80, bXSZDXJ);
AddColumn("XLXSBJDMX_ZDXJJCL", "最低限价价差率(%)", 2, 120, bXSZDXJ);
AddColumn("XLXSBJDMX_JSJG", "结算价", iXSWS, 80, bXSJSJG);
AddColumn("XLXSBJDMX_BZ", "备注", 200, true);
AddColumn("XLXSBJDMX_BJCPSD", "报价产品锁定", 60, TEditType.etCheckBox, false);
AddColumn("XLXSBJDMX_BJSDBZ",sBJMC+ "锁定", 60, TEditType.etCheckBox, true);
AddColumn("XLXSBJDMX_CLCBJCLSDBZ", "按料价价差率算报价", 60, TEditType.etCheckBox, bXSBJDHQLJ);
AddColumn("XLXSBJDMX_WHRID", "维护人工号", 70, false);
AddColumn("XLXSBJDMX_WHR", "维护人", 72, true);
AddColumn("XLXSBJDMX_WHSJ", "维护时间", 125, TDateTimeEditKinds.dtDateTime, true);
AddColumn("HasCLQD", "有无清单", 72, false);
AddColumn("HasYLDZSQ", "有无用量制定申请", 72, false);
#endregion
}
}
/// <summary>
/// 获取文档组号
/// </summary>
/// <param name="sSQDHList"></param>
/// <param name="dFJS"></param>
/// <returns></returns>
private double[] GetFileIDArray(string sBJDIDList, out double dFJS)
{
dFJS = 0;
List<double> fFileIDList = new List<double>();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select XLXSBJD_FJS, XLXSBJD_DOCGRPID from XLXSBJD ");
SQL.Add("where 1 = 1");
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJDID", sBJDIDList));
SQL.Add("order by XLXSBJD_BJDID");
DataSet ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
dFJS += CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSBJD_FJS"].ToString());
fFileIDList.Add(CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["XLXSBJD_DOCGRPID"].ToString()));
}
return fFileIDList.ToArray();
}
/// <summary>
/// 复制附件
/// </summary>
/// <param name="dGroupIdArray"></param>
/// <param name="dNewFjs"></param>
/// <returns></returns>
private double CopyAttach(double[] dGroupIdArray, out double dNewFjs)
{
//获取文件编号
List<double> fileIdList = new List<double>();
for (int i = 0; i < dGroupIdArray.Length; i++)
{
DocFileInfo[] docFileInfo = FileService.GetFilesInfo(dGroupIdArray[i]);
for (int j = 0; j < docFileInfo.Length; j++)
fileIdList.Add(docFileInfo[j].FileId);
}
//获取新文件组号和附件数
DocFileResult DocFiRe = FileService.CopyFiles(fileIdList.ToArray(), 0);
dNewFjs = DocFiRe.FileCount;
return DocFiRe.GroupId;
}
/// <summary>
/// 更新主记录附件
/// </summary>
/// <param name="dberp"></param>
/// <param name="sSQID"></param>
/// <param name="dFJS"></param>
/// <param name="dDOCGRPID"></param>
private void UpdateDocOfBJD(TDatabase dberp, TSQL SQL, string sBJDID, double dFJS, double dDOCGRPID)
{
SQL.Clear();
SQL.Add(" update XLXSBJD ");
SQL.Add(" set XLXSBJD_FJS= :pFJS, ");
SQL.Add(" XLXSBJD_DOCGRPID=:pDOCGRPID ");
SQL.Add(" where XLXSBJD_BJDID=:pBJDID ");
SQL.ParamByName("pFJS").Value = dFJS;
SQL.ParamByName("pDOCGRPID").Value = dDOCGRPID;
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
}
private void GetBXSJCL(string sBJFL, ref List<string> ListBXS)
{
ListBXS.Clear();
foreach (string sBJFLID in sBJFL.Split(','))
{
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
//显示表价价差率
if (!bjflxx.XSJCL())
{
if (!ListBXS.Contains(sBJFLID))
ListBXS.Add(sBJFLID);
}
}
}
private void GetBXSZDXJ(string sBJFL, ref List<string> ListBXS)
{
ListBXS.Clear();
foreach (string sBJFLID in sBJFL.Split(','))
{
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
#region 按角色隐藏栏目
//获取需要按角色隐藏的栏目ID列表
string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFLID, IsXJY.Value.Equals("Y"), IsSJY.Value.Equals("Y"), IsHJY.Value.Equals("Y"));
bool bJSYCZDXJ = false;
if (!sHidJSLMList.Trim().Equals(""))
{
string[] sHidJSLMs = sHidJSLMList.Split(',');
for (int i = 0; i < sHidJSLMs.Length; i++)
{
string sLMID = sHidJSLMs[i].Trim();
switch (sLMID)
{
case "XLXSBJDMX_ZDXJ":
bJSYCZDXJ = true;
break;
}
}
}
#endregion
//最低限价
if (!bjflxx.XSZDXJ() || bJSYCZDXJ)
{
if (!ListBXS.Contains(sBJFLID))
ListBXS.Add(sBJFLID);
}
}
}
private void GetBXSLJJCL(string sBJFL, ref List<string> ListBXS)
{
ListBXS.Clear();
foreach (string sBJFLID in sBJFL.Split(','))
{
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
//显示价格表行情料价/显示料价价差率
if (!bjflxx.XSLJJCL())
{
if (!ListBXS.Contains(sBJFLID))
ListBXS.Add(sBJFLID);
}
}
}
private void GetBXSBJDHQLJ(string sBJFL, ref List<string> ListBXS)
{
ListBXS.Clear();
foreach (string sBJFLID in sBJFL.Split(','))
{
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
#region 按角色隐藏栏目
//获取需要按角色隐藏的栏目ID列表
string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFLID, IsXJY.Value.Equals("Y"), IsSJY.Value.Equals("Y"), IsHJY.Value.Equals("Y"));
bool bJSYCBJDHQLJ = false;
if (!sHidJSLMList.Trim().Equals(""))
{
string[] sHidJSLMs = sHidJSLMList.Split(',');
for (int i = 0; i < sHidJSLMs.Length; i++)
{
string sLMID = sHidJSLMs[i].Trim();
switch (sLMID)
{
case "XLXSBJDMX_BJDHQCLCB":
bJSYCBJDHQLJ = true;
break;
}
}
}
#endregion
//显示报价单行情料价
if (!bjflxx.XSBJDHQLJ() || bJSYCBJDHQLJ)
{
if (!ListBXS.Contains(sBJFLID))
ListBXS.Add(sBJFLID);
}
}
}
private void GetBXSTZJG(string sBJFL, ref List<string> ListBXS)
{
ListBXS.Clear();
foreach (string sBJFLID in sBJFL.Split(','))
{
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
//
if (!bjflxx.XSTZCPBJChecked())
{
if (!ListBXS.Contains(sBJFLID))
ListBXS.Add(sBJFLID);
}
}
}
private void GetBXSTZJE(string sBJFL, ref List<string> ListBXS)
{
ListBXS.Clear();
foreach (string sBJFLID in sBJFL.Split(','))
{
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
//显示调整总金额
if (!bjflxx.XSTZBJJEChecked())
{
if (!ListBXS.Contains(sBJFLID))
ListBXS.Add(sBJFLID);
}
}
}
private void GetBXSJGBBJJCE(string sBJFL, ref List<string> ListBXS)
{
ListBXS.Clear();
foreach (string sBJFLID in sBJFL.Split(','))
{
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
//表价价差总额/表价价差额
if (!bjflxx.XSJGBBJJCEChecked())
{
if (!ListBXS.Contains(sBJFLID))
ListBXS.Add(sBJFLID);
}
}
}
private void GetBXSJSJG(string sBJFL, ref List<string> ListBXS)
{
ListBXS.Clear();
foreach (string sBJFLID in sBJFL.Split(','))
{
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
#region 按角色隐藏栏目
//获取需要按角色隐藏的栏目ID列表
string sHidJSLMList = XLBJDUtils.GetHidJSLMList(sBJFLID, IsXJY.Value.Equals("Y"), IsSJY.Value.Equals("Y"), IsHJY.Value.Equals("Y"));
bool bJSYCJSJG = false;
if (!sHidJSLMList.Trim().Equals(""))
{
string[] sHidJSLMs = sHidJSLMList.Split(',');
for (int i = 0; i < sHidJSLMs.Length; i++)
{
string sLMID = sHidJSLMs[i].Trim();
switch (sLMID)
{
case "XLXSBJDMX_JSJG":
bJSYCJSJG = true;
break;
}
}
}
#endregion
//显示结算价
if (!bjflxx.XSJSJ() || bJSYCJSJG)
{
if (!ListBXS.Contains(sBJFLID))
ListBXS.Add(sBJFLID);
}
}
}
#endregion
#region 按钮事件
#region 合并报价、拆分报价
protected void btnHBBJ_Click(object sender, EventArgs e)
{
DoBJDHB_CF("合并");
}
protected void btnCFBJ_Click(object sender, EventArgs e)
{
DoBJDHB_CF("拆分");
}
private void DoBJDHB_CF(string sAct)
{
if (string.IsNullOrEmpty(grdContentGrid.CheckedRowIndexs))
{
ShowMessage("请勾选需要" + sAct + "报价的记录!");
return;
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
DataSet ds = new DataSet();
SQL.Clear();
string sError = "";
string sBJDIDList = "";//记录待合并的报价单号
string sBJDXHList = "";//记录待拆分的报价单序号
//重新生成的序号
string sKHSZDPRO = PageParam.GetRTrimString("KHSZDPRO");
string sKHSZDCITY = PageParam.GetRTrimString("KHSZDCITY");
string sXZQHID = PageParam.GetRTrimString("XZQHID");
if (this.grdContentGrid.CheckBox && !String.IsNullOrEmpty(this.grdContentGrid.CheckedRowIndexs))
{
//成功创建记录标志
string[] RowsArry = this.grdContentGrid.CheckedRowIndexs.Split(new char[] { ',' });
if (sAct == "合并")
{
if (RowsArry.Length < 2)
{
ShowMessage("请勾选至少两条记录!");
return;
}
foreach (string sRowIndex in RowsArry)
{
int iRowIndex = CMISproConvert.StrToInt(sRowIndex.Trim());
sBJDIDList = sBJDIDList + "," + grdContentGrid.DataKeys[iRowIndex]["XLXSBJD_BJDID"].ToString().Trim();
}
sBJDIDList = sBJDIDList.TrimStart(',').TrimEnd(',');
sBJDXHList = "";
}
else
{
foreach (string sRowIndex in RowsArry)
{
int iRowIndex = CMISproConvert.StrToInt(sRowIndex.Trim());
sBJDXHList = sBJDXHList + "," + grdContentGrid.DataKeys[iRowIndex]["XLXSBJDMX_XH"].ToString().Trim();
}
sBJDXHList = sBJDXHList.TrimStart(',').TrimEnd(',');
sBJDIDList = sBJDID;
}
string sNewBJDID = "";
string sJGBID = "";
string sBJRQ = DateTime.Now.ToShortDateString();
Dictionary<string, string> dicJGBID = new Dictionary<string, string>();
SQL.Clear();
SQL.Add(" select XLXSBJD_KH,XLXSBJD_TXY,XLXSBJD_KHLXR ");
SQL.Add(" from XLXSBJD ");
SQL.Add(" where 1=1 ");
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJDID", sBJDIDList));
SQL.Add(" group by XLXSBJD_KH,XLXSBJD_TXY,XLXSBJD_KHLXR ");
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 1)
{
ShowMessage("仅能" + sAct + "“客户”、“销售员”、“客户联系人”相同的记录!");
return;
}
SQL.Clear();
SQL.Add(" select XLXSBJD_BJDID ");
SQL.Add(" from XLXSBJD ");
SQL.Add(" left join TBBJFK on TBBJFK_BJDID = XLXSBJD_BJDID ");
SQL.Add(" where isnull(TBBJFK_TBID, ' ')<>' ' ");
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJD_BJDID", sBJDIDList));
SQL.Add(" order by XLXSBJD_BJDID ");
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
ShowMessage(string.Format("报价单【{0}】已经反馈,不允许{1}!", ds.Tables[0].Rows[0]["XLXSBJD_BJDID"].ToString().Trim(), sAct));
return;
}
try
{
dberp.BeginTrans();
#region 初始校验
XLBJDUtils.GetBJDID(sXZQHID, sBJFLID,sSYDWID, ref sNewBJDID, ref sError);
if (!sError.Equals(""))
{
throw new Exception(sError);
}
if (sNewBJDID.Equals(""))
{
throw new Exception("报价单号为空!");
}
dicJGBID = XLBJDUtils.GetJGBIDByXSQYID("", sBJFLID, sBJRQ, sXSQYID);
foreach (KeyValuePair<string, string> kvp in dicJGBID)
{
if (sJGBID.Equals(""))
{
sJGBID = kvp.Key;
}
}
if (sJGBID.Equals(""))
{
throw new Exception("价格表为空!");
}
#endregion
#region 插入主表信息
SQL.Clear();
SQL.Add("insert into XLXSBJD ");
SQL.Add(" ( ");
SQL.Add(" XLXSBJD_BJDID,XLXSBJD_CLHQJGBID,");
SQL.Add(" XLXSBJD_BJFLID,XLXSBJD_KHID,XLXSBJD_XSQYID,");
SQL.Add(" XLXSBJD_SYDWID,XLXSBJD_XSJLMC,XLXSBJD_TXY,XLXSBJD_XSBMID, ");
SQL.Add(" XLXSBJD_KH,XLXSBJD_KHLXR,XLXSBJD_LXDH,XLXSBJD_CZ,XLXSBJD_PJLX,XLXSBJD_JZBJHS,");
SQL.Add(" XLXSBJD_XMMC,XLXSBJD_XXDZ,XLXSBJD_FKSM,XLXSBJD_BZ,XLXSBJD_ZJE,XLXSBJD_ZZL,");
SQL.Add(" XLXSBJD_LRL,XLXSBJD_FKQXNR,XLXSBJD_YSJDID,XLXSBJD_GYSID,XLXSBJD_YSFY,");
SQL.Add(" XLXSBJD_TJ,XLXSBJD_LJ,XLXSBJD_CZJSXY,XLXSBJD_KHDH,XLXSBJD_XZQHID,XLXSBJD_XMID,");
SQL.Add(" XLXSBJD_SQR,XLXSBJD_SQRGH,XLXSBJD_SQRID,XLXSBJD_SQRQ,");
SQL.Add(" XLXSBJD_BJRQ, XLXSBJD_JGBID,XLXSBJD_ZT,XLXSBJD_YBJDIDS, ");
SQL.Add(" XLXSBJD_WHRID,XLXSBJD_WHR,XLXSBJD_WHSJ ");
SQL.Add(" ) ");
SQL.Add(" select ");
SQL.Add(" :pNewBJDID,XLXSBJD_CLHQJGBID,");
SQL.Add(" XLXSBJD_BJFLID,XLXSBJD_KHID,XLXSBJD_XSQYID,");
SQL.Add(" XLXSBJD_SYDWID,XLXSBJD_XSJLMC,XLXSBJD_TXY,XLXSBJD_XSBMID, ");
SQL.Add(" XLXSBJD_KH,XLXSBJD_KHLXR,XLXSBJD_LXDH,XLXSBJD_CZ,XLXSBJD_PJLX,XLXSBJD_JZBJHS,");
SQL.Add(" XLXSBJD_XMMC,XLXSBJD_XXDZ,XLXSBJD_FKSM,XLXSBJD_BZ,XLXSBJD_ZJE,XLXSBJD_ZZL,");
SQL.Add(" XLXSBJD_LRL,XLXSBJD_FKQXNR,XLXSBJD_YSJDID,XLXSBJD_GYSID,XLXSBJD_YSFY,");
SQL.Add(" XLXSBJD_TJ,XLXSBJD_LJ,XLXSBJD_CZJSXY,XLXSBJD_KHDH,XLXSBJD_XZQHID,XLXSBJD_XMID,");
SQL.Add(" :XLXSBJD_SQR,:XLXSBJD_SQRGH,:XLXSBJD_SQRID,:XLXSBJD_SQRQ,");
SQL.Add(" :XLXSBJD_BJRQ,:XLXSBJD_JGBID,:XLXSBJD_ZT,:XLXSBJD_YBJDIDS, ");
SQL.Add(" :XLXSBJD_WHRID,:XLXSBJD_WHR,:XLXSBJD_WHSJ ");
SQL.Add(" from XLXSBJD ");
SQL.Add(" where 1=1 ");
SQL.Add(" and XLXSBJD_BJDID=:pBJDID ");
SQL.ParamByName("pNewBJDID").Value = sNewBJDID;
SQL.ParamByName("pBJDID").Value = sBJDID;
SQL.ParamByName("XLXSBJD_SQR").Value = tSession.UserName;
SQL.ParamByName("XLXSBJD_SQRGH").Value = tSession.UserId;
SQL.ParamByName("XLXSBJD_SQRID").Value = TRYXX.GetRYXXByGH(tSession.UserId).RYID;
SQL.ParamByName("XLXSBJD_SQRQ").Value = sBJRQ;
SQL.ParamByName("XLXSBJD_BJRQ").Value = sBJRQ;
SQL.ParamByName("XLXSBJD_JGBID").Value = sJGBID;
if (sAct == "合并")
SQL.ParamByName("XLXSBJD_ZT").Value = "H";
else if (sAct == "拆分")
SQL.ParamByName("XLXSBJD_ZT").Value = "C";
SQL.ParamByName("XLXSBJD_YBJDIDS").Value = sBJDIDList;
SQL.ParamByName("XLXSBJD_WHRID").Value = tSession.UserId;
SQL.ParamByName("XLXSBJD_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSBJD_WHSJ").Value = DateTime.Now;
dberp.ExecSQL(SQL);
#endregion
#region 手工生成工作流数据
TWorkflow wf = new TWorkflow(tSession, Cache);
wf.Enabled = true;
wf.UMID = 100860000;
wf.WFNewInst(wf.GetWFID("XLXSBJ_BJD"), tSession.UserId);
wf.dbe.ExecSQL(string.Format("update XLXSBJD set XLXSBJD_WFID='{0}', XLXSBJD_WPID='{1}', XLXSBJD_ACTNAME = '{2}', XLXSBJD_WFAWAITER='{3}', XLXSBJD_WFHANDLER='{4}', XLXSBJD_WFINST={5} where XLXSBJD_BJDID='{6}' ",
wf.WFID, wf.WPID, wf.GetWFActionName(TWFAction.wfaNewInst), wf.Awaiter, wf.Handler, wf.WFInst, sNewBJDID));
#endregion
#region 更新附件
double dFJS = 0;
double[] dGroupIdArray = GetFileIDArray(sBJDIDList, out dFJS);
if (dFJS != 0)
{
double dNewFjs = 0;
double dNewGrpId = CopyAttach(dGroupIdArray, out dNewFjs);
UpdateDocOfBJD(dberp, SQL, sNewBJDID, dNewFjs, dNewGrpId);
}
#endregion
#region 初始化
tmpXSWS = string.IsNullOrEmpty(GetOption(100860000, "BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption(100860000, "BJU002"));
if (tmpXSWS < 0)
{
tmpXSWS = 0;
}
else if (tmpXSWS > 8)
{
tmpXSWS = 8;
}
string sXH = "";
string sXSSX = "";
string sXLXHID = "";
string sXLGGID = "";
string sXLBZID = "";
string sDYDJID = "";
string sJLDW = "";
string sBJSL = "";
double fCLZL = 0;
double dCPJJ = 0;
double dJJ = 0;
double dCLCB = 0;
double dBJDHQCLCB = 0;
string sBJU003 = GetOption(100860000, "BJU003");
string sBJU018 = GetOption(100860000, "BJU018");
//用于传递固定参数计算表价
Dictionary<string, string> dic = new Dictionary<string, string>();
//用于记录RowIndex和XH的关系
string sBJDCP = "";
string sBZ = "";
#endregion
#region 循环插入明细信息
SQL.Clear();
SQL.Add("select ");
SQL.Add(" :pNewBJDID, ");
SQL.Add(" row_number()over(order by XLXSBJDMX_BJDID,XLXSBJDMX_XSSX,XLXSBJDMX_XH) as XH, ");
SQL.Add(" row_number()over(order by XLXSBJDMX_BJDID,XLXSBJDMX_XSSX,XLXSBJDMX_XH) as XSSX, ");
SQL.Add(" XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,");
SQL.Add(" XLXSBJDMX_XLYSID,XLXSBJDMX_CPMLMC,XLXSBJDMX_BJCP,");
SQL.Add(" XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,");
SQL.Add(" XLXSBJDMX_JGBBJ,XLXSBJDMX_TZQCPBJ,XLXSBJDMX_TZCPBJ,");
SQL.Add(" XLXSBJDMX_CPBJ,XLXSBJDMX_TZQBJJE,XLXSBJDMX_TZBJJE,XLXSBJDMX_BJJE,XLXSBJDMX_JGBJJ,XLXSBJDMX_CLCB,");
SQL.Add(" XLXSBJDMX_JGBBJJCL,XLXSBJDMX_JGBBJJCE,XLXSBJDMX_CLZL,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLCBJCL,");
SQL.Add(" XLXSBJDMX_BJCPSD,XLXSBJDMX_BJSDBZ,XLXSBJDMX_CLCBJCLSDBZ,XLXSBJDMX_ZDXJ,XLXSBJDMX_ZDXJJCL,");
SQL.Add(" XLXSBJDMX_BJDID,XLXSBJDMX_XH, ");
//后续增补数据
SQL.Add(" XLXSBJDMX_WGCPBZ, ");
SQL.Add(" XLXSBJDMX_BZ,XLXSBJDMX_WHRID,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ, ");
SQL.Add(" XLXSBJDYZZ0_YZZ01, XLXSBJDYZZ0_YZZ02, XLXSBJDYZZ0_YZZ03,XLXSBJDYZZ0_YZZ04, XLXSBJDYZZ0_YZZ05, ");
SQL.Add(" XLXSBJDYZZ0_YZZ06, XLXSBJDYZZ0_YZZ07, XLXSBJDYZZ0_YZZ08,XLXSBJDYZZ0_YZZ09, XLXSBJDYZZ0_YZZ10,");
SQL.Add(" XLXSBJDYZZ0_YZZ11, XLXSBJDYZZ0_YZZ12, XLXSBJDYZZ0_YZZ13,XLXSBJDYZZ0_YZZ14, XLXSBJDYZZ0_YZZ15, ");
SQL.Add(" XLXSBJDYZZ0_YZZ16, XLXSBJDYZZ0_YZZ17, XLXSBJDYZZ0_YZZ18,XLXSBJDYZZ0_YZZ19, XLXSBJDYZZ0_YZZ20,XLXSBJDMX_ZDXJBJDID,XLXSBJDMX_ZDXJBJDXH ");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" left join XLXSBJDYZZ0 on XLXSBJDYZZ0_BJDID=XLXSBJDMX_BJDID and XLXSBJDYZZ0_XH=XLXSBJDMX_XH");
SQL.Add(" where 1=1 ");
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_BJDID", sBJDIDList));
if (!sBJDXHList.Trim().Equals(""))
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_XH", sBJDXHList));
SQL.Add(" order by XLXSBJDMX_BJDID,XLXSBJDMX_XSSX,XLXSBJDMX_XH ");
SQL.ParamByName("pNewBJDID").Value = sNewBJDID;
ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
SQL.Clear();
sXH = ds.Tables[0].Rows[i]["XH"].ToString().Trim();
sXSSX = ds.Tables[0].Rows[i]["XSSX"].ToString().Trim();
sXLXHID = ds.Tables[0].Rows[i]["XLXSBJDMX_XLXHID"].ToString().Trim();
sXLGGID = ds.Tables[0].Rows[i]["XLXSBJDMX_XLGGID"].ToString().Trim();
sXLBZID = ds.Tables[0].Rows[i]["XLXSBJDMX_XLBZID"].ToString().Trim();
sDYDJID = ds.Tables[0].Rows[i]["XLXSBJDMX_DYDJID"].ToString().Trim().Equals("") ? " " : ds.Tables[0].Rows[i]["XLXSBJDMX_DYDJID"].ToString().Trim();
sJLDW = ds.Tables[0].Rows[i]["XLXSBJDMX_JLDW"].ToString().Trim();
sBJDCP = ds.Tables[0].Rows[i]["XLXSBJDMX_BJCP"].ToString().Trim();
sBJSL = ds.Tables[0].Rows[i]["XLXSBJDMX_BJSL"].ToString().Trim();
sBZ = ds.Tables[0].Rows[i]["XLXSBJDMX_BZ"].ToString().Trim();
#region 根据四要素算表价----参照用量制定-XLBJDInfo.aspx.cs UpdateBJCPByCLCYZD(Line 12249)
fCLZL = 0;
dCPJJ = 0;
dJJ = 0;
dCLCB = 0;
dBJDHQCLCB = 0;
dic.Clear();
dic.Add("sXH", sXH);
dic.Add("fBJSL", sBJSL);
dic.Add("sJLDW", sJLDW);
dic.Add("iXSWS", tmpXSWS.ToString().Trim());
dic.Add("sXSQYID", sXSQYID);
dic.Add("sBJFLID", sBJFLID);
dic.Add("sJGBID", sJGBID);
dic.Add("sBJDHQLY", PageParam.GetRTrimString("BJDHQLY"));
dic.Add("sBJRQ", sBJRQ);
dic.Add("sJGBIDS", PageParam.GetRTrimString("JGBIDS"));
dic.Add("fJZBJHS", PageParam.GetRTrimString("HSBZ"));
dic.Add("sLJJCLLX", PageParam.GetRTrimString("LJJCLLX"));
dic.Add("sJCLLX", PageParam.GetRTrimString("JCLLX"));
dic.Add("sBJLY", PageParam.GetRTrimString("BJLY"));
dic.Add("sJSBLFS", PageParam.GetRTrimString("JSBLFS"));
dic.Add("sTZCLHQ", PageParam.GetRTrimString("NeedUpdBJDHQCLCB"));
dic.Add("sJGCIDS", PageParam.GetRTrimString("JGCIDS"));
dic.Add("sJGBTJYS", PageParam.GetRTrimString("JGBTJYS"));
dic.Add("sTBJCLID", PageParam.GetRTrimString("TBJCLID"));
dic.Add("sLBJCLID", PageParam.GetRTrimString("LBJCLID"));
dic.Add("sTJ", PageParam.GetRTrimString("TJ"));
dic.Add("sLJ", PageParam.GetRTrimString("LJ"));
dic.Add("sBJU003", sBJU003);
dic.Add("sBJU018", sBJU018);
string sWGCPBZ = "N";
string sJGFBZ = "N";
Dictionary<string, double> dicJJYZList_JGE = new Dictionary<string, double>();
XLBJDUtils.UpdateXLXSBJDMX_JGBBJ(dberp, SQL, sBJDID, sXLXHID, sXLGGID, sXLBZID, sDYDJID, dic, ref dCPJJ, ref dJJ, ref dCLCB, ref dBJDHQCLCB, ref fCLZL, ref dicJJYZList_JGE, ref sWGCPBZ, ref sJGFBZ);
if (dicJJYZList_JGE.Count > 0)
{
SQL.Clear();
SQL.Add("insert into XLXSBJDJJYZ(XLXSBJDJJYZ_BJDID,XLXSBJDJJYZ_XH,XLXSBJDJJYZ_YZZ01,XLXSBJDJJYZ_YZZ02,XLXSBJDJJYZ_YZZ03,XLXSBJDJJYZ_YZZ04,");
SQL.Add(" XLXSBJDJJYZ_YZZ05,XLXSBJDJJYZ_YZZ06,XLXSBJDJJYZ_YZZ07,XLXSBJDJJYZ_YZZ08,XLXSBJDJJYZ_YZZ09,XLXSBJDJJYZ_YZZ10)");
SQL.Add(" values(:pBJDID,:pBJDXH,:pYZZ01,:pYZZ02,:pYZZ03,:pYZZ04,:pYZZ05,:pYZZ06,:pYZZ07,:pYZZ08,:pYZZ09,:pYZZ10)");
SQL.ParamByName("pBJDID").Value = sNewBJDID;
SQL.ParamByName("pBJDXH").Value = sXH;
SQL.ParamByName("pYZZ01").Value = dicJJYZList_JGE["JZ01"];
SQL.ParamByName("pYZZ02").Value = dicJJYZList_JGE["JZ02"];
SQL.ParamByName("pYZZ03").Value = dicJJYZList_JGE["JZ03"];
SQL.ParamByName("pYZZ04").Value = dicJJYZList_JGE["JZ04"];
SQL.ParamByName("pYZZ05").Value = dicJJYZList_JGE["JZ05"];
SQL.ParamByName("pYZZ06").Value = dicJJYZList_JGE["JZ06"];
SQL.ParamByName("pYZZ07").Value = dicJJYZList_JGE["JZ07"];
SQL.ParamByName("pYZZ08").Value = dicJJYZList_JGE["JZ08"];
SQL.ParamByName("pYZZ09").Value = dicJJYZList_JGE["JZ09"];
SQL.ParamByName("pYZZ10").Value = dicJJYZList_JGE["JZ10"];
dberp.ExecSQL(SQL);
}
SQL.Clear();
SQL.Add(" insert into XLXSBJDMX( ");
SQL.Add(" XLXSBJDMX_BJDID, XLXSBJDMX_XH,XLXSBJDMX_XSSX, XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID, ");
SQL.Add(" XLXSBJDMX_XLBZID, XLXSBJDMX_DYDJID, XLXSBJDMX_XLYSID, XLXSBJDMX_BJCP, XLXSBJDMX_CPMLMC, ");
SQL.Add(" XLXSBJDMX_JLDW, XLXSBJDMX_BJSL,XLXSBJDMX_XDXLXHID,XLXSBJDMX_XDXLBZID, ");
SQL.Add(" XLXSBJDMX_JGBBJ,XLXSBJDMX_JGBJJ,XLXSBJDMX_CLCB,XLXSBJDMX_BJDHQCLCB,XLXSBJDMX_CLZL, ");
SQL.Add(" XLXSBJDMX_BJSDBZ,XLXSBJDMX_CPBJ, ");
//后续增补数据
SQL.Add(" XLXSBJDMX_WGCPBZ,XLXSBJDMX_JGFBZ, ");
SQL.Add(" XLXSBJDMX_BZ, XLXSBJDMX_DZSC, XLXSBJDMX_WHRID, XLXSBJDMX_WHR, XLXSBJDMX_WHSJ,XLXSBJDMX_ZDXJBJDID,XLXSBJDMX_ZDXJBJDXH )");
SQL.Add(" values(");
SQL.Add(" :pNewBJDID, :XLXSBJDMX_XH, :XLXSBJDMX_XSSX, :XLXSBJDMX_XLXHID, :XLXSBJDMX_XLGGID, ");
SQL.Add(" :XLXSBJDMX_XLBZID, isnull(:XLXSBJDMX_DYDJID,' '), :XLXSBJDMX_XLYSID, :XLXSBJDMX_BJCP, :XLXSBJDMX_CPMLMC, ");
SQL.Add(" :XLXSBJDMX_JLDW, :XLXSBJDMX_BJSL,:XLXSBJDMX_XDXLXHID,:XLXSBJDMX_XDXLBZID, ");
SQL.Add(" :XLXSBJDMX_JGBBJ, :XLXSBJDMX_JGBJJ, :XLXSBJDMX_CLCB, :XLXSBJDMX_BJDHQCLCB, :XLXSBJDMX_CLZL, ");
SQL.Add(" :XLXSBJDMX_BJSDBZ,:XLXSBJDMX_CPBJ, ");
//后续增补数据
SQL.Add(" :XLXSBJDMX_WGCPBZ,:XLXSBJDMX_JGFBZ, ");
SQL.Add(" :XLXSBJDMX_BZ, :XLXSBJDMX_DZSC, :XLXSBJDMX_WHRID, :XLXSBJDMX_WHR, :XLXSBJDMX_WHSJ,:XLXSBJDMX_ZDXJBJDID,:XLXSBJDMX_ZDXJBJDXH )");
SQL.ParamByName("pNewBJDID").Value = sNewBJDID;
SQL.ParamByName("XLXSBJDMX_XH").Value = sXH;
SQL.ParamByName("XLXSBJDMX_XSSX").Value = sXSSX;
SQL.ParamByName("XLXSBJDMX_XLXHID").Value = sXLXHID;
SQL.ParamByName("XLXSBJDMX_XDXLXHID").Value = sXLXHID;
SQL.ParamByName("XLXSBJDMX_XLGGID").Value = sXLGGID;
SQL.ParamByName("XLXSBJDMX_XLBZID").Value = sXLBZID;
SQL.ParamByName("XLXSBJDMX_XDXLBZID").Value = sXLBZID;
SQL.ParamByName("XLXSBJDMX_DYDJID").Value = sDYDJID;
SQL.ParamByName("XLXSBJDMX_XLYSID").Value = XLBJDInfo.GetDefaultYSID(sXLXHID, sXLGGID);
SQL.ParamByName("XLXSBJDMX_BJCP").Value = sBJDCP;
SQL.ParamByName("XLXSBJDMX_CPMLMC").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_CPMLMC"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_JLDW").Value = sJLDW;
SQL.ParamByName("XLXSBJDMX_BJSL").Value = sBJSL;
SQL.ParamByName("XLXSBJDMX_JGBBJ").Value = dCPJJ;
SQL.ParamByName("XLXSBJDMX_JGBJJ").Value = dJJ;
SQL.ParamByName("XLXSBJDMX_CLCB").Value = dCLCB;
SQL.ParamByName("XLXSBJDMX_BJDHQCLCB").Value = dBJDHQCLCB;
SQL.ParamByName("XLXSBJDMX_CLZL").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_CLZL"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_BZ").Value = sBZ;
SQL.ParamByName("XLXSBJDMX_BJSDBZ").Value = "Y";//报价锁定默认为Y
SQL.ParamByName("XLXSBJDMX_CPBJ").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_CPBJ"].ToString().Trim();
//后续增补数据
SQL.ParamByName("XLXSBJDMX_WGCPBZ").Value = sWGCPBZ;
SQL.ParamByName("XLXSBJDMX_JGFBZ").Value = sJGFBZ;
if (XLBJDUtils.ISDZBZ(sXLBZID))
{
SQL.ParamByName("XLXSBJDMX_DZSC").Value = "Y";
}
else
{
SQL.ParamByName("XLXSBJDMX_DZSC").Value = "N";
}
SQL.ParamByName("XLXSBJDMX_WHR").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_WHR"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_WHRID").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_WHRID"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_WHSJ").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_WHSJ"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_ZDXJBJDID").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_ZDXJBJDID"].ToString().Trim();
SQL.ParamByName("XLXSBJDMX_ZDXJBJDXH").Value = ds.Tables[0].Rows[i]["XLXSBJDMX_ZDXJBJDXH"].ToString().Trim();
dberp.ExecSQL(SQL);
#endregion
#region 直接以源报价单因子插入
SQL.Clear();
SQL.Add(" insert into XLXSBJDYZZ0 ");
SQL.Add(" (");
SQL.Add(" XLXSBJDYZZ0_BJDID, XLXSBJDYZZ0_XH, ");
SQL.Add(" XLXSBJDYZZ0_YZZ01, XLXSBJDYZZ0_YZZ02, XLXSBJDYZZ0_YZZ03,XLXSBJDYZZ0_YZZ04, XLXSBJDYZZ0_YZZ05, ");
SQL.Add(" XLXSBJDYZZ0_YZZ06, XLXSBJDYZZ0_YZZ07, XLXSBJDYZZ0_YZZ08,XLXSBJDYZZ0_YZZ09, XLXSBJDYZZ0_YZZ10, ");
SQL.Add(" XLXSBJDYZZ0_YZZ11, XLXSBJDYZZ0_YZZ12, XLXSBJDYZZ0_YZZ13,XLXSBJDYZZ0_YZZ14, XLXSBJDYZZ0_YZZ15, ");
SQL.Add(" XLXSBJDYZZ0_YZZ16, XLXSBJDYZZ0_YZZ17, XLXSBJDYZZ0_YZZ18,XLXSBJDYZZ0_YZZ19, XLXSBJDYZZ0_YZZ20 ");
SQL.Add(" )");
SQL.Add(" values ");
SQL.Add(" (");
SQL.Add(" :pNewBJDID, :XLXSBJDYZZ0_XH, ");
SQL.Add(" :XLXSBJDYZZ0_YZZ01, :XLXSBJDYZZ0_YZZ02, :XLXSBJDYZZ0_YZZ03,:XLXSBJDYZZ0_YZZ04, :XLXSBJDYZZ0_YZZ05, ");
SQL.Add(" :XLXSBJDYZZ0_YZZ06, :XLXSBJDYZZ0_YZZ07, :XLXSBJDYZZ0_YZZ08,:XLXSBJDYZZ0_YZZ09, :XLXSBJDYZZ0_YZZ10, ");
SQL.Add(" :XLXSBJDYZZ0_YZZ11, :XLXSBJDYZZ0_YZZ12, :XLXSBJDYZZ0_YZZ13,:XLXSBJDYZZ0_YZZ14, :XLXSBJDYZZ0_YZZ15, ");
SQL.Add(" :XLXSBJDYZZ0_YZZ16, :XLXSBJDYZZ0_YZZ17, :XLXSBJDYZZ0_YZZ18,:XLXSBJDYZZ0_YZZ19, :XLXSBJDYZZ0_YZZ20 ");
SQL.Add(" )");
SQL.ParamByName("pNewBJDID").Value = sNewBJDID;
SQL.ParamByName("XLXSBJDYZZ0_XH").Value = ds.Tables[0].Rows[i]["XH"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ01").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ01"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ02").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ02"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ03").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ03"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ04").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ04"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ05").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ05"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ06").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ06"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ07").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ07"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ08").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ08"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ09").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ09"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ10").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ10"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ11").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ11"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ12").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ12"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ13").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ13"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ14").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ14"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ15").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ15"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ16").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ16"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ17").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ17"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ18").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ18"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ19").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ19"].ToString().Trim();
SQL.ParamByName("XLXSBJDYZZ0_YZZ20").Value = ds.Tables[0].Rows[i]["XLXSBJDYZZ0_YZZ20"].ToString().Trim();
dberp.ExecSQL(SQL);
#endregion
}
#endregion
#region 同步补充插入XLXSCLQD、XLXSJGBMX中没有的记录
XLBJDInfo.InsertCLQDorJGBMX(sNewBJDID, sJGBID, PageParam.GetRTrimString("JGCIDS"), tSession);
#endregion
#region 同步插入XLXSBJDCLCB、XLXSBJDJJYZ
XLBJDInfo.InsertCLCBandJJYZ(TControlState.ctsInsert, sNewBJDID, sJGBID, tSession.UserId, tSession.UserName,
sBJU003, PageParam.GetRTrimString("HSBZ").Equals("Y"));
#endregion
string sErrorNum = string.Empty;
XLBJDUtils.UpdateXDXLBZID(dberp, SQL, sNewBJDID, "", 0, ref sErrorNum);
#region 计算报价
XLBJDUtils.UpdateBJDMX(dberp, SQL, sBJFLID, sNewBJDID, tmpXSWS, PageParam.GetRTrimString("JCLLX"), PageParam.GetRTrimString("LJJCLLX"), PageParam.GetRTrimString("CPBJMRXSWS"), "", 0);
#endregion
#region 计算最新限价
XLBJDUtils.UpdateZDXJGS(sNewBJDID, sBJFLID, GetOption(100860000, "BJU002"), "", 0);
XLBJDUtils.UpdateJSJGS(sNewBJDID, sBJFLID, GetOption(100860000, "BJU002"), "", 0);
#endregion
#region 短米校验和修正
XLBJDCalcUtils.Check_UpdBJSLYZZ(dberp, SQL, sNewBJDID, sBJFLID, GetOption(100860000, "BJU002"), sBJU003);
#endregion
#region 更新报价单主表记录
XLBJDUtils.UpdateXLXSBJD(dberp, SQL, sNewBJDID, PageParam.GetRTrimString("JCLLX"), PageParam.GetRTrimString("LJJCLLX"), PageParam.GetRTrimString("ZDXJJCLLX"), PageParam.GetRTrimString("JYF"), PageParam.GetRTrimString("YSJDID"),
PageParam.GetRTrimString("GYSID"), PageParam.GetRTrimString("YFWLID"), PageParam.GetRTrimString("BJHYF"));
#endregion
dberp.CommitTrans();
string sWFID = wf.WFID;
string sWFINST = wf.WFInst.ToString().Trim();
TPageParams tpp = new TPageParams();
tpp.UrlPath = "XLBJDInfo.aspx";
tpp.AddString("XLXSBJD_BJDID", sNewBJDID);
tpp.AddString("WFID", sWFID);
tpp.AddString("WFINST", sWFINST);
tpp.CallAction = TPageCallAction.pcaEdit;
OpenModuleDialog(100860000, tpp);
}
catch (Exception ex)
{
dberp.RollbackTrans();
ShowMessage(ex.ToString().Trim());
}
}
}
#endregion
#endregion
#region GridView增加列
/// <summary>
/// 设置etCheckBox列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="Width"></param>
/// <param name="CheckBox"></param>
private void AddColumn(string sDataField, string HeadText, int Width, TEditType TEditType, bool bVisible)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)Width;
Column.HeaderStyle.Width = (Unit)Width;
Column.Visible = bVisible;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <summary>
/// 设置etString列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, int Width, bool bVisible)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)Width;
Column.HeaderStyle.Width = (Unit)Width;
Column.Visible = bVisible;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etString;
ColumnEx.ShowHint = true;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <summary>
/// 设置etNumber列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="NumberDecimalPlace"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, int NumberDecimalPlace, int Width, bool bVisible,bool bShowZero)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)Width;
Column.HeaderStyle.Width = (Unit)Width;
Column.Visible = bVisible;
Column.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etNumber;
ColumnEx.ShowHint = true;
ColumnEx.NumberDecimalPlace = NumberDecimalPlace;
ColumnEx.ShowZero = bShowZero;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <summary>
/// 设置etNumber列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="NumberDecimalPlace"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, int NumberDecimalPlace, int Width, bool bVisible)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)Width;
Column.HeaderStyle.Width = (Unit)Width;
Column.Visible = bVisible;
Column.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etNumber;
ColumnEx.ShowHint = true;
ColumnEx.NumberDecimalPlace = NumberDecimalPlace;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <summary>
/// 设置etNumber列的属性(报价数量)
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="NumberIsQuantity"></param>
/// <param name="NumberDecimalPlace"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, bool NumberIsQuantity, int NumberDecimalPlace, int Width, bool bVisible)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.ItemStyle.Width = (Unit)Width;
Column.HeaderStyle.Width = (Unit)Width;
Column.Visible = bVisible;
Column.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etNumber;
ColumnEx.ShowHint = true;
ColumnEx.NumberIsQuantity = NumberIsQuantity;
ColumnEx.NumberDecimalPlace = NumberDecimalPlace;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
/// <summary>
/// 设置etDateTime列的属性
/// </summary>
/// <param name="sDataField"></param>
/// <param name="HeadText"></param>
/// <param name="DateTimeKind"></param>
/// <param name="Width"></param>
private void AddColumn(string sDataField, string HeadText, int Width, TDateTimeEditKinds DateTimeKind, bool bVisible)
{
BoundField Column = new BoundField();
Column.DataField = sDataField;
Column.HeaderText = HeadText;
Column.Visible = bVisible;
Column.ItemStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72);
Column.HeaderStyle.Width = (Unit)(DateTimeKind == TDateTimeEditKinds.dtDateTime ? 125 : 72);
grdContentGrid.Columns.Add(Column);
gtGridView_Column ColumnEx = new gtGridView_Column();
ColumnEx.DataField = sDataField;
ColumnEx.EditType = TEditType.etDateTime;
ColumnEx.DateTimeEditKins = DateTimeKind;
grdContentGrid.ColumnsEx.Insert(0, ColumnEx);
}
#endregion
}
}