CorporateProfitViews.cs 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281
  1. using OASystem.Domain.Entities.Financial;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace OASystem.Domain.ViewModels.Statistics
  8. {
  9. public class CorporateProfitViews
  10. {
  11. }
  12. public class CorporateProfitInfosView
  13. {
  14. public CorporateProfitInfo[] GroupItems { get; set; }
  15. public DailyInfo[] DailyItems { get; set; }
  16. }
  17. public class DailyInfo
  18. {
  19. public int Id { get; set; }
  20. public int CompanyId { get; set; }
  21. public string CompanyName { get; set; }
  22. /// <summary>
  23. /// 部门
  24. /// </summary>
  25. public string Branch { get; set; }
  26. /// <summary>
  27. /// 申请人
  28. /// </summary>
  29. public string Applicant { get; set; }
  30. public int PriceParentTypeId { get; set; }
  31. public string PriceParentTypeName { get; set; }
  32. public int PriceTypeId { get; set; }
  33. public string PriceTypeName { get; set; }
  34. public string Instructions { get; set; }
  35. public decimal CNYTotal { get; set; }
  36. public string PriceName { get; set; }
  37. public decimal Quantity { get; set; }
  38. public decimal Price { get; set; }
  39. public decimal ItemTotal { get; set; }
  40. public string Remark { get; set; }
  41. public DateTime CreateTime { get; set; }
  42. }
  43. public class CorporateProfitInfo
  44. {
  45. public int RowIndex { get; set; }
  46. public int Id { get; set; }
  47. public string ClientName { get; set; }
  48. public string TeamName { get; set; }
  49. public int TeamDid { get; set; }
  50. public string GroupTypeName { get; set; }
  51. public DateTime VisitDate { get; set; }
  52. public int VisitPNumber { get; set; }
  53. /// <summary>
  54. /// 应收金额
  55. /// </summary>
  56. public decimal ReceivableAmount { get; set; }
  57. /// <summary>
  58. /// 已收金额
  59. /// </summary>
  60. public decimal ReceivedAmount { get; set; }
  61. /// <summary>
  62. /// 收款退还金额
  63. /// </summary>
  64. public decimal RefundedAmount { get; set; }
  65. /// <summary>
  66. /// 酒店金额
  67. /// </summary>
  68. public decimal HotelAmount { get; set; }
  69. /// <summary>
  70. /// 地接金额
  71. /// </summary>
  72. public decimal LocalGuideAmount { get; set; }
  73. /// <summary>
  74. /// 机票金额
  75. /// </summary>
  76. public decimal AirTicketAmount { get; set; }
  77. /// <summary>
  78. /// 签证金额
  79. /// </summary>
  80. public decimal VisaAmount { get; set; }
  81. /// <summary>
  82. /// 商邀金额
  83. /// </summary>
  84. public decimal OAAmount { get; set; }
  85. /// <summary>
  86. /// 保险金额
  87. /// </summary>
  88. public decimal InsureAmount { get; set; }
  89. /// <summary>
  90. /// 其他金额
  91. /// </summary>
  92. public decimal OtherAmount { get; set; }
  93. /// <summary>
  94. /// 日付团组相关金额
  95. /// </summary>
  96. public decimal DailyAmout { get; set; }
  97. /// <summary>
  98. /// 收款合计
  99. /// </summary>
  100. public decimal CollectionTotal
  101. {
  102. get
  103. {
  104. return ReceivedAmount - RefundedAmount;
  105. }
  106. }
  107. /// <summary>
  108. /// 成本合计
  109. /// </summary>
  110. public decimal CostTotal
  111. {
  112. get
  113. {
  114. var baseAmount = HotelAmount + LocalGuideAmount + AirTicketAmount + VisaAmount + OAAmount + InsureAmount + OtherAmount;
  115. if (TeamName.Contains("世运会"))
  116. {
  117. baseAmount += DailyAmout;
  118. }
  119. return baseAmount;
  120. }
  121. }
  122. /// <summary>
  123. /// 利润合计/已收-成本
  124. /// </summary>
  125. public decimal ProfitTotal
  126. {
  127. get
  128. {
  129. return CollectionTotal - CostTotal;
  130. }
  131. }
  132. /// <summary>
  133. /// 应收利润合计/已收-成本
  134. /// </summary>
  135. public decimal ReceivableProfitTotal
  136. {
  137. get
  138. {
  139. return ReceivableAmount - CostTotal;
  140. }
  141. }
  142. /// <summary>
  143. /// 费用Tips Lable
  144. /// </summary>
  145. public string FeeCountTipsLabel { get; set; }
  146. }
  147. /// <summary>
  148. /// 企业利润团组费用条数统计
  149. /// </summary>
  150. public class CorporateProfitFeeCount
  151. {
  152. public int RowIndex { get; set; }
  153. public int Id { get; set; }
  154. public string TeamName { get; set; }
  155. public DateTime VisitDate { get; set; }
  156. /// <summary>
  157. /// 应收费用-Count
  158. /// </summary>
  159. public int ReceivableTotal { get; set; }
  160. /// <summary>
  161. /// 已收费用-Count
  162. /// </summary>
  163. public int ReceivedTotal { get; set; }
  164. /// <summary>
  165. /// 收款退还费用-Count
  166. /// </summary>
  167. public int RefundedTotal { get; set; }
  168. /// <summary>
  169. /// 酒店费用-Count
  170. /// </summary>
  171. public int HotelTotal { get; set; }
  172. /// <summary>
  173. /// 地接费用-Count
  174. /// </summary>
  175. public int LocalGuideTotal { get; set; }
  176. /// <summary>
  177. /// 机票费用-Count
  178. /// </summary>
  179. public int AirTicketToal { get; set; }
  180. /// <summary>
  181. /// 签证费用-Count
  182. /// </summary>
  183. public int VisaTotal { get; set; }
  184. /// <summary>
  185. /// 商邀费用-Count
  186. /// </summary>
  187. public int OATotal { get; set; }
  188. /// <summary>
  189. /// 保险费用-Count
  190. /// </summary>
  191. public int InsureTotal { get; set; }
  192. /// <summary>
  193. /// 其他费用-Count
  194. /// </summary>
  195. public int OtherTotal { get; set; }
  196. /// <summary>
  197. /// 费用Tips Lable
  198. /// </summary>
  199. public string FeeCountTipsLabel
  200. {
  201. get
  202. {
  203. string tips = $"应收数据:{ReceivableTotal} 条<br />已收数据:{ReceivedTotal} 条<br />收款退还数据:{RefundedTotal} 条<br />酒店数据:{HotelTotal} 条<br />地接数据:{LocalGuideTotal} 条<br />机票数据:{AirTicketToal} 条<br />签证数据:{VisaTotal} 条<br />商邀数据:{OATotal} 条<br />保险退还数据:{InsureTotal} 条<br />其他费用数据:{OtherTotal} 条";
  204. return tips;
  205. }
  206. }
  207. }
  208. public class CorporateProfitItem
  209. {
  210. public int RowIndex { get; set; }
  211. public int Id { get; set; }
  212. public string ClientName { get; set; }
  213. public string TeamName { get; set; }
  214. public DateTime VisitDate { get; set; }
  215. /// <summary>
  216. /// 收款合计(已收金额)
  217. /// </summary>
  218. public decimal CollectionTotal { get; set; }
  219. /// <summary>
  220. /// 应收
  221. /// </summary>
  222. public decimal ReceivableAmount { get; set; }
  223. /// <summary>
  224. /// 成本合计
  225. /// </summary>
  226. public decimal CostTotal { get; set; }
  227. /// <summary>
  228. /// 利润合计/已收-成本
  229. /// </summary>
  230. public decimal ProfitTotal { get; set; }
  231. /// <summary>
  232. /// 应收利润合计/已收-成本
  233. /// </summary>
  234. public decimal ReceivableProfitTotal { get; set; }
  235. /// <summary>
  236. /// 费用Tips Lable
  237. /// </summary>
  238. public string FeeCountTipsLabel { get; set; }
  239. }
  240. public class CorporateProfitItemView
  241. {
  242. public CorporateProfitItem[] Items { get; set; }
  243. public string Label { get; set; }
  244. }
  245. public class CorporateProfitDailyView
  246. {
  247. public string No { get; set; }
  248. public string PriceName { get; set; }
  249. public decimal ThisMonthAmount { get; set; }
  250. public decimal ThisYearAmount { get; set; }
  251. public string Remark { get; set; }
  252. }
  253. public class CorporateProfitDailyCommentView
  254. {
  255. public string MonthComment { get; set; }
  256. public string YearComment { get; set; }
  257. }
  258. }