data.pdman.json 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320
  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": "Integer",
  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": "Status",
  505. "type": "DefaultString",
  506. "remark": "",
  507. "chnname": "状态"
  508. },
  509. {
  510. "name": "People",
  511. "type": "DefaultString",
  512. "remark": "",
  513. "chnname": "值班人员"
  514. },
  515. {
  516. "name": "Monday",
  517. "type": "Integer",
  518. "remark": "",
  519. "chnname": "周一"
  520. },
  521. {
  522. "name": "Tuesday",
  523. "type": "Integer",
  524. "remark": "",
  525. "chnname": "周二"
  526. },
  527. {
  528. "name": "Wednesday",
  529. "type": "Integer",
  530. "remark": "",
  531. "chnname": "周三"
  532. },
  533. {
  534. "name": "Thursday",
  535. "type": "Integer",
  536. "remark": "",
  537. "chnname": "周四"
  538. },
  539. {
  540. "name": "Friday",
  541. "type": "Integer",
  542. "remark": "",
  543. "chnname": "周五"
  544. },
  545. {
  546. "name": "Saturday",
  547. "type": "Integer",
  548. "remark": "",
  549. "chnname": "周六"
  550. },
  551. {
  552. "name": "Sunday",
  553. "type": "Integer",
  554. "remark": "",
  555. "chnname": "周天"
  556. },
  557. {
  558. "name": "CreatedBy",
  559. "type": "IdOrKey",
  560. "remark": "",
  561. "chnname": "创建人"
  562. },
  563. {
  564. "name": "CreatedTime",
  565. "type": "DateTime",
  566. "remark": "",
  567. "chnname": "创建时间"
  568. },
  569. {
  570. "name": "UpdatedBy",
  571. "type": "IdOrKey",
  572. "remark": "",
  573. "chnname": "更新人"
  574. },
  575. {
  576. "name": "UpdatedTime",
  577. "type": "DateTime",
  578. "remark": "",
  579. "chnname": "更新时间"
  580. },
  581. {
  582. "name": "IsDel",
  583. "type": "Integer",
  584. "remark": "",
  585. "chnname": "删除标志",
  586. "notNull": true
  587. }
  588. ],
  589. "indexs": [],
  590. "headers": [
  591. {
  592. "fieldName": "chnname",
  593. "relationNoShow": false
  594. },
  595. {
  596. "fieldName": "name",
  597. "relationNoShow": false
  598. },
  599. {
  600. "fieldName": "type",
  601. "relationNoShow": false
  602. },
  603. {
  604. "fieldName": "dataType",
  605. "relationNoShow": true
  606. },
  607. {
  608. "fieldName": "remark",
  609. "relationNoShow": true
  610. },
  611. {
  612. "fieldName": "pk",
  613. "relationNoShow": false
  614. },
  615. {
  616. "fieldName": "notNull",
  617. "relationNoShow": true
  618. },
  619. {
  620. "fieldName": "autoIncrement",
  621. "relationNoShow": true
  622. },
  623. {
  624. "fieldName": "defaultValue",
  625. "relationNoShow": true
  626. },
  627. {
  628. "fieldName": "relationNoShow",
  629. "relationNoShow": true
  630. },
  631. {
  632. "fieldName": "uiHint",
  633. "relationNoShow": true
  634. }
  635. ],
  636. "chnname": "值班表"
  637. }
  638. ],
  639. "graphCanvas": {
  640. "edges": [],
  641. "nodes": []
  642. },
  643. "associations": []
  644. },
  645. {
  646. "name": "information",
  647. "chnname": "信息发布",
  648. "entities": [
  649. {
  650. "title": "INFORMATION",
  651. "fields": [
  652. {
  653. "name": "Id",
  654. "type": "Integer",
  655. "remark": "",
  656. "chnname": "主键",
  657. "pk": true,
  658. "notNull": true,
  659. "autoIncrement": true
  660. },
  661. {
  662. "name": "Title",
  663. "type": "DefaultString",
  664. "remark": "",
  665. "chnname": "标题"
  666. },
  667. {
  668. "name": "Content",
  669. "type": "LongText",
  670. "remark": "",
  671. "chnname": "内容"
  672. },
  673. {
  674. "name": "Flag",
  675. "type": "Integer",
  676. "remark": "",
  677. "chnname": "类别"
  678. },
  679. {
  680. "name": "Status",
  681. "type": "Integer",
  682. "remark": "",
  683. "chnname": "状态"
  684. },
  685. {
  686. "name": "CreatedBy",
  687. "type": "IdOrKey",
  688. "remark": "",
  689. "chnname": "创建人"
  690. },
  691. {
  692. "name": "CreatedTime",
  693. "type": "DateTime",
  694. "remark": "",
  695. "chnname": "创建时间"
  696. },
  697. {
  698. "name": "UpdatedBy",
  699. "type": "IdOrKey",
  700. "remark": "",
  701. "chnname": "更新人"
  702. },
  703. {
  704. "name": "UpdatedTime",
  705. "type": "DateTime",
  706. "remark": "",
  707. "chnname": "更新时间"
  708. },
  709. {
  710. "name": "IsDel",
  711. "type": "Integer",
  712. "remark": "",
  713. "chnname": "删除标志",
  714. "notNull": true
  715. }
  716. ],
  717. "indexs": [],
  718. "headers": [
  719. {
  720. "fieldName": "chnname",
  721. "relationNoShow": false
  722. },
  723. {
  724. "fieldName": "name",
  725. "relationNoShow": false
  726. },
  727. {
  728. "fieldName": "type",
  729. "relationNoShow": false
  730. },
  731. {
  732. "fieldName": "dataType",
  733. "relationNoShow": true
  734. },
  735. {
  736. "fieldName": "remark",
  737. "relationNoShow": true
  738. },
  739. {
  740. "fieldName": "pk",
  741. "relationNoShow": false
  742. },
  743. {
  744. "fieldName": "notNull",
  745. "relationNoShow": true
  746. },
  747. {
  748. "fieldName": "autoIncrement",
  749. "relationNoShow": true
  750. },
  751. {
  752. "fieldName": "defaultValue",
  753. "relationNoShow": true
  754. },
  755. {
  756. "fieldName": "relationNoShow",
  757. "relationNoShow": true
  758. },
  759. {
  760. "fieldName": "uiHint",
  761. "relationNoShow": true
  762. }
  763. ],
  764. "chnname": "信息表"
  765. }
  766. ],
  767. "graphCanvas": {
  768. "nodes": [],
  769. "edges": []
  770. },
  771. "associations": []
  772. }
  773. ],
  774. "dataTypeDomains": {
  775. "datatype": [
  776. {
  777. "name": "默认字串",
  778. "code": "DefaultString",
  779. "apply": {
  780. "JAVA": {
  781. "type": "String"
  782. },
  783. "MYSQL": {
  784. "type": "VARCHAR(32)"
  785. },
  786. "ORACLE": {
  787. "type": "NVARCHAR2(32)"
  788. },
  789. "SQLServer": {
  790. "type": "NVARCHAR(32)"
  791. },
  792. "PostgreSQL": {
  793. "type": "VARCHAR(32)"
  794. }
  795. }
  796. },
  797. {
  798. "name": "标识号",
  799. "code": "IdOrKey",
  800. "apply": {
  801. "JAVA": {
  802. "type": "String"
  803. },
  804. "ORACLE": {
  805. "type": "VARCHAR2(32)"
  806. },
  807. "MYSQL": {
  808. "type": "VARCHAR(32)"
  809. },
  810. "SQLServer": {
  811. "type": "VARCHAR(32)"
  812. },
  813. "PostgreSQL": {
  814. "type": "VARCHAR(32)"
  815. }
  816. }
  817. },
  818. {
  819. "name": "标识号-长",
  820. "code": "LongKey",
  821. "apply": {
  822. "MYSQL": {
  823. "type": "VARCHAR(64)"
  824. },
  825. "ORACLE": {
  826. "type": "VARCHAR2(64)"
  827. },
  828. "JAVA": {
  829. "type": "String"
  830. },
  831. "SQLServer": {
  832. "type": "VARCHAR(64)"
  833. },
  834. "PostgreSQL": {
  835. "type": "VARCHAR(64)"
  836. }
  837. }
  838. },
  839. {
  840. "name": "名称",
  841. "code": "Name",
  842. "apply": {
  843. "JAVA": {
  844. "type": "String"
  845. },
  846. "MYSQL": {
  847. "type": "VARCHAR(128)"
  848. },
  849. "ORACLE": {
  850. "type": "NVARCHAR2(128)"
  851. },
  852. "SQLServer": {
  853. "type": "NVARCHAR(128)"
  854. },
  855. "PostgreSQL": {
  856. "type": "VARCHAR(128)"
  857. }
  858. }
  859. },
  860. {
  861. "name": "备注说明",
  862. "code": "Intro",
  863. "apply": {
  864. "JAVA": {
  865. "type": "String"
  866. },
  867. "MYSQL": {
  868. "type": "VARCHAR(512)"
  869. },
  870. "ORACLE": {
  871. "type": "NVARCHAR2(512)"
  872. },
  873. "SQLServer": {
  874. "type": "NVARCHAR(512)"
  875. },
  876. "PostgreSQL": {
  877. "type": "VARCHAR(512)"
  878. }
  879. }
  880. },
  881. {
  882. "name": "字串-短",
  883. "code": "ShortString",
  884. "apply": {
  885. "JAVA": {
  886. "type": "String"
  887. },
  888. "MYSQL": {
  889. "type": "VARCHAR(128)"
  890. },
  891. "ORACLE": {
  892. "type": "NVARCHAR2(128)"
  893. },
  894. "SQLServer": {
  895. "type": "NVARCHAR(128)"
  896. },
  897. "PostgreSQL": {
  898. "type": "VARCHAR(128)"
  899. }
  900. }
  901. },
  902. {
  903. "name": "字串-中",
  904. "code": "MiddleString",
  905. "apply": {
  906. "JAVA": {
  907. "type": "String"
  908. },
  909. "MYSQL": {
  910. "type": "VARCHAR(1024)"
  911. },
  912. "ORACLE": {
  913. "type": "NVARCHAR2(1024)"
  914. },
  915. "SQLServer": {
  916. "type": "NVARCHAR(1024)"
  917. },
  918. "PostgreSQL": {
  919. "type": "VARCHAR(1024)"
  920. }
  921. }
  922. },
  923. {
  924. "name": "字串-长",
  925. "code": "LongString",
  926. "apply": {
  927. "JAVA": {
  928. "type": "String"
  929. },
  930. "ORACLE": {
  931. "type": "NVARCHAR2(3072)"
  932. },
  933. "MYSQL": {
  934. "type": "VARCHAR(3072)"
  935. },
  936. "SQLServer": {
  937. "type": "NVARCHAR(3072)"
  938. },
  939. "PostgreSQL": {
  940. "type": "VARCHAR(3072)"
  941. }
  942. }
  943. },
  944. {
  945. "name": "大文本",
  946. "code": "LongText",
  947. "apply": {
  948. "JAVA": {
  949. "type": "String"
  950. },
  951. "MYSQL": {
  952. "type": "TEXT"
  953. },
  954. "ORACLE": {
  955. "type": "CLOB"
  956. },
  957. "SQLServer": {
  958. "type": "NTEXT"
  959. },
  960. "PostgreSQL": {
  961. "type": "TEXT"
  962. }
  963. }
  964. },
  965. {
  966. "name": "小数",
  967. "code": "Double",
  968. "apply": {
  969. "JAVA": {
  970. "type": "Double"
  971. },
  972. "MYSQL": {
  973. "type": "DECIMAL(32,10)"
  974. },
  975. "ORACLE": {
  976. "type": "NUMBER(32,10)"
  977. },
  978. "SQLServer": {
  979. "type": "DECIMAL(32,10)"
  980. },
  981. "PostgreSQL": {
  982. "type": "DECIMAL(32,10)"
  983. }
  984. }
  985. },
  986. {
  987. "name": "比例",
  988. "code": "Ratio",
  989. "apply": {
  990. "MYSQL": {
  991. "type": "DECIMAL(4,2)"
  992. },
  993. "JAVA": {
  994. "type": "Double"
  995. },
  996. "ORACLE": {
  997. "type": "NUMBER(4,2)"
  998. },
  999. "SQLServer": {
  1000. "type": "DECIMAL(4,2)"
  1001. },
  1002. "PostgreSQL": {
  1003. "type": "DECIMAL(4,2)"
  1004. }
  1005. }
  1006. },
  1007. {
  1008. "name": "整数",
  1009. "code": "Integer",
  1010. "apply": {
  1011. "JAVA": {
  1012. "type": "Integer"
  1013. },
  1014. "MYSQL": {
  1015. "type": "INT"
  1016. },
  1017. "ORACLE": {
  1018. "type": "INT"
  1019. },
  1020. "SQLServer": {
  1021. "type": "INT"
  1022. },
  1023. "PostgreSQL": {
  1024. "type": "INT"
  1025. }
  1026. }
  1027. },
  1028. {
  1029. "name": "大整数",
  1030. "code": "BigInt",
  1031. "apply": {
  1032. "MYSQL": {
  1033. "type": "BIGINT"
  1034. },
  1035. "JAVA": {
  1036. "type": "Long"
  1037. },
  1038. "ORACLE": {
  1039. "type": "NUMBER"
  1040. },
  1041. "SQLServer": {
  1042. "type": "BIGINT"
  1043. },
  1044. "PostgreSQL": {
  1045. "type": "BIGINT"
  1046. }
  1047. }
  1048. },
  1049. {
  1050. "name": "金额",
  1051. "code": "Money",
  1052. "apply": {
  1053. "JAVA": {
  1054. "type": "Double"
  1055. },
  1056. "MYSQL": {
  1057. "type": "DECIMAL(32,8)"
  1058. },
  1059. "ORACLE": {
  1060. "type": "NUMBER(32,8)"
  1061. },
  1062. "SQLServer": {
  1063. "type": "DECIMAL(32,8)"
  1064. },
  1065. "PostgreSQL": {
  1066. "type": "DECIMAL(32,8)"
  1067. }
  1068. }
  1069. },
  1070. {
  1071. "name": "是否",
  1072. "code": "YesNo",
  1073. "apply": {
  1074. "JAVA": {
  1075. "type": "String"
  1076. },
  1077. "MYSQL": {
  1078. "type": "VARCHAR(1)"
  1079. },
  1080. "ORACLE": {
  1081. "type": "VARCHAR2(1)"
  1082. },
  1083. "SQLServer": {
  1084. "type": "VARCHAR(1)"
  1085. },
  1086. "PostgreSQL": {
  1087. "type": "VARCHAR(1)"
  1088. }
  1089. }
  1090. },
  1091. {
  1092. "name": "数据字典",
  1093. "code": "Dict",
  1094. "apply": {
  1095. "JAVA": {
  1096. "type": "String"
  1097. },
  1098. "MYSQL": {
  1099. "type": "VARCHAR(32)"
  1100. },
  1101. "ORACLE": {
  1102. "type": "VARCHAR2(32)"
  1103. },
  1104. "SQLServer": {
  1105. "type": "VARCHAR(32)"
  1106. },
  1107. "PostgreSQL": {
  1108. "type": "VARCHAR(32)"
  1109. }
  1110. }
  1111. },
  1112. {
  1113. "name": "日期",
  1114. "code": "Date",
  1115. "apply": {
  1116. "JAVA": {
  1117. "type": "Date"
  1118. },
  1119. "MYSQL": {
  1120. "type": "DATE"
  1121. },
  1122. "ORACLE": {
  1123. "type": "DATE"
  1124. },
  1125. "SQLServer": {
  1126. "type": "DATE"
  1127. },
  1128. "PostgreSQL": {
  1129. "type": "DATE"
  1130. }
  1131. }
  1132. },
  1133. {
  1134. "name": "日期时间",
  1135. "code": "DateTime",
  1136. "apply": {
  1137. "JAVA": {
  1138. "type": "Date"
  1139. },
  1140. "MYSQL": {
  1141. "type": "DATETIME"
  1142. },
  1143. "ORACLE": {
  1144. "type": "DATE"
  1145. },
  1146. "SQLServer": {
  1147. "type": "DATE"
  1148. },
  1149. "PostgreSQL": {
  1150. "type": "DATE"
  1151. }
  1152. }
  1153. },
  1154. {
  1155. "name": "单字符",
  1156. "code": "Char",
  1157. "apply": {
  1158. "MYSQL": {
  1159. "type": "CHAR(1)"
  1160. },
  1161. "ORACLE": {
  1162. "type": "CHAR(1)"
  1163. },
  1164. "JAVA": {
  1165. "type": "String"
  1166. },
  1167. "SQLServer": {
  1168. "type": "CHAR(1)"
  1169. },
  1170. "PostgreSQL": {
  1171. "type": "CHAR(1)"
  1172. }
  1173. }
  1174. }
  1175. ],
  1176. "database": [
  1177. {
  1178. "code": "MYSQL",
  1179. "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,';') }}'",
  1180. "fileShow": true,
  1181. "defaultDatabase": true,
  1182. "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",
  1183. "deleteTableTemplate": "DROP TABLE {{=it.entity.title}}{{=it.separator}}",
  1184. "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{{~}}",
  1185. "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}}",
  1186. "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}}",
  1187. "deleteFieldTemplate": "ALTER TABLE {{=it.entity.title}} DROP {{=it.field.name}}{{=it.separator}}",
  1188. "deleteIndexTemplate": "ALTER TABLE {{=it.entity.title}} DROP INDEX {{=it.index.name}}{{=it.separator}}",
  1189. "createIndexTemplate": "ALTER TABLE {{=it.entity.title}} ADD {{? it.index.isUnique}}UNIQUE{{??}}INDEX{{?}} {{=it.index.name}}({{=it.func.join(...it.index.fields,',')}}){{=it.separator}}",
  1190. "updateTableComment": "ALTER TABLE {{=it.entity.title}} COMMENT '{{=it.entity.chnname}}'{{=it.separator}}"
  1191. },
  1192. {
  1193. "code": "ORACLE",
  1194. "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{{~}}",
  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.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{{~}}",
  1196. "deleteTableTemplate": "DROP TABLE {{=it.entity.title}}{{=it.separator}}\r\n$blankline",
  1197. "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{{~}}",
  1198. "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",
  1199. "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",
  1200. "deleteFieldTemplate": "ALTER TABLE {{=it.entity.title}} DROP({{=it.field.name}}){{=it.separator}}\r\n$blankline",
  1201. "deleteIndexTemplate": "DROP INDEX {{=it.entity.title}}.{{=it.index.name}}{{=it.separator}}\r\n$blankline",
  1202. "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",
  1203. "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"
  1204. },
  1205. {
  1206. "code": "SQLServer",
  1207. "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",
  1208. "deleteTableTemplate": "",
  1209. "rebuildTableTemplate": "",
  1210. "createFieldTemplate": "",
  1211. "updateFieldTemplate": "",
  1212. "deleteFieldTemplate": "",
  1213. "deleteIndexTemplate": "",
  1214. "createIndexTemplate": "",
  1215. "updateTableComment": ""
  1216. },
  1217. {
  1218. "code": "PostgreSQL",
  1219. "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,';') }}'",
  1220. "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{{~}}",
  1221. "deleteTableTemplate": "DROP TABLE {{=it.entity.title}}{{=it.separator}}",
  1222. "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}}",
  1223. "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}}",
  1224. "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}}",
  1225. "deleteFieldTemplate": "ALTER TABLE {{=it.entity.title}} DROP {{=it.field.name}}{{=it.separator}}",
  1226. "deleteIndexTemplate": "ALTER TABLE {{=it.entity.title}} DROP INDEX {{=it.index.name}}{{=it.separator}}",
  1227. "createIndexTemplate": "ALTER TABLE {{=it.entity.title}} ADD {{? it.index.isUnique}}UNIQUE{{??}}INDEX{{?}} {{=it.index.name}}({{=it.func.join(...it.index.fields,',')}}){{=it.separator}}",
  1228. "updateTableComment": "ALTER TABLE {{=it.entity.title}} COMMENT '{{=it.entity.chnname}}'{{=it.separator}}"
  1229. },
  1230. {
  1231. "code": "JAVA",
  1232. "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}",
  1233. "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}",
  1234. "deleteTableTemplate": "",
  1235. "rebuildTableTemplate": "",
  1236. "createFieldTemplate": "",
  1237. "updateFieldTemplate": "",
  1238. "deleteFieldTemplate": "",
  1239. "deleteIndexTemplate": "",
  1240. "createIndexTemplate": "",
  1241. "updateTableComment": ""
  1242. },
  1243. {
  1244. "code": "go",
  1245. "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}",
  1246. "deleteTableTemplate": "",
  1247. "rebuildTableTemplate": "",
  1248. "createFieldTemplate": "",
  1249. "updateFieldTemplate": "",
  1250. "deleteFieldTemplate": "",
  1251. "deleteIndexTemplate": "",
  1252. "createIndexTemplate": "",
  1253. "updateTableComment": ""
  1254. }
  1255. ]
  1256. },
  1257. "profile": {
  1258. "defaultFields": [
  1259. {
  1260. "name": "Id",
  1261. "type": "Integer",
  1262. "remark": "",
  1263. "chnname": "主键",
  1264. "pk": true,
  1265. "notNull": true,
  1266. "autoIncrement": true
  1267. },
  1268. {
  1269. "name": "CreatedBy",
  1270. "type": "IdOrKey",
  1271. "remark": "",
  1272. "chnname": "创建人"
  1273. },
  1274. {
  1275. "name": "CreatedTime",
  1276. "type": "DateTime",
  1277. "remark": "",
  1278. "chnname": "创建时间"
  1279. },
  1280. {
  1281. "name": "UpdatedBy",
  1282. "type": "IdOrKey",
  1283. "remark": "",
  1284. "chnname": "更新人"
  1285. },
  1286. {
  1287. "name": "UpdatedTime",
  1288. "type": "DateTime",
  1289. "remark": "",
  1290. "chnname": "更新时间"
  1291. },
  1292. {
  1293. "name": "IsDel",
  1294. "type": "Integer",
  1295. "remark": "",
  1296. "chnname": "删除标志",
  1297. "notNull": true
  1298. }
  1299. ],
  1300. "defaultFieldsType": "2",
  1301. "javaConfig": {
  1302. "JAVA_HOME": "C:\\Program Files\\Java\\jdk1.8.0_181",
  1303. "DB_DRIVE": []
  1304. },
  1305. "sqlConfig": ";",
  1306. "dbs": [
  1307. {
  1308. "name": "内蒙大学lims",
  1309. "defaultDB": true,
  1310. "properties": {
  1311. "driver_class_name": "com.mysql.jdbc.Driver",
  1312. "url": "jdbc:mysql://rm-8vbk16zx2rbfu6jt6uo.mysql.zhangbei.rds.aliyuncs.com:3306/l_lims?characterEncoding=UTF-8&useSSL=false&useUnicode=true&serverTimezone=UTC",
  1313. "password": "TmBT65FNAAqJoBMl",
  1314. "username": "l_lims_u"
  1315. }
  1316. }
  1317. ],
  1318. "wordTemplateConfig": ""
  1319. }
  1320. }