Pengxy 7 месяцев назад
Родитель
Сommit
cfadb61d5a
68 измененных файлов с 3206 добавлено и 509 удалено
  1. 13 0
      .kiro/hooks/chinese-response-rules.kiro.hook
  2. 36 0
      .kiro/settings/mcp.json
  3. 254 0
      .kiro/specs/jianmo-integration/design.md
  4. 64 0
      .kiro/specs/jianmo-integration/tasks.md
  5. 66 0
      .kiro/specs/material-purchase-integration/requirements.md
  6. 40 0
      .kiro/specs/material-purchase-integration/tasks.md
  7. 272 0
      .kiro/specs/mysql-downgrade-to-5.7/INSTALLATION_GUIDE.md
  8. 100 0
      .kiro/specs/mysql-downgrade-to-5.7/requirements.md
  9. 68 0
      .kiro/specs/mysql-downgrade-to-5.7/tasks.md
  10. 27 0
      .kiro/steering/product.md
  11. 87 0
      .kiro/steering/structure.md
  12. 93 0
      .kiro/steering/tech.md
  13. 5 1
      .vscode/settings.json
  14. BIN
      yudao-framework/yudao-common/target/classes/cn/iocoder/yudao/framework/common/package-info.class
  15. BIN
      yudao-framework/yudao-common/target/classes/cn/iocoder/yudao/framework/common/util/package-info.class
  16. BIN
      yudao-framework/yudao-common/target/classes/cn/iocoder/yudao/framework/common/validation/package-info.class
  17. 1 1
      yudao-framework/yudao-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
  18. 6 6
      yudao-framework/yudao-spring-boot-starter-biz-data-permission/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
  19. BIN
      yudao-framework/yudao-spring-boot-starter-biz-ip/target/classes/cn/iocoder/yudao/framework/ip/package-info.class
  20. 5 5
      yudao-framework/yudao-spring-boot-starter-biz-ip/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  21. 2 2
      yudao-framework/yudao-spring-boot-starter-biz-ip/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
  22. 26 26
      yudao-framework/yudao-spring-boot-starter-biz-tenant/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  23. 17 17
      yudao-framework/yudao-spring-boot-starter-excel/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  24. 1 1
      yudao-framework/yudao-spring-boot-starter-excel/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
  25. 9 9
      yudao-framework/yudao-spring-boot-starter-job/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  26. BIN
      yudao-framework/yudao-spring-boot-starter-job/target/yudao-spring-boot-starter-job-2025.11-SNAPSHOT.jar
  27. BIN
      yudao-framework/yudao-spring-boot-starter-mq/target/classes/cn/iocoder/yudao/framework/mq/rabbitmq/package-info.class
  28. 16 16
      yudao-framework/yudao-spring-boot-starter-mq/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  29. BIN
      yudao-framework/yudao-spring-boot-starter-mq/target/yudao-spring-boot-starter-mq-2025.11-SNAPSHOT.jar
  30. BIN
      yudao-framework/yudao-spring-boot-starter-protection/target/classes/cn/iocoder/yudao/framework/signature/package-info.class
  31. BIN
      yudao-framework/yudao-spring-boot-starter-redis/target/classes/cn/iocoder/yudao/framework/redis/package-info.class
  32. BIN
      yudao-framework/yudao-spring-boot-starter-web/target/classes/cn/iocoder/yudao/framework/swagger/package-info.class
  33. BIN
      yudao-framework/yudao-spring-boot-starter-web/target/classes/cn/iocoder/yudao/framework/xss/package-info.class
  34. BIN
      yudao-module-bpm/target/classes/cn/iocoder/yudao/module/bpm/controller/package-info.class
  35. 1 1
      yudao-module-bpm/target/generated-sources/annotations/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvertImpl.java
  36. BIN
      yudao-module-infra/target/classes/cn/iocoder/yudao/module/infra/controller/app/package-info.class
  37. BIN
      yudao-module-infra/target/classes/cn/iocoder/yudao/module/infra/framework/security/core/package-info.class
  38. BIN
      yudao-module-infra/target/classes/cn/iocoder/yudao/module/infra/mq/message/package-info.class
  39. BIN
      yudao-module-infra/target/classes/cn/iocoder/yudao/module/infra/package-info.class
  40. BIN
      yudao-module-infra/target/yudao-module-infra-2025.11-SNAPSHOT.jar
  41. BIN
      yudao-module-report/target/classes/cn/iocoder/yudao/module/report/dal/dataobject/ajreport/package-info.class
  42. BIN
      yudao-module-report/target/classes/cn/iocoder/yudao/module/report/dal/mysql/ajreport/package-info.class
  43. BIN
      yudao-module-system/target/classes/cn/iocoder/yudao/module/system/framework/justauth/package-info.class
  44. 1 1
      yudao-module-system/target/generated-sources/annotations/cn/iocoder/yudao/module/system/convert/oauth2/OAuth2OpenConvertImpl.java
  45. 411 411
      yudao-module-system/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  46. 89 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/OrderDeliveryController.java
  47. 102 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/OrderDeliveryPageItemVO.java
  48. 27 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/OrderDeliveryPageReqVO.java
  49. 21 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/ShippingPlanPageReqVO.java
  50. 149 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/ShippingPlanRespVO.java
  51. 117 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/ShippingPlanSaveReqVO.java
  52. 266 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/ValueStreamRespVO.java
  53. 26 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/convert/OrderDeliveryConvert.java
  54. 93 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/dal/dataobject/ShippingPlanDO.java
  55. 130 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/dal/dataobject/ShippingPlanDetailDO.java
  56. 52 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/dal/mysql/OrderDeliveryMapper.java
  57. 25 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/dal/mysql/ShippingPlanDetailMapper.java
  58. 23 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/dal/mysql/ShippingPlanMapper.java
  59. 1 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/enums/ErrorCodeConstants.java
  60. 46 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/service/OrderDeliveryService.java
  61. 209 0
      yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/service/impl/OrderDeliveryServiceImpl.java
  62. 163 0
      yudao-order-server/src/main/resources/mapper/order/OrderDeliveryMapper.xml
  63. 1 1
      yudao-order-server/target/generated-sources/annotations/cn/iocoder/yudao/module/order/convert/OrderConvertImpl.java
  64. 44 10
      yudao-order-server/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  65. BIN
      yudao-order-server/target/yudao-order-server-2025.11-SNAPSHOT.jar
  66. 1 1
      yudao-server/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
  67. BIN
      yudao-server/target/yudao-server.jar
  68. BIN
      yudao-server/target/yudao-server.jar.original

+ 13 - 0
.kiro/hooks/chinese-response-rules.kiro.hook

@@ -0,0 +1,13 @@
+{
+  "enabled": true,
+  "name": "中文回答设置",
+  "description": "确保AI始终使用简体中文回答所有问题。技术术语可保留英文但需提供中文解释,代码注释使用中文,MySQL操作通过MCP连接并读取mcp.json配置。",
+  "version": "1",
+  "when": {
+    "type": "sessionStart"
+  },
+  "then": {
+    "type": "askAgent",
+    "prompt": "请始终遵循以下规则:\n\n【语言规则】\n1. 所有回答都使用简体中文\n2. 技术术语可以保留英文,但要提供中文解释\n3. 代码注释使用中文\n4. 错误信息和提示使用中文\n5. 文档和说明使用中文\n\n【例外情况】\n- 代码本身(变量名、函数名等)可以使用英文\n- 命令行指令保持原样\n- 配置文件内容根据实际需要决定语言\n\n【数据库操作规则】\n- MySQL操作时请直接用MCP来连接数据库并直接操作\n- MCP请读取mcp.json来获取数据库配置\n- 不要自己猜测数据库的账号和密码,严格按照mcp.json来操作数据库"
+  }
+}

+ 36 - 0
.kiro/settings/mcp.json

@@ -0,0 +1,36 @@
+{
+  "mcpServers": {
+    "mysql": {
+      "command": "npx",
+      "args": [
+        "-y",
+        "@fhuang/mcp-mysql-server"
+      ],
+      "env": {
+        "MYSQL_HOST": "123.60.180.165",
+        "MYSQL_PORT": "3306",
+        "MYSQL_USER": "root",
+        "MYSQL_PASSWORD": "5heng=uN",
+        "MYSQL_DATABASE": "dopdemo"
+      },
+      "disabled": false,
+      "autoApprove": [
+        "describe_table",
+        "describe_table",
+        "describe_table"
+      ]
+    },
+    "context7": {
+      "command": "npx",
+      "args": [
+        "-y",
+        "@upstash/context7-mcp"
+      ],
+      "disabled": false,
+      "autoApprove": [
+        "resolve-library-id",
+        "get-library-docs"
+      ]
+    }
+  }
+}

+ 254 - 0
.kiro/specs/jianmo-integration/design.md

@@ -0,0 +1,254 @@
+# Design Document
+
+## Overview
+
+本设计文档描述了将原始建模管理前端模块(s0-operating-modeling)完整整合到芋道管理系统的技术方案。整合工作包括:
+1. 删除重复的"建模管理"菜单,创建5个独立的一级菜单
+2. 迁移所有Vue组件到正确的目录结构
+3. 配置Vue Router路由
+4. 更新数据库菜单配置SQL
+
+## Architecture
+
+整合后的模块将遵循芋道系统的标准架构,拆分为5个独立的一级菜单:
+
+```
+yudao-ui-admin-vue3/
+├── src/
+│   ├── views/
+│   │   └── jianmo/
+│   │       └── views/           # 所有建模管理组件
+│   │           ├── CustomerManagement.vue
+│   │           ├── MaterialManagement.vue
+│   │           ├── OrderPriorityConfig.vue
+│   │           ├── device/      # 设备管理
+│   │           ├── warehouse/   # 仓储管理
+│   │           ├── supply/      # 供应建模
+│   │           ├── manufacturing/ # 制造建模
+│   │           ├── quality/     # 质量建模
+│   │           ├── inventory/   # 库存数据
+│   │           ├── wms/         # WMS相关
+│   │           └── s7/          # 成品仓储
+│   └── router/
+│       └── modules/
+│           └── remaining.ts     # 路由配置
+└── sql/
+    └── mysql/
+        └── custom_modules_menu.sql  # 菜单SQL
+```
+
+## Components and Interfaces
+
+### 1. 菜单结构设计
+
+按照用户要求,拆分为5个一级菜单:
+
+```
+一、运营建模 (ID: 6400, parent_id: 0, sort: 140, icon: ep:data-analysis)
+├── 产销建模 (ID: 6410, 二级目录)
+│   ├── 客户管理 (ID: 6411)
+│   ├── 物料管理 (ID: 6412)
+│   └── 订单优先级 (ID: 6413)
+├── 制造建模 (ID: 6420, 二级目录)
+│   ├── 标准BOM (ID: 6421)
+│   ├── 标准工序 (ID: 6422)
+│   ├── 生产线维护 (ID: 6423)
+│   ├── 工艺流程 (ID: 6424)
+│   ├── 物料替代 (ID: 6425)
+│   ├── 工单控制参数 (ID: 6426)
+│   ├── 人员技能 (ID: 6427)
+│   ├── 产线岗位 (ID: 6428)
+│   ├── 工作中心 (ID: 6429)
+│   ├── 生产线物料 (ID: 6430)
+│   ├── 生产要素参数 (ID: 6431)
+│   ├── 物料工序要素 (ID: 6432)
+│   ├── 前处理要素 (ID: 6433)
+│   ├── 前处理要素参数 (ID: 6434)
+│   ├── SOP文件类型 (ID: 6435)
+│   └── SOP维护 (ID: 6436)
+├── 仓储建模 (ID: 6440, 二级目录)
+│   ├── 库位维护 (ID: 6441)
+│   ├── 货架列表 (ID: 6442)
+│   ├── 部门维护 (ID: 6443)
+│   ├── 雇员列表 (ID: 6444)
+│   ├── 条码规则 (ID: 6445)
+│   ├── 标签格式 (ID: 6446)
+│   ├── 成本中心 (ID: 6447)
+│   ├── 物料职责 (ID: 6448)
+│   ├── 单号类型 (ID: 6449)
+│   ├── 单号规则 (ID: 6450)
+│   ├── 包装规格 (ID: 6451)
+│   └── 物料状态任务 (ID: 6452)
+├── 质量建模 (ID: 6460, 二级目录)
+│   ├── 单据类型 (ID: 6461)
+│   ├── 业务类型 (ID: 6462)
+│   ├── 客诉类别 (ID: 6463)
+│   ├── 检验优先级 (ID: 6464)
+│   ├── 不合格联络单模板 (ID: 6465)
+│   ├── 8D模板 (ID: 6466)
+│   ├── NCR处置类型 (ID: 6467)
+│   ├── 质量项目 (ID: 6468)
+│   ├── CAPA类型 (ID: 6469)
+│   ├── 检验状态 (ID: 6470)
+│   ├── AQL检验水平 (ID: 6471)
+│   ├── AQL值 (ID: 6472)
+│   ├── 抽样方案 (ID: 6473)
+│   ├── 检验方法 (ID: 6474)
+│   ├── 检验依据 (ID: 6475)
+│   ├── 检验仪器 (ID: 6476)
+│   ├── 检验频率 (ID: 6477)
+│   ├── 检验项目 (ID: 6478)
+│   ├── 检验标准 (ID: 6479)
+│   ├── 检验方案 (ID: 6480)
+│   └── 原材料免检 (ID: 6481)
+└── 供应建模 (ID: 6490, 二级目录)
+    ├── 供应商维护 (ID: 6491)
+    └── 货源清单 (ID: 6492)
+
+二、设备管理 (ID: 6500, parent_id: 0, sort: 141, icon: ep:cpu)
+├── 设备列表 (ID: 6501)
+└── 模工具列表 (ID: 6502)
+
+三、仓储管理 (ID: 6600, parent_id: 0, sort: 142, icon: ep:house)
+├── 委外交料单 (ID: 6601)
+├── 采购收货单 (ID: 6602)
+├── 生产领料单 (ID: 6603)
+└── 生产退料单 (ID: 6604)
+
+四、仓库数据 (ID: 6700, parent_id: 0, sort: 143, icon: ep:document)
+├── 标签查询 (ID: 6701)
+├── 标签历史记录 (ID: 6702)
+├── 暂收在检列表 (ID: 6703)
+├── 库存查询 (ID: 6704)
+└── 进出存查询 (ID: 6705)
+
+五、成品仓库 (ID: 6800, parent_id: 0, sort: 144, icon: ep:box)
+├── 生产入库单列表 (ID: 6801)
+└── 销售发货通知 (ID: 6802)
+```
+
+### 2. 路由配置接口
+
+路由将在 `remaining.ts` 中配置,按5个一级菜单分组:
+
+```typescript
+// 运营建模路由
+{
+  path: '/yunying',
+  component: Layout,
+  name: 'YunyingCenter',
+  meta: { hidden: true },
+  children: [/* 销售建模、供应建模、制造建模、质量建模子路由 */]
+}
+
+// 设备管理路由
+{
+  path: '/shebei',
+  component: Layout,
+  name: 'ShebeiCenter',
+  meta: { hidden: true },
+  children: [/* 设备列表、模工具列表 */]
+}
+
+// 仓储管理路由
+{
+  path: '/cangchu',
+  component: Layout,
+  name: 'CangchuCenter',
+  meta: { hidden: true },
+  children: [/* 仓储相关子路由 */]
+}
+
+// 库存数据路由
+{
+  path: '/kucun',
+  component: Layout,
+  name: 'KucunCenter',
+  meta: { hidden: true },
+  children: [/* 库存查询相关子路由 */]
+}
+
+// 成品仓储路由
+{
+  path: '/chengpin',
+  component: Layout,
+  name: 'ChengpinCenter',
+  meta: { hidden: true },
+  children: [/* 成品入库、发货相关子路由 */]
+}
+```
+
+### 3. 组件迁移映射
+
+| 原始路径 | 目标路径 |
+|---------|---------|
+| s0-operating-modeling/src/views/*.vue | src/views/jianmo/views/*.vue |
+| s0-operating-modeling/src/views/device/*.vue | src/views/jianmo/views/device/*.vue |
+| s0-operating-modeling/src/views/warehouse/*.vue | src/views/jianmo/views/warehouse/*.vue |
+| s0-operating-modeling/src/views/supply/*.vue | src/views/jianmo/views/supply/*.vue |
+| s0-operating-modeling/src/views/manufacturing/*.vue | src/views/jianmo/views/manufacturing/*.vue |
+| s0-operating-modeling/src/views/quality/*.vue | src/views/jianmo/views/quality/*.vue |
+| s0-operating-modeling/src/views/inventory/*.vue | src/views/jianmo/views/inventory/*.vue |
+| s0-operating-modeling/src/views/wms/*.vue | src/views/jianmo/views/wms/*.vue |
+| s0-operating-modeling/src/views/s7/*.vue | src/views/jianmo/views/s7/*.vue |
+
+## Data Models
+
+### 菜单数据模型 (system_menu)
+
+| 字段 | 类型 | 说明 |
+|-----|------|-----|
+| id | bigint | 菜单ID |
+| name | varchar(50) | 菜单名称 |
+| permission | varchar(100) | 权限标识 |
+| type | tinyint | 菜单类型(1=目录,2=菜单) |
+| sort | int | 排序 |
+| parent_id | bigint | 父菜单ID |
+| path | varchar(200) | 路由路径 |
+| icon | varchar(100) | 图标 |
+| component | varchar(255) | 组件路径 |
+| component_name | varchar(100) | 组件名称 |
+| status | tinyint | 状态 |
+
+## Correctness Properties
+
+*A property is a characteristic or behavior that should hold true across all valid executions of a system-essentially, a formal statement about what the system should do. Properties serve as the bridge between human-readable specifications and machine-verifiable correctness guarantees.*
+
+由于本次整合主要是前端UI组件迁移和配置工作,大部分验收标准属于UI导航测试和配置验证,不适合使用属性测试。以下是可验证的关键属性:
+
+Property 1: Menu uniqueness
+*For any* menu name at the root level (parent_id=0), there SHALL be at most one menu entry with that name in the system_menu table.
+**Validates: Requirements 1.1, 1.2**
+
+Property 2: Route-component consistency
+*For any* configured route in the jianmo module, the referenced component file SHALL exist at the specified path.
+**Validates: Requirements 10.1, 10.2**
+
+Property 3: Build integrity
+*For any* valid build configuration, the application SHALL compile without errors related to jianmo module imports.
+**Validates: Requirements 10.3**
+
+## Error Handling
+
+1. **组件加载失败**: 使用Vue的异步组件加载机制,配合错误边界处理
+2. **路由不存在**: 配置404回退路由
+3. **菜单权限不足**: 依赖芋道系统现有的权限控制机制
+
+## Testing Strategy
+
+### 单元测试
+- 验证路由配置的完整性
+- 验证组件文件存在性
+
+### 集成测试
+- 验证菜单SQL执行后数据库状态正确
+- 验证前端构建成功
+
+### 手动测试
+- 验证所有菜单导航功能正常
+- 验证各组件页面渲染正确
+
+### 测试框架
+- 使用项目现有的测试框架(如有)
+- SQL验证通过数据库查询确认
+- 构建验证通过 `pnpm build:prod` 命令确认

+ 64 - 0
.kiro/specs/jianmo-integration/tasks.md

@@ -0,0 +1,64 @@
+# Implementation Plan
+
+- [x] 1. 清理重复菜单和准备工作
+  - [x] 1.1 更新菜单SQL脚本,删除旧的建模管理菜单配置
+    - 修改 `sql/mysql/custom_modules_menu.sql`
+    - 删除ID 6300-6399范围的旧菜单
+    - _Requirements: 1.1, 1.2_
+  - [x] 1.2 创建新的建模管理菜单SQL配置
+    - 创建一级菜单"建模管理"(ID: 6400)
+    - 创建二级菜单:运营建模、设备管理、仓储管理、仓库数据、成品仓库
+    - 创建所有三级和四级菜单项
+    - _Requirements: 1.3_
+
+- [ ] 2. 迁移Vue组件 - 运营建模模块
+  - [ ] 2.1 迁移产销建模组件
+    - 复制 CustomerManagement.vue, MaterialManagement.vue, OrderPriorityConfig.vue
+    - 确保组件路径正确
+    - _Requirements: 2.1, 3.1, 4.1_
+  - [ ] 2.2 迁移制造建模组件
+    - 复制 manufacturing/ 目录下所有16个组件
+    - _Requirements: 8.1-8.16_
+  - [ ] 2.3 迁移仓储建模组件
+    - 复制 warehouse/ 目录下所有12个组件
+    - _Requirements: 6.1-6.12_
+  - [ ] 2.4 迁移质量建模组件
+    - 复制 quality/ 目录下所有21个组件
+    - _Requirements: 9.1-9.21_
+  - [ ] 2.5 迁移供应建模组件
+    - 复制 supply/ 目录下所有2个组件
+    - _Requirements: 7.1-7.2_
+
+- [ ] 3. 迁移Vue组件 - 其他模块
+  - [ ] 3.1 迁移设备管理组件
+    - 复制 device/ 目录下所有2个组件
+    - _Requirements: 5.1-5.2_
+  - [ ] 3.2 迁移仓储管理组件(WMS)
+    - 复制 wms/ 目录下相关组件
+    - _Requirements: 相关WMS功能_
+  - [ ] 3.3 迁移仓库数据组件
+    - 复制 inventory/ 目录下所有5个组件
+    - _Requirements: 库存数据功能_
+  - [ ] 3.4 迁移成品仓库组件
+    - 复制 s7/ 目录下所有2个组件
+    - _Requirements: 成品仓库功能_
+
+- [ ] 4. 配置Vue路由
+  - [ ] 4.1 在remaining.ts中添加建模管理路由配置
+    - 添加 /yunying 路由组
+    - 配置所有子路由
+    - _Requirements: 10.2_
+  - [ ] 4.2 验证路由配置正确性
+    - 确保所有组件路径正确
+    - _Requirements: 10.1_
+
+- [ ] 5. Checkpoint - 验证构建
+  - Ensure all tests pass, ask the user if questions arise.
+
+- [ ] 6. 最终验证
+  - [ ] 6.1 执行前端构建验证
+    - 运行 pnpm build:prod 确保无编译错误
+    - _Requirements: 10.3_
+  - [ ] 6.2 提供菜单SQL执行说明
+    - 说明如何执行SQL更新数据库菜单
+    - _Requirements: 1.3_

+ 66 - 0
.kiro/specs/material-purchase-integration/requirements.md

@@ -0,0 +1,66 @@
+# Requirements Document
+
+## Introduction
+
+本文档定义了将物料采购模块(dingdan/manage-vue)整合到芋道管理后台项目的需求。该模块包含三个核心功能页面:物料采购订单、委外加工订单、物料采购申请。整合后将作为一级菜单"物料采购"显示在系统中。
+
+## Glossary
+
+- **Material_Purchase_System**: 物料采购管理系统,用于管理物料采购订单、委外加工订单和采购申请的前端模块
+- **Menu_Configuration**: 系统菜单配置,存储在 system_menu 数据库表中的菜单层级结构
+- **Vue_Component**: Vue 3 单文件组件,包含模板、脚本和样式的 .vue 文件
+- **Component_Path**: 菜单配置中指向 Vue 组件的相对路径,基于 src/views 目录
+
+## Requirements
+
+### Requirement 1
+
+**User Story:** As a system administrator, I want to add a new "物料采购" top-level menu, so that users can access material purchase management functions.
+
+#### Acceptance Criteria
+
+1. WHEN the system administrator executes the menu SQL script THEN the Material_Purchase_System SHALL create a new top-level menu with name "物料采购" and icon "ep:shopping-bag"
+2. WHEN the menu is created THEN the Material_Purchase_System SHALL assign a unique menu ID in the 6500-6599 range to avoid conflicts with existing menus
+3. WHEN the menu is displayed THEN the Material_Purchase_System SHALL show the menu with sort order 130 (between 异常管理 120 and 建模管理 140)
+
+### Requirement 2
+
+**User Story:** As a system administrator, I want to configure three second-level menus under "物料采购", so that users can navigate to specific purchase management pages.
+
+#### Acceptance Criteria
+
+1. WHEN the menu configuration is complete THEN the Material_Purchase_System SHALL display "物料采购订单" as the first second-level menu item
+2. WHEN the menu configuration is complete THEN the Material_Purchase_System SHALL display "委外加工订单" as the second second-level menu item
+3. WHEN the menu configuration is complete THEN the Material_Purchase_System SHALL display "物料采购申请" as the third second-level menu item
+4. WHEN each second-level menu is configured THEN the Material_Purchase_System SHALL specify the correct component path pointing to the Vue component in src/views/caigou/
+
+### Requirement 3
+
+**User Story:** As a developer, I want to copy Vue components from the source module to the target directory, so that the menu configuration can correctly load the pages.
+
+#### Acceptance Criteria
+
+1. WHEN copying components THEN the Material_Purchase_System SHALL place MaterialPurchaseOrder.vue in src/views/caigou/ directory
+2. WHEN copying components THEN the Material_Purchase_System SHALL place SubcontractOrder.vue in src/views/caigou/ directory
+3. WHEN copying components THEN the Material_Purchase_System SHALL place MaterialPurchaseRequest.vue in src/views/caigou/ directory
+4. WHEN components are copied THEN the Material_Purchase_System SHALL preserve the original component functionality including search, filter, pagination, and export features
+
+### Requirement 4
+
+**User Story:** As a developer, I want to ensure component compatibility with the main project, so that the pages render correctly without errors.
+
+#### Acceptance Criteria
+
+1. WHEN components are integrated THEN the Material_Purchase_System SHALL use Element Plus components that are already available in the main project
+2. WHEN components reference icons THEN the Material_Purchase_System SHALL use @element-plus/icons-vue icons that are available in the main project
+3. WHEN components use local storage THEN the Material_Purchase_System SHALL use unique storage keys prefixed with the module name to avoid conflicts
+
+### Requirement 5
+
+**User Story:** As a system administrator, I want to execute a SQL script to configure all menus, so that the integration can be completed efficiently.
+
+#### Acceptance Criteria
+
+1. WHEN the SQL script is executed THEN the Material_Purchase_System SHALL create all menu records in a single transaction
+2. WHEN the SQL script is executed THEN the Material_Purchase_System SHALL clean up any existing menus in the 6500-6599 ID range before inserting new records
+3. WHEN the SQL script is executed THEN the Material_Purchase_System SHALL set appropriate permissions for each menu item following the naming convention "caigou:module:action"

+ 40 - 0
.kiro/specs/material-purchase-integration/tasks.md

@@ -0,0 +1,40 @@
+# Implementation Plan
+
+- [x] 1. Copy Vue components to target directory
+  - [x] 1.1 Copy MaterialPurchaseOrder.vue from dingdan/manage-vue/src/views/purchase-order/ to src/views/caigou/
+    - Preserve all component functionality including search, filter, pagination, and export
+    - _Requirements: 3.1, 3.4_
+  - [x] 1.2 Copy SubcontractOrder.vue from dingdan/manage-vue/src/views/purchase-order/ to src/views/caigou/
+    - Preserve all component functionality including search, filter, pagination, and export
+    - _Requirements: 3.2, 3.4_
+  - [x] 1.3 Copy MaterialPurchaseRequest.vue from dingdan/manage-vue/src/views/purchase-order/ to src/views/caigou/
+    - Preserve all component functionality including search, filter, pagination, and export
+    - _Requirements: 3.3, 3.4_
+
+- [x] 2. Create menu configuration SQL script
+  - [x] 2.1 Create sql/mysql/material_purchase_menu.sql with menu configuration
+    - Include DELETE statement to clean up existing menus in 6500-6599 range
+    - Create top-level menu "物料采购" with ID 6500, sort order 130, icon "ep:shopping-bag"
+    - Create three second-level menus with correct component paths
+    - Set appropriate permissions following "caigou:module:action" convention
+    - _Requirements: 1.1, 1.2, 1.3, 2.1, 2.2, 2.3, 2.4, 5.1, 5.2, 5.3_
+
+- [x] 3. Verify component compatibility
+  - [x] 3.1 Check and update component imports if needed
+    - Ensure Element Plus components are used correctly
+    - Verify @element-plus/icons-vue imports are compatible
+    - _Requirements: 4.1, 4.2_
+  - [x] 3.2 Update localStorage keys to use module prefix
+    - Change localStorage keys to use "caigou-" or "material-purchase-" prefix
+    - _Requirements: 4.3_
+
+- [x] 4. Update integration guide documentation
+  - [x] 4.1 Update MODULES_INTEGRATION_GUIDE.md with material purchase module information
+    - Add module description and file locations
+    - Document menu configuration steps
+    - _Requirements: 1.1, 2.1, 2.2, 2.3_
+
+- [x] 5. Final verification
+  - Ensure all files are in correct locations
+  - Verify SQL script syntax is correct
+  - Confirm component paths match menu configuration

+ 272 - 0
.kiro/specs/mysql-downgrade-to-5.7/INSTALLATION_GUIDE.md

@@ -0,0 +1,272 @@
+# MySQL 5.7 手动安装指南(macOS)
+
+## 方案选择
+
+由于 Homebrew 已于 2024-08-01 停止支持 MySQL 5.7,我们需要使用 MySQL 官方提供的 DMG 安装包进行手动安装。
+
+## 安装步骤
+
+### 1. 下载 MySQL 5.7
+
+访问 MySQL 官方归档下载页面:
+```
+https://downloads.mysql.com/archives/community/
+```
+
+**下载配置**:
+- Product Version: 5.7.44(MySQL 5.7 的最后一个版本)
+- Operating System: macOS
+- OS Version: 根据你的 macOS 版本选择(建议选择最新的兼容版本)
+
+**注意**:
+- 如果你使用的是 Apple Silicon (M1/M2/M3),可能需要选择 ARM 架构的版本
+- 如果没有 ARM 版本,可以选择 x86_64 版本(通过 Rosetta 2 运行)
+
+### 2. 安装 MySQL 5.7
+
+1. **打开下载的 DMG 文件**
+   - 双击下载的 `.dmg` 文件
+
+2. **运行安装程序**
+   - 双击 `.pkg` 安装包
+   - 按照安装向导的提示进行安装
+
+3. **记录临时密码**
+   - 安装完成后,系统会弹出一个对话框显示临时 root 密码
+   - **务必记录这个密码**,格式类似:`root@localhost: temporary_password_here`
+   - 如果错过了,可以在系统日志中查找
+
+4. **安装位置**
+   - MySQL 5.7 默认安装在:`/usr/local/mysql-5.7.44/`
+   - 配置文件位置:`/etc/my.cnf`(如果不存在则需要创建)
+
+### 3. 配置 MySQL 5.7
+
+#### 3.1 配置端口(避免与 MySQL 8.0 冲突)
+
+由于你的系统中已经有 MySQL 8.0 运行在 3306 端口,需要配置 MySQL 5.7 使用不同的端口。
+
+创建或编辑配置文件:
+```bash
+sudo vim /etc/my.cnf
+```
+
+添加以下配置:
+```ini
+[mysqld]
+# 基本配置
+port = 3307
+socket = /tmp/mysql57.sock
+pid-file = /tmp/mysql57.pid
+
+# 数据目录
+datadir = /usr/local/mysql-5.7.44/data
+
+# 字符集配置
+character-set-server = utf8mb4
+collation-server = utf8mb4_general_ci
+
+# 连接配置
+bind-address = 127.0.0.1
+max_connections = 200
+
+# 日志配置
+log-error = /usr/local/mysql-5.7.44/data/error.log
+
+[mysql]
+socket = /tmp/mysql57.sock
+
+[client]
+port = 3307
+socket = /tmp/mysql57.sock
+```
+
+#### 3.2 启动 MySQL 5.7
+
+**方法 1:使用系统偏好设置**
+1. 打开"系统偏好设置"(System Preferences)
+2. 找到 MySQL 图标(如果安装成功会出现)
+3. 点击"Start MySQL Server"
+
+**方法 2:使用命令行**
+```bash
+# 启动 MySQL 5.7
+sudo /usr/local/mysql-5.7.44/support-files/mysql.server start
+
+# 检查状态
+sudo /usr/local/mysql-5.7.44/support-files/mysql.server status
+```
+
+#### 3.3 修改 root 密码
+
+使用临时密码登录并修改密码:
+```bash
+# 使用临时密码登录(端口 3307)
+/usr/local/mysql-5.7.44/bin/mysql -h 127.0.0.1 -P 3307 -u root -p
+
+# 输入临时密码后,执行以下命令修改密码
+ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
+FLUSH PRIVILEGES;
+
+# 退出
+exit;
+```
+
+**建议密码**:为了方便开发,可以使用与 MySQL 8.0 相同的密码(如果你记得的话)
+
+#### 3.4 验证安装
+
+```bash
+# 使用新密码登录
+/usr/local/mysql-5.7.44/bin/mysql -h 127.0.0.1 -P 3307 -u root -p
+
+# 在 MySQL 中执行
+SELECT VERSION();
+SHOW VARIABLES LIKE 'port';
+SHOW VARIABLES LIKE 'character_set%';
+
+# 应该看到:
+# - VERSION(): 5.7.44
+# - port: 3307
+# - character_set_server: utf8mb4
+```
+
+### 4. 配置环境变量(可选)
+
+为了方便使用 MySQL 5.7 命令,可以添加到 PATH:
+
+```bash
+# 编辑 shell 配置文件
+vim ~/.zshrc
+
+# 添加以下内容(注意:这会优先使用 MySQL 5.7)
+export PATH="/usr/local/mysql-5.7.44/bin:$PATH"
+
+# 或者创建别名(推荐,不影响 MySQL 8.0)
+alias mysql57='/usr/local/mysql-5.7.44/bin/mysql'
+alias mysqldump57='/usr/local/mysql-5.7.44/bin/mysqldump'
+
+# 使配置生效
+source ~/.zshrc
+```
+
+## 两个 MySQL 版本共存管理
+
+### 启动和停止服务
+
+**MySQL 8.0**(原有的):
+```bash
+# 停止
+sudo /usr/local/mysql/support-files/mysql.server stop
+
+# 启动
+sudo /usr/local/mysql/support-files/mysql.server start
+
+# 状态
+sudo /usr/local/mysql/support-files/mysql.server status
+```
+
+**MySQL 5.7**(新安装的):
+```bash
+# 停止
+sudo /usr/local/mysql-5.7.44/support-files/mysql.server stop
+
+# 启动
+sudo /usr/local/mysql-5.7.44/support-files/mysql.server start
+
+# 状态
+sudo /usr/local/mysql-5.7.44/support-files/mysql.server status
+```
+
+### 连接到不同版本
+
+**连接到 MySQL 8.0**(端口 3306):
+```bash
+mysql -h 127.0.0.1 -P 3306 -u root -p
+```
+
+**连接到 MySQL 5.7**(端口 3307):
+```bash
+/usr/local/mysql-5.7.44/bin/mysql -h 127.0.0.1 -P 3307 -u root -p
+# 或使用别名
+mysql57 -h 127.0.0.1 -P 3307 -u root -p
+```
+
+## 常见问题
+
+### 问题 1:安装时提示"无法打开,因为它来自身份不明的开发者"
+
+**解决方案**:
+1. 打开"系统偏好设置" > "安全性与隐私"
+2. 在"通用"选项卡中,点击"仍要打开"
+3. 或者在终端执行:
+   ```bash
+   sudo spctl --master-disable
+   ```
+
+### 问题 2:找不到临时密码
+
+**解决方案**:
+```bash
+# 查看系统日志
+sudo grep 'temporary password' /var/log/system.log
+
+# 或者重置密码(需要停止 MySQL 服务)
+sudo /usr/local/mysql-5.7.44/support-files/mysql.server stop
+sudo /usr/local/mysql-5.7.44/bin/mysqld_safe --skip-grant-tables &
+/usr/local/mysql-5.7.44/bin/mysql -u root
+# 在 MySQL 中执行
+UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
+FLUSH PRIVILEGES;
+exit;
+# 重启 MySQL
+sudo killall mysqld
+sudo /usr/local/mysql-5.7.44/support-files/mysql.server start
+```
+
+### 问题 3:端口冲突
+
+**解决方案**:
+- 确保配置文件 `/etc/my.cnf` 中设置了 `port = 3307`
+- 检查端口占用:`lsof -i :3307`
+- 如果 3307 也被占用,可以使用其他端口(如 3308)
+
+### 问题 4:无法启动服务
+
+**解决方案**:
+```bash
+# 检查错误日志
+sudo tail -f /usr/local/mysql-5.7.44/data/error.log
+
+# 检查权限
+sudo chown -R _mysql:_mysql /usr/local/mysql-5.7.44/data
+
+# 检查配置文件语法
+/usr/local/mysql-5.7.44/bin/mysqld --help --verbose
+```
+
+### 问题 5:Apple Silicon (M1/M2/M3) 兼容性
+
+如果下载的是 x86_64 版本,需要通过 Rosetta 2 运行:
+```bash
+# 安装 Rosetta 2(如果还没有)
+softwareupdate --install-rosetta
+
+# MySQL 应该可以正常运行
+```
+
+## 下一步
+
+安装完成后,继续执行以下任务:
+1. 创建 ruoyi-vue-pro 数据库
+2. 导入项目 SQL 脚本
+3. 修改项目配置文件
+4. 启动项目验证
+
+详见 `tasks.md` 文件中的后续任务。
+
+## 参考资料
+
+- MySQL 5.7 官方文档:https://dev.mysql.com/doc/refman/5.7/en/
+- MySQL 下载归档:https://downloads.mysql.com/archives/community/
+- macOS 安装指南:https://dev.mysql.com/doc/refman/5.7/en/macos-installation.html

+ 100 - 0
.kiro/specs/mysql-downgrade-to-5.7/requirements.md

@@ -0,0 +1,100 @@
+# Requirements Document
+
+## Introduction
+
+本需求文档描述将项目从 MySQL 8.0 降级到 MySQL 5.7 的完整过程。由于项目中的某些插件需要使用 MySQL 5.7,需要在本地环境安装 MySQL 5.7,并将项目配置和数据迁移到新的数据库版本。
+
+## Glossary
+
+- **MySQL 5.7**: 目标数据库版本,项目插件所需的数据库版本
+- **MySQL 8.0**: 当前使用的数据库版本
+- **Homebrew**: macOS 系统的包管理工具
+- **数据迁移**: 将现有数据从 MySQL 8.0 导出并导入到 MySQL 5.7 的过程
+- **项目配置**: application-dev.yaml 和 application.yaml 中的数据库连接配置
+- **数据库连接串**: JDBC URL,用于连接数据库的字符串
+
+## Requirements
+
+### Requirement 1
+
+**User Story:** 作为开发者,我想要在 macOS 系统上安装 MySQL 5.7,以便项目插件能够正常运行
+
+#### Acceptance Criteria
+
+1. WHEN 使用 Homebrew 安装 MySQL 5.7 THEN 系统应成功安装 MySQL 5.7 服务
+2. WHEN MySQL 5.7 安装完成 THEN 系统应能够启动 MySQL 5.7 服务
+3. WHEN MySQL 5.7 服务启动 THEN 系统应能够通过命令行连接到 MySQL 5.7
+4. WHEN 设置 MySQL 5.7 root 密码 THEN 系统应成功保存密码配置
+5. WHEN MySQL 5.7 配置端口 THEN 系统应避免与现有 MySQL 8.0 端口冲突
+
+### Requirement 2
+
+**User Story:** 作为开发者,我想要导出 MySQL 8.0 中的现有数据,以便能够迁移到 MySQL 5.7
+
+#### Acceptance Criteria
+
+1. WHEN 执行数据库导出命令 THEN 系统应生成包含所有表结构的 SQL 文件
+2. WHEN 执行数据库导出命令 THEN 系统应生成包含所有表数据的 SQL 文件
+3. WHEN 导出 SQL 文件 THEN 文件应使用 MySQL 5.7 兼容的语法
+4. WHEN 导出完成 THEN 系统应验证导出文件的完整性
+5. IF 导出过程中出现错误 THEN 系统应显示明确的错误信息
+
+### Requirement 3
+
+**User Story:** 作为开发者,我想要在 MySQL 5.7 中创建项目所需的数据库,以便导入数据
+
+#### Acceptance Criteria
+
+1. WHEN 连接到 MySQL 5.7 THEN 系统应能够执行创建数据库命令
+2. WHEN 创建数据库 THEN 数据库名称应与项目配置中的名称一致(ruoyi-vue-pro)
+3. WHEN 创建数据库 THEN 系统应设置正确的字符集(utf8mb4)
+4. WHEN 创建数据库 THEN 系统应设置正确的排序规则(utf8mb4_general_ci)
+5. WHEN 数据库创建完成 THEN 系统应能够查询到新创建的数据库
+
+### Requirement 4
+
+**User Story:** 作为开发者,我想要将导出的数据导入到 MySQL 5.7,以便恢复项目数据
+
+#### Acceptance Criteria
+
+1. WHEN 执行导入命令 THEN 系统应成功导入所有表结构
+2. WHEN 执行导入命令 THEN 系统应成功导入所有表数据
+3. IF 导入过程中遇到 MySQL 8.0 特有语法 THEN 系统应提供兼容性处理方案
+4. WHEN 导入完成 THEN 系统应验证所有表的记录数与原数据库一致
+5. WHEN 导入完成 THEN 系统应验证关键表的数据完整性
+
+### Requirement 5
+
+**User Story:** 作为开发者,我想要更新项目配置文件,以便项目连接到 MySQL 5.7 数据库
+
+#### Acceptance Criteria
+
+1. WHEN 修改 application-dev.yaml THEN 数据库连接 URL 应指向 MySQL 5.7 的端口
+2. WHEN 修改 application-dev.yaml THEN 数据库用户名应与 MySQL 5.7 配置一致
+3. WHEN 修改 application-dev.yaml THEN 数据库密码应与 MySQL 5.7 配置一致
+4. WHEN 修改连接串参数 THEN 系统应移除 MySQL 8.0 特有的参数
+5. WHEN 配置文件修改完成 THEN 系统应保持 YAML 文件格式正确
+
+### Requirement 6
+
+**User Story:** 作为开发者,我想要验证项目能够正常连接和使用 MySQL 5.7,以便确保迁移成功
+
+#### Acceptance Criteria
+
+1. WHEN 启动项目后端服务 THEN 系统应成功连接到 MySQL 5.7 数据库
+2. WHEN 项目启动 THEN 系统应能够执行数据库查询操作
+3. WHEN 项目启动 THEN 系统应能够执行数据库写入操作
+4. WHEN 执行项目功能 THEN 所有依赖数据库的功能应正常工作
+5. IF 连接失败 THEN 系统应在日志中显示明确的错误信息
+
+### Requirement 7
+
+**User Story:** 作为开发者,我想要记录 MySQL 5.7 和 MySQL 8.0 的共存配置,以便在需要时可以切换
+
+#### Acceptance Criteria
+
+1. WHEN 两个 MySQL 版本共存 THEN 系统应记录各自的端口配置
+2. WHEN 两个 MySQL 版本共存 THEN 系统应记录各自的启动和停止命令
+3. WHEN 两个 MySQL 版本共存 THEN 系统应记录如何切换项目使用的数据库版本
+4. WHEN 需要卸载 MySQL 8.0 THEN 系统应提供完整的卸载步骤
+5. WHEN 文档创建完成 THEN 文档应包含常见问题的解决方案

+ 68 - 0
.kiro/specs/mysql-downgrade-to-5.7/tasks.md

@@ -0,0 +1,68 @@
+# Implementation Plan
+
+- [x] 1. 环境准备和 MySQL 5.7 安装
+  - 使用 Homebrew 在 macOS 上安装 MySQL 5.7
+  - 配置 MySQL 5.7 服务
+  - 设置 root 密码
+  - 验证 MySQL 5.7 服务可以正常启动和连接
+  - _Requirements: 1.1, 1.2, 1.3, 1.4_
+
+- [ ] 2. 处理端口冲突(如需要)
+  - 检查当前 MySQL 8.0 是否在运行
+  - 如果需要两个版本共存,配置 MySQL 5.7 使用 3307 端口
+  - 如果不需要共存,停止 MySQL 8.0 服务
+  - 验证端口配置正确
+  - _Requirements: 1.5_
+
+- [ ] 3. 创建数据库
+  - 连接到 MySQL 5.7
+  - 创建 ruoyi-vue-pro 数据库
+  - 设置字符集为 utf8mb4
+  - 设置排序规则为 utf8mb4_general_ci
+  - 验证数据库创建成功
+  - _Requirements: 3.1, 3.2, 3.3, 3.4, 3.5_
+
+- [ ] 4. 导入项目 SQL 脚本
+  - 导入 sql/mysql/ruoyi-vue-pro.sql 主数据库脚本
+  - 导入 sql/mysql/quartz.sql 定时任务表(如需要)
+  - 验证所有表已成功创建
+  - 检查表数量是否正确(预计 200+ 张表)
+  - _Requirements: 4.1, 4.2, 4.4, 4.5_
+
+- [ ] 5. 更新项目配置文件
+  - 修改 yudao-server/src/main/resources/application-dev.yaml
+  - 更新数据库连接 URL(如端口不同)
+  - 更新数据库密码(如不同)
+  - 验证 YAML 文件格式正确
+  - _Requirements: 5.1, 5.2, 5.3, 5.5_
+
+- [ ] 6. 启动和验证项目
+  - 启动后端服务
+  - 检查启动日志,确认成功连接到 MySQL 5.7
+  - 验证 MyBatis Plus 智能模式正确识别数据库版本
+  - 测试基本的数据库查询操作
+  - 测试基本的数据库写入操作
+  - _Requirements: 6.1, 6.2, 6.3_
+
+- [ ] 7. 功能验证测试
+  - 访问管理后台登录页面
+  - 使用测试账号登录系统
+  - 测试用户管理功能(查询、新增、修改)
+  - 测试菜单管理功能
+  - 测试角色管理功能
+  - 验证所有依赖数据库的功能正常工作
+  - _Requirements: 6.4_
+
+- [ ] 8. 创建迁移文档
+  - 记录 MySQL 5.7 的配置信息(主机、端口、用户名)
+  - 记录 MySQL 5.7 的启动和停止命令
+  - 如果两个版本共存,记录如何切换数据库版本
+  - 记录常见问题和解决方案
+  - 记录回滚步骤
+  - _Requirements: 7.1, 7.2, 7.3, 7.5_
+
+- [ ] 9. 清理工作(可选)
+  - 如果不需要 MySQL 8.0,记录卸载步骤
+  - 备份 MySQL 8.0 数据(如需要)
+  - 停止 MySQL 8.0 服务
+  - _Requirements: 7.4_

+ 27 - 0
.kiro/steering/product.md

@@ -0,0 +1,27 @@
+# Product Overview
+
+芋道 (Yudao / ruoyi-vue-pro) is a comprehensive enterprise-grade rapid development platform built on Spring Boot. It's a full-featured, open-source backend management system designed for Chinese enterprise applications.
+
+## Core Purpose
+- Provide a production-ready scaffolding for enterprise backend systems
+- Support multi-tenant SaaS architecture
+- Enable rapid development through code generation
+- Offer modular business components (BPM, CRM, ERP, Mall, etc.)
+
+## Key Features
+- Multi-tenant system with customizable permissions per tenant
+- Workflow engine (Flowable) with BPMN and DingTalk/Feishu-style designers
+- Code generator for CRUD operations (Java, Vue, SQL, unit tests)
+- Multiple database support (MySQL, PostgreSQL, Oracle, SQL Server, DM, KingBase)
+- Multiple message queue support (Redis, RabbitMQ, RocketMQ, Kafka)
+- WeChat integration (Mini Program, Official Account, Enterprise WeChat)
+- Payment integration (Alipay, WeChat Pay)
+
+## Target Users
+- Enterprise developers building internal management systems
+- Teams needing multi-tenant SaaS capabilities
+- Projects requiring workflow/BPM functionality
+- Chinese enterprise applications with local integrations
+
+## License
+MIT License - 100% free for personal and commercial use.

+ 87 - 0
.kiro/steering/structure.md

@@ -0,0 +1,87 @@
+# Project Structure
+
+## Root Layout
+```
+├── yudao-dependencies/     # Maven BOM - dependency version management
+├── yudao-framework/        # Reusable framework starters
+├── yudao-server/           # Main application entry point (Spring Boot app)
+├── yudao-module-*/         # Business modules
+├── yudao-ui/               # Frontend projects
+├── sql/                    # Database scripts for various databases
+└── script/                 # DevOps scripts (Docker, Jenkins, shell)
+```
+
+## Framework Modules (yudao-framework/)
+Custom Spring Boot starters providing reusable infrastructure:
+- `yudao-common` - Common utilities, base classes, constants
+- `yudao-spring-boot-starter-web` - Web/REST configuration
+- `yudao-spring-boot-starter-security` - Authentication & authorization
+- `yudao-spring-boot-starter-mybatis` - Database/ORM configuration
+- `yudao-spring-boot-starter-redis` - Redis/caching
+- `yudao-spring-boot-starter-mq` - Message queue abstraction
+- `yudao-spring-boot-starter-job` - Scheduled tasks (Quartz)
+- `yudao-spring-boot-starter-biz-tenant` - Multi-tenant support
+- `yudao-spring-boot-starter-biz-data-permission` - Data permission
+- `yudao-spring-boot-starter-excel` - Excel import/export
+- `yudao-spring-boot-starter-protection` - Rate limiting, idempotency
+- `yudao-spring-boot-starter-test` - Test utilities
+
+## Business Modules (yudao-module-*)
+Each module follows the same internal structure:
+- `yudao-module-system` - Core system (users, roles, menus, tenants)
+- `yudao-module-infra` - Infrastructure (code gen, file storage, jobs)
+- `yudao-module-bpm` - Workflow/BPM (Flowable)
+- `yudao-module-report` - Reports & dashboards
+- `yudao-module-pay` - Payment system
+- `yudao-module-member` - Member/customer center
+- `yudao-module-mp` - WeChat Official Account
+- `yudao-module-mall` - E-commerce (product, trade, promotion)
+- `yudao-module-crm` - CRM system
+- `yudao-module-erp` - ERP system
+- `yudao-module-ai` - AI/LLM integration
+- `yudao-module-iot` - IoT platform
+
+## Module Internal Structure
+```
+yudao-module-xxx/
+└── src/main/java/cn/iocoder/yudao/module/xxx/
+    ├── api/            # Internal APIs for cross-module calls
+    ├── controller/     # REST controllers (admin/, app/ subfolders)
+    ├── convert/        # MapStruct converters (DO <-> VO)
+    ├── dal/            # Data access layer
+    │   ├── dataobject/ # Entity classes (DO suffix)
+    │   ├── mysql/      # MyBatis mappers
+    │   └── redis/      # Redis DAOs
+    ├── enums/          # Module-specific enums
+    ├── framework/      # Module-specific config
+    ├── job/            # Scheduled jobs
+    ├── mq/             # Message producers/consumers
+    └── service/        # Business logic services
+```
+
+## Frontend Structure (yudao-ui/yudao-ui-admin-vue3/)
+```
+src/
+├── api/           # API request functions
+├── assets/        # Static assets
+├── components/    # Reusable Vue components
+├── config/        # App configuration
+├── hooks/         # Vue composables
+├── layout/        # Page layouts
+├── locales/       # i18n translations
+├── router/        # Vue Router config
+├── store/         # Pinia stores
+├── styles/        # Global styles
+├── types/         # TypeScript types
+├── utils/         # Utility functions
+└── views/         # Page components (organized by module)
+```
+
+## Configuration Files
+- Backend: `yudao-server/src/main/resources/application-{profile}.yaml`
+- Frontend: `.env`, `.env.dev`, `.env.prod`, `.env.local`
+
+## Database Scripts
+Located in `sql/{database}/`:
+- `ruoyi-vue-pro.sql` - Main schema
+- `quartz.sql` - Quartz scheduler tables

+ 93 - 0
.kiro/steering/tech.md

@@ -0,0 +1,93 @@
+# Technology Stack
+
+## Backend
+
+### Core Framework
+- Java 17+ (JDK 17/21)
+- Spring Boot 3.5.x
+- Maven (multi-module project)
+
+### Database & ORM
+- MySQL 5.7/8.0+ (primary), also supports PostgreSQL, Oracle, SQL Server, DM, KingBase, OpenGauss
+- MyBatis Plus 3.5.x (ORM)
+- Druid (connection pool & monitoring)
+- Dynamic Datasource (multi-datasource/read-write splitting)
+
+### Cache & Messaging
+- Redis + Redisson
+- Message queues: Redis Stream, RabbitMQ, RocketMQ, Kafka
+
+### Security & Auth
+- Spring Security + Token + Redis
+- SSO single sign-on support
+- Multi-tenant architecture
+
+### Workflow
+- Flowable 7.x (BPM engine)
+
+### Scheduling
+- Quartz (distributed job scheduling)
+
+### API Documentation
+- Springdoc + Knife4j (Swagger UI)
+
+### Code Quality
+- Lombok (boilerplate reduction)
+- MapStruct (object mapping)
+- JUnit 5 + Mockito (testing)
+
+## Frontend (Vue3 Admin)
+
+### Core
+- Vue 3.5.x + TypeScript
+- Vite 5.x (build tool)
+- Element Plus 2.x (UI framework)
+- Pinia (state management)
+- Vue Router 4.x
+
+### Build & Quality
+- pnpm (package manager)
+- ESLint + Prettier + Stylelint
+- UnoCSS (atomic CSS)
+
+## Common Commands
+
+### Backend
+```bash
+# Install dependencies and build all modules
+mvn clean install -DskipTests
+
+# Run backend server (development)
+./start-backend.sh local
+
+# Or manually with Maven
+cd yudao-server
+mvn spring-boot:run -Dspring-boot.run.profiles=local
+
+# Run tests
+mvn test
+
+# Package for production
+mvn clean package -DskipTests
+```
+
+### Frontend (yudao-ui/yudao-ui-admin-vue3)
+```bash
+# Install dependencies
+pnpm install
+
+# Development server
+pnpm dev
+
+# Build for production
+pnpm build:prod
+
+# Lint code
+pnpm lint:eslint
+pnpm lint:format
+```
+
+## Server Ports
+- Backend API: `http://localhost:48080`
+- API Documentation: `http://localhost:48080/doc.html`
+- Druid Monitor: `http://localhost:48080/druid`

+ 5 - 1
.vscode/settings.json

@@ -1,5 +1,9 @@
 {
     "java.compile.nullAnalysis.mode": "automatic",
     "kiroAgent.configureMCP": "Enabled",
-    "java.configuration.updateBuildConfiguration": "interactive"
+    "java.configuration.updateBuildConfiguration": "interactive",
+    "i18n-ally.localesPaths": [
+        "src/locales",
+        "yudao-ui/yudao-ui-admin-vue3/src/locales"
+    ]
 }

BIN
yudao-framework/yudao-common/target/classes/cn/iocoder/yudao/framework/common/package-info.class


BIN
yudao-framework/yudao-common/target/classes/cn/iocoder/yudao/framework/common/util/package-info.class


BIN
yudao-framework/yudao-common/target/classes/cn/iocoder/yudao/framework/common/validation/package-info.class


+ 1 - 1
yudao-framework/yudao-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst

@@ -1 +1 @@
-D:\ry\yudao-framework\yudao-common\src\test\java\cn\iocoder\yudao\framework\common\util\collection\CollectionUtilsTest.java
+D:\DemoJAVA\yudao-framework\yudao-common\src\test\java\cn\iocoder\yudao\framework\common\util\collection\CollectionUtilsTest.java

+ 6 - 6
yudao-framework/yudao-spring-boot-starter-biz-data-permission/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst

@@ -1,6 +1,6 @@
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-data-permission\src\test\java\cn\iocoder\yudao\framework\datapermission\core\aop\DataPermissionAnnotationInterceptorTest.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-data-permission\src\test\java\cn\iocoder\yudao\framework\datapermission\core\aop\DataPermissionContextHolderTest.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-data-permission\src\test\java\cn\iocoder\yudao\framework\datapermission\core\db\DataPermissionRuleHandlerTest.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-data-permission\src\test\java\cn\iocoder\yudao\framework\datapermission\core\rule\DataPermissionRuleFactoryImplTest.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-data-permission\src\test\java\cn\iocoder\yudao\framework\datapermission\core\rule\dept\DeptDataPermissionRuleTest.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-data-permission\src\test\java\cn\iocoder\yudao\framework\datapermission\core\util\DataPermissionUtilsTest.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-data-permission\src\test\java\cn\iocoder\yudao\framework\datapermission\core\aop\DataPermissionAnnotationInterceptorTest.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-data-permission\src\test\java\cn\iocoder\yudao\framework\datapermission\core\aop\DataPermissionContextHolderTest.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-data-permission\src\test\java\cn\iocoder\yudao\framework\datapermission\core\db\DataPermissionRuleHandlerTest.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-data-permission\src\test\java\cn\iocoder\yudao\framework\datapermission\core\rule\DataPermissionRuleFactoryImplTest.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-data-permission\src\test\java\cn\iocoder\yudao\framework\datapermission\core\rule\dept\DeptDataPermissionRuleTest.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-data-permission\src\test\java\cn\iocoder\yudao\framework\datapermission\core\util\DataPermissionUtilsTest.java

BIN
yudao-framework/yudao-spring-boot-starter-biz-ip/target/classes/cn/iocoder/yudao/framework/ip/package-info.class


+ 5 - 5
yudao-framework/yudao-spring-boot-starter-biz-ip/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,5 +1,5 @@
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-ip\src\main\java\cn\iocoder\yudao\framework\ip\core\Area.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-ip\src\main\java\cn\iocoder\yudao\framework\ip\core\enums\AreaTypeEnum.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-ip\src\main\java\cn\iocoder\yudao\framework\ip\core\utils\AreaUtils.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-ip\src\main\java\cn\iocoder\yudao\framework\ip\core\utils\IPUtils.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-ip\src\main\java\cn\iocoder\yudao\framework\ip\package-info.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-ip\src\main\java\cn\iocoder\yudao\framework\ip\core\Area.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-ip\src\main\java\cn\iocoder\yudao\framework\ip\core\enums\AreaTypeEnum.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-ip\src\main\java\cn\iocoder\yudao\framework\ip\core\utils\AreaUtils.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-ip\src\main\java\cn\iocoder\yudao\framework\ip\core\utils\IPUtils.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-ip\src\main\java\cn\iocoder\yudao\framework\ip\package-info.java

+ 2 - 2
yudao-framework/yudao-spring-boot-starter-biz-ip/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst

@@ -1,2 +1,2 @@
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-ip\src\test\java\cn\iocoder\yudao\framework\ip\core\utils\AreaUtilsTest.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-ip\src\test\java\cn\iocoder\yudao\framework\ip\core\utils\IPUtilsTest.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-ip\src\test\java\cn\iocoder\yudao\framework\ip\core\utils\AreaUtilsTest.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-ip\src\test\java\cn\iocoder\yudao\framework\ip\core\utils\IPUtilsTest.java

+ 26 - 26
yudao-framework/yudao-spring-boot-starter-biz-tenant/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,26 +1,26 @@
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\config\TenantProperties.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\config\YudaoTenantAutoConfiguration.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\aop\TenantIgnore.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\aop\TenantIgnoreAspect.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\context\TenantContextHolder.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\db\TenantBaseDO.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\db\TenantDatabaseInterceptor.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\job\TenantJob.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\job\TenantJobAspect.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\kafka\TenantKafkaEnvironmentPostProcessor.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\kafka\TenantKafkaProducerInterceptor.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\rabbitmq\TenantRabbitMQInitializer.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\rabbitmq\TenantRabbitMQMessagePostProcessor.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\redis\TenantRedisMessageInterceptor.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\rocketmq\TenantRocketMQConsumeMessageHook.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\rocketmq\TenantRocketMQInitializer.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\rocketmq\TenantRocketMQSendMessageHook.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\redis\TenantRedisCacheManager.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\security\TenantSecurityWebFilter.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\service\TenantFrameworkService.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\service\TenantFrameworkServiceImpl.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\util\TenantUtils.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\web\TenantContextWebFilter.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\web\TenantVisitContextInterceptor.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\package-info.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\org\springframework\messaging\handler\invocation\InvocableHandlerMethod.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\config\TenantProperties.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\config\YudaoTenantAutoConfiguration.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\aop\TenantIgnore.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\aop\TenantIgnoreAspect.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\context\TenantContextHolder.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\db\TenantBaseDO.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\db\TenantDatabaseInterceptor.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\job\TenantJob.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\job\TenantJobAspect.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\kafka\TenantKafkaEnvironmentPostProcessor.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\kafka\TenantKafkaProducerInterceptor.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\rabbitmq\TenantRabbitMQInitializer.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\rabbitmq\TenantRabbitMQMessagePostProcessor.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\redis\TenantRedisMessageInterceptor.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\rocketmq\TenantRocketMQConsumeMessageHook.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\rocketmq\TenantRocketMQInitializer.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\mq\rocketmq\TenantRocketMQSendMessageHook.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\redis\TenantRedisCacheManager.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\security\TenantSecurityWebFilter.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\service\TenantFrameworkService.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\service\TenantFrameworkServiceImpl.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\util\TenantUtils.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\web\TenantContextWebFilter.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\core\web\TenantVisitContextInterceptor.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\cn\iocoder\yudao\framework\tenant\package-info.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-biz-tenant\src\main\java\org\springframework\messaging\handler\invocation\InvocableHandlerMethod.java

+ 17 - 17
yudao-framework/yudao-spring-boot-starter-excel/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,17 +1,17 @@
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\dict\config\YudaoDictAutoConfiguration.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\dict\core\DictFrameworkUtils.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\dict\package-info.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\dict\validation\InDict.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\dict\validation\InDictCollectionValidator.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\dict\validation\InDictValidator.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\annotations\DictFormat.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\annotations\ExcelColumnSelect.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\convert\AreaConvert.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\convert\DictConvert.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\convert\JsonConvert.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\convert\MoneyConvert.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\function\ExcelColumnSelectFunction.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\handler\ColumnWidthMatchStyleStrategy.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\handler\SelectSheetWriteHandler.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\util\ExcelUtils.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\package-info.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\dict\config\YudaoDictAutoConfiguration.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\dict\core\DictFrameworkUtils.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\dict\package-info.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\dict\validation\InDict.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\dict\validation\InDictCollectionValidator.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\dict\validation\InDictValidator.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\annotations\DictFormat.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\annotations\ExcelColumnSelect.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\convert\AreaConvert.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\convert\DictConvert.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\convert\JsonConvert.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\convert\MoneyConvert.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\function\ExcelColumnSelectFunction.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\handler\ColumnWidthMatchStyleStrategy.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\handler\SelectSheetWriteHandler.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\core\util\ExcelUtils.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\main\java\cn\iocoder\yudao\framework\excel\package-info.java

+ 1 - 1
yudao-framework/yudao-spring-boot-starter-excel/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst

@@ -1 +1 @@
-D:\ry\yudao-framework\yudao-spring-boot-starter-excel\src\test\java\cn\iocoder\yudao\framework\dict\core\util\DictFrameworkUtilsTest.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-excel\src\test\java\cn\iocoder\yudao\framework\dict\core\util\DictFrameworkUtilsTest.java

+ 9 - 9
yudao-framework/yudao-spring-boot-starter-job/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,9 +1,9 @@
-D:\ry\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\config\YudaoAsyncAutoConfiguration.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\config\YudaoQuartzAutoConfiguration.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\core\enums\JobDataKeyEnum.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\core\handler\JobHandler.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\core\handler\JobHandlerInvoker.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\core\scheduler\SchedulerManager.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\core\service\JobLogFrameworkService.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\core\util\CronUtils.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\package-info.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\config\YudaoAsyncAutoConfiguration.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\config\YudaoQuartzAutoConfiguration.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\core\enums\JobDataKeyEnum.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\core\handler\JobHandler.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\core\handler\JobHandlerInvoker.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\core\scheduler\SchedulerManager.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\core\service\JobLogFrameworkService.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\core\util\CronUtils.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-job\src\main\java\cn\iocoder\yudao\framework\quartz\package-info.java

BIN
yudao-framework/yudao-spring-boot-starter-job/target/yudao-spring-boot-starter-job-2025.11-SNAPSHOT.jar


BIN
yudao-framework/yudao-spring-boot-starter-mq/target/classes/cn/iocoder/yudao/framework/mq/rabbitmq/package-info.class


+ 16 - 16
yudao-framework/yudao-spring-boot-starter-mq/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,16 +1,16 @@
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\package-info.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\rabbitmq\config\YudaoRabbitMQAutoConfiguration.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\rabbitmq\core\package-info.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\rabbitmq\package-info.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\config\YudaoRedisMQConsumerAutoConfiguration.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\config\YudaoRedisMQProducerAutoConfiguration.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\interceptor\RedisMessageInterceptor.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\job\RedisPendingMessageResendJob.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\job\RedisStreamMessageCleanupJob.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\message\AbstractRedisMessage.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\pubsub\AbstractRedisChannelMessage.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\pubsub\AbstractRedisChannelMessageListener.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\RedisMQTemplate.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\stream\AbstractRedisStreamMessage.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\stream\AbstractRedisStreamMessageListener.java
-D:\ry\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\package-info.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\package-info.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\rabbitmq\config\YudaoRabbitMQAutoConfiguration.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\rabbitmq\core\package-info.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\rabbitmq\package-info.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\config\YudaoRedisMQConsumerAutoConfiguration.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\config\YudaoRedisMQProducerAutoConfiguration.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\interceptor\RedisMessageInterceptor.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\job\RedisPendingMessageResendJob.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\job\RedisStreamMessageCleanupJob.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\message\AbstractRedisMessage.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\pubsub\AbstractRedisChannelMessage.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\pubsub\AbstractRedisChannelMessageListener.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\RedisMQTemplate.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\stream\AbstractRedisStreamMessage.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\core\stream\AbstractRedisStreamMessageListener.java
+D:\DemoJAVA\yudao-framework\yudao-spring-boot-starter-mq\src\main\java\cn\iocoder\yudao\framework\mq\redis\package-info.java

BIN
yudao-framework/yudao-spring-boot-starter-mq/target/yudao-spring-boot-starter-mq-2025.11-SNAPSHOT.jar


BIN
yudao-framework/yudao-spring-boot-starter-protection/target/classes/cn/iocoder/yudao/framework/signature/package-info.class


BIN
yudao-framework/yudao-spring-boot-starter-redis/target/classes/cn/iocoder/yudao/framework/redis/package-info.class


BIN
yudao-framework/yudao-spring-boot-starter-web/target/classes/cn/iocoder/yudao/framework/swagger/package-info.class


BIN
yudao-framework/yudao-spring-boot-starter-web/target/classes/cn/iocoder/yudao/framework/xss/package-info.class


BIN
yudao-module-bpm/target/classes/cn/iocoder/yudao/module/bpm/controller/package-info.class


+ 1 - 1
yudao-module-bpm/target/generated-sources/annotations/cn/iocoder/yudao/module/bpm/convert/task/BpmProcessInstanceConvertImpl.java

@@ -8,7 +8,7 @@ import javax.annotation.processing.Generated;
 
 @Generated(
     value = "org.mapstruct.ap.MappingProcessor",
-    date = "2025-12-17T15:25:19+0800",
+    date = "2025-12-22T13:50:43+0800",
     comments = "version: 1.6.3, compiler: javac, environment: Java 17.0.17 (Oracle Corporation)"
 )
 public class BpmProcessInstanceConvertImpl implements BpmProcessInstanceConvert {

BIN
yudao-module-infra/target/classes/cn/iocoder/yudao/module/infra/controller/app/package-info.class


BIN
yudao-module-infra/target/classes/cn/iocoder/yudao/module/infra/framework/security/core/package-info.class


BIN
yudao-module-infra/target/classes/cn/iocoder/yudao/module/infra/mq/message/package-info.class


BIN
yudao-module-infra/target/classes/cn/iocoder/yudao/module/infra/package-info.class


BIN
yudao-module-infra/target/yudao-module-infra-2025.11-SNAPSHOT.jar


BIN
yudao-module-report/target/classes/cn/iocoder/yudao/module/report/dal/dataobject/ajreport/package-info.class


BIN
yudao-module-report/target/classes/cn/iocoder/yudao/module/report/dal/mysql/ajreport/package-info.class


BIN
yudao-module-system/target/classes/cn/iocoder/yudao/module/system/framework/justauth/package-info.class


+ 1 - 1
yudao-module-system/target/generated-sources/annotations/cn/iocoder/yudao/module/system/convert/oauth2/OAuth2OpenConvertImpl.java

@@ -4,7 +4,7 @@ import javax.annotation.processing.Generated;
 
 @Generated(
     value = "org.mapstruct.ap.MappingProcessor",
-    date = "2025-12-17T15:24:52+0800",
+    date = "2025-12-22T13:50:16+0800",
     comments = "version: 1.6.3, compiler: javac, environment: Java 17.0.17 (Oracle Corporation)"
 )
 public class OAuth2OpenConvertImpl implements OAuth2OpenConvert {

+ 411 - 411
yudao-module-system/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,411 +1,411 @@
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dept\DeptApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dept\DeptApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dept\dto\DeptRespDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dept\dto\PostRespDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dept\PostApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dept\PostApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dict\DictDataApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dict\DictDataApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\dto\LoginLogCreateReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\dto\OperateLogPageReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\dto\OperateLogRespDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\LoginLogApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\LoginLogApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\OperateLogApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\OperateLogApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\mail\dto\MailSendSingleToUserReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\mail\MailSendApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\mail\MailSendApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\notify\dto\NotifySendSingleToUserReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\notify\dto\NotifyTemplateReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\notify\NotifyMessageSendApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\notify\NotifyMessageSendApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\oauth2\OAuth2TokenApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\package-info.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\permission\PermissionApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\permission\PermissionApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\permission\RoleApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\permission\RoleApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\dto\code\SmsCodeSendReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\dto\code\SmsCodeUseReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\dto\code\SmsCodeValidateReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\dto\send\SmsSendSingleToUserReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\SmsCodeApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\SmsCodeApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\SmsSendApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\SmsSendApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialUserBindReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialUserRespDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialUserUnbindReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxaOrderNotifyConfirmReceiveReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxaOrderUploadShippingInfoReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxaSubscribeMessageSendReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxaSubscribeTemplateRespDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxJsapiSignatureRespDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxPhoneNumberInfoRespDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxQrcodeReqDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\SocialClientApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\SocialClientApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\SocialUserApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\SocialUserApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\tenant\TenantApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\user\AdminUserApi.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\user\AdminUserApiImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\user\dto\AdminUserRespDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\AuthController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthLoginReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthLoginRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthMenuRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthPermissionInfoRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthRegisterReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthResetPasswordReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthSmsLoginReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthSmsSendReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthSocialLoginReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\CaptchaVerificationReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\captcha\CaptchaController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\DeptController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\PostController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\dept\DeptListReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\dept\DeptRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\dept\DeptSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\dept\DeptSimpleRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\post\PostPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\post\PostRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\post\PostSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\post\PostSimpleRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\DictDataController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\DictTypeController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\data\DictDataPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\data\DictDataRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\data\DictDataSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\data\DictDataSimpleRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\type\DictTypePageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\type\DictTypeRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\type\DictTypeSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\type\DictTypeSimpleRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\ip\AreaController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\ip\vo\AreaNodeRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\logger\LoginLogController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\logger\OperateLogController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\logger\vo\loginlog\LoginLogPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\logger\vo\loginlog\LoginLogRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\logger\vo\operatelog\OperateLogPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\logger\vo\operatelog\OperateLogRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\MailAccountController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\MailLogController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\MailTemplateController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\account\MailAccountPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\account\MailAccountRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\account\MailAccountSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\account\MailAccountSimpleRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\log\MailLogPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\log\MailLogRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\template\MailTemplatePageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\template\MailTemplateRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\template\MailTemplateSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\template\MailTemplateSendReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\template\MailTemplateSimpleRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notice\NoticeController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notice\vo\NoticePageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notice\vo\NoticeRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notice\vo\NoticeSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\NotifyMessageController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\NotifyTemplateController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\message\NotifyMessageMyPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\message\NotifyMessagePageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\message\NotifyMessageRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\template\NotifyTemplatePageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\template\NotifyTemplateRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\template\NotifyTemplateSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\template\NotifyTemplateSendReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\OAuth2ClientController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\OAuth2OpenController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\OAuth2TokenController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\OAuth2UserController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\client\OAuth2ClientPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\client\OAuth2ClientRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\client\OAuth2ClientSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\open\OAuth2OpenAccessTokenRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\open\OAuth2OpenAuthorizeInfoRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\open\OAuth2OpenCheckTokenRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\token\OAuth2AccessTokenPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\token\OAuth2AccessTokenRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\user\OAuth2UserInfoRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\user\OAuth2UserUpdateReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\MenuController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\PermissionController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\RoleController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\menu\MenuListReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\menu\MenuRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\menu\MenuSaveVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\menu\MenuSimpleRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\permission\PermissionAssignRoleDataScopeReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\permission\PermissionAssignRoleMenuReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\permission\PermissionAssignUserRoleReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\role\RolePageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\role\RoleRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\role\RoleSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\role\RoleSimpleRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\SmsCallbackController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\SmsChannelController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\SmsLogController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\SmsTemplateController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\channel\SmsChannelPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\channel\SmsChannelRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\channel\SmsChannelSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\channel\SmsChannelSimpleRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\log\SmsLogPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\log\SmsLogRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\template\SmsTemplatePageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\template\SmsTemplateRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\template\SmsTemplateSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\template\SmsTemplateSendReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\SocialClientController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\SocialUserController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\client\SocialClientPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\client\SocialClientRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\client\SocialClientSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\user\SocialUserBindReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\user\SocialUserPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\user\SocialUserRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\user\SocialUserUnbindReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\TenantController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\TenantPackageController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\packages\TenantPackagePageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\packages\TenantPackageRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\packages\TenantPackageSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\packages\TenantPackageSimpleRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\tenant\TenantPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\tenant\TenantRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\tenant\TenantSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\UserController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\UserProfileController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\profile\UserProfileRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\profile\UserProfileUpdatePasswordReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\profile\UserProfileUpdateReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserImportExcelVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserImportRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserPageReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserSaveReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserSimpleRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserUpdatePasswordReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserUpdateStatusReqVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\app\dict\AppDictDataController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\app\dict\vo\AppDictDataRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\app\ip\AppAreaController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\app\ip\vo\AppAreaNodeRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\app\tenant\AppTenantController.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\app\tenant\vo\AppTenantRespVO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\package-info.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\convert\auth\AuthConvert.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\convert\oauth2\OAuth2OpenConvert.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\convert\package-info.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\convert\tenant\TenantConvert.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\convert\user\UserConvert.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\dept\DeptDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\dept\PostDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\dept\UserPostDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\dict\DictDataDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\dict\DictTypeDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\logger\LoginLogDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\logger\OperateLogDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\mail\MailAccountDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\mail\MailLogDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\mail\MailTemplateDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\notice\NoticeDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\notify\NotifyMessageDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\notify\NotifyTemplateDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\oauth2\OAuth2AccessTokenDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\oauth2\OAuth2ApproveDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\oauth2\OAuth2ClientDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\oauth2\OAuth2CodeDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\oauth2\OAuth2RefreshTokenDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\permission\MenuDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\permission\RoleDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\permission\RoleMenuDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\permission\UserRoleDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\sms\SmsChannelDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\sms\SmsCodeDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\sms\SmsLogDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\sms\SmsTemplateDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\social\SocialClientDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\social\SocialUserBindDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\social\SocialUserDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\tenant\TenantDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\tenant\TenantPackageDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\user\AdminUserDO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\dept\DeptMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\dept\PostMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\dept\UserPostMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\dict\DictDataMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\dict\DictTypeMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\logger\LoginLogMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\logger\OperateLogMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\mail\MailAccountMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\mail\MailLogMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\mail\MailTemplateMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\notice\NoticeMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\notify\NotifyMessageMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\notify\NotifyTemplateMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\oauth2\OAuth2AccessTokenMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\oauth2\OAuth2ApproveMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\oauth2\OAuth2ClientMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\oauth2\OAuth2CodeMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\oauth2\OAuth2RefreshTokenMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\package-info.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\permission\MenuMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\permission\RoleMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\permission\RoleMenuMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\permission\UserRoleMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\sms\SmsChannelMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\sms\SmsCodeMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\sms\SmsLogMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\sms\SmsTemplateMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\social\SocialClientMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\social\SocialUserBindMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\social\SocialUserMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\tenant\TenantMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\tenant\TenantPackageMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\user\AdminUserMapper.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\redis\oauth2\OAuth2AccessTokenRedisDAO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\redis\RedisKeyConstants.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\common\SexEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\DictTypeConstants.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\ErrorCodeConstants.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\logger\LoginLogTypeEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\logger\LoginResultEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\LogRecordConstants.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\mail\MailSendStatusEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\notice\NoticeTypeEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\notify\NotifyTemplateTypeEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\oauth2\OAuth2ClientConstants.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\oauth2\OAuth2GrantTypeEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\permission\DataScopeEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\permission\MenuTypeEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\permission\RoleCodeEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\permission\RoleTypeEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\sms\SmsReceiveStatusEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\sms\SmsSceneEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\sms\SmsSendStatusEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\sms\SmsTemplateTypeEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\social\SocialTypeEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\captcha\config\YudaoCaptchaConfiguration.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\captcha\core\PictureWordCaptchaServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\captcha\core\RedisCaptchaServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\captcha\package-info.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\datapermission\config\DataPermissionConfiguration.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\datapermission\package-info.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\justauth\config\YudaoJustAuthConfiguration.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\justauth\core\AuthRequestFactory.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\justauth\package-info.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\core\AdminUserParseFunction.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\core\AreaParseFunction.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\core\BooleanParseFunction.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\core\DeptParseFunction.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\core\PostParseFunction.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\core\SexParseFunction.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\package-info.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\package-info.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\config\SmsCodeProperties.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\config\SmsConfiguration.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\dto\SmsReceiveRespDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\dto\SmsSendRespDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\dto\SmsTemplateRespDTO.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\AbstractSmsClient.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\AliyunSmsClient.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\DebugDingTalkSmsClient.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\HuaweiSmsClient.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\QiniuSmsClient.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\SmsClientFactoryImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\TencentSmsClient.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\SmsClient.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\SmsClientFactory.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\enums\SmsChannelEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\enums\SmsTemplateAuditStatusEnum.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\property\SmsChannelProperties.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\web\config\SystemWebConfiguration.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\web\package-info.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\job\DemoJob.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\job\package-info.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\mq\consumer\mail\MailSendConsumer.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\mq\consumer\sms\SmsSendConsumer.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\mq\message\mail\MailSendMessage.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\mq\message\sms\SmsSendMessage.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\mq\producer\mail\MailProducer.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\mq\producer\sms\SmsProducer.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\package-info.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\auth\AdminAuthService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\auth\AdminAuthServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dept\DeptService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dept\DeptServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dept\PostService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dept\PostServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dict\DictDataService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dict\DictDataServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dict\DictTypeService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dict\DictTypeServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\logger\LoginLogService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\logger\LoginLogServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\logger\OperateLogService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\logger\OperateLogServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailAccountService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailAccountServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailLogService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailLogServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailSendService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailSendServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailTemplateService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailTemplateServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\member\MemberService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\member\MemberServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\member\package-info.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notice\NoticeService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notice\NoticeServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notify\NotifyMessageService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notify\NotifyMessageServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notify\NotifySendService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notify\NotifySendServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notify\NotifyTemplateService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notify\NotifyTemplateServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2ApproveService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2ApproveServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2ClientService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2ClientServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2CodeService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2CodeServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2GrantService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2GrantServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2TokenService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2TokenServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\permission\MenuService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\permission\MenuServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\permission\PermissionService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\permission\PermissionServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\permission\RoleService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\permission\RoleServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsChannelService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsChannelServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsCodeService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsCodeServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsLogService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsLogServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsSendService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsSendServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsTemplateService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsTemplateServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\social\SocialClientService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\social\SocialClientServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\social\SocialUserService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\social\SocialUserServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\tenant\handler\TenantInfoHandler.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\tenant\handler\TenantMenuHandler.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\tenant\TenantPackageService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\tenant\TenantPackageServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\tenant\TenantService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\tenant\TenantServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\user\AdminUserService.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\user\AdminUserServiceImpl.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\util\oauth2\OAuth2Utils.java
-D:\ry\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\util\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dept\DeptApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dept\DeptApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dept\dto\DeptRespDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dept\dto\PostRespDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dept\PostApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dept\PostApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dict\DictDataApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\dict\DictDataApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\dto\LoginLogCreateReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\dto\OperateLogPageReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\dto\OperateLogRespDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\LoginLogApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\LoginLogApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\OperateLogApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\logger\OperateLogApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\mail\dto\MailSendSingleToUserReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\mail\MailSendApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\mail\MailSendApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\notify\dto\NotifySendSingleToUserReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\notify\dto\NotifyTemplateReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\notify\NotifyMessageSendApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\notify\NotifyMessageSendApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\oauth2\OAuth2TokenApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\permission\PermissionApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\permission\PermissionApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\permission\RoleApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\permission\RoleApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\dto\code\SmsCodeSendReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\dto\code\SmsCodeUseReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\dto\code\SmsCodeValidateReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\dto\send\SmsSendSingleToUserReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\SmsCodeApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\SmsCodeApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\SmsSendApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\sms\SmsSendApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialUserBindReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialUserRespDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialUserUnbindReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxaOrderNotifyConfirmReceiveReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxaOrderUploadShippingInfoReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxaSubscribeMessageSendReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxaSubscribeTemplateRespDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxJsapiSignatureRespDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxPhoneNumberInfoRespDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\dto\SocialWxQrcodeReqDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\SocialClientApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\SocialClientApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\SocialUserApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\social\SocialUserApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\tenant\TenantApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\user\AdminUserApi.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\user\AdminUserApiImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\api\user\dto\AdminUserRespDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\AuthController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthLoginReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthLoginRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthMenuRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthPermissionInfoRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthRegisterReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthResetPasswordReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthSmsLoginReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthSmsSendReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\AuthSocialLoginReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\auth\vo\CaptchaVerificationReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\captcha\CaptchaController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\DeptController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\PostController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\dept\DeptListReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\dept\DeptRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\dept\DeptSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\dept\DeptSimpleRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\post\PostPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\post\PostRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\post\PostSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dept\vo\post\PostSimpleRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\DictDataController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\DictTypeController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\data\DictDataPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\data\DictDataRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\data\DictDataSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\data\DictDataSimpleRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\type\DictTypePageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\type\DictTypeRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\type\DictTypeSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\dict\vo\type\DictTypeSimpleRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\ip\AreaController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\ip\vo\AreaNodeRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\logger\LoginLogController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\logger\OperateLogController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\logger\vo\loginlog\LoginLogPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\logger\vo\loginlog\LoginLogRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\logger\vo\operatelog\OperateLogPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\logger\vo\operatelog\OperateLogRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\MailAccountController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\MailLogController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\MailTemplateController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\account\MailAccountPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\account\MailAccountRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\account\MailAccountSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\account\MailAccountSimpleRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\log\MailLogPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\log\MailLogRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\template\MailTemplatePageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\template\MailTemplateRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\template\MailTemplateSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\template\MailTemplateSendReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\mail\vo\template\MailTemplateSimpleRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notice\NoticeController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notice\vo\NoticePageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notice\vo\NoticeRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notice\vo\NoticeSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\NotifyMessageController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\NotifyTemplateController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\message\NotifyMessageMyPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\message\NotifyMessagePageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\message\NotifyMessageRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\template\NotifyTemplatePageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\template\NotifyTemplateRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\template\NotifyTemplateSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\notify\vo\template\NotifyTemplateSendReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\OAuth2ClientController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\OAuth2OpenController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\OAuth2TokenController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\OAuth2UserController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\client\OAuth2ClientPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\client\OAuth2ClientRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\client\OAuth2ClientSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\open\OAuth2OpenAccessTokenRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\open\OAuth2OpenAuthorizeInfoRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\open\OAuth2OpenCheckTokenRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\token\OAuth2AccessTokenPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\token\OAuth2AccessTokenRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\user\OAuth2UserInfoRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\oauth2\vo\user\OAuth2UserUpdateReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\MenuController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\PermissionController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\RoleController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\menu\MenuListReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\menu\MenuRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\menu\MenuSaveVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\menu\MenuSimpleRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\permission\PermissionAssignRoleDataScopeReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\permission\PermissionAssignRoleMenuReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\permission\PermissionAssignUserRoleReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\role\RolePageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\role\RoleRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\role\RoleSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\permission\vo\role\RoleSimpleRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\SmsCallbackController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\SmsChannelController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\SmsLogController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\SmsTemplateController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\channel\SmsChannelPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\channel\SmsChannelRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\channel\SmsChannelSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\channel\SmsChannelSimpleRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\log\SmsLogPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\log\SmsLogRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\template\SmsTemplatePageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\template\SmsTemplateRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\template\SmsTemplateSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\sms\vo\template\SmsTemplateSendReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\SocialClientController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\SocialUserController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\client\SocialClientPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\client\SocialClientRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\client\SocialClientSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\user\SocialUserBindReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\user\SocialUserPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\user\SocialUserRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\socail\vo\user\SocialUserUnbindReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\TenantController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\TenantPackageController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\packages\TenantPackagePageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\packages\TenantPackageRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\packages\TenantPackageSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\packages\TenantPackageSimpleRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\tenant\TenantPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\tenant\TenantRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\tenant\vo\tenant\TenantSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\UserController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\UserProfileController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\profile\UserProfileRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\profile\UserProfileUpdatePasswordReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\profile\UserProfileUpdateReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserImportExcelVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserImportRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserPageReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserSaveReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserSimpleRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserUpdatePasswordReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\admin\user\vo\user\UserUpdateStatusReqVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\app\dict\AppDictDataController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\app\dict\vo\AppDictDataRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\app\ip\AppAreaController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\app\ip\vo\AppAreaNodeRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\app\tenant\AppTenantController.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\app\tenant\vo\AppTenantRespVO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\controller\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\convert\auth\AuthConvert.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\convert\oauth2\OAuth2OpenConvert.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\convert\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\convert\tenant\TenantConvert.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\convert\user\UserConvert.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\dept\DeptDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\dept\PostDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\dept\UserPostDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\dict\DictDataDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\dict\DictTypeDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\logger\LoginLogDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\logger\OperateLogDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\mail\MailAccountDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\mail\MailLogDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\mail\MailTemplateDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\notice\NoticeDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\notify\NotifyMessageDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\notify\NotifyTemplateDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\oauth2\OAuth2AccessTokenDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\oauth2\OAuth2ApproveDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\oauth2\OAuth2ClientDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\oauth2\OAuth2CodeDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\oauth2\OAuth2RefreshTokenDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\permission\MenuDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\permission\RoleDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\permission\RoleMenuDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\permission\UserRoleDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\sms\SmsChannelDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\sms\SmsCodeDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\sms\SmsLogDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\sms\SmsTemplateDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\social\SocialClientDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\social\SocialUserBindDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\social\SocialUserDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\tenant\TenantDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\tenant\TenantPackageDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\dataobject\user\AdminUserDO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\dept\DeptMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\dept\PostMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\dept\UserPostMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\dict\DictDataMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\dict\DictTypeMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\logger\LoginLogMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\logger\OperateLogMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\mail\MailAccountMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\mail\MailLogMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\mail\MailTemplateMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\notice\NoticeMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\notify\NotifyMessageMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\notify\NotifyTemplateMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\oauth2\OAuth2AccessTokenMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\oauth2\OAuth2ApproveMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\oauth2\OAuth2ClientMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\oauth2\OAuth2CodeMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\oauth2\OAuth2RefreshTokenMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\permission\MenuMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\permission\RoleMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\permission\RoleMenuMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\permission\UserRoleMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\sms\SmsChannelMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\sms\SmsCodeMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\sms\SmsLogMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\sms\SmsTemplateMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\social\SocialClientMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\social\SocialUserBindMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\social\SocialUserMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\tenant\TenantMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\tenant\TenantPackageMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\mysql\user\AdminUserMapper.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\redis\oauth2\OAuth2AccessTokenRedisDAO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\dal\redis\RedisKeyConstants.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\common\SexEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\DictTypeConstants.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\ErrorCodeConstants.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\logger\LoginLogTypeEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\logger\LoginResultEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\LogRecordConstants.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\mail\MailSendStatusEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\notice\NoticeTypeEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\notify\NotifyTemplateTypeEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\oauth2\OAuth2ClientConstants.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\oauth2\OAuth2GrantTypeEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\permission\DataScopeEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\permission\MenuTypeEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\permission\RoleCodeEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\permission\RoleTypeEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\sms\SmsReceiveStatusEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\sms\SmsSceneEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\sms\SmsSendStatusEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\sms\SmsTemplateTypeEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\enums\social\SocialTypeEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\captcha\config\YudaoCaptchaConfiguration.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\captcha\core\PictureWordCaptchaServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\captcha\core\RedisCaptchaServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\captcha\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\datapermission\config\DataPermissionConfiguration.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\datapermission\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\justauth\config\YudaoJustAuthConfiguration.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\justauth\core\AuthRequestFactory.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\justauth\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\core\AdminUserParseFunction.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\core\AreaParseFunction.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\core\BooleanParseFunction.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\core\DeptParseFunction.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\core\PostParseFunction.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\core\SexParseFunction.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\operatelog\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\config\SmsCodeProperties.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\config\SmsConfiguration.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\dto\SmsReceiveRespDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\dto\SmsSendRespDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\dto\SmsTemplateRespDTO.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\AbstractSmsClient.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\AliyunSmsClient.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\DebugDingTalkSmsClient.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\HuaweiSmsClient.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\QiniuSmsClient.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\SmsClientFactoryImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\impl\TencentSmsClient.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\SmsClient.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\client\SmsClientFactory.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\enums\SmsChannelEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\enums\SmsTemplateAuditStatusEnum.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\sms\core\property\SmsChannelProperties.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\web\config\SystemWebConfiguration.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\framework\web\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\job\DemoJob.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\job\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\mq\consumer\mail\MailSendConsumer.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\mq\consumer\sms\SmsSendConsumer.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\mq\message\mail\MailSendMessage.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\mq\message\sms\SmsSendMessage.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\mq\producer\mail\MailProducer.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\mq\producer\sms\SmsProducer.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\auth\AdminAuthService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\auth\AdminAuthServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dept\DeptService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dept\DeptServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dept\PostService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dept\PostServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dict\DictDataService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dict\DictDataServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dict\DictTypeService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\dict\DictTypeServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\logger\LoginLogService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\logger\LoginLogServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\logger\OperateLogService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\logger\OperateLogServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailAccountService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailAccountServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailLogService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailLogServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailSendService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailSendServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailTemplateService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\mail\MailTemplateServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\member\MemberService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\member\MemberServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\member\package-info.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notice\NoticeService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notice\NoticeServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notify\NotifyMessageService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notify\NotifyMessageServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notify\NotifySendService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notify\NotifySendServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notify\NotifyTemplateService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\notify\NotifyTemplateServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2ApproveService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2ApproveServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2ClientService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2ClientServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2CodeService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2CodeServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2GrantService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2GrantServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2TokenService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\oauth2\OAuth2TokenServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\permission\MenuService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\permission\MenuServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\permission\PermissionService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\permission\PermissionServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\permission\RoleService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\permission\RoleServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsChannelService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsChannelServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsCodeService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsCodeServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsLogService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsLogServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsSendService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsSendServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsTemplateService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\sms\SmsTemplateServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\social\SocialClientService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\social\SocialClientServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\social\SocialUserService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\social\SocialUserServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\tenant\handler\TenantInfoHandler.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\tenant\handler\TenantMenuHandler.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\tenant\TenantPackageService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\tenant\TenantPackageServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\tenant\TenantService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\tenant\TenantServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\user\AdminUserService.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\service\user\AdminUserServiceImpl.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\util\oauth2\OAuth2Utils.java
+D:\DemoJAVA\yudao-module-system\src\main\java\cn\iocoder\yudao\module\system\util\package-info.java

+ 89 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/OrderDeliveryController.java

@@ -0,0 +1,89 @@
+package cn.iocoder.yudao.module.order.controller.admin.delivery;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.order.controller.admin.delivery.vo.*;
+import cn.iocoder.yudao.module.order.service.OrderDeliveryService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "管理后台 - 订单交付")
+@RestController
+@RequestMapping("/order")
+@Validated
+public class OrderDeliveryController {
+
+    @Resource
+    private OrderDeliveryService orderDeliveryService;
+
+    @GetMapping("/delivery/list")
+    @Operation(summary = "订单交付列表查询")
+    @PreAuthorize("@ss.hasPermission('order:delivery:query')")
+    public CommonResult<PageResult<OrderDeliveryPageItemVO>> getDeliveryList(@Valid OrderDeliveryPageReqVO pageReqVO) {
+        return success(orderDeliveryService.getDeliveryPage(pageReqVO));
+    }
+
+    @GetMapping("/delivery/page")
+    @Operation(summary = "订单交付分页查询")
+    @PreAuthorize("@ss.hasPermission('order:delivery:query')")
+    public CommonResult<PageResult<OrderDeliveryPageItemVO>> getDeliveryPage(@Valid OrderDeliveryPageReqVO pageReqVO) {
+        return success(orderDeliveryService.getDeliveryPage(pageReqVO));
+    }
+
+    @GetMapping("/delivery/value-stream")
+    @Operation(summary = "获取价值流详情")
+    @Parameter(name = "id", description = "订单行主键", required = true)
+    @Parameter(name = "factoryNum", description = "工厂编号")
+    @PreAuthorize("@ss.hasPermission('order:delivery:query')")
+    public CommonResult<ValueStreamRespVO> getValueStream(@RequestParam("id") Long id,
+                                                          @RequestParam(value = "factoryNum", required = false) String factoryNum) {
+        return success(orderDeliveryService.getValueStream(id, factoryNum));
+    }
+
+    @GetMapping("/shipping-plan/list")
+    @Operation(summary = "出货计划列表查询")
+    @PreAuthorize("@ss.hasPermission('order:shipping-plan:query')")
+    public CommonResult<PageResult<ShippingPlanRespVO>> getShippingPlanList(@Valid ShippingPlanPageReqVO pageReqVO) {
+        return success(orderDeliveryService.getShippingPlanPage(pageReqVO));
+    }
+
+    @GetMapping("/shipping-plan/{id}")
+    @Operation(summary = "获取出货计划详情")
+    @Parameter(name = "id", description = "出货计划主键", required = true)
+    @PreAuthorize("@ss.hasPermission('order:shipping-plan:query')")
+    public CommonResult<ShippingPlanRespVO> getShippingPlan(@PathVariable("id") Long id) {
+        return success(orderDeliveryService.getShippingPlan(id));
+    }
+
+    @PostMapping("/shipping-plan")
+    @Operation(summary = "创建出货计划")
+    @PreAuthorize("@ss.hasPermission('order:shipping-plan:create')")
+    public CommonResult<Long> createShippingPlan(@Valid @RequestBody ShippingPlanSaveReqVO createReqVO) {
+        return success(orderDeliveryService.createShippingPlan(createReqVO));
+    }
+
+    @PutMapping("/shipping-plan")
+    @Operation(summary = "更新出货计划")
+    @PreAuthorize("@ss.hasPermission('order:shipping-plan:update')")
+    public CommonResult<Boolean> updateShippingPlan(@Valid @RequestBody ShippingPlanSaveReqVO updateReqVO) {
+        orderDeliveryService.updateShippingPlan(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/shipping-plan/{id}")
+    @Operation(summary = "删除出货计划")
+    @Parameter(name = "id", description = "出货计划主键", required = true)
+    @PreAuthorize("@ss.hasPermission('order:shipping-plan:delete')")
+    public CommonResult<Boolean> deleteShippingPlan(@PathVariable("id") Long id) {
+        orderDeliveryService.deleteShippingPlan(id);
+        return success(true);
+    }
+}

+ 102 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/OrderDeliveryPageItemVO.java

@@ -0,0 +1,102 @@
+package cn.iocoder.yudao.module.order.controller.admin.delivery.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 订单交付列表项")
+@Data
+public class OrderDeliveryPageItemVO {
+
+    @Schema(description = "订单行主键")
+    private Long id;
+
+    @Schema(description = "订单编号")
+    private String billNo;
+
+    @Schema(description = "评审状态")
+    private Integer rstate;
+
+    @Schema(description = "行号")
+    private Integer entrySeq;
+
+    @Schema(description = "物料编码")
+    private String itemNumber;
+
+    @Schema(description = "物料名称")
+    private String itemName;
+
+    @Schema(description = "规格型号")
+    private String specification;
+
+    @Schema(description = "单位")
+    private String unit;
+
+    @Schema(description = "客户编码")
+    private String customNo;
+
+    @Schema(description = "客户订单号")
+    private String customOrderBillNo;
+
+    @Schema(description = "客户料号")
+    private String customOrderItemno;
+
+    @Schema(description = "客户级别")
+    private String customLevel;
+
+    @Schema(description = "订单数量")
+    private BigDecimal qty;
+
+    @Schema(description = "发货数量")
+    private BigDecimal deliverCount;
+
+    @Schema(description = "BOM编号")
+    private String bomNumber;
+
+    @Schema(description = "业务员")
+    private String empName;
+
+    @Schema(description = "计划员")
+    private String plannerName;
+
+    @Schema(description = "客户交期")
+    private LocalDateTime planDate;
+
+    @Schema(description = "系统建议交期")
+    private LocalDateTime sysCapacityDate;
+
+    @Schema(description = "最终交货日期")
+    private LocalDateTime date;
+
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+
+    @Schema(description = "创建人")
+    private String createByName;
+
+    @Schema(description = "审核人")
+    private String auditor;
+
+    @Schema(description = "交付进度:0-7")
+    private String progress;
+
+    @Schema(description = "产线")
+    private String prodLine;
+
+    @Schema(description = "产品范围")
+    private String prodRange;
+
+    @Schema(description = "发货日期")
+    private LocalDateTime shipDate;
+
+    @Schema(description = "出货计划ID")
+    private String recid;
+
+    @Schema(description = "出货计划状态")
+    private String spstatus;
+
+    @Schema(description = "工单编号")
+    private String moentryMono;
+}

+ 27 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/OrderDeliveryPageReqVO.java

@@ -0,0 +1,27 @@
+package cn.iocoder.yudao.module.order.controller.admin.delivery.vo;
+
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Schema(description = "管理后台 - 订单交付分页查询参数")
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class OrderDeliveryPageReqVO extends PageParam {
+
+    @Schema(description = "订单编号")
+    private String billNo;
+
+    @Schema(description = "客户编码")
+    private String customNo;
+
+    @Schema(description = "物料编码")
+    private String itemNumber;
+
+    @Schema(description = "客户交期")
+    private String planDate;
+
+    @Schema(description = "交付进度:1评审 2排产 3齐套 4采购 5备料 6生产 7发运")
+    private String progress;
+}

+ 21 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/ShippingPlanPageReqVO.java

@@ -0,0 +1,21 @@
+package cn.iocoder.yudao.module.order.controller.admin.delivery.vo;
+
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Schema(description = "管理后台 - 出货计划分页查询参数")
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ShippingPlanPageReqVO extends PageParam {
+
+    @Schema(description = "出货编号")
+    private String lotSerial;
+
+    @Schema(description = "状态")
+    private String status;
+
+    @Schema(description = "收货人")
+    private String consignee;
+}

+ 149 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/ShippingPlanRespVO.java

@@ -0,0 +1,149 @@
+package cn.iocoder.yudao.module.order.controller.admin.delivery.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Schema(description = "管理后台 - 出货计划响应")
+@Data
+public class ShippingPlanRespVO {
+
+    @Schema(description = "主键ID")
+    private Long recId;
+
+    @Schema(description = "域名")
+    private String domain;
+
+    @Schema(description = "出货编号")
+    private String lotSerial;
+
+    @Schema(description = "备注")
+    private String remark;
+
+    @Schema(description = "出货地点")
+    private String shippingSite;
+
+    @Schema(description = "状态")
+    private String status;
+
+    @Schema(description = "创建用户")
+    private String createUser;
+
+    @Schema(description = "更新用户")
+    private String updateUser;
+
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+    @Schema(description = "是否有效")
+    private Boolean isActive;
+
+    @Schema(description = "是否确认")
+    private Boolean isConfirm;
+
+    @Schema(description = "优先级")
+    private Integer priority;
+
+    @Schema(description = "出货日期")
+    private LocalDateTime shippingDate;
+
+    @Schema(description = "收货地址")
+    private String shippingAddress;
+
+    @Schema(description = "收货人")
+    private String consignee;
+
+    @Schema(description = "联系方式")
+    private String telephone;
+
+    @Schema(description = "出货明细")
+    private List<ShippingPlanDetailRespVO> items;
+
+    @Data
+    public static class ShippingPlanDetailRespVO {
+
+        @Schema(description = "明细主键")
+        private Long recId;
+
+        @Schema(description = "域名")
+        private String domain;
+
+        @Schema(description = "备注")
+        private String remark;
+
+        @Schema(description = "状态")
+        private String status;
+
+        @Schema(description = "创建用户")
+        private String createUser;
+
+        @Schema(description = "更新用户")
+        private String updateUser;
+
+        @Schema(description = "创建时间")
+        private LocalDateTime createTime;
+
+        @Schema(description = "更新时间")
+        private LocalDateTime updateTime;
+
+        @Schema(description = "是否有效")
+        private Boolean isActive;
+
+        @Schema(description = "是否确认")
+        private Boolean isConfirm;
+
+        @Schema(description = "客户订单号")
+        private String ordNbr;
+
+        @Schema(description = "订单号")
+        private String billNo;
+
+        @Schema(description = "物料编号")
+        private String itemNum;
+
+        @Schema(description = "销售订单ID")
+        private Long seorderId;
+
+        @Schema(description = "订单行ID")
+        private Long sentryId;
+
+        @Schema(description = "主表ID")
+        private Long planId;
+
+        @Schema(description = "下单日期")
+        private LocalDateTime ordDate;
+
+        @Schema(description = "国家")
+        private String country;
+
+        @Schema(description = "客户编码")
+        private String customNo;
+
+        @Schema(description = "客户名称")
+        private String customName;
+
+        @Schema(description = "物料名称")
+        private String itemName;
+
+        @Schema(description = "规格型号")
+        private String specification;
+
+        @Schema(description = "订单数量")
+        private BigDecimal qty;
+
+        @Schema(description = "包装要求")
+        private String packaging;
+
+        @Schema(description = "重量(KG)")
+        private BigDecimal weight;
+
+        @Schema(description = "体积(M3)")
+        private BigDecimal volume;
+    }
+}

+ 117 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/ShippingPlanSaveReqVO.java

@@ -0,0 +1,117 @@
+package cn.iocoder.yudao.module.order.controller.admin.delivery.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Schema(description = "管理后台 - 出货计划保存请求")
+@Data
+public class ShippingPlanSaveReqVO {
+
+    @Schema(description = "主键ID(编辑时必填)")
+    private Long recId;
+
+    @Schema(description = "域名")
+    private String domain;
+
+    @Schema(description = "出货编号", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "出货编号不能为空")
+    private String lotSerial;
+
+    @Schema(description = "备注")
+    private String remark;
+
+    @Schema(description = "出货地点", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "出货地点不能为空")
+    private String shippingSite;
+
+    @Schema(description = "状态")
+    private String status;
+
+    @Schema(description = "优先级")
+    private Integer priority;
+
+    @Schema(description = "出货日期", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "出货日期不能为空")
+    private LocalDateTime shippingDate;
+
+    @Schema(description = "收货地址")
+    private String shippingAddress;
+
+    @Schema(description = "收货人", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "收货人不能为空")
+    private String consignee;
+
+    @Schema(description = "联系方式", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "联系方式不能为空")
+    private String telephone;
+
+    @Schema(description = "出货明细")
+    private List<ShippingPlanDetailSaveReqVO> items;
+
+    @Data
+    public static class ShippingPlanDetailSaveReqVO {
+
+        @Schema(description = "明细主键")
+        private Long recId;
+
+        @Schema(description = "域名")
+        private String domain;
+
+        @Schema(description = "备注")
+        private String remark;
+
+        @Schema(description = "状态")
+        private String status;
+
+        @Schema(description = "客户订单号")
+        private String ordNbr;
+
+        @Schema(description = "订单号")
+        private String billNo;
+
+        @Schema(description = "物料编号")
+        private String itemNum;
+
+        @Schema(description = "销售订单ID")
+        private Long seorderId;
+
+        @Schema(description = "订单行ID")
+        private Long sentryId;
+
+        @Schema(description = "下单日期")
+        private LocalDateTime ordDate;
+
+        @Schema(description = "国家")
+        private String country;
+
+        @Schema(description = "客户编码")
+        private String customNo;
+
+        @Schema(description = "客户名称")
+        private String customName;
+
+        @Schema(description = "物料名称")
+        private String itemName;
+
+        @Schema(description = "规格型号")
+        private String specification;
+
+        @Schema(description = "订单数量")
+        private BigDecimal qty;
+
+        @Schema(description = "包装要求")
+        private String packaging;
+
+        @Schema(description = "重量(KG)")
+        private BigDecimal weight;
+
+        @Schema(description = "体积(M3)")
+        private BigDecimal volume;
+    }
+}

+ 266 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/controller/admin/delivery/vo/ValueStreamRespVO.java

@@ -0,0 +1,266 @@
+package cn.iocoder.yudao.module.order.controller.admin.delivery.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+@Schema(description = "管理后台 - 价值流响应")
+@Data
+public class ValueStreamRespVO {
+
+    @Schema(description = "基本信息")
+    private BasicInfo basicInfo;
+
+    @Schema(description = "订单信息")
+    private OrderInfo orderInfo;
+
+    @Schema(description = "评审信息")
+    private ReviewInfo reviewInfo;
+
+    @Schema(description = "变更记录")
+    private List<ChangeRecord> changeList;
+
+    @Schema(description = "计划排程")
+    private List<ScheduleItem> scheduleList;
+
+    @Schema(description = "物料需求")
+    private List<MaterialItem> materialList;
+
+    @Schema(description = "采购订单")
+    private List<PurchaseOrder> purchaseOrderList;
+
+    @Schema(description = "采购申请")
+    private List<PurchaseReq> purchaseReqList;
+
+    @Schema(description = "物料交货单")
+    private List<DeliveryItem> deliveryList;
+
+    @Schema(description = "生产备料")
+    private List<MaterialItem> materialPrepList;
+
+    @Schema(description = "生产报工")
+    private List<ProductionReport> productionReportList;
+
+    @Schema(description = "IQC信息")
+    private List<IqcItem> iqcList;
+
+    @Schema(description = "FQC信息")
+    private List<FqcItem> fqcList;
+
+    @Schema(description = "生产入库")
+    private List<InboundItem> inboundList;
+
+    @Schema(description = "成品发运")
+    private List<OutboundItem> outboundList;
+
+    @Data
+    public static class BasicInfo {
+        private String itemNumber;
+        private String itemName;
+        private String specification;
+        private BigDecimal qty;
+        private String billFrom;
+        private LocalDateTime planDate;
+        private String progress;
+        private LocalDateTime mrptime;
+    }
+
+    @Data
+    public static class OrderInfo {
+        private String billNo;
+        private String customName;
+        private String customLevel;
+        private String state;
+        private LocalDateTime date;
+        private String createByName;
+        private String orderType;
+        private LocalDateTime auditDate;
+        private String auditor;
+        private String billFrom;
+        private String empName;
+        private String empNo;
+    }
+
+    @Data
+    public static class ReviewInfo {
+        private LocalDateTime sysCapacityDate;
+        private String morderNo;
+        private LocalDateTime createTime;
+        private BigDecimal makeQty;
+        private BigDecimal useQty;
+        private BigDecimal moQty;
+    }
+
+    @Data
+    public static class ChangeRecord {
+        private Integer sno;
+        private String billNo;
+        private String changeType;
+        private String changeReason;
+        private String changeContent;
+        private String updateTime;
+    }
+
+    @Data
+    public static class ScheduleItem {
+        private Integer sno;
+        private String workOrds;
+        private String line;
+        private String itemNum;
+        private String descr;
+        private String descr1;
+        private String op;
+        private String workDate;
+        private BigDecimal workQty;
+        private String createTime;
+    }
+
+    @Data
+    public static class MaterialItem {
+        private String nbr;
+        private Integer line;
+        private String itemNum;
+        private String descr;
+        private String descr1;
+        private BigDecimal qtyFrom;
+        private BigDecimal qtyOrd;
+        private BigDecimal currQtyOpened;
+        private BigDecimal qtyRec;
+        private String um;
+        private String locationFrom;
+        private String locationTo;
+        private String updateTime;
+        private String workOrd;
+    }
+
+    @Data
+    public static class PurchaseOrder {
+        private Integer sno;
+        private String poBillno;
+        private String supplierNo;
+        private String supplierName;
+        private BigDecimal poTotal;
+        private String poPurchaser;
+        private String createTime;
+        private String poSsendDate;
+        private String state;
+    }
+
+    @Data
+    public static class PurchaseReq {
+        private Integer sno;
+        private String prBillno;
+        private String number;
+        private String icitemName;
+        private String model;
+        private String prPurchasenumber;
+        private String prPurchasename;
+        private BigDecimal prAqty;
+        private String prSsendDate;
+        private String prSarriveDate;
+        private String prUnit;
+        private String prPurchaser;
+    }
+
+    @Data
+    public static class DeliveryItem {
+        private Integer sno;
+        private String dsnum;
+        private String status;
+        private String itemnum;
+        private String descr;
+        private String um;
+        private String suppliercode;
+        private String supplier;
+        private String submitdate;
+        private String requestdate;
+        private String needdate;
+        private String ponumber;
+        private String poline;
+        private BigDecimal schedqty;
+        private String lastsentdate;
+        private BigDecimal lastsentqty;
+        private BigDecimal sentqty;
+        private BigDecimal restqty;
+    }
+
+    @Data
+    public static class ProductionReport {
+        private Integer sno;
+        private String workOrd;
+        private String name;
+        private String op;
+        private String prodLine;
+        private String prodDate;
+        private String itemNum;
+        private String descr;
+        private String descr1;
+        private String um;
+        private BigDecimal qtyCompleted;
+        private BigDecimal qtyReject;
+        private BigDecimal qtyScrapped;
+    }
+
+    @Data
+    public static class IqcItem {
+        private Integer sno;
+        private Long sentryId;
+        private String poBill;
+        private String poBillline;
+        private String finspestartdate;
+        private String fapplytime;
+        private String fbillno;
+        private String fmaterialcfg;
+        private String wlmc;
+        private String ggxh;
+        private BigDecimal frinsqty;
+        private String finspectstatus;
+    }
+
+    @Data
+    public static class FqcItem {
+        private Integer sno;
+        private String fbillno;
+        private String finspeenddate;
+        private String fmaterialcfg;
+        private String wlmc;
+        private String ggxh;
+        private BigDecimal frinsqty;
+        private String sczld;
+        private String scph;
+        private String workOrd;
+        private Long soentryId;
+    }
+
+    @Data
+    public static class InboundItem {
+        private Integer sno;
+        private String status;
+        private String workOrd;
+        private String um;
+        private BigDecimal qtyOrded;
+        private BigDecimal compQty;
+        private BigDecimal qtyChangeAdvance;
+        private String moentryPrdname;
+        private String moentryWrkcname;
+        private String ordDate;
+        private String dueDate;
+        private String createTime;
+        private String itemnum;
+        private String descr;
+    }
+
+    @Data
+    public static class OutboundItem {
+        private Integer sno;
+        private Long id;
+        private String location;
+        private String shipDate;
+        private BigDecimal qtyToShip;
+        private String locationCode;
+        private BigDecimal realQty;
+    }
+}

+ 26 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/convert/OrderDeliveryConvert.java

@@ -0,0 +1,26 @@
+package cn.iocoder.yudao.module.order.convert;
+
+import cn.iocoder.yudao.module.order.controller.admin.delivery.vo.ShippingPlanRespVO;
+import cn.iocoder.yudao.module.order.controller.admin.delivery.vo.ShippingPlanSaveReqVO;
+import cn.iocoder.yudao.module.order.dal.dataobject.ShippingPlanDO;
+import cn.iocoder.yudao.module.order.dal.dataobject.ShippingPlanDetailDO;
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import java.util.List;
+
+@Mapper
+public interface OrderDeliveryConvert {
+
+    OrderDeliveryConvert INSTANCE = Mappers.getMapper(OrderDeliveryConvert.class);
+
+    ShippingPlanDO convert(ShippingPlanSaveReqVO bean);
+
+    ShippingPlanRespVO convert(ShippingPlanDO bean);
+
+    List<ShippingPlanRespVO> convertList(List<ShippingPlanDO> list);
+
+    List<ShippingPlanDetailDO> convertDetailSaveList(List<ShippingPlanSaveReqVO.ShippingPlanDetailSaveReqVO> list);
+
+    List<ShippingPlanRespVO.ShippingPlanDetailRespVO> convertDetailList(List<ShippingPlanDetailDO> list);
+}

+ 93 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/dal/dataobject/ShippingPlanDO.java

@@ -0,0 +1,93 @@
+package cn.iocoder.yudao.module.order.dal.dataobject;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+/**
+ * 出货计划主表 DO
+ *
+ * 对应表 {@code ShippingPlan}
+ */
+@TableName("ShippingPlan")
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ShippingPlanDO {
+
+    /** 自增列 RecID */
+    @TableId(value = "RecID", type = IdType.AUTO)
+    private Long recId;
+
+    /** 域名 Domain */
+    @TableField("Domain")
+    private String domain;
+
+    /** 批序号/出货编号 LotSerial */
+    @TableField("LotSerial")
+    private String lotSerial;
+
+    /** 备注 Remark */
+    @TableField("Remark")
+    private String remark;
+
+    /** 出货地点 ShippingSite */
+    @TableField("ShippingSite")
+    private String shippingSite;
+
+    /** 状态 Status */
+    @TableField("Status")
+    private String status;
+
+    /** 创建用户 CreateUser */
+    @TableField("CreateUser")
+    private String createUser;
+
+    /** 更新用户 UpdateUser */
+    @TableField("UpdateUser")
+    private String updateUser;
+
+    /** 创建时间 CreateTime */
+    @TableField("CreateTime")
+    private LocalDateTime createTime;
+
+    /** 更新时间 UpdateTime */
+    @TableField("UpdateTime")
+    private LocalDateTime updateTime;
+
+    /** 有效 IsActive */
+    @TableField("IsActive")
+    private Boolean isActive;
+
+    /** 确认 IsConfirm */
+    @TableField("IsConfirm")
+    private Boolean isConfirm;
+
+    /** 优先级 Priority */
+    @TableField("Priority")
+    private Integer priority;
+
+    /** 出货日期 ShippingDate */
+    @TableField("ShippingDate")
+    private LocalDateTime shippingDate;
+
+    /** 收货地址 ShippingAddress */
+    @TableField("ShippingAddress")
+    private String shippingAddress;
+
+    /** 收货人 Consignee */
+    @TableField("Consignee")
+    private String consignee;
+
+    /** 联系方式 Telephone */
+    @TableField("Telephone")
+    private String telephone;
+}

+ 130 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/dal/dataobject/ShippingPlanDetailDO.java

@@ -0,0 +1,130 @@
+package cn.iocoder.yudao.module.order.dal.dataobject;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 出货计划明细表 DO
+ *
+ * 对应表 {@code ShippingPlanDetail}
+ */
+@TableName("ShippingPlanDetail")
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class ShippingPlanDetailDO {
+
+    /** 自增列 RecID */
+    @TableId(value = "RecID", type = IdType.AUTO)
+    private Long recId;
+
+    /** 域名 Domain */
+    @TableField("Domain")
+    private String domain;
+
+    /** 备注 Remark */
+    @TableField("Remark")
+    private String remark;
+
+    /** 状态 Status */
+    @TableField("Status")
+    private String status;
+
+    /** 创建用户 CreateUser */
+    @TableField("CreateUser")
+    private String createUser;
+
+    /** 更新用户 UpdateUser */
+    @TableField("UpdateUser")
+    private String updateUser;
+
+    /** 创建时间 CreateTime */
+    @TableField("CreateTime")
+    private LocalDateTime createTime;
+
+    /** 更新时间 UpdateTime */
+    @TableField("UpdateTime")
+    private LocalDateTime updateTime;
+
+    /** 有效 IsActive */
+    @TableField("IsActive")
+    private Boolean isActive;
+
+    /** 确认 IsConfirm */
+    @TableField("IsConfirm")
+    private Boolean isConfirm;
+
+    /** 客户订单 OrdNbr */
+    @TableField("OrdNbr")
+    private String ordNbr;
+
+    /** 订单号 bill_no */
+    @TableField("bill_no")
+    private String billNo;
+
+    /** 物料编号 ItemNum */
+    @TableField("ItemNum")
+    private String itemNum;
+
+    /** 销售订单ID seorder_id */
+    @TableField("seorder_id")
+    private Long seorderId;
+
+    /** 订单行ID sentry_id */
+    @TableField("sentry_id")
+    private Long sentryId;
+
+    /** 主表ID plan_id */
+    @TableField("plan_id")
+    private Long planId;
+
+    /** 下单日期 OrdDate */
+    @TableField("OrdDate")
+    private LocalDateTime ordDate;
+
+    /** 国家 Country */
+    @TableField("Country")
+    private String country;
+
+    /** 客户编码 CustomNo */
+    @TableField("CustomNo")
+    private String customNo;
+
+    /** 客户名称 CustomName */
+    @TableField("CustomName")
+    private String customName;
+
+    /** 物料名称 ItemName */
+    @TableField("ItemName")
+    private String itemName;
+
+    /** 规格型号 Specification */
+    @TableField("Specification")
+    private String specification;
+
+    /** 订单数量 Qty */
+    @TableField("Qty")
+    private BigDecimal qty;
+
+    /** 包装要求 Packaging */
+    @TableField("Packaging")
+    private String packaging;
+
+    /** 重量(KG) Weight */
+    @TableField("Weight")
+    private BigDecimal weight;
+
+    /** 体积(M3) Volume */
+    @TableField("Volume")
+    private BigDecimal volume;
+}

+ 52 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/dal/mysql/OrderDeliveryMapper.java

@@ -0,0 +1,52 @@
+package cn.iocoder.yudao.module.order.dal.mysql;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.mybatis.core.util.MyBatisUtils;
+import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
+import cn.iocoder.yudao.module.order.controller.admin.delivery.vo.OrderDeliveryPageItemVO;
+import cn.iocoder.yudao.module.order.controller.admin.delivery.vo.OrderDeliveryPageReqVO;
+import cn.iocoder.yudao.module.order.controller.admin.delivery.vo.ValueStreamRespVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 订单交付 Mapper
+ */
+@Mapper
+public interface OrderDeliveryMapper {
+
+    /**
+     * 订单交付分页查询
+     */
+    @TenantIgnore
+    Page<OrderDeliveryPageItemVO> selectDeliveryPage(Page<OrderDeliveryPageItemVO> page,
+                                                      @Param("req") OrderDeliveryPageReqVO req);
+
+    default PageResult<OrderDeliveryPageItemVO> selectDeliveryPage(OrderDeliveryPageReqVO reqVO) {
+        Page<OrderDeliveryPageItemVO> page = MyBatisUtils.buildPage(reqVO);
+        IPage<OrderDeliveryPageItemVO> result = selectDeliveryPage(page, reqVO);
+        return new PageResult<>(result.getRecords(), result.getTotal());
+    }
+
+    /**
+     * 查询变更记录
+     */
+    @TenantIgnore
+    List<ValueStreamRespVO.ChangeRecord> selectChangeList(@Param("entryId") Long entryId);
+
+    /**
+     * 查询计划排程
+     */
+    @TenantIgnore
+    List<ValueStreamRespVO.ScheduleItem> selectScheduleList(@Param("entryId") Long entryId);
+
+    /**
+     * 查询物料需求/生产备料
+     */
+    @TenantIgnore
+    List<ValueStreamRespVO.MaterialItem> selectMaterialList(@Param("entryId") Long entryId);
+}

+ 25 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/dal/mysql/ShippingPlanDetailMapper.java

@@ -0,0 +1,25 @@
+package cn.iocoder.yudao.module.order.dal.mysql;
+
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.module.order.dal.dataobject.ShippingPlanDetailDO;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 出货计划明细 Mapper
+ */
+@Mapper
+public interface ShippingPlanDetailMapper extends BaseMapperX<ShippingPlanDetailDO> {
+
+    default List<ShippingPlanDetailDO> selectListByPlanId(Long planId) {
+        return selectList(new LambdaQueryWrapper<ShippingPlanDetailDO>()
+                .eq(ShippingPlanDetailDO::getPlanId, planId));
+    }
+
+    default void deleteByPlanId(Long planId) {
+        delete(new LambdaQueryWrapper<ShippingPlanDetailDO>()
+                .eq(ShippingPlanDetailDO::getPlanId, planId));
+    }
+}

+ 23 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/dal/mysql/ShippingPlanMapper.java

@@ -0,0 +1,23 @@
+package cn.iocoder.yudao.module.order.dal.mysql;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.module.order.controller.admin.delivery.vo.ShippingPlanPageReqVO;
+import cn.iocoder.yudao.module.order.dal.dataobject.ShippingPlanDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 出货计划 Mapper
+ */
+@Mapper
+public interface ShippingPlanMapper extends BaseMapperX<ShippingPlanDO> {
+
+    default PageResult<ShippingPlanDO> selectPage(ShippingPlanPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<ShippingPlanDO>()
+                .likeIfPresent(ShippingPlanDO::getLotSerial, reqVO.getLotSerial())
+                .eqIfPresent(ShippingPlanDO::getStatus, reqVO.getStatus())
+                .likeIfPresent(ShippingPlanDO::getConsignee, reqVO.getConsignee())
+                .orderByDesc(ShippingPlanDO::getCreateTime));
+    }
+}

+ 1 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/enums/ErrorCodeConstants.java

@@ -8,5 +8,6 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode;
 public interface ErrorCodeConstants {
 
     ErrorCode ORDER_NOT_EXISTS = new ErrorCode(120000, "销售订单不存在");
+    ErrorCode SHIPPING_PLAN_NOT_EXISTS = new ErrorCode(120001, "出货计划不存在");
 }
 

+ 46 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/service/OrderDeliveryService.java

@@ -0,0 +1,46 @@
+package cn.iocoder.yudao.module.order.service;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.order.controller.admin.delivery.vo.*;
+import jakarta.validation.Valid;
+
+/**
+ * 订单交付 Service 接口
+ */
+public interface OrderDeliveryService {
+
+    /**
+     * 订单交付分页查询
+     */
+    PageResult<OrderDeliveryPageItemVO> getDeliveryPage(OrderDeliveryPageReqVO pageReqVO);
+
+    /**
+     * 获取价值流详情
+     */
+    ValueStreamRespVO getValueStream(Long entryId, String factoryNum);
+
+    /**
+     * 出货计划分页查询
+     */
+    PageResult<ShippingPlanRespVO> getShippingPlanPage(ShippingPlanPageReqVO pageReqVO);
+
+    /**
+     * 获取出货计划详情
+     */
+    ShippingPlanRespVO getShippingPlan(Long id);
+
+    /**
+     * 创建出货计划
+     */
+    Long createShippingPlan(@Valid ShippingPlanSaveReqVO createReqVO);
+
+    /**
+     * 更新出货计划
+     */
+    void updateShippingPlan(@Valid ShippingPlanSaveReqVO updateReqVO);
+
+    /**
+     * 删除出货计划
+     */
+    void deleteShippingPlan(Long id);
+}

+ 209 - 0
yudao-order-server/src/main/java/cn/iocoder/yudao/module/order/service/impl/OrderDeliveryServiceImpl.java

@@ -0,0 +1,209 @@
+package cn.iocoder.yudao.module.order.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
+import cn.iocoder.yudao.module.order.controller.admin.delivery.vo.*;
+import cn.iocoder.yudao.module.order.convert.OrderDeliveryConvert;
+import cn.iocoder.yudao.module.order.dal.dataobject.OrderDO;
+import cn.iocoder.yudao.module.order.dal.dataobject.OrderEntryDO;
+import cn.iocoder.yudao.module.order.dal.dataobject.ShippingPlanDO;
+import cn.iocoder.yudao.module.order.dal.dataobject.ShippingPlanDetailDO;
+import cn.iocoder.yudao.module.order.dal.mysql.*;
+import cn.iocoder.yudao.module.order.enums.ErrorCodeConstants;
+import cn.iocoder.yudao.module.order.service.OrderDeliveryService;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
+import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
+import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
+
+@Service
+@Validated
+public class OrderDeliveryServiceImpl implements OrderDeliveryService {
+
+    @Resource
+    private OrderDeliveryMapper orderDeliveryMapper;
+    @Resource
+    private ShippingPlanMapper shippingPlanMapper;
+    @Resource
+    private ShippingPlanDetailMapper shippingPlanDetailMapper;
+    @Resource
+    private OrderMapper orderMapper;
+    @Resource
+    private OrderEntryMapper orderEntryMapper;
+    @Resource
+    private AdminUserApi adminUserApi;
+
+    @Override
+    @TenantIgnore
+    public PageResult<OrderDeliveryPageItemVO> getDeliveryPage(OrderDeliveryPageReqVO pageReqVO) {
+        return orderDeliveryMapper.selectDeliveryPage(pageReqVO);
+    }
+
+    @Override
+    @TenantIgnore
+    public ValueStreamRespVO getValueStream(Long entryId, String factoryNum) {
+        ValueStreamRespVO resp = new ValueStreamRespVO();
+
+        // 查询订单行基本信息
+        OrderEntryDO entry = orderEntryMapper.selectById(entryId);
+        if (entry == null) {
+            return resp;
+        }
+
+        // 基本信息
+        ValueStreamRespVO.BasicInfo basicInfo = new ValueStreamRespVO.BasicInfo();
+        basicInfo.setItemNumber(entry.getItemNumber());
+        basicInfo.setItemName(entry.getItemName());
+        basicInfo.setSpecification(entry.getSpecification());
+        basicInfo.setQty(entry.getQty());
+        basicInfo.setPlanDate(entry.getPlanDate());
+        basicInfo.setProgress(entry.getProgress() != null ? entry.getProgress().toString() : "0");
+        resp.setBasicInfo(basicInfo);
+
+        // 订单信息
+        OrderDO order = orderMapper.selectById(entry.getSeorderId());
+        if (order != null) {
+            ValueStreamRespVO.OrderInfo orderInfo = new ValueStreamRespVO.OrderInfo();
+            orderInfo.setBillNo(order.getBillNo());
+            orderInfo.setCustomName(order.getCustomName());
+            orderInfo.setCustomLevel(order.getCustomLevel());
+            orderInfo.setDate(order.getDate());
+            orderInfo.setCreateByName(order.getCreateByName());
+            orderInfo.setOrderType(order.getOrderType());
+            orderInfo.setAuditDate(order.getAuditDate());
+            orderInfo.setAuditor(order.getAuditor());
+            orderInfo.setBillFrom(order.getBillFrom());
+            orderInfo.setEmpName(order.getEmpName());
+            orderInfo.setEmpNo(order.getEmpNo());
+            resp.setOrderInfo(orderInfo);
+        }
+
+        // 变更记录
+        resp.setChangeList(orderDeliveryMapper.selectChangeList(entryId));
+
+        // 计划排程
+        resp.setScheduleList(orderDeliveryMapper.selectScheduleList(entryId));
+
+        // 物料需求/生产备料
+        List<ValueStreamRespVO.MaterialItem> materialList = orderDeliveryMapper.selectMaterialList(entryId);
+        resp.setMaterialList(materialList);
+        resp.setMaterialPrepList(materialList);
+
+        return resp;
+    }
+
+    @Override
+    public PageResult<ShippingPlanRespVO> getShippingPlanPage(ShippingPlanPageReqVO pageReqVO) {
+        PageResult<ShippingPlanDO> pageResult = shippingPlanMapper.selectPage(pageReqVO);
+        return new PageResult<>(
+                OrderDeliveryConvert.INSTANCE.convertList(pageResult.getList()),
+                pageResult.getTotal()
+        );
+    }
+
+    @Override
+    public ShippingPlanRespVO getShippingPlan(Long id) {
+        ShippingPlanDO plan = shippingPlanMapper.selectById(id);
+        if (plan == null) {
+            return null;
+        }
+        ShippingPlanRespVO resp = OrderDeliveryConvert.INSTANCE.convert(plan);
+        List<ShippingPlanDetailDO> details = shippingPlanDetailMapper.selectListByPlanId(id);
+        resp.setItems(OrderDeliveryConvert.INSTANCE.convertDetailList(details));
+        return resp;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Long createShippingPlan(ShippingPlanSaveReqVO createReqVO) {
+        ShippingPlanDO plan = OrderDeliveryConvert.INSTANCE.convert(createReqVO);
+        LocalDateTime now = LocalDateTime.now();
+        plan.setCreateTime(now);
+        plan.setUpdateTime(now);
+        plan.setIsActive(true);
+        plan.setIsConfirm(false);
+
+        Long loginUserId = getLoginUserId();
+        if (loginUserId != null) {
+            AdminUserRespDTO user = adminUserApi.getUser(loginUserId);
+            if (user != null) {
+                plan.setCreateUser(user.getNickname());
+                plan.setUpdateUser(user.getNickname());
+            }
+        }
+
+        shippingPlanMapper.insert(plan);
+        saveDetails(plan, createReqVO.getItems());
+        return plan.getRecId();
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateShippingPlan(ShippingPlanSaveReqVO updateReqVO) {
+        ShippingPlanDO exists = validateShippingPlanExists(updateReqVO.getRecId());
+        ShippingPlanDO update = OrderDeliveryConvert.INSTANCE.convert(updateReqVO);
+        update.setRecId(exists.getRecId());
+        update.setUpdateTime(LocalDateTime.now());
+
+        Long loginUserId = getLoginUserId();
+        if (loginUserId != null) {
+            AdminUserRespDTO user = adminUserApi.getUser(loginUserId);
+            if (user != null) {
+                update.setUpdateUser(user.getNickname());
+            }
+        }
+
+        shippingPlanMapper.updateById(update);
+        // 删除旧明细,重新插入
+        shippingPlanDetailMapper.deleteByPlanId(exists.getRecId());
+        saveDetails(update, updateReqVO.getItems());
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteShippingPlan(Long id) {
+        validateShippingPlanExists(id);
+        shippingPlanMapper.deleteById(id);
+        shippingPlanDetailMapper.deleteByPlanId(id);
+    }
+
+    private void saveDetails(ShippingPlanDO plan, List<ShippingPlanSaveReqVO.ShippingPlanDetailSaveReqVO> items) {
+        if (CollUtil.isEmpty(items)) {
+            return;
+        }
+        LocalDateTime now = LocalDateTime.now();
+        String createUser = plan.getCreateUser();
+        List<ShippingPlanDetailDO> details = OrderDeliveryConvert.INSTANCE.convertDetailSaveList(items);
+        for (ShippingPlanDetailDO detail : details) {
+            detail.setPlanId(plan.getRecId());
+            detail.setDomain(plan.getDomain());
+            detail.setCreateTime(now);
+            detail.setUpdateTime(now);
+            detail.setCreateUser(createUser);
+            detail.setUpdateUser(createUser);
+            detail.setIsActive(true);
+            detail.setIsConfirm(false);
+        }
+        shippingPlanDetailMapper.insertBatch(details);
+    }
+
+    private ShippingPlanDO validateShippingPlanExists(Long id) {
+        if (id == null) {
+            throw exception(ErrorCodeConstants.SHIPPING_PLAN_NOT_EXISTS);
+        }
+        ShippingPlanDO plan = shippingPlanMapper.selectById(id);
+        if (plan == null) {
+            throw exception(ErrorCodeConstants.SHIPPING_PLAN_NOT_EXISTS);
+        }
+        return plan;
+    }
+}

+ 163 - 0
yudao-order-server/src/main/resources/mapper/order/OrderDeliveryMapper.xml

@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.iocoder.yudao.module.order.dal.mysql.OrderDeliveryMapper">
+
+    <!-- 订单交付分页查询 -->
+    <select id="selectDeliveryPage" resultType="cn.iocoder.yudao.module.order.controller.admin.delivery.vo.OrderDeliveryPageItemVO">
+        SELECT
+            entry.Id as id,
+            sorder.bill_no as billNo,
+            entry.rstate,
+            entry.entry_seq as entrySeq,
+            entry.item_number as itemNumber,
+            entry.item_name as itemName,
+            entry.specification,
+            entry.unit,
+            sorder.custom_no as customNo,
+            entry.custom_order_bill_no as customOrderBillNo,
+            entry.custom_order_itemno as customOrderItemno,
+            sorder.custom_level as customLevel,
+            entry.qty,
+            entry.deliver_count as deliverCount,
+            entry.bom_number as bomNumber,
+            sorder.emp_name as empName,
+            entry.planner_name as plannerName,
+            entry.plan_date as planDate,
+            entry.sys_capacity_date as sysCapacityDate,
+            entry.date,
+            entry.create_time as createTime,
+            entry.create_by_name as createByName,
+            sorder.auditor,
+            CASE
+                WHEN entry.progress=0 THEN '0'
+                WHEN nbo.nboNum>0 THEN '7'
+                WHEN compp.num>0 THEN '6'
+                WHEN cnb.num>0 THEN '5'
+                WHEN pr.num>0 THEN '4'
+                WHEN nb.num>0 THEN '3'
+                WHEN p.num>0 THEN '2'
+                WHEN entry.progress=3 THEN '1'
+                ELSE entry.progress
+            END as progress,
+            yeard.ProdLine as prodLine,
+            yeard.ProdRange as prodRange,
+            asn.ShipDate as shipDate,
+            sp.recid,
+            CASE WHEN sp.recid IS NOT NULL AND sp.recid != '' THEN '是' ELSE '否' END as spstatus,
+            mo.moentry_mono as moentryMono
+        FROM crm_seorderentry entry
+        LEFT JOIN crm_seorder sorder ON entry.seorder_id = sorder.Id
+        LEFT JOIN (
+            SELECT a.id, a.soentry_id, b.product_code, a.moentry_mono
+            FROM mes_moentry a, mes_morder b
+            WHERE a.moentry_mono = b.morder_no
+        ) mo ON entry.id = mo.soentry_id AND entry.item_number = mo.product_code
+        LEFT JOIN (
+            SELECT WorkOrd, COUNT(*) num FROM NbrMaster WHERE type='SM' GROUP BY WorkOrd
+        ) nb ON mo.moentry_mono = nb.WorkOrd
+        LEFT JOIN (
+            SELECT WorkOrds, COUNT(*) num FROM PeriodSequenceDet GROUP BY WorkOrds
+        ) p ON mo.moentry_mono = p.WorkOrds
+        LEFT JOIN (
+            SELECT pr_mono, COUNT(*) num FROM srm_pr_main WHERE state>1 GROUP BY pr_mono
+        ) pr ON mo.moentry_mono = pr.pr_mono
+        LEFT JOIN (
+            SELECT WorkOrds, COUNT(*) num FROM PeriodSequenceDet WHERE CompQty>0 GROUP BY WorkOrds
+        ) compp ON mo.moentry_mono = compp.WorkOrds
+        LEFT JOIN (
+            SELECT WorkOrd, COUNT(*) num FROM NbrDetail WHERE type='SM' AND QtyFrom>0 GROUP BY WorkOrd
+        ) cnb ON mo.moentry_mono = cnb.WorkOrd
+        LEFT JOIN (
+            SELECT ProdLine, ProdRange, SAPItemNumber FROM YearDemandManagement GROUP BY ProdLine, ProdRange, SAPItemNumber
+        ) yeard ON entry.item_number = yeard.SAPItemNumber
+        LEFT JOIN (
+            SELECT OrdNbr, ContainerItem, MAX(updatetime) as ShipDate
+            FROM ASNBOLShipperDetail GROUP BY OrdNbr, ContainerItem
+        ) asn ON asn.OrdNbr = sorder.bill_no AND asn.ContainerItem = entry.item_number
+        LEFT JOIN ShippingPlanDetail sp ON entry.id = sp.sentry_id
+        OUTER APPLY (
+            SELECT COUNT(*) as nboNum FROM ASNBOLShipperDetail
+            WHERE OrdNbr = sorder.bill_no AND ContainerItem = entry.item_number
+        ) nbo
+        WHERE entry.IsDeleted = 0 AND sorder.bill_no IS NOT NULL
+        <if test="req.billNo != null and req.billNo != ''">
+            AND sorder.bill_no LIKE CONCAT('%', #{req.billNo}, '%')
+        </if>
+        <if test="req.customNo != null and req.customNo != ''">
+            AND sorder.custom_no LIKE CONCAT('%', #{req.customNo}, '%')
+        </if>
+        <if test="req.itemNumber != null and req.itemNumber != ''">
+            AND entry.item_number LIKE CONCAT('%', #{req.itemNumber}, '%')
+        </if>
+        <if test="req.planDate != null and req.planDate != ''">
+            AND CONVERT(varchar(10), entry.plan_date, 120) = #{req.planDate}
+        </if>
+        <if test="req.progress != null and req.progress != ''">
+            AND entry.progress = #{req.progress}
+        </if>
+        ORDER BY entry.create_time DESC
+    </select>
+
+    <!-- 查询变更记录 -->
+    <select id="selectChangeList" resultType="cn.iocoder.yudao.module.order.controller.admin.delivery.vo.ValueStreamRespVO$ChangeRecord">
+        SELECT
+            ROW_NUMBER() OVER (ORDER BY a.id) AS sno,
+            a.bill_no as billNo,
+            a.change_Type as changeType,
+            a.change_Reason as changeReason,
+            a.change_content as changeContent,
+            CONVERT(varchar(20), a.update_time, 23) as updateTime
+        FROM crm_seorder_change a
+        LEFT JOIN crm_seorderentry b ON a.bill_no = b.bill_no
+        WHERE a.bill_no IS NOT NULL AND b.id = #{entryId}
+    </select>
+
+    <!-- 查询计划排程 -->
+    <select id="selectScheduleList" resultType="cn.iocoder.yudao.module.order.controller.admin.delivery.vo.ValueStreamRespVO$ScheduleItem">
+        SELECT
+            ROW_NUMBER() OVER (ORDER BY sch.PlanDate) AS sno,
+            sch.WorkOrds as workOrds,
+            sch.Line as line,
+            sch.ItemNum as itemNum,
+            im.Descr as descr,
+            im.Descr1 as descr1,
+            sch.Op as op,
+            CONVERT(varchar(10), sch.PlanDate, 120) as workDate,
+            CONVERT(decimal(18,2), sch.OrdQty) as workQty,
+            CONVERT(varchar(10), sch.CreateTime, 120) as createTime
+        FROM PeriodSequenceDet sch
+        LEFT JOIN ItemMaster im ON sch.ItemNum = im.ItemNum
+        LEFT JOIN mes_morder mo ON mo.morder_no = sch.WorkOrds
+        INNER JOIN mes_moentry me ON mo.Id = me.moentry_moid
+        LEFT JOIN crm_seorderentry se ON se.Id = me.soentry_id
+        WHERE se.id = #{entryId} AND mo.IsDeleted = 0
+    </select>
+
+    <!-- 查询物料需求/生产备料 -->
+    <select id="selectMaterialList" resultType="cn.iocoder.yudao.module.order.controller.admin.delivery.vo.ValueStreamRespVO$MaterialItem">
+        SELECT
+            nm.Nbr as nbr,
+            nd.Line as line,
+            nd.ItemNum as itemNum,
+            im.Descr as descr,
+            im.Descr1 as descr1,
+            CONVERT(decimal(18,2), nd.QtyFrom) as qtyFrom,
+            CONVERT(decimal(18,2), nd.QtyOrd) as qtyOrd,
+            CONVERT(decimal(18,2), nd.CurrQtyOpened) as currQtyOpened,
+            CONVERT(decimal(18,2), nd.QtyRec) as qtyRec,
+            nd.UM as um,
+            nd.LocationFrom as locationFrom,
+            nd.LocationTo as locationTo,
+            CONVERT(VARCHAR(20), nd.UpdateTime, 120) as updateTime,
+            nd.WorkOrd as workOrd
+        FROM NbrDetail nd
+        LEFT JOIN NbrMaster nm ON nd.nbr = nm.nbr
+        LEFT JOIN mes_morder mo ON mo.morder_no = nm.WorkOrd
+        INNER JOIN mes_moentry me ON mo.Id = me.moentry_moid
+        LEFT JOIN crm_seorderentry se ON se.Id = me.soentry_id AND mo.product_code = se.item_number
+        LEFT JOIN ItemMaster im ON nd.ItemNum = im.ItemNum
+        WHERE se.id = #{entryId} AND mo.IsDeleted = 0 AND nm.Type = 'SM'
+        ORDER BY nm.Nbr
+    </select>
+
+</mapper>

+ 1 - 1
yudao-order-server/target/generated-sources/annotations/cn/iocoder/yudao/module/order/convert/OrderConvertImpl.java

@@ -12,7 +12,7 @@ import javax.annotation.processing.Generated;
 
 @Generated(
     value = "org.mapstruct.ap.MappingProcessor",
-    date = "2025-12-17T15:25:04+0800",
+    date = "2025-12-22T13:50:28+0800",
     comments = "version: 1.6.3, compiler: javac, environment: Java 17.0.17 (Oracle Corporation)"
 )
 public class OrderConvertImpl implements OrderConvert {

+ 44 - 10
yudao-order-server/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -1,18 +1,52 @@
-cn\iocoder\yudao\module\order\controller\admin\order\vo\OrderRespVO.class
-cn\iocoder\yudao\module\order\controller\admin\order\vo\OrderEntrySaveReqVO.class
-cn\iocoder\yudao\module\order\controller\admin\order\vo\OrderEntryRespVO.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$PurchaseReq.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$ScheduleItem.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\OrderDeliveryPageReqVO.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$BasicInfo.class
 cn\iocoder\yudao\module\order\dal\mysql\OrderMapper.class
 cn\iocoder\yudao\module\order\controller\admin\order\vo\OrderReviewPageReqVO.class
-cn\iocoder\yudao\module\order\dal\dataobject\OrderEntryDO.class
 cn\iocoder\yudao\module\order\service\OrderService.class
+cn\iocoder\yudao\module\order\service\OrderDeliveryService.class
 cn\iocoder\yudao\module\order\dal\mysql\OrderEntryMapper.class
-cn\iocoder\yudao\module\order\enums\ErrorCodeConstants.class
+cn\iocoder\yudao\module\order\dal\mysql\ShippingPlanDetailMapper.class
 cn\iocoder\yudao\module\order\convert\OrderConvertImpl.class
-cn\iocoder\yudao\module\order\controller\admin\order\vo\OrderSaveReqVO.class
-cn\iocoder\yudao\module\order\service\impl\OrderServiceImpl.class
-cn\iocoder\yudao\module\order\controller\admin\order\vo\OrderReviewPageItemVO.class
+cn\iocoder\yudao\module\order\convert\OrderDeliveryConvertImpl.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\OrderDeliveryController.class
 cn\iocoder\yudao\module\order\dal\dataobject\OrderEntryDO$OrderEntryDOBuilder.class
-cn\iocoder\yudao\module\order\dal\dataobject\OrderDO.class
-cn\iocoder\yudao\module\order\dal\dataobject\OrderDO$OrderDOBuilder.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\OrderDeliveryPageItemVO.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ShippingPlanSaveReqVO.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$ProductionReport.class
 cn\iocoder\yudao\module\order\controller\admin\order\OrderReviewController.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ShippingPlanRespVO.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$FqcItem.class
+cn\iocoder\yudao\module\order\controller\admin\order\vo\OrderEntryRespVO.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$IqcItem.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$MaterialItem.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$ChangeRecord.class
+cn\iocoder\yudao\module\order\dal\mysql\ShippingPlanMapper.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ShippingPlanSaveReqVO$ShippingPlanDetailSaveReqVO.class
+cn\iocoder\yudao\module\order\controller\admin\order\vo\OrderSaveReqVO.class
+cn\iocoder\yudao\module\order\dal\dataobject\OrderDO.class
+cn\iocoder\yudao\module\order\convert\OrderDeliveryConvert.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$PurchaseOrder.class
 cn\iocoder\yudao\module\order\convert\OrderConvert.class
+cn\iocoder\yudao\module\order\controller\admin\order\vo\OrderRespVO.class
+cn\iocoder\yudao\module\order\dal\mysql\OrderDeliveryMapper.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$InboundItem.class
+cn\iocoder\yudao\module\order\service\impl\OrderDeliveryServiceImpl.class
+cn\iocoder\yudao\module\order\dal\dataobject\ShippingPlanDetailDO$ShippingPlanDetailDOBuilder.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ShippingPlanRespVO$ShippingPlanDetailRespVO.class
+cn\iocoder\yudao\module\order\enums\ErrorCodeConstants.class
+cn\iocoder\yudao\module\order\controller\admin\order\vo\OrderReviewPageItemVO.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$OrderInfo.class
+cn\iocoder\yudao\module\order\dal\dataobject\OrderDO$OrderDOBuilder.class
+cn\iocoder\yudao\module\order\dal\dataobject\ShippingPlanDetailDO.class
+cn\iocoder\yudao\module\order\controller\admin\order\vo\OrderEntrySaveReqVO.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ShippingPlanPageReqVO.class
+cn\iocoder\yudao\module\order\dal\dataobject\OrderEntryDO.class
+cn\iocoder\yudao\module\order\dal\dataobject\ShippingPlanDO.class
+cn\iocoder\yudao\module\order\service\impl\OrderServiceImpl.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$OutboundItem.class
+cn\iocoder\yudao\module\order\dal\dataobject\ShippingPlanDO$ShippingPlanDOBuilder.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$DeliveryItem.class
+cn\iocoder\yudao\module\order\controller\admin\delivery\vo\ValueStreamRespVO$ReviewInfo.class

BIN
yudao-order-server/target/yudao-order-server-2025.11-SNAPSHOT.jar


+ 1 - 1
yudao-server/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst

@@ -1 +1 @@
-D:\ry\yudao-server\src\test\java\cn\iocoder\yudao\ProjectReactor.java
+D:\DemoJAVA\yudao-server\src\test\java\cn\iocoder\yudao\ProjectReactor.java

BIN
yudao-server/target/yudao-server.jar


BIN
yudao-server/target/yudao-server.jar.original