sx-yth.sql 163 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778
  1. /*
  2. Navicat Premium Dump SQL
  3. Source Server : 47.99.164.66 hn02le.34lkdLKD
  4. Source Server Type : MySQL
  5. Source Server Version : 50736 (5.7.36)
  6. Source Host : 47.99.164.66:3306
  7. Source Schema : sx-yth
  8. Target Server Type : MySQL
  9. Target Server Version : 50736 (5.7.36)
  10. File Encoding : 65001
  11. Date: 10/05/2026 12:42:49
  12. */
  13. -- =============================================================================
  14. -- 结构调整说明(相对 Navicat 原始导出):
  15. -- 主键 id 及原 bigint(20) 实体关联字段已统一为 VARCHAR(64),便于前后端以字符串传递 ID,避免大整数精度问题;
  16. -- 已移除列级 AUTO_INCREMENT 及表选项 AUTO_INCREMENT=…;例外:`sys_oper_log.cost_time` 仍为 bigint(毫秒耗时)。
  17. -- =============================================================================
  18. SET NAMES utf8mb4;
  19. SET FOREIGN_KEY_CHECKS = 0;
  20. -- ----------------------------
  21. -- Table structure for bx_advance_apply
  22. -- ----------------------------
  23. DROP TABLE IF EXISTS `bx_advance_apply`;
  24. CREATE TABLE `bx_advance_apply` (
  25. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  26. `apply_code` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申请单号(如 BYJ20260424001)',
  27. `applicant_id` VARCHAR(64) NOT NULL COMMENT '申请人用户ID',
  28. `applicant_name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申请人姓名(冗余)',
  29. `reason` varchar(1024) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申请原因',
  30. `purpose` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '申请目的',
  31. `expense_item_id` VARCHAR(64) DEFAULT NULL COMMENT '费用项目ID',
  32. `amount` decimal(14,2) NOT NULL COMMENT '申请金额',
  33. `status` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'draft' COMMENT '状态:draft-草稿 pending-待审批 approved-审批通过 rejected-审批驳回 issued-已发放',
  34. `current_node` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '当前审批节点名称',
  35. `wf_id` VARCHAR(64) DEFAULT NULL COMMENT '关联工作流定义ID',
  36. `issue_status` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发放状态:unissued-未发放 issued-已发放',
  37. `issue_time` datetime DEFAULT NULL COMMENT '发放时间',
  38. `issue_user_id` VARCHAR(64) DEFAULT NULL COMMENT '发放操作人ID',
  39. `issue_user_name` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发放操作人姓名',
  40. `issue_remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '发放备注',
  41. `actual_amount` decimal(14,2) DEFAULT NULL COMMENT '实际发放金额',
  42. `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  43. `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人',
  44. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  45. `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人',
  46. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  47. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
  48. PRIMARY KEY (`id`) USING BTREE,
  49. UNIQUE KEY `uk_apply_code` (`apply_code`) USING BTREE,
  50. KEY `idx_applicant_id` (`applicant_id`) USING BTREE,
  51. KEY `idx_status` (`status`) USING BTREE
  52. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='备用金申请单';
  53. -- ----------------------------
  54. -- Table structure for bx_advance_approval
  55. -- ----------------------------
  56. DROP TABLE IF EXISTS `bx_advance_approval`;
  57. CREATE TABLE `bx_advance_approval` (
  58. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  59. `apply_id` VARCHAR(64) NOT NULL COMMENT '备用金申请单ID',
  60. `node_order` int(11) NOT NULL COMMENT '节点顺序',
  61. `node_name` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '节点名称',
  62. `approver_id` VARCHAR(64) NOT NULL COMMENT '审批人用户ID',
  63. `approver_name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '审批人姓名',
  64. `approval_status` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '审批结果:approved-通过 rejected-驳回',
  65. `approval_opinion` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审批意见',
  66. `approval_time` datetime NOT NULL COMMENT '审批时间',
  67. PRIMARY KEY (`id`) USING BTREE,
  68. KEY `idx_apply_id` (`apply_id`) USING BTREE
  69. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='备用金审批记录表';
  70. -- ----------------------------
  71. -- Table structure for bx_expense_item
  72. -- ----------------------------
  73. DROP TABLE IF EXISTS `bx_expense_item`;
  74. CREATE TABLE `bx_expense_item` (
  75. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  76. `parent_id` VARCHAR(64) NOT NULL DEFAULT '0' COMMENT '父级项目ID(0为一级项目)',
  77. `item_name` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '项目名称',
  78. `item_code` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '项目编码',
  79. `level` tinyint(4) NOT NULL DEFAULT '1' COMMENT '层级:1-一级 2-二级',
  80. `sort_order` int(11) NOT NULL DEFAULT '0' COMMENT '排序号',
  81. `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态:1-启用 0-禁用',
  82. `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  83. `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人',
  84. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  85. `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人',
  86. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  87. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
  88. PRIMARY KEY (`id`) USING BTREE,
  89. KEY `idx_parent_id` (`parent_id`) USING BTREE
  90. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='费用项目表';
  91. -- ----------------------------
  92. -- Table structure for bx_reimburse_apply
  93. -- ----------------------------
  94. DROP TABLE IF EXISTS `bx_reimburse_apply`;
  95. CREATE TABLE `bx_reimburse_apply` (
  96. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  97. `apply_code` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '报销单号(如 BX20260424001)',
  98. `title` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '报销标题',
  99. `applicant_id` VARCHAR(64) NOT NULL COMMENT '申请人用户ID',
  100. `applicant_name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申请人姓名(冗余)',
  101. `expense_id` VARCHAR(64) NOT NULL COMMENT '费用项目ID(二级项目)',
  102. `expense_name` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '费用项目名称(冗余)',
  103. `amount` decimal(14,2) NOT NULL COMMENT '报销金额',
  104. `invoice_count` int(11) NOT NULL DEFAULT '0' COMMENT '发票数量',
  105. `attach_count` int(11) NOT NULL DEFAULT '0' COMMENT '附件数量',
  106. `status` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'draft' COMMENT '状态:draft-草稿 pending-待审批 approved-审批通过 rejected-审批驳回 paid-已发放 offset-已冲抵',
  107. `current_node` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '当前审批节点名称',
  108. `wf_id` VARCHAR(64) DEFAULT NULL COMMENT '关联工作流定义ID',
  109. `pay_status` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '支付状态:unpaid-未支付 paid-已发放 offset-已冲抵',
  110. `pay_time` datetime DEFAULT NULL COMMENT '支付时间',
  111. `pay_user_id` VARCHAR(64) DEFAULT NULL COMMENT '支付操作人ID',
  112. `pay_user_name` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '支付操作人姓名',
  113. `actual_amount` decimal(14,2) DEFAULT NULL COMMENT '实际发放金额',
  114. `offset_advance_id` VARCHAR(64) DEFAULT NULL COMMENT '冲抵关联的备用金单ID',
  115. `offset_amount` decimal(14,2) DEFAULT NULL COMMENT '冲抵金额',
  116. `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注说明',
  117. `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人',
  118. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  119. `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人',
  120. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  121. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
  122. PRIMARY KEY (`id`) USING BTREE,
  123. UNIQUE KEY `uk_apply_code` (`apply_code`) USING BTREE,
  124. KEY `idx_applicant_id` (`applicant_id`) USING BTREE,
  125. KEY `idx_status` (`status`) USING BTREE,
  126. KEY `idx_expense_id` (`expense_id`) USING BTREE
  127. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='报销申请单';
  128. -- ----------------------------
  129. -- Table structure for bx_reimburse_approval
  130. -- ----------------------------
  131. DROP TABLE IF EXISTS `bx_reimburse_approval`;
  132. CREATE TABLE `bx_reimburse_approval` (
  133. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  134. `apply_id` VARCHAR(64) NOT NULL COMMENT '报销申请单ID',
  135. `node_order` int(11) NOT NULL COMMENT '节点顺序',
  136. `node_name` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '节点名称',
  137. `approver_id` VARCHAR(64) NOT NULL COMMENT '审批人用户ID',
  138. `approver_name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '审批人姓名',
  139. `approval_status` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '审批结果:approved-通过 rejected-驳回',
  140. `approval_opinion` varchar(1024) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审批意见',
  141. `approval_time` datetime NOT NULL COMMENT '审批时间',
  142. PRIMARY KEY (`id`) USING BTREE,
  143. KEY `idx_apply_id` (`apply_id`) USING BTREE
  144. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='报销审批记录表';
  145. -- ----------------------------
  146. -- Table structure for bx_reimburse_detail
  147. -- ----------------------------
  148. DROP TABLE IF EXISTS `bx_reimburse_detail`;
  149. CREATE TABLE `bx_reimburse_detail` (
  150. `id` VARCHAR(64) NOT NULL,
  151. `reimburse_id` VARCHAR(64) NOT NULL COMMENT '报销单ID',
  152. `expense_id` VARCHAR(64) NOT NULL COMMENT '费用项目ID',
  153. `expense_name` varchar(128) NOT NULL COMMENT '费用项目名称',
  154. `amount` decimal(14,2) NOT NULL COMMENT '报销金额',
  155. `remark` varchar(512) DEFAULT NULL COMMENT '备注',
  156. `del_flag` smallint(6) NOT NULL DEFAULT '0',
  157. `create_by` varchar(64) DEFAULT NULL,
  158. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  159. `update_by` varchar(64) DEFAULT NULL,
  160. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  161. PRIMARY KEY (`id`) USING BTREE,
  162. KEY `idx_reimburse_id` (`reimburse_id`) USING BTREE
  163. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报销明细';
  164. -- ----------------------------
  165. -- Table structure for bx_reimburse_offset
  166. -- ----------------------------
  167. DROP TABLE IF EXISTS `bx_reimburse_offset`;
  168. CREATE TABLE `bx_reimburse_offset` (
  169. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  170. `reimburse_id` VARCHAR(64) NOT NULL COMMENT '报销申请单ID',
  171. `advance_id` VARCHAR(64) NOT NULL COMMENT '备用金申请单ID',
  172. `offset_amount` decimal(14,2) NOT NULL COMMENT '冲抵金额',
  173. `remark` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  174. `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人',
  175. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  176. PRIMARY KEY (`id`) USING BTREE,
  177. KEY `idx_reimburse_id` (`reimburse_id`) USING BTREE,
  178. KEY `idx_advance_id` (`advance_id`) USING BTREE
  179. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='报销单-备用金冲抵关联表';
  180. -- ----------------------------
  181. -- Table structure for crm_clue
  182. -- ----------------------------
  183. DROP TABLE IF EXISTS `crm_clue`;
  184. CREATE TABLE `crm_clue` (
  185. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  186. `clue_name` varchar(100) NOT NULL COMMENT '线索姓名',
  187. `mobile` varchar(20) NOT NULL COMMENT '手机号',
  188. `company` varchar(200) DEFAULT NULL COMMENT '公司名称',
  189. `customer_type` varchar(20) DEFAULT NULL COMMENT '客户类型(company-企业/person-个人)',
  190. `telephone` varchar(30) DEFAULT NULL COMMENT '固定电话',
  191. `email` varchar(100) DEFAULT NULL COMMENT '邮箱',
  192. `title` varchar(10) DEFAULT NULL COMMENT '称呼(先生/女士/其他)',
  193. `position` varchar(50) DEFAULT NULL COMMENT '职位',
  194. `source` varchar(20) NOT NULL COMMENT '线索来源(网站留言/电话咨询/展会/市场活动/老客户推荐/广告投放/社交媒体/其他)',
  195. `level` varchar(10) DEFAULT 'unrated' COMMENT '线索等级(A/B/C/unrated)',
  196. `industry` varchar(50) DEFAULT NULL COMMENT '所属行业',
  197. `park_area` varchar(100) DEFAULT NULL COMMENT '所在园区',
  198. `province` varchar(50) DEFAULT NULL COMMENT '省',
  199. `city` varchar(50) DEFAULT NULL COMMENT '市',
  200. `district` varchar(50) DEFAULT NULL COMMENT '区',
  201. `address` varchar(255) DEFAULT NULL COMMENT '详细地址',
  202. `website` varchar(500) DEFAULT NULL COMMENT '客户网站',
  203. `intent_products` varchar(500) DEFAULT NULL COMMENT '意向产品(多个用逗号分隔)',
  204. `expect_time` date DEFAULT NULL COMMENT '预计购买时间',
  205. `budget` varchar(20) DEFAULT NULL COMMENT '预算范围(1万以下/1-5万/5-10万/10-50万/50万以上/未知)',
  206. `requirement` text COMMENT '需求描述',
  207. `status` varchar(20) DEFAULT 'new' COMMENT '线索状态(new-新线索/follow-跟进中/invalid-无效/converted-已转化)',
  208. `owner_user_id` VARCHAR(64) DEFAULT NULL COMMENT '负责人ID',
  209. `owner_user_name` varchar(50) DEFAULT NULL COMMENT '负责人姓名(冗余字段)',
  210. `last_time` datetime DEFAULT NULL COMMENT '最后跟进时间',
  211. `next_time` datetime DEFAULT NULL COMMENT '下次联系时间',
  212. `follow_count` int(11) DEFAULT '0' COMMENT '跟进次数',
  213. `is_converted` tinyint(1) DEFAULT '0' COMMENT '是否已转化(0-否 1-是)',
  214. `converted_time` datetime DEFAULT NULL COMMENT '转化时间',
  215. `customer_id` VARCHAR(64) DEFAULT NULL COMMENT '转化的客户ID',
  216. `converted_by` VARCHAR(64) DEFAULT NULL COMMENT '转化操作人',
  217. `assign_time` datetime DEFAULT NULL COMMENT '分配时间',
  218. `assign_by` VARCHAR(64) DEFAULT NULL COMMENT '分配人',
  219. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  220. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  221. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  222. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  223. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  224. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  225. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  226. `version` int(11) DEFAULT '0' COMMENT '版本号',
  227. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  228. PRIMARY KEY (`id`) USING BTREE,
  229. KEY `idx_mobile` (`mobile`) USING BTREE,
  230. KEY `idx_owner` (`owner_user_id`) USING BTREE,
  231. KEY `idx_status` (`status`) USING BTREE,
  232. KEY `idx_level` (`level`) USING BTREE,
  233. KEY `idx_source` (`source`) USING BTREE,
  234. KEY `idx_create_time` (`create_time`) USING BTREE,
  235. KEY `idx_next_time` (`next_time`) USING BTREE,
  236. KEY `idx_tenant` (`tenant_id`) USING BTREE,
  237. KEY `idx_park_area` (`park_area`) USING BTREE
  238. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-线索主表';
  239. -- ----------------------------
  240. -- Table structure for crm_clue_follow
  241. -- ----------------------------
  242. DROP TABLE IF EXISTS `crm_clue_follow`;
  243. CREATE TABLE `crm_clue_follow` (
  244. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  245. `clue_id` VARCHAR(64) NOT NULL COMMENT '线索ID',
  246. `clue_name` varchar(100) DEFAULT NULL COMMENT '线索姓名(冗余)',
  247. `follow_type` varchar(20) NOT NULL COMMENT '跟进方式(电话/微信/邮件/拜访/其他)',
  248. `follow_content` text NOT NULL COMMENT '跟进内容',
  249. `next_time` datetime DEFAULT NULL COMMENT '下次联系时间',
  250. `attachments` varchar(1000) DEFAULT NULL COMMENT '附件(多个用逗号分隔)',
  251. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  252. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  253. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者(跟进人)',
  254. `create_by_name` varchar(50) DEFAULT NULL COMMENT '跟进人姓名(冗余)',
  255. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(跟进时间)',
  256. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  257. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  258. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  259. `version` int(11) DEFAULT '0' COMMENT '版本号',
  260. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  261. PRIMARY KEY (`id`) USING BTREE,
  262. KEY `idx_clue_id` (`clue_id`) USING BTREE,
  263. KEY `idx_create_by` (`create_by`) USING BTREE,
  264. KEY `idx_create_time` (`create_time`) USING BTREE,
  265. KEY `idx_next_time` (`next_time`) USING BTREE,
  266. KEY `idx_tenant` (`tenant_id`) USING BTREE
  267. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-线索跟进记录表';
  268. -- ----------------------------
  269. -- Table structure for crm_contact
  270. -- ----------------------------
  271. DROP TABLE IF EXISTS `crm_contact`;
  272. CREATE TABLE `crm_contact` (
  273. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  274. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  275. `customer_name` varchar(200) DEFAULT NULL COMMENT '客户名称(冗余)',
  276. `contact_name` varchar(100) NOT NULL COMMENT '联系人姓名',
  277. `gender` varchar(10) DEFAULT NULL COMMENT '性别(male-男/female-女)',
  278. `mobile` varchar(20) DEFAULT NULL COMMENT '手机号',
  279. `telephone` varchar(30) DEFAULT NULL COMMENT '固定电话',
  280. `email` varchar(100) DEFAULT NULL COMMENT '邮箱',
  281. `wechat` varchar(100) DEFAULT NULL COMMENT '微信号',
  282. `qq` varchar(20) DEFAULT NULL COMMENT 'QQ号',
  283. `department` varchar(100) DEFAULT NULL COMMENT '部门',
  284. `position` varchar(50) DEFAULT NULL COMMENT '职位',
  285. `role` varchar(20) DEFAULT NULL COMMENT '角色(decision-决策人/manager-管理者/user-使用者/other-其他)',
  286. `birthday` date DEFAULT NULL COMMENT '生日',
  287. `address` varchar(255) DEFAULT NULL COMMENT '住址',
  288. `is_key` tinyint(1) DEFAULT '0' COMMENT '是否关键决策人(0-否 1-是)',
  289. `is_primary` tinyint(1) DEFAULT '0' COMMENT '是否主要联系人(0-否 1-是)',
  290. `status` varchar(20) DEFAULT 'active' COMMENT '状态(active-在职/leave-离职)',
  291. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  292. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  293. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  294. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  295. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  296. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  297. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  298. `version` int(11) DEFAULT '0' COMMENT '版本号',
  299. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  300. PRIMARY KEY (`id`) USING BTREE,
  301. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  302. KEY `idx_mobile` (`mobile`) USING BTREE,
  303. KEY `idx_is_key` (`is_key`) USING BTREE,
  304. KEY `idx_tenant` (`tenant_id`) USING BTREE
  305. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-联系人表';
  306. -- ----------------------------
  307. -- Table structure for crm_contract
  308. -- ----------------------------
  309. DROP TABLE IF EXISTS `crm_contract`;
  310. CREATE TABLE `crm_contract` (
  311. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  312. `contract_no` varchar(50) NOT NULL COMMENT '合同编号(CON+yyyyMMdd+4位流水号)',
  313. `contract_name` varchar(200) NOT NULL COMMENT '合同名称',
  314. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  315. `customer_name` varchar(200) DEFAULT NULL COMMENT '客户名称(冗余字段)',
  316. `opportunity_id` VARCHAR(64) DEFAULT NULL COMMENT '商机ID',
  317. `quote_id` VARCHAR(64) DEFAULT NULL COMMENT '报价单ID',
  318. `parent_contract_id` VARCHAR(64) DEFAULT NULL COMMENT '原合同ID(续签时关联)',
  319. `renewal_count` int(11) DEFAULT '0' COMMENT '续签次数',
  320. `template_id` VARCHAR(64) DEFAULT NULL COMMENT '合同模板ID',
  321. `contract_template` varchar(50) DEFAULT 'shanxia' COMMENT '合同模版(shanxia-山峡模版/customer-客户模版)',
  322. `contact_id` VARCHAR(64) DEFAULT NULL COMMENT '联系人ID',
  323. `contact_name` varchar(50) DEFAULT NULL COMMENT '联系人姓名(冗余字段)',
  324. `contact_mobile` varchar(20) DEFAULT NULL COMMENT '联系人手机(冗余字段)',
  325. `contract_type` varchar(20) NOT NULL DEFAULT 'sale' COMMENT '合同类型(sale-销售合同/service-服务合同/lease-租赁合同/other-其他)',
  326. `contract_nature` varchar(20) DEFAULT 'new' COMMENT '合同性质(new-新签/renewal-续签/change-变更)',
  327. `amount` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '合同金额',
  328. `currency` varchar(10) DEFAULT 'CNY' COMMENT '币种(CNY-人民币/USD-美元/EUR-欧元)',
  329. `tax_rate` decimal(5,2) DEFAULT '6.00' COMMENT '税率(%)',
  330. `amount_with_tax` decimal(15,2) DEFAULT '0.00' COMMENT '含税金额',
  331. `sign_date` date DEFAULT NULL COMMENT '签订日期',
  332. `actual_sign_date` date DEFAULT NULL COMMENT '实际签订日期',
  333. `start_date` date DEFAULT NULL COMMENT '开始日期',
  334. `end_date` date DEFAULT NULL COMMENT '结束日期',
  335. `contract_period` int(11) DEFAULT NULL COMMENT '合同期限(月)',
  336. `status` varchar(20) NOT NULL DEFAULT 'draft' COMMENT '合同状态(draft-草稿/approving-审批中/approved-已审批/executing-执行中/finished-已完成/invalid-已作废)',
  337. `performance_status` varchar(20) DEFAULT 'normal' COMMENT '履约状态(normal-正常/delayed-延期/abnormal-异常/completed-已完成)',
  338. `performance_rate` decimal(5,2) DEFAULT '0.00' COMMENT '履约完成度(%)',
  339. `customer_satisfaction` int(11) DEFAULT NULL COMMENT '客户满意度(1-5星)',
  340. `approval_status` varchar(20) DEFAULT NULL COMMENT '审批状态(pending-待审批/approved-已通过/rejected-已驳回)',
  341. `approval_flow_id` VARCHAR(64) DEFAULT NULL COMMENT '审批流程ID(关联工作流)',
  342. `contract_file` varchar(500) DEFAULT NULL COMMENT '合同文件路径(扫描件或电子版)',
  343. `attachment_files` varchar(1000) DEFAULT NULL COMMENT '附件文件(多个文件用逗号分隔)',
  344. `owner_user_id` VARCHAR(64) NOT NULL COMMENT '负责人ID',
  345. `owner_user_name` varchar(50) DEFAULT NULL COMMENT '负责人姓名(冗余字段)',
  346. `received_amount` decimal(15,2) DEFAULT '0.00' COMMENT '已回款金额',
  347. `unreceived_amount` decimal(15,2) DEFAULT '0.00' COMMENT '未回款金额',
  348. `invoice_amount` decimal(15,2) DEFAULT '0.00' COMMENT '已开票金额',
  349. `uninvoice_amount` decimal(15,2) DEFAULT '0.00' COMMENT '未开票金额',
  350. `party_a` varchar(200) DEFAULT NULL COMMENT '甲方(客户方)',
  351. `party_a_address` varchar(255) DEFAULT NULL COMMENT '甲方地址',
  352. `party_a_contact` varchar(50) DEFAULT NULL COMMENT '甲方联系人',
  353. `party_a_mobile` varchar(20) DEFAULT NULL COMMENT '甲方联系电话',
  354. `party_a_legal_person` varchar(50) DEFAULT NULL COMMENT '甲方法定代表人',
  355. `party_a_agent` varchar(50) DEFAULT NULL COMMENT '甲方代理人',
  356. `party_a_phone_fax` varchar(50) DEFAULT NULL COMMENT '甲方电话/传真',
  357. `party_a_bank` varchar(100) DEFAULT NULL COMMENT '甲方开户银行',
  358. `party_a_account` varchar(50) DEFAULT NULL COMMENT '甲方银行账号',
  359. `party_b` varchar(200) DEFAULT NULL COMMENT '乙方(我方)',
  360. `party_b_address` varchar(255) DEFAULT NULL COMMENT '乙方地址',
  361. `party_b_contact` varchar(50) DEFAULT NULL COMMENT '乙方联系人',
  362. `party_b_mobile` varchar(20) DEFAULT NULL COMMENT '乙方联系电话',
  363. `party_b_legal_person` varchar(100) DEFAULT NULL COMMENT '乙方法定代表人',
  364. `party_b_agent` varchar(100) DEFAULT NULL COMMENT '乙方代理人',
  365. `party_b_phone_fax` varchar(100) DEFAULT NULL COMMENT '乙方电话/传真',
  366. `party_b_bank` varchar(200) DEFAULT NULL COMMENT '乙方开户银行',
  367. `party_b_account` varchar(100) DEFAULT NULL COMMENT '乙方银行账号',
  368. `payment_terms` text COMMENT '付款条款',
  369. `delivery_terms` text COMMENT '交付条款',
  370. `contract_terms` text COMMENT '合同条款',
  371. `invalid_reason` varchar(500) DEFAULT NULL COMMENT '作废原因',
  372. `invalid_time` datetime DEFAULT NULL COMMENT '作废时间',
  373. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  374. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  375. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  376. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  377. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  378. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  379. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  380. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  381. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  382. `template_content` longtext COMMENT '合同模板内容(富文本HTML)',
  383. `settlement_clause_drafts` longtext COMMENT '第五条结算方式草稿(按结算方式区分的JSON)',
  384. `supplier_id` VARCHAR(64) DEFAULT NULL COMMENT '供方主体ID(关联crm_supplier_info表)',
  385. `settlement_method` varchar(50) DEFAULT NULL COMMENT '结算方式(arrive_payment-货到付款,advance_payment-款到发货)',
  386. PRIMARY KEY (`id`) USING BTREE,
  387. UNIQUE KEY `uk_contract_no_del_flag` (`contract_no`,`del_flag`) USING BTREE,
  388. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  389. KEY `idx_opportunity_id` (`opportunity_id`) USING BTREE,
  390. KEY `idx_quote_id` (`quote_id`) USING BTREE,
  391. KEY `idx_owner_user_id` (`owner_user_id`) USING BTREE,
  392. KEY `idx_status` (`status`) USING BTREE,
  393. KEY `idx_approval_status` (`approval_status`) USING BTREE,
  394. KEY `idx_sign_date` (`sign_date`) USING BTREE,
  395. KEY `idx_end_date` (`end_date`) USING BTREE,
  396. KEY `idx_tenant_id` (`tenant_id`) USING BTREE,
  397. KEY `idx_create_time` (`create_time`) USING BTREE,
  398. KEY `idx_contract_nature` (`contract_nature`) USING BTREE,
  399. KEY `idx_parent_contract_id` (`parent_contract_id`) USING BTREE,
  400. KEY `idx_performance_status` (`performance_status`) USING BTREE,
  401. KEY `idx_supplier_id` (`supplier_id`)
  402. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-合同主表';
  403. -- ----------------------------
  404. -- Table structure for crm_contract_approval
  405. -- ----------------------------
  406. DROP TABLE IF EXISTS `crm_contract_approval`;
  407. CREATE TABLE `crm_contract_approval` (
  408. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  409. `contract_id` VARCHAR(64) NOT NULL COMMENT '合同ID',
  410. `flow_id` VARCHAR(64) DEFAULT NULL COMMENT '审批流程ID(关联工作流)',
  411. `step` int(11) NOT NULL DEFAULT '1' COMMENT '审批步骤(第几步)',
  412. `step_name` varchar(100) DEFAULT NULL COMMENT '步骤名称',
  413. `approver_id` VARCHAR(64) NOT NULL COMMENT '审批人ID',
  414. `approver_name` varchar(50) DEFAULT NULL COMMENT '审批人姓名',
  415. `approver_dept` varchar(100) DEFAULT NULL COMMENT '审批人部门',
  416. `approval_result` varchar(20) DEFAULT 'pending' COMMENT '审批结果(pending-待审批/approved-已通过/rejected-已驳回)',
  417. `approval_opinion` text COMMENT '审批意见',
  418. `approval_time` datetime DEFAULT NULL COMMENT '审批时间',
  419. `approval_duration` int(11) DEFAULT NULL COMMENT '审批耗时(小时)',
  420. `attachments` varchar(1000) DEFAULT NULL COMMENT '附件',
  421. `is_current` tinyint(1) DEFAULT '1' COMMENT '是否当前步骤(0否 1是)',
  422. `sort` int(11) DEFAULT '0' COMMENT '排序号',
  423. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  424. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  425. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  426. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  427. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  428. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  429. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  430. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  431. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  432. PRIMARY KEY (`id`) USING BTREE,
  433. KEY `idx_contract_id` (`contract_id`) USING BTREE,
  434. KEY `idx_approver_id` (`approver_id`) USING BTREE,
  435. KEY `idx_approval_result` (`approval_result`) USING BTREE,
  436. KEY `idx_is_current` (`is_current`) USING BTREE,
  437. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  438. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-合同审批记录表';
  439. -- ----------------------------
  440. -- Table structure for crm_contract_change
  441. -- ----------------------------
  442. DROP TABLE IF EXISTS `crm_contract_change`;
  443. CREATE TABLE `crm_contract_change` (
  444. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  445. `contract_id` VARCHAR(64) NOT NULL COMMENT '合同ID',
  446. `contract_no` varchar(50) DEFAULT NULL COMMENT '合同编号(冗余)',
  447. `change_type` varchar(50) NOT NULL COMMENT '变更类型(amount-金额变更/period-期限变更/product-产品变更/terms-条款变更/other-其他)',
  448. `change_reason` varchar(500) NOT NULL COMMENT '变更原因',
  449. `change_content` text COMMENT '变更内容描述',
  450. `old_value` text COMMENT '变更前值(JSON格式)',
  451. `new_value` text COMMENT '变更后值(JSON格式)',
  452. `change_amount` decimal(15,2) DEFAULT NULL COMMENT '变更金额(用于金额变更)',
  453. `approval_status` varchar(20) DEFAULT 'pending' COMMENT '审批状态(pending-待审批/approved-已通过/rejected-已驳回)',
  454. `approver_id` VARCHAR(64) DEFAULT NULL COMMENT '审批人ID',
  455. `approver_name` varchar(50) DEFAULT NULL COMMENT '审批人姓名',
  456. `approval_time` datetime DEFAULT NULL COMMENT '审批时间',
  457. `approval_opinion` varchar(500) DEFAULT NULL COMMENT '审批意见',
  458. `attachment_files` varchar(1000) DEFAULT NULL COMMENT '附件文件(变更协议等)',
  459. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  460. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  461. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  462. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  463. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  464. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  465. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  466. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  467. PRIMARY KEY (`id`) USING BTREE,
  468. KEY `idx_contract_id` (`contract_id`) USING BTREE,
  469. KEY `idx_change_type` (`change_type`) USING BTREE,
  470. KEY `idx_approval_status` (`approval_status`) USING BTREE,
  471. KEY `idx_tenant_id` (`tenant_id`) USING BTREE,
  472. KEY `idx_create_time` (`create_time`) USING BTREE
  473. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-合同变更记录表';
  474. -- ----------------------------
  475. -- Table structure for crm_contract_product
  476. -- ----------------------------
  477. DROP TABLE IF EXISTS `crm_contract_product`;
  478. CREATE TABLE `crm_contract_product` (
  479. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  480. `contract_id` VARCHAR(64) NOT NULL COMMENT '合同ID',
  481. `product_id` VARCHAR(64) NOT NULL COMMENT '产品ID',
  482. `product_name` varchar(200) NOT NULL COMMENT '产品名称',
  483. `product_no` varchar(50) DEFAULT NULL COMMENT '产品编号',
  484. `category_id` VARCHAR(64) DEFAULT NULL COMMENT '产品分类ID',
  485. `category_name` varchar(100) DEFAULT NULL COMMENT '产品分类名称',
  486. `model` varchar(100) DEFAULT NULL COMMENT '规格型号',
  487. `unit` varchar(20) DEFAULT '件' COMMENT '单位',
  488. `quantity` decimal(20,4) NOT NULL COMMENT '数量',
  489. `price` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '单价',
  490. `discount` decimal(5,2) DEFAULT '0.00' COMMENT '折扣(百分比)',
  491. `tax_rate` decimal(5,2) DEFAULT '6.00' COMMENT '税率(%)',
  492. `tax_amount` decimal(15,2) DEFAULT '0.00' COMMENT '税费金额',
  493. `subtotal` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '小计金额',
  494. `delivery_date` date DEFAULT NULL COMMENT '交付日期',
  495. `delivery_status` varchar(20) DEFAULT 'pending' COMMENT '交付状态(pending-待交付/partial-部分交付/delivered-已交付)',
  496. `delivered_quantity` decimal(20,4) DEFAULT '0.0000' COMMENT '已交付数量',
  497. `description` varchar(1000) DEFAULT NULL COMMENT '产品描述',
  498. `package_spec` varchar(200) DEFAULT NULL COMMENT '包装规格',
  499. `delivery_method` varchar(100) DEFAULT NULL COMMENT '送货方式',
  500. `sort` int(11) DEFAULT '0' COMMENT '排序号',
  501. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  502. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  503. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  504. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  505. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  506. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  507. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  508. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  509. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  510. PRIMARY KEY (`id`) USING BTREE,
  511. KEY `idx_contract_id` (`contract_id`) USING BTREE,
  512. KEY `idx_product_id` (`product_id`) USING BTREE,
  513. KEY `idx_delivery_status` (`delivery_status`) USING BTREE,
  514. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  515. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-合同产品明细表';
  516. -- ----------------------------
  517. -- Table structure for crm_contract_product_price_tier
  518. -- ----------------------------
  519. DROP TABLE IF EXISTS `crm_contract_product_price_tier`;
  520. CREATE TABLE `crm_contract_product_price_tier` (
  521. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  522. `contract_id` VARCHAR(64) NOT NULL COMMENT '合同ID',
  523. `contract_product_id` VARCHAR(64) NOT NULL COMMENT '合同产品明细ID',
  524. `start_date` date NOT NULL COMMENT '区间开始日期',
  525. `end_date` date NOT NULL COMMENT '区间结束日期',
  526. `price` decimal(15,2) NOT NULL COMMENT '含税单价',
  527. `letter_oss_ids` varchar(4000) DEFAULT NULL COMMENT '调价函OSS ID列表(JSON字符串数组,如["id1","id2"])',
  528. `letter_oss_id` VARCHAR(64) DEFAULT NULL COMMENT '调价函单附件OSS ID(废弃,请使用 letter_oss_ids)',
  529. `sort` int(11) DEFAULT '0' COMMENT '排序号',
  530. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  531. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  532. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  533. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  534. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  535. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  536. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  537. PRIMARY KEY (`id`),
  538. KEY `idx_contract_id` (`contract_id`),
  539. KEY `idx_contract_product_id` (`contract_product_id`)
  540. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-框架合同产品调价区间';
  541. -- ----------------------------
  542. -- Table structure for crm_contract_template
  543. -- ----------------------------
  544. DROP TABLE IF EXISTS `crm_contract_template`;
  545. CREATE TABLE `crm_contract_template` (
  546. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  547. `template_no` varchar(50) NOT NULL COMMENT '模板编号',
  548. `template_name` varchar(200) NOT NULL COMMENT '模板名称',
  549. `contract_type` varchar(20) DEFAULT NULL COMMENT '适用合同类型(sale-销售/service-服务等)',
  550. `template_content` text COMMENT '模板内容(富文本)',
  551. `payment_terms` text COMMENT '付款条款模板',
  552. `delivery_terms` text COMMENT '交付条款模板',
  553. `contract_terms` text COMMENT '合同条款模板',
  554. `party_b` varchar(200) DEFAULT NULL COMMENT '乙方(我方)默认名称',
  555. `party_b_address` varchar(255) DEFAULT NULL COMMENT '乙方地址',
  556. `party_b_contact` varchar(50) DEFAULT NULL COMMENT '乙方联系人',
  557. `party_b_mobile` varchar(20) DEFAULT NULL COMMENT '乙方联系电话',
  558. `default_currency` varchar(10) DEFAULT 'CNY' COMMENT '默认币种',
  559. `default_tax_rate` decimal(5,2) DEFAULT '6.00' COMMENT '默认税率(%)',
  560. `default_period` int(11) DEFAULT '12' COMMENT '默认合同期限(月)',
  561. `is_active` tinyint(1) DEFAULT '1' COMMENT '是否启用(0-停用 1-启用)',
  562. `usage_count` int(11) DEFAULT '0' COMMENT '使用次数',
  563. `sort` int(11) DEFAULT '0' COMMENT '排序号',
  564. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  565. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  566. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  567. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  568. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  569. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  570. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  571. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  572. PRIMARY KEY (`id`) USING BTREE,
  573. UNIQUE KEY `uk_template_no` (`template_no`) USING BTREE,
  574. KEY `idx_contract_type` (`contract_type`) USING BTREE,
  575. KEY `idx_is_active` (`is_active`) USING BTREE,
  576. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  577. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-合同模板表';
  578. -- ----------------------------
  579. -- Table structure for crm_customer
  580. -- ----------------------------
  581. DROP TABLE IF EXISTS `crm_customer`;
  582. CREATE TABLE `crm_customer` (
  583. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  584. `customer_no` varchar(50) NOT NULL COMMENT '客户编号(唯一)',
  585. `customer_name` varchar(200) NOT NULL COMMENT '客户名称',
  586. `short_name` varchar(100) DEFAULT NULL COMMENT '客户简称',
  587. `customer_type` varchar(20) DEFAULT 'company' COMMENT '客户类型(company-企业/person-个人)',
  588. `mobile` varchar(20) DEFAULT NULL COMMENT '手机号',
  589. `telephone` varchar(30) DEFAULT NULL COMMENT '固定电话',
  590. `email` varchar(100) DEFAULT NULL COMMENT '邮箱',
  591. `website` varchar(500) DEFAULT NULL COMMENT '客户网站',
  592. `level` varchar(20) DEFAULT 'normal' COMMENT '客户级别(key-重点/normal-普通/potential-潜在)',
  593. `source` varchar(20) DEFAULT NULL COMMENT '客户来源',
  594. `industry` varchar(50) DEFAULT NULL COMMENT '所属行业',
  595. `park_area` varchar(100) DEFAULT NULL COMMENT '所在园区',
  596. `payment_terms` varchar(500) DEFAULT NULL COMMENT '收付款条件(如:预付30%、账期30天等)',
  597. `scale` varchar(20) DEFAULT NULL COMMENT '企业规模(1-50人/50-200人/200-500人/500人以上)',
  598. `province` varchar(50) DEFAULT NULL COMMENT '省',
  599. `city` varchar(50) DEFAULT NULL COMMENT '市',
  600. `district` varchar(50) DEFAULT NULL COMMENT '区',
  601. `address` varchar(255) DEFAULT NULL COMMENT '详细地址',
  602. `status` varchar(20) DEFAULT 'normal' COMMENT '客户状态(normal-正常/pool-公海/invalid-无效)',
  603. `deal_status` varchar(20) DEFAULT 'not_deal' COMMENT '成交状态(not_deal-未成交/dealed-已成交/lost-已流失)',
  604. `owner_user_id` VARCHAR(64) DEFAULT NULL COMMENT '负责人ID',
  605. `owner_user_name` varchar(50) DEFAULT NULL COMMENT '负责人姓名(冗余)',
  606. `last_time` datetime DEFAULT NULL COMMENT '最后跟进时间',
  607. `next_time` datetime DEFAULT NULL COMMENT '下次联系时间',
  608. `follow_count` int(11) DEFAULT '0' COMMENT '跟进次数',
  609. `deal_time` datetime DEFAULT NULL COMMENT '成交时间',
  610. `deal_amount` decimal(15,2) DEFAULT '0.00' COMMENT '累计成交金额',
  611. `contact_count` int(11) DEFAULT '0' COMMENT '联系人数量',
  612. `opportunity_count` int(11) DEFAULT '0' COMMENT '商机数量',
  613. `contract_count` int(11) DEFAULT '0' COMMENT '合同数量',
  614. `into_pool_time` datetime DEFAULT NULL COMMENT '进入公海时间',
  615. `into_pool_by` VARCHAR(64) DEFAULT NULL COMMENT '进入公海操作人ID',
  616. `into_pool_reason` varchar(500) DEFAULT NULL COMMENT '进入公海原因',
  617. `claim_time` datetime DEFAULT NULL COMMENT '领取时间',
  618. `assign_time` datetime DEFAULT NULL COMMENT '分配时间',
  619. `assign_by` VARCHAR(64) DEFAULT NULL COMMENT '分配人ID',
  620. `protect_time` datetime DEFAULT NULL COMMENT '保护到期时间',
  621. `clue_id` VARCHAR(64) DEFAULT NULL COMMENT '关联线索ID(从线索转化)',
  622. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  623. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  624. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  625. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  626. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  627. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  628. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  629. `version` int(11) DEFAULT '0' COMMENT '版本号',
  630. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  631. `business_license_images` varchar(1000) DEFAULT NULL COMMENT '营业执照图片OSS ID(多个用逗号分隔)',
  632. `business_permit_images` varchar(1000) DEFAULT NULL COMMENT '经营许可证图片OSS ID(多个用逗号分隔)',
  633. `other_cert_images` varchar(1000) DEFAULT NULL COMMENT '其他证件图片OSS ID(多个用逗号分隔)',
  634. PRIMARY KEY (`id`) USING BTREE,
  635. UNIQUE KEY `uk_customer_no_del_flag` (`customer_no`,`del_flag`) USING BTREE,
  636. KEY `idx_mobile` (`mobile`) USING BTREE,
  637. KEY `idx_owner` (`owner_user_id`) USING BTREE,
  638. KEY `idx_status` (`status`) USING BTREE,
  639. KEY `idx_level` (`level`) USING BTREE,
  640. KEY `idx_deal_status` (`deal_status`) USING BTREE,
  641. KEY `idx_source` (`source`) USING BTREE,
  642. KEY `idx_create_time` (`create_time`) USING BTREE,
  643. KEY `idx_next_time` (`next_time`) USING BTREE,
  644. KEY `idx_clue` (`clue_id`) USING BTREE,
  645. KEY `idx_tenant` (`tenant_id`) USING BTREE,
  646. KEY `idx_park_area` (`park_area`) USING BTREE
  647. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-客户主表';
  648. -- ----------------------------
  649. -- Table structure for crm_customer_follow
  650. -- ----------------------------
  651. DROP TABLE IF EXISTS `crm_customer_follow`;
  652. CREATE TABLE `crm_customer_follow` (
  653. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  654. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  655. `customer_name` varchar(200) DEFAULT NULL COMMENT '客户名称(冗余)',
  656. `contact_id` VARCHAR(64) DEFAULT NULL COMMENT '联系人ID',
  657. `contact_name` varchar(100) DEFAULT NULL COMMENT '联系人姓名(冗余)',
  658. `follow_type` varchar(20) NOT NULL COMMENT '跟进方式(电话/微信/邮件/拜访/其他)',
  659. `follow_content` text NOT NULL COMMENT '跟进内容',
  660. `next_time` datetime DEFAULT NULL COMMENT '下次联系时间',
  661. `attachments` varchar(1000) DEFAULT NULL COMMENT '附件(多个用逗号分隔)',
  662. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  663. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  664. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者(跟进人)',
  665. `create_by_name` varchar(50) DEFAULT NULL COMMENT '跟进人姓名(冗余)',
  666. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(跟进时间)',
  667. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  668. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  669. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  670. `version` int(11) DEFAULT '0' COMMENT '版本号',
  671. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  672. PRIMARY KEY (`id`) USING BTREE,
  673. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  674. KEY `idx_contact_id` (`contact_id`) USING BTREE,
  675. KEY `idx_create_by` (`create_by`) USING BTREE,
  676. KEY `idx_create_time` (`create_time`) USING BTREE,
  677. KEY `idx_next_time` (`next_time`) USING BTREE,
  678. KEY `idx_tenant` (`tenant_id`) USING BTREE
  679. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-客户跟进记录表';
  680. -- ----------------------------
  681. -- Table structure for crm_customer_pool
  682. -- ----------------------------
  683. DROP TABLE IF EXISTS `crm_customer_pool`;
  684. CREATE TABLE `crm_customer_pool` (
  685. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  686. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  687. `customer_name` varchar(200) DEFAULT NULL COMMENT '客户名称(冗余)',
  688. `operation_type` varchar(20) NOT NULL COMMENT '操作类型(into-进入公海/claim-领取/assign-分配/recycle-回收)',
  689. `from_user_id` VARCHAR(64) DEFAULT NULL COMMENT '原负责人ID',
  690. `from_user_name` varchar(50) DEFAULT NULL COMMENT '原负责人姓名(冗余)',
  691. `to_user_id` VARCHAR(64) DEFAULT NULL COMMENT '新负责人ID',
  692. `to_user_name` varchar(50) DEFAULT NULL COMMENT '新负责人姓名(冗余)',
  693. `reason` varchar(500) DEFAULT NULL COMMENT '操作原因',
  694. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  695. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  696. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者(操作人)',
  697. `create_by_name` varchar(50) DEFAULT NULL COMMENT '操作人姓名(冗余)',
  698. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(操作时间)',
  699. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  700. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  701. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  702. `version` int(11) DEFAULT '0' COMMENT '版本号',
  703. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  704. PRIMARY KEY (`id`) USING BTREE,
  705. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  706. KEY `idx_operation_type` (`operation_type`) USING BTREE,
  707. KEY `idx_from_user` (`from_user_id`) USING BTREE,
  708. KEY `idx_to_user` (`to_user_id`) USING BTREE,
  709. KEY `idx_create_time` (`create_time`) USING BTREE,
  710. KEY `idx_tenant` (`tenant_id`) USING BTREE
  711. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-客户公海池记录表';
  712. -- ----------------------------
  713. -- Table structure for crm_customer_pool_rule
  714. -- ----------------------------
  715. DROP TABLE IF EXISTS `crm_customer_pool_rule`;
  716. CREATE TABLE `crm_customer_pool_rule` (
  717. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  718. `pool_name` varchar(100) NOT NULL COMMENT '规则名称',
  719. `rule_type` varchar(20) NOT NULL COMMENT '规则类型(no_follow-未跟进/no_deal-未成交)',
  720. `timeout_days` int(11) NOT NULL COMMENT '超时天数(多少天未跟进/未成交)',
  721. `protect_days` int(11) NOT NULL DEFAULT '0' COMMENT '保护期天数(领取后保护多少天)',
  722. `status` varchar(20) DEFAULT 'enable' COMMENT '状态(enable-启用/disable-禁用)',
  723. `sort` int(11) DEFAULT '0' COMMENT '排序号',
  724. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  725. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  726. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  727. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  728. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  729. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  730. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  731. `version` int(11) DEFAULT '0' COMMENT '版本号',
  732. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  733. PRIMARY KEY (`id`) USING BTREE,
  734. KEY `idx_status` (`status`) USING BTREE,
  735. KEY `idx_rule_type` (`rule_type`) USING BTREE,
  736. KEY `idx_sort` (`sort`) USING BTREE,
  737. KEY `idx_tenant` (`tenant_id`) USING BTREE
  738. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-客户公海池规则表';
  739. -- ----------------------------
  740. -- Table structure for crm_customer_tag
  741. -- ----------------------------
  742. DROP TABLE IF EXISTS `crm_customer_tag`;
  743. CREATE TABLE `crm_customer_tag` (
  744. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  745. `tag_name` varchar(50) NOT NULL COMMENT '标签名称',
  746. `tag_color` varchar(20) DEFAULT '#409EFF' COMMENT '标签颜色(十六进制颜色值)',
  747. `tag_type` varchar(20) DEFAULT 'custom' COMMENT '标签类型(system-系统预设/custom-自定义)',
  748. `sort_order` int(11) DEFAULT '0' COMMENT '排序号',
  749. `share_scope` varchar(20) DEFAULT 'private' COMMENT '共享范围(private-个人/dept-部门/company-公司)',
  750. `create_user_id` VARCHAR(64) DEFAULT NULL COMMENT '创建人ID',
  751. `create_user_name` varchar(50) DEFAULT NULL COMMENT '创建人姓名',
  752. `use_count` int(11) DEFAULT '0' COMMENT '使用次数',
  753. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  754. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  755. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  756. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  757. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  758. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  759. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  760. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  761. PRIMARY KEY (`id`) USING BTREE,
  762. UNIQUE KEY `uk_tag_name` (`tag_name`,`tenant_id`,`del_flag`) USING BTREE,
  763. KEY `idx_tag_type` (`tag_type`) USING BTREE,
  764. KEY `idx_share_scope` (`share_scope`) USING BTREE,
  765. KEY `idx_create_user` (`create_user_id`) USING BTREE,
  766. KEY `idx_tenant` (`tenant_id`) USING BTREE
  767. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-客户标签表';
  768. -- ----------------------------
  769. -- Table structure for crm_customer_tag_relation
  770. -- ----------------------------
  771. DROP TABLE IF EXISTS `crm_customer_tag_relation`;
  772. CREATE TABLE `crm_customer_tag_relation` (
  773. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  774. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  775. `customer_name` varchar(200) DEFAULT NULL COMMENT '客户名称(冗余)',
  776. `tag_id` VARCHAR(64) NOT NULL COMMENT '标签ID',
  777. `tag_name` varchar(50) DEFAULT NULL COMMENT '标签名称(冗余)',
  778. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  779. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者(打标签的人)',
  780. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  781. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  782. PRIMARY KEY (`id`) USING BTREE,
  783. UNIQUE KEY `uk_customer_tag` (`customer_id`,`tag_id`,`del_flag`) USING BTREE,
  784. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  785. KEY `idx_tag_id` (`tag_id`) USING BTREE,
  786. KEY `idx_tenant` (`tenant_id`) USING BTREE
  787. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-客户标签关联表';
  788. -- ----------------------------
  789. -- Table structure for crm_invoice
  790. -- ----------------------------
  791. DROP TABLE IF EXISTS `crm_invoice`;
  792. CREATE TABLE `crm_invoice` (
  793. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  794. `invoice_no` varchar(50) NOT NULL COMMENT '发票编号(INV+yyyyMMdd+4位流水号)',
  795. `invoice_code` varchar(50) DEFAULT NULL COMMENT '发票代码(税务发票代码)',
  796. `invoice_number` varchar(50) DEFAULT NULL COMMENT '发票号码(税务发票号码)',
  797. `contract_id` VARCHAR(64) NOT NULL COMMENT '合同ID',
  798. `contract_no` varchar(50) DEFAULT NULL COMMENT '合同编号(冗余字段)',
  799. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  800. `customer_name` varchar(200) DEFAULT NULL COMMENT '客户名称(冗余字段)',
  801. `payment_id` VARCHAR(64) DEFAULT NULL COMMENT '回款ID',
  802. `payment_no` varchar(50) DEFAULT NULL COMMENT '回款编号(冗余字段)',
  803. `invoice_type` varchar(20) NOT NULL DEFAULT 'special' COMMENT '发票类型(special-增值税专用发票/normal-增值税普通发票/electronic-电子发票)',
  804. `invoice_title` varchar(200) NOT NULL COMMENT '发票抬头',
  805. `tax_no` varchar(50) NOT NULL COMMENT '纳税人识别号',
  806. `company_address` varchar(255) DEFAULT NULL COMMENT '企业地址',
  807. `company_phone` varchar(50) DEFAULT NULL COMMENT '企业电话',
  808. `bank_name` varchar(100) DEFAULT NULL COMMENT '开户银行',
  809. `bank_account` varchar(100) DEFAULT NULL COMMENT '银行账号',
  810. `amount` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '开票金额(不含税)',
  811. `tax_rate` decimal(5,2) NOT NULL DEFAULT '6.00' COMMENT '税率(百分比,如6.00表示6%)',
  812. `is_tax_included` tinyint(1) DEFAULT '0' COMMENT '是否含税: 0-不含税 1-含税',
  813. `tax_amount` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '税额',
  814. `total_amount` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '价税合计',
  815. `invoice_content` varchar(200) DEFAULT NULL COMMENT '开票内容',
  816. `invoice_date` date DEFAULT NULL COMMENT '开票日期',
  817. `status` varchar(20) NOT NULL DEFAULT 'applying' COMMENT '发票状态(applying-申请中/approved-已审批/invoiced-已开票/delivered-已寄出/received-已签收/rejected-已驳回/invalid-已作废)',
  818. `reject_reason` varchar(500) DEFAULT NULL COMMENT '驳回原因',
  819. `invalid_reason` varchar(500) DEFAULT NULL COMMENT '作废原因',
  820. `invalid_time` datetime DEFAULT NULL COMMENT '作废时间',
  821. `invoice_file` varchar(500) DEFAULT NULL COMMENT '发票PDF文件',
  822. `invoice_image` varchar(500) DEFAULT NULL COMMENT '发票图片(扫描件)',
  823. `express_company` varchar(50) DEFAULT NULL COMMENT '快递公司',
  824. `express_no` varchar(100) DEFAULT NULL COMMENT '快递单号',
  825. `express_status` varchar(20) DEFAULT 'no' COMMENT '快递状态(no-未寄出/sent-已寄出/received-已签收)',
  826. `express_time` datetime DEFAULT NULL COMMENT '寄出时间',
  827. `receive_time` datetime DEFAULT NULL COMMENT '签收时间',
  828. `mail_address` varchar(255) DEFAULT NULL COMMENT '邮寄地址',
  829. `mail_contact` varchar(50) DEFAULT NULL COMMENT '收件人',
  830. `mail_mobile` varchar(20) DEFAULT NULL COMMENT '收件电话',
  831. `owner_user_id` VARCHAR(64) NOT NULL COMMENT '负责人ID',
  832. `owner_user_name` varchar(50) DEFAULT NULL COMMENT '负责人姓名(冗余字段)',
  833. `apply_by` VARCHAR(64) DEFAULT NULL COMMENT '申请人ID',
  834. `apply_by_name` varchar(50) DEFAULT NULL COMMENT '申请人姓名',
  835. `apply_time` datetime DEFAULT NULL COMMENT '申请时间',
  836. `approve_by` VARCHAR(64) DEFAULT NULL COMMENT '审批人ID',
  837. `approve_by_name` varchar(50) DEFAULT NULL COMMENT '审批人姓名',
  838. `approve_time` datetime DEFAULT NULL COMMENT '审批时间',
  839. `invoice_by` VARCHAR(64) DEFAULT NULL COMMENT '开票人ID',
  840. `invoice_by_name` varchar(50) DEFAULT NULL COMMENT '开票人姓名',
  841. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  842. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  843. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  844. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  845. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  846. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  847. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  848. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  849. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  850. PRIMARY KEY (`id`) USING BTREE,
  851. UNIQUE KEY `uk_invoice_no_del_flag` (`invoice_no`,`del_flag`) USING BTREE,
  852. KEY `uk_invoice_number` (`invoice_number`) USING BTREE,
  853. KEY `idx_contract_id` (`contract_id`) USING BTREE,
  854. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  855. KEY `idx_payment_id` (`payment_id`) USING BTREE,
  856. KEY `idx_owner_user_id` (`owner_user_id`) USING BTREE,
  857. KEY `idx_status` (`status`) USING BTREE,
  858. KEY `idx_invoice_date` (`invoice_date`) USING BTREE,
  859. KEY `idx_express_status` (`express_status`) USING BTREE,
  860. KEY `idx_tenant_id` (`tenant_id`) USING BTREE,
  861. KEY `idx_create_time` (`create_time`) USING BTREE
  862. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-发票主表';
  863. -- ----------------------------
  864. -- Table structure for crm_invoice_info
  865. -- ----------------------------
  866. DROP TABLE IF EXISTS `crm_invoice_info`;
  867. CREATE TABLE `crm_invoice_info` (
  868. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  869. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  870. `company_name` varchar(200) DEFAULT NULL COMMENT '单位名称(章)',
  871. `company_address` varchar(500) DEFAULT NULL COMMENT '单位地址',
  872. `legal_representative` varchar(100) DEFAULT NULL COMMENT '法定代表人',
  873. `agent` varchar(100) DEFAULT NULL COMMENT '代理人',
  874. `phone_fax` varchar(100) DEFAULT NULL COMMENT '电话/传真',
  875. `bank_name` varchar(200) DEFAULT NULL COMMENT '开户银行',
  876. `bank_account` varchar(100) DEFAULT NULL COMMENT '账号',
  877. `is_default` char(1) DEFAULT '0' COMMENT '是否默认(0否 1是)',
  878. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  879. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  880. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  881. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  882. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  883. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  884. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  885. `del_flag` int(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
  886. PRIMARY KEY (`id`) USING BTREE,
  887. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  888. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  889. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户开票信息表';
  890. -- ----------------------------
  891. -- Table structure for crm_invoice_item
  892. -- ----------------------------
  893. DROP TABLE IF EXISTS `crm_invoice_item`;
  894. CREATE TABLE `crm_invoice_item` (
  895. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  896. `invoice_id` VARCHAR(64) NOT NULL COMMENT '发票ID',
  897. `item_name` varchar(200) NOT NULL COMMENT '项目名称',
  898. `spec` varchar(100) DEFAULT NULL COMMENT '规格型号',
  899. `unit` varchar(50) DEFAULT NULL COMMENT '单位',
  900. `quantity` decimal(15,2) DEFAULT '0.00' COMMENT '数量',
  901. `unit_price` decimal(15,2) DEFAULT '0.00' COMMENT '单价',
  902. `amount` decimal(15,2) DEFAULT '0.00' COMMENT '金额',
  903. `tax_rate` decimal(5,2) DEFAULT '0.00' COMMENT '税率(百分比)',
  904. `tax_amount` decimal(15,2) DEFAULT '0.00' COMMENT '税额',
  905. `total_amount` decimal(15,2) DEFAULT '0.00' COMMENT '价税合计',
  906. `sort` int(11) DEFAULT '0' COMMENT '排序',
  907. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  908. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  909. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  910. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  911. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  912. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  913. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  914. PRIMARY KEY (`id`) USING BTREE,
  915. KEY `idx_invoice_id` (`invoice_id`) USING BTREE,
  916. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  917. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-发票明细表';
  918. -- ----------------------------
  919. -- Table structure for crm_opportunity
  920. -- ----------------------------
  921. DROP TABLE IF EXISTS `crm_opportunity`;
  922. CREATE TABLE `crm_opportunity` (
  923. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  924. `opportunity_no` varchar(50) NOT NULL COMMENT '商机编号(OPP+yyyyMMdd+4位流水号)',
  925. `opportunity_name` varchar(200) NOT NULL COMMENT '商机名称',
  926. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  927. `customer_name` varchar(200) DEFAULT NULL COMMENT '客户名称(冗余字段)',
  928. `contact_id` VARCHAR(64) DEFAULT NULL COMMENT '联系人ID',
  929. `contact_name` varchar(50) DEFAULT NULL COMMENT '联系人姓名(冗余字段)',
  930. `amount` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '商机金额',
  931. `stage` varchar(20) NOT NULL DEFAULT 'initial' COMMENT '商机阶段(initial-初步接触/requirement-需求分析/solution-方案制定/quote-报价/negotiate-谈判审核/contract-合同签订/won-赢单)',
  932. `stage_percent` int(11) DEFAULT '10' COMMENT '阶段进度百分比(10/20/40/60/80/90/100)',
  933. `status` varchar(20) NOT NULL DEFAULT 'following' COMMENT '商机状态(following-跟进中/won-赢单/lost-输单/invalid-无效)',
  934. `win_rate` decimal(5,2) DEFAULT '50.00' COMMENT '赢单率(百分比,如50.00表示50%)',
  935. `expect_deal_date` date DEFAULT NULL COMMENT '预计成交日期',
  936. `actual_deal_date` date DEFAULT NULL COMMENT '实际成交日期',
  937. `lost_reason` varchar(500) DEFAULT NULL COMMENT '输单原因',
  938. `owner_user_id` VARCHAR(64) NOT NULL COMMENT '负责人ID(销售人员)',
  939. `owner_user_name` varchar(50) DEFAULT NULL COMMENT '负责人姓名(冗余字段)',
  940. `product_count` int(11) DEFAULT '0' COMMENT '产品数量(冗余字段)',
  941. `last_time` datetime DEFAULT NULL COMMENT '最后跟进时间',
  942. `next_time` datetime DEFAULT NULL COMMENT '下次联系时间',
  943. `follow_count` int(11) DEFAULT '0' COMMENT '跟进次数(冗余字段)',
  944. `contract_id` VARCHAR(64) DEFAULT NULL COMMENT '关联合同ID(赢单后生成)',
  945. `source` varchar(20) DEFAULT NULL COMMENT '商机来源(同线索来源)',
  946. `type` varchar(20) DEFAULT NULL COMMENT '商机类型(new_customer-新客户新业务/renewal-老客户续约/upgrade-老客户升级)',
  947. `description` text COMMENT '商机描述(详细说明商机背景、客户需求等)',
  948. `competitors` varchar(500) DEFAULT NULL COMMENT '竞争对手(多个竞争对手用逗号分隔)',
  949. `key_factors` varchar(500) DEFAULT NULL COMMENT '关键决策因素(客户关注的核心要素)',
  950. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  951. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  952. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  953. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  954. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  955. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  956. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  957. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  958. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  959. PRIMARY KEY (`id`) USING BTREE,
  960. UNIQUE KEY `uk_opportunity_no_del_flag` (`opportunity_no`,`del_flag`) USING BTREE,
  961. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  962. KEY `idx_owner_user_id` (`owner_user_id`) USING BTREE,
  963. KEY `idx_stage` (`stage`) USING BTREE,
  964. KEY `idx_status` (`status`) USING BTREE,
  965. KEY `idx_expect_deal_date` (`expect_deal_date`) USING BTREE,
  966. KEY `idx_next_time` (`next_time`) USING BTREE,
  967. KEY `idx_tenant_id` (`tenant_id`) USING BTREE,
  968. KEY `idx_create_time` (`create_time`) USING BTREE
  969. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-商机主表';
  970. -- ----------------------------
  971. -- Table structure for crm_opportunity_follow
  972. -- ----------------------------
  973. DROP TABLE IF EXISTS `crm_opportunity_follow`;
  974. CREATE TABLE `crm_opportunity_follow` (
  975. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  976. `opportunity_id` VARCHAR(64) NOT NULL COMMENT '商机ID',
  977. `follow_type` varchar(20) NOT NULL COMMENT '跟进方式(phone-电话/wechat-微信/email-邮件/visit-拜访/meeting-会议/other-其他)',
  978. `follow_content` text NOT NULL COMMENT '跟进内容',
  979. `follow_time` datetime DEFAULT NULL COMMENT '跟进时间',
  980. `stage` varchar(20) DEFAULT NULL COMMENT '当前商机阶段',
  981. `stage_percent` int(11) DEFAULT NULL COMMENT '阶段进度百分比',
  982. `next_time` datetime DEFAULT NULL COMMENT '下次联系时间',
  983. `next_content` varchar(500) DEFAULT NULL COMMENT '下次联系计划',
  984. `attachments` varchar(1000) DEFAULT NULL COMMENT '附件(多个文件用逗号分隔)',
  985. `contact_id` VARCHAR(64) DEFAULT NULL COMMENT '联系人ID',
  986. `contact_name` varchar(50) DEFAULT NULL COMMENT '联系人姓名',
  987. `location` varchar(200) DEFAULT NULL COMMENT '跟进地点(拜访时填写)',
  988. `duration` int(11) DEFAULT NULL COMMENT '跟进时长(分钟)',
  989. `follow_by` VARCHAR(64) DEFAULT NULL COMMENT '跟进人ID',
  990. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  991. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  992. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者(跟进人)',
  993. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(跟进时间)',
  994. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  995. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  996. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  997. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  998. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  999. PRIMARY KEY (`id`) USING BTREE,
  1000. KEY `idx_opportunity_id` (`opportunity_id`) USING BTREE,
  1001. KEY `idx_create_by` (`create_by`) USING BTREE,
  1002. KEY `idx_create_time` (`create_time`) USING BTREE,
  1003. KEY `idx_next_time` (`next_time`) USING BTREE,
  1004. KEY `idx_tenant_id` (`tenant_id`) USING BTREE,
  1005. KEY `idx_follow_time` (`follow_time`) USING BTREE
  1006. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-商机跟进记录表';
  1007. -- ----------------------------
  1008. -- Table structure for crm_opportunity_product
  1009. -- ----------------------------
  1010. DROP TABLE IF EXISTS `crm_opportunity_product`;
  1011. CREATE TABLE `crm_opportunity_product` (
  1012. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1013. `opportunity_id` VARCHAR(64) NOT NULL COMMENT '商机ID',
  1014. `product_id` VARCHAR(64) NOT NULL COMMENT '产品ID',
  1015. `product_name` varchar(200) DEFAULT NULL COMMENT '产品名称(冗余字段)',
  1016. `product_no` varchar(50) DEFAULT NULL COMMENT '产品编号(冗余字段)',
  1017. `category_id` VARCHAR(64) DEFAULT NULL COMMENT '产品分类ID',
  1018. `category_name` varchar(100) DEFAULT NULL COMMENT '产品分类名称(冗余字段)',
  1019. `model` varchar(100) DEFAULT NULL COMMENT '规格型号',
  1020. `unit` varchar(20) DEFAULT '件' COMMENT '单位',
  1021. `quantity` decimal(20,4) NOT NULL COMMENT '数量',
  1022. `price` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '单价',
  1023. `discount` decimal(5,2) DEFAULT '0.00' COMMENT '折扣(百分比,如10.00表示9折)',
  1024. `subtotal` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '小计金额(数量*单价*折扣后)',
  1025. `sort` int(11) DEFAULT '0' COMMENT '排序号',
  1026. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1027. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1028. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1029. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1030. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1031. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1032. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  1033. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  1034. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1035. PRIMARY KEY (`id`) USING BTREE,
  1036. KEY `idx_opportunity_id` (`opportunity_id`) USING BTREE,
  1037. KEY `idx_product_id` (`product_id`) USING BTREE,
  1038. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1039. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-商机产品关联表';
  1040. -- ----------------------------
  1041. -- Table structure for crm_opportunity_stage_log
  1042. -- ----------------------------
  1043. DROP TABLE IF EXISTS `crm_opportunity_stage_log`;
  1044. CREATE TABLE `crm_opportunity_stage_log` (
  1045. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1046. `opportunity_id` VARCHAR(64) NOT NULL COMMENT '商机ID',
  1047. `from_stage` varchar(20) DEFAULT NULL COMMENT '原阶段',
  1048. `from_stage_name` varchar(50) DEFAULT NULL COMMENT '原阶段名称',
  1049. `from_percent` int(11) DEFAULT NULL COMMENT '原进度百分比',
  1050. `to_stage` varchar(20) NOT NULL COMMENT '新阶段',
  1051. `to_stage_name` varchar(50) DEFAULT NULL COMMENT '新阶段名称',
  1052. `to_percent` int(11) DEFAULT NULL COMMENT '新进度百分比',
  1053. `change_type` varchar(20) DEFAULT 'forward' COMMENT '变更类型(forward-推进/backward-后退)',
  1054. `change_reason` varchar(500) DEFAULT NULL COMMENT '变更原因',
  1055. `change_amount` decimal(15,2) DEFAULT NULL COMMENT '变更时的商机金额',
  1056. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1057. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1058. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者(变更人)',
  1059. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(变更时间)',
  1060. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1061. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1062. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  1063. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  1064. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1065. `lost_detail` varchar(2000) DEFAULT NULL COMMENT '输单详细说明',
  1066. `competitor_info` varchar(1000) DEFAULT NULL COMMENT '竞争对手信息',
  1067. `improvement` varchar(1000) DEFAULT NULL COMMENT '改进建议',
  1068. `won_remark` varchar(2000) DEFAULT NULL COMMENT '赢单说明',
  1069. PRIMARY KEY (`id`) USING BTREE,
  1070. KEY `idx_opportunity_id` (`opportunity_id`) USING BTREE,
  1071. KEY `idx_create_time` (`create_time`) USING BTREE,
  1072. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1073. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-商机阶段变更日志表';
  1074. -- ----------------------------
  1075. -- Table structure for crm_payment
  1076. -- ----------------------------
  1077. DROP TABLE IF EXISTS `crm_payment`;
  1078. CREATE TABLE `crm_payment` (
  1079. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1080. `payment_no` varchar(50) NOT NULL COMMENT '回款编号(PAY+yyyyMMdd+4位流水号)',
  1081. `contract_id` VARCHAR(64) NOT NULL COMMENT '合同ID',
  1082. `contract_no` varchar(50) DEFAULT NULL COMMENT '合同编号(冗余字段)',
  1083. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  1084. `customer_name` varchar(200) DEFAULT NULL COMMENT '客户名称(冗余字段)',
  1085. `plan_id` VARCHAR(64) DEFAULT NULL COMMENT '回款计划ID',
  1086. `plan_no` varchar(50) DEFAULT NULL COMMENT '计划编号(冗余字段)',
  1087. `period` int(11) DEFAULT NULL COMMENT '期数(冗余字段)',
  1088. `amount` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '回款金额',
  1089. `payment_date` date NOT NULL COMMENT '回款日期',
  1090. `payment_method` varchar(20) DEFAULT 'bank' COMMENT '付款方式(bank-银行转账/cash-现金/check-支票/alipay-支付宝/wechat-微信/other-其他)',
  1091. `payment_account` varchar(100) DEFAULT NULL COMMENT '付款账户',
  1092. `voucher_no` varchar(100) DEFAULT NULL COMMENT '凭证号(流水号)',
  1093. `voucher_file` varchar(500) DEFAULT NULL COMMENT '凭证文件(回款凭证扫描件)',
  1094. `status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '回款状态(pending-待确认/confirmed-已确认/invalid-已作废)',
  1095. `confirm_by` VARCHAR(64) DEFAULT NULL COMMENT '确认人ID',
  1096. `confirm_by_name` varchar(50) DEFAULT NULL COMMENT '确认人姓名',
  1097. `confirm_time` datetime DEFAULT NULL COMMENT '确认时间',
  1098. `invalid_reason` varchar(500) DEFAULT NULL COMMENT '作废原因',
  1099. `invalid_time` datetime DEFAULT NULL COMMENT '作废时间',
  1100. `owner_user_id` VARCHAR(64) NOT NULL COMMENT '负责人ID(录入人)',
  1101. `owner_user_name` varchar(50) DEFAULT NULL COMMENT '负责人姓名(冗余字段)',
  1102. `bank_name` varchar(100) DEFAULT NULL COMMENT '收款银行',
  1103. `bank_account` varchar(100) DEFAULT NULL COMMENT '收款账号',
  1104. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1105. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1106. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1107. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1108. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1109. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1110. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  1111. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  1112. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1113. PRIMARY KEY (`id`) USING BTREE,
  1114. UNIQUE KEY `uk_payment_no_del_flag` (`payment_no`,`del_flag`) USING BTREE,
  1115. KEY `idx_contract_id` (`contract_id`) USING BTREE,
  1116. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  1117. KEY `idx_plan_id` (`plan_id`) USING BTREE,
  1118. KEY `idx_owner_user_id` (`owner_user_id`) USING BTREE,
  1119. KEY `idx_status` (`status`) USING BTREE,
  1120. KEY `idx_payment_date` (`payment_date`) USING BTREE,
  1121. KEY `idx_confirm_by` (`confirm_by`) USING BTREE,
  1122. KEY `idx_tenant_id` (`tenant_id`) USING BTREE,
  1123. KEY `idx_create_time` (`create_time`) USING BTREE
  1124. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-回款记录表';
  1125. -- ----------------------------
  1126. -- Table structure for crm_payment_collection
  1127. -- ----------------------------
  1128. DROP TABLE IF EXISTS `crm_payment_collection`;
  1129. CREATE TABLE `crm_payment_collection` (
  1130. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1131. `plan_id` VARCHAR(64) NOT NULL COMMENT '回款计划ID',
  1132. `contract_id` VARCHAR(64) NOT NULL COMMENT '合同ID',
  1133. `contract_no` varchar(50) DEFAULT NULL COMMENT '合同编号(冗余)',
  1134. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  1135. `customer_name` varchar(200) DEFAULT NULL COMMENT '客户名称(冗余)',
  1136. `collection_date` datetime NOT NULL COMMENT '催收日期时间',
  1137. `collection_method` varchar(20) NOT NULL COMMENT '催收方式(phone/email/message/visit/legal/other)',
  1138. `contact_person` varchar(100) DEFAULT NULL COMMENT '联系人姓名',
  1139. `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
  1140. `collection_content` text NOT NULL COMMENT '催收内容(最少20字)',
  1141. `customer_feedback` varchar(20) NOT NULL COMMENT '客户反馈类型(promise/processing/difficulty/refuse/no_contact/other)',
  1142. `feedback_detail` varchar(500) DEFAULT NULL COMMENT '反馈详情',
  1143. `promise_date` date DEFAULT NULL COMMENT '承诺付款日期',
  1144. `collector_user_id` VARCHAR(64) NOT NULL COMMENT '催收人ID',
  1145. `collector_user_name` varchar(50) DEFAULT NULL COMMENT '催收人姓名(冗余)',
  1146. `attachment` varchar(500) DEFAULT NULL COMMENT '附件(催收邮件截图等)',
  1147. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1148. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1149. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1150. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1151. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1152. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1153. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  1154. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1155. PRIMARY KEY (`id`) USING BTREE,
  1156. KEY `idx_plan_id` (`plan_id`) USING BTREE,
  1157. KEY `idx_contract_id` (`contract_id`) USING BTREE,
  1158. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  1159. KEY `idx_collection_date` (`collection_date`) USING BTREE,
  1160. KEY `idx_collector_user_id` (`collector_user_id`) USING BTREE,
  1161. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1162. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-催收记录表';
  1163. -- ----------------------------
  1164. -- Table structure for crm_payment_plan
  1165. -- ----------------------------
  1166. DROP TABLE IF EXISTS `crm_payment_plan`;
  1167. CREATE TABLE `crm_payment_plan` (
  1168. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1169. `plan_no` varchar(50) NOT NULL COMMENT '计划编号(PLAN+yyyyMMdd+4位流水号)',
  1170. `contract_id` VARCHAR(64) NOT NULL COMMENT '合同ID',
  1171. `contract_no` varchar(50) DEFAULT NULL COMMENT '合同编号(冗余字段)',
  1172. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  1173. `customer_name` varchar(200) DEFAULT NULL COMMENT '客户名称(冗余字段)',
  1174. `period` int(11) NOT NULL DEFAULT '1' COMMENT '期数(第几期)',
  1175. `plan_amount` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '计划回款金额',
  1176. `plan_date` date NOT NULL COMMENT '计划回款日期',
  1177. `plan_percent` decimal(5,2) DEFAULT NULL COMMENT '计划比例(占合同总金额的百分比)',
  1178. `received_amount` decimal(15,2) DEFAULT '0.00' COMMENT '已回款金额',
  1179. `unreceived_amount` decimal(15,2) DEFAULT '0.00' COMMENT '未回款金额',
  1180. `status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '状态(pending-待回款/partial-部分回款/finished-已完成/overdue-已逾期)',
  1181. `is_overdue` tinyint(1) DEFAULT '0' COMMENT '是否逾期(0否 1是)',
  1182. `overdue_days` int(11) DEFAULT '0' COMMENT '逾期天数',
  1183. `remind_days` int(11) DEFAULT '7' COMMENT '提前提醒天数(默认7天)',
  1184. `remind_status` varchar(20) DEFAULT 'no' COMMENT '提醒状态(no-未提醒/reminded-已提醒)',
  1185. `last_remind_time` datetime DEFAULT NULL COMMENT '最后提醒时间',
  1186. `owner_user_id` VARCHAR(64) NOT NULL COMMENT '负责人ID',
  1187. `owner_user_name` varchar(50) DEFAULT NULL COMMENT '负责人姓名(冗余字段)',
  1188. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1189. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1190. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1191. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1192. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1193. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1194. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  1195. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  1196. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1197. PRIMARY KEY (`id`) USING BTREE,
  1198. UNIQUE KEY `uk_plan_no_del_flag` (`plan_no`,`del_flag`) USING BTREE,
  1199. KEY `idx_contract_id` (`contract_id`) USING BTREE,
  1200. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  1201. KEY `idx_owner_user_id` (`owner_user_id`) USING BTREE,
  1202. KEY `idx_status` (`status`) USING BTREE,
  1203. KEY `idx_plan_date` (`plan_date`) USING BTREE,
  1204. KEY `idx_is_overdue` (`is_overdue`) USING BTREE,
  1205. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1206. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-回款计划表';
  1207. -- ----------------------------
  1208. -- Table structure for crm_product
  1209. -- ----------------------------
  1210. DROP TABLE IF EXISTS `crm_product`;
  1211. CREATE TABLE `crm_product` (
  1212. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1213. `product_no` varchar(50) NOT NULL COMMENT '产品编号(唯一)',
  1214. `product_name` varchar(200) NOT NULL COMMENT '产品名称',
  1215. `category_id` VARCHAR(64) DEFAULT NULL COMMENT '分类ID',
  1216. `category_name` varchar(100) DEFAULT NULL COMMENT '分类名称(冗余)',
  1217. `model` varchar(100) DEFAULT NULL COMMENT '型号/规格',
  1218. `unit` varchar(20) DEFAULT '个' COMMENT '单位',
  1219. `barcode` varchar(100) DEFAULT NULL COMMENT '条码',
  1220. `price` decimal(15,2) DEFAULT '0.00' COMMENT '标准价格',
  1221. `cost` decimal(15,2) DEFAULT '0.00' COMMENT '成本价',
  1222. `min_price` decimal(15,2) DEFAULT NULL COMMENT '最低价格',
  1223. `stock` int(11) DEFAULT '0' COMMENT '库存数量',
  1224. `low_stock` int(11) DEFAULT '10' COMMENT '库存预警值',
  1225. `status` varchar(20) DEFAULT 'on' COMMENT '状态(on-上架/off-下架)',
  1226. `tax_rate` decimal(5,2) NOT NULL DEFAULT '13.00' COMMENT '税率(百分比)',
  1227. `description` text COMMENT '产品描述',
  1228. `images` varchar(1000) DEFAULT NULL COMMENT '产品图片(多个用逗号分隔)',
  1229. `sale_count` int(11) DEFAULT '0' COMMENT '销售次数',
  1230. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1231. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1232. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1233. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1234. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1235. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1236. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  1237. `version` int(11) DEFAULT '0' COMMENT '版本号',
  1238. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1239. PRIMARY KEY (`id`) USING BTREE,
  1240. UNIQUE KEY `uk_product_no_del_flag` (`product_no`,`del_flag`) USING BTREE,
  1241. KEY `idx_category` (`category_id`) USING BTREE,
  1242. KEY `idx_status` (`status`) USING BTREE,
  1243. KEY `idx_tenant` (`tenant_id`) USING BTREE
  1244. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-产品主表';
  1245. -- ----------------------------
  1246. -- Table structure for crm_product_attachment
  1247. -- ----------------------------
  1248. DROP TABLE IF EXISTS `crm_product_attachment`;
  1249. CREATE TABLE `crm_product_attachment` (
  1250. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1251. `product_id` VARCHAR(64) NOT NULL COMMENT '产品ID',
  1252. `file_name` varchar(200) NOT NULL COMMENT '文件名称',
  1253. `file_path` varchar(500) NOT NULL COMMENT '文件路径',
  1254. `file_type` varchar(50) DEFAULT NULL COMMENT '文件类型(pdf/doc/xls/ppt/jpg等)',
  1255. `file_size` VARCHAR(64) DEFAULT NULL COMMENT '文件大小(字节)',
  1256. `attachment_type` varchar(50) DEFAULT 'other' COMMENT '资料类型(manual-产品手册/whitepaper-技术白皮书/guide-用户指南/demo-演示PPT/case-案例资料/video-视频教程/other-其他)',
  1257. `download_count` int(11) DEFAULT '0' COMMENT '下载次数',
  1258. `sort` int(11) DEFAULT '0' COMMENT '显示顺序',
  1259. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1260. `del_flag` int(11) DEFAULT '0' COMMENT '逻辑删除标志(0存在 1删除)',
  1261. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1262. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  1263. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1264. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  1265. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1266. PRIMARY KEY (`id`) USING BTREE,
  1267. KEY `idx_product_id` (`product_id`) USING BTREE,
  1268. KEY `idx_attachment_type` (`attachment_type`) USING BTREE,
  1269. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1270. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='产品附件表';
  1271. -- ----------------------------
  1272. -- Table structure for crm_product_category
  1273. -- ----------------------------
  1274. DROP TABLE IF EXISTS `crm_product_category`;
  1275. CREATE TABLE `crm_product_category` (
  1276. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1277. `category_name` varchar(100) NOT NULL COMMENT '分类名称',
  1278. `parent_id` VARCHAR(64) DEFAULT '0' COMMENT '父级ID(0为顶级)',
  1279. `ancestors` varchar(500) DEFAULT NULL COMMENT '祖级列表(如: 0,1,2)',
  1280. `sort` int(11) DEFAULT '0' COMMENT '显示顺序',
  1281. `status` varchar(10) DEFAULT '0' COMMENT '状态(0-正常 1-停用)',
  1282. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1283. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1284. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1285. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1286. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1287. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1288. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  1289. `version` int(11) DEFAULT '0' COMMENT '版本号',
  1290. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1291. PRIMARY KEY (`id`) USING BTREE,
  1292. KEY `idx_parent_id` (`parent_id`) USING BTREE,
  1293. KEY `idx_tenant` (`tenant_id`) USING BTREE
  1294. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-产品分类表';
  1295. -- ----------------------------
  1296. -- Table structure for crm_product_price
  1297. -- ----------------------------
  1298. DROP TABLE IF EXISTS `crm_product_price`;
  1299. CREATE TABLE `crm_product_price` (
  1300. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1301. `product_id` VARCHAR(64) NOT NULL COMMENT '产品ID',
  1302. `price_type` varchar(20) NOT NULL COMMENT '价格类型(standard/cost/minimum/vip/wholesale/promotion)',
  1303. `price` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '价格',
  1304. `start_date` datetime DEFAULT NULL COMMENT '生效日期',
  1305. `end_date` datetime DEFAULT NULL COMMENT '失效日期',
  1306. `status` varchar(10) DEFAULT 'active' COMMENT '状态(active-生效中/inactive-已失效)',
  1307. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1308. `del_flag` int(11) DEFAULT '0' COMMENT '逻辑删除标志(0存在 1删除)',
  1309. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1310. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1311. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  1312. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1313. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  1314. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1315. PRIMARY KEY (`id`) USING BTREE,
  1316. KEY `idx_product_id` (`product_id`) USING BTREE,
  1317. KEY `idx_price_type` (`price_type`) USING BTREE,
  1318. KEY `idx_status` (`status`) USING BTREE,
  1319. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1320. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='产品价格表';
  1321. -- ----------------------------
  1322. -- Table structure for crm_product_price_history
  1323. -- ----------------------------
  1324. DROP TABLE IF EXISTS `crm_product_price_history`;
  1325. CREATE TABLE `crm_product_price_history` (
  1326. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1327. `product_id` VARCHAR(64) NOT NULL COMMENT '产品ID',
  1328. `price_type` varchar(20) NOT NULL COMMENT '价格类型',
  1329. `old_price` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '调整前价格',
  1330. `new_price` decimal(12,2) NOT NULL DEFAULT '0.00' COMMENT '调整后价格',
  1331. `price_change` decimal(12,2) DEFAULT '0.00' COMMENT '调整金额',
  1332. `change_percent` decimal(5,2) DEFAULT '0.00' COMMENT '调整百分比',
  1333. `adjust_reason` varchar(500) DEFAULT NULL COMMENT '调价原因',
  1334. `effective_date` datetime DEFAULT NULL COMMENT '生效日期',
  1335. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '操作人',
  1336. `create_time` datetime DEFAULT NULL COMMENT '操作时间',
  1337. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1338. PRIMARY KEY (`id`) USING BTREE,
  1339. KEY `idx_product_id` (`product_id`) USING BTREE,
  1340. KEY `idx_create_time` (`create_time`) USING BTREE,
  1341. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1342. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='产品价格历史表';
  1343. -- ----------------------------
  1344. -- Table structure for crm_product_stock_log
  1345. -- ----------------------------
  1346. DROP TABLE IF EXISTS `crm_product_stock_log`;
  1347. CREATE TABLE `crm_product_stock_log` (
  1348. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1349. `product_id` VARCHAR(64) NOT NULL COMMENT '产品ID',
  1350. `operation_type` varchar(20) NOT NULL COMMENT '操作类型(in-入库/out-出库/adjust-调整/check-盘点)',
  1351. `quantity` int(11) NOT NULL DEFAULT '0' COMMENT '变动数量(正数-增加/负数-减少)',
  1352. `before_stock` int(11) NOT NULL DEFAULT '0' COMMENT '变动前库存',
  1353. `after_stock` int(11) NOT NULL DEFAULT '0' COMMENT '变动后库存',
  1354. `unit_price` decimal(12,2) DEFAULT NULL COMMENT '单价',
  1355. `total_amount` decimal(12,2) DEFAULT NULL COMMENT '总金额',
  1356. `related_no` varchar(100) DEFAULT NULL COMMENT '关联单号(入库单/出库单/合同编号等)',
  1357. `related_type` varchar(50) DEFAULT NULL COMMENT '关联类型(purchase-采购/sale-销售/sample-样品/other-其他)',
  1358. `supplier` varchar(200) DEFAULT NULL COMMENT '供应商(入库时)',
  1359. `operator` varchar(100) DEFAULT NULL COMMENT '操作人',
  1360. `operation_date` datetime DEFAULT NULL COMMENT '操作日期',
  1361. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1362. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1363. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  1364. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1365. PRIMARY KEY (`id`) USING BTREE,
  1366. KEY `idx_product_id` (`product_id`) USING BTREE,
  1367. KEY `idx_operation_type` (`operation_type`) USING BTREE,
  1368. KEY `idx_operation_date` (`operation_date`) USING BTREE,
  1369. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1370. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='产品库存记录表';
  1371. -- ----------------------------
  1372. -- Table structure for crm_product_tag
  1373. -- ----------------------------
  1374. DROP TABLE IF EXISTS `crm_product_tag`;
  1375. CREATE TABLE `crm_product_tag` (
  1376. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1377. `tag_name` varchar(50) NOT NULL COMMENT '标签名称',
  1378. `tag_color` varchar(20) DEFAULT NULL COMMENT '标签颜色',
  1379. `sort` int(11) DEFAULT '0' COMMENT '显示顺序',
  1380. `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
  1381. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1382. `del_flag` int(11) DEFAULT '0' COMMENT '逻辑删除标志(0存在 1删除)',
  1383. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1384. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  1385. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1386. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  1387. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1388. PRIMARY KEY (`id`) USING BTREE,
  1389. UNIQUE KEY `uk_tag_name` (`tag_name`,`tenant_id`) USING BTREE,
  1390. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1391. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='产品标签表';
  1392. -- ----------------------------
  1393. -- Table structure for crm_product_tag_relation
  1394. -- ----------------------------
  1395. DROP TABLE IF EXISTS `crm_product_tag_relation`;
  1396. CREATE TABLE `crm_product_tag_relation` (
  1397. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1398. `product_id` VARCHAR(64) NOT NULL COMMENT '产品ID',
  1399. `tag_id` VARCHAR(64) NOT NULL COMMENT '标签ID',
  1400. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  1401. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1402. PRIMARY KEY (`id`) USING BTREE,
  1403. UNIQUE KEY `uk_product_tag` (`product_id`,`tag_id`,`tenant_id`) USING BTREE,
  1404. KEY `idx_product_id` (`product_id`) USING BTREE,
  1405. KEY `idx_tag_id` (`tag_id`) USING BTREE,
  1406. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1407. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='产品标签关联表';
  1408. -- ----------------------------
  1409. -- Table structure for crm_quote
  1410. -- ----------------------------
  1411. DROP TABLE IF EXISTS `crm_quote`;
  1412. CREATE TABLE `crm_quote` (
  1413. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1414. `quote_no` varchar(50) NOT NULL COMMENT '报价单编号(QUO+yyyyMMdd+4位流水号)',
  1415. `quote_title` varchar(200) NOT NULL COMMENT '报价单标题',
  1416. `quote_type` varchar(20) NOT NULL DEFAULT 'sales' COMMENT '报价单类型(sales-销售/purchase-采购)',
  1417. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  1418. `customer_name` varchar(200) DEFAULT NULL COMMENT '客户名称(冗余字段)',
  1419. `opportunity_id` VARCHAR(64) DEFAULT NULL COMMENT '商机ID',
  1420. `contact_id` VARCHAR(64) DEFAULT NULL COMMENT '联系人ID',
  1421. `contact_name` varchar(50) DEFAULT NULL COMMENT '联系人姓名(冗余字段)',
  1422. `contact_mobile` varchar(20) DEFAULT NULL COMMENT '联系人手机(冗余字段)',
  1423. `contact_email` varchar(100) DEFAULT NULL COMMENT '联系人邮箱(冗余字段)',
  1424. `version` varchar(20) DEFAULT 'V1.0' COMMENT '版本号(如V1.0,V1.1,V2.0)',
  1425. `parent_id` VARCHAR(64) DEFAULT NULL COMMENT '父版本ID(版本管理,0表示首版)',
  1426. `is_latest` tinyint(1) DEFAULT '1' COMMENT '是否最新版本(0否 1是)',
  1427. `total_amount` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '总金额(未折扣前)',
  1428. `discount_rate` decimal(5,2) DEFAULT '0.00' COMMENT '整单折扣率(百分比)',
  1429. `discount_amount` decimal(15,2) DEFAULT '0.00' COMMENT '折扣金额',
  1430. `final_amount` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '最终金额(折扣后)',
  1431. `validity_days` int(11) DEFAULT '30' COMMENT '有效期(天数)',
  1432. `quote_date` date DEFAULT NULL COMMENT '报价日期',
  1433. `expire_date` date DEFAULT NULL COMMENT '到期日期',
  1434. `status` varchar(20) NOT NULL DEFAULT 'draft' COMMENT '状态(draft-草稿/submitted-已提交/accepted-已接受/rejected-已拒绝/expired-已过期/contract-已转合同)',
  1435. `reject_reason` varchar(500) DEFAULT NULL COMMENT '拒绝原因',
  1436. `pdf_url` varchar(500) DEFAULT NULL COMMENT 'PDF文件路径',
  1437. `pdf_generated` tinyint(1) DEFAULT '0' COMMENT 'PDF是否已生成(0否 1是)',
  1438. `share_link` varchar(500) DEFAULT NULL COMMENT '分享链接',
  1439. `share_code` varchar(50) DEFAULT NULL COMMENT '分享码',
  1440. `share_password` varchar(100) DEFAULT NULL COMMENT '分享密码(可选)',
  1441. `share_expire_time` datetime DEFAULT NULL COMMENT '分享链接过期时间',
  1442. `view_count` int(11) DEFAULT '0' COMMENT '查看次数',
  1443. `last_view_time` datetime DEFAULT NULL COMMENT '最后查看时间',
  1444. `owner_user_id` VARCHAR(64) NOT NULL COMMENT '负责人ID',
  1445. `owner_user_name` varchar(50) DEFAULT NULL COMMENT '负责人姓名(冗余字段)',
  1446. `supplier_id` VARCHAR(64) DEFAULT NULL COMMENT '报价主体ID(关联crm_supplier_info表)',
  1447. `supplier_name` varchar(200) DEFAULT NULL COMMENT '报价主体名称(冗余字段)',
  1448. `contract_id` VARCHAR(64) DEFAULT NULL COMMENT '关联合同ID(转合同后)',
  1449. `payment_terms` varchar(500) DEFAULT NULL COMMENT '付款条款',
  1450. `delivery_terms` varchar(500) DEFAULT NULL COMMENT '交付条款',
  1451. `freight` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '运费(元)',
  1452. `attachments` varchar(1000) DEFAULT NULL COMMENT '附件(多个用逗号分隔)',
  1453. `template_content` longtext COMMENT '报价单模板内容(富文本HTML)',
  1454. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1455. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1456. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1457. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1458. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1459. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1460. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  1461. `version_no` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  1462. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1463. PRIMARY KEY (`id`) USING BTREE,
  1464. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  1465. KEY `idx_opportunity_id` (`opportunity_id`) USING BTREE,
  1466. KEY `idx_owner_user_id` (`owner_user_id`) USING BTREE,
  1467. KEY `idx_status` (`status`) USING BTREE,
  1468. KEY `idx_parent_id` (`parent_id`) USING BTREE,
  1469. KEY `idx_expire_date` (`expire_date`) USING BTREE,
  1470. KEY `idx_tenant_id` (`tenant_id`) USING BTREE,
  1471. KEY `idx_create_time` (`create_time`) USING BTREE,
  1472. KEY `idx_share_code` (`share_code`) USING BTREE,
  1473. KEY `idx_supplier_id` (`supplier_id`)
  1474. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-报价单主表';
  1475. -- ----------------------------
  1476. -- Table structure for crm_quote_approval
  1477. -- ----------------------------
  1478. DROP TABLE IF EXISTS `crm_quote_approval`;
  1479. CREATE TABLE `crm_quote_approval` (
  1480. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1481. `quote_id` VARCHAR(64) NOT NULL COMMENT '报价单ID',
  1482. `quote_no` varchar(50) DEFAULT NULL COMMENT '报价单编号(冗余)',
  1483. `step` int(11) NOT NULL COMMENT '审批步骤(1/2/3...)',
  1484. `approver_id` VARCHAR(64) NOT NULL COMMENT '审批人ID',
  1485. `approver_name` varchar(50) DEFAULT NULL COMMENT '审批人姓名(冗余)',
  1486. `approval_result` varchar(20) DEFAULT 'pending' COMMENT '审批结果(pending-待审批/approved-通过/rejected-拒绝)',
  1487. `approval_opinion` text COMMENT '审批意见',
  1488. `approval_time` datetime DEFAULT NULL COMMENT '审批时间',
  1489. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1490. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1491. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1492. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1493. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1494. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1495. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  1496. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  1497. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1498. PRIMARY KEY (`id`) USING BTREE,
  1499. KEY `idx_quote_id` (`quote_id`) USING BTREE,
  1500. KEY `idx_approver_id` (`approver_id`) USING BTREE,
  1501. KEY `idx_approval_time` (`approval_time`) USING BTREE,
  1502. KEY `idx_tenant_id` (`tenant_id`) USING BTREE,
  1503. KEY `idx_approval_result` (`approval_result`) USING BTREE
  1504. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-报价单审批记录表';
  1505. -- ----------------------------
  1506. -- Table structure for crm_quote_product
  1507. -- ----------------------------
  1508. DROP TABLE IF EXISTS `crm_quote_product`;
  1509. CREATE TABLE `crm_quote_product` (
  1510. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1511. `quote_id` VARCHAR(64) NOT NULL COMMENT '报价单ID',
  1512. `product_id` VARCHAR(64) NOT NULL COMMENT '产品ID',
  1513. `product_name` varchar(200) NOT NULL COMMENT '产品名称',
  1514. `product_no` varchar(50) DEFAULT NULL COMMENT '产品编号',
  1515. `category_id` VARCHAR(64) DEFAULT NULL COMMENT '产品分类ID',
  1516. `category_name` varchar(100) DEFAULT NULL COMMENT '产品分类名称',
  1517. `model` varchar(100) DEFAULT NULL COMMENT '规格型号',
  1518. `unit` varchar(20) DEFAULT '件' COMMENT '单位',
  1519. `quantity` decimal(20,4) NOT NULL COMMENT '数量',
  1520. `price` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '含税单价/元',
  1521. `discount` decimal(5,2) DEFAULT '0.00' COMMENT '折扣(百分比)',
  1522. `subtotal` decimal(15,2) NOT NULL DEFAULT '0.00' COMMENT '含税总价/元',
  1523. `tax_amount` decimal(15,2) DEFAULT '0.00' COMMENT '税费/元',
  1524. `tax_rate` decimal(5,2) DEFAULT '13.00' COMMENT '税率(%)',
  1525. `package_spec` varchar(200) DEFAULT NULL COMMENT '包装规格',
  1526. `delivery_method` varchar(200) DEFAULT NULL COMMENT '送货方式',
  1527. `description` varchar(1000) DEFAULT NULL COMMENT '产品描述',
  1528. `sort` int(11) DEFAULT '0' COMMENT '排序号',
  1529. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1530. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1531. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1532. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1533. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1534. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1535. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  1536. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  1537. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1538. PRIMARY KEY (`id`) USING BTREE,
  1539. KEY `idx_quote_id` (`quote_id`) USING BTREE,
  1540. KEY `idx_product_id` (`product_id`) USING BTREE,
  1541. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1542. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-报价单产品明细表';
  1543. -- ----------------------------
  1544. -- Table structure for crm_quote_share_log
  1545. -- ----------------------------
  1546. DROP TABLE IF EXISTS `crm_quote_share_log`;
  1547. CREATE TABLE `crm_quote_share_log` (
  1548. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1549. `quote_id` VARCHAR(64) NOT NULL COMMENT '报价单ID',
  1550. `share_code` varchar(50) NOT NULL COMMENT '分享码',
  1551. `visit_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '访问时间',
  1552. `ip_address` varchar(50) DEFAULT NULL COMMENT 'IP地址',
  1553. `location` varchar(200) DEFAULT NULL COMMENT '地理位置(省市)',
  1554. `device_type` varchar(50) DEFAULT NULL COMMENT '设备类型(PC/Mobile/Tablet)',
  1555. `browser` varchar(100) DEFAULT NULL COMMENT '浏览器信息',
  1556. `stay_duration` int(11) DEFAULT '0' COMMENT '停留时长(秒)',
  1557. `page_views` int(11) DEFAULT '1' COMMENT '浏览页数',
  1558. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1559. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1560. PRIMARY KEY (`id`) USING BTREE,
  1561. KEY `idx_quote_id` (`quote_id`) USING BTREE,
  1562. KEY `idx_share_code` (`share_code`) USING BTREE,
  1563. KEY `idx_visit_time` (`visit_time`) USING BTREE,
  1564. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1565. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-报价单分享访问日志表';
  1566. -- ----------------------------
  1567. -- Table structure for crm_supplier_info
  1568. -- ----------------------------
  1569. DROP TABLE IF EXISTS `crm_supplier_info`;
  1570. CREATE TABLE `crm_supplier_info` (
  1571. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1572. `supplier_name` varchar(200) NOT NULL COMMENT '供方名称(章)',
  1573. `short_name` varchar(100) DEFAULT NULL COMMENT '简称',
  1574. `supplier_code` varchar(50) DEFAULT NULL COMMENT '编码',
  1575. `supplier_address` varchar(500) DEFAULT NULL COMMENT '单位地址',
  1576. `legal_person` varchar(100) DEFAULT NULL COMMENT '法定代表人',
  1577. `agent` varchar(100) DEFAULT NULL COMMENT '代理人',
  1578. `phone_fax` varchar(100) DEFAULT NULL COMMENT '电话/传真',
  1579. `bank_name` varchar(200) DEFAULT NULL COMMENT '开户银行',
  1580. `bank_account` varchar(100) DEFAULT NULL COMMENT '账号',
  1581. `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
  1582. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1583. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1584. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1585. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  1586. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1587. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  1588. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1589. `del_flag` char(1) DEFAULT '0' COMMENT '逻辑删除标志(0存在 1删除)',
  1590. PRIMARY KEY (`id`),
  1591. KEY `idx_tenant_id` (`tenant_id`),
  1592. KEY `idx_del_flag` (`del_flag`)
  1593. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='供方信息表';
  1594. -- ----------------------------
  1595. -- Table structure for crm_visit
  1596. -- ----------------------------
  1597. DROP TABLE IF EXISTS `crm_visit`;
  1598. CREATE TABLE `crm_visit` (
  1599. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1600. `visit_no` varchar(50) NOT NULL COMMENT '回访编号(VIS+yyyyMMdd+4位流水号)',
  1601. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  1602. `customer_name` varchar(200) DEFAULT NULL COMMENT '客户名称(冗余字段)',
  1603. `contract_id` VARCHAR(64) DEFAULT NULL COMMENT '合同ID',
  1604. `contract_no` varchar(50) DEFAULT NULL COMMENT '合同编号(冗余字段)',
  1605. `contact_id` VARCHAR(64) DEFAULT NULL COMMENT '联系人ID',
  1606. `contact_name` varchar(50) DEFAULT NULL COMMENT '联系人姓名',
  1607. `contact_mobile` varchar(20) DEFAULT NULL COMMENT '联系人手机',
  1608. `visit_type` varchar(20) NOT NULL DEFAULT 'regular' COMMENT '回访类型(contract-合同回访/delivery-交付回访/regular-定期回访/renew-续约回访/complaint-投诉回访/other-其他)',
  1609. `plan_visit_date` datetime DEFAULT NULL COMMENT '计划回访时间',
  1610. `visit_date` datetime NOT NULL COMMENT '实际回访时间(执行回访时填写)',
  1611. `visit_method` varchar(20) NOT NULL DEFAULT 'phone' COMMENT '回访方式(phone-电话/wechat-微信/email-邮件/visit-上门拜访/other-其他)',
  1612. `visit_purpose` text COMMENT '回访目的(多个用逗号分隔: understand_usage,collect_feedback等)',
  1613. `visit_script` text COMMENT '回访话术模板',
  1614. `visit_content` text NOT NULL COMMENT '回访内容',
  1615. `visit_summary` varchar(1000) DEFAULT NULL COMMENT '回访小结',
  1616. `satisfaction` varchar(20) DEFAULT NULL COMMENT '满意度(very_satisfied-非常满意/satisfied-满意/general-一般/dissatisfied-不满意/very_dissatisfied-非常不满意)',
  1617. `satisfaction_score` int(11) DEFAULT NULL COMMENT '满意度评分(1-5分,5分最高)',
  1618. `usage_status` varchar(20) DEFAULT NULL COMMENT '使用情况(normal-正常/occasional-偶尔/rarely-很少/not_used-未使用)',
  1619. `dissatisfaction_reason` varchar(500) DEFAULT NULL COMMENT '不满意原因(满意度<3星时必填)',
  1620. `has_problem` tinyint(1) DEFAULT '0' COMMENT '是否有问题(0否 1是)',
  1621. `problem_count` int(11) DEFAULT '0' COMMENT '问题数量(冗余字段)',
  1622. `problem_summary` varchar(500) DEFAULT NULL COMMENT '问题概述',
  1623. `has_opportunity` tinyint(1) DEFAULT '0' COMMENT '是否有商机(0否 1是)',
  1624. `opportunity_desc` text COMMENT '商机描述',
  1625. `opportunity_amount` decimal(15,2) DEFAULT NULL COMMENT '预估商机金额',
  1626. `next_visit_date` date DEFAULT NULL COMMENT '下次回访日期',
  1627. `next_visit_content` varchar(500) DEFAULT NULL COMMENT '下次回访计划',
  1628. `status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '回访状态(pending-待回访/visiting-回访中/completed-已完成/cancelled-已取消)',
  1629. `cancel_reason` varchar(500) DEFAULT NULL COMMENT '取消原因',
  1630. `cancel_time` datetime DEFAULT NULL COMMENT '取消时间',
  1631. `owner_user_id` VARCHAR(64) NOT NULL COMMENT '负责人ID(回访人)',
  1632. `owner_user_name` varchar(50) DEFAULT NULL COMMENT '负责人姓名(冗余字段)',
  1633. `duration` int(11) DEFAULT NULL COMMENT '回访时长(分钟)',
  1634. `attachments` varchar(1000) DEFAULT NULL COMMENT '附件(多个文件用逗号分隔)',
  1635. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1636. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1637. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1638. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1639. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1640. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1641. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  1642. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  1643. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1644. PRIMARY KEY (`id`) USING BTREE,
  1645. UNIQUE KEY `uk_visit_no_del_flag` (`visit_no`,`del_flag`) USING BTREE,
  1646. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  1647. KEY `idx_contract_id` (`contract_id`) USING BTREE,
  1648. KEY `idx_owner_user_id` (`owner_user_id`) USING BTREE,
  1649. KEY `idx_visit_type` (`visit_type`) USING BTREE,
  1650. KEY `idx_status` (`status`) USING BTREE,
  1651. KEY `idx_visit_date` (`visit_date`) USING BTREE,
  1652. KEY `idx_satisfaction` (`satisfaction`) USING BTREE,
  1653. KEY `idx_has_problem` (`has_problem`) USING BTREE,
  1654. KEY `idx_has_opportunity` (`has_opportunity`) USING BTREE,
  1655. KEY `idx_tenant_id` (`tenant_id`) USING BTREE,
  1656. KEY `idx_create_time` (`create_time`) USING BTREE
  1657. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-回访记录表';
  1658. -- ----------------------------
  1659. -- Table structure for crm_visit_plan
  1660. -- ----------------------------
  1661. DROP TABLE IF EXISTS `crm_visit_plan`;
  1662. CREATE TABLE `crm_visit_plan` (
  1663. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1664. `rule_name` varchar(200) NOT NULL COMMENT '规则名称',
  1665. `trigger_type` varchar(20) NOT NULL COMMENT '触发类型(contract_signed-合同签订后/last_visit-上次回访后/product_expire-产品到期前/fixed_period-固定周期)',
  1666. `delay_days` int(11) NOT NULL DEFAULT '0' COMMENT '延迟天数(合同签订/上次回访后多少天回访)',
  1667. `visit_type` varchar(20) NOT NULL COMMENT '回访类型(参考crm_visit_type字典)',
  1668. `visit_method` varchar(20) DEFAULT 'phone' COMMENT '回访方式(参考crm_visit_method字典)',
  1669. `visit_content_template` text COMMENT '回访内容模板',
  1670. `status` varchar(20) NOT NULL DEFAULT 'enabled' COMMENT '状态(enabled-启用/disabled-禁用)',
  1671. `execute_count` int(11) DEFAULT '0' COMMENT '执行次数',
  1672. `last_execute_time` datetime DEFAULT NULL COMMENT '最后执行时间',
  1673. `sort` int(11) DEFAULT '0' COMMENT '排序号',
  1674. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1675. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1676. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1677. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1678. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1679. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1680. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  1681. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1682. PRIMARY KEY (`id`) USING BTREE,
  1683. KEY `idx_trigger_type` (`trigger_type`) USING BTREE,
  1684. KEY `idx_status` (`status`) USING BTREE,
  1685. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1686. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-回访计划规则表';
  1687. -- ----------------------------
  1688. -- Table structure for crm_visit_problem
  1689. -- ----------------------------
  1690. DROP TABLE IF EXISTS `crm_visit_problem`;
  1691. CREATE TABLE `crm_visit_problem` (
  1692. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1693. `visit_id` VARCHAR(64) NOT NULL COMMENT '回访ID',
  1694. `visit_no` varchar(50) DEFAULT NULL COMMENT '回访编号(冗余字段)',
  1695. `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID',
  1696. `customer_name` varchar(200) DEFAULT NULL COMMENT '客户名称(冗余字段)',
  1697. `problem_type` varchar(20) NOT NULL DEFAULT 'product' COMMENT '问题类型(product-产品问题/service-服务问题/delivery-交付问题/quality-质量问题/price-价格问题/other-其他)',
  1698. `problem_desc` text NOT NULL COMMENT '问题描述',
  1699. `problem_images` varchar(1000) DEFAULT NULL COMMENT '问题图片(多个图片用逗号分隔)',
  1700. `severity` varchar(20) NOT NULL DEFAULT 'medium' COMMENT '严重程度(low-低/medium-中/high-高/urgent-紧急)',
  1701. `solution` text COMMENT '解决方案',
  1702. `status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '问题状态(pending-待处理/processing-处理中/solved-已解决/closed-已关闭)',
  1703. `solve_by` VARCHAR(64) DEFAULT NULL COMMENT '处理人ID',
  1704. `solve_by_name` varchar(50) DEFAULT NULL COMMENT '处理人姓名',
  1705. `solve_time` datetime DEFAULT NULL COMMENT '处理时间',
  1706. `solve_duration` int(11) DEFAULT NULL COMMENT '处理耗时(小时)',
  1707. `close_by` VARCHAR(64) DEFAULT NULL COMMENT '关闭人ID',
  1708. `close_by_name` varchar(50) DEFAULT NULL COMMENT '关闭人姓名',
  1709. `close_time` datetime DEFAULT NULL COMMENT '关闭时间',
  1710. `close_reason` varchar(500) DEFAULT NULL COMMENT '关闭原因',
  1711. `customer_feedback` text COMMENT '客户反馈',
  1712. `is_satisfied` tinyint(1) DEFAULT NULL COMMENT '客户是否满意(0否 1是)',
  1713. `sort` int(11) DEFAULT '0' COMMENT '排序号',
  1714. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  1715. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  1716. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  1717. `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1718. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  1719. `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1720. `del_flag` tinyint(1) DEFAULT '0' COMMENT '删除标志(0存在 1删除)',
  1721. `version` int(11) DEFAULT '0' COMMENT '版本号(乐观锁)',
  1722. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  1723. PRIMARY KEY (`id`) USING BTREE,
  1724. KEY `idx_visit_id` (`visit_id`) USING BTREE,
  1725. KEY `idx_customer_id` (`customer_id`) USING BTREE,
  1726. KEY `idx_problem_type` (`problem_type`) USING BTREE,
  1727. KEY `idx_severity` (`severity`) USING BTREE,
  1728. KEY `idx_status` (`status`) USING BTREE,
  1729. KEY `idx_solve_by` (`solve_by`) USING BTREE,
  1730. KEY `idx_tenant_id` (`tenant_id`) USING BTREE
  1731. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM-回访问题记录表';
  1732. -- ----------------------------
  1733. -- Table structure for inbound_outbound
  1734. -- ----------------------------
  1735. DROP TABLE IF EXISTS `inbound_outbound`;
  1736. CREATE TABLE `inbound_outbound` (
  1737. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1738. `date` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '日期',
  1739. `partner_company` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '往来单位',
  1740. `business_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '业务类型(入库/出库)',
  1741. `product` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品',
  1742. `quantity` double NOT NULL COMMENT '本次量(t)',
  1743. `plan_no` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '计划号(关联计划)',
  1744. `batch_no` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '批次号',
  1745. `vehicle_no` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '车牌号',
  1746. `status` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '状态(待入库/待出库,已入库/已出库)',
  1747. `remarks` text COLLATE utf8mb4_unicode_ci COMMENT '备注',
  1748. `purchase_plan_id` VARCHAR(64) DEFAULT NULL COMMENT '关联的计划ID',
  1749. `is_deleted` int(11) DEFAULT '0' COMMENT '是否删除(0=否,1=是)',
  1750. `created_at` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建时间',
  1751. PRIMARY KEY (`id`),
  1752. KEY `idx_plan_no` (`plan_no`),
  1753. KEY `idx_purchase_plan_id` (`purchase_plan_id`),
  1754. KEY `idx_date` (`date`),
  1755. KEY `idx_is_deleted` (`is_deleted`),
  1756. KEY `idx_status` (`status`),
  1757. KEY `idx_vehicle_no` (`vehicle_no`)
  1758. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='出入库单表';
  1759. -- ----------------------------
  1760. -- Table structure for pl_certificate
  1761. -- ----------------------------
  1762. DROP TABLE IF EXISTS `pl_certificate`;
  1763. CREATE TABLE `pl_certificate` (
  1764. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1765. `plan_id` VARCHAR(64) DEFAULT NULL COMMENT '计划ID (FK → pl_plan.id)',
  1766. `cert_type` varchar(16) DEFAULT NULL COMMENT '证件类型(购买证/运输证)',
  1767. `cert_no` varchar(64) DEFAULT NULL COMMENT '证件编号',
  1768. `attachment` varchar(512) DEFAULT NULL COMMENT '附件路径',
  1769. `expire_date` date DEFAULT NULL COMMENT '过期日期',
  1770. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记(0正常 1已删除)',
  1771. `create_by` varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
  1772. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1773. `update_by` varchar(64) NOT NULL DEFAULT '' COMMENT '更新者',
  1774. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1775. PRIMARY KEY (`id`),
  1776. KEY `idx_cert_plan_id` (`plan_id`)
  1777. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='购买证/运输证表';
  1778. -- ----------------------------
  1779. -- Table structure for pl_inventory
  1780. -- ----------------------------
  1781. DROP TABLE IF EXISTS `pl_inventory`;
  1782. CREATE TABLE `pl_inventory` (
  1783. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1784. `product_id` VARCHAR(64) NOT NULL COMMENT '产品ID (FK → crm_product.id)',
  1785. `warehouse` varchar(64) NOT NULL DEFAULT '' COMMENT '仓库名称',
  1786. `company` varchar(32) NOT NULL DEFAULT '' COMMENT '归属公司(安庆山峡/安徽云栋)',
  1787. `quantity` decimal(12,4) NOT NULL DEFAULT '0.0000' COMMENT '库存数量',
  1788. `avg_price` decimal(12,2) DEFAULT NULL COMMENT '加权平均价',
  1789. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1790. PRIMARY KEY (`id`),
  1791. UNIQUE KEY `uk_inventory` (`product_id`,`warehouse`,`company`)
  1792. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='库存表(简化版)';
  1793. -- ----------------------------
  1794. -- Table structure for pl_own_vehicle
  1795. -- ----------------------------
  1796. DROP TABLE IF EXISTS `pl_own_vehicle`;
  1797. CREATE TABLE `pl_own_vehicle` (
  1798. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1799. `license_plate` varchar(32) NOT NULL DEFAULT '' COMMENT '车牌号',
  1800. `vehicle_type` varchar(32) DEFAULT NULL COMMENT '车辆类型',
  1801. `load_capacity` decimal(10,2) DEFAULT NULL COMMENT '载重(吨)',
  1802. `driver_name` varchar(64) DEFAULT NULL COMMENT '司机姓名',
  1803. `driver_phone` varchar(20) DEFAULT NULL COMMENT '司机电话',
  1804. `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态(1启用 0停用)',
  1805. `remark` varchar(512) DEFAULT NULL COMMENT '备注',
  1806. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记(0正常 1已删除)',
  1807. `create_by` varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
  1808. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1809. `update_by` varchar(64) NOT NULL DEFAULT '' COMMENT '更新者',
  1810. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1811. PRIMARY KEY (`id`)
  1812. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='自有车辆表';
  1813. -- ----------------------------
  1814. -- Table structure for pl_plan
  1815. -- ----------------------------
  1816. DROP TABLE IF EXISTS `pl_plan`;
  1817. CREATE TABLE `pl_plan` (
  1818. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1819. `plan_date` date DEFAULT NULL COMMENT '计划日期',
  1820. `plan_no` varchar(32) NOT NULL DEFAULT '' COMMENT '计划编号,格式 SXDDHYYYYMMDD######',
  1821. `company` varchar(32) NOT NULL DEFAULT '' COMMENT '归属公司(安庆山峡/安徽云栋)',
  1822. `doc_type` varchar(16) NOT NULL DEFAULT '' COMMENT '单据类型: 直销单/入库单/出库单',
  1823. `follow_status` varchar(16) NOT NULL DEFAULT '' COMMENT '跟进状态(等客户确认/待采购/待发货/待收货/待入库/已入库/待出库/已出库/已收货/待归档/归档完成/计划取消)',
  1824. `transport_status` varchar(16) NOT NULL DEFAULT '待安排' COMMENT '运输安排状态(待安排/已安排)',
  1825. `archive_status` varchar(16) NOT NULL DEFAULT '未归档' COMMENT '归档状态(未归档/已归档)',
  1826. `finish_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '完结标记(0未完结 1已完结)',
  1827. `supplier_name` varchar(128) DEFAULT NULL COMMENT '供应商名称(下拉选自客户表)',
  1828. `destination` varchar(128) DEFAULT NULL COMMENT '目的地(下拉选自客户表)',
  1829. `delivery_method` varchar(16) DEFAULT NULL COMMENT '提货方式(山峡自提/一票制/客户自提)',
  1830. `has_transport_fee` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否含运费(0否 1是)',
  1831. `transport_no` varchar(32) DEFAULT NULL COMMENT '运输单号(冗余,关联 pl_plan_transport)',
  1832. `license_plate` varchar(32) DEFAULT NULL COMMENT '车牌号(冗余)',
  1833. `transport_company` varchar(128) DEFAULT NULL COMMENT '运输公司(冗余)',
  1834. `transport_unit` varchar(16) DEFAULT NULL COMMENT '运输单位',
  1835. `transport_fee` decimal(12,2) DEFAULT NULL COMMENT '运费单价',
  1836. `total_transport_fee` decimal(12,2) DEFAULT NULL COMMENT '运费合计',
  1837. `contract_id` VARCHAR(64) DEFAULT NULL COMMENT '关联合同ID(FK → crm_contract.id)',
  1838. `follower` varchar(64) DEFAULT NULL COMMENT '跟进人',
  1839. `notify_msg` text COMMENT '通知消息(模板生成,不可编辑)',
  1840. `remark` varchar(512) DEFAULT NULL COMMENT '备注',
  1841. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记(0正常 1已删除)',
  1842. `create_by` varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
  1843. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1844. `update_by` varchar(64) NOT NULL DEFAULT '' COMMENT '更新者',
  1845. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1846. PRIMARY KEY (`id`),
  1847. UNIQUE KEY `uk_plan_no` (`plan_no`),
  1848. KEY `idx_plan_company` (`company`),
  1849. KEY `idx_plan_doc_type` (`doc_type`),
  1850. KEY `idx_plan_follow_status` (`follow_status`),
  1851. KEY `idx_plan_date` (`plan_date`),
  1852. KEY `idx_plan_contract_id` (`contract_id`)
  1853. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='计划主表';
  1854. -- ----------------------------
  1855. -- Table structure for pl_plan_item
  1856. -- ----------------------------
  1857. DROP TABLE IF EXISTS `pl_plan_item`;
  1858. CREATE TABLE `pl_plan_item` (
  1859. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1860. `plan_id` VARCHAR(64) NOT NULL COMMENT '计划ID (FK → pl_plan.id)',
  1861. `product_code` varchar(64) DEFAULT NULL COMMENT '产品编码',
  1862. `product_name` varchar(128) DEFAULT NULL COMMENT '产品名称',
  1863. `spec` varchar(128) DEFAULT NULL COMMENT '规格',
  1864. `pack_spec` varchar(128) DEFAULT NULL COMMENT '包装规格',
  1865. `unit` varchar(16) DEFAULT NULL COMMENT '单位',
  1866. `in_estimated` decimal(12,4) DEFAULT NULL COMMENT '入库预估数量',
  1867. `in_quantity` decimal(12,4) DEFAULT NULL COMMENT '入库实际数量',
  1868. `in_price` decimal(12,2) DEFAULT NULL COMMENT '入库单价(默认合同价格,可修改)',
  1869. `in_amount` decimal(12,2) DEFAULT NULL COMMENT '入库金额(入库数×入库价)',
  1870. `out_estimated` decimal(12,4) DEFAULT NULL COMMENT '出库预估数量',
  1871. `out_quantity` decimal(12,4) DEFAULT NULL COMMENT '出库实际数量',
  1872. `out_price` decimal(12,2) DEFAULT NULL COMMENT '出库单价',
  1873. `out_amount` decimal(12,2) DEFAULT NULL COMMENT '出库金额(出库数×出库价)',
  1874. `weight_diff` decimal(12,4) DEFAULT NULL COMMENT '磅差(支持负数)',
  1875. `is_drug_precursor` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否易制毒(0否 1是)',
  1876. `is_explosive_precursor` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否易制爆(0否 1是)',
  1877. PRIMARY KEY (`id`),
  1878. KEY `idx_plan_item_plan_id` (`plan_id`)
  1879. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='计划产品明细表';
  1880. -- ----------------------------
  1881. -- Table structure for pl_plan_transport
  1882. -- ----------------------------
  1883. DROP TABLE IF EXISTS `pl_plan_transport`;
  1884. CREATE TABLE `pl_plan_transport` (
  1885. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1886. `plan_id` VARCHAR(64) NOT NULL COMMENT '计划ID (FK → pl_plan.id)',
  1887. `transport_id` VARCHAR(64) NOT NULL COMMENT '运输ID (FK → pl_transport.id)',
  1888. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1889. PRIMARY KEY (`id`),
  1890. UNIQUE KEY `uk_plan_transport` (`plan_id`,`transport_id`)
  1891. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='计划-运输关联表';
  1892. -- ----------------------------
  1893. -- Table structure for pl_price_adjustment
  1894. -- ----------------------------
  1895. DROP TABLE IF EXISTS `pl_price_adjustment`;
  1896. CREATE TABLE `pl_price_adjustment` (
  1897. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1898. `contract_id` VARCHAR(64) DEFAULT NULL COMMENT '合同ID (FK → crm_contract.id)',
  1899. `product_id` VARCHAR(64) DEFAULT NULL COMMENT '产品ID (FK → crm_product.id)',
  1900. `old_price` decimal(12,2) DEFAULT NULL COMMENT '原价格',
  1901. `new_price` decimal(12,2) DEFAULT NULL COMMENT '新价格',
  1902. `effective_date` date DEFAULT NULL COMMENT '生效日期',
  1903. `attachment` varchar(512) DEFAULT NULL COMMENT '附件路径',
  1904. `remark` varchar(512) DEFAULT NULL COMMENT '备注',
  1905. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记(0正常 1已删除)',
  1906. `create_by` varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
  1907. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1908. `update_by` varchar(64) NOT NULL DEFAULT '' COMMENT '更新者',
  1909. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1910. PRIMARY KEY (`id`),
  1911. KEY `idx_price_adj_contract_id` (`contract_id`)
  1912. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='调价函记录表';
  1913. -- ----------------------------
  1914. -- Table structure for pl_qrcode
  1915. -- ----------------------------
  1916. DROP TABLE IF EXISTS `pl_qrcode`;
  1917. CREATE TABLE `pl_qrcode` (
  1918. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1919. `plan_id` VARCHAR(64) DEFAULT NULL COMMENT '关联计划ID (FK → pl_plan.id)',
  1920. `transport_id` VARCHAR(64) DEFAULT NULL COMMENT '关联运输ID (FK → pl_transport.id)',
  1921. `qr_type` varchar(16) NOT NULL DEFAULT '' COMMENT '二维码类型(driver-司机现场人员)',
  1922. `code` varchar(128) NOT NULL DEFAULT '' COMMENT '二维码唯一标识',
  1923. `expire_time` datetime DEFAULT NULL COMMENT '过期时间',
  1924. `access_type` varchar(16) NOT NULL DEFAULT 'open' COMMENT '访问类型(open-无需登录restricted-需登录+权限验证)',
  1925. `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态(1有效 0已使用/已过期)',
  1926. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记(0正常 1已删除)',
  1927. `create_by` varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
  1928. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1929. `update_by` varchar(64) NOT NULL DEFAULT '' COMMENT '更新者',
  1930. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1931. PRIMARY KEY (`id`),
  1932. UNIQUE KEY `uk_qrcode_code` (`code`),
  1933. KEY `idx_qrcode_plan_id` (`plan_id`),
  1934. KEY `idx_qrcode_transport_id` (`transport_id`)
  1935. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='二维码记录表';
  1936. -- ----------------------------
  1937. -- Table structure for pl_settlement
  1938. -- ----------------------------
  1939. DROP TABLE IF EXISTS `pl_settlement`;
  1940. CREATE TABLE `pl_settlement` (
  1941. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1942. `settlement_no` varchar(32) NOT NULL DEFAULT '' COMMENT '结算单号',
  1943. `status` varchar(16) NOT NULL DEFAULT '待审核' COMMENT '状态(待审核/审核中/审核通过/审核驳回/已开票/已付款)',
  1944. `total_fee` decimal(12,2) DEFAULT NULL COMMENT '结算总金额',
  1945. `invoice_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '开票状态(0未开票 1已开票)',
  1946. `invoice_attachment` varchar(512) DEFAULT NULL COMMENT '发票附件路径',
  1947. `invoice_remark` varchar(512) DEFAULT NULL COMMENT '开票备注',
  1948. `payment_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '付款状态(0未付款 1已付款)',
  1949. `payment_attachment` varchar(512) DEFAULT NULL COMMENT '付款凭证路径',
  1950. `payment_remark` varchar(512) DEFAULT NULL COMMENT '付款备注',
  1951. `remark` varchar(512) DEFAULT NULL COMMENT '备注',
  1952. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记(0正常 1已删除)',
  1953. `create_by` varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
  1954. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1955. `update_by` varchar(64) NOT NULL DEFAULT '' COMMENT '更新者',
  1956. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1957. PRIMARY KEY (`id`),
  1958. UNIQUE KEY `uk_settlement_no` (`settlement_no`)
  1959. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运输结算表';
  1960. -- ----------------------------
  1961. -- Table structure for pl_settlement_transport
  1962. -- ----------------------------
  1963. DROP TABLE IF EXISTS `pl_settlement_transport`;
  1964. CREATE TABLE `pl_settlement_transport` (
  1965. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1966. `settlement_id` VARCHAR(64) NOT NULL COMMENT '结算ID (FK → pl_settlement.id)',
  1967. `transport_id` VARCHAR(64) NOT NULL COMMENT '运输ID (FK → pl_transport.id)',
  1968. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1969. PRIMARY KEY (`id`),
  1970. UNIQUE KEY `uk_settlement_transport` (`settlement_id`,`transport_id`)
  1971. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运输结算-运输单关联表';
  1972. -- ----------------------------
  1973. -- Table structure for pl_transport
  1974. -- ----------------------------
  1975. DROP TABLE IF EXISTS `pl_transport`;
  1976. CREATE TABLE `pl_transport` (
  1977. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  1978. `transport_no` varchar(32) NOT NULL DEFAULT '' COMMENT '运输编号,格式 SXYS######',
  1979. `license_plate` varchar(32) DEFAULT NULL COMMENT '车牌号',
  1980. `owner_name` varchar(64) DEFAULT NULL COMMENT '车主姓名/所属公司',
  1981. `transport_medium` varchar(64) DEFAULT NULL COMMENT '运输介质',
  1982. `start_point` varchar(255) DEFAULT NULL COMMENT '起点',
  1983. `end_point` varchar(255) DEFAULT NULL COMMENT '终点',
  1984. `distance_km` decimal(10,1) DEFAULT NULL COMMENT '距离(公里)',
  1985. `fee_unit` varchar(16) DEFAULT NULL COMMENT '计费单位(吨/趟)',
  1986. `transport_fee` decimal(12,2) DEFAULT NULL COMMENT '运费',
  1987. `has_invoice` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否有发票(0否 1是)',
  1988. `remark` varchar(512) DEFAULT NULL COMMENT '备注',
  1989. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记(0正常 1已删除)',
  1990. `create_by` varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
  1991. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  1992. `update_by` varchar(64) NOT NULL DEFAULT '' COMMENT '更新者',
  1993. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1994. PRIMARY KEY (`id`),
  1995. UNIQUE KEY `uk_transport_no` (`transport_no`)
  1996. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运输信息表';
  1997. -- ----------------------------
  1998. -- Table structure for pl_transport_company
  1999. -- ----------------------------
  2000. DROP TABLE IF EXISTS `pl_transport_company`;
  2001. CREATE TABLE `pl_transport_company` (
  2002. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  2003. `company_name` varchar(128) NOT NULL DEFAULT '' COMMENT '公司名称',
  2004. `contact_person` varchar(64) DEFAULT NULL COMMENT '联系人',
  2005. `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
  2006. `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态(1启用 0停用)',
  2007. `remark` varchar(512) DEFAULT NULL COMMENT '备注',
  2008. `sort_order` int(11) NOT NULL DEFAULT '0' COMMENT '排序号',
  2009. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记(0正常 1已删除)',
  2010. `create_by` varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
  2011. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  2012. `update_by` varchar(64) NOT NULL DEFAULT '' COMMENT '更新者',
  2013. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  2014. PRIMARY KEY (`id`)
  2015. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运输公司表';
  2016. -- ----------------------------
  2017. -- Table structure for pl_transport_vehicle
  2018. -- ----------------------------
  2019. DROP TABLE IF EXISTS `pl_transport_vehicle`;
  2020. CREATE TABLE `pl_transport_vehicle` (
  2021. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  2022. `company_id` VARCHAR(64) NOT NULL COMMENT '运输公司ID (FK → pl_transport_company.id)',
  2023. `license_plate` varchar(32) NOT NULL DEFAULT '' COMMENT '车牌号',
  2024. `vehicle_type` varchar(32) DEFAULT NULL COMMENT '车辆类型',
  2025. `load_capacity` decimal(10,2) DEFAULT NULL COMMENT '载重(吨)',
  2026. `driver_name` varchar(64) DEFAULT NULL COMMENT '司机姓名',
  2027. `driver_phone` varchar(20) DEFAULT NULL COMMENT '司机电话',
  2028. `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态(1启用 0停用)',
  2029. `remark` varchar(512) DEFAULT NULL COMMENT '备注',
  2030. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记(0正常 1已删除)',
  2031. `create_by` varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
  2032. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  2033. `update_by` varchar(64) NOT NULL DEFAULT '' COMMENT '更新者',
  2034. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  2035. PRIMARY KEY (`id`),
  2036. KEY `idx_vehicle_company_id` (`company_id`)
  2037. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运输公司车辆表';
  2038. -- ----------------------------
  2039. -- Table structure for purchase_plans
  2040. -- ----------------------------
  2041. DROP TABLE IF EXISTS `purchase_plans`;
  2042. CREATE TABLE `purchase_plans` (
  2043. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  2044. `plan_no` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '计划号(自动生成,格式:SX-YYYYMMDDMMHHSS001)',
  2045. `plan_date` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '计划日期(兼容字段)',
  2046. `start_date` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '开始时间',
  2047. `end_date` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '结束时间',
  2048. `business_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '业务类型(入库/出库)',
  2049. `product` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '产品名称',
  2050. `specification` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '规格',
  2051. `planned_quantity` double NOT NULL COMMENT '计划数量(t)',
  2052. `vehicle_no` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '',
  2053. `customer_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '往来单位',
  2054. `remarks` text COLLATE utf8mb4_unicode_ci COMMENT '备注',
  2055. `is_deleted` int(11) DEFAULT '0' COMMENT '是否删除(0=否,1=是)',
  2056. `execution_status` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '执行状态(待入库/待出库,已入库/已出库)',
  2057. `executed_at` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '执行时间',
  2058. `last_weighing_slip_id` VARCHAR(64) DEFAULT NULL COMMENT '最后关联的地磅单ID',
  2059. `executed_quantity` double DEFAULT '0' COMMENT '已执行量(kg)',
  2060. `created_at` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建时间',
  2061. `auto_generate_enabled` int(11) NOT NULL DEFAULT '0' COMMENT '是否自动按月生成(0=否,1=是)',
  2062. `auto_generate_end_month` varchar(7) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '自动生成结束月份(YYYY-MM,NULL=一直生成)',
  2063. `auto_generate_last_month` varchar(7) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '最后一次自动生成的月份(YYYY-MM,用于防重复)',
  2064. PRIMARY KEY (`id`),
  2065. KEY `idx_plan_no` (`plan_no`),
  2066. KEY `idx_plan_date` (`plan_date`),
  2067. KEY `idx_start_date` (`start_date`),
  2068. KEY `idx_end_date` (`end_date`),
  2069. KEY `idx_business_type` (`business_type`),
  2070. KEY `idx_product` (`product`),
  2071. KEY `idx_is_deleted` (`is_deleted`),
  2072. KEY `idx_execution_status` (`execution_status`),
  2073. KEY `idx_auto_generate_enabled` (`auto_generate_enabled`),
  2074. KEY `idx_auto_generate_end_month` (`auto_generate_end_month`)
  2075. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='计划表';
  2076. -- ----------------------------
  2077. -- Table structure for sys_client
  2078. -- ----------------------------
  2079. DROP TABLE IF EXISTS `sys_client`;
  2080. CREATE TABLE `sys_client` (
  2081. `id` VARCHAR(64) NOT NULL COMMENT 'id',
  2082. `client_id` varchar(64) DEFAULT NULL COMMENT '客户端id',
  2083. `client_key` varchar(32) DEFAULT NULL COMMENT '客户端key',
  2084. `client_secret` varchar(255) DEFAULT NULL COMMENT '客户端秘钥',
  2085. `grant_type` varchar(255) DEFAULT NULL COMMENT '授权类型',
  2086. `device_type` varchar(32) DEFAULT NULL COMMENT '设备类型',
  2087. `active_timeout` int(11) NOT NULL DEFAULT '1800' COMMENT 'token活跃超时时间(秒)',
  2088. `timeout` int(11) NOT NULL DEFAULT '604800' COMMENT 'token固定超时(秒)',
  2089. `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
  2090. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  2091. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  2092. `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
  2093. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2094. `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
  2095. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2096. PRIMARY KEY (`id`)
  2097. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统授权表';
  2098. -- ----------------------------
  2099. -- Table structure for sys_config
  2100. -- ----------------------------
  2101. DROP TABLE IF EXISTS `sys_config`;
  2102. CREATE TABLE `sys_config` (
  2103. `id` VARCHAR(64) NOT NULL COMMENT '参数主键',
  2104. `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
  2105. `config_name` varchar(100) DEFAULT '' COMMENT '参数名称',
  2106. `config_key` varchar(100) NOT NULL DEFAULT '' COMMENT '参数键名',
  2107. `config_value` varchar(500) DEFAULT '' COMMENT '参数键值',
  2108. `config_type` char(1) DEFAULT 'N' COMMENT '系统内置(Y是 N否)',
  2109. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  2110. `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
  2111. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2112. `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
  2113. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2114. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  2115. PRIMARY KEY (`id`)
  2116. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='参数配置表';
  2117. -- ----------------------------
  2118. -- Table structure for sys_dept
  2119. -- ----------------------------
  2120. DROP TABLE IF EXISTS `sys_dept`;
  2121. CREATE TABLE `sys_dept` (
  2122. `id` varchar(64) NOT NULL COMMENT '部门id',
  2123. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  2124. `parent_id` varchar(64) DEFAULT '0' COMMENT '父部门id',
  2125. `ancestors` varchar(500) DEFAULT '' COMMENT '祖级列表',
  2126. `dept_name` varchar(30) DEFAULT '' COMMENT '部门名称',
  2127. `dept_category` varchar(100) DEFAULT NULL COMMENT '部门类别编码',
  2128. `order_num` int(11) DEFAULT '0' COMMENT '显示顺序',
  2129. `leader` varchar(64) DEFAULT NULL COMMENT '负责人',
  2130. `phone` varchar(11) DEFAULT NULL COMMENT '联系电话',
  2131. `email` varchar(50) DEFAULT NULL COMMENT '邮箱',
  2132. `status` char(1) DEFAULT '0' COMMENT '部门状态(0正常 1停用)',
  2133. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  2134. `create_dept` varchar(64) DEFAULT NULL COMMENT '创建部门',
  2135. `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
  2136. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2137. `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
  2138. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2139. PRIMARY KEY (`id`)
  2140. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表';
  2141. -- ----------------------------
  2142. -- Table structure for sys_dict_data
  2143. -- ----------------------------
  2144. DROP TABLE IF EXISTS `sys_dict_data`;
  2145. CREATE TABLE `sys_dict_data` (
  2146. `dict_code` VARCHAR(64) NOT NULL COMMENT '字典编码',
  2147. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  2148. `dict_sort` int(4) DEFAULT '0' COMMENT '字典排序',
  2149. `dict_label` varchar(100) DEFAULT '' COMMENT '字典标签',
  2150. `dict_value` varchar(100) DEFAULT '' COMMENT '字典键值',
  2151. `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型',
  2152. `css_class` varchar(100) DEFAULT NULL COMMENT '样式属性(其他样式扩展)',
  2153. `list_class` varchar(100) DEFAULT NULL COMMENT '表格回显样式',
  2154. `is_default` char(1) DEFAULT 'N' COMMENT '是否默认(Y是 N否)',
  2155. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  2156. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  2157. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2158. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  2159. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2160. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  2161. PRIMARY KEY (`dict_code`) USING BTREE
  2162. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字典数据表';
  2163. -- ----------------------------
  2164. -- Table structure for sys_dict_type
  2165. -- ----------------------------
  2166. DROP TABLE IF EXISTS `sys_dict_type`;
  2167. CREATE TABLE `sys_dict_type` (
  2168. `dict_id` VARCHAR(64) NOT NULL COMMENT '字典主键',
  2169. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  2170. `dict_name` varchar(100) DEFAULT '' COMMENT '字典名称',
  2171. `dict_type` varchar(100) DEFAULT '' COMMENT '字典类型',
  2172. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  2173. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  2174. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2175. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  2176. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2177. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  2178. PRIMARY KEY (`dict_id`) USING BTREE,
  2179. UNIQUE KEY `tenant_id` (`tenant_id`,`dict_type`) USING BTREE
  2180. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='字典类型表';
  2181. -- ----------------------------
  2182. -- Table structure for sys_logininfor
  2183. -- ----------------------------
  2184. DROP TABLE IF EXISTS `sys_logininfor`;
  2185. CREATE TABLE `sys_logininfor` (
  2186. `id` VARCHAR(64) NOT NULL COMMENT '访问ID',
  2187. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  2188. `user_name` varchar(50) DEFAULT '' COMMENT '用户账号',
  2189. `client_key` varchar(32) DEFAULT '' COMMENT '客户端',
  2190. `device_type` varchar(32) DEFAULT '' COMMENT '设备类型',
  2191. `ipaddr` varchar(128) DEFAULT '' COMMENT '登录IP地址',
  2192. `login_location` varchar(255) DEFAULT '' COMMENT '登录地点',
  2193. `browser` varchar(50) DEFAULT '' COMMENT '浏览器类型',
  2194. `os` varchar(50) DEFAULT '' COMMENT '操作系统',
  2195. `status` char(1) DEFAULT '0' COMMENT '登录状态(0成功 1失败)',
  2196. `msg` varchar(255) DEFAULT '' COMMENT '提示消息',
  2197. `login_time` datetime DEFAULT NULL COMMENT '访问时间',
  2198. PRIMARY KEY (`id`),
  2199. KEY `idx_logininfor_s` (`status`),
  2200. KEY `idx_logininfor_lt` (`login_time`)
  2201. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统访问记录表';
  2202. -- ----------------------------
  2203. -- Table structure for sys_menu
  2204. -- ----------------------------
  2205. DROP TABLE IF EXISTS `sys_menu`;
  2206. CREATE TABLE `sys_menu` (
  2207. `id` varchar(64) NOT NULL COMMENT '菜单ID',
  2208. `menu_name` varchar(50) NOT NULL COMMENT '菜单名称',
  2209. `parent_id` varchar(64) DEFAULT '0' COMMENT '父菜单ID',
  2210. `order_num` int(11) DEFAULT '0' COMMENT '显示顺序',
  2211. `path` varchar(200) DEFAULT '' COMMENT '路由地址',
  2212. `component` varchar(255) DEFAULT NULL COMMENT '组件路径',
  2213. `query_param` varchar(255) DEFAULT NULL COMMENT '路由参数',
  2214. `is_frame` tinyint(4) DEFAULT '1' COMMENT '是否为外链(0是 1否)',
  2215. `is_cache` tinyint(4) DEFAULT '0' COMMENT '是否缓存(0缓存 1不缓存)',
  2216. `menu_type` char(1) DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)',
  2217. `visible` char(1) DEFAULT '0' COMMENT '显示状态(0显示 1隐藏)',
  2218. `status` char(1) DEFAULT '0' COMMENT '菜单状态(0正常 1停用)',
  2219. `perms` varchar(100) DEFAULT NULL COMMENT '权限标识',
  2220. `icon` varchar(100) DEFAULT '#' COMMENT '菜单图标',
  2221. `create_dept` varchar(64) DEFAULT NULL COMMENT '创建部门',
  2222. `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
  2223. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2224. `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
  2225. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2226. `remark` varchar(500) DEFAULT '' COMMENT '备注',
  2227. PRIMARY KEY (`id`)
  2228. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='菜单权限表';
  2229. -- ----------------------------
  2230. -- Table structure for sys_notice
  2231. -- ----------------------------
  2232. DROP TABLE IF EXISTS `sys_notice`;
  2233. CREATE TABLE `sys_notice` (
  2234. `id` VARCHAR(64) NOT NULL COMMENT '公告ID',
  2235. `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
  2236. `notice_title` varchar(50) NOT NULL COMMENT '公告标题',
  2237. `notice_type` char(1) NOT NULL COMMENT '公告类型(1通知 2公告)',
  2238. `notice_content` longblob COMMENT '公告内容',
  2239. `status` char(1) NOT NULL DEFAULT '0' COMMENT '公告状态(0正常 1关闭)',
  2240. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  2241. `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
  2242. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2243. `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
  2244. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2245. `remark` varchar(255) DEFAULT NULL COMMENT '备注',
  2246. PRIMARY KEY (`id`)
  2247. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='通知公告表';
  2248. -- ----------------------------
  2249. -- Table structure for sys_oper_log
  2250. -- ----------------------------
  2251. DROP TABLE IF EXISTS `sys_oper_log`;
  2252. CREATE TABLE `sys_oper_log` (
  2253. `id` VARCHAR(64) NOT NULL COMMENT '日志主键',
  2254. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  2255. `title` varchar(50) DEFAULT '' COMMENT '模块标题',
  2256. `business_type` int(11) DEFAULT '0' COMMENT '业务类型(0其它 1新增 2修改 3删除)',
  2257. `method` varchar(100) DEFAULT '' COMMENT '方法名称',
  2258. `request_method` varchar(10) DEFAULT '' COMMENT '请求方式',
  2259. `operator_type` int(11) DEFAULT '0' COMMENT '操作类别(0其它 1后台 2手机端)',
  2260. `oper_name` varchar(50) DEFAULT '' COMMENT '操作人员',
  2261. `dept_name` varchar(50) DEFAULT '' COMMENT '部门名称',
  2262. `oper_url` varchar(255) DEFAULT '' COMMENT '请求URL',
  2263. `oper_ip` varchar(128) DEFAULT '' COMMENT '主机地址',
  2264. `oper_location` varchar(255) DEFAULT '' COMMENT '操作地点',
  2265. `oper_param` text COMMENT '请求参数',
  2266. `json_result` text COMMENT '返回参数',
  2267. `status` int(11) DEFAULT '0' COMMENT '操作状态(0正常 1异常)',
  2268. `error_msg` varchar(4000) DEFAULT '' COMMENT '错误消息',
  2269. `oper_time` datetime DEFAULT NULL COMMENT '操作时间',
  2270. `cost_time` bigint(20) DEFAULT '0' COMMENT '消耗时间',
  2271. PRIMARY KEY (`id`),
  2272. KEY `idx_oper_log_bt` (`business_type`),
  2273. KEY `idx_oper_log_s` (`status`),
  2274. KEY `idx_oper_log_ot` (`oper_time`)
  2275. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志记录';
  2276. -- ----------------------------
  2277. -- Table structure for sys_oss
  2278. -- ----------------------------
  2279. DROP TABLE IF EXISTS `sys_oss`;
  2280. CREATE TABLE `sys_oss` (
  2281. `id` VARCHAR(64) NOT NULL COMMENT '对象存储主键',
  2282. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  2283. `file_name` varchar(255) NOT NULL DEFAULT '' COMMENT '文件名',
  2284. `original_name` varchar(255) NOT NULL DEFAULT '' COMMENT '原名',
  2285. `file_suffix` varchar(10) NOT NULL DEFAULT '' COMMENT '文件后缀名',
  2286. `url` varchar(500) NOT NULL COMMENT 'URL地址',
  2287. `service` varchar(20) NOT NULL DEFAULT 'minio' COMMENT '服务商',
  2288. `ext1` text COMMENT '扩展字段',
  2289. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  2290. `create_by` varchar(64) DEFAULT NULL COMMENT '上传人',
  2291. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2292. `update_by` varchar(64) DEFAULT NULL COMMENT '更新人',
  2293. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2294. PRIMARY KEY (`id`)
  2295. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OSS对象存储表';
  2296. -- ----------------------------
  2297. -- Table structure for sys_oss_config
  2298. -- ----------------------------
  2299. DROP TABLE IF EXISTS `sys_oss_config`;
  2300. CREATE TABLE `sys_oss_config` (
  2301. `id` VARCHAR(64) NOT NULL COMMENT '主键',
  2302. `tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号',
  2303. `config_key` varchar(20) NOT NULL DEFAULT '' COMMENT '配置key',
  2304. `access_key` varchar(255) DEFAULT '' COMMENT 'accessKey',
  2305. `secret_key` varchar(255) DEFAULT '' COMMENT '秘钥',
  2306. `bucket_name` varchar(255) DEFAULT '' COMMENT '桶名称',
  2307. `prefix` varchar(255) DEFAULT '' COMMENT '前缀',
  2308. `endpoint` varchar(255) DEFAULT '' COMMENT '访问站点',
  2309. `domain` varchar(255) DEFAULT '' COMMENT '自定义域名',
  2310. `is_https` char(1) DEFAULT 'N' COMMENT '是否https(Y是 N否)',
  2311. `region` varchar(255) DEFAULT '' COMMENT '域',
  2312. `access_policy` char(1) NOT NULL DEFAULT '1' COMMENT '桶权限类型(0private 1public 2custom)',
  2313. `status` char(1) DEFAULT '1' COMMENT '是否默认(0是 1否)',
  2314. `ext1` varchar(255) DEFAULT '' COMMENT '扩展字段',
  2315. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  2316. `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
  2317. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2318. `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
  2319. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2320. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  2321. PRIMARY KEY (`id`)
  2322. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='对象存储配置表';
  2323. -- ----------------------------
  2324. -- Table structure for sys_post
  2325. -- ----------------------------
  2326. DROP TABLE IF EXISTS `sys_post`;
  2327. CREATE TABLE `sys_post` (
  2328. `id` VARCHAR(64) NOT NULL COMMENT '岗位ID',
  2329. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  2330. `dept_id` VARCHAR(64) NOT NULL COMMENT '部门id',
  2331. `post_code` varchar(64) NOT NULL COMMENT '岗位编码',
  2332. `post_category` varchar(100) DEFAULT NULL COMMENT '岗位类别编码',
  2333. `post_name` varchar(50) NOT NULL COMMENT '岗位名称',
  2334. `post_sort` int(11) NOT NULL COMMENT '显示顺序',
  2335. `status` char(1) NOT NULL COMMENT '状态(0正常 1停用)',
  2336. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  2337. `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
  2338. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2339. `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
  2340. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2341. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  2342. PRIMARY KEY (`id`)
  2343. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='岗位信息表';
  2344. -- ----------------------------
  2345. -- Table structure for sys_region
  2346. -- ----------------------------
  2347. DROP TABLE IF EXISTS `sys_region`;
  2348. CREATE TABLE `sys_region` (
  2349. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  2350. `code` varchar(20) NOT NULL COMMENT '行政区划编码',
  2351. `name` varchar(50) NOT NULL COMMENT '行政区划名称',
  2352. `short_name` varchar(30) DEFAULT NULL COMMENT '行政区划简称',
  2353. `parent_code` VARCHAR(64) DEFAULT '0' COMMENT '父级行政区划编码,顶级为0',
  2354. `level` tinyint(1) NOT NULL COMMENT '层级(1:省,2:市,3:区/县,4:街道/镇)',
  2355. `sort` int(11) DEFAULT '0' COMMENT '排序',
  2356. `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
  2357. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  2358. `longitude` decimal(10,7) DEFAULT NULL COMMENT '经度',
  2359. `latitude` decimal(10,7) DEFAULT NULL COMMENT '纬度',
  2360. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  2361. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  2362. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2363. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  2364. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2365. `deleted` tinyint(1) DEFAULT '0' COMMENT '逻辑删除标识(0未删除 1已删除)',
  2366. `tenant_id` VARCHAR(64) DEFAULT NULL COMMENT '租户ID',
  2367. PRIMARY KEY (`id`) USING BTREE,
  2368. UNIQUE KEY `idx_region_code` (`code`,`deleted`,`tenant_id`) USING BTREE,
  2369. KEY `idx_region_parent_code` (`parent_code`) USING BTREE
  2370. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='行政区划表';
  2371. -- ----------------------------
  2372. -- Table structure for sys_role
  2373. -- ----------------------------
  2374. DROP TABLE IF EXISTS `sys_role`;
  2375. CREATE TABLE `sys_role` (
  2376. `id` varchar(64) NOT NULL COMMENT '角色ID',
  2377. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  2378. `role_name` varchar(30) NOT NULL COMMENT '角色名称',
  2379. `role_key` varchar(100) NOT NULL COMMENT '角色权限字符串',
  2380. `role_sort` int(11) NOT NULL COMMENT '显示顺序',
  2381. `data_scope` char(1) DEFAULT '1' COMMENT '数据范围(1全部 2自定 3本部门 4本部门及以下 5仅本人 6部门及以下或本人)',
  2382. `menu_check_strictly` tinyint(4) DEFAULT '1' COMMENT '菜单树选择项是否关联显示',
  2383. `dept_check_strictly` tinyint(4) DEFAULT '1' COMMENT '部门树选择项是否关联显示',
  2384. `status` char(1) NOT NULL COMMENT '角色状态(0正常 1停用)',
  2385. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  2386. `create_dept` varchar(64) DEFAULT NULL COMMENT '创建部门',
  2387. `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
  2388. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2389. `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
  2390. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2391. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  2392. PRIMARY KEY (`id`)
  2393. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色信息表';
  2394. -- ----------------------------
  2395. -- Table structure for sys_role_dept
  2396. -- ----------------------------
  2397. DROP TABLE IF EXISTS `sys_role_dept`;
  2398. CREATE TABLE `sys_role_dept` (
  2399. `role_id` VARCHAR(64) NOT NULL COMMENT '角色ID',
  2400. `dept_id` VARCHAR(64) NOT NULL COMMENT '部门ID',
  2401. PRIMARY KEY (`role_id`,`dept_id`)
  2402. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和部门关联表';
  2403. -- ----------------------------
  2404. -- Table structure for sys_role_menu
  2405. -- ----------------------------
  2406. DROP TABLE IF EXISTS `sys_role_menu`;
  2407. CREATE TABLE `sys_role_menu` (
  2408. `role_id` varchar(64) NOT NULL COMMENT '角色ID',
  2409. `menu_id` varchar(64) NOT NULL COMMENT '菜单ID',
  2410. PRIMARY KEY (`role_id`,`menu_id`)
  2411. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色和菜单关联表';
  2412. -- ----------------------------
  2413. -- Table structure for sys_tenant
  2414. -- ----------------------------
  2415. DROP TABLE IF EXISTS `sys_tenant`;
  2416. CREATE TABLE `sys_tenant` (
  2417. `id` VARCHAR(64) NOT NULL COMMENT 'id',
  2418. `tenant_id` varchar(20) NOT NULL COMMENT '租户编号',
  2419. `contact_user_name` varchar(20) DEFAULT NULL COMMENT '联系人',
  2420. `contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
  2421. `company_name` varchar(30) DEFAULT NULL COMMENT '企业名称',
  2422. `license_number` varchar(30) DEFAULT NULL COMMENT '统一社会信用代码',
  2423. `address` varchar(200) DEFAULT NULL COMMENT '地址',
  2424. `intro` varchar(200) DEFAULT NULL COMMENT '企业简介',
  2425. `domain` varchar(200) DEFAULT NULL COMMENT '域名',
  2426. `remark` varchar(200) DEFAULT NULL COMMENT '备注',
  2427. `package_id` VARCHAR(64) DEFAULT NULL COMMENT '租户套餐编号',
  2428. `expire_time` datetime DEFAULT NULL COMMENT '过期时间',
  2429. `account_count` int(11) DEFAULT '-1' COMMENT '用户数量(-1不限制)',
  2430. `status` char(1) DEFAULT '0' COMMENT '租户状态(0正常 1停用)',
  2431. `del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
  2432. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  2433. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建者',
  2434. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2435. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新者',
  2436. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2437. PRIMARY KEY (`id`) USING BTREE
  2438. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='租户表';
  2439. -- ----------------------------
  2440. -- Table structure for sys_tenant_package
  2441. -- ----------------------------
  2442. DROP TABLE IF EXISTS `sys_tenant_package`;
  2443. CREATE TABLE `sys_tenant_package` (
  2444. `id` VARCHAR(64) NOT NULL COMMENT '租户套餐id',
  2445. `package_name` varchar(20) DEFAULT NULL COMMENT '套餐名称',
  2446. `menu_ids` varchar(3000) DEFAULT NULL COMMENT '关联菜单id',
  2447. `remark` varchar(200) DEFAULT NULL COMMENT '备注',
  2448. `menu_check_strictly` tinyint(4) NOT NULL DEFAULT '1' COMMENT '菜单树选择项是否关联显示',
  2449. `status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
  2450. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  2451. `create_dept` VARCHAR(64) DEFAULT NULL COMMENT '创建部门',
  2452. `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
  2453. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2454. `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
  2455. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2456. PRIMARY KEY (`id`)
  2457. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='租户套餐表';
  2458. -- ----------------------------
  2459. -- Table structure for sys_user
  2460. -- ----------------------------
  2461. DROP TABLE IF EXISTS `sys_user`;
  2462. CREATE TABLE `sys_user` (
  2463. `id` varchar(64) NOT NULL COMMENT '用户ID',
  2464. `tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
  2465. `dept_id` varchar(64) DEFAULT NULL COMMENT '部门ID',
  2466. `user_name` varchar(30) NOT NULL COMMENT '用户账号',
  2467. `nick_name` varchar(30) NOT NULL COMMENT '用户昵称',
  2468. `user_type` varchar(10) DEFAULT 'sys_user' COMMENT '用户类型(sys_user系统用户)',
  2469. `email` varchar(50) DEFAULT '' COMMENT '用户邮箱',
  2470. `phonenumber` varchar(11) DEFAULT '' COMMENT '手机号码',
  2471. `sex` char(1) DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)',
  2472. `avatar` varchar(64) DEFAULT NULL COMMENT '头像地址',
  2473. `password` varchar(100) DEFAULT '' COMMENT '密码',
  2474. `status` char(1) DEFAULT '0' COMMENT '帐号状态(0正常 1停用)',
  2475. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  2476. `login_ip` varchar(128) DEFAULT '' COMMENT '最后登录IP',
  2477. `login_date` datetime DEFAULT NULL COMMENT '最后登录时间',
  2478. `create_dept` varchar(64) DEFAULT NULL COMMENT '创建部门',
  2479. `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
  2480. `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  2481. `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
  2482. `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  2483. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  2484. PRIMARY KEY (`id`)
  2485. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表';
  2486. -- ----------------------------
  2487. -- Table structure for sys_user_post
  2488. -- ----------------------------
  2489. DROP TABLE IF EXISTS `sys_user_post`;
  2490. CREATE TABLE `sys_user_post` (
  2491. `user_id` VARCHAR(64) NOT NULL COMMENT '用户ID',
  2492. `post_id` VARCHAR(64) NOT NULL COMMENT '岗位ID',
  2493. PRIMARY KEY (`user_id`,`post_id`)
  2494. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户与岗位关联表';
  2495. -- ----------------------------
  2496. -- Table structure for sys_user_role
  2497. -- ----------------------------
  2498. DROP TABLE IF EXISTS `sys_user_role`;
  2499. CREATE TABLE `sys_user_role` (
  2500. `user_id` varchar(64) NOT NULL COMMENT '用户ID',
  2501. `role_id` varchar(64) NOT NULL COMMENT '角色ID',
  2502. PRIMARY KEY (`user_id`,`role_id`)
  2503. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户和角色关联表';
  2504. -- ----------------------------
  2505. -- Table structure for weighing_slips
  2506. -- ----------------------------
  2507. DROP TABLE IF EXISTS `weighing_slips`;
  2508. CREATE TABLE `weighing_slips` (
  2509. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  2510. `vehicle_no` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '车号',
  2511. `plan_no` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '计划单号',
  2512. `cargo_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '货物名称',
  2513. `business_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '业务类型(入库/出库)',
  2514. `batch_no` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '批次号',
  2515. `supplier` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '供货单位',
  2516. `consignee` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '收货单位',
  2517. `gross_weight` double NOT NULL COMMENT '毛重(kg)',
  2518. `gross_weight_time` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '毛重时间',
  2519. `tare_weight` double NOT NULL COMMENT '皮重(kg)',
  2520. `tare_weight_time` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '皮重时间',
  2521. `deduction` double DEFAULT '0' COMMENT '扣杂(kg)',
  2522. `net_weight` double NOT NULL COMMENT '净重(kg)',
  2523. `planned_quantity` double DEFAULT NULL COMMENT '计划数量(kg)',
  2524. `executed_quantity` double DEFAULT NULL COMMENT '执行数量(kg)',
  2525. `purchase_plan_id` VARCHAR(64) DEFAULT NULL COMMENT '关联的计划ID',
  2526. `inbound_outbound_id` VARCHAR(64) DEFAULT NULL COMMENT '关联的出入库单ID',
  2527. `weighing_point` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '山峡地磅' COMMENT '称重点',
  2528. `remarks` text COLLATE utf8mb4_unicode_ci COMMENT '备注',
  2529. `current_quantity` double DEFAULT NULL COMMENT '本次量(kg)',
  2530. `is_voided` int(11) DEFAULT '0' COMMENT '是否作废(0=否, 1=是)',
  2531. `created_at` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '创建时间',
  2532. PRIMARY KEY (`id`),
  2533. KEY `idx_vehicle_no` (`vehicle_no`),
  2534. KEY `idx_plan_no` (`plan_no`),
  2535. KEY `idx_cargo_name` (`cargo_name`),
  2536. KEY `idx_gross_weight_time` (`gross_weight_time`),
  2537. KEY `idx_is_voided` (`is_voided`),
  2538. KEY `idx_purchase_plan_id` (`purchase_plan_id`),
  2539. KEY `idx_inbound_outbound_id` (`inbound_outbound_id`)
  2540. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='地磅单表';
  2541. -- ----------------------------
  2542. -- Table structure for wf_workflow_def
  2543. -- ----------------------------
  2544. DROP TABLE IF EXISTS `wf_workflow_def`;
  2545. CREATE TABLE `wf_workflow_def` (
  2546. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  2547. `flow_code` varchar(40) NOT NULL COMMENT '流程编码',
  2548. `flow_name` varchar(100) NOT NULL COMMENT '流程名称',
  2549. `category` varchar(100) DEFAULT NULL COMMENT '流程类别',
  2550. `version` varchar(20) NOT NULL DEFAULT '1' COMMENT '版本号',
  2551. `is_publish` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否发布(0未发布 1已发布 9失效)',
  2552. `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)',
  2553. `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径',
  2554. `activity_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)',
  2555. `def_json` text COMMENT '流程定义JSON(设计器产出)',
  2556. `biz_type` varchar(32) DEFAULT NULL COMMENT '关联业务类型(crm_contract/bx_reimburse/pl_plan/pl_settlement 等)',
  2557. `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  2558. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  2559. `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
  2560. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  2561. `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
  2562. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  2563. PRIMARY KEY (`id`),
  2564. UNIQUE KEY `uk_flow_code_version` (`flow_code`,`version`)
  2565. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作流定义表';
  2566. -- ----------------------------
  2567. -- Table structure for wf_workflow_instance
  2568. -- ----------------------------
  2569. DROP TABLE IF EXISTS `wf_workflow_instance`;
  2570. CREATE TABLE `wf_workflow_instance` (
  2571. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  2572. `definition_id` VARCHAR(64) NOT NULL COMMENT '流程定义ID (FK → wf_workflow_def.id)',
  2573. `business_id` varchar(40) NOT NULL COMMENT '业务ID',
  2574. `biz_type` varchar(32) DEFAULT NULL COMMENT '业务类型(crm_contract/bx_reimburse/pl_plan/pl_settlement 等)',
  2575. `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2通过 4终止 5作废 6撤销 8完成 9退回)',
  2576. `activity_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '激活状态(0挂起 1激活)',
  2577. `current_node_code` varchar(100) DEFAULT NULL COMMENT '当前节点编码',
  2578. `current_node_name` varchar(100) DEFAULT NULL COMMENT '当前节点名称',
  2579. `variable` text COMMENT '流程变量JSON',
  2580. `def_json` text COMMENT '流程定义快照JSON',
  2581. `ext` varchar(500) DEFAULT NULL COMMENT '扩展字段',
  2582. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  2583. `create_by` varchar(64) DEFAULT NULL COMMENT '创建者(流程发起人)',
  2584. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  2585. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  2586. PRIMARY KEY (`id`),
  2587. KEY `idx_wf_instance_def_id` (`definition_id`),
  2588. KEY `idx_wf_instance_biz` (`biz_type`,`business_id`),
  2589. KEY `idx_wf_instance_status` (`flow_status`)
  2590. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作流实例表';
  2591. -- ----------------------------
  2592. -- Table structure for wf_workflow_node
  2593. -- ----------------------------
  2594. DROP TABLE IF EXISTS `wf_workflow_node`;
  2595. CREATE TABLE `wf_workflow_node` (
  2596. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  2597. `definition_id` VARCHAR(64) NOT NULL COMMENT '流程定义ID (FK → wf_workflow_def.id)',
  2598. `node_code` varchar(100) NOT NULL COMMENT '流程节点编码',
  2599. `node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称',
  2600. `node_type` tinyint(4) NOT NULL COMMENT '节点类型(0开始 1审批 2结束 3互斥网关 4并行网关)',
  2601. `permission_flag` varchar(200) DEFAULT NULL COMMENT '权限标识',
  2602. `assignee_type` varchar(20) DEFAULT NULL COMMENT '审批人类型(user/role/dept/dept_leader/initiator)',
  2603. `assignee_id` varchar(200) DEFAULT NULL COMMENT '审批人ID(多ID逗号分隔)',
  2604. `multi_approve` varchar(20) DEFAULT 'any' COMMENT '多人审批策略(any/all/ratio)',
  2605. `approve_ratio` decimal(5,2) DEFAULT NULL COMMENT '通过比例',
  2606. `coordinate` varchar(100) DEFAULT NULL COMMENT '设计器坐标',
  2607. `sort_order` int(11) NOT NULL DEFAULT '0' COMMENT '节点顺序',
  2608. `version` varchar(20) NOT NULL DEFAULT '1' COMMENT '版本',
  2609. `ext` text COMMENT '扩展属性',
  2610. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  2611. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  2612. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  2613. PRIMARY KEY (`id`),
  2614. KEY `idx_wf_node_def_id` (`definition_id`)
  2615. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作流节点表';
  2616. -- ----------------------------
  2617. -- Table structure for wf_workflow_skip
  2618. -- ----------------------------
  2619. DROP TABLE IF EXISTS `wf_workflow_skip`;
  2620. CREATE TABLE `wf_workflow_skip` (
  2621. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  2622. `definition_id` VARCHAR(64) NOT NULL COMMENT '流程定义ID (FK → wf_workflow_def.id)',
  2623. `now_node_code` varchar(100) NOT NULL COMMENT '当前节点编码',
  2624. `now_node_type` tinyint(4) DEFAULT NULL COMMENT '当前节点类型',
  2625. `next_node_code` varchar(100) NOT NULL COMMENT '下一节点编码',
  2626. `next_node_type` tinyint(4) DEFAULT NULL COMMENT '下一节点类型',
  2627. `skip_name` varchar(100) DEFAULT NULL COMMENT '跳转名称',
  2628. `skip_type` varchar(40) DEFAULT NULL COMMENT '跳转类型(PASS通过 REJECT退回)',
  2629. `skip_condition` varchar(200) DEFAULT NULL COMMENT '跳转条件',
  2630. `coordinate` varchar(100) DEFAULT NULL COMMENT '设计器坐标',
  2631. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  2632. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  2633. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  2634. PRIMARY KEY (`id`),
  2635. KEY `idx_wf_skip_def_id` (`definition_id`)
  2636. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作流跳转关联表';
  2637. -- ----------------------------
  2638. -- Table structure for wf_workflow_task
  2639. -- ----------------------------
  2640. DROP TABLE IF EXISTS `wf_workflow_task`;
  2641. CREATE TABLE `wf_workflow_task` (
  2642. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  2643. `definition_id` VARCHAR(64) NOT NULL COMMENT '流程定义ID (FK → wf_workflow_def.id)',
  2644. `instance_id` VARCHAR(64) NOT NULL COMMENT '流程实例ID (FK → wf_workflow_instance.id)',
  2645. `node_code` varchar(100) NOT NULL COMMENT '节点编码',
  2646. `node_name` varchar(100) DEFAULT NULL COMMENT '节点名称',
  2647. `node_type` tinyint(4) NOT NULL COMMENT '节点类型',
  2648. `flow_status` varchar(20) NOT NULL COMMENT '流程状态(0待提交 1审批中 2通过 9退回)',
  2649. `assignee` varchar(64) DEFAULT NULL COMMENT '当前处理人',
  2650. `form_custom` char(1) DEFAULT 'N' COMMENT '表单是否自定义',
  2651. `form_path` varchar(100) DEFAULT NULL COMMENT '表单路径',
  2652. `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标志(0正常 1删除)',
  2653. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  2654. `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  2655. PRIMARY KEY (`id`),
  2656. KEY `idx_wf_task_instance_id` (`instance_id`),
  2657. KEY `idx_wf_task_assignee` (`assignee`),
  2658. KEY `idx_wf_task_status` (`flow_status`)
  2659. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作流待办任务表';
  2660. -- ----------------------------
  2661. -- Table structure for wf_workflow_task_log
  2662. -- ----------------------------
  2663. DROP TABLE IF EXISTS `wf_workflow_task_log`;
  2664. CREATE TABLE `wf_workflow_task_log` (
  2665. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  2666. `instance_id` VARCHAR(64) NOT NULL COMMENT '流程实例ID (FK → wf_workflow_instance.id)',
  2667. `task_id` VARCHAR(64) DEFAULT NULL COMMENT '任务ID (FK → wf_workflow_task.id)',
  2668. `node_code` varchar(100) NOT NULL COMMENT '节点编码',
  2669. `node_name` varchar(100) DEFAULT NULL COMMENT '节点名称',
  2670. `action_type` varchar(20) NOT NULL COMMENT '操作类型(submit/approve/reject/terminate/revoke/transfer)',
  2671. `operator` varchar(64) DEFAULT NULL COMMENT '操作人',
  2672. `operator_name` varchar(64) DEFAULT NULL COMMENT '操作人姓名',
  2673. `opinion` varchar(1024) DEFAULT NULL COMMENT '审批意见',
  2674. `ext` varchar(500) DEFAULT NULL COMMENT '扩展字段',
  2675. `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
  2676. PRIMARY KEY (`id`),
  2677. KEY `idx_wf_task_log_instance_id` (`instance_id`),
  2678. KEY `idx_wf_task_log_operator` (`operator`),
  2679. KEY `idx_wf_task_log_create_time` (`create_time`)
  2680. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工作流任务日志表';
  2681. SET FOREIGN_KEY_CHECKS = 1;