LegalContractInfo.cs 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. using System;
  2. using System.ComponentModel.DataAnnotations;
  3. using System.ComponentModel.DataAnnotations.Schema;
  4. using Abp.Domain.Entities.Auditing;
  5. using ContractService.Authorization.Users;
  6. using ContractService.Client;
  7. using ContractService.CommonManager.States;
  8. using ContractService.Configuration;
  9. using ContractService.LegalCase;
  10. namespace ContractService.LegalContract
  11. {
  12. /// <summary>
  13. /// 合同信息
  14. /// </summary>
  15. [Table("Ls_LegalContracts")]
  16. public class LegalContractInfo : FullAuditedEntity<string, User>
  17. {
  18. /// <summary>
  19. /// 合同编号
  20. /// </summary>
  21. [MaxLength(50)]
  22. public string Code { get; set; }
  23. /// <summary>
  24. /// 合同名称
  25. /// </summary>
  26. [MaxLength(50)]
  27. public string Name { get; set; }
  28. /// <summary>
  29. /// 内容信息
  30. /// </summary>
  31. [NotMapped] //不映射到数据库,内容存储到 LegalContractContentInfo
  32. public string ContentInfo { get; set; }
  33. /// <summary>
  34. /// 标签
  35. /// </summary>
  36. [MaxLength(200)]
  37. public string Tags { get; set; }
  38. /// <summary>
  39. /// 合同状态
  40. /// </summary>
  41. public int ContractState { get; set; }
  42. /// <summary>
  43. /// 启动时间
  44. /// </summary>
  45. public DateTime? StartDateTime { get; set; }
  46. /// <summary>
  47. /// 结束时间
  48. /// </summary>
  49. public DateTime? EndDateTime { get; set; }
  50. /// <summary>
  51. /// 最后一次状态变更时间
  52. /// </summary>
  53. public DateTime? StateLastChangeTime { get; set; }
  54. /// <summary>
  55. /// 最后一次状态变更原由
  56. /// </summary>
  57. [MaxLength(500)]
  58. public string StateLastChangeCause { get; set; }
  59. /// <summary>
  60. /// 项目信息
  61. /// </summary>
  62. [MaxLength(IwbConsts.PrimaryKey)]
  63. public string CaseNo { get; set; }
  64. [ForeignKey("CaseNo")]
  65. public LegalCaseInfo CaseInfo { get; set; }
  66. [MaxLength(1000)]
  67. public string Remark { get; set; }
  68. }
  69. public class LegalContractInfoClone
  70. {
  71. public string Id { get; set; }
  72. /// <summary>
  73. /// 合同编号
  74. /// </summary>
  75. [MaxLength(50)]
  76. public string Code { get; set; }
  77. /// <summary>
  78. /// 合同名称
  79. /// </summary>
  80. [MaxLength(50)]
  81. public string Name { get; set; }
  82. /// <summary>
  83. /// 标签
  84. /// </summary>
  85. [MaxLength(200)]
  86. public string Tags { get; set; }
  87. /// <summary>
  88. /// 合同状态
  89. /// </summary>
  90. public int ContractState { get; set; }
  91. /// <summary>
  92. /// 启动时间
  93. /// </summary>
  94. public DateTime? StartDateTime { get; set; }
  95. /// <summary>
  96. /// 结束时间
  97. /// </summary>
  98. public DateTime? EndDateTime { get; set; }
  99. /// <summary>
  100. /// 最后一次状态变更时间
  101. /// </summary>
  102. public DateTime? StateLastChangeTime { get; set; }
  103. /// <summary>
  104. /// 最后一次状态变更原由
  105. /// </summary>
  106. [MaxLength(500)]
  107. public string StateLastChangeCause { get; set; }
  108. /// <summary>
  109. /// 项目信息
  110. /// </summary>
  111. [MaxLength(IwbConsts.PrimaryKey)]
  112. public string CaseNo { get; set; }
  113. public string CaseName { get; set; }
  114. public LegalCaseInfo CaseInfo { get; set; }
  115. public ClientCompanyInfo CompanyInfo { get; set; }
  116. public string CompanyName { get; set; }
  117. public DateTime CreationTime { get; set; }
  118. }
  119. /// <summary>
  120. /// 合同状态定义
  121. /// </summary>
  122. public class LegalContractStateDefinition
  123. {
  124. /// <summary>
  125. /// 新建
  126. /// </summary>
  127. public const int New = 1;
  128. /// <summary>
  129. /// 已启动
  130. /// </summary>
  131. public const int Running = 2;
  132. /// <summary>
  133. /// 挂起
  134. /// </summary>
  135. public const int Hang = 3;
  136. /// <summary>
  137. /// 结束
  138. /// </summary>
  139. public const int End = 4;
  140. public static string GetName(int definition, IStatesManager statesManager)
  141. {
  142. return statesManager.GetDisplayValue("LegalContract", "State", definition + "");
  143. }
  144. }
  145. }