任务派发模块.sql 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. -- ============================================================
  2. -- 湛江市智慧人社运营运维(2025-2027年)项目
  3. -- 就业一湛通服务平台 - 任务派发模块 达梦数据库建表脚本
  4. --
  5. -- 依据:《需求规格说明书》第3.12节 - 任务派单
  6. -- 任务派发信息表(任务派发页面)
  7. -- 县区级接收情况表
  8. -- 镇区接收情况表
  9. -- 数据库:达梦数据库 (DM8)
  10. -- 创建日期:2025-06-10
  11. -- ============================================================
  12. -- ============================================================
  13. -- 表1:任务派发信息表
  14. -- 说明:实现市→县区→镇的三级任务派发主表,记录任务基本信息
  15. -- ============================================================
  16. CREATE TABLE TASK_DISPATCH (
  17. ID VARCHAR(36) NOT NULL,
  18. TASK_NAME VARCHAR(200) NOT NULL,
  19. PRIORITY VARCHAR(10) NOT NULL,
  20. ISSUE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  21. DEADLINE DATETIME NOT NULL,
  22. TASK_CONTENT TEXT NOT NULL,
  23. INITIATOR_ID VARCHAR(50) NOT NULL,
  24. ATTACHMENT VARCHAR(500),
  25. TASK_STATUS VARCHAR(20),
  26. CREATE_BY VARCHAR(50),
  27. CREATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  28. UPDATE_BY VARCHAR(50),
  29. UPDATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  30. SYS_ORG_CODE VARCHAR(50),
  31. PRIMARY KEY (ID)
  32. );
  33. COMMENT ON TABLE TASK_DISPATCH IS '任务派发信息表';
  34. COMMENT ON COLUMN TASK_DISPATCH.ID IS '主键ID';
  35. COMMENT ON COLUMN TASK_DISPATCH.TASK_NAME IS '任务名称';
  36. COMMENT ON COLUMN TASK_DISPATCH.PRIORITY IS '任务优先级(高/中/低)';
  37. COMMENT ON COLUMN TASK_DISPATCH.ISSUE_TIME IS '下达时间(年月日时分,默认系统当前时间)';
  38. COMMENT ON COLUMN TASK_DISPATCH.DEADLINE IS '截止时间(年月日时分)';
  39. COMMENT ON COLUMN TASK_DISPATCH.TASK_CONTENT IS '任务内容(富文本)';
  40. COMMENT ON COLUMN TASK_DISPATCH.INITIATOR_ID IS '发起人ID';
  41. COMMENT ON COLUMN TASK_DISPATCH.ATTACHMENT IS '附件';
  42. COMMENT ON COLUMN TASK_DISPATCH.TASK_STATUS IS '任务状态(草稿/进行中/已结束)';
  43. COMMENT ON COLUMN TASK_DISPATCH.CREATE_BY IS '创建人';
  44. COMMENT ON COLUMN TASK_DISPATCH.CREATE_TIME IS '创建时间';
  45. COMMENT ON COLUMN TASK_DISPATCH.UPDATE_BY IS '修改人';
  46. COMMENT ON COLUMN TASK_DISPATCH.UPDATE_TIME IS '更新时间';
  47. COMMENT ON COLUMN TASK_DISPATCH.SYS_ORG_CODE IS '组织机构编号';
  48. CREATE INDEX IDX_TASK_DISPATCH_STATUS ON TASK_DISPATCH(TASK_STATUS);
  49. CREATE INDEX IDX_TASK_DISPATCH_PRIORITY ON TASK_DISPATCH(PRIORITY);
  50. CREATE INDEX IDX_TASK_DISPATCH_INITIATOR_ID ON TASK_DISPATCH(INITIATOR_ID);
  51. -- ============================================================
  52. -- 表2:县区级接收情况表
  53. -- 说明:记录县区级接收市级下派任务的响应情况,可转发至辖区内镇
  54. -- ============================================================
  55. CREATE TABLE TASK_DISTRICT_RECEIVE (
  56. ID VARCHAR(36) NOT NULL,
  57. TASK_ID VARCHAR(36) NOT NULL,
  58. RECEIVER_ID VARCHAR(100) NOT NULL,
  59. IS_RECEIVED VARCHAR(10) NOT NULL,
  60. RECEIVE_TIME DATETIME,
  61. FORWARD_TIME DATETIME,
  62. REPLY_CONTENT TEXT NOT NULL,
  63. REPLY_TIME DATETIME,
  64. ATTACHMENT VARCHAR(500),
  65. CREATE_BY VARCHAR(50),
  66. CREATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  67. UPDATE_BY VARCHAR(50),
  68. UPDATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  69. SYS_ORG_CODE VARCHAR(50),
  70. PRIMARY KEY (ID)
  71. );
  72. COMMENT ON TABLE TASK_DISTRICT_RECEIVE IS '县区级接收情况表';
  73. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.ID IS '主键ID';
  74. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.TASK_ID IS '关联任务派发信息ID';
  75. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.RECEIVER_ID IS '接收人';
  76. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.IS_RECEIVED IS '是否已经接收(是/否)';
  77. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.RECEIVE_TIME IS '接收时间';
  78. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.FORWARD_TIME IS '转发下达时间';
  79. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.REPLY_CONTENT IS '回复内容(富文本)';
  80. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.REPLY_TIME IS '回复时间';
  81. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.ATTACHMENT IS '任务附件';
  82. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.CREATE_BY IS '创建人';
  83. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.CREATE_TIME IS '创建时间';
  84. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.UPDATE_BY IS '修改人';
  85. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.UPDATE_TIME IS '更新时间';
  86. COMMENT ON COLUMN TASK_DISTRICT_RECEIVE.SYS_ORG_CODE IS '组织机构编号';
  87. CREATE INDEX IDX_TASK_DISTRICT_RECEIVE_TASK ON TASK_DISTRICT_RECEIVE(TASK_ID);
  88. CREATE INDEX IDX_TASK_DISTRICT_RECEIVE_RECEIVED ON TASK_DISTRICT_RECEIVE(IS_RECEIVED);
  89. -- ============================================================
  90. -- 表3:镇区接收情况表
  91. -- 说明:记录镇区接收市级/县区级下派任务的响应情况
  92. -- ============================================================
  93. CREATE TABLE TASK_TOWN_RECEIVE (
  94. ID VARCHAR(36) NOT NULL,
  95. TASK_ID VARCHAR(36) NOT NULL,
  96. PARENT_ID VARCHAR(36),
  97. RECEIVER_ID VARCHAR(100) NOT NULL,
  98. IS_RECEIVED VARCHAR(10) NOT NULL,
  99. RECEIVE_TIME DATETIME,
  100. REPLY_CONTENT TEXT NOT NULL,
  101. REPLY_TIME DATETIME,
  102. ATTACHMENT VARCHAR(500),
  103. CREATE_BY VARCHAR(50),
  104. CREATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  105. UPDATE_BY VARCHAR(50),
  106. UPDATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  107. SYS_ORG_CODE VARCHAR(50),
  108. PRIMARY KEY (ID)
  109. );
  110. COMMENT ON TABLE TASK_TOWN_RECEIVE IS '镇区接收情况表';
  111. COMMENT ON COLUMN TASK_TOWN_RECEIVE.ID IS '主键ID';
  112. COMMENT ON COLUMN TASK_TOWN_RECEIVE.TASK_ID IS '关联任务派发信息ID';
  113. COMMENT ON COLUMN TASK_TOWN_RECEIVE.PARENT_ID IS '上级接收记录ID(关联县区级接收情况表ID,市级直派则为空)';
  114. COMMENT ON COLUMN TASK_TOWN_RECEIVE.RECEIVER_ID IS '接收人';
  115. COMMENT ON COLUMN TASK_TOWN_RECEIVE.IS_RECEIVED IS '是否已经接收(是/否)';
  116. COMMENT ON COLUMN TASK_TOWN_RECEIVE.RECEIVE_TIME IS '接收时间';
  117. COMMENT ON COLUMN TASK_TOWN_RECEIVE.REPLY_CONTENT IS '回复内容(富文本)';
  118. COMMENT ON COLUMN TASK_TOWN_RECEIVE.REPLY_TIME IS '回复时间';
  119. COMMENT ON COLUMN TASK_TOWN_RECEIVE.ATTACHMENT IS '任务附件';
  120. COMMENT ON COLUMN TASK_TOWN_RECEIVE.CREATE_BY IS '创建人';
  121. COMMENT ON COLUMN TASK_TOWN_RECEIVE.CREATE_TIME IS '创建时间';
  122. COMMENT ON COLUMN TASK_TOWN_RECEIVE.UPDATE_BY IS '修改人';
  123. COMMENT ON COLUMN TASK_TOWN_RECEIVE.UPDATE_TIME IS '更新时间';
  124. COMMENT ON COLUMN TASK_TOWN_RECEIVE.SYS_ORG_CODE IS '组织机构编号';
  125. CREATE INDEX IDX_TASK_TOWN_RECEIVE_TASK ON TASK_TOWN_RECEIVE(TASK_ID);
  126. CREATE INDEX IDX_TASK_TOWN_RECEIVE_PARENT ON TASK_TOWN_RECEIVE(PARENT_ID);
  127. CREATE INDEX IDX_TASK_TOWN_RECEIVE_RECEIVED ON TASK_TOWN_RECEIVE(IS_RECEIVED);
  128. -- ============================================================
  129. -- 表4:任务附件表
  130. -- 说明:统一管理任务派发各环节(任务主表、县区级/镇区级接收)的多附件上传
  131. -- 通过 BIZ_TYPE + BIZ_ID 关联不同的业务记录
  132. -- ============================================================
  133. CREATE TABLE TASK_ATTACHMENT (
  134. ID VARCHAR(36) NOT NULL,
  135. BIZ_TYPE VARCHAR(30) NOT NULL,
  136. BIZ_ID VARCHAR(36) NOT NULL,
  137. FILE_NAME VARCHAR(200) NOT NULL,
  138. FILE_PATH VARCHAR(500) NOT NULL,
  139. FILE_SIZE INTEGER,
  140. FILE_TYPE VARCHAR(50),
  141. SORT_ORDER INTEGER,
  142. CREATE_BY VARCHAR(50),
  143. CREATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  144. UPDATE_BY VARCHAR(50),
  145. UPDATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  146. SYS_ORG_CODE VARCHAR(50),
  147. PRIMARY KEY (ID)
  148. );
  149. COMMENT ON TABLE TASK_ATTACHMENT IS '任务附件表';
  150. COMMENT ON COLUMN TASK_ATTACHMENT.ID IS '主键ID';
  151. COMMENT ON COLUMN TASK_ATTACHMENT.BIZ_TYPE IS '业务类型(DISPATCH-任务派发/DISTRICT_RECEIVE-县区级接收/TOWN_RECEIVE-镇区级接收)';
  152. COMMENT ON COLUMN TASK_ATTACHMENT.BIZ_ID IS '关联业务记录ID(对应TASK_DISPATCH/TASK_DISTRICT_RECEIVE/TASK_TOWN_RECEIVE的主键)';
  153. COMMENT ON COLUMN TASK_ATTACHMENT.FILE_NAME IS '文件名称';
  154. COMMENT ON COLUMN TASK_ATTACHMENT.FILE_PATH IS '文件存储路径';
  155. COMMENT ON COLUMN TASK_ATTACHMENT.FILE_SIZE IS '文件大小(字节)';
  156. COMMENT ON COLUMN TASK_ATTACHMENT.FILE_TYPE IS '文件类型(如pdf/docx/jpg/png等)';
  157. COMMENT ON COLUMN TASK_ATTACHMENT.SORT_ORDER IS '排序序号';
  158. COMMENT ON COLUMN TASK_ATTACHMENT.CREATE_BY IS '创建人';
  159. COMMENT ON COLUMN TASK_ATTACHMENT.CREATE_TIME IS '创建时间';
  160. COMMENT ON COLUMN TASK_ATTACHMENT.UPDATE_BY IS '修改人';
  161. COMMENT ON COLUMN TASK_ATTACHMENT.UPDATE_TIME IS '更新时间';
  162. COMMENT ON COLUMN TASK_ATTACHMENT.SYS_ORG_CODE IS '组织机构编号';
  163. CREATE INDEX IDX_TASK_ATTACHMENT_BIZ ON TASK_ATTACHMENT(BIZ_TYPE, BIZ_ID);
  164. CREATE INDEX IDX_TASK_ATTACHMENT_BIZ_ID ON TASK_ATTACHMENT(BIZ_ID);
  165. -- 补增上传人ID字段
  166. ALTER TABLE TASK_ATTACHMENT ADD UPLOAD_BY VARCHAR(36) NULL;
  167. COMMENT ON COLUMN TASK_ATTACHMENT.UPLOAD_BY IS '上传人ID(记录是谁上传的附件)';
  168. -- ============================================================
  169. -- 表5:跨层级协作记录表
  170. -- 说明:记录下级(县区/镇)向上级(市级/县区)发起的协作请求,
  171. -- 包括请求内容、处理回复等。原需求:县区级可发起跨层级协作;
  172. -- 镇级可反馈任务难点请求支持;市级可查看协作记录。
  173. -- ============================================================
  174. CREATE TABLE TASK_COLLABORATION (
  175. ID VARCHAR(36) NOT NULL,
  176. TASK_ID VARCHAR(36) NOT NULL,
  177. REQUESTER_ID VARCHAR(50) NOT NULL,
  178. REQUESTER_TYPE VARCHAR(20) NOT NULL,
  179. REQUEST_CONTENT TEXT NOT NULL,
  180. TARGET_LEVEL VARCHAR(20) NOT NULL,
  181. STATUS VARCHAR(10) DEFAULT '0',
  182. REPLY_CONTENT TEXT,
  183. REPLY_TIME DATETIME,
  184. REPLY_BY VARCHAR(50),
  185. CREATE_BY VARCHAR(50),
  186. CREATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  187. UPDATE_BY VARCHAR(50),
  188. UPDATE_TIME DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  189. SYS_ORG_CODE VARCHAR(50),
  190. PRIMARY KEY (ID)
  191. );
  192. COMMENT ON TABLE TASK_COLLABORATION IS '跨层级协作记录表';
  193. COMMENT ON COLUMN TASK_COLLABORATION.ID IS '主键ID';
  194. COMMENT ON COLUMN TASK_COLLABORATION.TASK_ID IS '关联任务派发ID';
  195. COMMENT ON COLUMN TASK_COLLABORATION.REQUESTER_ID IS '发起人ID(当前登录用户)';
  196. COMMENT ON COLUMN TASK_COLLABORATION.REQUESTER_TYPE IS '发起方类型(DISTRICT-县区级/TOWN-镇街级)';
  197. COMMENT ON COLUMN TASK_COLLABORATION.REQUEST_CONTENT IS '协作请求内容';
  198. COMMENT ON COLUMN TASK_COLLABORATION.TARGET_LEVEL IS '请求目标层级(CITY-市级/DISTRICT-县区级)';
  199. COMMENT ON COLUMN TASK_COLLABORATION.STATUS IS '状态(0-待处理/1-已处理/2-已关闭)';
  200. COMMENT ON COLUMN TASK_COLLABORATION.REPLY_CONTENT IS '回复内容';
  201. COMMENT ON COLUMN TASK_COLLABORATION.REPLY_TIME IS '回复时间';
  202. COMMENT ON COLUMN TASK_COLLABORATION.REPLY_BY IS '回复人';
  203. COMMENT ON COLUMN TASK_COLLABORATION.CREATE_BY IS '创建人';
  204. COMMENT ON COLUMN TASK_COLLABORATION.CREATE_TIME IS '创建时间';
  205. COMMENT ON COLUMN TASK_COLLABORATION.UPDATE_BY IS '修改人';
  206. COMMENT ON COLUMN TASK_COLLABORATION.UPDATE_TIME IS '更新时间';
  207. COMMENT ON COLUMN TASK_COLLABORATION.SYS_ORG_CODE IS '组织机构编号';
  208. CREATE INDEX IDX_TASK_COLLABORATION_TASK ON TASK_COLLABORATION(TASK_ID);
  209. CREATE INDEX IDX_TASK_COLLABORATION_REQUESTER ON TASK_COLLABORATION(REQUESTER_ID);
  210. CREATE INDEX IDX_TASK_COLLABORATION_STATUS ON TASK_COLLABORATION(STATUS);