using System; using System.Data; using System.Data.SqlClient; using WebSqlHelper; namespace DSWeb.EntityDA { public class ReportDA { private const string SQL_SELECT_OP_SEAE_TOTAL = " SELECT * FROM " + " (SELECT TOP 100 PERCENT newid() as GID,YEARINT,MONTHINT,SUM(TEU) AS TOTALTEU,COUNT(BSNO) AS TOTALOFFER,SUM(TTLPROFIT) AS TOTALPROFIT FROM " + " ( " + " SELECT A.BSNO,DATEPART(year,BSDATE) AS YEARINT,DATEPART(month,BSDATE) AS MONTHINT,TEU,TTLPROFIT FROM op_seae AS A INNER JOIN " + " fee_gain as B ON A.BSNO = B.BSNO LEFT JOIN company AS C ON A.CORPID = C.GID " + " WHERE 1 > 0 {0} " + " ) AS D GROUP BY YEARINT,MONTHINT ORDER BY YEARINT,MONTHINT ASC) AS E {1}"; private const string SQL_SELECT_MULTIPLE_BUSINESS_TOTAL = " SELECT newid(),'海运出口'AS TYPENAME,COUNT(A.BSNO) AS COUNTTOTAL," + " SUM(ISNULL(B.USDDR,0)) AS SUSDDR,SUM(ISNULL(B.STLDRUSD,0)) AS SSTLDRUSD,SUM(ISNULL(B.USDDR,0) - ISNULL(B.STLDRUSD,0)) AS SUNSTLDRUSD," + " SUM(ISNULL(B.RMBDR,0)) AS SRMBDR,SUM(ISNULL(B.STLDRRMB,0)) AS SSTLDRRMB,SUM(ISNULL(B.RMBDR,0) - ISNULL(B.STLDRRMB,0)) AS SUNSTLDRRMB," + " SUM(ISNULL(B.DRTTL,0)) AS SDRTTL,SUM(ISNULL(B.STLDRTTL,0)) AS SSTLDRTTL,SUM(ISNULL(B.DRTTL,0) - ISNULL(B.STLDRTTL,0)) AS SUNSTLDRTTL," + " SUM(ISNULL(B.USDCR,0)) AS SUSDCR,SUM(ISNULL(B.STLCRUSD,0)) AS SSTLCRUSD,SUM(ISNULL(B.USDCR,0) - ISNULL(B.STLCRUSD,0)) AS SUNSTLCRUSD," + " SUM(ISNULL(B.RMBCR,0)) AS SRMBCR,SUM(ISNULL(B.STLCRRMB,0)) AS SSTLCRRMB,SUM(ISNULL(B.RMBCR,0) - ISNULL(B.STLCRRMB,0)) AS SUNSTLCRRMB," + " SUM(ISNULL(B.CRTTL,0)) AS SCRTTL,SUM(ISNULL(B.STLCRTTL,0)) AS SSTLCRTTL,SUM(ISNULL(B.CRTTL,0) - ISNULL(B.STLCRTTL,0)) AS SUNSTLCRTTL," + " SUM(ISNULL(B.USDPROFIT,0)) AS SUSDPROFIT,SUM(ISNULL(B.RMBPROFIT,0)) AS SRMBPROFIT,SUM(ISNULL(B.TTLPROFIT,0)) AS STTLPROFIT " + " FROM op_seae AS A LEFT JOIN fee_gain AS B ON A.BSNO = B.BSNO " + " WHERE 1 > 0 {0} "; /// /// 根据SQL语句获取数据集 /// /// /// public DataSet GetDataSetBySql(string strSql) { DataSet userSet = new DataSet(); userSet = SqlHelper.ExecuteDataset(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, strSql); return userSet; } /// /// 通过查询条件获取数据集 /// /// /// public DataTable GetDataTableSourceByCondtion(ReportType tempReportType,string tempCondition,string tempSortCondition) { string tempSql = ""; switch (tempReportType) { case ReportType.OPSEAETOTAL: tempSql = String.Format(SQL_SELECT_OP_SEAE_TOTAL, tempCondition, tempSortCondition); break; case ReportType.MULTIPLEBUSINESSTOTAL: tempSql = String.Format(SQL_SELECT_MULTIPLE_BUSINESS_TOTAL, tempCondition); break; } return GetDataSetBySql(tempSql).Tables[0]; } } public enum ReportType { OPSEAETOTAL = 1, MULTIPLEBUSINESSTOTAL = 2 } }