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 = "XLXSCLHQ", IsWf = false, IsWhr = true, IsAttach = false)] public class XLJGB_CLJGTZ : EntityObject { public string sJGBID = ""; public string sVID = ""; public string sRYID = ""; public string sJGBIDS = ""; public bool FromJGBML = false; //[DataMember(DbField = "XLXSJGBMX_JGBID", DbTitle = "FIELDNAME", IsKey = false, DbType = TGtdbType.VarChar, //Len = 8, IsNullable = true, DefValue = "", CtlName = "txtJGBID", //CtlType = FieldType.HiddenField)] //public string XLXSJGBMX_JGBID //{ // get { return GetField("XLXSJGBMX_JGBID").ToString().Trim(); } // set { SetField("XLXSJGBMX_JGBID", value); } //} public override TSQL SetQuerySql() { TSQL SQL = base.SetQuerySql(); SQL.Add(" select XLXSBJCL_BJCLID as XLXSCLHQ_BJCLID,XLXSBJCL_BJCLMC || case when isnull(XLXSBJCL_TYBZ,'N')= 'Y' then '(停用)' else ' ' end as XLXSBJCL_BJCLMC,isnull(d.V_XLXSCLHQ_WSJG,0.0) as XLXSCLHQ_WSJG ,XLXSBJCL_ZZSL,isnull(d.V_XLXSCLHQ_HSJG,0.0) as XLXSCLHQ_HSJG ,"); SQL.Add(" d.V_XLXSCLHQ_WSJGF as XLXSCLHQ_WSJGF, d.V_XLXSCLHQ_HSJGF as XLXSCLHQ_HSJGF, "); SQL.Add(" isnull(d.V_XLXSCLHQ_JGYBJCLID1,' ') as XLXSCLHQ_JGYBJCLID1, isnull(d.V_XLXSCLHQ_JGBL1,0.0) as XLXSCLHQ_JGBL1, "); SQL.Add(" isnull(d.V_XLXSCLHQ_BZ,' ') as XLXSCLHQ_BZ ,isnull(d.V_XLXSCLHQ_WHR,' ') as XLXSCLHQ_WHR , d.V_XLXSCLHQ_WHSJ as XLXSCLHQ_WHSJ, "); if (!sJGBIDS.Equals("")) { SQL.Add(" isnull(e.XLXSCLHQ_HSJG,0.0) as SYJGB_HSJG, case when isnull(d.V_XLXSCLHQ_HSJG,0.0) <> isnull(e.XLXSCLHQ_HSJG,0.0) then 0 else 1 end as PX, "); } else { SQL.Add(" 0 as SYJGB_HSJG, 0 as PX, "); } SQL.Add(" (select max(XLXSBJCL_BJCLID) from XLXSBJCL a where (a.XLXSBJCL_JGYBJCLID =XLXSBJCL.XLXSBJCL_BJCLID or (a.XLXSBJCL_JGYBJCLID=XLXSBJCL.XLXSBJCL_JGYBJCLID and isnull(XLXSBJCL.XLXSBJCL_JGYBJCLID,' ') <> ' '))) as XLXSBJCL_JGYBJCLID "); SQL.Add(" from XLXSBJCL "); ///---------------------------------------------------------------------------因素为3,1,0 SQL.Add(" left join "); SQL.Add(" ( "); /*取销售价格表已有的材料行情*/ SQL.Add(" select V_XLXSCLHQ_BJCLID,V_XLXSCLHQ_WSJG,V_XLXSCLHQ_HSJG,V_XLXSCLHQ_WSJGF, V_XLXSCLHQ_HSJGF, "); SQL.Add(" V_XLXSCLHQ_JGYBJCLID1,V_XLXSCLHQ_JGBL1, "); SQL.Add(" V_XLXSCLHQ_WHR,V_XLXSCLHQ_BZ,V_XLXSCLHQ_WHSJ "); SQL.Add(" from V_XLXSCLHQ "); SQL.Add(" where V_XLXSCLHQ_JGBID=:pJGBID and V_XLXSCLHQ_ID= :pVID and V_XLXSCLHQ_TZRYID = :pRYID "); SQL.Add(" union all "); /*取销售价格表没有的材料行情*/ SQL.Add(" select XLXSCLHQ_BJCLID as V_XLXSCLHQ_BJCLID,XLXSCLHQ_WSJG as V_XLXSCLHQ_WSJG,XLXSCLHQ_HSJG as V_XLXSCLHQ_HSJG,XLXSCLHQ_WSJGF as V_XLXSCLHQ_WSJGF, "); SQL.Add(" XLXSCLHQ_HSJGF as V_XLXSCLHQ_HSJGF,XLXSCLHQ_JGYBJCLID1 as V_XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_JGBL1 as V_XLXSCLHQ_JGBL1, "); SQL.Add(" XLXSCLHQ_WHR as V_XLXSCLHQ_WHR,XLXSCLHQ_BZ as V_XLXSCLHQ_BZ,XLXSCLHQ_WHSJ as V_XLXSCLHQ_WHSJ "); SQL.Add(" from XLXSCLHQ, "); SQL.Add(" ( "); SQL.Add(" select a.XLXSCLHQ_BJCLID as BJCLID,max(a.XLXSCLHQ_YXQS)as maxYXQS "); SQL.Add(" from XLXSCLHQ a "); SQL.Add(" where a.XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add(" and a.XLXSCLHQ_YXQS<=:pCKRQ "); SQL.Add(" and isnull(a.XLXSCLHQ_YXQZ,convert(datetime,'9999-12-31'))>=:pCKRQ "); SQL.Add(" and not exists ");/*排除掉销售价格表已有的材料行情*/ SQL.Add(" ( "); SQL.Add(" select 1 "); SQL.Add(" from V_XLXSCLHQ b "); SQL.Add(" where b.V_XLXSCLHQ_JGBID=:pJGBID and V_XLXSCLHQ_ID= :pVID and V_XLXSCLHQ_TZRYID = :pRYID "); SQL.Add(" and b.V_XLXSCLHQ_BJCLID=a.XLXSCLHQ_BJCLID "); SQL.Add(" ) "); SQL.Add(" group by a.XLXSCLHQ_BJCLID "); SQL.Add(" ) c "); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add(" and XLXSCLHQ_BJCLID=BJCLID "); SQL.Add(" and XLXSCLHQ_YXQS=maxYXQS "); SQL.Add(" ) d on d.V_XLXSCLHQ_BJCLID=XLXSBJCL_BJCLID "); if (!sJGBIDS.Equals("")) { ///---------------------------------------------------------------------------因素为1,'','' SQL.Add(" left join "); SQL.Add(" ( "); /*取销售价格表已有的材料行情*/ SQL.Add(" select XLXSCLHQ_BJCLID,XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSJGF, XLXSCLHQ_HSJGF, "); SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_JGBL1, "); SQL.Add(" XLXSCLHQ_WHR,XLXSCLHQ_BZ,XLXSCLHQ_WHSJ "); SQL.Add(" from XLXSCLHQ "); SQL.Add(" where XLXSCLHQ_JGBID=:pJGBIDS "); SQL.Add(" union all "); /*取销售价格表没有的材料行情*/ SQL.Add(" select XLXSCLHQ_BJCLID,XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSJGF, XLXSCLHQ_HSJGF, "); SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_JGBL1, "); SQL.Add(" XLXSCLHQ_WHR,XLXSCLHQ_BZ,XLXSCLHQ_WHSJ "); SQL.Add(" from XLXSCLHQ, "); SQL.Add(" ( "); SQL.Add(" select a.XLXSCLHQ_BJCLID as BJCLID,max(a.XLXSCLHQ_YXQS)as maxYXQS "); SQL.Add(" from XLXSCLHQ a "); SQL.Add(" where a.XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add(" and a.XLXSCLHQ_YXQS<=:pCKRQ "); SQL.Add(" and isnull(a.XLXSCLHQ_YXQZ,convert(datetime,'9999-12-31'))>=:pCKRQ "); SQL.Add(" and not exists ");/*排除掉销售价格表已有的材料行情*/ SQL.Add(" ( "); SQL.Add(" select 1 "); SQL.Add(" from XLXSCLHQ b "); SQL.Add(" where b.XLXSCLHQ_JGBID=:pJGBIDS "); SQL.Add(" and b.XLXSCLHQ_BJCLID=a.XLXSCLHQ_BJCLID "); SQL.Add(" ) "); SQL.Add(" group by a.XLXSCLHQ_BJCLID "); SQL.Add(" ) c "); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add(" and XLXSCLHQ_BJCLID=BJCLID "); SQL.Add(" and XLXSCLHQ_YXQS=maxYXQS "); SQL.Add(" ) e on e.XLXSCLHQ_BJCLID=XLXSBJCL_BJCLID "); //因素为1的 SQL.ParamByName("pJGBIDS").Value = sJGBIDS; } ///--------------------------------------------------------------------------- SQL.Add(" where 1=1"); if (FromJGBML) { SQL.Add(" and ( "); SQL.Add(" XLXSBJCL_BJCLID = (select XLXSBJPZ_TBJCLID from XLXSBJPZ where XLXSBJPZ_MDID = 100860018 and isnull(XLXSBJPZ_TBJCLID,' ' ) <>' ' )"); SQL.Add(" or XLXSBJCL_BJCLID = (select XLXSBJPZ_LBJCLID from XLXSBJPZ where XLXSBJPZ_MDID = 100860018 and isnull(XLXSBJPZ_LBJCLID,' ' ) <>' ' )"); SQL.Add(" ) "); } ///--------------------------------------------------------------------------- SQL.Add(" order by isnull(XLXSBJCL_TYBZ,'N'),PX,XLXSBJCL_BJCLID "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pVID").Value = sVID; SQL.ParamByName("pRYID").Value = sRYID; SQL.ParamByName("pCKRQ").Value = DateTime.Now.ToShortDateString(); return SQL; } public override bool Querying(TSQL sql) { Entites.Columns.Clear(); Entites.Clear(); return base.Querying(sql); } } }