VisaDeleClientView.cs 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768
  1. using OASystem.Domain.Attributes;
  2. using OASystem.Domain.Entities.Customer;
  3. using System.Text.Json.Serialization;
  4. namespace OASystem.Domain.ViewModels.CRM
  5. {
  6. /// <summary>
  7. /// 签证客户信息 View
  8. /// </summary>
  9. public class VisaDeleClientView : Crm_DeleClient
  10. { }
  11. /// <summary>
  12. /// 签证客户信息 ListView
  13. /// </summary>
  14. public class VisaDeleClientListView
  15. {
  16. /// <summary>
  17. /// Id
  18. /// </summary>
  19. public int Id { get; set; }
  20. /// <summary>
  21. /// 客户姓名
  22. /// </summary>
  23. public string ClientName
  24. {
  25. get
  26. {
  27. return this.LastName + this.FirstName;
  28. }
  29. }
  30. [Encrypted]
  31. public string LastName { get; set; }
  32. [Encrypted]
  33. public string FirstName { get; set; }
  34. /// <summary>
  35. /// 所属公司(全称)
  36. /// </summary>
  37. [Encrypted]
  38. public string CompanyFullName { get; set; }
  39. /// <summary>
  40. /// 性别 0 男 1 女
  41. /// </summary>
  42. public int Sex { get; set; }
  43. /// <summary>
  44. /// 婚姻状态
  45. /// 0、1、2、3、4 (未设置、未婚、已婚、离异、丧偶)
  46. /// </summary>
  47. public int Marriage { get; set; }
  48. /// <summary>
  49. /// 客户座机
  50. /// </summary>
  51. [Encrypted]
  52. public string LandlinePhone { get; set; }
  53. /// <summary>
  54. /// 客户手机号
  55. /// </summary>
  56. [Encrypted]
  57. public string Tel { get; set; }
  58. /// <summary>
  59. /// 身份证号码
  60. /// </summary>
  61. [Encrypted]
  62. public string IDNo { get; set; }
  63. /// <summary>
  64. /// 护照号码
  65. /// </summary>
  66. [Encrypted]
  67. public string PassportNo { get; set; }
  68. }
  69. public class ClientByGroupIdView
  70. {
  71. /// <summary>
  72. /// clientId
  73. /// </summary>
  74. public int Id { get; set; }
  75. /// <summary>
  76. /// 姓
  77. /// </summary>
  78. public string LastName { get; set; }
  79. /// <summary>
  80. /// 名称
  81. /// </summary>
  82. public string FirstName { get; set; }
  83. /// <summary>
  84. /// 手机号
  85. /// </summary>
  86. public string Tel { get; set; }
  87. /// <summary>
  88. /// 身份证No
  89. /// </summary>
  90. public string IdNo { get; set; }
  91. }
  92. #region 签证客户资料 New
  93. public class VisaUploadFileTypeView
  94. {
  95. /// <summary>
  96. /// 文件Id
  97. /// </summary>
  98. public int FileId { get; set; }
  99. /// <summary>
  100. /// 文件名称
  101. /// </summary>
  102. public string FileName { get; set; }
  103. /// <summary>
  104. /// kimi AI 提示语
  105. /// </summary>
  106. public string KimiAITips { get; set; }
  107. public VisaUploadFileTypeView() { }
  108. /// <summary>
  109. /// 初始化 文件类型item
  110. /// </summary>
  111. /// <returns></returns>
  112. public static List<VisaUploadFileTypeView> GetVisaUploadFileTypeViewItemInit()
  113. {
  114. #region 新西兰、澳大利亚签证申请资料表 实体类cs
  115. string json1 = @"
  116. public class VisaApplication
  117. {
  118. /// <summary>
  119. /// 其他国家访问记录
  120. /// </summary>
  121. [JsonPropertyName(""其他国家"")]
  122. public string OtherCountries { get; set; }
  123. /// <summary>
  124. /// 申请人个人信息
  125. /// </summary>
  126. [JsonPropertyName(""申请人个人信息"")]
  127. public ApplicantInfo ApplicantInfo { get; set; }
  128. /// <summary>
  129. /// 新西兰澳大利亚访问记录
  130. /// </summary>
  131. [JsonPropertyName(""新西兰澳大利亚访问记录"")]
  132. public List<VisitHistory> VisitHistory { get; set; }
  133. /// <summary>
  134. /// 拒签记录
  135. /// </summary>
  136. [JsonPropertyName(""拒签记录"")]
  137. public List<RejectionRecord> RejectionRecords { get; set; }
  138. /// <summary>
  139. /// 教育经历
  140. /// </summary>
  141. [JsonPropertyName(""教育经历"")]
  142. public List<EducationExperience> EducationExperiences { get; set; }
  143. /// <summary>
  144. /// 工作经历
  145. /// </summary>
  146. [JsonPropertyName(""工作经历"")]
  147. public List<WorkExperience> WorkExperiences { get; set; }
  148. /// <summary>
  149. /// 服兵役历史(识别成一段话)
  150. /// </summary>
  151. [JsonPropertyName(""服兵役历史"")]
  152. public string MilitaryServices { get; set; }
  153. }
  154. /// <summary>
  155. /// 申请人个人信息
  156. /// </summary>
  157. public class ApplicantInfo
  158. {
  159. /// <summary>
  160. /// 姓名
  161. /// </summary>
  162. [JsonPropertyName(""姓名"")]
  163. public string Name { get; set; }
  164. /// <summary>
  165. /// 曾用名
  166. /// </summary>
  167. [JsonPropertyName(""曾用名"")]
  168. public string FormerName { get; set; }
  169. /// <summary>
  170. /// 婚姻状况
  171. /// </summary>
  172. [JsonPropertyName(""婚姻状况"")]
  173. public string MaritalStatus { get; set; }
  174. /// <summary>
  175. /// 出生地
  176. /// </summary>
  177. [JsonPropertyName(""出生地"")]
  178. public string BirthPlace { get; set; }
  179. /// <summary>
  180. /// 出生日期
  181. /// </summary>
  182. [JsonPropertyName(""出生日期"")]
  183. public string BirthDate { get; set; }
  184. /// <summary>
  185. /// 性别
  186. /// </summary>
  187. [JsonPropertyName(""性别"")]
  188. public string Gender { get; set; }
  189. /// <summary>
  190. /// 手机
  191. /// </summary>
  192. [JsonPropertyName(""手机"")]
  193. public string Mobile { get; set; }
  194. /// <summary>
  195. /// 现在住址
  196. /// </summary>
  197. [JsonPropertyName(""现在住址"")]
  198. public string CurrentAddress { get; set; }
  199. /// <summary>
  200. /// 在职人员信息
  201. /// </summary>
  202. [JsonPropertyName(""在职人员信息"")]
  203. public EmploymentInfo EmploymentInfo { get; set; }
  204. /// <summary>
  205. /// 关系信息
  206. /// </summary>
  207. [JsonPropertyName(""关系信息"")]
  208. public List<RelationInfo> RelationInfos { get; set; }
  209. }
  210. /// <summary>
  211. /// 在职人员信息
  212. /// </summary>
  213. public class EmploymentInfo
  214. {
  215. /// <summary>
  216. /// 现单位名称
  217. /// </summary>
  218. [JsonPropertyName(""现单位名称"")]
  219. public string CurrentCompanyName { get; set; }
  220. /// <summary>
  221. /// 现单位地址
  222. /// </summary>
  223. [JsonPropertyName(""现单位地址"")]
  224. public string CurrentCompanyAddress { get; set; }
  225. /// <summary>
  226. /// 单位电话
  227. /// </summary>
  228. [JsonPropertyName(""单位电话"")]
  229. public string CompanyPhone { get; set; }
  230. /// <summary>
  231. /// 目前职位
  232. /// </summary>
  233. [JsonPropertyName(""目前职位"")]
  234. public string CurrentPosition { get; set; }
  235. /// <summary>
  236. /// 月收入
  237. /// </summary>
  238. [JsonPropertyName(""月收入"")]
  239. public string MonthlyIncome { get; set; }
  240. }
  241. /// <summary>
  242. /// 关系信息
  243. /// </summary>
  244. public class RelationInfo
  245. {
  246. /// <summary>
  247. /// 关系
  248. /// <summary>
  249. /// 关系
  250. /// </summary>
  251. [JsonPropertyName(""关系"")]
  252. public string Relation { get; set; }
  253. /// <summary>
  254. /// 姓名
  255. /// </summary>
  256. [JsonPropertyName(""姓名"")]
  257. public string Name { get; set; }
  258. /// <summary>
  259. /// 出生日期
  260. /// </summary>
  261. [JsonPropertyName(""出生日期"")]
  262. public string BirthDate { get; set; }
  263. /// <summary>
  264. /// 地址
  265. /// </summary>
  266. [JsonPropertyName(""地址"")]
  267. public string Address { get; set; }
  268. /// <summary>
  269. /// 联系方式
  270. /// </summary>
  271. [JsonPropertyName(""联系方式"")]
  272. public string ContactNumber { get; set; }
  273. }
  274. /// <summary>
  275. /// 新西兰澳大利亚访问记录
  276. /// </summary>
  277. public class VisitHistory
  278. {
  279. /// <summary>
  280. /// 抵达日期
  281. /// </summary>
  282. [JsonPropertyName(""抵达日期"")]
  283. public string ArrivalDate { get; set; }
  284. /// <summary>
  285. /// 离开日期
  286. /// </summary>
  287. [JsonPropertyName(""离开日期"")]
  288. public string DepartureDate { get; set; }
  289. }
  290. /// <summary>
  291. /// 拒签记录
  292. /// </summary>
  293. public class RejectionRecord
  294. {
  295. /// <summary>
  296. /// 国家
  297. /// </summary>
  298. [JsonPropertyName(""国家"")]
  299. public string Country { get; set; }
  300. /// <summary>
  301. /// 申请日期地点
  302. /// </summary>
  303. [JsonPropertyName(""申请日期地点"")]
  304. public string ApplicationDateLocation { get; set; }
  305. /// <summary>
  306. /// 申请签证类别
  307. /// </summary>
  308. [JsonPropertyName(""申请签证类别"")]
  309. public string VisaCategory { get; set; }
  310. /// <summary>
  311. /// 拒签原因
  312. /// </summary>
  313. [JsonPropertyName(""拒签原因"")]
  314. public string RejectionReason { get; set; }
  315. }
  316. /// <summary>
  317. /// 教育经历
  318. /// </summary>
  319. public class EducationExperience
  320. {
  321. /// <summary>
  322. /// 院校名称
  323. /// </summary>
  324. [JsonPropertyName(""院校名称"")]
  325. public string SchoolName { get; set; }
  326. /// <summary>
  327. /// 入学时间
  328. /// </summary>
  329. [JsonPropertyName(""入学时间"")]
  330. public string EnrollmentDate { get; set; }
  331. /// <summary>
  332. /// 毕业时间
  333. /// </summary>
  334. [JsonPropertyName(""毕业时间"")]
  335. public string GraduationDate { get; set; }
  336. /// <summary>
  337. /// 课程专业名称
  338. /// </summary>
  339. [JsonPropertyName(""课程专业名称"")]
  340. public string CourseName { get; set; }
  341. }
  342. /// <summary>
  343. /// 工作经历
  344. /// </summary>
  345. public class WorkExperience
  346. {
  347. /// <summary>
  348. /// 单位名称
  349. /// </summary>
  350. [JsonPropertyName(""单位名称"")]
  351. public string CompanyName { get; set; }
  352. /// <summary>
  353. /// 开始时间
  354. /// </summary>
  355. [JsonPropertyName(""开始时间"")]
  356. public string StartDate { get; set; }
  357. /// <summary>
  358. /// 结束时间
  359. /// </summary>
  360. [JsonPropertyName(""结束时间"")]
  361. public string EndDate { get; set; }
  362. /// <summary>
  363. /// 单位所在地
  364. /// </summary>
  365. [JsonPropertyName(""单位所在地"")]
  366. public string CompanyLocation { get; set; }
  367. /// <summary>
  368. /// 职务
  369. /// </summary>
  370. [JsonPropertyName(""职务"")]
  371. public string Position { get; set; }
  372. }
  373. ";
  374. #endregion
  375. var datas = new List<VisaUploadFileTypeView>() {
  376. new(){FileId = 1,FileName="澳新签证个人申请表",
  377. //KimiAITips = $"按照标题识别成json格式,其中json属性名称为中文。第一行“其他国家”文本值为string。表头及本人声明不参与识别。按照C#中的System.Text.Json可解析的格式生成。不要除JSON数据外的任何文字以及符号。该段json格式文本为压缩格式json字符串。" },
  378. KimiAITips = $"请将上传的文件内容识别为JSON格式,并按照以下指定的实体类结构进行映射。确保生成的JSON格式与实体类的属性名称和类型一致。\r\n**实体类定义**:\r\n```csharp\r\n{json1}\r\n在不影响数据完整性的前提下,该格式为压缩后的json字符串。不要除JSON数据外的任何文字以及符号。" },
  379. new(){FileId = 2,FileName="出国个人申请表" },
  380. new(){FileId = 3,FileName="美国签证个人申请表格" },
  381. new(){FileId = 4,FileName="沙特个人信息表格" },
  382. new(){FileId = 5,FileName="申根签证个人资料表" },
  383. new(){FileId = 6,FileName="中文个人简历模板" },
  384. };
  385. return datas;
  386. }
  387. }
  388. #region 新西兰、澳大利亚签证申请资料表
  389. public class VisaApplication
  390. {
  391. /// <summary>
  392. /// 其他国家访问记录
  393. /// </summary>
  394. [JsonPropertyName("其他国家")]
  395. public string OtherCountries { get; set; }
  396. /// <summary>
  397. /// 申请人个人信息
  398. /// </summary>
  399. [JsonPropertyName("申请人个人信息")]
  400. public ApplicantInfo ApplicantInfo { get; set; }
  401. /// <summary>
  402. /// 新西兰澳大利亚访问记录
  403. /// </summary>
  404. [JsonPropertyName("新西兰澳大利亚访问记录")]
  405. public List<VisitHistory> VisitHistory { get; set; }
  406. /// <summary>
  407. /// 拒签记录
  408. /// </summary>
  409. [JsonPropertyName("拒签记录")]
  410. public List<RejectionRecord> RejectionRecords { get; set; }
  411. /// <summary>
  412. /// 教育经历
  413. /// </summary>
  414. [JsonPropertyName("教育经历")]
  415. public List<EducationExperience> EducationExperiences { get; set; }
  416. /// <summary>
  417. /// 工作经历
  418. /// </summary>
  419. [JsonPropertyName("工作经历")]
  420. public List<WorkExperience> WorkExperiences { get; set; }
  421. /// <summary>
  422. /// 服兵役历史(识别成一段话)
  423. /// </summary>
  424. [JsonPropertyName("服兵役历史")]
  425. public string MilitaryServices { get; set; }
  426. }
  427. /// <summary>
  428. /// 申请人个人信息
  429. /// </summary>
  430. public class ApplicantInfo
  431. {
  432. /// <summary>
  433. /// 姓名
  434. /// </summary>
  435. [JsonPropertyName("姓名")]
  436. public string Name { get; set; }
  437. /// <summary>
  438. /// 曾用名
  439. /// </summary>
  440. [JsonPropertyName("曾用名")]
  441. public string FormerName { get; set; }
  442. /// <summary>
  443. /// 婚姻状况
  444. /// </summary>
  445. [JsonPropertyName("婚姻状况")]
  446. public string MaritalStatus { get; set; }
  447. /// <summary>
  448. /// 出生地
  449. /// </summary>
  450. [JsonPropertyName("出生地")]
  451. public string BirthPlace { get; set; }
  452. /// <summary>
  453. /// 出生日期
  454. /// </summary>
  455. [JsonPropertyName("出生日期")]
  456. public string BirthDate { get; set; }
  457. /// <summary>
  458. /// 性别
  459. /// </summary>
  460. [JsonPropertyName("性别")]
  461. public string Gender { get; set; }
  462. /// <summary>
  463. /// 手机
  464. /// </summary>
  465. [JsonPropertyName("手机")]
  466. public string Mobile { get; set; }
  467. /// <summary>
  468. /// 现在住址
  469. /// </summary>
  470. [JsonPropertyName("现在住址")]
  471. public string CurrentAddress { get; set; }
  472. /// <summary>
  473. /// 在职人员信息
  474. /// </summary>
  475. [JsonPropertyName("在职人员信息")]
  476. public EmploymentInfo EmploymentInfo { get; set; }
  477. /// <summary>
  478. /// 关系信息
  479. /// </summary>
  480. [JsonPropertyName("关系信息")]
  481. public List<RelationInfo> RelationInfos { get; set; }
  482. }
  483. /// <summary>
  484. /// 在职人员信息
  485. /// </summary>
  486. public class EmploymentInfo
  487. {
  488. /// <summary>
  489. /// 现单位名称
  490. /// </summary>
  491. [JsonPropertyName("现单位名称")]
  492. public string CurrentCompanyName { get; set; }
  493. /// <summary>
  494. /// 现单位地址
  495. /// </summary>
  496. [JsonPropertyName("现单位地址")]
  497. public string CurrentCompanyAddress { get; set; }
  498. /// <summary>
  499. /// 单位电话
  500. /// </summary>
  501. [JsonPropertyName("单位电话")]
  502. public string CompanyPhone { get; set; }
  503. /// <summary>
  504. /// 目前职位
  505. /// </summary>
  506. [JsonPropertyName("目前职位")]
  507. public string CurrentPosition { get; set; }
  508. /// <summary>
  509. /// 月收入
  510. /// </summary>
  511. [JsonPropertyName("月收入")]
  512. public string MonthlyIncome { get; set; }
  513. }
  514. /// <summary>
  515. /// 关系信息
  516. /// </summary>
  517. public class RelationInfo
  518. {
  519. /// <summary>
  520. /// 关系
  521. /// <summary>
  522. /// 关系
  523. /// </summary>
  524. [JsonPropertyName("关系")]
  525. public string Relation { get; set; }
  526. /// <summary>
  527. /// 姓名
  528. /// </summary>
  529. [JsonPropertyName("姓名")]
  530. public string Name { get; set; }
  531. /// <summary>
  532. /// 出生日期
  533. /// </summary>
  534. [JsonPropertyName("出生日期")]
  535. public string BirthDate { get; set; }
  536. /// <summary>
  537. /// 地址
  538. /// </summary>
  539. [JsonPropertyName("地址")]
  540. public string Address { get; set; }
  541. /// <summary>
  542. /// 联系方式
  543. /// </summary>
  544. [JsonPropertyName("联系方式")]
  545. public string ContactNumber { get; set; }
  546. }
  547. /// <summary>
  548. /// 新西兰澳大利亚访问记录
  549. /// </summary>
  550. public class VisitHistory
  551. {
  552. /// <summary>
  553. /// 抵达日期
  554. /// </summary>
  555. [JsonPropertyName("抵达日期")]
  556. public string ArrivalDate { get; set; }
  557. /// <summary>
  558. /// 离开日期
  559. /// </summary>
  560. [JsonPropertyName("离开日期")]
  561. public string DepartureDate { get; set; }
  562. }
  563. /// <summary>
  564. /// 拒签记录
  565. /// </summary>
  566. public class RejectionRecord
  567. {
  568. /// <summary>
  569. /// 国家
  570. /// </summary>
  571. [JsonPropertyName("国家")]
  572. public string Country { get; set; }
  573. /// <summary>
  574. /// 申请日期地点
  575. /// </summary>
  576. [JsonPropertyName("申请日期地点")]
  577. public string ApplicationDateLocation { get; set; }
  578. /// <summary>
  579. /// 申请签证类别
  580. /// </summary>
  581. [JsonPropertyName("申请签证类别")]
  582. public string VisaCategory { get; set; }
  583. /// <summary>
  584. /// 拒签原因
  585. /// </summary>
  586. [JsonPropertyName("拒签原因")]
  587. public string RejectionReason { get; set; }
  588. }
  589. /// <summary>
  590. /// 教育经历
  591. /// </summary>
  592. public class EducationExperience
  593. {
  594. /// <summary>
  595. /// 院校名称
  596. /// </summary>
  597. [JsonPropertyName("院校名称")]
  598. public string SchoolName { get; set; }
  599. /// <summary>
  600. /// 入学时间
  601. /// </summary>
  602. [JsonPropertyName("入学时间")]
  603. public string EnrollmentDate { get; set; }
  604. /// <summary>
  605. /// 毕业时间
  606. /// </summary>
  607. [JsonPropertyName("毕业时间")]
  608. public string GraduationDate { get; set; }
  609. /// <summary>
  610. /// 课程专业名称
  611. /// </summary>
  612. [JsonPropertyName("课程专业名称")]
  613. public string CourseName { get; set; }
  614. }
  615. /// <summary>
  616. /// 工作经历
  617. /// </summary>
  618. public class WorkExperience
  619. {
  620. /// <summary>
  621. /// 单位名称
  622. /// </summary>
  623. [JsonPropertyName("单位名称")]
  624. public string CompanyName { get; set; }
  625. /// <summary>
  626. /// 开始时间
  627. /// </summary>
  628. [JsonPropertyName("开始时间")]
  629. public string StartDate { get; set; }
  630. /// <summary>
  631. /// 结束时间
  632. /// </summary>
  633. [JsonPropertyName("结束时间")]
  634. public string EndDate { get; set; }
  635. /// <summary>
  636. /// 单位所在地
  637. /// </summary>
  638. [JsonPropertyName("单位所在地")]
  639. public string CompanyLocation { get; set; }
  640. /// <summary>
  641. /// 职务
  642. /// </summary>
  643. [JsonPropertyName("职务")]
  644. public string Position { get; set; }
  645. }
  646. #endregion
  647. #endregion
  648. }