@alanwang-merit/meritdata-platform-skill-package 1.0.9 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) hide show
  1. package/package.json +1 -1
  2. package/rules/api-design-rules.md +0 -7
  3. package/rules/code-dev-rules.md +0 -70
  4. package/rules/coding-standards-rules.md +0 -99
  5. package/rules/data-boundary-rules.md +32 -0
  6. package/rules/frontend-coding-rules.md +0 -6
  7. package/rules/frontend-component-rules.md +0 -6
  8. package/rules/git-workflow-rules.md +0 -6
  9. package/rules/nacos-rules.md +0 -6
  10. package/rules/naming-conventions-rules.md +0 -6
  11. package/rules/performance-rules.md +0 -6
  12. package/rules/security-rules.md +0 -6
  13. package/rules/sql-naming-rules.md +0 -6
  14. package/rules/sql-script-rules.md +0 -6
  15. package/skills/api-design/SKILL.md +523 -0
  16. package/skills/architecture-readiness-check/SKILL.md +80 -0
  17. package/skills/architecture-readiness-check/references//346/236/266/346/236/204/350/256/276/350/256/241/345/207/206/345/244/207/345/272/246/346/243/200/346/237/245/346/212/245/345/221/212/346/250/241/346/235/277.md +129 -0
  18. package/skills/architecture-readiness-check/references//346/236/266/346/236/204/350/256/276/350/256/241/345/207/206/345/244/207/345/272/246/346/243/200/346/237/245/346/270/205/345/215/225.md +251 -0
  19. package/skills/ask-matt/SKILL.md +78 -0
  20. package/skills/ask-matt/agents/openai.yaml +5 -0
  21. package/skills/backend-code-review/SKILL.md +168 -0
  22. package/skills/backend-code-review/references/architecture-rule.md +91 -0
  23. package/skills/backend-code-review/references/db-schema-rule.md +157 -0
  24. package/skills/backend-code-review/references/repositories-rule.md +61 -0
  25. package/skills/backend-code-review/references/sqlalchemy-rule.md +139 -0
  26. package/skills/backend-patterns/SKILL.md +597 -0
  27. package/skills/backend-patterns/agents/openai.yaml +7 -0
  28. package/skills/brainstorming/SKILL.md +151 -0
  29. package/skills/brainstorming/scripts/frame-template.html +213 -0
  30. package/skills/brainstorming/scripts/helper.js +167 -0
  31. package/skills/brainstorming/scripts/server.cjs +723 -0
  32. package/skills/brainstorming/scripts/server.js +338 -0
  33. package/skills/brainstorming/scripts/start-server.sh +209 -0
  34. package/skills/brainstorming/scripts/stop-server.sh +120 -0
  35. package/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
  36. package/skills/brainstorming/visual-companion.md +298 -0
  37. package/skills/code-design-consistency-check/SKILL.md +142 -0
  38. package/skills/code-design-consistency-check/references//344/273/243/347/240/201/344/270/216/350/256/276/350/256/241/344/270/200/350/207/264/346/200/247/346/243/200/346/237/245/346/212/245/345/221/212/346/250/241/346/235/277.md +242 -0
  39. package/skills/code-design-consistency-check/references//344/273/243/347/240/201/344/270/216/350/256/276/350/256/241/344/270/200/350/207/264/346/200/247/346/243/200/346/237/245/346/270/205/345/215/225.md +314 -0
  40. package/skills/code-low-level-check/SKILL.md +159 -0
  41. package/skills/code-low-level-check/references//344/273/243/347/240/201/344/275/216/347/272/247/351/227/256/351/242/230/346/243/200/346/237/245/346/212/245/345/221/212/346/250/241/346/235/277.md +242 -0
  42. package/skills/code-low-level-check/references//344/273/243/347/240/201/344/275/216/347/272/247/351/227/256/351/242/230/346/243/200/346/237/245/346/270/205/345/215/225.md +353 -0
  43. package/skills/code-low-level-check/references//345/211/215/347/253/257UI/345/212/237/350/203/275/344/275/216/347/272/247/351/227/256/351/242/230/346/243/200/346/237/245/346/270/205/345/215/225.md +338 -0
  44. package/skills/code-review/SKILL.md +89 -0
  45. package/skills/code-review/agents/openai.yaml +3 -0
  46. package/skills/codebase-design/DEEPENING.md +37 -0
  47. package/skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
  48. package/skills/codebase-design/SKILL.md +114 -0
  49. package/skills/codebase-design/agents/openai.yaml +3 -0
  50. package/skills/design-architect-review/SKILL.md +81 -0
  51. package/skills/design-architect-review/references//346/236/266/346/236/204/345/270/210/350/257/204/345/256/241/346/212/245/345/221/212/346/250/241/346/235/277.md +264 -0
  52. package/skills/design-low-level-check/SKILL.md +95 -0
  53. package/skills/design-low-level-check/references//346/212/200/346/234/257/350/256/276/350/256/241/344/275/216/347/272/247/351/227/256/351/242/230/346/243/200/346/237/245/346/212/245/345/221/212/346/250/241/346/235/277.md +125 -0
  54. package/skills/design-low-level-check/references//346/212/200/346/234/257/350/256/276/350/256/241/344/275/216/347/272/247/351/227/256/351/242/230/346/243/200/346/237/245/346/270/205/345/215/225.md +342 -0
  55. package/skills/design-review/SKILL.md +225 -0
  56. package/skills/design-review/references//350/256/276/350/256/241/350/257/204/345/256/241/346/243/200/346/237/245/345/215/225.md +64 -0
  57. package/skills/design-review-report/SKILL.md +150 -0
  58. package/skills/design-review-report/references//350/256/276/350/256/241/350/257/204/345/256/241/346/212/245/345/221/212/346/250/241/346/235/277.md +224 -0
  59. package/skills/design-taste-frontend/SKILL.md +226 -0
  60. package/skills/developer-testcase-review/SKILL.md +191 -0
  61. package/skills/developer-testcase-review/references//345/274/200/345/217/221/350/200/205/346/265/213/350/257/225/347/224/250/344/276/213/346/243/200/346/237/245/345/215/225.md +40 -0
  62. package/skills/development-code-review/SKILL.md +138 -0
  63. package/skills/development-code-review/references//345/274/200/345/217/221/344/273/243/347/240/201/350/257/204/345/256/241/346/212/245/345/221/212/346/250/241/346/235/277.md +260 -0
  64. package/skills/development-code-review/references//345/274/200/345/217/221/344/273/243/347/240/201/350/257/204/345/256/241/346/243/200/346/237/245/345/215/225.md +82 -0
  65. package/skills/development-expert-review/SKILL.md +150 -0
  66. package/skills/development-expert-review/references//345/211/215/345/220/216/347/253/257/344/270/223/345/256/266/350/257/204/345/256/241/346/212/245/345/221/212/346/250/241/346/235/277.md +338 -0
  67. package/skills/diagnosing-bugs/SKILL.md +134 -0
  68. package/skills/diagnosing-bugs/agents/openai.yaml +3 -0
  69. package/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +41 -0
  70. package/skills/dispatching-parallel-agents/SKILL.md +167 -0
  71. package/skills/domain-modeling/ADR-FORMAT.md +47 -0
  72. package/skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
  73. package/skills/domain-modeling/SKILL.md +74 -0
  74. package/skills/domain-modeling/agents/openai.yaml +3 -0
  75. package/skills/executing-plans/SKILL.md +64 -0
  76. package/skills/finishing-a-development-branch/SKILL.md +201 -0
  77. package/skills/frontend-patterns/SKILL.md +642 -0
  78. package/skills/generate-developer-testcase/SKILL.md +70 -0
  79. package/skills/generate-developer-testcase/references//345/274/200/345/217/221/350/200/205/346/265/213/350/257/225/347/224/250/344/276/213/346/250/241/346/235/277.md +157 -0
  80. package/skills/git-guardrails-claude-code/SKILL.md +95 -0
  81. package/skills/git-guardrails-claude-code/agents/openai.yaml +3 -0
  82. package/skills/git-guardrails-claude-code/scripts/block-dangerous-git.sh +25 -0
  83. package/skills/grill-me/SKILL.md +7 -0
  84. package/skills/grill-me/agents/openai.yaml +5 -0
  85. package/skills/grill-with-docs/SKILL.md +7 -0
  86. package/skills/grill-with-docs/agents/openai.yaml +5 -0
  87. package/skills/grilling/SKILL.md +12 -0
  88. package/skills/grilling/agents/openai.yaml +3 -0
  89. package/skills/handoff/SKILL.md +16 -0
  90. package/skills/handoff/agents/openai.yaml +5 -0
  91. package/skills/implement/SKILL.md +15 -0
  92. package/skills/implement/agents/openai.yaml +5 -0
  93. package/skills/improve-codebase-architecture/HTML-REPORT.md +123 -0
  94. package/skills/improve-codebase-architecture/SKILL.md +71 -0
  95. package/skills/improve-codebase-architecture/agents/openai.yaml +5 -0
  96. package/skills/init-deep-claude/SKILL.md +270 -0
  97. package/skills/init-deep-claude/_meta.json +14 -0
  98. package/skills/init-deep-claude/evals/evals.json +60 -0
  99. package/skills/init-deep-claude/references/code-project-template.md +57 -0
  100. package/skills/init-deep-claude/references/error-handling.md +118 -0
  101. package/skills/init-deep-claude/references/monorepo-strategy.md +100 -0
  102. package/skills/init-deep-claude/references/plain-directory-template.md +62 -0
  103. package/skills/java-architect/SKILL.md +132 -0
  104. package/skills/java-architect/references/jpa-optimization.md +393 -0
  105. package/skills/java-architect/references/reactive-webflux.md +356 -0
  106. package/skills/java-architect/references/spring-boot-setup.md +269 -0
  107. package/skills/java-architect/references/spring-security.md +445 -0
  108. package/skills/java-architect/references/testing-patterns.md +500 -0
  109. package/skills/java-coding-standards/SKILL.md +147 -0
  110. package/skills/java-testing/SKILL.md +34 -0
  111. package/skills/java-testing/evals/evals.json +46 -0
  112. package/skills/java-testing/references/junit-template.md +58 -0
  113. package/skills/meritdata-platform-2nd-dev-check/README.md +196 -0
  114. package/skills/meritdata-platform-2nd-dev-check/SKILL.md +209 -23
  115. package/skills/meritdata-platform-2nd-dev-check/agents/openai.yaml +33 -0
  116. package/skills/meritdata-platform-2nd-dev-check/checklists/checks.schema.json +22 -0
  117. package/skills/meritdata-platform-2nd-dev-check/checklists/dependency.chk.json +96 -0
  118. package/skills/meritdata-platform-2nd-dev-check/checklists/frontend.chk.json +69 -0
  119. package/skills/meritdata-platform-2nd-dev-check/checklists/integration.chk.json +78 -0
  120. package/skills/meritdata-platform-2nd-dev-check/checklists/naming.chk.json +78 -0
  121. package/skills/meritdata-platform-2nd-dev-check/checklists/package-structure.chk.json +87 -0
  122. package/skills/meritdata-platform-2nd-dev-check/checklists/security.chk.json +87 -0
  123. package/skills/meritdata-platform-2nd-dev-check/references/checklist.md +322 -0
  124. package/skills/meritdata-platform-2nd-dev-check/references/env-vars.md +232 -0
  125. package/skills/meritdata-platform-2nd-dev-check/references/fix-guide.md +433 -0
  126. package/skills/meritdata-platform-2nd-dev-check/scripts/apply-to-files.sh +238 -0
  127. package/skills/meritdata-platform-2nd-dev-check/scripts/check-backend.sh +171 -0
  128. package/skills/meritdata-platform-2nd-dev-check/scripts/check-conventions.sh +188 -0
  129. package/skills/meritdata-platform-2nd-dev-check/scripts/check-database.sh +128 -0
  130. package/skills/meritdata-platform-2nd-dev-check/scripts/check-frontend.sh +225 -0
  131. package/skills/meritdata-platform-2nd-dev-check/scripts/check-lib-version.sh +289 -0
  132. package/skills/meritdata-platform-2nd-dev-check/scripts/check-platform.sh +212 -0
  133. package/skills/meritdata-platform-2nd-dev-check/scripts/load-config.sh +189 -0
  134. package/skills/meritdata-platform-2nd-dev-check/scripts/run-all.sh +168 -0
  135. package/skills/meritdata-platform-2nd-dev-check/scripts/write-env.sh +147 -0
  136. package/skills/meritdata-platform-bootstrap-2nd-dev/SKILL.md +77 -0
  137. package/skills/meritdata-platform-bootstrap-2nd-dev/agents/openai.yaml +23 -0
  138. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end/application.java.vm +32 -0
  139. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end/banner.txt.vm +9 -0
  140. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end/bootstrap.properties.vm +20 -0
  141. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end/pom.xml.vm +202 -0
  142. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/entity/ProcTrackDTOApproval.java +36 -0
  143. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/checker/Checker.java +39 -0
  144. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/checker/impl/LengthChecker.java +51 -0
  145. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/checker/impl/NumberChecker.java +49 -0
  146. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/checker/impl/RequiredChecker.java +39 -0
  147. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/checker/impl/SortNoChecker.java +31 -0
  148. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/checker/impl/SpecialCharChecker.java +47 -0
  149. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/checker/impl/UniqueChecker.java +30 -0
  150. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/config/Column.java +81 -0
  151. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/config/ImpConfig.java +126 -0
  152. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/config/RowData.java +68 -0
  153. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/converter/Converter.java +28 -0
  154. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/converter/converter/DateConverter.java +31 -0
  155. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/converter/converter/LookUpConverter.java +53 -0
  156. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/converter/converter/SexConverter.java +45 -0
  157. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/dataloader/RowDataLoader.java +158 -0
  158. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/dataloader/impl/BeanRowDataLoader.java +18 -0
  159. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/dataloader/impl/MapRowDataLoader.java +41 -0
  160. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/feign/MangeFeignClient.java +21 -0
  161. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/handler/IImportHandler.java +24 -0
  162. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/handler/impl/AbstractImportHandler.java +172 -0
  163. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/handler/impl/BaseImportHandler.java +50 -0
  164. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/handler/impl/ImpCallable.java +53 -0
  165. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/importcommon/config/ConfigLoader.java +97 -0
  166. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/back-end-common/common/imp/importcommon/util/ImportUtils.java +46 -0
  167. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/front-end/yourapp/App.vue +12 -0
  168. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/front-end/yourapp/Index.vue +18 -0
  169. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/front-end/yourapp/i18n/i18n.js +13 -0
  170. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/front-end/yourapp/i18n/langs/en_US.js +36 -0
  171. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/front-end/yourapp/i18n/langs/zh_CN.js +36 -0
  172. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/front-end/yourapp/index.js +14 -0
  173. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/front-end/yourapp/main.js +21 -0
  174. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/front-end/yourapp/router.js +16 -0
  175. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/front-end/yourapp/store.js +20 -0
  176. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/front-end/yourapp/view/Add.vue +43 -0
  177. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/front-end/yourapp/view/Detail.vue +31 -0
  178. package/skills/meritdata-platform-bootstrap-2nd-dev/bundled/front-end/yourapp/view/Grid.vue +44 -0
  179. package/skills/meritdata-platform-bootstrap-2nd-dev/references/README.md +9 -0
  180. package/skills/meritdata-platform-bootstrap-2nd-dev/scripts/bootstrap.ps1 +353 -0
  181. package/skills/meritdata-platform-bootstrap-2nd-dev/scripts/bootstrap.sh +350 -0
  182. package/skills/meritdata-platform-bpm/SKILL.md +94 -30
  183. package/skills/meritdata-platform-bpm/agents/openai.yaml +36 -0
  184. package/skills/meritdata-platform-bpm/examples/leave-flow/README.md +151 -0
  185. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20201_/345/211/215/347/275/256/346/235/241/344/273/266.md +11 -0
  186. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20202_/350/247/204/345/210/231/345/274/225/346/223/216/345/210/235/345/247/213/345/214/226/346/216/245/345/217/243.md +263 -0
  187. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20203_/345/220/257/345/212/250/346/265/201/347/250/213/345/256/236/344/276/213/346/216/245/345/217/243.md +187 -0
  188. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20204_/350/277/220/350/241/214/350/247/204/345/210/231/345/274/225/346/223/216.md +449 -0
  189. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20205_/345/256/214/346/210/220/344/273/273/345/212/241/346/216/245/345/217/243.md +232 -0
  190. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20206_/345/241/253/345/206/231/346/204/217/350/247/201/346/216/245/345/217/243.md +192 -0
  191. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20207_/346/240/271/346/215/256/344/273/273/345/212/241/350/212/202/347/202/271/350/216/267/345/217/226/346/204/217/350/247/201/345/206/205/345/256/271.md +212 -0
  192. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20208_/346/237/245/347/234/213/350/277/275/350/270/252/346/216/245/345/217/243.md +492 -0
  193. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20209_/351/200/200/345/233/236/346/213/237/347/250/277/344/272/272/346/216/245/345/217/243.md +187 -0
  194. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20210_/351/200/200/345/233/236/344/270/212/344/270/200/347/216/257/350/212/202/345/244/204/347/220/206/344/272/272/346/216/245/345/217/243.md +183 -0
  195. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20211_/346/265/201/347/250/213/350/256/276/350/256/241/345/231/250/345/210/227/350/241/250/346/237/245/350/257/242.md +314 -0
  196. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20212_/344/270/252/344/272/272/345/276/205/345/212/236.md +261 -0
  197. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20213_/351/230/205/347/237/245.md +306 -0
  198. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20214_/346/265/201/347/250/213/346/234/200/346/226/260/345/256/232/344/271/211ID.md +100 -0
  199. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20215_/344/270/232/345/212/241/347/233/270/345/205/263/346/216/245/345/217/243.md +637 -0
  200. package/skills/meritdata-platform-bpm/references/api//346/224/273/347/225/245-01-/346/265/201/347/250/213API-/347/253/240/350/212/20216_/346/265/201/347/250/213/345/210/206/347/261/273/347/233/270/345/205/263.md +176 -0
  201. package/skills/meritdata-platform-bpm/references/api-reference.md +2779 -0
  202. package/skills/meritdata-platform-bpm/references/bpm-engine-complete-methods.md +150 -0
  203. package/skills/meritdata-platform-bpm/references/bpm-engine-detail/12_/345/233/233/344/270/232/345/212/241/347/273/204/344/273/266-4.1/345/267/245/344/275/234/346/265/201BpmEngine.md +86 -0
  204. package/skills/meritdata-platform-bpm/references/components-ref//346/224/273/347/225/245-08-/346/265/201/347/250/213/345/211/215/347/253/257/347/273/204/344/273/266-00_/346/200/273/350/247/210.md +66 -0
  205. package/skills/meritdata-platform-bpm/references/components-ref//346/224/273/347/225/245-08-/346/265/201/347/250/213/345/211/215/347/253/257/347/273/204/344/273/266-/347/253/240/350/212/20201_/346/246/202/350/277/260.md +165 -0
  206. package/skills/meritdata-platform-bpm/references/components-ref//346/224/273/347/225/245-08-/346/265/201/347/250/213/345/211/215/347/253/257/347/273/204/344/273/266-/347/253/240/350/212/20202_/347/273/204/344/273/266/344/270/216/346/226/271/346/263/225/346/246/202/350/247/210/350/241/250.md +45 -0
  207. package/skills/meritdata-platform-bpm/references/components-ref//346/224/273/347/225/245-08-/346/265/201/347/250/213/345/211/215/347/253/257/347/273/204/344/273/266-/347/253/240/350/212/20203_BpmFormTools_-_BPM/350/241/250/345/215/225/345/267/245/345/205/267/347/273/204/344/273/266.md +145 -0
  208. package/skills/meritdata-platform-bpm/references/components-ref//346/224/273/347/225/245-08-/346/265/201/347/250/213/345/211/215/347/253/257/347/273/204/344/273/266-/347/253/240/350/212/20204_BpmGridButtonsNew_-_BPM/350/241/250/346/240/274/346/214/211/351/222/256/347/273/204/344/273/266.md +239 -0
  209. package/skills/meritdata-platform-bpm/references/components-ref//346/224/273/347/225/245-08-/346/265/201/347/250/213/345/211/215/347/253/257/347/273/204/344/273/266-/347/253/240/350/212/20205_/345/220/216/347/253/257BpmEngine/346/240/270/345/277/203/346/216/245/345/217/243.md +135 -0
  210. package/skills/meritdata-platform-bpm/references/components-ref//346/224/273/347/225/245-08-/346/265/201/347/250/213/345/211/215/347/253/257/347/273/204/344/273/266-/347/253/240/350/212/20206_/351/231/204/345/275/225.md +43 -0
  211. package/skills/meritdata-platform-bpm/references/components.md +618 -0
  212. package/skills/meritdata-platform-bpm/references/custom-assignee.md +28 -0
  213. package/skills/meritdata-platform-bpm/references/listener//346/224/273/347/225/245-03-/347/233/221/345/220/254/350/241/250/350/276/276/345/274/217-00_/346/200/273/350/247/210.md +51 -0
  214. package/skills/meritdata-platform-bpm/references/listener//346/224/273/347/225/245-03-/347/233/221/345/220/254/350/241/250/350/276/276/345/274/217-/347/253/240/350/212/20201_/345/256/236/347/216/260/347/255/226/347/225/245.md +30 -0
  215. package/skills/meritdata-platform-bpm/references/listener//346/224/273/347/225/245-03-/347/233/221/345/220/254/350/241/250/350/276/276/345/274/217-/347/253/240/350/212/20202_/350/207/252/345/256/232/344/271/211_jar_/345/214/205/347/232/204/345/256/236/347/216/260/346/265/201/347/250/213.md +242 -0
  216. package/skills/meritdata-platform-bpm/references/listener//346/224/273/347/225/245-03-/347/233/221/345/220/254/350/241/250/350/276/276/345/274/217-/347/253/240/350/212/20203_/350/207/252/345/256/232/344/271/211/346/234/215/345/212/241/346/220/255/345/273/272/357/274/210/350/213/245/345/267/262/345/255/230/345/234/250/345/267/245/347/250/213/345/222/214/346/216/245/345/217/243/357/274/214/346/255/244/346/255/245/351/252/244/345/217/257/347/234/201/347/225/245/357/274/211.md +150 -0
  217. package/skills/meritdata-platform-bpm/references/listener//346/224/273/347/225/245-03-/347/233/221/345/220/254/350/241/250/350/276/276/345/274/217-/347/253/240/350/212/20204_/346/265/201/347/250/213/350/256/276/350/256/241/344/270/255/350/256/276/347/275/256_listener_/345/217/202/346/225/260.md +44 -0
  218. package/skills/meritdata-platform-bpm/references/listener//346/224/273/347/225/245-03-/347/233/221/345/220/254/350/241/250/350/276/276/345/274/217-/347/253/240/350/212/20205_/346/265/213/350/257/225/350/247/246/345/217/221/346/265/201/347/250/213/347/233/221/345/220/254/344/272/213/344/273/266/346/230/257/345/220/246/347/224/237/346/225/210.md +42 -0
  219. package/skills/meritdata-platform-bpm/references/listener//346/224/273/347/225/245-03-/347/233/221/345/220/254/350/241/250/350/276/276/345/274/217-/347/253/240/350/212/20206_/345/244/207/346/263/250/357/274/232.md +26 -0
  220. package/skills/meritdata-platform-bpm/references/listener-expression.md +304 -0
  221. package/skills/meritdata-platform-bpm/references/module-design-ref//346/224/273/347/225/245-07-/346/265/201/347/250/213/346/250/241/345/235/227/350/256/276/350/256/241-00_/346/200/273/350/247/210.md +25 -0
  222. package/skills/meritdata-platform-bpm/references/module-design-ref//346/224/273/347/225/245-07-/346/265/201/347/250/213/346/250/241/345/235/227/350/256/276/350/256/241-/347/253/240/350/212/20201_/350/203/214/346/231/257.md +12 -0
  223. package/skills/meritdata-platform-bpm/references/module-design-ref//346/224/273/347/225/245-07-/346/265/201/347/250/213/346/250/241/345/235/227/350/256/276/350/256/241-/347/253/240/350/212/20202_/345/267/245/344/275/234/346/265/201/347/233/270/345/205/263/344/273/213/347/273/215.md +28 -0
  224. package/skills/meritdata-platform-bpm/references/module-design-ref//346/224/273/347/225/245-07-/346/265/201/347/250/213/346/250/241/345/235/227/350/256/276/350/256/241-/347/253/240/350/212/20203_/345/272/224/347/224/250/345/274/200/345/217/221/345/271/263/345/217/260/346/265/201/347/250/213/345/214/205/345/220/253/346/250/241/345/235/227.md +18 -0
  225. package/skills/meritdata-platform-bpm/references/module-design-ref//346/224/273/347/225/245-07-/346/265/201/347/250/213/346/250/241/345/235/227/350/256/276/350/256/241-/347/253/240/350/212/20204_/346/265/201/347/250/213/345/212/237/350/203/275/346/250/241/345/235/227/344/273/213/347/273/215.md +284 -0
  226. package/skills/meritdata-platform-bpm/references/module-design-ref//346/224/273/347/225/245-07-/346/265/201/347/250/213/346/250/241/345/235/227/350/256/276/350/256/241-/347/253/240/350/212/20205_/346/265/201/347/250/213/345/220/216/347/253/257/350/256/276/350/256/241.md +226 -0
  227. package/skills/meritdata-platform-bpm/references/module-design-ref//346/224/273/347/225/245-07-/346/265/201/347/250/213/346/250/241/345/235/227/350/256/276/350/256/241-/347/253/240/350/212/20206_/346/265/201/347/250/213/345/211/215/347/253/257/350/256/276/350/256/241.md +80 -0
  228. package/skills/meritdata-platform-bpm/references/module-design-ref//346/224/273/347/225/245-07-/346/265/201/347/250/213/346/250/241/345/235/227/350/256/276/350/256/241-/347/253/240/350/212/20207_/344/272/214/346/254/241/345/274/200/345/217/221.md +38 -0
  229. package/skills/meritdata-platform-bpm/references/module-design-ref//346/224/273/347/225/245-07-/346/265/201/347/250/213/346/250/241/345/235/227/350/256/276/350/256/241-/347/253/240/350/212/20208_/344/270/252/344/272/272/346/240/267/344/276/213/346/265/201/347/250/213/347/232/204/351/205/215/347/275/256.md +92 -0
  230. package/skills/meritdata-platform-bpm/references/module-design.md +342 -0
  231. package/skills/meritdata-platform-bpm/references/process-track.md +172 -0
  232. package/skills/meritdata-platform-bpm/references/todo-portal.md +239 -0
  233. package/skills/meritdata-platform-bpm/references/workflow//346/224/273/347/225/245-02-/345/267/245/344/275/234/346/265/201/347/250/213-00_/346/200/273/350/247/210.md +84 -0
  234. package/skills/meritdata-platform-bpm/references/workflow//346/224/273/347/225/245-02-/345/267/245/344/275/234/346/265/201/347/250/213-/347/253/240/350/212/20201_/346/240/267/344/276/213/350/257/264/346/230/216.md +37 -0
  235. package/skills/meritdata-platform-bpm/references/workflow//346/224/273/347/225/245-02-/345/267/245/344/275/234/346/265/201/347/250/213-/347/253/240/350/212/20202_/345/220/216/347/253/257/345/267/245/347/250/213/345/210/233/345/273/272.md +39 -0
  236. package/skills/meritdata-platform-bpm/references/workflow//346/224/273/347/225/245-02-/345/267/245/344/275/234/346/265/201/347/250/213-/347/253/240/350/212/20203_/345/220/216/347/253/257/345/267/245/347/250/213/351/205/215/347/275/256.md +234 -0
  237. package/skills/meritdata-platform-bpm/references/workflow//346/224/273/347/225/245-02-/345/267/245/344/275/234/346/265/201/347/250/213-/347/253/240/350/212/20204_/345/220/216/347/253/257/345/267/245/347/250/213/344/270/232/345/212/241/347/261/273/345/210/233/345/273/272.md +549 -0
  238. package/skills/meritdata-platform-bpm/references/workflow//346/224/273/347/225/245-02-/345/267/245/344/275/234/346/265/201/347/250/213-/347/253/240/350/212/20205_/345/220/257/345/212/250/345/220/216/347/253/257/345/272/224/347/224/250/345/267/245/347/250/213.md +49 -0
  239. package/skills/meritdata-platform-bpm/references/workflow//346/224/273/347/225/245-02-/345/267/245/344/275/234/346/265/201/347/250/213-/347/253/240/350/212/20206_/346/265/201/347/250/213/345/272/224/347/224/250/345/211/215/347/253/257/345/274/200/345/217/221.md +1443 -0
  240. package/skills/meritdata-platform-bpm/references/workflow//346/224/273/347/225/245-02-/345/267/245/344/275/234/346/265/201/347/250/213-/347/253/240/350/212/20207_/345/220/257/345/212/250/345/211/215/347/253/257/345/272/224/347/224/250/345/267/245/347/250/213.md +78 -0
  241. package/skills/meritdata-platform-bpm/references/workflow//346/224/273/347/225/245-02-/345/267/245/344/275/234/346/265/201/347/250/213-/347/253/240/350/212/20208_/346/265/201/347/250/213/350/256/276/350/256/241.md +98 -0
  242. package/skills/meritdata-platform-bpm/references/workflow-dev.md +2037 -0
  243. package/skills/meritdata-platform-cache/SKILL.md +47 -36
  244. package/skills/meritdata-platform-cache/agents/openai.yaml +21 -0
  245. package/skills/meritdata-platform-cache/references/api-quick-ref.md +69 -0
  246. package/skills/meritdata-platform-cache/references/cache.md +226 -0
  247. package/skills/meritdata-platform-cloud-dev/SKILL.md +192 -74
  248. package/skills/meritdata-platform-cloud-dev/agents/openai.yaml +40 -0
  249. package/skills/meritdata-platform-cloud-dev/references/modules/bpm.md +39 -0
  250. package/skills/meritdata-platform-cloud-dev/references/modules/cache.md +28 -0
  251. package/skills/meritdata-platform-cloud-dev/references/modules/config.md +31 -0
  252. package/skills/meritdata-platform-cloud-dev/references/modules/data-boundary.md +44 -0
  253. package/skills/meritdata-platform-cloud-dev/references/modules/datasource.md +30 -0
  254. package/skills/meritdata-platform-cloud-dev/references/modules/domain-model.md +40 -0
  255. package/skills/meritdata-platform-cloud-dev/references/modules/feign-api.md +41 -0
  256. package/skills/meritdata-platform-cloud-dev/references/modules/file.md +30 -0
  257. package/skills/meritdata-platform-cloud-dev/references/modules/gen.md +215 -0
  258. package/skills/meritdata-platform-cloud-dev/references/modules/governance.md +51 -0
  259. package/skills/meritdata-platform-cloud-dev/references/modules/http-client.md +40 -0
  260. package/skills/meritdata-platform-cloud-dev/references/modules/impexp.md +26 -0
  261. package/skills/meritdata-platform-cloud-dev/references/modules/logging.md +29 -0
  262. package/skills/meritdata-platform-cloud-dev/references/modules/masterdata-sync.md +36 -0
  263. package/skills/meritdata-platform-cloud-dev/references/modules/msg-job.md +27 -0
  264. package/skills/meritdata-platform-cloud-dev/references/modules/platform-entities.md +40 -0
  265. package/skills/meritdata-platform-cloud-dev/references/modules/platform.md +62 -0
  266. package/skills/meritdata-platform-cloud-dev/references/modules/services.md +37 -0
  267. package/skills/meritdata-platform-cloud-dev/references/modules/spec.md +47 -0
  268. package/skills/meritdata-platform-cloud-dev/references/modules/ui.md +51 -0
  269. package/skills/meritdata-platform-cloud-dev/references/modules/utils.md +31 -0
  270. package/skills/meritdata-platform-cloud-dev/references/modules/webapi.md +35 -0
  271. package/skills/meritdata-platform-code-review-by-rules/SKILL.md +174 -0
  272. package/skills/meritdata-platform-code-review-by-rules/agents/openai.yaml +13 -0
  273. package/skills/meritdata-platform-config-item/SKILL.md +55 -0
  274. package/skills/meritdata-platform-config-item/agents/openai.yaml +14 -0
  275. package/skills/meritdata-platform-config-item/references/nacos-config//346/224/273/347/225/245-11-/351/205/215/347/275/256/351/241/271-00_/346/200/273/350/247/210.md +49 -0
  276. package/skills/meritdata-platform-config-item/references/nacos-config//346/224/273/347/225/245-11-/351/205/215/347/275/256/351/241/271-/347/253/240/350/212/20201_/345/272/224/347/224/250/351/205/215/347/275/256/351/241/271/347/233/270/345/205/263.md +28 -0
  277. package/skills/meritdata-platform-config-item/references/nacos-config//346/224/273/347/225/245-11-/351/205/215/347/275/256/351/241/271-/347/253/240/350/212/20202_/351/205/215/347/275/256/344/270/255/345/277/203/351/205/215/347/275/256/351/241/271/350/257/264/346/230/216.md +876 -0
  278. package/skills/meritdata-platform-config-item/references/nacos-config//346/224/273/347/225/245-11-/351/205/215/347/275/256/351/241/271-/347/253/240/350/212/20203_/351/205/215/347/275/256/351/241/271/347/232/204/344/275/277/347/224/250.md +45 -0
  279. package/skills/meritdata-platform-config-item/references/nacos-utils-api.md +76 -0
  280. package/skills/meritdata-platform-config-item/references/nacos.md +140 -0
  281. package/skills/meritdata-platform-core/SKILL.md +77 -0
  282. package/skills/meritdata-platform-core/agents/openai.yaml +37 -0
  283. package/skills/meritdata-platform-core/references/assets/02_/344/270/200/345/237/272/347/241/200/350/256/276/346/226/275-1.1/347/274/223/345/255/230/346/223/215/344/275/234-SysCacheServiceFacade.md +423 -0
  284. package/skills/meritdata-platform-core/references/assets/03_/344/270/200/345/237/272/347/241/200/350/256/276/346/226/275-1.1/347/274/223/345/255/230/346/223/215/344/275/234-StringCacheFacade.md +78 -0
  285. package/skills/meritdata-platform-core/references/assets/04_/344/270/200/345/237/272/347/241/200/350/256/276/346/226/275-1.2/351/205/215/347/275/256/344/270/255/345/277/203-NacosUtils.md +193 -0
  286. package/skills/meritdata-platform-core/references/assets/17_/351/231/204/345/275/225-/347/273/237/350/256/241/346/261/207/346/200/273-Maven/344/276/235/350/265/226-/346/263/250/346/204/217/344/272/213/351/241/271.md +131 -0
  287. package/skills/meritdata-platform-core/references/cache.md +237 -0
  288. package/skills/meritdata-platform-core/references/crypto.md +82 -0
  289. package/skills/meritdata-platform-core/references/data-secret.md +49 -0
  290. package/skills/meritdata-platform-core/references/logging.md +256 -0
  291. package/skills/meritdata-platform-core/references/nacos.md +140 -0
  292. package/skills/meritdata-platform-core/references/session.md +125 -0
  293. package/skills/meritdata-platform-crypto-gm/SKILL.md +62 -0
  294. package/skills/meritdata-platform-crypto-gm/agents/openai.yaml +15 -0
  295. package/skills/meritdata-platform-crypto-gm/references/api-quick-ref.md +39 -0
  296. package/skills/meritdata-platform-crypto-gm/references/assets/05_/344/272/214/351/200/232/347/224/250/345/267/245/345/205/267-2.1/345/212/240/350/247/243/345/257/206-SM2-SM3-SM4.md +176 -0
  297. package/skills/meritdata-platform-crypto-gm/references/contract-signing.md +60 -0
  298. package/skills/meritdata-platform-crypto-gm/references/crypto.md +144 -0
  299. package/skills/meritdata-platform-crypto-gm/references/key-management.md +48 -0
  300. package/skills/meritdata-platform-data-secret/SKILL.md +49 -0
  301. package/skills/meritdata-platform-data-secret/agents/openai.yaml +13 -0
  302. package/skills/meritdata-platform-data-secret/references/assets/10_/344/270/211/345/271/263/345/217/260/346/234/215/345/212/241-3.4/345/244/232/347/263/273/347/273/237/351/233/206/346/210/220+3.5/346/225/260/346/215/256/345/257/206/347/272/247.md +91 -0
  303. package/skills/meritdata-platform-data-secret/references/data-secret.md +89 -0
  304. package/skills/meritdata-platform-data-secret/references/secret-api.md +35 -0
  305. package/skills/meritdata-platform-data-secret/references/secret-level-spec.md +231 -0
  306. package/skills/meritdata-platform-deploy/SKILL.md +73 -0
  307. package/skills/meritdata-platform-deploy/agents/openai.yaml +27 -0
  308. package/skills/meritdata-platform-entities/SKILL.md +81 -0
  309. package/skills/meritdata-platform-entities/agents/openai.yaml +34 -0
  310. package/skills/meritdata-platform-entities/references/entity-catalog.md +194 -0
  311. package/skills/meritdata-platform-frontend/SKILL.md +73 -38
  312. package/skills/meritdata-platform-frontend/agents/openai.yaml +31 -0
  313. package/skills/meritdata-platform-frontend/examples/user-list-page/README.md +331 -0
  314. package/skills/meritdata-platform-frontend/references/components.md +424 -283
  315. package/skills/meritdata-platform-frontend/references/utils.md +176 -0
  316. package/skills/meritdata-platform-impexp/SKILL.md +65 -30
  317. package/skills/meritdata-platform-impexp/agents/openai.yaml +33 -0
  318. package/skills/meritdata-platform-impexp/examples/excel-export/README.md +146 -0
  319. package/skills/meritdata-platform-impexp/examples/excel-import/README.md +246 -0
  320. package/skills/meritdata-platform-integration/SKILL.md +102 -0
  321. package/skills/meritdata-platform-integration/agents/openai.yaml +33 -0
  322. package/skills/meritdata-platform-integration/references/external-api/full/19_1.1-1.6/345/237/272/347/241/200/351/205/215/347/275/256-/345/271/263/345/217/260/344/277/241/346/201/257/347/261/273.md +371 -0
  323. package/skills/meritdata-platform-integration/references/external-api/full/20_1.7-1.10/345/237/272/347/241/200/351/205/215/347/275/256-/351/241/265/351/235/242/344/270/216/346/266/210/346/201/257/347/261/273.md +344 -0
  324. package/skills/meritdata-platform-integration/references/external-api/full/21_1.11-1.15/345/237/272/347/241/200/351/205/215/347/275/256-/346/266/210/346/201/257/344/270/216/351/205/215/347/275/256/347/261/273.md +302 -0
  325. package/skills/meritdata-platform-integration/references/external-api/full/22_1.16/347/273/204/347/273/207/344/272/272/345/221/230/345/220/214/346/255/245.md +326 -0
  326. package/skills/meritdata-platform-integration/references/external-api/full/23_1.17/350/265/204/346/272/220/346/225/260/346/215/256/345/257/206/347/272/247-/344/270/212/345/215/212.md +303 -0
  327. package/skills/meritdata-platform-integration/references/external-api/full/24_1.17/350/265/204/346/272/220/346/225/260/346/215/256/345/257/206/347/272/247-/344/270/213/345/215/212.md +355 -0
  328. package/skills/meritdata-platform-integration/references/external-api/full/25_2.1/347/273/204/347/273/207/347/273/264/346/212/244-/344/270/212/345/215/212.md +459 -0
  329. package/skills/meritdata-platform-integration/references/external-api/full/26_2.1/347/273/204/347/273/207/347/273/264/346/212/244-/344/270/213/345/215/212.md +567 -0
  330. package/skills/meritdata-platform-integration/references/external-api/full/27_2.2/344/272/272/345/221/230/347/273/264/346/212/244-/344/270/212/345/215/212.md +838 -0
  331. package/skills/meritdata-platform-integration/references/external-api/full/28_2.2/344/272/272/345/221/230/347/273/264/346/212/244-/344/270/213/345/215/212.md +585 -0
  332. package/skills/meritdata-platform-integration/references/external-api/full/29_2.3/350/247/222/350/211/262/347/273/264/346/212/244-/344/270/212/345/215/212.md +576 -0
  333. package/skills/meritdata-platform-integration/references/external-api/full/30_2.3/350/247/222/350/211/262/347/273/264/346/212/244-/344/270/213/345/215/212.md +597 -0
  334. package/skills/meritdata-platform-integration/references/external-api/full/31_2.4/347/224/250/346/210/267/347/273/264/346/212/244-/344/270/212/345/215/212.md +490 -0
  335. package/skills/meritdata-platform-integration/references/external-api/full/32_2.4/347/224/250/346/210/267/347/273/264/346/212/244-/344/270/213/345/215/212.md +560 -0
  336. package/skills/meritdata-platform-integration/references/external-api/full/33_2.5/345/267/245/344/275/234/347/273/204/347/273/264/346/212/244.md +209 -0
  337. package/skills/meritdata-platform-integration/references/external-api/full/34_2.6/345/205/266/344/273/226/346/216/245/345/217/243-/344/270/212/345/215/212.md +653 -0
  338. package/skills/meritdata-platform-integration/references/external-api/full/35_2.6/345/205/266/344/273/226/346/216/245/345/217/243-/344/270/213/345/215/212.md +591 -0
  339. package/skills/meritdata-platform-integration/references/external-api/full/36_3.1-3.7/350/265/204/346/272/220/346/216/210/346/235/203/345/237/272/347/241/200.md +827 -0
  340. package/skills/meritdata-platform-integration/references/external-api/full/37_3.8-3.10/350/265/204/346/272/220/346/216/210/346/235/203/350/277/233/351/230/266.md +458 -0
  341. package/skills/meritdata-platform-integration/references/external-api/full/38_3.11/345/237/272/347/241/200/346/225/260/346/215/256.md +210 -0
  342. package/skills/meritdata-platform-integration/references/external-api/full/39_3.12/346/225/260/346/215/256/346/272/220/347/273/264/346/212/244.md +281 -0
  343. package/skills/meritdata-platform-integration/references/external-api/full/40_3.13/347/254/254/344/270/211/346/226/271/350/265/204/346/272/220/347/273/264/346/212/244.md +310 -0
  344. package/skills/meritdata-platform-integration/references/external-api/full/41_3.14/346/234/215/345/212/241/347/256/241/347/220/206.md +521 -0
  345. package/skills/meritdata-platform-integration/references/external-api/full/42_3.15/350/265/204/346/272/220/347/273/264/346/212/244-/344/270/212/345/215/212.md +767 -0
  346. package/skills/meritdata-platform-integration/references/external-api/full/43_3.15/350/265/204/346/272/220/347/273/264/346/212/244-/344/270/213/345/215/212.md +378 -0
  347. package/skills/meritdata-platform-integration/references/external-api/full/44_3.16/344/272/272/345/221/230/351/200/211/346/213/251/345/231/250-/344/270/212/345/215/212.md +311 -0
  348. package/skills/meritdata-platform-integration/references/external-api/full/45_3.16/344/272/272/345/221/230/351/200/211/346/213/251/345/231/250-/344/270/213/345/215/212.md +242 -0
  349. package/skills/meritdata-platform-integration/references/external-api/full/46_3.17/345/241/253/346/212/245/346/212/245/350/241/250+3.18/351/252/214/350/257/201/347/240/201.md +178 -0
  350. package/skills/meritdata-platform-integration/references/external-api/full/47_3.19/345/267/245/344/275/234/345/217/260/347/273/264/346/212/244.md +196 -0
  351. package/skills/meritdata-platform-integration/references/external-api/full/48_3.20/350/260/203/345/272/246/347/274/226/346/216/222.md +106 -0
  352. package/skills/meritdata-platform-integration/references/external-api/full/49_/351/231/204/345/275/225-4.1-4.3/350/277/224/345/233/236/347/240/201/344/270/216/347/211/210/346/234/254/346/270/205/345/215/225.md +43 -0
  353. package/skills/meritdata-platform-integration/references/external-api.md +260 -0
  354. package/skills/meritdata-platform-integration/references/notification-detail/11_/344/270/211/345/271/263/345/217/260/346/234/215/345/212/241-3.6/346/234/215/345/212/241/351/200/232/347/237/245-CloudFeignMessageClient.md +467 -0
  355. package/skills/meritdata-platform-integration/references/org-user-sync.md +121 -0
  356. package/skills/meritdata-platform-integration/references/service-notification.md +168 -0
  357. package/skills/meritdata-platform-job/SKILL.md +76 -30
  358. package/skills/meritdata-platform-job/agents/openai.yaml +30 -0
  359. package/skills/meritdata-platform-job/references/iclient-detail/13_/345/233/233/344/270/232/345/212/241/347/273/204/344/273/266-4.2/350/260/203/345/272/246/347/273/204/344/273/266ICloudClient.md +92 -0
  360. package/skills/meritdata-platform-job/references/ijobapi-detail/14_/345/233/233/344/270/232/345/212/241/347/273/204/344/273/266-4.3/345/256/232/346/227/266/344/273/273/345/212/241IJobApi.md +59 -0
  361. package/skills/meritdata-platform-job/references/scheduler-ref//346/224/273/347/225/245-10-/345/256/232/346/227/266/350/260/203/345/272/246-00_/346/200/273/350/247/210.md +49 -0
  362. package/skills/meritdata-platform-job/references/scheduler-ref//346/224/273/347/225/245-10-/345/256/232/346/227/266/350/260/203/345/272/246-/347/253/240/350/212/20201_/344/275/277/347/224/250/350/203/214/346/231/257.md +12 -0
  363. package/skills/meritdata-platform-job/references/scheduler-ref//346/224/273/347/225/245-10-/345/256/232/346/227/266/350/260/203/345/272/246-/347/253/240/350/212/20202_/346/233/264/346/226/260/350/256/260/345/275/225.md +14 -0
  364. package/skills/meritdata-platform-job/references/scheduler-ref//346/224/273/347/225/245-10-/345/256/232/346/227/266/350/260/203/345/272/246-/347/253/240/350/212/20203_/350/260/203/345/272/246/347/233/270/345/205/263/345/272/224/347/224/250/345/214/205.md +15 -0
  365. package/skills/meritdata-platform-job/references/scheduler-ref//346/224/273/347/225/245-10-/345/256/232/346/227/266/350/260/203/345/272/246-/347/253/240/350/212/20204_/351/205/215/347/275/256/351/241/271/347/233/270/345/205/263.md +23 -0
  366. package/skills/meritdata-platform-job/references/scheduler-ref//346/224/273/347/225/245-10-/345/256/232/346/227/266/350/260/203/345/272/246-/347/253/240/350/212/20205_/350/260/203/345/272/246/345/212/237/350/203/275/344/275/277/347/224/250.md +132 -0
  367. package/skills/meritdata-platform-job/references/scheduler-ref//346/224/273/347/225/245-10-/345/256/232/346/227/266/350/260/203/345/272/246-/347/253/240/350/212/20206_/350/260/203/345/272/246/344/273/273/345/212/241_API_/346/216/245/345/217/243.md +14 -0
  368. package/skills/meritdata-platform-job/references/scheduler-ref//346/224/273/347/225/245-10-/345/256/232/346/227/266/350/260/203/345/272/246-/347/253/240/350/212/20207_/345/257/271/345/244/226/350/260/203/345/272/246/344/273/273/345/212/241_API_/346/216/245/345/217/243.md +245 -0
  369. package/skills/meritdata-platform-job/references/scheduler.md +13 -0
  370. package/skills/meritdata-platform-job/references/xxl-job.md +30 -0
  371. package/skills/meritdata-platform-logging/SKILL.md +54 -0
  372. package/skills/meritdata-platform-logging/agents/openai.yaml +16 -0
  373. package/skills/meritdata-platform-logging/references/api-quick-ref.md +90 -0
  374. package/skills/meritdata-platform-logging/references/assets/06_/344/270/211/345/271/263/345/217/260/346/234/215/345/212/241-3.1/346/227/245/345/277/227/346/234/215/345/212/241-ILogPostService.md +323 -0
  375. package/skills/meritdata-platform-logging/references/assets/07_/344/270/211/345/271/263/345/217/260/346/234/215/345/212/241-3.1/346/227/245/345/277/227/346/263/250/350/247/243-LogDesc-LogOperation.md +210 -0
  376. package/skills/meritdata-platform-logging/references/logging.md +256 -0
  377. package/skills/meritdata-platform-menu-config/SKILL.md +218 -39
  378. package/skills/meritdata-platform-menu-config/agents/openai.yaml +22 -0
  379. package/skills/meritdata-platform-menu-config/references/README.md +10 -0
  380. package/skills/meritdata-platform-menu-config/references/environment.md +32 -0
  381. package/skills/meritdata-platform-menu-config/references/field-mapping.md +64 -0
  382. package/skills/meritdata-platform-menu-config/references/insert-menu-template.sql +89 -0
  383. package/skills/meritdata-platform-menu-config/references/troubleshooting.md +177 -0
  384. package/skills/meritdata-platform-messaging/SKILL.md +56 -0
  385. package/skills/meritdata-platform-messaging/agents/openai.yaml +15 -0
  386. package/skills/meritdata-platform-messaging/references/announcement-api.md +258 -0
  387. package/skills/meritdata-platform-messaging/references/feign-client.md +83 -0
  388. package/skills/meritdata-platform-messaging/references/msg-center//346/224/273/347/225/245-12-/346/266/210/346/201/257/344/270/255/345/277/203-00_/346/200/273/350/247/210.md +56 -0
  389. package/skills/meritdata-platform-messaging/references/msg-center//346/224/273/347/225/245-12-/346/266/210/346/201/257/344/270/255/345/277/203-/347/253/240/350/212/20201_/346/266/210/346/201/257/344/270/255/345/277/203/344/275/277/347/224/250/345/234/272/346/231/257.md +12 -0
  390. package/skills/meritdata-platform-messaging/references/msg-center//346/224/273/347/225/245-12-/346/266/210/346/201/257/344/270/255/345/277/203-/347/253/240/350/212/20202_/346/266/210/346/201/257/344/270/255/345/277/203/351/241/265/351/235/242/345/212/237/350/203/275/344/275/277/347/224/250.md +396 -0
  391. package/skills/meritdata-platform-messaging/references/msg-center//346/224/273/347/225/245-12-/346/266/210/346/201/257/344/270/255/345/277/203-/347/253/240/350/212/20203_/346/266/210/346/201/257/344/270/255/345/277/203/346/216/245/345/217/243/345/212/237/350/203/275/344/275/277/347/224/250.md +578 -0
  392. package/skills/meritdata-platform-messaging/references/msg-center//346/224/273/347/225/245-12-/346/266/210/346/201/257/344/270/255/345/277/203-/347/253/240/350/212/20204_/351/231/204/357/274/232/351/231/204/344/273/266/344/270/212/344/274/240/344/270/213/350/275/275/345/210/240/351/231/244/346/216/245/345/217/243.md +183 -0
  393. package/skills/meritdata-platform-nacos-importer/SKILL.md +120 -0
  394. package/skills/meritdata-platform-nacos-importer/agents/openai.yaml +22 -0
  395. package/skills/meritdata-platform-nacos-importer/references/README.md +9 -0
  396. package/skills/meritdata-platform-nacos-importer/scripts/import-nacos.ps1 +95 -0
  397. package/skills/meritdata-platform-nacos-importer/scripts/import-nacos.sh +100 -0
  398. package/skills/meritdata-platform-org-sync/SKILL.md +72 -0
  399. package/skills/meritdata-platform-org-sync/references//346/224/273/347/225/245-09-/347/273/204/347/273/207/344/272/272/345/221/230/345/220/214/346/255/245-00_/346/200/273/350/247/210.md +99 -0
  400. package/skills/meritdata-platform-org-sync/references//346/224/273/347/225/245-09-/347/273/204/347/273/207/344/272/272/345/221/230/345/220/214/346/255/245-/347/253/240/350/212/20201_/346/246/202/350/277/260.md +16 -0
  401. package/skills/meritdata-platform-org-sync/references//346/224/273/347/225/245-09-/347/273/204/347/273/207/344/272/272/345/221/230/345/220/214/346/255/245-/347/253/240/350/212/20202_/347/273/204/347/273/207/345/220/214/346/255/245.md +318 -0
  402. package/skills/meritdata-platform-org-sync/references//346/224/273/347/225/245-09-/347/273/204/347/273/207/344/272/272/345/221/230/345/220/214/346/255/245-/347/253/240/350/212/20203_/344/272/272/345/221/230/345/220/214/346/255/245.md +187 -0
  403. package/skills/meritdata-platform-org-sync/references//346/224/273/347/225/245-09-/347/273/204/347/273/207/344/272/272/345/221/230/345/220/214/346/255/245-/347/253/240/350/212/20204_/350/265/204/346/272/220/350/217/234/345/215/225/345/220/214/346/255/245.md +124 -0
  404. package/skills/meritdata-platform-org-sync/references//346/224/273/347/225/245-09-/347/273/204/347/273/207/344/272/272/345/221/230/345/220/214/346/255/245-/347/253/240/350/212/20205_/350/247/222/350/211/262/345/220/214/346/255/245.md +79 -0
  405. package/skills/meritdata-platform-org-sync/references//346/224/273/347/225/245-09-/347/273/204/347/273/207/344/272/272/345/221/230/345/220/214/346/255/245-/347/253/240/350/212/20206_/350/265/204/346/272/220/346/235/203/351/231/220/345/220/214/346/255/245.md +116 -0
  406. package/skills/meritdata-platform-org-sync/references//346/224/273/347/225/245-09-/347/273/204/347/273/207/344/272/272/345/221/230/345/220/214/346/255/245-/347/253/240/350/212/20207_/347/273/204/347/273/207/345/220/214/346/255/245/351/205/215/347/275/256.md +173 -0
  407. package/skills/meritdata-platform-playbook/SKILL.md +172 -30
  408. package/skills/meritdata-platform-playbook/agents/openai.yaml +29 -0
  409. package/skills/meritdata-platform-playbook/examples/existing-increment/README.md +83 -0
  410. package/skills/meritdata-platform-playbook/examples/new-project/README.md +73 -0
  411. package/skills/meritdata-platform-playbook/references/code-spec.md +67 -0
  412. package/skills/meritdata-platform-playbook/references/full-workflow.md +299 -0
  413. package/skills/meritdata-platform-playbook/references/git-integration.md +111 -0
  414. package/skills/meritdata-platform-playbook/references/governance.md +97 -0
  415. package/skills/meritdata-platform-playbook/references/legacy-detect.md +154 -0
  416. package/skills/meritdata-platform-playbook/references/public-entry-map.json +135 -0
  417. package/skills/meritdata-platform-playbook/references/skill-decision-tree.md +125 -0
  418. package/skills/meritdata-platform-playbook/references/svn-integration.md +117 -0
  419. package/skills/meritdata-platform-portal-customization/SKILL.md +78 -0
  420. package/skills/meritdata-platform-portal-customization/references/cloud-utils-theme-generator.md +97 -0
  421. package/skills/meritdata-platform-portal-customization/references/home-frame-config-api.md +145 -0
  422. package/skills/meritdata-platform-portal-customization/references/portal-frontend-layouts.md +160 -0
  423. package/skills/meritdata-platform-portal-customization/references/portal-product-config.md +78 -0
  424. package/skills/meritdata-platform-portal-customization/references/theme-management.md +144 -0
  425. package/skills/meritdata-platform-portal-customization/references/workbench-entities.md +134 -0
  426. package/skills/meritdata-platform-resource-auth/SKILL.md +49 -0
  427. package/skills/meritdata-platform-resource-auth/agents/openai.yaml +14 -0
  428. package/skills/meritdata-platform-resource-auth/references/endpoints.md +171 -0
  429. package/skills/meritdata-platform-session/SKILL.md +41 -36
  430. package/skills/meritdata-platform-session/agents/openai.yaml +9 -0
  431. package/skills/meritdata-platform-session/references/api-quick-ref.md +52 -0
  432. package/skills/meritdata-platform-session/references/assets/08_/344/270/211/345/271/263/345/217/260/346/234/215/345/212/241-3.3/344/274/232/350/257/235/344/277/241/346/201/257-SessionUtils.md +349 -0
  433. package/skills/meritdata-platform-session/references/assets/09_/344/270/211/345/271/263/345/217/260/346/234/215/345/212/241-3.3/345/234/250/347/272/277/347/224/250/346/210/267-IUserOnlineTime.md +63 -0
  434. package/skills/meritdata-platform-session/references/session.md +125 -0
  435. package/skills/meritdata-platform-sso/SKILL.md +49 -31
  436. package/skills/meritdata-platform-sso/agents/openai.yaml +19 -0
  437. package/skills/meritdata-platform-sso/references/auth//346/224/273/347/225/245-06-/347/263/273/347/273/237/350/256/244/350/257/201-00_/346/200/273/350/247/210.md +47 -0
  438. package/skills/meritdata-platform-sso/references/auth//346/224/273/347/225/245-06-/347/263/273/347/273/237/350/256/244/350/257/201-/347/253/240/350/212/20201_/347/263/273/347/273/237/350/256/244/350/257/201/351/233/206/346/210/220/344/273/213/347/273/215.md +14 -0
  439. package/skills/meritdata-platform-sso/references/auth//346/224/273/347/225/245-06-/347/263/273/347/273/237/350/256/244/350/257/201-/347/253/240/350/212/20202_token_/350/256/244/350/257/201/351/233/206/346/210/220.md +568 -0
  440. package/skills/meritdata-platform-sso/references/auth//346/224/273/347/225/245-06-/347/263/273/347/273/237/350/256/244/350/257/201-/347/253/240/350/212/20203_cas_/347/273/237/344/270/200/350/256/244/350/257/201/344/270/255/345/277/203.md +128 -0
  441. package/skills/meritdata-platform-sso/references/auth//346/224/273/347/225/245-06-/347/263/273/347/273/237/350/256/244/350/257/201-/347/253/240/350/212/20204_/347/254/254/344/270/211/346/226/271/350/256/244/350/257/201/344/270/255/345/277/203.md +151 -0
  442. package/skills/meritdata-platform-sso/references/auth//346/224/273/347/225/245-06-/347/263/273/347/273/237/350/256/244/350/257/201-/347/253/240/350/212/20205_/351/231/204/345/275/225_1_/350/256/244/350/257/201/344/270/255/345/277/203/347/253/257/351/205/215/347/275/256.md +93 -0
  443. package/skills/meritdata-platform-sso/references/cas-token-flow.md +52 -0
  444. package/skills/meritdata-platform-sso/references/iportal-sso-api.md +66 -0
  445. package/skills/meritdata-platform-sso/references/spring-session-pitfalls.md +71 -0
  446. package/skills/meritdata-platform-ui-components/SKILL.md +64 -36
  447. package/skills/meritdata-platform-ui-components/agents/openai.yaml +33 -0
  448. package/skills/meritdata-platform-ui-components/references/catalog/15_/344/272/224/345/211/215/347/253/257/350/265/204/344/272/247-5.1UI/347/273/204/344/273/266/345/272/223-/344/270/212/345/215/212.md +514 -0
  449. package/skills/meritdata-platform-ui-components/references/catalog/16_/344/272/224/345/211/215/347/253/257/350/265/204/344/272/247-5.1UI/347/273/204/344/273/266/345/272/223-/344/270/213/345/215/212.md +302 -0
  450. package/skills/meritdata-platform-ui-components/references/components-api.md +166 -0
  451. package/skills/meritdata-platform-ui-components/references/utils-and-meritbpm.md +98 -0
  452. package/skills/prototype/LOGIC.md +79 -0
  453. package/skills/prototype/SKILL.md +26 -0
  454. package/skills/prototype/UI.md +112 -0
  455. package/skills/prototype/agents/openai.yaml +3 -0
  456. package/skills/receiving-code-review/SKILL.md +205 -0
  457. package/skills/requesting-code-review/SKILL.md +95 -0
  458. package/skills/requesting-code-review/code-reviewer.md +172 -0
  459. package/skills/requirement-low-level-check/SKILL.md +84 -0
  460. package/skills/requirement-low-level-check/references//344/275/216/347/272/247/351/227/256/351/242/230/346/243/200/346/237/245/346/212/245/345/221/212/346/250/241/346/235/277.md +139 -0
  461. package/skills/requirement-low-level-check/references//344/275/216/347/272/247/351/227/256/351/242/230/346/243/200/346/237/245/346/270/205/345/215/225.md +210 -0
  462. package/skills/requirement-pm-review/SKILL.md +181 -0
  463. package/skills/requirement-pm-review/references/PM/350/257/204/345/256/241/346/212/245/345/221/212/346/250/241/346/235/277.md +223 -0
  464. package/skills/requirement-review/SKILL.md +212 -0
  465. package/skills/requirement-review/references//351/234/200/346/261/202/350/257/204/345/256/241/346/243/200/346/237/245/345/215/225.md +99 -0
  466. package/skills/requirement-review-report/SKILL.md +152 -0
  467. package/skills/requirement-review-report/references//351/234/200/346/261/202/350/257/204/345/256/241/346/212/245/345/221/212/346/250/241/346/235/277.md +187 -0
  468. package/skills/research/SKILL.md +12 -0
  469. package/skills/research/agents/openai.yaml +3 -0
  470. package/skills/resolving-merge-conflicts/SKILL.md +14 -0
  471. package/skills/resolving-merge-conflicts/agents/openai.yaml +3 -0
  472. package/skills/rest-api-design/SKILL.md +90 -0
  473. package/skills/rest-api-design/references/complete-example-expressjs.md +114 -0
  474. package/skills/rest-api-design/references/http-status-codes.md +65 -0
  475. package/skills/rest-api-design/references/openapi-documentation.md +92 -0
  476. package/skills/rest-api-design/references/query-parameters.md +23 -0
  477. package/skills/rest-api-design/references/request-examples.md +50 -0
  478. package/skills/rest-api-design/references/resource-naming.md +35 -0
  479. package/skills/rest-api-design/references/response-formats.md +70 -0
  480. package/skills/rest-api-design/scripts/validate-api.sh +18 -0
  481. package/skills/rest-api-design/templates/api-scaffold.yaml +22 -0
  482. package/skills/security-review/SKILL.md +527 -0
  483. package/skills/security-review/cloud-infrastructure-security.md +361 -0
  484. package/skills/setup-matt-pocock-skills/SKILL.md +116 -0
  485. package/skills/setup-matt-pocock-skills/agents/openai.yaml +5 -0
  486. package/skills/setup-matt-pocock-skills/domain.md +51 -0
  487. package/skills/setup-matt-pocock-skills/issue-tracker-github.md +45 -0
  488. package/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +46 -0
  489. package/skills/setup-matt-pocock-skills/issue-tracker-local.md +30 -0
  490. package/skills/setup-matt-pocock-skills/triage-labels.md +15 -0
  491. package/skills/setup-pre-commit/SKILL.md +91 -0
  492. package/skills/setup-pre-commit/agents/openai.yaml +3 -0
  493. package/skills/speckit-analyze/SKILL.md +260 -0
  494. package/skills/speckit-checklist/SKILL.md +372 -0
  495. package/skills/speckit-clarify/SKILL.md +254 -0
  496. package/skills/speckit-constitution/SKILL.md +157 -0
  497. package/skills/speckit-git-commit/SKILL.md +53 -0
  498. package/skills/speckit-git-feature/SKILL.md +72 -0
  499. package/skills/speckit-git-initialize/SKILL.md +54 -0
  500. package/skills/speckit-git-remote/SKILL.md +50 -0
  501. package/skills/speckit-git-validate/SKILL.md +54 -0
  502. package/skills/speckit-implement/SKILL.md +209 -0
  503. package/skills/speckit-plan/SKILL.md +152 -0
  504. package/skills/speckit-specify/SKILL.md +330 -0
  505. package/skills/speckit-tasks/SKILL.md +202 -0
  506. package/skills/speckit-taskstoissues/SKILL.md +106 -0
  507. package/skills/springboot-patterns/SKILL.md +313 -0
  508. package/skills/springboot-security/SKILL.md +272 -0
  509. package/skills/springboot-tdd/SKILL.md +158 -0
  510. package/skills/subagent-driven-development/SKILL.md +503 -0
  511. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
  512. package/skills/subagent-driven-development/implementer-prompt.md +142 -0
  513. package/skills/subagent-driven-development/re-review-prompt.md +106 -0
  514. package/skills/subagent-driven-development/scripts/review-package +46 -0
  515. package/skills/subagent-driven-development/scripts/sdd-workspace +40 -0
  516. package/skills/subagent-driven-development/scripts/task-brief +41 -0
  517. package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  518. package/skills/subagent-driven-development/task-reviewer-prompt.md +185 -0
  519. package/skills/system-design/SKILL.md +42 -0
  520. package/skills/systematic-debugging/CREATION-LOG.md +119 -0
  521. package/skills/systematic-debugging/SKILL.md +283 -0
  522. package/skills/systematic-debugging/condition-based-waiting-example.ts +158 -0
  523. package/skills/systematic-debugging/condition-based-waiting.md +115 -0
  524. package/skills/systematic-debugging/defense-in-depth.md +122 -0
  525. package/skills/systematic-debugging/find-polluter.sh +72 -0
  526. package/skills/systematic-debugging/root-cause-tracing.md +169 -0
  527. package/skills/systematic-debugging/test-academic.md +14 -0
  528. package/skills/systematic-debugging/test-pressure-1.md +58 -0
  529. package/skills/systematic-debugging/test-pressure-2.md +68 -0
  530. package/skills/systematic-debugging/test-pressure-3.md +69 -0
  531. package/skills/tdd/SKILL.md +36 -0
  532. package/skills/tdd/agents/openai.yaml +3 -0
  533. package/skills/tdd/mocking.md +59 -0
  534. package/skills/tdd/tests.md +77 -0
  535. package/skills/teach/GLOSSARY-FORMAT.md +35 -0
  536. package/skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
  537. package/skills/teach/MISSION-FORMAT.md +31 -0
  538. package/skills/teach/RESOURCES-FORMAT.md +32 -0
  539. package/skills/teach/SKILL.md +140 -0
  540. package/skills/teach/agents/openai.yaml +5 -0
  541. package/skills/tech-design-doc/SKILL.md +160 -0
  542. package/skills/tech-design-doc/description_ar.txt +1 -0
  543. package/skills/tech-design-doc/description_cn.txt +1 -0
  544. package/skills/tech-design-doc/description_de.txt +1 -0
  545. package/skills/tech-design-doc/description_en.txt +1 -0
  546. package/skills/tech-design-doc/description_es.txt +1 -0
  547. package/skills/tech-design-doc/description_fr.txt +1 -0
  548. package/skills/tech-design-doc/description_it.txt +1 -0
  549. package/skills/tech-design-doc/description_ja.txt +1 -0
  550. package/skills/tech-design-doc/description_ko.txt +1 -0
  551. package/skills/tech-design-doc/description_ru.txt +1 -0
  552. package/skills/tech-design-doc/description_tw.txt +1 -0
  553. package/skills/tech-design-doc/stats.json +4 -0
  554. package/skills/test-driven-development/SKILL.md +320 -0
  555. package/skills/test-driven-development/testing-anti-patterns.md +299 -0
  556. package/skills/test-driven-development/writing-good-tests.md +198 -0
  557. package/skills/test-fixing/SKILL.md +121 -0
  558. package/skills/test-master/SKILL.md +94 -0
  559. package/skills/test-master/references/automation-frameworks.md +294 -0
  560. package/skills/test-master/references/e2e-testing.md +128 -0
  561. package/skills/test-master/references/integration-testing.md +120 -0
  562. package/skills/test-master/references/performance-testing.md +118 -0
  563. package/skills/test-master/references/qa-methodology.md +247 -0
  564. package/skills/test-master/references/security-testing.md +127 -0
  565. package/skills/test-master/references/tdd-iron-laws.md +174 -0
  566. package/skills/test-master/references/test-reports.md +104 -0
  567. package/skills/test-master/references/testing-anti-patterns.md +231 -0
  568. package/skills/test-master/references/unit-testing.md +113 -0
  569. package/skills/to-spec/SKILL.md +75 -0
  570. package/skills/to-spec/agents/openai.yaml +5 -0
  571. package/skills/to-tickets/SKILL.md +105 -0
  572. package/skills/to-tickets/agents/openai.yaml +5 -0
  573. package/skills/triage/AGENT-BRIEF.md +207 -0
  574. package/skills/triage/OUT-OF-SCOPE.md +105 -0
  575. package/skills/triage/SKILL.md +112 -0
  576. package/skills/triage/agents/openai.yaml +5 -0
  577. package/skills/ui-ux-pro-max/SKILL.md +43 -0
  578. package/skills/ui-ux-pro-max/_meta.json +6 -0
  579. package/skills/ui-ux-pro-max/assets/data/charts.csv +26 -0
  580. package/skills/ui-ux-pro-max/assets/data/colors.csv +97 -0
  581. package/skills/ui-ux-pro-max/assets/data/icons.csv +101 -0
  582. package/skills/ui-ux-pro-max/assets/data/landing.csv +31 -0
  583. package/skills/ui-ux-pro-max/assets/data/products.csv +97 -0
  584. package/skills/ui-ux-pro-max/assets/data/react-performance.csv +45 -0
  585. package/skills/ui-ux-pro-max/assets/data/stacks/astro.csv +54 -0
  586. package/skills/ui-ux-pro-max/assets/data/stacks/flutter.csv +53 -0
  587. package/skills/ui-ux-pro-max/assets/data/stacks/html-tailwind.csv +56 -0
  588. package/skills/ui-ux-pro-max/assets/data/stacks/jetpack-compose.csv +53 -0
  589. package/skills/ui-ux-pro-max/assets/data/stacks/nextjs.csv +53 -0
  590. package/skills/ui-ux-pro-max/assets/data/stacks/nuxt-ui.csv +51 -0
  591. package/skills/ui-ux-pro-max/assets/data/stacks/nuxtjs.csv +59 -0
  592. package/skills/ui-ux-pro-max/assets/data/stacks/react-native.csv +52 -0
  593. package/skills/ui-ux-pro-max/assets/data/stacks/react.csv +54 -0
  594. package/skills/ui-ux-pro-max/assets/data/stacks/shadcn.csv +61 -0
  595. package/skills/ui-ux-pro-max/assets/data/stacks/svelte.csv +54 -0
  596. package/skills/ui-ux-pro-max/assets/data/stacks/swiftui.csv +51 -0
  597. package/skills/ui-ux-pro-max/assets/data/stacks/vue.csv +50 -0
  598. package/skills/ui-ux-pro-max/assets/data/styles.csv +68 -0
  599. package/skills/ui-ux-pro-max/assets/data/typography.csv +58 -0
  600. package/skills/ui-ux-pro-max/assets/data/ui-reasoning.csv +101 -0
  601. package/skills/ui-ux-pro-max/assets/data/ux-guidelines.csv +100 -0
  602. package/skills/ui-ux-pro-max/assets/data/web-interface.csv +31 -0
  603. package/skills/ui-ux-pro-max/data/charts.csv +26 -0
  604. package/skills/ui-ux-pro-max/data/colors.csv +97 -0
  605. package/skills/ui-ux-pro-max/data/icons.csv +101 -0
  606. package/skills/ui-ux-pro-max/data/landing.csv +31 -0
  607. package/skills/ui-ux-pro-max/data/products.csv +97 -0
  608. package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  609. package/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  610. package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  611. package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  612. package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  613. package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  614. package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  615. package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  616. package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  617. package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  618. package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  619. package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  620. package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  621. package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  622. package/skills/ui-ux-pro-max/data/styles.csv +68 -0
  623. package/skills/ui-ux-pro-max/data/typography.csv +58 -0
  624. package/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  625. package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  626. package/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  627. package/skills/ui-ux-pro-max/references/upstream-README.md +488 -0
  628. package/skills/ui-ux-pro-max/references/upstream-skill-content.md +288 -0
  629. package/skills/ui-ux-pro-max/scripts/__init__.py +0 -0
  630. package/skills/ui-ux-pro-max/scripts/core.py +253 -0
  631. package/skills/ui-ux-pro-max/scripts/design_system.py +1071 -0
  632. package/skills/ui-ux-pro-max/scripts/search.py +111 -0
  633. package/skills/using-git-worktrees/SKILL.md +167 -0
  634. package/skills/using-superpowers/SKILL.md +62 -0
  635. package/skills/using-superpowers/references/antigravity-tools.md +23 -0
  636. package/skills/using-superpowers/references/codex-tools.md +39 -0
  637. package/skills/using-superpowers/references/gemini-tools.md +63 -0
  638. package/skills/using-superpowers/references/pi-tools.md +16 -0
  639. package/skills/verification-before-completion/SKILL.md +120 -0
  640. package/skills/wait-what/SKILL.md +7 -0
  641. package/skills/wait-what/agents/openai.yaml +5 -0
  642. package/skills/wayfinder/SKILL.md +128 -0
  643. package/skills/wayfinder/agents/openai.yaml +5 -0
  644. package/skills/write-design-document-by-template/SKILL.md +97 -0
  645. package/skills/write-design-document-by-template/references//350/256/276/350/256/241/350/257/264/346/230/216/344/271/246/346/250/241/346/235/277.md +235 -0
  646. package/skills/write-requirement-document-by-template/SKILL.md +98 -0
  647. package/skills/write-requirement-document-by-template/references//351/234/200/346/261/202/350/257/264/346/230/216/344/271/246/346/250/241/346/235/277.md +150 -0
  648. package/skills/writing-great-skills/GLOSSARY.md +201 -0
  649. package/skills/writing-great-skills/SKILL.md +83 -0
  650. package/skills/writing-great-skills/agents/openai.yaml +5 -0
  651. package/skills/writing-plans/SKILL.md +168 -0
  652. package/skills/writing-plans/plan-document-reviewer-prompt.md +49 -0
  653. package/skills/writing-skills/SKILL.md +679 -0
  654. package/skills/writing-skills/anthropic-best-practices.md +1150 -0
  655. package/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
  656. package/skills/writing-skills/graphviz-conventions.dot +172 -0
  657. package/skills/writing-skills/persuasion-principles.md +187 -0
  658. package/skills/writing-skills/render-graphs.js +168 -0
  659. package/skills/writing-skills/testing-skills-with-subagents.md +384 -0
@@ -0,0 +1,2779 @@
1
+ ## 适用版本与安全边界
2
+
3
+ 本文记录的是 `cloud-system-bpm-module-core` 6.13.2 的历史接口面。每次使用前都要从目标项目的依赖、已解析 JAR 或已部署接口确认实际方法签名、路径和返回值。
4
+
5
+ 所有 `/api/bpm` 调用必须使用目标平台的已认证用户会话或服务身份,并在服务端执行授权校验。示例中的主机、服务名、流程 ID、业务 ID 和表单路径均为占位语境,不能直接用于任何环境。
6
+
7
+ ## 前置条件
8
+
9
+ 目标项目已声明并解析与部署环境匹配的 BPM 依赖。
10
+
11
+ ## 目录
12
+
13
+ - [适用版本与安全边界](#适用版本与安全边界)
14
+ - [前置条件](#前置条件)
15
+ - [1. 规则引擎初始化接口](#1-规则引擎初始化接口)
16
+ - [2. 启动流程实例接口](#2-启动流程实例接口)
17
+ - [3. 运行规则引擎](#3-运行规则引擎)
18
+ - [4. 完成任务接口](#4-完成任务接口)
19
+ - [5. 填写意见接口](#5-填写意见接口)
20
+ - [6. 根据任务节点获取意见内容](#6-根据任务节点获取意见内容)
21
+ - [7. 查看追踪接口](#7-查看追踪接口)
22
+ - [8. 退回拟稿人接口](#8-退回拟稿人接口)
23
+ - [9. 退回上一环节处理人接口](#9-退回上一环节处理人接口)
24
+ - [10. 流程设计器列表查询](#10-流程设计器列表查询)
25
+ - [11. 个人待办](#11-个人待办)
26
+ - [12. 阅知](#12-阅知)
27
+ - [13. 流程最新定义ID](#13-流程最新定义id)
28
+ - [14. 业务相关接口](#14-业务相关接口)
29
+ - [15. 流程分类相关](#15-流程分类相关)
30
+
31
+ ## 1. 规则引擎初始化接口
32
+ 说明:根据流程定义key查询符合条件的最新的流程按钮配置信息
33
+ * method: `POST`
34
+ * url: `http://IP:端口/gateway/服务名/api/bpm/core/ruleengine/init/{procDefKey}`
35
+ * PathVariables
36
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
37
+ | ---------- |-------- |-------- | ----------- | ---- |
38
+ | procDefKey | String |是| 流程key | |
39
+ * RequestParams
40
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
41
+ | ---------- |-------- |-------- | ----------- | ---- |
42
+ | procDefKey | String | 是 | 流程key ||
43
+ | 自定义流程参数|String | 否 | 自定义流程参数 | |
44
+ * ResponseBody
45
+ 返回数据类型:RuleEngine对象
46
+ <b>Postman样例:</b>
47
+ 适用于前端直接调用
48
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/ruleengine/init/Process_Demo1?procDefKey=Process_Demo1
49
+ 返回数据如下:
50
+ ```json
51
+ {
52
+ "timestamp": 1614234886974,
53
+ "status": 1,
54
+ "message": "成功",
55
+ "stackmessage": null,
56
+ "path": "/api/bpm/core/ruleengine/init/Process_Demo1",
57
+ "data": {
58
+ "runtime": {
59
+ "businessId": null,
60
+ "procDefKey": "Process_Demo1",
61
+ "procDefId": "Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189",
62
+ "procInstId": null,
63
+ "taskId": null,
64
+ "taskDefKey": null,
65
+ "taskName": null,
66
+ "formLink": "/<frontend-base>/example/index.html#/formEdit?id=businessId",
67
+ "selUserWin": "no",
68
+ "opinionWin": "no",
69
+ //获取按钮信息
70
+ "bpmBtns": [
71
+ {
72
+ "name": "保存",
73
+ "id": "bpmSaveOrUpdateBtn",
74
+ "procInstId": "",
75
+ "type": "primary"
76
+ },
77
+ {
78
+ "name": "填写意见",
79
+ "id": "bpmOpinionBtn",
80
+ "procInstId": "",
81
+ "type": ""
82
+ },
83
+ {
84
+ "name": "发送",
85
+ "id": "bpmSendBtn",
86
+ "procInstId": "",
87
+ "type": ""
88
+ },
89
+ {
90
+ "name": "特送",
91
+ "id": "bpmJumpBtn",
92
+ "procInstId": "",
93
+ "type": "",
94
+ "procDefId": "Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189"
95
+ },
96
+ {
97
+ "name": "管理特送",
98
+ "id": "bpmJumpManagementBtn",
99
+ "procInstId": "",
100
+ "type": "",
101
+ "procDefId": "Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189"
102
+ },
103
+ {
104
+ "name": "查看追踪",
105
+ "id": "bpmProcTrackBtn",
106
+ "procInstId": "",
107
+ "type": "",
108
+ "procDefId": "Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189"
109
+ },
110
+ {
111
+ "name": "关闭",
112
+ "id": "bpmCloseBtn",
113
+ "procInstId": "",
114
+ "type": ""
115
+ }
116
+ ],
117
+ "nextNodes": null,
118
+ "mainForm": null
119
+ },
120
+ "formLink": {
121
+ "sort": "0",
122
+ "name": "部门审批",
123
+ "link": "/<frontend-base>/example/index.html#/formEdit?id=businessId"
124
+ },
125
+ "actors": [
126
+ {
127
+ "type": "1",
128
+ "ids": "drafterCode",
129
+ "codes": null,
130
+ "names": null,
131
+ "level": null,
132
+ "duty": null,
133
+ "dutyName": null,
134
+ "dutyCode": null,
135
+ "condition": null,
136
+ "customControllerName": null,
137
+ "customMethodsName": null
138
+ }
139
+ ],
140
+ "approve": {
141
+ "type": "onlyApprove"
142
+ },
143
+ "route": {
144
+ "type": "1",
145
+ "name": null,
146
+ "value": null,
147
+ "returnName": null,
148
+ "returnValue": null,
149
+ "operName": "发送",
150
+ "operImgPath": null
151
+ },
152
+ "opinion": {
153
+ "display": "1",
154
+ "type": "1",
155
+ "must": "1",
156
+ "regionName": null,
157
+ "regionSort": "0",
158
+ "opinionField": null,
159
+ "opinionYesNo": null,
160
+ "opinionDeptStatus": null,
161
+ "opinionListStatus": null,
162
+ "routeName": null,
163
+ "routeValue": null,
164
+ "routeOpiMust": null,
165
+ "routeCommentMust": null,
166
+ "opinionUserImgStatus": null,
167
+ "autoOpinion": null,
168
+ "autoOpiContent": null,
169
+ "isOpiDisplay": null,
170
+ "isOpiMust": null
171
+ },
172
+ "seluserwin": {
173
+ "display": "yes@@@@@【本环节需要选人】",
174
+ "noseluser": "no@@@@@【本环节不需要自动选人】"
175
+ },
176
+ "editStatus": {
177
+ "type": "1"
178
+ },
179
+ "activity": {
180
+ "id": "Activity_1el7wyo",
181
+ "name": "部门审批"
182
+ },
183
+ "formVars": [],
184
+ "sendRead": {
185
+ "actor": [],
186
+ "isSendRead": {
187
+ "type": "0"
188
+ }
189
+ },
190
+ "regainStatus": {
191
+ "type": null
192
+ },
193
+ "isRetprenode": {
194
+ "type": null
195
+ },
196
+ "isRetfirnode": {
197
+ "type": null
198
+ },
199
+ "retRandomNodeStatus": {
200
+ "type": null
201
+ },
202
+ "sign": null,
203
+ "completionCondition": null
204
+ },
205
+ "extraInfo": {},
206
+ "success": true
207
+ }
208
+ ```
209
+ <b>java测试样例:</b>
210
+ 适用于后端调用
211
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
212
+ ```java
213
+ @Autowired
214
+ BpmEngine bpmEngine;
215
+
216
+ @ApiOperation(value = "规则引擎初始化", notes = "根据流程定义Key查询符合条件的最新的流程按钮配置信息")
217
+ @RequestMapping(value = "/ruleengine/init/{procDefKey}", method = RequestMethod.POST)
218
+ public @ResponseBody
219
+ ResultBody<RuleEngine> ruleEngineInit() {
220
+ String procDefKey = "Process_Demo1";
221
+ Map variables = new HashMap();
222
+ variables.put("procDefkey","Process_Demo1");
223
+ ResultBody<RuleEngine> ruleEngine = bpmEngine.ruleEngineInit(procDefKey, variables);
224
+ return ruleEngine;
225
+ }
226
+
227
+ ```
228
+ ## 2. 启动流程实例接口
229
+ 说明:创建一个流程实例,前置条件是先把业务数据保存后,获取业务数据的id,当作businessId的值
230
+ * method: `POST`
231
+ * url: `http://IP:端口/gateway/服务名/api/bpm/core/{procDefKey}/startprocess`
232
+ * PathVariables
233
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
234
+ | ---------- |-------- |-------- | ----------- | ---- |
235
+ | procDefKey | String | 是 | 流程key ||
236
+ * RequestParams
237
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
238
+ | ---------- |-------- |-------- | ----------- | ---- |
239
+ | procDefKey | String |是 | 流程key | |
240
+ | businessId | String |是 | 业务id | |
241
+ | bpmSubject | String |否 | 待办标题 | |
242
+ | bpmUrgent | String |否 | 紧急程度 | |
243
+ | bpmSecret | String |否 | 密级程度 | |
244
+ * ResponseBody
245
+ 返回数据类型:MainForm对象
246
+ <b>Postman样例:</b>
247
+ 适用于前端直接调用
248
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/Process_Demo1/startprocess?procDefKey=Process_Demo1&businessId=3f28824f77d7e9a60177d806daab0001
249
+ ```json
250
+ {
251
+ "procDefKey":"Process_Demo1"
252
+ "businessId":"3f28824f77d7e9a60177d806daab0001"
253
+ }
254
+ ```
255
+ 返回数据如下:
256
+ ```json
257
+ {
258
+ "timestamp": 1614237113004,
259
+ "status": 1,
260
+ "message": "成功",
261
+ "stackmessage": null,
262
+ "path": "/api/bpm/core/Process_Demo1/startprocess",
263
+ "data": {
264
+ "tenantId": "",
265
+ "createTime": 1614237112863,
266
+ "updateTime": 1614237112973,
267
+ "creatorId": null,
268
+ "reviserId": null,
269
+ "id": "3f28824f77d7e9980177d8079a8d0005",
270
+ "appModuleName": "差旅费",
271
+ "appModuleId": "报销",
272
+ "appSystemId": "BPM",
273
+ "appSystemName": "BPM系统",
274
+ "procDefId": "Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189",
275
+ "procInstId": "bc6fcf47-7738-11eb-8728-00d861edd189",
276
+ "procDefKey": "Process_Demo1",
277
+ "flowReaderIds": ",test1,",
278
+ "flowReaderNames": "测试1",
279
+ "flowAuthorIds": ",test1,",
280
+ "flowAuthorNames": "测试1",
281
+ "procDealStatus": "draft",
282
+ "drafterName": "测试1",
283
+ "drafterId": "test1",
284
+ "drafterDeptId": "yanfa",
285
+ "drafterDeptName": "技术研发部",
286
+ "subject": "Process_Demo1",
287
+ "urgent": null,
288
+ "secret": null,
289
+ "formLink": "/<frontend-base>/example/index.html#/formEdit?id=3f28824f77d7e9a60177d806daab0001",
290
+ "preActDealerId": "",
291
+ "preDealerId": "test1",
292
+ "preActId": "",
293
+ "nodeIds": "Activity_1el7wyo",
294
+ "nodeNames": "部门审批",
295
+ "lockUserId": null,
296
+ "lockUserName": null,
297
+ "lockStatus": null,
298
+ "bpmVersion": 0,
299
+ "businessId": "3f28824f77d7e9a60177d806daab0001",
300
+ "portalMode": "default",
301
+ "portalUrl": ""
302
+ },
303
+ "extraInfo": {},
304
+ "success": true
305
+ }
306
+ ```
307
+ <b>java测试样例:</b>
308
+ 适用于后端调用
309
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
310
+ ```java
311
+ @Autowired
312
+ BpmEngine bpmEngine;
313
+
314
+ @ApiOperation(value = "启动流程", notes = "根据流程定义Key和需要的流程变量businessId来启动流程,启动成功之后返回procInstId流程实例Id")
315
+ @RequestMapping(value = "/{procDefKey}/startprocess", method = RequestMethod.POST)
316
+ public ResultBody<MainFormDTO> startProcess() throws Exception {
317
+ String procDefKey ="Process_Demo1";
318
+ Map variables = new HashMap();
319
+ variables.put("procDefkey","Process_Demo1");
320
+ variables.put("businessId","3f28824f77d7e9a60177d8110b670002");
321
+ ResultBody<MainFormDTO> mainForm = bpmEngine.startProcess(procDefKey, variables);
322
+ return mainForm;
323
+ }
324
+ ```
325
+ ## 3. 运行规则引擎
326
+ 说明:根据业务id和流程定义key打开流程实例,获取流程实例详情
327
+ 情况一:只是打开流程表单数据,不做任何操作。获取不到下一节点的审批人员数据
328
+ 情况二:点击提供的流程按钮中的发送按钮,传入bpmOperName,bpmOperValue参数。获取当前节点的
329
+ runtime[nextNode]表示:下一节点的审批人员数据和审批方式
330
+ * method: `POST`
331
+ * url: `http://IP:端口/gateway/服务名/api/bpm/core/ruleengine/run`
332
+ * PathVariables
333
+ ```
334
+
335
+ ```
336
+ * RequestParams
337
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
338
+ | ---------- |-------- |-------- | ----------- | ---- |
339
+ | procDefKey | String |是 | 流程key | |
340
+ | businessId | String |是 | 业务id | |
341
+ |bpmOperName|String|否|操作名称|如果想要获取当前节点的runtime[nextNode],传入该参数|
342
+ |bpmOperValue|String|否|操作值|如果想要获取当前节点的runtime[nextNode],传入该参数|
343
+ | 自定义流程参数|String | 否 | 自定义流程参数 | |
344
+ * ResponseBody
345
+ 返回数据类型:MainForm对象
346
+ <b>Postman样例:</b>
347
+ 适用于前端直接调用
348
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/ruleengine/run?procDefKey=Process_Demo1&businessId=3f28824f77d7e9a60177d802f61d0000
349
+ ```json
350
+ {
351
+ "procDefKey":"Process_Demo1"
352
+ "businessId":"3f28824f77d7e9a60177d802f61d0000"
353
+ }
354
+ ```
355
+ 返回数据如下:
356
+ ```json
357
+ {
358
+ "timestamp": 1614242117951,
359
+ "status": 1,
360
+ "message": "成功",
361
+ "stackmessage": null,
362
+ "path": "/api/bpm/core/ruleengine/run",
363
+ "data": {
364
+ "runtime": {
365
+ "businessId": null,
366
+ //流程定义key
367
+ "procDefKey": "Process_Demo1",
368
+ //流程定义id
369
+ "procDefId": "Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189",
370
+ //流程实例id
371
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
372
+ //任务id
373
+ "taskId": "94c159ee-773a-11eb-930f-00d861edd189",
374
+ //任务key
375
+ "taskDefKey": "Activity_0vjczzn",
376
+ //任务名称
377
+ "taskName": "总监审批",
378
+ //表单地址
379
+ "formLink": "/<frontend-base>/example/index.html#/formRead?id=3f28824f77d7e9a60177d802f61d0000",
380
+ //是否人员选择
381
+ "selUserWin": "no",
382
+ //是否填写意见
383
+ "opinionWin": "no",
384
+ //操作按钮
385
+ "bpmBtns": [
386
+ {
387
+ "name": "保存",
388
+ "id": "bpmSaveOrUpdateBtn",
389
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
390
+ "type": "primary"
391
+ },
392
+ {
393
+ "name": "填写意见",
394
+ "id": "bpmOpinionBtn",
395
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
396
+ "type": ""
397
+ },
398
+ {
399
+ "name": "发送",
400
+ "id": "bpmSendBtn",
401
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
402
+ "type": ""
403
+ },
404
+ {
405
+ "name": "流程终止",
406
+ "id": "bpmJumpBtnEnd",
407
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
408
+ "type": "",
409
+ "procDefId": "Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189"
410
+ },
411
+ {
412
+ "name": "特送",
413
+ "id": "bpmJumpBtn",
414
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
415
+ "type": "",
416
+ "procDefId": "Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189"
417
+ },
418
+ {
419
+ "name": "管理特送",
420
+ "id": "bpmJumpManagementBtn",
421
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
422
+ "type": "",
423
+ "procDefId": "Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189"
424
+ },
425
+ {
426
+ "name": "退回上一环节处理人",
427
+ "id": "bpmRetprenodeBtn",
428
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
429
+ "type": ""
430
+ },
431
+ {
432
+ "name": "退回拟稿人",
433
+ "id": "bpmRetfirnodeBtn",
434
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
435
+ "type": ""
436
+ },
437
+ {
438
+ "name": "退回任意环节",
439
+ "id": "bpmRetRandomNodeStatusBtn",
440
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
441
+ "type": ""
442
+ },
443
+ {
444
+ "name": "查看追踪",
445
+ "id": "bpmProcTrackBtn",
446
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
447
+ "type": "",
448
+ "procDefId": "Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189"
449
+ },
450
+ {
451
+ "name": "关闭",
452
+ "id": "bpmCloseBtn",
453
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
454
+ "type": ""
455
+ }
456
+ ],
457
+ //下一节点处理人和审批类型
458
+ "nextNodes": [],
459
+ "mainForm": {
460
+ "tenantId": "",
461
+ "createTime": 1614236908000,
462
+ "updateTime": 1614237905000,
463
+ "creatorId": null,
464
+ "reviserId": null,
465
+ "id": "3f28824f77d7e9980177d8047c920003",
466
+ //应用模块名称
467
+ "appModuleName": "差旅费",
468
+ //模块id
469
+ "appModuleId": "报销",
470
+ //所属系统id
471
+ "appSystemId": "BPM",
472
+ //所属系统
473
+ "appSystemName": "BPM系统",
474
+ //流程定义id
475
+ "procDefId": "Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189",
476
+ //流程实例id
477
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
478
+ //流程定义key
479
+ "procDefKey": "Process_Demo1",
480
+ //流程读者id,按逗号拼接
481
+ "flowReaderIds": ",test1,",
482
+ //流程读者名称
483
+ "flowReaderNames": "测试1",
484
+ //流程作者id,即处理人
485
+ "flowAuthorIds": ",test1,",
486
+ //流程
487
+ "flowAuthorNames": "测试1",
488
+ //流程处理状态: draft草稿箱、track跟踪、over办结
489
+ "procDealStatus": "track",
490
+ //拟稿人名称
491
+ "drafterName": "测试1",
492
+ //拟稿人编码
493
+ "drafterId": "test1",
494
+ //拟稿部门编码
495
+ "drafterDeptId": "yanfa",
496
+ //拟稿部门名称
497
+ "drafterDeptName": "技术研发部",
498
+ //标题
499
+ "subject": "测试1_2021-02-25 00:00_出差报销",
500
+ //紧急程度
501
+ "urgent": "普通",
502
+ //密级
503
+ "secret": "高级",
504
+ //表单连接地址
505
+ "formLink": "/<frontend-base>/example/index.html#/formEdit?id=3f28824f77d7e9a60177d802f61d0000",
506
+ //上一活动处理人编码
507
+ "preActDealerId": "test1",
508
+ // 上一处理人编码
509
+ "preDealerId": "test1",
510
+ //上一活动Id
511
+ "preActId": "Activity_1el7wyo",
512
+ //当前处理节点Ids
513
+ "nodeIds": "Activity_0vjczzn",
514
+ //当前处理节点名
515
+ "nodeNames": "总监审批",
516
+ //锁定用户编码
517
+ "lockUserId": "test1",
518
+ //锁定用户名称
519
+ "lockUserName": "测试1",
520
+ //锁定是否启用,0:未启用,1:启用
521
+ "lockStatus": null,
522
+ //流程设计版本号
523
+ "bpmVersion": 1,
524
+ //业务id
525
+ "businessId": "3f28824f77d7e9a60177d802f61d0000",
526
+ //门户模式:默认模式default(无前缀),固定模式fix(开发使用),门户模式portal
527
+ "portalMode": "default",
528
+ //门户前缀
529
+ "portalUrl": ""
530
+ }
531
+ },
532
+ //表单连接地址
533
+ "formLink": {
534
+ "sort": "0",
535
+ "name": "总监审批",
536
+ "link": "/<frontend-base>/example/index.html#/formRead?id=businessId"
537
+ },
538
+ //当前节点候选处理人规则
539
+ "actors": [
540
+ {
541
+ "type": "1",
542
+ "ids": "drafterCode",
543
+ "codes": null,
544
+ "names": null,
545
+ "level": null,
546
+ "duty": null,
547
+ "dutyName": null,
548
+ "dutyCode": null,
549
+ "condition": null,
550
+ "customControllerName": null,
551
+ "customMethodsName": null
552
+ }
553
+ ],
554
+ //当前节点审批方式
555
+ "approve": {
556
+ "type": "onlyApprove"
557
+ },
558
+ //操作路由
559
+ "route": {
560
+ "type": "1",
561
+ "name": null,
562
+ "value": null,
563
+ "returnName": null,
564
+ "returnValue": null,
565
+ "operName": "发送",
566
+ "operImgPath": null
567
+ },
568
+ //意见
569
+ "opinion": {
570
+ "display": "1",
571
+ "type": "1",
572
+ "must": "1",
573
+ "regionName": null,
574
+ "regionSort": "0",
575
+ "opinionField": null,
576
+ "opinionYesNo": null,
577
+ "opinionDeptStatus": null,
578
+ "opinionListStatus": null,
579
+ "routeName": null,
580
+ "routeValue": null,
581
+ "routeOpiMust": null,
582
+ "routeCommentMust": null,
583
+ "opinionUserImgStatus": null,
584
+ "autoOpinion": null,
585
+ "autoOpiContent": null,
586
+ "isOpiDisplay": null,
587
+ "isOpiMust": null
588
+ },
589
+ //操作候选人员
590
+ "seluserwin": {
591
+ "display": "yes@@@@@【本环节需要选人】",
592
+ "noseluser": "no@@@@@【本环节不需要自动选人】"
593
+ },
594
+ // 表单是否可以编辑
595
+ "editStatus": {
596
+ "type": "1"
597
+ },
598
+ //当前活动节点信息
599
+ "activity": {
600
+ "id": "Activity_0vjczzn",
601
+ "name": "总监审批"
602
+ },
603
+ //当前节点变量
604
+ "formVars": [],
605
+ // 阅知
606
+ "sendRead": {
607
+ "actor": [],
608
+ "isSendRead": {
609
+ "type": "0"
610
+ }
611
+ },
612
+ // 允许收回
613
+ "regainStatus": {
614
+ "type": null
615
+ },
616
+ // 退回上一环节处理人
617
+ "isRetprenode": {
618
+ "type": "1"
619
+ },
620
+ // 退回拟稿人
621
+ "isRetfirnode": {
622
+ "type": "1"
623
+ },
624
+ // 返回任意环节
625
+ "retRandomNodeStatus": {
626
+ "type": "1"
627
+ },
628
+ // 转发
629
+ "sign": null,
630
+ "completionCondition": null
631
+ },
632
+ "extraInfo": {},
633
+ "success": true
634
+ }
635
+ ```
636
+ <b>java测试样例:</b>
637
+ 适用于后端调用
638
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
639
+ ```java
640
+ @Autowired
641
+ BpmEngine bpmEngine;
642
+ @ApiOperation(value = "规则引擎执行", notes = "根据流程实例Id和流程所需要的变量,查询对应待办任务;" +
643
+ "结果1.存在待办:返回RuleEngine下的当前执行的任务Id、当前执行任务的规则信息,后续处理用户节点用户信息;" +
644
+ "结果2.不存在待办:返回空的RuleEngine实例化。")
645
+ @RequestMapping(value = "/ruleengine/run", method = RequestMethod.POST)
646
+ @ResponseBody
647
+ public ResultBody<RuleEngine> ruleEngineRun() {
648
+ Map variables = new HashMap();
649
+ variables.put("procDefkey","Process_Demo1");
650
+ variables.put("businessId","3f28824f77d7e9a60177d802f61d0000");
651
+
652
+ return bpmEngine.ruleEngineRun(variables);
653
+ }
654
+ ```
655
+ ## 4. 完成任务接口
656
+ 说明: 完成当前节点,进入下一节点
657
+ * method: `POST`
658
+ * url: `http://IP:端口/gateway/服务名/api/bpm/core/task/{id}/complete`
659
+ * PathVariables
660
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
661
+ | ---------- |-------- |-------- | ----------- | ---- |
662
+ | id | String | 是 | 任务id ||
663
+ * RequestParams
664
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
665
+ | ---------- |-------- |-------- | ----------- | ---- |
666
+ | businessId | String |是 | 业务id | |
667
+ |runtime[taskDefKey]|String|是|任务定义key||
668
+ |approve[type]|String|是|审批方式|审批方式 onlyApprove:单人审批,anyApproveList:任意一人审批,parApproveList:并行审批审批,seqApproveList:串行审批|
669
+ |bpmOperValue|String|是|操作值||
670
+ |bpmOperName|String|是|操作名称||
671
+ | bpmSubject | String |否 | 待办标题 | |
672
+ | bpmUrgent | String |否 | 紧急程度 | |
673
+ | bpmSecret | String |否 | 密级程度 | |
674
+ |下一节点的任务定义key_下一节点的审批方式|String|否|下一节点审批人员|当不传时:下一节点的审批人员为全部,当传参时:下一节点的审批人员为传入的人员。传入的值为人员编码。多个人员时,按逗号隔开,当设计器中设置为单人审批时,只能传入一个人员编码。例如:Activity_0vjczzn_anyApproveList:"test1,test2",Activity_0vjczzn表示:下一节点的任务定义key,anyApproveList表示:下一节点的审批方式|
675
+ | 自定义流程参数|String | 否 | 自定义流程参数 | |
676
+ * ResponseBody
677
+ 返回数据类型:MainForm对象
678
+ <b>Postman样例:</b>
679
+ 适用于前端直接调用
680
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/task/94c159ee-773a-11eb-930f-00d861edd189/complete?businessId=3f28824f77d7e9a60177d802f61d0000&runtime[taskDefKey]=Activity_0vjczzn&approve[type]=onlyApprove&bpmOperValue=bpmSendBtn&bpmOperName=发送
681
+ ```json
682
+ {
683
+ "businessId":"3f28824f77d7e9a60177d802f61d0000",
684
+ "runtime[taskDefKey]":"Activity_0vjczzn",
685
+ "approve[type]":"onlyApprove",
686
+ "bpmOperValue":"bpmSendBtn",
687
+ "bpmOperName":"发送"
688
+ }
689
+ ```
690
+ 返回数据如下:
691
+ ```json
692
+ {
693
+ "timestamp": 1614307657500,
694
+ "status": 1,
695
+ "message": "成功",
696
+ "stackmessage": null,
697
+ "path": "/api/bpm/core/task/94c159ee-773a-11eb-930f-00d861edd189/complete",
698
+ "data": {
699
+ "tenantId": "",
700
+ "createTime": 1614236908000,
701
+ "updateTime": 1614307657269,
702
+ "creatorId": null,
703
+ "reviserId": null,
704
+ "id": "3f28824f77d7e9980177d8047c920003",
705
+ "appModuleName": "差旅费",
706
+ "appModuleId": "报销",
707
+ "appSystemId": "BPM",
708
+ "appSystemName": "BPM系统",
709
+ "procDefId": "Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189",
710
+ "procInstId": "42a93008-7738-11eb-8728-00d861edd189",
711
+ "procDefKey": "Process_Demo1",
712
+ "flowReaderIds": ",test1,",
713
+ "flowReaderNames": "测试1",
714
+ "flowAuthorIds": null,
715
+ "flowAuthorNames": "",
716
+ "procDealStatus": "over",
717
+ "drafterName": "测试1",
718
+ "drafterId": "test1",
719
+ "drafterDeptId": "yanfa",
720
+ "drafterDeptName": "技术研发部",
721
+ "subject": "测试1_2021-02-25 00:00_出差报销",
722
+ "urgent": "普通",
723
+ "secret": "高级",
724
+ "formLink": "/<frontend-base>/example/index.html#/formEdit?id=3f28824f77d7e9a60177d802f61d0000",
725
+ "preActDealerId": "test1",
726
+ "preDealerId": "test1",
727
+ "preActId": "Activity_0vjczzn",
728
+ "nodeIds": "over",
729
+ "nodeNames": "办结",
730
+ "lockUserId": "test1",
731
+ "lockUserName": "测试1",
732
+ "lockStatus": null,
733
+ "bpmVersion": 1,
734
+ "businessId": "3f28824f77d7e9a60177d802f61d0000",
735
+ "portalMode": "default",
736
+ "portalUrl": ""
737
+ },
738
+ "extraInfo": {},
739
+ "success": true
740
+ }
741
+ ```
742
+ <b>java测试样例:</b>
743
+ 适用于后端调用
744
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
745
+ ```java
746
+ @Autowired
747
+ BpmEngine bpmEngine;
748
+
749
+ @ApiOperation(value = "完成任务", notes = "根据任务id,完成任务")
750
+ @RequestMapping(value = "/task/complete", method = RequestMethod.POST)
751
+ public ResultBody<MainFormDTO> complete() {
752
+ // 任务id
753
+ String id = "9f2c6791-7748-11eb-90ec-00d861edd189";
754
+ Map variables = new HashMap();
755
+ variables.put("businessId","3f28824f77d7e9a60177d806daab0001");
756
+ variables.put("runtime[taskDefKey]","Activity_0vjczzn");
757
+ variables.put("approve[type]","onlyApprove");
758
+ variables.put("bpmOperValue","bpmSendBtn");
759
+ variables.put("bpmOperName","发送");
760
+ // 调用完成任务
761
+ ResultBody<MainFormDTO> mainFormVo = bpmEngine.complete(id,variables);
762
+ return mainFormVo;
763
+ }
764
+ ```
765
+ ## 5. 填写意见接口
766
+ 说明:某个流程实例中的某个节点需要填写意见
767
+ * method : `POST`
768
+ * url : `http://IP:端口/gateway/服务名/api/bpm/core/addOrUpdate`
769
+ * PathVariables
770
+ ```
771
+
772
+ ```
773
+ * RequestParams:
774
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
775
+ | ---------- |-------- |-------- | ----------- | ---- |
776
+ | procInstId | String |是| 流程实例id | ruleEngine.runtime.procDefId |
777
+ | procDefId | String |是| 流程定义id | ruleEngine.runtime.procInstId |
778
+ | taskId | String |是| 任务id | ruleEngine.runtime.taskId |
779
+ | taskDefKey | String |是| 任务定义key | ruleEngine.runtime.taskDefKey |
780
+ |content|String|是|意见内容||
781
+ |type|String|否|保存类型(save,publish)|save为保存不发布,publish直接会发布,不传默认为save|
782
+ * ResponseBody
783
+ 返回数据类型:Boolean
784
+ <b>Postman样例:</b>
785
+ 适用于前端直接调用
786
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/addOrUpdate?procInstId=db512fbe-7689-11eb-ac36-00d861edd189&procDefId=Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189&taskId=e58fdd9e-7689-11eb-ac36-00d861edd189&taskDefKey=Activity_0vjczzn&content=测试数据
787
+ ```json
788
+ {
789
+ "procInstId":"db512fbe-7689-11eb-ac36-00d861edd189"
790
+ "procDefId":"Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189"
791
+ "taskId":"e58fdd9e-7689-11eb-ac36-00d861edd189"
792
+ "taskDefKey":"Activity_0vjczzn"
793
+ "content":"测试数据"
794
+ }
795
+ ```
796
+ 返回数据如下:
797
+ ```json
798
+ {
799
+ "timestamp": 1614222536939,
800
+ "status": 1,
801
+ "message": "成功",
802
+ "stackmessage": null,
803
+ "path": "/api/bpm/core/addOrUpdate",
804
+ //保存成功
805
+ "data": true,
806
+ "extraInfo": {},
807
+ "success": true
808
+ }
809
+ ```
810
+ <b>java测试样例:</b>
811
+ 适用于后端调用
812
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
813
+ ```java
814
+ @Autowired
815
+ BpmEngine bpmEngine;
816
+
817
+ @ApiOperation(value = "填写意见", notes = "节点填写意见")
818
+ @RequestMapping(value = "/addOrUpdate", method = RequestMethod.POST)
819
+ public @ResponseBody
820
+ ResultBody<Boolean> addOrUpdate() {
821
+ Map variables = new HashMap();
822
+ variables.put("procDefId","Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189");
823
+ variables.put("procInstId","db512fbe-7689-11eb-ac36-00d861edd189");
824
+ variables.put("taskId","e58fdd9e-7689-11eb-ac36-00d861edd189");
825
+ variables.put("taskDefKey","Activity_0vjczzn");
826
+ variables.put("content","测试数据");
827
+ return bpmEngine.addOrUpdate(variables);
828
+ }
829
+ ```
830
+ ## 6. 根据任务节点获取意见内容
831
+ 说明:某个流程实例中的某个节点获取此节点的意见列表
832
+ * method : `POST`
833
+ * url : `http://IP:端口/gateway/服务名/api/bpm/core/getContent`
834
+ * PathVariables
835
+ ```
836
+
837
+ ```
838
+ * RequestParams:
839
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
840
+ | ---------- |-------- |-------- | ----------- | ---- |
841
+ | procInstId | String |是| 流程实例id | ruleEngine.runtime.procDefId |
842
+ | procDefId | String |是| 流程定义id | ruleEngine.runtime.procInstId |
843
+ | taskId | String |是| 任务id | ruleEngine.runtime.taskId |
844
+ | taskDefKey | String |是| 任务定义key | ruleEngine.runtime.taskDefKey |
845
+ * ResponseBody
846
+ 返回数据类型:List<ProcOpinion>
847
+ <b>Postman样例:</b>
848
+ 适用于前端直接调用
849
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/getContent?procInstId=db512fbe-7689-11eb-ac36-00d861edd189&procDefId=Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189&taskId=e58fdd9e-7689-11eb-ac36-00d861edd189&taskDefKey=Activity_0vjczzn
850
+ ```json
851
+ {
852
+ "procInstId":"db512fbe-7689-11eb-ac36-00d861edd189"
853
+ "procDefId":"Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189"
854
+ "taskId":"e58fdd9e-7689-11eb-ac36-00d861edd189"
855
+ "taskDefKey":"Activity_0vjczzn"
856
+ }
857
+ ```
858
+ 返回数据如下:
859
+ ```json
860
+ {
861
+ "timestamp":1622605276497,
862
+ "status":1,"message":"成功",
863
+ "stackmessage":null,
864
+ "path":"/api/engine/procopinion/getContent",
865
+ "data":[
866
+ {
867
+ "tenantId":"",
868
+ "secretCode":null,
869
+ "secretName":null,
870
+ "createTime":1622601734000,
871
+ "updateTime":1622601734000,
872
+ "creatorId":null,"reviserId":null,
873
+ "id":"3f28830b79ca97b30179ca9998e90000",
874
+ "procInstId":"49d368f2-c34a-11eb-8db9-70b5e84e90b6",
875
+ "procDefKey":"Process_Demo1",
876
+ "taskId":"5bf08f02-c34a-11eb-8db9-70b5e84e90b6",
877
+ "nodeId":"Activity_0adbx74","nodeName":"审批",
878
+ "wfMainFormId":"3f28830b79ca43e30179ca8d79e20014","content":"完成了35%","publishTime":1622601770000,"type":"1","regionName":null,
879
+ "regionSort":"0","userId":"zs","userName":"张三",
880
+ "deptId":"3f28830b799d87ab01799d8af628000b",
881
+ "deptName":"大数据",
882
+ "isApprove":null,
883
+ "opinionField":null,
884
+ "isBatchDeal":null,"undoIds":null,
885
+ "opinionDeptStatus":null,
886
+ "opinionListStatus":null,
887
+ "opinionUserImgStatus":null},
888
+ {"tenantId":"",
889
+ "secretCode":null,
890
+ "secretName":null,
891
+ "createTime":1622601089000,
892
+ "updateTime":1622601089000,
893
+ "creatorId":null,
894
+ "reviserId":null,
895
+ "id":"3f28830b79ca43e30179ca8fc192001a",
896
+ "procInstId":"49d368f2-c34a-11eb-8db9-70b5e84e90b6",
897
+ "procDefKey":"Process_Demo1",
898
+ "taskId":"5bf08f02-c34a-11eb-8db9-70b5e84e90b6",
899
+ "nodeId":"Activity_0adbx74",
900
+ "nodeName":"审批",
901
+ "wfMainFormId":"3f28830b79ca43e30179ca8d79e20014",
902
+ "content":"完成任务25%",
903
+ "publishTime":1622601089000,
904
+ "type":"1","regionName":null,
905
+ "regionSort":"0",
906
+ "userId":"zs",
907
+ "userName":"张三",
908
+ "deptId":"3f28830b799d87ab01799d8af628000b",
909
+ "deptName":"大数据",
910
+ "isApprove":null,
911
+ "opinionField":null,
912
+ "isBatchDeal":null,"undoIds":null,
913
+ "opinionDeptStatus":null,"opinionListStatus":null,
914
+ "opinionUserImgStatus":null}
915
+ ],
916
+ "extraInfo":{},
917
+ "success":true
918
+ }
919
+ ```
920
+ <b>java测试样例:</b>
921
+ 适用于后端调用
922
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
923
+ ```java
924
+
925
+ @Autowired
926
+ BpmEngine bpmEngine;
927
+
928
+ @ApiOperation(value = "获取意见", notes = "获取某个节点的意见")
929
+ @RequestMapping(value = "/getContent", method = RequestMethod.POST)
930
+ public @ResponseBody
931
+ ResultBody<String> getContent() {
932
+ Map variables = new HashMap();
933
+ variables.put("procDefId","Process_Demo1:4:d349d3dd-7689-11eb-ac36-00d861edd189");
934
+ variables.put("procInstId","db512fbe-7689-11eb-ac36-00d861edd189");
935
+ variables.put("taskId","e58fdd9e-7689-11eb-ac36-00d861edd189");
936
+ variables.put("taskDefKey","Activity_0vjczzn");
937
+ return bpmEngine.getContent(variables);
938
+ }
939
+
940
+ ```
941
+ ## 7. 查看追踪接口
942
+ 说明:任务跟踪接口分为三部分内容
943
+ 文字追踪,图表追踪,审批意见
944
+ ### 7.1 文字追踪
945
+ 说明:查询某个流程实例的文字追踪数据
946
+ * method : `POST`
947
+ * url : `http://IP:端口/gateway/服务名/api/bpm/core/step`
948
+ * PathVariables
949
+ ```
950
+
951
+ ```
952
+ * RequestParams:
953
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
954
+ | ---------- |-------- |-------- | ----------- | ---- |
955
+ | procInstId | String |是| 流程实例id | |
956
+ |mainFormId|String|否|mainform的Id|不需要该参数|
957
+ |procDefId|String|否|流程定义id|不需要该参数|
958
+ * ResponseBody
959
+ 返回数据类型:ProcTrackDTO的集合对象
960
+ <b>Postman样例:</b>
961
+ 适用于前端直接调用
962
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/step?procInstId=da94441c-75a7-11eb-bf67-00d861edd189
963
+ ```json
964
+ {
965
+ "procInstId":"da94441c-75a7-11eb-bf67-00d861edd189"
966
+ }
967
+ ```
968
+ 返回数据如下:
969
+ ```json
970
+ {
971
+ "timestamp": 1614145310290,
972
+ "status": 1,
973
+ "message": "成功",
974
+ "stackmessage": null,
975
+ "path": "/api/bpm/core/step",
976
+ "data": [
977
+ {
978
+ "id": "3f28824f77cd8c4f0177cdc46e040007",
979
+ //流程实例id
980
+ "procInstId": "da94441c-75a7-11eb-bf67-00d861edd189",
981
+ //流程定义id
982
+ "procDefId": "Process_Demo1:1:00078c50-74b1-11eb-bd66-00d861edd189",
983
+ //流程key
984
+ "procDefKey": "Process_Demo1",
985
+ //任务id
986
+ "taskId": "da94445b-75a7-11eb-bf67-00d861edd189",
987
+ //发送节点id
988
+ "nodeId": "Activity_1el7wyo",
989
+ //发送节点名称
990
+ "nodeName": "部门审批",
991
+ //接收节点id,有可能是多个,按,拼接
992
+ "nextNodeIds": "Activity_0vjczzn",
993
+ //接收节点名称,有可能是多个,按,拼接
994
+ "nextNodeNames": "总监审批",
995
+ "mainFormId": "3f28824f77cd8c4f0177cdc462060005",
996
+ // 发送人id
997
+ "senderId": "test1",
998
+ //发送人名称
999
+ "senderName": "测试1",
1000
+ //发送人所在部门id
1001
+ "deptId": "3f28824f77c763dc0177c768b6ba0009",
1002
+ //发送人所在部门名称
1003
+ "deptName": "技术研发部",
1004
+ //操作名称
1005
+ "operate": "发送",
1006
+ "receiveTime": 1614064935000,
1007
+ "dealTime": 1614064938000,
1008
+ //接收人id
1009
+ "receiverIds": ",test1,",
1010
+ //接收人名称
1011
+ "receiverNames": "测试1",
1012
+ "receiverDepts": null,
1013
+ "x": "506",
1014
+ "y": "293",
1015
+ "width": "168",
1016
+ "height": "55",
1017
+ "superProcInstId": null
1018
+ }
1019
+ ],
1020
+ "extraInfo": {},
1021
+ "success": true
1022
+ }
1023
+ ```
1024
+ <b>java测试样例:</b>
1025
+ 适用于后端调用
1026
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
1027
+ ```java
1028
+
1029
+ @Autowired
1030
+ BpmEngine bpmEngine;
1031
+
1032
+ @ApiOperation(value = "任务跟踪-文字追踪", notes = "任务跟踪-文字追踪")
1033
+ @PostMapping(value = "/step")
1034
+ @ResponseBody
1035
+ public ResultBody<List<ProcTrackDTO>> getPage() {
1036
+ String procInstId = "da94441c-75a7-11eb-bf67-00d861edd189";
1037
+ // 调用 任务跟踪-文字追踪
1038
+ return bpmEngine.getPage(procInstId, null,null);
1039
+ }
1040
+
1041
+ ```
1042
+ ### 7.2 图表追踪
1043
+ 说明:查询某个流程实例的文字追踪数据
1044
+ * method : `POST`
1045
+ * url : `http://IP:端口/gateway/服务名/api/bpm/core/graph`
1046
+ * PathVariables
1047
+ ```
1048
+
1049
+ ```
1050
+ * RequestParams:
1051
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
1052
+ | ---------- |-------- |-------- | ----------- | ---- |
1053
+ | procInstId | String |是| 流程实例id | |
1054
+ |mainFormId|String|否|mainform的Id|不需要该参数|
1055
+ |procDefId|String|是|流程定义id||
1056
+ * ResponseBody
1057
+ 返回数据类型:Map
1058
+ <b>Postman样例:</b>
1059
+ 适用于前端直接调用
1060
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/graph?procInstId=da94441c-75a7-11eb-bf67-00d861edd189&procDefId=Process_Demo1:1:00078c50-74b1-11eb-bd66-00d861edd189
1061
+ ```json
1062
+ {
1063
+ "procInstId":"da94441c-75a7-11eb-bf67-00d861edd189",
1064
+ "procDefId":"Process_Demo1:1:00078c50-74b1-11eb-bd66-00d861edd189"
1065
+ }
1066
+ ```
1067
+ 返回数据如下:
1068
+ ```json
1069
+ {
1070
+ "timestamp": 1614147183892,
1071
+ "status": 1,
1072
+ "message": "成功",
1073
+ "stackmessage": null,
1074
+ "path": "/api/bpm/core/graph",
1075
+ "data": {
1076
+ // 返回是每个节点的状态 //0正在处理 //1已处理 //2未处理
1077
+ "taskDefKeys": {
1078
+ "Activity_0vjczzn": "0",
1079
+ "Activity_1el7wyo": "1"
1080
+ },
1081
+ // 返回流程文件
1082
+ "bpmnXml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><bpmn:definitions xmlns:bpmn=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" xmlns:bpmndi=\"http://www.omg.org/spec/BPMN/20100524/DI\" xmlns:di=\"http://www.omg.org/spec/DD/20100524/DI\" xmlns:dc=\"http://www.omg.org/spec/DD/20100524/DC\" xmlns:camunda=\"http://camunda.org/schema/1.0/bpmn\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" id=\"Definitions_02dbze3\" targetNamespace=\"http://bpmn.io/schema/bpmn\" exporter=\"Camunda Modeler\" exporterVersion=\"3.7.1\"> <bpmn:process id=\"Process_Demo1\" name=\"Process_Demo1\" isExecutable=\"true\"> <bpmn:documentation>{\"formLink\":\"/<frontend-base>/example/index.html#/formEdit?id=businessId\",\"appModuleName\":\"差旅费\",\"appModuleId\":\"报销\",\"appSystemName\":\"BPM系统\",\"appSystemId\":\"BPM\",\"portalMode\":\"default\",\"portalUrl\":\"\"}</bpmn:documentation> <bpmn:startEvent id=\"Event_0e2d76k\" name=\"开始\"> <bpmn:outgoing>Flow_147uzda</bpmn:outgoing> </bpmn:startEvent> <bpmn:userTask id=\"Activity_1el7wyo\" name=\"部门审批\" camunda:assignee=\"${Activity_1el7wyo_onlyApprove}\"> <bpmn:extensionElements> <camunda:meritdata> <camunda:editStatus type=\"1\" /> <camunda:isretprenode type=\"\" /> <camunda:isretfirnode type=\"\" /> <camunda:regainStatus type=\"\" /> <camunda:retRandomNodeStatus type=\"\" /> <camunda:formLink name=\"部门审批\" sort=\"0\"> <camunda:link>/<frontend-base>/example/index.html#/formEdit?id=businessId</camunda:link> </camunda:formLink> <camunda:formVars /> <camunda:actors> <camunda:actor type=\"1\" ids=\"drafterCode\" name=\"起草人\" /> </camunda:actors> <camunda:sendRead> <camunda:issendread type=\"0\" /> </camunda:sendRead> <camunda:approve type=\"onlyApprove\" /> <camunda:route type=\"1\" operName=\"发送\" returnName=\"\" returnValue=\"\" operImgPath=\"\" /> <camunda:seluserwin display=\"yes@@@@@【本环节需要选人】\" noseluser=\"no@@@@@【本环节不需要自动选人】\" /> <camunda:opinion display=\"\" type=\"1\" must=\"\" isOpiDisplay=\"\" isOpiMust=\"\" regionName=\"\" regionSort=\"0\" opinionField=\"\" opinionYesNo=\"\" opinionDeptStatus=\"\" opinionUserImgStatus=\"\" autoOpinion=\"\" autoOpiContent=\"\" routeName=\"\" routeValue=\"\" routeOpiMust=\"\" routeCommentMust=\"\" /> </camunda:meritdata> <camunda:taskListener delegateExpression=\"${userTaskListener}\" event=\"create\" /> <camunda:taskListener delegateExpression=\"${userTaskListener}\" event=\"assignment\" /> <camunda:taskListener delegateExpression=\"${userTaskListener}\" event=\"complete\" /> <camunda:taskListener delegateExpression=\"${userTaskListener}\" event=\"update\" /> <camunda:taskListener delegateExpression=\"${userTaskListener}\" event=\"delete\" /> </bpmn:extensionElements> <bpmn:incoming>Flow_147uzda</bpmn:incoming> <bpmn:outgoing>Flow_0u9dqba</bpmn:outgoing> </bpmn:userTask> <bpmn:userTask id=\"Activity_0vjczzn\" name=\"总监审批\" camunda:assignee=\"${Activity_0vjczzn_onlyApprove}\"> <bpmn:extensionElements> <camunda:meritdata> <camunda:editStatus type=\"1\" /> <camunda:isretprenode type=\"1\" /> <camunda:isretfirnode type=\"1\" /> <camunda:regainStatus type=\"\" /> <camunda:retRandomNodeStatus type=\"1\" /> <camunda:formLink name=\"总监审批\" sort=\"0\"> <camunda:link>/<frontend-base>/example/index.html#/formRead?id=businessId</camunda:link> </camunda:formLink> <camunda:formVars /> <camunda:actors> <camunda:actor type=\"1\" ids=\"drafterCode\" name=\"起草人\" /> </camunda:actors> <camunda:sendRead> <camunda:issendread type=\"0\" /> </camunda:sendRead> <camunda:approve type=\"onlyApprove\" /> <camunda:route type=\"1\" operName=\"发送\" returnName=\"\" returnValue=\"\" operImgPath=\"\" /> <camunda:seluserwin display=\"yes@@@@@【本环节需要选人】\" noseluser=\"no@@@@@【本环节不需要自动选人】\" /> <camunda:opinion display=\"\" type=\"1\" must=\"\" isOpiDisplay=\"\" isOpiMust=\"\" regionName=\"\" regionSort=\"0\" opinionField=\"\" opinionYesNo=\"\" opinionDeptStatus=\"\" opinionUserImgStatus=\"\" autoOpinion=\"\" autoOpiContent=\"\" routeName=\"\" routeValue=\"\" routeOpiMust=\"\" routeCommentMust=\"\" /> </camunda:meritdata> <camunda:taskListener delegateExpression=\"${userTaskListener}\" event=\"create\" /> <camunda:taskListener delegateExpression=\"${userTaskListener}\" event=\"assignment\" /> <camunda:taskListener delegateExpression=\"${userTaskListener}\" event=\"complete\" /> <camunda:taskListener delegateExpression=\"${userTaskListener}\" event=\"update\" /> <camunda:taskListener delegateExpression=\"${userTaskListener}\" event=\"delete\" /> </bpmn:extensionElements> <bpmn:incoming>Flow_0u9dqba</bpmn:incoming> <bpmn:outgoing>Flow_1vp7uq3</bpmn:outgoing> </bpmn:userTask> <bpmn:endEvent id=\"Event_1f641s8\" name=\"结束\"> <bpmn:incoming>Flow_1vp7uq3</bpmn:incoming> </bpmn:endEvent> <bpmn:sequenceFlow id=\"Flow_147uzda\" sourceRef=\"Event_0e2d76k\" targetRef=\"Activity_1el7wyo\"> <bpmn:extensionElements> <camunda:executionListener delegateExpression=\"${lineListener}\" event=\"take\" /> </bpmn:extensionElements> </bpmn:sequenceFlow> <bpmn:sequenceFlow id=\"Flow_0u9dqba\" sourceRef=\"Activity_1el7wyo\" targetRef=\"Activity_0vjczzn\"> <bpmn:extensionElements> <camunda:executionListener delegateExpression=\"${lineListener}\" event=\"take\" /> </bpmn:extensionElements> </bpmn:sequenceFlow> <bpmn:sequenceFlow id=\"Flow_1vp7uq3\" sourceRef=\"Activity_0vjczzn\" targetRef=\"Event_1f641s8\"> <bpmn:extensionElements> <camunda:executionListener delegateExpression=\"${lineListener}\" event=\"take\" /> </bpmn:extensionElements> </bpmn:sequenceFlow> </bpmn:process> <bpmndi:BPMNDiagram id=\"BpmnDiagram_1\"> <bpmndi:BPMNPlane id=\"BpmnPlane_1\" bpmnElement=\"Process_Demo1\"> <bpmndi:BPMNEdge id=\"Flow_147uzda_di\" bpmnElement=\"Flow_147uzda\"> <di:waypoint x=\"369\" y=\"220\" /> <di:waypoint x=\"438\" y=\"220\" /> <di:waypoint x=\"438\" y=\"321\" /> <di:waypoint x=\"506\" y=\"321\" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id=\"Flow_0u9dqba_di\" bpmnElement=\"Flow_0u9dqba\"> <di:waypoint x=\"674\" y=\"321\" /> <di:waypoint x=\"740\" y=\"321\" /> <di:waypoint x=\"740\" y=\"322\" /> <di:waypoint x=\"806\" y=\"322\" /> </bpmndi:BPMNEdge> <bpmndi:BPMNEdge id=\"Flow_1vp7uq3_di\" bpmnElement=\"Flow_1vp7uq3\"> <di:waypoint x=\"974\" y=\"322\" /> <di:waypoint x=\"1133\" y=\"322\" /> <di:waypoint x=\"1133\" y=\"460\" /> <di:waypoint x=\"1291\" y=\"460\" /> </bpmndi:BPMNEdge> <bpmndi:BPMNShape id=\"Event_0e2d76k_di\" bpmnElement=\"Event_0e2d76k\"> <dc:Bounds x=\"331\" y=\"201\" width=\"38\" height=\"38\" /> <bpmndi:BPMNLabel> <dc:Bounds x=\"339\" y=\"242\" width=\"22\" height=\"14\" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> <bpmndi:BPMNShape id=\"Activity_1el7wyo_di\" bpmnElement=\"Activity_1el7wyo\"> <dc:Bounds x=\"506\" y=\"293\" width=\"168\" height=\"55\" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id=\"Activity_0vjczzn_di\" bpmnElement=\"Activity_0vjczzn\"> <dc:Bounds x=\"806\" y=\"294\" width=\"168\" height=\"55\" /> </bpmndi:BPMNShape> <bpmndi:BPMNShape id=\"Event_1f641s8_di\" bpmnElement=\"Event_1f641s8\"> <dc:Bounds x=\"1291\" y=\"441\" width=\"38\" height=\"38\" /> <bpmndi:BPMNLabel> <dc:Bounds x=\"1299\" y=\"482\" width=\"22\" height=\"14\" /> </bpmndi:BPMNLabel> </bpmndi:BPMNShape> </bpmndi:BPMNPlane> </bpmndi:BPMNDiagram></bpmn:definitions>"
1083
+ },
1084
+ "extraInfo": {},
1085
+ "success": true
1086
+ }
1087
+ ```
1088
+ <b>java测试样例:</b>
1089
+ 适用于后端调用
1090
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
1091
+ ```java
1092
+ @Autowired
1093
+ BpmEngine bpmEngine;
1094
+
1095
+ @ApiOperation(value = "任务跟踪-图表追踪", notes = "任务跟踪-图表追踪")
1096
+ @PostMapping(value = "/graph")
1097
+ @ResponseBody
1098
+ public ResultBody<Map> getGraphTrack() {
1099
+ String procInstId = "da94441c-75a7-11eb-bf67-00d861edd189";
1100
+ String procDefId = "Process_Demo1:1:00078c50-74b1-11eb-bd66-00d861edd189";
1101
+ // 任务跟踪-图表追踪
1102
+ return bpmEngine.getGraphTrack(procInstId,null,procDefId);
1103
+ }
1104
+ ```
1105
+ 说明:图表追踪中点击某个节点,返回节点的提示信息。正在处理,已处理,未处理状态的人员
1106
+ * method : `POST`
1107
+ * url : `http://IP:端口/gateway/服务名/api/bpm/core/tip`
1108
+ * PathVariables
1109
+ ```
1110
+
1111
+ ```
1112
+ * RequestParams:
1113
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
1114
+ | ---------- |-------- |-------- | ----------- | ---- |
1115
+ | procInstId | String |是| 流程实例id | |
1116
+ |mainFormId|String|否|mainform的Id|不需要该参数|
1117
+ |taskDefKey|String|是|任务节点key||
1118
+ * ResponseBody
1119
+ 返回数据类型:List
1120
+ <b>Postman样例:</b>
1121
+ 适用于前端直接调用
1122
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/tip?procInstId=7f050a06-7680-11eb-9b5e-00d861edd189&taskDefKey=Activity_0vjczzn
1123
+ ```json
1124
+ {
1125
+ "procInstId":"7f050a06-7680-11eb-9b5e-00d861edd189",
1126
+ "taskDefKey":"Activity_0vjczzn"
1127
+ }
1128
+ ```
1129
+ 返回数据如下:
1130
+ ```json
1131
+ {
1132
+ "timestamp": 1614161060238,
1133
+ "status": 1,
1134
+ "message": "成功",
1135
+ "stackmessage": null,
1136
+ "path": "/api/bpm/core/tip",
1137
+ "data": [
1138
+ //节点名称
1139
+ "总监审批",
1140
+ //已处理人
1141
+ "已处理:",
1142
+ //未处理人
1143
+ "未处理:测试1",
1144
+ //处理状态
1145
+ "处理状态:正在处理"
1146
+ ],
1147
+ "extraInfo": {},
1148
+ "success": true
1149
+ }
1150
+ ```
1151
+ <b>java测试样例:</b>
1152
+ 适用于后端调用
1153
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
1154
+ ```java
1155
+
1156
+ @Autowired
1157
+ BpmEngine bpmEngine;
1158
+
1159
+ @ApiOperation(value = "任务跟踪-图表追踪-节点提示信息", notes = "图表追踪中点击某个节点,返回节点的提示信息。正在处理,已处理,未处理状态的人员")
1160
+ @PostMapping(value = "/tip")
1161
+ @ResponseBody
1162
+ public ResultBody<List> getNodeTip() {
1163
+ String taskDefKey = "Activity_0vjczzn";
1164
+ String procInstId = "7f050a06-7680-11eb-9b5e-00d861edd189";
1165
+ //调用任务跟踪-图表追踪-节点提示信息
1166
+ return bpmEngine.getNodeTip(taskDefKey,procInstId,null);
1167
+ }
1168
+
1169
+ ```
1170
+ ### 7.3 审批意见
1171
+ 说明:查询某个流程实例的所有审批意见信息
1172
+ * method : `POST`
1173
+ * url : `http://IP:端口/gateway/服务名/api/bpm/core/getOpinions`
1174
+ * PathVariables
1175
+ ```
1176
+
1177
+ ```
1178
+ * RequestParams:
1179
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
1180
+ | ---------- |-------- |-------- | ----------- | ---- |
1181
+ | procInstId | String |是| 流程实例id | |
1182
+ | isContainsApprover | String |否| 是否是获取当前用户审批的意见 |默认1 自己的和其他人已发布的,0 自己填写的 |
1183
+ * ResponseBody
1184
+ 返回数据类型:ProcOpinionDTO的集合对象
1185
+ <b>Postman样例:</b>
1186
+ 适用于前端直接调用
1187
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/getOpinions?procInstId=db512fbe-7689-11eb-ac36-00d861edd189
1188
+ ```json
1189
+ {
1190
+ "procInstId":"db512fbe-7689-11eb-ac36-00d861edd189"
1191
+ }
1192
+ ```
1193
+ 返回数据如下:
1194
+ ```json
1195
+ {
1196
+ "timestamp": 1614217620220,
1197
+ "status": 1,
1198
+ "message": "成功",
1199
+ "stackmessage": null,
1200
+ "path": "/api/bpm/core/getOpinions",
1201
+ "data": [
1202
+ {
1203
+ "tenantId": "",
1204
+ "createTime": 1614162017000,
1205
+ "updateTime": 1614162017000,
1206
+ "creatorId": null,
1207
+ "reviserId": null,
1208
+ "id": "3f28824f77d386b00177d38dbd560003",
1209
+ //流程实例id
1210
+ "procInstId": "db512fbe-7689-11eb-ac36-00d861edd189",
1211
+ //流程key
1212
+ "procDefKey": "Process_Demo1",
1213
+ //任务id
1214
+ "taskId": "db559ccd-7689-11eb-ac36-00d861edd189",
1215
+ //流程节点id
1216
+ "nodeId": "Activity_1el7wyo",
1217
+ //流程节点名称
1218
+ "nodeName": "部门审批",
1219
+ //流程主表id
1220
+ "wfMainFormId": "3f28824f77d386b00177d38d84470002",
1221
+ //意见内容
1222
+ "content": "测试数据",
1223
+ //发布时间,当前任务处理完成后,发布时间才有值
1224
+ "publishTime": 1614162020000,
1225
+ //意见类型:(新增的意见是覆盖,或者覆盖又新增,删除已发布意见)0、新增1、覆盖2、自动新增3
1226
+ "type": "1",
1227
+ //意见区域名称
1228
+ "regionName": null,
1229
+ //意见区域排序号
1230
+ "regionSort": "0",
1231
+ //填写意见人用户信息编码
1232
+ "userId": "test1",
1233
+ //填写意见人用户名称
1234
+ "userName": "测试1",
1235
+ //填写意见人部门编码
1236
+ "deptId": "3f28824f77c763dc0177c768b6ba0009",
1237
+ //填写意见人部门名称
1238
+ "deptName": "技术研发部",
1239
+ //是否同意:2同意、0不同意、1中立
1240
+ "isApprove": null,
1241
+ //意见域
1242
+ "opinionField": null,
1243
+ //临时变量【是否批量处理】
1244
+ "isBatchDeal": null,
1245
+ //临时变量【待办ids】
1246
+ "undoIds": null,
1247
+ //意见是否按部门分类显示
1248
+ "opinionDeptStatus": null,
1249
+ //意见列表是否显示
1250
+ "opinionListStatus": null,
1251
+ //意见展现中是否显示用户图像
1252
+ "opinionUserImgStatus": null
1253
+ }
1254
+ ],
1255
+ "extraInfo": {},
1256
+ "success": true
1257
+ }
1258
+ ```
1259
+ <b>java测试样例:</b>
1260
+ 适用于后端调用
1261
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
1262
+ ```java
1263
+ @Autowired
1264
+ BpmEngine bpmEngine;
1265
+
1266
+ @ApiOperation(value = "任务跟踪-审批意见", notes = "任务跟踪-审批意见")
1267
+ @RequestMapping(value = "/getOpinions", method = RequestMethod.POST)
1268
+ public @ResponseBody
1269
+ ResultBody<List<ProcOpinionDTO>> getOpinions() {
1270
+ Map map = new HashMap();
1271
+ map.put("procInstId","db512fbe-7689-11eb-ac36-00d861edd189");
1272
+ return bpmEngine.getOpinions(map);
1273
+ }
1274
+ ```
1275
+ ### 7.4 获取端口
1276
+ 说明:获取网页的端口 来自common.properties中的meritdata.cloud.web-server中的端口
1277
+ * method : `POST`
1278
+ * url : `http://IP:端口/gateway/服务名/api/bpm/core/port`
1279
+ * PathVariables
1280
+ ```
1281
+
1282
+ ```
1283
+ * RequestParams:
1284
+
1285
+ * ResponseBody
1286
+ 返回数据类型:String
1287
+ <b>Postman样例:</b>
1288
+ 适用于前端直接调用
1289
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/port
1290
+ 返回数据如下:
1291
+ ```json
1292
+ {
1293
+ "timestamp": 1629255129461,
1294
+ "status": 1,
1295
+ "message": "成功",
1296
+ "stackmessage": null,
1297
+ "path": "/api/bpm/core/port",
1298
+ "data": "8080",
1299
+ "extraInfo": {},
1300
+ "success": true
1301
+ }
1302
+ ```
1303
+ <b>java测试样例:</b>
1304
+ 适用于后端调用
1305
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
1306
+ ```java
1307
+ @Autowired
1308
+ BpmEngine bpmEngine;
1309
+
1310
+ @ApiOperation(value = "获取端口", notes = "获取端口")
1311
+ @RequestMapping(value = "/port", method = RequestMethod.POST)
1312
+ public @ResponseBody
1313
+ ResultBody<String> getPort() {
1314
+ return bpmEngine.getPort();
1315
+ }
1316
+ ```
1317
+ ## 8. 退回拟稿人接口
1318
+ 说明:退回拟稿人功能 当前任务实例退回到第一个任务节点,状态为起草状态
1319
+ 子流程中暂不支持退回拟稿人
1320
+ * method : `POST`
1321
+ * url : `http://IP:端口/gateway/服务名/api/bpm/core/retfirnode/{businessId}`
1322
+ * PathVariables
1323
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
1324
+ | ---------- |-------- |-------- | -----------| ---- |
1325
+ | businessId | String |是 | 业务id | |
1326
+ * RequestParams:
1327
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
1328
+ | ---------- |-------- |-------- | ----------- | ---- |
1329
+ | procInstId | String |是 | 流程实例id | |
1330
+ | businessId | String |是 | 业务id | |
1331
+ | bpmOperName |String | 是 | 操作名称| 流程按钮name值 |
1332
+ | bpmOperValue| String | 是 | 操作值 | 流程按钮id值 |
1333
+ | bpmSubject | String |否 | 待办标题 | |
1334
+ | bpmUrgent | String |否 | 紧急程度 | |
1335
+ | bpmSecret | String |否 | 密级程度 | |
1336
+ |runtime[taskId]|String|是|当前任务id|
1337
+ * ResponseBody
1338
+ 返回数据类型:String
1339
+ Postman测试样例:
1340
+ 适用于前端直接调用
1341
+ 案例使用
1342
+ <gateway-host>
1343
+ <gateway-port>
1344
+ <service-name> 服务
1345
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/retfirnode/3f28824f77c764f00177c774d8bb0000
1346
+ ```json
1347
+ {
1348
+ "procInstId":"57f63abb-74b1-11eb-bd66-00d861edd189",
1349
+ "businessId":"3f28824f77c764f00177c774d8bb0000",
1350
+ "bpmOperName":"退回拟稿人",
1351
+ "bpmOperValue":"bpmRetfirnodeBtn",
1352
+ "runtime[taskId]":"ccec2073-8604-11eb-aa34-00d861edd189"
1353
+ }
1354
+ ```
1355
+ 返回数据如下:
1356
+ ```json
1357
+ {
1358
+ "timestamp": 1613972972863,
1359
+ "status": 1,
1360
+ "message": "成功",
1361
+ "stackmessage": null,
1362
+ "path": "/api/bpm/core/retfirnode/3f28824f77c764f00177c774d8bb0000",
1363
+ "data": "退回拟稿人成功",
1364
+ "extraInfo": {},
1365
+ "success": true
1366
+ }
1367
+ ```
1368
+ java 样例
1369
+ 适用于后端调用
1370
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
1371
+ ```java
1372
+
1373
+ @Autowired
1374
+ BpmEngine bpmEngine;
1375
+
1376
+ @ApiOperation(value = "退回拟稿人", notes = "退回拟稿人")
1377
+ @RequestMapping(value = "/retfirnode",method = RequestMethod.POST)
1378
+ public ResultBody<String> processRetfirnode() {
1379
+ String businessId = "3f28824f77c764f00177c774d8bb0000";
1380
+ Map map = new HashMap();
1381
+ map.put("procInstId","57f63abb-74b1-11eb-bd66-00d861edd189");
1382
+ map.put("businessId","3f28824f77c764f00177c774d8bb0000");
1383
+ map.put("bpmOperName","退回拟稿人");
1384
+ map.put("bpmOperValue","bpmRetfirnodeBtn");
1385
+ map.put("runtime[taskId]","ccec2073-8604-11eb-aa34-00d861edd189");
1386
+ // 调用退回拟稿人方法
1387
+ return bpmEngine.processRetfirnode(businessId,map);
1388
+ }
1389
+
1390
+ ```
1391
+ ## 9. 退回上一环节处理人接口
1392
+ 说明:退回上一环节处理人功能 当前任务实例退回到上一个任务节点
1393
+ 子流程中暂不支持退回上一环节处理人
1394
+ * method : `POST`
1395
+ * url : `http://IP:端口/gateway/服务名/api/bpm/core/retprenode/{businessId}`
1396
+ * PathVariables
1397
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
1398
+ | ---------- |-------- |-------- | -----------| ---- |
1399
+ | businessId | String |是 | 业务id | |
1400
+ * RequestParams:
1401
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
1402
+ | ---------- |-------- |-------- | ----------- | ---- |
1403
+ | procInstId | String |是 | 流程实例id | |
1404
+ | businessId | String |是 | 业务id | |
1405
+ | bpmOperName |String | 是 | 操作名称| 流程按钮name值|
1406
+ | bpmOperValue| String | 是 | 操作值 | 流程按钮id值|
1407
+ | bpmSubject | String |否 | 待办标题 | |
1408
+ | bpmUrgent | String |否 | 紧急程度 | |
1409
+ | bpmSecret | String |否 | 密级程度 | |
1410
+ * ResponseBody
1411
+ 返回数据类型:String
1412
+ <b>Postman测试样例:</b>
1413
+ 适用于前端直接调用
1414
+ 案例使用
1415
+ <gateway-host>
1416
+ <gateway-port>
1417
+ <service-name> 服务
1418
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/retprenode/3f28824f77c764f00177c774d8bb0000
1419
+ ```json
1420
+ {
1421
+ "procInstId":"57f63abb-74b1-11eb-bd66-00d861edd189",
1422
+ "businessId":"3f28824f77c764f00177c774d8bb0000",
1423
+ "bpmOperName":"退回上一环节处理人",
1424
+ "bpmOperValue":"bpmRetprenodeBtn"
1425
+ }
1426
+ ```
1427
+ 返回数据如下:
1428
+ ```json
1429
+ {
1430
+ "timestamp": 1613977993337,
1431
+ "status": 1,
1432
+ "message": "成功",
1433
+ "stackmessage": null,
1434
+ "path": "/api/bpm/core/retprenode/3f28824f77c764f00177c774d8bb0000",
1435
+ "data": "退回上一环节处理人成功",
1436
+ "extraInfo": {},
1437
+ "success": true
1438
+ }
1439
+ ```
1440
+ <b>java 样例</b>
1441
+ 适用于后端调用
1442
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
1443
+ ```java
1444
+
1445
+ @Autowired
1446
+ BpmEngine bpmEngine;
1447
+
1448
+ /**
1449
+ * 退回上一环节
1450
+ */
1451
+ @ApiOperation(value = "退回上一环节处理人", notes = "退回上一环节处理人")
1452
+ @RequestMapping(value = "/retprenode",method = RequestMethod.POST)
1453
+ public ResultBody<String> processRetprenode() {
1454
+ String businessId = "3f28824f77c764f00177c774d8bb0000";
1455
+ Map map = new HashMap();
1456
+ map.put("procInstId","57f63abb-74b1-11eb-bd66-00d861edd189");
1457
+ map.put("businessId","3f28824f77c764f00177c774d8bb0000");
1458
+ map.put("bpmOperName","退回上一环节处理人");
1459
+ map.put("bpmOperValue","bpmRetprenodeBtn");
1460
+ // 调用退回上一环节
1461
+ return bpmEngine.processRetprenode(businessId,map);
1462
+ }
1463
+
1464
+ ```
1465
+ ## 10. 流程设计器列表查询
1466
+ 说明:获取流程设计,根据查询条件获取 全部(全部版本的流程),已发布(已发布版本的流程),
1467
+ 未发布(未发布版本的流程),最高版本(最高版本的流程),默认(最高版本的流程+已发布版本的流程)
1468
+ * method : `POST`
1469
+ * url : `http://IP:端口/gateway/服务名/api/bpm/core/page`
1470
+ * PathVariables
1471
+ ```
1472
+
1473
+ ```
1474
+ * RequestParams:
1475
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
1476
+ | ---------- |-------- |-------- | ----------- | ---- |
1477
+ | procTypeId | String |是 | 流程实例类型id | 默认为-1 |
1478
+ | keyword | String |是 | 流程名称或者ID | |
1479
+ | publishStatus |String | 是 | 版本状态| versionType:value="" 全部 ---- 全部(全部版本的流程),value="1" 已发布 ----- 已发布(已发布版本的流程),value="0" 未发布 ----- 未发布(未发布版本的流程),value="2" 最高版本 ----- 最高版本(最高版本的流程),value="3" 默认 ----- 默认(最高版本的流程+已发布版本的流程)|
1480
+ | page| String | 是 | 页数 | |
1481
+ | rows | String |是 | 条数 | |
1482
+ * ResponseBody
1483
+ 返回数据类型:ProcItemDTO
1484
+ <b>Postman测试样例:</b>
1485
+ 适用于前端直接调用
1486
+ 案例使用
1487
+ <gateway-host>
1488
+ <gateway-port>
1489
+ <service-name> 服务
1490
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/page
1491
+ ```json
1492
+ {
1493
+ "body":"{"procTypeId":"-1","keyword":"","publishStatus":"3","page":1,"rows":10}"
1494
+ }
1495
+ ```
1496
+ 返回数据如下:
1497
+ ```json
1498
+ "timestamp": 1615001022990,
1499
+ "status": 1,
1500
+ "message": "成功",
1501
+ "stackmessage": null,
1502
+ "path": "/api/bpm/core/page",
1503
+ "data": {
1504
+ "rows": [
1505
+ {
1506
+ "page": null,
1507
+ "rows": null,
1508
+ "order": null,
1509
+ "sort": null,
1510
+ "id": "3f28824f780535ca0178056766730002",
1511
+ //流程名称
1512
+ "procName": "fsfsd",
1513
+ // 流程ID
1514
+ "procId": "fsdfsdf",
1515
+ "moduleId": null,
1516
+ //流程类型名称
1517
+ "moduleName": "aaa",
1518
+ //显示流程名称
1519
+ "displayName": "fsfsd",
1520
+ "sortNo": 1,
1521
+ //树的父节点ID
1522
+ "parentId": "3f28824f780535ca0178056749d10000",
1523
+ "type": "item",
1524
+ "fileName": "fsfsd.bpmn20.xml",
1525
+ "procTypeId": null,
1526
+ "procTypeName": "aaa",
1527
+ //版本
1528
+ "version": 0,
1529
+ "publishStatus": "0",
1530
+ "procTypeCode": null,
1531
+ "keyword": null,
1532
+ "configDTO": null,
1533
+ "procDefByteDTOs": [
1534
+ {
1535
+ "id": "3f28824f780535ca01780567664a0001",
1536
+ "activeStatus": 0,
1537
+ "bpmnFile": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<bpmn:definitions xmlns:bpmn=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" xmlns:bpmndi=\"http://www.omg.org/spec/BPMN/20100524/DI\" xmlns:di=\"http://www.omg.org/spec/DD/20100524/DI\" xmlns:dc=\"http://www.omg.org/spec/DD/20100524/DC\" xmlns:camunda=\"http://camunda.org/schema/1.0/bpmn\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" id=\"Definitions_02dbze3\" targetNamespace=\"http://bpmn.io/schema/bpmn\" exporter=\"Camunda Modeler\" exporterVersion=\"3.7.1\">\n<bpmn:process id=\"fsdfsdf\" name=\"fsfsd\" isExecutable=\"true\">\n <bpmn:documentation>{\"formLink\":\"/bpm/example/index.html#/form?id=businessId\",\"appModuleName\":\"aaa\",\"appModuleId\":\"aaaaa\",\"appSystemName\":\"BPM系统\",\"appSystemId\":\"BPM\"}</bpmn:documentation>\n </bpmn:process>\n <bpmndi:BPMNDiagram id=\"BpmnDiagram_1\">\n <bpmndi:BPMNPlane id=\"BpmnPlane_1\" bpmnElement=\"fsdfsdf\">\n </bpmndi:BPMNPlane>\n </bpmndi:BPMNDiagram>\n</bpmn:definitions>",
1538
+ "fileName": "fsfsd.bpmn20.xml",
1539
+ "modifyTime": null,
1540
+ "moduleName": "aaa",
1541
+ "processId": "fsdfsdf",
1542
+ "processName": "fsfsd",
1543
+ "version": 0,
1544
+ "procTypeId": "3f28824f780535ca0178056749d10000"
1545
+ }
1546
+ ],
1547
+ "orgReadConfigDTO": null,
1548
+ "deptReadConfigDTO": null,
1549
+ "deptPartConfigDTO": null
1550
+ },
1551
+ {
1552
+ "page": null,
1553
+ "rows": null,
1554
+ "order": null,
1555
+ "sort": null,
1556
+ "id": "3f28824f77c764dc0177c76fc3ad0002",
1557
+ "procName": "Process_Demo1",
1558
+ "procId": "Process_Demo1",
1559
+ "moduleId": null,
1560
+ "moduleName": "差旅费",
1561
+ "displayName": "Process_Demo1",
1562
+ "sortNo": 1,
1563
+ "parentId": "3f28824f77c764dc0177c76f63ca0000",
1564
+ "type": "item",
1565
+ "fileName": "Process_Demo1.bpmn20.xml",
1566
+ "procTypeId": null,
1567
+ "procTypeName": "差旅费",
1568
+ "version": 13,
1569
+ "publishStatus": "1",
1570
+ "procTypeCode": null,
1571
+ "keyword": null,
1572
+ "configDTO": null,
1573
+ "procDefByteDTOs": [
1574
+ {
1575
+ "id": "3f28824f78018e07017801d8ffc40008",
1576
+ "activeStatus": 1,
1577
+ "bpmnFile": "",
1578
+ "fileName": "Process_Demo1.bpmn20.xml",
1579
+ "modifyTime": null,
1580
+ "moduleName": "差旅费",
1581
+ "processId": "Process_Demo1",
1582
+ "processName": "Process_Demo1",
1583
+ "version": 13,
1584
+ "procTypeId": "3f28824f77c764dc0177c76f63ca0000"
1585
+ }
1586
+ ],
1587
+ "orgReadConfigDTO": null,
1588
+ "deptReadConfigDTO": null,
1589
+ "deptPartConfigDTO": null
1590
+ },
1591
+ {
1592
+ "page": null,
1593
+ "rows": null,
1594
+ "order": null,
1595
+ "sort": null,
1596
+ "id": "3f28824f77f075060177f17a2e070003",
1597
+ "procName": "travel_expense",
1598
+ "procId": "travel_expense",
1599
+ "moduleId": null,
1600
+ "moduleName": "差旅费",
1601
+ "displayName": "travel_expense",
1602
+ "sortNo": 1,
1603
+ "parentId": "3f28824f77c764dc0177c76f63ca0000",
1604
+ "type": "item",
1605
+ "fileName": "travel_expense.bpmn20.xml",
1606
+ "procTypeId": null,
1607
+ "procTypeName": "差旅费",
1608
+ "version": 0,
1609
+ "publishStatus": "1",
1610
+ "procTypeCode": null,
1611
+ "keyword": null,
1612
+ "configDTO": null,
1613
+ "procDefByteDTOs": [
1614
+ {
1615
+ "id": "3f28824f77f075060177f17a2de30002",
1616
+ "activeStatus": 1,
1617
+ "bpmnFile": "",
1618
+ "fileName": "travel_expense.bpmn20.xml",
1619
+ "modifyTime": null,
1620
+ "moduleName": "差旅费",
1621
+ "processId": "travel_expense",
1622
+ "processName": "travel_expense",
1623
+ "version": 0,
1624
+ "procTypeId": "3f28824f77c764dc0177c76f63ca0000"
1625
+ }
1626
+ ],
1627
+ "orgReadConfigDTO": null,
1628
+ "deptReadConfigDTO": null,
1629
+ "deptPartConfigDTO": null
1630
+ }
1631
+ ],
1632
+ "total": 3,
1633
+ "pageSize": 0,
1634
+ "pageNumber": 0,
1635
+ "totalPages": 0,
1636
+ "records": 0
1637
+ },
1638
+ "extraInfo": {},
1639
+ "success": true
1640
+ }
1641
+ ```
1642
+ <b>java 样例</b>
1643
+ 适用于后端调用
1644
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
1645
+ ```java
1646
+
1647
+ @Autowired
1648
+ BpmEngine bpmEngine;
1649
+
1650
+ @ApiOperation(value = "流程列表", notes = "获取流程列表")
1651
+ @RequestMapping(value = "/page", method = RequestMethod.POST)
1652
+ public @ResponseBody
1653
+ ResultBody<GridView<ProcItemDTO>> getProcItemPage(){
1654
+ Map variables = new HashMap();
1655
+ variables.put("body","{\"procTypeId\":\"-1\",\"keyword\":\"\",\"publishStatus\":\"3\",\"page\":1,\"rows\":10}");
1656
+ return bpmEngine.getPage(variables);
1657
+ }
1658
+
1659
+ ```
1660
+ ## 11. 个人待办
1661
+ 说明:获取当前登录用户的待办列表
1662
+ * method : `POST`
1663
+ * url : `http://IP:端口号/gateway/服务名/api/bpm/core/undoPage`
1664
+ * RequestParams:
1665
+ | 参数 | 是否必须 | 释义 | 备注 |
1666
+ | ----------- | -------- | ---------- | ---- |
1667
+ | page | 否 | 页数 | 默认 1 |
1668
+ | rows | 否 | 行数 | 默认 10 |
1669
+ |subject|否|标题||
1670
+ |dealStatus|否|处理状态|默认是 2 ,未办理0、已办理1、 全部2|
1671
+ |isContainsDrafter|否|是否包含起草状态|默认 0 包含|
1672
+ |drafterName|否|拟稿人||
1673
+ |procDefKey|否|流程定义key|多值,按逗号拼接|
1674
+ |taskName|否|任务名称|过滤该任务名称|
1675
+ |createTimeSort|否|是否根据申请时间倒序|默认是根据处理时间倒序|
1676
+ |userName|否|用户名|不传查询当前登录用户|
1677
+ * PathVariables
1678
+ ```json
1679
+
1680
+ ```
1681
+ * RequestBody
1682
+ ```json
1683
+
1684
+ ```
1685
+ * ResponseBody
1686
+ 返回数据类型:UndoDTO对象
1687
+ <b>Postman测试样例:</b>
1688
+ 适用于前端直接调用
1689
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/undoPage
1690
+ ```json
1691
+ "page":"1"
1692
+ "rows":"10"
1693
+ ```
1694
+ 返回数据如下:
1695
+ ```json
1696
+ {
1697
+ "timestamp": 1615173114083,
1698
+ "status": 1,
1699
+ "message": "成功",
1700
+ "stackmessage": null,
1701
+ "path": "/api/bpm/core/undoPage",
1702
+ "data": {
1703
+ "rows": [
1704
+ {
1705
+ "id": "3f28824f780fcfe701780fd192bf0002",
1706
+ //应用模块名称
1707
+ "appModuleName": "差旅费",
1708
+ // 应用模块编码
1709
+ "appModuleId": "报销",
1710
+ //所属系统id
1711
+ "appSystemId": "BPM",
1712
+ //业务id
1713
+ "businessId": "3f28824f780fcff601780fd185b50000",
1714
+ //所属系统名称
1715
+ "appSystemName": "BPM系统",
1716
+ //表单链接名称
1717
+ "formName": "总监审批",
1718
+ //表单链接地址
1719
+ "formLink": "/<frontend-base>/example/index.html#/formRead?id=3f28824f780fcff601780fd185b50000",
1720
+ //密级
1721
+ "secret": "高级",
1722
+ //待办标题
1723
+ "subject": "测试1_2021-03-08 11:11_出差报销",
1724
+ //紧急程度
1725
+ "urgent": "普通",
1726
+ //任务id
1727
+ "taskId": "fdf4e8cd-7fbb-11eb-ad25-00d861edd189",
1728
+ //任务名称
1729
+ "taskName": "总监审批",
1730
+ //任务编码
1731
+ "taskDefKey": "Activity_0vjczzn",
1732
+ //流程定义id
1733
+ "procDefId": "Process_Demo1:14:400be900-7d9a-11eb-85a6-00d861edd189",
1734
+ //流程定义Key
1735
+ "procDefKey": "Process_Demo1",
1736
+ //流程实例Id
1737
+ "procInstId": "fc0f1229-7fbb-11eb-ad25-00d861edd189",
1738
+ //待办发送人
1739
+ "senderId": "test1",
1740
+ //待办发送人
1741
+ "senderName": "测试1",
1742
+ //接收人id
1743
+ "receiverId": "test1",
1744
+ //接收人名字
1745
+ "receiverName": "测试1",
1746
+ //待办已处理人(接收人和处理人不一定相同,比例任意一人审批)
1747
+ "dealerId": null,
1748
+ //待办已处理人
1749
+ "dealerName": null,
1750
+ //流程中处理1,流程外阅知2,外出代理3
1751
+ "undoType": "1",
1752
+ //被代理人用户(单值)
1753
+ "principalUserName": null,
1754
+ //被代理人用户id(单值)
1755
+ "principalUserId": null,
1756
+ //处理状态:未办理0、已办理1
1757
+ "dealStatus": "0",
1758
+ "synStatus": null,
1759
+ "synRTXStatus": null,
1760
+ "isRead": null,
1761
+ //拟稿人
1762
+ "drafterName": "测试1",
1763
+ //创建时间
1764
+ "createTime": 1615456366000,
1765
+ //审批时间
1766
+ "updateTime": 1615456366000,
1767
+ // 申请时间
1768
+ "mainFormCreateTime": 1615864071000,
1769
+ //操作类型 1 表示驳回
1770
+ "operationType":"1"
1771
+ }
1772
+ ],
1773
+ "total": 1,
1774
+ "pageSize": 0,
1775
+ "pageNumber": 0,
1776
+ "totalPages": 0,
1777
+ "records": 0
1778
+ },
1779
+ "extraInfo": {},
1780
+ "success": true
1781
+ }
1782
+ ```
1783
+ <b>java测试样例:</b>
1784
+ 适用于后端调用
1785
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
1786
+ ```java
1787
+
1788
+ @Autowired
1789
+ BpmEngine bpmEngine;
1790
+
1791
+ @ApiOperation(value = "个人待办列表", notes = "个人待办列表")
1792
+ @RequestMapping(value = "/undoPage", method = RequestMethod.POST)
1793
+ public @ResponseBody
1794
+ ResultBody<GridView<UndoDTO>> getUndoPage(){
1795
+ Map variables = new HashMap();
1796
+ variables.put("rows","10");
1797
+ variables.put("page","1");
1798
+ return bpmEngine.getUndoPage(variables);
1799
+ }
1800
+
1801
+ ```
1802
+ ## 12. 阅知
1803
+ ### 12.1 获取送阅知候选人列表
1804
+ 说明:获取当前任务节点送阅知候选人列表
1805
+ * method : `POST`
1806
+ * url : `http://IP:端口号/gateway/服务名/api/bpm/core/process/getSendReadUsers/{taskId}`
1807
+ * PathVariables
1808
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
1809
+ | ------ | -------- | -------- | ------ | ---- |
1810
+ | taskId | String | 是 | 任务id | |
1811
+ * RequestParams
1812
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
1813
+ | --------------------------------- | -------- | -------- | ------------ | ------------------------------------------------------------ |
1814
+ | procInstId | String | 是 | 流程实例id | |
1815
+ | bpmDrafterId | String | 否 | 起草人id | |
1816
+ | runtime\[mainForm\]\[procInstId\] | String | 否 | 主流程实例id | 当前流程为子流程时,procInstId 为子流程实例id,需取runtime\[mainForm\]\[procInstId\]获取主流程id,所以当前为子流程的任务节点时需要传此参数 |
1817
+ | businessId | String | 否 | 业务Id | |
1818
+ RequestBody
1819
+ 返回数据类型:List<BpmUser>
1820
+ <b>Postman测试样例:</b>
1821
+ 适用于前端直接调用
1822
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/process/getSendReadUsers/2d9ad75d-99d8-11eb-9638-70b5e84e90b6?procInstId=2b722b36-99d8-11eb-9638-70b5e84e90b6
1823
+ 返回数据如下:
1824
+ ```json
1825
+ {
1826
+ "timestamp": 1618046381953,
1827
+ "status": 1,
1828
+ "message": "成功",
1829
+ "stackmessage": null,
1830
+ "path": "/api/bpm/core/process/getSendReadUsers/2d9ad75d-99d8-11eb-9638-70b5e84e90b6",
1831
+ "data": [
1832
+ {
1833
+ "code": "testUserCode",
1834
+ "name": "testUserName",
1835
+ "sex": null,
1836
+ "email": null,
1837
+ "telPhone": null,
1838
+ "deptCode": "merit",
1839
+ "deptName": "美林数据",
1840
+ "dLevel": null,
1841
+ "hSort": 0,
1842
+ "mSort": 0,
1843
+ "lSort": 0,
1844
+ "isMainDept": 0,
1845
+ "workGroupId": null,
1846
+ "workGroupName": null,
1847
+ "roleId": null,
1848
+ "roleName": null
1849
+ },
1850
+ {
1851
+ "code": "test1",
1852
+ "name": "测试1",
1853
+ "sex": null,
1854
+ "email": null,
1855
+ "telPhone": null,
1856
+ "deptCode": "merit",
1857
+ "deptName": "美林数据",
1858
+ "dLevel": null,
1859
+ "hSort": 0,
1860
+ "mSort": 0,
1861
+ "lSort": 0,
1862
+ "isMainDept": 0,
1863
+ "workGroupId": null,
1864
+ "workGroupName": null,
1865
+ "roleId": null,
1866
+ "roleName": null
1867
+ }
1868
+ ],
1869
+ "extraInfo": {},
1870
+ "success": true
1871
+ }
1872
+ ```
1873
+ <b>java测试样例:</b>
1874
+ 适用于后端调用
1875
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
1876
+ - ```java
1877
+ @Autowired
1878
+ BpmEngine bpmEngine;
1879
+ @ApiOperation(value = "获取送阅知候选人", notes = "获取送阅知候选人")
1880
+ @RequestMapping(value = "/process/getSendReadUsers/{taskId}", method = RequestMethod.POST)
1881
+ public @ResponseBody
1882
+ ResultBody<List<BpmUser>> getSendReadUsers() {
1883
+ String taskId = "2d9ad75d-99d8-11eb-9638-70b5e84e90b6";
1884
+ Map variables = new HashMap();
1885
+ variables.put("procInstId","2b722b36-99d8-11eb-9638-70b5e84e90b6");
1886
+ ResultBody<List<BpmUser>> sendReadUsers = (List<BpmUser>) bpmEngine.getSendReadUsers(taskId, variables).getData.get("sendReadUsers");
1887
+ return sendReadUsers;
1888
+ }
1889
+ ```
1890
+
1891
+
1892
+ ### 12.2 发送阅知
1893
+
1894
+ 说明:发送阅知
1895
+
1896
+ - method : `POST`
1897
+
1898
+ - url : `http://IP:端口号/gateway/服务名/api/bpm/core/process/sendingRead/{procInstId}`
1899
+
1900
+ - PathVariables
1901
+
1902
+
1903
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
1904
+ | ---------- | -------- | -------- | ------ | ---- |
1905
+ | procInstId | String | 是 | 实例id | |
1906
+
1907
+ - RequestParams
1908
+
1909
+
1910
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
1911
+ | --------- | ------------------ | -------- | ------------------------------------------------------------ | ---- |
1912
+ | userCodes | Map<String,Object> | 是 | {用户编码:用户名 } (key为用户编码,value为用户名的map集合) | |
1913
+
1914
+ - RequestBody
1915
+
1916
+ 返回数据类型:String
1917
+
1918
+ <b>Postman测试样例:</b>
1919
+ 适用于前端直接调用
1920
+
1921
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/process/sendingRead/6a27d1d1-9b2d-11eb-bc6b-70b5e84e90b6?testUserCode=testUserName
1922
+
1923
+ 返回数据如下:
1924
+
1925
+ ```json
1926
+ {
1927
+ "timestamp": 1618194127989,
1928
+ "status": 1,
1929
+ "message": "成功",
1930
+ "stackmessage": null,
1931
+ "path": "/api/bpm/core/process/sendingRead/6a27d1d1-9b2d-11eb-bc6b-70b5e84e90b6",
1932
+ "data": "发送阅知成功",
1933
+ "extraInfo": {},
1934
+ "success": true
1935
+ }
1936
+ ```
1937
+
1938
+ **java测试样例:**
1939
+ 适用于后端调用
1940
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
1941
+
1942
+ ```java
1943
+ @Autowired
1944
+ BpmEngine bpmEngine;
1945
+ @ApiOperation(value = "发送阅知", notes = "发送阅知")
1946
+ @RequestMapping(value = "/process/sendingRead/{procInstId}", method = RequestMethod.POST)
1947
+ public @ResponseBody
1948
+ ResultBody<String> getSendReadUsers() {
1949
+ String procInstId = "a27d1d1-9b2d-11eb-bc6b-70b5e84e90b6";
1950
+ Map userCodes = new HashMap();
1951
+ userCodes.put("testUserCode","testUserName");
1952
+ userCodes.put("testUserCode1","testUserName2");
1953
+ ResultBody<String> result = bpmEngine.sendingRead(procInstId, userCodes);
1954
+ return result;
1955
+ }
1956
+ ```
1957
+
1958
+ ### 12.3 阅知完毕
1959
+
1960
+ 说明:阅知完毕
1961
+
1962
+ - method: `POST`
1963
+
1964
+ - url: `http://IP:端口/gateway/服务名/api/bpm/core/process/sendReadEnd/{procInstId}`
1965
+
1966
+ - PathVariables
1967
+
1968
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
1969
+ | ---------- | -------- | -------- | ---------- | ---- |
1970
+ | procInstId | String | 是 | 流程实例id | |
1971
+
1972
+ - RequestParams
1973
+
1974
+ ```
1975
+
1976
+ ```
1977
+
1978
+ - ResponseBody
1979
+ 返回数据类型:String
1980
+
1981
+ <b>Postman样例:</b>
1982
+ 适用于前端直接调用
1983
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/process/sendReadEnd/6a27d1d1-9b2d-11eb-bc6b-70b5e84e90b6
1984
+
1985
+ ```json
1986
+ {
1987
+ "timestamp": 1618196627424,
1988
+ "status": 1,
1989
+ "message": "成功",
1990
+ "stackmessage": null,
1991
+ "path": "/api/bpm/core/process/sendReadEnd/6a27d1d1-9b2d-11eb-bc6b-70b5e84e90b6",
1992
+ "data": "阅知完毕",
1993
+ "extraInfo": {},
1994
+ "success": true
1995
+ }
1996
+ ```
1997
+
1998
+ **java测试样例:**
1999
+ 适用于后端调用
2000
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
2001
+
2002
+ ```java
2003
+ @Autowired
2004
+ BpmEngine bpmEngine;
2005
+ @ApiOperation(value = "阅知完毕", notes = "阅知完毕")
2006
+ @RequestMapping(value = "/process/sendReadEnd/{procInstId}", method = RequestMethod.POST)
2007
+ public @ResponseBody
2008
+ ResultBody<String> sendReadEnd() {
2009
+ String procInstId = "a27d1d1-9b2d-11eb-bc6b-70b5e84e90b6";
2010
+ ResultBody<String> result = bpmEngine.sendReadEnd(procInstId);
2011
+ return result;
2012
+ }
2013
+ ```
2014
+
2015
+ ## 13. 流程最新定义ID
2016
+
2017
+ 说明: 查询流程分类编码
2018
+
2019
+ - method : POST
2020
+
2021
+ - url : `http://IP:端口/gateway/服务名/api/bpm/core/ruleengine/{procDefKey}`
2022
+
2023
+ - RequestParams:
2024
+
2025
+
2026
+
2027
+ - PathVariables
2028
+
2029
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
2030
+ | ---------- | -------- | -------- | ------- | ---- |
2031
+ | procDefKey | String | 是 | 流程key | |
2032
+
2033
+ - RequestBody
2034
+
2035
+ ```json
2036
+
2037
+ ```
2038
+
2039
+ - ResponseBody
2040
+
2041
+ 返回数据类型:String对象 流程定义ID
2042
+
2043
+ Postman测试样例:
2044
+
2045
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/ruleengine/Process_Demo1
2046
+
2047
+ ```json
2048
+ {
2049
+ "timestamp": 1630131273084,
2050
+ "status": 1,
2051
+ "message": "成功",
2052
+ "stackmessage": null,
2053
+ "path": "/api/bpm/core/ruleengine/Process_Demo1",
2054
+ "data": "Process_Demo1:63:067e2222-0720-11ec-846e-70b5e84e90b6",
2055
+ "extraInfo": {},
2056
+ "success": true
2057
+ }
2058
+ ```
2059
+
2060
+ <b>java样例</b>
2061
+ 适用于后端调用,结合业务数据筛选使用
2062
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
2063
+
2064
+ ```java
2065
+ @Autowired
2066
+ BpmEngine bpmEngine;
2067
+ @ApiOperation(value = "获取流程最新定义ID", notes = "根据流程定义Key查询最新的流程定义ID")
2068
+ @RequestMapping(value = "/get/{procDefKey}", method = RequestMethod.POST)
2069
+ public @ResponseBody ResultBody<String> getLatestProcDefId(@PathVariable("procDefKey") String procDefKey) {
2070
+ // 调用查询流程实例
2071
+ ResultBody<String> procDefId = bpmEngine.getLatestProcDefId(procDefKey);
2072
+ return procDefId.getData();
2073
+ }
2074
+ ```
2075
+
2076
+
2077
+ ## 14. 业务相关接口
2078
+
2079
+ ### 14.1 删除流程实例接口
2080
+ 说明:该接口只会删除流程实例数据,结合删除业务数据使用。
2081
+ * method : `POST`
2082
+ * url : `http://IP:端口号/gateway/服务名/api/bpm/core/api/engine/bpm/delete/procinsts`
2083
+ * RequestParams:
2084
+
2085
+ ```json
2086
+
2087
+ ```
2088
+
2089
+ * PathVariables
2090
+
2091
+ ```json
2092
+
2093
+ ```
2094
+
2095
+ * RequestBody
2096
+
2097
+ | 参数 | 是否必须 | 释义 | 备注 |
2098
+ | ----------- | -------- | ---------- | ---- |
2099
+ | businessIds | 是 | 业务id集合 | |
2100
+
2101
+ * ResponseBody
2102
+ 返回数据类型:Boolean
2103
+
2104
+ <b>Postman测试样例:</b>
2105
+ 适用于前端直接调用
2106
+
2107
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/api/engine/bpm/delete/procinsts
2108
+
2109
+ ```json
2110
+ ["3f28824f77c764f00177c8e789e20003","3f28824f77c764f00177c8e7722a0002"]
2111
+ ```
2112
+ 返回数据如下:
2113
+ ```json
2114
+ {
2115
+ "timestamp": 1613984939628,
2116
+ "status": 1,
2117
+ "message": "成功",
2118
+ "stackmessage": null,
2119
+ "path": "/api/bpm/core/api/engine/bpm/delete/procinsts",
2120
+ "data": true,
2121
+ "extraInfo": {},
2122
+ "success": true
2123
+ }
2124
+ ```
2125
+ <b>java测试样例:</b>
2126
+ 适用于后端调用
2127
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
2128
+ ```java
2129
+ @Autowired
2130
+ BpmEngine bpmEngine;
2131
+ /**
2132
+ * 删除流程实例
2133
+ */
2134
+ @ApiOperation(value = "删除流程实例", notes = "根据流程实例Ids删除流程实例")
2135
+ @RequestMapping(value = "/delete/procinsts", method = RequestMethod.POST)
2136
+ public ResultBody<Boolean> deleteProcInsts(){
2137
+ List<String> businessIds = new ArrayList<>();
2138
+ businessIds.add("3f28824f77cd7c0a0177cd89902a0001");
2139
+ businessIds.add("3f28824f77cd7c0a0177cd89591d0000");
2140
+ // 删除流程实例
2141
+ return bpmEngine.deleteProcInsts(businessIds);
2142
+ }
2143
+ ```
2144
+
2145
+ ### 14.2 查询流程实例接口
2146
+ 说明: 根据流程状态获取流程实例数据和业务数据结合使用
2147
+
2148
+ * method : `POST`
2149
+ * url : `http://IP:端口/gateway/服务名/api/bpm/core/query/mainforms`
2150
+ * RequestParams:
2151
+
2152
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
2153
+ | ---------- |-------- |-------- | ----------- | ---- |
2154
+ | mainFormQueryDtoJson | String |是 | 参数 | {"subject":"标题模糊查询","bpmStatus":"all","orderFields":[{"desc":true,"field":"updateTime"}]} |
2155
+ | procDefKey | String |是 | 流程key | |
2156
+ | page |Long | 否 | 页数| 默认是0|
2157
+ | rows| Long | 否 | 行数 | 默认是20|
2158
+
2159
+ |bpmStatus 状态| 说明|
2160
+ |-------------|-----|
2161
+ |my|我的工作(所有自己起草的流程和当前处理人是自己的,包含跟踪,拟稿,办结)|
2162
+ |myAllDraft|所有我发起的流程|
2163
+ |mydraft|我的拟稿 只查询自己起草的拟稿状态|
2164
+ |mytrack|我的跟踪 只查询自己起草的跟踪状态|
2165
+ |myover|我的办结 只查询自己起草的办结状态|
2166
+ |all|所有工作(根据权限情况。包含跟踪,拟稿,办结)|
2167
+ |alltrack|所有跟踪 根据权限情况,查询所有跟踪状态|
2168
+ |allover|所有办结 根据权限情况,查询所有办结状态|
2169
+
2170
+ * PathVariables
2171
+
2172
+ ```json
2173
+
2174
+ ```
2175
+
2176
+ * RequestBody
2177
+
2178
+ ```json
2179
+
2180
+ ```
2181
+
2182
+ * ResponseBody
2183
+ 返回数据类型:MainFormDTO对象
2184
+
2185
+ Postman测试样例:
2186
+
2187
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/query/mainforms
2188
+
2189
+ ```json
2190
+ {
2191
+ "mainFormQueryDtoJson":"{"bpmStatus":"all","orderFields":[{"desc":true,"field":"updateTime"}]}",
2192
+ "procDefKey":"Process_Demo1"
2193
+ }
2194
+ ```
2195
+ 返回数据如下:
2196
+ ```json
2197
+ {
2198
+ "timestamp": 1614066616047,
2199
+ "status": 1,
2200
+ "message": "成功",
2201
+ "stackmessage": null,
2202
+ "path": "/api/bpm/core/query/mainforms",
2203
+ "data": {
2204
+ "rows": [
2205
+ {
2206
+ "page": null,
2207
+ "rows": null,
2208
+ "order": null,
2209
+ "sort": null,
2210
+ "id": "3f28824f77cd8c4f0177cdc462060005",
2211
+ //应用模块名称
2212
+ "appModuleName": "差旅费",
2213
+ //所属系统
2214
+ "appSystemName": "BPM系统",
2215
+ //流程定义id
2216
+ "procDefId": "Process_Demo1:1:00078c50-74b1-11eb-bd66-00d861edd189",
2217
+ //流程实例Id
2218
+ "procInstId": "da94441c-75a7-11eb-bf67-00d861edd189",
2219
+ //流程定义key
2220
+ "procDefKey": "Process_Demo1",
2221
+ //流程读者名称
2222
+ "flowReaderNames": "测试1",
2223
+ //流程作者名称,即流程处理人
2224
+ "flowAuthorNames": "测试1",
2225
+ //流程处理状态: draft草稿箱、track跟踪、over办结
2226
+ "procDealStatus": "track",
2227
+ //拟稿人名称
2228
+ "drafterName": "测试1",
2229
+ //拟稿部门名称
2230
+ "drafterDeptName": "技术研发部",
2231
+ //标题
2232
+ "subject": "测试1_2021-02-23 15:22_出差报销",
2233
+ //紧急程度
2234
+ "urgent": "普通",
2235
+ //密级
2236
+ "secret": "高级",
2237
+ //当前处理节点名
2238
+ "nodeNames": "总监审批",
2239
+ //锁定用户名称
2240
+ "lockUserName": "测试1",
2241
+ //锁定是否启用 1:启用
2242
+ "lockStatus": null,
2243
+ //流程设计版本号
2244
+ "version": 0,
2245
+ //业务id
2246
+ "businessId": "3f28824f77cd8c600177cdc460940001",
2247
+ "createTime": 1614064935000,
2248
+ "updateTime": 1614236639000,
2249
+ //操作类型 1 表示驳回
2250
+ "operationType":"1"
2251
+ }
2252
+ ],
2253
+ //总共条数
2254
+ "total": 1,
2255
+ "pageSize": 0,
2256
+ "pageNumber": 0,
2257
+ "totalPages": 0,
2258
+ "records": 0
2259
+ },
2260
+ "extraInfo": {},
2261
+ "success": true
2262
+ }
2263
+ ```
2264
+ <b>java样例</b>
2265
+ 适用于后端调用,结合业务数据筛选使用
2266
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
2267
+ ```java
2268
+ @Autowired
2269
+ BpmEngine bpmEngine;
2270
+ @ApiOperation(value = "流程实例获取", notes = "根据流程key和人员编码,获取所有流程实例")
2271
+ @RequestMapping(value = "/query/mainforms", method = RequestMethod.POST)
2272
+ public @ResponseBody ResultBody<GridView> queryMainForms() {
2273
+ MainFormQueryDTO formQuery = new MainFormQueryDTO();
2274
+ // 流程状态
2275
+ formQuery.setBpmStatus("all");
2276
+ formQuery.setOrderFields(Lists.newArrayList(formQuery.new Field(MainFormQueryDTO.SORT_BY_UPDATE_TIME, true)));
2277
+ String mainFormQueryDtoJson = JSON.toJSONString(formQuery);
2278
+ String procDefKey = "Process_Demo1";
2279
+ Long page = Long.parseLong("0");
2280
+ Long rows = Long.parseLong("10");
2281
+ // 调用查询流程实例
2282
+ ResultBody<GridView> processInstanceVos = bpmEngine.queryMainForms(mainFormQueryDtoJson, procDefKey, page, rows);
2283
+ return processInstanceVos;
2284
+ }
2285
+ ```
2286
+
2287
+ ### 14.3 查询我的申请实例接口
2288
+
2289
+ 说明: 根据流程状态获取流程实例数据和业务数据结合使用
2290
+
2291
+ - method : `POST`
2292
+
2293
+ - url : `http://IP:端口/gateway/服务名/api/bpm/core/query/my-apply`
2294
+
2295
+ - RequestParams:
2296
+
2297
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
2298
+ | -------------------- | -------- | -------- | ------- | ------------------------------------------------------------ |
2299
+ | mainFormQueryDtoJson | String | 是 | 参数 | {"subject":"标题模糊查询","bpmStatus":"all","orderFields":[{"desc":true,"field":"updateTime"}]} |
2300
+ | procDefKey | String | 是 | 流程key | |
2301
+ | page | Long | 否 | 页数 | 默认是0 |
2302
+ | rows | Long | 否 | 行数 | 默认是20 |
2303
+
2304
+ | bpmStatus 状态 | 说明 |
2305
+ | -------------- | ---------------------------------------------------- |
2306
+ | all | 我的工作(所有自己起草的流程。包含跟踪,拟稿,办结) |
2307
+ | draft | 拟稿 只查询自己起草的拟稿状态不包含退回的拟稿状态 |
2308
+ | track | 审批中 只查询自己起草的跟踪状态 |
2309
+ | over | 我的办结 只查询自己起草的办结状态 |
2310
+ | reject | 驳回 自己起草的被退回的 |
2311
+
2312
+ - PathVariables
2313
+
2314
+ ```json
2315
+
2316
+ ```
2317
+
2318
+ - RequestBody
2319
+
2320
+ ```json
2321
+
2322
+ ```
2323
+
2324
+ - ResponseBody
2325
+
2326
+ 返回数据类型:MainFormDTO对象
2327
+
2328
+ Postman测试样例:
2329
+
2330
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/query/my-apply
2331
+
2332
+ ```json
2333
+ {
2334
+ "mainFormQueryDtoJson":"{"bpmStatus":"all","orderFields":[{"desc":true,"field":"updateTime"}]}",
2335
+ "procDefKey":"Process_Demo1"
2336
+ }
2337
+ ```
2338
+
2339
+ 返回数据如下:
2340
+
2341
+ ```json
2342
+ {
2343
+ "timestamp": 1622103221862,
2344
+ "status": 1,
2345
+ "message": "成功",
2346
+ "stackmessage": null,
2347
+ "path": "/api/bpm/core/query/my-apply",
2348
+ "data": {
2349
+ "rows": [
2350
+ {
2351
+ "page": null,
2352
+ "rows": null,
2353
+ "order": null,
2354
+ "sort": null,
2355
+ "id": "3f28830b79ac8c780179ac9830610014",
2356
+ "appModuleName": "demo",
2357
+ "appModuleId": "demo",
2358
+ "appSystemId": "BPM",
2359
+ "appSystemName": "BPM系统",
2360
+ "procDefId": "Process_Demo1:9:fadf49cb-beb4-11eb-8ed4-70b5e84e90b6",
2361
+ "procInstId": "0c4e4d28-beb8-11eb-aae4-70b5e84e90b6",
2362
+ "procDefKey": "Process_Demo1",
2363
+ "flowReaderIds": ",lisi,",
2364
+ "flowReaderNames": "李四",
2365
+ "flowAuthorIds": ",zs,",
2366
+ "flowAuthorNames": "张三",
2367
+ "procDealStatus": "draft",
2368
+ "drafterName": "李四",
2369
+ "drafterId": "lisi",
2370
+ "drafterDeptId": "dashuju",
2371
+ "drafterDeptName": "大数据",
2372
+ "subject": "张三_2021-05-27 14:52_出差报销",
2373
+ "urgent": "普通",
2374
+ "secret": "高级",
2375
+ "formLink": "/<frontend-base>/example/index.html#/formEdit?id=3f28830b79ac8cb80179ac982f790003",
2376
+ "preActDealerId": "",
2377
+ "preDealerId": "ohh",
2378
+ "preActId": "",
2379
+ "nodeIds": "Activity_01y0xh8",
2380
+ "nodeNames": "起草",
2381
+ "lockUserName": "张三",
2382
+ "lockStatus": null,
2383
+ "version": 0,
2384
+ "businessId": "3f28830b79ac8cb80179ac982f790003",
2385
+ "bpmVersion": 2,
2386
+ "portalMode": "default",
2387
+ "portalUrl": "",
2388
+ "createTime": 1622098325000,
2389
+ "updateTime": 1622098325000,
2390
+ "operationType": null,
2391
+ "approveUserIds": null,
2392
+ "rejectUserId": null
2393
+ }],
2394
+ "total": 1,
2395
+ "pageSize": 0,
2396
+ "pageNumber": 0,
2397
+ "totalPages": 0,
2398
+ "records": 0
2399
+ },
2400
+ "extraInfo": {},
2401
+ "success": true
2402
+ }
2403
+ ```
2404
+
2405
+ <b>java样例</b>
2406
+ 适用于后端调用,结合业务数据筛选使用
2407
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
2408
+
2409
+ ```java
2410
+ @Autowired
2411
+ BpmEngine bpmEngine;
2412
+ @ApiOperation(value = "流程实例获取", notes = "根据流程key和人员编码,获取所有流程实例")
2413
+ @RequestMapping(value = "/query/mainforms", method = RequestMethod.POST)
2414
+ public @ResponseBody ResultBody<GridView> queryMainForms() {
2415
+ MainFormQueryDTO formQuery = new MainFormQueryDTO();
2416
+ // 流程状态
2417
+ formQuery.setBpmStatus("all");
2418
+ formQuery.setOrderFields(Lists.newArrayList(formQuery.new Field(MainFormQueryDTO.SORT_BY_UPDATE_TIME, true)));
2419
+ String mainFormQueryDtoJson = JSON.toJSONString(formQuery);
2420
+ String procDefKey = "Process_Demo1";
2421
+ Long page = Long.parseLong("1");
2422
+ Long rows = Long.parseLong("10");
2423
+ // 调用查询流程实例
2424
+ ResultBody<GridView> processInstanceVos = bpmEngine.queryMyApply(mainFormQueryDtoJson, procDefKey, page, rows);
2425
+ return processInstanceVos;
2426
+ }
2427
+ ```
2428
+
2429
+ ### 14.4 查询我的审核实例接口
2430
+
2431
+ 说明: 根据流程状态获取流程实例数据和业务数据结合使用
2432
+
2433
+ - method : `POST`
2434
+
2435
+ - url : `http://IP:端口/gateway/服务名/api/bpm/core/query/my-approve`
2436
+
2437
+ - RequestParams:
2438
+
2439
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
2440
+ | -------------------- | -------- | -------- | ------- | ------------------------------------------------------------ |
2441
+ | mainFormQueryDtoJson | String | 是 | 参数 | {"subject":"标题模糊查询","bpmStatus":"all","orderFields":[{"desc":true,"field":"updateTime"}]} |
2442
+ | procDefKey | String | 是 | 流程key | |
2443
+ | page | Long | 否 | 页数 | 默认是0 |
2444
+ | rows | Long | 否 | 行数 | 默认是20 |
2445
+
2446
+ | bpmStatus 状态 | 说明 |
2447
+ | -------------- | ----------------------------------------------------- |
2448
+ | all | 我的工作(所有自己参与的审核包括待办,已办,驳回) |
2449
+ | approving | 待审核 |
2450
+ | approved | 已审核通过的 |
2451
+ | reject | 驳回 (退回拟稿人的,退回上一节点的,退回任意节点的) |
2452
+
2453
+ - PathVariables
2454
+
2455
+ ```json
2456
+
2457
+ ```
2458
+
2459
+ - RequestBody
2460
+
2461
+ ```json
2462
+
2463
+ ```
2464
+
2465
+ - ResponseBody
2466
+
2467
+ 返回数据类型:MainFormDTO对象
2468
+
2469
+ Postman测试样例:
2470
+
2471
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/query/my-approve
2472
+
2473
+ ```json
2474
+ {
2475
+ "mainFormQueryDtoJson":"{"bpmStatus":"all","orderFields":[{"desc":true,"field":"updateTime"}]}",
2476
+ "procDefKey":"Process_Demo1"
2477
+ }
2478
+ ```
2479
+
2480
+ 返回数据如下:
2481
+
2482
+ ```json
2483
+ {
2484
+ "timestamp": 1622103221862,
2485
+ "status": 1,
2486
+ "message": "成功",
2487
+ "stackmessage": null,
2488
+ "path": "/api/bpm/core/query/my-apply",
2489
+ "data": {
2490
+ "rows": [
2491
+ {
2492
+ "page": null,
2493
+ "rows": null,
2494
+ "order": null,
2495
+ "sort": null,
2496
+ "id": "3f28830b79ac8c780179ac9830610014",
2497
+ "appModuleName": "demo",
2498
+ "appModuleId": "demo",
2499
+ "appSystemId": "BPM",
2500
+ "appSystemName": "BPM系统",
2501
+ "procDefId": "Process_Demo1:9:fadf49cb-beb4-11eb-8ed4-70b5e84e90b6",
2502
+ "procInstId": "0c4e4d28-beb8-11eb-aae4-70b5e84e90b6",
2503
+ "procDefKey": "Process_Demo1",
2504
+ "flowReaderIds": ",lisi,",
2505
+ "flowReaderNames": "李四",
2506
+ "flowAuthorIds": ",zs,",
2507
+ "flowAuthorNames": "张三",
2508
+ "procDealStatus": "draft",
2509
+ "drafterName": "李四",
2510
+ "drafterId": "lisi",
2511
+ "drafterDeptId": "dashuju",
2512
+ "drafterDeptName": "大数据",
2513
+ "subject": "张三_2021-05-27 14:52_出差报销",
2514
+ "urgent": "普通",
2515
+ "secret": "高级",
2516
+ "formLink": "/<frontend-base>/example/index.html#/formEdit?id=3f28830b79ac8cb80179ac982f790003",
2517
+ "preActDealerId": "",
2518
+ "preDealerId": "ohh",
2519
+ "preActId": "",
2520
+ "nodeIds": "Activity_01y0xh8",
2521
+ "nodeNames": "起草",
2522
+ "lockUserName": "张三",
2523
+ "lockStatus": null,
2524
+ "version": 0,
2525
+ "businessId": "3f28830b79ac8cb80179ac982f790003",
2526
+ "bpmVersion": 2,
2527
+ "portalMode": "default",
2528
+ "portalUrl": "",
2529
+ "createTime": 1622098325000,
2530
+ "updateTime": 1622098325000,
2531
+ "operationType": null,
2532
+ "approveUserIds": null,
2533
+ "rejectUserId": null
2534
+ }],
2535
+ "total": 1,
2536
+ "pageSize": 0,
2537
+ "pageNumber": 0,
2538
+ "totalPages": 0,
2539
+ "records": 0
2540
+ },
2541
+ "extraInfo": {},
2542
+ "success": true
2543
+ }
2544
+ ```
2545
+
2546
+ <b>java样例</b>
2547
+ 适用于后端调用,结合业务数据筛选使用
2548
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
2549
+
2550
+ ```java
2551
+ @Autowired
2552
+ BpmEngine bpmEngine;
2553
+ @ApiOperation(value = "流程实例获取", notes = "根据流程key和人员编码,获取所有流程实例")
2554
+ @RequestMapping(value = "/query/mainforms", method = RequestMethod.POST)
2555
+ public @ResponseBody ResultBody<GridView> queryMainForms() {
2556
+ MainFormQueryDTO formQuery = new MainFormQueryDTO();
2557
+ // 流程状态
2558
+ formQuery.setBpmStatus("all");
2559
+ formQuery.setOrderFields(Lists.newArrayList(formQuery.new Field(MainFormQueryDTO.SORT_BY_UPDATE_TIME, true)));
2560
+ String mainFormQueryDtoJson = JSON.toJSONString(formQuery);
2561
+ String procDefKey = "Process_Demo1";
2562
+ Long page = Long.parseLong("1");
2563
+ Long rows = Long.parseLong("10");
2564
+ // 调用查询流程实例
2565
+ ResultBody<GridView> processInstanceVos = bpmEngine.queryMyApprove(mainFormQueryDtoJson, procDefKey, page, rows);
2566
+ return processInstanceVos;
2567
+ }
2568
+ ```
2569
+
2570
+ ### 14.5 通过业务id获取流程实例
2571
+
2572
+ 说明: 根据业务id获取流程实例
2573
+
2574
+ - method : `POST`
2575
+
2576
+ - url : `http://IP:端口/gateway/服务名/api/bpm/core/query/mainform`
2577
+
2578
+ - RequestParams:
2579
+
2580
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
2581
+ | ---------- | -------- | -------- | ---------- | ---- |
2582
+ | businessId | String | 是 | 业务表单Id | |
2583
+
2584
+ - PathVariables
2585
+
2586
+ ```json
2587
+
2588
+ ```
2589
+
2590
+ - RequestBody
2591
+
2592
+ ```json
2593
+
2594
+ ```
2595
+
2596
+ - ResponseBody
2597
+
2598
+ 返回数据类型:MainFormDTO对象
2599
+
2600
+ Postman测试样例:
2601
+
2602
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/query/mainform
2603
+
2604
+ ```json
2605
+ {
2606
+ "businessId": '3f28830b7b3d4163017b3d688eb00000'
2607
+ }
2608
+ ```
2609
+
2610
+ 返回数据如下:
2611
+
2612
+ ```json
2613
+ {
2614
+ "timestamp": 1629254481659,
2615
+ "status": 1,
2616
+ "message": "成功",
2617
+ "stackmessage": null,
2618
+ "path": "/api/bpm/core/query/mainform",
2619
+ "data": {
2620
+ "procDefId": "Process_Demo1:57:d2cda2b0-fbe0-11eb-b6c0-70b5e84e90b6",
2621
+ "procInstId": "d7de05b1-fbe0-11eb-b6c0-70b5e84e90b6",
2622
+ "procDefKey": null
2623
+ },
2624
+ "extraInfo": {},
2625
+ "success": true
2626
+ }
2627
+ ```
2628
+
2629
+ <b>java样例</b>
2630
+ 适用于后端调用,结合业务数据筛选使用
2631
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
2632
+
2633
+ ```java
2634
+ @Autowired
2635
+ BpmEngine bpmEngine;
2636
+ @ApiOperation(value = "通过业务id获取实例", notes = "通过业务id获取实例")
2637
+ @RequestMapping(value = "/query/mainforms", method = RequestMethod.POST)
2638
+ public @ResponseBody ResultBody<MainFormDTO> queryMainForm(@RequestParam String businessId) {
2639
+ // 调用查询流程实例
2640
+ ResultBody<MainFormDTO> mainformDTO = bpmEngine.queryMainFormsByBusinessId(businessId);
2641
+ return mainformDTO;
2642
+ }
2643
+ ```
2644
+
2645
+ ## 15. 流程分类相关
2646
+
2647
+ ### 15.1 查询流程分类编码
2648
+
2649
+ 说明: 查询流程分类编码
2650
+
2651
+ - method : GET
2652
+
2653
+ - url : `http://IP:端口/gateway/服务名/api/bpm/core/query/proctypes`
2654
+
2655
+ - RequestParams:
2656
+
2657
+
2658
+
2659
+ - PathVariables
2660
+
2661
+ ```json
2662
+
2663
+ ```
2664
+
2665
+ - RequestBody
2666
+
2667
+ ```json
2668
+
2669
+ ```
2670
+
2671
+ - ResponseBody
2672
+
2673
+ 返回数据类型:Map<String,String>对象 key 分类编码 value 分类名称
2674
+
2675
+ Postman测试样例:
2676
+
2677
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/query/proctypes
2678
+
2679
+ ```json
2680
+ {
2681
+ "timestamp": 1629941964744,
2682
+ "status": 1,
2683
+ "message": "成功",
2684
+ "stackmessage": null,
2685
+ "path": "/api/bpm/core/query/proctypes",
2686
+ "data": {
2687
+ "apply": "请假",
2688
+ "travel": "差旅"
2689
+ },
2690
+ "extraInfo": {},
2691
+ "success": true
2692
+ }
2693
+ ```
2694
+
2695
+ <b>java样例</b>
2696
+ 适用于后端调用,结合业务数据筛选使用
2697
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
2698
+
2699
+ ```java
2700
+ @Autowired
2701
+ BpmEngine bpmEngine;
2702
+ @ApiOperation(value = "查询流程分类", notes = "查询流程分类")
2703
+ @RequestMapping(value = "/query/proctypes", method = RequestMethod.GET)
2704
+ public @ResponseBody ResultBody<Map<String,String>> queryProcTypes() {
2705
+ // 调用查询流程实例
2706
+ ResultBody<Map<String, String>> procTypes = bpmEngine.getProcTypes();
2707
+ return procTypes;
2708
+ }
2709
+ ```
2710
+
2711
+ ### 15.2 添加表单地址
2712
+
2713
+ 说明: 查询流程分类编码
2714
+
2715
+ - method : POST
2716
+
2717
+ - url : `http://IP:端口/gateway/服务名/api/bpm/core/add/formaddress`
2718
+
2719
+ - RequestParams:
2720
+
2721
+ | 参数 | 参数类型 | 是否必须 | 释义 | 备注 |
2722
+ | -------- | -------- | -------- | -------- | ---- |
2723
+ | name | String | 是 | 表单名称 | |
2724
+ | address | String | 是 | 表单地址 | |
2725
+ | sort | Integer | 否 | 排序号 | |
2726
+ | typecode | String | 是 | 分类编码 | |
2727
+
2728
+ - PathVariables
2729
+
2730
+ ```json
2731
+
2732
+ ```
2733
+
2734
+ - RequestBody
2735
+
2736
+ ```json
2737
+
2738
+ ```
2739
+
2740
+ - ResponseBody
2741
+
2742
+ 返回数据类型:Boolean
2743
+
2744
+ Postman测试样例:
2745
+
2746
+ https://<gateway-host>/<gateway-prefix>/<service-name>/api/bpm/core/add/formaddress
2747
+
2748
+ ```json
2749
+ {
2750
+ "timestamp": 1629942567618,
2751
+ "status": 1,
2752
+ "message": "成功",
2753
+ "stackmessage": null,
2754
+ "path": "/api/bpm/core/add/formaddress",
2755
+ "data": true,
2756
+ "extraInfo": {},
2757
+ "success": true
2758
+ }
2759
+ ```
2760
+
2761
+ <b>java样例</b>
2762
+ 适用于后端调用,结合业务数据筛选使用
2763
+ 注入com.meritdata.cloud.bpm.core.BpmEngine类
2764
+
2765
+ ```java
2766
+ @Autowired
2767
+ BpmEngine bpmEngine;
2768
+ @ApiOperation(value = "添加表单地址", notes = "添加表单地址")
2769
+ @RequestMapping(value = "/add/formaddress", method = RequestMethod.POST)
2770
+ public @ResponseBody ResultBody<Boolean> addFormAddress() {
2771
+ String name = "测试表单地址";
2772
+ String address = "/index.html";
2773
+ Integer sort = 99;
2774
+ String typecode = "apply";
2775
+ // 调用查询流程实例
2776
+ ResultBody<Boolean> result = bpmEngine.addFormAddress(name,address, sort, typecode);
2777
+ return result;
2778
+ }
2779
+ ```