PerformanceItem.cs 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.ComponentModel.DataAnnotations.Schema;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace wispro.sp.entity
  9. {
  10. /// <summary>
  11. /// 绩效事项清单
  12. /// </summary>
  13. public class PerformanceItem
  14. {
  15. public PerformanceItem()
  16. {
  17. ItemStaffs = new HashSet<ItemStaff>();
  18. }
  19. /// <summary>
  20. /// 编号
  21. /// </summary>
  22. public int Id { get; set; }
  23. /// <summary>
  24. /// 我方文号
  25. /// </summary>
  26. public string CaseNo { get; set; }
  27. /// <summary>
  28. /// 申请类型
  29. /// </summary>
  30. public string ApplicationType { get; set; }
  31. /// <summary>
  32. /// 业务类型
  33. /// </summary>
  34. public string BusinessType { get; set; }
  35. /// <summary>
  36. /// 代理人反馈Memo
  37. /// </summary>
  38. public string AgentFeedbackMemo { get; set; }
  39. /// <summary>
  40. /// 处理事项
  41. /// </summary>
  42. public string DoItem { get; set; }
  43. /// <summary>
  44. /// 案件阶段
  45. /// </summary>
  46. public string CaseStage { get; set; }
  47. /// <summary>
  48. /// 案件系数
  49. /// </summary>
  50. public string CaseCoefficient { get; set; }
  51. /// <summary>
  52. /// 处理事项系数
  53. /// </summary>
  54. public string DoItemCoefficient { get; set; }
  55. /// <summary>
  56. /// 前一次OA处理人Id
  57. /// </summary>
  58. public int? PreOastaffId { get; set; }
  59. /// <summary>
  60. /// 核稿人Id
  61. /// </summary>
  62. public int? ReviewerId { get; set; }
  63. /// <summary>
  64. /// 客户Id
  65. /// </summary>
  66. public int? CustomerId { get; set; }
  67. /// <summary>
  68. /// 申请人
  69. /// </summary>
  70. public string ApplicationName { get; set; }
  71. /// <summary>
  72. /// 处理事项完成日
  73. /// </summary>
  74. public DateTime? FinishedDate { get; set; }
  75. /// <summary>
  76. /// 定稿日
  77. /// </summary>
  78. public DateTime? FinalizationDate { get; set; }
  79. /// <summary>
  80. /// 返稿日
  81. /// </summary>
  82. public DateTime? ReturnDate { get; set; }
  83. /// <summary>
  84. /// 案件类型
  85. /// </summary>
  86. public string CaseType { get; set; }
  87. /// <summary>
  88. /// 案件状态
  89. /// </summary>
  90. public string CaseState { get; set; }
  91. /// <summary>
  92. /// 处理事项备注
  93. /// </summary>
  94. public string DoItemMemo { get; set; }
  95. /// <summary>
  96. /// 处理状态
  97. /// </summary>
  98. public string DoItemState { get; set; }
  99. /// <summary>
  100. /// 案件名称
  101. /// </summary>
  102. public string CaseName { get; set; }
  103. /// <summary>
  104. /// 客户期限
  105. /// </summary>
  106. public DateTime? CustomerLimitDate { get; set; }
  107. /// <summary>
  108. /// 委托日期
  109. /// </summary>
  110. public DateTime? EntrustingDate { get; set; }
  111. /// <summary>
  112. /// 内部期限
  113. /// </summary>
  114. public DateTime? InternalDate { get; set; }
  115. /// <summary>
  116. /// 初稿日
  117. /// </summary>
  118. public DateTime? FirstDraftDate { get; set; }
  119. /// <summary>
  120. /// 备注(发文严重超期是否属客观原因,若为否,请填写原因)
  121. /// </summary>
  122. public string OverDueMemo { get; set; }
  123. /// <summary>
  124. /// 基础点数
  125. /// </summary>
  126. public double? BasePoint { get; set; }
  127. /// <summary>
  128. /// 绩效核算状态:
  129. /// </summary>
  130. public int? Status { get; set; }
  131. /// <summary>
  132. /// 案件备注
  133. /// </summary>
  134. public string CaseMemo { get; set; }
  135. /// <summary>
  136. /// 按翻译字数计算设定的字数值
  137. /// </summary>
  138. public int? WordCount { get; set; }
  139. /// <summary>
  140. /// 撤回案件编号
  141. /// </summary>
  142. public string ReturnCasseNo { get; set; }
  143. /// <summary>
  144. /// 国家或地区
  145. /// </summary>
  146. public string Country { get; set; }
  147. /// <summary>
  148. /// 绩效类型
  149. /// </summary>
  150. public string Type { get; set; }
  151. /// <summary>
  152. /// 客户
  153. /// </summary>
  154. public virtual Customer Customer { get; set; }
  155. /// <summary>
  156. /// 前一次OA处理人
  157. /// </summary>
  158. [Description("前一次OA处理人")]
  159. public virtual Staff PreOastaff { get; set; }
  160. public virtual ICollection<ItemStaff> ItemStaffs { get; set; }
  161. /// <summary>
  162. /// 核稿人
  163. /// </summary>
  164. [Description("核稿人")]
  165. public virtual Staff Reviewer { get; set; }
  166. /// <summary>
  167. /// 流程负责人Id
  168. /// </summary>
  169. public int? WorkflowUserId { get; set; }
  170. /// <summary>
  171. /// 流程负责人
  172. /// </summary>
  173. public virtual Staff WorkflowUser { get; set; }
  174. public virtual CalMonth CalMonth { get; set; }
  175. public int CalMonthId { get; set; }
  176. public bool isDanger()
  177. {
  178. if (!String.IsNullOrEmpty(DoItem) && DoItem.ToString() == "新申请")
  179. {
  180. DateTime dt1 = DateTime.MinValue;
  181. if (ReturnDate != null)
  182. {
  183. dt1 = ReturnDate.Value;
  184. }
  185. DateTime dt2 = DateTime.MinValue;
  186. if (CustomerLimitDate != null)
  187. {
  188. dt2 = CustomerLimitDate.Value;
  189. }
  190. else
  191. {
  192. if (InternalDate != null)
  193. {
  194. dt2 = InternalDate.Value;
  195. }
  196. else
  197. {
  198. if (EntrustingDate != null)
  199. {
  200. dt2 = EntrustingDate.Value;
  201. }
  202. }
  203. }
  204. if ((dt1 - dt2).TotalDays > 30)
  205. {
  206. return true;
  207. }
  208. else
  209. {
  210. return false;
  211. }
  212. }
  213. return false;
  214. }
  215. }
  216. }