Merge remote-tracking branch 'origin/dev_business' into dev_business
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | # ä¸å¡å¯è§åææ¡£ç»´æ¤è§å |
| | | |
| | | ## èæ¯ |
| | | |
| | | `docs/project-business/` æ¯é¡¹ç®ä¸å¡å¯è§åææï¼Mermaid ä¸å¡å¾ + JSON ä¸å¡æ°æ® + å¯å廿å¼ç index.htmlï¼ï¼åææ¹æ³ä¸ç»´æ¤è§ç¨è§æè½ `project-business-analysis`ï¼`.claude/skills/project-business-analysis/SKILL.md`ï¼ã |
| | | |
| | | ## è§å |
| | | |
| | | - 彿¬æ¬¡ä»£ç åæ´æ¶å**ä¸å¡æ¨¡åãæ ¸å¿ä¸å¡å¯¹è±¡/åæ®ãä¸å¡æµç¨æ¥éª¤ãç¶ææµè½¬ãè·¨æ¨¡åæ°æ®æµãAI è½åãè§è²æé**ä¸çä»»ä¸å
容æ¶ï¼ |
| | | - è¥ `docs/project-business/` å·²åå¨ï¼ä»»å¡æ¶å°¾åå¿
é¡»ææè½çãç»´æ¤æ¨¡å¼ãå¢éæ´æ°å¯¹åº mmd/json/htmlï¼æ´æ°å
容以忴åå®é
代ç 为åã |
| | | - è¥å°ä¸åå¨ï¼ä¸å¼ºå¶çæï¼ä½éå¨å®ææ±æ¥ä¸æç¤ºç¨æ·å¯è¿è¡çææ¨¡å¼å»ºç«ä¸å¡å
¨æ¯ã |
| | | - ç¨æ·è¯¢é®"ç³»ç»æ¯åä»ä¹ç/æä¸å¡æä¹æµè½¬/ç»æè®²ä¸å¡é»è¾"æ¶ï¼ä¼å
è°ç¨æè½ `project-business-analysis` çé
读模å¼ï¼åºäºå·²æä¸å¡ææ¡£åç并䏿ºç æ ¸å¯¹ã |
| | | - ç»´æ¤åªåå¢éï¼åªæ¹ä¸æ¬æ¬¡åæ´ç¸å
³çæä»¶ï¼ç¦æ¢æ åæ´å
¨ééçæã |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | --- |
| | | name: project-business-analysis |
| | | description: "项ç®ä¸å¡åæä¸å¯è§å â ä»ç宿ºç è¿åä¸å¡ï¼å»ºç«ä¸å¡ç¥è¯æ¨¡åï¼çæ Mermaid ä¸å¡å¾ + å¯ç´æ¥å廿å¼ç HTML å¯è§å页é¢ï¼docs/project-business/ï¼ãä¸ç§ä½¿ç¨æ¨¡å¼ï¼â çææ¨¡å¼ï¼é¦æ¬¡å
¨éåæï¼â¡ç»´æ¤æ¨¡å¼ï¼ä¸å¡åæ´ååæ¥æ´æ°ï¼â¢é
读模å¼ï¼åç'è¿ä¸ªç³»ç»æ¯åä»ä¹ç/ä¸å¡æä¹æµè½¬'ï¼ã触åå
³é®è¯: ä¸å¡åæ ä¸å¡é»è¾ ä¸å¡å
¨æ¯ ä¸å¡å¯è§å ä¸å¡æµç¨å¾ 模åå
³ç³» æ°æ®æµ æ°äººå¹è® äºè§£é¡¹ç® 讲讲è¿ä¸ªç³»ç» ç»ä¸å¡å¾ çæä¸å¡ææ¡£ æ´æ°ä¸å¡ææ¡£ project-business mermaidä¸å¡å¾ ä¸å¡ç»´æ¤." |
| | | --- |
| | | |
| | | # 项ç®ä¸å¡åæä¸å¯è§å |
| | | |
| | | > æ ¸å¿ååï¼ä¸æ¯æé¡¹ç®"ç»åºæ¥"ï¼èæ¯å
æé¡¹ç®"çè§£åºæ¥"ï¼åæçè§£ç»æå¯è§åã |
| | | > æææ åï¼ä¸ä¸ªå®å
¨ä¸äºè§£é¡¹ç®çäººï¼æå¼ `docs/project-business/index.html` å³å¯çè§£é¡¹ç®æ¯åä»ä¹çãæåªäºæ¨¡åãæ ¸å¿ä¸å¡æä¹æµè½¬ã模åé´å¦ä½åä½ãæ°æ®å¦ä½æµè½¬ã |
| | | |
| | | æºæç¤ºè¯ææ¡£ï¼`docs/Claude Code Agentï¼é¡¹ç®ä¸å¡åæ + Mermaid + HTML å¯è§åçæ Prompt.md`ï¼æ¬æè½æ¯å
¶å¯æ§è¡æç¼ï¼å²çªæ¶ä»¥æºç äºå®ä¸ºåå¹¶åæ¥ä¿®æ£ä¸¤ä»½æä»¶ï¼ã |
| | | |
| | | ## ä½¿ç¨æ¨¡å¼ |
| | | |
| | | | åºæ¯ | æ¨¡å¼ | |
| | | |------|------| |
| | | | `docs/project-business/` ä¸åå¨ï¼ä¸éè¦ä¸å¡å
¨æ¯ææï¼å¹è®/æ±æ¥/æ¼ç¤º/èªå·±çæ¸
ä¸å¡ï¼ | çææ¨¡å¼ | |
| | | | 代ç åæ´æ¶åä¸å¡æ¨¡å/æµç¨/ç¶æ/对象/è§è²/æ°æ®æµ/AI è½å | ç»´æ¤æ¨¡å¼ï¼è§ä¸æï¼ | |
| | | | ç¨æ·è¯¢é®"ç³»ç»æ¯åä»ä¹çãæä¸å¡æä¹æµè½¬" | é
读模å¼ï¼åºäº `docs/project-business/` åçï¼å¹¶ä¸å½åæºç æ ¸å¯¹ï¼ä¸ä¸è´ä»¥æºç 为åå¹¶ååææ¡£ | |
| | | |
| | | ## è¾åºç»æ |
| | | |
| | | ```text |
| | | docs/project-business/ |
| | | âââ index.html # åæä»¶å¯è§åï¼åå»ç´æ¥æå¼ |
| | | âââ README.md # 项ç®å®ä½ã模åãå¾è¯´æãä½¿ç¨æ¹æ³ãå¦ä½éæ°çæ |
| | | âââ mermaid/ |
| | | â âââ 01-business-mindmap.mmd # ä¸å¡å
¨æ¯æç»´å¯¼å¾ |
| | | â âââ 02-sales-flow.mmd # é宿µç¨ |
| | | â âââ 03-purchase-flow.mmd # éè´æµç¨ |
| | | â âââ 04-production-flow.mmd # ç产æµç¨ |
| | | â âââ 05-quality-flow.mmd # è´¨éæµç¨ï¼IQC/IPQC/OQC/ä¸åæ ¼åï¼ |
| | | â âââ 06-warehouse-flow.mmd # ä»å¨æµç¨ï¼å
¥åº/åºåº/颿/çç¹ï¼ |
| | | â âââ 07-after-sales-flow.mmd # å®åæµç¨ï¼å¦åå¨ï¼ |
| | | â âââ 08-module-relation.mmd # 模å/ç³»ç»å
³ç³»å¾ |
| | | â âââ 09-data-flow.mmd # æ°æ®æµå¾ |
| | | â âââ 10-business-object.mmd # ä¸å¡å¯¹è±¡å
³ç³»ï¼erDiagramï¼åªç»æ ¸å¿ä¸å¡å¯¹è±¡ï¼ |
| | | â âââ 11-ai-business-flow.mmd # AI ä¸å¡æµç¨ï¼å¦åå¨ï¼ |
| | | âââ data/ |
| | | âââ business.json # { project:{name,description}, modules, objects, flows, roles, aiCapabilities } |
| | | âââ modules.json |
| | | âââ objects.json |
| | | âââ flows.json |
| | | âââ roles.json |
| | | ``` |
| | | |
| | | æé¡¹ç®å®é
ä¸å¡è£åªæä»¶ï¼å¦é¡¹ç®æ å®ååä¸çæ 07ï¼ï¼ä¿çç¼å·åç¼ä»¥ç¨³å®å¯¼èªé¡ºåºã |
| | | |
| | | ## åæå¯¹è±¡ï¼å¿
é¡»åæç宿ºç ï¼ |
| | | |
| | | - **å端**ï¼Controller / Service / Mapper / DO(Entity) / DTO / VO / Enum / Config / Job / Utils |
| | | - **æ°æ®åº**ï¼å»ºè¡¨ SQLãåæ®µãå¤é®ä¸é»è¾å
³èãç´¢å¼ãç¶æåæ®µ |
| | | - **å端**ï¼`mom-pro2-before`ï¼åªè¯»ï¼ï¼é¡µé¢ãAPIãè·¯ç±ãèåãæé |
| | | - **é
ç½®**ï¼application*.ymlãMQãRedisãç¬¬ä¸æ¹æ¥å£ãAI ç¸å
³é
ç½® |
| | | |
| | | ç¦æ¢ï¼åªçç®å½åç§°ãæç±»åçä¸å¡ãåªè¾åº Java æ¶æå¾/æ°æ®åºå
¨è¡¨ ER å¾/Controller ç½å/èåç½åãè¦çæ¯**ä¸å¡çè§£å¾ï¼ä¸æ¯ä»£ç ç»æå¾**ã |
| | | |
| | | ## æ¬é¡¹ç®å·²ç¥å°å¾ï¼åæèµ·ç¹å设ï¼ä»¥æºç æ ¸å¯¹ä¸ºåï¼ |
| | | |
| | | æ··åç³»ç»ï¼MOM 工忰ååå¹³å°ã主模åï¼Maven moduleï¼ï¼`yudao-module-mes`ï¼ç产/ä»å¨ WM/è´¨æ£/设å¤ï¼ã`yudao-module-erp`ï¼éè´/éå®/è´¢å¡ï¼ã`yudao-module-crm`ï¼å®¢æ·/线索/åæº/åå/忬¾/æ¥ä»·ï¼ã`yudao-module-mdm`ï¼ç©æ/åä½ä¸»æ°æ®ï¼ã`yudao-module-hrm`ï¼äººäº/交æ¥ï¼`HrmUserHandoverApi` å½±å"æçæ°æ®"å¯è§æ§ï¼ã`yudao-module-bpm`ï¼å®¡æ¹æµï¼æå·¥é¨ç½²ï¼ã`yudao-module-ai`ã`yudao-module-system`ï¼å« Storage éä»¶ä½ç³»ï¼ã |
| | | æ¨æµä¸»çº¿ï¼CRM åæº/åå â éå®è®¢å â ç产工å/æ¥å·¥ï¼æå·¥åºé¡ºåºæ§å¶ï¼â è´¨æ£ â å
¥åº â åè´§åºåºï¼éè´é¾ï¼éè´ç³è¯· â å®¡æ¹ â éè´è®¢å â å°è´§ â IQC â å
¥åº/éè´§/ç¹éãåææ¶éæ¡éªè¯å¹¶ä¿®æ£ã |
| | | |
| | | ## çææ¨¡å¼æ§è¡æµç¨ |
| | | |
| | | 1. **å¤å®é¡¹ç®ç±»å**ï¼è¾åº ç³»ç»ç±»å / ä¸»ç³»ç» / åç³»ç» / ä¸å¡å®ä½ã |
| | | 2. **建ç«ä¸å¡ç¥è¯æ¨¡å**ï¼å
建模åç»å¾ï¼ï¼ç³»ç»å®ä½ãä¸å¡æ¨¡åãä¸å¡å¯¹è±¡ãä¸å¡è§è²ãä¸å¡æµç¨ãåæ®ãç¶æãæ°æ®æµã模åå
³ç³»ãæéå
³ç³»ãç¬¬ä¸æ¹ç³»ç»ãAI è½åã |
| | | 3. **è¯å«ä¸å¡æ¨¡å**ï¼æä¸å¡æä¹å½ç±»ï¼ä¸æ Java packageï¼ãæ¯ä¸ªæ¨¡åæåï¼åç§°ãå®ä½ãè§£å³çé®é¢ãæ ¸å¿åè½ãæ ¸å¿ä¸å¡å¯¹è±¡ã主è¦è§è²ã䏿¸¸æ¨¡åã䏿¸¸æ¨¡åãæ ¸å¿æ°æ®åºè¡¨ãæ ¸å¿ä¸å¡æµç¨ã |
| | | 4. **è¯å«æ ¸å¿ä¸å¡å¯¹è±¡**ï¼ä» Entity/SQL/Service/å端页é¢/ç¶æåæ®µ/åæ®ç¼å·æåï¼åªçæä¸å¡ä»·å¼ç对象ï¼å®¢æ·ãç©æãBOMãéå®è®¢åãå·¥åãåºåãè´¨æ£åãåºå
¥åºåâ¦â¦ï¼ï¼ä¸æ¾ææ¯è¡¨ã |
| | | 5. **è¯å«ä¸å¡ä¸»çº¿**ï¼ä¸é¡¹ä¸å¡ä»åªå¼å§ãç»è¿åªäºæ¥éª¤ã产çä»ä¹ç»æï¼éå®âç产âä»å¨âåè´§ç±»é¾è·¯ï¼ã |
| | | 6. **è¯å«åæ¡çº¿æµç¨**ï¼éè´ï¼ç³è¯·â审æ¹â订åâå°è´§âIQCâåæ ¼å
¥åº/ä¸åæ ¼éè´§/ç¹éï¼ãç产ï¼è®¡åâä»»å¡âBOMâå·¥èºâ颿âçäº§âæ¥å·¥âè¿ç¨è´¨éâå®å·¥âæåå
¥åºï¼å« APS/æäº§/å·¥åº/å·¥ä½ä¸å¿/设å¤/å·¥æ¶/线边ä»å¦æï¼ãè´¨éï¼IQC/IPQC/OQC/ä¸åæ ¼å/å¤å®/æ£éªæ åï¼ãä»å¨ï¼éè´å
¥åº/ç产å
¥åº/éå®åºåº/颿/çç¹/è°æ´ï¼å«åææ/åæå/æå/线边/èæä»å¦æï¼ãå®åï¼åé¦âå·¥åâæ´¾å·¥âå¤çâ确认âå
³é彿¡£ï¼å«éæ¢è¡¥/è´¹ç¨å¦æï¼ã |
| | | 7. **è¯å« AI è½å**ï¼ä¸åçå¨"ç¨äºå¤§æ¨¡å"ï¼ç»æ¸
ç¨æ·é®é¢âRAG/ç¥è¯åºâä¸å¡æ¥è¯¢âAI åæâè¿åï¼å¦å¯ Function Calling è°ä¸å¡ APIï¼éç¹å±ç¤ºã |
| | | 8. **è¯å«è§è²**ï¼å®é
åå¨çè§è²ï¼ç®¡çå/éå®/éè´/计åå/ç产/ä»åº/è´¨é/è´¢å¡/管çå±â¦â¦ï¼ï¼è¯´æ è§è²â坿ä½ä¸å¡âäº§çæ°æ®ã |
| | | 9. **è¯å«ç¶ææµè½¬**ï¼æç´¢ status/state/type/auditStatus/approvalStatus/checkStatus/orderStatus çåæ®µä¸å¯¹åºæä¸¾ï¼è¿åçå®ç¶ææºã**ç¦æ¢æ·»å 代ç ä¸ä¸åå¨çç¶æ**ã |
| | | 10. **çæ mermaid/*.mmd â data/*.json â index.html â README.md**ã |
| | | 11. **èªæ£**ï¼è§æ£æ¥æ¸
åï¼ï¼åç°é®é¢èªå¨ä¿®å¤ååæ±æ¥ã |
| | | |
| | | ## index.html è¦æ± |
| | | |
| | | - 纯 HTML5 + CSS3 + JS + Mermaidï¼CDN `mermaid@latest`ï¼`theme:'dark'`ï¼è¥é¡¹ç®å·²æ Mermaid ä¾èµåå¤ç¨å
¶çæ¬ï¼ãåå»å³å¯è¿è¡ï¼ä¸ä¾èµå端ãä¸è¦æ± Node/Vue/æå»ºã |
| | | - 飿 ¼ï¼æ·±è²ç§æé£ãä¼ä¸æ°åå/å·¥ä¸äºèç½è´¨æï¼é«çº§ãç®æ´ãä¸ä¸ãä¿¡æ¯å¯åº¦åçï¼éé
1920Ã1080 䏿®éç¬è®°æ¬å±ãç¦æ¢ï¼å¤§éåå
/ç«å
/ç²åç¹æ/夿 3D/æ æä¹å¨ç»/è¿åº¦æ¸åãè§è§ä¸å¿æ¯ä¸å¡é»è¾ã |
| | | - é¡¶é¨ï¼é¡¹ç®åç§° + ä¸å¡å
¨æ¯ + æ¦è§ææ ï¼é¡¹ç®å®ä½ãæ¨¡åæ°ãæ ¸å¿ä¸å¡é¾ãæ ¸å¿å¯¹è±¡ãAI è½åï¼ã |
| | | - 左侧åºå®å¯¼èªï¼é¡¹ç®æ¦è§ / ä¸å¡å
¨æ¯ / æ ¸å¿ä¸å¡ï¼éå®ãéè´ãç产ãä»å¨ãè´¨éãå®ååæµç¨ï¼/ ç³»ç»å
³ç³» / æ°æ®æµ / ä¸å¡å¯¹è±¡ / AI ä¸å¡ / è§è²æéï¼ç¹å»åæ¢å³ä¾§å
容ã |
| | | - é¦é¡µä¸ºä¸å¡å
¨æ¯å¾ï¼æ¨¡åå
³ç³»æåæç»æçæï¼ã |
| | | - 交äºï¼â 模åå¡çï¼ååºè¯¥æ¨¡åæ ¸å¿åæ®/åè½ï¼ç¹å»è¿å
¥å¯¹åºæµç¨å¾ï¼â¡æ¯å¼ Mermaid 徿¯ææ¾å¤§/缩å°/å
¨å± â¢ä¸å¡æç´¢ï¼è¾å
¥"éå®è®¢å/å·¥å/IQC"çï¼ç»ææ¾ç¤ºï¼æå¨æ¨¡åãç¸å
³ä¸å¡ãå
³èåæ®ã䏿¸¸ã䏿¸¸ï¼â£ä¸å¡å¯¹è±¡ç¹å»è¯¦æ
ï¼ä½ç¨ã䏿¸¸ã䏿¸¸ãç¸å
³æ¨¡åï¼ã |
| | | - **æ°æ®ä¸é¡µé¢å离**ï¼ä¸å¡æ°æ®æ¾ `data/*.json`ï¼HTML å 载渲æï¼ç¦æ¢å
¨é¨ç¡¬ç¼ç ââä¸å¡ååæ¶åªæ´æ° JSON å mmdã |
| | | - é¢è²ï¼æä¸å¡çº¿å°éåºåï¼åºç¡æ°æ®/éå®/éè´/ç产/ä»å¨/è´¨é/å®å/AIï¼ï¼ä¿æä¼ä¸çº§ UIï¼ä¸è¿å¤è²å½©ã |
| | | |
| | | ## èªæ£æ¸
å |
| | | |
| | | - **æä»¶**ï¼index.htmlãREADME.mdã*.mmdã*.json å
¨é¨åå¨ã |
| | | - **Mermaid**ï¼è¯æ³æ£ç¡®ãèç¹å½åå¯è¯»ãæµç¨æ¹åæ£ç¡®ãæ å¤ç«èç¹ãæ ææ¾é误å
³ç³»ã |
| | | - **HTML**ï¼è¯æ³ãCSSãJSãMermaid åå§åã导èªåæ¢ãæç´¢ãå
¨å±ãå¾è¡¨æ¸²æé项éªè¯ï¼å¯ç¨æµè§å¨æå¼å®æµï¼ã |
| | | - **ä¸å¡åç¡®æ§ 10 é®**ï¼çä¸ä¸æ¥ â åå°æºç ç»§ç»åæï¼ï¼ |
| | | 1. 项ç®å°åºè§£å³ä»ä¹é®é¢ï¼ 2. æ ¸å¿ä¸å¡æ¯ä»ä¹ï¼ 3. åªæ¡æ¯ä¸»çº¿ï¼ 4. éå®å¦ä½å½±åçäº§ï¼ 5. éè´å¦ä½å½±ååºåï¼ 6. ç产å¦ä½äº§çåºåï¼ 7. è´¨éå¨åªéä»å
¥ï¼ 8. å®åå¦ä½éç¯ï¼ 9. AI å¨åªéåä¸ï¼ 10. 模åé´å¦ä½äº§çæ°æ®å
³ç³»ï¼ |
| | | |
| | | ## ç»´æ¤æ¨¡å¼ |
| | | |
| | | **è§¦åæ¶æº**ââ䏿¬¡ä»£ç åæ´æ¶å以ä¸ä»»ä¸å
容ï¼è¥ `docs/project-business/` å·²åå¨ï¼å¿
é¡»åæ¥ç»´æ¤ï¼è¥å°ä¸åå¨ï¼åç¨æ·æç¤ºå¯çæï¼ä¸å¼ºå¶ï¼ |
| | | |
| | | - æ°å¢/å é¤/éå½åä¸å¡æ¨¡å |
| | | - æ°å¢/åæ´æ ¸å¿ä¸å¡å¯¹è±¡ï¼DOãåæ®ï¼ |
| | | - æµç¨æ¥éª¤æ°å¢æè°æ´ï¼å¦æ¥å·¥é¡ºåºã审æ¹ç¯èãéè´§èå¨ï¼ |
| | | - ç¶ææä¸¾/æµè½¬åå |
| | | - 模åé´å
³ç³»/æ°æ®æµååï¼æ°å¢è·¨æ¨¡å API è°ç¨ãåæ®µå¸¦å
¥ï¼ |
| | | - AI è½åæ°å¢/åæ´ |
| | | - è§è²/æé模ååå |
| | | |
| | | **åæ´ â æ´æ°ç®æ æ å°**ï¼ |
| | | |
| | | | åæ´ç±»å | æ´æ°å¯¹è±¡ | |
| | | |----------|----------| |
| | | | æ°æ¨¡å | modules.jsonã01 mindmapã08 module-relationãindex.html 导èª+å¡ç | |
| | | | æ°åæ®/ä¸å¡å¯¹è±¡ | objects.jsonã10 business-objectãæå¤é¾è·¯ç flow mmd | |
| | | | æµç¨æ¥éª¤è°æ´ | å¯¹åº `NN-*-flow.mmd` + flows.json | |
| | | | ç¶ææµè½¬åå | å¯¹åº flow mmd + objects.json ä¸è¯¥å¯¹è±¡ç¶ææè¿° | |
| | | | è·¨æ¨¡åæ°æ®å¸¦å
¥/æ°æ®æµåå | 09 data-flow | |
| | | | AI è½å | 11 ai-business-flow + business.json `aiCapabilities` | |
| | | | è§è²/æé | roles.json + index.html è§è²æé页 | |
| | | |
| | | **ç»´æ¤åå**ï¼ |
| | | |
| | | - å¢éæ´æ°ï¼åªæ¹å¨ä¸æ¬æ¬¡åæ´ç¸å
³çæä»¶ï¼ä¸æ èå
¨ééçæï¼å差累积è¿å¤§æ¶æå
¨ééåï¼ã |
| | | - æ´æ°å
容å¿
é¡»æ¥èªæ¬æ¬¡åæ´åçå®é
代ç è¡ä¸ºï¼ç¦æ¢æ²¿ç¨æ§ææ¡£èæµã |
| | | - æ´æ°åé对åå½±åå¾è·ä¸é对åºèªæ£é¡¹ã |
| | | - â ä¿®æ¹ `mermaid/*.mmd` æ `data/*.json` åï¼**å¿
é¡»**è¿è¡ `node .claude/skills/project-business-analysis/scripts/sync_index.js` å°å
容åå index.html å
åµéåï¼file:// åå»ä¾èµéåï¼mmd å
ç¦æ¢åºç° `<` å符ï¼ç¨ â/å°äº çæ¿ä»£ï¼ã |
| | | |
| | | ## æ±æ¥æ ¼å¼ |
| | | |
| | | 宿åç®çæ±æ¥ï¼ä¸è¦æå¤§éæºç åæç»æå¾ååºæ¥ï¼ï¼ |
| | | |
| | | ```text |
| | | çæ/æ´æ°ç®å½ï¼docs/project-business/ï¼ååºæ¬æ¬¡æ¶åçæä»¶ï¼ |
| | | |
| | | 项ç®å®ä½ï¼xxx |
| | | æ ¸å¿ä¸å¡ä¸»çº¿ï¼xxx â xxx â xxx |
| | | æ ¸å¿æ¨¡åï¼xxxãxxx |
| | | AI è½åï¼xxx |
| | | åç°çãå¾
确认ãä¸å¡ï¼xxxï¼åç¬ååºï¼ |
| | | ``` |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | #!/usr/bin/env node |
| | | // å° docs/project-business/ ä¸ç mermaid/*.mmd ä¸ data/*.json åæ¥è¿ index.html çå
åµéååã |
| | | // file:// åè®®ä¸æµè§å¨ fetch æ¬å° JSON ä¼è¢«æ¦æªï¼index.html å
åµä¸ä»½éåæ°æ®ä¿è¯åå»å¯å¼ã |
| | | // ç»´æ¤æµç¨ï¼æ´æ° mermaid/*.mmd æ data/*.json åè¿è¡ï¼ |
| | | // node .claude/skills/project-business-analysis/scripts/sync_index.js |
| | | 'use strict'; |
| | | const fs = require('fs'); |
| | | const path = require('path'); |
| | | |
| | | const BASE = path.resolve(__dirname, '../../../../docs/project-business'); |
| | | const HTML = path.join(BASE, 'index.html'); |
| | | |
| | | function sync() { |
| | | if (!fs.existsSync(HTML)) { |
| | | console.error(`[sync_index] æ¾ä¸å° ${HTML}`); |
| | | process.exit(1); |
| | | } |
| | | let text = fs.readFileSync(HTML, 'utf8'); |
| | | |
| | | // 1) Mermaid éå |
| | | let nMmd = 0; |
| | | text = text.replace( |
| | | /(<pre style="display:none" class="mmd-src" data-mmd="([^"]+)">)([\s\S]*?)(<\/pre>)/g, |
| | | (m, open, stem, content, close) => { |
| | | const file = path.join(BASE, 'mermaid', stem + '.mmd'); |
| | | if (!fs.existsSync(file)) { |
| | | console.log(`[sync_index] è·³è¿ï¼æä»¶ç¼ºå¤±ï¼: ${stem}.mmd`); |
| | | return m; |
| | | } |
| | | const src = fs.readFileSync(file, 'utf8').trim(); |
| | | if (/</.test(src)) { |
| | | throw new Error(`${stem}.mmd å« '<' å符ï¼ä¼ç ´å HTML éååï¼è¯·æ¹ç¨ â/å°äº çåæ³`); |
| | | } |
| | | nMmd++; |
| | | return open + '\n' + src + '\n' + close; |
| | | } |
| | | ); |
| | | |
| | | // 2) JSON éå |
| | | let nJson = 0; |
| | | text = text.replace( |
| | | /(<script type="application\/json" id="data-([^"]+)">)([\s\S]*?)(<\/script>)/g, |
| | | (m, open, key, content, close) => { |
| | | const file = path.join(BASE, 'data', key + '.json'); |
| | | if (!fs.existsSync(file)) { |
| | | console.log(`[sync_index] è·³è¿ï¼æä»¶ç¼ºå¤±ï¼: ${key}.json`); |
| | | return m; |
| | | } |
| | | const raw = fs.readFileSync(file, 'utf8'); |
| | | JSON.parse(raw); // æ ¡éªåæ³æ§ |
| | | nJson++; |
| | | return open + raw.trimEnd() + close; |
| | | } |
| | | ); |
| | | |
| | | fs.writeFileSync(HTML, text, 'utf8'); |
| | | console.log(`[sync_index] 宿ï¼mermaid éå ${nMmd} å¤ï¼JSON éå ${nJson} å¤`); |
| | | } |
| | | |
| | | sync(); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | # Claude Code Agentï¼é¡¹ç®ä¸å¡åæä¸å¯è§åçæ |
| | | |
| | | ä½ ç°å¨æ¯ä¸åèµæ·±çï¼ |
| | | |
| | | - ä¼ä¸æ°ååæ¶æå¸ |
| | | - ä¸å¡æµç¨åæå¸ |
| | | - Javaæ¶æå¸ |
| | | - å端å¯è§åå·¥ç¨å¸ |
| | | - é¡¹ç®ææ¡£å·¥ç¨å¸ |
| | | |
| | | ä½ çä»»å¡ä¸æ¯ç®åé
读代ç ï¼èæ¯ï¼ |
| | | |
| | | > **ä»å½åé¡¹ç®æºç ä¸è¿åçå®ä¸å¡ï¼å»ºç«é¡¹ç®ä¸å¡ç¥è¯æ¨¡åï¼å¹¶èªå¨çæ Mermaid ä¸å¡å¾åä¸ä¸ªå¯ä»¥ç´æ¥æµè§ç HTML 项ç®ä¸å¡å¯è§å页é¢ã** |
| | | |
| | | æç»ç®æ ï¼ |
| | | |
| | | > 让ä¸ä¸ªå®å
¨ä¸äºè§£è¿ä¸ªé¡¹ç®ç人ï¼ä»
éè¿æå¼ `index.html`ï¼å°±è½å¤å¿«éçè§£è¿ä¸ªé¡¹ç®æ¯åä»ä¹çãæåªäºæ¨¡åãæ ¸å¿ä¸å¡æä¹æµè½¬ã模åä¹é´å¦ä½åä½ãæ°æ®å¦ä½æµè½¬ã |
| | | |
| | | --- |
| | | |
| | | # ä¸ãæ§è¡åå |
| | | |
| | | ## 1. å¿
é¡»åæç宿ºç |
| | | |
| | | ä¼å
åæï¼ |
| | | |
| | | ```text |
| | | å端 |
| | | âââ Controller |
| | | âââ Service |
| | | âââ Mapper |
| | | âââ Entity |
| | | âââ DTO |
| | | âââ VO |
| | | âââ Enum |
| | | âââ Config |
| | | âââ Job |
| | | âââ Utils |
| | | |
| | | æ°æ®åº |
| | | âââ 建表SQL |
| | | âââ åæ®µ |
| | | âââ å¤é® |
| | | âââ ç´¢å¼ |
| | | âââ ç¶æåæ®µ |
| | | |
| | | å端 |
| | | âââ é¡µé¢ |
| | | âââ API |
| | | âââ è·¯ç± |
| | | âââ èå |
| | | âââ æé |
| | | |
| | | ç³»ç»é
ç½® |
| | | âââ application.yml |
| | | âââ application-*.yml |
| | | âââ Docker |
| | | âââ MQ |
| | | âââ Redis |
| | | âââ ç¬¬ä¸æ¹æ¥å£ |
| | | âââ AIç¸å
³é
ç½® |
| | | ``` |
| | | |
| | | ä¸è¦åªçç®å½åç§°ã |
| | | |
| | | ä¸è¦æ ¹æ®ç±»åç´æ¥çä¸å¡ã |
| | | |
| | | --- |
| | | |
| | | # äºãèªå¨å¤æé¡¹ç®ç±»å |
| | | |
| | | é¦å
夿å½å项ç®å±äºä»ä¹ç±»åï¼ |
| | | |
| | | ä¾å¦ï¼ |
| | | |
| | | ```text |
| | | ERP |
| | | MES |
| | | MOM |
| | | WMS |
| | | SRM |
| | | CRM |
| | | OA |
| | | PLM |
| | | LIMS |
| | | è´¢å¡ç³»ç» |
| | | ä¾åºé¾ç³»ç» |
| | | å¶é 䏿°ååå¹³å° |
| | | 综åä¸å¡ç³»ç» |
| | | ``` |
| | | |
| | | å¦ææ¯æ··åç³»ç»ï¼è¯´æï¼ |
| | | |
| | | ```text |
| | | ç³»ç»ç±»åï¼ |
| | | 主系ç»ï¼ |
| | | åç³»ç»ï¼ |
| | | ä¸å¡å®ä½ï¼ |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | # ä¸ã建ç«ä¸å¡ç¥è¯æ¨¡å |
| | | |
| | | åæé¡¹ç®åï¼å
ä¸è¦æ¥ççæHTMLã |
| | | |
| | | å
建ç«å
é¨ä¸å¡æ¨¡åï¼ |
| | | |
| | | ```text |
| | | é¡¹ç® |
| | | â |
| | | âââ ç³»ç»å®ä½ |
| | | â |
| | | âââ ä¸å¡æ¨¡å |
| | | â |
| | | âââ ä¸å¡å¯¹è±¡ |
| | | â |
| | | âââ ä¸å¡è§è² |
| | | â |
| | | âââ ä¸å¡æµç¨ |
| | | â |
| | | âââ åæ® |
| | | â |
| | | âââ ç¶æ |
| | | â |
| | | âââ æ°æ®æµ |
| | | â |
| | | âââ æ¨¡åå
³ç³» |
| | | â |
| | | âââ æéå
³ç³» |
| | | â |
| | | âââ ç¬¬ä¸æ¹ç³»ç» |
| | | â |
| | | âââ AIè½å |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | # åãè¯å«ä¸å¡æ¨¡å |
| | | |
| | | ä¸è¦ç®åæç
§ Java package åç±»ã |
| | | |
| | | æç
§ä¸å¡æä¹éæ°å½ç±»ã |
| | | |
| | | ä¾å¦ï¼ |
| | | |
| | | ```text |
| | | é¡¹ç® |
| | | âââ åºç¡æ°æ® |
| | | âââ éå®ç®¡ç |
| | | âââ éè´ç®¡ç |
| | | âââ ç产管ç |
| | | âââ ä»å¨ç®¡ç |
| | | âââ è´¨é管ç |
| | | âââ å®å管ç |
| | | âââ è´¢å¡ç®¡ç |
| | | âââ OA |
| | | âââ ç³»ç»ç®¡ç |
| | | âââ AIæºè½å©æ |
| | | ``` |
| | | |
| | | å®é
é¡¹ç®æä»ä¹å°±çæä»ä¹ã |
| | | |
| | | æ¯ä¸ªæ¨¡åå¿
é¡»æåï¼ |
| | | |
| | | ```text |
| | | 模ååç§° |
| | | 模åå®ä½ |
| | | è§£å³çé®é¢ |
| | | æ ¸å¿åè½ |
| | | æ ¸å¿ä¸å¡å¯¹è±¡ |
| | | 主è¦è§è² |
| | | 䏿¸¸æ¨¡å |
| | | 䏿¸¸æ¨¡å |
| | | æ ¸å¿æ°æ®åºè¡¨ |
| | | æ ¸å¿ä¸å¡æµç¨ |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | # äºãè¯å«æ ¸å¿ä¸å¡å¯¹è±¡ |
| | | |
| | | ä»ï¼ |
| | | |
| | | - Entity |
| | | - SQL |
| | | - Service |
| | | - Controller |
| | | - åç«¯é¡µé¢ |
| | | - ç¶æåæ®µ |
| | | - åæ®ç¼å· |
| | | - ä¸å¡ID |
| | | |
| | | æåçæ£çä¸å¡å¯¹è±¡ã |
| | | |
| | | ä¾å¦ï¼ |
| | | |
| | | ```text |
| | | å®¢æ· |
| | | ä¾åºå |
| | | 产å |
| | | ç©æ |
| | | BOM |
| | | å·¥èº |
| | | éå®è®¢å |
| | | éè´è®¢å |
| | | ç产计å |
| | | çäº§ä»»å¡ |
| | | åºå |
| | | è´¨æ£å |
| | | å
¥åºå |
| | | åºåºå |
| | | å®åå·¥å |
| | | ``` |
| | | |
| | | ä¸è¦æææææ¯è¡¨é½æ¾è¿å»ã |
| | | |
| | | åªä¿ççæ£æä¸å¡ä»·å¼ç对象ã |
| | | |
| | | --- |
| | | |
| | | # å
ãè¯å«ä¸å¡ä¸»çº¿ |
| | | |
| | | éç¹å¯»æ¾ï¼ |
| | | |
| | | > ä¸é¡¹ä¸å¡ä»åªéå¼å§ï¼ç»è¿åªäºæ¥éª¤ï¼æå产çä»ä¹ç»æã |
| | | |
| | | ä¾å¦ï¼ |
| | | |
| | | ## éå® â ç产 â ä»å¨ â åè´§ |
| | | |
| | | ```text |
| | | å®¢æ· |
| | | â |
| | | éå®è®¢å |
| | | â |
| | | æ¯å¦éè¦ç产 |
| | | â |
| | | ç产计å |
| | | â |
| | | çäº§ä»»å¡ |
| | | â |
| | | çäº§é¢æ |
| | | â |
| | | ç产 |
| | | â |
| | | è´¨éæ£éª |
| | | â |
| | | å®å·¥å
¥åº |
| | | â |
| | | éå®åè´§ |
| | | â |
| | | åºåº |
| | | ``` |
| | | |
| | | å®é
项ç®å¿
须以代ç 为åã |
| | | |
| | | --- |
| | | |
| | | # ä¸ãè¯å«éè´æµç¨ |
| | | |
| | | ä¾å¦ï¼ |
| | | |
| | | ```text |
| | | éè´éæ± |
| | | â |
| | | éè´ç³è¯· |
| | | â |
| | | å®¡æ¹ |
| | | â |
| | | éè´è®¢å |
| | | â |
| | | ä¾åºåéè´§ |
| | | â |
| | | å°è´§ |
| | | â |
| | | IQC |
| | | âââ åæ ¼ â å
¥åº |
| | | âââ ä¸åæ ¼ â éè´§ |
| | | âââ ç¹é â å
¥åº |
| | | ``` |
| | | |
| | | 妿项ç®åå¨ï¼ |
| | | |
| | | ```text |
| | | ä¾åºååå
¥ |
| | | 询价 |
| | | ææ |
| | | æ¥ä»· |
| | | è¯æ |
| | | 宿 |
| | | éè´è®¢å |
| | | å°è´§ |
| | | IQC |
| | | ä¾åºå绩æ |
| | | ``` |
| | | |
| | | è¯·å®æ´ä½ç°ã |
| | | |
| | | --- |
| | | |
| | | # å
«ãè¯å«ç产æµç¨ |
| | | |
| | | åæï¼ |
| | | |
| | | ```text |
| | | çäº§éæ± |
| | | â |
| | | ç产计å |
| | | â |
| | | çäº§ä»»å¡ |
| | | â |
| | | BOM |
| | | â |
| | | å·¥èºè·¯çº¿ |
| | | â |
| | | 颿 |
| | | â |
| | | ç产 |
| | | â |
| | | æ¥å·¥ |
| | | â |
| | | è¿ç¨è´¨é |
| | | â |
| | | å®å·¥ |
| | | â |
| | | æåå
¥åº |
| | | ``` |
| | | |
| | | 妿项ç®åå¨ï¼ |
| | | |
| | | - APS |
| | | - æäº§ |
| | | - å·¥åº |
| | | - å·¥ä½ä¸å¿ |
| | | - è®¾å¤ |
| | | - å·¥æ¶ |
| | | - æ¥å·¥ |
| | | - ç产å¼å¸¸ |
| | | - çº¿è¾¹ä» |
| | | |
| | | å¿
é¡»ä½ç°ã |
| | | |
| | | --- |
| | | |
| | | # ä¹ãè¯å«è´¨éæµç¨ |
| | | |
| | | ä¾å¦ï¼ |
| | | |
| | | ```text |
| | | éè´å°è´§ |
| | | â |
| | | IQC |
| | | â |
| | | ââââââââââââââââ |
| | | â â |
| | | åæ ¼ ä¸åæ ¼ |
| | | â â |
| | | â â |
| | | å
¥åº éè´§/ç¹é |
| | | ``` |
| | | |
| | | åæ¶åæï¼ |
| | | |
| | | ```text |
| | | IPQC |
| | | OQC |
| | | ä¸åæ ¼å |
| | | è´¨éå¼å¸¸ |
| | | è´¨éå¤å® |
| | | æ£éªæ å |
| | | ``` |
| | | |
| | | å®é
åå¨ä»ä¹å°±çæä»ä¹ã |
| | | |
| | | --- |
| | | |
| | | # åãè¯å«ä»å¨æµç¨ |
| | | |
| | | åæï¼ |
| | | |
| | | ```text |
| | | éè´ |
| | | â |
| | | éè´å
¥åº |
| | | |
| | | ç产 |
| | | â |
| | | ç产å
¥åº |
| | | |
| | | éå® |
| | | â |
| | | éå®åºåº |
| | | |
| | | ç产 |
| | | â |
| | | çäº§é¢æ |
| | | |
| | | åºå |
| | | â |
| | | çç¹ |
| | | â |
| | | åºåè°æ´ |
| | | ``` |
| | | |
| | | 妿åå¨ï¼ |
| | | |
| | | - åææä» |
| | | - åæåä» |
| | | - æåä» |
| | | - çº¿è¾¹ä» |
| | | - èæä» |
| | | |
| | | éè¦ä½ç°ã |
| | | |
| | | --- |
| | | |
| | | # åä¸ãè¯å«å®åæµç¨ |
| | | |
| | | 妿åå¨å®åä¸å¡ï¼ |
| | | |
| | | ```text |
| | | 客æ·åé¦ |
| | | â |
| | | å®åå·¥å |
| | | â |
| | | 派工 |
| | | â |
| | | å¤ç |
| | | â |
| | | è´¨é确认 |
| | | â |
| | | 客æ·ç¡®è®¤ |
| | | â |
| | | å
³é |
| | | â |
| | | 彿¡£ |
| | | ``` |
| | | |
| | | 妿åå¨ï¼ |
| | | |
| | | ```text |
| | | 转éè´§ |
| | | ç»´ä¿® |
| | | æ¢è´§ |
| | | è¡¥å |
| | | è´¹ç¨ |
| | | 客æ·ç¡®è®¤ |
| | | ``` |
| | | |
| | | ä¹éè¦ä½ç°ã |
| | | |
| | | --- |
| | | |
| | | # åäºãè¯å«AIä¸å¡è½å |
| | | |
| | | 妿项ç®ä¸åå¨AI代ç ï¼éç¹åæï¼ |
| | | |
| | | ```text |
| | | AI婿 |
| | | âââ çäº§å©æ |
| | | âââ éå®å©æ |
| | | âââ éè´å©æ |
| | | âââ è´¢å¡å©æ |
| | | âââ è´¨é婿 |
| | | âââ å®å婿 |
| | | ``` |
| | | |
| | | éç¹åæAIå°åºåäºä»ä¹ã |
| | | |
| | | ä¸è¦åªåï¼ |
| | | |
| | | > 使ç¨äºå¤§æ¨¡åã |
| | | |
| | | éè¦æç¡®ï¼ |
| | | |
| | | ```text |
| | | ç¨æ·é®é¢ |
| | | â |
| | | AI |
| | | â |
| | | ç¥è¯åº / RAG |
| | | â |
| | | ä¸å¡ç³»ç»æ¥è¯¢ |
| | | â |
| | | ä¸å¡æ°æ® |
| | | â |
| | | AIåæ |
| | | â |
| | | è¿åç»æ |
| | | ``` |
| | | |
| | | 妿AIå¯ä»¥è°ç¨ä¸å¡æ¥å£ï¼ |
| | | |
| | | ```text |
| | | AI |
| | | â |
| | | Function Calling |
| | | â |
| | | ä¸å¡API |
| | | â |
| | | æ°æ®åº |
| | | â |
| | | ä¸å¡æä½ |
| | | ``` |
| | | |
| | | å¿
é¡»éç¹å±ç¤ºã |
| | | |
| | | --- |
| | | |
| | | # åä¸ãè¯å«è§è² |
| | | |
| | | åæï¼ |
| | | |
| | | ```text |
| | | 管çå |
| | | éå® |
| | | éè´ |
| | | ç产计åå |
| | | ç产人å |
| | | ä»åºäººå |
| | | è´¨é人å |
| | | å®å人å |
| | | è´¢å¡ |
| | | 管çå± |
| | | ``` |
| | | |
| | | å®é
é¡¹ç®æåªäºå°±çæåªäºã |
| | | |
| | | 说æï¼ |
| | | |
| | | ```text |
| | | è§è² |
| | | â |
| | | å¯ä»¥æä½åªäºä¸å¡ |
| | | â |
| | | 产çä»ä¹æ°æ® |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | # ååãè¯å«ç¶ææµè½¬ |
| | | |
| | | éç¹å¯»æ¾ææï¼ |
| | | |
| | | ```text |
| | | status |
| | | state |
| | | type |
| | | auditStatus |
| | | approvalStatus |
| | | checkStatus |
| | | orderStatus |
| | | ``` |
| | | |
| | | åæçå®ç¶æã |
| | | |
| | | ä¾å¦ï¼ |
| | | |
| | | ```text |
| | | è稿 |
| | | â |
| | | æäº¤ |
| | | â |
| | | å®¡æ¹ |
| | | â |
| | | å®¡æ ¸éè¿ |
| | | â |
| | | æ§è¡ä¸ |
| | | â |
| | | 宿 |
| | | â |
| | | å
³é |
| | | ``` |
| | | |
| | | 以åï¼ |
| | | |
| | | ```text |
| | | å¾
æ£ |
| | | â |
| | | åæ ¼ |
| | | â |
| | | å
¥åº |
| | | ``` |
| | | |
| | | ä¸è¦èªè¡å¢å 代ç ä¸åå¨çç¶æã |
| | | |
| | | --- |
| | | |
| | | # åäºãçæ Mermaid æç»´å¯¼å¾ |
| | | |
| | | çæï¼ |
| | | |
| | | ```text |
| | | docs/project-business/ |
| | | âââ mermaid/ |
| | | â âââ 01-business-mindmap.mmd |
| | | â âââ 02-sales-flow.mmd |
| | | â âââ 03-purchase-flow.mmd |
| | | â âââ 04-production-flow.mmd |
| | | â âââ 05-quality-flow.mmd |
| | | â âââ 06-warehouse-flow.mmd |
| | | â âââ 07-after-sales-flow.mmd |
| | | â âââ 08-module-relation.mmd |
| | | â âââ 09-data-flow.mmd |
| | | â âââ 10-business-object.mmd |
| | | â âââ 11-ai-business-flow.mmd |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | # åå
ãMermaidæç»´å¯¼å¾ |
| | | |
| | | ä½¿ç¨ Mermaid `mindmap`ã |
| | | |
| | | ä¾å¦ï¼ |
| | | |
| | | ```mermaid |
| | | mindmap |
| | | root((工忰ååMOM)) |
| | | åºç¡æ°æ® |
| | | ç©æ |
| | | 产å |
| | | BOM |
| | | å·¥èº |
| | | å·¥ä½ä¸å¿ |
| | | |
| | | éå®ç®¡ç |
| | | å®¢æ· |
| | | éå®è®¢å |
| | | åè´§ |
| | | |
| | | ç产管ç |
| | | ç产计å |
| | | çäº§ä»»å¡ |
| | | 颿 |
| | | æ¥å·¥ |
| | | å®å·¥å
¥åº |
| | | |
| | | éè´ç®¡ç |
| | | éè´ç³è¯· |
| | | éè´è®¢å |
| | | å°è´§ |
| | | IQC |
| | | |
| | | ä»å¨ç®¡ç |
| | | å
¥åº |
| | | åºåº |
| | | åºå |
| | | çç¹ |
| | | |
| | | è´¨é管ç |
| | | IQC |
| | | IPQC |
| | | OQC |
| | | ä¸åæ ¼å |
| | | |
| | | å®å管ç |
| | | å®åå·¥å |
| | | 派工 |
| | | ç»´ä¿® |
| | | 客æ·ç¡®è®¤ |
| | | |
| | | AIæºè½å©æ |
| | | çäº§å©æ |
| | | éå®å©æ |
| | | éè´å©æ |
| | | RAGç¥è¯åº |
| | | ``` |
| | | |
| | | å®é
å
容å¿
é¡»æ¥èªé¡¹ç®ã |
| | | |
| | | --- |
| | | |
| | | # åä¸ãçæ Mermaid ä¸å¡æµç¨å¾ |
| | | |
| | | æ¯æ¡æ ¸å¿ä¸å¡åç¬çæã |
| | | |
| | | ä¾å¦ï¼ |
| | | |
| | | ```mermaid |
| | | flowchart TD |
| | | A[éå®è®¢å] --> B{æ¯å¦éè¦ç产} |
| | | |
| | | B -->|æ¯| C[ç产计å] |
| | | C --> D[ç产任å¡] |
| | | D --> E[颿] |
| | | E --> F[ç产] |
| | | F --> G[è´¨éæ£éª] |
| | | G --> H[å®å·¥å
¥åº] |
| | | H --> I[éå®åè´§] |
| | | I --> J[åºåº] |
| | | |
| | | B -->|å¦| K[å¤è´§] |
| | | K --> I |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | # åå
«ãçæ Mermaid ç³»ç»å
³ç³»å¾ |
| | | |
| | | 使ç¨ï¼ |
| | | |
| | | ```mermaid |
| | | flowchart LR |
| | | ``` |
| | | |
| | | å±ç¤ºï¼ |
| | | |
| | | ```text |
| | | éå® |
| | | ç产 |
| | | éè´ |
| | | ä»å¨ |
| | | è´¨é |
| | | å®å |
| | | è´¢å¡ |
| | | OA |
| | | AI |
| | | ``` |
| | | |
| | | ä¹é´çå
³ç³»ã |
| | | |
| | | --- |
| | | |
| | | # åä¹ãçæ Mermaid æ°æ®å
³ç³»å¾ |
| | | |
| | | 使ç¨ï¼ |
| | | |
| | | ```mermaid |
| | | erDiagram |
| | | ``` |
| | | |
| | | ä½åªå±ç¤ºæ ¸å¿ä¸å¡å¯¹è±¡ã |
| | | |
| | | ä¸è¦æå ç¾å¼ ææ¯è¡¨å
¨é¨ç»åºæ¥ã |
| | | |
| | | éç¹ï¼ |
| | | |
| | | ```text |
| | | å®¢æ· |
| | | éå®è®¢å |
| | | ç产计å |
| | | çäº§ä»»å¡ |
| | | éè´è®¢å |
| | | åºå |
| | | å
¥åº |
| | | åºåº |
| | | è´¨éæ£éª |
| | | å®åå·¥å |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | # äºåãçæ HTML å¯è§åé¡µé¢ |
| | | |
| | | è¿æ¯æ¬ä»»å¡æéè¦çé¨åã |
| | | |
| | | åå»ºï¼ |
| | | |
| | | ```text |
| | | docs/project-business/index.html |
| | | ``` |
| | | |
| | | è¦æ±ï¼ |
| | | |
| | | > **è¿æ¯ä¸ä¸ªç¬ç«å¯æå¼ç项ç®ä¸å¡å¯è§å页é¢ã** |
| | | |
| | | ç¨æ·å¯ä»¥ç´æ¥ï¼ |
| | | |
| | | ```text |
| | | åå» index.html |
| | | ``` |
| | | |
| | | æå¼ã |
| | | |
| | | --- |
| | | |
| | | # äºåä¸ãHTML页颿´ä½è®¾è®¡ |
| | | |
| | | 页é¢é£æ ¼ï¼ |
| | | |
| | | > **é«çº§ä¼ä¸æ°åå / å·¥ä¸äºèç½ / å¶é 䏿°ååªç飿 ¼** |
| | | |
| | | ä½ä¸è¦åæè±éè¡å¨çç«æé¡µé¢ã |
| | | |
| | | è¦æ±ï¼ |
| | | |
| | | - æ·±è²ç§æé£ |
| | | - é«çº§ |
| | | - ç®æ´ |
| | | - ä¸ä¸ |
| | | - ä¿¡æ¯å¯åº¦åç |
| | | - éåé¡¹ç®æ±æ¥ |
| | | - éåæ°äººå¹è® |
| | | - éåå®¢æ·æ¼ç¤º |
| | | |
| | | --- |
| | | |
| | | # äºåäºãHTML页é¢ç»æ |
| | | |
| | | 页é¢é¡¶é¨ï¼ |
| | | |
| | | ```text |
| | | 项ç®åç§° |
| | | 项ç®ä¸å¡å
¨æ¯ |
| | | ``` |
| | | |
| | | ä¸é¢æ¾ç¤ºï¼ |
| | | |
| | | ```text |
| | | 项ç®å®ä½ |
| | | ä¸å¡æ¨¡åæ°é |
| | | æ ¸å¿ä¸å¡é¾ |
| | | æ ¸å¿ä¸å¡å¯¹è±¡ |
| | | AIè½å |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | # äºåä¸ãHTMLå·¦ä¾§å¯¼èª |
| | | |
| | | å·¦ä¾§ï¼ |
| | | |
| | | ```text |
| | | é¡¹ç®æ¦è§ |
| | | |
| | | ä¸å¡å
¨æ¯ |
| | | |
| | | æ ¸å¿ä¸å¡ |
| | | âââ é宿µç¨ |
| | | âââ éè´æµç¨ |
| | | âââ ç产æµç¨ |
| | | âââ ä»å¨æµç¨ |
| | | âââ è´¨éæµç¨ |
| | | âââ å®åæµç¨ |
| | | |
| | | ç³»ç»å
³ç³» |
| | | |
| | | æ°æ®æµ |
| | | |
| | | ä¸å¡å¯¹è±¡ |
| | | |
| | | AIä¸å¡ |
| | | |
| | | è§è²æé |
| | | ``` |
| | | |
| | | ç¹å»åå³ä¾§å
容忢ã |
| | | |
| | | --- |
| | | |
| | | # äºååãé¦é¡µï¼ä¸å¡å
¨æ¯ |
| | | |
| | | é¦é¡µå±ç¤ºï¼ |
| | | |
| | | ```text |
| | | 项ç®åç§° |
| | | |
| | | åºç¡æ°æ® âââ éå® |
| | | â â |
| | | â â |
| | | éè´ âââ ç产 |
| | | â â |
| | | â â |
| | | ä»å¨ ââââ è´¨é |
| | | â |
| | | â |
| | | å®å |
| | | |
| | | â |
| | | â |
| | | AI |
| | | ``` |
| | | |
| | | å®é
项ç®å
³ç³»æç
§åæç»æçæã |
| | | |
| | | --- |
| | | |
| | | # äºåäºãHTMLå¿
é¡»æ¯æMermaid |
| | | |
| | | ä½¿ç¨ Mermaid 渲æå¾ã |
| | | |
| | | å¯ä»¥éè¿ CDNï¼ |
| | | |
| | | ```html |
| | | <script type="module"> |
| | | import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.esm.min.mjs'; |
| | | |
| | | mermaid.initialize({ |
| | | startOnLoad: true, |
| | | theme: 'dark' |
| | | }); |
| | | </script> |
| | | ``` |
| | | |
| | | 使¯ï¼ |
| | | |
| | | > 妿å½å项ç®å·²ç»åå¨å端ä¾èµï¼ä¼å
å¤ç¨é¡¹ç®å·²æ Mermaid çæ¬ã |
| | | |
| | | 妿æ¯çº¯HTMLï¼åä½¿ç¨ CDNã |
| | | |
| | | --- |
| | | |
| | | # äºåå
ã交äºåè½ |
| | | |
| | | HTMLè³å°æ¯æï¼ |
| | | |
| | | ### 1. 左侧èå忢 |
| | | |
| | | ç¹å»ï¼ |
| | | |
| | | ```text |
| | | é宿µç¨ |
| | | ``` |
| | | |
| | | æ¾ç¤ºé宿µç¨å¾ã |
| | | |
| | | ç¹å»ï¼ |
| | | |
| | | ```text |
| | | ç产æµç¨ |
| | | ``` |
| | | |
| | | æ¾ç¤ºç产æµç¨å¾ã |
| | | |
| | | --- |
| | | |
| | | ### 2. 模åå¡ç |
| | | |
| | | æ¯ä¸ªä¸å¡æ¨¡ååæå¡çã |
| | | |
| | | ä¾å¦ï¼ |
| | | |
| | | ```text |
| | | ââââââââââââââââââââ |
| | | â ç产管ç â |
| | | â â |
| | | â ç产计å â |
| | | â çäº§ä»»å¡ â |
| | | â çäº§é¢æ â |
| | | â ç产æ¥å·¥ â |
| | | â å®å·¥å
¥åº â |
| | | â â |
| | | â æ¥çä¸å¡æµç¨ â â |
| | | ââââââââââââââââââââ |
| | | ``` |
| | | |
| | | ç¹å»è¿å
¥å¯¹åºæµç¨ã |
| | | |
| | | --- |
| | | |
| | | ### 3. Mermaidå
¨å± |
| | | |
| | | æ¯å¼ 徿ä¾ï¼ |
| | | |
| | | ```text |
| | | æ¾å¤§ |
| | | ç¼©å° |
| | | å
¨å± |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | ### 4. æç´¢ |
| | | |
| | | æä¾é¡¹ç®ä¸å¡æç´¢ï¼ |
| | | |
| | | ```text |
| | | æç´¢ï¼ |
| | | éå®è®¢å |
| | | çäº§ä»»å¡ |
| | | éè´è®¢å |
| | | åºå |
| | | IQC |
| | | å®å |
| | | ``` |
| | | |
| | | æç´¢åæ¾ç¤ºï¼ |
| | | |
| | | ```text |
| | | æå¨æ¨¡å |
| | | ç¸å
³ä¸å¡ |
| | | å
³èåæ® |
| | | 䏿¸¸ |
| | | 䏿¸¸ |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | ### 5. ä¸å¡å¯¹è±¡ç¹å» |
| | | |
| | | ç¹å»ï¼ |
| | | |
| | | ```text |
| | | éå®è®¢å |
| | | ``` |
| | | |
| | | æ¾ç¤ºï¼ |
| | | |
| | | ```text |
| | | ä¸å¡å¯¹è±¡ï¼éå®è®¢å |
| | | |
| | | ä½ç¨ï¼ |
| | | è®°å½å®¢æ·éå®éæ±ã |
| | | |
| | | 䏿¸¸ï¼ |
| | | å®¢æ· |
| | | |
| | | 䏿¸¸ï¼ |
| | | ç产计å |
| | | éå®åè´§ |
| | | |
| | | ç¸å
³æ¨¡åï¼ |
| | | éå®ãç产ãä»å¨ |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | # äºåä¸ãHTML页é¢ç®å½ |
| | | |
| | | æç»çæï¼ |
| | | |
| | | ```text |
| | | docs/project-business/ |
| | | â |
| | | âââ index.html |
| | | â |
| | | âââ mermaid/ |
| | | â âââ 01-business-mindmap.mmd |
| | | â âââ 02-sales-flow.mmd |
| | | â âââ 03-purchase-flow.mmd |
| | | â âââ 04-production-flow.mmd |
| | | â âââ 05-quality-flow.mmd |
| | | â âââ 06-warehouse-flow.mmd |
| | | â âââ 07-after-sales-flow.mmd |
| | | â âââ 08-module-relation.mmd |
| | | â âââ 09-data-flow.mmd |
| | | â âââ 10-business-object.mmd |
| | | â âââ 11-ai-business-flow.mmd |
| | | â |
| | | âââ data/ |
| | | â âââ business.json |
| | | â âââ modules.json |
| | | â âââ objects.json |
| | | â âââ flows.json |
| | | â âââ roles.json |
| | | â |
| | | âââ README.md |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | # äºåå
«ãæ°æ®ä¸é¡µé¢å离 |
| | | |
| | | ä¸è¦æææä¸å¡æ°æ®å
¨é¨ç¡¬ç¼ç å¨HTMLéé¢ã |
| | | |
| | | å°½ééç¨ï¼ |
| | | |
| | | ```text |
| | | business.json |
| | | modules.json |
| | | objects.json |
| | | flows.json |
| | | roles.json |
| | | ``` |
| | | |
| | | HTMLè´è´£å±ç¤ºã |
| | | |
| | | JSONè´è´£ä¸å¡æ°æ®ã |
| | | |
| | | Mermaidè´è´£ä¸å¡å¾ã |
| | | |
| | | è¿æ ·ä»¥åä¸å¡åçååï¼åªéè¦éæ°åæé¡¹ç®å¹¶æ´æ°æ°æ®ã |
| | | |
| | | --- |
| | | |
| | | # äºåä¹ãbusiness.jsonç»æ |
| | | |
| | | ä¾å¦ï¼ |
| | | |
| | | ```json |
| | | { |
| | | "project": { |
| | | "name": "项ç®åç§°", |
| | | "description": "é¡¹ç®æè¿°" |
| | | }, |
| | | "modules": [], |
| | | "objects": [], |
| | | "flows": [], |
| | | "roles": [], |
| | | "aiCapabilities": [] |
| | | } |
| | | ``` |
| | | |
| | | å®é
å
å®¹æ ¹æ®é¡¹ç®çæã |
| | | |
| | | --- |
| | | |
| | | # ä¸åãHTMLææ¯è¦æ± |
| | | |
| | | ä¼å
使ç¨ï¼ |
| | | |
| | | ```text |
| | | HTML5 |
| | | CSS3 |
| | | JavaScript |
| | | Mermaid |
| | | ``` |
| | | |
| | | ä¸è¦ä¸ºäºè¿ä¸ªé¡µé¢å¼å
¥å¤æå端工ç¨ã |
| | | |
| | | 妿å¯ä»¥ï¼ |
| | | |
| | | > å°½éåå°åHTMLç´æ¥è¿è¡ã |
| | | |
| | | ä¸è¦ä¾èµå端æ¥å£ã |
| | | |
| | | ä¸è¦è¦æ±å¯å¨é¡¹ç®ã |
| | | |
| | | ä¸è¦è¦æ±å®è£
Nodeã |
| | | |
| | | ä¸è¦è¦æ±å¯å¨Vueã |
| | | |
| | | æç»ï¼ |
| | | |
| | | ```text |
| | | åå» index.html |
| | | ``` |
| | | |
| | | å³å¯æ¥çã |
| | | |
| | | --- |
| | | |
| | | # ä¸åä¸ãè§è§è¦æ± |
| | | |
| | | æ´ä½é£æ ¼ï¼ |
| | | |
| | | ```text |
| | | ä¼ä¸æ°åå |
| | | å·¥ä¸äºèç½ |
| | | å¶é ä¸ |
| | | é«çº§ |
| | | ä¸ä¸ |
| | | ç°ä»£ |
| | | ``` |
| | | |
| | | è¦æ±ï¼ |
| | | |
| | | - ååºå¼å¸å± |
| | | - 左侧åºå®å¯¼èª |
| | | - é¡¶é¨é¡¹ç®æ é¢ |
| | | - å¡ç弿¨¡å |
| | | - Mermaidä¸å¡å¾ |
| | | - æ¸
æ°çä¿¡æ¯å±çº§ |
| | | - éé
1920Ã1080 |
| | | - å
¼å®¹æ®éç¬è®°æ¬å±å¹ |
| | | - æ¯ææ·±è²æ¨¡å¼ |
| | | |
| | | ä¸è¦ï¼ |
| | | |
| | | - 大éåå
|
| | | - ç«å
|
| | | - ç²åç¹æ |
| | | - 夿3D |
| | | - æ æä¹å¨ç» |
| | | - è¿åº¦æ¸å |
| | | - è±å¨èæ¯ |
| | | |
| | | éç¹æ¯ï¼ |
| | | |
| | | > **让ä¸å¡é»è¾æä¸ºè§è§ä¸å¿ã** |
| | | |
| | | --- |
| | | |
| | | # ä¸åäºãä¸å¡å
³ç³»é¢è² |
| | | |
| | | å¯ä»¥ä½¿ç¨å°éé¢è²åºåï¼ |
| | | |
| | | ```text |
| | | åºç¡æ°æ® |
| | | éå® |
| | | éè´ |
| | | ç产 |
| | | ä»å¨ |
| | | è´¨é |
| | | å®å |
| | | AI |
| | | ``` |
| | | |
| | | ä½ä¸è¦é¢è²è¿å¤ã |
| | | |
| | | ä¿æä¼ä¸çº§UI飿 ¼ã |
| | | |
| | | --- |
| | | |
| | | # ä¸åä¸ãèªå¨çæé¡¹ç®README |
| | | |
| | | çæï¼ |
| | | |
| | | ```text |
| | | docs/project-business/README.md |
| | | ``` |
| | | |
| | | å
å®¹ï¼ |
| | | |
| | | ```text |
| | | 项ç®ä¸å¡åæææ¡£ |
| | | |
| | | 1. 项ç®å®ä½ |
| | | 2. ç³»ç»æ¨¡å |
| | | 3. æ ¸å¿ä¸å¡ |
| | | 4. Mermaidå¾è¯´æ |
| | | 5. HTMLä½¿ç¨æ¹æ³ |
| | | 6. æ°æ®æä»¶è¯´æ |
| | | 7. å¦ä½éæ°çæ |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | # ä¸ååãèªå¨éªè¯ |
| | | |
| | | çæå®æåå¿
é¡»æ£æ¥ï¼ |
| | | |
| | | ## æä»¶ |
| | | |
| | | ç¡®è®¤ï¼ |
| | | |
| | | ```text |
| | | index.html |
| | | README.md |
| | | *.mmd |
| | | *.json |
| | | ``` |
| | | |
| | | å
¨é¨åå¨ã |
| | | |
| | | --- |
| | | |
| | | ## Mermaid |
| | | |
| | | æ£æ¥ï¼ |
| | | |
| | | - Mermaidè¯æ³ |
| | | - èç¹åç§° |
| | | - æµç¨æ¹å |
| | | - æ¯å¦åå¨å¤ç«èç¹ |
| | | - æ¯å¦å卿æ¾é误å
³ç³» |
| | | |
| | | --- |
| | | |
| | | ## HTML |
| | | |
| | | æ£æ¥ï¼ |
| | | |
| | | - HTMLè¯æ³ |
| | | - CSS |
| | | - JS |
| | | - Mermaidåå§å |
| | | - 导èªåæ¢ |
| | | - æç´¢ |
| | | - å
¨å± |
| | | - å¾è¡¨æ¾ç¤º |
| | | |
| | | --- |
| | | |
| | | # ä¸åäºãä¸å¡åç¡®æ§æ£æ¥ |
| | | |
| | | æç»å¿
须鿰åçï¼ |
| | | |
| | | ```text |
| | | 1. 项ç®å°åºè§£å³ä»ä¹é®é¢ï¼ |
| | | 2. æ ¸å¿ä¸å¡æ¯ä»ä¹ï¼ |
| | | 3. åªä¸ªä¸å¡æ¯ä¸»çº¿ï¼ |
| | | 4. éå®å¦ä½å½±åçäº§ï¼ |
| | | 5. éè´å¦ä½å½±ååºåï¼ |
| | | 6. ç产å¦ä½äº§çåºåï¼ |
| | | 7. è´¨éå¨åªéä»å
¥ï¼ |
| | | 8. å®åå¦ä½å½¢æéç¯ï¼ |
| | | 9. AIå¨åªéåä¸ä¸å¡ï¼ |
| | | 10. 忍¡åä¹é´å¦ä½äº§çæ°æ®å
³ç³»ï¼ |
| | | ``` |
| | | |
| | | å¦ææ æ³åçï¼ |
| | | |
| | | > åå°æºç ç»§ç»åæã |
| | | |
| | | --- |
| | | |
| | | # ä¸åå
ãç¦æ¢äºé¡¹ |
| | | |
| | | ç¦æ¢ï¼ |
| | | |
| | | ```text |
| | | åªæ«ææä»¶å |
| | | åªçæJavaæ¶æå¾ |
| | | åªçææ°æ®åºERå¾ |
| | | åªç½åController |
| | | åªç½åèå |
| | | åªç½ååè½ |
| | | ``` |
| | | |
| | | æè¦çæ¯ï¼ |
| | | |
| | | > **ä¸å¡çè§£å¾ï¼è䏿¯ä»£ç ç»æå¾ã** |
| | | |
| | | --- |
| | | |
| | | # ä¸åä¸ãæ§è¡æ¨¡å¼ |
| | | |
| | | ç°å¨ç´æ¥å¼å§æ§è¡ã |
| | | |
| | | ä¸è¦å
é®æï¼ |
| | | |
| | | > âæ¯å¦å¼å§ï¼â |
| | | |
| | | ä¸è¦çå¾
确认ã |
| | | |
| | | æç
§ä»¥ä¸æ¥éª¤æ§è¡ï¼ |
| | | |
| | | ```text |
| | | Step 1 |
| | | æ«æé¡¹ç® |
| | | |
| | | â |
| | | |
| | | Step 2 |
| | | è¯å«ææ¯æ¶æ |
| | | |
| | | â |
| | | |
| | | Step 3 |
| | | è¯å«ä¸å¡æ¨¡å |
| | | |
| | | â |
| | | |
| | | Step 4 |
| | | è¯å«ä¸å¡å¯¹è±¡ |
| | | |
| | | â |
| | | |
| | | Step 5 |
| | | è¯å«è§è² |
| | | |
| | | â |
| | | |
| | | Step 6 |
| | | è¯å«æ ¸å¿ä¸å¡æµç¨ |
| | | |
| | | â |
| | | |
| | | Step 7 |
| | | è¯å«ç¶ææµè½¬ |
| | | |
| | | â |
| | | |
| | | Step 8 |
| | | è¯å«æ¨¡åå
³ç³» |
| | | |
| | | â |
| | | |
| | | Step 9 |
| | | è¯å«æ°æ®æµ |
| | | |
| | | â |
| | | |
| | | Step 10 |
| | | è¯å«AIä¸å¡ |
| | | |
| | | â |
| | | |
| | | Step 11 |
| | | 建ç«ä¸å¡ç¥è¯æ¨¡å |
| | | |
| | | â |
| | | |
| | | Step 12 |
| | | çæMermaid |
| | | |
| | | â |
| | | |
| | | Step 13 |
| | | çæJSON |
| | | |
| | | â |
| | | |
| | | Step 14 |
| | | çæHTML |
| | | |
| | | â |
| | | |
| | | Step 15 |
| | | èªå¨æ£æ¥ |
| | | |
| | | â |
| | | |
| | | Step 16 |
| | | åç°é®é¢èªå¨ä¿®å¤ |
| | | |
| | | â |
| | | |
| | | Step 17 |
| | | æç»è¾åº |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | # ä¸åå
«ãæç»æ±æ¥ |
| | | |
| | | ä»»å¡å®æåï¼ä¸è¦æå¤§éæºç åæç»æç´æ¥è¾åºã |
| | | |
| | | æç»åªéè¦åè¯æï¼ |
| | | |
| | | ```text |
| | | 项ç®ä¸å¡åæå®æã |
| | | |
| | | çæç®å½ï¼ |
| | | |
| | | docs/project-business/ |
| | | |
| | | æ ¸å¿æä»¶ï¼ |
| | | |
| | | index.html |
| | | 01-business-mindmap.mmd |
| | | 02-sales-flow.mmd |
| | | 03-purchase-flow.mmd |
| | | 04-production-flow.mmd |
| | | 05-quality-flow.mmd |
| | | 06-warehouse-flow.mmd |
| | | 07-after-sales-flow.mmd |
| | | 08-module-relation.mmd |
| | | 09-data-flow.mmd |
| | | 10-business-object.mmd |
| | | 11-ai-business-flow.mmd |
| | | |
| | | æ°æ®ï¼ |
| | | |
| | | business.json |
| | | modules.json |
| | | objects.json |
| | | flows.json |
| | | roles.json |
| | | |
| | | HTMLï¼ |
| | | |
| | | å¯ç´æ¥æå¼ docs/project-business/index.html æ¥çã |
| | | ``` |
| | | |
| | | åæ¶ç»åºï¼ |
| | | |
| | | ```text |
| | | 项ç®å®ä½ï¼ |
| | | xxx |
| | | |
| | | æ ¸å¿ä¸å¡ä¸»çº¿ï¼ |
| | | xxx â xxx â xxx â xxx |
| | | |
| | | æ ¸å¿æ¨¡åï¼ |
| | | xxxãxxxãxxx |
| | | |
| | | AIè½åï¼ |
| | | xxx |
| | | |
| | | åç°çå¾
确认ä¸å¡ï¼ |
| | | xxx |
| | | ``` |
| | | |
| | | 妿åå¨ãå¾
确认ãå
容ï¼åç¬ååºã |
| | | |
| | | --- |
| | | |
| | | # æç»ç®æ |
| | | |
| | | 请记ä½ï¼ |
| | | |
| | | > **ä¸è¦æé¡¹ç®âç»åºæ¥âï¼èæ¯å
æé¡¹ç®âçè§£åºæ¥âï¼ç¶åæçè§£ç»æå¯è§åã** |
| | | |
| | | æç»ææåºè¯¥è®©ï¼ |
| | | |
| | | ```text |
| | | èæ¿ |
| | | å®¢æ· |
| | | ä¸å¡äººå |
| | | 项ç®ç»ç |
| | | Javaå¼å |
| | | å端å¼å |
| | | è¿ç»´äººå |
| | | æ°åå·¥ |
| | | ``` |
| | | |
| | | é½å¯ä»¥éè¿è¿ä¸ªHTML页é¢å¿«éç解项ç®ã |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | # MOM 工忰ååå¹³å° Â· 项ç®ä¸å¡åæ |
| | | |
| | | åºäºç宿ºç ï¼6 ç»å¹¶è¡æºç 走读ï¼MES ç产质é / MES ä»å¨ / ERP / CRM+SRM / å®å+HRM / AI+BI+MDM+BPM+åºåº§ï¼è¿åçä¸å¡ç¥è¯æ¨¡åä¸å¯è§åï¼ä¾æ°äººå¹è®ãé¡¹ç®æ±æ¥ãå®¢æ·æ¼ç¤ºä¸å¼åæ¥æ¡£ä½¿ç¨ã |
| | | |
| | | ## 1. 项ç®å®ä½ |
| | | |
| | | - **ç³»ç»ç±»å**ï¼æ··åç³»ç»ï¼MOM å¶é è¿è¥ç®¡çï¼ |
| | | - **ä¸å¡å®ä½**ï¼ç¦»æ£å¶é å·¥å产ä¾é人财ç©ä¸ä½åï¼è¦çãé宿¥å â éè´/ç产 â è´¨æ£ â ä»å¨ â åè´§ â 忬¾ â å®åãå
¨é¾è·¯éç¯ |
| | | - **ææ¯åºåº§**ï¼yudaoï¼ruoyi-vue-proï¼äºå¼ï¼Spring Boot + MyBatis + Flowable + Redis + MySQL 8.4 + Milvus + éä¹åé®ï¼å端 mom-pro2-beforeï¼Vue3ï¼ |
| | | - **æ ¸å¿ä¸»çº¿**ï¼CRM åå â ERP éå®è®¢å â MES 主计å/å·¥å/æ¥å·¥ â è´¨æ£ä¸ä»å¨ â éå®åºåº â å¼ç¥¨å款 â å®åéç¯ |
| | | |
| | | ## 2. ç®å½ç»æ |
| | | |
| | | ```text |
| | | docs/project-business/ |
| | | âââ index.html # å¯è§å页é¢ï¼åå»ç´æ¥æå¼ï¼file:// å³å¯ï¼æ é任使å¡ï¼ |
| | | âââ mermaid/ # 11 å¼ Mermaid ä¸å¡å¾ï¼æå¨æºï¼æ¹è¿éï¼ |
| | | âââ data/ # ä¸å¡æ°æ®ï¼æå¨æºï¼æ¹è¿éï¼ |
| | | â âââ business.json # 项ç®å
ä¿¡æ¯/ä¸å¡åé®/AIè½å/å¾
确认äºé¡¹ |
| | | â âââ modules.json # 12 个ä¸å¡æ¨¡åå®ä¹ |
| | | â âââ objects.json # æ ¸å¿ä¸å¡å¯¹è±¡ï¼ä½ç¨/䏿¸¸/䏿¸¸/表åï¼ |
| | | â âââ flows.json # 7 æ¡æµç¨ï¼æè¦+æ¥éª¤+è§è²ï¼ |
| | | â âââ roles.json # è§è²æé |
| | | âââ README.md |
| | | ``` |
| | | |
| | | > â `index.html` å
åµäº `mermaid/` ä¸ `data/` ç**éå**ï¼file:// ä¸ fetch 被æµè§å¨æ¦æªï¼æ
å
åµä¸ä»½ï¼ã**ä¿®æ¹ .mmd/.json åå¿
须忥éå**ï¼ |
| | | > |
| | | > ```bash |
| | | > node .claude/skills/project-business-analysis/scripts/sync_index.js |
| | | > ``` |
| | | |
| | | ## 3. Mermaid å¾è¯´æ |
| | | |
| | | | æä»¶ | å
容 | |
| | | |------|------| |
| | | | 01-business-mindmap | ä¸å¡å
¨æ¯æç»´å¯¼å¾ï¼æ¨¡å-è½åæ ï¼ | |
| | | | 02-sales-flow | éå®ï¼çº¿ç´¢â客æ·âåæºâæ¥ä»·âåå(BPM)âéå®è®¢åâåè´§åºåºâå¼ç¥¨å款 | |
| | | | 03-purchase-flow | éè´ï¼SRM åå
¥/宿 âç³è¯·(BPM)â订åâå°è´§âIQCâå
¥åº/éè´§âæ¥ç¥¨â仿¬¾ | |
| | | | 04-production-flow | ç产ï¼éå®è®¢åâMPSâå·¥åâä»»å¡âæ¥å·¥(å·¥åºé¡ºåºæ§å¶)âåå²/IPQC/产åºâå®å·¥äºä»¶ | |
| | | | 05-quality-flow | è´¨éï¼IQC/IPQC/OQC/RQC åé¸å£ + å¤å®åæ + NCR å¤ç½®éç¯ | |
| | | | 06-warehouse-flow | ä»å¨ï¼15 ç±»åæ®ãå
å
ç»åºåå°è´¦ãäºå¡æµæ°´ãè°æ¨/çç¹/æ¹æ¬¡SN/çº¿è¾¹åº | |
| | | | 07-after-sales-flow | å®åï¼å·¥åå
æâç»´ä¿®/éè´§âMES èå¨âè´¨æ£å
¥åºé款ä¸åè°âå
³é | |
| | | | 08-module-relation | 模åç³»ç»å
³ç³»ï¼è°ç¨ä¸å®¡æ¹åè°ï¼ | |
| | | | 09-data-flow | è·¨æ¨¡åæ°æ®æµï¼åæ®çæãåæ®µå¸¦å
¥ãæ°éååãäºä»¶ï¼ | |
| | | | 10-business-object | æ ¸å¿ä¸å¡å¯¹è±¡ ERï¼åªå«ä¸å¡å¯¹è±¡ï¼éå
¨åºè¡¨ï¼ | |
| | | | 11-ai-business-flow | AI ä¸å¡é¾è·¯ï¼OCR/è´¨æ£å¤å®/åç±»é¢æµ/RAGï¼å« API ä¾èµï¼ | |
| | | |
| | | å¾ä¸ç¶ææ°åå为æºç æä¸¾çå®å¼ï¼å¦å·¥å 0è稿/1已确认/2宿/3åæ¶ï¼ERP å®¡æ¹ 15审æ¹ä¸/20å·²å®¡æ ¸ï¼ã |
| | | |
| | | ## 4. HTML ä½¿ç¨æ¹æ³ |
| | | |
| | | 1. èµæºç®¡çå¨åå» `index.html`ï¼ææµè§å¨æå
¥ï¼ãMermaid èµ° CDN 渲æï¼**馿¬¡æå¼éèç½**ï¼ä¹åæµè§å¨æç¼åã |
| | | 2. 左侧导èªåæ¢é¡µé¢ï¼é¡¶é¨æç´¢æ¡æ¯ææåç§°/å
³é®è¯æç´¢ä¸å¡å¯¹è±¡ãæµç¨ã模åãè§è²ï¼å车ç¹ç»æç´è¾¾ã |
| | | 3. æ¯å¼ å¾å³ä¸è§ï¼ï¼/ï¼ç¼©æ¾ãéç½®ãå
¨å±ï¼éåæå±è®²è§£ï¼ã |
| | | 4. æ¦è§é¡µæ¨¡åå¡çãä¸å¡å¯¹è±¡è¡¨æ ¼è¡åå¯ç¹å»é»åã |
| | | |
| | | ## 5. æ°æ®æä»¶è¯´æ |
| | | |
| | | - `data/*.json` æ¯é¡µé¢æ¸²æçæ°æ®æºï¼é¡µé¢ä¼å
fetch æ¬å°æä»¶ï¼file:// ä¸åéå
åµéåï¼ã |
| | | - åæ®µç»æèªè§£éï¼æ°å¢å¯¹è±¡è¯·åæ¶è¡¥ `keywords`ï¼ä¾æç´¢ï¼ã |
| | | |
| | | ## 6. å¦ä½éæ°çæ / ç»´æ¤ |
| | | |
| | | - æ¬ç®å½ç±é¡¹ç®æè½ **project-business-analysis** 管çï¼`.claude/skills/project-business-analysis/`ï¼ï¼å¹¶æè§å `.claude/rules/business-visualization-maintenance.md` 强å¶ï¼ä¸å¡æ¨¡å/æµç¨/ç¶æ/对象/è§è²/AI åæ´åéåæ¥ç»´æ¤æ¬ç®å½ã |
| | | - å¢éç»´æ¤ï¼æ¹å¯¹åºç `mermaid/*.mmd` + `data/*.json` â è¿è¡ä¸é¢ç sync èæ¬ â æµè§å¨éªè¯åå½±åå¾ã |
| | | - å
¨ééåï¼åå·®è¿å¤§æ¶ï¼ï¼å¯¹ Claude 说ãéæ°çæä¸å¡å
¨æ¯ãï¼æè½ä¼éæ°èµ°è¯»æºç å¹¶æçææ¨¡å¼é建ã |
| | | - çæåºçº¿ï¼dev_business @ 87bf4a99ï¼2026-09-10ã |
| | | |
| | | ## 7. å·²ç¥å¾
确认ä¸å¡ |
| | | |
| | | è§ `data/business.json` ç `pendingConfirm`ï¼é¡µé¢ãå¾
确认äºé¡¹ãæ ï¼ï¼è¦ç¹ï¼ä»åºç±»å/åæ ¼ä»æ¹é æªè½å°ãHRM äº¤æ¥ expandUserIds å°æªè¢«ä¸å¡æ¥è¯¢æ¥å
¥ã忬¾ä¸æ¶æ¬¾åæªèµ° BPMãè´¢å¡å¾ç¨½ååæ¹æ³ä¸ºç©ºãNCR å¤ç½®ä¸ååæºåçã |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "project": { |
| | | "name": "MOM 工忰ååå¹³å°ï¼mom-pro2ï¼", |
| | | "type": "æ··åç³»ç»", |
| | | "mainSystem": "MOM å¶é è¿è¥ç®¡çç³»ç»", |
| | | "subSystems": [ |
| | | "MESï¼ç产·ä»å¨Â·è´¨é·设å¤ï¼", |
| | | "ERPï¼è¿éå·财å¡ï¼", |
| | | "CRMï¼å®¢æ·å
³ç³»ï¼", |
| | | "SRMï¼ä¾åºåå
³ç³»ï¼", |
| | | "HRMï¼äººåèµæºï¼", |
| | | "BPMï¼Flowable åå审æ¹ï¼", |
| | | "AIï¼éä¹åé® + Milvus RAGï¼", |
| | | "BIï¼SQL é
ç½®å¼å¤§å±ï¼" |
| | | ], |
| | | "description": "åºäº yudaoï¼ruoyi-vue-proï¼äºæ¬¡å¼åçå¶é ä¸ä¸ä½åæ°åå·¥åå¹³å°ï¼è¦çãé宿¥å â éè´/ç产 â è´¨æ£ â ä»å¨ â åè´§ â 忬¾ â å®åãå
¨é¾è·¯ï¼å
ç½®å®¡æ¹æµãä¸»æ°æ®ãéä»¶ãAI è¾
å©ä¸ BI 驾驶è±ã", |
| | | "businessPositioning": "让工åç订åãç©æãç产ãåºåãè´¨éã人åãèµéå¨ä¸ä¸ªç³»ç»å
éç¯æµè½¬ï¼ç®¡çå±å¯éè¿ BI 大屿æ¡å
¨å±ã", |
| | | "coreChain": "CRM åæº/åå â ERP éå®è®¢å â MES 主ç产计å/å·¥å/æ¥å·¥ â MES è´¨æ£ä¸ä»å¨ â éå®åºåºåè´§ â å¼ç¥¨å款 â å®åéç¯", |
| | | "techBase": "Spring Boot + MyBatis + Flowable + Redis + Quartz/RocketMQ/Kafka + Milvus åéåº + éä¹åé®", |
| | | "database": "MySQL 8.4ï¼413 å¼ è¡¨ï¼å« system_*ãbpm_*ãact_* åºåº§è¡¨ä¸ mes_*/erp_*/crm_*/srm_*/hrm_*/mdm_*/ai_* ä¸å¡è¡¨ï¼ï¼å¤ç§æ·å·²å
³é", |
| | | "frontend": "mom-pro2-beforeï¼Vue3 管çåå°ï¼åä»åºåæ¾ï¼åªè¯»åèï¼" |
| | | }, |
| | | "stats": { |
| | | "businessModules": 12, |
| | | "coreObjects": 46, |
| | | "documentFlows": 6, |
| | | "approvalListeners": 13, |
| | | "aiCapabilities": 8, |
| | | "wmBillTypes": 15 |
| | | }, |
| | | "businessAnswers": [ |
| | | [ |
| | | "项ç®è§£å³ä»ä¹é®é¢", |
| | | "离æ£å¶é å·¥åç产ä¾é人财ç©ä¸ä½å管çï¼ä»å®¢æ·è®¢åå°ç产交ä»ãåºåèµéå
¨é¾è·¯æ°ååéç¯" |
| | | ], |
| | | [ |
| | | "æ ¸å¿ä¸å¡", |
| | | "éå®è®¢å履约ï¼ååâ订åâç产âè´¨æ£âå
¥åºâåè´§â忬¾ï¼ä¸éè´ä¾åºï¼ç³è¯·â订åâå°è´§âIQCâå
¥åºâ仿¬¾ï¼" |
| | | ], |
| | | [ |
| | | "ä¸å¡ä¸»çº¿", |
| | | "CRM åå â ERP éå®è®¢å â MES MPS/å·¥å â æ¥å·¥/IPQC â å®å·¥å
¥åº â åè´§éç¥ â éå®åºåº(OQC) â å¼ç¥¨ â 忬¾" |
| | | ], |
| | | [ |
| | | "éå®å¦ä½å½±åç产", |
| | | "éå®è®¢å审æ¹éè¿åï¼éç产æç»èªå¨å建 MES 主ç产计å(MPS)ï¼MPS ä¸å驱å¨å·¥åä¸ä»»å¡" |
| | | ], |
| | | [ |
| | | "éè´å¦ä½å½±ååºå", |
| | | "éè´è®¢åã确认æ¶è´§ãçæ MES å°è´§éç¥ â IQC åæ ¼/ç¹é â éè´å
¥åºå宿 â åºåå°è´¦ IN äºå¡+N" |
| | | ], |
| | | [ |
| | | "ç产å¦ä½äº§çåºå", |
| | | "æ¥å·¥å®¡æ¹éè¿åèªå¨çæäº§å产åºåå
¥åºï¼è´¨æ£å·¥åºå
å¾
æ£ãIPQC åæè¡å
¥åºï¼ï¼åå²å·¥åºæ BOM æ£çº¿è¾¹åº" |
| | | ], |
| | | [ |
| | | "è´¨éå¨åªéä»å
¥", |
| | | "åéé¸å£ï¼IQCï¼å°è´§/å¤åå
¥åºï¼ãIPQCï¼æ¥å·¥è´¨æ£å·¥åºï¼ãOQCï¼éå®åºåºåï¼ãRQCï¼éæ/éè´§ï¼ï¼ä¸åæ ¼èµ° NCR å¤ç½®" |
| | | ], |
| | | [ |
| | | "å®åå¦ä½éç¯", |
| | | "å·¥åå¤å®éè´§ â éè´§ç³è¯·å®¡æ ¸ â èªå¨å»º MES éå®éè´§å â RQC è´¨æ£/å
¥åºåè° â 鿬¾åè° â å·¥åå®ç»å
³é" |
| | | ], |
| | | [ |
| | | "AI å¨åªéåä¸", |
| | | "å票/æ¥ä»· OCR é¢å¡«ãè´¨æ£ç»æå»ºè®®ã缺æ/æ¶é¿/é£é©/交ä»åç±»é¢æµï¼å为ãä¸å¡ç»è£
Promptâæ¨¡åâJSONâäººå·¥ç¡®è®¤ãæ¨¡å¼" |
| | | ], |
| | | [ |
| | | "模åé´æ°æ®å
³ç³»", |
| | | "MDM ä¸»æ°æ®ç»ä¸ä¸åï¼CRMâERP ååçåï¼ERPâMES åæ®äºå»ºä¸æ°éååï¼BPM äºä»¶åè°è§£éç¶æï¼HRM äº¤æ¥æ©å±æ°æ®å¯è§æ§" |
| | | ] |
| | | ], |
| | | "aiCapabilities": [ |
| | | { |
| | | "name": "éè´å票 OCR", |
| | | "flow": "ä¸ä¼ blobId â å¾çèµ° chatWithImage è§è§æ¨¡å / PDFÂ·ææ¬èµ° chat â è§£æå票å·Â·æ¬å¤´Â·ä¾åºå·价ç¨å计·ç¨ç â é¢å¡«éè´æ¥ç¥¨è¡¨å", |
| | | "callsApis": [ |
| | | "SystemStorageBlobService" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "æ¥ä»·å OCR", |
| | | "flow": "PDF/Word/Excel/å¾ç â POI/PDFBox/è§è§æ¨¡å â æ¥ä»·å¤´+产åæç» JSON â é¢å¡«æ¥ä»·å", |
| | | "callsApis": [ |
| | | "SystemStorageBlobService" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "è´¨æ£ç»ææºè½å¤å®", |
| | | "flow": "è´¨æ£å+ææ ç»æ+缺é·è®°å½ ç»è£
Prompt â chat â 建议{åæ ¼/ç¹é/éè´§/æ¥åº+çç±}", |
| | | "callsApis": [ |
| | | "MdmItemApi", |
| | | "SrmSupplierApi", |
| | | "CrmCustomerApi" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "ç©æçç¼ºé¢æµ", |
| | | "flow": "å·¥å BOM éæ± vs åºå(å¨åº-å»ç»-å ç¨) vs å·²ææ â chat â é£é©ç级+ç¼ºå£æ¸
å", |
| | | "callsApis": [ |
| | | "MdmItemApi" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "ç产æ¶é¿é¢æµ", |
| | | "flow": "å·¥åºæ åå·¥æ¶+设å¤å°æ¶äº§é+ä¼ éåç â chat â 颿µæ»æ¶é¿+å·¥åºåè§£", |
| | | "callsApis": [ |
| | | "MdmItemApi" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "ç产é£é©é¢æµ", |
| | | "flow": "IPQC 缺é·ç+设å¤ä¿å
»ç¹æ£+ç©æå¯ç¨ç<20%+å
³é®å·¥åº â chat â 综åé£é©+å ç´ ", |
| | | "callsApis": [ |
| | | "MdmItemApi" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "交ä»é¢æµ", |
| | | "flow": "è¿åº¦+å©ä½å¤©æ°+ä»»å¡å®æç¶æ+客æ·äº¤æ â chat â è½å¦ææ¶+置信度+延误å ç´ ", |
| | | "callsApis": [ |
| | | "MdmItemApi", |
| | | "CrmCustomerApi" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "RAG ç¥è¯åº", |
| | | "flow": "ææ¡£ â POI/Tika æææ¬ â åç(800token) â åéåå
¥ Milvus â æ£ç´¢æ¥å£(topK3,éå¼0.7)ãå½åæ ä¸å¡æ¨¡åæ¶è´¹ï¼é¢çè½åã", |
| | | "callsApis": [] |
| | | } |
| | | ], |
| | | "pendingConfirm": [ |
| | | "ä»åºç±»å/åæ ¼ä»æ¹é ï¼éæ±ç§°ä»åºåºæ type åæ®µï¼åæ/æå/åæå/线边/åæ ¼ä»ï¼ï¼ä½ MesWmWarehouseDO å½åæ type åæ®µï¼ä»
硬ç¼ç èæçº¿è¾¹åºï¼æ¹é ä¼¼æªå®æãå¾
确认ã", |
| | | "HrmUserHandoverApi.expandUserIds æ¥å£å·²å®ç°ï¼ä½ CRM/ERP/MES æ¥è¯¢ãæçæ°æ®ãå¤åæªå®é
è°ç¨ï¼äº¤æ¥å¯è§æ§åè½æªçæ£çæãä¸é¡¹ç®è§åææ¡£åå¨è½å·®ã", |
| | | "忬¾ï¼crm_receivableï¼æªæ¥ BPMï¼å建å³å®¡æ¹ä¸(10)é æå¨æ´æ°ï¼åå/å¼ç¥¨åå·²æ¥ãå¾
确认æ¯å¦ææç®åã", |
| | | "MES 任塿å pauseTask ä»
å
许èç¨¿ç¶æåå·¥ï¼çä¼¼æ ¡éªé»è¾å转 bug", |
| | | "仿¬¾å BPM 驳ååéå° PROCESS(10) èé REJECT(35)ï¼ä¸å
¶ä»åæ®ä¸ä¸è´", |
| | | "è´¢å¡å¾ç¨½æè£ï¼updatePurchasePrice/updateSalePrice æ¹æ³ä½ä¸ºç©ºï¼å
¥åº/åºåºéé¢ä¸ä¼èªå¨å忶仿¬¾", |
| | | "ç产å
¥åºå(ProductReceipt) 䏿¥å·¥äº§åº(ProductProduce) å¹¶åï¼åå¨éå¤å
¥åºé£é©éä¸å¡ç¡®è®¤", |
| | | "AI 模åå·¥åä»
å®ç°éä¹åé®ï¼DeepSeek/OpenAI/Ollama æä¸¾é¢çæªå®ç°", |
| | | "å®åéè´§å AUDITING(10) ç¶ææ åå
¥ä»£ç ï¼çä¼¼é¢çæªå¯ç¨", |
| | | "BI å¾è¡¨ querySql 以åç¬¦ä¸²æ¼æ¥åæ°æ§è¡ï¼ä»
åå¼å·è½¬ä¹ï¼ï¼åå¨ SQL 注å
¥é£é©é¢", |
| | | "MesWmSnDO æ°å¢ç uuid åæ®µçæ/æ¶è´¹é»è¾æªå¨æ ¸å¿ Service ä¸ç¡®è®¤", |
| | | "转æ£ç³è¯·(hrm_regularize_application)ãå¹è®è¯ä¹¦çä»
æ SQL ä¸èååå§åï¼Java ä¾§ Service/Controller æªå®ç°", |
| | | "NCR å¤ç½®ç»æï¼è¿å·¥/éè´§ï¼æªååè§¦åæºåæ®ï¼ä»
å°è´¦è®°å½", |
| | | "MPS ç¶ææä¸¾ç¬ç«ç¼å·(0/1/2/3)ï¼ä¸éç¨åæ®å¸¸é(0/1/4/5)ä¸ä¸è´" |
| | | ], |
| | | "generatedAt": "2026-09-10", |
| | | "analysisBasis": "åºäº dev_business 忝 87bf4a99 æºç ï¼6 ç»å¹¶è¡æºç 走读ï¼MES ç产质é / MES ä»å¨ / ERP / CRM+SRM / å®å+HRM / AI+BI+MDM+BPM+åºåº§ï¼" |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "flows": [ |
| | | {"id": "sales", "name": "é宿µç¨", "mermaid": "mermaid/02-sales-flow.mmd", "color": "#4f9cff", |
| | | "summary": "线索转åå®¢æ· â åæºæ¨è¿ â æ¥ä»·(å¯AIè¯å«) â åå BPM å®¡æ¹ â çæ ERP éå®è®¢åå¹¶å®¡æ¹ â éç产è¡èªå¨å»º MPS â åè´§éç¥ â éå®åºåº(OQC)åå â å¼ç¥¨(BPM) â 忬¾(å
å¼ç¥¨æ ¡éª)ã", |
| | | "steps": [ |
| | | {"stage": "è·å®¢", "action": "线索转å客æ·ã建è系人ãç«é¡¹åæº", "roles": ["éå®å
å¤"]}, |
| | | {"stage": "æ¥ä»·", "action": "åæºèµ¢åå建æ¥ä»·å(AI OCR é¢å¡«)ï¼è½¬åå", "roles": ["éå®å
å¤"]}, |
| | | {"stage": "ç¾çº¦", "action": "ååæäº¤ BPM 审æ¹(å¯éæµç¨å®ä¹)ï¼éè¿=20", "roles": ["éå®", "审æ¹äºº"]}, |
| | | {"stage": "æ¥å", "action": "ååä¸é®çæéå®è®¢å(XSDD)ï¼éå®è®¢ååèµ° BPMï¼å®¡æ¹éè¿èªå¨ä¸º needProduction æç»å建 MPS", "roles": ["éå®", "计åå"]}, |
| | | {"stage": "交ä»", "action": "åè´§éç¥å®¡æ ¸(å ç¨)â éå®åºåº OQC â åè¿ â åºåºååé¨å/å
¨é¨åºåº", "roles": ["ä»ç®¡", "è´¨æ£"]}, |
| | | {"stage": "忬¾", "action": "å¼ç¥¨ BPM(累计â¤ååé¢) â 忬¾å¼ºå¶å
å¼ç¥¨(累计â¤ååå©ä½ä¸å¼ç¥¨å©ä½)", "roles": ["è´¢å¡", "éå®"]}]}, |
| | | {"id": "purchase", "name": "éè´æµç¨", "mermaid": "mermaid/03-purchase-flow.mmd", "color": "#5fc79e", |
| | | "summary": "SRM åå
¥/宿 便º â éè´ç³è¯· BPM â éè´è®¢å BPM â 确认æ¶è´§çæ MES å°è´§éç¥ â IQC(åæ ¼/ç¹éå
¥åºÂ·éè´§/æ¥åº) â éè´å
¥åºåå订åä¸ç³è¯· â æ¥ç¥¨(AI OCR) â 仿¬¾å BPMã", |
| | | "steps": [ |
| | | {"stage": "寻æº", "action": "ä¾åºååå
¥(BPM)å»ºæ¡£ï¼ææ 宿´çæç®ææ¯ä»·ï¼å®æ 审æ¹éè¿èªå¨çæéè´è®¢å", "roles": ["éè´å¼å"]}, |
| | | {"stage": "ç³è¯·", "action": "éè´ç³è¯·(CGSQ)æäº¤ BPMï¼é©³åå¯éç½®åè稿ï¼éè¿ä¸æä¾åºåèªå¨çæè®¢å", "roles": ["éè´å", "审æ¹äºº"]}, |
| | | {"stage": "ä¸å", "action": "éè´è®¢å(CGDD)èªå¨æäº¤ BPM(15â20)", "roles": ["éè´å"]}, |
| | | {"stage": "æ¶è´§", "action": "确认æ¶è´§çæå°è´§éç¥(0âå¾
è´¨æ£2/å¾
å
¥åº3â4)ï¼éæ£ç©æèªå¨å建 IQC", "roles": ["ä»ç®¡", "IQC è´¨æ£å"]}, |
| | | {"stage": "å
¥åº", "action": "IQC åæ ¼/ç¹éâéè´å
¥åº(å¾
䏿¶âå¾
æ§è¡â宿)åºå+ï¼åå订å inCount/inStatus ä¸ç³è¯·æç»", "roles": ["ä»ç®¡"]}, |
| | | {"stage": "éè´§", "action": "IQC ä¸åæ ¼éè´§âä¾åºåéè´§åºåº(éæéå®å°è®¢åè¡)ï¼æ¥åºèµ° NCR", "roles": ["ä»ç®¡"]}, |
| | | {"stage": "仿¬¾", "action": "éè´æ¥ç¥¨(FPD, AI OCR, â¤è®¢åæ»ä»·) â 仿¬¾å(FKD å
³èæ¥ç¥¨+éä»¶, â¤æ¥ç¥¨éé¢) BPM 审æ¹", "roles": ["è´¢å¡", "审æ¹äºº"]}]}, |
| | | {"id": "production", "name": "ç产æµç¨", "mermaid": "mermaid/04-production-flow.mmd", "color": "#e0b34f", |
| | | "summary": "éå®è®¢åé©±å¨ MPS â ä¸åå·¥å â æå·¥èºè·¯çº¿æå·¥åºä»»å¡ â 颿/çº¿è¾¹å¤æ â æ¥å·¥(å·¥åºé¡ºåºç¡¬æ ¡éª+BPM) â å岿¶è/产åºå
¥åº/IPQC â æ«éå·¥åºååè¿åº¦ â èªå¨å®å·¥ â ProductionFinishedEvent ååéå®è®¢åã", |
| | | "steps": [ |
| | | {"stage": "计å", "action": "MPS å建(æå·¥æéå®è®¢åèªå¨)âä¸åæåå¹¶ä¸å为工å", "roles": ["计åå"]}, |
| | | {"stage": "派工", "action": "å·¥å确认æå·¥èºè·¯çº¿éå·¥åºçæä»»å¡ï¼å¯ææ´¾/æå/åæ¶", "roles": ["车é´ä¸»ä»»"]}, |
| | | {"stage": "夿", "action": "çäº§é¢æååºåºæçº¿è¾¹èæåºå¤æ", "roles": ["ä»ç®¡"]}, |
| | | {"stage": "æ¥å·¥", "action": "æäº¤æ¥å·¥ï¼ä¸ä¸éå·¥åºæªæ¥æ»¡ç´æ¥æ¦æªï¼å¯ç¨ BPM 走审æ¹", "roles": ["æä½å·¥"]}, |
| | | {"stage": "èå¨", "action": "审æ¹éè¿æå·¥åºæ è®°: åå²âèªå¨ç©ææ¶èæ£çº¿è¾¹åº(å
许è´åºå)ï¼è´¨æ£â产åºå¾
æ£è¡ç IPQCï¼å
³é®éæ£âç´æ¥äº§åºå
¥åº", "roles": ["ç³»ç»èªå¨"]}, |
| | | {"stage": "å®å·¥", "action": "ä»
æ«éå·¥åºååå·¥åå·²ç产æ°éï¼è¾¾æ èªå¨å®æï¼MPS ç´¯è®¡å¤æå®æå¹¶åäºä»¶ç»éå®è®¢å", "roles": ["ç³»ç»èªå¨"]}]}, |
| | | {"id": "quality", "name": "è´¨éæµç¨", "mermaid": "mermaid/05-quality-flow.mmd", "color": "#e06c6c", |
| | | "summary": "å鿣éªé¸å£(IQC/IPQC/OQC/RQCï¼äºæ 0â4) + å¤å®åæ(åæ ¼/ç¹é/éè´§/æ¥åº) + NCR è¯å®¡å¤ç½®å
³éï¼AI æä¾å¤å®å»ºè®®ï¼NCR å½åä»
å°è´¦ä¸è§¦åè¿å·¥åã", |
| | | "steps": [ |
| | | {"stage": "æ¥æ", "action": "å°è´§éç¥/å¤åå
¥åºâIQCï¼ç»è®ºå忍è¿å¾
å
¥åºæè§¦åéè´§", "roles": ["IQC è´¨æ£å"]}, |
| | | {"stage": "è¿ç¨", "action": "æ¥å·¥è´¨æ£å·¥åºäº§åºè¡âIPQCï¼åæ ¼æè¡å
¥åºãä¸åæ ¼çæ NCR", "roles": ["IPQC è´¨æ£å"]}, |
| | | {"stage": "åºè´§", "action": "éå®åºåºæäº¤âOQCï¼å®æååºåºåè¿å
¥å¾
æ£è´§", "roles": ["OQC è´¨æ£å"]}, |
| | | {"stage": "éè´§", "action": "éæ/éå®éè´§/å®åéè´§âRQCï¼ç»è®ºåè°åæ®ä¸å®å", "roles": ["RQC è´¨æ£å"]}, |
| | | {"stage": "ä¸åæ ¼", "action": "NCR: å¾
è¯å®¡âè¯å®¡âå¤ç½®(éè´§/æ¥åº/è¿å·¥/è®©æ¥æ¥æ¶/é级)âå
³é", "roles": ["è´¨éå·¥ç¨å¸"]}]}, |
| | | {"id": "warehouse", "name": "ä»å¨æµç¨", "mermaid": "mermaid/06-warehouse-flow.mmd", "color": "#7e6bd6", |
| | | "summary": "15 ç±»åæ®é©±å¨åºåå°è´¦(å
å
ç»ãåé)åå¨ï¼å
¨é¨ç»äºå¡æµæ°´ççï¼æ¯æè°æ¨å¨éãçç¹è°æ´ãæ¹æ¬¡/SN 追溯ãåºåå ç¨ä¸å级å»ç»ã线边èæåºè´åºåï¼å¯¹å¤ WmsStockApi ä¾ ERP æ¶åã", |
| | | "steps": [ |
| | | {"stage": "å
¥åº", "action": "éè´å
¥åº/ç产å
¥åº/产åºå
¥åº/éè´§å
¥åº/å¤åå
¥åº/æé¡¹å
¥åº â IN äºå¡ï¼æ¹æ¬¡æ··æ¾æ ¡éªãå级å»ç»æ ¡éª", "roles": ["ä»ç®¡"]}, |
| | | {"stage": "åºåº", "action": "éå®åºåº/颿/æ¶è/å¤ååæ/ä¾åºåéè´§/æé¡¹åºåº â OUT äºå¡ï¼checkFlag æ§å¶å¯å¦è´åºå", "roles": ["ä»ç®¡", "ç³»ç»èªå¨"]}, |
| | | {"stage": "ç§»åº", "action": "å
é¨/å¤é¨è°æ¨æå¯¹ MOVE äºå¡ï¼å¨éæ°éè·è¸ª", "roles": ["ä»ç®¡"]}, |
| | | {"stage": "çç¹", "action": "æ¹æ¡âä»»å¡âæç»è¡âç»æï¼çç ADJUST_INãçäº ADJUST_OUTï¼å¯å»ç»ä¸ç²ç", "roles": ["çç¹å"]}, |
| | | {"stage": "追溯", "action": "æ¹æ¬¡/SN(uuid)/æ¡ç (18ç±»)/è£
ç®±åµå¥æ¯ææ£åå追溯", "roles": ["è´¨é", "å®å"]}]}, |
| | | {"id": "aftersales", "name": "å®åæµç¨", "mermaid": "mermaid/07-after-sales-flow.mmd", "color": "#c78bd6", |
| | | "summary": "å·¥å(å
æ+é®é¢å¤å®) â ç»´ä¿®ä¸ç±»åæéè´§ç³è¯· â å®¡æ ¸èªå¨å»º MES éå®éè´§å â RQC è´¨æ£/å
¥åº/鿬¾ä¸åè°é级æ¨è¿ â å·¥åå®ç»å
³éã", |
| | | "steps": [ |
| | | {"stage": "åç", "action": "人工å½å
¥å·¥å(å
³è客æ·/订å/åå)ï¼åé
å¤ç人è¿å
¥å¤çä¸", "roles": ["客æ"]}, |
| | | {"stage": "å¤å®", "action": "é®é¢å¤å®: ä¸è¬/ç»´ä¿®/éè´§ï¼ä¸¥é度 0-3", "roles": ["å®åå·¥ç¨å¸"]}, |
| | | {"stage": "ç»´ä¿®", "action": "ç°åº/è¿å/è¿ç¨ç»´ä¿®ï¼è´¹ç¨ä¸ç»æè®°å½ï¼å®æèå¨å·¥åå®ç»", "roles": ["维修工ç¨å¸"]}, |
| | | {"stage": "éè´§", "action": "éè´§ç³è¯·å®¡æ ¸âèªå¨å»º MES éå®éè´§å(RQC)âè´¨æ£/å
¥åºåè°â鿬¾åè°âå
³é", "roles": ["å®å", "è´¨æ£", "è´¢å¡"]}]}, |
| | | {"id": "ai", "name": "AI ä¸å¡æµç¨", "mermaid": "mermaid/11-ai-business-flow.mmd", "color": "#56c8d8", |
| | | "summary": "ç»ä¸æ¨¡å¼ï¼ä¸å¡ä¾§æ¶éä¸ä¸æ(å¿
è¦æ¶è° MDM/SRM/CRM API ååç§°)âç»è£
Promptâchat/chatWithImageâè§£æ JSONâå端é¢å¡«æå»ºè®®ï¼æ Function Callingï¼RAG ç¥è¯åºå·²å»ºæä½ææ ä¸å¡æ¶è´¹ã", |
| | | "steps": [ |
| | | {"stage": "å½å
¥ææ", "action": "å票 OCR(å¾ç夿¨¡æ/PDFææ¬)ãæ¥ä»·å OCR â ç»æåé¢å¡«", "roles": ["éè´å", "éå®"]}, |
| | | {"stage": "è¾
å©å¤å®", "action": "è´¨æ£å+ææ +ç¼ºé· â å»ºè®®åæ ¼/ç¹é/éè´§/æ¥åº+çç±", "roles": ["è´¨æ£å"]}, |
| | | {"stage": "å³ç颿µ", "action": "缺æ/ç产æ¶é¿/ç产é£é©/交ä»åç±»é¢æµä¾è®¡åæäº§åè", "roles": ["计åå"]}, |
| | | {"stage": "ç¥è¯æ£ç´¢", "action": "ææ¡£âåçâMilvus åéâæ£ç´¢æ¥å£(é¢ç)", "roles": ["â"]}]} |
| | | ] |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "modules": [ |
| | | {"key": "mdm", "name": "åºç¡ä¸»æ°æ®", "color": "#8a94a6", "tag": "MDM", "flow": null, |
| | | "positioning": "å
¨ç³»ç»ç»ä¸å£å¾çä¸»æ°æ®æå¨æº", |
| | | "problem": "ç©æãåä½ãä»åºå¨ MES/ERP/CRM å¤å¤éå¤å®ä¹å¯¼è´æ°æ®ææ¶", |
| | | "features": ["ç©æä¸SKUï¼å«æ¹æ¬¡å±æ§é
ç½®12å¼å
³ï¼", "ç©æåç±»æ ", "计éåä½ä¸æ¢ç®", "åç", "ä»åºä¸»æ°æ®ï¼å«typeåæ®µï¼", "MES ç©æç» MdmItemSyncApi åå忥"], |
| | | "objects": ["ç©æ", "SKU", "计éåä½", "ä»åº"], |
| | | "roles": ["ä¸»æ°æ®ç®¡çå"], |
| | | "upstream": [], "downstream": ["ç产", "è¿éå", "éå®", "éè´"], |
| | | "coreTables": ["mdm_item", "mdm_item_sku", "mdm_item_category", "mdm_unit_measure", "mdm_brand", "mdm_warehouse"]}, |
| | | {"key": "crm", "name": "éå®ç®¡çï¼å®¢æ·å
³ç³»ï¼", "color": "#4f9cff", "tag": "CRM", "flow": "sales", |
| | | "positioning": "éå®å端ï¼ä»çº¿ç´¢å°å款ç客æ·ç»è¥", |
| | | "problem": "客æ·èµäº§æ²æ·ãåæºè½¬åãåå审æ¹ä¸å¼ç¥¨å款管æ§", |
| | | "features": ["线索转å客æ·", "å
¬æµ·æ± ä¸é¢åä¸é", "è系人", "åæºèªå®ä¹é¶æ®µ", "è·è¿è®°å½", "æ¥ä»·å(AI OCR)", "åå(BPM审æ¹âçæéå®è®¢å)", "å¼ç¥¨(BPM)â忬¾(å
å¼ç¥¨æ ¡éª)", "忬¾è®¡å", "éå®ç®æ ", "æ°æ®æéä¸çº§(è´è´£äºº/åªè¯»/读å)"], |
| | | "objects": ["线索", "客æ·", "è系人", "åæº", "æ¥ä»·å", "åå", "å票", "忬¾", "éå®ç®æ "], |
| | | "roles": ["éå®å
å¤", "éå®ç»ç", "è´¢å¡(å¼ç¥¨å款)"], |
| | | "upstream": ["ä¸»æ°æ®(ç©æ)"], "downstream": ["è¿éå(éå®è®¢å)", "å®å(客æ·)", "AI(æ¥ä»·OCR)"], |
| | | "coreTables": ["crm_clue", "crm_customer", "crm_contact", "crm_business", "crm_sale_quotation", "crm_contract", "crm_invoice", "crm_receivable", "crm_receivable_plan", "crm_permission"]}, |
| | | {"key": "srm", "name": "ä¾åºå管ç", "color": "#c9a86a", "tag": "SRM", "flow": "purchase", |
| | | "positioning": "ä¾åºåå
¨çå½å¨æï¼åå
¥-èµè´¨-寻æº-绩æ", |
| | | "problem": "ä¾åºååè§åå
¥ãé³å
寻æº(ææ /æ¯ä»·)ä¸ç»©æéå", |
| | | "features": ["ä¾åºåæ¡£æ¡ä¸åç±»", "åå
¥ç³è¯·(BPM éè´/è´¨é/è´¢å¡ä¼ç¾)", "èµè´¨è¯ä¹¦æææ", "ææ ï¼å
¬å¼/é请/ç«è°å®æ´ç+æ¯ä»·ç®æç", "ææ Â·æ¥ä»·Â·å¼æ Â·è¯æ Â·å®æ ", "宿 èªå¨çæéè´è®¢å", "å维绩æ(è´¨é/交ä»/ä»·æ ¼/æå¡)"], |
| | | "objects": ["ä¾åºå", "åå
¥ç³è¯·", "èµè´¨è¯ä¹¦", "ææ é¡¹ç®", "ææ ", "宿 ", "绩æè¯ä»·"], |
| | | "roles": ["éè´å¼å", "ä¾åºå管çå", "è¯å®¡ä¸å®¶"], |
| | | "upstream": ["ä¸»æ°æ®(ç©æ)"], "downstream": ["è¿éå(éè´è®¢å)"], |
| | | "coreTables": ["srm_supplier", "srm_supplier_apply", "srm_supplier_certificate", "srm_tender_project", "srm_tender_bid", "srm_bid_award", "srm_supplier_evaluation"]}, |
| | | {"key": "erp", "name": "è¿éåä¸è´¢å¡", "color": "#5fc79e", "tag": "ERP", "flow": "purchase", |
| | | "positioning": "åè´¸ä¸èµé忮䏿¢ï¼å MES åèµ·å®ç©æ¶å", |
| | | "problem": "éè´éå®åæ®å®¡æ¹ãæ¥ç¥¨ä»æ¬¾æ§å¶ãè®¢åæ§è¡è¿åº¦åå", |
| | | "features": ["éè´ç³è¯·(BPM)â订å(èªå¨/æå¨çæ)", "确认æ¶è´§âMESå°è´§éç¥", "å
¥åº/éè´§æ°éç¶æåå", "éè´æ¥ç¥¨(éé¢â¤è®¢å)", "仿¬¾å(å¿
é¡»å
³èæ¥ç¥¨Â·BPM)", "éå®è®¢å(BPM·审æ¹éè¿èªå¨å»ºMPS)", "åºåºç¶æåå", "æ¶æ¬¾å(å
³èCRM客æ·)", "ç»ç®è´¦æ·", "AIå票OCR"], |
| | | "objects": ["éè´ç³è¯·", "éè´è®¢å", "éè´æ¥ç¥¨", "仿¬¾å", "éå®è®¢å", "æ¶æ¬¾å", "ç»ç®è´¦æ·"], |
| | | "roles": ["éè´å", "éå®å", "åºçº³", "ä¼è®¡"], |
| | | "upstream": ["CRM(åå)", "SRM(宿 )", "ä¸»æ°æ®"], "downstream": ["ç产(MPS)", "ä»å¨(æ¶å)"], |
| | | "coreTables": ["erp_purchase_request", "erp_purchase_order", "erp_purchase_invoice", "erp_finance_payment", "erp_sale_order", "erp_finance_receipt", "erp_account"]}, |
| | | {"key": "pro", "name": "ç产管ç", "color": "#e0b34f", "tag": "MES-PRO", "flow": "production", |
| | | "positioning": "ç产æ§è¡æ ¸å¿ï¼è®¡å-å·¥å-ä»»å¡-æ¥å·¥", |
| | | "problem": "订åå°è½¦é´æ§è¡çéå±æè§£ä¸è¿ç¨å¯æ§", |
| | | "features": ["MPS主ç产计å(å¯ç±éå®è®¢åèªå¨å建·åå¹¶ä¸å)", "å·¥å(æå·¥èºè·¯çº¿èªå¨çæå·¥åºä»»å¡)", "æ¥å·¥(æå·¥åºé¡ºåºæ§å¶Â·BPM审æ¹)", "å岿£çº¿è¾¹åº/产åºå
¥åº", "å®ç¯", "å·¥èºè·¯çº¿Â·å·¥åºÂ·å·¥åBOM", "ç å设计项ç®(PD·审æ¹å½æ¡£)", "AI åç±»é¢æµ"], |
| | | "objects": ["MPS", "ç产工å", "ç产任å¡", "æ¥å·¥å", "å·¥èºè·¯çº¿", "å·¥åBOM", "设计项ç®"], |
| | | "roles": ["计åå", "车é´ä¸»ä»»", "æä½å·¥", "å·¥èºå"], |
| | | "upstream": ["è¿éå(éå®è®¢å)"], "downstream": ["ä»å¨(颿/å
¥åº)", "è´¨é(IPQC)"], |
| | | "coreTables": ["mes_pro_mps", "mes_pro_work_order", "mes_pro_task", "mes_pro_feedback", "mes_pro_route", "mes_pro_process", "mes_pro_work_order_bom", "mes_pd_project"]}, |
| | | {"key": "wm", "name": "ä»å¨ç®¡ç", "color": "#7e6bd6", "tag": "MES-WM", "flow": "warehouse", |
| | | "positioning": "åå
WMSï¼åæ®é©±å¨çåºåè´¦å®ä¸è´", |
| | | "problem": "夿¥æºåºå
¥åºãæ¹æ¬¡/SN 追溯ãåºå精确å°åºä½", |
| | | "features": ["15ç§åºå
¥åºåæ®", "åºåå°è´¦(ç©æÃä»åºÃåºåºÃåºä½Ãæ¹æ¬¡Ãä¾åºå)", "äºå¡æµæ°´åªè¯»çç", "è°æ¨æå¯¹äºå¡", "çç¹(éæ/å¨æÂ·ç²ç·çççäºè°æ´)", "æ¹æ¬¡/SN/æ¡ç /è£
ç®±åµå¥", "èæçº¿è¾¹åº(å
许è´åºå)", "åºåå ç¨(5ç±»)", "å级å»ç»", "WMS审æ¹é
ç½®+BPM", "å¯¹å¤ WmsStockApi/WmsTransactionApi"], |
| | | "objects": ["å°è´§éç¥", "éè´å
¥åº", "颿", "å®å·¥å
¥åº", "éå®åºåº", "åè´§éç¥", "éå®éè´§", "ä¾åºåéè´§", "è°æ¨", "çç¹", "åºåå°è´¦", "æ¹æ¬¡", "SN"], |
| | | "roles": ["ä»ç®¡å", "æ£è´§å", "çç¹å"], |
| | | "upstream": ["éè´(æ¶è´§)", "ç产(é¢éæ)", "éå®(åè´§)", "å®å(éè´§)"], "downstream": ["è¿éå(æ°éåå)", "è´¢å¡(ææ¬åºç¡)"], |
| | | "coreTables": ["mes_wm_warehouse", "mes_wm_material_stock", "mes_wm_transaction", "mes_wm_item_receipt", "mes_wm_product_issue", "mes_wm_product_receipt", "mes_wm_product_sales", "mes_wm_return_sales", "mes_wm_transfer", "mes_wm_stock_taking_task", "mes_wm_batch", "mes_wm_sn", "mes_wm_stock_reserve"]}, |
| | | {"key": "qc", "name": "è´¨é管ç", "color": "#e06c6c", "tag": "MES-QC", "flow": "quality", |
| | | "positioning": "å鿣éªé¸å£ + ä¸åæ ¼åéç¯å¤ç½®", |
| | | "problem": "æ¥æ/è¿ç¨/åºè´§/éè´§æ£éªæ ååï¼ä¸åæ ¼å¯è¿½æº¯å¤ç½®", |
| | | "features": ["IQC æ¥æ(å°è´§/å¤å)", "IPQC è¿ç¨(è卿¥å·¥)", "OQC åºè´§(èå¨éå®åºåº)", "RQC éè´§(èå¨éæ/å®å)", "è´¨æ£æ¹æ¡Â·ææ ·缺é·åº", "æ£æµç»æ:åæ ¼/ç¹é/éè´§/æ¥åº", "NCR:è¯å®¡âå¤ç½®(éè´§/æ¥åº/è¿å·¥/让æ¥/é级)âå
³é", "AI å¤å®å»ºè®®"], |
| | | "objects": ["IQC", "IPQC", "OQC", "RQC", "è´¨æ£æ¹æ¡", "NCR", "缺é·è®°å½"], |
| | | "roles": ["è´¨æ£å(IQC/IPQC/OQC)", "è´¨éå·¥ç¨å¸"], |
| | | "upstream": ["ä»å¨(å°è´§)", "ç产(æ¥å·¥)", "éå®(åºåº)", "å®å(éè´§)"], "downstream": ["ä»å¨(åæ ¼å
¥åº/æ¥åºåºåº)", "ç产(NCRè¿å·¥)"], |
| | | "coreTables": ["mes_qc_iqc", "mes_qc_ipqc", "mes_qc_oqc", "mes_qc_rqc", "mes_qc_template", "mes_qc_indicator", "mes_qc_defect", "mes_qc_ncr"]}, |
| | | {"key": "dv", "name": "设å¤ä¸å·¥è£
æç", "color": "#59a8b8", "tag": "MES-DV/TM/CAL", "flow": null, |
| | | "positioning": "设å¤èµäº§å¥åº·ä¸çäº§èµæºä¿é", |
| | | "problem": "设å¤ç¹æ£ä¿å
»ç»´ä¿®å¯æ§è¡ãå·¥è£
ç¶æå¯æ§ãçç»æçæä¾æ®", |
| | | "features": ["设å¤å°è´¦(åæº/ç产ä¸/ä¿å
»ä¸)", "ç¹æ£Â·ä¿å
»æ¹æ¡ä¸è®°å½", "维修工å(è稿âç»´ä¿®âå¾
éªæ¶â已确认)", "计éå¨å
·æ£å®", "å·¥è£
夹å
·(å¨åº/é¢ç¨/ç»´ä¿®/æ¥åº)", "çç»Â·ç次·æç计å·è忥"], |
| | | "objects": ["设å¤", "ç¹æ£è®°å½", "维修工å", "å·¥è£
", "æç计å"], |
| | | "roles": ["设å¤å", "维修工", "å·¥è£
管çå", "æçå"], |
| | | "upstream": [], "downstream": ["ç产(AI é£é©é¢æµæ¶è´¹è®¾å¤æ°æ®)", "èªé
¬(æçå·¥æ¶)"], |
| | | "coreTables": ["mes_dv_machinery", "mes_dv_check_plan", "mes_dv_check_record", "mes_dv_repair", "mes_tm_tool", "mes_cal_plan", "mes_cal_team", "mes_cal_shift"]}, |
| | | {"key": "aftersales", "name": "å®åæå¡", "color": "#c78bd6", "tag": "AFTER", "flow": "aftersales", |
| | | "positioning": "客æ·åé¦å°éè´§/ç»´ä¿®/鿬¾éç¯", |
| | | "problem": "å®åå·¥åæµè½¬ãéè´§ä¸è´¨æ£å
¥åºé款ç跨系ç»èå¨", |
| | | "features": ["å·¥åå
æ(è稿âå¤çä¸âå¾
å
¥åºâå¾
鿬¾âå®ç»âå
³é)", "é®é¢å¤å®(ä¸è¬/ç»´ä¿®/éè´§)", "ç»´ä¿®(ç°åº/è¿å/è¿ç¨)", "éè´§ç³è¯·âèªå¨å»º MES éå®éè´§å", "è´¨æ£ç»è®º/å
¥åº/鿬¾ä¸éåè°", "è¡çº§æ°æ®æéåè§å¾"], |
| | | "objects": ["å®åå·¥å", "维修记å½", "éè´§ç³è¯·"], |
| | | "roles": ["客æ", "维修工ç¨å¸", "å®å管çå"], |
| | | "upstream": ["CRM(客æ·)", "ERP(éå®è®¢å)"], "downstream": ["ä»å¨(éå®éè´§)", "è´¨é(RQC)", "è´¢å¡(鿬¾)"], |
| | | "coreTables": ["after_sale_ticket", "after_sale_ticket_item", "after_sale_repair", "after_sale_return", "after_sale_permission"]}, |
| | | {"key": "hrm", "name": "人åèµæº", "color": "#9db85a", "tag": "HRM", "flow": null, |
| | | "positioning": "åå·¥å
¥è½¬è°ç¦»ä¸èå¤èªé
¬", |
| | | "problem": "äººäºæµç¨å®¡æ¹åãç¦»èæ°æ®ä¸ä¸¢(交æ¥)ãç®èªèªå¨å", |
| | | "features": ["å工档æ¡(å
¥èèªå¨å»ºç³»ç»è´¦å·)", "请å/å ç/è°å²/离è BPM 审æ¹", "离èäº¤æ¥æ å° expandUserIds", "èå¤(æå¡Â·è§å·æç·补å¡å®¡æ¹Â·æåº¦æ±æ»)", "èªé
¬(åºå-社ä¿å
¬ç§¯é-个ç¨-è¯·åæ£æ¬¾Â·1.5/2/3åå çè´¹Â·åæ¾å°è´¦)", "å¹è®è¯ä¹¦(SQLå
è¡å¾
å®ç°)"], |
| | | "objects": ["åå·¥", "请åå", "离èç³è¯·", "äº¤æ¥æ å°", "èå¤è®°å½", "èªé
¬æ ¸ç®"], |
| | | "roles": ["HR", "é¨é¨ä¸»ç®¡", "åå·¥æ¬äºº"], |
| | | "upstream": [], "downstream": ["忍¡å(æ°æ®å¯è§æ§æ©å±)", "system(è´¦å·)"], |
| | | "coreTables": ["hrm_employee", "hrm_leave_application", "hrm_resignation_application", "hrm_user_handover", "hrm_attendance_record", "hrm_salary_calculation", "hrm_salary_payment"]}, |
| | | {"key": "bpm", "name": "åå审æ¹", "color": "#e6a23c", "tag": "BPM", "flow": null, |
| | | "positioning": "å
¨ç³»ç»åæ®å®¡æ¹ä¸æ¢ï¼Flowableï¼", |
| | | "problem": "夿¨¡ååæ®éè¦çµæ´»å¯é
çå¤çº§å®¡æ¹", |
| | | "features": ["BPMN+éé飿 ¼å设计å¨", "æµç¨å®ä¹é¨ç½²", "审æ¹äºä»¶ç»ä¸åè°(BpmProcessInstanceStatusEvent)", "13个ä¸å¡çå¬å¨", "表åÂ·ç¨æ·ç»Â·æé·å ç¾"], |
| | | "objects": ["æµç¨æ¨¡å", "æµç¨å®ä¾", "审æ¹ä»»å¡"], |
| | | "roles": ["审æ¹äºº(ææµç¨é
ç½®)", "æµç¨ç®¡çå"], |
| | | "upstream": ["åä¸å¡æäº¤å®¡æ¹"], "downstream": ["åè°æ´æ°åä¸å¡åæ®ç¶æ"], |
| | | "coreTables": ["bpm_process_definition_info", "bpm_process_instance", "bpm_task", "act_*", "flowable_*"]}, |
| | | {"key": "ai", "name": "AI æºè½", "color": "#56c8d8", "tag": "AI", "flow": "ai", |
| | | "positioning": "åæ®å½å
¥ææä¸ç产å³çè¾
å©", |
| | | "problem": "人工å½å票/æ¥ä»·æ
¢ãè´¨æ£ä¸æäº§ä¾èµç»éª", |
| | | "features": ["chat/chatWithImage åéé", "OCR é¢å¡«(å票/æ¥ä»·)", "è´¨æ£å¤å®å»ºè®®", "缺æ/æ¶é¿/é£é©/交ä»åç±»é¢æµ", "RAG ç¥è¯åº(Milvus)", "AIä¸å¯ç¨æ¶ fallback 人工"], |
| | | "objects": ["ç¥è¯åº", "AI模åé
ç½®", "对è¯è®°å½"], |
| | | "roles": ["éè´å", "éå®", "è´¨æ£å", "计åå"], |
| | | "upstream": ["åä¸å¡æä¾ä¸ä¸ææ°æ®"], "downstream": ["ç»æåJSON建议è¿åä¸å¡ä¾§"], |
| | | "coreTables": ["ai_chat_conversation", "ai_chat_message", "ai_model", "ai_knowledge", "ai_knowledge_document", "ai_knowledge_segment"]} |
| | | ], |
| | | "platform": { |
| | | "name": "ç³»ç»åºåº§", |
| | | "capabilities": ["JWT+OAuth2 认è¯Â·æ»åéªè¯ç ", "RBAC è§è²-èå-æ°æ®èå´(å
¨é¨/é¨é¨/æ¬é¨é¨åä¸çº§/ä»
æ¬äºº/èªå®ä¹)", "åå
¸", "éä»¶ä¸å¿(storage-blob æä»¶ + storage-attachment æ recordType+recordId 夿å
³èï¼å
¨æ¨¡å强å¶ä½¿ç¨)", "ç¼ç è§å(åä¸å¡èªå®ç° Redis åç¼+æ¥æ+æµæ°´)", "Quartz 宿¶ä»»å¡Â·RocketMQ/Kafka/Redis Stream MQ·WebSocket", "å¤ç§æ·å·²å
³é", "å®é
system_role ä»
4 个ï¼è¶
级管çå/æ®éè§è²/CRM管çå/ç§æ·ç®¡çåï¼ä¸å¡åå·¥é æ°æ®æéèéå¤è§è²"], |
| | | "unused": ["im 模å(IM/RTCï¼ä¸å¡æªæ¶è´¹)", "member 模å(C端ä¼åï¼éç)"] |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "objects": [ |
| | | {"name": "ç©æ", "module": "åºç¡ä¸»æ°æ®", "table": "mdm_item", "doc": "MDM æå¨ç©æ/产å/åæåæ¡£æ¡ï¼å« SKUãæ¹æ¬¡å±æ§ãä»·æ ¼ãå®å
¨åºå", "upstream": ["MES ç©æåå忥"], "downstream": ["æ¥ä»·å", "éå®è®¢å", "éè´è®¢å", "å·¥åBOM", "åºåå°è´¦"], "keywords": "ç©æ 产å åææ item"}, |
| | | {"name": "ä»åº", "module": "åºç¡ä¸»æ°æ®", "table": "mdm_warehouse", "doc": "ä»åºä¸»æ°æ®ï¼type: 1åæ/2æå/3åæå/4线边ï¼MES èªæ mes_wm_warehouse æ¿è½½åºåºåºä½", "upstream": [], "downstream": ["åºåå°è´¦", "åºå
¥åºåæ®"], "keywords": "ä»åº warehouse åæä» æåä» çº¿è¾¹ä»"}, |
| | | {"name": "客æ·", "module": "éå®ç®¡ç", "table": "crm_customer", "doc": "客æ·ä¸»æ¡£ï¼å
¬æµ·æ± /éå®/æäº¤ç¶æï¼è´è´£äººæ°æ®æé", "upstream": ["线索"], "downstream": ["è系人", "åæº", "æ¥ä»·å", "åå", "å®åå·¥å", "æ¶æ¬¾å"], "keywords": "å®¢æ· customer å
¬æµ·"}, |
| | | {"name": "线索", "module": "éå®ç®¡ç", "table": "crm_clue", "doc": "åå§éå®çº¿ç´¢ï¼ä»
䏿¬¡è½¬å为客æ·", "upstream": [], "downstream": ["客æ·"], "keywords": "线索 clue"}, |
| | | {"name": "è系人", "module": "éå®ç®¡ç", "table": "crm_contact", "doc": "客æ·ä¸è系人ï¼ä¸åæºå¤å¯¹å¤", "upstream": ["客æ·"], "downstream": ["åæº"], "keywords": "è系人 contact"}, |
| | | {"name": "åæº", "module": "éå®ç®¡ç", "table": "crm_business", "doc": "é宿ºä¼ï¼DB é
ç½®å¼é¶æ®µæ¨è¿ï¼ç»ææ: èµ¢/è¾/æ æ", "upstream": ["客æ·"], "downstream": ["æ¥ä»·å", "åå"], "keywords": "åæº business èµ¢å è¾å é¶æ®µ"}, |
| | | {"name": "æ¥ä»·å", "module": "éå®ç®¡ç", "table": "crm_sale_quotation", "doc": "QTç¼å·ï¼é MDM ç©ææ¥ä»·ï¼AI OCR å½å
¥ï¼è稿â已转åå", "upstream": ["åæº"], "downstream": ["åå"], "keywords": "æ¥ä»· quotation QT"}, |
| | | {"name": "åå", "module": "éå®ç®¡ç", "table": "crm_contract", "doc": "HTç¼å·ï¼BPM 审æ¹(0è稿/10审æ¹ä¸/20éè¿/30驳å/40åæ¶/50ä½åº)ï¼éè¿åå¯çæéå®è®¢å", "upstream": ["æ¥ä»·å"], "downstream": ["éå®è®¢å", "忬¾è®¡å", "å¼ç¥¨"], "keywords": "åå contract 审æ¹"}, |
| | | {"name": "å票", "module": "éå®ç®¡ç", "table": "crm_invoice", "doc": "KPç¼å·ï¼BPM 审æ¹ï¼ç´¯è®¡å¼ç¥¨â¤ååé¢ï¼éä»¶å¿
ä¼ ", "upstream": ["åå"], "downstream": ["忬¾"], "keywords": "å¼ç¥¨ å票 invoice"}, |
| | | {"name": "忬¾", "module": "éå®ç®¡ç", "table": "crm_receivable", "doc": "HKç¼å·ï¼å建å³å®¡æ¹ä¸(æå¨å®¡æ ¸)ï¼å¼ºå¶å
å¼ç¥¨ï¼éé¢åæ ¡éª", "upstream": ["åå", "å票"], "downstream": ["æ¶æ¬¾å(å
³è)"], "keywords": "忬¾ æ¶æ¬¾è®¡å receivable"}, |
| | | {"name": "éå®ç®æ ", "module": "éå®ç®¡ç", "table": "crm_sales_target", "doc": "å¹´/å£/æÃ个人/é¨é¨/产å维度çåå忬¾çç®æ ", "upstream": [], "downstream": ["ä¸ç»©ç»è®¡"], "keywords": "ç®æ target ä¸ç»©"}, |
| | | {"name": "ä¾åºå", "module": "ä¾åºå管ç", "table": "srm_supplier", "doc": "ä¾åºåæ¡£æ¡ï¼æ§ç
§/ç¨å·/é¶è¡/è系人ï¼ERP ä¸ MES å
±ç¨", "upstream": ["åå
¥ç³è¯·"], "downstream": ["éè´è®¢å", "å°è´§éç¥", "ä¾åºåéè´§", "绩æè¯ä»·"], "keywords": "ä¾åºå supplier vendor"}, |
| | | {"name": "åå
¥ç³è¯·", "module": "ä¾åºå管ç", "table": "srm_supplier_apply", "doc": "APç¼å·ï¼BPM 审æ¹(éè´/è´¨é/è´¢å¡)ï¼éè¿èªå¨å»ºä¾åºåæ¡£æ¡", "upstream": [], "downstream": ["ä¾åºå"], "keywords": "åå
¥ ä¾åºåç³è¯· apply"}, |
| | | {"name": "ææ é¡¹ç®", "module": "ä¾åºå管ç", "table": "srm_tender_project", "doc": "宿´ç(åå¸âææ â弿 âè¯æ â宿 )ä¸ç®ææ¯ä»·ä¸¤ç§æ¨¡å¼", "upstream": [], "downstream": ["宿 âéè´è®¢å"], "keywords": "ææ ææ æ¯ä»· 宿 tender 寻æº"}, |
| | | {"name": "éè´ç³è¯·", "module": "è¿éå", "table": "erp_purchase_request", "doc": "CGSQç¼å·ï¼BPM 审æ¹ï¼éè¿åæä¾åºåèªå¨çæè®¢å", "upstream": ["ç产缺å£(人工)"], "downstream": ["éè´è®¢å"], "keywords": "éè´ç³è¯· è¯·è´ request"}, |
| | | {"name": "éè´è®¢å", "module": "è¿éå", "table": "erp_purchase_order", "doc": "CGDDç¼å·ï¼BPM 审æ¹(15审æ¹ä¸/20å·²å®¡æ ¸)ï¼å
¥åºç¶æ:æª0é¨å1å
¨é¨2", "upstream": ["éè´ç³è¯·", "宿 "], "downstream": ["å°è´§éç¥", "éè´æ¥ç¥¨", "ä¾åºåéè´§(约æç©æ)"], "keywords": "éè´è®¢å purchase"}, |
| | | {"name": "éè´æ¥ç¥¨", "module": "è¿éå", "table": "erp_purchase_invoice", "doc": "FPDç¼å·ï¼AI OCR é¢å¡«ï¼ç´¯è®¡â¤è®¢åæ»ä»·ï¼ä»æ¬¾åçåç½®", "upstream": ["éè´è®¢å"], "downstream": ["仿¬¾å"], "keywords": "æ¥ç¥¨ å票 éè´å票"}, |
| | | {"name": "仿¬¾å", "module": "è´¢å¡", "table": "erp_finance_payment", "doc": "FKDç¼å·ï¼å¿
é¡»å
³èæ¥ç¥¨+éä»¶ï¼ç´¯è®¡â¤æ¥ç¥¨éé¢ï¼BPM 审æ¹", "upstream": ["éè´æ¥ç¥¨"], "downstream": ["ç»ç®è´¦æ·"], "keywords": "仿¬¾ åºä» payment"}, |
| | | {"name": "æ¶æ¬¾å", "module": "è´¢å¡", "table": "erp_finance_receipt", "doc": "SKDç¼å·ï¼å
³è CRM å®¢æ·æ ¡éªï¼æ BPM(æå¨å®¡æ ¸)", "upstream": ["éå®(å¼±å
³è)"], "downstream": ["ç»ç®è´¦æ·"], "keywords": "æ¶æ¬¾ åºæ¶ receipt"}, |
| | | {"name": "éå®è®¢å", "module": "è¿éå", "table": "erp_sale_order", "doc": "XSDDç¼å·ï¼BPM 审æ¹ï¼éç产è¡èªå¨å»º MPSï¼åºåºç¶æ:æª0å·²é¢ç1é¨å2å
¨é¨3ï¼çäº§å®æäºä»¶åå", "upstream": ["åå"], "downstream": ["MPS", "åè´§éç¥", "éå®åºåº", "å®åå·¥å"], "keywords": "éå®è®¢å sale"}, |
| | | {"name": "主ç产计å", "module": "ç产", "table": "mes_pro_mps", "doc": "MPS计åï¼è稿0âå·²ä¸å1â宿2/åæ¶3ï¼å¯åå¹¶ä¸å", "upstream": ["éå®è®¢å"], "downstream": ["ç产工å"], "keywords": "MPS 主计å ç产计å"}, |
| | | {"name": "ç产工å", "module": "ç产", "table": "mes_pro_work_order", "doc": "è稿0â已确认1â宿2/åæ¶3ï¼ç¡®è®¤æ¶æå·¥èºè·¯çº¿çæä»»å¡ï¼æåä¸éå·¥åºæ¥å·¥ååå·²ç产æ°é", "upstream": ["MPS"], "downstream": ["ç产任å¡", "颿", "å®å·¥å
¥åº"], "keywords": "å·¥å ç产工å work order"}, |
| | | {"name": "ç产任å¡", "module": "ç产", "table": "mes_pro_task", "doc": "å·¥åºç²åº¦ï¼é¢å¤0âç产ä¸1âé¨å2â宿4ï¼å¯æå9åæ¶5", "upstream": ["ç产工å"], "downstream": ["æ¥å·¥"], "keywords": "ä»»å¡ task å·¥åº"}, |
| | | {"name": "æ¥å·¥å", "module": "ç产", "table": "mes_pro_feedback", "doc": "è稿0â审æ¹ä¸2âå¾
æ£3/宿4ï¼æå·¥åºé¡ºåºæ ¡éª(ä¸éå·¥åºæ¥æ»¡æå¯æ¥)ï¼èå¨å岿¶è/产åºå
¥åº/IPQC", "upstream": ["ç产任å¡"], "downstream": ["产å产åº", "ç©ææ¶è", "IPQC"], "keywords": "æ¥å·¥ feedback"}, |
| | | {"name": "å·¥èºè·¯çº¿", "module": "ç产", "table": "mes_pro_route", "doc": "å·¥åºé¡ºåº+è´¨æ£/å
³é®/å岿 è®°ï¼é©±å¨å·¥åä»»å¡ä¸æ¥å·¥è§å", "upstream": [], "downstream": ["ç产工å"], "keywords": "å·¥èº è·¯çº¿ route å·¥åº"}, |
| | | {"name": "å°è´§éç¥å", "module": "ä»å¨", "table": "mes_wm_arrival_notice", "doc": "éè´è®¢å确认æ¶è´§çæï¼è稿0âå¾
è´¨æ£2âå¾
å
¥åº3â宿4", "upstream": ["éè´è®¢å"], "downstream": ["IQC", "éè´å
¥åº"], "keywords": "å°è´§ æ¶è´§ arrival"}, |
| | | {"name": "éè´å
¥åºå", "module": "ä»å¨", "table": "mes_wm_item_receipt", "doc": "è稿0âå¾
䏿¶2âå¾
æ§è¡3â宿4ï¼å®æååºå+å¹¶åå ERP inCount/inStatus", "upstream": ["å°è´§éç¥"], "downstream": ["åºåå°è´¦", "éè´è®¢å(åå)"], "keywords": "éè´å
¥åº æ¶è´§å
¥åº receipt"}, |
| | | {"name": "çäº§é¢æå", "module": "ä»å¨", "table": "mes_wm_product_issue", "doc": "è稿0âå¾
æ£è´§2âå¾
æ§è¡3â宿4ï¼åºå-", "upstream": ["ç产工å"], "downstream": ["åºåå°è´¦"], "keywords": "颿 issue"}, |
| | | {"name": "éå®åºåºå", "module": "ä»å¨", "table": "mes_wm_product_sales", "doc": "åè´§éç¥å®¡æ ¸åçæï¼æäº¤âOQCæ£æµâæ£è´§âåè¿10âå¾
æ§è¡3â宿4ï¼ååéå®è®¢ååºåºæ°ä¸ç¶æ", "upstream": ["åè´§éç¥", "éå®è®¢å"], "downstream": ["åºåå°è´¦", "OQC"], "keywords": "éå®åºåº åè´§ åºåºå sales"}, |
| | | {"name": "éå®éè´§å", "module": "ä»å¨", "table": "mes_wm_return_sales", "doc": "è稿âå¾
æ£éª(RQC)âå¾
䏿¶âå¾
å
¥åºâ宿ï¼å®åä¸æå·¥ä¸¤æ¥æº", "upstream": ["å®åéè´§ç³è¯·"], "downstream": ["åºåå°è´¦", "RQC"], "keywords": "éå®éè´§ éè´§å
¥åº"}, |
| | | {"name": "ä¾åºåéè´§å", "module": "ä»å¨", "table": "mes_wm_return_vendor", "doc": "IQC ä¸åæ ¼éè´§åèµ·ï¼å¾
æ£è´§âå¾
æ§è¡â宿ï¼åºå-", "upstream": ["IQC"], "downstream": ["åºåå°è´¦", "éè´è®¢å(returnCount)"], "keywords": "ä¾åºåéè´§ éæ éè´§ vendor"}, |
| | | {"name": "è°æ¨å", "module": "ä»å¨", "table": "mes_wm_transfer", "doc": "å
é¨/å¤é¨è°æ¨ï¼æå¯¹ MOVE_OUT+MOVE_IN äºå¡ï¼å¨éæ°é", "upstream": [], "downstream": ["åºåå°è´¦"], "keywords": "è°æ¨ ç§»åº transfer"}, |
| | | {"name": "çç¹ä»»å¡", "module": "ä»å¨", "table": "mes_wm_stock_taking_task", "doc": "éæ/卿çç¹ï¼è¡ç»æ:æ£å¸¸/çç(ADJUST_IN)/çäº(ADJUST_OUT)ï¼å¯å»ç»åºåãç²ç", "upstream": ["åºåå°è´¦"], "downstream": ["åºåå°è´¦(è°æ´)"], "keywords": "çç¹ çç çäº stock taking"}, |
| | | {"name": "åºåå°è´¦", "module": "ä»å¨", "table": "mes_wm_material_stock", "doc": "ç©æÃä»åºÃåºåºÃåºä½Ãæ¹æ¬¡Ãä¾åºåå
å
ç»ï¼æ°é/å»ç»/å ç¨/å¨éåé", "upstream": ["å
¨é¨å
¥åºå"], "downstream": ["å
¨é¨åºåºå", "äºå¡æµæ°´"], "keywords": "åºå å°è´¦ stock å¯ç¨é"}, |
| | | {"name": "æ¹æ¬¡", "module": "ä»å¨", "table": "mes_wm_batch", "doc": "å
³èç©æ/å·¥å/ä¾åºå/客æ·/è´¨éç¶æï¼SN ç 嫿¹æ¬¡ uuidï¼æ¡ç æ¯æ18ç§ä¸å¡å¯¹è±¡", "upstream": ["å
¥åºåæ®"], "downstream": ["åºåå°è´¦"], "keywords": "æ¹æ¬¡ batch SN æ¡ç 追溯"}, |
| | | {"name": "IQCæ¥ææ£éª", "module": "è´¨é", "table": "mes_qc_iqc", "doc": "å°è´§éç¥/å¤åå
¥åºè§¦åï¼è稿0â宿4ï¼ç»è®ºå忥æºåæ®", "upstream": ["å°è´§éç¥", "å¤åå
¥åº"], "downstream": ["éè´å
¥åº", "ä¾åºåéè´§", "NCR"], "keywords": "IQC æ¥ææ£éª"}, |
| | | {"name": "IPQCè¿ç¨æ£éª", "module": "è´¨é", "table": "mes_qc_ipqc", "doc": "æ¥å·¥è´¨æ£å·¥åºäº§åºè¡è§¦åï¼å®æåè°æ¨è¿æ¥å·¥ä¸äº§åºå
¥åº", "upstream": ["æ¥å·¥"], "downstream": ["产åºå
¥åº", "NCR"], "keywords": "IPQC è¿ç¨æ£éª å·¡æ£"}, |
| | | {"name": "OQCåºè´§æ£éª", "module": "è´¨é", "table": "mes_qc_oqc", "doc": "éå®åºåºæäº¤è§¦åï¼å®ææ¨è¿åºåºåå¾
æ£è´§", "upstream": ["éå®åºåºå"], "downstream": ["éå®åºåºå(æ¨è¿)"], "keywords": "OQC åºè´§æ£éª åºåæ£éª"}, |
| | | {"name": "RQCéè´§æ£éª", "module": "è´¨é", "table": "mes_qc_rqc", "doc": "ç产éæ/éå®éè´§/å®åé货触åï¼ç»è®ºåè°å®å", "upstream": ["éæ", "éè´§"], "downstream": ["éè´§å
¥åº", "å®ååè°"], "keywords": "RQC éè´§æ£éª"}, |
| | | {"name": "NCRä¸åæ ¼å", "module": "è´¨é", "table": "mes_qc_ncr", "doc": "å¾
è¯å®¡0âå·²è¯å®¡6âå·²å¤ç½®7âå·²å
³é8ï¼å¤ç½®:éè´§/æ¥åº/è¿å·¥/è®©æ¥æ¥æ¶/é级", "upstream": ["IQC/IPQC/OQC/RQC"], "downstream": ["éè´§/æ¥åº/è¿å·¥(å°è´¦)"], "keywords": "NCR ä¸åæ ¼ å¤ç½® ç¹é æ¥åº"}, |
| | | {"name": "设å¤", "module": "设å¤", "table": "mes_dv_machinery", "doc": "å°è´¦ç¶æ:åæº/ç产ä¸/ä¿å
»ä¸ï¼ç¹æ£Â·ä¿å
»Â·ç»´ä¿®å·¥åï¼AI é£é©é¢æµæ¶è´¹å
¶æ°æ®", "upstream": [], "downstream": ["ç¹æ£", "ç»´ä¿®", "ç产é£é©é¢æµ"], "keywords": "è®¾å¤ ç¹æ£ ä¿å
» ç»´ä¿® machinery"}, |
| | | {"name": "å®åå·¥å", "module": "å®å", "table": "after_sale_ticket", "doc": "è稿0âå¤çä¸10âå¾
å
¥åº30âå¾
鿬¾40âå®ç»50âå
³é60/åæ¶99ï¼å¤å®:ä¸è¬/ç»´ä¿®/éè´§", "upstream": ["客æ·åé¦(人工å½å
¥)"], "downstream": ["维修记å½", "éè´§ç³è¯·"], "keywords": "å®å å·¥å ticket ç»´ä¿®"}, |
| | | {"name": "éè´§ç³è¯·", "module": "å®å", "table": "after_sale_return", "doc": "è稿0âå·²å®¡æ ¸20(èªå¨å»ºMESéè´§å)â已质æ£40âå·²å
¥åº50â已鿬¾60âå
³é70ï¼ç±»å:鿬¾éè´§/æ¢è´§/ä»
鿬¾", "upstream": ["å®åå·¥å"], "downstream": ["éå®éè´§å", "鿬¾"], "keywords": "å®åéè´§ return"}, |
| | | {"name": "åå·¥", "module": "人å", "table": "hrm_employee", "doc": "å¨è1/è¯ç¨2/离è3ï¼å
¥èèªå¨å»ºç³»ç»è´¦å·", "upstream": [], "downstream": ["äº¤æ¥æ å°", "èå¤", "èªé
¬"], "keywords": "åå·¥ å
¥è employee"}, |
| | | {"name": "离è交æ¥", "module": "人å", "table": "hrm_user_handover", "doc": "fromâto æ å°ï¼å·²å®æ20 å expandUserIds æ©å±äº¤æ¥äººå¯è§æ°æ®ï¼å½ååä¸å¡æ¨¡åå°æªå®é
æ¥å
¥è°ç¨ï¼", "upstream": ["离èç³è¯·"], "downstream": ["忍¡åæçæ°æ®æ¥è¯¢"], "keywords": "äº¤æ¥ ç¦»è handover expandUserIds"}, |
| | | {"name": "æç计å", "module": "设å¤", "table": "mes_cal_plan", "doc": "çç»Ãçæ¬¡Ãæ¥ææçï¼ä¾ç产ä¸èå¤å¼ç¨", "upstream": [], "downstream": ["ç产任å¡", "èå¤"], "keywords": "æç çç» çæ¬¡ æ¥å"} |
| | | ] |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "note": "å®é
system_role ä»
4 个ææè§è²ï¼è¶
级管çå/æ®éè§è²/CRM管çå/ç§æ·ç®¡çåï¼+1 æµè¯è§è²ï¼ä¸å¡å工主è¦éè¿ãèåæé + æ°æ®æéï¼è´è´£äººå¶ï¼ãå®ç°ï¼èéç»åè§è²ã以ä¸ä¸å¡è§è²ç±å模ååè½ä¸æ°æ®æéæ¨¡åæ¨å¯¼ã", |
| | | "systemRoles": [ |
| | | {"name": "è¶
级管çå", "code": "super_admin", "desc": "代ç ç´è¿å
¨é¨èå"}, |
| | | {"name": "æ®éè§è²", "code": "common", "desc": "ä¾èµ system_role_menu é
æ"}, |
| | | {"name": "CRM 管çå", "code": "crm_admin", "desc": "CRM æ¥çå
¨é¨æ°æ®"}, |
| | | {"name": "ç§æ·ç®¡çå", "code": "tenant_admin", "desc": "å¤ç§æ·å·²å
³éï¼éç"} |
| | | ], |
| | | "businessRoles": [ |
| | | {"role": "éå®å
å¤/éå®", "modules": ["CRM", "ERP"], "operations": ["线索客æ·åæºç»´æ¤", "æ¥ä»·ä¸åå", "éå®è®¢å", "è·è¿è®°å½"], "data": ["crm_*", "erp_sale_order"], "scope": "è´è´£äºº(owner)+æ°æ®æéä¸çº§ï¼åªè¯»/读å/è´è´£äººï¼å
¬æµ·æ± å¯é¢åï¼äº¤æ¥äººåºå¯éè¿ expandUserIds çå°ç¦»èäººæ°æ®(æ¥å£å·²å¤ãå¾
æ¥å
¥)"}, |
| | | {"role": "éå®ç»ç", "modules": ["CRM"], "operations": ["åæº/åå审æ¹åä¸", "éå®ç®æ å¶å®", "ä¸ç»©æåæ¼æåæ"], "data": ["å¢éæ°æ®(ä¸å±ç¨æ·)"], "scope": "AdminUserApi ä¸çº§ç¨æ·æ©å±"}, |
| | | {"role": "éè´å", "modules": ["ERP", "SRM"], "operations": ["éè´ç³è¯·/订å", "确认æ¶è´§", "æ¥ç¥¨ä¸ä»æ¬¾åèµ·"], "data": ["erp_purchase_*", "srm_*"], "scope": "requestUserId/supplierOwner å½å±"}, |
| | | {"role": "éè´å¼å/ä¾åºå管çå", "modules": ["SRM"], "operations": ["åå
¥å®¡æ¹æµè½¬", "ææ æ¯ä»·ç»ç»", "绩æè¯ä»·"], "data": ["srm_supplier_apply", "srm_tender_*"], "scope": "BPM å¤é¨é¨ä¼ç¾(éè´/è´¨é/è´¢å¡)"}, |
| | | {"role": "计åå", "modules": ["MES"], "operations": ["MPS ä¸å·¥å", "å·¥èºè·¯çº¿ç»´æ¤", "AI 颿µåè"], "data": ["mes_pro_*"], "scope": "车é´/é¨é¨æ°æ®èå´"}, |
| | | {"role": "æä½å·¥/çç»é¿", "modules": ["MES"], "operations": ["任塿¥æ¶", "æ¥å·¥æäº¤(åå·¥åºé¡ºåºçº¦æ)", "å®ç¯"], "data": ["mes_pro_feedback", "mes_pro_task"], "scope": "ä»»å¡ææ´¾äººå¯è§"}, |
| | | {"role": "ä»ç®¡å", "modules": ["MES-WM"], "operations": ["15 ç±»åºå
¥åºåæ®æ§è¡", "è°æ¨", "çç¹", "æ¡ç è£
ç®±"], "data": ["mes_wm_*"], "scope": "ä»åºç»´åº¦ï¼WMS 坿ä»åºé
ç½®åºå
¥åº/è°æ¨/çç¹æ¯å¦èµ° BPM"}, |
| | | {"role": "è´¨æ£å", "modules": ["MES-QC"], "operations": ["IQC/IPQC/OQC/RQC æ£éª", "NCR è¯å®¡å¤ç½®"], "data": ["mes_qc_*"], "scope": "inspectorUserId å½å±"}, |
| | | {"role": "设å¤å/维修工", "modules": ["MES-DV"], "operations": ["ç¹æ£ä¿å
»", "维修工å", "å·¥è£
é¢ç¨"], "data": ["mes_dv_*", "mes_tm_*"], "scope": "chargeUserId å½å±"}, |
| | | {"role": "客æ/å®åå·¥ç¨å¸", "modules": ["å®å"], "operations": ["å·¥ååçæ´¾å·¥", "ç»´ä¿®", "éè´§ç³è¯·"], "data": ["after_sale_*"], "scope": "è¡çº§æ°æ®æéåè§å¾ï¼æè´è´£/æåä¸/ä¸å±è´è´£/å
¨é¨(aftersales:view-all)"}, |
| | | {"role": "è´¢å¡", "modules": ["ERP", "CRM"], "operations": ["æ¶æ¬¾å", "仿¬¾å", "å¼ç¥¨å®¡æ ¸", "ç»ç®è´¦æ·"], "data": ["erp_finance_*", "crm_invoice", "crm_receivable"], "scope": "financeUserId å½å±"}, |
| | | {"role": "HR", "modules": ["HRM"], "operations": ["å工档æ¡å
¥è½¬è°ç¦»", "èå¤è§åæç", "èªé
¬æ ¸ç®åæ¾", "离è交æ¥"], "data": ["hrm_*"], "scope": "é¨é¨èå´ dataScope"}, |
| | | {"role": "管çå±", "modules": ["BI"], "operations": ["æ¥çéè´éå®/ä»åº/ç产设å¤/è´¨é/人åäºå¤§ä¸»é¢å¤§å±"], "data": ["bi_dashboard"], "scope": "åªè¯»"} |
| | | ] |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="zh-CN"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| | | <title>MOM 工忰ååå¹³å° Â· 项ç®ä¸å¡å
¨æ¯</title> |
| | | <style> |
| | | :root{ |
| | | --bg:#0b1220; --bg2:#101a2e; --panel:#131f36; --panel2:#182742; |
| | | --line:#24344f; --text:#dbe4f0; --muted:#8fa1b8; |
| | | --c-base:#8a94a6; --c-sale:#4f9cff; --c-sup:#c9a86a; --c-erp:#5fc79e; |
| | | --c-prod:#e0b34f; --c-wm:#7e6bd6; --c-qc:#e06c6c; --c-dv:#59a8b8; |
| | | --c-as:#c78bd6; --c-hrm:#9db85a; --c-bpm:#e6a23c; --c-ai:#56c8d8; --c-fin:#3ec9a7; |
| | | } |
| | | *{box-sizing:border-box;margin:0;padding:0} |
| | | html,body{height:100%} |
| | | body{background:var(--bg);color:var(--text);font-family:"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif;font-size:14px;line-height:1.6} |
| | | header{position:fixed;top:0;left:0;right:0;height:64px;background:linear-gradient(180deg,#0e1728,#0b1220);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 24px;z-index:50} |
| | | header .logo{width:30px;height:30px;border-radius:6px;background:linear-gradient(135deg,#2c5cff,#19c2d8);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:13px} |
| | | header h1{font-size:17px;font-weight:600;letter-spacing:.5px} |
| | | header .sub{color:var(--muted);font-size:12px} |
| | | #globalSearchWrap{margin-left:auto;position:relative;width:280px} |
| | | #globalSearch{width:100%;background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:7px 12px;font-size:13px;outline:none} |
| | | #globalSearch:focus{border-color:#2c5cff} |
| | | #searchResult{position:absolute;top:38px;right:0;width:430px;max-height:60vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:none;box-shadow:0 12px 40px rgba(0,0,0,.5)} |
| | | #searchResult .sr-item{padding:10px 14px;border-bottom:1px solid var(--line);cursor:pointer} |
| | | #searchResult .sr-item:hover{background:var(--panel2)} |
| | | #searchResult .sr-type{font-size:11px;color:var(--muted)} |
| | | #searchResult .sr-meta{font-size:12px;color:var(--muted);margin-top:2px} |
| | | nav{position:fixed;top:64px;left:0;bottom:0;width:210px;background:var(--bg2);border-right:1px solid var(--line);padding:14px 0;overflow:auto;z-index:40} |
| | | nav .group{color:#5f7188;font-size:11px;padding:12px 18px 4px;letter-spacing:1px} |
| | | nav a{display:flex;align-items:center;gap:8px;padding:8px 18px;color:var(--muted);text-decoration:none;font-size:13px;border-left:3px solid transparent;cursor:pointer} |
| | | nav a:hover{color:var(--text);background:#152238} |
| | | nav a.active{color:#fff;background:#16294a;border-left-color:#2c5cff} |
| | | nav a .dot{width:8px;height:8px;border-radius:2px;flex:none} |
| | | main{margin:64px 0 0 210px;padding:26px 32px 80px;max-width:1500px} |
| | | section.page{display:none} |
| | | section.page.on{display:block} |
| | | h2.pt{font-size:20px;font-weight:600;margin-bottom:4px} |
| | | p.desc{color:var(--muted);margin-bottom:18px;max-width:980px} |
| | | .grid{display:grid;gap:14px} |
| | | .stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))} |
| | | .stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px} |
| | | .stat b{display:block;font-size:24px;font-weight:700;color:#fff} |
| | | .stat span{color:var(--muted);font-size:12px} |
| | | .cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))} |
| | | .card{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--acc,#2c5cff);border-radius:10px;padding:16px 18px;cursor:pointer;transition:border-color .15s,transform .15s} |
| | | .card:hover{transform:translateY(-2px);border-color:#3a5a8f} |
| | | .card h3{font-size:15px;color:#fff;margin-bottom:2px} |
| | | .card h3 .tag{font-size:10px;color:var(--acc,#2c5cff);border:1px solid currentColor;padding:1px 6px;border-radius:10px;margin-left:8px;vertical-align:2px} |
| | | .card p{color:var(--muted);font-size:12.5px;margin:6px 0} |
| | | .card .objs{font-size:12px;color:#a9b8cc} |
| | | .pill{display:inline-block;background:#1b2c4a;border:1px solid var(--line);color:#bcd0ea;border-radius:12px;padding:2px 10px;font-size:12px;margin:3px 4px 0 0;cursor:pointer} |
| | | .pill:hover{border-color:#3a5a8f;background:#22375c} |
| | | .banner{background:linear-gradient(90deg,#12213c,#0f1a2e);border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:18px} |
| | | .banner .chain{font-size:13.5px;color:#cfe0f5} |
| | | .banner .chain b{color:var(--c-prod)} |
| | | .fig{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin:14px 0;overflow:hidden} |
| | | .fig .bar{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--line);background:#101c31} |
| | | .fig .bar .name{font-size:13px;color:#cfe0f5;font-weight:600} |
| | | .fig .bar .btns{margin-left:auto;display:flex;gap:6px} |
| | | .fig .bar button{background:#1a2a46;border:1px solid var(--line);color:#9fb2ca;font-size:12px;border-radius:5px;padding:3px 10px;cursor:pointer} |
| | | .fig .bar button:hover{color:#fff;border-color:#3a5a8f} |
| | | .fig .canvas{overflow:auto;padding:16px;background:var(--panel)} |
| | | .fig .canvas .stage{transform-origin:top left;transition:transform .15s} |
| | | .fig:fullscreen{width:100vw;height:100vh;border-radius:0;background:var(--bg)} |
| | | .fig:fullscreen .canvas{height:calc(100vh - 45px)} |
| | | .mermaid-wrap svg{max-width:100%} |
| | | table.steps{width:100%;border-collapse:collapse;margin:10px 0} |
| | | table.steps th{font-size:12px;color:var(--muted);text-align:left;font-weight:600;padding:7px 10px;border-bottom:1px solid var(--line);background:#101c31} |
| | | table.steps td{padding:8px 10px;border-bottom:1px solid #1b2a44;vertical-align:top;font-size:13px} |
| | | table.steps td.stage{white-space:nowrap;color:var(--acc,#7ea6e8);font-weight:600} |
| | | table.steps td.role{white-space:nowrap;color:var(--muted);font-size:12px} |
| | | table.data{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden} |
| | | table.data th{font-size:12px;color:var(--muted);text-align:left;padding:9px 12px;background:#101c31;border-bottom:1px solid var(--line)} |
| | | table.data td{padding:9px 12px;border-bottom:1px solid #1a2942;font-size:13px;vertical-align:top} |
| | | table.data tr:hover td{background:#16243c;cursor:pointer} |
| | | .detail{background:var(--panel2);border:1px solid #2c4468;border-radius:10px;padding:16px 20px;margin:12px 0} |
| | | .detail h4{color:#fff;margin-bottom:8px} |
| | | .detail .kv{margin:4px 0;font-size:13px} |
| | | .detail .kv b{color:var(--muted);font-weight:600;margin-right:8px} |
| | | .muted{color:var(--muted)} .small{font-size:12px} |
| | | #objDetail:empty{display:none} |
| | | h3.sec{font-size:15px;color:#cfe0f5;margin:26px 0 10px;padding-left:10px;border-left:3px solid #2c5cff} |
| | | footer{position:fixed;bottom:0;left:210px;right:0;background:#0d1526ee;border-top:1px solid var(--line);padding:8px 32px;color:#5f7188;font-size:12px;z-index:30} |
| | | .warn li{margin-left:18px;padding:3px 0;font-size:13px;color:#d9c4a0} |
| | | @media (max-width:1100px){nav{width:170px}main,footer{margin-left:0}} |
| | | </style> |
| | | </head> |
| | | <body> |
| | | <header> |
| | | <div class="logo">MOM</div> |
| | | <div> |
| | | <h1 id="hProject">项ç®ä¸å¡å
¨æ¯</h1> |
| | | <div class="sub" id="hSub"></div> |
| | | </div> |
| | | <div id="globalSearchWrap"> |
| | | <input id="globalSearch" placeholder="æç´¢ä¸å¡ï¼éå®è®¢å / å·¥å / IQC / åºå / 忬¾â¦" autocomplete="off"> |
| | | <div id="searchResult"></div> |
| | | </div> |
| | | </header> |
| | | |
| | | <nav id="nav"> |
| | | <div class="group">æ»è§</div> |
| | | <a data-t="overview" class="active"><span class="dot" style="background:#2c5cff"></span>é¡¹ç®æ¦è§</a> |
| | | <a data-t="panorama"><span class="dot" style="background:#56c8d8"></span>ä¸å¡å
¨æ¯å¾</a> |
| | | <div class="group">æ ¸å¿ä¸å¡æµç¨</div> |
| | | <a data-t="flow-sales"><span class="dot" style="background:var(--c-sale)"></span>é宿µç¨</a> |
| | | <a data-t="flow-purchase"><span class="dot" style="background:var(--c-erp)"></span>éè´æµç¨</a> |
| | | <a data-t="flow-production"><span class="dot" style="background:var(--c-prod)"></span>ç产æµç¨</a> |
| | | <a data-t="flow-quality"><span class="dot" style="background:var(--c-qc)"></span>è´¨éæµç¨</a> |
| | | <a data-t="flow-warehouse"><span class="dot" style="background:var(--c-wm)"></span>ä»å¨æµç¨</a> |
| | | <a data-t="flow-aftersales"><span class="dot" style="background:var(--c-as)"></span>å®åæµç¨</a> |
| | | <div class="group">ç»æä¸æ°æ®</div> |
| | | <a data-t="relation"><span class="dot" style="background:var(--c-bpm)"></span>ç³»ç»å
³ç³»</a> |
| | | <a data-t="dataflow"><span class="dot" style="background:var(--c-fin)"></span>æ°æ®æµ</a> |
| | | <a data-t="objects"><span class="dot" style="background:var(--c-base)"></span>ä¸å¡å¯¹è±¡</a> |
| | | <a data-t="roles"><span class="dot" style="background:var(--c-hrm)"></span>è§è²æé</a> |
| | | <div class="group">æ©å±</div> |
| | | <a data-t="ai"><span class="dot" style="background:var(--c-ai)"></span>AI ä¸å¡</a> |
| | | <a data-t="pending"><span class="dot" style="background:var(--c-sup)"></span>å¾
确认äºé¡¹</a> |
| | | </nav> |
| | | |
| | | <main> |
| | | <section class="page on" id="overview"></section> |
| | | <section class="page" id="panorama"> |
| | | <h2 class="pt">ä¸å¡å
¨æ¯å¾</h2> |
| | | <p class="desc">æä¸å¡æä¹ï¼èé代ç å
ç»æï¼å½ç±»ç模å-è½åæç»´å¯¼å¾ã</p> |
| | | <div class="fig" data-fig="01-business-mindmap"> |
| | | <div class="bar"><span class="name">ä¸å¡å
¨æ¯æç»´å¯¼å¾</span><div class="btns"><button data-z="-">ï¼</button><button data-z="+">ï¼</button><button data-z="0">éç½®</button><button data-fs>å
¨å±</button></div></div> |
| | | <div class="canvas"><div class="stage mermaid-wrap"><pre class="mermaid" data-mmd="01-business-mindmap"></pre></div></div> |
| | | </div> |
| | | </section> |
| | | <section class="page" id="flow-sales"></section> |
| | | <section class="page" id="flow-purchase"></section> |
| | | <section class="page" id="flow-production"></section> |
| | | <section class="page" id="flow-quality"></section> |
| | | <section class="page" id="flow-warehouse"></section> |
| | | <section class="page" id="flow-aftersales"></section> |
| | | <section class="page" id="relation"> |
| | | <h2 class="pt">ç³»ç»å
³ç³»</h2> |
| | | <p class="desc">模åä¹é´çè°ç¨ä¸æ°æ®ä¾èµï¼å®çº¿=åæ®/æ°æ®æµåï¼è线=审æ¹åè°ä¸è¾
å©è½åã</p> |
| | | <div class="fig" data-fig="08-module-relation"> |
| | | <div class="bar"><span class="name">模åç³»ç»å
³ç³»</span><div class="btns"><button data-z="-">ï¼</button><button data-z="+">ï¼</button><button data-z="0">éç½®</button><button data-fs>å
¨å±</button></div></div> |
| | | <div class="canvas"><div class="stage mermaid-wrap"><pre class="mermaid" data-mmd="08-module-relation"></pre></div></div> |
| | | </div> |
| | | </section> |
| | | <section class="page" id="dataflow"> |
| | | <h2 class="pt">æ°æ®æµ</h2> |
| | | <p class="desc">跨模ååæ®ççæä¸ååå
³ç³»ï¼å段带å
¥ãæ°éç¶æååãäºä»¶éç¥ï¼ã</p> |
| | | <div class="fig" data-fig="09-data-flow"> |
| | | <div class="bar"><span class="name">è·¨æ¨¡åæ°æ®æµ</span><div class="btns"><button data-z="-">ï¼</button><button data-z="+">ï¼</button><button data-z="0">éç½®</button><button data-fs>å
¨å±</button></div></div> |
| | | <div class="canvas"><div class="stage mermaid-wrap"><pre class="mermaid" data-mmd="09-data-flow"></pre></div></div> |
| | | </div> |
| | | </section> |
| | | <section class="page" id="objects"> |
| | | <h2 class="pt">æ ¸å¿ä¸å¡å¯¹è±¡</h2> |
| | | <p class="desc">ç¹å»å¯¹è±¡è¡æ¥çä½ç¨ã䏿¸¸ã䏿¸¸ä¸æ°æ®è¡¨ã对象å
³ç³»è§ææ« ER å¾ï¼ä»
æ ¸å¿ä¸å¡å¯¹è±¡ï¼ã</p> |
| | | <div class="grid" id="objGrid" style="grid-template-columns:1fr"></div> |
| | | <div id="objDetail" class="detail"></div> |
| | | <h3 class="sec">对象å
³ç³»å¾ï¼ERï¼</h3> |
| | | <div class="fig" data-fig="10-business-object"> |
| | | <div class="bar"><span class="name">æ ¸å¿ä¸å¡å¯¹è±¡å
³ç³»</span><div class="btns"><button data-z="-">ï¼</button><button data-z="+">ï¼</button><button data-z="0">éç½®</button><button data-fs>å
¨å±</button></div></div> |
| | | <div class="canvas"><div class="stage mermaid-wrap"><pre class="mermaid" data-mmd="10-business-object"></pre></div></div> |
| | | </div> |
| | | </section> |
| | | <section class="page" id="roles"></section> |
| | | <section class="page" id="ai"> |
| | | <h2 class="pt">AI ä¸å¡</h2> |
| | | <p class="desc">é¡¹ç® AI ç»ä¸éç¨ãä¸å¡ä¾§ç»è£
Prompt â æ¨¡å â ç»æå JSON â äººå·¥ç¡®è®¤ãæ¨¡å¼ï¼æ Function Callingï¼AI ä¸å¯ç¨æ¶ååè½åé人工ã</p> |
| | | <div class="grid cards" id="aiGrid"></div> |
| | | </section> |
| | | <section class="page" id="pending"> |
| | | <h2 class="pt">å¾
确认äºé¡¹</h2> |
| | | <p class="desc">æºç 走读ä¸åç°ä¸ææ¡£/颿ä¸ä¸è´ãçä¼¼æªå®ææéä¸å¡ç¡®è®¤çç¹ï¼åæ æ³¨äºåºå¤è¡ä¸ºã</p> |
| | | <ul class="warn" id="pendingList"></ul> |
| | | </section> |
| | | </main> |
| | | <footer id="footer"></footer> |
| | | |
| | | <script type="application/json" id="data-business">{ |
| | | "project": { |
| | | "name": "MOM 工忰ååå¹³å°ï¼mom-pro2ï¼", |
| | | "type": "æ··åç³»ç»", |
| | | "mainSystem": "MOM å¶é è¿è¥ç®¡çç³»ç»", |
| | | "subSystems": [ |
| | | "MESï¼ç产·ä»å¨Â·è´¨é·设å¤ï¼", |
| | | "ERPï¼è¿éå·财å¡ï¼", |
| | | "CRMï¼å®¢æ·å
³ç³»ï¼", |
| | | "SRMï¼ä¾åºåå
³ç³»ï¼", |
| | | "HRMï¼äººåèµæºï¼", |
| | | "BPMï¼Flowable åå审æ¹ï¼", |
| | | "AIï¼éä¹åé® + Milvus RAGï¼", |
| | | "BIï¼SQL é
ç½®å¼å¤§å±ï¼" |
| | | ], |
| | | "description": "åºäº yudaoï¼ruoyi-vue-proï¼äºæ¬¡å¼åçå¶é ä¸ä¸ä½åæ°åå·¥åå¹³å°ï¼è¦çãé宿¥å â éè´/ç产 â è´¨æ£ â ä»å¨ â åè´§ â 忬¾ â å®åãå
¨é¾è·¯ï¼å
ç½®å®¡æ¹æµãä¸»æ°æ®ãéä»¶ãAI è¾
å©ä¸ BI 驾驶è±ã", |
| | | "businessPositioning": "让工åç订åãç©æãç产ãåºåãè´¨éã人åãèµéå¨ä¸ä¸ªç³»ç»å
éç¯æµè½¬ï¼ç®¡çå±å¯éè¿ BI 大屿æ¡å
¨å±ã", |
| | | "coreChain": "CRM åæº/åå â ERP éå®è®¢å â MES 主ç产计å/å·¥å/æ¥å·¥ â MES è´¨æ£ä¸ä»å¨ â éå®åºåºåè´§ â å¼ç¥¨å款 â å®åéç¯", |
| | | "techBase": "Spring Boot + MyBatis + Flowable + Redis + Quartz/RocketMQ/Kafka + Milvus åéåº + éä¹åé®", |
| | | "database": "MySQL 8.4ï¼413 å¼ è¡¨ï¼å« system_*ãbpm_*ãact_* åºåº§è¡¨ä¸ mes_*/erp_*/crm_*/srm_*/hrm_*/mdm_*/ai_* ä¸å¡è¡¨ï¼ï¼å¤ç§æ·å·²å
³é", |
| | | "frontend": "mom-pro2-beforeï¼Vue3 管çåå°ï¼åä»åºåæ¾ï¼åªè¯»åèï¼" |
| | | }, |
| | | "stats": { |
| | | "businessModules": 12, |
| | | "coreObjects": 46, |
| | | "documentFlows": 6, |
| | | "approvalListeners": 13, |
| | | "aiCapabilities": 8, |
| | | "wmBillTypes": 15 |
| | | }, |
| | | "businessAnswers": [ |
| | | [ |
| | | "项ç®è§£å³ä»ä¹é®é¢", |
| | | "离æ£å¶é å·¥åç产ä¾é人财ç©ä¸ä½å管çï¼ä»å®¢æ·è®¢åå°ç产交ä»ãåºåèµéå
¨é¾è·¯æ°ååéç¯" |
| | | ], |
| | | [ |
| | | "æ ¸å¿ä¸å¡", |
| | | "éå®è®¢å履约ï¼ååâ订åâç产âè´¨æ£âå
¥åºâåè´§â忬¾ï¼ä¸éè´ä¾åºï¼ç³è¯·â订åâå°è´§âIQCâå
¥åºâ仿¬¾ï¼" |
| | | ], |
| | | [ |
| | | "ä¸å¡ä¸»çº¿", |
| | | "CRM åå â ERP éå®è®¢å â MES MPS/å·¥å â æ¥å·¥/IPQC â å®å·¥å
¥åº â åè´§éç¥ â éå®åºåº(OQC) â å¼ç¥¨ â 忬¾" |
| | | ], |
| | | [ |
| | | "éå®å¦ä½å½±åç产", |
| | | "éå®è®¢å审æ¹éè¿åï¼éç产æç»èªå¨å建 MES 主ç产计å(MPS)ï¼MPS ä¸å驱å¨å·¥åä¸ä»»å¡" |
| | | ], |
| | | [ |
| | | "éè´å¦ä½å½±ååºå", |
| | | "éè´è®¢åã确认æ¶è´§ãçæ MES å°è´§éç¥ â IQC åæ ¼/ç¹é â éè´å
¥åºå宿 â åºåå°è´¦ IN äºå¡+N" |
| | | ], |
| | | [ |
| | | "ç产å¦ä½äº§çåºå", |
| | | "æ¥å·¥å®¡æ¹éè¿åèªå¨çæäº§å产åºåå
¥åºï¼è´¨æ£å·¥åºå
å¾
æ£ãIPQC åæè¡å
¥åºï¼ï¼åå²å·¥åºæ BOM æ£çº¿è¾¹åº" |
| | | ], |
| | | [ |
| | | "è´¨éå¨åªéä»å
¥", |
| | | "åéé¸å£ï¼IQCï¼å°è´§/å¤åå
¥åºï¼ãIPQCï¼æ¥å·¥è´¨æ£å·¥åºï¼ãOQCï¼éå®åºåºåï¼ãRQCï¼éæ/éè´§ï¼ï¼ä¸åæ ¼èµ° NCR å¤ç½®" |
| | | ], |
| | | [ |
| | | "å®åå¦ä½éç¯", |
| | | "å·¥åå¤å®éè´§ â éè´§ç³è¯·å®¡æ ¸ â èªå¨å»º MES éå®éè´§å â RQC è´¨æ£/å
¥åºåè° â 鿬¾åè° â å·¥åå®ç»å
³é" |
| | | ], |
| | | [ |
| | | "AI å¨åªéåä¸", |
| | | "å票/æ¥ä»· OCR é¢å¡«ãè´¨æ£ç»æå»ºè®®ã缺æ/æ¶é¿/é£é©/交ä»åç±»é¢æµï¼å为ãä¸å¡ç»è£
Promptâæ¨¡åâJSONâäººå·¥ç¡®è®¤ãæ¨¡å¼" |
| | | ], |
| | | [ |
| | | "模åé´æ°æ®å
³ç³»", |
| | | "MDM ä¸»æ°æ®ç»ä¸ä¸åï¼CRMâERP ååçåï¼ERPâMES åæ®äºå»ºä¸æ°éååï¼BPM äºä»¶åè°è§£éç¶æï¼HRM äº¤æ¥æ©å±æ°æ®å¯è§æ§" |
| | | ] |
| | | ], |
| | | "aiCapabilities": [ |
| | | { |
| | | "name": "éè´å票 OCR", |
| | | "flow": "ä¸ä¼ blobId â å¾çèµ° chatWithImage è§è§æ¨¡å / PDFÂ·ææ¬èµ° chat â è§£æå票å·Â·æ¬å¤´Â·ä¾åºå·价ç¨å计·ç¨ç â é¢å¡«éè´æ¥ç¥¨è¡¨å", |
| | | "callsApis": [ |
| | | "SystemStorageBlobService" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "æ¥ä»·å OCR", |
| | | "flow": "PDF/Word/Excel/å¾ç â POI/PDFBox/è§è§æ¨¡å â æ¥ä»·å¤´+产åæç» JSON â é¢å¡«æ¥ä»·å", |
| | | "callsApis": [ |
| | | "SystemStorageBlobService" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "è´¨æ£ç»ææºè½å¤å®", |
| | | "flow": "è´¨æ£å+ææ ç»æ+缺é·è®°å½ ç»è£
Prompt â chat â 建议{åæ ¼/ç¹é/éè´§/æ¥åº+çç±}", |
| | | "callsApis": [ |
| | | "MdmItemApi", |
| | | "SrmSupplierApi", |
| | | "CrmCustomerApi" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "ç©æçç¼ºé¢æµ", |
| | | "flow": "å·¥å BOM éæ± vs åºå(å¨åº-å»ç»-å ç¨) vs å·²ææ â chat â é£é©ç级+ç¼ºå£æ¸
å", |
| | | "callsApis": [ |
| | | "MdmItemApi" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "ç产æ¶é¿é¢æµ", |
| | | "flow": "å·¥åºæ åå·¥æ¶+设å¤å°æ¶äº§é+ä¼ éåç â chat â 颿µæ»æ¶é¿+å·¥åºåè§£", |
| | | "callsApis": [ |
| | | "MdmItemApi" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "ç产é£é©é¢æµ", |
| | | "flow": "IPQC 缺é·ç+设å¤ä¿å
»ç¹æ£+ç©æå¯ç¨ç<20%+å
³é®å·¥åº â chat â 综åé£é©+å ç´ ", |
| | | "callsApis": [ |
| | | "MdmItemApi" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "交ä»é¢æµ", |
| | | "flow": "è¿åº¦+å©ä½å¤©æ°+ä»»å¡å®æç¶æ+客æ·äº¤æ â chat â è½å¦ææ¶+置信度+延误å ç´ ", |
| | | "callsApis": [ |
| | | "MdmItemApi", |
| | | "CrmCustomerApi" |
| | | ] |
| | | }, |
| | | { |
| | | "name": "RAG ç¥è¯åº", |
| | | "flow": "ææ¡£ â POI/Tika æææ¬ â åç(800token) â åéåå
¥ Milvus â æ£ç´¢æ¥å£(topK3,éå¼0.7)ãå½åæ ä¸å¡æ¨¡åæ¶è´¹ï¼é¢çè½åã", |
| | | "callsApis": [] |
| | | } |
| | | ], |
| | | "pendingConfirm": [ |
| | | "ä»åºç±»å/åæ ¼ä»æ¹é ï¼éæ±ç§°ä»åºåºæ type åæ®µï¼åæ/æå/åæå/线边/åæ ¼ä»ï¼ï¼ä½ MesWmWarehouseDO å½åæ type åæ®µï¼ä»
硬ç¼ç èæçº¿è¾¹åºï¼æ¹é ä¼¼æªå®æãå¾
确认ã", |
| | | "HrmUserHandoverApi.expandUserIds æ¥å£å·²å®ç°ï¼ä½ CRM/ERP/MES æ¥è¯¢ãæçæ°æ®ãå¤åæªå®é
è°ç¨ï¼äº¤æ¥å¯è§æ§åè½æªçæ£çæãä¸é¡¹ç®è§åææ¡£åå¨è½å·®ã", |
| | | "忬¾ï¼crm_receivableï¼æªæ¥ BPMï¼å建å³å®¡æ¹ä¸(10)é æå¨æ´æ°ï¼åå/å¼ç¥¨åå·²æ¥ãå¾
确认æ¯å¦ææç®åã", |
| | | "MES 任塿å pauseTask ä»
å
许èç¨¿ç¶æåå·¥ï¼çä¼¼æ ¡éªé»è¾å转 bug", |
| | | "仿¬¾å BPM 驳ååéå° PROCESS(10) èé REJECT(35)ï¼ä¸å
¶ä»åæ®ä¸ä¸è´", |
| | | "è´¢å¡å¾ç¨½æè£ï¼updatePurchasePrice/updateSalePrice æ¹æ³ä½ä¸ºç©ºï¼å
¥åº/åºåºéé¢ä¸ä¼èªå¨å忶仿¬¾", |
| | | "ç产å
¥åºå(ProductReceipt) 䏿¥å·¥äº§åº(ProductProduce) å¹¶åï¼åå¨éå¤å
¥åºé£é©éä¸å¡ç¡®è®¤", |
| | | "AI 模åå·¥åä»
å®ç°éä¹åé®ï¼DeepSeek/OpenAI/Ollama æä¸¾é¢çæªå®ç°", |
| | | "å®åéè´§å AUDITING(10) ç¶ææ åå
¥ä»£ç ï¼çä¼¼é¢çæªå¯ç¨", |
| | | "BI å¾è¡¨ querySql 以åç¬¦ä¸²æ¼æ¥åæ°æ§è¡ï¼ä»
åå¼å·è½¬ä¹ï¼ï¼åå¨ SQL 注å
¥é£é©é¢", |
| | | "MesWmSnDO æ°å¢ç uuid åæ®µçæ/æ¶è´¹é»è¾æªå¨æ ¸å¿ Service ä¸ç¡®è®¤", |
| | | "转æ£ç³è¯·(hrm_regularize_application)ãå¹è®è¯ä¹¦çä»
æ SQL ä¸èååå§åï¼Java ä¾§ Service/Controller æªå®ç°", |
| | | "NCR å¤ç½®ç»æï¼è¿å·¥/éè´§ï¼æªååè§¦åæºåæ®ï¼ä»
å°è´¦è®°å½", |
| | | "MPS ç¶ææä¸¾ç¬ç«ç¼å·(0/1/2/3)ï¼ä¸éç¨åæ®å¸¸é(0/1/4/5)ä¸ä¸è´" |
| | | ], |
| | | "generatedAt": "2026-09-10", |
| | | "analysisBasis": "åºäº dev_business 忝 87bf4a99 æºç ï¼6 ç»å¹¶è¡æºç 走读ï¼MES ç产质é / MES ä»å¨ / ERP / CRM+SRM / å®å+HRM / AI+BI+MDM+BPM+åºåº§ï¼" |
| | | }</script> |
| | | <script type="application/json" id="data-modules">{ |
| | | "modules": [ |
| | | {"key": "mdm", "name": "åºç¡ä¸»æ°æ®", "color": "#8a94a6", "tag": "MDM", "flow": null, |
| | | "positioning": "å
¨ç³»ç»ç»ä¸å£å¾çä¸»æ°æ®æå¨æº", |
| | | "problem": "ç©æãåä½ãä»åºå¨ MES/ERP/CRM å¤å¤éå¤å®ä¹å¯¼è´æ°æ®ææ¶", |
| | | "features": ["ç©æä¸SKUï¼å«æ¹æ¬¡å±æ§é
ç½®12å¼å
³ï¼", "ç©æåç±»æ ", "计éåä½ä¸æ¢ç®", "åç", "ä»åºä¸»æ°æ®ï¼å«typeåæ®µï¼", "MES ç©æç» MdmItemSyncApi åå忥"], |
| | | "objects": ["ç©æ", "SKU", "计éåä½", "ä»åº"], |
| | | "roles": ["ä¸»æ°æ®ç®¡çå"], |
| | | "upstream": [], "downstream": ["ç产", "è¿éå", "éå®", "éè´"], |
| | | "coreTables": ["mdm_item", "mdm_item_sku", "mdm_item_category", "mdm_unit_measure", "mdm_brand", "mdm_warehouse"]}, |
| | | {"key": "crm", "name": "éå®ç®¡çï¼å®¢æ·å
³ç³»ï¼", "color": "#4f9cff", "tag": "CRM", "flow": "sales", |
| | | "positioning": "éå®å端ï¼ä»çº¿ç´¢å°å款ç客æ·ç»è¥", |
| | | "problem": "客æ·èµäº§æ²æ·ãåæºè½¬åãåå审æ¹ä¸å¼ç¥¨å款管æ§", |
| | | "features": ["线索转å客æ·", "å
¬æµ·æ± ä¸é¢åä¸é", "è系人", "åæºèªå®ä¹é¶æ®µ", "è·è¿è®°å½", "æ¥ä»·å(AI OCR)", "åå(BPM审æ¹âçæéå®è®¢å)", "å¼ç¥¨(BPM)â忬¾(å
å¼ç¥¨æ ¡éª)", "忬¾è®¡å", "éå®ç®æ ", "æ°æ®æéä¸çº§(è´è´£äºº/åªè¯»/读å)"], |
| | | "objects": ["线索", "客æ·", "è系人", "åæº", "æ¥ä»·å", "åå", "å票", "忬¾", "éå®ç®æ "], |
| | | "roles": ["éå®å
å¤", "éå®ç»ç", "è´¢å¡(å¼ç¥¨å款)"], |
| | | "upstream": ["ä¸»æ°æ®(ç©æ)"], "downstream": ["è¿éå(éå®è®¢å)", "å®å(客æ·)", "AI(æ¥ä»·OCR)"], |
| | | "coreTables": ["crm_clue", "crm_customer", "crm_contact", "crm_business", "crm_sale_quotation", "crm_contract", "crm_invoice", "crm_receivable", "crm_receivable_plan", "crm_permission"]}, |
| | | {"key": "srm", "name": "ä¾åºå管ç", "color": "#c9a86a", "tag": "SRM", "flow": "purchase", |
| | | "positioning": "ä¾åºåå
¨çå½å¨æï¼åå
¥-èµè´¨-寻æº-绩æ", |
| | | "problem": "ä¾åºååè§åå
¥ãé³å
寻æº(ææ /æ¯ä»·)ä¸ç»©æéå", |
| | | "features": ["ä¾åºåæ¡£æ¡ä¸åç±»", "åå
¥ç³è¯·(BPM éè´/è´¨é/è´¢å¡ä¼ç¾)", "èµè´¨è¯ä¹¦æææ", "ææ ï¼å
¬å¼/é请/ç«è°å®æ´ç+æ¯ä»·ç®æç", "ææ Â·æ¥ä»·Â·å¼æ Â·è¯æ Â·å®æ ", "宿 èªå¨çæéè´è®¢å", "å维绩æ(è´¨é/交ä»/ä»·æ ¼/æå¡)"], |
| | | "objects": ["ä¾åºå", "åå
¥ç³è¯·", "èµè´¨è¯ä¹¦", "ææ é¡¹ç®", "ææ ", "宿 ", "绩æè¯ä»·"], |
| | | "roles": ["éè´å¼å", "ä¾åºå管çå", "è¯å®¡ä¸å®¶"], |
| | | "upstream": ["ä¸»æ°æ®(ç©æ)"], "downstream": ["è¿éå(éè´è®¢å)"], |
| | | "coreTables": ["srm_supplier", "srm_supplier_apply", "srm_supplier_certificate", "srm_tender_project", "srm_tender_bid", "srm_bid_award", "srm_supplier_evaluation"]}, |
| | | {"key": "erp", "name": "è¿éåä¸è´¢å¡", "color": "#5fc79e", "tag": "ERP", "flow": "purchase", |
| | | "positioning": "åè´¸ä¸èµé忮䏿¢ï¼å MES åèµ·å®ç©æ¶å", |
| | | "problem": "éè´éå®åæ®å®¡æ¹ãæ¥ç¥¨ä»æ¬¾æ§å¶ãè®¢åæ§è¡è¿åº¦åå", |
| | | "features": ["éè´ç³è¯·(BPM)â订å(èªå¨/æå¨çæ)", "确认æ¶è´§âMESå°è´§éç¥", "å
¥åº/éè´§æ°éç¶æåå", "éè´æ¥ç¥¨(éé¢â¤è®¢å)", "仿¬¾å(å¿
é¡»å
³èæ¥ç¥¨Â·BPM)", "éå®è®¢å(BPM·审æ¹éè¿èªå¨å»ºMPS)", "åºåºç¶æåå", "æ¶æ¬¾å(å
³èCRM客æ·)", "ç»ç®è´¦æ·", "AIå票OCR"], |
| | | "objects": ["éè´ç³è¯·", "éè´è®¢å", "éè´æ¥ç¥¨", "仿¬¾å", "éå®è®¢å", "æ¶æ¬¾å", "ç»ç®è´¦æ·"], |
| | | "roles": ["éè´å", "éå®å", "åºçº³", "ä¼è®¡"], |
| | | "upstream": ["CRM(åå)", "SRM(宿 )", "ä¸»æ°æ®"], "downstream": ["ç产(MPS)", "ä»å¨(æ¶å)"], |
| | | "coreTables": ["erp_purchase_request", "erp_purchase_order", "erp_purchase_invoice", "erp_finance_payment", "erp_sale_order", "erp_finance_receipt", "erp_account"]}, |
| | | {"key": "pro", "name": "ç产管ç", "color": "#e0b34f", "tag": "MES-PRO", "flow": "production", |
| | | "positioning": "ç产æ§è¡æ ¸å¿ï¼è®¡å-å·¥å-ä»»å¡-æ¥å·¥", |
| | | "problem": "订åå°è½¦é´æ§è¡çéå±æè§£ä¸è¿ç¨å¯æ§", |
| | | "features": ["MPS主ç产计å(å¯ç±éå®è®¢åèªå¨å建·åå¹¶ä¸å)", "å·¥å(æå·¥èºè·¯çº¿èªå¨çæå·¥åºä»»å¡)", "æ¥å·¥(æå·¥åºé¡ºåºæ§å¶Â·BPM审æ¹)", "å岿£çº¿è¾¹åº/产åºå
¥åº", "å®ç¯", "å·¥èºè·¯çº¿Â·å·¥åºÂ·å·¥åBOM", "ç å设计项ç®(PD·审æ¹å½æ¡£)", "AI åç±»é¢æµ"], |
| | | "objects": ["MPS", "ç产工å", "ç产任å¡", "æ¥å·¥å", "å·¥èºè·¯çº¿", "å·¥åBOM", "设计项ç®"], |
| | | "roles": ["计åå", "车é´ä¸»ä»»", "æä½å·¥", "å·¥èºå"], |
| | | "upstream": ["è¿éå(éå®è®¢å)"], "downstream": ["ä»å¨(颿/å
¥åº)", "è´¨é(IPQC)"], |
| | | "coreTables": ["mes_pro_mps", "mes_pro_work_order", "mes_pro_task", "mes_pro_feedback", "mes_pro_route", "mes_pro_process", "mes_pro_work_order_bom", "mes_pd_project"]}, |
| | | {"key": "wm", "name": "ä»å¨ç®¡ç", "color": "#7e6bd6", "tag": "MES-WM", "flow": "warehouse", |
| | | "positioning": "åå
WMSï¼åæ®é©±å¨çåºåè´¦å®ä¸è´", |
| | | "problem": "夿¥æºåºå
¥åºãæ¹æ¬¡/SN 追溯ãåºå精确å°åºä½", |
| | | "features": ["15ç§åºå
¥åºåæ®", "åºåå°è´¦(ç©æÃä»åºÃåºåºÃåºä½Ãæ¹æ¬¡Ãä¾åºå)", "äºå¡æµæ°´åªè¯»çç", "è°æ¨æå¯¹äºå¡", "çç¹(éæ/å¨æÂ·ç²ç·çççäºè°æ´)", "æ¹æ¬¡/SN/æ¡ç /è£
ç®±åµå¥", "èæçº¿è¾¹åº(å
许è´åºå)", "åºåå ç¨(5ç±»)", "å级å»ç»", "WMS审æ¹é
ç½®+BPM", "å¯¹å¤ WmsStockApi/WmsTransactionApi"], |
| | | "objects": ["å°è´§éç¥", "éè´å
¥åº", "颿", "å®å·¥å
¥åº", "éå®åºåº", "åè´§éç¥", "éå®éè´§", "ä¾åºåéè´§", "è°æ¨", "çç¹", "åºåå°è´¦", "æ¹æ¬¡", "SN"], |
| | | "roles": ["ä»ç®¡å", "æ£è´§å", "çç¹å"], |
| | | "upstream": ["éè´(æ¶è´§)", "ç产(é¢éæ)", "éå®(åè´§)", "å®å(éè´§)"], "downstream": ["è¿éå(æ°éåå)", "è´¢å¡(ææ¬åºç¡)"], |
| | | "coreTables": ["mes_wm_warehouse", "mes_wm_material_stock", "mes_wm_transaction", "mes_wm_item_receipt", "mes_wm_product_issue", "mes_wm_product_receipt", "mes_wm_product_sales", "mes_wm_return_sales", "mes_wm_transfer", "mes_wm_stock_taking_task", "mes_wm_batch", "mes_wm_sn", "mes_wm_stock_reserve"]}, |
| | | {"key": "qc", "name": "è´¨é管ç", "color": "#e06c6c", "tag": "MES-QC", "flow": "quality", |
| | | "positioning": "å鿣éªé¸å£ + ä¸åæ ¼åéç¯å¤ç½®", |
| | | "problem": "æ¥æ/è¿ç¨/åºè´§/éè´§æ£éªæ ååï¼ä¸åæ ¼å¯è¿½æº¯å¤ç½®", |
| | | "features": ["IQC æ¥æ(å°è´§/å¤å)", "IPQC è¿ç¨(è卿¥å·¥)", "OQC åºè´§(èå¨éå®åºåº)", "RQC éè´§(èå¨éæ/å®å)", "è´¨æ£æ¹æ¡Â·ææ ·缺é·åº", "æ£æµç»æ:åæ ¼/ç¹é/éè´§/æ¥åº", "NCR:è¯å®¡âå¤ç½®(éè´§/æ¥åº/è¿å·¥/让æ¥/é级)âå
³é", "AI å¤å®å»ºè®®"], |
| | | "objects": ["IQC", "IPQC", "OQC", "RQC", "è´¨æ£æ¹æ¡", "NCR", "缺é·è®°å½"], |
| | | "roles": ["è´¨æ£å(IQC/IPQC/OQC)", "è´¨éå·¥ç¨å¸"], |
| | | "upstream": ["ä»å¨(å°è´§)", "ç产(æ¥å·¥)", "éå®(åºåº)", "å®å(éè´§)"], "downstream": ["ä»å¨(åæ ¼å
¥åº/æ¥åºåºåº)", "ç产(NCRè¿å·¥)"], |
| | | "coreTables": ["mes_qc_iqc", "mes_qc_ipqc", "mes_qc_oqc", "mes_qc_rqc", "mes_qc_template", "mes_qc_indicator", "mes_qc_defect", "mes_qc_ncr"]}, |
| | | {"key": "dv", "name": "设å¤ä¸å·¥è£
æç", "color": "#59a8b8", "tag": "MES-DV/TM/CAL", "flow": null, |
| | | "positioning": "设å¤èµäº§å¥åº·ä¸çäº§èµæºä¿é", |
| | | "problem": "设å¤ç¹æ£ä¿å
»ç»´ä¿®å¯æ§è¡ãå·¥è£
ç¶æå¯æ§ãçç»æçæä¾æ®", |
| | | "features": ["设å¤å°è´¦(åæº/ç产ä¸/ä¿å
»ä¸)", "ç¹æ£Â·ä¿å
»æ¹æ¡ä¸è®°å½", "维修工å(è稿âç»´ä¿®âå¾
éªæ¶â已确认)", "计éå¨å
·æ£å®", "å·¥è£
夹å
·(å¨åº/é¢ç¨/ç»´ä¿®/æ¥åº)", "çç»Â·ç次·æç计å·è忥"], |
| | | "objects": ["设å¤", "ç¹æ£è®°å½", "维修工å", "å·¥è£
", "æç计å"], |
| | | "roles": ["设å¤å", "维修工", "å·¥è£
管çå", "æçå"], |
| | | "upstream": [], "downstream": ["ç产(AI é£é©é¢æµæ¶è´¹è®¾å¤æ°æ®)", "èªé
¬(æçå·¥æ¶)"], |
| | | "coreTables": ["mes_dv_machinery", "mes_dv_check_plan", "mes_dv_check_record", "mes_dv_repair", "mes_tm_tool", "mes_cal_plan", "mes_cal_team", "mes_cal_shift"]}, |
| | | {"key": "aftersales", "name": "å®åæå¡", "color": "#c78bd6", "tag": "AFTER", "flow": "aftersales", |
| | | "positioning": "客æ·åé¦å°éè´§/ç»´ä¿®/鿬¾éç¯", |
| | | "problem": "å®åå·¥åæµè½¬ãéè´§ä¸è´¨æ£å
¥åºé款ç跨系ç»èå¨", |
| | | "features": ["å·¥åå
æ(è稿âå¤çä¸âå¾
å
¥åºâå¾
鿬¾âå®ç»âå
³é)", "é®é¢å¤å®(ä¸è¬/ç»´ä¿®/éè´§)", "ç»´ä¿®(ç°åº/è¿å/è¿ç¨)", "éè´§ç³è¯·âèªå¨å»º MES éå®éè´§å", "è´¨æ£ç»è®º/å
¥åº/鿬¾ä¸éåè°", "è¡çº§æ°æ®æéåè§å¾"], |
| | | "objects": ["å®åå·¥å", "维修记å½", "éè´§ç³è¯·"], |
| | | "roles": ["客æ", "维修工ç¨å¸", "å®å管çå"], |
| | | "upstream": ["CRM(客æ·)", "ERP(éå®è®¢å)"], "downstream": ["ä»å¨(éå®éè´§)", "è´¨é(RQC)", "è´¢å¡(鿬¾)"], |
| | | "coreTables": ["after_sale_ticket", "after_sale_ticket_item", "after_sale_repair", "after_sale_return", "after_sale_permission"]}, |
| | | {"key": "hrm", "name": "人åèµæº", "color": "#9db85a", "tag": "HRM", "flow": null, |
| | | "positioning": "åå·¥å
¥è½¬è°ç¦»ä¸èå¤èªé
¬", |
| | | "problem": "äººäºæµç¨å®¡æ¹åãç¦»èæ°æ®ä¸ä¸¢(交æ¥)ãç®èªèªå¨å", |
| | | "features": ["å工档æ¡(å
¥èèªå¨å»ºç³»ç»è´¦å·)", "请å/å ç/è°å²/离è BPM 审æ¹", "离èäº¤æ¥æ å° expandUserIds", "èå¤(æå¡Â·è§å·æç·补å¡å®¡æ¹Â·æåº¦æ±æ»)", "èªé
¬(åºå-社ä¿å
¬ç§¯é-个ç¨-è¯·åæ£æ¬¾Â·1.5/2/3åå çè´¹Â·åæ¾å°è´¦)", "å¹è®è¯ä¹¦(SQLå
è¡å¾
å®ç°)"], |
| | | "objects": ["åå·¥", "请åå", "离èç³è¯·", "äº¤æ¥æ å°", "èå¤è®°å½", "èªé
¬æ ¸ç®"], |
| | | "roles": ["HR", "é¨é¨ä¸»ç®¡", "åå·¥æ¬äºº"], |
| | | "upstream": [], "downstream": ["忍¡å(æ°æ®å¯è§æ§æ©å±)", "system(è´¦å·)"], |
| | | "coreTables": ["hrm_employee", "hrm_leave_application", "hrm_resignation_application", "hrm_user_handover", "hrm_attendance_record", "hrm_salary_calculation", "hrm_salary_payment"]}, |
| | | {"key": "bpm", "name": "åå审æ¹", "color": "#e6a23c", "tag": "BPM", "flow": null, |
| | | "positioning": "å
¨ç³»ç»åæ®å®¡æ¹ä¸æ¢ï¼Flowableï¼", |
| | | "problem": "夿¨¡ååæ®éè¦çµæ´»å¯é
çå¤çº§å®¡æ¹", |
| | | "features": ["BPMN+éé飿 ¼å设计å¨", "æµç¨å®ä¹é¨ç½²", "审æ¹äºä»¶ç»ä¸åè°(BpmProcessInstanceStatusEvent)", "13个ä¸å¡çå¬å¨", "表åÂ·ç¨æ·ç»Â·æé·å ç¾"], |
| | | "objects": ["æµç¨æ¨¡å", "æµç¨å®ä¾", "审æ¹ä»»å¡"], |
| | | "roles": ["审æ¹äºº(ææµç¨é
ç½®)", "æµç¨ç®¡çå"], |
| | | "upstream": ["åä¸å¡æäº¤å®¡æ¹"], "downstream": ["åè°æ´æ°åä¸å¡åæ®ç¶æ"], |
| | | "coreTables": ["bpm_process_definition_info", "bpm_process_instance", "bpm_task", "act_*", "flowable_*"]}, |
| | | {"key": "ai", "name": "AI æºè½", "color": "#56c8d8", "tag": "AI", "flow": "ai", |
| | | "positioning": "åæ®å½å
¥ææä¸ç产å³çè¾
å©", |
| | | "problem": "人工å½å票/æ¥ä»·æ
¢ãè´¨æ£ä¸æäº§ä¾èµç»éª", |
| | | "features": ["chat/chatWithImage åéé", "OCR é¢å¡«(å票/æ¥ä»·)", "è´¨æ£å¤å®å»ºè®®", "缺æ/æ¶é¿/é£é©/交ä»åç±»é¢æµ", "RAG ç¥è¯åº(Milvus)", "AIä¸å¯ç¨æ¶ fallback 人工"], |
| | | "objects": ["ç¥è¯åº", "AI模åé
ç½®", "对è¯è®°å½"], |
| | | "roles": ["éè´å", "éå®", "è´¨æ£å", "计åå"], |
| | | "upstream": ["åä¸å¡æä¾ä¸ä¸ææ°æ®"], "downstream": ["ç»æåJSON建议è¿åä¸å¡ä¾§"], |
| | | "coreTables": ["ai_chat_conversation", "ai_chat_message", "ai_model", "ai_knowledge", "ai_knowledge_document", "ai_knowledge_segment"]} |
| | | ], |
| | | "platform": { |
| | | "name": "ç³»ç»åºåº§", |
| | | "capabilities": ["JWT+OAuth2 认è¯Â·æ»åéªè¯ç ", "RBAC è§è²-èå-æ°æ®èå´(å
¨é¨/é¨é¨/æ¬é¨é¨åä¸çº§/ä»
æ¬äºº/èªå®ä¹)", "åå
¸", "éä»¶ä¸å¿(storage-blob æä»¶ + storage-attachment æ recordType+recordId 夿å
³èï¼å
¨æ¨¡å强å¶ä½¿ç¨)", "ç¼ç è§å(åä¸å¡èªå®ç° Redis åç¼+æ¥æ+æµæ°´)", "Quartz 宿¶ä»»å¡Â·RocketMQ/Kafka/Redis Stream MQ·WebSocket", "å¤ç§æ·å·²å
³é", "å®é
system_role ä»
4 个ï¼è¶
级管çå/æ®éè§è²/CRM管çå/ç§æ·ç®¡çåï¼ä¸å¡åå·¥é æ°æ®æéèéå¤è§è²"], |
| | | "unused": ["im 模å(IM/RTCï¼ä¸å¡æªæ¶è´¹)", "member 模å(C端ä¼åï¼éç)"] |
| | | } |
| | | }</script> |
| | | <script type="application/json" id="data-objects">{ |
| | | "objects": [ |
| | | {"name": "ç©æ", "module": "åºç¡ä¸»æ°æ®", "table": "mdm_item", "doc": "MDM æå¨ç©æ/产å/åæåæ¡£æ¡ï¼å« SKUãæ¹æ¬¡å±æ§ãä»·æ ¼ãå®å
¨åºå", "upstream": ["MES ç©æåå忥"], "downstream": ["æ¥ä»·å", "éå®è®¢å", "éè´è®¢å", "å·¥åBOM", "åºåå°è´¦"], "keywords": "ç©æ 产å åææ item"}, |
| | | {"name": "ä»åº", "module": "åºç¡ä¸»æ°æ®", "table": "mdm_warehouse", "doc": "ä»åºä¸»æ°æ®ï¼type: 1åæ/2æå/3åæå/4线边ï¼MES èªæ mes_wm_warehouse æ¿è½½åºåºåºä½", "upstream": [], "downstream": ["åºåå°è´¦", "åºå
¥åºåæ®"], "keywords": "ä»åº warehouse åæä» æåä» çº¿è¾¹ä»"}, |
| | | {"name": "客æ·", "module": "éå®ç®¡ç", "table": "crm_customer", "doc": "客æ·ä¸»æ¡£ï¼å
¬æµ·æ± /éå®/æäº¤ç¶æï¼è´è´£äººæ°æ®æé", "upstream": ["线索"], "downstream": ["è系人", "åæº", "æ¥ä»·å", "åå", "å®åå·¥å", "æ¶æ¬¾å"], "keywords": "å®¢æ· customer å
¬æµ·"}, |
| | | {"name": "线索", "module": "éå®ç®¡ç", "table": "crm_clue", "doc": "åå§éå®çº¿ç´¢ï¼ä»
䏿¬¡è½¬å为客æ·", "upstream": [], "downstream": ["客æ·"], "keywords": "线索 clue"}, |
| | | {"name": "è系人", "module": "éå®ç®¡ç", "table": "crm_contact", "doc": "客æ·ä¸è系人ï¼ä¸åæºå¤å¯¹å¤", "upstream": ["客æ·"], "downstream": ["åæº"], "keywords": "è系人 contact"}, |
| | | {"name": "åæº", "module": "éå®ç®¡ç", "table": "crm_business", "doc": "é宿ºä¼ï¼DB é
ç½®å¼é¶æ®µæ¨è¿ï¼ç»ææ: èµ¢/è¾/æ æ", "upstream": ["客æ·"], "downstream": ["æ¥ä»·å", "åå"], "keywords": "åæº business èµ¢å è¾å é¶æ®µ"}, |
| | | {"name": "æ¥ä»·å", "module": "éå®ç®¡ç", "table": "crm_sale_quotation", "doc": "QTç¼å·ï¼é MDM ç©ææ¥ä»·ï¼AI OCR å½å
¥ï¼è稿â已转åå", "upstream": ["åæº"], "downstream": ["åå"], "keywords": "æ¥ä»· quotation QT"}, |
| | | {"name": "åå", "module": "éå®ç®¡ç", "table": "crm_contract", "doc": "HTç¼å·ï¼BPM 审æ¹(0è稿/10审æ¹ä¸/20éè¿/30驳å/40åæ¶/50ä½åº)ï¼éè¿åå¯çæéå®è®¢å", "upstream": ["æ¥ä»·å"], "downstream": ["éå®è®¢å", "忬¾è®¡å", "å¼ç¥¨"], "keywords": "åå contract 审æ¹"}, |
| | | {"name": "å票", "module": "éå®ç®¡ç", "table": "crm_invoice", "doc": "KPç¼å·ï¼BPM 审æ¹ï¼ç´¯è®¡å¼ç¥¨â¤ååé¢ï¼éä»¶å¿
ä¼ ", "upstream": ["åå"], "downstream": ["忬¾"], "keywords": "å¼ç¥¨ å票 invoice"}, |
| | | {"name": "忬¾", "module": "éå®ç®¡ç", "table": "crm_receivable", "doc": "HKç¼å·ï¼å建å³å®¡æ¹ä¸(æå¨å®¡æ ¸)ï¼å¼ºå¶å
å¼ç¥¨ï¼éé¢åæ ¡éª", "upstream": ["åå", "å票"], "downstream": ["æ¶æ¬¾å(å
³è)"], "keywords": "忬¾ æ¶æ¬¾è®¡å receivable"}, |
| | | {"name": "éå®ç®æ ", "module": "éå®ç®¡ç", "table": "crm_sales_target", "doc": "å¹´/å£/æÃ个人/é¨é¨/产å维度çåå忬¾çç®æ ", "upstream": [], "downstream": ["ä¸ç»©ç»è®¡"], "keywords": "ç®æ target ä¸ç»©"}, |
| | | {"name": "ä¾åºå", "module": "ä¾åºå管ç", "table": "srm_supplier", "doc": "ä¾åºåæ¡£æ¡ï¼æ§ç
§/ç¨å·/é¶è¡/è系人ï¼ERP ä¸ MES å
±ç¨", "upstream": ["åå
¥ç³è¯·"], "downstream": ["éè´è®¢å", "å°è´§éç¥", "ä¾åºåéè´§", "绩æè¯ä»·"], "keywords": "ä¾åºå supplier vendor"}, |
| | | {"name": "åå
¥ç³è¯·", "module": "ä¾åºå管ç", "table": "srm_supplier_apply", "doc": "APç¼å·ï¼BPM 审æ¹(éè´/è´¨é/è´¢å¡)ï¼éè¿èªå¨å»ºä¾åºåæ¡£æ¡", "upstream": [], "downstream": ["ä¾åºå"], "keywords": "åå
¥ ä¾åºåç³è¯· apply"}, |
| | | {"name": "ææ é¡¹ç®", "module": "ä¾åºå管ç", "table": "srm_tender_project", "doc": "宿´ç(åå¸âææ â弿 âè¯æ â宿 )ä¸ç®ææ¯ä»·ä¸¤ç§æ¨¡å¼", "upstream": [], "downstream": ["宿 âéè´è®¢å"], "keywords": "ææ ææ æ¯ä»· 宿 tender 寻æº"}, |
| | | {"name": "éè´ç³è¯·", "module": "è¿éå", "table": "erp_purchase_request", "doc": "CGSQç¼å·ï¼BPM 审æ¹ï¼éè¿åæä¾åºåèªå¨çæè®¢å", "upstream": ["ç产缺å£(人工)"], "downstream": ["éè´è®¢å"], "keywords": "éè´ç³è¯· è¯·è´ request"}, |
| | | {"name": "éè´è®¢å", "module": "è¿éå", "table": "erp_purchase_order", "doc": "CGDDç¼å·ï¼BPM 审æ¹(15审æ¹ä¸/20å·²å®¡æ ¸)ï¼å
¥åºç¶æ:æª0é¨å1å
¨é¨2", "upstream": ["éè´ç³è¯·", "宿 "], "downstream": ["å°è´§éç¥", "éè´æ¥ç¥¨", "ä¾åºåéè´§(约æç©æ)"], "keywords": "éè´è®¢å purchase"}, |
| | | {"name": "éè´æ¥ç¥¨", "module": "è¿éå", "table": "erp_purchase_invoice", "doc": "FPDç¼å·ï¼AI OCR é¢å¡«ï¼ç´¯è®¡â¤è®¢åæ»ä»·ï¼ä»æ¬¾åçåç½®", "upstream": ["éè´è®¢å"], "downstream": ["仿¬¾å"], "keywords": "æ¥ç¥¨ å票 éè´å票"}, |
| | | {"name": "仿¬¾å", "module": "è´¢å¡", "table": "erp_finance_payment", "doc": "FKDç¼å·ï¼å¿
é¡»å
³èæ¥ç¥¨+éä»¶ï¼ç´¯è®¡â¤æ¥ç¥¨éé¢ï¼BPM 审æ¹", "upstream": ["éè´æ¥ç¥¨"], "downstream": ["ç»ç®è´¦æ·"], "keywords": "仿¬¾ åºä» payment"}, |
| | | {"name": "æ¶æ¬¾å", "module": "è´¢å¡", "table": "erp_finance_receipt", "doc": "SKDç¼å·ï¼å
³è CRM å®¢æ·æ ¡éªï¼æ BPM(æå¨å®¡æ ¸)", "upstream": ["éå®(å¼±å
³è)"], "downstream": ["ç»ç®è´¦æ·"], "keywords": "æ¶æ¬¾ åºæ¶ receipt"}, |
| | | {"name": "éå®è®¢å", "module": "è¿éå", "table": "erp_sale_order", "doc": "XSDDç¼å·ï¼BPM 审æ¹ï¼éç产è¡èªå¨å»º MPSï¼åºåºç¶æ:æª0å·²é¢ç1é¨å2å
¨é¨3ï¼çäº§å®æäºä»¶åå", "upstream": ["åå"], "downstream": ["MPS", "åè´§éç¥", "éå®åºåº", "å®åå·¥å"], "keywords": "éå®è®¢å sale"}, |
| | | {"name": "主ç产计å", "module": "ç产", "table": "mes_pro_mps", "doc": "MPS计åï¼è稿0âå·²ä¸å1â宿2/åæ¶3ï¼å¯åå¹¶ä¸å", "upstream": ["éå®è®¢å"], "downstream": ["ç产工å"], "keywords": "MPS 主计å ç产计å"}, |
| | | {"name": "ç产工å", "module": "ç产", "table": "mes_pro_work_order", "doc": "è稿0â已确认1â宿2/åæ¶3ï¼ç¡®è®¤æ¶æå·¥èºè·¯çº¿çæä»»å¡ï¼æåä¸éå·¥åºæ¥å·¥ååå·²ç产æ°é", "upstream": ["MPS"], "downstream": ["ç产任å¡", "颿", "å®å·¥å
¥åº"], "keywords": "å·¥å ç产工å work order"}, |
| | | {"name": "ç产任å¡", "module": "ç产", "table": "mes_pro_task", "doc": "å·¥åºç²åº¦ï¼é¢å¤0âç产ä¸1âé¨å2â宿4ï¼å¯æå9åæ¶5", "upstream": ["ç产工å"], "downstream": ["æ¥å·¥"], "keywords": "ä»»å¡ task å·¥åº"}, |
| | | {"name": "æ¥å·¥å", "module": "ç产", "table": "mes_pro_feedback", "doc": "è稿0â审æ¹ä¸2âå¾
æ£3/宿4ï¼æå·¥åºé¡ºåºæ ¡éª(ä¸éå·¥åºæ¥æ»¡æå¯æ¥)ï¼èå¨å岿¶è/产åºå
¥åº/IPQC", "upstream": ["ç产任å¡"], "downstream": ["产å产åº", "ç©ææ¶è", "IPQC"], "keywords": "æ¥å·¥ feedback"}, |
| | | {"name": "å·¥èºè·¯çº¿", "module": "ç产", "table": "mes_pro_route", "doc": "å·¥åºé¡ºåº+è´¨æ£/å
³é®/å岿 è®°ï¼é©±å¨å·¥åä»»å¡ä¸æ¥å·¥è§å", "upstream": [], "downstream": ["ç产工å"], "keywords": "å·¥èº è·¯çº¿ route å·¥åº"}, |
| | | {"name": "å°è´§éç¥å", "module": "ä»å¨", "table": "mes_wm_arrival_notice", "doc": "éè´è®¢å确认æ¶è´§çæï¼è稿0âå¾
è´¨æ£2âå¾
å
¥åº3â宿4", "upstream": ["éè´è®¢å"], "downstream": ["IQC", "éè´å
¥åº"], "keywords": "å°è´§ æ¶è´§ arrival"}, |
| | | {"name": "éè´å
¥åºå", "module": "ä»å¨", "table": "mes_wm_item_receipt", "doc": "è稿0âå¾
䏿¶2âå¾
æ§è¡3â宿4ï¼å®æååºå+å¹¶åå ERP inCount/inStatus", "upstream": ["å°è´§éç¥"], "downstream": ["åºåå°è´¦", "éè´è®¢å(åå)"], "keywords": "éè´å
¥åº æ¶è´§å
¥åº receipt"}, |
| | | {"name": "çäº§é¢æå", "module": "ä»å¨", "table": "mes_wm_product_issue", "doc": "è稿0âå¾
æ£è´§2âå¾
æ§è¡3â宿4ï¼åºå-", "upstream": ["ç产工å"], "downstream": ["åºåå°è´¦"], "keywords": "颿 issue"}, |
| | | {"name": "éå®åºåºå", "module": "ä»å¨", "table": "mes_wm_product_sales", "doc": "åè´§éç¥å®¡æ ¸åçæï¼æäº¤âOQCæ£æµâæ£è´§âåè¿10âå¾
æ§è¡3â宿4ï¼ååéå®è®¢ååºåºæ°ä¸ç¶æ", "upstream": ["åè´§éç¥", "éå®è®¢å"], "downstream": ["åºåå°è´¦", "OQC"], "keywords": "éå®åºåº åè´§ åºåºå sales"}, |
| | | {"name": "éå®éè´§å", "module": "ä»å¨", "table": "mes_wm_return_sales", "doc": "è稿âå¾
æ£éª(RQC)âå¾
䏿¶âå¾
å
¥åºâ宿ï¼å®åä¸æå·¥ä¸¤æ¥æº", "upstream": ["å®åéè´§ç³è¯·"], "downstream": ["åºåå°è´¦", "RQC"], "keywords": "éå®éè´§ éè´§å
¥åº"}, |
| | | {"name": "ä¾åºåéè´§å", "module": "ä»å¨", "table": "mes_wm_return_vendor", "doc": "IQC ä¸åæ ¼éè´§åèµ·ï¼å¾
æ£è´§âå¾
æ§è¡â宿ï¼åºå-", "upstream": ["IQC"], "downstream": ["åºåå°è´¦", "éè´è®¢å(returnCount)"], "keywords": "ä¾åºåéè´§ éæ éè´§ vendor"}, |
| | | {"name": "è°æ¨å", "module": "ä»å¨", "table": "mes_wm_transfer", "doc": "å
é¨/å¤é¨è°æ¨ï¼æå¯¹ MOVE_OUT+MOVE_IN äºå¡ï¼å¨éæ°é", "upstream": [], "downstream": ["åºåå°è´¦"], "keywords": "è°æ¨ ç§»åº transfer"}, |
| | | {"name": "çç¹ä»»å¡", "module": "ä»å¨", "table": "mes_wm_stock_taking_task", "doc": "éæ/卿çç¹ï¼è¡ç»æ:æ£å¸¸/çç(ADJUST_IN)/çäº(ADJUST_OUT)ï¼å¯å»ç»åºåãç²ç", "upstream": ["åºåå°è´¦"], "downstream": ["åºåå°è´¦(è°æ´)"], "keywords": "çç¹ çç çäº stock taking"}, |
| | | {"name": "åºåå°è´¦", "module": "ä»å¨", "table": "mes_wm_material_stock", "doc": "ç©æÃä»åºÃåºåºÃåºä½Ãæ¹æ¬¡Ãä¾åºåå
å
ç»ï¼æ°é/å»ç»/å ç¨/å¨éåé", "upstream": ["å
¨é¨å
¥åºå"], "downstream": ["å
¨é¨åºåºå", "äºå¡æµæ°´"], "keywords": "åºå å°è´¦ stock å¯ç¨é"}, |
| | | {"name": "æ¹æ¬¡", "module": "ä»å¨", "table": "mes_wm_batch", "doc": "å
³èç©æ/å·¥å/ä¾åºå/客æ·/è´¨éç¶æï¼SN ç 嫿¹æ¬¡ uuidï¼æ¡ç æ¯æ18ç§ä¸å¡å¯¹è±¡", "upstream": ["å
¥åºåæ®"], "downstream": ["åºåå°è´¦"], "keywords": "æ¹æ¬¡ batch SN æ¡ç 追溯"}, |
| | | {"name": "IQCæ¥ææ£éª", "module": "è´¨é", "table": "mes_qc_iqc", "doc": "å°è´§éç¥/å¤åå
¥åºè§¦åï¼è稿0â宿4ï¼ç»è®ºå忥æºåæ®", "upstream": ["å°è´§éç¥", "å¤åå
¥åº"], "downstream": ["éè´å
¥åº", "ä¾åºåéè´§", "NCR"], "keywords": "IQC æ¥ææ£éª"}, |
| | | {"name": "IPQCè¿ç¨æ£éª", "module": "è´¨é", "table": "mes_qc_ipqc", "doc": "æ¥å·¥è´¨æ£å·¥åºäº§åºè¡è§¦åï¼å®æåè°æ¨è¿æ¥å·¥ä¸äº§åºå
¥åº", "upstream": ["æ¥å·¥"], "downstream": ["产åºå
¥åº", "NCR"], "keywords": "IPQC è¿ç¨æ£éª å·¡æ£"}, |
| | | {"name": "OQCåºè´§æ£éª", "module": "è´¨é", "table": "mes_qc_oqc", "doc": "éå®åºåºæäº¤è§¦åï¼å®ææ¨è¿åºåºåå¾
æ£è´§", "upstream": ["éå®åºåºå"], "downstream": ["éå®åºåºå(æ¨è¿)"], "keywords": "OQC åºè´§æ£éª åºåæ£éª"}, |
| | | {"name": "RQCéè´§æ£éª", "module": "è´¨é", "table": "mes_qc_rqc", "doc": "ç产éæ/éå®éè´§/å®åé货触åï¼ç»è®ºåè°å®å", "upstream": ["éæ", "éè´§"], "downstream": ["éè´§å
¥åº", "å®ååè°"], "keywords": "RQC éè´§æ£éª"}, |
| | | {"name": "NCRä¸åæ ¼å", "module": "è´¨é", "table": "mes_qc_ncr", "doc": "å¾
è¯å®¡0âå·²è¯å®¡6âå·²å¤ç½®7âå·²å
³é8ï¼å¤ç½®:éè´§/æ¥åº/è¿å·¥/è®©æ¥æ¥æ¶/é级", "upstream": ["IQC/IPQC/OQC/RQC"], "downstream": ["éè´§/æ¥åº/è¿å·¥(å°è´¦)"], "keywords": "NCR ä¸åæ ¼ å¤ç½® ç¹é æ¥åº"}, |
| | | {"name": "设å¤", "module": "设å¤", "table": "mes_dv_machinery", "doc": "å°è´¦ç¶æ:åæº/ç产ä¸/ä¿å
»ä¸ï¼ç¹æ£Â·ä¿å
»Â·ç»´ä¿®å·¥åï¼AI é£é©é¢æµæ¶è´¹å
¶æ°æ®", "upstream": [], "downstream": ["ç¹æ£", "ç»´ä¿®", "ç产é£é©é¢æµ"], "keywords": "è®¾å¤ ç¹æ£ ä¿å
» ç»´ä¿® machinery"}, |
| | | {"name": "å®åå·¥å", "module": "å®å", "table": "after_sale_ticket", "doc": "è稿0âå¤çä¸10âå¾
å
¥åº30âå¾
鿬¾40âå®ç»50âå
³é60/åæ¶99ï¼å¤å®:ä¸è¬/ç»´ä¿®/éè´§", "upstream": ["客æ·åé¦(人工å½å
¥)"], "downstream": ["维修记å½", "éè´§ç³è¯·"], "keywords": "å®å å·¥å ticket ç»´ä¿®"}, |
| | | {"name": "éè´§ç³è¯·", "module": "å®å", "table": "after_sale_return", "doc": "è稿0âå·²å®¡æ ¸20(èªå¨å»ºMESéè´§å)â已质æ£40âå·²å
¥åº50â已鿬¾60âå
³é70ï¼ç±»å:鿬¾éè´§/æ¢è´§/ä»
鿬¾", "upstream": ["å®åå·¥å"], "downstream": ["éå®éè´§å", "鿬¾"], "keywords": "å®åéè´§ return"}, |
| | | {"name": "åå·¥", "module": "人å", "table": "hrm_employee", "doc": "å¨è1/è¯ç¨2/离è3ï¼å
¥èèªå¨å»ºç³»ç»è´¦å·", "upstream": [], "downstream": ["äº¤æ¥æ å°", "èå¤", "èªé
¬"], "keywords": "åå·¥ å
¥è employee"}, |
| | | {"name": "离è交æ¥", "module": "人å", "table": "hrm_user_handover", "doc": "fromâto æ å°ï¼å·²å®æ20 å expandUserIds æ©å±äº¤æ¥äººå¯è§æ°æ®ï¼å½ååä¸å¡æ¨¡åå°æªå®é
æ¥å
¥è°ç¨ï¼", "upstream": ["离èç³è¯·"], "downstream": ["忍¡åæçæ°æ®æ¥è¯¢"], "keywords": "äº¤æ¥ ç¦»è handover expandUserIds"}, |
| | | {"name": "æç计å", "module": "设å¤", "table": "mes_cal_plan", "doc": "çç»Ãçæ¬¡Ãæ¥ææçï¼ä¾ç产ä¸èå¤å¼ç¨", "upstream": [], "downstream": ["ç产任å¡", "èå¤"], "keywords": "æç çç» çæ¬¡ æ¥å"} |
| | | ] |
| | | }</script> |
| | | <script type="application/json" id="data-flows">{ |
| | | "flows": [ |
| | | {"id": "sales", "name": "é宿µç¨", "mermaid": "mermaid/02-sales-flow.mmd", "color": "#4f9cff", |
| | | "summary": "线索转åå®¢æ· â åæºæ¨è¿ â æ¥ä»·(å¯AIè¯å«) â åå BPM å®¡æ¹ â çæ ERP éå®è®¢åå¹¶å®¡æ¹ â éç产è¡èªå¨å»º MPS â åè´§éç¥ â éå®åºåº(OQC)åå â å¼ç¥¨(BPM) â 忬¾(å
å¼ç¥¨æ ¡éª)ã", |
| | | "steps": [ |
| | | {"stage": "è·å®¢", "action": "线索转å客æ·ã建è系人ãç«é¡¹åæº", "roles": ["éå®å
å¤"]}, |
| | | {"stage": "æ¥ä»·", "action": "åæºèµ¢åå建æ¥ä»·å(AI OCR é¢å¡«)ï¼è½¬åå", "roles": ["éå®å
å¤"]}, |
| | | {"stage": "ç¾çº¦", "action": "ååæäº¤ BPM 审æ¹(å¯éæµç¨å®ä¹)ï¼éè¿=20", "roles": ["éå®", "审æ¹äºº"]}, |
| | | {"stage": "æ¥å", "action": "ååä¸é®çæéå®è®¢å(XSDD)ï¼éå®è®¢ååèµ° BPMï¼å®¡æ¹éè¿èªå¨ä¸º needProduction æç»å建 MPS", "roles": ["éå®", "计åå"]}, |
| | | {"stage": "交ä»", "action": "åè´§éç¥å®¡æ ¸(å ç¨)â éå®åºåº OQC â åè¿ â åºåºååé¨å/å
¨é¨åºåº", "roles": ["ä»ç®¡", "è´¨æ£"]}, |
| | | {"stage": "忬¾", "action": "å¼ç¥¨ BPM(累计â¤ååé¢) â 忬¾å¼ºå¶å
å¼ç¥¨(累计â¤ååå©ä½ä¸å¼ç¥¨å©ä½)", "roles": ["è´¢å¡", "éå®"]}]}, |
| | | {"id": "purchase", "name": "éè´æµç¨", "mermaid": "mermaid/03-purchase-flow.mmd", "color": "#5fc79e", |
| | | "summary": "SRM åå
¥/宿 便º â éè´ç³è¯· BPM â éè´è®¢å BPM â 确认æ¶è´§çæ MES å°è´§éç¥ â IQC(åæ ¼/ç¹éå
¥åºÂ·éè´§/æ¥åº) â éè´å
¥åºåå订åä¸ç³è¯· â æ¥ç¥¨(AI OCR) â 仿¬¾å BPMã", |
| | | "steps": [ |
| | | {"stage": "寻æº", "action": "ä¾åºååå
¥(BPM)å»ºæ¡£ï¼ææ 宿´çæç®ææ¯ä»·ï¼å®æ 审æ¹éè¿èªå¨çæéè´è®¢å", "roles": ["éè´å¼å"]}, |
| | | {"stage": "ç³è¯·", "action": "éè´ç³è¯·(CGSQ)æäº¤ BPMï¼é©³åå¯éç½®åè稿ï¼éè¿ä¸æä¾åºåèªå¨çæè®¢å", "roles": ["éè´å", "审æ¹äºº"]}, |
| | | {"stage": "ä¸å", "action": "éè´è®¢å(CGDD)èªå¨æäº¤ BPM(15â20)", "roles": ["éè´å"]}, |
| | | {"stage": "æ¶è´§", "action": "确认æ¶è´§çæå°è´§éç¥(0âå¾
è´¨æ£2/å¾
å
¥åº3â4)ï¼éæ£ç©æèªå¨å建 IQC", "roles": ["ä»ç®¡", "IQC è´¨æ£å"]}, |
| | | {"stage": "å
¥åº", "action": "IQC åæ ¼/ç¹éâéè´å
¥åº(å¾
䏿¶âå¾
æ§è¡â宿)åºå+ï¼åå订å inCount/inStatus ä¸ç³è¯·æç»", "roles": ["ä»ç®¡"]}, |
| | | {"stage": "éè´§", "action": "IQC ä¸åæ ¼éè´§âä¾åºåéè´§åºåº(éæéå®å°è®¢åè¡)ï¼æ¥åºèµ° NCR", "roles": ["ä»ç®¡"]}, |
| | | {"stage": "仿¬¾", "action": "éè´æ¥ç¥¨(FPD, AI OCR, â¤è®¢åæ»ä»·) â 仿¬¾å(FKD å
³èæ¥ç¥¨+éä»¶, â¤æ¥ç¥¨éé¢) BPM 审æ¹", "roles": ["è´¢å¡", "审æ¹äºº"]}]}, |
| | | {"id": "production", "name": "ç产æµç¨", "mermaid": "mermaid/04-production-flow.mmd", "color": "#e0b34f", |
| | | "summary": "éå®è®¢åé©±å¨ MPS â ä¸åå·¥å â æå·¥èºè·¯çº¿æå·¥åºä»»å¡ â 颿/çº¿è¾¹å¤æ â æ¥å·¥(å·¥åºé¡ºåºç¡¬æ ¡éª+BPM) â å岿¶è/产åºå
¥åº/IPQC â æ«éå·¥åºååè¿åº¦ â èªå¨å®å·¥ â ProductionFinishedEvent ååéå®è®¢åã", |
| | | "steps": [ |
| | | {"stage": "计å", "action": "MPS å建(æå·¥æéå®è®¢åèªå¨)âä¸åæåå¹¶ä¸å为工å", "roles": ["计åå"]}, |
| | | {"stage": "派工", "action": "å·¥å确认æå·¥èºè·¯çº¿éå·¥åºçæä»»å¡ï¼å¯ææ´¾/æå/åæ¶", "roles": ["车é´ä¸»ä»»"]}, |
| | | {"stage": "夿", "action": "çäº§é¢æååºåºæçº¿è¾¹èæåºå¤æ", "roles": ["ä»ç®¡"]}, |
| | | {"stage": "æ¥å·¥", "action": "æäº¤æ¥å·¥ï¼ä¸ä¸éå·¥åºæªæ¥æ»¡ç´æ¥æ¦æªï¼å¯ç¨ BPM 走审æ¹", "roles": ["æä½å·¥"]}, |
| | | {"stage": "èå¨", "action": "审æ¹éè¿æå·¥åºæ è®°: åå²âèªå¨ç©ææ¶èæ£çº¿è¾¹åº(å
许è´åºå)ï¼è´¨æ£â产åºå¾
æ£è¡ç IPQCï¼å
³é®éæ£âç´æ¥äº§åºå
¥åº", "roles": ["ç³»ç»èªå¨"]}, |
| | | {"stage": "å®å·¥", "action": "ä»
æ«éå·¥åºååå·¥åå·²ç产æ°éï¼è¾¾æ èªå¨å®æï¼MPS ç´¯è®¡å¤æå®æå¹¶åäºä»¶ç»éå®è®¢å", "roles": ["ç³»ç»èªå¨"]}]}, |
| | | {"id": "quality", "name": "è´¨éæµç¨", "mermaid": "mermaid/05-quality-flow.mmd", "color": "#e06c6c", |
| | | "summary": "å鿣éªé¸å£(IQC/IPQC/OQC/RQCï¼äºæ 0â4) + å¤å®åæ(åæ ¼/ç¹é/éè´§/æ¥åº) + NCR è¯å®¡å¤ç½®å
³éï¼AI æä¾å¤å®å»ºè®®ï¼NCR å½åä»
å°è´¦ä¸è§¦åè¿å·¥åã", |
| | | "steps": [ |
| | | {"stage": "æ¥æ", "action": "å°è´§éç¥/å¤åå
¥åºâIQCï¼ç»è®ºå忍è¿å¾
å
¥åºæè§¦åéè´§", "roles": ["IQC è´¨æ£å"]}, |
| | | {"stage": "è¿ç¨", "action": "æ¥å·¥è´¨æ£å·¥åºäº§åºè¡âIPQCï¼åæ ¼æè¡å
¥åºãä¸åæ ¼çæ NCR", "roles": ["IPQC è´¨æ£å"]}, |
| | | {"stage": "åºè´§", "action": "éå®åºåºæäº¤âOQCï¼å®æååºåºåè¿å
¥å¾
æ£è´§", "roles": ["OQC è´¨æ£å"]}, |
| | | {"stage": "éè´§", "action": "éæ/éå®éè´§/å®åéè´§âRQCï¼ç»è®ºåè°åæ®ä¸å®å", "roles": ["RQC è´¨æ£å"]}, |
| | | {"stage": "ä¸åæ ¼", "action": "NCR: å¾
è¯å®¡âè¯å®¡âå¤ç½®(éè´§/æ¥åº/è¿å·¥/è®©æ¥æ¥æ¶/é级)âå
³é", "roles": ["è´¨éå·¥ç¨å¸"]}]}, |
| | | {"id": "warehouse", "name": "ä»å¨æµç¨", "mermaid": "mermaid/06-warehouse-flow.mmd", "color": "#7e6bd6", |
| | | "summary": "15 ç±»åæ®é©±å¨åºåå°è´¦(å
å
ç»ãåé)åå¨ï¼å
¨é¨ç»äºå¡æµæ°´ççï¼æ¯æè°æ¨å¨éãçç¹è°æ´ãæ¹æ¬¡/SN 追溯ãåºåå ç¨ä¸å级å»ç»ã线边èæåºè´åºåï¼å¯¹å¤ WmsStockApi ä¾ ERP æ¶åã", |
| | | "steps": [ |
| | | {"stage": "å
¥åº", "action": "éè´å
¥åº/ç产å
¥åº/产åºå
¥åº/éè´§å
¥åº/å¤åå
¥åº/æé¡¹å
¥åº â IN äºå¡ï¼æ¹æ¬¡æ··æ¾æ ¡éªãå级å»ç»æ ¡éª", "roles": ["ä»ç®¡"]}, |
| | | {"stage": "åºåº", "action": "éå®åºåº/颿/æ¶è/å¤ååæ/ä¾åºåéè´§/æé¡¹åºåº â OUT äºå¡ï¼checkFlag æ§å¶å¯å¦è´åºå", "roles": ["ä»ç®¡", "ç³»ç»èªå¨"]}, |
| | | {"stage": "ç§»åº", "action": "å
é¨/å¤é¨è°æ¨æå¯¹ MOVE äºå¡ï¼å¨éæ°éè·è¸ª", "roles": ["ä»ç®¡"]}, |
| | | {"stage": "çç¹", "action": "æ¹æ¡âä»»å¡âæç»è¡âç»æï¼çç ADJUST_INãçäº ADJUST_OUTï¼å¯å»ç»ä¸ç²ç", "roles": ["çç¹å"]}, |
| | | {"stage": "追溯", "action": "æ¹æ¬¡/SN(uuid)/æ¡ç (18ç±»)/è£
ç®±åµå¥æ¯ææ£åå追溯", "roles": ["è´¨é", "å®å"]}]}, |
| | | {"id": "aftersales", "name": "å®åæµç¨", "mermaid": "mermaid/07-after-sales-flow.mmd", "color": "#c78bd6", |
| | | "summary": "å·¥å(å
æ+é®é¢å¤å®) â ç»´ä¿®ä¸ç±»åæéè´§ç³è¯· â å®¡æ ¸èªå¨å»º MES éå®éè´§å â RQC è´¨æ£/å
¥åº/鿬¾ä¸åè°é级æ¨è¿ â å·¥åå®ç»å
³éã", |
| | | "steps": [ |
| | | {"stage": "åç", "action": "人工å½å
¥å·¥å(å
³è客æ·/订å/åå)ï¼åé
å¤ç人è¿å
¥å¤çä¸", "roles": ["客æ"]}, |
| | | {"stage": "å¤å®", "action": "é®é¢å¤å®: ä¸è¬/ç»´ä¿®/éè´§ï¼ä¸¥é度 0-3", "roles": ["å®åå·¥ç¨å¸"]}, |
| | | {"stage": "ç»´ä¿®", "action": "ç°åº/è¿å/è¿ç¨ç»´ä¿®ï¼è´¹ç¨ä¸ç»æè®°å½ï¼å®æèå¨å·¥åå®ç»", "roles": ["维修工ç¨å¸"]}, |
| | | {"stage": "éè´§", "action": "éè´§ç³è¯·å®¡æ ¸âèªå¨å»º MES éå®éè´§å(RQC)âè´¨æ£/å
¥åºåè°â鿬¾åè°âå
³é", "roles": ["å®å", "è´¨æ£", "è´¢å¡"]}]}, |
| | | {"id": "ai", "name": "AI ä¸å¡æµç¨", "mermaid": "mermaid/11-ai-business-flow.mmd", "color": "#56c8d8", |
| | | "summary": "ç»ä¸æ¨¡å¼ï¼ä¸å¡ä¾§æ¶éä¸ä¸æ(å¿
è¦æ¶è° MDM/SRM/CRM API ååç§°)âç»è£
Promptâchat/chatWithImageâè§£æ JSONâå端é¢å¡«æå»ºè®®ï¼æ Function Callingï¼RAG ç¥è¯åºå·²å»ºæä½ææ ä¸å¡æ¶è´¹ã", |
| | | "steps": [ |
| | | {"stage": "å½å
¥ææ", "action": "å票 OCR(å¾ç夿¨¡æ/PDFææ¬)ãæ¥ä»·å OCR â ç»æåé¢å¡«", "roles": ["éè´å", "éå®"]}, |
| | | {"stage": "è¾
å©å¤å®", "action": "è´¨æ£å+ææ +ç¼ºé· â å»ºè®®åæ ¼/ç¹é/éè´§/æ¥åº+çç±", "roles": ["è´¨æ£å"]}, |
| | | {"stage": "å³ç颿µ", "action": "缺æ/ç产æ¶é¿/ç产é£é©/交ä»åç±»é¢æµä¾è®¡åæäº§åè", "roles": ["计åå"]}, |
| | | {"stage": "ç¥è¯æ£ç´¢", "action": "ææ¡£âåçâMilvus åéâæ£ç´¢æ¥å£(é¢ç)", "roles": ["â"]}]} |
| | | ] |
| | | }</script> |
| | | <script type="application/json" id="data-roles">{ |
| | | "note": "å®é
system_role ä»
4 个ææè§è²ï¼è¶
级管çå/æ®éè§è²/CRM管çå/ç§æ·ç®¡çåï¼+1 æµè¯è§è²ï¼ä¸å¡å工主è¦éè¿ãèåæé + æ°æ®æéï¼è´è´£äººå¶ï¼ãå®ç°ï¼èéç»åè§è²ã以ä¸ä¸å¡è§è²ç±å模ååè½ä¸æ°æ®æéæ¨¡åæ¨å¯¼ã", |
| | | "systemRoles": [ |
| | | {"name": "è¶
级管çå", "code": "super_admin", "desc": "代ç ç´è¿å
¨é¨èå"}, |
| | | {"name": "æ®éè§è²", "code": "common", "desc": "ä¾èµ system_role_menu é
æ"}, |
| | | {"name": "CRM 管çå", "code": "crm_admin", "desc": "CRM æ¥çå
¨é¨æ°æ®"}, |
| | | {"name": "ç§æ·ç®¡çå", "code": "tenant_admin", "desc": "å¤ç§æ·å·²å
³éï¼éç"} |
| | | ], |
| | | "businessRoles": [ |
| | | {"role": "éå®å
å¤/éå®", "modules": ["CRM", "ERP"], "operations": ["线索客æ·åæºç»´æ¤", "æ¥ä»·ä¸åå", "éå®è®¢å", "è·è¿è®°å½"], "data": ["crm_*", "erp_sale_order"], "scope": "è´è´£äºº(owner)+æ°æ®æéä¸çº§ï¼åªè¯»/读å/è´è´£äººï¼å
¬æµ·æ± å¯é¢åï¼äº¤æ¥äººåºå¯éè¿ expandUserIds çå°ç¦»èäººæ°æ®(æ¥å£å·²å¤ãå¾
æ¥å
¥)"}, |
| | | {"role": "éå®ç»ç", "modules": ["CRM"], "operations": ["åæº/åå审æ¹åä¸", "éå®ç®æ å¶å®", "ä¸ç»©æåæ¼æåæ"], "data": ["å¢éæ°æ®(ä¸å±ç¨æ·)"], "scope": "AdminUserApi ä¸çº§ç¨æ·æ©å±"}, |
| | | {"role": "éè´å", "modules": ["ERP", "SRM"], "operations": ["éè´ç³è¯·/订å", "确认æ¶è´§", "æ¥ç¥¨ä¸ä»æ¬¾åèµ·"], "data": ["erp_purchase_*", "srm_*"], "scope": "requestUserId/supplierOwner å½å±"}, |
| | | {"role": "éè´å¼å/ä¾åºå管çå", "modules": ["SRM"], "operations": ["åå
¥å®¡æ¹æµè½¬", "ææ æ¯ä»·ç»ç»", "绩æè¯ä»·"], "data": ["srm_supplier_apply", "srm_tender_*"], "scope": "BPM å¤é¨é¨ä¼ç¾(éè´/è´¨é/è´¢å¡)"}, |
| | | {"role": "计åå", "modules": ["MES"], "operations": ["MPS ä¸å·¥å", "å·¥èºè·¯çº¿ç»´æ¤", "AI 颿µåè"], "data": ["mes_pro_*"], "scope": "车é´/é¨é¨æ°æ®èå´"}, |
| | | {"role": "æä½å·¥/çç»é¿", "modules": ["MES"], "operations": ["任塿¥æ¶", "æ¥å·¥æäº¤(åå·¥åºé¡ºåºçº¦æ)", "å®ç¯"], "data": ["mes_pro_feedback", "mes_pro_task"], "scope": "ä»»å¡ææ´¾äººå¯è§"}, |
| | | {"role": "ä»ç®¡å", "modules": ["MES-WM"], "operations": ["15 ç±»åºå
¥åºåæ®æ§è¡", "è°æ¨", "çç¹", "æ¡ç è£
ç®±"], "data": ["mes_wm_*"], "scope": "ä»åºç»´åº¦ï¼WMS 坿ä»åºé
ç½®åºå
¥åº/è°æ¨/çç¹æ¯å¦èµ° BPM"}, |
| | | {"role": "è´¨æ£å", "modules": ["MES-QC"], "operations": ["IQC/IPQC/OQC/RQC æ£éª", "NCR è¯å®¡å¤ç½®"], "data": ["mes_qc_*"], "scope": "inspectorUserId å½å±"}, |
| | | {"role": "设å¤å/维修工", "modules": ["MES-DV"], "operations": ["ç¹æ£ä¿å
»", "维修工å", "å·¥è£
é¢ç¨"], "data": ["mes_dv_*", "mes_tm_*"], "scope": "chargeUserId å½å±"}, |
| | | {"role": "客æ/å®åå·¥ç¨å¸", "modules": ["å®å"], "operations": ["å·¥ååçæ´¾å·¥", "ç»´ä¿®", "éè´§ç³è¯·"], "data": ["after_sale_*"], "scope": "è¡çº§æ°æ®æéåè§å¾ï¼æè´è´£/æåä¸/ä¸å±è´è´£/å
¨é¨(aftersales:view-all)"}, |
| | | {"role": "è´¢å¡", "modules": ["ERP", "CRM"], "operations": ["æ¶æ¬¾å", "仿¬¾å", "å¼ç¥¨å®¡æ ¸", "ç»ç®è´¦æ·"], "data": ["erp_finance_*", "crm_invoice", "crm_receivable"], "scope": "financeUserId å½å±"}, |
| | | {"role": "HR", "modules": ["HRM"], "operations": ["å工档æ¡å
¥è½¬è°ç¦»", "èå¤è§åæç", "èªé
¬æ ¸ç®åæ¾", "离è交æ¥"], "data": ["hrm_*"], "scope": "é¨é¨èå´ dataScope"}, |
| | | {"role": "管çå±", "modules": ["BI"], "operations": ["æ¥çéè´éå®/ä»åº/ç产设å¤/è´¨é/人åäºå¤§ä¸»é¢å¤§å±"], "data": ["bi_dashboard"], "scope": "åªè¯»"} |
| | | ] |
| | | }</script> |
| | | <pre style="display:none" class="mmd-src" data-mmd="01-business-mindmap"> |
| | | mindmap |
| | | root((MOM 工忰ååå¹³å°)) |
| | | åºç¡ä¸»æ°æ® MDM |
| | | ç©æä¸SKU |
| | | ç©æåç±» |
| | | 计éåä½ä¸åç |
| | | ä»åºä¸»æ°æ® |
| | | éå®ç®¡ç CRM |
| | | 线索 |
| | | 客æ·ä¸è系人 |
| | | åæºä¸é¶æ®µ |
| | | æ¥ä»·å |
| | | éå®åå |
| | | å¼ç¥¨ä¸å款 |
| | | éå®ç®æ |
| | | æ°æ®æéä¸å
¬æµ· |
| | | ä¾åºå管ç SRM |
| | | ä¾åºåæ¡£æ¡ |
| | | åå
¥å®¡æ¹ |
| | | èµè´¨è¯ä¹¦ |
| | | ææ ä¸æ¯ä»· |
| | | 绩æè¯ä»· |
| | | è¿éåä¸è´¢å¡ ERP |
| | | éè´ç³è¯· |
| | | éè´è®¢å |
| | | éè´æ¥ç¥¨ |
| | | éå®è®¢å |
| | | 仿¬¾å |
| | | æ¶æ¬¾å |
| | | ç»ç®è´¦æ· |
| | | ç产管ç MES |
| | | 主ç产计å MPS |
| | | ç产工å |
| | | çäº§ä»»å¡ |
| | | ç产æ¥å·¥ |
| | | å·¥èºè·¯çº¿ä¸å·¥åº |
| | | å·¥åBOM |
| | | ç åè®¾è®¡é¡¹ç® |
| | | å®ç¯ |
| | | ä»å¨ç®¡ç MES-WM |
| | | ä»åºåºåºåºä½ |
| | | å°è´§éç¥ |
| | | éè´å
¥åº |
| | | çäº§é¢æä¸éæ |
| | | ç产å
¥åº |
| | | éå®åºåºä¸éè´§ |
| | | è½¬ç§»è°æ¨ |
| | | çç¹ |
| | | åºåå°è´¦ä¸äºå¡ |
| | | æ¹æ¬¡SNæ¡ç è£
ç®± |
| | | è´¨é管ç MES-QC |
| | | IQC æ¥ææ£éª |
| | | IPQC è¿ç¨æ£éª |
| | | OQC åºè´§æ£éª |
| | | RQC éè´§æ£éª |
| | | NCR ä¸åæ ¼å |
| | | è´¨æ£æ¹æ¡ä¸ææ ç¼ºé· |
| | | 设å¤ä¸æç |
| | | 设å¤å°è´¦ |
| | | ç¹æ£ä¸ä¿å
» |
| | | 维修工å |
| | | å·¥è£
夹å
· |
| | | çç»çæ¬¡ä¸æç |
| | | å®åæå¡ |
| | | å®åå·¥å |
| | | ç»´ä¿®è®°å½ |
| | | éè´§ç³è¯· |
| | | æ°æ®æé |
| | | 人åèµæº HRM |
| | | åå·¥æ¡£æ¡ |
| | | 请åå çè°å²ç¦»è |
| | | 离èäº¤æ¥æ å° |
| | | èå¤æçæ±æ» |
| | | èªé
¬æ ¸ç®ä¸åæ¾ |
| | | ååå®¡æ¹ BPM |
| | | Flowable 弿 |
| | | ä¸å¡ç¶æåè°çå¬ |
| | | AI æºè½ |
| | | å票OCRè¯å« |
| | | æ¥ä»·åOCRè¯å« |
| | | è´¨æ£ç»æå¤å® |
| | | ç©æçç¼ºé¢æµ |
| | | ç产æ¶é¿ä¸é£é©é¢æµ |
| | | 交ä»é¢æµ |
| | | RAG ç¥è¯åº |
| | | BI ä¸ç®¡çé©¾é©¶è± |
| | | SQL é
ç½®å¼å¤§å± |
| | | éè´éå®åºåç产质é人åä¸»é¢ |
| | | ç³»ç»åºåº§ |
| | | 认è¯ä¸RBAC |
| | | æ°æ®æé |
| | | åå
¸ |
| | | éä»¶ä¸å¿ |
| | | 宿¶ä»»å¡ä¸æ¶æ¯ |
| | | </pre> |
| | | <pre style="display:none" class="mmd-src" data-mmd="02-sales-flow"> |
| | | flowchart TD |
| | | A[线索 crm_clue] -->|转å·ä»
䏿¬¡| B[å®¢æ· crm_customer] |
| | | B --> C[è系人 crm_contact] |
| | | B --> D[åæº crm_business] |
| | | D -->|èªå®ä¹é¶æ®µæ¨è¿| E{åæºç»æ} |
| | | E -->|èµ¢å| F[æ¥ä»·å QT·è稿0â已转åå10] |
| | | E -->|è¾åææ æ| X[ç»æ] |
| | | F -->|转åå·带å
¥å®¢æ·äº§åææ£| G[åå HT·è稿0â审æ¹ä¸10] |
| | | D -->|ç´æ¥å»ºåå| G |
| | | G -->|BPM审æ¹éè¿20| H[çæ ERP éå®è®¢å XSDD] |
| | | H -->|æäº¤BPM| I[éå®è®¢å审æ¹Â·å®¡æ¹ä¸15âå·²å®¡æ ¸20] |
| | | I -->|æç»éç产·èªå¨å建| J[MES 主ç产计å MPS] |
| | | I --> K[åè´§éç¥å] |
| | | K -->|å®¡æ ¸éè¿| L[éå®åºåºå·OQCâæ£è´§âåè¿âåºåºå®æ] |
| | | L -->|åååºåºæ°éä¸ç¶æ| M[éå®è®¢å é¨ååºåº2/å
¨é¨åºåº3] |
| | | G --> N[忬¾è®¡åÂ·æææ°åæ] |
| | | G -->|æäº¤BPM| O[å¼ç¥¨ KP·审æ¹ä¸10âéè¿20·累计ä¸è¶
ååé¢] |
| | | O -->|忬¾åå¿
é¡»å
å¼ç¥¨| P[忬¾ HK·å建å³å®¡æ¹ä¸10âæå¨å®¡æ ¸20] |
| | | P -->|æ ¡éªååå©ä½é¢ä¸å¼ç¥¨å©ä½é¢| N |
| | | </pre> |
| | | <pre style="display:none" class="mmd-src" data-mmd="03-purchase-flow"> |
| | | flowchart TD |
| | | S0[SRM åå
¥ç³è¯· AP·å¾
æäº¤0â审æ¹ä¸10âå·²éè¿40] --> S1[ä¾åºåæ¡£æ¡ srm_supplier] |
| | | S1 --> S2[èµè´¨è¯ä¹¦ç®¡ç] |
| | | S1 --> S3[绩æè¯ä»·Â·è´¨é交ä»ä»·æ ¼æå¡åç»´] |
| | | S4[SRM ææ æ¯ä»·Â·åå¸âææ â弿 âè¯æ â宿 ] -->|宿 审æ¹éè¿çæè®¢å| C3 |
| | | C1[éè´ç³è¯· CGSQ·è稿0â审æ¹ä¸10] -->|æäº¤BPM| C2{审æ¹} |
| | | C2 -->|驳å30âå¯éç½®åè稿| C1 |
| | | C2 -->|éè¿20䏿ä¾åºå·èªå¨çæ| C3[éè´è®¢å CGDD·审æ¹ä¸15âå·²å®¡æ ¸20] |
| | | C2 -->|éè¿20æ ä¾åºå| C4[æå¨æå®ä¾åºåçæè®¢å] |
| | | C4 --> C3 |
| | | C3 -->|确认æ¶è´§| C5[å°è´§éç¥å·è稿0âå¾
è´¨æ£2âå¾
å
¥åº3â宿4] |
| | | C5 -->|ç©æéæ£éªÂ·èªå¨å建| C6[IQC æ¥ææ£éª] |
| | | C6 -->|åæ ¼1æç¹é2 å¯å
¥åº| C7[éè´å
¥åºå·è稿0âå¾
䏿¶2âå¾
æ§è¡3â宿4] |
| | | C6 -->|ä¸åæ ¼éè´§3| C8[ä¾åºåé货·å¾
æ£è´§âå¾
æ§è¡âå®æÂ·åºåæ£å] |
| | | C6 -->|ä¸åæ ¼æ¥åº4| C9[NCR ä¸åæ ¼åå¤ç½®] |
| | | C7 -->|åå inCount ä¸ inStatus æªå
¥åº0é¨å1å
¨é¨2| C3 |
| | | C7 -->|ååç³è¯·æç» inCount| C1 |
| | | C3 -->|è®¢åæ»ä»·æ§å¶| C10[éè´æ¥ç¥¨ FPD·累计éé¢â¤è®¢åæ»ä»·] |
| | | C10 -->|仿¬¾åå¿
é¡»å
³èæ¥ç¥¨| C11[仿¬¾å FKD·审æ¹ä¸15âå·²å®¡æ ¸20Â·ç´¯è®¡ä»æ¬¾â¤æ¥ç¥¨éé¢] |
| | | </pre> |
| | | <pre style="display:none" class="mmd-src" data-mmd="04-production-flow"> |
| | | flowchart TD |
| | | P0[éå®è®¢åæç» needProduction=1] -->|审æ¹éè¿èªå¨å建| P1[MPS 主ç产计å·è稿0âå·²ä¸å1] |
| | | P1 -->|ä¸åæåå¹¶ä¸å| P2[ç产工å·è稿0â已确认1] |
| | | P2 -->|æå·¥èºè·¯çº¿å·¥åºèªå¨çæ| P3[ç产任å¡ÃN·é¢å¤0âç产ä¸1âé¨å宿2â宿4Â·å¯æå9] |
| | | P3 --> P4[çäº§é¢æ æ 线边èæåºå¤æ] |
| | | P4 --> P5[æ¥å·¥æäº¤Â·è稿0] |
| | | P5 -->|æ ¡éª:ä¸ä¸éå·¥åºæªæ¥æ»¡åæ¦æª| P5 |
| | | P5 -->|å¯ç¨BPMåæäº¤å®¡æ¹| P6{æ¥å·¥å®¡æ¹} |
| | | P6 -->|驳å| P5 |
| | | P6 -->|éè¿ä¸åå²å·¥åº| P7[æå·¥åBOMèªå¨çæç©ææ¶è·æ£çº¿è¾¹èæåºFIFOå
许è´åºå] |
| | | P6 -->|éè¿ä¸è´¨æ£å·¥åº| P8[产åºè¡å¾
æ£âIPQC è¿ç¨æ£éª] |
| | | P6 -->|éè¿ä¸éè´¨æ£å
³é®å·¥åº| P9[产å产åºç´æ¥å®å·¥å
¥åº] |
| | | P8 -->|æ£éªåæ ¼| P10[æåæ ¼ä¸ä¸åæ ¼è¡å
¥åº] |
| | | P8 -->|ä¸åæ ¼| P11[NCR ä¸åæ ¼å] |
| | | P9 --> P12[è¿åº¦åå·ä»
æåä¸éå·¥åºæ¥å·¥ææ´æ°å·¥åå·²ç产æ°é] |
| | | P10 --> P12 |
| | | P12 -->|å·²ç产æ°éâ¥è®¡åæ°é·èªå¨| P13[å·¥å宿2] |
| | | P12 -->|累计| P14[MPS ååå·²ç产æ°é并夿宿2] |
| | | P14 -->|å
¨é¨å®æ| P15[åå¸ ProductionFinishedEventâååéå®è®¢åçäº§ç¶æ] |
| | | </pre> |
| | | <pre style="display:none" class="mmd-src" data-mmd="05-quality-flow"> |
| | | flowchart TD |
| | | T1[å°è´§éç¥å æ å¤åå
¥åºå] --> A1[IQC æ¥ææ£éªÂ·è稿0â宿4] |
| | | T2[æ¥å·¥è´¨æ£å·¥åºéè¿å产åºè¡] --> A2[IPQC è¿ç¨æ£éªÂ·è稿0â宿4] |
| | | T3[éå®åºåºåæäº¤] --> A3[OQC åºè´§æ£éªÂ·è稿0â宿4] |
| | | T4[ç产éæå æ éå®éè´§å æ å®åéè´§] --> A4[RQC éè´§æ£éªÂ·è稿0â宿4] |
| | | A1 --> R{æ£éªå¤å® MesQcCheckResultEnum} |
| | | A2 --> R |
| | | A3 --> R |
| | | A4 --> R |
| | | R -->|1 åæ ¼| Q1[å
许å
¥åºÂ·å忥æºåæ®æ¨è¿ç¶æ] |
| | | R -->|2 ç¹é| Q2[å
许å
¥åºÂ·å¹¶çæNCRçç] |
| | | R -->|3 ä¸åæ ¼éè´§| Q3[çæNCR·走ä¾åºåéè´§æéå®éè´§] |
| | | R -->|4 ä¸åæ ¼æ¥åº| Q4[çæNCR·走æ¥åºåºåº] |
| | | A2 -->|åæ ¼æ°é| Q5[æ¥å·¥è½¬å®æÂ·äº§åºæè¡å
¥åº] |
| | | A3 -->|宿| Q6[éå®åºåºåæ¨è¿å¾
æ£è´§] |
| | | A4 -->|宿| Q7[éè´§åæ¨è¿ä¸æ¶æå
¥åºÂ·å®ååè°ç»è®º] |
| | | N1[NCR å¾
è¯å®¡0] -->|è¯å®¡| N2[å·²è¯å®¡6] |
| | | N2 -->|å¤ç½®æ¹å¼:éè´§1æ¥åº2è¿å·¥3è®©æ¥æ¥æ¶4é级使ç¨5| N3[å·²å¤ç½®7] |
| | | N3 -->|å
³é| N4[å·²å
³é8] |
| | | Q8[æ¯ææ°æ®:è´¨æ£æ¹æ¡Â·æ£éªææ ·缺é·åºÂ·ææ ç»æ] --- A1 |
| | | </pre> |
| | | <pre style="display:none" class="mmd-src" data-mmd="06-warehouse-flow"> |
| | | flowchart LR |
| | | subgraph INB [å
¥åºÂ·äºå¡IN·åºåå ] |
| | | I1[éè´å
¥åº] |
| | | I2[ç产å
¥åºå] |
| | | I3[æ¥å·¥äº§åºèªå¨å
¥åº] |
| | | I4[éå®éè´§å
¥åº] |
| | | I5[å¤åå
¥åº] |
| | | I6[æé¡¹å
¥åº] |
| | | end |
| | | subgraph OUTB [åºåºÂ·äºå¡OUT·åºåå] |
| | | O1[éå®åºåº] |
| | | O2[çäº§é¢æ] |
| | | O3[ç©ææ¶èåå²Â·å
许è´åºå] |
| | | O4[å¤ååæ] |
| | | O5[ç产éæåä»] |
| | | O6[ä¾åºåéè´§] |
| | | O7[æé¡¹åºåºÂ·è°æ´ææ¥åº] |
| | | end |
| | | W[(åºåå°è´¦ mes_wm_material_stock ç©æÃä»åºÃåºåºÃåºä½Ãæ¹æ¬¡Ãä¾åºå)] |
| | | INB -->|getOrCreate å æ°é| W |
| | | OUTB -->|æ ¡éªå¯ç¨é忣å| W |
| | | W -->|å ç¨é¢ç reservedQuantity| RES[åºåå ç¨ éå®åºåºÂ·é¢æÂ·å¤å·æé¡¹Â·è°æ¨] |
| | | MV[è½¬ç§»è°æ¨Â·å
鍿å¤é¨] -->|æå¯¹äºå¡ MOVE_OUT+MOVE_IN å¨é| W |
| | | ST[çç¹ æ¹æ¡âä»»å¡âæç»è¡âç»æ] -->|çç ADJUST_IN·çäº ADJUST_OUT·å¯å»ç»åºå| W |
| | | W --> TX[äºå¡æµæ°´ mes_wm_transaction åªè¯»å
¨éçç] |
| | | BT[æ¹æ¬¡ mes_wm_batch·SNç ·æ¡ç ·è£
ç®±åµå¥] --- W |
| | | WIP[[线边èæåº WIP_VIRTUAL_WAREHOUSE·æåå§å]] --- O3 |
| | | FR[å级å»ç»:ä»åºÂ·åºåºÂ·åºä½Â·åºåè®°å½] --- W |
| | | </pre> |
| | | <pre style="display:none" class="mmd-src" data-mmd="07-after-sales-flow"> |
| | | flowchart TD |
| | | F1[客æ·åé¦Â·åå°äººå·¥å½å
¥å·¥å·å
³è客æ·è系人éå®è®¢ååå] --> K1[å®åå·¥å·è稿0] |
| | | K1 -->|assignTicket åé
å¤ç人| K2[å¤çä¸10·é®é¢å¤å®:ä¸è¬1ç»´ä¿®2éè´§3·严é度0-3] |
| | | K2 -->|维修类| R1[维修记å½Â·å¾
å¤ç0âç»´ä¿®ä¸10â已宿20âå·²å
³é30·ç°åºè¿åè¿ç¨] |
| | | R1 -->|completeRepair| K4[å·²å®ç»50] |
| | | K2 -->|éè´§ç±»å建éè´§ç³è¯·| T1[éè´§ç³è¯·Â·è稿0] |
| | | T1 -->|approveReturn å®¡æ ¸éè¿| T2[å·²å®¡æ ¸20·èªå¨å建MESéå®éè´§å] |
| | | T2 --> T3[MES éå®é货·è稿âå¾
æ£éªRQCâå¾
䏿¶âå¾
å
¥åºâ宿] |
| | | T3 -->|è´¨æ£ç»è®ºåè° onReturnQualityFinished åæ ¼ç¹ééè´§æ¥åº| T4[已质æ£40] |
| | | T3 -->|å
¥åºå®æåè° onReturnInboundFinished| T5[å·²å
¥åº50] |
| | | T5 -->|鿬¾å®æåè° onRefundCompleted è®°å½å®é
鿬¾é¢| T6[已鿬¾60] |
| | | T6 --> T7[å·²å
³é70] |
| | | T2 -.->|ç¶ææµè½¬ä¸| T8[å®¡æ ¸ä¸10·é¢çæªå¯ç¨] |
| | | K2 -->|éè´§é¾è·¯èå¨å·¥å| K3[å¾
å
¥åº30âå¾
鿬¾40] |
| | | K3 --> K4 |
| | | K2 -->|resolveTicket| K4 |
| | | K4 -->|closeTicket| K5[å·²å
³é60] |
| | | K1 -->|cancelTicket| K9[已忶99] |
| | | K2 -->|cancelTicket| K9 |
| | | PM[æ°æ®æé bizType+bizId+userId+çº§å« è´è´£äººåªè¯»è¯»å·æè´è´£æåä¸ä¸å±å
¨é¨åè§å¾] --- K1 |
| | | </pre> |
| | | <pre style="display:none" class="mmd-src" data-mmd="08-module-relation"> |
| | | flowchart LR |
| | | MDM[MDM ä¸»æ°æ® ç©æåä½ä»åºåçåç±»] --> MES[MES ç产·ä»å¨Â·è´¨é·设å¤] |
| | | MDM --> ERP[ERP éè´Â·éå®Â·è´¢å¡] |
| | | MDM --> CRM |
| | | CRM[CRM 线索客æ·åæºæ¥ä»·åå忬¾] -->|ååçæéå®è®¢å| ERP |
| | | SRM[SRM ä¾åºååå
¥èµè´¨è¯ä¹¦ææ 绩æ] -->|宿 çæéè´è®¢å| ERP |
| | | ERP -->|确认æ¶è´§çæå°è´§éç¥| MES |
| | | ERP -->|éå®è®¢å审æ¹çæMPS| MES |
| | | MES -->|å
¥åºåºåºåååæ®è¿åº¦| ERP |
| | | MES -->|ProductionFinishedEvent| ERP |
| | | MES -->|éè´§è´¨æ£å
¥åºåè°| AS[å®åå·¥åç»´ä¿®éè´§] |
| | | CRM -->|客æ·ä¸»æ°æ®| AS |
| | | HRM[HRM åå·¥å
¥è½¬è°ç¦»äº¤æ¥èå¤èªé
¬] -.->|expandUserIds æ°æ®å¯è§æ§æ©å±Â·æ¥å£å·²å°±ç»ªå¾
忍¡åæ¥å
¥| CRM |
| | | BPM[BPM Flowable 审æ¹å¼æ] -.->|ç¶æäºä»¶åè°Â·13个çå¬å¨| ERP |
| | | BPM -.-> CRM |
| | | BPM -.-> SRM |
| | | BPM -.-> MES |
| | | BPM -.-> HRM |
| | | AI[AI å¹³å° éä¹åé®+Milvus] -.->|å票OCR| ERP |
| | | AI -.->|æ¥ä»·OCR| CRM |
| | | AI -.->|è´¨æ£å¤å®ä¸çäº§é¢æµ| MES |
| | | MES --> BI[BI 管çé©¾é©¶è± SQLé
置大å±] |
| | | ERP --> BI |
| | | CRM --> BI |
| | | HRM --> BI |
| | | SYS[ç³»ç»åºåº§ 认è¯Â·RBAC·åå
¸Â·éä»¶ä¸å¿Â·å®æ¶ä»»å¡] --- MDM |
| | | SYS --- MES |
| | | STG[éä»¶ä¸å¿ storage-blob+attachment å
¨æ¨¡åç»ä¸æéä»¶] --- ERP |
| | | </pre> |
| | | <pre style="display:none" class="mmd-src" data-mmd="09-data-flow"> |
| | | flowchart LR |
| | | subgraph S1 [éå®å端 CRM] |
| | | CL[线索] --> CU[客æ·] |
| | | CU --> BU[åæº] |
| | | BU --> QU[æ¥ä»·å] |
| | | QU --> CT[åå] |
| | | CT --> IV[å¼ç¥¨] |
| | | IV --> RK[忬¾] |
| | | CT --> PL[忬¾è®¡å] |
| | | end |
| | | subgraph S2 [æ§è¡é¾ ERP+MES] |
| | | SO[éå®è®¢å] --> MP[MPS] |
| | | MP --> WO[å·¥å] |
| | | WO --> TK[ä»»å¡] |
| | | TK --> FB[æ¥å·¥] |
| | | FB --> PP[产å产åº] |
| | | PR[éè´ç³è¯·] --> PO[éè´è®¢å] |
| | | PO --> AN[å°è´§éç¥] |
| | | AN --> IR[éè´å
¥åº] |
| | | end |
| | | subgraph S3 [ä»å¨ä¸è´¢å¡] |
| | | ST[åºåå°è´¦] |
| | | PS[éå®åºåº] |
| | | RC[æ¶æ¬¾å] |
| | | PI[éè´æ¥ç¥¨] --> PA[仿¬¾å] |
| | | end |
| | | CT -->|generateSaleOrder 带å
¥å®¢æ·äº§åææ£å®é·ååorderId| SO |
| | | SO -->|审æ¹éè¿å¸¦å
¥ saleOrderId è¡ID æ°é å®¢æ· äº¤æ| MP |
| | | PO -->|确认æ¶è´§å¸¦å
¥è®¢åè¡ç©æä¾åºåæ°é| AN |
| | | AN -->|IQC宿åçæÂ·å¸¦å
¥åæ ¼è¡| IR |
| | | FB -->|BOMå岿£å| ST |
| | | PP -->|INäºå¡å
¥åº| ST |
| | | IR -->|INäºå¡å
¥åºÂ·ååinCount| PO |
| | | PS -->|OUTäºå¡åºåºÂ·ååoutCount| SO |
| | | FB -->|æåä¸éå·¥åºååå·²ç产æ°é| WO |
| | | FB -->|ProductionFinishedEvent ååçäº§ç¶æ| SO |
| | | IV -->|忬¾å¼ºå¶å
å¼ç¥¨| RK |
| | | RC -->|å
³èCRMå®¢æ·æ ¡éª| CU |
| | | PA -->|å
³èæ¥ç¥¨ä¸ä¾åºå| PI |
| | | </pre> |
| | | <pre style="display:none" class="mmd-src" data-mmd="10-business-object"> |
| | | erDiagram |
| | | crm_customer ||--o{ crm_business : "æ¥æåæº" |
| | | crm_business ||--o{ crm_sale_quotation : "å½¢ææ¥ä»·" |
| | | crm_sale_quotation |o--o| crm_contract : "转为åå" |
| | | crm_contract ||--o| erp_sale_order : "çæéå®è®¢å" |
| | | crm_contract ||--o{ crm_receivable_plan : "åæè®¡å" |
| | | crm_contract ||--o{ crm_invoice : "å¼ç¥¨" |
| | | crm_invoice ||--o{ crm_receivable : "åç¥¨åæ¬¾" |
| | | erp_sale_order ||--o{ mes_pro_mps : "éç产è¡è§¦å" |
| | | mes_pro_mps ||--o{ mes_pro_work_order : "ä¸åå·¥å" |
| | | mes_pro_work_order ||--o{ mes_pro_task : "æå·¥åºæä»»å¡" |
| | | mes_pro_task ||--o{ mes_pro_feedback : "æ¥å·¥" |
| | | mes_pro_work_order ||--o{ mes_pro_work_order_bom : "å·¥åºææBOM" |
| | | erp_purchase_request ||--o{ erp_purchase_order : "çæéè´è®¢å" |
| | | erp_purchase_order ||--o| mes_wm_arrival_notice : "确认æ¶è´§" |
| | | mes_wm_arrival_notice ||--o| mes_qc_iqc : "触åIQC" |
| | | mes_wm_arrival_notice ||--o{ mes_wm_item_receipt : "çæéè´å
¥åº" |
| | | erp_sale_order ||--o{ mes_wm_product_sales : "éå®åºåº" |
| | | mes_wm_product_sales ||--o| mes_qc_oqc : "触åOQC" |
| | | mes_pro_feedback ||--o| mes_qc_ipqc : "è´¨æ£å·¥åºè§¦åIPQC" |
| | | mes_pro_feedback ||--o{ mes_wm_product_produce : "产åºå
¥åº" |
| | | mes_pro_feedback ||--o{ mes_wm_item_consume : "BOMå岿¶è" |
| | | mes_qc_iqc ||--o| mes_qc_ncr : "ä¸åæ ¼çæNCR" |
| | | mes_wm_item_receipt ||--o{ mes_wm_material_stock : "åºåå¢å " |
| | | mes_wm_material_stock ||--o{ mes_wm_transaction : "äºå¡æµæ°´" |
| | | mes_wm_material_stock }o--|| mes_wm_batch : "ææ¹æ¬¡" |
| | | after_sale_ticket ||--o{ after_sale_return : "éè´§ç³è¯·" |
| | | after_sale_return ||--o| mes_wm_return_sales : "çæMESéè´§å" |
| | | mdm_item ||--o{ erp_sale_order_items : "é宿ç»" |
| | | mdm_item ||--o{ erp_purchase_order_items : "éè´æç»" |
| | | mdm_item ||--o{ mes_wm_material_stock : "åºåç©æ" |
| | | srm_supplier ||--o{ erp_purchase_order : "ä¾è´§" |
| | | srm_supplier ||--o{ mes_wm_arrival_notice : "å°è´§æ¥æº" |
| | | erp_purchase_order ||--o{ erp_purchase_invoice : "æ¥ç¥¨" |
| | | erp_purchase_invoice ||--o{ erp_finance_payment : "仿¬¾" |
| | | hrm_employee ||--o| hrm_user_handover : "离èäº¤æ¥æ å°" |
| | | </pre> |
| | | <pre style="display:none" class="mmd-src" data-mmd="11-ai-business-flow"> |
| | | flowchart TD |
| | | U1[éè´åä¸ä¼ å票æä»¶ blobId] --> O1{æä»¶ç±»å} |
| | | O1 -->|å¾ç png/jpg/gif/bmp| O2[chatWithImage 夿¨¡æè§è§æ¨¡å] |
| | | O1 -->|PDF| O3[PDFBox æ½åææ¬ â chat] |
| | | O1 -->|txt/csv| O4[ç´è¯»ææ¬ â chat] |
| | | O2 --> O5[JSON åç¥¨å· æ¬å¤´ ä¾åºå éé¢ ç¨ç æ¥æ] |
| | | O3 --> O5 |
| | | O4 --> O5 |
| | | O5 --> O6[é¢å¡«éè´æ¥ç¥¨è¡¨å·人工确认] |
| | | Q1[éå®ä¸ä¼ æ¥ä»·å PDF/Word/Excel/å¾ç] --> Q2[POI/PDFBox/è§è§è¯å«] |
| | | Q2 --> Q3[JSON æ¥ä»·å¤´+产åæç»è¡] --> Q4[é¢å¡«æ¥ä»·å表å] |
| | | J1[è´¨æ£å头+ææ ç»æ+缺é·è®°å½] --> J2[ä¸å¡ä¾§ç»è£
Prompt â chat] |
| | | J2 --> J3[MdmItemApi ç©æå·SrmSupplierApi ä¾åºåå·CrmCustomerApi 客æ·å æ¼å
¥ä¸ä¸æ] |
| | | J3 --> J4[å»ºè®®ç»æ:åæ ¼/ç¹é/éè´§/æ¥åº+çç±+è¦ç¹] |
| | | J4 --> J5[è´¨æ£ååèå¤å®Â·AIä¸å¯ç¨æ¶æç¤ºäººå·¥å¤å®] |
| | | R1[å·¥åBOM+åºåå¯ç¨é+å·²ææ] --> R2[ç©æçç¼ºé¢æµÂ·é£é©ç级ä¸ç¼ºå£æ¸
å] |
| | | R3[å·¥åºæ åå·¥æ¶+è®¾å¤æ¯å°æ¶äº§é+ä¼ éåç] --> R4[ç产æ¶é¿é¢æµ] |
| | | R5[IPQC缺é·ç+设å¤ä¿å
»ç¹æ£+ç©æå¯ç¨ç+å
³é®å·¥åº] --> R6[ç产é£é©é¢æµ] |
| | | R7[è¿åº¦+å©ä½å¤©æ°+ä»»å¡å®æç¶æ+客æ·äº¤æ] --> R8[交ä»é¢æµÂ·è½å¦ææ¶+置信度+延误å ç´ ] |
| | | KB1[ç¥è¯åºææ¡£ä¸ä¼ URL] --> KB2[POI/Tikaæåææ¬] --> KB3[åç约800tokensâåéåâMilvus] |
| | | KB3 --> KB4[åæ®µæ£ç´¢æ¥å£ topK+ç¸ä¼¼åº¦éå¼] |
| | | KB4 -.-> KB5[ææªæ¥å
¥ä¸å¡é®çæµç¨Â·å¾
确认] |
| | | MODE[模åå±:éä¹åé®ä¸ºä¸»Â·é¢çDeepSeek/OpenAI/Ollamaæªå®ç°] --- O2 |
| | | NOTE[å
¨é¡¹ç®æ Function Calling·AIåªè¾åºç»æåJSONç±ä¸å¡ä¾§è§£æ] --- J2 |
| | | </pre> |
| | | |
| | | <script type="module"> |
| | | const DATA = {}; |
| | | async function loadJson(key){ |
| | | try{ |
| | | const r = await fetch('data/' + (key==='business'?'business':key) + '.json', {cache:'no-store'}); |
| | | if(r.ok) return await r.json(); |
| | | }catch(e){} |
| | | return JSON.parse(document.getElementById('data-'+key).textContent); |
| | | } |
| | | function esc(s){return String(s ?? '').replace(/[&<>"]/g,c=>({'&':'&','<':'<','>':'>','"':'"'}[c]));} |
| | | const mermaid = (await import('https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs')).default; |
| | | mermaid.initialize({startOnLoad:false, theme:'dark', securityLevel:'loose', |
| | | themeVariables:{fontFamily:'"Segoe UI","Microsoft YaHei",sans-serif',fontSize:'13px'}, |
| | | flowchart:{useMaxWidth:true, htmlLabels:true}}); |
| | | |
| | | const mmdSrc = {}; |
| | | document.querySelectorAll('pre.mmd-src').forEach(p=>{ mmdSrc[p.dataset.mmd]=p.textContent.trim(); }); |
| | | |
| | | const flowColor = {sales:'var(--c-sale)',purchase:'var(--c-erp)',production:'var(--c-prod)',quality:'var(--c-qc)',warehouse:'var(--c-wm)',aftersales:'var(--c-as)',ai:'var(--c-ai)'}; |
| | | |
| | | async function boot(){ |
| | | DATA.business = await loadJson('business'); |
| | | DATA.modules = await loadJson('modules'); |
| | | DATA.objects = await loadJson('objects'); |
| | | DATA.flows = await loadJson('flows'); |
| | | DATA.roles = await loadJson('roles'); |
| | | const b = DATA.business.project, s = DATA.business.stats; |
| | | document.getElementById('hProject').textContent = b.name + ' · ä¸å¡å
¨æ¯'; |
| | | document.getElementById('hSub').textContent = b.type + ' | ' + b.mainSystem; |
| | | document.getElementById('footer').innerHTML = DATA.business.analysisBasis + ' · çæäº ' + DATA.business.generatedAt + ' · ç»´æ¤è¯·èµ°æè½ project-business-analysis'; |
| | | renderOverview(); renderFlows(); renderObjects(); renderRoles(); renderAI(); renderPending(); |
| | | bindNav(); bindSearch(); bindFigToolbar(); |
| | | showPage('overview'); |
| | | } |
| | | |
| | | function renderOverview(){ |
| | | const b = DATA.business.project, s = DATA.business.stats; |
| | | const answers = DATA.business.businessAnswers; |
| | | let html = ` |
| | | <h2 class="pt">${esc(b.name)}</h2> |
| | | <p class="desc">${esc(b.description)}</p> |
| | | <div class="banner"> |
| | | <div class="small muted" style="margin-bottom:4px">æ ¸å¿ä¸å¡ä¸»çº¿</div> |
| | | <div class="chain"><b>主线</b> ${esc(b.coreChain)}</div> |
| | | </div> |
| | | <div class="grid stats"> |
| | | <div class="stat"><b>${s.businessModules}</b><span>ä¸å¡æ¨¡å</span></div> |
| | | <div class="stat"><b>${s.coreObjects}</b><span>æ ¸å¿ä¸å¡å¯¹è±¡</span></div> |
| | | <div class="stat"><b>${s.documentFlows}</b><span>端å°ç«¯ä¸å¡æµç¨</span></div> |
| | | <div class="stat"><b>${s.approvalListeners}</b><span>BPM 审æ¹çå¬å¨</span></div> |
| | | <div class="stat"><b>${s.aiCapabilities}</b><span>AI è½å</span></div> |
| | | <div class="stat"><b>${s.wmBillTypes}</b><span>ä»å¨åºå
¥åºåæ®ç±»å</span></div> |
| | | </div> |
| | | <h3 class="sec">ä¸å¡æ¨¡å</h3> |
| | | <div class="grid cards">`; |
| | | const targets = {crm:'flow-sales',erp:'flow-purchase',pro:'flow-production',wm:'flow-warehouse',qc:'flow-quality',aftersales:'flow-aftersales',ai:'ai',srm:'flow-purchase',mdm:'objects',dv:'objects',hrm:'objects',bpm:'relation'}; |
| | | const accs = {mdm:'var(--c-base)',crm:'var(--c-sale)',srm:'var(--c-sup)',erp:'var(--c-erp)',pro:'var(--c-prod)',wm:'var(--c-wm)',qc:'var(--c-qc)',dv:'var(--c-dv)',aftersales:'var(--c-as)',hrm:'var(--c-hrm)',bpm:'var(--c-bpm)',ai:'var(--c-ai)'}; |
| | | DATA.modules.modules.forEach(m=>{ |
| | | html += `<div class="card" style="--acc:${accs[m.key]||'#2c5cff'}" data-goto="${targets[m.key]||'panorama'}"> |
| | | <h3>${esc(m.name)}<span class="tag">${esc(m.tag)}</span></h3> |
| | | <p>${esc(m.positioning)} â ${esc(m.problem)}</p> |
| | | <div class="objs">æ ¸å¿å¯¹è±¡ï¼${esc(m.objects.slice(0,6).join('ã'))}${m.objects.length>6?' ç':''}</div> |
| | | <div class="objs">䏿¸¸ ${esc(m.upstream.join('ã')||'â')} â 䏿¸¸ ${esc(m.downstream.join('ã')||'â')}</div> |
| | | </div>`; |
| | | }); |
| | | html += `</div><h3 class="sec">ä¸å¡åé®ï¼åç¡®æ§èªæ£ï¼</h3><div class="grid cards">`; |
| | | answers.forEach(([q,a])=>{ html += `<div class="card" style="cursor:default"><h3 style="font-size:13.5px">${esc(q)}</h3><p style="color:#b9c8dc">${esc(a)}</p></div>`; }); |
| | | html += `</div>`; |
| | | document.getElementById('overview').innerHTML = html; |
| | | document.querySelectorAll('#overview .card[data-goto]').forEach(c=>c.addEventListener('click',()=>showPage(c.dataset.goto))); |
| | | } |
| | | |
| | | function flowFigHtml(f, name){ |
| | | return `<div class="fig" style="--acc:${flowColor[f.id]||'#2c5cff'}"> |
| | | <div class="bar"><span class="name">${esc(name||f.name)} · ${esc(f.mermaid)}</span> |
| | | <div class="btns"><button data-z="-">ï¼</button><button data-z="+">ï¼</button><button data-z="0">éç½®</button><button data-fs>å
¨å±</button></div></div> |
| | | <div class="canvas"><div class="stage mermaid-wrap"><pre class="mermaid" data-mmd="${f.mermaid.replace(/^mermaid\//,'').replace(/\.mmd$/,'')}"></pre></div></div> |
| | | </div>`; |
| | | } |
| | | function flowStepsHtml(f){ |
| | | return `<h3 class="sec">æ¥éª¤ä¸è§è²</h3> |
| | | <table class="steps" style="--acc:${flowColor[f.id]||'#7ea6e8'}"><tr><th>é¶æ®µ</th><th>å¨ä½ï¼å«çå®ç¶ææµè½¬ï¼</th><th>è§è²</th></tr> |
| | | ${f.steps.map(st=>`<tr><td class="stage">${esc(st.stage)}</td><td>${esc(st.action)}</td><td class="role">${esc(st.roles.join('ã'))}</td></tr>`).join('')} |
| | | </table>`; |
| | | } |
| | | function renderFlows(){ |
| | | DATA.flows.flows.forEach(f=>{ |
| | | if(f.id==='ai') return; |
| | | const sec = document.getElementById('flow-'+f.id); |
| | | if(!sec) return; |
| | | sec.innerHTML = `<h2 class="pt">${esc(f.name)}</h2><p class="desc">${esc(f.summary)}</p>${flowFigHtml(f)}${flowStepsHtml(f)}`; |
| | | }); |
| | | } |
| | | |
| | | function renderObjects(){ |
| | | const groups = {}; |
| | | DATA.objects.objects.forEach(o=>{ (groups[o.module]=groups[o.module]||[]).push(o); }); |
| | | let html = `<h3 class="sec">对象æ¸
åï¼${DATA.objects.objects.length}ï¼</h3> |
| | | <table class="data"><tr><th style="width:120px">对象</th><th style="width:110px">æå±æ¨¡å</th><th>ä½ç¨</th><th style="width:190px">表å</th></tr>`; |
| | | DATA.objects.objects.forEach((o,i)=>{ |
| | | html += `<tr data-obj="${i}"><td><b style="color:#fff">${esc(o.name)}</b></td><td class="muted">${esc(o.module)}</td><td>${esc(o.doc)}</td><td class="small muted">${esc(o.table||'â')}</td></tr>`; |
| | | }); |
| | | html += `</table>`; |
| | | document.getElementById('objGrid').innerHTML = html; |
| | | document.querySelectorAll('#objGrid tr[data-obj]').forEach(tr=>tr.addEventListener('click',()=>{ |
| | | const o = DATA.objects.objects[+tr.dataset.obj]; |
| | | document.getElementById('objDetail').innerHTML = ` |
| | | <h4>${esc(o.name)} <span class="muted small">· ${esc(o.module)}${o.table?' · 表 '+esc(o.table):''}</span></h4> |
| | | <div class="kv"><b>ä½ç¨</b>${esc(o.doc)}</div> |
| | | <div class="kv"><b>䏿¸¸</b>${esc((o.upstream&&o.upstream.length)?o.upstream.join('ã'):'â')}</div> |
| | | <div class="kv"><b>䏿¸¸</b>${esc((o.downstream&&o.downstream.length)?o.downstream.join('ã'):'â')}</div>`; |
| | | document.getElementById('objDetail').scrollIntoView({behavior:'smooth',block:'nearest'}); |
| | | })); |
| | | } |
| | | |
| | | function renderRoles(){ |
| | | const rs = DATA.roles; |
| | | let html = `<h2 class="pt">è§è²ä¸æé</h2><p class="desc">${esc(rs.note)}</p> |
| | | <h3 class="sec">ä¸å¡è§è² â 坿ä½ä¸å¡ â äº§çæ°æ®</h3> |
| | | <table class="data"><tr><th style="width:150px">è§è²</th><th style="width:130px">模å</th><th>æä½</th><th style="width:180px">æ°æ®èå´/æºå¶</th></tr> |
| | | ${rs.businessRoles.map(r=>`<tr><td><b style="color:#fff">${esc(r.role)}</b></td><td class="muted">${esc(r.modules.join('ã'))}</td><td>${esc(r.operations.join('ï¼'))}</td><td class="small">${esc(r.scope)}</td></tr>`).join('')} |
| | | </table> |
| | | <h3 class="sec">åºåº§è½å</h3> |
| | | <div class="grid cards">${DATA.modules.platform.capabilities.map(c=>`<div class="card" style="cursor:default"><p style="color:#b9c8dc">${esc(c)}</p></div>`).join('')}</div> |
| | | <p class="small muted" style="margin-top:10px">æªå¯ç¨æ¨¡åï¼${esc(DATA.modules.platform.unused.join('ï¼'))}</p>`; |
| | | document.getElementById('roles').innerHTML = html; |
| | | } |
| | | |
| | | function renderAI(){ |
| | | const aiFlow = DATA.flows.flows.find(f=>f.id==='ai'); |
| | | document.getElementById('ai').insertAdjacentHTML('afterbegin', |
| | | (aiFlow? flowFigHtml(aiFlow) + flowStepsHtml(aiFlow) : '') ); |
| | | document.getElementById('aiGrid').innerHTML = DATA.business.aiCapabilities.map(a=>` |
| | | <div class="card" style="--acc:var(--c-ai);cursor:default"> |
| | | <h3>${esc(a.name)}<span class="tag">AI</span></h3> |
| | | <p>${esc(a.flow)}</p> |
| | | ${a.callsApis&&a.callsApis.length?`<div class="objs">è°ç¨ï¼${esc(a.callsApis.join(' · '))}</div>`:''} |
| | | </div>`).join(''); |
| | | } |
| | | |
| | | function renderPending(){ |
| | | document.getElementById('pendingList').innerHTML = DATA.business.pendingConfirm.map(p=>`<li>${esc(p)}</li>`).join(''); |
| | | } |
| | | |
| | | // 渲ææéï¼å䏿¶å»åªè·ä¸ä¸ª mermaid.runï¼é¿å
å¿«éåæ¢å¯¼èªæ¶å¾è¡¨å¨éè容å¨éå¸å±ï¼äº§ç NaN transformï¼ |
| | | let renderQueue = Promise.resolve(); |
| | | function showPage(id){ |
| | | document.querySelectorAll('nav a').forEach(a=>a.classList.toggle('active', a.dataset.t===id)); |
| | | document.querySelectorAll('section.page').forEach(s=>s.classList.toggle('on', s.id===id)); |
| | | const sec = document.getElementById(id); |
| | | const todo = sec ? [...sec.querySelectorAll('pre.mermaid[data-mmd]')].filter(p=>!p.dataset.done) : []; |
| | | if(todo.length){ |
| | | renderQueue = renderQueue.then(async()=>{ |
| | | if(!sec.classList.contains('on')) return; // ç¨æ·å·²åèµ°ï¼ä¸æ¬¡è¿å
¥å渲æ |
| | | todo.forEach(p=>{ if(mmdSrc[p.dataset.mmd]) p.textContent = mmdSrc[p.dataset.mmd]; p.removeAttribute('data-processed'); }); |
| | | try{ await mermaid.run({nodes: todo}); } |
| | | catch(e){ todo.forEach(p=>p.textContent = 'Mermaid 渲æå¤±è´¥ï¼'+e.message); return; } |
| | | if(sec.classList.contains('on')) todo.forEach(p=>p.dataset.done='1'); |
| | | }); |
| | | } |
| | | window.scrollTo(0,0); |
| | | } |
| | | function bindNav(){ |
| | | document.querySelectorAll('nav a').forEach(a=>a.addEventListener('click',()=>showPage(a.dataset.t))); |
| | | document.addEventListener('click',e=>{ |
| | | const card=e.target.closest('.card[data-goto]'); |
| | | if(card) showPage(card.dataset.goto); |
| | | }); |
| | | } |
| | | function bindFigToolbar(){ |
| | | document.addEventListener('click',e=>{ |
| | | const btn=e.target.closest('.fig button'); |
| | | if(!btn) return; |
| | | const fig=btn.closest('.fig'), stage=fig.querySelector('.stage'); |
| | | let z=parseFloat(stage.dataset.z||'1'); |
| | | if(btn.dataset.z==='+'||btn.dataset.z==='-') z=Math.min(3,Math.max(.4, z + (btn.dataset.z==='+'?.2:-.2))); |
| | | else if(btn.dataset.z==='0') z=1; |
| | | stage.dataset.z=z; stage.style.transform='scale('+z+')'; |
| | | if(btn.hasAttribute('data-fs')){ |
| | | if(document.fullscreenElement) document.exitFullscreen(); |
| | | else fig.requestFullscreen(); |
| | | } |
| | | }); |
| | | } |
| | | function bindSearch(){ |
| | | const input=document.getElementById('globalSearch'), box=document.getElementById('searchResult'); |
| | | const items=[]; |
| | | DATA.objects.objects.forEach(o=>items.push({type:'ä¸å¡å¯¹è±¡',name:o.name,meta:o.module+' · '+o.doc,go:()=>{showPage('objects');const idx=DATA.objects.objects.indexOf(o);const tr=document.querySelector('#objGrid tr[data-obj="'+idx+'"]');if(tr)tr.click();}})); |
| | | DATA.flows.flows.forEach(f=>items.push({type:'ä¸å¡æµç¨',name:f.name,meta:f.summary.slice(0,60)+'â¦',go:()=>showPage('flow-'+f.id)})); |
| | | DATA.modules.modules.forEach(m=>items.push({type:'ä¸å¡æ¨¡å',name:m.name,meta:m.positioning,go:()=>showPage('overview')})); |
| | | DATA.roles.businessRoles.forEach(r=>items.push({type:'è§è²',name:r.role,meta:r.modules.join('ã'),go:()=>showPage('roles')})); |
| | | input.addEventListener('input',()=>{ |
| | | const q=input.value.trim().toLowerCase(); |
| | | if(!q){box.style.display='none';return;} |
| | | const hit=items.filter(i=>(i.name+i.meta).toLowerCase().includes(q)).slice(0,15); |
| | | box.innerHTML = hit.length? hit.map((h,i)=>`<div class="sr-item" data-i="${i}"><div>${esc(h.name)} <span class="sr-type">${esc(h.type)}</span></div><div class="sr-meta">${esc(h.meta)}</div></div>`).join('') : '<div class="sr-item"><span class="muted">æ å¹é
ç»æ</span></div>'; |
| | | box.style.display='block'; |
| | | box.querySelectorAll('.sr-item[data-i]').forEach(el=>el.addEventListener('click',()=>{hit[+el.dataset.i].go();box.style.display='none';input.value='';})); |
| | | }); |
| | | document.addEventListener('click',e=>{ if(!e.target.closest('#globalSearchWrap')) box.style.display='none'; }); |
| | | } |
| | | await boot(); |
| | | </script> |
| | | </body> |
| | | </html> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | mindmap |
| | | root((MOM 工忰ååå¹³å°)) |
| | | åºç¡ä¸»æ°æ® MDM |
| | | ç©æä¸SKU |
| | | ç©æåç±» |
| | | 计éåä½ä¸åç |
| | | ä»åºä¸»æ°æ® |
| | | éå®ç®¡ç CRM |
| | | 线索 |
| | | 客æ·ä¸è系人 |
| | | åæºä¸é¶æ®µ |
| | | æ¥ä»·å |
| | | éå®åå |
| | | å¼ç¥¨ä¸å款 |
| | | éå®ç®æ |
| | | æ°æ®æéä¸å
¬æµ· |
| | | ä¾åºå管ç SRM |
| | | ä¾åºåæ¡£æ¡ |
| | | åå
¥å®¡æ¹ |
| | | èµè´¨è¯ä¹¦ |
| | | ææ ä¸æ¯ä»· |
| | | 绩æè¯ä»· |
| | | è¿éåä¸è´¢å¡ ERP |
| | | éè´ç³è¯· |
| | | éè´è®¢å |
| | | éè´æ¥ç¥¨ |
| | | éå®è®¢å |
| | | 仿¬¾å |
| | | æ¶æ¬¾å |
| | | ç»ç®è´¦æ· |
| | | ç产管ç MES |
| | | 主ç产计å MPS |
| | | ç产工å |
| | | çäº§ä»»å¡ |
| | | ç产æ¥å·¥ |
| | | å·¥èºè·¯çº¿ä¸å·¥åº |
| | | å·¥åBOM |
| | | ç åè®¾è®¡é¡¹ç® |
| | | å®ç¯ |
| | | ä»å¨ç®¡ç MES-WM |
| | | ä»åºåºåºåºä½ |
| | | å°è´§éç¥ |
| | | éè´å
¥åº |
| | | çäº§é¢æä¸éæ |
| | | ç产å
¥åº |
| | | éå®åºåºä¸éè´§ |
| | | è½¬ç§»è°æ¨ |
| | | çç¹ |
| | | åºåå°è´¦ä¸äºå¡ |
| | | æ¹æ¬¡SNæ¡ç è£
ç®± |
| | | è´¨é管ç MES-QC |
| | | IQC æ¥ææ£éª |
| | | IPQC è¿ç¨æ£éª |
| | | OQC åºè´§æ£éª |
| | | RQC éè´§æ£éª |
| | | NCR ä¸åæ ¼å |
| | | è´¨æ£æ¹æ¡ä¸ææ ç¼ºé· |
| | | 设å¤ä¸æç |
| | | 设å¤å°è´¦ |
| | | ç¹æ£ä¸ä¿å
» |
| | | 维修工å |
| | | å·¥è£
夹å
· |
| | | çç»çæ¬¡ä¸æç |
| | | å®åæå¡ |
| | | å®åå·¥å |
| | | ç»´ä¿®è®°å½ |
| | | éè´§ç³è¯· |
| | | æ°æ®æé |
| | | 人åèµæº HRM |
| | | åå·¥æ¡£æ¡ |
| | | 请åå çè°å²ç¦»è |
| | | 离èäº¤æ¥æ å° |
| | | èå¤æçæ±æ» |
| | | èªé
¬æ ¸ç®ä¸åæ¾ |
| | | ååå®¡æ¹ BPM |
| | | Flowable 弿 |
| | | ä¸å¡ç¶æåè°çå¬ |
| | | AI æºè½ |
| | | å票OCRè¯å« |
| | | æ¥ä»·åOCRè¯å« |
| | | è´¨æ£ç»æå¤å® |
| | | ç©æçç¼ºé¢æµ |
| | | ç产æ¶é¿ä¸é£é©é¢æµ |
| | | 交ä»é¢æµ |
| | | RAG ç¥è¯åº |
| | | BI ä¸ç®¡çé©¾é©¶è± |
| | | SQL é
ç½®å¼å¤§å± |
| | | éè´éå®åºåç产质é人åä¸»é¢ |
| | | ç³»ç»åºåº§ |
| | | 认è¯ä¸RBAC |
| | | æ°æ®æé |
| | | åå
¸ |
| | | éä»¶ä¸å¿ |
| | | 宿¶ä»»å¡ä¸æ¶æ¯ |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | flowchart TD |
| | | A[线索 crm_clue] -->|转å·ä»
䏿¬¡| B[å®¢æ· crm_customer] |
| | | B --> C[è系人 crm_contact] |
| | | B --> D[åæº crm_business] |
| | | D -->|èªå®ä¹é¶æ®µæ¨è¿| E{åæºç»æ} |
| | | E -->|èµ¢å| F[æ¥ä»·å QT·è稿0â已转åå10] |
| | | E -->|è¾åææ æ| X[ç»æ] |
| | | F -->|转åå·带å
¥å®¢æ·äº§åææ£| G[åå HT·è稿0â审æ¹ä¸10] |
| | | D -->|ç´æ¥å»ºåå| G |
| | | G -->|BPM审æ¹éè¿20| H[çæ ERP éå®è®¢å XSDD] |
| | | H -->|æäº¤BPM| I[éå®è®¢å审æ¹Â·å®¡æ¹ä¸15âå·²å®¡æ ¸20] |
| | | I -->|æç»éç产·èªå¨å建| J[MES 主ç产计å MPS] |
| | | I --> K[åè´§éç¥å] |
| | | K -->|å®¡æ ¸éè¿| L[éå®åºåºå·OQCâæ£è´§âåè¿âåºåºå®æ] |
| | | L -->|åååºåºæ°éä¸ç¶æ| M[éå®è®¢å é¨ååºåº2/å
¨é¨åºåº3] |
| | | G --> N[忬¾è®¡åÂ·æææ°åæ] |
| | | G -->|æäº¤BPM| O[å¼ç¥¨ KP·审æ¹ä¸10âéè¿20·累计ä¸è¶
ååé¢] |
| | | O -->|忬¾åå¿
é¡»å
å¼ç¥¨| P[忬¾ HK·å建å³å®¡æ¹ä¸10âæå¨å®¡æ ¸20] |
| | | P -->|æ ¡éªååå©ä½é¢ä¸å¼ç¥¨å©ä½é¢| N |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | flowchart TD |
| | | S0[SRM åå
¥ç³è¯· AP·å¾
æäº¤0â审æ¹ä¸10âå·²éè¿40] --> S1[ä¾åºåæ¡£æ¡ srm_supplier] |
| | | S1 --> S2[èµè´¨è¯ä¹¦ç®¡ç] |
| | | S1 --> S3[绩æè¯ä»·Â·è´¨é交ä»ä»·æ ¼æå¡åç»´] |
| | | S4[SRM ææ æ¯ä»·Â·åå¸âææ â弿 âè¯æ â宿 ] -->|宿 审æ¹éè¿çæè®¢å| C3 |
| | | C1[éè´ç³è¯· CGSQ·è稿0â审æ¹ä¸10] -->|æäº¤BPM| C2{审æ¹} |
| | | C2 -->|驳å30âå¯éç½®åè稿| C1 |
| | | C2 -->|éè¿20䏿ä¾åºå·èªå¨çæ| C3[éè´è®¢å CGDD·审æ¹ä¸15âå·²å®¡æ ¸20] |
| | | C2 -->|éè¿20æ ä¾åºå| C4[æå¨æå®ä¾åºåçæè®¢å] |
| | | C4 --> C3 |
| | | C3 -->|确认æ¶è´§| C5[å°è´§éç¥å·è稿0âå¾
è´¨æ£2âå¾
å
¥åº3â宿4] |
| | | C5 -->|ç©æéæ£éªÂ·èªå¨å建| C6[IQC æ¥ææ£éª] |
| | | C6 -->|åæ ¼1æç¹é2 å¯å
¥åº| C7[éè´å
¥åºå·è稿0âå¾
䏿¶2âå¾
æ§è¡3â宿4] |
| | | C6 -->|ä¸åæ ¼éè´§3| C8[ä¾åºåé货·å¾
æ£è´§âå¾
æ§è¡âå®æÂ·åºåæ£å] |
| | | C6 -->|ä¸åæ ¼æ¥åº4| C9[NCR ä¸åæ ¼åå¤ç½®] |
| | | C7 -->|åå inCount ä¸ inStatus æªå
¥åº0é¨å1å
¨é¨2| C3 |
| | | C7 -->|ååç³è¯·æç» inCount| C1 |
| | | C3 -->|è®¢åæ»ä»·æ§å¶| C10[éè´æ¥ç¥¨ FPD·累计éé¢â¤è®¢åæ»ä»·] |
| | | C10 -->|仿¬¾åå¿
é¡»å
³èæ¥ç¥¨| C11[仿¬¾å FKD·审æ¹ä¸15âå·²å®¡æ ¸20Â·ç´¯è®¡ä»æ¬¾â¤æ¥ç¥¨éé¢] |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | flowchart TD |
| | | P0[éå®è®¢åæç» needProduction=1] -->|审æ¹éè¿èªå¨å建| P1[MPS 主ç产计å·è稿0âå·²ä¸å1] |
| | | P1 -->|ä¸åæåå¹¶ä¸å| P2[ç产工å·è稿0â已确认1] |
| | | P2 -->|æå·¥èºè·¯çº¿å·¥åºèªå¨çæ| P3[ç产任å¡ÃN·é¢å¤0âç产ä¸1âé¨å宿2â宿4Â·å¯æå9] |
| | | P3 --> P4[çäº§é¢æ æ 线边èæåºå¤æ] |
| | | P4 --> P5[æ¥å·¥æäº¤Â·è稿0] |
| | | P5 -->|æ ¡éª:ä¸ä¸éå·¥åºæªæ¥æ»¡åæ¦æª| P5 |
| | | P5 -->|å¯ç¨BPMåæäº¤å®¡æ¹| P6{æ¥å·¥å®¡æ¹} |
| | | P6 -->|驳å| P5 |
| | | P6 -->|éè¿ä¸åå²å·¥åº| P7[æå·¥åBOMèªå¨çæç©ææ¶è·æ£çº¿è¾¹èæåºFIFOå
许è´åºå] |
| | | P6 -->|éè¿ä¸è´¨æ£å·¥åº| P8[产åºè¡å¾
æ£âIPQC è¿ç¨æ£éª] |
| | | P6 -->|éè¿ä¸éè´¨æ£å
³é®å·¥åº| P9[产å产åºç´æ¥å®å·¥å
¥åº] |
| | | P8 -->|æ£éªåæ ¼| P10[æåæ ¼ä¸ä¸åæ ¼è¡å
¥åº] |
| | | P8 -->|ä¸åæ ¼| P11[NCR ä¸åæ ¼å] |
| | | P9 --> P12[è¿åº¦åå·ä»
æåä¸éå·¥åºæ¥å·¥ææ´æ°å·¥åå·²ç产æ°é] |
| | | P10 --> P12 |
| | | P12 -->|å·²ç产æ°éâ¥è®¡åæ°é·èªå¨| P13[å·¥å宿2] |
| | | P12 -->|累计| P14[MPS ååå·²ç产æ°é并夿宿2] |
| | | P14 -->|å
¨é¨å®æ| P15[åå¸ ProductionFinishedEventâååéå®è®¢åçäº§ç¶æ] |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | flowchart TD |
| | | T1[å°è´§éç¥å æ å¤åå
¥åºå] --> A1[IQC æ¥ææ£éªÂ·è稿0â宿4] |
| | | T2[æ¥å·¥è´¨æ£å·¥åºéè¿å产åºè¡] --> A2[IPQC è¿ç¨æ£éªÂ·è稿0â宿4] |
| | | T3[éå®åºåºåæäº¤] --> A3[OQC åºè´§æ£éªÂ·è稿0â宿4] |
| | | T4[ç产éæå æ éå®éè´§å æ å®åéè´§] --> A4[RQC éè´§æ£éªÂ·è稿0â宿4] |
| | | A1 --> R{æ£éªå¤å® MesQcCheckResultEnum} |
| | | A2 --> R |
| | | A3 --> R |
| | | A4 --> R |
| | | R -->|1 åæ ¼| Q1[å
许å
¥åºÂ·å忥æºåæ®æ¨è¿ç¶æ] |
| | | R -->|2 ç¹é| Q2[å
许å
¥åºÂ·å¹¶çæNCRçç] |
| | | R -->|3 ä¸åæ ¼éè´§| Q3[çæNCR·走ä¾åºåéè´§æéå®éè´§] |
| | | R -->|4 ä¸åæ ¼æ¥åº| Q4[çæNCR·走æ¥åºåºåº] |
| | | A2 -->|åæ ¼æ°é| Q5[æ¥å·¥è½¬å®æÂ·äº§åºæè¡å
¥åº] |
| | | A3 -->|宿| Q6[éå®åºåºåæ¨è¿å¾
æ£è´§] |
| | | A4 -->|宿| Q7[éè´§åæ¨è¿ä¸æ¶æå
¥åºÂ·å®ååè°ç»è®º] |
| | | N1[NCR å¾
è¯å®¡0] -->|è¯å®¡| N2[å·²è¯å®¡6] |
| | | N2 -->|å¤ç½®æ¹å¼:éè´§1æ¥åº2è¿å·¥3è®©æ¥æ¥æ¶4é级使ç¨5| N3[å·²å¤ç½®7] |
| | | N3 -->|å
³é| N4[å·²å
³é8] |
| | | Q8[æ¯ææ°æ®:è´¨æ£æ¹æ¡Â·æ£éªææ ·缺é·åºÂ·ææ ç»æ] --- A1 |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | flowchart LR |
| | | subgraph INB [å
¥åºÂ·äºå¡IN·åºåå ] |
| | | I1[éè´å
¥åº] |
| | | I2[ç产å
¥åºå] |
| | | I3[æ¥å·¥äº§åºèªå¨å
¥åº] |
| | | I4[éå®éè´§å
¥åº] |
| | | I5[å¤åå
¥åº] |
| | | I6[æé¡¹å
¥åº] |
| | | end |
| | | subgraph OUTB [åºåºÂ·äºå¡OUT·åºåå] |
| | | O1[éå®åºåº] |
| | | O2[çäº§é¢æ] |
| | | O3[ç©ææ¶èåå²Â·å
许è´åºå] |
| | | O4[å¤ååæ] |
| | | O5[ç产éæåä»] |
| | | O6[ä¾åºåéè´§] |
| | | O7[æé¡¹åºåºÂ·è°æ´ææ¥åº] |
| | | end |
| | | W[(åºåå°è´¦ mes_wm_material_stock ç©æÃä»åºÃåºåºÃåºä½Ãæ¹æ¬¡Ãä¾åºå)] |
| | | INB -->|getOrCreate å æ°é| W |
| | | OUTB -->|æ ¡éªå¯ç¨é忣å| W |
| | | W -->|å ç¨é¢ç reservedQuantity| RES[åºåå ç¨ éå®åºåºÂ·é¢æÂ·å¤å·æé¡¹Â·è°æ¨] |
| | | MV[è½¬ç§»è°æ¨Â·å
鍿å¤é¨] -->|æå¯¹äºå¡ MOVE_OUT+MOVE_IN å¨é| W |
| | | ST[çç¹ æ¹æ¡âä»»å¡âæç»è¡âç»æ] -->|çç ADJUST_IN·çäº ADJUST_OUT·å¯å»ç»åºå| W |
| | | W --> TX[äºå¡æµæ°´ mes_wm_transaction åªè¯»å
¨éçç] |
| | | BT[æ¹æ¬¡ mes_wm_batch·SNç ·æ¡ç ·è£
ç®±åµå¥] --- W |
| | | WIP[[线边èæåº WIP_VIRTUAL_WAREHOUSE·æåå§å]] --- O3 |
| | | FR[å级å»ç»:ä»åºÂ·åºåºÂ·åºä½Â·åºåè®°å½] --- W |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | flowchart TD |
| | | F1[客æ·åé¦Â·åå°äººå·¥å½å
¥å·¥å·å
³è客æ·è系人éå®è®¢ååå] --> K1[å®åå·¥å·è稿0] |
| | | K1 -->|assignTicket åé
å¤ç人| K2[å¤çä¸10·é®é¢å¤å®:ä¸è¬1ç»´ä¿®2éè´§3·严é度0-3] |
| | | K2 -->|维修类| R1[维修记å½Â·å¾
å¤ç0âç»´ä¿®ä¸10â已宿20âå·²å
³é30·ç°åºè¿åè¿ç¨] |
| | | R1 -->|completeRepair| K4[å·²å®ç»50] |
| | | K2 -->|éè´§ç±»å建éè´§ç³è¯·| T1[éè´§ç³è¯·Â·è稿0] |
| | | T1 -->|approveReturn å®¡æ ¸éè¿| T2[å·²å®¡æ ¸20·èªå¨å建MESéå®éè´§å] |
| | | T2 --> T3[MES éå®é货·è稿âå¾
æ£éªRQCâå¾
䏿¶âå¾
å
¥åºâ宿] |
| | | T3 -->|è´¨æ£ç»è®ºåè° onReturnQualityFinished åæ ¼ç¹ééè´§æ¥åº| T4[已质æ£40] |
| | | T3 -->|å
¥åºå®æåè° onReturnInboundFinished| T5[å·²å
¥åº50] |
| | | T5 -->|鿬¾å®æåè° onRefundCompleted è®°å½å®é
鿬¾é¢| T6[已鿬¾60] |
| | | T6 --> T7[å·²å
³é70] |
| | | T2 -.->|ç¶ææµè½¬ä¸| T8[å®¡æ ¸ä¸10·é¢çæªå¯ç¨] |
| | | K2 -->|éè´§é¾è·¯èå¨å·¥å| K3[å¾
å
¥åº30âå¾
鿬¾40] |
| | | K3 --> K4 |
| | | K2 -->|resolveTicket| K4 |
| | | K4 -->|closeTicket| K5[å·²å
³é60] |
| | | K1 -->|cancelTicket| K9[已忶99] |
| | | K2 -->|cancelTicket| K9 |
| | | PM[æ°æ®æé bizType+bizId+userId+çº§å« è´è´£äººåªè¯»è¯»å·æè´è´£æåä¸ä¸å±å
¨é¨åè§å¾] --- K1 |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | flowchart LR |
| | | MDM[MDM ä¸»æ°æ® ç©æåä½ä»åºåçåç±»] --> MES[MES ç产·ä»å¨Â·è´¨é·设å¤] |
| | | MDM --> ERP[ERP éè´Â·éå®Â·è´¢å¡] |
| | | MDM --> CRM |
| | | CRM[CRM 线索客æ·åæºæ¥ä»·åå忬¾] -->|ååçæéå®è®¢å| ERP |
| | | SRM[SRM ä¾åºååå
¥èµè´¨è¯ä¹¦ææ 绩æ] -->|宿 çæéè´è®¢å| ERP |
| | | ERP -->|确认æ¶è´§çæå°è´§éç¥| MES |
| | | ERP -->|éå®è®¢å审æ¹çæMPS| MES |
| | | MES -->|å
¥åºåºåºåååæ®è¿åº¦| ERP |
| | | MES -->|ProductionFinishedEvent| ERP |
| | | MES -->|éè´§è´¨æ£å
¥åºåè°| AS[å®åå·¥åç»´ä¿®éè´§] |
| | | CRM -->|客æ·ä¸»æ°æ®| AS |
| | | HRM[HRM åå·¥å
¥è½¬è°ç¦»äº¤æ¥èå¤èªé
¬] -.->|expandUserIds æ°æ®å¯è§æ§æ©å±Â·æ¥å£å·²å°±ç»ªå¾
忍¡åæ¥å
¥| CRM |
| | | BPM[BPM Flowable 审æ¹å¼æ] -.->|ç¶æäºä»¶åè°Â·13个çå¬å¨| ERP |
| | | BPM -.-> CRM |
| | | BPM -.-> SRM |
| | | BPM -.-> MES |
| | | BPM -.-> HRM |
| | | AI[AI å¹³å° éä¹åé®+Milvus] -.->|å票OCR| ERP |
| | | AI -.->|æ¥ä»·OCR| CRM |
| | | AI -.->|è´¨æ£å¤å®ä¸çäº§é¢æµ| MES |
| | | MES --> BI[BI 管çé©¾é©¶è± SQLé
置大å±] |
| | | ERP --> BI |
| | | CRM --> BI |
| | | HRM --> BI |
| | | SYS[ç³»ç»åºåº§ 认è¯Â·RBAC·åå
¸Â·éä»¶ä¸å¿Â·å®æ¶ä»»å¡] --- MDM |
| | | SYS --- MES |
| | | STG[éä»¶ä¸å¿ storage-blob+attachment å
¨æ¨¡åç»ä¸æéä»¶] --- ERP |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | flowchart LR |
| | | subgraph S1 [éå®å端 CRM] |
| | | CL[线索] --> CU[客æ·] |
| | | CU --> BU[åæº] |
| | | BU --> QU[æ¥ä»·å] |
| | | QU --> CT[åå] |
| | | CT --> IV[å¼ç¥¨] |
| | | IV --> RK[忬¾] |
| | | CT --> PL[忬¾è®¡å] |
| | | end |
| | | subgraph S2 [æ§è¡é¾ ERP+MES] |
| | | SO[éå®è®¢å] --> MP[MPS] |
| | | MP --> WO[å·¥å] |
| | | WO --> TK[ä»»å¡] |
| | | TK --> FB[æ¥å·¥] |
| | | FB --> PP[产å产åº] |
| | | PR[éè´ç³è¯·] --> PO[éè´è®¢å] |
| | | PO --> AN[å°è´§éç¥] |
| | | AN --> IR[éè´å
¥åº] |
| | | end |
| | | subgraph S3 [ä»å¨ä¸è´¢å¡] |
| | | ST[åºåå°è´¦] |
| | | PS[éå®åºåº] |
| | | RC[æ¶æ¬¾å] |
| | | PI[éè´æ¥ç¥¨] --> PA[仿¬¾å] |
| | | end |
| | | CT -->|generateSaleOrder 带å
¥å®¢æ·äº§åææ£å®é·ååorderId| SO |
| | | SO -->|审æ¹éè¿å¸¦å
¥ saleOrderId è¡ID æ°é å®¢æ· äº¤æ| MP |
| | | PO -->|确认æ¶è´§å¸¦å
¥è®¢åè¡ç©æä¾åºåæ°é| AN |
| | | AN -->|IQC宿åçæÂ·å¸¦å
¥åæ ¼è¡| IR |
| | | FB -->|BOMå岿£å| ST |
| | | PP -->|INäºå¡å
¥åº| ST |
| | | IR -->|INäºå¡å
¥åºÂ·ååinCount| PO |
| | | PS -->|OUTäºå¡åºåºÂ·ååoutCount| SO |
| | | FB -->|æåä¸éå·¥åºååå·²ç产æ°é| WO |
| | | FB -->|ProductionFinishedEvent ååçäº§ç¶æ| SO |
| | | IV -->|忬¾å¼ºå¶å
å¼ç¥¨| RK |
| | | RC -->|å
³èCRMå®¢æ·æ ¡éª| CU |
| | | PA -->|å
³èæ¥ç¥¨ä¸ä¾åºå| PI |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | erDiagram |
| | | crm_customer ||--o{ crm_business : "æ¥æåæº" |
| | | crm_business ||--o{ crm_sale_quotation : "å½¢ææ¥ä»·" |
| | | crm_sale_quotation |o--o| crm_contract : "转为åå" |
| | | crm_contract ||--o| erp_sale_order : "çæéå®è®¢å" |
| | | crm_contract ||--o{ crm_receivable_plan : "åæè®¡å" |
| | | crm_contract ||--o{ crm_invoice : "å¼ç¥¨" |
| | | crm_invoice ||--o{ crm_receivable : "åç¥¨åæ¬¾" |
| | | erp_sale_order ||--o{ mes_pro_mps : "éç产è¡è§¦å" |
| | | mes_pro_mps ||--o{ mes_pro_work_order : "ä¸åå·¥å" |
| | | mes_pro_work_order ||--o{ mes_pro_task : "æå·¥åºæä»»å¡" |
| | | mes_pro_task ||--o{ mes_pro_feedback : "æ¥å·¥" |
| | | mes_pro_work_order ||--o{ mes_pro_work_order_bom : "å·¥åºææBOM" |
| | | erp_purchase_request ||--o{ erp_purchase_order : "çæéè´è®¢å" |
| | | erp_purchase_order ||--o| mes_wm_arrival_notice : "确认æ¶è´§" |
| | | mes_wm_arrival_notice ||--o| mes_qc_iqc : "触åIQC" |
| | | mes_wm_arrival_notice ||--o{ mes_wm_item_receipt : "çæéè´å
¥åº" |
| | | erp_sale_order ||--o{ mes_wm_product_sales : "éå®åºåº" |
| | | mes_wm_product_sales ||--o| mes_qc_oqc : "触åOQC" |
| | | mes_pro_feedback ||--o| mes_qc_ipqc : "è´¨æ£å·¥åºè§¦åIPQC" |
| | | mes_pro_feedback ||--o{ mes_wm_product_produce : "产åºå
¥åº" |
| | | mes_pro_feedback ||--o{ mes_wm_item_consume : "BOMå岿¶è" |
| | | mes_qc_iqc ||--o| mes_qc_ncr : "ä¸åæ ¼çæNCR" |
| | | mes_wm_item_receipt ||--o{ mes_wm_material_stock : "åºåå¢å " |
| | | mes_wm_material_stock ||--o{ mes_wm_transaction : "äºå¡æµæ°´" |
| | | mes_wm_material_stock }o--|| mes_wm_batch : "ææ¹æ¬¡" |
| | | after_sale_ticket ||--o{ after_sale_return : "éè´§ç³è¯·" |
| | | after_sale_return ||--o| mes_wm_return_sales : "çæMESéè´§å" |
| | | mdm_item ||--o{ erp_sale_order_items : "é宿ç»" |
| | | mdm_item ||--o{ erp_purchase_order_items : "éè´æç»" |
| | | mdm_item ||--o{ mes_wm_material_stock : "åºåç©æ" |
| | | srm_supplier ||--o{ erp_purchase_order : "ä¾è´§" |
| | | srm_supplier ||--o{ mes_wm_arrival_notice : "å°è´§æ¥æº" |
| | | erp_purchase_order ||--o{ erp_purchase_invoice : "æ¥ç¥¨" |
| | | erp_purchase_invoice ||--o{ erp_finance_payment : "仿¬¾" |
| | | hrm_employee ||--o| hrm_user_handover : "离èäº¤æ¥æ å°" |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | flowchart TD |
| | | U1[éè´åä¸ä¼ å票æä»¶ blobId] --> O1{æä»¶ç±»å} |
| | | O1 -->|å¾ç png/jpg/gif/bmp| O2[chatWithImage 夿¨¡æè§è§æ¨¡å] |
| | | O1 -->|PDF| O3[PDFBox æ½åææ¬ â chat] |
| | | O1 -->|txt/csv| O4[ç´è¯»ææ¬ â chat] |
| | | O2 --> O5[JSON åç¥¨å· æ¬å¤´ ä¾åºå éé¢ ç¨ç æ¥æ] |
| | | O3 --> O5 |
| | | O4 --> O5 |
| | | O5 --> O6[é¢å¡«éè´æ¥ç¥¨è¡¨å·人工确认] |
| | | Q1[éå®ä¸ä¼ æ¥ä»·å PDF/Word/Excel/å¾ç] --> Q2[POI/PDFBox/è§è§è¯å«] |
| | | Q2 --> Q3[JSON æ¥ä»·å¤´+产åæç»è¡] --> Q4[é¢å¡«æ¥ä»·å表å] |
| | | J1[è´¨æ£å头+ææ ç»æ+缺é·è®°å½] --> J2[ä¸å¡ä¾§ç»è£
Prompt â chat] |
| | | J2 --> J3[MdmItemApi ç©æå·SrmSupplierApi ä¾åºåå·CrmCustomerApi 客æ·å æ¼å
¥ä¸ä¸æ] |
| | | J3 --> J4[å»ºè®®ç»æ:åæ ¼/ç¹é/éè´§/æ¥åº+çç±+è¦ç¹] |
| | | J4 --> J5[è´¨æ£ååèå¤å®Â·AIä¸å¯ç¨æ¶æç¤ºäººå·¥å¤å®] |
| | | R1[å·¥åBOM+åºåå¯ç¨é+å·²ææ] --> R2[ç©æçç¼ºé¢æµÂ·é£é©ç级ä¸ç¼ºå£æ¸
å] |
| | | R3[å·¥åºæ åå·¥æ¶+è®¾å¤æ¯å°æ¶äº§é+ä¼ éåç] --> R4[ç产æ¶é¿é¢æµ] |
| | | R5[IPQC缺é·ç+设å¤ä¿å
»ç¹æ£+ç©æå¯ç¨ç+å
³é®å·¥åº] --> R6[ç产é£é©é¢æµ] |
| | | R7[è¿åº¦+å©ä½å¤©æ°+ä»»å¡å®æç¶æ+客æ·äº¤æ] --> R8[交ä»é¢æµÂ·è½å¦ææ¶+置信度+延误å ç´ ] |
| | | KB1[ç¥è¯åºææ¡£ä¸ä¼ URL] --> KB2[POI/Tikaæåææ¬] --> KB3[åç约800tokensâåéåâMilvus] |
| | | KB3 --> KB4[åæ®µæ£ç´¢æ¥å£ topK+ç¸ä¼¼åº¦éå¼] |
| | | KB4 -.-> KB5[ææªæ¥å
¥ä¸å¡é®çæµç¨Â·å¾
确认] |
| | | MODE[模åå±:éä¹åé®ä¸ºä¸»Â·é¢çDeepSeek/OpenAI/Ollamaæªå®ç°] --- O2 |
| | | NOTE[å
¨é¡¹ç®æ Function Calling·AIåªè¾åºç»æåJSONç±ä¸å¡ä¾§è§£æ] --- J2 |