You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3714 lines
268 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Mvc;
using DSWeb.MvcShipping.Helper;
using DSWeb.MvcShipping.Comm.Cookie;
using DSWeb.Areas.CommMng.DAL;
using DSWeb.Areas.CommMng.DAL;
using DSWeb.Areas.RptMng.Comm;
using HcUtility.Comm;
using HcUtility.Core;
using Microsoft.Practices.EnterpriseLibrary.Data;
using DSWeb.EntityDA;
using DSWeb.Areas.CommMng.Models;
using DSWeb.MvcShipping.Models.MonthDataSet;
using DSWeb.MvcShipping.Models.ProfitFieldSet;
using DSWeb.MvcShipping.DAL.MsSysParamSet;
namespace DSWeb.MvcShipping.Controllers
{
/// <summary>
/// 月度利润报表查询
/// </summary>
[JsonRequestBehavior]
public class MsRptOpProfitMonthController : Controller
{
//
// GET: /MvcShipping/MsRptOpProfit
public ActionResult Index()
{
return View();
}
public ActionResult ProfitFieldSet()
{
return View();
}
//
// GET/RptMng/MsRptPcHeadQry/QryData
public ContentResult BsListData(int start, int limit, string condition, string sort, string printstr, string sortstr, string amendstr = "false")
{
if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "")
{
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
}
var strDa = GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (!string.IsNullOrEmpty(strDa))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + strDa;
}
else
{
condition = strDa;
}
}
var RPTPRNOCANCEL = MsSysParamSetDAL.GetData("PARAMNAME='RPTPRNOCANCEL'");
if (RPTPRNOCANCEL.PARAMVALUE == "1")
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and isnull(B.ISCANCEL,0)<>1 ";
}
else
{
condition = " isnull(B.ISCANCEL,0)<>1 ";
}
}
var PROFITRATEDR = MsSysParamSetDAL.GetData("PARAMNAME='PROFITRATEDR'");
var strSql = new StringBuilder();
if (amendstr == "true")
{
strSql.Append("SELECT B.BSNO, B.OPLB,'普通货' OPTYPE,B.OPLBNAME, B.BSTYPE,B.BLTYPE,B.BLFRT,B.CUSTOMERNAME, B.CUSTNO, B.MBLNO, B.HBLNO,B.VESSEL, B.VOYNO, B.INPUTBY, B.CREATETIME, B.BSSTATUS, B.SALE, B.OP, B.DOC,B.YARD,B.CONTRACTNO,");
strSql.Append("B.ETD,B.PKGS,B.CBM");
strSql.Append(",B.OPDATE,B.ENTERP,B.REMARK,B.AGENTID,B.ORDERNO");
strSql.Append(",case B.CUSTOMDATE when '1900-01-01 00:00:00.000' then '' else CONVERT(varchar(100), B.CUSTOMDATE,23) end as CUSTOMDATE");
strSql.Append(",case B.FEESTATUS when 1 then '锁定' else '未锁定' end as FEESTATUSREF,(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP");
strSql.Append(",B.CUSTSERVICE,B.FRCUSTSERVICE, B.PORTLOAD, B.PORTDISCHARGE,B.DESTINATION, B.CUSTOMNO, B.ACCDATE,B.CARRIER, B.BSSOURCE, B.LANE, B.FORWARDER,B.CNTRTOTAL,B.CORPID,B.CARGOID,B.SERVICECONTRACTNO");
strSql.Append(",B.CNTR1,B.CNTR2,B.CNTR3");
strSql.Append(",B.CNTR4,B.CNTR5,B.CNTR6");
strSql.Append(",B.CNTR7,B.CNTR8,B.CNTR9");
strSql.Append(",B.CNTR10,B.OTCNTR");
strSql.Append(",B.NETWEIGHT,B.KGS,B.TEU");
strSql.Append(",B.TRADETYPE,B.GOODSNAME,B.FEESTATUS");
strSql.Append(",SUM(G.RMBDR) RMBDR,SUM(G.RMBCR) RMBCR,SUM(G.STLRMBDR) STLRMBDR,SUM(G.STLRMBCR) STLRMBCR,SUM(G.USDDR) USDDR,SUM(G.USDCR) USDCR,");
strSql.Append("SUM(G.STLUSDDR) STLUSDDR,SUM(G.STLUSDCR) STLUSDCR,SUM(G.OTDR) OTDR,SUM(G.OTCR) OTCR,SUM(G.STLOTDR) STLOTDR,SUM(G.STLOTCR) STLOTCR,SUM(ISNULL(G.TTLDR,0)) TTLDR,");
strSql.Append("SUM(ISNULL(G.TTLCR,0)) TTLCR,SUM(G.STLTTLDR) STLTTLDR,SUM(G.STLTTLCR) STLTTLCR");
strSql.Append(",SUM(ISNULL(G.USDDR-G.USDCR,0)) AS USDPROFIT,SUM(ISNULL(G.RMBDR-G.RMBCR,0)) AS RMBPROFIT,SUM(ISNULL(G.OTDR-G.OTCR,0)) AS OTPROFIT,SUM(ISNULL(G.TTLDR-G.TTLCR,0)) AS TTLPROFIT ");
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (SUM(G.TTLDR))= 0 THEN 0 ELSE CONVERT(NUMERIC(18,2),ltrim(str((SUM(G.TTLDR-G.TTLCR)) / (SUM(G.TTLDR)) * 100, 10, 2))) END) AS PROFITRATE");
}
else
strSql.Append(", (CASE WHEN (SUM(G.TTLCR))= 0 THEN 0 ELSE CONVERT(NUMERIC(18,2),ltrim(str((SUM(G.TTLDR-G.TTLCR)) / (SUM(G.TTLCR)) * 100, 10, 2))) END) AS PROFITRATE");
strSql.Append(",SUM(ISNULL(G.RMBDR-G.STLRMBDR,0)) AS RMBNODR,SUM(ISNULL(G.USDDR-G.STLUSDDR,0)) AS USDNODR,SUM(ISNULL(G.OTDR-G.STLOTDR,0)) AS OTNODR,SUM(ISNULL(G.TTLDR-G.STLTTLDR,0)) AS TTLNODR");
strSql.Append(",SUM(ISNULL(G.RMBCR-G.STLRMBCR,0)) AS RMBNOCR,SUM(ISNULL(G.USDCR-G.STLUSDCR,0)) AS USDNOCR,SUM(ISNULL(G.OTCR-G.STLOTCR,0)) AS OTNOCR,SUM(ISNULL(G.TTLCR-G.STLTTLCR,0)) AS TTLNOCR");
strSql.Append(",SUM(G.NOTAXRMBDR) NOTAXRMBDR,SUM(G.NOTAXRMBCR) NOTAXRMBCR,SUM(G.NOTAXUSDDR) NOTAXUSDDR,SUM(G.NOTAXUSDCR) NOTAXUSDCR,SUM(G.NOTAXOTDR) NOTAXOTDR");
strSql.Append(",SUM(G.NOTAXOTCR) NOTAXOTCR,SUM(G.NOTAXTTLDR) NOTAXTTLDR,SUM(G.NOTAXTTLCR) NOTAXTTLCR,SUM(G.NOTAXUSDDR-G.NOTAXUSDCR) AS NOTAXUSDPROFIT");
strSql.Append(",SUM(G.NOTAXRMBDR-G.NOTAXRMBCR) AS NOTAXRMBPROFIT,SUM(G.NOTAXOTDR-G.NOTAXOTCR) AS NOTAXOTPROFIT,SUM(G.NOTAXTTLDR-G.NOTAXTTLCR) AS NOTAXTTLPROFIT ");
strSql.Append(",SUM(G.TTLTAXDR) AS TTLTAXDR,SUM(G.TTLTAXCR) AS TTLTAXCR,SUM(G.TTLTAXDR-G.TTLTAXCR) AS TTLTAXPROFIT");
strSql.Append(",SUM(G.NOACCTAXRMBDR) NOACCTAXRMBDR,SUM(G.NOACCTAXRMBCR) NOACCTAXRMBCR,SUM(G.NOACCTAXUSDDR) NOACCTAXUSDDR,SUM(G.NOACCTAXUSDCR) NOACCTAXUSDCR,SUM(G.NOACCTAXOTDR) NOACCTAXOTDR");
strSql.Append(",SUM(G.NOACCTAXOTCR) NOACCTAXOTCR,SUM(G.NOACCTAXTTLDR) NOACCTAXTTLDR,SUM(G.NOACCTAXTTLCR) NOACCTAXTTLCR,SUM(G.NOACCTAXUSDDR-G.NOACCTAXUSDCR) AS NOACCTAXUSDPROFIT");
strSql.Append(",SUM(G.NOACCTAXRMBDR-G.NOACCTAXRMBCR) AS NOACCTAXRMBPROFIT,SUM(G.NOACCTAXOTDR-G.NOACCTAXOTCR) AS NOACCTAXOTPROFIT,SUM(G.NOACCTAXTTLDR-G.NOACCTAXTTLCR) AS NOACCTAXTTLPROFIT ");
strSql.Append(",SUM(G.NOACCTAXTTLDR) AS TTLACCTAXDR,SUM(G.NOACCTAXTTLCR) AS TTLACCTAXCR,SUM(G.NOACCTAXTTLDR-G.NOACCTAXTTLCR) AS TTLACCTAXPROFIT");
strSql.Append(" FROM V_OP_BS B ");
strSql.Append("LEFT JOIN V_OP_BILL A ON (A.PARENTID=B.BSNO) ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=A.BSNO) ");
strSql.Append(" WHERE 1=1 ");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" and " + condition);
}
strSql.Append(" GROUP BY B.BSNO, B.OPLB,B.OPLBNAME, B.BSTYPE,B.BLTYPE,B.BLFRT,B.CUSTOMERNAME, B.CUSTNO, B.MBLNO, B.HBLNO,B.VESSEL, B.VOYNO, B.INPUTBY, B.CREATETIME, B.BSSTATUS, B.SALE, B.OP, B.DOC,B.YARD,B.CONTRACTNO,");
strSql.Append("B.ETD,B.PKGS,B.CBM,B.NETWEIGHT");
strSql.Append(",B.OPDATE,B.ENTERP,B.REMARK,B.AGENTID,B.ORDERNO");
strSql.Append(",B.CUSTOMDATE");
strSql.Append(",B.FEESTATUS,B.SALECORPID");
strSql.Append(",B.CUSTSERVICE,B.FRCUSTSERVICE, B.PORTLOAD, B.PORTDISCHARGE,B.DESTINATION, B.CUSTOMNO, B.ACCDATE,B.CARRIER, B.BSSOURCE, B.LANE, B.FORWARDER,B.NETWEIGHT,B.KGS,B.TEU,B.CNTRTOTAL,B.CORPID,B.CARGOID,B.SERVICECONTRACTNO");
strSql.Append(",B.CNTR1,B.CNTR2,B.CNTR3,B.CNTR4,B.CNTR5,B.CNTR6,B.CNTR7,B.CNTR8,B.CNTR9,B.CNTR10,B.OTCNTR,B.TRADETYPE,B.GOODSNAME,B.FEESTATUS");
}
else
{
strSql.Append("SELECT B.BSNO, B.OPLB,B.OPTYPE,B.OPLBNAME, B.BSTYPE,B.BLTYPE,B.BLFRT,B.CUSTOMERNAME, B.CUSTNO, B.MBLNO, B.HBLNO,B.VESSEL, B.VOYNO, B.INPUTBY, B.CREATETIME, B.BSSTATUS, B.SALE, B.OP, B.DOC,B.YARD,B.CONTRACTNO,");
strSql.Append("B.ETD,B.PKGS,B.CBM");
strSql.Append(",B.OPDATE,B.ENTERP,B.REMARK,B.AGENTID,B.ORDERNO");
strSql.Append(",case B.CUSTOMDATE when '1900-01-01 00:00:00.000' then '' else CONVERT(varchar(100), B.CUSTOMDATE,23) end as CUSTOMDATE");
strSql.Append(",case B.FEESTATUS when 1 then '锁定' else '未锁定' end as FEESTATUSREF");
strSql.Append(",B.CUSTSERVICE,B.FRCUSTSERVICE, B.PORTLOAD, B.PORTDISCHARGE,B.DESTINATION, B.CUSTOMNO, B.ACCDATE,B.CARRIER, B.BSSOURCE, B.LANE, B.FORWARDER,B.CNTRTOTAL,B.CORPID,B.CARGOID,B.SERVICECONTRACTNO");
strSql.Append(",(CASE WHEN B.OPTYPE='普通货' THEN B.CNTR1 ELSE 0 END) CNTR1,(CASE WHEN B.OPTYPE='普通货' THEN B.CNTR2 ELSE 0 END) CNTR2,(CASE WHEN B.OPTYPE='普通货' THEN B.CNTR3 ELSE 0 END) CNTR3");
strSql.Append(",(CASE WHEN B.OPTYPE='普通货' THEN B.CNTR4 ELSE 0 END) CNTR4,(CASE WHEN B.OPTYPE='普通货' THEN B.CNTR5 ELSE 0 END) CNTR5,(CASE WHEN B.OPTYPE='普通货' THEN B.CNTR6 ELSE 0 END) CNTR6");
strSql.Append(",(CASE WHEN B.OPTYPE='普通货' THEN B.CNTR7 ELSE 0 END) CNTR7,(CASE WHEN B.OPTYPE='普通货' THEN B.CNTR8 ELSE 0 END) CNTR8,(CASE WHEN B.OPTYPE='普通货' THEN B.CNTR9 ELSE 0 END) CNTR9");
strSql.Append(",(CASE WHEN B.OPTYPE='普通货' THEN B.CNTR10 ELSE 0 END) CNTR10,(CASE WHEN B.OPTYPE='普通货' THEN B.OTCNTR ELSE 0 END) OTCNTR");
strSql.Append(",(CASE WHEN B.OPTYPE='普通货' THEN B.NETWEIGHT ELSE 0 END) NETWEIGHT,(CASE WHEN B.OPTYPE='普通货' THEN B.KGS ELSE 0 END) KGS,(CASE WHEN B.OPTYPE='普通货' THEN B.TEU ELSE 0 END) TEU");
strSql.Append(",B.TRADETYPE,B.GOODSNAME,B.FEESTATUS,(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP");
strSql.Append(",SUM(G.RMBDR) RMBDR,SUM(G.RMBCR) RMBCR,SUM(G.STLRMBDR) STLRMBDR,SUM(G.STLRMBCR) STLRMBCR,SUM(G.USDDR) USDDR,SUM(G.USDCR) USDCR,");
strSql.Append("SUM(G.STLUSDDR) STLUSDDR,SUM(G.STLUSDCR) STLUSDCR,SUM(G.OTDR) OTDR,SUM(G.OTCR) OTCR,SUM(G.STLOTDR) STLOTDR,SUM(G.STLOTCR) STLOTCR,SUM(ISNULL(G.TTLDR,0)) TTLDR,");
strSql.Append("SUM(ISNULL(G.TTLCR,0)) TTLCR,SUM(G.STLTTLDR) STLTTLDR,SUM(G.STLTTLCR) STLTTLCR");
strSql.Append(",SUM(ISNULL(G.USDDR-G.USDCR,0)) AS USDPROFIT,SUM(ISNULL(G.RMBDR-G.RMBCR,0)) AS RMBPROFIT,SUM(ISNULL(G.OTDR-G.OTCR,0)) AS OTPROFIT,SUM(ISNULL(G.TTLDR-G.TTLCR,0)) AS TTLPROFIT ");
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (SUM(G.TTLDR))= 0 THEN 0 ELSE CONVERT(NUMERIC(18,2),ltrim(str((SUM(G.TTLDR-G.TTLCR)) / (SUM(G.TTLDR)) * 100, 10, 2))) END) AS PROFITRATE");
}
else
strSql.Append(", (CASE WHEN (SUM(G.TTLCR))= 0 THEN 0 ELSE CONVERT(NUMERIC(18,2),ltrim(str((SUM(G.TTLDR-G.TTLCR)) / (SUM(G.TTLCR)) * 100, 10, 2))) END) AS PROFITRATE");
strSql.Append(",SUM(ISNULL(G.RMBDR-G.STLRMBDR,0)) AS RMBNODR,SUM(ISNULL(G.USDDR-G.STLUSDDR,0)) AS USDNODR,SUM(ISNULL(G.OTDR-G.STLOTDR,0)) AS OTNODR,SUM(ISNULL(G.TTLDR-G.STLTTLDR,0)) AS TTLNODR");
strSql.Append(",SUM(ISNULL(G.RMBCR-G.STLRMBCR,0)) AS RMBNOCR,SUM(ISNULL(G.USDCR-G.STLUSDCR,0)) AS USDNOCR,SUM(ISNULL(G.OTCR-G.STLOTCR,0)) AS OTNOCR,SUM(ISNULL(G.TTLCR-G.STLTTLCR,0)) AS TTLNOCR");
strSql.Append(",SUM(G.NOTAXRMBDR) NOTAXRMBDR,SUM(G.NOTAXRMBCR) NOTAXRMBCR,SUM(G.NOTAXUSDDR) NOTAXUSDDR,SUM(G.NOTAXUSDCR) NOTAXUSDCR,SUM(G.NOTAXOTDR) NOTAXOTDR");
strSql.Append(",SUM(G.NOTAXOTCR) NOTAXOTCR,SUM(G.NOTAXTTLDR) NOTAXTTLDR,SUM(G.NOTAXTTLCR) NOTAXTTLCR,SUM(G.NOTAXUSDDR-G.NOTAXUSDCR) AS NOTAXUSDPROFIT");
strSql.Append(",SUM(G.NOTAXRMBDR-G.NOTAXRMBCR) AS NOTAXRMBPROFIT,SUM(G.NOTAXOTDR-G.NOTAXOTCR) AS NOTAXOTPROFIT,SUM(G.NOTAXTTLDR-G.NOTAXTTLCR) AS NOTAXTTLPROFIT ");
strSql.Append(",SUM(G.TTLTAXDR) AS TTLTAXDR,SUM(G.TTLTAXCR) AS TTLTAXCR,SUM(G.TTLTAXDR-G.TTLTAXCR) AS TTLTAXPROFIT");
strSql.Append(",SUM(G.NOACCTAXRMBDR) NOACCTAXRMBDR,SUM(G.NOACCTAXRMBCR) NOACCTAXRMBCR,SUM(G.NOACCTAXUSDDR) NOACCTAXUSDDR,SUM(G.NOACCTAXUSDCR) NOACCTAXUSDCR,SUM(G.NOACCTAXOTDR) NOACCTAXOTDR");
strSql.Append(",SUM(G.NOACCTAXOTCR) NOACCTAXOTCR,SUM(G.NOACCTAXTTLDR) NOACCTAXTTLDR,SUM(G.NOACCTAXTTLCR) NOACCTAXTTLCR,SUM(G.NOACCTAXUSDDR-G.NOACCTAXUSDCR) AS NOACCTAXUSDPROFIT");
strSql.Append(",SUM(G.NOACCTAXRMBDR-G.NOACCTAXRMBCR) AS NOACCTAXRMBPROFIT,SUM(G.NOACCTAXOTDR-G.NOACCTAXOTCR) AS NOACCTAXOTPROFIT,SUM(G.NOACCTAXTTLDR-G.NOACCTAXTTLCR) AS NOACCTAXTTLPROFIT ");
strSql.Append(",SUM(G.NOACCTAXTTLDR) AS TTLACCTAXDR,SUM(G.NOACCTAXTTLCR) AS TTLACCTAXCR,SUM(G.NOACCTAXTTLDR-G.NOACCTAXTTLCR) AS TTLACCTAXPROFIT");
strSql.Append(" FROM V_OP_BILL B ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=B.BSNO) ");
strSql.Append(" WHERE 1=1 ");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" and " + condition);
}
strSql.Append(" GROUP BY B.BSNO, B.OPLB,B.OPTYPE,B.OPLBNAME, B.BSTYPE,B.BLTYPE,B.BLFRT,B.CUSTOMERNAME, B.CUSTNO, B.MBLNO, B.HBLNO,B.VESSEL, B.VOYNO, B.INPUTBY, B.CREATETIME, B.BSSTATUS, B.SALE, B.OP, B.DOC,B.YARD,B.CONTRACTNO,");
strSql.Append("B.ETD,B.PKGS,B.CBM,B.NETWEIGHT");
strSql.Append(",B.OPDATE,B.ENTERP,B.REMARK,B.AGENTID,B.ORDERNO");
strSql.Append(",B.CUSTOMDATE");
strSql.Append(",B.FEESTATUS,B.SALECORPID");
strSql.Append(",B.CUSTSERVICE,B.FRCUSTSERVICE, B.PORTLOAD, B.PORTDISCHARGE,B.DESTINATION, B.CUSTOMNO, B.ACCDATE,B.CARRIER, B.BSSOURCE, B.LANE, B.FORWARDER,B.NETWEIGHT,B.KGS,B.TEU,B.CNTRTOTAL,B.CORPID,B.CARGOID,B.SERVICECONTRACTNO");
strSql.Append(",B.CNTR1,B.CNTR2,B.CNTR3,B.CNTR4,B.CNTR5,B.CNTR6,B.CNTR7,B.CNTR8,B.CNTR9,B.CNTR10,B.OTCNTR,B.TRADETYPE,B.GOODSNAME,B.FEESTATUS");
}
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
if (!string.IsNullOrEmpty(sortstr))
{
strSql.Append(" order by " + sortstr);
}
else
{
strSql.Append(" order by ETD DESC,MBLNO");
}
var jsonRespose = new JsonResponse
{
Success = true,
Message = condition,
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by B.ETD DESC,B.MBLNO");
}
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(start, limit, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
}
public ContentResult CustListData(int start, int limit, string condition, string sort, string printstr, string sortstr,string datetype,string startmonth, string endmonth,string feetype, string amendstr = "false")
{
if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "")
{
var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) };
}
var strDa = GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (!string.IsNullOrEmpty(strDa))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + strDa;
}
else
{
condition = strDa;
}
}
var RPTPRNOCANCEL = MsSysParamSetDAL.GetData("PARAMNAME='RPTPRNOCANCEL'");
if (RPTPRNOCANCEL.PARAMVALUE == "1")
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
else
{
condition = " (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
}
var PROFITRATEDR = MsSysParamSetDAL.GetData("PARAMNAME='PROFITRATEDR'");
var monthlist = GetMonthList(datetype, startmonth, endmonth);
var Fieldset = GetProfitFieldSet(Convert.ToString(Session["COMPANYID"]));
var strSql = new StringBuilder();
strSql.Append("SELECT B.CUSTOMERNAME");
foreach (var enumValue in monthlist)
{
if (feetype == "1")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR-G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR-G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR-G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
} else if (feetype == "2")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR-G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR-G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR-G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
} else
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR-G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR-G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR-G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE) {
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
if (Fieldset.TEU)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then B.TEU else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TEU ");
if (amendstr == "true")
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then 1 else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
else {
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then (CASE WHEN B.OPTYPE='普通货' THEN 1 ELSE 0 END) else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
}
if (amendstr == "true")
{
strSql.Append(" FROM V_OP_BS B ");
strSql.Append("LEFT JOIN V_OP_BILL A ON (A.PARENTID=B.BSNO) ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=A.BSNO) ");
}
else
{
strSql.Append(" FROM V_OP_BILL B ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=B.BSNO) ");
}
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" Where " + condition);
}
strSql.Append(" Group by B.CUSTOMERNAME ");
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
if (!string.IsNullOrEmpty(sortstr))
{
strSql.Append(" order by " + sortstr);
}
else
{
strSql.Append(" order by B.CUSTOMERNAME");
}
var jsonRespose = new JsonResponse
{
Success = true,
Message = "完成",
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by B.CUSTOMERNAME");
}
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(start, limit, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
}
public ContentResult SaleListData(int start, int limit, string condition, string sort, string printstr, string sortstr,string datetype, string startmonth, string endmonth, string feetype, string amendstr = "false")
{
var strDa = GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (!string.IsNullOrEmpty(strDa))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + strDa;
}
else
{
condition = strDa;
}
}
var RPTPRNOCANCEL = MsSysParamSetDAL.GetData("PARAMNAME='RPTPRNOCANCEL'");
if (RPTPRNOCANCEL.PARAMVALUE == "1")
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
else
{
condition = " (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
}
var monthlist = GetMonthList(datetype,startmonth, endmonth);
var Fieldset = GetProfitFieldSet(Convert.ToString(Session["COMPANYID"]));
var PROFITRATEDR = MsSysParamSetDAL.GetData("PARAMNAME='PROFITRATEDR'");
var strSql = new StringBuilder();
strSql.Append("SELECT B.SALE");
foreach (var enumValue in monthlist)
{
if (feetype == "1")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR-G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR-G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR-G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else if (feetype == "2")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR-G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR-G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR-G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR-G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR-G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR-G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
if (Fieldset.TEU)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then B.TEU else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TEU ");
if (amendstr == "true")
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then 1 else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
else
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then (CASE WHEN B.OPTYPE='普通货' THEN 1 ELSE 0 END) else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
}
if (amendstr == "true")
{
strSql.Append(" FROM V_OP_BS B ");
strSql.Append("LEFT JOIN V_OP_BILL A ON (A.PARENTID=B.BSNO) ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=A.BSNO) ");
}
else
{
strSql.Append(" FROM V_OP_BILL B ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=B.BSNO) ");
}
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" Where " + condition);
}
strSql.Append(" Group by B.SALE ");
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
if (!string.IsNullOrEmpty(sortstr))
{
strSql.Append(" order by B.SALE," + sortstr);
}
else
{
strSql.Append(" order by B.SALE");
}
var jsonRespose = new JsonResponse
{
Success = true,
Message = "完成",
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by B.SALE");
}
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(start, limit, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
}
public ContentResult SaleDeptListData(int start, int limit, string condition, string sort, string printstr, string sortstr, string datetype, string startmonth, string endmonth, string feetype, string amendstr = "false")
{
var strDa = GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (!string.IsNullOrEmpty(strDa))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + strDa;
}
else
{
condition = strDa;
}
}
var RPTPRNOCANCEL = MsSysParamSetDAL.GetData("PARAMNAME='RPTPRNOCANCEL'");
if (RPTPRNOCANCEL.PARAMVALUE == "1")
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
else
{
condition = " (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
}
var monthlist = GetMonthList(datetype, startmonth, endmonth);
var Fieldset = GetProfitFieldSet(Convert.ToString(Session["COMPANYID"]));
var RPTLRUSESALEDEPT = MsSysParamSetDAL.GetData("PARAMNAME='RPTLRUSESALEDEPT'");
var PROFITRATEDR = MsSysParamSetDAL.GetData("PARAMNAME='PROFITRATEDR'");
var strSql = new StringBuilder();
if (RPTLRUSESALEDEPT.PARAMVALUE == "1")
strSql.Append("SELECT B.SALEDEPT");
else
strSql.Append("SELECT U.DEPTNAME SALEDEPT");
foreach (var enumValue in monthlist)
{
if (feetype == "1")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR-G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR-G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR-G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else if (feetype == "2")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR-G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR-G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR-G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR-G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR-G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR-G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
if (Fieldset.TEU)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then B.TEU else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TEU ");
if (amendstr == "true")
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then 1 else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
else
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then (CASE WHEN B.OPTYPE='普通货' THEN 1 ELSE 0 END) else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
}
if (amendstr == "true")
{
strSql.Append(" FROM V_OP_BS B ");
strSql.Append("LEFT JOIN V_OP_BILL A ON (A.PARENTID=B.BSNO) ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=A.BSNO) ");
}
else
{
strSql.Append(" FROM V_OP_BILL B ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=B.BSNO) ");
}
if (RPTLRUSESALEDEPT.PARAMVALUE != "1")
strSql.Append(" LEFT JOIN VW_user U ON (U.SHOWNAME=B.SALE) ");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" Where " + condition);
}
if (RPTLRUSESALEDEPT.PARAMVALUE == "1")
strSql.Append(" Group by B.SALEDEPT ");
else
strSql.Append(" Group by U.DEPTNAME ");
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
if (!string.IsNullOrEmpty(sortstr))
{
if (RPTLRUSESALEDEPT.PARAMVALUE == "1")
strSql.Append(" order by B.SALEDEPT, " + sortstr);
else
strSql.Append(" order by U.DEPTNAME," + sortstr);
}
else
{
if (RPTLRUSESALEDEPT.PARAMVALUE == "1")
strSql.Append(" order by B.SALEDEPT ");
else
strSql.Append(" order by U.DEPTNAME");
}
var jsonRespose = new JsonResponse
{
Success = true,
Message = "完成",
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
if (RPTLRUSESALEDEPT.PARAMVALUE == "1")
strSql.Append(" order by B.SALEDEPT ");
else
strSql.Append(" order by U.DEPTNAME");
}
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(start, limit, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
}
public ContentResult OpListData(int start, int limit, string condition, string sort, string printstr, string sortstr, string datetype, string startmonth, string endmonth, string feetype, string amendstr = "false")
{
var strDa = GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (!string.IsNullOrEmpty(strDa))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + strDa;
}
else
{
condition = strDa;
}
}
var RPTPRNOCANCEL = MsSysParamSetDAL.GetData("PARAMNAME='RPTPRNOCANCEL'");
if (RPTPRNOCANCEL.PARAMVALUE == "1")
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
else
{
condition = " (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
}
var monthlist = GetMonthList(datetype, startmonth, endmonth);
var Fieldset = GetProfitFieldSet(Convert.ToString(Session["COMPANYID"]));
var PROFITRATEDR = MsSysParamSetDAL.GetData("PARAMNAME='PROFITRATEDR'");
var strSql = new StringBuilder();
strSql.Append("SELECT B.OP");
foreach (var enumValue in monthlist)
{
if (feetype == "1")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR-G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR-G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR-G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else if (feetype == "2")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR-G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR-G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR-G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR-G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR-G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR-G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
if (Fieldset.TEU)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then B.TEU else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TEU ");
if (amendstr == "true")
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then 1 else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
else
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then (CASE WHEN B.OPTYPE='普通货' THEN 1 ELSE 0 END) else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
}
if (amendstr == "true")
{
strSql.Append(" FROM V_OP_BS B ");
strSql.Append("LEFT JOIN V_OP_BILL A ON (A.PARENTID=B.BSNO) ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=A.BSNO) ");
}
else
{
strSql.Append(" FROM V_OP_BILL B ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=B.BSNO) ");
}
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" Where " + condition);
}
strSql.Append(" Group by B.OP ");
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
if (!string.IsNullOrEmpty(sortstr))
{
strSql.Append(" order by B.OP," + sortstr);
}
else
{
strSql.Append(" order by B.OP");
}
var jsonRespose = new JsonResponse
{
Success = true,
Message = "完成",
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by B.OP");
}
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(start, limit, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
}
public ContentResult OpDeptListData(int start, int limit, string condition, string sort, string printstr, string sortstr, string datetype, string startmonth, string endmonth, string feetype, string amendstr = "false")
{
var strDa = GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (!string.IsNullOrEmpty(strDa))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + strDa;
}
else
{
condition = strDa;
}
}
var RPTPRNOCANCEL = MsSysParamSetDAL.GetData("PARAMNAME='RPTPRNOCANCEL'");
if (RPTPRNOCANCEL.PARAMVALUE == "1")
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
else
{
condition = " (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
}
var monthlist = GetMonthList(datetype, startmonth, endmonth);
var Fieldset = GetProfitFieldSet(Convert.ToString(Session["COMPANYID"]));
var PROFITRATEDR = MsSysParamSetDAL.GetData("PARAMNAME='PROFITRATEDR'");
var strSql = new StringBuilder();
strSql.Append("SELECT D.DEPTNAME OPDEPT");
foreach (var enumValue in monthlist)
{
if (feetype == "1")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR-G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR-G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR-G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else if (feetype == "2")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR-G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR-G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR-G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR-G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR-G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR-G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
if (Fieldset.TEU)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then B.TEU else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TEU ");
if (amendstr == "true")
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then 1 else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
else
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then (CASE WHEN B.OPTYPE='普通货' THEN 1 ELSE 0 END) else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
}
if (amendstr == "true")
{
strSql.Append(" FROM V_OP_BS B ");
strSql.Append("LEFT JOIN V_OP_BILL A ON (A.PARENTID=B.BSNO) ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=A.BSNO) ");
}
else
{
strSql.Append(" FROM V_OP_BILL B ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=B.BSNO) ");
}
strSql.Append("LEFT JOIN VW_user D ON (D.SHOWNAME=B.OP) ");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" Where " + condition);
}
strSql.Append(" Group by D.DEPTNAME ");
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
if (!string.IsNullOrEmpty(sortstr))
{
strSql.Append(" order by D.DEPTNAME," + sortstr);
}
else
{
strSql.Append(" order by D.DEPTNAME");
}
var jsonRespose = new JsonResponse
{
Success = true,
Message = "完成",
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by D.DEPTNAME");
}
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(start, limit, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
}
public ContentResult SaleCorpListData(int start, int limit, string condition, string sort, string printstr, string sortstr, string datetype, string startmonth, string endmonth, string feetype, string amendstr = "false")
{
var strDa = GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (!string.IsNullOrEmpty(strDa))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + strDa;
}
else
{
condition = strDa;
}
}
var RPTPRNOCANCEL = MsSysParamSetDAL.GetData("PARAMNAME='RPTPRNOCANCEL'");
if (RPTPRNOCANCEL.PARAMVALUE == "1")
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
else
{
condition = " (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
}
var monthlist = GetMonthList(datetype, startmonth, endmonth);
var Fieldset = GetProfitFieldSet(Convert.ToString(Session["COMPANYID"]));
var PROFITRATEDR = MsSysParamSetDAL.GetData("PARAMNAME='PROFITRATEDR'");
var strSql = new StringBuilder();
strSql.Append("SELECT C.NAME SALECORP");
foreach (var enumValue in monthlist)
{
if (feetype == "1")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR-G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR-G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR-G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else if (feetype == "2")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR-G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR-G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR-G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR-G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR-G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR-G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
if (Fieldset.TEU)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then B.TEU else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TEU ");
if (amendstr == "true")
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then 1 else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
else
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then (CASE WHEN B.OPTYPE='普通货' THEN 1 ELSE 0 END) else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
}
if (amendstr == "true")
{
strSql.Append(" FROM V_OP_BS B ");
strSql.Append("LEFT JOIN V_OP_BILL A ON (A.PARENTID=B.BSNO) ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=A.BSNO) ");
}
else
{
strSql.Append(" FROM V_OP_BILL B ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=B.BSNO) ");
}
strSql.Append("LEFT JOIN company C ON (C.GID=B.SALECORPID) ");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" Where " + condition);
}
strSql.Append(" Group by C.NAME ");
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
if (!string.IsNullOrEmpty(sortstr))
{
strSql.Append(" order by " + sortstr);
}
else
{
strSql.Append(" order by C.NAME");
}
var jsonRespose = new JsonResponse
{
Success = true,
Message = "完成",
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by C.NAME");
}
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(start, limit, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
}
public ContentResult BsSourceListData(int start, int limit, string condition, string sort, string printstr, string sortstr,string datetype, string startmonth, string endmonth, string feetype, string amendstr = "false")
{
var strDa = GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (!string.IsNullOrEmpty(strDa))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + strDa;
}
else
{
condition = strDa;
}
}
var RPTPRNOCANCEL = MsSysParamSetDAL.GetData("PARAMNAME='RPTPRNOCANCEL'");
if (RPTPRNOCANCEL.PARAMVALUE == "1")
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
else
{
condition = " (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
}
var monthlist = GetMonthList(datetype, startmonth, endmonth);
var Fieldset = GetProfitFieldSet(Convert.ToString(Session["COMPANYID"]));
var PROFITRATEDR = MsSysParamSetDAL.GetData("PARAMNAME='PROFITRATEDR'");
var strSql = new StringBuilder();
strSql.Append("SELECT B.BSSOURCE");
foreach (var enumValue in monthlist)
{
if (feetype == "1")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR-G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR-G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR-G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else if (feetype == "2")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR-G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR-G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR-G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR-G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR-G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR-G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
if (Fieldset.TEU)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then B.TEU else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TEU ");
if (amendstr == "true")
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then 1 else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
else
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then (CASE WHEN B.OPTYPE='普通货' THEN 1 ELSE 0 END) else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
}
if (amendstr == "true")
{
strSql.Append(" FROM V_OP_BS B ");
strSql.Append("LEFT JOIN V_OP_BILL A ON (A.PARENTID=B.BSNO) ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=A.BSNO) ");
}
else
{
strSql.Append(" FROM V_OP_BILL B ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=B.BSNO) ");
}
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" Where " + condition);
}
strSql.Append(" Group by B.BSSOURCE ");
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
if (!string.IsNullOrEmpty(sortstr))
{
strSql.Append(" order by " + sortstr);
}
else
{
strSql.Append(" order by B.BSSOURCE");
}
var jsonRespose = new JsonResponse
{
Success = true,
Message = "完成",
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by B.BSSOURCE");
}
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(start, limit, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
}
public ContentResult BsSourceDetailListData(int start, int limit, string condition, string sort, string printstr, string sortstr,string datetype, string startmonth, string endmonth, string feetype, string amendstr = "false")
{
var strDa = GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (!string.IsNullOrEmpty(strDa))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + strDa;
}
else
{
condition = strDa;
}
}
var RPTPRNOCANCEL = MsSysParamSetDAL.GetData("PARAMNAME='RPTPRNOCANCEL'");
if (RPTPRNOCANCEL.PARAMVALUE == "1")
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
else
{
condition = " (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
}
var monthlist = GetMonthList(datetype, startmonth, endmonth);
var Fieldset = GetProfitFieldSet(Convert.ToString(Session["COMPANYID"]));
var PROFITRATEDR = MsSysParamSetDAL.GetData("PARAMNAME='PROFITRATEDR'");
var strSql = new StringBuilder();
strSql.Append("SELECT B.BSSOURCE,B.BSSOURCEDETAIL");
foreach (var enumValue in monthlist)
{
if (feetype == "1")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR-G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR-G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR-G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else if (feetype == "2")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR-G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR-G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR-G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR-G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR-G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR-G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
if (Fieldset.TEU)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then B.TEU else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TEU ");
if (amendstr == "true")
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then 1 else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
else
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then (CASE WHEN B.OPTYPE='普通货' THEN 1 ELSE 0 END) else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
}
if (amendstr == "true")
{
strSql.Append(" FROM V_OP_BS B ");
strSql.Append("LEFT JOIN V_OP_BILL A ON (A.PARENTID=B.BSNO) ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=A.BSNO) ");
}
else
{
strSql.Append(" FROM V_OP_BILL B ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=B.BSNO) ");
}
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" Where " + condition);
}
strSql.Append(" Group by B.BSSOURCE,B.BSSOURCEDETAIL ");
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
if (!string.IsNullOrEmpty(sortstr))
{
strSql.Append(" order by " + sortstr);
}
else
{
strSql.Append(" order by B.BSSOURCE,B.BSSOURCEDETAIL");
}
var jsonRespose = new JsonResponse
{
Success = true,
Message = "完成",
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by B.BSSOURCE,B.BSSOURCEDETAIL");
}
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(start, limit, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
}
public ContentResult SumListData(int start, int limit, string condition, string sort, string printstr,string datetype, string startmonth, string endmonth, string feetype, string amendstr = "false")
{
var strDa = GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (!string.IsNullOrEmpty(strDa))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + strDa;
}
else
{
condition = strDa;
}
}
var RPTPRNOCANCEL = MsSysParamSetDAL.GetData("PARAMNAME='RPTPRNOCANCEL'");
if (RPTPRNOCANCEL.PARAMVALUE == "1")
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
else
{
condition = " (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
}
var monthlist = GetMonthList(datetype, startmonth, endmonth);
var Fieldset = GetProfitFieldSet(Convert.ToString(Session["COMPANYID"]));
var PROFITRATEDR = MsSysParamSetDAL.GetData("PARAMNAME='PROFITRATEDR'");
var strSql = new StringBuilder();
strSql.Append("SELECT 1 as NO");
foreach (var enumValue in monthlist)
{
if (feetype == "1")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR-G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR-G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR-G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else if (feetype == "2")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR-G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR-G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR-G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR-G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR-G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR-G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
if (Fieldset.TEU)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then B.TEU else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TEU ");
if (amendstr == "true")
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then 1 else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
else
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then (CASE WHEN B.OPTYPE='普通货' THEN 1 ELSE 0 END) else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
}
if (amendstr == "true")
{
strSql.Append(" FROM V_OP_BS B ");
strSql.Append("LEFT JOIN V_OP_BILL A ON (A.PARENTID=B.BSNO) ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=A.BSNO) ");
}
else
{
strSql.Append(" FROM V_OP_BILL B ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=B.BSNO) ");
}
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" Where " + condition);
}
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
var jsonRespose = new JsonResponse
{
Success = true,
Message = "完成",
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(start, limit, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
}
public ContentResult CarrierListData(int start, int limit, string condition, string sort, string printstr, string sortstr,string datetype, string startmonth, string endmonth, string feetype, string amendstr = "false")
{
var strDa = GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (!string.IsNullOrEmpty(strDa))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + strDa;
}
else
{
condition = strDa;
}
}
var RPTPRNOCANCEL = MsSysParamSetDAL.GetData("PARAMNAME='RPTPRNOCANCEL'");
if (RPTPRNOCANCEL.PARAMVALUE == "1")
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
else
{
condition = " (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
}
var monthlist = GetMonthList(datetype,startmonth, endmonth);
var Fieldset = GetProfitFieldSet(Convert.ToString(Session["COMPANYID"]));
var PROFITRATEDR = MsSysParamSetDAL.GetData("PARAMNAME='PROFITRATEDR'");
var strSql = new StringBuilder();
strSql.Append("SELECT B.CARRIER");
foreach (var enumValue in monthlist)
{
if (feetype == "1")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR-G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR-G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR-G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else if (feetype == "2")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR-G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR-G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR-G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR-G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR-G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR-G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
if (Fieldset.TEU)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then B.TEU else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TEU ");
if (amendstr == "true")
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then 1 else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
else
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then (CASE WHEN B.OPTYPE='普通货' THEN 1 ELSE 0 END) else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
}
if (amendstr == "true")
{
strSql.Append(" FROM V_OP_BS B ");
strSql.Append("LEFT JOIN V_OP_BILL A ON (A.PARENTID=B.BSNO) ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=A.BSNO) ");
}
else
{
strSql.Append(" FROM V_OP_BILL B ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=B.BSNO) ");
}
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" Where " + condition);
}
strSql.Append(" Group by B.CARRIER ");
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
if (!string.IsNullOrEmpty(sortstr))
{
strSql.Append(" order by " + sortstr);
}
else
{
strSql.Append(" order by B.CARRIER");
}
var jsonRespose = new JsonResponse
{
Success = true,
Message = "完成",
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by B.CARRIER");
}
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(start, limit, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
}
public ContentResult YardListData(int start, int limit, string condition, string sort, string printstr, string sortstr,string datetype, string startmonth, string endmonth, string feetype, string amendstr = "false")
{
var strDa = GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (!string.IsNullOrEmpty(strDa))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + strDa;
}
else
{
condition = strDa;
}
}
var RPTPRNOCANCEL = MsSysParamSetDAL.GetData("PARAMNAME='RPTPRNOCANCEL'");
if (RPTPRNOCANCEL.PARAMVALUE == "1")
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
else
{
condition = " (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
}
var monthlist = GetMonthList(datetype, startmonth, endmonth);
var Fieldset = GetProfitFieldSet(Convert.ToString(Session["COMPANYID"]));
var PROFITRATEDR = MsSysParamSetDAL.GetData("PARAMNAME='PROFITRATEDR'");
var strSql = new StringBuilder();
strSql.Append("SELECT B.YARD");
foreach (var enumValue in monthlist)
{
if (feetype == "1")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR-G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR-G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR-G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else if (feetype == "2")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR-G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR-G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR-G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR-G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR-G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR-G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
if (Fieldset.TEU)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then B.TEU else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TEU ");
if (amendstr == "true")
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then 1 else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
else
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then (CASE WHEN B.OPTYPE='普通货' THEN 1 ELSE 0 END) else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
}
if (amendstr == "true")
{
strSql.Append(" FROM V_OP_BS B ");
strSql.Append("LEFT JOIN V_OP_BILL A ON (A.PARENTID=B.BSNO) ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=A.BSNO) ");
}
else
{
strSql.Append(" FROM V_OP_BILL B ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=B.BSNO) ");
}
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" Where " + condition);
}
strSql.Append(" Group by B.YARD ");
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
if (!string.IsNullOrEmpty(sortstr))
{
strSql.Append(" order by " + sortstr);
}
else
{
strSql.Append(" order by B.YARD");
}
var jsonRespose = new JsonResponse
{
Success = true,
Message = "完成",
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by B.YARD");
}
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(start, limit, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
}
public ContentResult LaneListData(int start, int limit, string condition, string sort, string printstr, string sortstr, string datetype, string startmonth, string endmonth, string feetype, string amendstr = "false")
{
var strDa = GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
if (!string.IsNullOrEmpty(strDa))
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and " + strDa;
}
else
{
condition = strDa;
}
}
var RPTPRNOCANCEL = MsSysParamSetDAL.GetData("PARAMNAME='RPTPRNOCANCEL'");
if (RPTPRNOCANCEL.PARAMVALUE == "1")
{
if (!string.IsNullOrEmpty(condition))
{
condition = condition + " and (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
else
{
condition = " (B.ISCANCEL IS NULL OR B.ISCANCEL=0 ) ";
}
}
var monthlist = GetMonthList(datetype, startmonth, endmonth);
var Fieldset = GetProfitFieldSet(Convert.ToString(Session["COMPANYID"]));
var PROFITRATEDR = MsSysParamSetDAL.GetData("PARAMNAME='PROFITRATEDR'");
var strSql = new StringBuilder();
strSql.Append("SELECT B.LANE");
foreach (var enumValue in monthlist)
{
if (feetype == "1")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXRMBDR-G.NOTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXUSDDR-G.NOTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXOTDR-G.NOTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLDR-G.NOTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else if (feetype == "2")
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXRMBDR-G.NOACCTAXRMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXUSDDR-G.NOACCTAXUSDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXOTDR-G.NOACCTAXOTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLDR-G.NOACCTAXTTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.NOACCTAXTTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
else
{
if (Fieldset.RMBDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBDR ");
if (Fieldset.RMBCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBCR ");
if (Fieldset.USDDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15),B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDDR ");
if (Fieldset.USDCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDCR ");
if (Fieldset.OTDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTDR ");
if (Fieldset.OTCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTCR ");
if (Fieldset.TTLDR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLDR ");
if (Fieldset.TTLCR)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLCR ");
if (Fieldset.RMBPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.RMBDR-G.RMBCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "RMBPROFIT ");
if (Fieldset.USDPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.USDDR-G.USDCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "USDPROFIT ");
if (Fieldset.OTPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.OTDR-G.OTCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "OTPROFIT ");
if (Fieldset.TTLPROFIT)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TTLPROFIT ");
if (Fieldset.PROFITRATE)
{
if (PROFITRATEDR.PARAMVALUE != "1")
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
else
{
strSql.Append(", (CASE WHEN (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)= 0) THEN 0 ELSE");
strSql.Append(" CONVERT(NUMERIC(18,2),ltrim(str((sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLDR-G.TTLCR else 0 end)) / (sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then G.TTLCR else 0 end)) * 100, 10, 2))) END) AS ZL" + enumValue.MONTHNO.ToString() + "PROFITRATE");
}
}
}
if (Fieldset.TEU)
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then B.TEU else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "TEU ");
if (amendstr == "true")
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then 1 else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
else
{
strSql.Append(",sum(case when SUBSTRING(CONVERT(char(15), B." + datetype + ", 111), 1, 7)='" + enumValue.MONTHFIELDNAME + "' then (CASE WHEN B.OPTYPE='普通货' THEN 1 ELSE 0 END) else 0 end) as ZL" + enumValue.MONTHNO.ToString() + "BL ");
}
}
if (amendstr == "true")
{
strSql.Append(" FROM V_OP_BS B ");
strSql.Append("LEFT JOIN V_OP_BILL A ON (A.PARENTID=B.BSNO) ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=A.BSNO) ");
}
else
{
strSql.Append(" FROM V_OP_BILL B ");
strSql.Append("LEFT JOIN v_op_gain_sum_tax G ON (G.BSNO=B.BSNO) ");
}
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" Where " + condition);
}
strSql.Append(" Group by B.LANE ");
if ((!string.IsNullOrEmpty(printstr)) && (printstr == "true"))
{
if (!string.IsNullOrEmpty(sortstr))
{
strSql.Append(" order by " + sortstr);
}
else
{
strSql.Append(" order by B.LANE");
}
var jsonRespose = new JsonResponse
{
Success = true,
Message = "完成",
Data = strSql.ToString()
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by B.LANE");
}
var dbparams = new List<CustomDbParamter>();
var paramps_sSQL = new CustomDbParamter();
paramps_sSQL.ParameterName = "@sSQL";
paramps_sSQL.DbType = DbType.String;
paramps_sSQL.Direction = ParameterDirection.Input;
paramps_sSQL.Value = strSql.ToString();
dbparams.Add(paramps_sSQL);
var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set");
var json = RptHelper.GetRptJsonResult(start, limit, dbRptResult, "Result_Set", true);
return new ContentResult() { Content = json };
}
}
public static string GetRangDAStr(string tb, string userid, string usercode, string companyid)
{
string str = "";
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(" VISIBLERANGE,OPERATERANGE,AUTHORITYID,VSSQL ");
strSql.Append(" from VW_User_Authority ");
strSql.Append(" where [NAME]='modMonthProfitreportRange' and USERID='" + userid + "' and ISDELETE=0");
string visiblerange = "4";
string operaterange = "4";
string AUTHORITYID = "";
string VSSQL = "";
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
visiblerange = Convert.ToString(reader["VISIBLERANGE"]);
operaterange = Convert.ToString(reader["OPERATERANGE"]);
AUTHORITYID = Convert.ToString(reader["AUTHORITYID"]);
VSSQL = Convert.ToString(reader["VSSQL"]);
break;
}
reader.Close();
}
if (visiblerange == "4")
{
str = "1=2";
}
else if (visiblerange == "3")
{
str = " (B.OP='" + usercode + "' OR B.SALE='" + usercode + "')";
}
else if (visiblerange == "2")
{
if (tb == "index")
{
var rangeDa = new RangeDA();
var deptname = rangeDa.GetDEPTNAME(userid);
var userstr = new StringBuilder();
userstr.Append(" select SHOWNAME from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "') and GID in (select userid from user_baseinfo where DEPTNAME='" + deptname + "')");
Database userdb = DatabaseFactory.CreateDatabase();
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
{
str = "";
while (reader.Read())
{
if (str == "")
{
str = " (B.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "'";
}
else
{
str = str + " or B.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "'";
};
}
str = str + ")";
reader.Close();
}
}
else
{
str = " (UPPER(B.Corpid)='" + companyid + "' or B.SALECORPID='" + companyid + "') ";
}
}
else if (visiblerange == "5")
{
var userstr = new StringBuilder();
userstr.Append(" select COMPANYID from user_authority_range_company where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1");
Database userdb = DatabaseFactory.CreateDatabase();
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
{
str = "";
while (reader.Read())
{
if (str == "")
{
str = " (B.Corpid='" + Convert.ToString(reader["COMPANYID"]) + "' or B.SALECORPID='" + Convert.ToString(reader["COMPANYID"]) + "' ";
}
else
{
str = str + " or B.Corpid='" + Convert.ToString(reader["COMPANYID"]) + "' or B.SALECORPID='" + Convert.ToString(reader["COMPANYID"]) + "'";
};
}
str = str + ")";
reader.Close();
}
}
else if (visiblerange == "6")
{
var userstr = new StringBuilder();
userstr.Append(" select OPID,(select SHOWNAME from [user] where GID=user_authority_range_op.OPID) SHOWNAME from user_authority_range_op where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1");
Database userdb = DatabaseFactory.CreateDatabase();
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
{
str = "";
while (reader.Read())
{
if (str == "")
{
str = " (B.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "'";
}
else
{
str = str + " or B.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "'";
};
}
str = str + ")";
reader.Close();
}
}
else if (visiblerange == "1")
{
str = " (UPPER(B.Corpid)='" + companyid + "' or B.SALECORPID='" + companyid + "') ";
}
VSSQL = VSSQL.Trim();
if (!string.IsNullOrEmpty(VSSQL))
{
if (!string.IsNullOrEmpty(str))
{
str = str + " and (" + VSSQL + ") ";
}
else
{
str = " (" + VSSQL + ") ";
}
}
return str;
}
#region 月度数
public ContentResult GetMonthsData(string datetype,string startmonth, string endmonth)
{
string LAN = Convert.ToString(Session["LANGUAGES"]);
var dataList = GetMonthList(datetype,startmonth, endmonth, Convert.ToString(Session["COMPANYID"]), LAN);
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", data = dataList.ToList() });
return new ContentResult() { Content = json };
}
static public List<ProfitMonthFieldSet> GetMonthList(string datetype, string startmonth, string endmonth,string companyid, string LAN)
{
var startdate = startmonth.Split('-');
var enddate = endmonth.Split('-');
int monthstart = Convert.ToInt16(startdate[0]) * 12 + Convert.ToInt16(startdate[1]);
int monthend = Convert.ToInt16(enddate[0]) * 12 + Convert.ToInt16(enddate[1]);
var betweenmonth = monthend - monthstart + 1;
if (datetype == "ACCDATE") startmonth = startmonth + "-01";
DateTime dt = DateTime.ParseExact(startmonth, "yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture);
var evList = new List<ProfitMonthFieldSet>();
var month = "";
var profitfield=GetProfitFieldSet(companyid);
for (int i = 0; i < betweenmonth; i++)
{
var evData = new ProfitMonthFieldSet();
if (LAN == "en-us")
evData.MONTHNAME = dt.ToString("yyyy_MM");
else
evData.MONTHNAME = dt.ToString("yyyy年MM月");
evData.MONTHNO = i;
month = dt.Month.ToString();
if (month.Length == 1) month = "0" + month;
if (datetype == "ACCDATE")
evData.MONTHFIELDNAME = dt.Year.ToString() + "-" + month;
else
evData.MONTHFIELDNAME = dt.Year.ToString() + "/" + month;
evData.MONTHSORT = dt.ToString("MMyyyy");
evData.RMBDR = profitfield.RMBDR;
evData.RMBCR = profitfield.RMBCR;
evData.USDDR = profitfield.USDDR;
evData.USDCR = profitfield.USDCR;
evData.OTDR = profitfield.OTDR;
evData.OTCR = profitfield.OTCR;
evData.TTLDR = profitfield.TTLDR;
evData.TTLCR = profitfield.TTLCR;
evData.RMBPROFIT = profitfield.RMBPROFIT;
evData.USDPROFIT = profitfield.USDPROFIT;
evData.OTPROFIT = profitfield.OTPROFIT;
evData.TTLPROFIT = profitfield.TTLPROFIT;
evData.PROFITRATE = profitfield.PROFITRATE;
evData.TEU = profitfield.TEU;
evList.Add(evData);
dt = dt.AddMonths(1);
}
var evList2 = new List<ProfitMonthFieldSet>();
if (betweenmonth > 12)
{
evList2 = evList.OrderBy(a => a.MONTHSORT).ToList();
return evList2;
}
return evList;
}
static public List<MonthDataSet> GetMonthList(string datetype,string startmonth, string endmonth)
{
var startdate = startmonth.Split('-');
var enddate = endmonth.Split('-');
int monthstart = Convert.ToInt16(startdate[0]) * 12 + Convert.ToInt16(startdate[1]);
int monthend = Convert.ToInt16(enddate[0]) * 12 + Convert.ToInt16(enddate[1]);
var betweenmonth = monthend - monthstart + 1;
if (datetype == "ACCDATE") startmonth = startmonth + "-01";
DateTime dt = DateTime.ParseExact(startmonth, "yyyy-MM-dd", System.Globalization.CultureInfo.CurrentCulture);
var evList = new List<MonthDataSet>();
var month = "";
for (int i = 0; i < betweenmonth; i++)
{
var evData = new MonthDataSet();
evData.MONTHNAME = dt.ToString("yyyy年MM月");
evData.MONTHNO = i;
month = dt.Month.ToString();
if (month.Length == 1) month = "0" + month;
if (datetype == "ACCDATE")
evData.MONTHFIELDNAME = dt.Year.ToString() + "-" + month;
else
evData.MONTHFIELDNAME = dt.Year.ToString() + "/" + month;
evData.MONTHSORT = dt.ToString("MMyyyy");
evList.Add(evData);
dt = dt.AddMonths(1);
}
var evList2 = new List<MonthDataSet>();
if (betweenmonth > 12) {
evList2 = evList.OrderBy(a => a.MONTHSORT).ToList();
return evList2;
}
return evList;
}
#endregion
#region 利润字段设置
public ContentResult GetProfitFieldSet()
{
ProfitFieldSet head = null;
head = GetProfitFieldSet(Convert.ToString(Session["COMPANYID"]));
var json = JsonConvert.Serialize(
new { Success = true, Message = "查询成功", data = head });
return new ContentResult() { Content = json };
}
static public ProfitFieldSet GetProfitFieldSet(string companyid)
{
var strSql = new StringBuilder();
strSql.Append("SELECT GID,RMBDR,RMBCR,USDDR,USDCR,OTDR,OTCR,TTLDR,TTLCR,RMBPROFIT,USDPROFIT,OTPROFIT,TTLPROFIT,TEU,PROFITRATE from sys_profitfieldset");
strSql.Append(" Where COMPANYID='" + companyid + "'");
Database db = DatabaseFactory.CreateDatabase();
var evList = new List<ProfitFieldSet>();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
var evData = new ProfitFieldSet();
evData.GID = Convert.ToString(reader["GID"]);
if (reader["RMBDR"] != DBNull.Value)
evData.RMBDR = Convert.ToBoolean(reader["RMBDR"]);
if (reader["RMBCR"] != DBNull.Value)
evData.RMBCR = Convert.ToBoolean(reader["RMBCR"]);
if (reader["USDDR"] != DBNull.Value)
evData.USDDR = Convert.ToBoolean(reader["USDDR"]);
if (reader["USDCR"] != DBNull.Value)
evData.USDCR = Convert.ToBoolean(reader["USDCR"]);
if (reader["OTDR"] != DBNull.Value)
evData.OTDR = Convert.ToBoolean(reader["OTDR"]);
if (reader["OTCR"] != DBNull.Value)
evData.OTCR = Convert.ToBoolean(reader["OTCR"]);
if (reader["TTLDR"] != DBNull.Value)
evData.TTLDR = Convert.ToBoolean(reader["TTLDR"]);
if (reader["TTLCR"] != DBNull.Value)
evData.TTLCR = Convert.ToBoolean(reader["TTLCR"]);
if (reader["RMBPROFIT"] != DBNull.Value)
evData.RMBPROFIT = Convert.ToBoolean(reader["RMBPROFIT"]);
if (reader["USDPROFIT"] != DBNull.Value)
evData.USDPROFIT = Convert.ToBoolean(reader["USDPROFIT"]);
if (reader["OTPROFIT"] != DBNull.Value)
evData.OTPROFIT = Convert.ToBoolean(reader["OTPROFIT"]);
if (reader["TTLPROFIT"] != DBNull.Value)
evData.TTLPROFIT = Convert.ToBoolean(reader["TTLPROFIT"]);
if (reader["TEU"] != DBNull.Value)
evData.TEU = Convert.ToBoolean(reader["TEU"]);
if (reader["PROFITRATE"] != DBNull.Value)
evData.PROFITRATE = Convert.ToBoolean(reader["PROFITRATE"]);
evList.Add(evData);
}
reader.Close();
}
if (evList.Count > 0)
return evList[0];
return new ProfitFieldSet();
}
public ContentResult SaveProfitFieldSet(string data)
{
var headData = JsonConvert.Deserialize<ProfitFieldSet>(data);
var isPost = true;
var errorstr = "";
headData.COMPANYID = Convert.ToString(Session["COMPANYID"]);
var result = new DBResult();
if (isPost)
{
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdDelete =
db.GetSqlStringCommand(
@"delete from sys_profitfieldset where COMPANYID=@COMPANYID ");
cmdDelete.Parameters.Clear();
db.AddInParameter(cmdDelete, "@COMPANYID", DbType.String, Convert.ToString(Session["COMPANYID"]));
db.ExecuteNonQuery(cmdDelete, tran);
var cmdInsert =
db.GetSqlStringCommand(
@"insert into sys_profitfieldset (GID,COMPANYID,RMBDR,RMBCR,USDDR,USDCR,OTDR,OTCR,TTLDR,TTLCR,RMBPROFIT,USDPROFIT,OTPROFIT,TTLPROFIT,TEU,PROFITRATE)
values (@GID,@COMPANYID ,@RMBDR,@RMBCR,@USDDR,@USDCR,@OTDR,@OTCR,@TTLDR,@TTLCR,@RMBPROFIT,@USDPROFIT,@OTPROFIT,@TTLPROFIT,@TEU,@PROFITRATE) ");
cmdInsert.Parameters.Clear();
db.AddInParameter(cmdInsert, "@GID", DbType.String, headData.GID);
db.AddInParameter(cmdInsert, "@COMPANYID", DbType.String, headData.COMPANYID);
db.AddInParameter(cmdInsert, "@RMBDR", DbType.Boolean, headData.RMBDR);
db.AddInParameter(cmdInsert, "@RMBCR", DbType.Boolean, headData.RMBCR);
db.AddInParameter(cmdInsert, "@USDDR", DbType.Boolean, headData.USDDR);
db.AddInParameter(cmdInsert, "@USDCR", DbType.Boolean, headData.USDCR);
db.AddInParameter(cmdInsert, "@OTDR", DbType.Boolean, headData.OTDR);
db.AddInParameter(cmdInsert, "@OTCR", DbType.Boolean, headData.OTCR);
db.AddInParameter(cmdInsert, "@TTLDR", DbType.Boolean, headData.TTLDR);
db.AddInParameter(cmdInsert, "@TTLCR", DbType.Boolean, headData.TTLCR);
db.AddInParameter(cmdInsert, "@RMBPROFIT", DbType.Boolean, headData.RMBPROFIT);
db.AddInParameter(cmdInsert, "@USDPROFIT", DbType.Boolean, headData.USDPROFIT);
db.AddInParameter(cmdInsert, "@OTPROFIT", DbType.Boolean, headData.OTPROFIT);
db.AddInParameter(cmdInsert, "@TTLPROFIT", DbType.Boolean, headData.TTLPROFIT);
db.AddInParameter(cmdInsert, "@TEU", DbType.Boolean, headData.TEU);
db.AddInParameter(cmdInsert, "@PROFITRATE", DbType.Boolean, headData.PROFITRATE);
db.ExecuteNonQuery(cmdInsert, tran);
tran.Commit();
result.Success = true;
result.Message = "保存成功!";
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "保存出现错误,请重试或联系系统管理员";
}
}
var jsonRespose = new JsonResponse
{
Success = result.Success,
Message = result.Message
};
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
else
{
var jsonRespose = new JsonResponse { Success = false, Message = errorstr + "重复,不允许保存!" };
return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) };
}
}
#endregion
#region 参照部分
#endregion
}
}