153 lines
7.0 KiB
C#
153 lines
7.0 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_MODEL.Page;
|
|
using GThinking.N_MISPRO.Data;
|
|
using GThinking.N_MISPRO;
|
|
using GThinking.N_MISPRO.Utility;
|
|
|
|
namespace GThinking.N_XLXSBJ
|
|
{
|
|
[EntityType(Db = "DBERP", Table = "XLXSCLQD", IsWf = false, IsWhr = false, IsAttach = false)]
|
|
|
|
public class CLYL_CLYL : EntityObject
|
|
{
|
|
public string sXLXHID = "";
|
|
public string sXLGGID = "";
|
|
public string sXLBZID = "";
|
|
public string sDYDJID = "";
|
|
public string sJGCZBID = "";
|
|
public string sJGCZBBBID = "";
|
|
//MUL----乘以1000 DIV----除以1000 FIX----保持不变
|
|
public string sHSFS = "FIX";
|
|
|
|
public override TSQL SetQuerySql()
|
|
{
|
|
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
|
TSQL tSQL = new TSQL(dberp);
|
|
tSQL.Clear();
|
|
tSQL.Add("select XLXSCLQD_JGCZBXH,XLXSCLQD_DRHH from XLXSCLQD where XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID and XLXSCLQD_DYDJID=:pDYDJID");
|
|
tSQL.ParamByName("pXLXHID").Value = sXLXHID;
|
|
tSQL.ParamByName("pXLGGID").Value = sXLGGID;
|
|
tSQL.ParamByName("pXLBZID").Value = sXLBZID;
|
|
tSQL.ParamByName("pDYDJID").Value = sDYDJID.Trim().Equals("") ? " " : sDYDJID.Trim();
|
|
DataSet ds = dberp.OpenDataSet(tSQL);
|
|
double fJGCZBXH = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLQD_JGCZBXH"].ToString());
|
|
double fDRHH = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLQD_DRHH"].ToString());
|
|
tSQL.Clear();
|
|
tSQL.Add("select XLXSCLQDWL_JGCZBID");
|
|
for (int i = 1; i <= 80; i++)
|
|
{
|
|
tSQL.Add(string.Format(",XLXSCLQDWL_WLID{0}", i.ToString().PadLeft(2, '0')));
|
|
}
|
|
tSQL.Add(" from XLXSCLQDWL ");
|
|
tSQL.Add("where XLXSCLQDWL_JGCZBID=:pJGCZBID");
|
|
tSQL.Add(" and XLXSCLQDWL_JGCZBBBID=:pJGCZBBBID");
|
|
tSQL.Add(" and XLXSCLQDWL_JGCZBXH=:pJGCZBXH");
|
|
tSQL.Add(" and XLXSCLQDWL_DRHH=:pDRHH");
|
|
tSQL.ParamByName("pJGCZBID").Value = sJGCZBID;
|
|
tSQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
|
|
tSQL.ParamByName("pJGCZBXH").Value = fJGCZBXH;
|
|
tSQL.ParamByName("pDRHH").Value = fDRHH;
|
|
DataSet dsWL = dberp.OpenDataSet(tSQL);
|
|
|
|
TSQL SQL = base.SetQuerySql();
|
|
SQL.Add(" select XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC,BJHQ, ");
|
|
SQL.Add(" case when isnull(CLWLID,' ')<>' ' then rtrim(CLWLID)||'|'||rtrim(rtrim(rtrim(rtrim(isnull(WL_MC,' '))||' '||rtrim(isnull(WL_GG,' ')))||' '||rtrim(isnull(WL_TZ,' ')))||' '||rtrim(isnull(WL_CL,' '))) else ' ' end as CLWL, ");
|
|
SQL.Add(" CZBYL,SL,CLJGBL,SHL,XLJGCZBLM_CLQDL");
|
|
SQL.Add(" from");
|
|
SQL.Add(" (");
|
|
SQL.Add(" select XLXSBJCL_BJCLID, ");
|
|
SQL.Add(" case when isnull(XLXSBJCL_BJCLID,' ')=' ' then XLJGCZBLM_CZBLMMC else XLXSBJCL_BJCLMC end as XLXSBJCL_BJCLMC,");
|
|
SQL.Add(" case XLXSBJCL_BJHQ when '1' then '1|材料行情' when '2' then '2|物料行情' else XLXSBJCL_BJHQ end as BJHQ,");
|
|
|
|
if (dsWL.Tables[0].Rows.Count > 0)
|
|
{
|
|
SQL.Add("case XLJGCZBLM_CLQDL ");
|
|
for (int i = 1; i <= 80; i++)
|
|
{
|
|
SQL.Add(string.Format("when '{0}' then '{1}' ", "第" + i.ToString().PadLeft(2, '0') + "列", dsWL.Tables[0].Rows[0][string.Format("XLXSCLQDWL_WLID{0}", i.ToString().PadLeft(2, '0'))].ToString().Trim()));
|
|
}
|
|
SQL.Add("else ' ' end as CLWLID, ");
|
|
}
|
|
else
|
|
SQL.Add(" ' ' as CLWLID, ");
|
|
|
|
SQL.Add("case XLJGCZBLM_CLQDL ");
|
|
if (sHSFS.Equals("FIX"))
|
|
{
|
|
for (int i = 1; i <= 80; i++)
|
|
{
|
|
SQL.Add(string.Format("when '{0}' then XLXSCLQD_SL{1} ", "第" + i.ToString().PadLeft(2, '0') + "列", i.ToString().PadLeft(2, '0')));
|
|
}
|
|
SQL.Add("else 0.0 end as CZBYL, ");
|
|
}
|
|
else if (sHSFS.Equals("MUL"))
|
|
{
|
|
for (int i = 1; i <= 80; i++)
|
|
{
|
|
SQL.Add(string.Format("when '{0}' then XLXSCLQD_SL{1}*1000 ", "第" + i.ToString().PadLeft(2, '0') + "列", i.ToString().PadLeft(2, '0')));
|
|
}
|
|
SQL.Add("else 0.0 end as CZBYL, ");
|
|
}
|
|
else if (sHSFS.Equals("DIV"))
|
|
{
|
|
for (int i = 1; i <= 80; i++)
|
|
{
|
|
SQL.Add(string.Format("when '{0}' then XLXSCLQD_SL{1}/1000 ", "第" + i.ToString().PadLeft(2, '0') + "列", i.ToString().PadLeft(2, '0')));
|
|
}
|
|
SQL.Add("else 0.0 end as CZBYL, ");
|
|
}
|
|
|
|
SQL.Add("case XLJGCZBLM_CLQDL ");
|
|
for (int i = 1; i <= 80; i++)
|
|
{
|
|
SQL.Add(string.Format("when '{0}' then XLXSCLQD_SL{1} ", "第" + i.ToString().PadLeft(2, '0') + "列", i.ToString().PadLeft(2, '0')));
|
|
}
|
|
SQL.Add("else 0.0 end as SL, ");
|
|
|
|
|
|
SQL.Add("case XLJGCZBLM_CLQDL ");
|
|
for (int i = 1; i <= 80; i++)
|
|
{
|
|
SQL.Add(string.Format("when '{0}' then XLXSCLQD_CLJGBL{1} ", "第" + i.ToString().PadLeft(2, '0') + "列", i.ToString().PadLeft(2, '0')));
|
|
}
|
|
SQL.Add("else 0.0 end as CLJGBL, ");
|
|
SQL.Add("case XLJGCZBLM_CLQDL ");
|
|
for (int i = 1; i <= 80; i++)
|
|
{
|
|
SQL.Add(string.Format("when '{0}' then XLXSCLQD_SHL{1} ", "第" + i.ToString().PadLeft(2, '0') + "列", i.ToString().PadLeft(2, '0')));
|
|
}
|
|
SQL.Add("else 0.0 end as SHL,XLJGCZBLM_CLQDL ");
|
|
SQL.Add(" from XLXSCLQD,XLJGCZBLM ");
|
|
SQL.Add(" left join XLXSBJCL on XLXSBJCL_BJCLID=XLJGCZBLM_BJCLID");
|
|
SQL.Add(" where XLJGCZBLM_JGCZBID=:pJGCZBID and XLJGCZBLM_JGCZBBBID=:pJGCZBBBID and isnull(XLJGCZBLM_CLQDL,' ')<>' '");
|
|
SQL.Add(" and XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID and XLXSCLQD_DYDJID=:pDYDJID ");
|
|
SQL.Add(" ) a ");
|
|
SQL.Add(" left join WL on WL_WLID=CLWLID");
|
|
SQL.Add(" order by XLJGCZBLM_CLQDL ");
|
|
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
|
|
SQL.ParamByName("pJGCZBBBID").Value = sJGCZBBBID;
|
|
SQL.ParamByName("pXLXHID").Value = sXLXHID;
|
|
SQL.ParamByName("pXLGGID").Value = sXLGGID;
|
|
SQL.ParamByName("pXLBZID").Value = sXLBZID;
|
|
SQL.ParamByName("pDYDJID").Value = sDYDJID.Trim().Equals("") ? " " : sDYDJID.Trim();
|
|
|
|
return SQL;
|
|
}
|
|
|
|
public override bool Querying(TSQL sql)
|
|
{
|
|
Entites.Columns.Clear();
|
|
Entites.Clear();
|
|
return base.Querying(sql);
|
|
}
|
|
}
|
|
}
|