RoadFlow2.1 临时演示

WorkFlowInstalled.cs 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace RoadFlow.Data.Model
  6. {
  7. [Serializable]
  8. public class WorkFlowInstalled
  9. {
  10. /// <summary>
  11. /// 流程ID
  12. /// </summary>
  13. public Guid ID { get; set; }
  14. /// <summary>
  15. /// 流程名称
  16. /// </summary>
  17. public string Name { get; set; }
  18. /// <summary>
  19. /// 流程分类
  20. /// </summary>
  21. public string Type { get; set; }
  22. /// <summary>
  23. /// 流程类型:0 常规流程 1 自由流程
  24. /// </summary>
  25. public int FlowType { get; set; }
  26. /// <summary>
  27. /// 流程管理者
  28. /// </summary>
  29. public string Manager { get; set; }
  30. /// <summary>
  31. /// 实例管理者
  32. /// </summary>
  33. public string InstanceManager { get; set; }
  34. /// <summary>
  35. /// 第一步ID
  36. /// </summary>
  37. public Guid FirstStepID { get; set; }
  38. /// <summary>
  39. /// 创建时间
  40. /// </summary>
  41. public DateTime CreateTime { get; set; }
  42. /// <summary>
  43. /// 创建人
  44. /// </summary>
  45. public string CreateUser { get; set; }
  46. /// <summary>
  47. /// 设计时
  48. /// </summary>
  49. public string DesignJSON { get; set; }
  50. /// <summary>
  51. /// 安装日期
  52. /// </summary>
  53. public DateTime InstallTime { get; set; }
  54. /// <summary>
  55. /// 安装人
  56. /// </summary>
  57. public string InstallUser { get; set; }
  58. /// <summary>
  59. /// 运行时JSON
  60. /// </summary>
  61. public string RunJSON { get; set; }
  62. /// <summary>
  63. /// 状态 1:设计中 2:已安装 3:已卸载 4:已删除
  64. /// </summary>
  65. public int Status { get; set; }
  66. /// <summary>
  67. /// 是否删除已完成 0不删除 1要删除
  68. /// </summary>
  69. public int RemoveCompleted { get; set; }
  70. /// <summary>
  71. /// 备注
  72. /// </summary>
  73. public string Note { get; set; }
  74. /// <summary>
  75. /// 是否调试模式 0关闭 1开启(有调试窗口) 2开启(无调试窗口)
  76. /// </summary>
  77. public int Debug { get; set; }
  78. /// <summary>
  79. /// 调试人员
  80. /// </summary>
  81. public List<RoadFlow.Data.Model.Users> DebugUsers { get; set; }
  82. /// <summary>
  83. /// 数据库表以及主键信息
  84. /// </summary>
  85. public IEnumerable<WorkFlowInstalledSub.DataBases> DataBases { get; set; }
  86. /// <summary>
  87. /// 数据库表标题字段
  88. /// </summary>
  89. public WorkFlowInstalledSub.TitleField TitleField { get; set; }
  90. /// <summary>
  91. /// 流程步骤
  92. /// </summary>
  93. public IEnumerable<WorkFlowInstalledSub.Step> Steps { get; set; }
  94. /// <summary>
  95. /// 流程连线
  96. /// </summary>
  97. public IEnumerable<WorkFlowInstalledSub.Line> Lines { get; set; }
  98. }
  99. }
  100. namespace RoadFlow.Data.Model.WorkFlowInstalledSub
  101. {
  102. /// <summary>
  103. /// 数据库连接结构体
  104. /// </summary>
  105. [Serializable]
  106. public class DataBases
  107. {
  108. /// <summary>
  109. /// 连接ID
  110. /// </summary>
  111. public Guid LinkID { get; set; }
  112. /// <summary>
  113. /// 连接名称
  114. /// </summary>
  115. public string LinkName { get; set; }
  116. /// <summary>
  117. /// 连接表
  118. /// </summary>
  119. public string Table { get; set; }
  120. /// <summary>
  121. /// 表主键
  122. /// </summary>
  123. public string PrimaryKey { get; set; }
  124. }
  125. /// <summary>
  126. /// 标题字段结构体
  127. /// </summary>
  128. [Serializable]
  129. public class TitleField
  130. {
  131. /// <summary>
  132. /// 连接ID
  133. /// </summary>
  134. public Guid LinkID { get; set; }
  135. /// <summary>
  136. /// 连接名称
  137. /// </summary>
  138. public string LinkName { get; set; }
  139. /// <summary>
  140. /// 连接表
  141. /// </summary>
  142. public string Table { get; set; }
  143. /// <summary>
  144. /// 字段名称
  145. /// </summary>
  146. public string Field { get; set; }
  147. }
  148. /// <summary>
  149. /// 步骤实体类
  150. /// </summary>
  151. [Serializable]
  152. public class Step
  153. {
  154. /// <summary>
  155. /// 步骤ID
  156. /// </summary>
  157. public Guid ID { get; set; }
  158. /// <summary>
  159. /// 步骤类型 normal 一般步骤 subflow 子流程步骤
  160. /// </summary>
  161. public string Type { get; set; }
  162. /// <summary>
  163. /// 步骤名称
  164. /// </summary>
  165. public string Name { get; set; }
  166. /// <summary>
  167. /// 意见显示 0不显示 1显示
  168. /// </summary>
  169. public int OpinionDisplay { get; set; }
  170. /// <summary>
  171. /// 超期提示 0不提示 1要提示
  172. /// </summary>
  173. public int ExpiredPrompt { get; set; }
  174. /// <summary>
  175. /// 审签类型 0无签批意见栏 1有签批意见(无须签章) 2有签批意见(须签章)
  176. /// </summary>
  177. public int SignatureType { get; set; }
  178. /// <summary>
  179. /// 工时(小时)
  180. /// </summary>
  181. public decimal WorkTime { get; set; }
  182. /// <summary>
  183. /// 限额时间(小时)
  184. /// </summary>
  185. public decimal LimitTime { get; set; }
  186. /// <summary>
  187. /// 额外时间(小时)
  188. /// </summary>
  189. public decimal OtherTime { get; set; }
  190. /// <summary>
  191. /// 是否归档 0不归档 1要归档
  192. /// </summary>
  193. public int Archives { get; set; }
  194. /// <summary>
  195. /// 归档参数
  196. /// </summary>
  197. public string ArchivesParams { get; set; }
  198. /// <summary>
  199. /// 步骤备注说明
  200. /// </summary>
  201. public string Note { get; set; }
  202. /// <summary>
  203. /// 步骤行为相关参数
  204. /// </summary>
  205. public WorkFlowInstalledSub.StepSet.Behavior Behavior { get; set; }
  206. /// <summary>
  207. /// 流程表单
  208. /// </summary>
  209. public IEnumerable<WorkFlowInstalledSub.StepSet.Form> Forms { get; set; }
  210. /// <summary>
  211. /// 流程按钮
  212. /// </summary>
  213. public IEnumerable<WorkFlowInstalledSub.StepSet.Button> Buttons { get; set; }
  214. /// <summary>
  215. /// 字段状态
  216. /// </summary>
  217. public IEnumerable<WorkFlowInstalledSub.StepSet.FieldStatus> FieldStatus { get; set; }
  218. /// <summary>
  219. /// 流程事件
  220. /// </summary>
  221. public WorkFlowInstalledSub.StepSet.Event Event { get; set; }
  222. /// <summary>
  223. /// 设计时x坐标(用于排序)
  224. /// </summary>
  225. public decimal Position_x { get; set; }
  226. /// <summary>
  227. /// 设计时y坐标(用于排序)
  228. /// </summary>
  229. public decimal Position_y { get; set; }
  230. /// <summary>
  231. /// 子流程ID
  232. /// </summary>
  233. public string SubFlowID { get; set; }
  234. }
  235. /// <summary>
  236. /// 流程连线实体
  237. /// </summary>
  238. public class Line
  239. {
  240. /// <summary>
  241. /// 连线ID
  242. /// </summary>
  243. public Guid ID { get; set; }
  244. /// <summary>
  245. /// 连线源步骤ID
  246. /// </summary>
  247. public Guid FromID { get; set; }
  248. /// <summary>
  249. /// 连线目标ID
  250. /// </summary>
  251. public Guid ToID { get; set; }
  252. /// <summary>
  253. /// 连线流转条件判断方法
  254. /// </summary>
  255. public string CustomMethod { get; set; }
  256. /// <summary>
  257. /// 连线提交条件sql条件
  258. /// </summary>
  259. public string SqlWhere { get; set; }
  260. /// <summary>
  261. /// 条件不满足时的提示信息
  262. /// </summary>
  263. public string NoAccordMsg { get; set; }
  264. /// <summary>
  265. /// 发送者属于
  266. /// </summary>
  267. public string Organize_SenderIn { get; set; }
  268. /// <summary>
  269. /// 发送者不属于
  270. /// </summary>
  271. public string Organize_SenderNotIn { get; set; }
  272. /// <summary>
  273. /// 发起者属于
  274. /// </summary>
  275. public string Organize_SponsorIn { get; set; }
  276. /// <summary>
  277. /// 发起者不属于
  278. /// </summary>
  279. public string Organize_SponsorNotIn { get; set; }
  280. /// <summary>
  281. /// 发送者是部门领导
  282. /// </summary>
  283. public string Organize_SenderLeader { get; set; }
  284. /// <summary>
  285. /// 发送者是部门分管领导
  286. /// </summary>
  287. public string Organize_SenderChargeLeader { get; set; }
  288. /// <summary>
  289. /// 发起者是部门领导
  290. /// </summary>
  291. public string Organize_SponsorLeader { get; set; }
  292. /// <summary>
  293. /// 发起者是部门分管领导
  294. /// </summary>
  295. public string Organize_SponsorChargeLeader { get; set; }
  296. /// <summary>
  297. /// 发送者不是部门领导
  298. /// </summary>
  299. public string Organize_NotSenderLeader { get; set; }
  300. /// <summary>
  301. /// 发送者不是部门分管领导
  302. /// </summary>
  303. public string Organize_NotSenderChargeLeader { get; set; }
  304. /// <summary>
  305. /// 发起者不是部门领导
  306. /// </summary>
  307. public string Organize_NotSponsorLeader { get; set; }
  308. /// <summary>
  309. /// 发起者不是部门分管领导
  310. /// </summary>
  311. public string Organize_NotSponsorChargeLeader { get; set; }
  312. }
  313. }
  314. namespace RoadFlow.Data.Model.WorkFlowInstalledSub.StepSet
  315. {
  316. /// <summary>
  317. /// 步骤行为实体
  318. /// </summary>
  319. [Serializable]
  320. public class Behavior
  321. {
  322. /// <summary>
  323. /// 流转类型 0系统控制 1单选一个分支流转 2多选几个分支流转
  324. /// </summary>
  325. public int FlowType { get; set; }
  326. /// <summary>
  327. /// 运行时选择 0不允许 1允许
  328. /// </summary>
  329. public int RunSelect { get; set; }
  330. /// <summary>
  331. /// 处理者类型 0所有成员 1部门 2岗位 3工作组 4人员 5发起者 6前一步骤处理者 7某一步骤处理者 8字段值 9发起者主管 10发起者分管领导 11当前处理者主管 12当前处理者分管领导
  332. /// </summary>
  333. public int HandlerType { get; set; }
  334. /// <summary>
  335. /// 选择范围
  336. /// </summary>
  337. public string SelectRange { get; set; }
  338. /// <summary>
  339. /// 当处理者类型为 7某一步骤处理者 时的处理者步骤
  340. /// </summary>
  341. public Guid HandlerStepID { get; set; }
  342. /// <summary>
  343. /// 当处理者类型为 8字段值 时的字段
  344. /// </summary>
  345. public string ValueField { get; set; }
  346. /// <summary>
  347. /// 默认处理者
  348. /// </summary>
  349. public string DefaultHandler { get; set; }
  350. /// <summary>
  351. /// 退回策略 0不能退回 1单个退回 2全部退回
  352. /// </summary>
  353. public int BackModel { get; set; }
  354. /// <summary>
  355. /// 处理策略 0所有人必须处理 1一人同意即可 2依据人数比例 3独立处理
  356. /// </summary>
  357. public int HanlderModel { get; set; }
  358. /// <summary>
  359. /// 退回类型 0退回前一步 1退回第一步 2退回某一步
  360. /// </summary>
  361. public int BackType { get; set; }
  362. /// <summary>
  363. /// 策略百分比
  364. /// </summary>
  365. public decimal Percentage { get; set; }
  366. /// <summary>
  367. /// 退回步骤ID 当退回类型为 2退回某一步 时
  368. /// </summary>
  369. public Guid BackStepID { get; set; }
  370. /// <summary>
  371. /// 会签策略 0 不会签 1 所有步骤同意 2 一个步骤同意即可 3 依据比例
  372. /// </summary>
  373. public int Countersignature { get; set; }
  374. /// <summary>
  375. /// 会签策略是依据比例时设置的百分比
  376. /// </summary>
  377. public decimal CountersignaturePercentage { get; set; }
  378. /// <summary>
  379. /// 子流程处理策略 0 子流程完成后才能提交 1 子流程发起即可提交
  380. /// </summary>
  381. public int SubFlowStrategy { get; set; }
  382. /// <summary>
  383. /// 抄送人员
  384. /// </summary>
  385. public string CopyFor { get; set; }
  386. }
  387. /// <summary>
  388. /// 表单实体
  389. /// </summary>
  390. [Serializable]
  391. public class Form
  392. {
  393. /// <summary>
  394. /// 表单ID
  395. /// </summary>
  396. public Guid ID { get; set; }
  397. /// <summary>
  398. /// 表单名称
  399. /// </summary>
  400. public string Name { get; set; }
  401. /// <summary>
  402. /// 排序
  403. /// </summary>
  404. public int Sort { get; set; }
  405. }
  406. /// <summary>
  407. /// 流程按钮
  408. /// </summary>
  409. [Serializable]
  410. public class Button
  411. {
  412. /// <summary>
  413. /// 按钮ID(为guid则是按钮库中的按钮,否则为其它特定功能按钮)
  414. /// </summary>
  415. public string ID { get; set; }
  416. /// <summary>
  417. /// 按钮说明
  418. /// </summary>
  419. public string Note { get; set; }
  420. /// <summary>
  421. /// 排序
  422. /// </summary>
  423. public int Sort { get; set; }
  424. }
  425. /// <summary>
  426. /// 字段状态
  427. /// </summary>
  428. [Serializable]
  429. public class FieldStatus
  430. {
  431. /// <summary>
  432. /// 字段
  433. /// </summary>
  434. public string Field { get; set; }
  435. /// <summary>
  436. /// 状态 0编辑 1只读 2隐藏
  437. /// </summary>
  438. public int Status1 { get; set; }
  439. /// <summary>
  440. /// 数据检查 0不检查 1允许为空,非空时检查 2不允许为空,并检查
  441. /// </summary>
  442. public int Check { get; set; }
  443. }
  444. /// <summary>
  445. /// 相关事件
  446. /// </summary>
  447. [Serializable]
  448. public class Event
  449. {
  450. /// <summary>
  451. /// 步骤提交前事件
  452. /// </summary>
  453. public string SubmitBefore { get; set; }
  454. /// <summary>
  455. /// 步骤提交后事件
  456. /// </summary>
  457. public string SubmitAfter { get; set; }
  458. /// <summary>
  459. /// 步骤退回前事件
  460. /// </summary>
  461. public string BackBefore { get; set; }
  462. /// <summary>
  463. /// 步骤退回后事件
  464. /// </summary>
  465. public string BackAfter { get; set; }
  466. /// <summary>
  467. /// 子流程激活前事件
  468. /// </summary>
  469. public string SubFlowActivationBefore { get; set; }
  470. /// <summary>
  471. /// 子流程完成后事件
  472. /// </summary>
  473. public string SubFlowCompletedBefore { get; set; }
  474. }
  475. }