2754 lines
147 KiB
C#
2754 lines
147 KiB
C#
using System;
|
||
using System.Data;
|
||
using System.Configuration;
|
||
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_CONTROL;
|
||
using GThinking.N_MISPRO;
|
||
using GThinking.N_MISPRO.Data;
|
||
using GThinking.N_MISPRO.Utility;
|
||
using GThinking.N_MODEL.Dialog;
|
||
using GThinking.N_WORKFLOW;
|
||
using GThinking.N_MISPRO.TableCache;
|
||
using GThinking.N_MISPRO.MISPROAS;
|
||
using System.Collections;
|
||
using GThinking.N_MODEL.ModelBase;
|
||
using System.Collections.Generic;
|
||
using GThinking.N_PUBLIC;
|
||
using System.Text.RegularExpressions;
|
||
using System.Text;
|
||
using GThinking.N_MISPROAS.SysData;
|
||
|
||
namespace GThinking.N_XLXSBJ
|
||
{
|
||
|
||
public class XLBJBJBO : BOBase
|
||
{
|
||
|
||
#region 自定义方法
|
||
|
||
public List<CPYTInfo> GetCPYTInfoList()
|
||
{
|
||
string sCPMLIDS = "";
|
||
string sAPPCJSXFS = GetAPPCJSXFS(ref sCPMLIDS);
|
||
List<CPYTInfo> rEntity = new List<CPYTInfo>();
|
||
string sSQL = "";
|
||
if (sAPPCJSXFS.Equals("1"))
|
||
{
|
||
sSQL = " select distinct XLCPYT_XSSX,XLXHB_CPYT as XLCPYT_CPYT,XLCPYT_CPYTMC from XLXHB ";
|
||
sSQL += " left join XLCPYT on XLCPYT_CPYT = XLXHB_CPYT ";
|
||
sSQL += " where ISNULL(XLCPYT_CPYT,' ') <> ' ' order by XLCPYT_XSSX,XLXHB_CPYT ";
|
||
}
|
||
else
|
||
{
|
||
sSQL = " select distinct XLXSBJXHML_CPMLID as XLCPYT_CPYT,XLXSCPML_CPMLMC as XLCPYT_CPYTMC from XLXSBJXHML ";
|
||
sSQL += " left join XLXSCPML on XLXSCPML_CPMLID = XLXSBJXHML_CPMLID ";
|
||
sSQL += " where ISNULL(XLXSCPML_CPMLID,' ') <> ' ' ";
|
||
if (!sCPMLIDS.Trim().Equals(""))
|
||
{
|
||
sSQL += " and " + CMISproDataBase.GetWhereEqual("XLXSCPML_CPMLID", sCPMLIDS);
|
||
}
|
||
else
|
||
{
|
||
sSQL += " and XLXSCPML_BJY = 'Y' ";
|
||
}
|
||
sSQL += " order by XLXSBJXHML_CPMLID ";
|
||
}
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(sSQL);
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
CPYTInfo info = new CPYTInfo();
|
||
info.GetType().GetProperty("XLCPYT_CPYT").SetValue(info, ds.Tables[0].Rows[i]["XLCPYT_CPYT"].ToString().Trim(), null);
|
||
info.GetType().GetProperty("XLCPYT_CPYTMC").SetValue(info, ds.Tables[0].Rows[i]["XLCPYT_CPYTMC"].ToString().Trim(), null);
|
||
info.GetType().GetProperty("APPCJSXFS").SetValue(info, sAPPCJSXFS, null);
|
||
info.GetType().GetProperty("DJBJ").SetValue(info, "N", null);
|
||
rEntity.Add(info);
|
||
}
|
||
return rEntity;
|
||
}
|
||
|
||
public List<XLXHInfo> GetXLXHInfoList(string sCPYT, string sXLXHID, string isMHCX)
|
||
{
|
||
string sCPMLIDS = "";
|
||
string sAPPCJSXFS = GetAPPCJSXFS(ref sCPMLIDS);
|
||
List<XLXHInfo> rEntity = new List<XLXHInfo>();
|
||
string sSQL = "";
|
||
if (sAPPCJSXFS.Equals("1"))
|
||
{
|
||
sSQL = "select XLXHB_XLXHID, ' ' as XLXSBJXHML_DYDJID,XLXHB_XLXHID as XLXHB_XLXHMC from XLXHB where 1=1 ";
|
||
sSQL += " and XLXHB_CPYT='" + sCPYT + "'";
|
||
}
|
||
else
|
||
{
|
||
sSQL = " select XLXHB_XLXHID,XLXSBJXHML_DYDJID, case when ISNULL(XLXSBJXHML_DYDJID,' ') = ' ' then XLXHB_XLXHID else rtrim(XLXHB_XLXHID)||'-'|| XLXSBJXHML_DYDJID end as XLXHB_XLXHMC ";
|
||
sSQL += " from XLXHB,XLXSBJXHML where XLXSBJXHML_XLXHID=XLXHB_XLXHID and XLXSBJXHML_CPMLID='" + sCPYT + "' ";
|
||
}
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
if (isMHCX.Equals("Y"))
|
||
{
|
||
sSQL += " and XLXHB_XLXHID like '%" + sXLXHID + "%'";
|
||
}
|
||
else
|
||
{
|
||
sSQL += " and XLXHB_XLXHID = '" + sXLXHID + "'";
|
||
}
|
||
}
|
||
sSQL += " and isnull(XLXHB_TYBZ,'N') <> 'Y' ";
|
||
sSQL += " order by XLXHB_XLXHID ";
|
||
if (sAPPCJSXFS.Equals("2"))
|
||
sSQL += " ,XLXSBJXHML_DYDJID ";
|
||
TWorkflow wf = new TWorkflow(tSession, new System.Web.Caching.Cache());
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(sSQL);
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
XLXHInfo info = new XLXHInfo();
|
||
info.GetType().GetProperty("XLXHB_XLXHID").SetValue(info, ds.Tables[0].Rows[i]["XLXHB_XLXHID"].ToString().Trim(), null);
|
||
info.GetType().GetProperty("XLXSBJXHML_DYDJID").SetValue(info, ds.Tables[0].Rows[i]["XLXSBJXHML_DYDJID"].ToString().Trim(), null);
|
||
info.GetType().GetProperty("XLXHB_XLXHMC").SetValue(info, ds.Tables[0].Rows[i]["XLXHB_XLXHMC"].ToString().Trim(), null);
|
||
rEntity.Add(info);
|
||
}
|
||
return rEntity;
|
||
}
|
||
|
||
public List<XLGGInfo> GetXLGGInfoList(int iStart, int iNum, string sXLXHID, string sDYDJID, string sXLGGID, string sJGBID, string isMHCX, string sCPML, string sBJFLID, out int iRowCount)
|
||
{
|
||
int tmpXSWS = string.IsNullOrEmpty(GetOption("BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption("BJU002"));
|
||
if (tmpXSWS < 0)
|
||
tmpXSWS = 0;
|
||
else if (tmpXSWS > 8)
|
||
tmpXSWS = 8;
|
||
|
||
if (sJGBID.Trim().Equals("DEFAULT"))
|
||
{
|
||
string[] dicBJFL = GetBJFLlist();
|
||
if (dicBJFL.Length > 0)
|
||
{
|
||
sBJFLID = dicBJFL[0].Split('|')[0];
|
||
Dictionary<string, string> dicJGBID = XLBJDUtils.GetJGBIDByXSQYID("手机端价格表报价", sBJFLID, System.DateTime.Now.ToString(), "");
|
||
if (dicJGBID.Count > 0)
|
||
{
|
||
foreach (KeyValuePair<string, string> kvp in dicJGBID)
|
||
{
|
||
sJGBID = kvp.Key;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
sJGBID = "";
|
||
}
|
||
else
|
||
sJGBID = "";
|
||
}
|
||
iRowCount = 0;
|
||
List<XLGGInfo> rEntity = new List<XLGGInfo>();
|
||
if (sJGBID.Trim().Equals(""))
|
||
return rEntity;
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
string sCPMLIDS = "";
|
||
string sBJRQ = DateTime.Now.ToShortDateString().Trim();
|
||
string sJGFID = XLBJDUtils.GetJGFID(sBJRQ);
|
||
string sAPPCJSXFS = GetAPPCJSXFS(ref sCPMLIDS);
|
||
string sFields = @"JGBID,XLXHID,DYDJID,XLGGID,CPJJ,XLBZID,XLBZMC,XSTLJ,TBJCLID,LBJCLID,TJ,LJ,WGCP";
|
||
string sSQL = "";
|
||
int top = iStart + iNum;
|
||
string sCunt = "select count(1) ";
|
||
string sculom = "select top " + top.ToString().Trim() + " JGBID, XLXHID, DYDJID, XLGGID, CPJJ,XLBZID,XLBZMC,XSTLJ,TBJCLID,LBJCLID,TJ,LJ,WGCP ";
|
||
string sOrder = "";
|
||
if (!XLBJDUtils.IsJGEJGB(sJGBID))
|
||
{
|
||
sSQL += " from ( select XLXSJGBMX_JGBID as JGBID, XLXSJGBMX_XLXHID as XLXHID, XLXSJGBMX_DYDJID as DYDJID, XLXSJGBMX_XLGGID as XLGGID, RoundFix(XLXSJGBMX_HSBJ," + tmpXSWS + ") as CPJJ,XLXSJGBMX_XLBZID as XLBZID, XLBZ_XLBZLXMC as XLBZMC,'N' as XSTLJ,' ' as TBJCLID,' ' as LBJCLID,'0' as TJ,'0' as LJ,WGCP,XLXSJGBMX_XSXH,PX,XLGGB_XH as minXH ";
|
||
sSQL += " from ( ";
|
||
sSQL += " select XLXSJGBMX_JGBID,XLXSJGBMX_XH,XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_JLDW,XLXSJGBMX_XSXH,1 as PX,'Y' as WGCP ";
|
||
sSQL += " from XLXSJGBMX left join XLXSBJXLGGTHB XLXSBJXLGGTHB_BJGB on XLXSBJXLGGTHB_BJGB.XLXSBJXLGGTHB_XLGGID = XLXSJGBMX_XLGGID where 1=1 and XLXSJGBMX_JGBID='" + sJGFID + "' ";
|
||
sSQL += " union all ";
|
||
sSQL += " select XLXSJGBMX_JGBID,XLXSJGBMX_XH,XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_JLDW,XLXSJGBMX_XSXH,2 as PX,'N' as WGCP ";
|
||
sSQL += " from XLXSJGBMX left join XLXSBJXLGGTHB XLXSBJXLGGTHB_CJGB on XLXSBJXLGGTHB_CJGB.XLXSBJXLGGTHB_XLGGID = XLXSJGBMX_XLGGID where 1=1 ";
|
||
SQL.Clear();
|
||
SQL.Add("select XLXSCPML_CPMLLX,XLXSJGB_JGCIDS,XLXSJGB_BJLY,XLXSJGB_YXQS,XLXSJGB_YXQZ,XLXSJGB_JGBMC ");
|
||
SQL.Add("from XLXSJGB ");
|
||
SQL.Add("left join XLXSCPML on XLXSCPML_CPMLID=XLXSJGB_CPMLID ");
|
||
SQL.Add("where XLXSJGB_MXBH='JGB' and XLXSJGB_JGBID=:pJGBID ");
|
||
SQL.ParamByName("pJGBID").Value = sJGBID;
|
||
DataSet dsJGB = dberp.OpenDataSet(SQL);
|
||
if (dsJGB.Tables[0].Rows.Count > 0)
|
||
{
|
||
//Y|组合产品目录、N|单一产品目录
|
||
string sCPMLLX = dsJGB.Tables[0].Rows[0]["XLXSCPML_CPMLLX"].ToString().Trim();
|
||
string sJGCIDS = dsJGB.Tables[0].Rows[0]["XLXSJGB_JGCIDS"].ToString().Trim();
|
||
if (sCPMLLX.Equals("Y"))//组合产品目录价格表
|
||
{
|
||
sSQL += (" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGCIDS));
|
||
}
|
||
else
|
||
{
|
||
sSQL += (" and XLXSJGBMX_JGBID='" + sJGBID + "'");
|
||
}
|
||
}
|
||
sSQL += " and not exists(select 1 from XLXSJGBMX B left join XLXSBJXLGGTHB XLXSBJXLGGTHB_BJGB on XLXSBJXLGGTHB_BJGB.XLXSBJXLGGTHB_XLGGID = B.XLXSJGBMX_XLGGID where B.XLXSJGBMX_JGBID='" + sJGFID + "' ";
|
||
sSQL += " and B.XLXSJGBMX_XLXHID = XLXSJGBMX.XLXSJGBMX_XLXHID and XLXSBJXLGGTHB_BJGB.XLXSBJXLGGTHB_XLGGIDCH = XLXSBJXLGGTHB_CJGB.XLXSBJXLGGTHB_XLGGIDCH ";
|
||
sSQL += " and B.XLXSJGBMX_XLBZID = XLXSJGBMX.XLXSJGBMX_XLBZID and B.XLXSJGBMX_DYDJID = XLXSJGBMX.XLXSJGBMX_DYDJID ) ";
|
||
sSQL += " ) C ";
|
||
sSQL += " left join XLXSCLQD on XLXSCLQD_XLXHID=XLXSJGBMX_XLXHID and XLXSCLQD_XLGGID=XLXSJGBMX_XLGGID and XLXSCLQD_XLBZID=XLXSJGBMX_XLBZID and XLXSCLQD_DYDJID=XLXSJGBMX_DYDJID";
|
||
sSQL += " left join XLBZ on XLBZ_XLBZID = XLXSJGBMX_XLBZID ";
|
||
sSQL += " left join XLXHB on XLXHB_XLXHID = XLXSCLQD_XLXHID ";
|
||
sSQL += " left join XLXSBJXLGGTHB XLXSBJXLGGTHB_CLQD on XLXSBJXLGGTHB_CLQD.XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID ";
|
||
sSQL += " left join XLGGB on XLGGB_XLGGID = XLXSBJXLGGTHB_CLQD.XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') ";
|
||
if (sAPPCJSXFS.Equals("2"))
|
||
{
|
||
sSQL += " left join XLXSBJXHML a on a.XLXSBJXHML_XLXHID=XLXSJGBMX_XLXHID and isnull(a.XLXSBJXHML_DYDJID,' ')=' ' ";
|
||
sSQL += " left join XLXSBJXHML b on b.XLXSBJXHML_XLXHID=XLXSJGBMX_XLXHID and isnull(b.XLXSBJXHML_DYDJID,' ') = isnull(XLXSJGBMX_DYDJID, ' ') ";
|
||
}
|
||
if (isMHCX.Equals("Y"))
|
||
{
|
||
sSQL += " where XLXSJGBMX_XLXHID like '%" + sXLXHID + "%' ";
|
||
if (!sXLGGID.Equals(""))
|
||
{
|
||
sSQL += " and (XLXSJGBMX_XLGGID like '%" + sXLGGID + "%' or XLXSJGBMX_XLGGID like '%" + sXLGGID.Replace("*", "×") + "%' or XLXSJGBMX_XLGGID like '%" + sXLGGID.Replace("×", "*") + "%')";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
sSQL += " where XLXSJGBMX_XLXHID = '" + sXLXHID + "' ";
|
||
if (!sXLGGID.Equals(""))
|
||
{
|
||
sSQL += " and (XLXSJGBMX_XLGGID = '" + sXLGGID + "' or XLXSJGBMX_XLGGID = '" + sXLGGID.Replace("*", "×") + "' or XLXSJGBMX_XLGGID = '" + sXLGGID.Replace("×", "*") + "')";
|
||
}
|
||
}
|
||
if (sAPPCJSXFS.Equals("2"))
|
||
{
|
||
if (!sDYDJID.Trim().Equals(""))
|
||
{
|
||
sSQL += " and ISNULL(XLXSJGBMX_DYDJID,' ') = '" + sDYDJID + "' ";
|
||
}
|
||
if (!sCPML.Trim().Equals(""))
|
||
{
|
||
sSQL += " and (case when isnull(b.XLXSBJXHML_CPMLID,' ')<>' ' then b.XLXSBJXHML_CPMLID else isnull(a.XLXSBJXHML_CPMLID,' ') end) = '" + sCPML + "' ";
|
||
}
|
||
if (!sCPMLIDS.Trim().Equals(""))
|
||
{
|
||
sCPMLIDS = SetStr(sCPMLIDS);
|
||
sSQL += " and (case when isnull(b.XLXSBJXHML_CPMLID,' ')<>' ' then b.XLXSBJXHML_CPMLID else isnull(a.XLXSBJXHML_CPMLID,' ') end) in " + sCPMLIDS + " ";
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
sSQL += "from ( select '" + sJGBID + "' as JGBID, XLXSCLQD_XLXHID as XLXHID, XLXSCLQD_DYDJID as DYDJID, XLXSCLQD_XLGGID as XLGGID, RoundFix(XLXSCLQD_HSBJ," + tmpXSWS + ") as CPJJ,XLXSCLQD_XLBZID as XLBZID, XLBZ_XLBZLXMC as XLBZMC,'Y' as XSTLJ,' ' as TBJCLID,' ' as LBJCLID,'0' as TJ,'0' as LJ,WGCP,PX,XLGGB_XH as minXH ";
|
||
sSQL +=" from ( ";
|
||
sSQL +=" select XLXSJGBMX_XH as XLXSCLQD_XH,XLXSJGBMX_XLXHID as XLXSCLQD_XLXHID,XLXSJGBMX_XLGGID as XLXSCLQD_XLGGID, ";
|
||
sSQL +=" XLXSJGBMX_XLBZID as XLXSCLQD_XLBZID,XLXSJGBMX_DYDJID as XLXSCLQD_DYDJID, ";
|
||
sSQL += " XLXSJGBMX_HSBJ as XLXSCLQD_HSBJ,XLXSJGBMX_WSBJ as XLXSCLQD_WSBJ,1 as PX,'Y' as WGCP ";
|
||
sSQL +=" from XLXSJGBMX ";
|
||
sSQL += " where 1=1 and XLXSJGBMX_JGBID='" + sJGFID + "' ";
|
||
sSQL +=" union all ";
|
||
sSQL += " select XLXSCLQD_XH,XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,XLXSCLQD_DYDJID, 0 as XLXSCLQD_HSBJ, 0 as XLXSCLQD_WSBJ,2 as PX,'N' as WGCP ";
|
||
sSQL +=" from XLXSCLQD ";
|
||
sSQL += " left join XLXSBJXLGGTHB XLXSBJXLGGTHB_CLQD on XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID ";
|
||
sSQL +=" where 1=1 and isnull(XLXSCLQD_WPID,'ZZZZ') = 'ZZZZ' ";
|
||
sSQL += " and not exists(select 1 from XLXSJGBMX B left join XLXSBJXLGGTHB XLXSBJXLGGTHB_JGB on XLXSBJXLGGTHB_XLGGID = B.XLXSJGBMX_XLGGID where B.XLXSJGBMX_JGBID='" + sJGFID + "'";
|
||
sSQL += " and B.XLXSJGBMX_XLXHID = XLXSCLQD_XLXHID and XLXSBJXLGGTHB_JGB.XLXSBJXLGGTHB_XLGGIDCH = XLXSBJXLGGTHB_CLQD.XLXSBJXLGGTHB_XLGGIDCH ";
|
||
sSQL +=" and B.XLXSJGBMX_XLBZID = XLXSCLQD_XLBZID and B.XLXSJGBMX_DYDJID = XLXSCLQD_DYDJID ) ";
|
||
sSQL +=" ) C ";
|
||
sSQL += " left join XLBZ on XLBZ_XLBZID = XLXSCLQD_XLBZID ";
|
||
sSQL += " left join XLXHB on XLXHB_XLXHID = XLXSCLQD_XLXHID ";
|
||
sSQL += " left join XLGGB on XLGGB_XLGGID = REPLACE( XLXSCLQD_XLGGID , '*','×') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') ";
|
||
if (sAPPCJSXFS.Equals("2"))
|
||
{
|
||
sSQL += " left join XLXSBJXHML a on a.XLXSBJXHML_XLXHID=XLXSCLQD_XLXHID and isnull(a.XLXSBJXHML_DYDJID,' ')=' ' ";
|
||
sSQL += " left join XLXSBJXHML b on b.XLXSBJXHML_XLXHID=XLXSCLQD_XLXHID and isnull(b.XLXSBJXHML_DYDJID,' ') = isnull(XLXSCLQD_DYDJID, ' ') ";
|
||
}
|
||
sSQL += " where 1=1 ";
|
||
if (isMHCX.Equals("Y"))
|
||
{
|
||
sSQL += " and XLXSCLQD_XLXHID like '%" + sXLXHID + "%' ";
|
||
if (!sXLGGID.Equals(""))
|
||
{
|
||
sSQL += " and (XLXSCLQD_XLGGID like '%" + sXLGGID + "%' or XLXSCLQD_XLGGID like '%" + sXLGGID.Replace("*", "×") + "%' or XLXSCLQD_XLGGID like '%" + sXLGGID.Replace("×", "*") + "%')";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
sSQL += " and XLXSCLQD_XLXHID = '" + sXLXHID + "' ";
|
||
if (!sXLGGID.Equals(""))
|
||
{
|
||
sSQL += " and (XLXSCLQD_XLGGID = '" + sXLGGID + "' or XLXSCLQD_XLGGID = '" + sXLGGID.Replace("*", "×") + "' or XLXSCLQD_XLGGID = '" + sXLGGID.Replace("×", "*") + "')";
|
||
}
|
||
}
|
||
if (sAPPCJSXFS.Equals("2"))
|
||
{
|
||
if (!sDYDJID.Trim().Equals(""))
|
||
{
|
||
sSQL += " and ISNULL(XLXSCLQD_DYDJID,' ') = '" + sDYDJID + "' ";
|
||
}
|
||
if (!sCPML.Trim().Equals(""))
|
||
{
|
||
sSQL += " and (case when isnull(b.XLXSBJXHML_CPMLID,' ')<>' ' then b.XLXSBJXHML_CPMLID else isnull(a.XLXSBJXHML_CPMLID,' ') end) = '" + sCPML + "' ";
|
||
}
|
||
if (!sCPMLIDS.Trim().Equals(""))
|
||
{
|
||
sCPMLIDS = SetStr(sCPMLIDS);
|
||
sSQL += " and (case when isnull(b.XLXSBJXHML_CPMLID,' ')<>' ' then b.XLXSBJXHML_CPMLID else isnull(a.XLXSBJXHML_CPMLID,' ') end) in " + sCPMLIDS + " ";
|
||
}
|
||
}
|
||
}
|
||
sSQL += ") D where 1=1 ";
|
||
if (!XLBJDUtils.IsJGEJGB(sJGBID))
|
||
{
|
||
sOrder += " order by PX,XLXSJGBMX_XSXH ";
|
||
}
|
||
else
|
||
{
|
||
sOrder += " order by PX,XLXHID,minXH,XLGGID,DYDJID ";
|
||
}
|
||
SQL.Clear();
|
||
SQL.Add(sculom + sSQL + sOrder);
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
|
||
TSQL SQLCOUNT = new TSQL(dberp);
|
||
SQLCOUNT.Clear();
|
||
SQLCOUNT.Add(sCunt + sSQL);
|
||
DataSet dsCount = dberp.OpenDataSet(SQLCOUNT);
|
||
if (dsCount.Tables[0].Rows.Count > 0)
|
||
{
|
||
iRowCount = CMISproConvert.StrToInt(dsCount.Tables[0].Rows[0][0].ToString().Trim());
|
||
}
|
||
string sXSTLJ = "N";
|
||
string sTBJCLID = "";
|
||
string sLBJCLID = "";
|
||
string sTJ = "0";
|
||
string sLJ = "0";
|
||
if (XLBJDUtils.IsJGEJGB(sJGBID))
|
||
{
|
||
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
|
||
|
||
sTBJCLID = bjflxx.XLXSBJFL_TBJCLID;
|
||
sLBJCLID = bjflxx.XLXSBJFL_LBJCLID;
|
||
if (!sTBJCLID.Equals("") && !sLBJCLID.Equals(""))
|
||
{
|
||
sXSTLJ = "Y";
|
||
}
|
||
else if (!sTBJCLID.Equals(""))
|
||
{
|
||
sXSTLJ = "T";
|
||
}
|
||
else if (!sLBJCLID.Equals(""))
|
||
{
|
||
sXSTLJ = "L";
|
||
}
|
||
Dictionary<string, string> dicTLJG = XLBJDInfo.GetTLJByRQ(sBJRQ, sBJFLID, true);
|
||
sTJ = dicTLJG["TJ"];
|
||
sLJ = dicTLJG["LJ"];
|
||
}
|
||
int iMax = Math.Min(iStart + iNum, iRowCount);
|
||
for (int i = iStart; i < iMax; i++)
|
||
{
|
||
XLGGInfo info = new XLGGInfo();
|
||
string[] aField = sFields.Split(',');
|
||
foreach (string Field in aField)
|
||
{
|
||
if (Field.Equals("CPJJ"))
|
||
{
|
||
double dCPJJ = NumberUtils.RoundX(CMISproConvert.StrToFloat(ds.Tables[0].Rows[i][Field.Trim()].ToString().Trim()), tmpXSWS);
|
||
info.GetType().GetProperty(Field.Trim()).SetValue(info, XLBJDUtils.strPadRight(dCPJJ.ToString().Trim(), tmpXSWS), null);
|
||
}
|
||
else
|
||
info.GetType().GetProperty(Field.Trim()).SetValue(info, ds.Tables[0].Rows[i][Field.Trim()].ToString().Trim(), null);
|
||
if (XLBJDUtils.IsJGEJGB(sJGBID))
|
||
{
|
||
if (Field.Equals("XSTLJ"))
|
||
{
|
||
info.GetType().GetProperty(Field.Trim()).SetValue(info, sXSTLJ, null);
|
||
}
|
||
if (Field.Equals("TBJCLID"))
|
||
{
|
||
info.GetType().GetProperty(Field.Trim()).SetValue(info, sTBJCLID, null);
|
||
}
|
||
if (Field.Equals("LBJCLID"))
|
||
{
|
||
info.GetType().GetProperty(Field.Trim()).SetValue(info, sLBJCLID, null);
|
||
}
|
||
if (Field.Equals("TJ"))
|
||
{
|
||
info.GetType().GetProperty(Field.Trim()).SetValue(info, sTJ, null);
|
||
}
|
||
if (Field.Equals("LJ"))
|
||
{
|
||
info.GetType().GetProperty(Field.Trim()).SetValue(info, sLJ, null);
|
||
}
|
||
}
|
||
}
|
||
rEntity.Add(info);
|
||
}
|
||
return rEntity;
|
||
}
|
||
|
||
private string GetAPPCJSXFS(ref string sCPMLIDS)
|
||
{
|
||
string sRstr = "1";
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860033);
|
||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_APPCJSXFS))
|
||
sRstr = pzxx.XLXSBJPZ_APPCJSXFS;
|
||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_CPMLIDS))
|
||
sCPMLIDS = pzxx.XLXSBJPZ_CPMLIDS;
|
||
|
||
return sRstr;
|
||
}
|
||
|
||
private string SetStr(string sCPMLIDS)
|
||
{
|
||
string Rstr = "";
|
||
if (!sCPMLIDS.Trim().Equals(""))
|
||
{
|
||
foreach (string str in sCPMLIDS.Split(','))
|
||
{
|
||
if (!Rstr.Equals(""))
|
||
Rstr += ",";
|
||
Rstr += "'" + str.Trim() + "'";
|
||
}
|
||
Rstr = "(" + Rstr + ")";
|
||
}
|
||
return Rstr;
|
||
}
|
||
|
||
public List<XLGGInfo> GetLSXLGGInfoList(string sXLXHGGlist, string sXLXHID, string sXLGGID, string sJGBID)
|
||
{
|
||
int tmpXSWS = string.IsNullOrEmpty(GetOption("BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption("BJU002"));
|
||
if (tmpXSWS < 0)
|
||
tmpXSWS = 0;
|
||
else if (tmpXSWS > 8)
|
||
tmpXSWS = 8;
|
||
|
||
List<XLGGInfo> rEntity = new List<XLGGInfo>();
|
||
string sFields = @"XLXHID, DYDJID, XLGGID, CPJJ, XLBZID, XLBZMC";
|
||
string sSQL = "select XLXSJGBMX_XLXHID as XLXHID, XLXSJGBMX_DYDJID as DYDJID, XLXSJGBMX_XLGGID as XLGGID, RoundFix(XLXSJGBMX_HSBJ," + tmpXSWS + ") as CPJJ,XLXSJGBMX_XLBZID as XLBZID, XLBZ_XLBZLXMC as XLBZMC from XLXSJGBMX left join XLBZ on XLBZ_XLBZID = XLXSJGBMX_XLBZID where 1=1 ";
|
||
|
||
if (!sXLXHGGlist.Equals(""))
|
||
{
|
||
sSQL += " and (";
|
||
string[] XLXHGGlist = sXLXHGGlist.Split(';');
|
||
for (int i = 0; i < XLXHGGlist.Length - 1; i++)
|
||
{
|
||
if (i == 0)
|
||
sSQL += " (XLXSJGBMX_XLXHID = '" + XLXHGGlist[i].Split(',')[0]
|
||
+ "' and (XLXSJGBMX_XLGGID = '" + XLXHGGlist[i].Split(',')[1]
|
||
+ "' or XLXSJGBMX_XLGGID = '" + XLXHGGlist[i].Split(',')[1].Replace("*", "×")
|
||
+ "' or XLXSJGBMX_XLGGID = '" + XLXHGGlist[i].Split(',')[1].Replace("×", "*") + "')) ";
|
||
else
|
||
sSQL += " or (XLXSJGBMX_XLXHID = '" + XLXHGGlist[i].Split(',')[0]
|
||
+ "' and (XLXSJGBMX_XLGGID = '" + XLXHGGlist[i].Split(',')[1]
|
||
+ "' or XLXSJGBMX_XLGGID = '" + XLXHGGlist[i].Split(',')[1].Replace("*", "×")
|
||
+ "' or XLXSJGBMX_XLGGID = '" + XLXHGGlist[i].Split(',')[1].Replace("×", "*") + "')) ";
|
||
|
||
}
|
||
sSQL += " )";
|
||
}
|
||
|
||
if (!sXLXHID.Equals(""))
|
||
{
|
||
sSQL += " and XLXSJGBMX_XLXHID = '" + sXLXHID + "' ";
|
||
}
|
||
if (!sXLGGID.Equals(""))
|
||
{
|
||
sSQL += " and (XLXSJGBMX_XLGGID = '" + sXLGGID + "' or XLXSJGBMX_XLGGID = '" + sXLGGID.Replace("*", "×") + "' or XLXSJGBMX_XLGGID = '" + sXLGGID.Replace("×", "*") + "')";
|
||
}
|
||
sSQL += " and XLXSJGBMX_JGBID = '" + sJGBID + "'";
|
||
sSQL += " order by XLXSJGBMX_XH ";
|
||
TWorkflow wf = new TWorkflow(tSession, new System.Web.Caching.Cache());
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
SQL.Clear();
|
||
SQL.Add(sSQL);
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
XLGGInfo info = new XLGGInfo();
|
||
string[] aField = sFields.Split(',');
|
||
foreach (string Field in aField)
|
||
{
|
||
info.GetType().GetProperty(Field.Trim()).SetValue(info, ds.Tables[0].Rows[i][Field.Trim()].ToString().Trim(), null);
|
||
}
|
||
rEntity.Add(info);
|
||
}
|
||
return rEntity;
|
||
}
|
||
|
||
public List<JGBInfo> GetJGBInfoList(string sBJFLID)
|
||
{
|
||
List<JGBInfo> rEntity = new List<JGBInfo>();
|
||
Dictionary<string, string> dicJGBID = XLBJDUtils.GetJGBIDByXSQYID("手机端价格表报价", sBJFLID, System.DateTime.Now.ToString(), "");
|
||
foreach (KeyValuePair<string, string> kvp in dicJGBID)
|
||
{
|
||
JGBInfo info = new JGBInfo();
|
||
info.JGBID = kvp.Key;
|
||
info.JGBMC = kvp.Value;
|
||
rEntity.Add(info);
|
||
}
|
||
if (rEntity.Count == 0)
|
||
{
|
||
JGBInfo info = new JGBInfo();
|
||
rEntity.Add(info);
|
||
}
|
||
return rEntity;
|
||
}
|
||
|
||
public string[] GetBJFLlist()
|
||
{
|
||
|
||
string[] sBJFLlist;
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sql = new TSQL(dberp);
|
||
DataSet ds = null;
|
||
//检查是否经销商报价
|
||
sql.Clear();
|
||
sql.Add("select JXSXX_KHID,JXSXX_XSQYID from JXSXX where JXSXX_GH=:pGH order by JXSXX_KHID");
|
||
sql.ParamByName("pGH").Value = tSession.UserId;
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//根据找到的JXSXX_KHID匹配XLXSBJFL_KHIDS,得到报价分类可选项
|
||
sql.Clear();
|
||
sql.Add("select XLXSBJFL_BJFLID,XLXSBJFL_BJFLMC from XLXSBJFL where isnull(XLXSBJFL_TYBZ,' ')<>'Y'");
|
||
sql.Add(" and ( exists(select 1 from XLXSBJFLKH where XLXSBJFLKH_BJFLID=XLXSBJFL_BJFLID and XLXSBJFLKH_KHID=:pKHID) ");
|
||
sql.Add(" or not exists(select 1 from XLXSBJFLKH where XLXSBJFLKH_BJFLID=XLXSBJFL_BJFLID) ) ");
|
||
if (!GetOption("BJU012").Equals(""))
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJFL_BJFLID", GetOption("BJU012")));
|
||
sql.Add(" order by XLXSBJFL_XSXH,XLXSBJFL_BJFLID ");
|
||
sql.ParamByName("pKHID").Value = ds.Tables[0].Rows[0]["JXSXX_KHID"].ToString().Trim();
|
||
ds = null;
|
||
ds = dberp.OpenDataSet(sql);
|
||
sBJFLlist = new string[ds.Tables[0].Rows.Count];
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sBJFLlist[i] = ds.Tables[0].Rows[i]["XLXSBJFL_BJFLID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["XLXSBJFL_BJFLMC"].ToString().Trim();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
sql.Clear();
|
||
sql.Add("select XLXSBJFL_BJFLID, XLXSBJFL_BJFLMC from XLXSBJFL where isnull(XLXSBJFL_TYBZ,'N')<>'Y' ");
|
||
if (!GetOption("BJU012").Equals(""))
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJFL_BJFLID", GetOption("BJU012")));
|
||
sql.Add(" order by XLXSBJFL_XSXH,XLXSBJFL_BJFLID ");
|
||
ds = null;
|
||
ds = dberp.OpenDataSet(sql);
|
||
sBJFLlist = new string[ds.Tables[0].Rows.Count];
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
sBJFLlist[i] = ds.Tables[0].Rows[i]["XLXSBJFL_BJFLID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["XLXSBJFL_BJFLMC"].ToString().Trim();
|
||
}
|
||
}
|
||
|
||
return sBJFLlist;
|
||
}
|
||
|
||
//数量、型号、规格、电压等级、报价分类、表价
|
||
public string GetYZZ(string cs_SL, string cs_XLXHID, string cs_XLGGID, string cs_DYDJID, string cs_XLBZID, string cs_WGCP, string cs_BJFLID, string cs_BJ, string cs_JGBID, string cs_TBJCLID, string cs_TJ, string cs_LBJCLID, string cs_LJ)
|
||
{
|
||
string result = "";
|
||
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
|
||
|
||
string sBJU003 = tSession.GetOption(100860000, "BJU003");
|
||
//报价分类----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
string sBJFLID = cs_BJFLID;
|
||
int tmpXSWS = string.IsNullOrEmpty(GetOption("BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption("BJU002"));
|
||
if (tmpXSWS < 0)
|
||
tmpXSWS = 0;
|
||
else if (tmpXSWS > 8)
|
||
tmpXSWS = 8;
|
||
|
||
if (cs_JGBID.Trim().Equals("DEFAULT"))
|
||
{
|
||
|
||
Dictionary<string, string> dicJGBID = XLBJDUtils.GetJGBIDByXSQYID("手机端价格表报价", sBJFLID, System.DateTime.Now.ToString(), "");
|
||
if (dicJGBID.Count > 0)
|
||
{
|
||
foreach (KeyValuePair<string, string> kvp in dicJGBID)
|
||
{
|
||
cs_JGBID = kvp.Key;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
cs_JGBID = "";
|
||
}
|
||
|
||
//数量、型号、规格
|
||
double dBJSL = CMISproConvert.StrToFloat(cs_SL);
|
||
string sXLXHID = cs_XLXHID;
|
||
string sXLGGID = cs_XLGGID;
|
||
string sXLBZID = cs_XLBZID;
|
||
string sDYDJID = cs_DYDJID;
|
||
string sJGBID = cs_JGBID.Trim();
|
||
double dCPBJ = CMISproConvert.StrToFloat(cs_BJ, 0);
|
||
string sBJRQ = DateTime.Now.ToShortDateString().Trim();
|
||
#region 如果是JGE价格表则重新计算表价
|
||
|
||
if (XLBJDUtils.IsJGEJGB(cs_JGBID))
|
||
{
|
||
if (XLBJDUtils.IsJGFJGBMX(sBJRQ, sXLXHID, sXLGGID, sXLBZID, sDYDJID))
|
||
{
|
||
double dJGFJJ = 0;
|
||
double dJGFBJ = 0;
|
||
string sJGFJLDW = "";
|
||
XLBJDUtils.GetJGBJJ_JGF(sBJRQ, sXLXHID, sXLGGID, sXLBZID, sDYDJID, true, "N", ref dJGFJJ, ref dJGFBJ, ref sJGFJLDW);
|
||
cs_BJ = dJGFBJ.ToString().Trim();
|
||
}
|
||
else
|
||
{
|
||
if (cs_TJ.Equals(""))
|
||
cs_TJ = "0";
|
||
if (cs_LJ.Equals(""))
|
||
cs_LJ = "0";
|
||
Dictionary<string, double> dicJGE = XLBJDUtils.GetCLCB_JGE(DateTime.Now.ToShortDateString().Trim(), sXLXHID, sXLGGID, sXLBZID, sDYDJID, cs_TBJCLID, cs_LBJCLID, cs_TJ, cs_LJ, true, false, "");
|
||
bool JgIsZero = dicJGE["JgIsZero"] == 1 ? true : false;
|
||
string sCLCB = dicJGE["CLCB"].ToString();
|
||
DataSet dsJGBYZ = new DataSet();
|
||
string sJGBTJYSS = "";
|
||
//计算公式以及因子的输出
|
||
Dictionary<string, string> dicJGBTZYZGS_JGE = new Dictionary<string, string>();
|
||
//记录价格表调价因素相关信息-线缆基本信息
|
||
Dictionary<string, string> dicXLJBXX_JGE = new Dictionary<string, string>();
|
||
XLBJDUtils.GetdsJGBYZ_JGE(sJGBID, ref dsJGBYZ);
|
||
sJGBTJYSS = XLBJDUtils.GetJGBTJYSSByBJFLID(sBJFLID);
|
||
|
||
dicXLJBXX_JGE.Clear();
|
||
dicXLJBXX_JGE.Add("XLXHID", sXLXHID);
|
||
dicXLJBXX_JGE.Add("XLGGID", sXLGGID);
|
||
dicXLJBXX_JGE.Add("XLBZID", sXLBZID);
|
||
dicXLJBXX_JGE.Add("DYDJID", sDYDJID);
|
||
dicXLJBXX_JGE.Add("BJDJLDWHSBL", "1");//材料清单计量单位与报价单计量单位一致,均为BJU003,所以换算倍率固定为1
|
||
dicJGBTZYZGS_JGE = XLBJDUtils.GetJGBTZYZ_JGE(sJGBID, "0", dsJGBYZ, dicXLJBXX_JGE);
|
||
sCLCB = NumberUtils.RoundX(CMISproConvert.StrToFloat(sCLCB), tmpXSWS).ToString().Trim();
|
||
double dZBZ = NumberUtils.RoundX(CMISproConvert.StrToFloat(sCLCB), tmpXSWS);
|
||
if (sJGBTJYSS.Equals("1"))
|
||
{
|
||
string sTmpGS = "";
|
||
string sJSGS = dicJGBTZYZGS_JGE["JSGS"].Trim();
|
||
if (sJSGS.Equals(""))
|
||
{
|
||
if (dicJGBTZYZGS_JGE["JJFirst"].Equals("1"))
|
||
{
|
||
sTmpGS = "(" + sCLCB + "+" + dicJGBTZYZGS_JGE["JJ"] + ")*(" + dicJGBTZYZGS_JGE["JD"] + ")*(" + dicJGBTZYZGS_JGE["KD"] + ")*(" + dicJGBTZYZGS_JGE["SX"] + ")";
|
||
}
|
||
else
|
||
{
|
||
sTmpGS = sCLCB + "*(" + dicJGBTZYZGS_JGE["JD"] + ")*(" + dicJGBTZYZGS_JGE["KD"] + ")*(" + dicJGBTZYZGS_JGE["SX"] + ")+(" + dicJGBTZYZGS_JGE["JJ"] + ")";
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
sTmpGS = sJSGS.Replace("JGBJJ", sCLCB);
|
||
}
|
||
gtExpression exp = new gtExpression();
|
||
try
|
||
{
|
||
dZBZ = NumberUtils.RoundX(exp.Evaluate(sTmpGS), 15);
|
||
}
|
||
catch
|
||
{
|
||
dZBZ = 0;
|
||
}
|
||
}
|
||
|
||
if (JgIsZero)//若存在有材料用量、无材料价格的情况,则算出的表价、报价单行情料价改为负数显示
|
||
{
|
||
cs_BJ = FloatToString(dZBZ * (-1), tmpXSWS);
|
||
}
|
||
else
|
||
{
|
||
cs_BJ = FloatToString(dZBZ, tmpXSWS);
|
||
}
|
||
}
|
||
}
|
||
|
||
dCPBJ = CMISproConvert.StrToFloat(cs_BJ, 0);
|
||
|
||
#endregion
|
||
|
||
if (!cs_SL.Equals("") && !cs_SL.Equals("0"))
|
||
{
|
||
Dictionary<string, string> dicXLGGB = XLBJDUtils.GetXXJGIDByXLGGID(sXLGGID, sXLXHID);
|
||
|
||
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
string sXSQYID = "";
|
||
string fZXJM = dicXLGGB["ZXJM"];
|
||
string sXXJGID = dicXLGGB["XXJGID"];
|
||
Dictionary<string, string> dicBJDYZ = XLBJDUtils.GetBJDYZ(sBJFLID);
|
||
string sTJYSList = dicBJDYZ["TJYSList"];
|
||
#region 获取报价单调价因子以及调整过程
|
||
//获取调价因素为空的因子值
|
||
Dictionary<string, double> dicYZZ0 = XLBJDUtils.GetBJDYZZ0(sBJFLID, cs_WGCP.Equals("Y"), false, sBJU003, sBJU003,sXLXHID,sXLGGID,sXLBZID,sDYDJID);
|
||
//重新获取按“1|付款方式”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ1 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",1,"))
|
||
{
|
||
dicYZZ1 = XLBJDUtils.InitdicYZZ(sBJFLID, "1");
|
||
}
|
||
//报价数量变化,重新获取按“2|导体材料&电压区间&报价数量区间”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ2 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",2,"))
|
||
{
|
||
dicYZZ2 = XLBJDUtils.GetBJDYZZ2(sBJFLID, sDYDJID, dBJSL, sXLXHID, sBJU003, sBJU003, sXLGGID, sXLBZID);
|
||
}
|
||
//重新获取按“3|产品用途&电压等级分类&报价数量区间”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ3 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",3,"))
|
||
{
|
||
dicYZZ3 = XLBJDUtils.GetBJDYZZ3(sBJFLID, dBJSL, sXLXHID, sXLGGID,sXLBZID, sDYDJID, sBJU003, sBJU003);
|
||
}
|
||
//重新获取按“E|型号&电压等级&主芯截面范围&报价数量区间”设置的调价因子值
|
||
Dictionary<string, double> dicYZZE = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",E,"))
|
||
{
|
||
dicYZZE = XLBJDUtils.GetBJDYZZE(sBJFLID, sXLXHID, sDYDJID, CMISproConvert.StrToFloat(fZXJM), dBJSL, sBJU003, sBJU003, sXLGGID, sXLBZID);
|
||
}
|
||
Dictionary<string, double> dicYZZG = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",G,"))
|
||
{
|
||
dicYZZG = XLBJDUtils.GetBJDYZZG(sBJFLID, sXLXHID, sDYDJID,sXXJGID, CMISproConvert.StrToFloat(fZXJM), dBJSL, sBJU003, sBJU003);
|
||
}
|
||
//重新获取按“F|电压等级&芯线结构&报价数量区间/报价数量”设置的调价因子值
|
||
Dictionary<string, double> dicYZZF = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",F,"))
|
||
{
|
||
dicYZZF = XLBJDUtils.GetBJDYZZF(sBJFLID, sXLXHID, sDYDJID, sXXJGID, dBJSL, sBJU003, sBJU003);
|
||
}
|
||
Dictionary<string, double> dicYZZH = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",H,"))
|
||
{
|
||
dicYZZH = XLBJDUtils.GetBJDYZZH(sBJFLID, sXLXHID, sDYDJID, XLBJDInfo.GetDefaultYSID(sXLXHID, sXLGGID), CMISproConvert.StrToFloat(fZXJM), dBJSL, sBJU003, sBJU003);
|
||
}
|
||
|
||
Dictionary<string, double> dicYZZK = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",K,"))
|
||
{
|
||
dicYZZK = XLBJDUtils.GetBJDYZZK(sBJFLID, dBJSL, sBJU003, sBJU003, sXLXHID, sXLGGID, sXLBZID, sDYDJID);
|
||
}
|
||
|
||
//重新获取按“4|型号”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ4 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",4,"))
|
||
{
|
||
dicYZZ4 = XLBJDUtils.GetBJDYZZ4(sBJFLID, sXLXHID, sBJU003, sBJU003, sXLGGID, sXLBZID, sDYDJID);
|
||
}
|
||
//重新获取按“5|销售区域&型号&标准&电压等级&主芯截面范围”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ5 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",5,"))
|
||
{
|
||
dicYZZ5 = XLBJDUtils.GetBJDYZZ5(sBJFLID, sXSQYID, sXLXHID, sXLBZID, sDYDJID, CMISproConvert.StrToFloat(fZXJM), sBJU003, sBJU003, sXLGGID);
|
||
}
|
||
//重新获取按“6|报价数量区间调价米数/报价数量”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ6 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",6,"))
|
||
{
|
||
dicYZZ6 = XLBJDUtils.GetBJDYZZ6(sBJFLID, dBJSL, sBJU003, sBJU003);
|
||
}
|
||
//重新获取按“7|型号&电压等级&芯线结构&主芯截面范围”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ7 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",7,"))
|
||
{
|
||
dicYZZ7 = XLBJDUtils.GetBJDYZZ7(sBJFLID, sXLXHID, sDYDJID, sXXJGID, CMISproConvert.StrToFloat(fZXJM), sBJU003, sBJU003, sXLGGID, sXLBZID);
|
||
}
|
||
//重新获取按“8|付款期限”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ8 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",8,"))
|
||
{
|
||
dicYZZ8 = XLBJDUtils.InitdicYZZ(sBJFLID, "8");
|
||
}
|
||
|
||
//重新获取按“9|导体材料&产品用途&电压等级分类&产品特性”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ9 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",9,"))
|
||
{
|
||
dicYZZ9 = XLBJDUtils.GetBJDYZZ9(sBJFLID, sXLXHID, sDYDJID, sBJU003, sBJU003, sXLGGID, sXLBZID);
|
||
}
|
||
|
||
//重新获取按“A|型号&规格&电压&标准”设置的调价因子值
|
||
Dictionary<string, double> dicYZZA = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",A,"))
|
||
{
|
||
dicYZZA = XLBJDUtils.GetBJDYZZA(sBJFLID, sXLXHID, sXLGGID, sXLBZID, sDYDJID, sBJU003, sBJU003);
|
||
}
|
||
|
||
Dictionary<string, double> dicYZZBZPF = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",BZPF,"))
|
||
{
|
||
//包装盘费
|
||
string sBZPFYZID = XLBJDUtils.GetBJFLSYBZPFYZID(sBJFLID);
|
||
if (!sBZPFYZID.Equals(""))
|
||
{
|
||
sBZPFYZID = sBZPFYZID.Split('|')[0];
|
||
|
||
dicYZZBZPF = XLBJDUtils.GetBJDBZPFYZZ(sBZPFYZID, sXLXHID, sXLGGID, sXLBZID, sDYDJID, sBJU003, sBJU003);
|
||
}
|
||
}
|
||
|
||
Dictionary<string, double> dicYZZCPWJPF = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",CPWJPF,"))
|
||
{
|
||
//产品外径盘费
|
||
string sCPWJPFYZID = XLBJDUtils.GetBJFLSYCPWJPFYZID(sBJFLID);
|
||
if (!sCPWJPFYZID.Equals(""))
|
||
{
|
||
sCPWJPFYZID = sCPWJPFYZID.Split('|')[0];
|
||
|
||
dicYZZCPWJPF = XLBJDUtils.GetBJDCPWJPFYZZ(sCPWJPFYZID, sXLXHID, sXLGGID, sXLBZID, sDYDJID, sBJU003, sBJU003,dBJSL);
|
||
}
|
||
}
|
||
|
||
//重新获取按“B|销售单位”设置的调价因子值
|
||
Dictionary<string, double> dicYZZB = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",B,"))
|
||
{
|
||
dicYZZB = XLBJDUtils.InitdicYZZ(sBJFLID, "B");
|
||
}
|
||
//获取按“C|产品目录&主芯截面范围&产品特性”因子值
|
||
Dictionary<string, double> dicYZZC = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",C,"))
|
||
{
|
||
dicYZZC = XLBJDUtils.GetBJDYZZC(" ", sBJFLID, sXLXHID, sDYDJID, CMISproConvert.StrToFloat(fZXJM), sBJU003, sBJU003, sXLGGID, sXLBZID);
|
||
}
|
||
//重新获取按“D|颜色”设置的调价因子值
|
||
Dictionary<string, double> dicYZZD = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",D,"))
|
||
{
|
||
dicYZZD = XLBJDUtils.GetBJDYZZD(sBJFLID, XLBJDInfo.GetDefaultYSID(sXLXHID, sXLGGID), sBJU003, sBJU003, sXLXHID, sXLGGID, sXLBZID, sDYDJID);
|
||
}
|
||
|
||
string result0, result1, result2, result3, result4, result5, result6, result7, result8, result9, resultA, resultB, resultC, resultD, resultE, resultF, resultG, resultH, resultBZPF, resultCPWJPF;
|
||
result0 = result1 = result2 = result3 = result4 = result5 = result6 = result7 = result8 = result9 = resultA = resultB = resultC = resultD = resultE = resultF = resultG = resultH = resultBZPF = resultCPWJPF = "";
|
||
foreach (string sTJYZID in dicYZZBZPF.Keys)
|
||
{
|
||
resultBZPF += "TZYZ_" + sTJYZID + "=" + dicYZZBZPF[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ7[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZCPWJPF.Keys)
|
||
{
|
||
resultBZPF += "TZYZ_" + sTJYZID + "=" + dicYZZCPWJPF[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ7[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZ0.Keys)
|
||
{
|
||
if (resultBZPF.Contains("TZYZ_" + sTJYZID))
|
||
continue;
|
||
if (resultCPWJPF.Contains("TZYZ_" + sTJYZID))
|
||
continue;
|
||
result1 += "TZYZ_" + sTJYZID + "=" + dicYZZ0[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ0[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZ2.Keys)
|
||
{
|
||
result2 += "TZYZ_" + sTJYZID + "=" + dicYZZ2[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ2[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZ3.Keys)
|
||
{
|
||
result3 += "TZYZ_" + sTJYZID + "=" + dicYZZ3[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ3[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZ4.Keys)
|
||
{
|
||
result4 += "TZYZ_" + sTJYZID + "=" + dicYZZ4[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ4[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZ5.Keys)
|
||
{
|
||
result5 += "TZYZ_" + sTJYZID + "=" + dicYZZ5[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ5[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZ6.Keys)
|
||
{
|
||
result6 += "TZYZ_" + sTJYZID + "=" + dicYZZ6[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ6[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZ7.Keys)
|
||
{
|
||
result7 += "TZYZ_" + sTJYZID + "=" + dicYZZ7[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ7[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZ8.Keys)
|
||
{
|
||
result8 += "TZYZ_" + sTJYZID + "=" + dicYZZ8[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ7[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZ9.Keys)
|
||
{
|
||
result9 += "TZYZ_" + sTJYZID + "=" + dicYZZ9[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ7[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZA.Keys)
|
||
{
|
||
resultA += "TZYZ_" + sTJYZID + "=" + dicYZZA[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ7[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZB.Keys)
|
||
{
|
||
resultB += "TZYZ_" + sTJYZID + "=" + dicYZZB[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ7[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZC.Keys)
|
||
{
|
||
resultC += "TZYZ_" + sTJYZID + "=" + dicYZZC[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ7[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZD.Keys)
|
||
{
|
||
resultD += "TZYZ_" + sTJYZID + "=" + dicYZZD[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ7[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZE.Keys)
|
||
{
|
||
resultE += "TZYZ_" + sTJYZID + "=" + dicYZZE[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ7[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZK.Keys)
|
||
{
|
||
resultE += "TZYZ_" + sTJYZID + "=" + dicYZZK[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ7[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZG.Keys)
|
||
{
|
||
resultG += "TZYZ_" + sTJYZID + "=" + dicYZZG[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ7[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZF.Keys)
|
||
{
|
||
resultF += "TZYZ_" + sTJYZID + "=" + dicYZZF[sTJYZID].ToString() + ";";
|
||
//e.ResultPairs.Add("TZYZ_" + sTJYZID, dicYZZ7[sTJYZID].ToString());
|
||
|
||
}
|
||
foreach (string sTJYZID in dicYZZH.Keys)
|
||
{
|
||
resultH += "TZYZ_" + sTJYZID + "=" + dicYZZH[sTJYZID].ToString() + ";";
|
||
|
||
}
|
||
result += (result0 + result1 + result2 + result3 + result4 + result5 + result6 + result7 + result8
|
||
+ result9 + resultA + resultB + resultC + resultD + resultE + resultF + resultG + resultH + resultBZPF + resultCPWJPF);
|
||
|
||
|
||
|
||
//获取YZID对应的TJYZID
|
||
Dictionary<string, string> dicTJYZID = XLBJDUtils.GetTJYZIDXX("BJD");
|
||
Dictionary<string, double> dicTJYZIDValue = new Dictionary<string, double>();
|
||
//获取YZID对应的TYZZYZID
|
||
Dictionary<string, string> dicTYZZYZID = XLBJDUtils.GetTYZZYZIDXX("BJD");
|
||
Dictionary<string, double> dicTYZZYZIDValue = new Dictionary<string, double>();
|
||
string sBJDYZText = dicBJDYZ["BJDYZ"];
|
||
string[] sBJDYZ = sBJDYZText.Split(',');
|
||
#region 初次将所“2|调因子值”因子纳入dicTYZZYZIDValue
|
||
for (int i = 0; i < sBJDYZ.Length; i++)
|
||
{
|
||
string sFieldName = "TZYZ_" + sBJDYZ[i].Split('|')[0].Trim();
|
||
if (XLBJDInfo.dicValueContained(dicTYZZYZID, sFieldName.Substring(5)))
|
||
{
|
||
if (dicYZZBZPF.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZBZPF[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZBZPF[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZCPWJPF.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZCPWJPF[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZCPWJPF[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ0.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ0[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ0[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ1.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ1[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ1[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ2.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ2[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ2[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ3.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ3[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ3[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZE.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZE[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZE[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZK.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZK[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZK[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZG.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZG[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZG[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZF.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZF[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZF[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZH.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZH[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZH[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ4.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ4[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ4[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ5.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ5[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ5[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ6.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ6[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ6[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ7.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ7[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ7[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ8.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ8[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ8[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ9.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ9[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ9[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZA.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZA[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZA[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZB.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZB[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZB[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZC.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZC[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZC[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZD.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZD[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZD[sFieldName.Substring(5)];
|
||
}
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region 初次将所有的因子纳入dicTJYZIDValue
|
||
for (int i = 0; i < sBJDYZ.Length; i++)
|
||
{
|
||
string sFieldName = "TZYZ_" + sBJDYZ[i].Split('|')[0].Trim();
|
||
//string sColName = QueryGrid.Columns[i].HeaderText.Trim().Replace("()", "").Replace("(%)", "").Replace("(元)", "");
|
||
if (dicTJYZID.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
string tmpTJYZID = dicTJYZID[sFieldName.Substring(5)];
|
||
if (dicYZZBZPF.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZBZPF[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZCPWJPF.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZCPWJPF[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ0.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ0[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ1.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ1[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ2.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ2[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ3.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ3[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZE.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZE[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZK.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZK[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZG.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZG[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZF.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZF[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZH.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZH[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ4.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ4[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ5.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ5[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ6.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ6[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ7.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ7[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ8.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ8[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ9.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ9[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZA.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZA[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZB.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZB[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZC.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZC[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZD.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZD[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
|
||
|
||
string sCPBJMRXSWS = bjflxx.XLXSBJFL_CPBJMRXSWS;
|
||
string sTZQCPBJGS = XLBJDUtils.GetTZQCPBJGS(sBJFLID);
|
||
|
||
if (!sTZQCPBJGS.Equals(""))
|
||
{
|
||
sTZQCPBJGS = sTZQCPBJGS.Replace("JGBBJ", dCPBJ.ToString());
|
||
sTZQCPBJGS = sTZQCPBJGS.Replace(" ", "").Replace("×", "*");//Replace("100", "100.00")是因为数据库计算时1/100的结果是0需转换为1/100.00结果才是0.01,此处直接计算无需处理
|
||
for(int i = 1; i<=20;i++)
|
||
{
|
||
string BJDYZID = "BJ" + i.ToString().PadLeft(2, '0');
|
||
if (dicTJYZIDValue.ContainsKey(BJDYZID))
|
||
{
|
||
sTZQCPBJGS = sTZQCPBJGS.Replace(BJDYZID,dicTJYZIDValue[BJDYZID].ToString());
|
||
}
|
||
else
|
||
{
|
||
sTZQCPBJGS = sTZQCPBJGS.Replace(BJDYZID, "0");
|
||
}
|
||
}
|
||
sTZQCPBJGS = sTZQCPBJGS.Replace("TZZDXJ", "0");
|
||
gtExpression exp = new gtExpression();
|
||
try
|
||
{
|
||
dCPBJ = NumberUtils.RoundX(exp.Evaluate(sTZQCPBJGS), 15);
|
||
}
|
||
catch
|
||
{
|
||
dCPBJ = 0;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (dCPBJ != 0)
|
||
{
|
||
bool JJFirst = XLBJDUtils.JJFirst_BJDYZ(sBJFLID);
|
||
double dTZYZ_JJ = 0;
|
||
for (int i = 0; i < sBJDYZ.Length; i++)
|
||
{
|
||
string sFieldName = "TZYZ_" + sBJDYZ[i].Split('|')[0].Trim();
|
||
string sColName = sBJDYZ[i].Split('|')[1].Trim().Replace("()", "").Replace("(JD)", "(%)").Replace("(DD)", "(%)").Replace("(JJ)", "(元)").Replace("(KD)", "(%)").Replace("(MD)", "(%)").Replace("(MP)", "(%)").Replace("(XX)", "(不参与调价)")
|
||
.Trim().Replace("()", "").Replace("(%)", "").Replace("(元)", "");
|
||
|
||
if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(JJ)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dTZYZ_JJ += dicTJYZIDValue[sFieldName.Substring(5)];
|
||
}
|
||
}
|
||
if (JJFirst)
|
||
{
|
||
dCPBJ = dCPBJ + dTZYZ_JJ;
|
||
}
|
||
for (int i = 0; i < sBJDYZ.Length; i++)
|
||
{
|
||
string sFieldName = "TZYZ_" + sBJDYZ[i].Split('|')[0].Trim();
|
||
string sColName = sBJDYZ[i].Split('|')[1].Trim().Replace("()", "").Replace("(JD)", "(%)").Replace("(DD)", "(%)").Replace("(JJ)", "(元)").Replace("(KD)", "(%)").Replace("(MD)", "(%)").Replace("(MP)", "(%)").Replace("(XX)", "(不参与调价)")
|
||
.Trim().Replace("()", "").Replace("(%)", "").Replace("(元)", "");
|
||
|
||
if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(JD)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dCPBJ = dCPBJ * (1 + dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(KD)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dCPBJ = dCPBJ / (1 - dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(DD)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dCPBJ = dCPBJ / (1 + dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(MD)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dCPBJ = dCPBJ * (1 - dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(MP)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dCPBJ = dCPBJ * (dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
//MX乘以/DX除以-系数
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(MX)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dCPBJ = dCPBJ * (dicTJYZIDValue[sFieldName.Substring(5)]);
|
||
|
||
}
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(DX)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (dicTJYZIDValue[sFieldName.Substring(5)] != 0)
|
||
{
|
||
dCPBJ = dCPBJ / (dicTJYZIDValue[sFieldName.Substring(5)]);
|
||
}
|
||
else
|
||
{
|
||
dCPBJ = dCPBJ * 0;
|
||
}
|
||
}
|
||
}
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(SX)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (dicTJYZIDValue[sFieldName.Substring(5)] >= 0)
|
||
{
|
||
dCPBJ = dCPBJ / (1 - dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
else
|
||
{
|
||
dCPBJ = dCPBJ * (1 + dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (!JJFirst)
|
||
{
|
||
dCPBJ = dCPBJ + dTZYZ_JJ;
|
||
}
|
||
dCPBJ = NumberUtils.RoundX(dCPBJ, (CMISproConvert.StrToInt(sCPBJMRXSWS) > tmpXSWS ? CMISproConvert.StrToInt(sCPBJMRXSWS) : tmpXSWS));//保留精度高的
|
||
}
|
||
}
|
||
dCPBJ = XLBJDUtils.RoundSZ(dCPBJ, CMISproConvert.StrToInt(sCPBJMRXSWS));
|
||
|
||
result += "XLXSBJDMX_CPBJ = " + XLBJDUtils.strPadRight(dCPBJ.ToString(), (CMISproConvert.StrToInt(sCPBJMRXSWS) > tmpXSWS ? CMISproConvert.StrToInt(sCPBJMRXSWS) : tmpXSWS)) + ";";//显示精度高的
|
||
double dBJJE = NumberUtils.RoundX(dBJSL * dCPBJ, 2);
|
||
|
||
|
||
|
||
result += "XLXSBJDMX_BJJE = " + XLBJDUtils.strPadRight(dBJJE.ToString(), 2) + ";";
|
||
|
||
result += "XLXSBJDMX_JGBBJ = " + cs_BJ + ";";
|
||
|
||
//e.ResultPairs.Add("XLXSBJDMX_BJJE", dBJJE.ToString());
|
||
}
|
||
|
||
|
||
|
||
|
||
return result;
|
||
}
|
||
|
||
public String GetYZZbyTJYZ(string cs_XLXHID, string cs_XLGGID, string cs_XLBZID, string cs_DYDJID, string cs_WGCP, string cs_BJDFL, string cs_YZID, string cs_YZZ, string cs_sTJYZChangelist, string cs_BJ, string cs_SL, string cs_JGBID,
|
||
string cs_TBJCLID, string cs_TJ, string cs_LBJCLID, string cs_LJ)
|
||
{
|
||
string result = "";
|
||
string sBJU003 = tSession.GetOption(100860000, "BJU003");
|
||
//报价分类----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
string sBJFLID = cs_BJDFL;
|
||
int tmpXSWS = string.IsNullOrEmpty(GetOption("BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption("BJU002"));
|
||
if (tmpXSWS < 0)
|
||
tmpXSWS = 0;
|
||
else if (tmpXSWS > 8)
|
||
tmpXSWS = 8;
|
||
|
||
if (cs_JGBID.Trim().Equals("DEFAULT"))
|
||
{
|
||
Dictionary<string, string> dicJGBID = XLBJDUtils.GetJGBIDByXSQYID("手机端价格表报价", sBJFLID, System.DateTime.Now.ToString(), "");
|
||
if (dicJGBID.Count > 0)
|
||
{
|
||
foreach (KeyValuePair<string, string> kvp in dicJGBID)
|
||
{
|
||
cs_JGBID = kvp.Key;
|
||
break;
|
||
}
|
||
}
|
||
else
|
||
cs_JGBID = "";
|
||
}
|
||
|
||
//数量、型号、规格
|
||
double dBJSL = CMISproConvert.StrToFloat(cs_SL);
|
||
string sXLXHID = cs_XLXHID;
|
||
string sXLGGID = cs_XLGGID;
|
||
string sXLBZID = cs_XLBZID;
|
||
string sDYDJID = cs_DYDJID;
|
||
string sJGBID = cs_JGBID.Trim();
|
||
double dCPBJ = CMISproConvert.StrToFloat(cs_BJ, 0);
|
||
|
||
#region 如果是JGE价格表则重新计算表价
|
||
|
||
if (XLBJDUtils.IsJGEJGB(cs_JGBID))
|
||
{
|
||
if (cs_TJ.Equals(""))
|
||
cs_TJ = "0";
|
||
if (cs_LJ.Equals(""))
|
||
cs_LJ = "0";
|
||
Dictionary<string, double> dicJGE = XLBJDUtils.GetCLCB_JGE(DateTime.Now.ToShortDateString().Trim(), sXLXHID, sXLGGID, sXLBZID, sDYDJID, cs_TBJCLID, cs_LBJCLID, cs_TJ, cs_LJ, true, false, "");
|
||
bool JgIsZero = dicJGE["JgIsZero"] == 1 ? true : false;
|
||
string sCLCB = dicJGE["CLCB"].ToString();
|
||
DataSet dsJGBYZ = new DataSet();
|
||
string sJGBTJYSS = "";
|
||
//计算公式以及因子的输出
|
||
Dictionary<string, string> dicJGBTZYZGS_JGE = new Dictionary<string, string>();
|
||
//记录价格表调价因素相关信息-线缆基本信息
|
||
Dictionary<string, string> dicXLJBXX_JGE = new Dictionary<string, string>();
|
||
XLBJDUtils.GetdsJGBYZ_JGE(sJGBID, ref dsJGBYZ);
|
||
sJGBTJYSS = XLBJDUtils.GetJGBTJYSSByBJFLID(sBJFLID);
|
||
|
||
dicXLJBXX_JGE.Clear();
|
||
dicXLJBXX_JGE.Add("XLXHID", sXLXHID);
|
||
dicXLJBXX_JGE.Add("XLGGID", sXLGGID);
|
||
dicXLJBXX_JGE.Add("XLBZID", sXLBZID);
|
||
dicXLJBXX_JGE.Add("DYDJID", sDYDJID);
|
||
dicXLJBXX_JGE.Add("BJDJLDWHSBL", "1");//材料清单计量单位与报价单计量单位一致,均为BJU003,所以换算倍率固定为1
|
||
dicJGBTZYZGS_JGE = XLBJDUtils.GetJGBTZYZ_JGE(sJGBID, "0", dsJGBYZ, dicXLJBXX_JGE);
|
||
sCLCB = NumberUtils.RoundX(CMISproConvert.StrToFloat(sCLCB), tmpXSWS).ToString().Trim();
|
||
double dZBZ = NumberUtils.RoundX(CMISproConvert.StrToFloat(sCLCB), tmpXSWS);
|
||
if (sJGBTJYSS.Equals("1"))
|
||
{
|
||
string sTmpGS = "";
|
||
string sJSGS = dicJGBTZYZGS_JGE["JSGS"].Trim();
|
||
if (sJSGS.Equals(""))
|
||
{
|
||
if (dicJGBTZYZGS_JGE["JJFirst"].Equals("1"))
|
||
{
|
||
sTmpGS = "(" + sCLCB + "+" + dicJGBTZYZGS_JGE["JJ"] + ")*(" + dicJGBTZYZGS_JGE["JD"] + ")*(" + dicJGBTZYZGS_JGE["KD"] + ")*(" + dicJGBTZYZGS_JGE["SX"] + ")";
|
||
}
|
||
else
|
||
{
|
||
sTmpGS = sCLCB + "*(" + dicJGBTZYZGS_JGE["JD"] + ")*(" + dicJGBTZYZGS_JGE["KD"] + ")*(" + dicJGBTZYZGS_JGE["SX"] + ")+(" + dicJGBTZYZGS_JGE["JJ"] + ")";
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
sTmpGS = sJSGS.Replace("JGBJJ", sCLCB);
|
||
}
|
||
gtExpression exp = new gtExpression();
|
||
try
|
||
{
|
||
dZBZ = NumberUtils.RoundX(exp.Evaluate(sTmpGS), tmpXSWS);
|
||
}
|
||
catch
|
||
{
|
||
dZBZ = 0;
|
||
}
|
||
}
|
||
|
||
if (JgIsZero)//若存在有材料用量、无材料价格的情况,则算出的表价、报价单行情料价改为负数显示
|
||
{
|
||
cs_BJ = FloatToString(dZBZ * (-1), tmpXSWS);
|
||
}
|
||
else
|
||
{
|
||
cs_BJ = FloatToString(dZBZ, tmpXSWS);
|
||
}
|
||
}
|
||
|
||
dCPBJ = CMISproConvert.StrToFloat(cs_BJ, 0);
|
||
|
||
#endregion
|
||
|
||
if (!cs_SL.Equals("") && !cs_SL.Equals("0"))
|
||
{
|
||
|
||
Dictionary<string, string> dicXLGGB = XLBJDUtils.GetXXJGIDByXLGGID(sXLGGID, sXLXHID);
|
||
string fZXJM = dicXLGGB["ZXJM"];
|
||
string sXXJGID = dicXLGGB["XXJGID"];
|
||
|
||
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
string sXSQYID = "";
|
||
Dictionary<string, string> dicBJDYZ = XLBJDUtils.GetBJDYZ(sBJFLID);
|
||
//----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
string sTJYSList = dicBJDYZ["TJYSList"];
|
||
|
||
#region 获取报价单调价因子以及调整过程
|
||
//获取调价因素为空的因子值
|
||
Dictionary<string, double> dicYZZ0 = XLBJDUtils.GetBJDYZZ0(sBJFLID, cs_WGCP.Equals("Y"), false, sBJU003, sBJU003, sXLXHID, sXLGGID, sXLBZID, sDYDJID);
|
||
//重新获取按“1|付款方式”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ1 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",1,"))
|
||
{
|
||
dicYZZ1 = XLBJDUtils.InitdicYZZ(sBJFLID, "1");
|
||
}
|
||
//报价数量变化,重新获取按“2|导体材料&电压区间&报价数量区间”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ2 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",2,"))
|
||
{
|
||
dicYZZ2 = XLBJDUtils.GetBJDYZZ2(sBJFLID, sDYDJID, dBJSL, sXLXHID, sBJU003, sBJU003, sXLGGID, sXLBZID);
|
||
}
|
||
//重新获取按“3|产品用途&电压等级分类&报价数量区间”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ3 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",3,"))
|
||
{
|
||
dicYZZ3 = XLBJDUtils.GetBJDYZZ3(sBJFLID, dBJSL, sXLXHID, sXLGGID, sXLBZID, sDYDJID, sBJU003, sBJU003);
|
||
}
|
||
//重新获取按“E|型号&电压等级&主芯截面范围&报价数量区间”设置的调价因子值
|
||
Dictionary<string, double> dicYZZE = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",E,"))
|
||
{
|
||
dicYZZE = XLBJDUtils.GetBJDYZZE(sBJFLID, sXLXHID, sDYDJID, CMISproConvert.StrToFloat(fZXJM), dBJSL, sBJU003, sBJU003, sXLGGID, sXLBZID);
|
||
}
|
||
Dictionary<string, double> dicYZZK = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",K,"))
|
||
{
|
||
dicYZZK = XLBJDUtils.GetBJDYZZK(sBJFLID, dBJSL, sBJU003, sBJU003, sXLXHID, sXLGGID, sXLBZID, sDYDJID);
|
||
}
|
||
|
||
Dictionary<string, double> dicYZZG = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",G,"))
|
||
{
|
||
dicYZZG = XLBJDUtils.GetBJDYZZG(sBJFLID, sXLXHID, sDYDJID,sXXJGID, CMISproConvert.StrToFloat(fZXJM), dBJSL, sBJU003, sBJU003);
|
||
}
|
||
|
||
//重新获取按“F|电压等级&芯线结构&报价数量区间/报价数量”设置的调价因子值
|
||
Dictionary<string, double> dicYZZF = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",F,"))
|
||
{
|
||
dicYZZF = XLBJDUtils.GetBJDYZZF(sBJFLID, sXLXHID, sDYDJID, sXXJGID, dBJSL, sBJU003, sBJU003);
|
||
}
|
||
Dictionary<string, double> dicYZZH = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",H,"))
|
||
{
|
||
dicYZZH = XLBJDUtils.GetBJDYZZH(sBJFLID, sXLXHID, sDYDJID, XLBJDInfo.GetDefaultYSID(sXLXHID, sXLGGID), CMISproConvert.StrToFloat(fZXJM), dBJSL, sBJU003, sBJU003);
|
||
}
|
||
//重新获取按“4|型号”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ4 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",4,"))
|
||
{
|
||
dicYZZ4 = XLBJDUtils.GetBJDYZZ4(sBJFLID, sXLXHID, sBJU003, sBJU003, sXLGGID, sXLBZID, sDYDJID);
|
||
}
|
||
//重新获取按“5|销售区域&型号&标准&电压等级&主芯截面范围”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ5 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",5,"))
|
||
{
|
||
dicYZZ5 = XLBJDUtils.GetBJDYZZ5(sBJFLID, sXSQYID, sXLXHID, sXLBZID, sDYDJID, CMISproConvert.StrToFloat(fZXJM), sBJU003, sBJU003, sXLGGID);
|
||
}
|
||
//重新获取按“6|报价数量区间调价米数/报价数量”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ6 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",6,"))
|
||
{
|
||
dicYZZ6 = XLBJDUtils.GetBJDYZZ6(sBJFLID, dBJSL, sBJU003, sBJU003);
|
||
}
|
||
//重新获取按“7|型号&电压等级&芯线结构&主芯截面范围”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ7 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",7,"))
|
||
{
|
||
dicYZZ7 = XLBJDUtils.GetBJDYZZ7(sBJFLID, sXLXHID, sDYDJID, sXXJGID, CMISproConvert.StrToFloat(fZXJM), sBJU003, sBJU003, sXLGGID, sXLBZID);
|
||
}
|
||
//重新获取按“8|付款期限”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ8 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",8,"))
|
||
{
|
||
dicYZZ8 = XLBJDUtils.InitdicYZZ(sBJFLID, "8");
|
||
}
|
||
|
||
//重新获取按“9|导体材料&产品用途&电压等级分类&产品特性”设置的调价因子值
|
||
Dictionary<string, double> dicYZZ9 = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",9,"))
|
||
{
|
||
dicYZZ9 = XLBJDUtils.GetBJDYZZ9(sBJFLID, sXLXHID, sDYDJID, sBJU003, sBJU003, sXLGGID, sXLBZID);
|
||
}
|
||
|
||
//重新获取按“A|型号&规格&电压&标准”设置的调价因子值
|
||
Dictionary<string, double> dicYZZA = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",A,"))
|
||
{
|
||
dicYZZA = XLBJDUtils.GetBJDYZZA(sBJFLID, sXLXHID, sXLGGID, sXLBZID, sDYDJID, sBJU003, sBJU003);
|
||
}
|
||
|
||
Dictionary<string, double> dicYZZBZPF = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",BZPF,"))
|
||
{
|
||
//包装盘费
|
||
string sBZPFYZID = XLBJDUtils.GetBJFLSYBZPFYZID(sBJFLID);
|
||
if (!sBZPFYZID.Equals(""))
|
||
{
|
||
sBZPFYZID = sBZPFYZID.Split('|')[0];
|
||
|
||
dicYZZBZPF = XLBJDUtils.GetBJDBZPFYZZ(sBZPFYZID, sXLXHID, sXLGGID, sXLBZID, sDYDJID, sBJU003, sBJU003);
|
||
}
|
||
}
|
||
|
||
Dictionary<string, double> dicYZZCPWJPF = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",CPWJPF,"))
|
||
{
|
||
//产品外径盘费
|
||
string sCPWJPFYZID = XLBJDUtils.GetBJFLSYCPWJPFYZID(sBJFLID);
|
||
if (!sCPWJPFYZID.Equals(""))
|
||
{
|
||
sCPWJPFYZID = sCPWJPFYZID.Split('|')[0];
|
||
|
||
dicYZZCPWJPF = XLBJDUtils.GetBJDCPWJPFYZZ(sCPWJPFYZID, sXLXHID, sXLGGID, sXLBZID, sDYDJID, sBJU003, sBJU003,dBJSL);
|
||
}
|
||
}
|
||
|
||
|
||
//重新获取按“B|销售单位”设置的调价因子值
|
||
Dictionary<string, double> dicYZZB = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",B,"))
|
||
{
|
||
dicYZZB = XLBJDUtils.InitdicYZZ(sBJFLID, "B");
|
||
}
|
||
//获取按“C|产品目录&主芯截面范围&产品特性”因子值
|
||
Dictionary<string, double> dicYZZC = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",C,"))
|
||
{
|
||
dicYZZC = XLBJDUtils.GetBJDYZZC(" ", sBJFLID, sXLXHID, sDYDJID, CMISproConvert.StrToFloat(fZXJM), sBJU003, sBJU003, sXLGGID, sXLBZID);
|
||
}
|
||
//重新获取按“D|颜色”设置的调价因子值
|
||
Dictionary<string, double> dicYZZD = new Dictionary<string, double>();
|
||
if (sTJYSList.Contains(",D,"))
|
||
{
|
||
dicYZZD = XLBJDUtils.GetBJDYZZD(sBJFLID, XLBJDInfo.GetDefaultYSID(sXLXHID, sXLGGID), sBJU003, sBJU003, sXLXHID, sXLGGID, sXLBZID, sDYDJID);
|
||
}
|
||
|
||
double dcs_YZZ = 0;//如果是手动变更因子值触发重算,则用手动修改的因子值替换因子值
|
||
string ReChangeYZID = "";//维护因子时,是否自动change为其最小值
|
||
string sMinYZZ = "";
|
||
if (!cs_YZID.Equals(""))
|
||
{
|
||
string[] sTJYZChangelist = cs_sTJYZChangelist.TrimEnd(';').Split(';');
|
||
for (int j = 0; j < sTJYZChangelist.Length; j++)
|
||
{
|
||
string sChangedYZID = sTJYZChangelist[j].Split('=')[0];
|
||
string sChangedYZZ = sTJYZChangelist[j].Split('=')[1];
|
||
|
||
}
|
||
double dHSBL = XLBJDUtils.GetHSBL(sBJU003, sBJU003, sXLXHID, sXLGGID, sXLBZID, sDYDJID); ;
|
||
sMinYZZ = XLBJDUtils.GetMinYZZ(cs_YZID.Replace("TZYZ_", ""), dHSBL);//因子最小值
|
||
string sMaxYZZ = XLBJDUtils.GetMaxYZZ(cs_YZID.Replace("TZYZ_", ""), dHSBL);//因子最大值
|
||
if (!sMinYZZ.Equals(""))//若设置了最小值
|
||
{
|
||
//小于最小值按最小值计算
|
||
if (CMISproConvert.StrToFloat(cs_YZZ) < CMISproConvert.StrToFloat(sMinYZZ, 0))
|
||
{
|
||
cs_YZZ = sMinYZZ;
|
||
ReChangeYZID = cs_YZID;
|
||
sMinYZZ = cs_YZZ;
|
||
}
|
||
}
|
||
if (!sMaxYZZ.Equals(""))//若设置了最值
|
||
{
|
||
//大于最大值按最大值计算
|
||
if (CMISproConvert.StrToFloat(cs_YZZ) > CMISproConvert.StrToFloat(sMaxYZZ, 0))
|
||
{
|
||
cs_YZZ = sMaxYZZ;
|
||
ReChangeYZID = cs_YZID;
|
||
sMinYZZ = cs_YZZ;
|
||
}
|
||
}
|
||
}
|
||
|
||
if (!cs_sTJYZChangelist.Equals(""))
|
||
{
|
||
string[] sTJYZChangelist = cs_sTJYZChangelist.TrimEnd(';').Split(';');
|
||
for (int j = 0; j < sTJYZChangelist.Length; j++)
|
||
{
|
||
string sChangedYZID = sTJYZChangelist[j].Split('=')[0].Replace("TZYZ_", "");
|
||
double dChangedYZZ = CMISproConvert.StrToFloat(sTJYZChangelist[j].Split('=')[1]);
|
||
if (dicYZZ0.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZ0[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZ1.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZ1[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZ2.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZ2[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZ3.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZ3[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZE.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZE[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZK.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZK[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZG.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZG[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZF.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZF[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZH.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZH[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZ4.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZ4[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZ5.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZ5[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZ6.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZ6[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZ7.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZ7[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZ8.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZ8[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZ9.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZ9[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZA.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZA[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZBZPF.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZBZPF[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZCPWJPF.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZCPWJPF[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZB.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZB[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZC.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZC[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
if (dicYZZD.ContainsKey(sChangedYZID))
|
||
{
|
||
dicYZZD[sChangedYZID] = dChangedYZZ;
|
||
}
|
||
}
|
||
}
|
||
|
||
//获取YZID对应的TJYZID
|
||
Dictionary<string, string> dicTJYZID = XLBJDUtils.GetTJYZIDXX("BJD");
|
||
Dictionary<string, double> dicTJYZIDValue = new Dictionary<string, double>();
|
||
//获取YZID对应的TYZZYZID
|
||
Dictionary<string, string> dicTYZZYZID = XLBJDUtils.GetTYZZYZIDXX("BJD");
|
||
Dictionary<string, double> dicTYZZYZIDValue = new Dictionary<string, double>();
|
||
string sBJDYZText = dicBJDYZ["BJDYZ"];
|
||
string[] sBJDYZ = sBJDYZText.Split(',');
|
||
#region 初次将所“2|调因子值”因子纳入dicTYZZYZIDValue
|
||
for (int i = 0; i < sBJDYZ.Length; i++)
|
||
{
|
||
string sFieldName = "TZYZ_" + sBJDYZ[i].Split('|')[0].Trim();
|
||
if (XLBJDInfo.dicValueContained(dicTYZZYZID, sFieldName.Substring(5)))
|
||
{
|
||
if (dicYZZBZPF.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZBZPF[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZBZPF[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZCPWJPF.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZCPWJPF[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZCPWJPF[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ0.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ0[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ0[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ1.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ1[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ1[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ2.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ2[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ2[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ3.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ3[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ3[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZE.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZE[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZE[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZK.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZK[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZK[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZG.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZG[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZG[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZF.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZF[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZF[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZH.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZH[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZH[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ4.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ4[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ4[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ5.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ5[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ5[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ6.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ6[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ6[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ7.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ7[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ7[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ8.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ8[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ8[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZ9.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZ9[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZ9[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZA.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZA[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZA[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZB.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZB[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZB[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZC.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZC[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZC[sFieldName.Substring(5)];
|
||
}
|
||
else if (dicYZZD.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (!dicTYZZYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dicTYZZYZIDValue.Add(sFieldName.Substring(5), dicYZZD[sFieldName.Substring(5)]);
|
||
else
|
||
dicTYZZYZIDValue[sFieldName.Substring(5)] += dicYZZD[sFieldName.Substring(5)];
|
||
}
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region 初次将所有的因子纳入dicTJYZIDValue
|
||
for (int i = 0; i < sBJDYZ.Length; i++)
|
||
{
|
||
string sFieldName = "TZYZ_" + sBJDYZ[i].Split('|')[0].Trim();
|
||
//string sColName = QueryGrid.Columns[i].HeaderText.Trim().Replace("()", "").Replace("(%)", "").Replace("(元)", "");
|
||
if (dicTJYZID.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
string tmpTJYZID = dicTJYZID[sFieldName.Substring(5)];
|
||
if (dicYZZBZPF.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZBZPF[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZCPWJPF.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZCPWJPF[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ0.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ0[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ1.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ1[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ2.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ2[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ3.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ3[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZE.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZE[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZK.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZK[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZG.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZG[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZF.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZF[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZH.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZH[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ4.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ4[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ5.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ5[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ6.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ6[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ7.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ7[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ8.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ8[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZ9.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZ9[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZA.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZA[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZB.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZB[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZC.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZC[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
else if (dicYZZD.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
double tmpYZZ = dicYZZD[sFieldName.Substring(5)];
|
||
string tmpTYZZYZID = dicTYZZYZID[sFieldName.Substring(5)];
|
||
if (!tmpTYZZYZID.Equals(""))
|
||
{
|
||
tmpYZZ = XLBJDInfo.GetTYZZ(tmpTYZZYZID, tmpYZZ, dicTYZZYZIDValue);
|
||
}
|
||
if (!XLBJDInfo.dicValueContained(dicTYZZYZID, tmpTJYZID))
|
||
{
|
||
if (!dicTJYZIDValue.ContainsKey(tmpTJYZID))
|
||
dicTJYZIDValue.Add(tmpTJYZID, tmpYZZ);
|
||
else
|
||
dicTJYZIDValue[tmpTJYZID] += tmpYZZ;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#endregion
|
||
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(sBJFLID);
|
||
|
||
string sCPBJMRXSWS = bjflxx.XLXSBJFL_CPBJMRXSWS;
|
||
string sTZQCPBJGS = XLBJDUtils.GetTZQCPBJGS(sBJFLID);
|
||
if (!sTZQCPBJGS.Equals(""))
|
||
{
|
||
sTZQCPBJGS = sTZQCPBJGS.Replace("JGBBJ", dCPBJ.ToString());
|
||
sTZQCPBJGS = sTZQCPBJGS.Replace(" ", "").Replace("×", "*");//Replace("100", "100.00")是因为数据库计算时1/100的结果是0需转换为1/100.00结果才是0.01,此处直接计算无需处理
|
||
for (int i = 1; i <= 20; i++)
|
||
{
|
||
|
||
string BJDYZID = "BJ" + i.ToString().PadLeft(2, '0');
|
||
if (dicTJYZIDValue.ContainsKey(BJDYZID))
|
||
{
|
||
sTZQCPBJGS = sTZQCPBJGS.Replace(BJDYZID, dicTJYZIDValue[BJDYZID].ToString());
|
||
}
|
||
else
|
||
{
|
||
sTZQCPBJGS = sTZQCPBJGS.Replace(BJDYZID, "0");
|
||
}
|
||
}
|
||
sTZQCPBJGS = sTZQCPBJGS.Replace("TZZDXJ", "0");
|
||
gtExpression exp = new gtExpression();
|
||
try
|
||
{
|
||
dCPBJ = NumberUtils.RoundX(exp.Evaluate(sTZQCPBJGS), 15);
|
||
}
|
||
catch
|
||
{
|
||
dCPBJ = 0;
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (dCPBJ != 0)
|
||
{
|
||
|
||
bool JJFirst = XLBJDUtils.JJFirst_BJDYZ(sBJFLID);
|
||
double dTZYZ_JJ = 0;
|
||
for (int i = 0; i < sBJDYZ.Length; i++)
|
||
{
|
||
string sFieldName = "TZYZ_" + sBJDYZ[i].Split('|')[0].Trim();
|
||
string sColName = sBJDYZ[i].Split('|')[1].Trim().Replace("()", "").Replace("(JD)", "(%)").Replace("(DD)", "(%)").Replace("(JJ)", "(元)").Replace("(KD)", "(%)").Replace("(MD)", "(%)").Replace("(MP)", "(%)").Replace("(XX)", "(不参与调价)").Trim().Replace("()", "").Replace("(%)", "").Replace("(元)", "");
|
||
if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(JJ)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dTZYZ_JJ += dicTJYZIDValue[sFieldName.Substring(5)];
|
||
}
|
||
}
|
||
if (JJFirst)
|
||
{
|
||
dCPBJ = dCPBJ + dTZYZ_JJ;
|
||
}
|
||
for (int i = 0; i < sBJDYZ.Length; i++)
|
||
{
|
||
string sFieldName = "TZYZ_" + sBJDYZ[i].Split('|')[0].Trim();
|
||
string sColName = sBJDYZ[i].Split('|')[1].Trim().Replace("()", "").Replace("(JD)", "(%)").Replace("(DD)", "(%)").Replace("(JJ)", "(元)").Replace("(KD)", "(%)").Replace("(MD)", "(%)").Replace("(MP)", "(%)").Replace("(XX)", "(不参与调价)").Trim().Replace("()", "").Replace("(%)", "").Replace("(元)", "");
|
||
if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(JD)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dCPBJ = dCPBJ * (1 + dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(KD)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dCPBJ = dCPBJ / (1 - dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(DD)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dCPBJ = dCPBJ / (1 + dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(MD)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dCPBJ = dCPBJ * (1 - dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(MP)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dCPBJ = dCPBJ * (dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
//MX乘以/DX除以-系数
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(MX)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
dCPBJ = dCPBJ * (dicTJYZIDValue[sFieldName.Substring(5)]);
|
||
|
||
}
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(DX)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (dicTJYZIDValue[sFieldName.Substring(5)] != 0)
|
||
{
|
||
dCPBJ = dCPBJ / (dicTJYZIDValue[sFieldName.Substring(5)]);
|
||
}
|
||
else
|
||
{
|
||
dCPBJ = dCPBJ * 0;
|
||
}
|
||
}
|
||
}
|
||
else if (dicBJDYZ["BJDYZ"].Contains(sFieldName.Substring(5) + "|" + sColName + "(SX)"))
|
||
{
|
||
if (dicTJYZIDValue.ContainsKey(sFieldName.Substring(5)))
|
||
{
|
||
if (dicTJYZIDValue[sFieldName.Substring(5)] >= 0)
|
||
{
|
||
dCPBJ = dCPBJ / (1 - dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
else
|
||
{
|
||
dCPBJ = dCPBJ * (1 + dicTJYZIDValue[sFieldName.Substring(5)] / 100);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (!JJFirst)
|
||
{
|
||
dCPBJ = dCPBJ + dTZYZ_JJ;
|
||
}
|
||
dCPBJ = NumberUtils.RoundX(dCPBJ, (CMISproConvert.StrToInt(sCPBJMRXSWS) > tmpXSWS ? CMISproConvert.StrToInt(sCPBJMRXSWS) : tmpXSWS));//保留精度高的
|
||
}
|
||
}
|
||
dCPBJ = XLBJDUtils.RoundSZ(dCPBJ, CMISproConvert.StrToInt(sCPBJMRXSWS));
|
||
|
||
result += "XLXSBJDMX_CPBJ = " + XLBJDUtils.strPadRight(dCPBJ.ToString(), (CMISproConvert.StrToInt(sCPBJMRXSWS) > tmpXSWS ? CMISproConvert.StrToInt(sCPBJMRXSWS) : tmpXSWS)) + ";";//显示精度高的
|
||
|
||
dBJSL = CMISproConvert.StrToFloat(cs_SL.Trim());
|
||
double dBJJE = NumberUtils.RoundX(dBJSL * dCPBJ, 2);
|
||
result += "XLXSBJDMX_BJJE = " + dBJJE.ToString() + ";";
|
||
result += "XLXSBJDMX_JGBBJ = " + cs_BJ + ";";
|
||
if (!ReChangeYZID.Equals(""))
|
||
result += "sMinYZZ =" + sMinYZZ.ToString().Trim() + ";";
|
||
}
|
||
return result.TrimEnd(';');
|
||
}
|
||
|
||
public ArrayList InitGrid(string sBJDFL)
|
||
{
|
||
ArrayList xsnrlist = new ArrayList();
|
||
|
||
int iXSWS = string.IsNullOrEmpty(GetOption("BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption("BJU002"));
|
||
if (iXSWS < 0)
|
||
iXSWS = 0;
|
||
else if (iXSWS > 8)
|
||
iXSWS = 8;
|
||
|
||
Dictionary<string, string> dicBJDYZ = XLBJDUtils.GetBJDYZ(sBJDFL);
|
||
string sBJDYZText = dicBJDYZ["BJDYZ"];
|
||
|
||
if (sBJDYZText.Equals(""))
|
||
return xsnrlist;
|
||
|
||
string[] sBJDYZ = sBJDYZText.Split(',');
|
||
|
||
for (int i = 0; i < sBJDYZ.Length; i++)
|
||
{
|
||
string sMC = sBJDYZ[i].Split('|')[1].Trim().Replace("()", "").Replace("(JD)", "(%)").Replace("(DD)", "(%)").Replace("(JJ)", "(元)").Replace("(KD)", "(%)").Replace("(MD)", "(%)").Replace("(XX)", "(不参与调价)");
|
||
string sID = "TZYZ_" + sBJDYZ[i].Split('|')[0].Trim();
|
||
string sVisible = "Y";
|
||
|
||
//_gtAjaxGridViewColumnTZYZ.EditType = TEditType.etNumber;
|
||
//_gtAjaxGridViewColumnTZYZ.NumberDecimalPlace = 2;
|
||
if (!sBJDYZ[i].Trim().EndsWith("()"))
|
||
{
|
||
sVisible = "Y";
|
||
}
|
||
else
|
||
{
|
||
sVisible = "N";
|
||
}
|
||
|
||
string[] xsnr = new string[3];
|
||
xsnr[0] = sID;
|
||
xsnr[1] = sMC;
|
||
xsnr[2] = sVisible;
|
||
|
||
xsnrlist.Add(xsnr);
|
||
}
|
||
|
||
return xsnrlist;
|
||
}
|
||
|
||
|
||
private string FloatToString(double n, int iXSWS)
|
||
{
|
||
n = NumberUtils.RoundX(n,iXSWS);
|
||
string sN = n.ToString().Trim();
|
||
string sZSBF = "";
|
||
string sXSBF = "";
|
||
if (sN.Contains("."))
|
||
{
|
||
sZSBF = sN.Split('.')[0];
|
||
sXSBF = sN.Split('.')[1];
|
||
}
|
||
else
|
||
{
|
||
sZSBF = sN;
|
||
}
|
||
sXSBF = sXSBF.PadRight(iXSWS, '0');
|
||
sN = sZSBF + "." + sXSBF;
|
||
return sN;
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
}
|
||
}
|