data.pdman.json 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308
  1. {
  2. "modules": [
  3. {
  4. "name": "course",
  5. "chnname": "课程管理",
  6. "entities": [
  7. {
  8. "title": "course_detail",
  9. "fields": [
  10. {
  11. "name": "Id",
  12. "type": "Integer",
  13. "remark": "",
  14. "chnname": "主键",
  15. "pk": true,
  16. "notNull": true,
  17. "autoIncrement": true
  18. },
  19. {
  20. "name": "CourseId",
  21. "type": "Integer",
  22. "remark": "",
  23. "chnname": "课程表ID"
  24. },
  25. {
  26. "name": "Year",
  27. "type": "Integer",
  28. "remark": "",
  29. "chnname": "学年",
  30. "uiHint": "Select"
  31. },
  32. {
  33. "name": "Term",
  34. "type": "Integer",
  35. "remark": "",
  36. "chnname": "学期",
  37. "uiHint": "Select"
  38. },
  39. {
  40. "name": "CourseName",
  41. "type": "DefaultString",
  42. "remark": "",
  43. "chnname": "课程名",
  44. "uiHint": "Text"
  45. },
  46. {
  47. "name": "Teacher",
  48. "type": "Integer",
  49. "remark": "",
  50. "chnname": "授课老师",
  51. "uiHint": "Select"
  52. },
  53. {
  54. "name": "Local",
  55. "type": "Integer",
  56. "remark": "",
  57. "chnname": "实验地点",
  58. "uiHint": "Select"
  59. },
  60. {
  61. "name": "Class",
  62. "type": "Integer",
  63. "remark": "",
  64. "chnname": "授课班级",
  65. "uiHint": "Select"
  66. },
  67. {
  68. "name": "Mark",
  69. "type": "Money",
  70. "remark": "",
  71. "chnname": "学分",
  72. "uiHint": "Money"
  73. },
  74. {
  75. "name": "Num",
  76. "type": "Integer",
  77. "remark": "",
  78. "chnname": "人数",
  79. "uiHint": "Number"
  80. },
  81. {
  82. "name": "WeekTitle",
  83. "type": "DefaultString",
  84. "remark": "",
  85. "chnname": "教学周",
  86. "uiHint": "Text"
  87. },
  88. {
  89. "name": "DayOfWeek",
  90. "type": "Integer",
  91. "remark": "1-7",
  92. "chnname": "周次",
  93. "uiHint": "Select"
  94. },
  95. {
  96. "name": "Time",
  97. "type": "DefaultString",
  98. "remark": "",
  99. "chnname": "节次",
  100. "uiHint": "CheckBox"
  101. },
  102. {
  103. "name": "Status",
  104. "type": "Integer",
  105. "remark": "发布状态",
  106. "chnname": "状态"
  107. },
  108. {
  109. "name": "CreatedBy",
  110. "type": "IdOrKey",
  111. "remark": "",
  112. "chnname": "创建人"
  113. },
  114. {
  115. "name": "CreatedTime",
  116. "type": "DateTime",
  117. "remark": "",
  118. "chnname": "创建时间"
  119. },
  120. {
  121. "name": "UpdatedBy",
  122. "type": "IdOrKey",
  123. "remark": "",
  124. "chnname": "更新人"
  125. },
  126. {
  127. "name": "UpdatedTime",
  128. "type": "DateTime",
  129. "remark": "",
  130. "chnname": "更新时间"
  131. },
  132. {
  133. "name": "IsDel",
  134. "type": "Integer",
  135. "remark": "",
  136. "chnname": "删除标志",
  137. "notNull": true
  138. }
  139. ],
  140. "indexs": [],
  141. "headers": [
  142. {
  143. "fieldName": "chnname",
  144. "relationNoShow": false
  145. },
  146. {
  147. "fieldName": "name",
  148. "relationNoShow": false
  149. },
  150. {
  151. "fieldName": "type",
  152. "relationNoShow": false
  153. },
  154. {
  155. "fieldName": "dataType",
  156. "relationNoShow": true
  157. },
  158. {
  159. "fieldName": "remark",
  160. "relationNoShow": true
  161. },
  162. {
  163. "fieldName": "pk",
  164. "relationNoShow": false
  165. },
  166. {
  167. "fieldName": "notNull",
  168. "relationNoShow": true
  169. },
  170. {
  171. "fieldName": "autoIncrement",
  172. "relationNoShow": true
  173. },
  174. {
  175. "fieldName": "defaultValue",
  176. "relationNoShow": true
  177. },
  178. {
  179. "fieldName": "relationNoShow",
  180. "relationNoShow": true
  181. },
  182. {
  183. "fieldName": "uiHint",
  184. "relationNoShow": true
  185. }
  186. ],
  187. "chnname": "课程明细表"
  188. },
  189. {
  190. "title": "class",
  191. "fields": [
  192. {
  193. "name": "Id",
  194. "type": "Integer",
  195. "remark": "",
  196. "chnname": "主键",
  197. "pk": true,
  198. "notNull": true,
  199. "autoIncrement": true
  200. },
  201. {
  202. "name": "Year",
  203. "type": "Integer",
  204. "remark": "",
  205. "chnname": "年级",
  206. "uiHint": "Select"
  207. },
  208. {
  209. "name": "Name",
  210. "type": "DefaultString",
  211. "remark": "",
  212. "chnname": "班级名称",
  213. "uiHint": "Text"
  214. },
  215. {
  216. "name": "CreatedBy",
  217. "type": "IdOrKey",
  218. "remark": "",
  219. "chnname": "创建人"
  220. },
  221. {
  222. "name": "CreatedTime",
  223. "type": "DateTime",
  224. "remark": "",
  225. "chnname": "创建时间"
  226. },
  227. {
  228. "name": "UpdatedBy",
  229. "type": "IdOrKey",
  230. "remark": "",
  231. "chnname": "更新人"
  232. },
  233. {
  234. "name": "UpdatedTime",
  235. "type": "DateTime",
  236. "remark": "",
  237. "chnname": "更新时间"
  238. },
  239. {
  240. "name": "IsDel",
  241. "type": "Integer",
  242. "remark": "",
  243. "chnname": "删除标志",
  244. "notNull": true
  245. }
  246. ],
  247. "indexs": [],
  248. "headers": [
  249. {
  250. "fieldName": "chnname",
  251. "relationNoShow": false
  252. },
  253. {
  254. "fieldName": "name",
  255. "relationNoShow": false
  256. },
  257. {
  258. "fieldName": "type",
  259. "relationNoShow": false
  260. },
  261. {
  262. "fieldName": "dataType",
  263. "relationNoShow": true
  264. },
  265. {
  266. "fieldName": "remark",
  267. "relationNoShow": true
  268. },
  269. {
  270. "fieldName": "pk",
  271. "relationNoShow": false
  272. },
  273. {
  274. "fieldName": "notNull",
  275. "relationNoShow": true
  276. },
  277. {
  278. "fieldName": "autoIncrement",
  279. "relationNoShow": true
  280. },
  281. {
  282. "fieldName": "defaultValue",
  283. "relationNoShow": true
  284. },
  285. {
  286. "fieldName": "relationNoShow",
  287. "relationNoShow": true
  288. },
  289. {
  290. "fieldName": "uiHint",
  291. "relationNoShow": true
  292. }
  293. ],
  294. "chnname": "班级表"
  295. },
  296. {
  297. "title": "course",
  298. "fields": [
  299. {
  300. "name": "Id",
  301. "type": "Integer",
  302. "remark": "",
  303. "chnname": "主键",
  304. "pk": true,
  305. "notNull": true,
  306. "autoIncrement": true
  307. },
  308. {
  309. "name": "Year",
  310. "type": "Integer",
  311. "remark": "",
  312. "chnname": "学年"
  313. },
  314. {
  315. "name": "Term",
  316. "type": "Integer",
  317. "remark": "",
  318. "chnname": "学期"
  319. },
  320. {
  321. "name": "ClassId",
  322. "type": "Integer",
  323. "remark": "",
  324. "chnname": "班级ID"
  325. },
  326. {
  327. "name": "CourseWeek",
  328. "type": "ShortString",
  329. "remark": "",
  330. "chnname": "教学周"
  331. },
  332. {
  333. "name": "Title",
  334. "type": "DefaultString",
  335. "remark": "",
  336. "chnname": "标题"
  337. },
  338. {
  339. "name": "State",
  340. "type": "DefaultString",
  341. "remark": "",
  342. "chnname": "状态"
  343. },
  344. {
  345. "name": "CreatedBy",
  346. "type": "IdOrKey",
  347. "remark": "",
  348. "chnname": "创建人"
  349. },
  350. {
  351. "name": "CreatedTime",
  352. "type": "DateTime",
  353. "remark": "",
  354. "chnname": "创建时间"
  355. },
  356. {
  357. "name": "UpdatedBy",
  358. "type": "IdOrKey",
  359. "remark": "",
  360. "chnname": "更新人"
  361. },
  362. {
  363. "name": "UpdatedTime",
  364. "type": "DateTime",
  365. "remark": "",
  366. "chnname": "更新时间"
  367. },
  368. {
  369. "name": "IsDel",
  370. "type": "Integer",
  371. "remark": "",
  372. "chnname": "删除标志",
  373. "notNull": true
  374. }
  375. ],
  376. "indexs": [],
  377. "headers": [
  378. {
  379. "fieldName": "chnname",
  380. "relationNoShow": false
  381. },
  382. {
  383. "fieldName": "name",
  384. "relationNoShow": false
  385. },
  386. {
  387. "fieldName": "type",
  388. "relationNoShow": false
  389. },
  390. {
  391. "fieldName": "dataType",
  392. "relationNoShow": true
  393. },
  394. {
  395. "fieldName": "remark",
  396. "relationNoShow": true
  397. },
  398. {
  399. "fieldName": "pk",
  400. "relationNoShow": false
  401. },
  402. {
  403. "fieldName": "notNull",
  404. "relationNoShow": true
  405. },
  406. {
  407. "fieldName": "autoIncrement",
  408. "relationNoShow": true
  409. },
  410. {
  411. "fieldName": "defaultValue",
  412. "relationNoShow": true
  413. },
  414. {
  415. "fieldName": "relationNoShow",
  416. "relationNoShow": true
  417. },
  418. {
  419. "fieldName": "uiHint",
  420. "relationNoShow": true
  421. }
  422. ],
  423. "chnname": "课程表"
  424. }
  425. ],
  426. "graphCanvas": {
  427. "nodes": [
  428. {
  429. "shape": "table",
  430. "title": "COURSE_DETAIL",
  431. "moduleName": false,
  432. "x": 1420,
  433. "y": 390,
  434. "id": "11e3c11b"
  435. },
  436. {
  437. "shape": "table",
  438. "title": "COURSE",
  439. "moduleName": false,
  440. "x": 940,
  441. "y": 210,
  442. "id": "113d6b3b"
  443. },
  444. {
  445. "shape": "table",
  446. "title": "CLASS",
  447. "moduleName": false,
  448. "x": 450,
  449. "y": 360,
  450. "id": "9453a63e"
  451. }
  452. ],
  453. "edges": []
  454. },
  455. "associations": []
  456. },
  457. {
  458. "name": "duty",
  459. "chnname": "实验室值班人员管理",
  460. "entities": [
  461. {
  462. "title": "DUTY",
  463. "fields": [
  464. {
  465. "name": "Id",
  466. "type": "Integer",
  467. "remark": "",
  468. "chnname": "主键",
  469. "pk": true,
  470. "notNull": true,
  471. "autoIncrement": true
  472. },
  473. {
  474. "name": "Year",
  475. "type": "DefaultString",
  476. "remark": "",
  477. "chnname": "学年"
  478. },
  479. {
  480. "name": "Term",
  481. "type": "DefaultString",
  482. "remark": "",
  483. "chnname": "学期"
  484. },
  485. {
  486. "name": "Title",
  487. "type": "DefaultString",
  488. "remark": "",
  489. "chnname": "标题"
  490. },
  491. {
  492. "name": "Local",
  493. "type": "DefaultString",
  494. "remark": "",
  495. "chnname": "地点"
  496. },
  497. {
  498. "name": "Time",
  499. "type": "Integer",
  500. "remark": "",
  501. "chnname": "时间段"
  502. },
  503. {
  504. "name": "Monday",
  505. "type": "Integer",
  506. "remark": "",
  507. "chnname": "周一"
  508. },
  509. {
  510. "name": "Tuesday",
  511. "type": "Integer",
  512. "remark": "",
  513. "chnname": "周二"
  514. },
  515. {
  516. "name": "Wednesday",
  517. "type": "Integer",
  518. "remark": "",
  519. "chnname": "周三"
  520. },
  521. {
  522. "name": "Thursday",
  523. "type": "Integer",
  524. "remark": "",
  525. "chnname": "周四"
  526. },
  527. {
  528. "name": "Friday",
  529. "type": "Integer",
  530. "remark": "",
  531. "chnname": "周五"
  532. },
  533. {
  534. "name": "Saturday",
  535. "type": "Integer",
  536. "remark": "",
  537. "chnname": "周六"
  538. },
  539. {
  540. "name": "Sunday",
  541. "type": "Integer",
  542. "remark": "",
  543. "chnname": "周天"
  544. },
  545. {
  546. "name": "CreatedBy",
  547. "type": "IdOrKey",
  548. "remark": "",
  549. "chnname": "创建人"
  550. },
  551. {
  552. "name": "CreatedTime",
  553. "type": "DateTime",
  554. "remark": "",
  555. "chnname": "创建时间"
  556. },
  557. {
  558. "name": "UpdatedBy",
  559. "type": "IdOrKey",
  560. "remark": "",
  561. "chnname": "更新人"
  562. },
  563. {
  564. "name": "UpdatedTime",
  565. "type": "DateTime",
  566. "remark": "",
  567. "chnname": "更新时间"
  568. },
  569. {
  570. "name": "IsDel",
  571. "type": "Integer",
  572. "remark": "",
  573. "chnname": "删除标志",
  574. "notNull": true
  575. }
  576. ],
  577. "indexs": [],
  578. "headers": [
  579. {
  580. "fieldName": "chnname",
  581. "relationNoShow": false
  582. },
  583. {
  584. "fieldName": "name",
  585. "relationNoShow": false
  586. },
  587. {
  588. "fieldName": "type",
  589. "relationNoShow": false
  590. },
  591. {
  592. "fieldName": "dataType",
  593. "relationNoShow": true
  594. },
  595. {
  596. "fieldName": "remark",
  597. "relationNoShow": true
  598. },
  599. {
  600. "fieldName": "pk",
  601. "relationNoShow": false
  602. },
  603. {
  604. "fieldName": "notNull",
  605. "relationNoShow": true
  606. },
  607. {
  608. "fieldName": "autoIncrement",
  609. "relationNoShow": true
  610. },
  611. {
  612. "fieldName": "defaultValue",
  613. "relationNoShow": true
  614. },
  615. {
  616. "fieldName": "relationNoShow",
  617. "relationNoShow": true
  618. },
  619. {
  620. "fieldName": "uiHint",
  621. "relationNoShow": true
  622. }
  623. ],
  624. "chnname": "值班表"
  625. }
  626. ],
  627. "graphCanvas": {
  628. "edges": [],
  629. "nodes": []
  630. },
  631. "associations": []
  632. },
  633. {
  634. "name": "information",
  635. "chnname": "信息发布",
  636. "entities": [
  637. {
  638. "title": "INFORMATION",
  639. "fields": [
  640. {
  641. "name": "Id",
  642. "type": "Integer",
  643. "remark": "",
  644. "chnname": "主键",
  645. "pk": true,
  646. "notNull": true,
  647. "autoIncrement": true
  648. },
  649. {
  650. "name": "Title",
  651. "type": "DefaultString",
  652. "remark": "",
  653. "chnname": "标题"
  654. },
  655. {
  656. "name": "Content",
  657. "type": "LongText",
  658. "remark": "",
  659. "chnname": "内容"
  660. },
  661. {
  662. "name": "Flag",
  663. "type": "Integer",
  664. "remark": "",
  665. "chnname": "类别"
  666. },
  667. {
  668. "name": "Status",
  669. "type": "Integer",
  670. "remark": "",
  671. "chnname": "状态"
  672. },
  673. {
  674. "name": "CreatedBy",
  675. "type": "IdOrKey",
  676. "remark": "",
  677. "chnname": "创建人"
  678. },
  679. {
  680. "name": "CreatedTime",
  681. "type": "DateTime",
  682. "remark": "",
  683. "chnname": "创建时间"
  684. },
  685. {
  686. "name": "UpdatedBy",
  687. "type": "IdOrKey",
  688. "remark": "",
  689. "chnname": "更新人"
  690. },
  691. {
  692. "name": "UpdatedTime",
  693. "type": "DateTime",
  694. "remark": "",
  695. "chnname": "更新时间"
  696. },
  697. {
  698. "name": "IsDel",
  699. "type": "Integer",
  700. "remark": "",
  701. "chnname": "删除标志",
  702. "notNull": true
  703. }
  704. ],
  705. "indexs": [],
  706. "headers": [
  707. {
  708. "fieldName": "chnname",
  709. "relationNoShow": false
  710. },
  711. {
  712. "fieldName": "name",
  713. "relationNoShow": false
  714. },
  715. {
  716. "fieldName": "type",
  717. "relationNoShow": false
  718. },
  719. {
  720. "fieldName": "dataType",
  721. "relationNoShow": true
  722. },
  723. {
  724. "fieldName": "remark",
  725. "relationNoShow": true
  726. },
  727. {
  728. "fieldName": "pk",
  729. "relationNoShow": false
  730. },
  731. {
  732. "fieldName": "notNull",
  733. "relationNoShow": true
  734. },
  735. {
  736. "fieldName": "autoIncrement",
  737. "relationNoShow": true
  738. },
  739. {
  740. "fieldName": "defaultValue",
  741. "relationNoShow": true
  742. },
  743. {
  744. "fieldName": "relationNoShow",
  745. "relationNoShow": true
  746. },
  747. {
  748. "fieldName": "uiHint",
  749. "relationNoShow": true
  750. }
  751. ],
  752. "chnname": "信息表"
  753. }
  754. ],
  755. "graphCanvas": {
  756. "nodes": [],
  757. "edges": []
  758. },
  759. "associations": []
  760. }
  761. ],
  762. "dataTypeDomains": {
  763. "datatype": [
  764. {
  765. "name": "默认字串",
  766. "code": "DefaultString",
  767. "apply": {
  768. "JAVA": {
  769. "type": "String"
  770. },
  771. "MYSQL": {
  772. "type": "VARCHAR(32)"
  773. },
  774. "ORACLE": {
  775. "type": "NVARCHAR2(32)"
  776. },
  777. "SQLServer": {
  778. "type": "NVARCHAR(32)"
  779. },
  780. "PostgreSQL": {
  781. "type": "VARCHAR(32)"
  782. }
  783. }
  784. },
  785. {
  786. "name": "标识号",
  787. "code": "IdOrKey",
  788. "apply": {
  789. "JAVA": {
  790. "type": "String"
  791. },
  792. "ORACLE": {
  793. "type": "VARCHAR2(32)"
  794. },
  795. "MYSQL": {
  796. "type": "VARCHAR(32)"
  797. },
  798. "SQLServer": {
  799. "type": "VARCHAR(32)"
  800. },
  801. "PostgreSQL": {
  802. "type": "VARCHAR(32)"
  803. }
  804. }
  805. },
  806. {
  807. "name": "标识号-长",
  808. "code": "LongKey",
  809. "apply": {
  810. "MYSQL": {
  811. "type": "VARCHAR(64)"
  812. },
  813. "ORACLE": {
  814. "type": "VARCHAR2(64)"
  815. },
  816. "JAVA": {
  817. "type": "String"
  818. },
  819. "SQLServer": {
  820. "type": "VARCHAR(64)"
  821. },
  822. "PostgreSQL": {
  823. "type": "VARCHAR(64)"
  824. }
  825. }
  826. },
  827. {
  828. "name": "名称",
  829. "code": "Name",
  830. "apply": {
  831. "JAVA": {
  832. "type": "String"
  833. },
  834. "MYSQL": {
  835. "type": "VARCHAR(128)"
  836. },
  837. "ORACLE": {
  838. "type": "NVARCHAR2(128)"
  839. },
  840. "SQLServer": {
  841. "type": "NVARCHAR(128)"
  842. },
  843. "PostgreSQL": {
  844. "type": "VARCHAR(128)"
  845. }
  846. }
  847. },
  848. {
  849. "name": "备注说明",
  850. "code": "Intro",
  851. "apply": {
  852. "JAVA": {
  853. "type": "String"
  854. },
  855. "MYSQL": {
  856. "type": "VARCHAR(512)"
  857. },
  858. "ORACLE": {
  859. "type": "NVARCHAR2(512)"
  860. },
  861. "SQLServer": {
  862. "type": "NVARCHAR(512)"
  863. },
  864. "PostgreSQL": {
  865. "type": "VARCHAR(512)"
  866. }
  867. }
  868. },
  869. {
  870. "name": "字串-短",
  871. "code": "ShortString",
  872. "apply": {
  873. "JAVA": {
  874. "type": "String"
  875. },
  876. "MYSQL": {
  877. "type": "VARCHAR(128)"
  878. },
  879. "ORACLE": {
  880. "type": "NVARCHAR2(128)"
  881. },
  882. "SQLServer": {
  883. "type": "NVARCHAR(128)"
  884. },
  885. "PostgreSQL": {
  886. "type": "VARCHAR(128)"
  887. }
  888. }
  889. },
  890. {
  891. "name": "字串-中",
  892. "code": "MiddleString",
  893. "apply": {
  894. "JAVA": {
  895. "type": "String"
  896. },
  897. "MYSQL": {
  898. "type": "VARCHAR(1024)"
  899. },
  900. "ORACLE": {
  901. "type": "NVARCHAR2(1024)"
  902. },
  903. "SQLServer": {
  904. "type": "NVARCHAR(1024)"
  905. },
  906. "PostgreSQL": {
  907. "type": "VARCHAR(1024)"
  908. }
  909. }
  910. },
  911. {
  912. "name": "字串-长",
  913. "code": "LongString",
  914. "apply": {
  915. "JAVA": {
  916. "type": "String"
  917. },
  918. "ORACLE": {
  919. "type": "NVARCHAR2(3072)"
  920. },
  921. "MYSQL": {
  922. "type": "VARCHAR(3072)"
  923. },
  924. "SQLServer": {
  925. "type": "NVARCHAR(3072)"
  926. },
  927. "PostgreSQL": {
  928. "type": "VARCHAR(3072)"
  929. }
  930. }
  931. },
  932. {
  933. "name": "大文本",
  934. "code": "LongText",
  935. "apply": {
  936. "JAVA": {
  937. "type": "String"
  938. },
  939. "MYSQL": {
  940. "type": "TEXT"
  941. },
  942. "ORACLE": {
  943. "type": "CLOB"
  944. },
  945. "SQLServer": {
  946. "type": "NTEXT"
  947. },
  948. "PostgreSQL": {
  949. "type": "TEXT"
  950. }
  951. }
  952. },
  953. {
  954. "name": "小数",
  955. "code": "Double",
  956. "apply": {
  957. "JAVA": {
  958. "type": "Double"
  959. },
  960. "MYSQL": {
  961. "type": "DECIMAL(32,10)"
  962. },
  963. "ORACLE": {
  964. "type": "NUMBER(32,10)"
  965. },
  966. "SQLServer": {
  967. "type": "DECIMAL(32,10)"
  968. },
  969. "PostgreSQL": {
  970. "type": "DECIMAL(32,10)"
  971. }
  972. }
  973. },
  974. {
  975. "name": "比例",
  976. "code": "Ratio",
  977. "apply": {
  978. "MYSQL": {
  979. "type": "DECIMAL(4,2)"
  980. },
  981. "JAVA": {
  982. "type": "Double"
  983. },
  984. "ORACLE": {
  985. "type": "NUMBER(4,2)"
  986. },
  987. "SQLServer": {
  988. "type": "DECIMAL(4,2)"
  989. },
  990. "PostgreSQL": {
  991. "type": "DECIMAL(4,2)"
  992. }
  993. }
  994. },
  995. {
  996. "name": "整数",
  997. "code": "Integer",
  998. "apply": {
  999. "JAVA": {
  1000. "type": "Integer"
  1001. },
  1002. "MYSQL": {
  1003. "type": "INT"
  1004. },
  1005. "ORACLE": {
  1006. "type": "INT"
  1007. },
  1008. "SQLServer": {
  1009. "type": "INT"
  1010. },
  1011. "PostgreSQL": {
  1012. "type": "INT"
  1013. }
  1014. }
  1015. },
  1016. {
  1017. "name": "大整数",
  1018. "code": "BigInt",
  1019. "apply": {
  1020. "MYSQL": {
  1021. "type": "BIGINT"
  1022. },
  1023. "JAVA": {
  1024. "type": "Long"
  1025. },
  1026. "ORACLE": {
  1027. "type": "NUMBER"
  1028. },
  1029. "SQLServer": {
  1030. "type": "BIGINT"
  1031. },
  1032. "PostgreSQL": {
  1033. "type": "BIGINT"
  1034. }
  1035. }
  1036. },
  1037. {
  1038. "name": "金额",
  1039. "code": "Money",
  1040. "apply": {
  1041. "JAVA": {
  1042. "type": "Double"
  1043. },
  1044. "MYSQL": {
  1045. "type": "DECIMAL(32,8)"
  1046. },
  1047. "ORACLE": {
  1048. "type": "NUMBER(32,8)"
  1049. },
  1050. "SQLServer": {
  1051. "type": "DECIMAL(32,8)"
  1052. },
  1053. "PostgreSQL": {
  1054. "type": "DECIMAL(32,8)"
  1055. }
  1056. }
  1057. },
  1058. {
  1059. "name": "是否",
  1060. "code": "YesNo",
  1061. "apply": {
  1062. "JAVA": {
  1063. "type": "String"
  1064. },
  1065. "MYSQL": {
  1066. "type": "VARCHAR(1)"
  1067. },
  1068. "ORACLE": {
  1069. "type": "VARCHAR2(1)"
  1070. },
  1071. "SQLServer": {
  1072. "type": "VARCHAR(1)"
  1073. },
  1074. "PostgreSQL": {
  1075. "type": "VARCHAR(1)"
  1076. }
  1077. }
  1078. },
  1079. {
  1080. "name": "数据字典",
  1081. "code": "Dict",
  1082. "apply": {
  1083. "JAVA": {
  1084. "type": "String"
  1085. },
  1086. "MYSQL": {
  1087. "type": "VARCHAR(32)"
  1088. },
  1089. "ORACLE": {
  1090. "type": "VARCHAR2(32)"
  1091. },
  1092. "SQLServer": {
  1093. "type": "VARCHAR(32)"
  1094. },
  1095. "PostgreSQL": {
  1096. "type": "VARCHAR(32)"
  1097. }
  1098. }
  1099. },
  1100. {
  1101. "name": "日期",
  1102. "code": "Date",
  1103. "apply": {
  1104. "JAVA": {
  1105. "type": "Date"
  1106. },
  1107. "MYSQL": {
  1108. "type": "DATE"
  1109. },
  1110. "ORACLE": {
  1111. "type": "DATE"
  1112. },
  1113. "SQLServer": {
  1114. "type": "DATE"
  1115. },
  1116. "PostgreSQL": {
  1117. "type": "DATE"
  1118. }
  1119. }
  1120. },
  1121. {
  1122. "name": "日期时间",
  1123. "code": "DateTime",
  1124. "apply": {
  1125. "JAVA": {
  1126. "type": "Date"
  1127. },
  1128. "MYSQL": {
  1129. "type": "DATETIME"
  1130. },
  1131. "ORACLE": {
  1132. "type": "DATE"
  1133. },
  1134. "SQLServer": {
  1135. "type": "DATE"
  1136. },
  1137. "PostgreSQL": {
  1138. "type": "DATE"
  1139. }
  1140. }
  1141. },
  1142. {
  1143. "name": "单字符",
  1144. "code": "Char",
  1145. "apply": {
  1146. "MYSQL": {
  1147. "type": "CHAR(1)"
  1148. },
  1149. "ORACLE": {
  1150. "type": "CHAR(1)"
  1151. },
  1152. "JAVA": {
  1153. "type": "String"
  1154. },
  1155. "SQLServer": {
  1156. "type": "CHAR(1)"
  1157. },
  1158. "PostgreSQL": {
  1159. "type": "CHAR(1)"
  1160. }
  1161. }
  1162. }
  1163. ],
  1164. "database": [
  1165. {
  1166. "code": "MYSQL",
  1167. "template": "DROP TABLE {{=it.entity.title}};\n$blankline\nCREATE TABLE {{=it.entity.title}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n {{? field.pk }}{{ pkList.push(field.name) }}{{?}}\n {{=field.name}} {{=field.type}} {{= field.pk ? 'NOT NULL' : '' }} COMMENT '{{=it.func.join(field.chnname,field.remark,';')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n) COMMENT = '{{=it.func.join(it.entity.chnname,it.entity.remark,';') }}'",
  1168. "fileShow": true,
  1169. "defaultDatabase": true,
  1170. "createTableTemplate": "CREATE TABLE {{=it.entity.title}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n {{? field.pk }}{{ pkList.push(field.name) }}{{?}}\n {{=field.name}} {{=field.type}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'AUTO_INCREMENT' : '' }} {{= field.defaultValue ? it.func.join('DEFAULT',field.defaultValue,' ') : '' }} COMMENT '{{=it.func.join(field.chnname,field.remark,' ')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n) COMMENT = '{{=it.func.join(it.entity.chnname,it.entity.remark,' ') }}'{{=it.separator}}\n$blankline\n",
  1171. "deleteTableTemplate": "DROP TABLE {{=it.entity.title}}{{=it.separator}}",
  1172. "rebuildTableTemplate": "create table PDMAN_UP_{{=it.oldEntity.title}}\nas select * from {{=it.oldEntity.title}}{{=it.separator}}\n$blankline\n\ndrop table {{=it.oldEntity.title}}{{=it.separator}}\n$blankline\n\nCREATE TABLE {{=it.newEntity.title}}(\n{{ pkList = [] ; }}\n{{~it.newEntity.fields:field:index}}\n {{? field.pk }}{{ pkList.push(field.name) }}{{?}}\n {{=field.name}} {{=field.type}} {{= field.notNull ? 'NOT NULL' : '' }} COMMENT '{{=it.func.join(field.chnname,field.remark,';')}}' {{= index < it.newEntity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n) COMMENT = '{{=it.func.join(it.newEntity.chnname,it.newEntity.remark,';') }}'{{=it.separator}}\n$blankline\n\n{{ sameCols = it.func.intersect(it.newEntity.fields,it.oldEntity.fields) ;}}\ninsert into {{=it.newEntity.title}}(\n{{~sameCols:field:index}}\n {{=field.name}}{{? index<sameCols.length-1}},{{?}}\n{{~}}\n) \nselect \n{{~sameCols:field:index}}\n {{=field.name}}{{? index<sameCols.length-1}},{{?}}\n{{~}}\nfrom PDMAN_UP_{{=it.oldEntity.title}}{{=it.separator}}\n$blankline\n\ndrop table PDMAN_UP_{{=it.oldEntity.title}}{{=it.separator}}\n$blankline\n{{~it.newEntity.indexs:index}}\nALTER TABLE {{=it.newEntity.title}} ADD {{? index.isUnique}}UNIQUE{{??}}INDEX{{?}} {{=index.name}}({{=it.func.join(...index.fields,',')}}){{=it.separator}}\n{{~}}",
  1173. "createFieldTemplate": "ALTER TABLE {{=it.entity.title}} ADD COLUMN {{=it.field.name}} {{=it.field.type}} {{? it.field.notNull}}NOT NULL{{?}} {{? it.field.defaultValue}}DEFAULT {{? null==it.field.defaultValue}}NULL{{??}}'{{=it.field.defaultValue}}'{{?}}{{?}} {{? it.field.autoIncrement}}AUTO_INCREMENT{{?}} {{? it.field.pk}}PRIMARY KEY{{?}} {{? it.field.chnname}}COMMENT '{{=it.field.chnname}}'{{?}} {{? it.field.addAfter}}AFTER {{=it.field.addAfter}}{{?}}{{=it.separator}}",
  1174. "updateFieldTemplate": "ALTER TABLE {{=it.entity.title}} MODIFY COLUMN {{=it.field.name}} {{=it.field.type}} {{? it.field.notNull}}NOT NULL{{?}} {{? it.field.defaultValue}}DEFAULT {{? null==it.field.defaultValue}}NULL{{??}}'{{=it.field.defaultValue}}'{{?}}{{?}} {{? it.field.autoIncrement}}AUTO_INCREMENT{{?}} {{? it.field.chnname}}COMMENT '{{=it.field.chnname}}'{{?}}{{=it.separator}}",
  1175. "deleteFieldTemplate": "ALTER TABLE {{=it.entity.title}} DROP {{=it.field.name}}{{=it.separator}}",
  1176. "deleteIndexTemplate": "ALTER TABLE {{=it.entity.title}} DROP INDEX {{=it.index.name}}{{=it.separator}}",
  1177. "createIndexTemplate": "ALTER TABLE {{=it.entity.title}} ADD {{? it.index.isUnique}}UNIQUE{{??}}INDEX{{?}} {{=it.index.name}}({{=it.func.join(...it.index.fields,',')}}){{=it.separator}}",
  1178. "updateTableComment": "ALTER TABLE {{=it.entity.title}} COMMENT '{{=it.entity.chnname}}'{{=it.separator}}"
  1179. },
  1180. {
  1181. "code": "ORACLE",
  1182. "template": "DROP TABLE {{=it.entity.title}}{{=it.separator}}\n$blankline\nCREATE TABLE {{=it.entity.title}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n {{? field.pk }}{{ pkList.push(field.name) }}{{?}}\n {{=field.name}} {{=field.type}} {{= field.pk ? 'NOT NULL' : '' }} {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n){{=it.separator}}\n$blankline\nCOMMENT ON TABLE {{=it.entity.title}} IS '{{=it.func.join(it.entity.chnname,it.entity.remark,';') }}'{{=it.separator}}\n{{~it.entity.fields:field:index}}\nCOMMENT ON COLUMN {{=it.entity.title}}.{{=field.name}} IS '{{=it.func.join(field.chnname,field.remark,';')}}'{{=it.separator}}\n{{~}}",
  1183. "createTableTemplate": "CREATE TABLE {{=it.entity.title}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n {{? field.pk }}{{ pkList.push(field.name) }}{{?}}\n {{=field.name}} {{=field.type}}{{? field.defaultValue}} DEFAULT {{=field.defaultValue}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n){{=it.separator}}\n$blankline\n{{? it.entity.chnname || it.entity.remark}}COMMENT ON TABLE {{=it.entity.title}} IS {{? it.entity.remark}}'{{=it.entity.remark}}'{{??}}'{{=it.entity.chnname}}'{{?}}{{=it.separator}}{{?}}\n{{~it.entity.fields:field:index}}\n{{? field.chnname || field.remark}}COMMENT ON COLUMN {{=it.entity.title}}.{{=field.name}} IS {{? field.remark}}'{{=field.remark}}'{{??}}'{{=field.chnname}}'{{?}}{{=it.separator}}{{?}}\n{{~}}",
  1184. "deleteTableTemplate": "DROP TABLE {{=it.entity.title}}{{=it.separator}}\r\n$blankline",
  1185. "rebuildTableTemplate": "CREATE TABLE PDMAN_UP_{{=it.oldEntity.title}}\nAS SELECT * FROM {{=it.oldEntity.title}}{{=it.separator}}\n$blankline\nDROP TABLE {{=it.oldEntity.title}}{{=it.separator}}\n$blankline\nCREATE TABLE {{=it.newEntity.title}}(\n{{ pkList = [] ; }}{{~it.newEntity.fields:field:index}}{{? field.pk }}{{ pkList.push(field.name) }}{{?}} {{=field.name}} {{=field.type}}{{? field.defaultValue}} DEFAULT {{=field.defaultValue}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= index < it.newEntity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}{{? pkList.length >0 }} PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}}){{?}}\n){{=it.separator}}\n$blankline\n{{? it.newEntity.chnname || it.newEntity.remark}}COMMENT ON TABLE {{=it.newEntity.title}} IS {{? it.newEntity.remark}}'{{=it.entity.remark}}'{{??}}'{{=it.newEntity.chnname}}'{{?}};{{?}}{{=it.separator}}\n{{~it.newEntity.fields:field:index}}\n{{? field.chnname || field.remark}}COMMENT ON COLUMN {{=it.newEntity.title}}.{{=field.name}} IS {{? field.remark}}'{{=field.remark}}'{{??}}'{{=field.chnname}}'{{?}};{{?}}{{=it.separator}}\n{{~}}\n{{ sameCols = it.func.intersect(it.newEntity.fields,it.oldEntity.fields) ;}}\n$blankline\nINSERT INTO {{=it.newEntity.title}}(\n{{~sameCols:field:index}} {{=field.name}}{{? index<sameCols.length-1}},{{?}}\n{{~}}) \nSELECT\n{{~sameCols:field:index}} {{=field.name}}{{? index<sameCols.length-1}},{{?}}\n{{~}}FROM PDMAN_UP_{{=it.oldEntity.title}}{{=it.separator}}\n\nDROP TABLE PDMAN_UP_{{=it.oldEntity.title}}{{=it.separator}}\n{{~it.newEntity.indexs:index}}\nCREATE{{? index.isUnique}} UNIQUE{{?}} INDEX {{=index.name}} ON {{=it.newEntity.title}}({{=it.func.join(index.fields,',')}}){{=it.separator}}\n{{~}}",
  1186. "createFieldTemplate": "ALTER TABLE {{=it.entity.title}} ADD({{=it.field.name}} {{=it.field.type}}{{? it.field.defaultValue}} DEFAULT {{=it.field.defaultValue}}{{?}}{{? it.field.notNull}} NOT NULL{{?}}){{=it.separator}}\r\n{{? it.field.chnname || it.field.remark}}COMMENT ON COLUMN {{=it.entity.title}}.{{=it.field.name}} IS {{? it.field.remark}}'{{=it.field.remark}}'{{??}}'{{=it.field.chnname}}'{{?}}{{=it.separator}}{{?}}\r\n$blankline",
  1187. "updateFieldTemplate": "ALTER TABLE {{=it.entity.title}} MODIFY({{=it.field.name}} {{=it.field.type}}{{? it.field.defaultValue}} DEFAULT {{=it.field.defaultValue}}{{?}}{{? it.field.notNull}} NOT NULL{{?}}){{=it.separator}}\r\n{{? it.field.chnname || it.field.remark}}COMMENT ON COLUMN {{=it.entity.title}}.{{=it.field.name}} IS {{? it.field.remark}}'{{=it.field.remark}}'{{??}}'{{=it.field.chnname}}'{{?}}{{=it.separator}}{{=it.separator}}{{?}}\r\n$blankline",
  1188. "deleteFieldTemplate": "ALTER TABLE {{=it.entity.title}} DROP({{=it.field.name}}){{=it.separator}}\r\n$blankline",
  1189. "deleteIndexTemplate": "DROP INDEX {{=it.entity.title}}.{{=it.index.name}}{{=it.separator}}\r\n$blankline",
  1190. "createIndexTemplate": "CREATE{{? it.index.isUnique}} UNIQUE{{?}} INDEX {{=it.index.name}} ON {{=it.entity.title}}({{=it.func.join(it.index.fields,',')}}){{=it.separator}}\r\n$blankline",
  1191. "updateTableComment": "{{? it.entity.chnname || it.entity.remark}}COMMENT ON TABLE {{=it.entity.title}} IS {{? it.entity.remark}}'{{=it.entity.remark}}'{{??}}'{{=it.entity.chnname}}'{{?}}{{=it.separator}}{{?}}\r\n$blankline"
  1192. },
  1193. {
  1194. "code": "SQLServer",
  1195. "createTableTemplate": "CREATE TABLE {{=it.entity.title}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n {{? field.pk }}{{ pkList.push(field.name) }}{{?}}\n {{=field.name}} {{=field.type}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'IDENTITY(1,1)' : '' }} {{= field.defaultValue ? it.func.join('DEFAULT',field.defaultValue,' ') : '' }} {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n CONSTRAINT PK_{{=it.entity.title}} PRIMARY KEY CLUSTERED ({{~pkList:pkName:i}}{{= pkName }} ASC {{= i<pkList.length-1 ? ',' : '' }}{{~}}) ON [PRIMARY] \n{{?}}\n){{=it.separator}}\n\n$blankline\nEXECUTE sp_addextendedproperty N'MS_Description', '{{= it.entity.chnname || it.entity.remark}}', N'user', N'dbo', N'table', N'{{=it.entity.title}}', NULL, NULL{{=it.separator}}\n{{~it.entity.fields:field:index}}\n{{? field.chnname || field.remark}}EXECUTE sp_addextendedproperty N'MS_Description', {{? field.remark}}'{{=field.remark}}'{{??}}'{{=field.chnname}}'{{?}}, N'user', N'dbo', N'table', N'{{=it.entity.title}}', N'column', N'{{=field.name}}'{{=it.separator}}{{?}}\n{{~}}\n",
  1196. "deleteTableTemplate": "",
  1197. "rebuildTableTemplate": "",
  1198. "createFieldTemplate": "",
  1199. "updateFieldTemplate": "",
  1200. "deleteFieldTemplate": "",
  1201. "deleteIndexTemplate": "",
  1202. "createIndexTemplate": "",
  1203. "updateTableComment": ""
  1204. },
  1205. {
  1206. "code": "PostgreSQL",
  1207. "template": "DROP TABLE {{=it.entity.title}};\n$blankline\nCREATE TABLE {{=it.entity.title}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n {{? field.pk }}{{ pkList.push(field.name) }}{{?}}\n {{=field.name}} {{=field.type}} {{= field.pk ? 'NOT NULL' : '' }} COMMENT '{{=it.func.join(field.chnname,field.remark,';')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n) COMMENT = '{{=it.func.join(it.entity.chnname,it.entity.remark,';') }}'",
  1208. "createTableTemplate": "CREATE TABLE {{=it.entity.title}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n {{? field.pk }}{{ pkList.push(field.name) }}{{?}}\n {{=field.name}} {{=field.type}}{{? field.defaultValue}} DEFAULT {{=field.defaultValue}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n){{=it.separator}}\n$blankline\n{{? it.entity.chnname || it.entity.remark}}COMMENT ON TABLE {{=it.entity.title}} IS {{? it.entity.remark}}'{{=it.entity.remark}}'{{??}}'{{=it.entity.chnname}}'{{?}}{{=it.separator}}{{?}}\n{{~it.entity.fields:field:index}}\n{{? field.chnname || field.remark}}COMMENT ON COLUMN {{=it.entity.title}}.{{=field.name}} IS {{? field.remark}}'{{=field.remark}}'{{??}}'{{=field.chnname}}'{{?}}{{=it.separator}}{{?}}\n{{~}}",
  1209. "deleteTableTemplate": "DROP TABLE {{=it.entity.title}}{{=it.separator}}",
  1210. "rebuildTableTemplate": "create table PDMAN_UP_{{=it.oldEntity.title}}\nas select * from {{=it.oldEntity.title}}{{=it.separator}}\n$blankline\n\ndrop table {{=it.oldEntity.title}}{{=it.separator}}\n$blankline\n\nCREATE TABLE {{=it.newEntity.title}}(\n{{ pkList = [] ; }}\n{{~it.newEntity.fields:field:index}}\n {{? field.pk }}{{ pkList.push(field.name) }}{{?}}\n {{=field.name}} {{=field.type}} {{= field.notNull ? 'NOT NULL' : '' }} COMMENT '{{=it.func.join(field.chnname,field.remark,';')}}' {{= index < it.newEntity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i<pkList.length-1 ? ',' : '' }}{{~}})\n{{?}}\n) COMMENT = '{{=it.func.join(it.newEntity.chnname,it.newEntity.remark,';') }}'{{=it.separator}}\n$blankline\n\n{{ sameCols = it.func.intersect(it.newEntity.fields,it.oldEntity.fields) ;}}\ninsert into {{=it.newEntity.title}}(\n{{~sameCols:field:index}}\n {{=field.name}}{{? index<sameCols.length-1}},{{?}}\n{{~}}\n) \nselect \n{{~sameCols:field:index}}\n {{=field.name}}{{? index<sameCols.length-1}},{{?}}\n{{~}}\nfrom PDMAN_UP_{{=it.oldEntity.title}}{{=it.separator}}\n$blankline\n\ndrop table PDMAN_UP_{{=it.oldEntity.title}}{{=it.separator}}",
  1211. "createFieldTemplate": "ALTER TABLE {{=it.entity.title}} ADD COLUMN {{=it.field.name}} {{=it.field.type}} {{? it.field.notNull}}NOT NULL{{?}} {{? it.field.defaultValue}}DEFAULT {{? null==it.field.defaultValue}}NULL{{??}}'{{=it.field.defaultValue}}'{{?}}{{?}} {{? it.field.autoIncrement}}AUTO_INCREMENT{{?}} {{? it.field.pk}}PRIMARY KEY{{?}} {{? it.field.chnname}}COMMENT '{{=it.field.chnname}}'{{?}} {{? it.field.addAfter}}AFTER {{=it.field.addAfter}}{{?}}{{=it.separator}}",
  1212. "updateFieldTemplate": "ALTER TABLE {{=it.entity.title}} MODIFY COLUMN {{=it.field.name}} {{=it.field.type}} {{? it.field.notNull}}NOT NULL{{?}} {{? it.field.defaultValue}}DEFAULT {{? null==it.field.defaultValue}}NULL{{??}}'{{=it.field.defaultValue}}'{{?}}{{?}} {{? it.field.autoIncrement}}AUTO_INCREMENT{{?}} {{? it.field.chnname}}COMMENT '{{=it.field.chnname}}'{{?}}{{=it.separator}}",
  1213. "deleteFieldTemplate": "ALTER TABLE {{=it.entity.title}} DROP {{=it.field.name}}{{=it.separator}}",
  1214. "deleteIndexTemplate": "ALTER TABLE {{=it.entity.title}} DROP INDEX {{=it.index.name}}{{=it.separator}}",
  1215. "createIndexTemplate": "ALTER TABLE {{=it.entity.title}} ADD {{? it.index.isUnique}}UNIQUE{{??}}INDEX{{?}} {{=it.index.name}}({{=it.func.join(...it.index.fields,',')}}){{=it.separator}}",
  1216. "updateTableComment": "ALTER TABLE {{=it.entity.title}} COMMENT '{{=it.entity.chnname}}'{{=it.separator}}"
  1217. },
  1218. {
  1219. "code": "JAVA",
  1220. "template": "package group.rober.pdman.{{=it.module.name}}.entity;\n$blankline\nimport javax.persistence.*;\nimport java.io.Serializable;\nimport java.util.Date;\n$blankline\n$blankline\n\n/** {{=it.entity.chnname}} */\n@Table(name=\"{{=it.entity.title}}\")\npublic class {{=it.func.camel(it.entity.title,true) }} implements Serializable,Cloneable{\n{{~it.entity.fields:field:index}}\n /** {{=it.func.join(field.chnname,field.remark,';')}} */\n {{? field.pk }}\n @Id\n @GeneratedValue\n {{?}}\n private {{=field.type}} {{=it.func.camel(field.name,false)}} ;\n{{~}}\n$blankline\n{{~it.entity.fields:field:index}}\n /** {{=it.func.join(field.chnname,field.remark,';')}} */\n public {{=field.type}} get{{=it.func.camel(field.name,true)}}(){\n return this.{{=it.func.camel(field.name,false)}};\n }\n /** {{=it.func.join(field.chnname,field.remark,';')}} */\n public void set{{=it.func.camel(field.name,true)}}({{=field.type}} {{= it.func.camel(field.name,false) }}){\n this.{{=it.func.camel(field.name,false)}} = {{= it.func.camel(field.name,false) }};\n }\n{{~}}\n}",
  1221. "createTableTemplate": "package group.rober.pdman.{{=it.module.name}}.entity;\n$blankline\nimport javax.persistence.*;\nimport java.io.Serializable;\nimport java.util.Date;\n$blankline\n$blankline\n@Table(name=\"{{=it.entity.title}}\")\npublic class {{=it.func.camel(it.entity.title,true) }} implements Serializable,Cloneable{\n{{~it.entity.fields:field:index}}\n /** {{=it.func.join(field.chnname,field.remark,';')}} */\n {{? field.pk }}\n @Id\n @GeneratedValue\n {{?}}\n private {{=field.type}} {{=it.func.camel(field.name,false)}} ;\n{{~}}\n$blankline\n{{~it.entity.fields:field:index}}\n /** {{=it.func.join(field.chnname,field.remark,';')}} */\n public {{=field.type}} get{{=it.func.camel(field.name,true)}}(){\n return this.{{=it.func.camel(field.name,false)}};\n }\n /** {{=it.func.join(field.chnname,field.remark,';')}} */\n public void set{{=it.func.camel(field.name,true)}}({{=field.type}} {{= it.func.camel(field.name,false) }}){\n this.{{=it.func.camel(field.name,false)}} = {{= it.func.camel(field.name,false) }};\n }\n{{~}}\n}",
  1222. "deleteTableTemplate": "",
  1223. "rebuildTableTemplate": "",
  1224. "createFieldTemplate": "",
  1225. "updateFieldTemplate": "",
  1226. "deleteFieldTemplate": "",
  1227. "deleteIndexTemplate": "",
  1228. "createIndexTemplate": "",
  1229. "updateTableComment": ""
  1230. },
  1231. {
  1232. "code": "go",
  1233. "createTableTemplate": "package {{=it.func.lowerCase(it.module.name,true) }}\n$blankline\nimport (\n \"dashoo.cn/micro_libary/request\"\n \"dashoo.cn/micro_libary/response\"\n \"dashoo.cn/modi_webapi/app/model/{{=it.func.lowerCase(it.module.name,true) }}/{{=it.func.lowerCase(it.entity.title,true) }}_model\"\n service \"dashoo.cn/modi_webapi/app/service/{{=it.func.lowerCase(it.module.name,true) }}\"\n \"github.com/gogf/gf/net/ghttp\"\n \"github.com/gogf/gf/os/glog\"\n)\n$blankline\n// {{=it.entity.chnname}}Controller\ntype {{=it.func.camel(it.entity.title,true) }}Controller struct {\n}\n$blankline\n// GetDetailById 根据id获取{{=it.entity.chnname}}详情信息\nfunc (c *{{=it.func.camel(it.entity.title,true) }}Controller) GetDetailById(r *ghttp.Request) {\n // tenant 租户模式\n tenant := r.Header.Get(\"Tenant\")\n // 主键id\n {{=it.func.camel(it.entity.title,true) }}Id := r.GetInt(\"id\")\n glog.Info({{=it.func.camel(it.entity.title,true) }}Id)\n // 初始化service\n servcie, err := service.New{{=it.func.camel(it.entity.title,true) }}Service(tenant)\n if err != nil {\n response.Json(r, 1, err.Error())\n }\n // 调用service方法\n if {{=it.func.lowerCase(it.entity.title,true) }}, err := servcie.Get{{=it.func.camel(it.entity.title,true) }}ByID({{=it.func.camel(it.entity.title,true) }}Id); err != nil {\n response.Json(r, 1, err.Error())\n } else {\n response.Json(r, 0, \"ok\", {{=it.func.lowerCase(it.entity.title,true) }})\n }\n\n}\n$blankline\n// Save{{=it.func.camel(it.entity.title,true) }} 保存{{=it.entity.chnname}}信息\nfunc (c *{{=it.func.camel(it.entity.title,true) }}Controller) Save(r *ghttp.Request) {\n // tenant 租户模式\n tenant := r.Header.Get(\"Tenant\")\n var addOrUpdateReq *{{=it.func.lowerCase(it.entity.title,true) }}.AddOrUpdateReq\n // 赋值并// 校验参数\n if err := r.Parse(&addOrUpdateReq); err != nil {\n response.Json(r, -1, err.Error())\n }\n\n // 初始化{{=it.entity.chnname}}service\n servcie, err := service.New{{=it.func.camel(it.entity.title,true) }}Service(tenant)\n if err != nil {\n response.Json(r, 1, err.Error())\n }\n // 判断是新增还是删除,获取的id为空新增,不为空则更新\n if addOrUpdateReq.Id > 0 {\n if new{{=it.func.camel(it.entity.title,true) }}, err := servcie.Update(addOrUpdateReq); err != nil {\n response.Json(r, 1, err.Error())\n } else {\n response.Json(r, 0, \"更新成功\", new{{=it.func.camel(it.entity.title,true) }})\n }\n } else {\n addOrUpdateReq.Id = 0\n if newId, err := servcie.Add(addOrUpdateReq); err != nil {\n response.Json(r, 1, err.Error())\n } else {\n response.Json(r, 0, \"新建成功\", newId)\n }\n }\n\n}\n$blankline\n// Delete{{=it.func.camel(it.entity.title,true) }}ById 删除{{=it.entity.chnname}}信息,更新{{=it.entity.chnname}}删除状态isDel=1\nfunc (c *{{=it.func.camel(it.entity.title,true) }}Controller) Delete{{=it.func.camel(it.entity.title,true) }}ById(r *ghttp.Request) {\n\t// tenant 租户模式\n\ttenant := r.Header.Get(\"Tenant\")\n\tIds := r.GetInts(\"ids\")\n\n\t// 初始化{{=it.entity.chnname}}service\n\tservcie, err := service.New{{=it.func.camel(it.entity.title,true) }}Service(tenant)\n\tif err != nil {\n\t\tresponse.Json(r, 1, err.Error())\n\t}\n\tdelReq := new({{=it.func.lowerCase(it.entity.title,true) }}.DeleteReq)\n\tdelReq.Ids = Ids\n\tdelReq.IsDel = 1\n\tif err := servcie.Delete(delReq); err != nil {\n\t\tresponse.Json(r, 1, err.Error())\n\t} else {\n\t\tresponse.Json(r, 0, \"删除成功\")\n\t}\n}\n$blankline\n// GetPageList 分页查询{{=it.entity.chnname}}列表信息\nfunc (c *{{=it.func.camel(it.entity.title,true) }}Controller) GetPageList(r *ghttp.Request) {\n\t// tenant 租户模式\n\ttenant := r.Header.Get(\"Tenant\")\n\tpage := request.GetPageInfo(r)\n\t// 初始化{{=it.entity.chnname}}service\n\tservcie, err := service.New{{=it.func.camel(it.entity.title,true) }}Service(tenant)\n\tif err != nil {\n\t\tresponse.Json(r, 1, err.Error())\n\t}\n\tglog.Info(page)\n\tpageInfo := {{=it.func.lowerCase(it.entity.title,true) }}.PageInfo{\n\t\tCurrent: page.Current,\n\t\tPagesSize: page.Size,\n\t}\n\tselectPageReq := {{=it.func.lowerCase(it.entity.title,true) }}.SelectPageReq{\n\t\tTenant: tenant,\n\t\tName: \"\",\n\t\tPage: &pageInfo,\n\t\t// 排序\n\t\tProp: r.GetString(\"prop\"),\n\t\tOrder: r.GetString(\"order\"),\n\t}\n\tif name := r.GetString(\"name\"); name != \"\" {\n\t\tselectPageReq.Name = name\n\t}\n\t// 分页查询{{=it.entity.chnname}}列表\n\tif {{=it.func.lowerCase(it.entity.title,true) }}List, total, err := servcie.GetPageList(&selectPageReq); err != nil {\n\t\tresponse.Json(r, -1, err.Error())\n\t} else {\n\t\tvar records response.PagedRecords\n\t\trecords.Current = page.Current\n\t\trecords.Size = page.Size\n\t\tif total > 0 {\n\t\t\trecords.Total = total\n\t\t\trecords.Records = {{=it.func.lowerCase(it.entity.title,true) }}List\n\t\t}\n\t\tresponse.Json(r, 0, \"ok\", records)\n\t}\n}",
  1234. "deleteTableTemplate": "",
  1235. "rebuildTableTemplate": "",
  1236. "createFieldTemplate": "",
  1237. "updateFieldTemplate": "",
  1238. "deleteFieldTemplate": "",
  1239. "deleteIndexTemplate": "",
  1240. "createIndexTemplate": "",
  1241. "updateTableComment": ""
  1242. }
  1243. ]
  1244. },
  1245. "profile": {
  1246. "defaultFields": [
  1247. {
  1248. "name": "id",
  1249. "type": "Integer",
  1250. "remark": "",
  1251. "chnname": "主键",
  1252. "pk": true,
  1253. "notNull": true,
  1254. "autoIncrement": true
  1255. },
  1256. {
  1257. "name": "created_by",
  1258. "type": "IdOrKey",
  1259. "remark": "",
  1260. "chnname": "创建人"
  1261. },
  1262. {
  1263. "name": "created_time",
  1264. "type": "DateTime",
  1265. "remark": "",
  1266. "chnname": "创建时间"
  1267. },
  1268. {
  1269. "name": "updated_by",
  1270. "type": "IdOrKey",
  1271. "remark": "",
  1272. "chnname": "更新人"
  1273. },
  1274. {
  1275. "name": "updated_time",
  1276. "type": "DateTime",
  1277. "remark": "",
  1278. "chnname": "更新时间"
  1279. },
  1280. {
  1281. "name": "is_del",
  1282. "type": "Integer",
  1283. "remark": "",
  1284. "chnname": "删除标志",
  1285. "notNull": true
  1286. }
  1287. ],
  1288. "defaultFieldsType": "1",
  1289. "javaConfig": {
  1290. "JAVA_HOME": "C:\\Program Files\\Java\\jdk1.8.0_181",
  1291. "DB_DRIVE": []
  1292. },
  1293. "sqlConfig": ";",
  1294. "dbs": [
  1295. {
  1296. "name": "内蒙大学lims",
  1297. "defaultDB": true,
  1298. "properties": {
  1299. "driver_class_name": "com.mysql.jdbc.Driver",
  1300. "url": "jdbc:mysql://rm-8vbk16zx2rbfu6jt6uo.mysql.zhangbei.rds.aliyuncs.com:3306/l_lims?characterEncoding=UTF-8&useSSL=false&useUnicode=true&serverTimezone=UTC",
  1301. "password": "TmBT65FNAAqJoBMl",
  1302. "username": "l_lims_u"
  1303. }
  1304. }
  1305. ],
  1306. "wordTemplateConfig": ""
  1307. }
  1308. }