using Core.Web.App_Start; using Core.Web.WebHelper; using CRM.Core.BLL; using CRM.Core.BLL.Mon; using CRM.Core.BLL.Util; using CRM.Core.BLL.Wx; using CRM.Core.Common.Layui; using CRM.Core.Model.Entity; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web.Mvc; using WX.CRM.Common; namespace Core.Web.Controllers { public class MonBalanceController : BaseController { MonBalance_BL _balance = new MonBalance_BL(); Mon_Order_BL _monOrder = new Mon_Order_BL(); Mon_OrderPay_BL _monOrderPay = new Mon_OrderPay_BL(); Mon_OrderRefund_BL _monOrderRefund = new Mon_OrderRefund_BL(); Mon_OrderPayPrice_BL _monOrderPayPrice = new Mon_OrderPayPrice_BL(); CACHE_BL _cache = new CACHE_BL(); WX_SZZYORDER_BL _order = new WX_SZZYORDER_BL(); WX_SzzyOrderRefund_BL _refund = new WX_SzzyOrderRefund_BL(); WX_SzzyOrderPay_BL _pay = new WX_SzzyOrderPay_BL(); public MonBalanceController() { } [AuthorizeRedirect(RightsConfig.CONST_公司结算, ToolBarConfig.CONST_NotButton, true)] [HttpGet] public ActionResult Index() { ViewBag.rightCode = RightsConfig.CONST_公司结算; return View(); } [AuthorizeRedirect(RightsConfig.CONST_公司结算, ToolBarConfig.CONST_NotButton, false)] [HttpPost] public JsonResult Index(int year, int month) { var startTime = new DateTime(year, month, 1); var endTime = startTime.AddMonths(1); var ds = _balance.GetCompanyPerformance(startTime, endTime); var CompanyOrder = new List(); var CompanyRefund = new List(); var CompanyOrderPay = new List(); var CompanyOrderPay2 = new List(); var CompanyRefundReal = new List(); if (ds.Tables[0].Rows.Count > 0) CompanyOrder = Utility.ToList(ds.Tables[0]); if (ds.Tables[1].Rows.Count > 0) CompanyRefund = Utility.ToList(ds.Tables[1]); if (ds.Tables[2].Rows.Count > 0) CompanyOrderPay = Utility.ToList(ds.Tables[2]); if (ds.Tables[3].Rows.Count > 0) CompanyOrderPay2 = Utility.ToList(ds.Tables[3]); if (ds.Tables[4].Rows.Count > 0) CompanyRefundReal = Utility.ToList(ds.Tables[4]); var CompanyList = _cache.GetList_innerCompany().Where(p => p.ISOUTERAGENT == 0); var balanceList = _balance.GetList(p => p.Month == startTime); var list = new List(); foreach (var item in CompanyList) { //订单部分 //支付订单 var order200 = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "200").Sum(p => p.arrivalpay); var ordercount200 = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "200").Sum(p => p.ordercount); //升级订单 var order210 = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "205").Sum(p => p.arrivalpay); var ordercount210 = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "205").Sum(p => p.ordercount); //开通订单 var order220 = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "220").Sum(p => p.arrivalpay); var ordercount220 = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "220").Sum(p => p.ordercount); //退款订单 var order90 = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "90").Sum(p => p.arrivalpay); var orderCount90 = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "90").Sum(p => p.ordercount); //已开通退款 var order90s = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "90" && p.isopen == 1).Sum(p => p.arrivalpay); var orderCount90s = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "90" && p.isopen == 1).Sum(p => p.ordercount); //未开通退款 var order90b = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "90" && p.isopen == 0).Sum(p => p.arrivalpay); var orderCount90b = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "90" && p.isopen == 0).Sum(p => p.ordercount); var oder80 = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "80").Sum(p => p.arrivalpay); var orderCount80 = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.orderstatus == "80").Sum(p => p.ordercount); var arrivalPay = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE).Sum(p => p.arrivalpay); var orderCount = CompanyOrder.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE).Sum(p => p.ordercount); //订金退款 var refundPrice = CompanyRefund.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE).Sum(p => p.refundprice); var refundCount = CompanyRefund.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE).Sum(p => p.refundcount); //真实退款 var refundPriceReal = CompanyRefundReal.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE).Sum(p => p.refundprice); var refundCountReal = CompanyRefundReal.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE).Sum(p => p.refundcount); //支付金额部分 var payPrice = CompanyOrderPay.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE).Sum(p => p.payprice); var payCount = CompanyOrderPay.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE).Sum(p => p.paycount); //支付类型处理 var alipay = CompanyOrderPay.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.paytype == 1).Sum(p => p.payprice); var weixinPay = CompanyOrderPay.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.paytype == 5).Sum(p => p.payprice); var bankPay = CompanyOrderPay.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.paytype == 3).Sum(p => p.payprice); var netBankPay = CompanyOrderPay.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE && p.paytype == 4).Sum(p => p.payprice); //订单到账部分 var orderPayPrice = CompanyOrderPay2.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE).Sum(p => p.orderpayprice); var orderPayCount = CompanyOrderPay2.Where(p => p.channel >= item.MINCHANNELCODE && p.channel <= item.MAXCHANNELCODE).Sum(p => p.orderpaycount); //var isbalance = balanceList.Any(p => p.CompanyCode == item.COMPANYCODE); var isbalance = false; var order220All = order220 + order210 + order90s + oder80; var orderCount220All = ordercount220 + ordercount210 + orderCount90s + orderCount80; var arrivalPayAll = arrivalPay; var orderCountAll = orderCount; var info = new MonCompanyPerformanceView(startTime, item.MINCHANNELCODE + "," + item.MAXCHANNELCODE, item.MINCHANNELCODE, item.MAXCHANNELCODE, item.COMPANYCODE, item.COMPANYNAME, order200, ordercount200, order90b, orderCount90b, order220All, orderCount220All, arrivalPayAll, orderCountAll, payPrice, payCount, orderPayPrice, orderPayCount, refundPrice, refundCount, isbalance, alipay, weixinPay, bankPay, netBankPay, refundPriceReal, refundCountReal); list.Add(info); } var data = new LayuiData() { msg = "数据加载成功!", count = 1, code = 0, data = list }; return Json(data, JsonRequestBehavior.AllowGet); } [HttpGet] public ActionResult List() { return View(); } [HttpGet] public ActionResult List2() { return View(); } [HttpPost] public JsonResult List(int year, int month, int? isoutcompany) { var startTime = new DateTime(year, month, 1); var endTime = startTime.AddMonths(1); var ds = _balance.GetCompanyPerformance(startTime, endTime); var CompanyOrder = new List(); var CompanyRefund = new List(); var CompanyOrderPay = new List(); var CompanyOrderPay2 = new List(); var CompanyRefundReal = new List(); if (ds.Tables[0].Rows.Count > 0) CompanyOrder = Utility.ToList(ds.Tables[0]); if (ds.Tables[1].Rows.Count > 0) CompanyRefund = Utility.ToList(ds.Tables[1]); if (ds.Tables[2].Rows.Count > 0) CompanyOrderPay = Utility.ToList(ds.Tables[2]); if (ds.Tables[3].Rows.Count > 0) CompanyOrderPay2 = Utility.ToList(ds.Tables[3]); if (ds.Tables[4].Rows.Count > 0) CompanyRefundReal = Utility.ToList(ds.Tables[4]); var CompanyList = _cache.GetCompanyVirtual(); if (!isoutcompany.HasValue) { isoutcompany = 0; } CompanyList = CompanyList.Where(p => p.isoutcompany == isoutcompany.Value).ToList(); var balanceList = _balance.GetList(p => p.Month == startTime); var list = new List(); var CompanyOrderA = new List(); var CompanyRefundA = new List(); var CompanyOrderPayA = new List(); var CompanyOrderPay2A = new List(); var CompanyRefundRealA = new List(); foreach (var item in CompanyList) { var arr0 = item.Channel.Split('|'); if (arr0.Length > 1) { //where = where.And(m => m.channel >= 1100 && m.channel <= 1100 || m.channel >= 26600 && m.channel <= 26699); var whereOr = PredicateExtensionses.False(); var whereOr2 = PredicateExtensionses.False(); var whereOr3 = PredicateExtensionses.False(); var whereOr4 = PredicateExtensionses.False(); foreach (var arr in arr0) { var a = arr.Split(','); var min = Convert.ToInt32(a[0]); var max = Convert.ToInt32(a[1]); whereOr = whereOr.Or(m => m.channel >= min && m.channel <= max); whereOr2 = whereOr2.Or(m => m.channel >= min && m.channel <= max); whereOr3 = whereOr3.Or(m => m.channel >= min && m.channel <= max); whereOr4 = whereOr4.Or(m => m.channel >= min && m.channel <= max); } CompanyOrderA = CompanyOrder.Where(whereOr.Compile()).ToList(); CompanyRefundA = CompanyRefund.Where(whereOr2.Compile()).ToList(); CompanyOrderPayA = CompanyOrderPay.Where(whereOr3.Compile()).ToList(); CompanyOrderPay2A = CompanyOrderPay2.Where(whereOr4.Compile()).ToList(); CompanyRefundRealA = CompanyRefundReal.Where(whereOr2.Compile()).ToList(); } else { var arr = item.Channel.Split(','); var min = Convert.ToInt32(arr[0]); var max = Convert.ToInt32(arr[1]); CompanyOrderA = CompanyOrder.Where(m => m.channel >= min && m.channel <= max).ToList(); CompanyRefundA = CompanyRefund.Where(m => m.channel >= min && m.channel <= max).ToList(); CompanyOrderPayA = CompanyOrderPay.Where(m => m.channel >= min && m.channel <= max).ToList(); CompanyOrderPay2A = CompanyOrderPay2.Where(m => m.channel >= min && m.channel <= max).ToList(); CompanyRefundRealA = CompanyRefundReal.Where(m => m.channel >= min && m.channel <= max).ToList(); } //订单部分 //支付订单 var order200 = CompanyOrderA.Where(p => p.orderstatus == "200").Sum(p => p.arrivalpay); var ordercount200 = CompanyOrderA.Where(p => p.orderstatus == "200").Sum(p => p.ordercount); //升级订单 var order210 = CompanyOrderA.Where(p => p.orderstatus == "205").Sum(p => p.arrivalpay); var ordercount210 = CompanyOrderA.Where(p => p.orderstatus == "205").Sum(p => p.ordercount); //开通订单 var order220 = CompanyOrderA.Where(p => p.orderstatus == "220").Sum(p => p.arrivalpay); var ordercount220 = CompanyOrderA.Where(p => p.orderstatus == "220").Sum(p => p.ordercount); //退款订单 var order90 = CompanyOrderA.Where(p => p.orderstatus == "90").Sum(p => p.arrivalpay); var orderCount90 = CompanyOrderA.Where(p => p.orderstatus == "90").Sum(p => p.ordercount); //已开通退款 var order90s = CompanyOrderA.Where(p => p.orderstatus == "90" && p.isopen == 1).Sum(p => p.arrivalpay); var orderCount90s = CompanyOrderA.Where(p => p.orderstatus == "90" && p.isopen == 1).Sum(p => p.ordercount); //未开通退款 var order90b = CompanyOrderA.Where(p => p.orderstatus == "90" && p.isopen == 0).Sum(p => p.arrivalpay); var orderCount90b = CompanyOrderA.Where(p => p.orderstatus == "90" && p.isopen == 0).Sum(p => p.ordercount); var oder80 = CompanyOrderA.Where(p => p.orderstatus == "80").Sum(p => p.arrivalpay); var orderCount80 = CompanyOrderA.Where(p => p.orderstatus == "80").Sum(p => p.ordercount); var arrivalPay = CompanyOrderA.Sum(p => p.arrivalpay); var orderCount = CompanyOrderA.Sum(p => p.ordercount); ////订金退款 ////总退款=正常退款+订金退款 var refundPrice = CompanyRefundA.Sum(p => p.refundprice); var refundCount = CompanyRefundA.Sum(p => p.refundcount); //真实退款 var refundPriceReal = CompanyRefundRealA.Sum(p => p.refundprice); var refundCountReal = CompanyRefundRealA.Sum(p => p.refundcount); ////支付金额部分 ////支付金额=正常支付+订金支付 var payPrice = CompanyOrderPayA.Sum(p => p.payprice); var payCount = CompanyOrderPayA.Sum(p => p.paycount); ////支付类型处理 var alipay = CompanyOrderPayA.Where(p => p.paytype == 1).Sum(p => p.payprice); var weixinPay = CompanyOrderPayA.Where(p => p.paytype == 5).Sum(p => p.payprice); var bankPay = CompanyOrderPayA.Where(p => p.paytype == 3).Sum(p => p.payprice); var netBankPay = CompanyOrderPayA.Where(p => p.paytype == 4).Sum(p => p.payprice); ////订单到账部分 var orderPayPrice = CompanyOrderPay2A.Sum(p => p.orderpayprice); var orderPayCount = CompanyOrderPay2A.Sum(p => p.orderpaycount); //var isbalance = balanceList.Any(p => p.CompanyCode == item.COMPANYCODE); var isbalance = false; var order220All = order220 + order210 + order90s + oder80; var orderCount220All = ordercount220 + ordercount210 + orderCount90s + orderCount80; var arrivalPayAll = arrivalPay; var orderCountAll = orderCount; var info = new MonCompanyPerformanceView(startTime, item.Channel, 0, 0, item.CompanyCode, item.CompanyName, order200, ordercount200, order90b, orderCount90b, order220All, orderCount220All, arrivalPayAll, orderCountAll, payPrice, payCount, orderPayPrice, orderPayCount, refundPrice, refundCount, isbalance, alipay, weixinPay, bankPay, netBankPay, refundPriceReal, refundCountReal); list.Add(info); } var data = new LayuiData() { msg = "数据加载成功!", count = 1, code = 0, data = list }; return Json(data, JsonRequestBehavior.AllowGet); } [HttpGet] public ActionResult Detail() { return View(); } [HttpPost] public JsonResult Detail(int year, int month, string companyCode) { var yearmonth = new DateTime(year, month, 1); var balance = _balance.Get(p => p.Month == yearmonth && p.CompanyCode == companyCode); var order = _monOrder.GetList(p => p.month == yearmonth && p.companycode == companyCode); var orderPay = _monOrderPay.GetList(p => p.month == yearmonth && p.companycode == companyCode); var orderRefund = _monOrderRefund.GetList(p => p.month == yearmonth && p.companycode == companyCode); var orderPayPrice = _monOrderPayPrice.GetList(p => p.month == yearmonth && p.companycode == companyCode); var data = new { count = 1, code = 0, balance, order, orderPay, orderRefund, orderPayPrice }; return Json(data, JsonRequestBehavior.AllowGet); } [HttpGet] public ActionResult OrderInfo() { return View(); } [HttpPost] public JsonResult OrderInfo(int year, int month, string channel) { var startTime = new DateTime(year, month, 1); var endTime = startTime.AddMonths(1); //var dt = _order.GetCompanyOrderPayList(startTime, endTime, channelmin, channelmax).Tables[0]; //var orders = dt.ToList(); var orders = _order.GetCompanyOrderPayList(startTime, endTime, channel); var data = new LayuiData() { msg = "数据加载成功!", count = int.MaxValue, code = 0, data = orders }; return Json(data, JsonRequestBehavior.AllowGet); } [HttpGet] public ActionResult PayInfo() { return View(); } public JsonResult PayInfo(int year, int month, string companyCode, string channel) { var orderPay = _pay.GetPayInfo(year, month, companyCode, channel); foreach (var item in orderPay) { item.payno = "`" + item.payno; } var data = new LayuiData() { msg = "数据加载成功!", count = int.MaxValue, code = 0, data = orderPay }; return Json(data, JsonRequestBehavior.AllowGet); } public JsonResult DepositInfo(int year, int month, string companyCode, string channel) { var orderPay = _pay.GetDepositInfo(year, month, companyCode, channel); foreach (var item in orderPay) { item.payno = "`" + item.payno; } var data = new LayuiData() { msg = "数据加载成功!", count = int.MaxValue, code = 0, data = orderPay }; return Json(data, JsonRequestBehavior.AllowGet); } [HttpGet] public ActionResult RefundInfo() { return View(); } [HttpPost] public JsonResult RefundInfo(int year, int month, string companyCode, string channel) { var startTime = new DateTime(year, month, 1); var endTime = startTime.AddMonths(1); var where = PredicateExtensionses.True(); where = where.And(p => p.isdelete == 0); where = where.And(p => p.auditstatus == 1); where = where.And(p => p.refunddate >= startTime); where = where.And(p => p.refunddate < endTime); if (!string.IsNullOrEmpty(channel)) { var arr0 = channel.Split('|'); if (arr0.Length > 1) { var whereOr = PredicateExtensionses.False(); foreach (var item in arr0) { var a = item.Split(','); var min = Convert.ToInt32(a[0]); var max = Convert.ToInt32(a[1]); whereOr = whereOr.Or(m => m.channel >= min && m.channel <= max); } where = where.And(whereOr); //where = where.And(m => m.channel >= 1100 && m.channel <= 1100 || m.channel >= 26600 && m.channel <= 26699); } else { var arr = channel.Split(','); var min = Convert.ToInt32(arr[0]); var max = Convert.ToInt32(arr[1]); where = where.And(m => m.channel >= min && m.channel <= max); } } var orderRefund = _refund.GetList(where).ToList(); //var orderRefund = _refund.GetOrderRefund(startTime, endTime, companyCode, channelMin, channelMax); var data = new LayuiData() { msg = "数据加载成功!", count = int.MaxValue, code = 0, data = orderRefund }; return Json(data, JsonRequestBehavior.AllowGet); } [HttpGet] public ActionResult RefundRealInfo() { return View(); } [HttpPost] public JsonResult RefundRealInfo(int year, int month, string companyCode, string channel) { var startTime = new DateTime(year, month, 1); var endTime = startTime.AddMonths(1); var where = PredicateExtensionses.True(); where = where.And(p => p.isdelete == 0); where = where.And(p => p.auditstatus == 1); where = where.And(p => p.isacturalrefund == 1); where = where.And(p => p.refunddate >= startTime); where = where.And(p => p.refunddate < endTime); if (!string.IsNullOrEmpty(channel)) { var arr0 = channel.Split('|'); if (arr0.Length > 1) { var whereOr = PredicateExtensionses.False(); foreach (var item in arr0) { var a = item.Split(','); var min = Convert.ToInt32(a[0]); var max = Convert.ToInt32(a[1]); whereOr = whereOr.Or(m => m.channel >= min && m.channel <= max); } where = where.And(whereOr); //where = where.And(m => m.channel >= 1100 && m.channel <= 1100 || m.channel >= 26600 && m.channel <= 26699); } else { var arr = channel.Split(','); var min = Convert.ToInt32(arr[0]); var max = Convert.ToInt32(arr[1]); where = where.And(m => m.channel >= min && m.channel <= max); } } var orderRefund = _refund.GetList(where).ToList(); //var orderRefund = _refund.GetOrderRefund(startTime, endTime, companyCode, channelMin, channelMax); var data = new LayuiData() { msg = "数据加载成功!", count = int.MaxValue, code = 0, data = orderRefund }; return Json(data, JsonRequestBehavior.AllowGet); } [HttpGet] public ActionResult OrderPayPriceInfo() { return View(); } [HttpPost] public JsonResult OrderPayPriceInfo(int year, int month, string channel) { var startTime = new DateTime(year, month, 1); var endTime = startTime.AddMonths(1); //var dt = _order.GetCompanyOrderPayList2(startTime, endTime, channelMin, channelMax).Tables[0]; //var orders = dt.ToList(); var orders = _order.GetCompanyOrderPayList2(startTime, endTime, channel); var data = new LayuiData() { msg = "数据加载成功!", count = int.MaxValue, code = 0, data = orders }; return Json(data, JsonRequestBehavior.AllowGet); } [HttpPost] public JsonResult Balance(int year, int month, string companyCode) { var startTime = new DateTime(year, month, 1); var endTime = startTime.AddMonths(1); var balance = _balance.Get(p => p.Month == startTime && p.CompanyCode == companyCode); if (balance != null) { return Json(new { result = false, message = "exists" }, JsonRequestBehavior.AllowGet); } var res = _balance.Balance(startTime, endTime, companyCode); return Json(new { result = res, message = res ? "success" : "error" }, JsonRequestBehavior.AllowGet); } [HttpPost] public JsonResult UnBalance(int year, int month, string companyCode) { var startTime = new DateTime(year, month, 1); var res = _balance.UnBalance(startTime, companyCode); return Json(new { result = res }, JsonRequestBehavior.AllowGet); } public class MonCompanyPerformanceView { public MonCompanyPerformanceView() { } public MonCompanyPerformanceView(DateTime month, string channel, int channelMin, int channelMax, string companycode, string companyname, decimal order200, long ordercount200, decimal order90b, long ordercount90b, decimal order220, long ordercount220, decimal arrivalpay, long ordercount, decimal payprice, long paycount, decimal orderpayprice, long orderpaycount, decimal refundprice, long refundcount, bool isbalance, decimal alipay, decimal weixinPay, decimal bankPay, decimal netBankPay, decimal refundpricereal, long refundcountreal) { this.month = month; this.channel = channel; this.channelMin = channelMin; this.channelMax = channelMax; this.companycode = companycode; this.companyname = companyname; this.order200 = order200; this.ordercount200 = ordercount200; this.order90b = order90b; this.ordercount90b = ordercount90b; this.order220 = order220; this.ordercount220 = ordercount220; this.arrivalpay = arrivalpay; this.ordercount = ordercount; this.payprice = payprice; this.paycount = paycount; this.orderpayprice = orderpayprice; this.orderpaycount = orderpaycount; this.refundprice = refundprice; this.refundcount = refundcount; this.isbalance = isbalance; this.alipay = alipay; this.weixinPay = weixinPay; this.bankPay = bankPay; this.netBankPay = netBankPay; this.refundpricereal = refundpricereal; this.refundcountreal = refundcountreal; } public DateTime month { get; set; } public string channel { get; set; } public int channelMin { get; set; } public int channelMax { get; set; } public string companycode { get; set; } public string companyname { get; set; } public decimal order200 { get; set; } public long ordercount200 { get; set; } public decimal order90b { get; set; } public long ordercount90b { get; set; } public decimal order220 { get; set; } public long ordercount220 { get; set; } public decimal arrivalpay { get; set; } public long ordercount { get; set; } public decimal payprice { get; set; } public long paycount { get; set; } public decimal orderpayprice { get; set; } public long orderpaycount { get; set; } public decimal refundprice { get; set; } public long refundcount { get; set; } public bool isbalance { get; set; } public decimal alipay { get; set; } public decimal weixinPay { get; set; } public decimal bankPay { get; set; } public decimal netBankPay { get; set; } public decimal refundpricereal { get; set; } public long refundcountreal { get; set; } } public class MonCompanyOrder { public int channel { get; set; } public string companycode { get; set; } public string orderstatus { get; set; } public int isopen { get; set; } public decimal arrivalpay { get; set; } public long ordercount { get; set; } } public class MonCompanyOrderPay { public int? channel { get; set; } public string companycode { get; set; } public decimal payprice { get; set; } public long paycount { get; set; } public int paytype { get; set; } } public class MonCompanyRefund { public int? channel { get; set; } public string companycode { get; set; } public decimal refundprice { get; set; } public long refundcount { get; set; } } public class MonCompanyOrderPay2 { public int? channel { get; set; } public string companycode { get; set; } public decimal orderpayprice { get; set; } public long orderpaycount { get; set; } } } }