OrderSnapshot.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403
  1. using Hotline.Orders;
  2. using Hotline.Share.Dtos;
  3. using Hotline.Share.Enums.Snapshot;
  4. using SqlSugar;
  5. using System.ComponentModel;
  6. using XF.Domain.Repository;
  7. namespace Hotline.Snapshot;
  8. /// <summary>
  9. /// 工单表扩展
  10. /// Id 和 Order.Id 相同
  11. /// </summary>
  12. [Description("工单表扩展")]
  13. public class OrderSnapshot : CreationSoftDeleteEntity
  14. {
  15. /// <summary>
  16. /// 行业Id
  17. /// <inheritdoc cref="Industry"/> 表的Id
  18. /// </summary>
  19. [SugarColumn(ColumnDescription = "行业Id")]
  20. public string IndustryId { get; set; }
  21. /// <summary>
  22. /// 行业名称
  23. /// <inheritdoc cref="Industry"/> 表的Name
  24. /// </summary>
  25. [SugarColumn(ColumnDescription = "行业名称")]
  26. public string IndustryName { get; set; }
  27. /// <summary>
  28. /// 社区Id
  29. /// <inheritdoc cref="CommunityInfo"/> 表的Id
  30. /// </summary>
  31. [SugarColumn(ColumnDescription = "社区Id")]
  32. public string? CommunityId { get; set; }
  33. /// <summary>
  34. /// 社区名字
  35. /// </summary>
  36. [SugarColumn(ColumnDescription = "社区名字")]
  37. public string? CommunityName { get; set; }
  38. /// <summary>
  39. /// 社区名字
  40. /// </summary>
  41. [SugarColumn(ColumnDescription = "社区名字")]
  42. public string? CommunityFullName { get; set; }
  43. /// <summary>
  44. /// 作业类型
  45. /// </summary>
  46. [SugarColumn(ColumnDescription = "作业类型")]
  47. public int? JobType { get; set; }
  48. /// <summary>
  49. /// 作业类型
  50. /// </summary>
  51. [SugarColumn(ColumnDescription = "作业类型")]
  52. public string? JobTypeName { get; set; }
  53. /// <summary>
  54. /// 经营单位类别
  55. /// </summary>
  56. [SugarColumn(ColumnDescription = "经营单位类别")]
  57. public string? BusinessUnitType { get; set; }
  58. /// <summary>
  59. /// 作业场所
  60. /// </summary>
  61. [SugarColumn(ColumnDescription = "作业场所")]
  62. public string? Workplace { get; set; }
  63. /// <summary>
  64. /// 场所名称(多个场所使用 - 连接)
  65. /// </summary>
  66. [SugarColumn(ColumnDescription = "场所名称")]
  67. public string? WorkplaceName { get; set; }
  68. /// <summary>
  69. /// 作业区域
  70. /// </summary>
  71. [SugarColumn(ColumnDescription = "作业区域")]
  72. public string? WorkArea { get; set; }
  73. /// <summary>
  74. /// 作业区域Id
  75. /// </summary>
  76. [SugarColumn(ColumnDescription = "作业区域Id")]
  77. public string? WorkAreaId { get; set; }
  78. /// <summary>
  79. /// 作业时间
  80. /// </summary>
  81. [SugarColumn(ColumnDescription = "作业时间")]
  82. public DateTime? StartWorkTime { get; set; }
  83. /// <summary>
  84. /// 作业结束时间
  85. /// </summary>
  86. [SugarColumn(ColumnDescription = "作业时间")]
  87. public DateTime? EndWorkTime { get; set; }
  88. /// <summary>
  89. /// 是否重点
  90. /// </summary>
  91. [SugarColumn(ColumnDescription = "是否重点")]
  92. public bool? IsEmphasis { get; set; }
  93. #region 标记工单是否安全生产字段
  94. /// <summary>
  95. /// 部门标记是否安全生产
  96. /// </summary>
  97. [SugarColumn(ColumnDescription = "部门标记是否安全生产")]
  98. public bool? IsSafetyDepartment { get; set; }
  99. /// <summary>
  100. /// 标记人
  101. /// </summary>
  102. [SugarColumn(ColumnDescription = "标记人")]
  103. public string? SignUserId { get; set; }
  104. /// <summary>
  105. /// 标记人
  106. /// </summary>
  107. [SugarColumn(ColumnDescription = "标记人")]
  108. public string? SignUserName { get; set; }
  109. /// <summary>
  110. /// 标记时间
  111. /// </summary>
  112. [SugarColumn(ColumnDescription = "标记时间")]
  113. public DateTime? SignTime { get; set; }
  114. /// <summary>
  115. /// 标记备注
  116. /// </summary>
  117. [SugarColumn(ColumnDescription = "标记备注")]
  118. public string? SignRemark { get; set; }
  119. #endregion
  120. /// <summary>
  121. /// 部门是否存在安全隐患
  122. /// </summary>
  123. [SugarColumn(ColumnDescription = "部门是否存在安全隐患")]
  124. public bool? IsDangerDepartment { get; set; }
  125. /// <summary>
  126. /// 部门是否属实
  127. /// </summary>
  128. [SugarColumn(ColumnDescription = "部门是否属实")]
  129. public bool? IsTruthDepartment { get; set; }
  130. /// <summary>
  131. /// 部门是否整改
  132. /// </summary>
  133. [SugarColumn(ColumnDescription = "部门是否整改")]
  134. public bool? IsRectifyDepartment { get; set; }
  135. /// <summary>
  136. /// 线索分类Id
  137. /// </summary>
  138. [SugarColumn(ColumnDescription = "线索分类")]
  139. public string? IndustryCase { get; set; }
  140. /// <summary>
  141. /// 小程序公开
  142. /// </summary>
  143. [SugarColumn(ColumnDescription = "小程序公开")]
  144. public bool? IsAppOpened { get; set; }
  145. /// <summary>
  146. /// 合规类型
  147. /// </summary>
  148. [SugarColumn(ColumnDescription = "合规类型")]
  149. public ECompliantType? CompliantType { get; set; }
  150. /// <summary>
  151. /// 发布工单时标记的工单标签
  152. /// </summary>
  153. [SugarColumn(ColumnDescription = "工单标签", ColumnDataType = "json", IsJson = true, IsNullable = true)]
  154. public IList<Kv>? Labels { get; set; }
  155. /// <summary>
  156. /// 发布工单时标记的工单标签(多个使用 | 分隔)
  157. /// </summary>
  158. [SugarColumn(ColumnDescription = "工单标签")]
  159. public string? LabelName { get; set; }
  160. /// <summary>
  161. /// 标签用户
  162. /// </summary>
  163. [SugarColumn(ColumnDescription = "标签用户")]
  164. public string? LabelUserName { get; set; }
  165. /// <summary>
  166. /// 标签用户Id
  167. /// </summary>
  168. [SugarColumn(ColumnDescription = "标签用户Id")]
  169. public string? LabelUserId { get; set; }
  170. /// <summary>
  171. /// 标签时间
  172. /// </summary>
  173. [SugarColumn(ColumnDescription = "标签时间")]
  174. public DateTime? LabelTime { get; set; }
  175. /// <summary>
  176. /// 工单办理:
  177. /// 是否申请追加奖励
  178. /// </summary>
  179. [SugarColumn(ColumnDescription = "是否申请追加奖励")]
  180. public bool? IsAward { get; set; }
  181. /// <summary>
  182. /// 追加奖励人开户银行
  183. /// </summary>
  184. [SugarColumn(ColumnDescription = "追加奖励人开户银行")]
  185. public string? AwardOpenBank { get; set; }
  186. /// <summary>
  187. /// 追加奖励人姓名
  188. /// </summary>
  189. [SugarColumn(ColumnDescription = "追加奖励人姓名")]
  190. public string? AwardName { get; set; }
  191. /// <summary>
  192. /// 追加奖励人银行卡号
  193. /// </summary>
  194. [SugarColumn(ColumnDescription = "追加奖励人银行卡号")]
  195. public string? AwardBankCardNo { get; set; }
  196. /// <summary>
  197. /// 追加奖励金额(元)
  198. /// </summary>
  199. [SugarColumn(ColumnDescription = "追加奖励金额(元)")]
  200. public double? AwardAmount { get; set; }
  201. /// <summary>
  202. /// 补充奖励类型
  203. /// </summary>
  204. [SugarColumn(ColumnDescription = "补充奖励类型")]
  205. public string? ReplenishTypeId { get; set; }
  206. /// <summary>
  207. /// 补充奖励类型
  208. /// </summary>
  209. [SugarColumn(ColumnDescription = "补充奖励类型")]
  210. public string? ReplenishTypeName { get; set; }
  211. /// <summary>
  212. /// 核实方式
  213. /// </summary>
  214. [SugarColumn(ColumnDescription = "核实方式")]
  215. public string? VerifyType { get; set; }
  216. /// <summary>
  217. /// 是否按清单检查
  218. /// </summary>
  219. [SugarColumn(ColumnDescription = "是否按清单检查")]
  220. public bool? IsCheckList { get; set; }
  221. #region 网格员回复
  222. /// <summary>
  223. /// 网格员系统交互日志
  224. /// </summary>
  225. [SugarColumn(ColumnDescription = "网格员系统交互日志")]
  226. public string? GuiderAccLog { get; set; }
  227. /// <summary>
  228. /// 网格员回复截止日期
  229. /// </summary>
  230. [SugarColumn(ColumnDescription = "网格员回复截止日期")]
  231. public DateTime? DeadLine { get; set; }
  232. /// <summary>
  233. /// 网格员是否办理
  234. /// </summary>
  235. [SugarColumn(ColumnDescription = "网格员是否办理")]
  236. public bool? IsDeal { get; set; }
  237. /// <summary>
  238. /// 网格E通编号
  239. /// </summary>
  240. [SugarColumn(ColumnDescription = "网格E通编号")]
  241. public string? NetworkENumber { get; set; }
  242. /// <summary>
  243. /// 网格员是否属实
  244. /// </summary>
  245. [SugarColumn(ColumnDescription = "网格员是否属实")]
  246. public bool? IsTruth { get; set; }
  247. /// <summary>
  248. /// 是否重复
  249. /// </summary>
  250. [SugarColumn(ColumnDescription = "是否重复")]
  251. public bool? IsRepetition { get; set; }
  252. /// <summary>
  253. /// 是否隐患
  254. /// </summary>
  255. [SugarColumn(ColumnDescription = "是否隐患")]
  256. public bool? IsDanger { get; set; }
  257. /// <summary>
  258. /// 网格员回复内容
  259. /// </summary>
  260. [SugarColumn(ColumnDescription = "网格员回复内容", Length = 2048)]
  261. public string? NetworkRemark { get; set; }
  262. /// <summary>
  263. /// 网格员办理时间
  264. /// </summary>
  265. [SugarColumn(ColumnDescription = "网格员办理时间")]
  266. public DateTime? ReplyDate { get; set; }
  267. /// <summary>
  268. /// 网格员姓名
  269. /// </summary>
  270. [SugarColumn(ColumnDescription = "网格员姓名")]
  271. public string? MemberName { get; set; }
  272. /// <summary>
  273. /// 网格员电话
  274. /// </summary>
  275. [SugarColumn(ColumnDescription = "网格员电话")]
  276. public string? MemberMobile { get; set; }
  277. /// <summary>
  278. /// 办理人账号
  279. /// </summary>
  280. [SugarColumn(ColumnDescription = "办理人账号")]
  281. public string? ReplyUserName { get; set; }
  282. /// <summary>
  283. /// 办理部门
  284. /// </summary>
  285. [SugarColumn(ColumnDescription = "办理部门")]
  286. public string? ReplyBMName { get; set; }
  287. /// <summary>
  288. /// 办理状态 1,7:流转 2:办结 3:退回 4:网格员签收 5:消息推送 6: 超时自动退单
  289. /// </summary>
  290. [SugarColumn(ColumnDescription = "网格员办理状态")]
  291. public EGuiderSystemReplyType? ReplyResultType { get; set; }
  292. #endregion
  293. /// <summary>
  294. /// 购气单位/个人名称
  295. /// </summary>
  296. [SugarColumn(ColumnDescription = "购气单位/个人名称")]
  297. public string? CompanyName { get; set; }
  298. /// <summary>
  299. /// 发送网格员系统时间
  300. /// </summary>
  301. [SugarColumn(ColumnDescription = "发送网格员系统时间")]
  302. public DateTime? SendGuidSystemTime { get; set; }
  303. /// <summary>
  304. /// 网格员系统回调时间
  305. /// </summary>
  306. [SugarColumn(ColumnDescription = "网格员系统回调时间")]
  307. public DateTime? GuidSystemCallBackTime { get; set; }
  308. /// <summary>
  309. /// 网格员系统是否回调
  310. /// </summary>
  311. [SugarColumn(ColumnDescription = "网格员系统是否回调", DefaultValue = "f")]
  312. public bool IsGuidSystemCallBack { get; set; }
  313. #region 重办信息
  314. /// <summary>
  315. /// 重办原因Id
  316. /// </summary>
  317. [SugarColumn(ColumnDescription = "重办原因Id")]
  318. public string? SpecialReasonId { get; set; }
  319. /// <summary>
  320. /// 重办原因
  321. /// </summary>
  322. [SugarColumn(ColumnDescription = "重办原因")]
  323. public string? SpecialReasonName { get; set; }
  324. #endregion
  325. /// <summary>
  326. /// 扩展字段
  327. /// 如果别的系统希望通过界面收集某个字段, 然后我们系统不需要使用, 就可以放这里.
  328. /// 第三方系统在获取我们系统工单时直接把这个字段数据返回即可
  329. /// </summary>
  330. [SugarColumn(ColumnDescription = "12345不使用的扩展字段,第三方系统使用")]
  331. public string? Attach { get; set; }
  332. /// <summary>
  333. /// 老系统Id
  334. /// </summary>
  335. [SugarColumn(ColumnDescription = "老系统Id", IsNullable = true)]
  336. public string? OldId { get; set; }
  337. }