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); } } }