data.pdman.json 55 KB

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