Files
2026-08-21 17:03:02 +08:00

270 lines
13 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Data;
using System.Configuration;
using System.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.Utility;
namespace GThinking.N_XLXSBJ
{
[EntityType(Db = "DBERP", Table = "XLWBBJDMX", IsWf = false, IsWhr = false, WhrPrefix = "", IsAttach = false,
DocGrpId = "", DocFjs = "")]
public class XLBJD_WBBJDMXEntity : EntityObject
{
#region 继承事件
public string sWBBJDID = "";
public string sBJDID = " ";
public string sTargetBJDID = "";
public string sJGBID = "";
public string sJGFID = "";
public string sJGCIDS = "";
//查询相关
public string sXLXHID = "";
public string sXLBZID = "";
public string sDYDJID = "";
public string sXLYSID = "";
public string sJLDW = "";
public string sXD = "";
public string sWG = "";
//
public string sBJCP = "";
public string sZHCPML = "";
public string sBHFCX = "";
//关联内容列展示原始信息
public string sLMNR = "";
public override TSQL SetQuerySql()
{
TSQL sql = base.SetQuerySql();
sql.Add(" select XLWBBJDMX_DRHH,XLWBBJDMX_BJCP, XLWBBJDMX_WLID, XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID, ");
if (!sLMNR.Equals(""))
{
sql.Add(String.Format(" XLWBBJDNR_LMNR{0} as XLWBBJDNR_LMNR, ", sLMNR.PadLeft(2, '0')));
}
sql.Add(" RTRIM(XLWBBJDMX_XLBZID)||'|'||RTRIM(XLBZ_XLBZLXMC) AS XLWBBJDMX_XLBZID,XLWBBJDMX_DYDJID,RTRIM(XLWBBJDMX_XLYSID)||'|'||RTRIM(XLYSB_XLYSMC) AS XLWBBJDMX_XLYSID, XLWBBJDMX_JLDW,XLWBBJDMX_BJSL,XLWBBJDMX_CPBJ,XLWBBJDMX_YXJG,XLWBBJDMX_YSCP,XLWBBJDMX_KHWLID,XLWBBJDMX_YZ, ");
sql.Add(" XLWBBJDMX_FBH,XLWBBJDMX_CPBJXJ,XLWBBJDMX_BJJEXJ,XLWBBJDMX_WGCPBZ,XLWBBJDMX_JMBGS,XLWBBJDMX_LSJGBBJ,XLWBBJDMX_BZ,XLWBBJDMX_XDBZ, ");
if (XLBJDUtils.IsJGEJGB(sJGBID))
{
sql.Add(" case when ( isnull(XLXSCLQD_WPID,' ') <> 'ZZZZ' ");
}
else
{
sql.Add(" case when ( isnull(XLXSJGBMX_JGBID,' ') = ' ' ");
}
if (!sJGFID.Equals(""))
{
sql.Add(" and not exists (select 1 from XLXSJGBMX JGBMX WHERE JGBMX.XLXSJGBMX_JGBID = '" + sJGFID + "' and JGBMX.XLXSJGBMX_XLXHID=XLWBBJDMX_XLXHID and JGBMX.XLXSJGBMX_XLGGID = XLWBBJDMX_XLGGID ");
sql.Add(" and JGBMX.XLXSJGBMX_XLBZID=isnull(XLWBBJDMX_XLBZID,' ') and JGBMX.XLXSJGBMX_DYDJID=isnull(XLWBBJDMX_DYDJID,' '))");
}
sql.Add(" ) then 'Y' else 'N' end as CLQWSC,");
sql.Add(" case when isnull(XLWBBJDMX_XLXHID,' ') = ' ' then 'N' when isnull(XLXHB_XLXHID,' ') = ' ' then 'Y' else 'N' end as XHBHG,");
sql.Add(" case when isnull(XLWBBJDMX_XLGGID,' ') = ' ' then 'N' when isnull(XLGGB_XLGGID,' ') = ' ' then 'Y' else 'N' end as GGBHG,");
sql.Add(" case when isnull(XLWBBJDMX_DYDJID,' ') = ' ' then 'N' when isnull(XLDYDJB_DYDJID,' ') = ' ' then 'Y' else 'N' end as DYDJBHG ");
sql.Add(" ,isnull(XLWBBJDMX_ZHCPMLMC,' ') as XLWBBJDMX_ZHCPMLMC,isnull(XLWBBJDMX_CPMLMC,' ') as XLWBBJDMX_CPMLMC,XLWBBJDMX_PWQDID,XLWBBJDMX_PWQDWLMC,XLWBBJDMX_PWQDMS,XLWBBJDMX_GWWLBM ");
if (XLWBBJDUtils.GetWBBJDDRYZList(sTargetBJDID).Length > 0)
{
sql.Add(" ,XLWBBJDMXYZZ_YZZ01,XLWBBJDMXYZZ_YZZ02,XLWBBJDMXYZZ_YZZ03,XLWBBJDMXYZZ_YZZ04,XLWBBJDMXYZZ_YZZ05 ");
sql.Add(" ,XLWBBJDMXYZZ_YZZ06,XLWBBJDMXYZZ_YZZ07,XLWBBJDMXYZZ_YZZ08,XLWBBJDMXYZZ_YZZ09,XLWBBJDMXYZZ_YZZ10 ");
sql.Add(" ,XLWBBJDMXYZZ_YZZ11,XLWBBJDMXYZZ_YZZ12,XLWBBJDMXYZZ_YZZ13,XLWBBJDMXYZZ_YZZ14,XLWBBJDMXYZZ_YZZ15 ");
sql.Add(" ,XLWBBJDMXYZZ_YZZ16,XLWBBJDMXYZZ_YZZ17,XLWBBJDMXYZZ_YZZ18,XLWBBJDMXYZZ_YZZ19,XLWBBJDMXYZZ_YZZ20 ");
}
else
{
for (int i = 1; i <= 20; i++)
sql.Add(string.Format(" ,0.0 as XLWBBJDMXYZZ_YZZ{0}",i.ToString().PadLeft(2,'0')));
}
sql.Add(" from XLWBBJDMX ");
if (XLBJDUtils.IsJGEJGB(sJGBID))
{
sql.Add(" left join XLXSCLQD on XLXSCLQD_XLXHID=XLWBBJDMX_XLXHID and XLXSCLQD_XLGGID=XLWBBJDMX_XLGGID and XLXSCLQD_XLBZID=XLWBBJDMX_XLBZID and XLXSCLQD_DYDJID=isnull(XLWBBJDMX_DYDJID,' ') ");
}
sql.Add(" left join XLXHB on XLXHB_XLXHID=XLWBBJDMX_XLXHID ");
sql.Add(" left join XLXSBJXLGGTHB XLXSBJXLGGTHB_GG on XLXSBJXLGGTHB_GG.XLXSBJXLGGTHB_XLGGID = XLWBBJDMX_XLGGID ");
sql.Add(" left join XLGGB on XLGGB_XLGGID=isnull(XLXSBJXLGGTHB_GG.XLXSBJXLGGTHB_XLGGIDCH,' ') and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') ");
sql.Add(" left join XLBZ on XLBZ_XLBZID=XLWBBJDMX_XLBZID ");
sql.Add(" left join XLDYDJB on XLDYDJB_DYDJID=XLWBBJDMX_DYDJID ");
sql.Add(" left join XLYSB on XLYSB_XLYSID=XLWBBJDMX_XLYSID ");
if (!XLBJDUtils.IsJGEJGB(sJGBID))
{
if (sJGCIDS.Equals(""))
{
sql.Add(" left join XLXSJGBMX on XLXSJGBMX_JGBID = '" + sJGBID + "' and XLXSJGBMX_XLXHID=XLWBBJDMX_XLXHID and XLXSJGBMX_XLGGID = XLWBBJDMX_XLGGID ");
}
else
{
sql.Add(" left join XLXSJGBMX on " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGCIDS) + " and XLXSJGBMX_XLXHID=XLWBBJDMX_XLXHID and XLXSJGBMX_XLGGID = XLWBBJDMX_XLGGID ");
}
sql.Add(" and XLXSJGBMX_XLBZID=isnull(XLWBBJDMX_XLBZID,' ') and XLXSJGBMX_DYDJID=isnull(XLWBBJDMX_DYDJID,' ') ");
}
if (!sLMNR.Equals(""))
{
sql.Add(" left join XLWBBJDNR on XLWBBJDNR_BJDID = XLWBBJDMX_BJDID and XLWBBJDNR_WBBJDID = XLWBBJDMX_WBBJDID and XLWBBJDNR_DRHH = XLWBBJDMX_DRHH ");
}
if (XLWBBJDUtils.GetWBBJDDRYZList(sTargetBJDID).Length > 0)
{
sql.Add(" left join XLWBBJDMXYZZ on XLWBBJDMXYZZ_WBBJDID=XLWBBJDMX_WBBJDID ");
sql.Add(" and XLWBBJDMXYZZ_DRHH=XLWBBJDMX_DRHH and XLWBBJDMXYZZ_BJDID=XLWBBJDMX_BJDID ");
}
sql.Add(" where 1 = 1 ");
if (!sWBBJDID.Equals(""))
{
sql.Add(" and XLWBBJDMX_WBBJDID =:XLWBBJDMX_WBBJDID and XLWBBJDMX_BJDID=:XLWBBJDMX_BJDID ");
sql.ParamByName("XLWBBJDMX_WBBJDID").Value = sWBBJDID;
sql.ParamByName("XLWBBJDMX_BJDID").Value = sBJDID;
}
else
{
sql.Add(" and 1 <> 1 ");
}
//型号
if (!String.IsNullOrEmpty(sXLXHID))
{
if (sXLXHID.Equals("空"))
{
sql.Add(" and isnull(XLWBBJDMX_XLXHID,' ') = ' ' ");
}
else
{
sql.Add(" and XLWBBJDMX_XLXHID = :XLWBBJDMX_XLXHID");
sql.ParamByName("XLWBBJDMX_XLXHID").Value = sXLXHID;
}
}
//标准
if (!String.IsNullOrEmpty(sXLBZID))
{
if (sXLBZID.Equals("空"))
{
sql.Add(" and isnull(XLWBBJDMX_XLBZID,' ') = ' ' ");
}
else
{
sql.Add(" and XLWBBJDMX_XLBZID = :XLWBBJDMX_XLBZID");
sql.ParamByName("XLWBBJDMX_XLBZID").Value = sXLBZID;
}
}
//电压等级
if (!String.IsNullOrEmpty(sDYDJID))
{
if (sDYDJID.Equals("空"))
{
sql.Add(" and isnull(XLWBBJDMX_DYDJID,' ') = ' ' ");
}
else
{
sql.Add(" and XLWBBJDMX_DYDJID = :XLWBBJDMX_DYDJID");
sql.ParamByName("XLWBBJDMX_DYDJID").Value = sDYDJID;
}
}
//颜色
if (!String.IsNullOrEmpty(sXLYSID))
{
sql.Add(" and XLWBBJDMX_XLYSID = :XLWBBJDMX_XLYSID");
sql.ParamByName("XLWBBJDMX_XLYSID").Value = sXLYSID;
}
//计量单位
if (!String.IsNullOrEmpty(sJLDW))
{
sql.Add(" and XLWBBJDMX_JLDW = :XLWBBJDMX_JLDW");
sql.ParamByName("XLWBBJDMX_JLDW").Value = sJLDW;
}
//修订
if (!String.IsNullOrEmpty(sXD))
{
sql.Add(" and XLWBBJDMX_XDBZ = :XLWBBJDMX_XDBZ");
sql.ParamByName("XLWBBJDMX_XDBZ").Value = sXD;
}
//外购
if (!String.IsNullOrEmpty(sWG))
{
sql.Add(" and XLWBBJDMX_WGCPBZ = :XLWBBJDMX_WGCPBZ");
sql.ParamByName("XLWBBJDMX_WGCPBZ").Value = sWG;
}
//报价产品
if (!String.IsNullOrEmpty(sBJCP))
{
sql.Add(" and replace(XLWBBJDMX_BJCP,'*','×') like :XLWBBJDMX_BJCP");
sql.ParamByName("XLWBBJDMX_BJCP").Value = "%" + sBJCP.Replace('*', '×') + "%";
}
if (!String.IsNullOrEmpty(sZHCPML)&&XLBJDUtils.GetXLXSBJPZXX(100860000).XLXSBJPZ_XSCPML == "Z")
{
sql.Add(" and XLWBBJDMX_ZHCPMLMC like :ZHCPML ");
sql.ParamByName("ZHCPML").Value = "%" + sZHCPML + "%";
}
//"型号不合规", "1"
//"规格不合规", "2"
//"电压等级不合规", "3"
//"型号&规格&电压等级不合规", "4"
//"材料清单未生成", "5"
if (!String.IsNullOrEmpty(sBHFCX))
{
if (sBHFCX.Equals("1"))
{
sql.Add(" and not exists (select 1 from XLXHB WHERE XLXHB_XLXHID = XLWBBJDMX_XLXHID) ");
}
else if (sBHFCX.Equals("2"))
{
sql.Add(" and not exists (select XLXSBJXLGGTHB_BHG2.XLXSBJXLGGTHB_XLGGID from XLXSBJXLGGTHB XLXSBJXLGGTHB_BHG2 ");
sql.Add(" left join XLGGB on XLGGB_XLGGID = XLXSBJXLGGTHB_BHG2.XLXSBJXLGGTHB_XLGGIDCH ");
sql.Add(" where XLXSBJXLGGTHB_BHG2.XLXSBJXLGGTHB_XLGGID = XLWBBJDMX_XLGGID ");
sql.Add(" and isnull(XLGGB.XLGGB_XLGGID,' ')<>' ') ");
}
else if (sBHFCX.Equals("3"))
{
sql.Add(" and not exists (select 1 from XLDYDJB WHERE XLDYDJB_DYDJID = isnull(XLWBBJDMX_DYDJID,' ')) ");
}
else if (sBHFCX.Equals("4"))
{
sql.Add(" and ( not exists (select 1 from XLXHB WHERE XLXHB_XLXHID = XLWBBJDMX_XLXHID) ");
sql.Add(" or not exists (select XLXSBJXLGGTHB_BHG4.XLXSBJXLGGTHB_XLGGID from XLXSBJXLGGTHB XLXSBJXLGGTHB_BHG4 ");
sql.Add(" left join XLGGB on XLGGB_XLGGID = XLXSBJXLGGTHB_BHG4.XLXSBJXLGGTHB_XLGGIDCH ");
sql.Add(" where XLXSBJXLGGTHB_BHG4.XLXSBJXLGGTHB_XLGGID = XLWBBJDMX_XLGGID ");
sql.Add(" and isnull(XLGGB.XLGGB_XLGGID,' ')<>' ') ");
sql.Add(" or not exists (select 1 from XLDYDJB WHERE XLDYDJB_DYDJID = isnull(XLWBBJDMX_DYDJID,' ')) ) ");
}
else if (sBHFCX.Equals("5"))
{
if (XLBJDUtils.IsJGEJGB(sJGBID))
sql.Add(" and not exists (select 1 from XLXSCLQD WHERE XLXSCLQD_WPID='ZZZZ' and XLXSCLQD_XLXHID=XLWBBJDMX_XLXHID and XLXSCLQD_XLGGID = XLWBBJDMX_XLGGID and XLXSCLQD_XLBZID=isnull(XLWBBJDMX_XLBZID,' ') and XLXSCLQD_DYDJID=isnull(XLWBBJDMX_DYDJID,' ')) ");
else
{
if (sJGCIDS.Equals(""))
{
sql.Add(" and not exists (select 1 from XLXSJGBMX WHERE XLXSJGBMX_JGBID = '" + sJGBID + "' and XLXSJGBMX_XLXHID=XLWBBJDMX_XLXHID and XLXSJGBMX_XLGGID = XLWBBJDMX_XLGGID and XLXSJGBMX_XLBZID=isnull(XLWBBJDMX_XLBZID,' ') and XLXSJGBMX_DYDJID=isnull(XLWBBJDMX_DYDJID,' ')) ");
}
else
{
sql.Add(" and not exists (select 1 from XLXSJGBMX WHERE " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGCIDS) + " and XLXSJGBMX_XLXHID=XLWBBJDMX_XLXHID and XLXSJGBMX_XLGGID = XLWBBJDMX_XLGGID and XLXSJGBMX_XLBZID=isnull(XLWBBJDMX_XLBZID,' ') and XLXSJGBMX_DYDJID=isnull(XLWBBJDMX_DYDJID,' ')) ");
}
}
if (!sJGFID.Equals(""))
sql.Add(" and not exists (select 1 from XLXSJGBMX WHERE XLXSJGBMX_JGBID = '" + sJGFID + "' and XLXSJGBMX_XLXHID=XLWBBJDMX_XLXHID and XLXSJGBMX_XLGGID = XLWBBJDMX_XLGGID and XLXSJGBMX_XLBZID=isnull(XLWBBJDMX_XLBZID,' ') and XLXSJGBMX_DYDJID=isnull(XLWBBJDMX_DYDJID,' ')) ");
}
}
sql.Add("order by XLWBBJDMX_DRHH ");
string s = sql.Text;
return sql;
}
#endregion
}
}