PerformanceItem.cs 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  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 Type { get; set; }
  147. /// <summary>
  148. /// 客户
  149. /// </summary>
  150. public virtual Customer Customer { get; set; }
  151. /// <summary>
  152. /// 前一次OA处理人
  153. /// </summary>
  154. [Description("前一次OA处理人")]
  155. public virtual Staff PreOastaff { get; set; }
  156. public virtual ICollection<ItemStaff> ItemStaffs { get; set; }
  157. /// <summary>
  158. /// 核稿人
  159. /// </summary>
  160. [Description("核稿人")]
  161. public virtual Staff Reviewer { get; set; }
  162. /// <summary>
  163. /// 流程负责人Id
  164. /// </summary>
  165. public int? WorkflowUserId { get; set; }
  166. /// <summary>
  167. /// 流程负责人
  168. /// </summary>
  169. public virtual Staff WorkflowUser { get; set; }
  170. public virtual CalMonth CalMonth { get; set; }
  171. public int CalMonthId { get; set; }
  172. public bool isDanger()
  173. {
  174. if (!String.IsNullOrEmpty(DoItem) && DoItem.ToString() == "新申请")
  175. {
  176. DateTime dt1 = DateTime.MinValue;
  177. if (ReturnDate != null)
  178. {
  179. dt1 = ReturnDate.Value;
  180. }
  181. DateTime dt2 = DateTime.MinValue;
  182. if (CustomerLimitDate != null)
  183. {
  184. dt2 = CustomerLimitDate.Value;
  185. }
  186. else
  187. {
  188. if (InternalDate != null)
  189. {
  190. dt2 = InternalDate.Value;
  191. }
  192. else
  193. {
  194. if (EntrustingDate != null)
  195. {
  196. dt2 = EntrustingDate.Value;
  197. }
  198. }
  199. }
  200. if ((dt1 - dt2).TotalDays > 30)
  201. {
  202. return true;
  203. }
  204. else
  205. {
  206. return false;
  207. }
  208. }
  209. return false;
  210. }
  211. }
  212. }