|
|
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.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.Areas.MvcShipping.DAL.MsRptOpProfitZouDAL;
|
|
|
using DSWeb.SoftMng.Filter;
|
|
|
|
|
|
namespace DSWeb.MvcShipping.Controllers
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 业务走势图表分析
|
|
|
/// </summary>
|
|
|
[JsonRequestBehavior]
|
|
|
public class MsRptOpProfitZouController : Controller
|
|
|
{
|
|
|
//
|
|
|
// GET: /MvcShipping/MsRptOpProfit
|
|
|
public ActionResult Index()
|
|
|
{
|
|
|
return View();
|
|
|
}
|
|
|
|
|
|
//
|
|
|
// GET:/RptMng/MsRptPcHeadQry/QryData
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// 利润
|
|
|
/// </summary>
|
|
|
/// <param name="strYear"></param>
|
|
|
/// <param name="strMonth"></param>
|
|
|
/// <returns></returns>
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public string GetCompareGainInfo(string strYear, string strMonth, string strOPLB, string strBSTYPE, string strSALES, string strOP, string strCUSTOMER, string strBSSOURCE, string strBSSOURCEDETAIL, string strLane, string strACCDATEBGN, string strACCDATEEND)
|
|
|
{
|
|
|
string dataList = GetCompareGainInfoList(Convert.ToString(Session["COMPANYID"]), strYear, strMonth, strOPLB, strBSTYPE, strSALES, strOP, strCUSTOMER, strBSSOURCE, strBSSOURCEDETAIL, strLane, strACCDATEBGN, strACCDATEEND);
|
|
|
return dataList;
|
|
|
}
|
|
|
static private string GetCompareGainInfoList(string companyID, string strYear, string strMonth, string strOPLB, string strBSTYPE, string strSALES, string strOP, string strCUSTOMER, string strBSSOURCE, string strBSSOURCEDETAIL, string strLane, string strACCDATEBGN, string strACCDATEEND)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.AppendLine("select SUBSTRING(CONVERT(char(15), A.OPDATE, 111), 1, 7) MONTHNAME,A.MBLNO, ");
|
|
|
strSql.AppendLine("B.TTLDR,B.TTLCR,(B.TTLDR-B.TTLCR) as TTLAMOUNT, ");
|
|
|
strSql.AppendLine("A.INPUTBY ");
|
|
|
strSql.AppendLine("from v_op_bill as A ");
|
|
|
strSql.AppendLine("left join v_op_gain_sum as B on A.BSNO=B.BSNO ");
|
|
|
strSql.AppendLine("where SUBSTRING(CONVERT(char(15), A.OPDATE, 111), 1, 4)='" + strYear + "' and SUBSTRING(CONVERT(char(15), A.OPDATE, 111), 6, 2)='" + strMonth + "' ");//OPDATE like '%" + strYear + "%' and OPDATE like '%" + strMonth + "%' ");
|
|
|
strSql.AppendLine("and B.TTLDR is not NULL and B.TTLCR is not NULL ");
|
|
|
if (strACCDATEBGN != "" && strACCDATEBGN != "undefined" && strACCDATEBGN != "null") { strSql.AppendLine("and A.ACCDATE>='" + strACCDATEBGN + "'"); }
|
|
|
if (strACCDATEEND != "" && strACCDATEEND != "undefined" && strACCDATEEND != "null") { strSql.AppendLine("and A.ACCDATE<='" + strACCDATEEND + " 23:59:59'"); }
|
|
|
if (strCUSTOMER != "" && strCUSTOMER != "undefined" && strCUSTOMER != "null") { strSql.AppendLine("and A.CUSTOMERNAME='" + strCUSTOMER + "'"); }
|
|
|
if (strSALES != "" && strSALES != "undefined" && strSALES != "null") { strSql.AppendLine("and A.SALE='" + strSALES + "'"); }
|
|
|
if (strOP != "" && strOP != "undefined" && strOP != "null") { strSql.AppendLine("and A.OP='" + strOP + "'"); }
|
|
|
if (strBSTYPE != "" && strBSTYPE != "undefined" && strBSTYPE != "null") { strSql.AppendLine("and A.BSTYPE='" + strBSTYPE + "'"); }
|
|
|
if (strOPLB != "" && strOPLB != "undefined" && strOPLB != "null") { strSql.AppendLine("and A.OPLB='" + strOPLB + "'"); }
|
|
|
if (strBSSOURCE != "" && strBSSOURCE != "undefined" && strBSSOURCE != "null") { strSql.AppendLine("and A.BSSOURCE='" + strBSSOURCE + "'"); }
|
|
|
if (strBSSOURCEDETAIL != "" && strBSSOURCEDETAIL != "undefined" && strBSSOURCEDETAIL != "null") { strSql.AppendLine("and A.BSSOURCEDETAIL='" + strBSSOURCEDETAIL + "'"); }
|
|
|
if (strLane != "" && strLane != "undefined" && strLane != null) { strSql.AppendLine("and A.Lane='" + strLane + "'"); }
|
|
|
|
|
|
//strSql.AppendLine("GROUP BY A.MBLNO,A.BSSOURCE,A.INPUTBY,A.OPDATE,A.BSNO,B.TTLDR,B.TTLCR ");
|
|
|
strSql.AppendLine("order by SUBSTRING(CONVERT(char(15), A.OPDATE, 111), 1, 10),TTLAMOUNT ");
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
string evList = string.Empty;
|
|
|
evList = "[";
|
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
evList += "{";
|
|
|
evList += "MONTHNAME:\"" + Convert.ToString(reader["MONTHNAME"]) + "\",MBLNO:\"" + Convert.ToString(reader["MBLNO"]) + "\",TTLDR:\"" + Convert.ToString(reader["TTLDR"]) + "\",TTLCR:\"" + Convert.ToString(reader["TTLCR"]) + "\",TTLAMOUNT:\"" + Math.Round(decimal.Parse(Convert.ToString(reader["TTLAMOUNT"])), 2, MidpointRounding.AwayFromZero) + "\",INPUTBY:\"" + Convert.ToString(reader["INPUTBY"]) + "\"";
|
|
|
evList += "},";
|
|
|
i = i + 1;
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
|
|
|
evList = evList.Substring(0, evList.Length - 1);
|
|
|
evList += "]";
|
|
|
|
|
|
return evList;
|
|
|
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 欠费
|
|
|
/// </summary>
|
|
|
/// <param name="strYear"></param>
|
|
|
/// <param name="strMonth"></param>
|
|
|
/// <returns></returns>
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public string GetCompareArrearageInfo(string strYear, string strMonth, string strOPLB, string strBSTYPE, string strSALES, string strOP, string strCUSTOMER, string strBSSOURCE, string strBSSOURCEDETAIL, string strLane, string strACCDATEBGN, string strACCDATEEND)
|
|
|
{
|
|
|
string dataList = GetCompareArrearageInfoList(Convert.ToString(Session["COMPANYID"]), strYear, strMonth, strOPLB, strBSTYPE, strSALES, strOP, strCUSTOMER, strBSSOURCE, strBSSOURCEDETAIL, strLane, strACCDATEBGN, strACCDATEEND);
|
|
|
return dataList;
|
|
|
}
|
|
|
static private string GetCompareArrearageInfoList(string companyID, string strYear, string strMonth, string strOPLB, string strBSTYPE, string strSALES, string strOP, string strCUSTOMER, string strBSSOURCE, string strBSSOURCEDETAIL, string strLane, string strACCDATEBGN, string strACCDATEEND)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.AppendLine("select SUBSTRING(CONVERT(char(15), A.OPDATE, 111), 1, 7) MONTHNAME,A.MBLNO, ");
|
|
|
strSql.AppendLine("B.TTLDR,B.STLTTLDR,(B.TTLDR-B.STLTTLDR) as TTLAMOUNT, ");
|
|
|
strSql.AppendLine("A.INPUTBY ");
|
|
|
strSql.AppendLine("from v_op_bill as A ");
|
|
|
strSql.AppendLine("left join v_op_gain_sum as B on A.BSNO=B.BSNO ");
|
|
|
strSql.AppendLine("where SUBSTRING(CONVERT(char(15), A.OPDATE, 111), 1, 4)='" + strYear + "' and SUBSTRING(CONVERT(char(15), A.OPDATE, 111), 6, 2)='" + strMonth + "' ");
|
|
|
strSql.AppendLine("and B.TTLDR is not NULL and B.STLTTLDR is not NULL ");
|
|
|
if (strACCDATEBGN != "" && strACCDATEBGN != "undefined" && strACCDATEBGN != "null") { strSql.AppendLine("and A.ACCDATE>='" + strACCDATEBGN + "'"); }
|
|
|
if (strACCDATEEND != "" && strACCDATEEND != "undefined" && strACCDATEEND != "null") { strSql.AppendLine("and A.ACCDATE<='" + strACCDATEEND + " 23:59:59'"); }
|
|
|
if (strCUSTOMER != "" && strCUSTOMER != "undefined" && strCUSTOMER != "null") { strSql.AppendLine("and A.CUSTOMERNAME='" + strCUSTOMER + "'"); }
|
|
|
if (strSALES != "" && strSALES != "undefined" && strSALES != "null") { strSql.AppendLine("and A.SALE='" + strSALES + "'"); }
|
|
|
if (strOP != "" && strOP != "undefined" && strOP != "null") { strSql.AppendLine("and A.OP='" + strOP + "'"); }
|
|
|
if (strBSTYPE != "" && strBSTYPE != "undefined" && strBSTYPE != "null") { strSql.AppendLine("and A.BSTYPE='" + strBSTYPE + "'"); }
|
|
|
if (strOPLB != "" && strOPLB != "undefined" && strOPLB != "null") { strSql.AppendLine("and A.OPLB='" + strOPLB + "'"); }
|
|
|
if (strBSSOURCE != "" && strBSSOURCE != "undefined" && strBSSOURCE != "null") { strSql.AppendLine("and A.BSSOURCE='" + strBSSOURCE + "'"); }
|
|
|
if (strBSSOURCEDETAIL != "" && strBSSOURCEDETAIL != "undefined" && strBSSOURCEDETAIL != "null") { strSql.AppendLine("and A.BSSOURCEDETAIL='" + strBSSOURCEDETAIL + "'"); }
|
|
|
if (strLane != "" && strLane != "undefined" && strLane != null) { strSql.AppendLine("and A.Lane='" + strLane + "'"); }
|
|
|
//strSql.AppendLine("GROUP BY A.MBLNO,A.BSSOURCE,A.INPUTBY,A.OPDATE,A.BSNO,B.TTLDR,B.STLTTLDR ");
|
|
|
strSql.AppendLine("order by SUBSTRING(CONVERT(char(15), A.OPDATE, 111), 1, 10),TTLAMOUNT ");
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
string evList = string.Empty;
|
|
|
evList = "[";
|
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
evList += "{";
|
|
|
evList += "MONTHNAME:\"" + Convert.ToString(reader["MONTHNAME"]) + "\",MBLNO:\"" + Convert.ToString(reader["MBLNO"]) + "\",TTLDR:\"" + Convert.ToString(reader["TTLDR"]) + "\",STLTTLDR:\"" + Convert.ToString(reader["STLTTLDR"]) + "\",TTLAMOUNT:\"" + Math.Round(decimal.Parse(Convert.ToString(reader["TTLAMOUNT"])), 2, MidpointRounding.AwayFromZero) + "\",INPUTBY:\"" + Convert.ToString(reader["INPUTBY"]) + "\"";
|
|
|
evList += "},";
|
|
|
i = i + 1;
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
|
|
|
evList = evList.Substring(0, evList.Length - 1);
|
|
|
evList += "]";
|
|
|
|
|
|
return evList;
|
|
|
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// TEU
|
|
|
/// </summary>
|
|
|
/// <param name="strYear"></param>
|
|
|
/// <param name="strMonth"></param>
|
|
|
/// <returns></returns>
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public string GetCompareTEUInfo(string strYear, string strMonth, string strOPLB, string strBSTYPE, string strSALES, string strOP, string strCUSTOMER, string strBSSOURCE, string strBSSOURCEDETAIL, string strLane, string strACCDATEBGN, string strACCDATEEND)
|
|
|
{
|
|
|
string dataList = GetCompareTEUInfoList(Convert.ToString(Session["COMPANYID"]), strYear, strMonth, strOPLB, strBSTYPE, strSALES, strOP, strCUSTOMER, strBSSOURCE, strBSSOURCEDETAIL, strLane, strACCDATEBGN, strACCDATEEND);
|
|
|
return dataList;
|
|
|
}
|
|
|
static private string GetCompareTEUInfoList(string companyID, string strYear, string strMonth, string strOPLB, string strBSTYPE, string strSALES, string strOP, string strCUSTOMER, string strBSSOURCE, string strBSSOURCEDETAIL, string strLane, string strACCDATEBGN, string strACCDATEEND)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.AppendLine("select SUBSTRING(CONVERT(char(15), OPDATE, 111), 1, 10) MONTHNAME,MBLNO, ");
|
|
|
strSql.AppendLine("TEU, ");
|
|
|
strSql.AppendLine("INPUTBY from v_op_bill ");
|
|
|
strSql.AppendLine("where SUBSTRING(CONVERT(char(15), OPDATE, 111), 1, 4)='" + strYear + "' and SUBSTRING(CONVERT(char(15), OPDATE, 111), 6, 2)='" + strMonth + "' ");
|
|
|
strSql.AppendLine("and TEU is not NULL and TEU<>'' ");
|
|
|
if (strACCDATEBGN != "" && strACCDATEBGN != "undefined" && strACCDATEBGN != "null") { strSql.AppendLine("and ACCDATE>='" + strACCDATEBGN + "'"); }
|
|
|
if (strACCDATEEND != "" && strACCDATEEND != "undefined" && strACCDATEEND != "null") { strSql.AppendLine("and ACCDATE<='" + strACCDATEEND + " 23:59:59'"); }
|
|
|
if (strCUSTOMER != "" && strCUSTOMER != "undefined" && strCUSTOMER != "null") { strSql.AppendLine("and CUSTOMERNAME='" + strCUSTOMER + "'"); }
|
|
|
if (strSALES != "" && strSALES != "undefined" && strSALES != "null") { strSql.AppendLine("and SALE='" + strSALES + "'"); }
|
|
|
if (strOP != "" && strOP != "undefined" && strOP != "null") { strSql.AppendLine("and OP='" + strOP + "'"); }
|
|
|
if (strBSTYPE != "" && strBSTYPE != "undefined" && strBSTYPE != "null") { strSql.AppendLine("and BSTYPE='" + strBSTYPE + "'"); }
|
|
|
if (strOPLB != "" && strOPLB != "undefined" && strOPLB != "null") { strSql.AppendLine("and OPLB='" + strOPLB + "'"); }
|
|
|
if (strBSSOURCE != "" && strBSSOURCE != "undefined" && strBSSOURCE != "null") { strSql.AppendLine("and BSSOURCE='" + strBSSOURCE + "'"); }
|
|
|
if (strBSSOURCEDETAIL != "" && strBSSOURCEDETAIL != "undefined" && strBSSOURCEDETAIL != "null") { strSql.AppendLine("and BSSOURCEDETAIL='" + strBSSOURCEDETAIL + "'"); }
|
|
|
if (strLane != "" && strLane != "undefined" && strLane != "null") { strSql.AppendLine("and Lane='" + strLane + "'"); }
|
|
|
//strSql.AppendLine("GROUP BY MBLNO,BSSOURCE,TEU,INPUTBY,OPDATE,BSNO ");
|
|
|
strSql.AppendLine("order by SUBSTRING(CONVERT(char(15), OPDATE, 111), 1, 7),TEU ");
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
string evList = string.Empty;
|
|
|
evList = "[";
|
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
var i = 1;
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
evList += "{";
|
|
|
evList += "MONTHNAME:\"" + Convert.ToString(reader["MONTHNAME"]) + "\",MBLNO:\"" + Convert.ToString(reader["MBLNO"]) + "\",TEU:\"" + Convert.ToString(reader["TEU"]) + "\",INPUTBY:\"" + Convert.ToString(reader["INPUTBY"]) + "\"";
|
|
|
evList += "},";
|
|
|
i = i + 1;
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
|
|
|
evList = evList.Substring(0, evList.Length - 1);
|
|
|
evList += "]";
|
|
|
|
|
|
return evList;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
[SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器
|
|
|
public ContentResult SumListData(string condition, string sort, string printstr, string sumfieldtype, string startmonth, string endmonth, string objtype)
|
|
|
{
|
|
|
var dataList = MsRptOpProfitZouDAL.SumListData(condition, sort, sumfieldtype, startmonth, endmonth,objtype, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = dataList.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#region 月度数
|
|
|
|
|
|
public ContentResult GetMonthsData(string startmonth, string endmonth)
|
|
|
{
|
|
|
|
|
|
var dataList = MsRptOpProfitZouDAL.GetMonthList(startmonth, endmonth);
|
|
|
|
|
|
var json = JsonConvert.Serialize(
|
|
|
new { Success = true, Message = "查询成功", data = dataList.ToList() });
|
|
|
return new ContentResult() { Content = json };
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 参照部分
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|