637 lines
26 KiB
C#
637 lines
26 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 XLBJCXBO : 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, 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"))
|
||
{
|
||
List<JGBInfo> ListJGB = GetJGBInfoList();
|
||
if (ListJGB.Count > 0)
|
||
sJGBID = ListJGB[0].JGBID;
|
||
else
|
||
sJGBID = "";
|
||
}
|
||
iRowCount = 0;
|
||
List<XLGGInfo> rEntity = new List<XLGGInfo>();
|
||
if (sJGBID.Trim().Equals(""))
|
||
return rEntity;
|
||
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";
|
||
int top = iStart + iNum;
|
||
string sCunt = "select count(1) ";
|
||
string sOrder = "";
|
||
string sSQL = "";
|
||
string sculom = "select top " + top.ToString().Trim() + " JGBID, XLXHID, DYDJID, XLGGID, CPJJ,XLBZID,XLBZMC ";
|
||
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 ,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 ";
|
||
sSQL += " from XLXSJGBMX 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 ";
|
||
sSQL += " from XLXSJGBMX where 1=1 ";
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
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 where B.XLXSJGBMX_JGBID='" + sJGFID + "' ";
|
||
sSQL += " and B.XLXSJGBMX_XLXHID = XLXSJGBMX.XLXSJGBMX_XLXHID ";
|
||
sSQL += " and B.XLXSJGBMX_XLGGID = XLXSJGBMX.XLXSJGBMX_XLGGID ";
|
||
sSQL += " and B.XLXSJGBMX_XLBZID = XLXSJGBMX.XLXSJGBMX_XLBZID and B.XLXSJGBMX_DYDJID = XLXSJGBMX.XLXSJGBMX_DYDJID ) ";
|
||
sSQL += " ) C ";
|
||
sSQL += " left join XLBZ on XLBZ_XLBZID = XLXSJGBMX_XLBZID ";
|
||
sSQL += " left join XLXHB on XLXHB_XLXHID = XLXSJGBMX_XLXHID ";
|
||
sSQL += " left join XLXSBJXLGGTHB XLXSBJXLGGTHB_GG on XLXSBJXLGGTHB_GG.XLXSBJXLGGTHB_XLGGID = XLXSJGBMX_XLGGID ";
|
||
sSQL += " left join XLGGB on XLGGB_XLGGID = isnull(XLXSBJXLGGTHB_GG.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 + " ";
|
||
}
|
||
}
|
||
sSQL += ") D where 1=1 ";
|
||
sOrder += " order by PX,XLXSJGBMX_XSXH ";
|
||
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());
|
||
}
|
||
|
||
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);
|
||
}
|
||
rEntity.Add(info);
|
||
}
|
||
return rEntity;
|
||
}
|
||
|
||
private string GetAPPCJSXFS(ref string sCPMLIDS)
|
||
{
|
||
string sRstr = "1";
|
||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860027);
|
||
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)
|
||
{
|
||
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);
|
||
}
|
||
rEntity.Add(info);
|
||
}
|
||
return rEntity;
|
||
}
|
||
|
||
public List<JGBInfo> GetJGBInfoList()
|
||
{
|
||
List<JGBInfo> rEntity = new List<JGBInfo>();
|
||
string sFields = @" JGBID, JGBMC, YXQS, YXQZ ";
|
||
string[] aField = sFields.Split(',');
|
||
Boolean HasTJYS_1 = false;//是否查询出了XLXSJGB_TJYS为1的价格表
|
||
|
||
string sSQL = "";
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL SQL = new TSQL(dberp);
|
||
sSQL += "select XLXSJGB_JGBID as JGBID, XLXSJGB_JGBMC as JGBMC, XLXSJGB_YXQS as YXQS, XLXSJGB_YXQZ as YXQZ, XLXSJGB_JGBID, XLXSJGB_TJYS, XLXSJGB_JGBIDS from XLXSJGB ";
|
||
sSQL += " where XLXSJGB_MXBH = 'JGB' and isnull(XLXSJGB_YXQS, convert(datetime, '1900-01-01')) <= '" + DateTime.Now.ToString() + "' ";
|
||
if (!GetOption("XSBJ02").Trim().Equals(""))
|
||
sSQL += " and " + CMISproDataBase.GetWhereEqual("XLXSJGB_TJYS", GetOption("XSBJ02"));
|
||
sSQL += " order by XLXSJGB_TJYS, XLXSJGB_YXQS desc, XLXSJGB_JGBID";
|
||
SQL.Clear();
|
||
SQL.Add(sSQL);
|
||
DataSet ds = dberp.OpenDataSet(SQL);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//先排XLXSJGB_TJYS为0的价格表
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i]["XLXSJGB_TJYS"].ToString().Trim().Equals("0"))
|
||
{
|
||
JGBInfo info = new JGBInfo();
|
||
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);
|
||
}
|
||
}
|
||
//再排XLXSJGB_TJYS为1的价格表
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i]["XLXSJGB_TJYS"].ToString().Trim().Equals("1"))
|
||
{
|
||
JGBInfo info1 = new JGBInfo();
|
||
foreach (string Field in aField)
|
||
{
|
||
info1.GetType().GetProperty(Field.Trim()).SetValue(info1, ds.Tables[0].Rows[i][Field.Trim()].ToString().Trim(), null);
|
||
}
|
||
rEntity.Add(info1);
|
||
HasTJYS_1 = true;
|
||
|
||
//排以XLXSJGB_TJYS为1的价格表作为基价的区域价价格表(XLXSJGB_TJYS为2)
|
||
for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
|
||
{
|
||
if (ds.Tables[0].Rows[j]["XLXSJGB_TJYS"].ToString().Trim().Equals("2"))
|
||
{
|
||
if (("," + ds.Tables[0].Rows[j]["XLXSJGB_JGBIDS"].ToString().Trim() + ",").IndexOf("," + ds.Tables[0].Rows[i]["XLXSJGB_JGBID"].ToString().Trim() + ",") >= 0)
|
||
{
|
||
JGBInfo info2 = new JGBInfo();
|
||
foreach (string Field in aField)
|
||
{
|
||
info2.GetType().GetProperty(Field.Trim()).SetValue(info2, ds.Tables[0].Rows[j][Field.Trim()].ToString().Trim(), null);
|
||
}
|
||
rEntity.Add(info2);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
//若没有XLXSJGB_TJYS为1的价格表,直接单独排XLXSJGB_TJYS为2的价格表
|
||
if (!HasTJYS_1)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i]["XLXSJGB_TJYS"].ToString().Trim().Equals("2"))
|
||
{
|
||
JGBInfo info2 = new JGBInfo();
|
||
foreach (string Field in aField)
|
||
{
|
||
info2.GetType().GetProperty(Field.Trim()).SetValue(info2, ds.Tables[0].Rows[i][Field.Trim()].ToString().Trim(), null);
|
||
}
|
||
rEntity.Add(info2);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
if (rEntity.Count == 0)
|
||
{
|
||
JGBInfo info = new JGBInfo();
|
||
rEntity.Add(info);
|
||
}
|
||
|
||
return rEntity;
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
|
||
public class CPYTInfo
|
||
{
|
||
private string _XLCPYT_CPYT = string.Empty;
|
||
public string XLCPYT_CPYT
|
||
{
|
||
get { return _XLCPYT_CPYT; }
|
||
set { _XLCPYT_CPYT = value; }
|
||
}
|
||
|
||
private string _XLCPYT_CPYTMC = string.Empty;
|
||
public string XLCPYT_CPYTMC
|
||
{
|
||
get { return _XLCPYT_CPYTMC; }
|
||
set { _XLCPYT_CPYTMC = value; }
|
||
}
|
||
|
||
private string _APPCJSXFS = string.Empty;
|
||
public string APPCJSXFS
|
||
{
|
||
get { return _APPCJSXFS; }
|
||
set { _APPCJSXFS = value; }
|
||
}
|
||
|
||
//点击标记
|
||
private string _DJBJ = string.Empty;
|
||
public string DJBJ
|
||
{
|
||
get { return _DJBJ; }
|
||
set { _DJBJ = value; }
|
||
}
|
||
}
|
||
|
||
public class XLXHInfo
|
||
{
|
||
private string _XLXHB_XLXHID = string.Empty;
|
||
public string XLXHB_XLXHID
|
||
{
|
||
get { return _XLXHB_XLXHID; }
|
||
set { _XLXHB_XLXHID = value; }
|
||
}
|
||
|
||
private string _XLXSBJXHML_DYDJID = string.Empty;
|
||
public string XLXSBJXHML_DYDJID
|
||
{
|
||
get { return _XLXSBJXHML_DYDJID; }
|
||
set { _XLXSBJXHML_DYDJID = value; }
|
||
}
|
||
|
||
private string _XLXHB_XLXHMC = string.Empty;
|
||
public string XLXHB_XLXHMC
|
||
{
|
||
get { return _XLXHB_XLXHMC; }
|
||
set { _XLXHB_XLXHMC = value; }
|
||
}
|
||
}
|
||
|
||
public class XLGGInfo : ModelBase
|
||
{
|
||
private string _JGBID = string.Empty;
|
||
public string JGBID
|
||
{
|
||
get { return _JGBID; }
|
||
set { _JGBID = value; }
|
||
}
|
||
|
||
private string _XLXHID = string.Empty;
|
||
public string XLXHID
|
||
{
|
||
get { return _XLXHID; }
|
||
set { _XLXHID = value; }
|
||
}
|
||
|
||
private string _DYDJID = string.Empty;
|
||
public string DYDJID
|
||
{
|
||
get { return _DYDJID; }
|
||
set { _DYDJID = value; }
|
||
}
|
||
|
||
private string _XLGGID = string.Empty;
|
||
public string XLGGID
|
||
{
|
||
get { return _XLGGID; }
|
||
set { _XLGGID = value; }
|
||
}
|
||
|
||
private string _CPJJ = string.Empty;
|
||
public string CPJJ
|
||
{
|
||
get { return _CPJJ; }
|
||
set { _CPJJ = value; }
|
||
}
|
||
|
||
private string _XLBZID = string.Empty;
|
||
public string XLBZID
|
||
{
|
||
get { return _XLBZID; }
|
||
set { _XLBZID = value; }
|
||
}
|
||
|
||
private string _XLBZMC = string.Empty;
|
||
public string XLBZMC
|
||
{
|
||
get { return _XLBZMC; }
|
||
set { _XLBZMC = value; }
|
||
}
|
||
|
||
private string _XSTLJ = string.Empty;
|
||
public string XSTLJ
|
||
{
|
||
get { return _XSTLJ; }
|
||
set { _XSTLJ = value; }
|
||
}
|
||
|
||
private string _TBJCLID = string.Empty;
|
||
public string TBJCLID
|
||
{
|
||
get { return _TBJCLID; }
|
||
set { _TBJCLID = value; }
|
||
}
|
||
|
||
private string _LBJCLID = string.Empty;
|
||
public string LBJCLID
|
||
{
|
||
get { return _LBJCLID; }
|
||
set { _LBJCLID = value; }
|
||
}
|
||
|
||
private string _TJ = string.Empty;
|
||
public string TJ
|
||
{
|
||
get { return _TJ; }
|
||
set { _TJ = value; }
|
||
}
|
||
|
||
private string _LJ = string.Empty;
|
||
public string LJ
|
||
{
|
||
get { return _LJ; }
|
||
set { _LJ = value; }
|
||
}
|
||
|
||
private string _WGCP = string.Empty;
|
||
public string WGCP
|
||
{
|
||
get { return _WGCP; }
|
||
set { _WGCP = value; }
|
||
}
|
||
}
|
||
|
||
public class JGBInfo
|
||
{
|
||
private string _JGBID = string.Empty;
|
||
public string JGBID
|
||
{
|
||
get { return _JGBID; }
|
||
set { _JGBID = value; }
|
||
}
|
||
|
||
private string _JGBMC = string.Empty;
|
||
public string JGBMC
|
||
{
|
||
get { return _JGBMC; }
|
||
set { _JGBMC = value; }
|
||
}
|
||
|
||
private string _YXQS = string.Empty;
|
||
public string YXQS
|
||
{
|
||
get { return _YXQS; }
|
||
set { _YXQS = value; }
|
||
}
|
||
|
||
private string _YXQZ = string.Empty;
|
||
public string YXQZ
|
||
{
|
||
get { return _YXQZ; }
|
||
set { _YXQZ = value; }
|
||
}
|
||
}
|
||
|
||
}
|