BusinessUtil.cs 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. using MySystem.Models.Main;
  2. using Library;
  3. using MySystem.Service.Main;
  4. using System.Collections.Generic;
  5. using System;
  6. using System.Linq;
  7. namespace MySystem
  8. {
  9. /// <summary>
  10. /// 经营数据工具类
  11. /// </summary>
  12. public class BusinessUtil
  13. {
  14. #region 经营数据记录(月)
  15. /// <summary>
  16. /// 经营数据记录(月)
  17. /// </summary>
  18. /// <param name="MerchantId">商户Id</param>
  19. /// <param name="TradeMonth">月份</param>
  20. /// <param name="pageSize">条数</param>
  21. /// <param name="pageNum">页数</param>
  22. /// <returns></returns>
  23. public static List<Dictionary<string, object>> BussinessRecordForMonth(int MerchantId, string TradeMonth, int pageSize, int pageNum)
  24. {
  25. List<RelationData> relationData = new List<RelationData>();
  26. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  27. if (!new MerchantTradeSummaryService().CheckTableExist(TradeMonth))
  28. {
  29. return dataList;
  30. }
  31. List<Dictionary<string, object>> source = MerchantTradeSummaryService.List2(relationData, " and MerchantId=" + MerchantId, TradeMonth, pageNum, pageSize,"TradeDate desc");
  32. foreach (Dictionary<string, object> subdata in source)
  33. {
  34. Dictionary<string, object> curData = new Dictionary<string, object>();
  35. curData.Add("TradeDate", subdata["TradeDate"].ToString()); //日期
  36. curData.Add("TotalAmount", decimal.Parse(subdata["TradeAmount"].ToString()).ToString("f2")); //营业总金额
  37. curData.Add("InFactAmount", decimal.Parse(subdata["InFactAmount"].ToString()).ToString("f2")); //实收总金额
  38. curData.Add("ActAmount", decimal.Parse(subdata["ActAmount"].ToString()).ToString("f2")); //活动总金额
  39. curData.Add("NonActAmount", decimal.Parse(subdata["NonActAmount"].ToString()).ToString("f2")); //非活动总金额
  40. curData.Add("WeChatInFactAmount", decimal.Parse(subdata["WeChatInfactAmount"].ToString()).ToString("f2")); //微信实收
  41. curData.Add("AliPayInFactAmount", decimal.Parse(subdata["AliPayInFactAmount"].ToString()).ToString("f2")); //支付宝实收
  42. curData.Add("OrderCount", subdata["OderCount"].ToString()); //订单数
  43. dataList.Add(curData);
  44. }
  45. return dataList;
  46. }
  47. #endregion
  48. #region 经营数据记录(半年)
  49. /// <summary>
  50. /// 经营数据记录(半年)
  51. /// </summary>
  52. /// <param name="MerchantId">商户Id</param>
  53. /// <param name="pageSize">条数</param>
  54. /// <param name="pageNum">页数</param>
  55. /// <returns></returns>
  56. public static List<Dictionary<string, object>> BussinessRecordForHalfYear(int MerchantId, int pageSize, int pageNum)
  57. {
  58. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  59. List<Dictionary<string, object>> source = UserTradeDbconn.Instance.GetMonthTradeList(MerchantId, "TradeAmount,InFactAmount,ActAmount,NonActAmount,WeChatInfactAmount,AliPayInFactAmount,OderCount");
  60. foreach (Dictionary<string, object> subdata in source)
  61. {
  62. Dictionary<string, object> curData = new Dictionary<string, object>();
  63. curData.Add("TradeDate", subdata["TradeDate"].ToString()); //日期
  64. curData.Add("TotalAmount", decimal.Parse(subdata["TradeAmount"].ToString()).ToString("f2")); //营业总金额
  65. curData.Add("InFactAmount", decimal.Parse(subdata["InFactAmount"].ToString()).ToString("f2")); //实收总金额
  66. curData.Add("ActAmount", decimal.Parse(subdata["ActAmount"].ToString()).ToString("f2")); //活动总金额
  67. curData.Add("NonActAmount", decimal.Parse(subdata["NonActAmount"].ToString()).ToString("f2")); //非活动总金额
  68. curData.Add("WeChatInFactAmount", decimal.Parse(subdata["WeChatInfactAmount"].ToString()).ToString("f2")); //微信实收
  69. curData.Add("AliPayInFactAmount", decimal.Parse(subdata["AliPayInFactAmount"].ToString()).ToString("f2")); //支付宝实收
  70. curData.Add("OrderCount", subdata["OderCount"].ToString()); //订单数
  71. dataList.Add(curData);
  72. }
  73. return dataList;
  74. }
  75. #endregion
  76. #region 经营详情列表
  77. /// <summary>
  78. /// 经营详情列表
  79. /// </summary>
  80. /// <param name="condition">查询条件</param>
  81. /// <param name="pageSize">条数</param>
  82. /// <param name="pageNum">页数</param>
  83. /// <returns></returns>
  84. public static List<Dictionary<string, object>> DayDetailList(string condition, int pageSize, int pageNum)
  85. {
  86. List<RelationData> relationData = new List<RelationData>();
  87. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  88. List<Dictionary<string, object>> source = ConsumerOrdersService.List(relationData, condition, pageNum, pageSize);
  89. foreach (Dictionary<string, object> subdata in source)
  90. {
  91. Dictionary<string, object> curData = new Dictionary<string, object>();
  92. curData.Add("Id", subdata["Id"].ToString()); //订单Id
  93. curData.Add("TradeDate", DateTime.Parse(subdata["CreateDate"].ToString()).ToString("HH:mm:ss")); //日期
  94. curData.Add("PayMode", subdata["PayMode"].ToString()); //支付方式(1 支付宝 2 微信)
  95. curData.Add("IsAct", subdata["IsAct"].ToString()); //是否活动(1 是 0 否)
  96. curData.Add("PayMoney", decimal.Parse(subdata["PayMoney"].ToString()).ToString("f2")); //订单金额
  97. dataList.Add(curData);
  98. }
  99. return dataList;
  100. }
  101. #endregion
  102. #region 交易详情
  103. /// <summary>
  104. /// 交易详情
  105. /// </summary>
  106. /// <param name="condition">查询条件</param>
  107. /// <returns></returns>
  108. public static Dictionary<string, object> OrderDetail(string condition)
  109. {
  110. List<RelationData> relationData = new List<RelationData>();
  111. Dictionary<string, object> obj = new Dictionary<string, object>();
  112. List<Dictionary<string, object>> source = ConsumerOrdersService.List(relationData, condition, 1, 999);
  113. foreach (Dictionary<string, object> subdata in source)
  114. {
  115. obj.Add("TradeDate", DateTime.Parse(subdata["CreateDate"].ToString()).ToString("yyyy-MM-dd HH:mm:ss")); //日期
  116. obj.Add("PayMode", subdata["PayMode"].ToString()); //支付方式(1 微信 2 支付宝)
  117. obj.Add("PayMoney", decimal.Parse(subdata["PayMoney"].ToString()).ToString("f2")); //支付金额
  118. obj.Add("IsAct", subdata["IsAct"].ToString()); //是否活动(1 是 0 否)
  119. obj.Add("OrderNo", subdata["OrderNo"].ToString()); //订单号
  120. obj.Add("MerchantName", MerchantInfoService.Query(int.Parse(subdata["MerchantId"].ToString())).Name); //交易门店
  121. List<Dictionary<string, object>> dataList = new List<Dictionary<string, object>>();
  122. List<Dictionary<string, object>> dics = ConsumerProfitService.List(relationData, " and OrderId=" + int.Parse(subdata["Id"].ToString()) + "", 1, 999);
  123. foreach (Dictionary<string, object> dic in dics)
  124. {
  125. Dictionary<string, object> cdata = new Dictionary<string, object>();
  126. var CreateDate = DateTime.Parse(dic["CreateDate"].ToString());
  127. var TradeDate = CreateDate.Month + "月" + CreateDate.Day + "日" + " " + CreateDate.ToString("HH:mm");
  128. cdata.Add("ProfitDate", TradeDate); //分红时间
  129. cdata.Add("ProfitAmount", decimal.Parse(dic["GetMoney"].ToString()).ToString("f2")); //分红金额
  130. dataList.Add(cdata);
  131. }
  132. obj.Add("ProfitTotalAmount", ConsumerProfitService.Sum(" OrderId=" + int.Parse(subdata["Id"].ToString()) + "", "GetMoney").ToString("f2")); //分红总金额
  133. obj.Add("ProfitList", dataList); //订单分红记录列表
  134. }
  135. return obj;
  136. }
  137. #endregion
  138. }
  139. }