GroupStatementView.cs 53 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143
  1. using Google.Protobuf;
  2. using Newtonsoft.Json;
  3. using OASystem.Domain.Entities.Financial;
  4. using OASystem.Domain.Entities.Groups;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.ComponentModel.DataAnnotations;
  8. using System.Linq;
  9. using System.Runtime.Intrinsics.Arm;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. namespace OASystem.Domain.ViewModels.Statistics
  13. {
  14. /// <summary>
  15. /// 团组报表
  16. /// </summary>
  17. public class GroupStatementView
  18. {
  19. }
  20. /// <summary>
  21. /// 团组报表
  22. /// Items View
  23. /// </summary>
  24. public class GroupStatementItemView
  25. {
  26. /// <summary>
  27. /// 序号
  28. /// </summary>
  29. public int Row_Number { get; set; }
  30. /// <summary>
  31. /// 是否操作完成
  32. /// 0否1是
  33. /// </summary>
  34. public int IsSure { get; set; }
  35. /// <summary>
  36. /// 主键Id
  37. /// 团组Id
  38. /// </summary>
  39. public int Id { get; set; }
  40. /// <summary>
  41. /// 团号
  42. /// </summary>
  43. public string? TourCode { get; set; }
  44. /// <summary>
  45. /// 接团操作人
  46. /// </summary>
  47. public string? JietuanOperator { get; set; }
  48. /// <summary>
  49. /// 团组等级Id
  50. /// </summary>
  51. public int TeamLevId { get; set; }
  52. /// <summary>
  53. /// 团组等级
  54. /// </summary>
  55. public string? TeamLev { get; set; }
  56. /// <summary>
  57. /// 团组名称
  58. /// </summary>
  59. public string? TeamName { get; set; }
  60. /// <summary>
  61. /// 客户名称
  62. /// </summary>
  63. public string? ClientName { get; set; }
  64. /// <summary>
  65. /// 客户所属公司
  66. /// </summary>
  67. public string? ClientUnit { get; set; }
  68. /// <summary>
  69. /// 团组类型Id
  70. /// </summary>
  71. public int TeamTypeId { get; set; }
  72. /// <summary>
  73. /// 团组类型
  74. /// </summary>
  75. public string? TeamType { get; set; }
  76. /// <summary>
  77. /// 出团日期
  78. /// </summary>
  79. public DateTime VisitDate { get; set; }
  80. /// <summary>
  81. /// 出行天数
  82. /// </summary>
  83. public int VisitDays { get; set; }
  84. /// <summary>
  85. /// 出行人数
  86. /// </summary>
  87. public int VisitPNumber { get; set; }
  88. /// <summary>
  89. /// 最后收款时间
  90. /// </summary>
  91. public DateTime? LastCollectionTime { get; set; }
  92. }
  93. /// <summary>
  94. /// 团组报表
  95. /// Details View
  96. /// </summary>
  97. public class GroupStatementDetailsView
  98. {
  99. /// <summary>
  100. /// 费用总计 描述
  101. /// </summary>
  102. public string? FeeTotalStr { get; set; }
  103. /// <summary>
  104. /// 团组收入
  105. /// Data View
  106. /// </summary>
  107. public GroupIncomeView? GroupIncome { get; set; }
  108. /// <summary>
  109. /// 团组收入
  110. /// 描述
  111. /// </summary>
  112. public string? GroupIncomeStr { get; set; }
  113. /// <summary>
  114. /// 团组支出
  115. /// </summary>
  116. public GroupExpenditureView? GroupExpenditure { get; set; }
  117. }
  118. #region 团组收入
  119. /// <summary>
  120. /// 团组收入
  121. /// Data View
  122. /// </summary>
  123. public class GroupIncomeView
  124. {
  125. /// <summary>
  126. /// 应收 Items
  127. /// </summary>
  128. public List<Gsd_ForeignReceivablesView>? Receivables { get; set; }
  129. /// <summary>
  130. /// 应收 Str
  131. /// </summary>
  132. public string? ReceivableStr { get; set; }
  133. /// <summary>
  134. /// 已收 Items
  135. /// </summary>
  136. public List<Gsd_ProceedsReceivedView>? ProceedsReceivedViews { get; set; }
  137. /// <summary>
  138. /// 已收 Str
  139. /// </summary>
  140. public string? ProceedsReceivedStr { get; set; }
  141. /// <summary>
  142. /// 支出费用 Items
  143. /// </summary>
  144. public List<Gsd_ExtraCostsView>? ExtraCostsViews { get; set; }
  145. /// <summary>
  146. /// 支出费用 Str
  147. /// </summary>
  148. public string? ExtraCostsStr { get; set; }
  149. /// <summary>
  150. /// 收款退还 Items
  151. /// </summary>
  152. public List<Gsd_PaymentRefundAndOtherMoneyView>? PaymentRefundAndOtherMoneyViews { get; set; }
  153. /// <summary>
  154. /// 收款退还 Str
  155. /// </summary>
  156. public string? PaymentRefundAndOtherMoneyStr { get; set; }
  157. }
  158. /// <summary>
  159. /// 应收报表
  160. /// </summary>
  161. public class Gsd_ForeignReceivablesView
  162. {
  163. public int Id { get; set; }
  164. public int diid { get; set; }
  165. /// <summary>
  166. /// 添加方式
  167. /// 0 - 账单模块 1 - 成本预算模块 2 - 实际报价
  168. /// </summary>
  169. public int AddingWay { get; set; }
  170. /// <summary>
  171. /// 审核状态 AddingWay==2该项有值
  172. /// 0 - 未审核 1 - 审核通过 2 - 审核不通过
  173. /// </summary>
  174. public int Status { get; set; }
  175. public string StatusStr
  176. {
  177. get
  178. {
  179. string str = "-";
  180. if (AddingWay == 2)
  181. {
  182. if (Status == 0) str = "未审核";
  183. else if (Status == 1) str = "审核通过";
  184. else if (Status == 2) str = "审核不通过";
  185. }
  186. return str;
  187. }
  188. }
  189. public string Auditor { get; set; }
  190. public string AuditorStr { get {
  191. string str = "-";
  192. if (AddingWay == 2)
  193. {
  194. if (Status != 0)
  195. {
  196. str = @$"{Auditor} ";
  197. }
  198. }
  199. return str;
  200. } }
  201. //public DateTime? AuditTime { get; set; }
  202. /// <summary>
  203. /// 费用名称
  204. /// </summary>
  205. public string? PriceName { get; set; }
  206. /// <summary>
  207. /// 单价
  208. /// </summary>
  209. public decimal Price { get; set; } = 0.00M;
  210. /// <summary>
  211. /// 数量
  212. /// </summary>
  213. public int Count { get; set; }
  214. /// <summary>
  215. /// 单位
  216. /// </summary>
  217. public string? Unit { get; set; }
  218. /// <summary>
  219. /// 币种
  220. /// </summary>
  221. public int Currency { get; set; }
  222. /// <summary>
  223. /// 币种 Code
  224. /// </summary>
  225. public string CurrencyCode { get; set; }
  226. /// <summary>
  227. /// 币种 Name
  228. /// </summary>
  229. public string CurrencyName { get; set; }
  230. /// <summary>
  231. /// 汇率
  232. /// </summary>
  233. public decimal Rate { get; set; } = 1.0000M;
  234. /// <summary>
  235. /// 应收金额
  236. /// </summary>
  237. public decimal ItemSumPrice { get; set; } = 0.00M;
  238. public string Remark { get; set; }
  239. }
  240. /// <summary>
  241. /// 已收报表
  242. /// </summary>
  243. public class Gsd_ProceedsReceivedView
  244. {
  245. public int Id { get; set; }
  246. public int Diid { get; set; }
  247. public string SectionTimeDt { get; set; }
  248. /// <summary>
  249. /// 到款时间
  250. /// </summary>
  251. public string SectionTime { get {
  252. string dt = "";
  253. if (!string.IsNullOrEmpty(SectionTimeDt))
  254. {
  255. DateTime validDate;
  256. bool isValid = DateTime.TryParse(SectionTimeDt, out validDate);
  257. if (isValid)
  258. {
  259. dt = validDate.ToString("yyyy-MM-dd");
  260. }
  261. }
  262. return dt;
  263. } }
  264. /// <summary>
  265. /// 费用金额
  266. /// </summary>
  267. public decimal Price { get; set; } = 0.00M;
  268. /// <summary>
  269. /// 币种
  270. /// </summary>
  271. public int Currency { get; set; }
  272. /// <summary>
  273. /// 币种 Code
  274. /// </summary>
  275. public string CurrencyCode { get; set; }
  276. /// <summary>
  277. /// 币种 Name
  278. /// </summary>
  279. public string CurrencyName { get; set; }
  280. /// <summary>
  281. /// 支出单位
  282. /// </summary>
  283. public string? Client { get; set; }
  284. /// <summary>
  285. /// 转账标识Id
  286. /// </summary>
  287. public int ReceivablesType { get; set; }
  288. /// <summary>
  289. /// 转账类型名称
  290. /// </summary>
  291. public string ReceivablesTypeName { get; set; }
  292. /// <summary>
  293. /// 备注
  294. /// </summary>
  295. public string? Remark { get; set; }
  296. }
  297. /// <summary>
  298. /// 超支费用
  299. /// </summary>
  300. public class Gsd_ExtraCostsView
  301. {
  302. public int GECId { get; set; }
  303. public int GECDiId { get; set; }
  304. /// <summary>
  305. /// 费用名称
  306. /// </summary>
  307. public string? PriceName { get; set; }
  308. /// <summary>
  309. /// 付款金额
  310. /// </summary>
  311. public decimal PayMoney { get; set; } = 0.00M;
  312. /// <summary>
  313. /// 付款币种
  314. /// </summary>
  315. public string? PaymentCurrency { get; set; }
  316. /// <summary>
  317. /// 当天汇率
  318. /// </summary>
  319. public decimal DayRate { get; set; } = 1.0000M;
  320. /// <summary>
  321. /// 人民币金额
  322. /// </summary>
  323. public decimal CNYPrice { get; set; } = 0.00M;
  324. /// <summary>
  325. /// 收款方
  326. /// </summary>
  327. public string? Payee { get; set; }
  328. /// <summary>
  329. /// 费用标识
  330. /// -1 未选择 0 公转 1 私转
  331. /// </summary>
  332. public int OrbitalPrivateTransfer { get; set; }
  333. /// <summary>
  334. /// 支付方式
  335. /// </summary>
  336. public string? PayWay { get; set; }
  337. /// <summary>
  338. /// 卡类型
  339. /// </summary>
  340. public string? CardType { get; set; }
  341. /// <summary>
  342. /// 付款状态
  343. /// </summary>
  344. public int IsPay { get; set; }
  345. /// <summary>
  346. /// 申请人
  347. /// </summary>
  348. public string? Applicant { get; set; }
  349. }
  350. /// <summary>
  351. /// 收款退还
  352. /// </summary>
  353. public class Gsd_PaymentRefundAndOtherMoneyView
  354. {
  355. public int Id { get; set; }
  356. public int DiId { get; set; }
  357. /// <summary>
  358. /// 费用名称
  359. /// </summary>
  360. public string? PriceName { get; set; }
  361. /// <summary>
  362. /// 币种code
  363. /// </summary>
  364. public string? PayCurrencyCode { get; set; }
  365. /// <summary>
  366. /// 币种名称
  367. /// </summary>
  368. public string? PayCurrencyName { get; set; }
  369. /// <summary>
  370. /// 费用
  371. /// </summary>
  372. public decimal Price { get; set; } = 0.00M;
  373. /// <summary>
  374. /// 人民币金额
  375. /// </summary>
  376. public decimal CNYPrice { get; set; } = 0.00M;
  377. /// <summary>
  378. /// 当时汇率
  379. /// </summary>
  380. public decimal ThisRate { get; set; } = 1.0000M;
  381. /// <summary>
  382. /// 收款方
  383. /// </summary>
  384. public string? Payee { get; set; }
  385. /// <summary>
  386. /// 付款时间
  387. /// </summary>
  388. public string? PayTime { get; set; }
  389. /// <summary>
  390. /// 费用标识
  391. /// -1 未选择 0 公转 1 私转
  392. /// </summary>
  393. public int OrbitalPrivateTransfer { get; set; }
  394. public string CostMark
  395. {
  396. get
  397. {
  398. return OrbitalPrivateTransfer == 0 ? "公转" : OrbitalPrivateTransfer == 1 ? "私转" : "-";
  399. }
  400. }
  401. /// <summary>
  402. /// 支付方式
  403. /// </summary>
  404. public string? PayType { get; set; }
  405. /// <summary>
  406. /// 付款状态
  407. /// 0 未付款 1 已付款
  408. /// </summary>
  409. public int IsPay { get; set; }
  410. public string IsPayLable
  411. {
  412. get
  413. {
  414. return IsPay == 0 ? "未付款" : IsPay == 1 ? "已付款" : "-";
  415. }
  416. }
  417. /// <summary>
  418. /// 申请人
  419. /// </summary>
  420. public string? Applicant { get; set; }
  421. public string Remark { get; set; }
  422. }
  423. #region 收款退还 View
  424. public class Gsd_PaymentRefundAndOtherMoneyDataSource1View : Grp_CreditCardPayment
  425. {
  426. /// <summary>
  427. /// 申请人
  428. /// </summary>
  429. public string Appliction { get; set; }
  430. public int PrId { get; set; }
  431. public int PrDiId { get; set; }
  432. public string PrPriceName { get; set; }
  433. public decimal PrPrice { get; set; } = 0.00M;
  434. public int PrCurrencyId { get; set; }
  435. public int PrPayType { get; set; }
  436. public int PrPriceType { get; set; }
  437. public string SKTHRemark { get; set; }
  438. };
  439. #endregion
  440. #endregion
  441. #region 团组支出
  442. /// <summary>
  443. /// 团组支出 View
  444. /// </summary>
  445. public class GroupExpenditureView
  446. {
  447. /// <summary>
  448. /// 酒店费用集合
  449. /// </summary>
  450. public List<GroupHotelFeeView>? GroupHotelFeeViews { get; set; }
  451. /// <summary>
  452. /// 酒店费用描述
  453. /// </summary>
  454. public string? GroupHotelFeeStr { get; set; }
  455. /// <summary>
  456. /// 地接费用集合
  457. /// </summary>
  458. public List<GroupCTGGRFeeView>? GroupCTGGRFeeViews { get; set; }
  459. /// <summary>
  460. /// 地接费用描述
  461. /// </summary>
  462. public string? GroupCTGGRFeeStr { get; set; }
  463. /// <summary>
  464. /// 机票费用集合
  465. /// </summary>
  466. public List<GroupAirFeeView>? GroupAirFeeViews { get; set; }
  467. /// <summary>
  468. /// 机票费用描述
  469. /// </summary>
  470. public string? GroupAirFeeStr { get; set; }
  471. /// <summary>
  472. /// 签证费用集合
  473. /// </summary>
  474. public List<GroupVisaFeeView>? GroupVisaFeeViews { get; set; }
  475. /// <summary>
  476. /// 签证费用描述
  477. /// </summary>
  478. public string? GroupVisaFeeStr { get; set; }
  479. /// <summary>
  480. /// 邀请/公务费用集合
  481. /// </summary>
  482. public List<GroupInvitationalFeeView>? GroupInvitationalFeeViews { get; set; }
  483. /// <summary>
  484. /// 邀请/公务费用描述
  485. /// </summary>
  486. public string? GroupInvitationalFeeStr { get; set; }
  487. /// <summary>
  488. /// 保险费用集合
  489. /// </summary>
  490. public List<GroupInsuranceFeeView>? GroupInsuranceFeeViews { get; set; }
  491. /// <summary>
  492. /// 保险费用描述
  493. /// </summary>
  494. public string? GroupInsuranceFeeStr { get; set; }
  495. /// <summary>
  496. /// 增减款项费用集合
  497. /// </summary>
  498. public List<GroupDecreaseFeeView>? GroupDecreaseFeeViews { get; set; }
  499. /// <summary>
  500. /// 增减款项费用描述
  501. /// </summary>
  502. public string? GroupDecreaseFeeStr { get; set; }
  503. public List<GroupRoyaltyFeeView> GroupRoyaltyFeeViews { get; set; }
  504. public string? GroupRoyaltyFeeStr { get; set; }
  505. /// <summary>
  506. /// 公司人员报销费用集合
  507. /// </summary>
  508. public List<GroupReimburseFeeInfoView> GroupReimburseFeeViews { get; set; }
  509. /// <summary>
  510. /// 公司人员报销费用描述
  511. /// </summary>
  512. public string? GroupReimburseFeeStr { get; set; }
  513. }
  514. /// <summary>
  515. /// 酒店费用View
  516. /// </summary>
  517. public class GroupHotelFeeView
  518. {
  519. /// <summary>
  520. /// 团组Id
  521. /// </summary>
  522. public int HrDiId { get; set; }
  523. /// <summary>
  524. /// 酒店Id
  525. /// </summary>
  526. public int HrId { get; set; }
  527. /// <summary>
  528. /// 城市
  529. /// </summary>
  530. public string? City { get; set; }
  531. /// <summary>
  532. /// 酒店名称
  533. /// </summary>
  534. public string? HotelName { get; set; }
  535. /// <summary>
  536. /// 入住时间
  537. /// </summary>
  538. public string? CheckInDate { get; set; }
  539. /// <summary>
  540. /// 离店时间
  541. /// </summary>
  542. public string? CheckOutDate { get; set; }
  543. /// <summary>
  544. /// 单间价格
  545. /// </summary>
  546. public decimal SingleRoomPrice { get; set; } = 0.00M;
  547. /// <summary>
  548. /// 单间数量
  549. /// </summary>
  550. public int SingleRoomCount { get; set; }
  551. /// <summary>
  552. /// 双间价格
  553. /// </summary>
  554. public decimal DoubleRoomPrice { get; set; } = 0.00M;
  555. /// <summary>
  556. /// 双间数量
  557. /// </summary>
  558. public int DoubleRoomCount { get; set; }
  559. /// <summary>
  560. /// 套房价格
  561. /// </summary>
  562. public decimal SuiteRoomPrice { get; set; } = 0.00M;
  563. /// <summary>
  564. /// 套房数量
  565. /// </summary>
  566. public int SuiteRoomCount { get; set; }
  567. /// <summary>
  568. /// 其他房型价格
  569. /// </summary>
  570. public decimal OtherRoomPrice { get; set; } = 0.00M;
  571. /// <summary>
  572. /// 其他房型数量
  573. /// </summary>
  574. public int OtherRoomCount { get; set; }
  575. /// <summary>
  576. /// 房间费用
  577. /// </summary>
  578. public decimal RoomPrice { get; set; }
  579. /// <summary>
  580. /// 房间费用币种
  581. /// </summary>
  582. public string RoomPriceCurrency { get; set; }
  583. /// <summary>
  584. /// 房间费用提示信息
  585. /// </summary>
  586. public string RoomInfoTips { get; set; }
  587. /// <summary>
  588. /// excel Label
  589. /// </summary>
  590. public string RoomFeeLabel { get { return $"{RoomPrice.ToString("#0.00")} {RoomPriceCurrency}"; } }
  591. /// <summary>
  592. /// 早餐费用
  593. /// </summary>
  594. public decimal BreakfastPrice { get; set; } = 0.00M;
  595. /// <summary>
  596. /// 早餐币种
  597. /// </summary>
  598. public string? BreakfastCurrency { get; set; }
  599. /// <summary>
  600. /// 早餐提示消息
  601. /// </summary>
  602. public string BreakfastInfoTips { get; set; }
  603. /// <summary>
  604. /// excel Label
  605. /// </summary>
  606. public string BreakfastFeeLabel { get { return $"{BreakfastPrice.ToString("#0.00")} {BreakfastCurrency}"; } }
  607. ///// <summary>
  608. ///// 由地接支付
  609. ///// 0 是 1否
  610. ///// </summary>
  611. //public int Isoppay { get; set; }
  612. /// <summary>
  613. /// 地税
  614. /// </summary>
  615. public decimal GovernmentRent { get; set; } = 0.00M;
  616. /// <summary>
  617. /// 地税币种
  618. /// </summary>
  619. public string? GovernmentRentCurrency { get; set; }
  620. /// <summary>
  621. /// 地税提示消息
  622. /// </summary>
  623. public string GovernmentRentTips { get; set; }
  624. /// <summary>
  625. /// excel Label
  626. /// </summary>
  627. public string GovernmentRentFeeLabel { get { return $"{GovernmentRent.ToString("#0.00")} {GovernmentRentCurrency}"; } }
  628. /// <summary>
  629. /// 城市价格
  630. /// </summary>
  631. public decimal CityTax { get; set; } = 0.00M;
  632. /// <summary>
  633. /// 城市币种
  634. /// </summary>
  635. public string? CityTaxCurrency { get; set; }
  636. /// <summary>
  637. /// 城市税提示信息
  638. /// </summary>
  639. public string? CityTaxTips { get; set; }
  640. /// <summary>
  641. /// excel Label
  642. /// </summary>
  643. public string CityTaxFeeLabel { get { return $"{CityTax.ToString("#0.00")} {CityTaxCurrency}"; } }
  644. /// <summary>
  645. /// 信用卡金额
  646. /// </summary>
  647. public decimal PayMoney { get; set; } = 0.00M;
  648. /// <summary>
  649. /// 信用卡金额币种
  650. /// </summary>
  651. public string? PaymentCurrency { get; set; }
  652. /// <summary>
  653. /// 人民币金额
  654. /// </summary>
  655. public decimal CNYPrice { get; set; } = 0.00M;
  656. /// <summary>
  657. /// 人民币金额
  658. /// </summary>
  659. public string CNYPriceLabel { get { return $"{CNYPrice.ToString("#0.00")} CNY"; } }
  660. ///// <summary>
  661. ///// 当天汇率
  662. ///// </summary>
  663. //public decimal DayRate { get; set; } = 0.0000M;
  664. ///// <summary>
  665. ///// 币种汇率
  666. ///// </summary>
  667. //public string? CurrencyRateStr { get; set; }
  668. /// <summary>
  669. /// 收款方
  670. /// </summary>
  671. public string? Payee { get; set; }
  672. ///// <summary>
  673. ///// 费用标识
  674. ///// -1 未选择 0 公转 1 私转
  675. ///// </summary>
  676. public int OrbitalPrivateTransfer { get; set; }
  677. public string CostMark
  678. {
  679. get
  680. {
  681. var label = string.Empty;
  682. if (OrbitalPrivateTransfer == 0) label = "公转";
  683. else if (OrbitalPrivateTransfer == 1) label = "私转";
  684. return label;
  685. }
  686. }
  687. /// <summary>
  688. /// 支付方式
  689. /// </summary>
  690. public string? PayWay { get; set; }
  691. ///// <summary>
  692. ///// 卡类型
  693. ///// </summary>
  694. //public string? CardType { get; set; }
  695. /// <summary>
  696. /// 是否支付
  697. /// -1 未选择 0 未付款 1 已付款 2 其它费用子项未付款
  698. /// </summary>
  699. public int IsPay { get; set; }
  700. public string IsPayLable
  701. {
  702. get
  703. {
  704. var label = $"未选择";
  705. if (IsPay == 0) label = "未付款";
  706. else if (IsPay == 1) label = "已付款";
  707. else if (IsPay == 2) label = "其它费用子项未付款";
  708. return label;
  709. }
  710. }
  711. /// <summary>
  712. ///
  713. /// </summary>
  714. public string PayTips { get; set; }
  715. /// <summary>
  716. /// 操作人
  717. /// </summary>
  718. public string? Applicant { get; set; }
  719. public string Remark { get; set; }
  720. }
  721. /// <summary>
  722. /// 地接费用View
  723. /// </summary>
  724. public class GroupCTGGRFeeView
  725. {
  726. public int CTGGRDiId { get; set; }
  727. public int CTGGRId { get; set; }
  728. /// <summary>
  729. /// 地区
  730. /// </summary>
  731. public string? Area { get; set; }
  732. /// <summary>
  733. /// 费用名称
  734. /// </summary>
  735. public string? PriceName { get; set; }
  736. /// <summary>
  737. /// 费用描述
  738. /// </summary>
  739. public string? PriceContent { get; set; }
  740. /// <summary>
  741. /// 付款金额
  742. /// </summary>
  743. public decimal PayMoney { get; set; } = 0.00M;
  744. /// <summary>
  745. /// 付款币种
  746. /// </summary>
  747. public string? PaymentCurrency { get; set; }
  748. /// <summary>
  749. /// 此次付款百分比
  750. /// </summary>
  751. public decimal PayPercentage { get; set; } = 0.00M;
  752. /// <summary>
  753. /// 已付款金额
  754. /// </summary>
  755. public decimal AmountPaid { get; set; } = 0.00M;
  756. /// <summary>
  757. /// 尾款
  758. /// </summary>
  759. public decimal BalancePayment { get; set; } = 0.00M;
  760. /// <summary>
  761. /// 消费日期
  762. /// </summary>
  763. public DateTime DatePrice { get; set; }
  764. /// <summary>
  765. /// 当时汇率
  766. /// </summary>
  767. public decimal DayRate { get; set; } = 1.0000M;
  768. /// <summary>
  769. /// 付款人民币金额
  770. /// </summary>
  771. public decimal CNYPrice { get; set; }
  772. /// <summary>
  773. /// 付款金额
  774. /// </summary>
  775. public string? Payee { get; set; }
  776. /// <summary>
  777. /// 付款时间
  778. /// </summary>
  779. public string? AuditGMDate { get; set; }
  780. /// <summary>
  781. /// 费用标识
  782. /// -1 未选择 0 公转 1 私转
  783. /// </summary>
  784. public int OrbitalPrivateTransfer { get; set; }
  785. /// <summary>
  786. /// 费用标识Text
  787. /// </summary>
  788. public string CostMark
  789. {
  790. get
  791. {
  792. return OrbitalPrivateTransfer == 0 ? "公转" : OrbitalPrivateTransfer == 1 ? "私转" : "-";
  793. }
  794. }
  795. /// <summary>
  796. /// 支付方式
  797. /// </summary>
  798. public string? PayWay { get; set; }
  799. /// <summary>
  800. /// 是否支付
  801. /// -1 未选择 0 未付款 1 已付款
  802. /// </summary>
  803. public int IsPay { get; set; }
  804. public string IsPayLabel
  805. {
  806. get
  807. {
  808. return IsPay == 0 ? "未付款" : IsPay == 1 ? "已付款" : "-";
  809. }
  810. }
  811. /// <summary>
  812. /// 操作人
  813. /// </summary>
  814. public string? Applicant { get; set; }
  815. }
  816. /// <summary>
  817. /// 机票费用View
  818. /// </summary>
  819. public class GroupAirFeeView
  820. {
  821. public int AirId { get; set; }
  822. public int AirDiId { get; set; }
  823. /// <summary>
  824. /// 舱位类型
  825. /// </summary>
  826. public string? AirTypeName { get; set; }
  827. /// <summary>
  828. /// 航班号
  829. /// </summary>
  830. public string? FlightsCode { get; set; }
  831. /// <summary>
  832. /// 城市A-B
  833. /// </summary>
  834. public string? FlightsCity { get; set; }
  835. /// <summary>
  836. /// 航班日期
  837. /// </summary>
  838. public string? FlightsDate { get; set; }
  839. /// <summary>
  840. /// 航班时间
  841. /// </summary>
  842. public string? FlightsTime { get; set; }
  843. /// <summary>
  844. /// 客户姓名
  845. /// </summary>
  846. public string? ClientName { get; set; }
  847. /// <summary>
  848. /// 客户人数
  849. /// </summary>
  850. public int ClientNum { get; set; }
  851. /// <summary>
  852. /// 付款金额
  853. /// </summary>
  854. public decimal PayMoney { get; set; } = 0.00M;
  855. /// <summary>
  856. /// 付款币种
  857. /// </summary>
  858. public string? PayMoneyCurrency { get; set; }
  859. /// <summary>
  860. /// CNY 金额
  861. /// </summary>
  862. public decimal CNYPrice { get; set; } = 0.00M;
  863. /// <summary>
  864. /// 当时汇率
  865. /// </summary>
  866. public decimal DayRate { get; set; } = 1.0000M;
  867. /// <summary>
  868. /// 付款时间
  869. /// </summary>
  870. public string? AuditGMDate { get; set; }
  871. /// <summary>
  872. /// 收款方
  873. /// </summary>
  874. public string? Payee { get; set; }
  875. /// <summary>
  876. /// 费用标识
  877. /// -1 未选择 0 公转 1 私转
  878. /// </summary>
  879. public int OrbitalPrivateTransfer { get; set; }
  880. /// <summary>
  881. /// 支付方式
  882. /// </summary>
  883. public string? PayWay { get; set; }
  884. /// <summary>
  885. /// 卡类型
  886. /// </summary>
  887. public string? CardType { get; set; }
  888. /// <summary>
  889. /// 是否支付
  890. /// -1 未选择 0 未付款 1 已付款
  891. /// </summary>
  892. public int IsPay { get; set; }
  893. /// <summary>
  894. /// 操作人
  895. /// </summary>
  896. public string? Applicant { get; set; }
  897. /// <summary>
  898. /// SetDataId
  899. /// </summary>
  900. public int CType { get; set; }
  901. }
  902. /// <summary>
  903. /// 签证费用View
  904. /// </summary>
  905. public class GroupVisaFeeView
  906. {
  907. public int VisaId { get; set; }
  908. public int VisaDiId { get; set; }
  909. /// <summary>
  910. /// 客户名称
  911. /// </summary>
  912. public string? VisaClient { get; set; }
  913. /// <summary>
  914. /// 付款金额
  915. /// </summary>
  916. public decimal PayMoney { get; set; } = 0.00M;
  917. /// <summary>
  918. /// 付款金额
  919. /// </summary>
  920. public decimal CNYPrice { get; set; } = 0.00M;
  921. /// <summary>
  922. /// 付款币种
  923. /// </summary>
  924. public string? PayMoneyCurrency { get; set; }
  925. /// <summary>
  926. /// 当时汇率
  927. /// </summary>
  928. public decimal DayRate { get; set; } = 1.0000M;
  929. /// <summary>
  930. /// 付款时间
  931. /// </summary>
  932. public string? AuditGMDate { get; set; }
  933. /// <summary>
  934. /// 收款方
  935. /// </summary>
  936. public string? Payee { get; set; }
  937. /// <summary>
  938. /// 费用标识
  939. /// -1 未选择 0 公转 1 私转
  940. /// </summary>
  941. public int OrbitalPrivateTransfer { get; set; }
  942. /// <summary>
  943. /// 支付方式
  944. /// </summary>
  945. public string? PayWay { get; set; }
  946. /// <summary>
  947. /// 卡类型
  948. /// </summary>
  949. public string? CardType { get; set; }
  950. /// <summary>
  951. /// 是否支付
  952. /// -1 未选择 0 未付款 1 已付款
  953. /// </summary>
  954. public int IsPay { get; set; }
  955. /// <summary>
  956. /// 操作人
  957. /// </summary>
  958. public string? Applicant { get; set; }
  959. }
  960. /// <summary>
  961. /// 邀请/公务费用View
  962. /// </summary>
  963. public class GroupInvitationalFeeView
  964. {
  965. public int IOAId { get; set; }
  966. public int IOADiId { get; set; }
  967. /// <summary>
  968. /// 邀请方地区
  969. /// </summary>
  970. public string? InviterArea { get; set; }
  971. /// <summary>
  972. /// 邀请方
  973. /// </summary>
  974. public string? Inviter { get; set; }
  975. /// <summary>
  976. /// 邀请时间
  977. /// </summary>
  978. public string? InviteTime { get; set; }
  979. /// <summary>
  980. /// 邀请函费用
  981. /// </summary>
  982. public decimal InviteCost { get; set; } = 0.00M;
  983. /// <summary>
  984. /// 邀请函币种
  985. /// </summary>
  986. public string? InviteCurrency { get; set; }
  987. /// <summary>
  988. /// 快递费用
  989. /// </summary>
  990. public decimal SendCost { get; set; } = 0.00M;
  991. /// <summary>
  992. /// 快递币种
  993. /// </summary>
  994. public string? SendCurrency { get; set; }
  995. /// <summary>
  996. /// 活动费用
  997. /// </summary>
  998. public decimal EventsCost { get; set; } = 0.00M;
  999. /// <summary>
  1000. /// 活动币种
  1001. /// </summary>
  1002. public string? EventsCurrency { get; set; }
  1003. /// <summary>
  1004. /// 翻译费用
  1005. /// </summary>
  1006. public decimal TranslateCost { get; set; } = 0.00M;
  1007. /// <summary>
  1008. /// 翻译币种
  1009. /// </summary>
  1010. public string? TranslateCurrency { get; set; }
  1011. /// <summary>
  1012. /// 付款金额
  1013. /// </summary>
  1014. public decimal PayMoney { get; set; } = 0.00M;
  1015. /// <summary>
  1016. /// 付款币种
  1017. /// </summary>
  1018. public string? PaymentCurrency { get; set; }
  1019. /// <summary>
  1020. /// 人民币费用
  1021. /// </summary>
  1022. public decimal CNYPrice { get; set; } = 0.00M;
  1023. /// <summary>
  1024. /// 人民币费用(后台计算)
  1025. /// </summary>
  1026. public decimal CNYPrice2 { get; set; } = 0.00M;
  1027. /// <summary>
  1028. /// 当时币种汇率
  1029. /// </summary>
  1030. public string? CurrencyRateStr { get; set; }
  1031. /// <summary>
  1032. /// 收款方
  1033. /// </summary>
  1034. public string? Payee { get; set; }
  1035. /// <summary>
  1036. /// 付款时间
  1037. /// </summary>
  1038. public string? AuditGMDate { get; set; }
  1039. /// <summary>
  1040. /// 费用标识
  1041. /// -1 未选择 0 公转 1 私转
  1042. /// </summary>
  1043. public int OrbitalPrivateTransfer { get; set; }
  1044. /// <summary>
  1045. /// 支付方式
  1046. /// </summary>
  1047. public string? PayWay { get; set; }
  1048. /// <summary>
  1049. /// 是否支付
  1050. /// -1 未选择 0 未付款 1 已付款
  1051. /// </summary>
  1052. public int IsPay { get; set; }
  1053. /// <summary>
  1054. /// 操作人
  1055. /// </summary>
  1056. public string? Applicant { get; set; }
  1057. }
  1058. /// <summary>
  1059. /// 保险费用View
  1060. /// </summary>
  1061. public class GroupInsuranceFeeView
  1062. {
  1063. public int InsuranceId { get; set; }
  1064. public int InsuranceDiId { get; set; }
  1065. /// <summary>
  1066. /// 客户名称
  1067. /// </summary>
  1068. public string? ClientName { get; set; }
  1069. /// <summary>
  1070. /// 付款金额
  1071. /// </summary>
  1072. public decimal PayMoney { get; set; } = 0.00M;
  1073. /// <summary>
  1074. /// 付款币种
  1075. /// </summary>
  1076. public string? PayMoneyCurrency { get; set; }
  1077. /// <summary>
  1078. /// 人民币金额
  1079. /// </summary>
  1080. public decimal CNYPrice { get; set; } = 0.00M;
  1081. /// <summary>
  1082. /// 付款时间
  1083. /// </summary>
  1084. public string? AuditGMDate { get; set; }
  1085. /// <summary>
  1086. /// 收款方
  1087. /// </summary>
  1088. public string? Payee { get; set; }
  1089. /// <summary>
  1090. /// 费用标识
  1091. /// -1 未选择 0 公转 1 私转
  1092. /// </summary>
  1093. public int OrbitalPrivateTransfer { get; set; }
  1094. /// <summary>
  1095. /// 支付方式
  1096. /// </summary>
  1097. public string? PayWay { get; set; }
  1098. /// <summary>
  1099. /// 是否支付
  1100. /// -1 未选择 0 未付款 1 已付款
  1101. /// </summary>
  1102. public int IsPay { get; set; }
  1103. /// <summary>
  1104. /// 操作人
  1105. /// </summary>
  1106. public string? Applicant { get; set; }
  1107. }
  1108. /// <summary>
  1109. /// 增减款项View
  1110. /// </summary>
  1111. public class GroupDecreaseFeeView
  1112. {
  1113. public int DPId { get; set; }
  1114. public int DPDiId { get; set; }
  1115. /// <summary>
  1116. /// 费用名称
  1117. /// </summary>
  1118. public string? PriceName { get; set; }
  1119. /// <summary>
  1120. /// 付款金额
  1121. /// </summary>
  1122. public decimal PayMoney { get; set; } = 0.00M;
  1123. /// <summary>
  1124. /// 付款币种
  1125. /// </summary>
  1126. public string? PayMoneyCurrency { get; set; }
  1127. /// <summary>
  1128. /// 当时汇率
  1129. /// </summary>
  1130. public decimal DayRate { get; set; } = 1.0000M;
  1131. /// <summary>
  1132. /// 人民币金额
  1133. /// </summary>
  1134. public decimal CNYPrice { get; set; } = 0.00M;
  1135. /// <summary>
  1136. /// 付款时间
  1137. /// </summary>
  1138. public string? AuditGMDate { get; set; }
  1139. /// <summary>
  1140. /// 收款方
  1141. /// </summary>
  1142. public string? Payee { get; set; }
  1143. /// <summary>
  1144. /// 费用标识
  1145. /// -1 未选择 0 公转 1 私转
  1146. /// </summary>
  1147. public int OrbitalPrivateTransfer { get; set; }
  1148. /// <summary>
  1149. /// 支付方式
  1150. /// </summary>
  1151. public string? PayWay { get; set; }
  1152. /// <summary>
  1153. /// 是否支付
  1154. /// -1 未选择 0 未付款 1 已付款
  1155. /// </summary>
  1156. public int IsPay { get; set; }
  1157. /// <summary>
  1158. /// 操作人
  1159. /// </summary>
  1160. public string? Applicant { get; set; }
  1161. }
  1162. public class GroupRoyaltyFeeInfo
  1163. {
  1164. public int GroupId { get; set; }
  1165. public string OverviewInfo { get; set; }
  1166. [JsonIgnore]
  1167. public string DetailedInfo { get; set; }
  1168. public string[] DetailedInfoText
  1169. {
  1170. get
  1171. {
  1172. var jsonArray = Array.Empty<string>();
  1173. string str = DetailedInfo;
  1174. if (string.IsNullOrWhiteSpace(str)) return jsonArray;
  1175. str = str.Trim();
  1176. if ((str.StartsWith("{") && str.EndsWith("}")) || // 检查是否是 JSON 对象
  1177. (str.StartsWith("[") && str.EndsWith("]"))) // 检查是否是 JSON 数组
  1178. {
  1179. try
  1180. {
  1181. return JsonConvert.DeserializeObject<string[]>(str);
  1182. }
  1183. catch (JsonException)
  1184. {
  1185. return jsonArray;
  1186. }
  1187. }
  1188. return jsonArray;
  1189. }
  1190. }
  1191. public string DetailedInfoExcelText
  1192. {
  1193. get
  1194. {
  1195. string label = string.Empty;
  1196. var array = DetailedInfoText;
  1197. if (!array.Any()) return label;
  1198. foreach (var item in array) label += $"{item}\n";
  1199. if (label.EndsWith(@"\n")) label = label.Substring(0, label.Length - 2);
  1200. return label;
  1201. }
  1202. }
  1203. public decimal Amount { get; set; }
  1204. public int IsConfirm { get; set; }
  1205. public string IsConfrimText { get { return IsConfirm == 1 ? "已确认" : "未确认"; } }
  1206. public int IsSeed { get; set; }
  1207. public string IsSeedText { get { return IsSeed == 1 ? "已发放" : "未发放"; } }
  1208. public string RoyaltyUserName { get; set; }
  1209. public string CreateUserName { get; set; }
  1210. public DateTime CreateTime { get; set; }
  1211. }
  1212. public class GroupReimburseFeeInfoView
  1213. {
  1214. /// <summary>
  1215. /// 金额总计
  1216. /// </summary>
  1217. public decimal TotalAmt { get; set; }
  1218. public string Currency { get; set; } = "CNY";
  1219. //public GroupReimburseFeeSubInfo[]? FeeItems { get; set; }
  1220. /// <summary>
  1221. /// 申请原因
  1222. /// </summary>
  1223. public string AppReason { get; set; }
  1224. public int FAudit { get; set; }
  1225. public int MAudit { get; set; }
  1226. /// <summary>
  1227. /// 审核状态
  1228. /// </summary>
  1229. public string AuditStatusFlg
  1230. {
  1231. get
  1232. {
  1233. string fLabel = $"财务审核:",
  1234. mLabel = $"总经理审核:";
  1235. if (FAudit == 0) fLabel += "未审核";
  1236. else if (FAudit == 1 ) fLabel += "已审核";
  1237. else if (FAudit == 2) fLabel += "未通过";
  1238. else if (FAudit == 3) fLabel += "自动审核";
  1239. if (MAudit == 0) mLabel += "未审核";
  1240. else if (MAudit == 1) mLabel += "已审核";
  1241. else if (MAudit == 2) mLabel += "未通过";
  1242. else if (MAudit == 3) mLabel += "自动审核";
  1243. return $"{fLabel}<br />{mLabel}";
  1244. }
  1245. }
  1246. /// <summary>
  1247. /// 付款描述
  1248. /// </summary>
  1249. public string PayStatusFlag { get; set; }
  1250. /// <summary>
  1251. /// 转账标识
  1252. /// </summary>
  1253. public string TransferLabel { get; set; }
  1254. /// <summary>
  1255. /// 申请公司
  1256. /// </summary>
  1257. public string ApplyComp { get; set; }
  1258. /// <summary>
  1259. /// 申请人
  1260. /// </summary>
  1261. public string ApplyName { get; set; }
  1262. /// <summary>
  1263. /// 申请时间
  1264. /// </summary>
  1265. public DateTime ApplyTime { get; set; }
  1266. }
  1267. public class GroupReimburseFeeSubInfo
  1268. {
  1269. /// <summary>
  1270. /// 费用名称
  1271. /// </summary>
  1272. public string? PriceName { get; set; }
  1273. /// <summary>
  1274. /// 数量
  1275. /// </summary>
  1276. public decimal Quantity { get; set; }
  1277. /// <summary>
  1278. /// 单价
  1279. /// </summary>
  1280. public decimal Price { get; set; }
  1281. /// <summary>
  1282. /// 小记
  1283. /// </summary>
  1284. public decimal SubTotal { get; set; }
  1285. public string Currency { get; set; } = "CNY";
  1286. public string Remark { get; set; }
  1287. }
  1288. /// <summary>
  1289. /// 操作人员提成View
  1290. /// </summary>
  1291. public class GroupRoyaltyFeeView
  1292. {
  1293. public int GroupId { get; set; }
  1294. public string OverviewInfo { get; set; }
  1295. public string[] DetailedInfoText { get; set; }
  1296. public decimal Amount { get; set; }
  1297. public string IsConfrimText { get; set; }
  1298. public string IsSeedText { get; set; }
  1299. public string RoyaltyUserName { get; set; }
  1300. public string CreateUserName { get; set; }
  1301. public DateTime CreateTime { get; set; }
  1302. }
  1303. #endregion
  1304. #region 团组统计报表下载
  1305. /// <summary>
  1306. /// Excel 签证费用View
  1307. /// </summary>
  1308. public class GroupVisaFeeExcelView
  1309. {
  1310. public int VisaId { get; set; }
  1311. public int VisaDiId { get; set; }
  1312. /// <summary>
  1313. /// 客户名称
  1314. /// </summary>
  1315. public string? VisaClient { get; set; }
  1316. /// <summary>
  1317. /// 付款金额
  1318. /// </summary>
  1319. public decimal PayMoney { get; set; } = 0.00M;
  1320. /// <summary>
  1321. /// 付款金额
  1322. /// </summary>
  1323. public decimal CNYPrice { get; set; } = 0.00M;
  1324. /// <summary>
  1325. /// 付款币种
  1326. /// </summary>
  1327. public string? PayMoneyCurrency { get; set; }
  1328. /// <summary>
  1329. /// 当时汇率
  1330. /// </summary>
  1331. public decimal DayRate { get; set; } = 1.0000M;
  1332. /// <summary>
  1333. /// 付款时间
  1334. /// </summary>
  1335. public string? AuditGMDate { get; set; }
  1336. /// <summary>
  1337. /// 收款方
  1338. /// </summary>
  1339. public string? Payee { get; set; }
  1340. /// <summary>
  1341. /// 费用标识
  1342. /// -1 未选择 0 公转 1 私转
  1343. /// </summary>
  1344. public string CostMark { get; set; }
  1345. /// <summary>
  1346. /// 支付方式
  1347. /// </summary>
  1348. public string? PaymentModes { get; set; }
  1349. /// <summary>
  1350. /// 卡类型
  1351. /// </summary>
  1352. public string? CardType { get; set; }
  1353. /// <summary>
  1354. /// 是否支付
  1355. /// </summary>
  1356. public string IsPay { get; set; }
  1357. /// <summary>
  1358. /// 付款时间
  1359. /// </summary>
  1360. public string ConsumptionDate { get; set; }
  1361. public string Remark { get; set; }
  1362. /// <summary>
  1363. /// 操作人
  1364. /// </summary>
  1365. public string? Applicant { get; set; }
  1366. public DateTime CreateTime { get; set; }
  1367. }
  1368. /// <summary>
  1369. /// Excel 商邀费用View
  1370. /// </summary>
  1371. public class GroupOAFeeExcelView
  1372. {
  1373. public int IOAId { get; set; }
  1374. public int IOADiId { get; set; }
  1375. /// <summary>
  1376. /// 邀请方地区
  1377. /// </summary>
  1378. public string? InviterArea { get; set; }
  1379. /// <summary>
  1380. /// 邀请方
  1381. /// </summary>
  1382. public string? Inviter { get; set; }
  1383. /// <summary>
  1384. /// 邀请时间
  1385. /// </summary>
  1386. public string? InviteTime { get; set; }
  1387. /// <summary>
  1388. /// 邀请函费用
  1389. /// </summary>
  1390. public decimal InviteCost { get; set; } = 0.00M;
  1391. /// <summary>
  1392. /// 邀请函币种
  1393. /// </summary>
  1394. public string? InviteCurrency { get; set; }
  1395. /// <summary>
  1396. /// 快递费用
  1397. /// </summary>
  1398. public decimal SendCost { get; set; } = 0.00M;
  1399. /// <summary>
  1400. /// 快递币种
  1401. /// </summary>
  1402. public string? SendCurrency { get; set; }
  1403. /// <summary>
  1404. /// 活动费用
  1405. /// </summary>
  1406. public decimal EventsCost { get; set; } = 0.00M;
  1407. /// <summary>
  1408. /// 活动币种
  1409. /// </summary>
  1410. public string? EventsCurrency { get; set; }
  1411. /// <summary>
  1412. /// 翻译费用
  1413. /// </summary>
  1414. public decimal TranslateCost { get; set; } = 0.00M;
  1415. /// <summary>
  1416. /// 翻译币种
  1417. /// </summary>
  1418. public string? TranslateCurrency { get; set; }
  1419. /// <summary>
  1420. /// 付款金额
  1421. /// </summary>
  1422. public decimal PayMoney { get; set; } = 0.00M;
  1423. /// <summary>
  1424. /// 付款币种汇率
  1425. /// </summary>
  1426. public decimal DayRate { get; set; } = 0.0000M;
  1427. /// <summary>
  1428. /// 付款币种
  1429. /// </summary>
  1430. public string? PaymentCurrency { get; set; }
  1431. /// <summary>
  1432. /// 人民币费用
  1433. /// </summary>
  1434. public decimal CNYPrice { get; set; } = 0.00M;
  1435. /// <summary>
  1436. /// 收款方
  1437. /// </summary>
  1438. public string? Payee { get; set; }
  1439. /// <summary>
  1440. /// 消费日期
  1441. /// </summary>
  1442. public string ConsumptionDate { get; set; }
  1443. /// <summary>
  1444. /// 费用标识
  1445. /// </summary>
  1446. public string CostMark { get; set; }
  1447. /// <summary>
  1448. /// 支付标识
  1449. /// </summary>
  1450. public string IsPay { get; set; }
  1451. /// <summary>
  1452. /// 支付方式
  1453. /// </summary>
  1454. public string PaymentModes { get; set; }
  1455. /// <summary>
  1456. /// 备注
  1457. /// </summary>
  1458. public string Remark { get; set; }
  1459. /// <summary>
  1460. /// 审核时间
  1461. /// </summary>
  1462. public string? AuditGMDate { get; set; }
  1463. /// <summary>
  1464. /// 操作人
  1465. /// </summary>
  1466. public string? Applicant { get; set; }
  1467. public DateTime CreateTime { get; set; }
  1468. }
  1469. /// <summary>
  1470. /// Excel 机票费用View
  1471. /// </summary>
  1472. public class GroupAirTicketExcelView
  1473. {
  1474. public int AirId { get; set; }
  1475. public int AirDiId { get; set; }
  1476. /// <summary>
  1477. /// 航班号
  1478. /// </summary>
  1479. public string? FlightsCode { get; set; }
  1480. /// <summary>
  1481. /// 城市A-B
  1482. /// </summary>
  1483. public string? FlightsCity { get; set; }
  1484. /// <summary>
  1485. /// 舱位类型
  1486. /// </summary>
  1487. public string? AirTypeName { get; set; }
  1488. /// <summary>
  1489. /// 航班日期
  1490. /// </summary>
  1491. public string? FlightsDate { get; set; }
  1492. /// <summary>
  1493. /// 航班时间
  1494. /// </summary>
  1495. public string? FlightsTime { get; set; }
  1496. /// <summary>
  1497. /// 客户姓名
  1498. /// </summary>
  1499. public string? ClientName { get; set; }
  1500. /// <summary>
  1501. /// 客户人数
  1502. /// </summary>
  1503. public int ClientNum { get; set; }
  1504. /// <summary>
  1505. /// 费用描述
  1506. /// </summary>
  1507. public string PriceDescription { get; set; }
  1508. /// <summary>
  1509. /// 付款金额
  1510. /// </summary>
  1511. public decimal PayMoney { get; set; } = 0.00M;
  1512. /// <summary>
  1513. /// 当时汇率
  1514. /// </summary>
  1515. public decimal DayRate { get; set; } = 1.0000M;
  1516. /// <summary>
  1517. /// 付款币种
  1518. /// </summary>
  1519. public string? PayMoneyCurrency { get; set; }
  1520. /// <summary>
  1521. /// CNY 金额
  1522. /// </summary>
  1523. public decimal CNYPrice { get; set; } = 0.00M;
  1524. /// <summary>
  1525. /// 付款时间
  1526. /// </summary>
  1527. public string ConsumptionDate { get; set; }
  1528. /// <summary>
  1529. /// 收款方
  1530. /// </summary>
  1531. public string? Payee { get; set; }
  1532. /// <summary>
  1533. /// 费用标识
  1534. /// </summary>
  1535. public string CostMark { get; set; }
  1536. /// <summary>
  1537. /// 是否支付
  1538. /// </summary>
  1539. public string IsPay { get; set; }
  1540. /// <summary>
  1541. /// 支付方式
  1542. /// </summary>
  1543. public string? PaymentModes { get; set; }
  1544. /// <summary>
  1545. /// 卡类型
  1546. /// </summary>
  1547. public string? CardType { get; set; }
  1548. /// <summary>
  1549. /// 审核时间
  1550. /// </summary>
  1551. public string? AuditGMDate { get; set; }
  1552. /// <summary>
  1553. /// 操作人
  1554. /// </summary>
  1555. public string? Applicant { get; set; }
  1556. /// <summary>
  1557. /// 创建时间
  1558. /// </summary>
  1559. public DateTime CreateTime { get; set; }
  1560. /// <summary>
  1561. /// SetDataId
  1562. /// </summary>
  1563. public int CType { get; set; }
  1564. public string Remark { get; set; }
  1565. }
  1566. /// <summary>
  1567. /// Excel 保险费用View
  1568. /// </summary>
  1569. public class GroupInsureExcelView
  1570. {
  1571. public int InsuranceId { get; set; }
  1572. public int InsuranceDiId { get; set; }
  1573. /// <summary>
  1574. /// 客户名称
  1575. /// </summary>
  1576. public string? ClientName { get; set; }
  1577. /// <summary>
  1578. /// 付款金额
  1579. /// </summary>
  1580. public decimal PayMoney { get; set; } = 0.00M;
  1581. /// <summary>
  1582. /// 付款币种
  1583. /// </summary>
  1584. public string? PayMoneyCurrency { get; set; }
  1585. /// <summary>
  1586. /// 当时汇率
  1587. /// </summary>
  1588. public decimal DayRate { get; set; }
  1589. /// <summary>
  1590. /// 人民币金额
  1591. /// </summary>
  1592. public decimal CNYPrice { get; set; } = 0.00M;
  1593. /// <summary>
  1594. /// 付款时间
  1595. /// </summary>
  1596. public string ConsumptionDate { get; set; }
  1597. /// <summary>
  1598. /// 费用标识
  1599. /// </summary>
  1600. public string CostMark { get; set; }
  1601. /// <summary>
  1602. /// 审核时间
  1603. /// </summary>
  1604. public string? AuditGMDate { get; set; }
  1605. /// <summary>
  1606. /// 收款方
  1607. /// </summary>
  1608. public string? Payee { get; set; }
  1609. /// <summary>
  1610. /// 是否支付
  1611. /// </summary>
  1612. public string IsPay { get; set; }
  1613. /// <summary>
  1614. /// 支付方式
  1615. /// </summary>
  1616. public string? PaymentModes { get; set; }
  1617. /// <summary>
  1618. /// 操作人
  1619. /// </summary>
  1620. public string? Applicant { get; set; }
  1621. public DateTime CreateTime { get; set; }
  1622. public string Remark { get; set; }
  1623. }
  1624. /// <summary>
  1625. /// Excel 保险费用View
  1626. /// </summary>
  1627. public class GroupOtherFeeExcelView
  1628. {
  1629. public int DPId { get; set; }
  1630. public int DPDiId { get; set; }
  1631. /// <summary>
  1632. /// 费用名称
  1633. /// </summary>
  1634. public string? PriceName { get; set; }
  1635. /// <summary>
  1636. /// 付款金额
  1637. /// </summary>
  1638. public decimal PayMoney { get; set; } = 0.00M;
  1639. /// <summary>
  1640. /// 付款币种
  1641. /// </summary>
  1642. public string? PayMoneyCurrency { get; set; }
  1643. /// <summary>
  1644. /// 当时汇率
  1645. /// </summary>
  1646. public decimal DayRate { get; set; } = 1.0000M;
  1647. /// <summary>
  1648. /// 人民币金额
  1649. /// </summary>
  1650. public decimal CNYPrice { get; set; } = 0.00M;
  1651. /// <summary>
  1652. /// 付款时间
  1653. /// </summary>
  1654. public string? AuditGMDate { get; set; }
  1655. /// <summary>
  1656. /// 收款方
  1657. /// </summary>
  1658. public string? Payee { get; set; }
  1659. /// <summary>
  1660. /// 费用标识
  1661. /// </summary>
  1662. public string CostMark { get; set; }
  1663. /// <summary>
  1664. /// 支付方式
  1665. /// </summary>
  1666. public string? PaymentModes { get; set; }
  1667. /// <summary>
  1668. /// 是否支付
  1669. /// </summary>
  1670. public string IsPay { get; set; }
  1671. /// <summary>
  1672. /// 操作人
  1673. /// </summary>
  1674. public string? Applicant { get; set; }
  1675. public DateTime CreateTime { get; set; }
  1676. public string? Remark { get; set; }
  1677. }
  1678. /// <summary>
  1679. /// 操作人员提成View
  1680. /// </summary>
  1681. public class GroupRoyaltyFeeExcelView
  1682. {
  1683. public int GroupId { get; set; }
  1684. public string OverviewInfo { get; set; }
  1685. public string DetailedInfoExcelText { get; set; }
  1686. public decimal Amount { get; set; }
  1687. public string IsConfrimText { get; set; }
  1688. public string IsSeedText { get; set; }
  1689. public string RoyaltyUserName { get; set; }
  1690. public string CreateUserName { get; set; }
  1691. public DateTime CreateTime { get; set; }
  1692. }
  1693. #endregion
  1694. #region 会务成本
  1695. public class ConfValidateExpensesView
  1696. {
  1697. [Display(Name = "序号")]
  1698. public int Index { get; set; }
  1699. [Display(Name = "费用名称")]
  1700. public string PriceName { get; set; }
  1701. /// <summary>
  1702. /// 录入费用
  1703. /// </summary>
  1704. [Display(Name = "实际费用(CNY)")]
  1705. public decimal FeeEntry { get; set; }
  1706. /// <summary>
  1707. /// 成本费用
  1708. /// </summary>
  1709. [Display(Name = "成本费用(CNY)")]
  1710. public decimal ExpenseEntry { get; set; }
  1711. /// <summary>
  1712. /// 超支描述
  1713. /// </summary>
  1714. [Display(Name = "超支描述")]
  1715. public string OverspentLabel { get; set; }
  1716. /// <summary>
  1717. /// 审核状态
  1718. /// 0 未审核 1已通过 2未通过 3 自动审核
  1719. /// </summary>
  1720. [Display(Name = "审核状态")]
  1721. public string AuditStatus { get; set; }
  1722. [Display(Name = "审核时间")]
  1723. public string AuditTime { get; set; }
  1724. /// <summary>
  1725. /// 付款状态
  1726. /// 0 否 1 是
  1727. /// </summary>
  1728. [Display(Name = "付款状态")]
  1729. public string PayLabel { get; set; }
  1730. [Display(Name = "备注")]
  1731. public string Remark { get; set; }
  1732. [Display(Name = "申请人")]
  1733. public string Applicant { get; set; }
  1734. [Display(Name = "申请时间")]
  1735. public string ApplicantTime { get; set; }
  1736. }
  1737. #endregion
  1738. }