GroupStatementView.cs 53 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142
  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. }