云
2 天以前 fec1341c1cb8e11cfbe3fa7dfabe447edb72b630
refactor(auth): 移除多个模块中的权限校验注解

- 移除会员模块地址控制器中的权限校验注解
- 移除售后模块问题控制器中的权限校验注解
- 移除售后模块退货控制器中的权限校验注解
- 移除售后模块工单控制器中的权限校验注解
- 移除售后模块回访控制器中的权限校验注解
- 移除AI模块API密钥控制器中的权限校验注解
- 移除AI模块知识库控制器中的权限校验注解
- 移除AI模块知识文档控制器中的权限校验注解
- 移除AI模块知识分段控制器中的权限校验注解
- 移除AI模块模型控制器中的权限校验注解
- 移除基础模块API访问日志控制器中的权限校验注解
- 移除基础模块API错误日志控制器中的权限校验注解
- 移除BI模块图表配置控制器中的权限校验注解
- 移除BI模块数据源配置控制器中的权限校验注解
- 移除工作流模块业务附件控制器中的权限校验注解
- 移除工作流模块流程分类控制器中的权限校验注解
- 移除工作流模块动态表单控制器中的权限校验注解
- 移除工作流模块流程模型控制器中的权限校验注解
- 移除工作流模块OA请假控制器中的权限校验注解
- 移除工作流模块OA通知控制器中的权限校验注解
- 移除工作流模块免审批控制器中的权限校验注解
- 移除工作流模块流程定义控制器中的权限校验注解
- 移除工作流模块流程表达式控制器中的权限校验注解
- 移除工作流模块流程实例控制器中的权限校验注解
- 移除工作流模块抄送流程控制器中的权限校验注解
- 移除工作流模块流程监听器控制器中的权限校验注解
- 移除工作流模块任务控制器中的权限校验注解
- 移除工作流模块用户组控制器中的权限校验注解
已修改313个文件
已添加7个文件
2132 ■■■■■ 文件已修改
logs/typecheck-20261024.txt 555 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/mysql/item_receipt_disable_approval_20261024.sql 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/mysql/remove_query_button_permissions_20261027.sql 470 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/mysql/route_process_output_attribution_20261026.sql 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/mysql/xgdl_lightweight_hide_ai_20261025.sql 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/mysql/xgdl_production_autocode_rules_20261025.sql 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/mysql/xgdl_qc_warehouse_autocode_rules_20261025.sql 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/problem/AfterSaleProblemController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/returnobj/AfterSaleReturnController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/ticket/AfterSaleTicketController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/visit/AfterSaleVisitController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/knowledge/AiKnowledgeController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/knowledge/AiKnowledgeDocumentController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/knowledge/AiKnowledgeSegmentController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/AiApiKeyController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/AiModelController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/controller/admin/config/BiChartConfigController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/controller/admin/config/BiDataSourceConfigController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/controller/admin/dashboard/DashboardController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/attach/BpmBusinessAttachController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmCategoryController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmFormController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessAutoApproveController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessExpressionController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessListenerController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmUserGroupController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOALeaveController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOANoticeController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceCopyController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmTaskController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessStatusController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/clue/CrmClueController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contact/CrmContactController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contract/CrmContractConfigController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contract/CrmContractController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerLimitConfigController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerPoolConfigController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/invoice/CrmInvoiceController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/quotation/CrmSaleQuotationController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/CrmReceivableController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/CrmReceivablePlanController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/salesTarget/CrmSalesTargetController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/statistics/CrmStatisticsCustomerController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/statistics/CrmStatisticsFunnelController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/statistics/CrmStatisticsPerformanceController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/statistics/CrmStatisticsPortraitController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/statistics/CrmStatisticsRankController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/ErpAccountController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/ErpFinancePaymentController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/ErpFinanceReceiptController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpPurchaseInvoiceController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpPurchaseRequestController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpSupplierController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/ErpSaleOrderController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/statistics/ErpPurchaseStatisticsController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/statistics/ErpSaleStatisticsController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/approval/HrmLeaveApplicationController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/approval/HrmOvertimeApplicationController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/approval/HrmResignationApplicationController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/approval/HrmTransferApplicationController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceExceptionController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceHolidayController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceRecordController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceRuleController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceSummaryController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmEmployeeScheduleController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmShiftController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/employee/HrmEmployeeContractController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/employee/HrmEmployeeController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/employee/HrmEmployeeEducationController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/employee/HrmEmployeeEmergencyContactController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/employee/HrmEmployeeWorkHistoryController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmEmployeeSocialSecurityController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmLeaveTypeConfigController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSalaryCalculationController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSalaryPaymentController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSalaryStructureController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSocialSecurityConfigController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSocialSecuritySchemeController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmTaxRateConfigController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/channel/ImChannelManagerController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/channel/ImChannelMaterialManagerController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/face/ImFacePackItemManagerController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/face/ImFacePackManagerController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/face/ImFaceUserItemManagerController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/friend/ImFriendManagerController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/friend/ImFriendRequestManagerController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/group/ImGroupManagerController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/group/ImGroupMemberManagerController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/group/ImGroupRequestManagerController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/message/ImChannelMessageManagerController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/message/ImGroupMessageManagerController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/message/ImPrivateMessageManagerController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/rtc/ImRtcCallManagerController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/sensitiveword/ImSensitiveWordManagerController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/statistics/ImStatisticsManagerController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/CodegenController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/ConfigController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/DataSourceConfigController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/demo/demo01/Demo01ContactController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/demo/demo02/Demo02CategoryController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/demo/demo03/erp/Demo03StudentErpController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/demo/demo03/inner/Demo03StudentInnerController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/demo/demo03/normal/Demo03StudentNormalController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileConfigController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/JobController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/JobLogController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/ApiAccessLogController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/ApiErrorLogController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/resources/codegen/java/controller/controller.vm 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-infra/src/main/resources/codegen/sql/sql.vm 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/brand/MdmBrandController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/category/MdmItemCategoryController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/MdmItemController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/unit/MdmUnitMeasureController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/warehouse/MdmWarehouseController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/address/AddressController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/config/MemberConfigController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/group/MemberGroupController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/MemberExperienceRecordController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/MemberLevelController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/MemberLevelRecordController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/MemberPointRecordController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/MemberSignInConfigController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/MemberSignInRecordController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/tag/MemberTagController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/MemberUserController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/calendar/MesCalCalendarController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/holiday/MesCalHolidayController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/plan/MesCalPlanController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/plan/MesCalPlanShiftController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/plan/MesCalPlanTeamController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/team/MesCalTeamController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/team/MesCalTeamMemberController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/team/MesCalTeamShiftController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/checkplan/MesDvCheckPlanController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/checkplan/MesDvCheckPlanMachineryController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/checkplan/MesDvCheckPlanSubjectController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/checkrecord/MesDvCheckRecordController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/checkrecord/MesDvCheckRecordLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/machinery/MesDvMachineryController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/machinery/MesDvMachineryTypeController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/maintenrecord/MesDvMaintenRecordController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/maintenrecord/MesDvMaintenRecordLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/metering/MesDvMeteringController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/meteringcheck/MesDvMeteringCheckController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/repair/MesDvRepairController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/repair/MesDvRepairLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/spare/MesDvSpareController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/subject/MesDvSubjectController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/energy/EnergyAlertController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/energy/EnergyRecordController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/home/MesHomeStatisticsController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/autocode/MesMdAutoCodePartController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/autocode/MesMdAutoCodeRuleController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/MesMdItemBatchConfigController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/MesMdItemController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/MesMdItemTypeController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/MesMdProductBomController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/MesMdProductSipController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/MesMdProductSopController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/unitmeasure/MesMdUnitMeasureController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkshopController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationMachineController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationToolController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationWorkerController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/archive/MesPdArchiveController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/document/MesPdDocumentController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/documentaudit/MesPdDocumentAuditController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/processparam/MesPdProcessParamController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/processparamtemplate/MesPdProcessParamTemplateController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/project/MesPdProjectController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/ai/MesProAiController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/andon/MesProAndonConfigController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/andon/MesProAndonRecordController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/card/MesProCardController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/card/MesProCardProcessController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/feedback/MesProFeedbackController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/mps/MesProMpsController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessContentController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessParamController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteProcessController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteProductBomController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteProductController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/task/MesProTaskController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/task/MesProTaskIssueController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderBomController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderParamRecordController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderProcessController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workrecord/MesProWorkRecordController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/defect/MesQcDefectController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/defectrecord/MesQcDefectRecordController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicator/MesQcIndicatorController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicatorresult/MesQcIndicatorResultController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ipqc/MesQcIpqcController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ipqc/MesQcIpqcLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ledger/MesQcInspectionLedgerController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ncr/MesQcNcrController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/MesQcOqcController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/MesQcOqcLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/pendinginspect/MesQcPendingInspectController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/rqc/MesQcRqcController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/rqc/MesQcRqcLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateIndicatorController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateItemController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/tm/tool/MesTmToolController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/tm/tool/MesTmToolTypeController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/arrivalnotice/MesWmArrivalNoticeController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/arrivalnotice/MesWmArrivalNoticeLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/barcode/MesWmBarcodeConfigController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/barcode/MesWmBarcodeController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/MesWmBatchController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemconsume/MesWmItemConsumeLineController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/MesWmItemReceiptController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/MesWmItemReceiptDetailController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/MesWmItemReceiptLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/materialstock/MesWmMaterialStockController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscissue/MesWmMiscIssueController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscissue/MesWmMiscIssueLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/MesWmMiscReceiptController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/MesWmMiscReceiptLineController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourceissue/MesWmOutsourceIssueController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourceissue/MesWmOutsourceIssueDetailController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourceissue/MesWmOutsourceIssueLineController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourcereceipt/MesWmOutsourceReceiptController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourcereceipt/MesWmOutsourceReceiptDetailController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourcereceipt/MesWmOutsourceReceiptLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/packages/MesWmPackageController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/packages/MesWmPackageLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueDetailController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueLineController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productproduce/MesWmProductProduceLineController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productreceipt/MesWmProductReceiptController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productreceipt/MesWmProductReceiptDetailController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productreceipt/MesWmProductReceiptLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/MesWmProductSalesController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/MesWmProductSalesDetailController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/MesWmProductSalesLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnissue/MesWmReturnIssueController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnissue/MesWmReturnIssueDetailController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnissue/MesWmReturnIssueLineController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnsales/MesWmReturnSalesController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnsales/MesWmReturnSalesDetailController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnsales/MesWmReturnSalesLineController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnvendor/MesWmReturnVendorController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnvendor/MesWmReturnVendorDetailController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnvendor/MesWmReturnVendorLineController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/salesnotice/MesWmSalesNoticeController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/salesnotice/MesWmSalesNoticeLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/sn/MesWmSnController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/plan/MesWmStockTakingPlanController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/plan/MesWmStockTakingPlanParamController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/task/MesWmStockTakingTaskController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/task/MesWmStockTakingTaskLineController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/task/MesWmStockTakingTaskResultController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/transaction/MesWmTransactionController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/transfer/MesWmTransferController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/transfer/MesWmTransferDetailController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/transfer/MesWmTransferLineController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseAreaController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseLocationController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wms/approval/WmsApprovalController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-qcreport/src/main/java/cn/iocoder/yudao/module/qcreport/controller/admin/instance/QcReportInstanceController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-qcreport/src/main/java/cn/iocoder/yudao/module/qcreport/controller/admin/template/QcReportTemplateController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-qcreport/src/main/java/cn/iocoder/yudao/module/qcreport/controller/admin/version/QcReportTemplateVersionController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/apply/SrmSupplierApplyController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/certificate/SrmSupplierCertificateController.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/evaluation/SrmSupplierEvaluationController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/statistics/SrmStatisticsController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/supplier/SrmSupplierCategoryController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/supplier/SrmSupplierContactController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/supplier/SrmSupplierController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmBidAwardController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmBidEvaluationController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmTenderBidController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmTenderConfigController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmTenderProjectController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/DeptController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/PostController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/DictDataController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/DictTypeController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/LoginLogController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/OperateLogController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailAccountController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailLogController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/NoticeController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyMessageController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyTemplateController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2ClientController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/MenuController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/RoleController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsChannelController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsLogController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialClientController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialUserController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/storage/SystemStorageAttachmentController.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/TenantController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/TenantPackageController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-ui/yudao-ui-admin-vue3/src/views/srm/supplier/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-ui/yudao-ui-admin-vue3/src/views/srm/supplierApply/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-ui/yudao-ui-admin-vue3/src/views/srm/supplierEvaluation/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
logs/typecheck-20261024.txt
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,555 @@
src/api/im/manager/channel/index.ts(1,44): error TS2307: Cannot find module '........packageseffects
equestsrc' or its corresponding type declarations.
src/api/im/manager/channel/material/index.ts(1,44): error TS2307: Cannot find module '..........packageseffects
equestsrc' or its corresponding type declarations.
src/api/im/manager/channel/message/index.ts(1,44): error TS2307: Cannot find module '..........packageseffects
equestsrc' or its corresponding type declarations.
src/api/im/manager/face/item/index.ts(1,44): error TS2307: Cannot find module '..........packageseffects
equestsrc' or its corresponding type declarations.
src/api/im/manager/face/pack/index.ts(1,44): error TS2307: Cannot find module '..........packageseffects
equestsrc' or its corresponding type declarations.
src/api/im/manager/face/userItem/index.ts(1,44): error TS2307: Cannot find module '..........packageseffects
equestsrc' or its corresponding type declarations.
src/api/im/manager/friend/index.ts(1,44): error TS2307: Cannot find module '........packageseffects
equestsrc' or its corresponding type declarations.
src/api/im/manager/friend/request/index.ts(1,44): error TS2307: Cannot find module '..........packageseffects
equestsrc' or its corresponding type declarations.
src/api/im/manager/group/index.ts(1,44): error TS2307: Cannot find module '........packageseffects
equestsrc' or its corresponding type declarations.
src/api/im/manager/group/request/index.ts(1,44): error TS2307: Cannot find module '..........packageseffects
equestsrc' or its corresponding type declarations.
src/api/im/manager/message/group/index.ts(1,44): error TS2307: Cannot find module '..........packageseffects
equestsrc' or its corresponding type declarations.
src/api/im/manager/message/private/index.ts(1,44): error TS2307: Cannot find module '..........packageseffects
equestsrc' or its corresponding type declarations.
src/api/im/manager/rtc/index.ts(1,44): error TS2307: Cannot find module '........packageseffects
equestsrc' or its corresponding type declarations.
src/api/im/manager/sensitiveword/index.ts(1,44): error TS2307: Cannot find module '........packageseffects
equestsrc' or its corresponding type declarations.
src/api/mes/pro/workorder/process/index.ts(1,15): error TS2440: Import declaration conflicts with local declaration of 'MesProWorkOrderProcessApi'.
src/components/tinymce/editor.vue(147,21): error TS2345: Argument of type '{ url: any; name: any; id: any; } | { url?: undefined; name?: undefined; id?: undefined; }' is not assignable to parameter of type 'string | PromiseLike<string>'.
  Type '{ url: any; name: any; id: any; }' is not assignable to type 'string | PromiseLike<string>'.
src/components/upload/file-upload.vue(83,9): error TS2322: Type 'string[] | number[]' is not assignable to type 'string[]'.
  Type 'number[]' is not assignable to type 'string[]'.
    Type 'number' is not assignable to type 'string'.
src/components/upload/file-upload.vue(103,63): error TS2698: Spread types may only be created from object types.
src/components/upload/file-upload.vue(198,5): error TS2322: Type '(file: File, onUploadProgress?: ((progressEvent: AxiosProgressEvent) => void) | undefined) => Promise<{ url: any; name: any; id: any; } | { url?: undefined; name?: undefined; id?: undefined; }>' is not assignable to type '(file: File, onUploadProgress?: ((progressEvent: AxiosProgressEvent) => void) | undefined) => Promise<AxiosResponse<any, any, {}>>'.
  Type 'Promise<{ url: any; name: any; id: any; } | { url?: undefined; name?: undefined; id?: undefined; }>' is not assignable to type 'Promise<AxiosResponse<any, any, {}>>'.
    Type '{ url: any; name: any; id: any; } | { url?: undefined; name?: undefined; id?: undefined; }' is not assignable to type 'AxiosResponse<any, any, {}>'.
      Type '{ url: any; name: any; id: any; }' is missing the following properties from type 'AxiosResponse<any, any, {}>': data, status, statusText, headers, config
src/components/upload/image-upload.vue(88,9): error TS2322: Type 'string[] | number[]' is not assignable to type 'string | string[]'.
  Type 'number[]' is not assignable to type 'string | string[]'.
    Type 'number[]' is not assignable to type 'string[]'.
      Type 'number' is not assignable to type 'string'.
src/components/upload/image-upload.vue(93,10): error TS2339: Property 'map' does not exist on type 'string | string[]'.
  Property 'map' does not exist on type 'string'.
src/components/upload/image-upload.vue(93,15): error TS7006: Parameter 'item' implicitly has an 'any' type.
src/components/upload/image-upload.vue(93,21): error TS7006: Parameter 'i' implicitly has an 'any' type.
src/components/upload/image-upload.vue(205,5): error TS2322: Type '(file: File, onUploadProgress?: ((progressEvent: AxiosProgressEvent) => void) | undefined) => Promise<{ url: any; name: any; id: any; } | { url?: undefined; name?: undefined; id?: undefined; }>' is not assignable to type '(file: File, onUploadProgress?: ((progressEvent: AxiosProgressEvent) => void) | undefined) => Promise<AxiosResponse<any, any, {}>>'.
  Type 'Promise<{ url: any; name: any; id: any; } | { url?: undefined; name?: undefined; id?: undefined; }>' is not assignable to type 'Promise<AxiosResponse<any, any, {}>>'.
    Type '{ url: any; name: any; id: any; } | { url?: undefined; name?: undefined; id?: undefined; }' is not assignable to type 'AxiosResponse<any, any, {}>'.
      Type '{ url: any; name: any; id: any; }' is missing the following properties from type 'AxiosResponse<any, any, {}>': data, status, statusText, headers, config
src/packages/@core/base/design/vite.config.ts(2,30): error TS2307: Cannot find module '../../../../internal/vite-config/src' or its corresponding type declarations.
src/packages/@core/base/shared/src/cache/__tests__/storage-manager.test.ts(1,54): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/color/__tests__/convert.test.ts(1,38): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/utils/__tests__/date.test.ts(4,65): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/utils/__tests__/diff.test.ts(1,38): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/utils/__tests__/dom.test.ts(1,54): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/utils/__tests__/inference.test.ts(1,38): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/utils/__tests__/letter.test.ts(1,38): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/utils/__tests__/resources.test.ts(1,54): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/utils/__tests__/resources.test.ts(47,28): error TS7019: Rest parameter 'nodes' implicitly has an 'any[]' type.
src/packages/@core/base/shared/src/utils/__tests__/resources.test.ts(63,20): error TS2339: Property 'dispatchEvent' does not exist on type 'never'.
src/packages/@core/base/shared/src/utils/__tests__/stack.test.ts(1,50): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/utils/__tests__/state-handler.test.ts(1,38): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/utils/__tests__/tree.test.ts(1,38): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/utils/__tests__/unique.test.ts(1,38): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/utils/__tests__/update-css-variables.test.ts(1,28): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/utils/__tests__/util.test.ts(1,38): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/base/shared/src/utils/__tests__/window.test.ts(1,65): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/composables/src/__tests__/use-sortable.test.ts(3,54): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/preferences/__tests__/config.test.ts(1,38): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/preferences/__tests__/preferences.test.ts(1,65): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/preferences/__tests__/preferences.test.ts(15,33): error TS7006: Parameter 'query' implicitly has an 'any' type.
src/packages/@core/preferences/__tests__/preferences.test.ts(126,35): error TS7006: Parameter 'query' implicitly has an 'any' type.
src/packages/@core/preferences/__tests__/preferences.test.ts(285,7): error TS2322: Type '{ readonly fields: readonly [{ readonly component: "switch"; readonly defaultValue: true; readonly key: "enableWorkbench"; readonly label: "启用工作台"; }, { readonly component: "select"; readonly defaultValue: "single"; readonly key: "tenantMode"; readonly label: "租户模式"; readonly options: readonly [...]; }]; readonly ta...' is not assignable to type 'PreferencesExtension<CustomPreferencesRecord>'.
  Types of property 'fields' are incompatible.
    The type 'readonly [{ readonly component: "switch"; readonly defaultValue: true; readonly key: "enableWorkbench"; readonly label: "启用工作台"; }, { readonly component: "select"; readonly defaultValue: "single"; readonly key: "tenantMode"; readonly label: "租户模式"; readonly options: readonly [...]; }]' is 'readonly' and cannot be assigned to the mutable type 'AnyCustomPreferencesField[]'.
src/packages/@core/preferences/__tests__/preferences.test.ts(316,7): error TS2322: Type '{ readonly fields: readonly [{ readonly component: "number"; readonly componentProps: { readonly max: 10; readonly min: 2; readonly step: 2; }; readonly defaultValue: 4; readonly key: "pageSize"; readonly label: "分页大小"; }]; readonly tabLabel: "扩展"; readonly title: "业务偏好"; }' is not assignable to type 'PreferencesExtension<CustomPreferencesRecord>'.
  Types of property 'fields' are incompatible.
    The type 'readonly [{ readonly component: "number"; readonly componentProps: { readonly max: 10; readonly min: 2; readonly step: 2; }; readonly defaultValue: 4; readonly key: "pageSize"; readonly label: "分页大小"; }]' is 'readonly' and cannot be assigned to the mutable type 'AnyCustomPreferencesField[]'.
src/packages/@core/preferences/__tests__/preferences.test.ts(482,57): error TS7006: Parameter 'key' implicitly has an 'any' type.
src/packages/@core/preferences/__tests__/preferences.test.ts(530,56): error TS7006: Parameter 'query' implicitly has an 'any' type.
src/packages/@core/ui-kit/form-ui/__tests__/form-api.test.ts(1,54): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/ui-kit/form-ui/src/form-render/form.vue(56,1): error TS2578: Unused '@ts-expect-error' directive.
src/packages/@core/ui-kit/layout-ui/src/components/layout-content.vue(29,1): error TS2578: Unused '@ts-expect-error' directive.
src/packages/@core/ui-kit/popup-ui/src/drawer/__tests__/drawer-api.test.ts(3,54): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/ui-kit/popup-ui/src/drawer/drawer.vue(57,1): error TS2578: Unused '@ts-expect-error' directive.
src/packages/@core/ui-kit/popup-ui/src/modal/__tests__/modal-api.test.ts(3,54): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/@core/ui-kit/popup-ui/src/modal/modal.vue(49,1): error TS2578: Unused '@ts-expect-error' directive.
src/packages/@core/ui-kit/popup-ui/src/modal/modal.vue(53,1): error TS2578: Unused '@ts-expect-error' directive.
src/packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue(31,1): error TS2578: Unused '@ts-expect-error' directive.
src/packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue(33,1): error TS2578: Unused '@ts-expect-error' directive.
src/packages/@core/ui-kit/tabs-ui/src/tabs-view.vue(32,3): error TS2578: Unused '@ts-expect-error' directive.
src/packages/effects/common-ui/src/components/iframe/iframe.vue(13,1): error TS2578: Unused '@ts-expect-error' directive.
src/packages/effects/common-ui/src/components/page/__tests__/page.test.ts(3,38): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/effects/layouts/src/widgets/preferences/preferences-drawer.vue(507,16): error TS2345: Argument of type '{ copyrightCompanyName: string | undefined; copyrightCompanySiteLink: string | undefined; copyrightDate: string | undefined; copyrightEnable: boolean | undefined; copyrightIcp: string | undefined; copyrightIcpLink: string | undefined; }' is not assignable to parameter of type '{ readonly disabled: boolean; readonly copyrightEnable?: boolean | undefined; readonly copyrightDate?: string | undefined; readonly copyrightIcp?: string | undefined; readonly copyrightIcpLink?: string | undefined; ... 7 more ...; readonly "onUpdate:copyrightIcpLink"?: ((value: string | undefined) => any) | undefine...'.
  Property 'disabled' is missing in type '{ copyrightCompanyName: string | undefined; copyrightCompanySiteLink: string | undefined; copyrightDate: string | undefined; copyrightEnable: boolean | undefined; copyrightIcp: string | undefined; copyrightIcpLink: string | undefined; }' but required in type '{ readonly disabled: boolean; readonly copyrightEnable?: boolean | undefined; readonly copyrightDate?: string | undefined; readonly copyrightIcp?: string | undefined; readonly copyrightIcpLink?: string | undefined; ... 7 more ...; readonly "onUpdate:copyrightIcpLink"?: ((value: string | undefined) => any) | undefine...'.
src/packages/effects/request/src/request-client/modules/downloader.test.ts(3,54): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/effects/request/src/request-client/modules/sse.test.ts(3,54): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/effects/request/src/request-client/modules/sse.test.ts(97,38): error TS7006: Parameter 'config' implicitly has an 'any' type.
src/packages/effects/request/src/request-client/modules/uploader.test.ts(3,54): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/effects/request/src/request-client/request-client.test.ts(3,61): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/icons/src/offline-icons.ts(6,31): error TS2307: Cannot find module '@iconify/vue' or its corresponding type declarations.
src/packages/stores/src/modules/access.test.ts(2,50): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/stores/src/modules/tabbar.test.ts(4,54): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/stores/src/modules/user.test.ts(2,50): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/utils/src/helpers/__tests__/find-menu-by-path.test.ts(1,38): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/utils/src/helpers/__tests__/generate-menus.test.ts(5,42): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/utils/src/helpers/__tests__/generate-routes-frontend.test.ts(3,38): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/packages/utils/src/helpers/__tests__/generate-routes-frontend.test.ts(41,25): error TS2345: Argument of type 'RouteRecordRaw | undefined' is not assignable to parameter of type 'RouteRecordRaw'.
  Type 'undefined' is not assignable to type 'RouteRecordRaw'.
src/packages/utils/src/helpers/__tests__/generate-routes-frontend.test.ts(45,25): error TS2345: Argument of type 'RouteRecordRaw | undefined' is not assignable to parameter of type 'RouteRecordRaw'.
  Type 'undefined' is not assignable to type 'RouteRecordRaw'.
src/packages/utils/src/helpers/__tests__/generate-routes-frontend.test.ts(49,25): error TS2345: Argument of type 'RouteRecordRaw | undefined' is not assignable to parameter of type 'RouteRecordRaw'.
  Type 'undefined' is not assignable to type 'RouteRecordRaw'.
src/packages/utils/src/helpers/__tests__/merge-route-modules.test.ts(5,38): error TS2307: Cannot find module 'vitest' or its corresponding type declarations.
src/store/mall/kefu.ts(1,46): error TS2307: Cannot find module '#/api/mall/promotion/kefu/conversation' or its corresponding type declarations.
src/store/mall/kefu.ts(2,41): error TS2307: Cannot find module '#/api/mall/promotion/kefu/message' or its corresponding type declarations.
src/store/mall/kefu.ts(11,8): error TS2307: Cannot find module '#/api/mall/promotion/kefu/conversation' or its corresponding type declarations.
src/store/mall/kefu.ts(84,10): error TS7006: Parameter 'item' implicitly has an 'any' type.
src/store/mall/kefu.ts(93,63): error TS7006: Parameter 'a' implicitly has an 'any' type.
src/store/mall/kefu.ts(93,66): error TS7006: Parameter 'b' implicitly has an 'any' type.
src/views/_core/profile/modules/profile-user.vue(41,29): error TS2322: Type '{ url: any; name: any; id: any; } | { url?: undefined; name?: undefined; id?: undefined; }' is not assignable to type 'string | undefined'.
  Type '{ url: any; name: any; id: any; }' is not assignable to type 'string'.
src/views/aftersales/return/detail.vue(126,31): error TS2352: Conversion of type 'SaleOrder' to type 'Record<string, unknown>' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Index signature for type 'string' is missing in type 'SaleOrder'.
src/views/aftersales/return/detail.vue(140,31): error TS2352: Conversion of type 'SaleOrder' to type 'Record<string, unknown>' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Index signature for type 'string' is missing in type 'SaleOrder'.
src/views/aftersales/ticket/modules/form.vue(147,33): error TS2352: Conversion of type 'Ticket' to type 'Record<string, unknown>' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Index signature for type 'string' is missing in type 'Ticket'.
src/views/aftersales/ticket/modules/form.vue(158,31): error TS2352: Conversion of type 'SaleOrder' to type 'Record<string, unknown>' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Index signature for type 'string' is missing in type 'SaleOrder'.
src/views/aftersales/ticket/modules/form.vue(185,36): error TS2344: Type 'TicketItem | null' does not satisfy the constraint 'object'.
  Type 'null' is not assignable to type 'object'.
src/views/aftersales/ticket/modules/form.vue(230,29): error TS2352: Conversion of type 'Ticket' to type 'Record<string, unknown>' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Index signature for type 'string' is missing in type 'Ticket'.
src/views/ai/image/index/index.vue(24,1): error TS2578: Unused '@ts-expect-error' directive.
src/views/basicData/mdm/index.vue(286,42): error TS2345: Argument of type 'CheckedType' is not assignable to parameter of type 'boolean'.
  Type 'string' is not assignable to type 'boolean'.
src/views/bi/config/chart/index.vue(104,13): error TS2554: Expected 1 arguments, but got 0.
src/views/bi/dashboard/chart-options.ts(116,5): error TS2322: Type '{ avoidLabelOverlap: true; data: { name: string; value: number; }[]; emphasis: { itemStyle: { shadowBlur: number; shadowColor: string; }; label: { fontSize: number; fontWeight: "bold"; show: true; }; scaleSize: number; }; itemStyle: { ...; }; label: { ...; }; radius: string[]; type: "pie"; }[]' is not assignable to type 'SeriesOption$1 | SeriesOption$1[] | undefined'.
  Type '{ avoidLabelOverlap: true; data: { name: string; value: number; }[]; emphasis: { itemStyle: { shadowBlur: number; shadowColor: string; }; label: { fontSize: number; fontWeight: "bold"; show: true; }; scaleSize: number; }; itemStyle: { ...; }; label: { ...; }; radius: string[]; type: "pie"; }[]' is not assignable to type 'MapSeriesOption$1 | LineSeriesOption$1 | CustomSeriesOption$1 | TreeSeriesOption$1 | ... 19 more ... | SeriesOption$1[]'.
    Type '{ avoidLabelOverlap: true; data: { name: string; value: number; }[]; emphasis: { itemStyle: { shadowBlur: number; shadowColor: string; }; label: { fontSize: number; fontWeight: "bold"; show: true; }; scaleSize: number; }; itemStyle: { ...; }; label: { ...; }; radius: string[]; type: "pie"; }' is not assignable to type 'SeriesOption$1'.
      The types of 'itemStyle.color' are incompatible between these types.
        Type '(params: { dataIndex: number; }) => string | undefined' is not assignable to type 'ZRColor | ((params: PieCallbackDataParams) => ZRColor) | undefined'.
          Type '(params: { dataIndex: number; }) => string | undefined' is not assignable to type '(params: PieCallbackDataParams) => ZRColor'.
            Type 'string | undefined' is not assignable to type 'ZRColor'.
              Type 'undefined' is not assignable to type 'ZRColor'.
src/views/bi/dashboard/chart-options.ts(184,5): error TS2322: Type '{ formatter: (params: { value: [number, number]; }) => string; trigger: "item"; backgroundColor: string; borderColor: string; borderWidth: number; padding: number[]; textStyle: { color: string; fontSize: number; }; }' is not assignable to type 'TooltipOption | TooltipOption[] | undefined'.
  Types of property 'formatter' are incompatible.
    Type '(params: { value: [number, number]; }) => string' is not assignable to type 'string | TooltipFormatterCallback<TopLevelFormatterParams> | undefined'.
      Type '(params: { value: [number, number]; }) => string' is not assignable to type 'TooltipFormatterCallback<TopLevelFormatterParams>'.
        Types of parameters 'params' and 'params' are incompatible.
          Type 'TopLevelFormatterParams' is not assignable to type '{ value: [number, number]; }'.
            Type 'CallbackDataParams' is not assignable to type '{ value: [number, number]; }'.
              Types of property 'value' are incompatible.
                Type 'string | number | Date | Dictionary<OptionDataValue> | OptionDataValue[] | OptionDataItemObject<OptionDataValue> | null | undefined' is not assignable to type '[number, number]'.
                  Type 'undefined' is not assignable to type '[number, number]'.
src/views/bi/dashboard/modules/ChartCard.vue(58,18): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/dashboard/modules/ChartCard.vue(59,18): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/decision/forecast-analysis/index.vue(93,27): error TS2532: Object is possibly 'undefined'.
src/views/bi/decision/trend-analysis/index.vue(69,27): error TS2532: Object is possibly 'undefined'.
src/views/bi/warehouse/chart-options.ts(45,5): error TS2322: Type '{ barGap: string; barMaxWidth: number; data: number[]; emphasis: { itemStyle: { shadowBlur: number; shadowColor: string | undefined; }; }; itemStyle: { borderRadius: number[]; color: { colorStops: { color: string | undefined; offset: number; }[]; ... 4 more ...; y2: number; }; }; name: string; type: "bar"; }[]' is not assignable to type 'SeriesOption$1 | SeriesOption$1[] | undefined'.
  Type '{ barGap: string; barMaxWidth: number; data: number[]; emphasis: { itemStyle: { shadowBlur: number; shadowColor: string | undefined; }; }; itemStyle: { borderRadius: number[]; color: { colorStops: { color: string | undefined; offset: number; }[]; ... 4 more ...; y2: number; }; }; name: string; type: "bar"; }[]' is not assignable to type 'MapSeriesOption$1 | LineSeriesOption$1 | CustomSeriesOption$1 | TreeSeriesOption$1 | ... 19 more ... | SeriesOption$1[]'.
    Type '{ barGap: string; barMaxWidth: number; data: number[]; emphasis: { itemStyle: { shadowBlur: number; shadowColor: string | undefined; }; }; itemStyle: { borderRadius: number[]; color: { colorStops: { color: string | undefined; offset: number; }[]; ... 4 more ...; y2: number; }; }; name: string; type: "bar"; }[]' is not assignable to type 'SeriesOption$1[]'.
      Type '{ barGap: string; barMaxWidth: number; data: number[]; emphasis: { itemStyle: { shadowBlur: number; shadowColor: string | undefined; }; }; itemStyle: { borderRadius: number[]; color: { colorStops: { color: string | undefined; offset: number; }[]; ... 4 more ...; y2: number; }; }; name: string; type: "bar"; }' is not assignable to type 'SeriesOption$1'.
        Type '{ barGap: string; barMaxWidth: number; data: number[]; emphasis: { itemStyle: { shadowBlur: number; shadowColor: string | undefined; }; }; itemStyle: { borderRadius: number[]; color: { colorStops: { color: string | undefined; offset: number; }[]; ... 4 more ...; y2: number; }; }; name: string; type: "bar"; }' is not assignable to type 'BarSeriesOption$1'.
          Type '{ barGap: string; barMaxWidth: number; data: number[]; emphasis: { itemStyle: { shadowBlur: number; shadowColor: string | undefined; }; }; itemStyle: { borderRadius: number[]; color: { colorStops: { color: string | undefined; offset: number; }[]; ... 4 more ...; y2: number; }; }; name: string; type: "bar"; }' is not assignable to type 'BarSeriesOption'.
            The types of 'itemStyle.color' are incompatible between these types.
              Type '{ colorStops: { color: string | undefined; offset: number; }[]; type: "linear"; x: number; y: number; x2: number; y2: number; }' is not assignable to type 'ZRColor | ((params: CallbackDataParams) => ZRColor) | undefined'.
                Type '{ colorStops: { color: string | undefined; offset: number; }[]; type: "linear"; x: number; y: number; x2: number; y2: number; }' is not assignable to type 'LinearGradientObject | ((params: CallbackDataParams) => ZRColor)'.
                  Type '{ colorStops: { color: string | undefined; offset: number; }[]; type: "linear"; x: number; y: number; x2: number; y2: number; }' is not assignable to type 'LinearGradientObject'.
                    Types of property 'colorStops' are incompatible.
                      Type '{ color: string | undefined; offset: number; }[]' is not assignable to type 'GradientColorStop[]'.
                        Type '{ color: string | undefined; offset: number; }' is not assignable to type 'GradientColorStop'.
                          Types of property 'color' are incompatible.
                            Type 'string | undefined' is not assignable to type 'string'.
                              Type 'undefined' is not assignable to type 'string'.
src/views/bi/warehouse/chart-options.ts(93,5): error TS2322: Type '{ avoidLabelOverlap: true; data: { name: string; value: number; }[]; emphasis: { itemStyle: { shadowBlur: number; shadowColor: string; }; label: { fontSize: number; fontWeight: "bold"; show: true; }; scaleSize: number; }; itemStyle: { ...; }; label: { ...; }; radius: string[]; type: "pie"; }[]' is not assignable to type 'SeriesOption$1 | SeriesOption$1[] | undefined'.
  Type '{ avoidLabelOverlap: true; data: { name: string; value: number; }[]; emphasis: { itemStyle: { shadowBlur: number; shadowColor: string; }; label: { fontSize: number; fontWeight: "bold"; show: true; }; scaleSize: number; }; itemStyle: { ...; }; label: { ...; }; radius: string[]; type: "pie"; }[]' is not assignable to type 'MapSeriesOption$1 | LineSeriesOption$1 | CustomSeriesOption$1 | TreeSeriesOption$1 | ... 19 more ... | SeriesOption$1[]'.
    Type '{ avoidLabelOverlap: true; data: { name: string; value: number; }[]; emphasis: { itemStyle: { shadowBlur: number; shadowColor: string; }; label: { fontSize: number; fontWeight: "bold"; show: true; }; scaleSize: number; }; itemStyle: { ...; }; label: { ...; }; radius: string[]; type: "pie"; }' is not assignable to type 'SeriesOption$1'.
      The types of 'itemStyle.color' are incompatible between these types.
        Type '(params: { dataIndex: number; }) => string | undefined' is not assignable to type 'ZRColor | ((params: PieCallbackDataParams) => ZRColor) | undefined'.
          Type '(params: { dataIndex: number; }) => string | undefined' is not assignable to type '(params: PieCallbackDataParams) => ZRColor'.
            Type 'string | undefined' is not assignable to type 'ZRColor'.
              Type 'undefined' is not assignable to type 'ZRColor'.
src/views/bi/warehouse/chart-options.ts(124,26): error TS18048: 'seed' is possibly 'undefined'.
src/views/bi/warehouse/chart-options.ts(126,17): error TS18048: 'lng' is possibly 'undefined'.
src/views/bi/warehouse/chart-options.ts(126,50): error TS18048: 'lat' is possibly 'undefined'.
src/views/bi/warehouse/chart-options.ts(131,11): error TS2532: Object is possibly 'undefined'.
src/views/bi/warehouse/chart-options.ts(131,42): error TS2532: Object is possibly 'undefined'.
src/views/bi/warehouse/chart-options.ts(131,56): error TS2532: Object is possibly 'undefined'.
src/views/bi/warehouse/chart-options.ts(132,11): error TS2532: Object is possibly 'undefined'.
src/views/bi/warehouse/chart-options.ts(132,42): error TS2532: Object is possibly 'undefined'.
src/views/bi/warehouse/chart-options.ts(132,56): error TS2532: Object is possibly 'undefined'.
src/views/bi/warehouse/chart-options.ts(189,5): error TS2322: Type '({ name: string; type: "scatter"; coordinateSystem: string; data: { name: string; value: number[]; }[]; symbolSize: (val: number[]) => number; silent: true; itemStyle: { color: { type: "radial"; x: number; y: number; r: number; colorStops: { ...; }[]; }; }; emphasis: { ...; }; zlevel: number; } | { ...; } | { ...; }...' is not assignable to type 'SeriesOption$1 | SeriesOption$1[] | undefined'.
  Type '({ name: string; type: "scatter"; coordinateSystem: string; data: { name: string; value: number[]; }[]; symbolSize: (val: number[]) => number; silent: true; itemStyle: { color: { type: "radial"; x: number; y: number; r: number; colorStops: { ...; }[]; }; }; emphasis: { ...; }; zlevel: number; } | { ...; } | { ...; }...' is not assignable to type 'MapSeriesOption$1 | LineSeriesOption$1 | CustomSeriesOption$1 | TreeSeriesOption$1 | ... 19 more ... | SeriesOption$1[]'.
    Type '({ name: string; type: "scatter"; coordinateSystem: string; data: { name: string; value: number[]; }[]; symbolSize: (val: number[]) => number; silent: true; itemStyle: { color: { type: "radial"; x: number; y: number; r: number; colorStops: { ...; }[]; }; }; emphasis: { ...; }; zlevel: number; } | { ...; } | { ...; }...' is not assignable to type 'SeriesOption$1[]'.
      Type '{ name: string; type: "lines"; coordinateSystem: string; data: { coords: (number[] | undefined)[]; }[]; lineStyle: { color: { type: "linear"; x: number; y: number; x2: number; y2: number; colorStops: { offset: number; color: string; }[]; }; ... 4 more ...; shadowColor: string; }; effect: { ...; }; zlevel: number; }' is not assignable to type 'SeriesOption$1'.
        Types of property 'data' are incompatible.
          Type '{ coords: (number[] | undefined)[]; }[]' is not assignable to type 'ArrayLike<number> | LinesDataItemOption[] | undefined'.
            Type '{ coords: (number[] | undefined)[]; }[]' is not assignable to type 'LinesDataItemOption[]'.
              Type '{ coords: (number[] | undefined)[]; }' is not assignable to type 'LinesDataItemOption'.
                Types of property 'coords' are incompatible.
                  Type '(number[] | undefined)[]' is not assignable to type 'number[][]'.
                    Type 'number[] | undefined' is not assignable to type 'number[]'.
                      Type 'undefined' is not assignable to type 'number[]'.
src/views/bi/warehouse/chart-options.ts(380,5): error TS2322: Type '{ backgroundColor: string; borderColor: string; borderWidth: number; padding: number[]; textStyle: { color: string; fontSize: number; fontFamily: string; }; formatter: (params: { name?: string; value?: number[]; }) => string; trigger: "item"; }' is not assignable to type 'TooltipOption | TooltipOption[] | undefined'.
  Types of property 'formatter' are incompatible.
    Type '(params: { name?: string; value?: number[]; }) => string' is not assignable to type 'string | TooltipFormatterCallback<TopLevelFormatterParams> | undefined'.
      Type '(params: { name?: string; value?: number[]; }) => string' is not assignable to type 'TooltipFormatterCallback<TopLevelFormatterParams>'.
        Types of parameters 'params' and 'params' are incompatible.
          Type 'TopLevelFormatterParams' is not assignable to type '{ name?: string | undefined; value?: number[] | undefined; }'.
            Type 'CallbackDataParams' is not assignable to type '{ name?: string | undefined; value?: number[] | undefined; }'.
              Types of property 'value' are incompatible.
                Type 'string | number | Date | Dictionary<OptionDataValue> | OptionDataValue[] | OptionDataItemObject<OptionDataValue> | null | undefined' is not assignable to type 'number[] | undefined'.
                  Type 'null' is not assignable to type 'number[] | undefined'.
src/views/bi/warehouse/chart-options.ts(391,45): error TS2532: Object is possibly 'undefined'.
src/views/bi/warehouse/chart-options.ts(462,67): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/chart-options.ts(464,5): error TS2322: Type '{ formatter: (p: { dataIndex: number; }) => string; trigger: "item"; backgroundColor: string; borderColor: string; borderWidth: number; padding: number[]; textStyle: { color: string; fontSize: number; }; }' is not assignable to type 'TooltipOption | TooltipOption[] | undefined'.
  Types of property 'formatter' are incompatible.
    Type '(p: { dataIndex: number; }) => string' is not assignable to type 'string | TooltipFormatterCallback<TopLevelFormatterParams> | undefined'.
      Type '(p: { dataIndex: number; }) => string' is not assignable to type 'TooltipFormatterCallback<TopLevelFormatterParams>'.
        Types of parameters 'p' and 'params' are incompatible.
          Type 'TopLevelFormatterParams' is not assignable to type '{ dataIndex: number; }'.
            Property 'dataIndex' is missing in type 'CallbackDataParams[]' but required in type '{ dataIndex: number; }'.
src/views/bi/warehouse/chart-options.ts(466,94): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/index.vue(109,35): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/index.vue(128,35): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/index.vue(149,7): error TS2322: Type 'string | undefined' is not assignable to type 'string'.
  Type 'undefined' is not assignable to type 'string'.
src/views/bi/warehouse/index.vue(180,27): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/index.vue(181,28): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/index.vue(192,24): error TS2532: Object is possibly 'undefined'.
src/views/bi/warehouse/index.vue(192,43): error TS2532: Object is possibly 'undefined'.
src/views/bi/warehouse/index.vue(203,29): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/index.vue(203,62): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/index.vue(224,39): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/index.vue(225,40): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/index.vue(246,27): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/index.vue(247,26): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/index.vue(267,23): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/index.vue(267,37): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/bi/warehouse/index.vue(303,43): error TS2532: Object is possibly 'undefined'.
src/views/bi/warehouse/index.vue(303,65): error TS2532: Object is possibly 'undefined'.
src/views/bi/warehouse/index.vue(320,36): error TS2532: Object is possibly 'undefined'.
src/views/bi/warehouse/index.vue(320,58): error TS2532: Object is possibly 'undefined'.
src/views/bpm/components/bpmn-process-designer/package/designer/ProcessDesigner.vue(135,1): error TS2578: Unused '@ts-expect-error' directive.
src/views/bpm/components/bpmn-process-designer/package/penal/multi-instance/ElementMultiInstance.vue(74,1): error TS2578: Unused '@ts-expect-error' directive.
src/views/bpm/components/bpmn-process-designer/package/penal/task/task-components/UserTask.vue(73,1): error TS2578: Unused '@ts-expect-error' directive.
src/views/bpm/components/simple-process-design/components/nodes-config/trigger-node-config.vue(74,1): error TS2578: Unused '@ts-expect-error' directive.
src/views/bpm/components/simple-process-design/components/nodes/child-process-node.vue(34,1): error TS2578: Unused '@ts-expect-error' directive.
src/views/bpm/components/simple-process-design/components/nodes/copy-task-node.vue(34,1): error TS2578: Unused '@ts-expect-error' directive.
src/views/bpm/components/simple-process-design/components/nodes/delay-timer-node.vue(32,1): error TS2578: Unused '@ts-expect-error' directive.
src/views/bpm/components/simple-process-design/components/nodes/router-node.vue(35,1): error TS2578: Unused '@ts-expect-error' directive.
src/views/bpm/components/simple-process-design/components/nodes/start-user-node.vue(40,1): error TS2578: Unused '@ts-expect-error' directive.
src/views/bpm/components/simple-process-design/components/nodes/user-task-node.vue(40,1): error TS2578: Unused '@ts-expect-error' directive.
src/views/bpm/processInstance/detail/modules/operation-button.vue(130,1): error TS2578: Unused '@ts-expect-error' directive.
src/views/crm/backlog/modules/contract-audit-list.vue(22,22): error TS2339: Property 'processInstanceId' does not exist on type 'Contract'.
src/views/crm/backlog/modules/contract-remind-list.vue(22,22): error TS2339: Property 'processInstanceId' does not exist on type 'Contract'.
src/views/crm/product/components/edit-table.vue(43,28): error TS2503: Cannot find namespace 'CrmProductApi'.
src/views/crm/report/index.vue(82,21): error TS2322: Type '[string, string] | null' is not assignable to type '[string, string] | [Dayjs, Dayjs] | undefined'.
  Type 'null' is not assignable to type '[string, string] | [Dayjs, Dayjs] | undefined'.
src/views/crm/saleQuotation/modules/item-form.vue(70,5): error TS2322: Type 'undefined' is not assignable to type 'number'.
src/views/crm/saleQuotation/modules/item-form.vue(71,5): error TS2322: Type 'undefined' is not assignable to type 'string'.
src/views/crm/saleQuotation/modules/item-form.vue(72,5): error TS2322: Type 'undefined' is not assignable to type 'string'.
src/views/crm/saleQuotation/modules/item-form.vue(75,5): error TS2322: Type 'undefined' is not assignable to type 'string'.
src/views/crm/saleQuotation/modules/item-form.vue(78,5): error TS2322: Type 'undefined' is not assignable to type 'number'.
src/views/crm/saleQuotation/modules/item-form.vue(79,5): error TS2322: Type 'undefined' is not assignable to type 'number'.
src/views/crm/saleQuotation/modules/item-form.vue(88,58): error TS2339: Property 'seq' does not exist on type '{ id: number; itemId: number; itemName: string; itemCode: string; itemBarCode?: string | undefined; itemSpecification?: string | undefined; itemUnitName: string; itemUnitName2?: string | undefined; ... 7 more ...; remark?: string | undefined; }'.
src/views/crm/saleQuotation/modules/item-form.vue(88,70): error TS2339: Property 'seq' does not exist on type 'SaleQuotationItem'.
src/views/crm/saleQuotation/modules/item-form.vue(193,34): error TS2339: Property 'itemId' does not exist on type 'never'.
src/views/crm/saleQuotation/modules/item-form.vue(194,21): error TS2339: Property 'itemName' does not exist on type 'never'.
src/views/crm/saleQuotation/modules/item-form.vue(198,27): error TS2339: Property 'itemName' does not exist on type 'never'.
src/views/crm/saleQuotation/modules/item-form.vue(203,28): error TS2339: Property 'quotationPrice' does not exist on type 'never'.
src/views/crm/saleQuotation/modules/item-form.vue(206,54): error TS2345: Argument of type 'ValueType' is not assignable to parameter of type 'number'.
  Type 'string' is not assignable to type 'number'.
src/views/crm/saleQuotation/modules/item-form.vue(208,27): error TS2339: Property 'quotationPrice' does not exist on type 'never'.
src/views/crm/saleQuotation/modules/item-form.vue(213,28): error TS2339: Property 'count' does not exist on type 'never'.
src/views/crm/saleQuotation/modules/item-form.vue(216,45): error TS2345: Argument of type 'ValueType' is not assignable to parameter of type 'number'.
  Type 'string' is not assignable to type 'number'.
src/views/crm/saleQuotation/modules/item-form.vue(218,27): error TS2339: Property 'count' does not exist on type 'never'.
src/views/erp/purchase/in/modules/form.vue(195,27): error TS2339: Property 'attachmentList' does not exist on type '{ id?: number | undefined; no?: string | undefined; supplierId?: number | undefined; inTime?: Date | undefined; totalCount?: number | undefined; totalPrice?: number | undefined; ... 19 more ...; orderNo?: string | undefined; }'.
src/views/erp/purchase/in/modules/form.vue(196,40): error TS2339: Property 'attachmentList' does not exist on type '{ id?: number | undefined; no?: string | undefined; supplierId?: number | undefined; inTime?: Date | undefined; totalCount?: number | undefined; totalPrice?: number | undefined; ... 19 more ...; orderNo?: string | undefined; }'.
src/views/erp/purchase/in/modules/form.vue(196,60): error TS7006: Parameter 'item' implicitly has an 'any' type.
src/views/erp/purchase/request/index.vue(287,24): error TS2551: Property 'inStatus' does not exist on type 'PurchaseRequest'. Did you mean 'status'?
src/views/erp/purchase/request/index.vue(288,29): error TS2551: Property 'inStatus' does not exist on type 'PurchaseRequest'. Did you mean 'status'?
src/views/erp/purchase/request/index.vue(289,29): error TS2551: Property 'inStatus' does not exist on type 'PurchaseRequest'. Did you mean 'status'?
src/views/erp/purchase/request/modules/form.vue(87,25): error TS2339: Property 'qcCheckFlag' does not exist on type 'PurchaseRequestItem'.
src/views/erp/purchase/request/modules/item-form.vue(101,24): error TS2345: Argument of type '{ id: undefined; productId: undefined; productUnitId: undefined; productUnitName: undefined; productBarCode: undefined; count: number; productPrice: undefined; taxPercent: undefined; demandTime: undefined; remark: undefined; totalPrice: number; qcCheckFlag: boolean; }' is not assignable to parameter of type '{ id?: number | undefined; productId: number; productName?: string | undefined; productUnitId?: number | undefined; productUnitName?: string | undefined; productBarCode?: string | undefined; ... 4 more ...; remark?: string | undefined; }'.
  Types of property 'productId' are incompatible.
    Type 'undefined' is not assignable to type 'number'.
src/views/erp/purchase/request/modules/item-form.vue(107,58): error TS2339: Property 'seq' does not exist on type '{ id?: number | undefined; productId: number; productName?: string | undefined; productUnitId?: number | undefined; productUnitName?: string | undefined; productBarCode?: string | undefined; ... 4 more ...; remark?: string | undefined; }'.
src/views/erp/purchase/request/modules/item-form.vue(107,70): error TS2339: Property 'seq' does not exist on type 'PurchaseRequestItem'.
src/views/erp/purchase/request/modules/item-form.vue(131,58): error TS2339: Property 'seq' does not exist on type '{ id?: number | undefined; productId: number; productName?: string | undefined; productUnitId?: number | undefined; productUnitName?: string | undefined; productBarCode?: string | undefined; ... 4 more ...; remark?: string | undefined; }'.
src/views/erp/purchase/request/modules/item-form.vue(147,9): error TS2339: Property 'totalPrice' does not exist on type 'PurchaseRequestItem'.
src/views/erp/purchase/request/modules/item-form.vue(185,30): error TS2322: Type 'number | undefined' is not assignable to type 'number'.
  Type 'undefined' is not assignable to type 'number'.
src/views/erp/purchase/request/modules/item-form.vue(238,30): error TS2339: Property 'qcCheckFlag' does not exist on type '{ id?: number | undefined; productId: number; productName?: string | undefined; productUnitId?: number | undefined; productUnitName?: string | undefined; productBarCode?: string | undefined; ... 4 more ...; remark?: string | undefined; }'.
src/views/erp/purchase/request/modules/item-form.vue(243,27): error TS2339: Property 'qcCheckFlag' does not exist on type '{ id?: number | undefined; productId: number; productName?: string | undefined; productUnitId?: number | undefined; productUnitName?: string | undefined; productBarCode?: string | undefined; ... 4 more ...; remark?: string | undefined; }'.
src/views/erp/purchase/request/modules/order-form.vue(52,5): error TS2322: Type 'SupplierVO[]' is not assignable to type '{ id: number; name: string; }[] | { id: number; name: string; }[]'.
  Type 'SupplierVO[]' is not assignable to type '{ id: number; name: string; }[]'.
    Type 'SupplierVO' is not assignable to type '{ id: number; name: string; }'.
      Types of property 'id' are incompatible.
        Type 'number | undefined' is not assignable to type 'number'.
          Type 'undefined' is not assignable to type 'number'.
src/views/erp/purchase/return/modules/form.vue(195,27): error TS2339: Property 'attachmentList' does not exist on type '{ id?: number | undefined; no?: string | undefined; supplierId?: number | undefined; returnTime?: Date | undefined; totalCount?: number | undefined; totalPrice: number; refundPrice?: number | undefined; ... 10 more ...; orderNo?: string | undefined; }'.
src/views/erp/purchase/return/modules/form.vue(196,40): error TS2339: Property 'attachmentList' does not exist on type '{ id?: number | undefined; no?: string | undefined; supplierId?: number | undefined; returnTime?: Date | undefined; totalCount?: number | undefined; totalPrice: number; refundPrice?: number | undefined; ... 10 more ...; orderNo?: string | undefined; }'.
src/views/erp/purchase/return/modules/form.vue(196,60): error TS7006: Parameter 'item' implicitly has an 'any' type.
src/views/erp/purchase/statistics/price.vue(123,20): error TS18048: 'row.priceChangeRate' is possibly 'undefined'.
src/views/erp/purchase/statistics/price.vue(126,25): error TS18048: 'row.priceChangeRate' is possibly 'undefined'.
src/views/erp/purchase/statistics/uncompleted.vue(138,20): error TS18048: 'row.daysOverdue' is possibly 'undefined'.
src/views/erp/sale/order/data.ts(51,7): error TS2353: Object literal may only specify known properties, and 'slots' does not exist in type '({ component: "Input"; componentProps?: MappedComponentProps<Partial<ExtractPropTypes<Omit<{ id: StringConstructor; placeholder: { type: PropType<string | number>; }; autocomplete: StringConstructor; ... 41 more ...; allowClear: { ...; }; }, "wrapperClassName" | ... 2 more ... | "inputClassName">>>> | undefined; } &...'.
src/views/erp/sale/order/index.vue(392,23): error TS2322: Type '() => boolean | undefined' is not assignable to type 'boolean | ((action: ActionItem) => boolean) | undefined'.
  Type '() => boolean | undefined' is not assignable to type '(action: ActionItem) => boolean'.
    Type 'boolean | undefined' is not assignable to type 'boolean'.
      Type 'undefined' is not assignable to type 'boolean'.
src/views/erp/sale/return/modules/form.vue(146,7): error TS2353: Object literal may only specify known properties, and 'totalCount' does not exist in type 'SaleReturnItem'.
src/views/erp/sale/return/modules/form.vue(240,25): error TS2352: Conversion of type 'PageResult<SaleOrder>' to type 'Record<string, unknown>' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Index signature for type 'string' is missing in type 'PageResult<SaleOrder>'.
src/views/erp/sale/return/modules/form.vue(242,23): error TS2532: Object is possibly 'undefined'.
src/views/erp/sale/return/modules/item-form.vue(174,5): error TS2322: Type 'string | undefined' is not assignable to type 'string'.
  Type 'undefined' is not assignable to type 'string'.
src/views/erp/stock/warehouseMapping/modules/form.vue(36,29): error TS2345: Argument of type 'Recordable<any>' is not assignable to parameter of type 'WarehouseMapping'.
  Type 'Recordable<any>' is missing the following properties from type 'WarehouseMapping': erpWarehouseId, mesWarehouseId, status
src/views/erp/stock/warehouseMapping/modules/form.vue(39,29): error TS2345: Argument of type 'Recordable<any>' is not assignable to parameter of type 'WarehouseMapping'.
  Type 'Recordable<any>' is missing the following properties from type 'WarehouseMapping': erpWarehouseId, mesWarehouseId, status
src/views/hrm/employee/contract/modules/terminate.vue(80,39): error TS2345: Argument of type '{ id: number; }' is not assignable to parameter of type 'TerminateReq'.
  Type '{ id: number; }' is missing the following properties from type 'TerminateReq': terminateStatus, terminateDate, terminateReason
src/views/hrm/employee/modules/social-security-list.vue(2,15): error TS2614: Module '"./form.vue"' has no exported member 'FormType'. Did you mean to use 'import FormType from "./form.vue"' instead?
src/views/hrm/employee/modules/social-security-list.vue(130,8): error TS2322: Type '({ title: string; dataIndex: string; width: number; key?: undefined; fixed?: undefined; } | { title: string; dataIndex: string; width: number; key: string; fixed?: undefined; } | { title: string; key: string; width: number; fixed: string; dataIndex?: undefined; })[]' is not assignable to type '(ColumnGroupType<any> | ColumnType<any>)[]'.
  Type '{ title: string; dataIndex: string; width: number; key?: undefined; fixed?: undefined; } | { title: string; dataIndex: string; width: number; key: string; fixed?: undefined; } | { title: string; key: string; width: number; fixed: string; dataIndex?: undefined; }' is not assignable to type 'ColumnGroupType<any> | ColumnType<any>'.
    Type '{ title: string; key: string; width: number; fixed: string; dataIndex?: undefined; }' is not assignable to type 'ColumnGroupType<any> | ColumnType<any>'.
      Type '{ title: string; key: string; width: number; fixed: string; dataIndex?: undefined; }' is not assignable to type 'ColumnType<any>'.
        Types of property 'fixed' are incompatible.
          Type 'string' is not assignable to type 'FixedType | undefined'.
src/views/hrm/leave/index.vue(192,40): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.
  Type 'undefined' is not assignable to type 'number'.
src/views/hrm/salary/calculation/index.vue(262,10): error TS2322: Type '({ title: string; dataIndex: string; width: number; fixed: string; } | { title: string; dataIndex: string; width: number; fixed?: undefined; })[]' is not assignable to type '(ColumnGroupType<any> | ColumnType<any>)[]'.
  Type '{ title: string; dataIndex: string; width: number; fixed: string; } | { title: string; dataIndex: string; width: number; fixed?: undefined; }' is not assignable to type 'ColumnGroupType<any> | ColumnType<any>'.
    Type '{ title: string; dataIndex: string; width: number; fixed: string; }' is not assignable to type 'ColumnGroupType<any> | ColumnType<any>'.
      Type '{ title: string; dataIndex: string; width: number; fixed: string; }' is not assignable to type 'ColumnType<any>'.
        Types of property 'fixed' are incompatible.
          Type 'string' is not assignable to type 'FixedType | undefined'.
src/views/hrm/salary/calculation/index.vue(279,16): error TS2322: Type '(val: number) => void' is not assignable to type '(value: ValueType) => void'.
  Types of parameters 'val' and 'value' are incompatible.
    Type 'ValueType' is not assignable to type 'number'.
      Type 'string' is not assignable to type 'number'.
src/views/hrm/salary/calculation/index.vue(289,16): error TS2322: Type '(val: number) => void' is not assignable to type '(value: ValueType) => void'.
  Types of parameters 'val' and 'value' are incompatible.
    Type 'ValueType' is not assignable to type 'number'.
      Type 'string' is not assignable to type 'number'.
src/views/hrm/salary/calculation/index.vue(299,16): error TS2322: Type '(val: number) => void' is not assignable to type '(value: ValueType) => void'.
  Types of parameters 'val' and 'value' are incompatible.
    Type 'ValueType' is not assignable to type 'number'.
      Type 'string' is not assignable to type 'number'.
src/views/hrm/salary/calculation/index.vue(309,16): error TS2322: Type '(val: number) => void' is not assignable to type '(value: ValueType) => void'.
  Types of parameters 'val' and 'value' are incompatible.
    Type 'ValueType' is not assignable to type 'number'.
      Type 'string' is not assignable to type 'number'.
src/views/hrm/salary/calculation/index.vue(319,16): error TS2322: Type '(val: number) => void' is not assignable to type '(value: ValueType) => void'.
  Types of parameters 'val' and 'value' are incompatible.
    Type 'ValueType' is not assignable to type 'number'.
      Type 'string' is not assignable to type 'number'.
src/views/hrm/salary/calculation/index.vue(329,16): error TS2322: Type '(val: number) => void' is not assignable to type '(value: ValueType) => void'.
  Types of parameters 'val' and 'value' are incompatible.
    Type 'ValueType' is not assignable to type 'number'.
      Type 'string' is not assignable to type 'number'.
src/views/hrm/salary/calculation/index.vue(339,16): error TS2322: Type '(val: number) => void' is not assignable to type '(value: ValueType) => void'.
  Types of parameters 'val' and 'value' are incompatible.
    Type 'ValueType' is not assignable to type 'number'.
      Type 'string' is not assignable to type 'number'.
src/views/hrm/salary/calculation/index.vue(349,16): error TS2322: Type '(val: number) => void' is not assignable to type '(value: ValueType) => void'.
  Types of parameters 'val' and 'value' are incompatible.
    Type 'ValueType' is not assignable to type 'number'.
      Type 'string' is not assignable to type 'number'.
src/views/hrm/salary/calculation/index.vue(359,16): error TS2322: Type '(val: number) => void' is not assignable to type '(value: ValueType) => void'.
  Types of parameters 'val' and 'value' are incompatible.
    Type 'ValueType' is not assignable to type 'number'.
      Type 'string' is not assignable to type 'number'.
src/views/hrm/salary/calculation/index.vue(369,16): error TS2322: Type '(val: number) => void' is not assignable to type '(value: ValueType) => void'.
  Types of parameters 'val' and 'value' are incompatible.
    Type 'ValueType' is not assignable to type 'number'.
      Type 'string' is not assignable to type 'number'.
src/views/hrm/salary/calculation/index.vue(379,16): error TS2322: Type '(val: number) => void' is not assignable to type '(value: ValueType) => void'.
  Types of parameters 'val' and 'value' are incompatible.
    Type 'ValueType' is not assignable to type 'number'.
      Type 'string' is not assignable to type 'number'.
src/views/hrm/salary/employee-social-security/modules/history.vue(47,64): error TS2322: Type 'null' is not assignable to type 'boolean | undefined'.
src/views/hrm/salary/leave-type-config/index.vue(94,53): error TS18048: 'row.deductionRatio' is possibly 'undefined'.
src/views/hrm/salary/payment/modules/detail.vue(101,60): error TS2322: Type 'null' is not assignable to type 'boolean | undefined'.
src/views/hrm/salary/payment/modules/detail.vue(117,8): error TS2322: Type '({ title: string; dataIndex: string; width: number; fixed: string; key?: undefined; } | { title: string; dataIndex: string; width: number; fixed?: undefined; key?: undefined; } | { title: string; dataIndex: string; width: number; fixed: string; key: string; })[]' is not assignable to type '(ColumnGroupType<any> | ColumnType<any>)[]'.
  Type '{ title: string; dataIndex: string; width: number; fixed: string; key?: undefined; } | { title: string; dataIndex: string; width: number; fixed?: undefined; key?: undefined; } | { title: string; dataIndex: string; width: number; fixed: string; key: string; }' is not assignable to type 'ColumnGroupType<any> | ColumnType<any>'.
    Type '{ title: string; dataIndex: string; width: number; fixed: string; key?: undefined; }' is not assignable to type 'ColumnGroupType<any> | ColumnType<any>'.
      Type '{ title: string; dataIndex: string; width: number; fixed: string; key?: undefined; }' is not assignable to type 'ColumnType<any>'.
        Types of property 'fixed' are incompatible.
          Type 'string' is not assignable to type 'FixedType | undefined'.
src/views/hrm/salary/payment/modules/detail.vue(122,8): error TS2322: Type '{ selectedRowKeys: number[]; onChange: (selectedRowKeys: number[]) => void; } | undefined' is not assignable to type 'TableRowSelection<any> | undefined'.
  Type '{ selectedRowKeys: number[]; onChange: (selectedRowKeys: number[]) => void; }' is not assignable to type 'TableRowSelection<any>'.
    Types of property 'onChange' are incompatible.
      Type '(selectedRowKeys: number[]) => void' is not assignable to type '(selectedRowKeys: Key[], selectedRows: any[]) => void'.
        Types of parameters 'selectedRowKeys' and 'selectedRowKeys' are incompatible.
          Type 'Key[]' is not assignable to type 'number[]'.
            Type 'Key' is not assignable to type 'number'.
              Type 'string' is not assignable to type 'number'.
src/views/hrm/salary/payment/modules/detail.vue(136,180): error TS2345: Argument of type 'DataIndex' is not assignable to parameter of type 'string'.
  Type 'number' is not assignable to type 'string'.
src/views/hrm/salary/payment/modules/detail.vue(137,22): error TS2538: Type 'readonly (string | number)[]' cannot be used as an index type.
src/views/hrm/salary/tax-rate-config/index.vue(120,13): error TS18048: 'row.taxRate' is possibly 'undefined'.
src/views/mes/cal/scheduleDetail/index.vue(101,13): error TS2783: 'pageNo' is specified more than once, so this usage will be overwritten.
src/views/mes/cal/scheduleDetail/index.vue(102,13): error TS2783: 'pageSize' is specified more than once, so this usage will be overwritten.
src/views/mes/cal/scheduleDetail/index.vue(149,24): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/mes/cal/scheduleDetail/index.vue(152,24): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/mes/cal/scheduleDetail/index.vue(155,24): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/mes/cal/scheduleDetail/modules/check-view.vue(120,12): error TS2322: Type '(input: string, option: OptionItem) => boolean' is not assignable to type 'boolean | FilterFunc<DefaultOptionType> | undefined'.
  Type '(input: string, option: OptionItem) => boolean' is not assignable to type 'FilterFunc<DefaultOptionType>'.
    Types of parameters 'option' and 'option' are incompatible.
      Type 'DefaultOptionType | undefined' is not assignable to type 'OptionItem'.
        Type 'undefined' is not assignable to type 'OptionItem'.
src/views/mes/cal/scheduleDetail/modules/check-view.vue(128,19): error TS2322: Type 'string[] | undefined' is not assignable to type '[string, string] | [Dayjs, Dayjs] | undefined'.
  Type 'string[]' is not assignable to type '[string, string] | [Dayjs, Dayjs] | undefined'.
    Type 'string[]' is not assignable to type '[Dayjs, Dayjs]'.
      Target requires 2 element(s) but source may have fewer.
src/views/mes/md/item/components/select.vue(148,22): error TS2532: Object is possibly 'undefined'.
src/views/mes/md/item/components/select.vue(149,22): error TS2532: Object is possibly 'undefined'.
src/views/mes/md/item/components/select.vue(150,22): error TS2532: Object is possibly 'undefined'.
src/views/mes/md/item/components/select.vue(151,22): error TS2532: Object is possibly 'undefined'.
src/views/mes/pd/ctc/components/select.vue(61,6): error TS2322: Type '(v: number | undefined) => void' is not assignable to type '(val: SelectValue) => void'.
  Types of parameters 'v' and 'val' are incompatible.
    Type 'SelectValue' is not assignable to type 'number | undefined'.
      Type 'string' is not assignable to type 'number'.
src/views/mes/pd/project/data.ts(1,15): error TS2305: Module '"#/adapter/form"' has no exported member 'ExtendedFormApi'.
src/views/mes/pd/project/modules/document-list.vue(133,20): error TS2339: Property 'fileUrl' does not exist on type 'Document'.
src/views/mes/pd/project/modules/document-list.vue(133,40): error TS2339: Property 'fileUrl' does not exist on type 'Document'.
src/views/mes/pd/project/modules/user-select.vue(59,6): error TS2322: Type '(val: number) => void' is not assignable to type '(value: SelectValue, option: DefaultOptionType | DefaultOptionType[]) => void'.
  Types of parameters 'val' and 'value' are incompatible.
    Type 'SelectValue' is not assignable to type 'number'.
      Type 'undefined' is not assignable to type 'number'.
src/views/mes/pd/project/modules/workflow-timeline.vue(27,38): error TS2345: Argument of type 'number' is not assignable to parameter of type '0 | 1 | 2 | 3 | 4 | 5'.
src/views/mes/pro/mps/index.vue(127,32): error TS18048: 'firstRow' is possibly 'undefined'.
src/views/mes/pro/task/modules/schedule-form.vue(55,24): error TS2339: Property 'routeId' does not exist on type 'WorkOrder'.
src/views/mes/pro/task/modules/schedule-form.vue(56,35): error TS2339: Property 'routeId' does not exist on type 'WorkOrder'.
src/views/mes/pro/workorder-center/index.vue(31,45): error TS2694: Namespace '"D:/\u725B\u9A6C/\u5357\u901A/\u540E\u7AEF/mom-pro2-after/mom-pro2-before/src/api/mes/pro/workorder/index".MesProWorkOrderApi' has no exported member 'WorkOrderProgress'.
src/views/mes/pro/workorder-center/index.vue(199,23): error TS18048: 'row.quantityScheduled' is possibly 'undefined'.
src/views/mes/pro/workorder-center/index.vue(199,47): error TS18048: 'row.quantity' is possibly 'undefined'.
src/views/mes/pro/workorder-center/index.vue(206,23): error TS18048: 'row.quantityScheduled' is possibly 'undefined'.
src/views/mes/pro/workorder-center/index.vue(206,47): error TS18048: 'row.quantity' is possibly 'undefined'.
src/views/mes/pro/workorder-center/index.vue(215,30): error TS18048: '__VLS_ctx.archiveDetailRef' is possibly 'undefined'.
src/views/mes/pro/workorder-center/index.vue(215,47): error TS2339: Property 'value' does not exist on type 'CreateComponentPublicInstanceWithMixins<ToResolvedProps<Props, TypeEmitsToOptions<Emits>>, { open: (code?: string | undefined) => void; }, {}, {}, {}, ComponentOptionsMixin, ... 19 more ..., { ...; }>'.
src/views/mes/pro/workorder/index.vue(229,101): error TS2339: Property 'progress' does not exist on type 'ProcessProgress'.
src/views/mes/pro/workorder/index.vue(232,58): error TS2339: Property 'progress' does not exist on type 'ProcessProgress'.
src/views/mes/pro/workorder/index.vue(305,30): error TS18048: '__VLS_ctx.archiveDetailRef' is possibly 'undefined'.
src/views/mes/pro/workorder/index.vue(305,47): error TS2339: Property 'value' does not exist on type 'CreateComponentPublicInstanceWithMixins<ToResolvedProps<Props, TypeEmitsToOptions<Emits>>, { open: (code?: string | undefined) => void; }, {}, {}, {}, ComponentOptionsMixin, ... 19 more ..., { ...; }>'.
src/views/mes/pro/workorder/modules/process-list.vue(16,22): error TS7016: Could not find a declaration file for module 'sortablejs'. 'D:/牛马/南通/后端/mom-pro2-after/mom-pro2-before/node_modules/.pnpm/sortablejs@1.15.7/node_modules/sortablejs/Sortable.min.js' implicitly has an 'any' type.
  If the 'sortablejs' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/sortablejs'
src/views/mes/pro/workorder/modules/process-list.vue(99,13): error TS7006: Parameter 'evt' implicitly has an 'any' type.
src/views/mes/workbench/components/tabs/FeedbackTab.vue(2,34): error TS2307: Cannot find module '../../../types' or its corresponding type declarations.
src/views/mes/workbench/components/tabs/TaskDetailTab.vue(2,34): error TS2307: Cannot find module '../../../types' or its corresponding type declarations.
src/views/srm/statistics/index.vue(56,5): error TS2322: Type '{ type: "bar"; data: number[]; itemStyle: { color: (params: any) => string | undefined; }; }[]' is not assignable to type 'SeriesOption$1 | SeriesOption$1[] | undefined'.
  Type '{ type: "bar"; data: number[]; itemStyle: { color: (params: any) => string | undefined; }; }[]' is not assignable to type 'MapSeriesOption$1 | LineSeriesOption$1 | CustomSeriesOption$1 | TreeSeriesOption$1 | ... 19 more ... | SeriesOption$1[]'.
    Type '{ type: "bar"; data: number[]; itemStyle: { color: (params: any) => string | undefined; }; }' is not assignable to type 'SeriesOption$1'.
      The types of 'itemStyle.color' are incompatible between these types.
        Type '(params: any) => string | undefined' is not assignable to type 'ZRColor | ((params: CallbackDataParams) => ZRColor) | undefined'.
          Type '(params: any) => string | undefined' is not assignable to type '(params: CallbackDataParams) => ZRColor'.
            Type 'string | undefined' is not assignable to type 'ZRColor'.
              Type 'undefined' is not assignable to type 'ZRColor'.
src/views/srm/supplier/components/select-dialog.vue(185,40): error TS2345: Argument of type 'Record<string, unknown>' is not assignable to parameter of type 'PageParam'.
  Type 'Record<string, unknown>' is missing the following properties from type 'PageParam': pageNo, pageSize
src/views/srm/supplierApply/index.vue(219,33): error TS2339: Property 'CHECK' does not exist on type '{ DOWNLOAD: string; UPLOAD: string; ADD: string; EDIT: string; DELETE: string; REFRESH: string; SEARCH: string; FILTER: string; MORE: string; VIEW: string; COPY: string; CLOSE: string; BOOK: string; AUDIT: string; CALC: string; SCAN: string; }'.
src/views/srm/supplierApply/index.vue(227,33): error TS2339: Property 'CHECK' does not exist on type '{ DOWNLOAD: string; UPLOAD: string; ADD: string; EDIT: string; DELETE: string; REFRESH: string; SEARCH: string; FILTER: string; MORE: string; VIEW: string; COPY: string; CLOSE: string; BOOK: string; AUDIT: string; CALC: string; SCAN: string; }'.
src/views/srm/supplierApply/index.vue(235,33): error TS2339: Property 'CHECK' does not exist on type '{ DOWNLOAD: string; UPLOAD: string; ADD: string; EDIT: string; DELETE: string; REFRESH: string; SEARCH: string; FILTER: string; MORE: string; VIEW: string; COPY: string; CLOSE: string; BOOK: string; AUDIT: string; CALC: string; SCAN: string; }'.
src/views/srm/supplierApply/index.vue(243,33): error TS2339: Property 'CHECK' does not exist on type '{ DOWNLOAD: string; UPLOAD: string; ADD: string; EDIT: string; DELETE: string; REFRESH: string; SEARCH: string; FILTER: string; MORE: string; VIEW: string; COPY: string; CLOSE: string; BOOK: string; AUDIT: string; CALC: string; SCAN: string; }'.
src/views/srm/supplierCertificate/index.vue(136,15): error TS2322: Type '"warning"' is not assignable to type 'ButtonType | undefined'.
src/views/srm/supplierCertificate/modules/form.vue(70,10): error TS2352: Conversion of type 'CertificateVO' to type 'Record<string, unknown>' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Index signature for type 'string' is missing in type 'CertificateVO'.
src/views/srm/tender/detail.vue(57,3): error TS2322: Type 'SupplierVO[]' is not assignable to type '{ id: number; name: string; }[] | { id: number; name: string; }[]'.
  Type 'SupplierVO[]' is not assignable to type '{ id: number; name: string; }[]'.
    Type 'SupplierVO' is not assignable to type '{ id: number; name: string; }'.
      Types of property 'id' are incompatible.
        Type 'number | undefined' is not assignable to type 'number'.
          Type 'undefined' is not assignable to type 'number'.
src/views/srm/tender/detail.vue(67,57): error TS2345: Argument of type '{ tenderProjectId: number; }' is not assignable to parameter of type 'TenderMaterialVO'.
  Property 'productName' is missing in type '{ tenderProjectId: number; }' but required in type 'TenderMaterialVO'.
src/views/srm/tender/detail.vue(115,3): error TS2322: Type '{ tenderProjectId: number; }' is not assignable to type 'TenderMaterialVO | { id?: number | undefined; tenderProjectId: number; productId?: number | undefined; productCode?: string | undefined; productName: string; productSpec?: string | undefined; ... 4 more ...; sort?: number | undefined; }'.
  Property 'productName' is missing in type '{ tenderProjectId: number; }' but required in type '{ id?: number | undefined; tenderProjectId: number; productId?: number | undefined; productCode?: string | undefined; productName: string; productSpec?: string | undefined; unit?: string | undefined; quantity?: number | undefined; techRequirement?: string | undefined; estimatedPrice?: number | undefined; sort?: numb...'.
src/views/srm/tender/detail.vue(164,58): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.
  Type 'undefined' is not assignable to type 'number'.
src/views/srm/tender/detail.vue(784,125): error TS2538: Type 'undefined' cannot be used as an index type.
src/views/srm/tender/modules/form.vue(98,10): error TS2352: Conversion of type 'TenderProjectVO' to type 'Record<string, unknown>' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Index signature for type 'string' is missing in type 'TenderProjectVO'.
src/views/wls/approval/config/data.ts(65,13): error TS2769: No overload matches this call.
  The last overload gave the following error.
    Type '(checked: boolean) => void' is not assignable to type '(checked: CheckedType, e: Event) => void'.
      Types of parameters 'checked' and 'checked' are incompatible.
        Type 'CheckedType' is not assignable to type 'boolean'.
          Type 'string' is not assignable to type 'boolean'.
src/views/wls/approval/config/data.ts(85,13): error TS2769: No overload matches this call.
  The last overload gave the following error.
    Type '(checked: boolean) => void' is not assignable to type '(checked: CheckedType, e: Event) => void'.
      Types of parameters 'checked' and 'checked' are incompatible.
        Type 'CheckedType' is not assignable to type 'boolean'.
          Type 'string' is not assignable to type 'boolean'.
src/views/wls/approval/config/data.ts(105,13): error TS2769: No overload matches this call.
  The last overload gave the following error.
    Type '(checked: boolean) => void' is not assignable to type '(checked: CheckedType, e: Event) => void'.
      Types of parameters 'checked' and 'checked' are incompatible.
        Type 'CheckedType' is not assignable to type 'boolean'.
          Type 'string' is not assignable to type 'boolean'.
src/views/wls/approval/config/data.ts(125,13): error TS2769: No overload matches this call.
  The last overload gave the following error.
    Type '(checked: boolean) => void' is not assignable to type '(checked: CheckedType, e: Event) => void'.
      Types of parameters 'checked' and 'checked' are incompatible.
        Type 'CheckedType' is not assignable to type 'boolean'.
          Type 'string' is not assignable to type 'boolean'.
src/views/wls/approval/config/index.vue(68,16): error TS2352: Conversion of type '{ columns: Columns<any> | undefined; height: string; keepSource: true; data: Ref<any[], any[]>; proxyConfig: { ajax: { query: ({ page }: ProxyAjaxQueryParams<any>, formValues: any) => Promise<...>; }; }; rowConfig: { ...; }; toolbarConfig: { ...; }; }' to type 'VxeTableGridOptions<any>' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Types of property 'data' are incompatible.
    Type 'Ref<any[], any[]>' is missing the following properties from type 'any[]': length, pop, push, concat, and 35 more.
src/views/wls/approval/config/modules/process-config-form.vue(75,17): error TS2339: Property 'bizType' does not exist on type 'Promise<Recordable<any>>'.
src/views/wls/arrivalnotice/modules/po-select-dialog.vue(108,22): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.
  Type 'undefined' is not assignable to type 'number'.
src/views/wls/itemreceipt/modules/an-select-dialog.vue(114,22): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'.
  Type 'undefined' is not assignable to type 'number'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(58,33): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(59,40): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(60,35): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(61,34): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(62,35): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(63,32): error TS2741: Property 'triggerFields' is missing in type '{ show: () => true; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(64,41): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(65,33): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(66,37): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(75,31): error TS2741: Property 'triggerFields' is missing in type '{ show: () => boolean; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(76,38): error TS2741: Property 'triggerFields' is missing in type '{ show: () => true; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(77,33): error TS2741: Property 'triggerFields' is missing in type '{ show: () => boolean; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(78,32): error TS2741: Property 'triggerFields' is missing in type '{ show: () => boolean; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(79,33): error TS2741: Property 'triggerFields' is missing in type '{ show: () => boolean; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(80,30): error TS2741: Property 'triggerFields' is missing in type '{ show: () => boolean; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(81,39): error TS2741: Property 'triggerFields' is missing in type '{ show: () => boolean; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(82,31): error TS2741: Property 'triggerFields' is missing in type '{ show: () => boolean; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(83,35): error TS2741: Property 'triggerFields' is missing in type '{ show: () => boolean; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(412,33): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(413,40): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(414,35): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(415,34): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(416,35): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(417,41): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(418,33): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(419,37): error TS2741: Property 'triggerFields' is missing in type '{ show: () => false; }' but required in type 'FormItemDependencies'.
src/views/wls/materialstock/components/stock-adjust-modal.vue(439,3): error TS2322: Type 'Ref<string, string>' is not assignable to type 'string'.
src/views/wls/productsales/data.ts(135,37): error TS2551: Property 'salesOrderCode' does not exist on type 'SalesNotice'. Did you mean 'saleOrderCode'?
src/views/wls/returnsales/modules/form.vue(194,63): error TS2339: Property 'saleOrderId' does not exist on type 'ReturnSales'.
src/views/wls/returnsales/modules/form.vue(200,25): error TS2352: Conversion of type 'PageResult<SaleOrder>' to type 'Record<string, unknown>' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Index signature for type 'string' is missing in type 'PageResult<SaleOrder>'.
src/views/wls/returnsales/modules/form.vue(202,29): error TS2532: Object is possibly 'undefined'.
src/views/wls/returnsales/modules/line-form.vue(103,56): error TS2532: Object is possibly 'undefined'.
sql/mysql/item_receipt_disable_approval_20261024.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
-- ============================================================
-- é‡‡è´­å…¥åº“单取消审批(2026-10-24)
--
-- èƒŒæ™¯ï¼š
--   é‡‡è´­å…¥åº“业务不走审批,状态由「提交 / æ‰§è¡Œä¸Šæž¶ / æ‰§è¡Œå…¥åº“」直接推进:
--   è‰ç¨¿(0) -> å¾…上架(2) -> å¾…执行入库(3) -> å·²å®Œæˆ(4)
--
-- è¯´æ˜Žï¼š
--   1. å…³é—­ã€Œç³»ç»Ÿç®¡ç† - å®¡æ‰¹é…ç½®ã€ä¸­çš„ item_receipt_approve å¼€å…³ï¼Œ
--      æäº¤æ—¶ä¸å†æ ¡éªŒå®¡æ‰¹äººé…ç½®ï¼Œä¹Ÿä¸ä¼šå†åˆ›å»º BPM æµç¨‹å®žä¾‹ã€‚
--   2. åŽ†å²é—ç•™çš„å®¡æ‰¹ä¸­ BPM å®žä¾‹ä¸ä¼šå½±å“å•据状态(状态回写监听器已移除),
--      å¦‚需清理可在「协同办公 - æˆ‘的流程」中取消对应流程。
-- ============================================================
UPDATE system_approval_config
SET approval_enabled = 0
WHERE biz_type = 'item_receipt_approve';
sql/mysql/remove_query_button_permissions_20261027.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,470 @@
-- æ¸…理已取消接口查询权限校验所对应的按钮及角色关联。
-- é¡µé¢èœå•(type = 2)保留;仍用于非查询接口的权限也保留。
-- æ‰§è¡ŒåŽéœ€åˆ·æ–°æƒé™ç¼“存或重启服务。
START TRANSACTION;
UPDATE system_role_menu rm
JOIN system_menu m ON m.id = rm.menu_id
SET rm.deleted = b'1', rm.update_time = NOW()
WHERE rm.deleted = b'0' AND m.deleted = b'0' AND m.type = 3
  AND m.permission IN (
    'aftersales:problem:query',
    'aftersales:return:query',
    'aftersales:ticket:query',
    'aftersales:visit:query',
    'ai:api-key:query',
    'ai:knowledge:query',
    'ai:model:query',
    'bi:chart-config:query',
    'bi:dashboard:query',
    'bi:data-source-config:query',
    'bpm:business-attach:query',
    'bpm:category:query',
    'bpm:form:query',
    'bpm:model:query',
    'bpm:oa-leave:query',
    'bpm:oa-notice:query',
    'bpm:process-auto-approve:query',
    'bpm:process-definition:query',
    'bpm:process-expression:query',
    'bpm:process-instance-cc:query',
    'bpm:process-listener:query',
    'bpm:task:query',
    'bpm:user-group:query',
    'crm:business-status:query',
    'crm:business:query',
    'crm:clue:query',
    'crm:contact:query',
    'crm:contract-config:query',
    'crm:contract:query',
    'crm:customer-limit-config:query',
    'crm:customer-pool-config:query',
    'crm:customer:query',
    'crm:invoice:query',
    'crm:receivable-plan:query',
    'crm:receivable:query',
    'crm:sale-quotation:query',
    'crm:sales-target:query',
    'crm:statistics-customer:query',
    'crm:statistics-funnel:query',
    'crm:statistics-performance:query',
    'crm:statistics-portrait:query',
    'crm:statistics-rank:query',
    'energy:alert:query',
    'energy:analysis:query',
    'energy:record:query',
    'erp:account:query',
    'erp:finance-payment:query',
    'erp:finance-receipt:query',
    'erp:purchase-invoice:query',
    'erp:purchase-order:query',
    'erp:purchase-request:query',
    'erp:sale-order:query',
    'erp:statistics:query',
    'erp:supplier:query',
    'hrm:attendance-exception:query',
    'hrm:attendance-holiday:query',
    'hrm:attendance-record:query',
    'hrm:attendance-rule:query',
    'hrm:attendance-summary:query',
    'hrm:employee-contract:query',
    'hrm:employee-schedule:query',
    'hrm:employee-social-security:query',
    'hrm:employee:query',
    'hrm:leave-type-config:query',
    'hrm:leave:query',
    'hrm:overtime:query',
    'hrm:resignation:query',
    'hrm:salary-calculation:query',
    'hrm:salary-payment:query',
    'hrm:salary-structure:query',
    'hrm:shift:query',
    'hrm:social-security-scheme:query',
    'hrm:social-security:query',
    'hrm:tax-rate-config:query',
    'hrm:transfer:query',
    'im:manager:channel-material:query',
    'im:manager:channel-message:query',
    'im:manager:channel:query',
    'im:manager:face-pack-item:query',
    'im:manager:face-pack:query',
    'im:manager:face-user-item:query',
    'im:manager:friend-request:query',
    'im:manager:friend:query',
    'im:manager:group-request:query',
    'im:manager:group:query',
    'im:manager:message:query',
    'im:manager:rtc:query',
    'im:manager:sensitive-word:query',
    'im:manager:statistics:query',
    'infra:api-access-log:query',
    'infra:api-error-log:query',
    'infra:codegen:query',
    'infra:config:query',
    'infra:data-source-config:query',
    'infra:demo01-contact:query',
    'infra:demo02-category:query',
    'infra:demo03-student:query',
    'infra:file-config:query',
    'infra:file:query',
    'infra:job:query',
    'mdm:brand:query',
    'mdm:item-category:query',
    'mdm:item:query',
    'mdm:unit:query',
    'mdm:warehouse:query',
    'member:config:query',
    'member:experience-record:query',
    'member:group:query',
    'member:level-record:query',
    'member:level:query',
    'member:tag:query',
    'member:user:query',
    'mes:cal-holiday:query',
    'mes:cal-plan:query',
    'mes:cal-team-shift:query',
    'mes:cal-team:query',
    'mes:dv-check-plan:query',
    'mes:dv-check-record:query',
    'mes:dv-machinery-type:query',
    'mes:dv-machinery:query',
    'mes:dv-mainten-record:query',
    'mes:dv-metering-check:query',
    'mes:dv-metering:query',
    'mes:dv-repair:query',
    'mes:dv-spare:query',
    'mes:dv-subject:query',
    'mes:home:query',
    'mes:md-item-type:query',
    'mes:md-item:query',
    'mes:md-unit-measure:query',
    'mes:md-workshop:query',
    'mes:md-workstation:query',
    'mes:pd-archive:query',
    'mes:pd-document-audit:query',
    'mes:pd-document:query',
    'mes:pd-process-param-template:query',
    'mes:pd-process-param:query',
    'mes:pd-project:query',
    'mes:pro-andon-config:query',
    'mes:pro-andon-record:query',
    'mes:pro-card:query',
    'mes:pro-feedback:query',
    'mes:pro-mps:query',
    'mes:pro-process:query',
    'mes:pro-route:query',
    'mes:pro-task-issue:query',
    'mes:pro-task:query',
    'mes:pro-work-order:query',
    'mes:pro-workrecord:query',
    'mes:qc-defect:query',
    'mes:qc-indicator:query',
    'mes:qc-inspection-ledger:query',
    'mes:qc-ipqc:query',
    'mes:qc-iqc:query',
    'mes:qc-ncr:query',
    'mes:qc-oqc:query',
    'mes:qc-pending-inspect:query',
    'mes:qc-rqc:query',
    'mes:qc-template:query',
    'mes:tm-tool-type:query',
    'mes:tm-tool:query',
    'mes:wm-arrival-notice:query',
    'mes:wm-barcode-config:query',
    'mes:wm-barcode:query',
    'mes:wm-batch:query',
    'mes:wm-item-receipt:query',
    'mes:wm-material-stock:query',
    'mes:wm-misc-issue:query',
    'mes:wm-outsource-issue:query',
    'mes:wm-outsource-receipt:query',
    'mes:wm-package:query',
    'mes:wm-product-issue:query',
    'mes:wm-product-produce:query',
    'mes:wm-product-receipt:query',
    'mes:wm-product-sales:query',
    'mes:wm-return-issue:query',
    'mes:wm-return-sales:query',
    'mes:wm-return-vendor:query',
    'mes:wm-sales-notice:query',
    'mes:wm-sn:query',
    'mes:wm-stock-taking-plan:query',
    'mes:wm-stock-taking-task:query',
    'mes:wm-transaction:query',
    'mes:wm-transfer:query',
    'mes:wm-warehouse:query',
    'mes:wm:misc-receipt:query',
    'point:record:query',
    'point:sign-in-config:query',
    'point:sign-in-record:query',
    'qc-report:instance:query',
    'qc-report:template:query',
    'srm:bid-award:query',
    'srm:bid-evaluation:query',
    'srm:bid-open:query',
    'srm:statistics:query',
    'srm:supplier-apply:query',
    'srm:supplier-certificate:query',
    'srm:supplier-contact:query',
    'srm:supplier-evaluation:query',
    'srm:supplier-quote:query',
    'srm:supplier:query',
    'srm:tender-bid:query',
    'srm:tender-config:query',
    'srm:tender-project:query',
    'system:dept:query',
    'system:dict:query',
    'system:login-log:query',
    'system:mail-account:query',
    'system:mail-log:query',
    'system:mail-template:query',
    'system:menu:query',
    'system:notice:query',
    'system:notify-message:query',
    'system:notify-template:query',
    'system:oauth2-client:query',
    'system:operate-log:query',
    'system:post:query',
    'system:role:query',
    'system:sms-channel:query',
    'system:sms-log:query',
    'system:sms-template:query',
    'system:social-client:query',
    'system:social-user:query',
    'system:storage-attachment:query',
    'system:tenant-package:query',
    'system:tenant:query',
    'system:user:query'
  );
UPDATE system_menu
SET deleted = b'1', update_time = NOW()
WHERE deleted = b'0' AND type = 3
  AND permission IN (
    'aftersales:problem:query',
    'aftersales:return:query',
    'aftersales:ticket:query',
    'aftersales:visit:query',
    'ai:api-key:query',
    'ai:knowledge:query',
    'ai:model:query',
    'bi:chart-config:query',
    'bi:dashboard:query',
    'bi:data-source-config:query',
    'bpm:business-attach:query',
    'bpm:category:query',
    'bpm:form:query',
    'bpm:model:query',
    'bpm:oa-leave:query',
    'bpm:oa-notice:query',
    'bpm:process-auto-approve:query',
    'bpm:process-definition:query',
    'bpm:process-expression:query',
    'bpm:process-instance-cc:query',
    'bpm:process-listener:query',
    'bpm:task:query',
    'bpm:user-group:query',
    'crm:business-status:query',
    'crm:business:query',
    'crm:clue:query',
    'crm:contact:query',
    'crm:contract-config:query',
    'crm:contract:query',
    'crm:customer-limit-config:query',
    'crm:customer-pool-config:query',
    'crm:customer:query',
    'crm:invoice:query',
    'crm:receivable-plan:query',
    'crm:receivable:query',
    'crm:sale-quotation:query',
    'crm:sales-target:query',
    'crm:statistics-customer:query',
    'crm:statistics-funnel:query',
    'crm:statistics-performance:query',
    'crm:statistics-portrait:query',
    'crm:statistics-rank:query',
    'energy:alert:query',
    'energy:analysis:query',
    'energy:record:query',
    'erp:account:query',
    'erp:finance-payment:query',
    'erp:finance-receipt:query',
    'erp:purchase-invoice:query',
    'erp:purchase-order:query',
    'erp:purchase-request:query',
    'erp:sale-order:query',
    'erp:statistics:query',
    'erp:supplier:query',
    'hrm:attendance-exception:query',
    'hrm:attendance-holiday:query',
    'hrm:attendance-record:query',
    'hrm:attendance-rule:query',
    'hrm:attendance-summary:query',
    'hrm:employee-contract:query',
    'hrm:employee-schedule:query',
    'hrm:employee-social-security:query',
    'hrm:employee:query',
    'hrm:leave-type-config:query',
    'hrm:leave:query',
    'hrm:overtime:query',
    'hrm:resignation:query',
    'hrm:salary-calculation:query',
    'hrm:salary-payment:query',
    'hrm:salary-structure:query',
    'hrm:shift:query',
    'hrm:social-security-scheme:query',
    'hrm:social-security:query',
    'hrm:tax-rate-config:query',
    'hrm:transfer:query',
    'im:manager:channel-material:query',
    'im:manager:channel-message:query',
    'im:manager:channel:query',
    'im:manager:face-pack-item:query',
    'im:manager:face-pack:query',
    'im:manager:face-user-item:query',
    'im:manager:friend-request:query',
    'im:manager:friend:query',
    'im:manager:group-request:query',
    'im:manager:group:query',
    'im:manager:message:query',
    'im:manager:rtc:query',
    'im:manager:sensitive-word:query',
    'im:manager:statistics:query',
    'infra:api-access-log:query',
    'infra:api-error-log:query',
    'infra:codegen:query',
    'infra:config:query',
    'infra:data-source-config:query',
    'infra:demo01-contact:query',
    'infra:demo02-category:query',
    'infra:demo03-student:query',
    'infra:file-config:query',
    'infra:file:query',
    'infra:job:query',
    'mdm:brand:query',
    'mdm:item-category:query',
    'mdm:item:query',
    'mdm:unit:query',
    'mdm:warehouse:query',
    'member:config:query',
    'member:experience-record:query',
    'member:group:query',
    'member:level-record:query',
    'member:level:query',
    'member:tag:query',
    'member:user:query',
    'mes:cal-holiday:query',
    'mes:cal-plan:query',
    'mes:cal-team-shift:query',
    'mes:cal-team:query',
    'mes:dv-check-plan:query',
    'mes:dv-check-record:query',
    'mes:dv-machinery-type:query',
    'mes:dv-machinery:query',
    'mes:dv-mainten-record:query',
    'mes:dv-metering-check:query',
    'mes:dv-metering:query',
    'mes:dv-repair:query',
    'mes:dv-spare:query',
    'mes:dv-subject:query',
    'mes:home:query',
    'mes:md-item-type:query',
    'mes:md-item:query',
    'mes:md-unit-measure:query',
    'mes:md-workshop:query',
    'mes:md-workstation:query',
    'mes:pd-archive:query',
    'mes:pd-document-audit:query',
    'mes:pd-document:query',
    'mes:pd-process-param-template:query',
    'mes:pd-process-param:query',
    'mes:pd-project:query',
    'mes:pro-andon-config:query',
    'mes:pro-andon-record:query',
    'mes:pro-card:query',
    'mes:pro-feedback:query',
    'mes:pro-mps:query',
    'mes:pro-process:query',
    'mes:pro-route:query',
    'mes:pro-task-issue:query',
    'mes:pro-task:query',
    'mes:pro-work-order:query',
    'mes:pro-workrecord:query',
    'mes:qc-defect:query',
    'mes:qc-indicator:query',
    'mes:qc-inspection-ledger:query',
    'mes:qc-ipqc:query',
    'mes:qc-iqc:query',
    'mes:qc-ncr:query',
    'mes:qc-oqc:query',
    'mes:qc-pending-inspect:query',
    'mes:qc-rqc:query',
    'mes:qc-template:query',
    'mes:tm-tool-type:query',
    'mes:tm-tool:query',
    'mes:wm-arrival-notice:query',
    'mes:wm-barcode-config:query',
    'mes:wm-barcode:query',
    'mes:wm-batch:query',
    'mes:wm-item-receipt:query',
    'mes:wm-material-stock:query',
    'mes:wm-misc-issue:query',
    'mes:wm-outsource-issue:query',
    'mes:wm-outsource-receipt:query',
    'mes:wm-package:query',
    'mes:wm-product-issue:query',
    'mes:wm-product-produce:query',
    'mes:wm-product-receipt:query',
    'mes:wm-product-sales:query',
    'mes:wm-return-issue:query',
    'mes:wm-return-sales:query',
    'mes:wm-return-vendor:query',
    'mes:wm-sales-notice:query',
    'mes:wm-sn:query',
    'mes:wm-stock-taking-plan:query',
    'mes:wm-stock-taking-task:query',
    'mes:wm-transaction:query',
    'mes:wm-transfer:query',
    'mes:wm-warehouse:query',
    'mes:wm:misc-receipt:query',
    'point:record:query',
    'point:sign-in-config:query',
    'point:sign-in-record:query',
    'qc-report:instance:query',
    'qc-report:template:query',
    'srm:bid-award:query',
    'srm:bid-evaluation:query',
    'srm:bid-open:query',
    'srm:statistics:query',
    'srm:supplier-apply:query',
    'srm:supplier-certificate:query',
    'srm:supplier-contact:query',
    'srm:supplier-evaluation:query',
    'srm:supplier-quote:query',
    'srm:supplier:query',
    'srm:tender-bid:query',
    'srm:tender-config:query',
    'srm:tender-project:query',
    'system:dept:query',
    'system:dict:query',
    'system:login-log:query',
    'system:mail-account:query',
    'system:mail-log:query',
    'system:mail-template:query',
    'system:menu:query',
    'system:notice:query',
    'system:notify-message:query',
    'system:notify-template:query',
    'system:oauth2-client:query',
    'system:operate-log:query',
    'system:post:query',
    'system:role:query',
    'system:sms-channel:query',
    'system:sms-log:query',
    'system:sms-template:query',
    'system:social-client:query',
    'system:social-user:query',
    'system:storage-attachment:query',
    'system:tenant-package:query',
    'system:tenant:query',
    'system:user:query'
  );
COMMIT;
sql/mysql/route_process_output_attribution_20261026.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
-- å·¥è‰ºè·¯çº¿å·¥åºäº§å‡ºï¼šæŒ‰äº§å“å½’属(product_id ä¸ºç©ºè¡¨ç¤ºå¤šäº§å“é€šç”¨ï¼‰
CREATE TABLE IF NOT EXISTS `mes_pro_route_process_output` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
  `route_process_id` bigint NOT NULL COMMENT '工艺路线工序编号',
  `route_id` bigint NOT NULL COMMENT '工艺路线编号',
  `process_id` bigint NOT NULL COMMENT '工序编号',
  `product_id` bigint DEFAULT NULL COMMENT '归属产品编号,为空表示多产品通用',
  `item_id` bigint NOT NULL COMMENT '产出物料编号',
  `sort` int DEFAULT NULL COMMENT '排序',
  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_route_process_id` (`route_process_id`) USING BTREE,
  KEY `idx_route_id` (`route_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='MES å·¥è‰ºè·¯çº¿å·¥åºäº§å‡ºå½’属';
-- å­˜é‡è¿ç§»ï¼šæ‹†åˆ† output_item_id。
-- è§„则:产出物料是当前路线绑定的产品 â†’ å½’属到自身(产品专属);否则 â†’ é€šç”¨ï¼ˆNULL)。
INSERT INTO `mes_pro_route_process_output`
  (`route_process_id`, `route_id`, `process_id`, `product_id`, `item_id`, `sort`)
WITH RECURSIVE seq AS (
  SELECT 1 AS n
  UNION ALL
  SELECT n + 1 FROM seq WHERE n < 100
)
SELECT p.`id`,
       p.`route_id`,
       p.`process_id`,
       rp.`item_id` AS product_id,
       CAST(TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(p.`output_item_id`, ',', seq.n), ',', -1)) AS UNSIGNED) AS item_id,
       seq.n
FROM `mes_pro_route_process` p
JOIN seq
  ON seq.n <= 1 + LENGTH(p.`output_item_id`) - LENGTH(REPLACE(p.`output_item_id`, ',', ''))
LEFT JOIN `mes_pro_route_product` rp
  ON rp.`route_id` = p.`route_id`
 AND rp.`deleted` = 0
 AND rp.`item_id` = CAST(TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(p.`output_item_id`, ',', seq.n), ',', -1)) AS UNSIGNED)
WHERE p.`deleted` = 0
  AND p.`output_item_id` IS NOT NULL
  AND p.`output_item_id` <> ''
  AND TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(p.`output_item_id`, ',', seq.n), ',', -1)) <> ''
  AND NOT EXISTS (
    SELECT 1 FROM `mes_pro_route_process_output` o
    WHERE o.`route_process_id` = p.`id`
      AND o.`item_id` = CAST(TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(p.`output_item_id`, ',', seq.n), ',', -1)) AS UNSIGNED)
  );
sql/mysql/xgdl_lightweight_hide_ai_20261025.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
-- æ–°é«˜ç”µåŠ›è½»é‡ç‰ˆï¼šAI æ¨¡å—未随默认后端包发布时,隐藏并禁用所有 AI èœå•。
-- å¦‚改用 `mvn -Pwith-ai ...` æž„建完整包,可按备份数据恢复菜单状态。
START TRANSACTION;
CREATE TABLE IF NOT EXISTS system_menu_ai_backup_20261025 LIKE system_menu;
INSERT IGNORE INTO system_menu_ai_backup_20261025
SELECT m.*
FROM system_menu m
WHERE m.deleted = b'0'
  AND (
      m.id = 2758
      OR m.parent_id = 2758
      OR m.parent_id IN (
          SELECT id FROM (
              SELECT id FROM system_menu WHERE deleted = b'0' AND parent_id = 2758
          ) AS ai_first_level
      )
      OR m.path = '/ai'
      OR m.component LIKE 'ai/%'
      OR m.permission LIKE 'ai:%'
  );
-- ä¸» AI èœå•树(含没有 permission/component çš„中间目录)以及散落在其它目录下的 AI é¡µé¢ã€‚
UPDATE system_menu
SET status = 1,
    visible = b'0',
    updater = '1',
    update_time = NOW()
WHERE deleted = b'0'
  AND (
      id = 2758
      OR parent_id = 2758
      OR parent_id IN (
          SELECT id FROM (
              SELECT id FROM system_menu WHERE deleted = b'0' AND parent_id = 2758
          ) AS ai_first_level
      )
      OR path = '/ai'
      OR component LIKE 'ai/%'
      OR permission LIKE 'ai:%'
  );
COMMIT;
sql/mysql/xgdl_production_autocode_rules_20261025.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,129 @@
-- æ–°é«˜ç”µåŠ›ï¼šè¡¥é½â€œç”Ÿäº§ç®¡æŽ§â€ç¼ºå¤±çš„è‡ªåŠ¨ç¼–ç è§„åˆ™ã€‚
-- å¯é‡å¤æ‰§è¡Œï¼šè§„则或分段已存在时不会重复插入。
START TRANSACTION;
INSERT INTO mes_md_auto_code_rule
    (code, name, description, max_length, padded, padded_char, padded_method,
     status, remark, creator, create_time, updater, update_time, deleted)
SELECT 'PRO_MPS_CODE', '生产计划编码', '生产主计划(MPS)自动编码', 20,
       b'0', NULL, NULL, 0, '生产管控必要规则', '1', NOW(), '1', NOW(), b'0'
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_rule WHERE code = 'PRO_MPS_CODE' AND deleted = b'0'
);
SET @pro_mps_rule_id = (
    SELECT id FROM mes_md_auto_code_rule
    WHERE code = 'PRO_MPS_CODE' AND deleted = b'0' ORDER BY id LIMIT 1
);
INSERT INTO mes_md_auto_code_part
    (rule_id, sort, type, length, date_format, fix_character, serial_start_no,
     serial_step, cycle_flag, cycle_method, remark, creator, create_time, updater, update_time, deleted)
SELECT @pro_mps_rule_id, 1, 3, 3, NULL, 'MPS', NULL, NULL, b'0', NULL,
       '固定前缀', '1', NOW(), '1', NOW(), b'0'
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_part
    WHERE rule_id = @pro_mps_rule_id AND sort = 1 AND deleted = b'0'
);
INSERT INTO mes_md_auto_code_part
    (rule_id, sort, type, length, date_format, fix_character, serial_start_no,
     serial_step, cycle_flag, cycle_method, remark, creator, create_time, updater, update_time, deleted)
SELECT @pro_mps_rule_id, 2, 2, 8, 'yyyyMMdd', NULL, NULL, NULL, b'0', NULL,
       '业务日期', '1', NOW(), '1', NOW(), b'0'
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_part
    WHERE rule_id = @pro_mps_rule_id AND sort = 2 AND deleted = b'0'
);
INSERT INTO mes_md_auto_code_part
    (rule_id, sort, type, length, date_format, fix_character, serial_start_no,
     serial_step, cycle_flag, cycle_method, remark, creator, create_time, updater, update_time, deleted)
SELECT @pro_mps_rule_id, 3, 4, 4, NULL, NULL, 1, 1, b'1', 3,
       '按日循环流水号', '1', NOW(), '1', NOW(), b'0'
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_part
    WHERE rule_id = @pro_mps_rule_id AND sort = 3 AND deleted = b'0'
);
INSERT INTO mes_md_auto_code_rule
    (code, name, description, max_length, padded, padded_char, padded_method,
     status, remark, creator, create_time, updater, update_time, deleted)
SELECT 'PRO_MAINTENANCE_PLAN_CODE', '电力作业计划编码', '电力作业计划自动编码', 16,
       b'0', NULL, NULL, 0, '生产管控必要规则', '1', NOW(), '1', NOW(), b'0'
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_rule
    WHERE code = 'PRO_MAINTENANCE_PLAN_CODE' AND deleted = b'0'
);
SET @pro_maintenance_plan_rule_id = (
    SELECT id FROM mes_md_auto_code_rule
    WHERE code = 'PRO_MAINTENANCE_PLAN_CODE' AND deleted = b'0' ORDER BY id LIMIT 1
);
INSERT INTO mes_md_auto_code_part
    (rule_id, sort, type, length, date_format, fix_character, serial_start_no,
     serial_step, cycle_flag, cycle_method, remark, creator, create_time, updater, update_time, deleted)
SELECT @pro_maintenance_plan_rule_id, 1, 3, 3, NULL, 'MP_', NULL, NULL, b'0', NULL,
       '固定前缀', '1', NOW(), '1', NOW(), b'0'
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_part
    WHERE rule_id = @pro_maintenance_plan_rule_id AND sort = 1 AND deleted = b'0'
);
INSERT INTO mes_md_auto_code_part
    (rule_id, sort, type, length, date_format, fix_character, serial_start_no,
     serial_step, cycle_flag, cycle_method, remark, creator, create_time, updater, update_time, deleted)
SELECT @pro_maintenance_plan_rule_id, 2, 2, 8, 'yyyyMMdd', NULL, NULL, NULL, b'0', NULL,
       '业务日期', '1', NOW(), '1', NOW(), b'0'
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_part
    WHERE rule_id = @pro_maintenance_plan_rule_id AND sort = 2 AND deleted = b'0'
);
INSERT INTO mes_md_auto_code_part
    (rule_id, sort, type, length, date_format, fix_character, serial_start_no,
     serial_step, cycle_flag, cycle_method, remark, creator, create_time, updater, update_time, deleted)
SELECT @pro_maintenance_plan_rule_id, 3, 4, 4, NULL, NULL, 1, 1, b'1', 3,
       '按日循环流水号', '1', NOW(), '1', NOW(), b'0'
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_part
    WHERE rule_id = @pro_maintenance_plan_rule_id AND sort = 3 AND deleted = b'0'
);
INSERT INTO mes_md_auto_code_rule
    (code, name, description, max_length, padded, padded_char, padded_method,
     status, remark, creator, create_time, updater, update_time, deleted)
SELECT 'TM_TOOL_CODE', '工装夹具编码', '工装夹具台账自动编码', 12,
       b'0', NULL, NULL, 0, '生产管控必要规则', '1', NOW(), '1', NOW(), b'0'
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_rule WHERE code = 'TM_TOOL_CODE' AND deleted = b'0'
);
SET @tm_tool_rule_id = (
    SELECT id FROM mes_md_auto_code_rule
    WHERE code = 'TM_TOOL_CODE' AND deleted = b'0' ORDER BY id LIMIT 1
);
INSERT INTO mes_md_auto_code_part
    (rule_id, sort, type, length, date_format, fix_character, serial_start_no,
     serial_step, cycle_flag, cycle_method, remark, creator, create_time, updater, update_time, deleted)
SELECT @tm_tool_rule_id, 1, 3, 3, NULL, 'TL_', NULL, NULL, b'0', NULL,
       '固定前缀', '1', NOW(), '1', NOW(), b'0'
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_part
    WHERE rule_id = @tm_tool_rule_id AND sort = 1 AND deleted = b'0'
);
INSERT INTO mes_md_auto_code_part
    (rule_id, sort, type, length, date_format, fix_character, serial_start_no,
     serial_step, cycle_flag, cycle_method, remark, creator, create_time, updater, update_time, deleted)
SELECT @tm_tool_rule_id, 2, 4, 6, NULL, NULL, 1, 1, b'0', NULL,
       '连续流水号', '1', NOW(), '1', NOW(), b'0'
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_part
    WHERE rule_id = @tm_tool_rule_id AND sort = 2 AND deleted = b'0'
);
COMMIT;
sql/mysql/xgdl_qc_warehouse_autocode_rules_20261025.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,84 @@
-- æ–°é«˜ç”µåŠ›ï¼šè¡¥é½è´¨æ£€ä¸Žä»“åº“ä¸šåŠ¡è‡ªåŠ¨ç¼–ç è§„åˆ™ã€‚
-- å¯é‡å¤æ‰§è¡Œï¼šå·²æœ‰è§„则和分段不会重复插入。
START TRANSACTION;
DROP TEMPORARY TABLE IF EXISTS tmp_xgdl_autocode_rule;
CREATE TEMPORARY TABLE tmp_xgdl_autocode_rule (
    code VARCHAR(64) COLLATE utf8mb4_unicode_ci PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    description VARCHAR(255) NOT NULL,
    max_length INT NOT NULL,
    prefix VARCHAR(16) NOT NULL,
    has_date TINYINT NOT NULL,
    serial_length INT NOT NULL
);
INSERT INTO tmp_xgdl_autocode_rule
    (code, name, description, max_length, prefix, has_date, serial_length)
VALUES
    ('QC_INDICATOR_CODE', '质检指标编码', '质检指标自动编码', 12, 'QI_', 0, 6),
    ('QC_TEMPLATE_CODE', '质检方案编码', '质检方案自动编码', 12, 'QT_', 0, 6),
    ('QC_NCR_CODE', '不合格品处理单编码', '不合格品处理单自动编码', 16, 'NCR', 1, 4),
    ('QC_OUTSOURCE_TEST_CODE', '委外检测单编码', '委外检测/试验单自动编码', 16, 'WT', 1, 4),
    ('WM_PRODUCT_ISSUE_CODE', '生产领料单编码', '生产领料出库单自动编码', 16, 'PI', 1, 4),
    ('WM_PRODUCT_RECEIPT_CODE', '产品入库单编码', '产品完工入库单自动编码', 16, 'PR', 1, 4);
INSERT INTO mes_md_auto_code_rule
    (code, name, description, max_length, padded, padded_char, padded_method,
     status, remark, creator, create_time, updater, update_time, deleted)
SELECT t.code, t.name, t.description, t.max_length,
       b'0', NULL, NULL, 0, '质检/仓库必要规则', '1', NOW(), '1', NOW(), b'0'
FROM tmp_xgdl_autocode_rule t
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_rule r
    WHERE r.code = t.code AND r.deleted = b'0'
);
-- å›ºå®šå‰ç¼€ã€‚
INSERT INTO mes_md_auto_code_part
    (rule_id, sort, type, length, date_format, fix_character, serial_start_no,
     serial_step, cycle_flag, cycle_method, remark, creator, create_time, updater, update_time, deleted)
SELECT r.id, 1, 3, CHAR_LENGTH(t.prefix), NULL, t.prefix, NULL,
       NULL, b'0', NULL, '固定前缀', '1', NOW(), '1', NOW(), b'0'
FROM tmp_xgdl_autocode_rule t
JOIN mes_md_auto_code_rule r ON r.code = t.code AND r.deleted = b'0'
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_part p
    WHERE p.rule_id = r.id AND p.sort = 1 AND p.deleted = b'0'
);
-- éœ€è¦ä¸šåŠ¡æ—¥æœŸçš„å•æ®ä½¿ç”¨ yyyyMMdd。
INSERT INTO mes_md_auto_code_part
    (rule_id, sort, type, length, date_format, fix_character, serial_start_no,
     serial_step, cycle_flag, cycle_method, remark, creator, create_time, updater, update_time, deleted)
SELECT r.id, 2, 2, 8, 'yyyyMMdd', NULL, NULL,
       NULL, b'0', NULL, '业务日期', '1', NOW(), '1', NOW(), b'0'
FROM tmp_xgdl_autocode_rule t
JOIN mes_md_auto_code_rule r ON r.code = t.code AND r.deleted = b'0'
WHERE t.has_date = 1
  AND NOT EXISTS (
      SELECT 1 FROM mes_md_auto_code_part p
      WHERE p.rule_id = r.id AND p.sort = 2 AND p.deleted = b'0'
  );
-- æœ‰æ—¥æœŸçš„æµæ°´å·æŒ‰æ—¥å¾ªçŽ¯ï¼›åŸºç¡€èµ„æ–™ç¼–ç ä½¿ç”¨è¿žç»­æµæ°´å·ã€‚
INSERT INTO mes_md_auto_code_part
    (rule_id, sort, type, length, date_format, fix_character, serial_start_no,
     serial_step, cycle_flag, cycle_method, remark, creator, create_time, updater, update_time, deleted)
SELECT r.id, IF(t.has_date = 1, 3, 2), 4, t.serial_length, NULL, NULL, 1,
       1, IF(t.has_date = 1, b'1', b'0'), IF(t.has_date = 1, 3, NULL),
       IF(t.has_date = 1, '按日循环流水号', '连续流水号'),
       '1', NOW(), '1', NOW(), b'0'
FROM tmp_xgdl_autocode_rule t
JOIN mes_md_auto_code_rule r ON r.code = t.code AND r.deleted = b'0'
WHERE NOT EXISTS (
    SELECT 1 FROM mes_md_auto_code_part p
    WHERE p.rule_id = r.id
      AND p.sort = IF(t.has_date = 1, 3, 2)
      AND p.deleted = b'0'
);
DROP TEMPORARY TABLE tmp_xgdl_autocode_rule;
COMMIT;
yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/problem/AfterSaleProblemController.java
@@ -72,7 +72,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得售后问题")
    @Parameter(name = "id", description = "问题编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('aftersales:problem:query')")
    public CommonResult<AfterSaleProblemRespVO> getProblem(@RequestParam("id") Long id) {
        AfterSaleProblemDO problemDO = problemService.getProblem(id);
        AfterSaleProblemRespVO respVO = buildProblemDetailList(List.of(problemDO)).get(0);
@@ -82,7 +81,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得售后问题分页")
    @PreAuthorize("@ss.hasPermission('aftersales:problem:query')")
    public CommonResult<PageResult<AfterSaleProblemRespVO>> getProblemPage(@Valid AfterSaleProblemPageReqVO pageReqVO) {
        PageResult<AfterSaleProblemDO> pageResult = problemService.getProblemPage(pageReqVO);
        return success(new PageResult<>(buildProblemDetailList(pageResult.getList()), pageResult.getTotal()));
@@ -108,7 +106,6 @@
    @GetMapping("/reference")
    @Operation(summary = "新工单受理参考检索(已发布问题)")
    @PreAuthorize("@ss.hasPermission('aftersales:problem:query')")
    public CommonResult<List<AfterSaleProblemRespVO>> getReferenceList(@Valid AfterSaleProblemPageReqVO pageReqVO) {
        return success(buildProblemDetailList(problemService.getReferenceList(pageReqVO)));
    }
yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/returnobj/AfterSaleReturnController.java
@@ -57,7 +57,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得退货申请")
    @Parameter(name = "id", description = "退货申请编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('aftersales:return:query')")
    public CommonResult<AfterSaleReturnRespVO> getReturn(@RequestParam("id") Long id) {
        AfterSaleReturnDO returnDO = returnService.getReturn(id);
        List<AfterSaleReturnItemDO> items = returnService.getReturnItemListByReturnId(id);
@@ -69,7 +68,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得退货申请分页")
    @PreAuthorize("@ss.hasPermission('aftersales:return:query')")
    public CommonResult<PageResult<AfterSaleReturnRespVO>> getReturnPage(@Valid AfterSaleReturnPageReqVO pageReqVO) {
        PageResult<AfterSaleReturnDO> pageResult = returnService.getReturnPage(pageReqVO, getLoginUserId());
        List<AfterSaleReturnRespVO> list = buildReturnDetailList(pageResult.getList());
yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/ticket/AfterSaleTicketController.java
@@ -73,7 +73,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得售后工单")
    @Parameter(name = "id", description = "工单编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('aftersales:ticket:query')")
    public CommonResult<AfterSaleTicketRespVO> getTicket(@RequestParam("id") Long id) {
        AfterSaleTicketDO ticket = ticketService.getTicket(id);
        List<AfterSaleTicketItemDO> items = ticketService.getTicketItemListByTicketId(id);
@@ -87,7 +86,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得售后工单分页")
    @PreAuthorize("@ss.hasPermission('aftersales:ticket:query')")
    public CommonResult<PageResult<AfterSaleTicketRespVO>> getTicketPage(@Valid AfterSaleTicketPageReqVO pageReqVO) {
        PageResult<AfterSaleTicketDO> pageResult = ticketService.getTicketPage(pageReqVO, getLoginUserId());
        List<AfterSaleTicketRespVO> list = buildTicketDetailList(pageResult.getList());
yudao-module-aftersales/src/main/java/cn/iocoder/yudao/module/aftersales/controller/admin/visit/AfterSaleVisitController.java
@@ -51,7 +51,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得售后回访记录")
    @Parameter(name = "id", description = "回访记录编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('aftersales:visit:query')")
    public CommonResult<AfterSaleVisitRespVO> getVisit(@RequestParam("id") Long id) {
        AfterSaleVisitDO visitDO = visitService.getVisit(id);
        AfterSaleVisitRespVO respVO = buildVisitDetailList(List.of(visitDO)).get(0);
@@ -62,7 +61,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得某工单的回访记录列表")
    @Parameter(name = "ticketId", description = "工单编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('aftersales:visit:query')")
    public CommonResult<List<AfterSaleVisitRespVO>> getVisitListByTicketId(@RequestParam("ticketId") Long ticketId) {
        List<AfterSaleVisitDO> visitList = visitService.getVisitListByTicketId(ticketId);
        return success(buildVisitDetailList(visitList));
@@ -70,7 +68,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得售后回访记录分页")
    @PreAuthorize("@ss.hasPermission('aftersales:visit:query')")
    public CommonResult<PageResult<AfterSaleVisitRespVO>> getVisitPage(@Valid AfterSaleVisitPageReqVO pageReqVO) {
        PageResult<AfterSaleVisitDO> pageResult = visitService.getVisitPage(pageReqVO);
        return success(new PageResult<>(buildVisitDetailList(pageResult.getList()), pageResult.getTotal()));
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/knowledge/AiKnowledgeController.java
@@ -56,14 +56,12 @@
    @GetMapping("/get")
    @Operation(summary = "获取知识库")
    @PreAuthorize("@ss.hasPermission('ai:knowledge:query')")
    public CommonResult<AiKnowledgeRespVO> getKnowledge(@RequestParam("id") Long id) {
        return success(BeanUtils.toBean(knowledgeService.getKnowledge(id), AiKnowledgeRespVO.class));
    }
    @GetMapping("/page")
    @Operation(summary = "获取知识库分页")
    @PreAuthorize("@ss.hasPermission('ai:knowledge:query')")
    public CommonResult<PageResult<AiKnowledgeRespVO>> getKnowledgePage(@Valid AiKnowledgePageReqVO pageReqVO) {
        PageResult<AiKnowledgeDO> pageResult = knowledgeService.getKnowledgePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, AiKnowledgeRespVO.class));
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/knowledge/AiKnowledgeDocumentController.java
@@ -51,14 +51,12 @@
    @GetMapping("/get")
    @Operation(summary = "获取文档")
    @PreAuthorize("@ss.hasPermission('ai:knowledge:query')")
    public CommonResult<AiKnowledgeDocumentRespVO> getDocument(@RequestParam("id") Long id) {
        return success(BeanUtils.toBean(documentService.getDocument(id), AiKnowledgeDocumentRespVO.class));
    }
    @GetMapping("/page")
    @Operation(summary = "获取文档分页")
    @PreAuthorize("@ss.hasPermission('ai:knowledge:query')")
    public CommonResult<PageResult<AiKnowledgeDocumentRespVO>> getDocumentPage(@Valid AiKnowledgeDocumentPageReqVO pageReqVO) {
        PageResult<AiKnowledgeDocumentDO> pageResult = documentService.getDocumentPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, AiKnowledgeDocumentRespVO.class));
@@ -82,7 +80,6 @@
    @GetMapping("/progress")
    @Operation(summary = "获取文档处理进度")
    @PreAuthorize("@ss.hasPermission('ai:knowledge:query')")
    public CommonResult<List<AiKnowledgeSegmentProcessRespVO>> getProcessingProgress(@RequestParam("documentIds") List<Long> documentIds) {
        return success(documentService.getDocumentProcessingProgress(documentIds));
    }
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/knowledge/AiKnowledgeSegmentController.java
@@ -34,7 +34,6 @@
    @GetMapping("/split")
    @Operation(summary = "预览文档切分结果")
    @PreAuthorize("@ss.hasPermission('ai:knowledge:query')")
    public CommonResult<List<AiKnowledgeSegmentSplitRespVO>> previewSplit(@Valid AiKnowledgeSegmentSplitReqVO reqVO) {
        String fileUrl = reqVO.getUrl();
        if (fileUrl == null || fileUrl.isEmpty()) {
@@ -71,14 +70,12 @@
    @GetMapping("/get")
    @Operation(summary = "获取分段")
    @PreAuthorize("@ss.hasPermission('ai:knowledge:query')")
    public CommonResult<AiKnowledgeSegmentRespVO> getSegment(@RequestParam("id") Long id) {
        return success(BeanUtils.toBean(segmentService.getSegment(id), AiKnowledgeSegmentRespVO.class));
    }
    @GetMapping("/page")
    @Operation(summary = "获取分段分页")
    @PreAuthorize("@ss.hasPermission('ai:knowledge:query')")
    public CommonResult<PageResult<AiKnowledgeSegmentRespVO>> getSegmentPage(@Valid AiKnowledgeSegmentPageReqVO pageReqVO) {
        PageResult<AiKnowledgeSegmentDO> pageResult = segmentService.getSegmentPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, AiKnowledgeSegmentRespVO.class));
@@ -117,14 +114,12 @@
    @GetMapping("/get-process-list")
    @Operation(summary = "获取文档处理进度")
    @PreAuthorize("@ss.hasPermission('ai:knowledge:query')")
    public CommonResult<List<AiKnowledgeSegmentProcessRespVO>> getProcessList(@RequestParam("documentIds") List<Long> documentIds) {
        return success(documentService.getDocumentProcessingProgress(documentIds));
    }
    @PostMapping("/search")
    @Operation(summary = "检索分段(RAG å‘量检索)")
    @PreAuthorize("@ss.hasPermission('ai:knowledge:query')")
    public CommonResult<List<AiKnowledgeSegmentSearchRespVO>> searchSegments(@Valid @RequestBody AiKnowledgeSegmentSearchReqVO searchReqVO) {
        AiKnowledgeSegmentSearchReqBO searchReqBO = BeanUtils.toBean(searchReqVO, AiKnowledgeSegmentSearchReqBO.class);
        List<AiKnowledgeSegmentSearchRespBO> results = segmentService.searchSegments(searchReqBO);
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/AiApiKeyController.java
@@ -50,14 +50,12 @@
    @GetMapping("/get")
    @Operation(summary = "获取 API å¯†é’¥")
    @PreAuthorize("@ss.hasPermission('ai:api-key:query')")
    public CommonResult<AiApiKeyRespVO> getApiKey(@RequestParam("id") Long id) {
        return success(BeanUtils.toBean(apiKeyService.getApiKey(id), AiApiKeyRespVO.class));
    }
    @GetMapping("/page")
    @Operation(summary = "获取 API å¯†é’¥åˆ†é¡µ")
    @PreAuthorize("@ss.hasPermission('ai:api-key:query')")
    public CommonResult<PageResult<AiApiKeyRespVO>> getApiKeyPage(@Valid AiApiKeyPageReqVO pageReqVO) {
        PageResult<AiApiKeyDO> pageResult = apiKeyService.getApiKeyPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, AiApiKeyRespVO.class));
yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/AiModelController.java
@@ -68,14 +68,12 @@
    @GetMapping("/get")
    @Operation(summary = "获取 AI æ¨¡åž‹")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('ai:model:query')")
    public CommonResult<AiModelRespVO> getModel(@RequestParam("id") Long id) {
        return success(BeanUtils.toBean(modelService.getModel(id), AiModelRespVO.class));
    }
    @GetMapping("/page")
    @Operation(summary = "获取 AI æ¨¡åž‹åˆ†é¡µ")
    @PreAuthorize("@ss.hasPermission('ai:model:query')")
    public CommonResult<PageResult<AiModelRespVO>> getModelPage(@Valid AiModelPageReqVO pageReqVO) {
        PageResult<AiModelDO> pageResult = modelService.getModelPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, AiModelRespVO.class));
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/controller/admin/config/BiChartConfigController.java
@@ -52,14 +52,12 @@
    @GetMapping("/get")
    @Operation(summary = "获取图表配置")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('bi:chart-config:query')")
    public CommonResult<BiChartConfigDO> get(@RequestParam("id") Long id) {
        return success(chartConfigService.get(id));
    }
    @GetMapping("/page")
    @Operation(summary = "分页查询图表配置")
    @PreAuthorize("@ss.hasPermission('bi:chart-config:query')")
    public CommonResult<PageResult<BiChartConfigDO>> getPage(
            @RequestParam(value = "dashboardId", required = false) Long dashboardId,
            @RequestParam(value = "name", required = false) String name,
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/controller/admin/config/BiDataSourceConfigController.java
@@ -51,14 +51,12 @@
    @GetMapping("/get")
    @Operation(summary = "获取数据源配置")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('bi:data-source-config:query')")
    public CommonResult<BiDataSourceConfigDO> get(@RequestParam("id") Long id) {
        return success(dataSourceConfigService.get(id));
    }
    @GetMapping("/page")
    @Operation(summary = "分页查询数据源配置")
    @PreAuthorize("@ss.hasPermission('bi:data-source-config:query')")
    public CommonResult<PageResult<BiDataSourceConfigDO>> getPage(
            @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
            @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
yudao-module-bi/src/main/java/cn/iocoder/yudao/module/bi/controller/admin/dashboard/DashboardController.java
@@ -27,7 +27,6 @@
    @GetMapping("/list")
    @Operation(summary = "获取仪表盘列表")
    @PreAuthorize("@ss.hasPermission('bi:dashboard:query')")
    public CommonResult<List<BiDashboardDO>> getDashboardList() {
        return success(dashboardService.getDashboardList());
    }
@@ -36,7 +35,6 @@
    @Operation(summary = "获取仪表盘数据")
    @Parameter(name = "dashboardCode", description = "仪表盘编码", required = true,
            example = "purchase_sales")
    @PreAuthorize("@ss.hasPermission('bi:dashboard:query')")
    public CommonResult<List<Map<String, Object>>> getDashboardData(
            @PathVariable("dashboardCode") String dashboardCode,
            @RequestBody(required = false) Map<String, Object> params) {
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/attach/BpmBusinessAttachController.java
@@ -55,7 +55,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得业务附件配置")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('bpm:business-attach:query')")
    public CommonResult<BpmBusinessAttachRespVO> getBusinessAttach(@RequestParam("id") Long id) {
        BpmBusinessAttachDO attach = businessAttachService.getBusinessAttach(id);
        return success(BeanUtils.toBean(attach, BpmBusinessAttachRespVO.class));
@@ -63,7 +62,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得业务附件配置分页")
    @PreAuthorize("@ss.hasPermission('bpm:business-attach:query')")
    public CommonResult<PageResult<BpmBusinessAttachRespVO>> getBusinessAttachPage(@Valid BpmBusinessAttachPageReqVO pageReqVO) {
        PageResult<BpmBusinessAttachDO> pageResult = businessAttachService.getBusinessAttachPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, BpmBusinessAttachRespVO.class));
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmCategoryController.java
@@ -69,7 +69,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得流程分类")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('bpm:category:query')")
    public CommonResult<BpmCategoryRespVO> getCategory(@RequestParam("id") Long id) {
        BpmCategoryDO category = categoryService.getCategory(id);
        return success(BeanUtils.toBean(category, BpmCategoryRespVO.class));
@@ -77,7 +76,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得流程分类分页")
    @PreAuthorize("@ss.hasPermission('bpm:category:query')")
    public CommonResult<PageResult<BpmCategoryRespVO>> getCategoryPage(@Valid BpmCategoryPageReqVO pageReqVO) {
        PageResult<BpmCategoryDO> pageResult = categoryService.getCategoryPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, BpmCategoryRespVO.class));
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmFormController.java
@@ -58,7 +58,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得动态表单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('bpm:form:query')")
    public CommonResult<BpmFormRespVO> getForm(@RequestParam("id") Long id) {
        BpmFormDO form = formService.getForm(id);
        return success(BeanUtils.toBean(form, BpmFormRespVO.class));
@@ -74,7 +73,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得动态表单分页")
    @PreAuthorize("@ss.hasPermission('bpm:form:query')")
    public CommonResult<PageResult<BpmFormRespVO>> getFormPage(@Valid BpmFormPageReqVO pageVO) {
        PageResult<BpmFormDO> pageResult = formService.getFormPage(pageVO);
        return success(BeanUtils.toBean(pageResult, BpmFormRespVO.class));
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmModelController.java
@@ -101,7 +101,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得模型")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('bpm:model:query')")
    public CommonResult<BpmModelRespVO> getModel(@RequestParam("id") String id) {
        Model model = modelService.getModel(id);
        if (model == null) {
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessAutoApproveController.java
@@ -66,7 +66,6 @@
    @GetMapping("/global")
    @Operation(summary = "获得全局免审批总开关状态")
    @PreAuthorize("@ss.hasPermission('bpm:process-auto-approve:query')")
    public CommonResult<Boolean> getGlobalAutoApprove() {
        return success(processAutoApproveService.isGlobalAutoApprove());
    }
@@ -80,7 +79,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得全部免审批配置", description = "供前端一次性拉取「流程 Key -> æ˜¯å¦å…å®¡æ‰¹ã€çš„æ˜ å°„")
    @PreAuthorize("@ss.hasPermission('bpm:process-auto-approve:query')")
    public CommonResult<List<BpmProcessAutoApproveConfigRespVO>> getConfigList() {
        List<BpmProcessAutoApproveConfigDO> list = processAutoApproveService.getConfigList();
        return success(BeanUtils.toBean(list, BpmProcessAutoApproveConfigRespVO.class));
@@ -88,7 +86,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得免审批配置分页")
    @PreAuthorize("@ss.hasPermission('bpm:process-auto-approve:query')")
    public CommonResult<PageResult<BpmProcessAutoApproveConfigRespVO>> getConfigPage(
            @Valid BpmProcessAutoApproveConfigPageReqVO pageReqVO) {
        PageResult<BpmProcessAutoApproveConfigDO> pageResult = processAutoApproveService.getConfigPage(pageReqVO);
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessDefinitionController.java
@@ -51,7 +51,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得流程定义分页")
    @PreAuthorize("@ss.hasPermission('bpm:process-definition:query')")
    public CommonResult<PageResult<BpmProcessDefinitionRespVO>> getProcessDefinitionPage(
            BpmProcessDefinitionPageReqVO pageReqVO) {
        PageResult<ProcessDefinition> pageResult = processDefinitionService.getProcessDefinitionPage(pageReqVO);
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessExpressionController.java
@@ -55,7 +55,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得流程表达式")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('bpm:process-expression:query')")
    public CommonResult<BpmProcessExpressionRespVO> getProcessExpression(@RequestParam("id") Long id) {
        BpmProcessExpressionDO processExpression = processExpressionService.getProcessExpression(id);
        return success(BeanUtils.toBean(processExpression, BpmProcessExpressionRespVO.class));
@@ -63,7 +62,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得流程表达式分页")
    @PreAuthorize("@ss.hasPermission('bpm:process-expression:query')")
    public CommonResult<PageResult<BpmProcessExpressionRespVO>> getProcessExpressionPage(
            @Valid BpmProcessExpressionPageReqVO pageReqVO) {
        PageResult<BpmProcessExpressionDO> pageResult = processExpressionService.getProcessExpressionPage(pageReqVO);
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmProcessListenerController.java
@@ -55,7 +55,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得流程监听器")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('bpm:process-listener:query')")
    public CommonResult<BpmProcessListenerRespVO> getProcessListener(@RequestParam("id") Long id) {
        BpmProcessListenerDO processListener = processListenerService.getProcessListener(id);
        return success(BeanUtils.toBean(processListener, BpmProcessListenerRespVO.class));
@@ -63,7 +62,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得流程监听器分页")
    @PreAuthorize("@ss.hasPermission('bpm:process-listener:query')")
    public CommonResult<PageResult<BpmProcessListenerRespVO>> getProcessListenerPage(
            @Valid BpmProcessListenerPageReqVO pageReqVO) {
        PageResult<BpmProcessListenerDO> pageResult = processListenerService.getProcessListenerPage(pageReqVO);
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/definition/BpmUserGroupController.java
@@ -59,7 +59,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得用户组")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('bpm:user-group:query')")
    public CommonResult<BpmUserGroupRespVO> getUserGroup(@RequestParam("id") Long id) {
        BpmUserGroupDO userGroup = userGroupService.getUserGroup(id);
        return success(BeanUtils.toBean(userGroup, BpmUserGroupRespVO.class));
@@ -67,7 +66,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得用户组分页")
    @PreAuthorize("@ss.hasPermission('bpm:user-group:query')")
    public CommonResult<PageResult<BpmUserGroupRespVO>> getUserGroupPage(@Valid BpmUserGroupPageReqVO pageVO) {
        PageResult<BpmUserGroupDO> pageResult = userGroupService.getUserGroupPage(pageVO);
        return success(BeanUtils.toBean(pageResult, BpmUserGroupRespVO.class));
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOALeaveController.java
@@ -43,7 +43,6 @@
    }
    @GetMapping("/get")
    @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')")
    @Operation(summary = "获得请假申请")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    public CommonResult<BpmOALeaveRespVO> getLeave(@RequestParam("id") Long id) {
@@ -52,7 +51,6 @@
    }
    @GetMapping("/page")
    @PreAuthorize("@ss.hasPermission('bpm:oa-leave:query')")
    @Operation(summary = "获得请假申请分页")
    public CommonResult<PageResult<BpmOALeaveRespVO>> getLeavePage(@Valid BpmOALeavePageReqVO pageVO) {
        PageResult<BpmOALeaveDO> pageResult = leaveService.getLeavePage(getLoginUserId(), pageVO);
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/oa/BpmOANoticeController.java
@@ -55,7 +55,6 @@
    @GetMapping("/page")
    @Operation(summary = "获取通知公告分页列表")
    @PreAuthorize("@ss.hasPermission('bpm:oa-notice:query')")
    public CommonResult<PageResult<OaNoticeRespVO>> getNoticePage(@Valid OaNoticePageReqVO pageReqVO) {
        PageResult<OaNoticeDO> pageResult = oaNoticeService.getNoticePage(getLoginUserId(), pageReqVO);
        return success(BeanUtils.toBean(pageResult, OaNoticeRespVO.class));
@@ -64,7 +63,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取通知公告详情")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('bpm:oa-notice:query')")
    public CommonResult<OaNoticeRespVO> getNotice(@RequestParam("id") Long id) {
        OaNoticeDO notice = oaNoticeService.getNotice(id, getLoginUserId());
        return success(BeanUtils.toBean(notice, OaNoticeRespVO.class));
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java
@@ -67,7 +67,6 @@
    @GetMapping("/my-page")
    @Operation(summary = "获得我的实例分页列表", description = "在【我的流程】菜单中,进行调用")
    @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
    public CommonResult<PageResult<BpmProcessInstanceRespVO>> getProcessInstanceMyPage(
            @Valid BpmProcessInstancePageReqVO pageReqVO) {
        PageResult<HistoricProcessInstance> pageResult = processInstanceService.getProcessInstancePage(
@@ -134,7 +133,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得指定流程实例", description = "在【流程详细】界面中,进行调用")
    @Parameter(name = "id", description = "流程实例的编号", required = true)
    @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
    public CommonResult<BpmProcessInstanceRespVO> getProcessInstance(@RequestParam("id") String id) {
        HistoricProcessInstance processInstance = processInstanceService.getHistoricProcessInstance(id);
        if (processInstance == null) {
@@ -176,7 +174,6 @@
    @GetMapping("/get-approval-detail")
    @Operation(summary = "获得审批详情")
    @Parameter(name = "id", description = "流程实例的编号", required = true)
    @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
    @SuppressWarnings("unchecked")
    public CommonResult<BpmApprovalDetailRespVO> getApprovalDetail(@Valid BpmApprovalDetailReqVO reqVO) {
        if (StrUtil.isNotEmpty(reqVO.getProcessVariablesStr())) {
@@ -187,7 +184,6 @@
    @GetMapping("/get-next-approval-nodes")
    @Operation(summary = "获取下一个执行的流程节点")
    @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
    @SuppressWarnings("unchecked")
    public CommonResult<List<BpmApprovalDetailRespVO.ActivityNode>> getNextApprovalNodes(@Valid BpmApprovalDetailReqVO reqVO) {
        if (StrUtil.isNotEmpty(reqVO.getProcessVariablesStr())) {
@@ -199,7 +195,6 @@
    @GetMapping("/get-bpmn-model-view")
    @Operation(summary = "获取流程实例的 BPMN æ¨¡åž‹è§†å›¾", description = "在【流程详细】界面中,进行调用")
    @Parameter(name = "id", description = "流程实例的编号", required = true)
    @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
    public CommonResult<BpmProcessInstanceBpmnModelViewRespVO> getProcessInstanceBpmnModelView(
            @RequestParam(value = "id") String id) {
        return success(processInstanceService.getProcessInstanceBpmnModelView(id));
@@ -208,7 +203,6 @@
    @GetMapping("/get-print-data")
    @Operation(summary = "获得流程实例的打印数据")
    @Parameter(name = "id", description = "流程实例的编号", required = true)
    @PreAuthorize("@ss.hasPermission('bpm:process-instance:query')")
    public CommonResult<BpmProcessPrintDataRespVO> getProcessInstancePrintData(
            @RequestParam("processInstanceId") String processInstanceId) {
        HistoricProcessInstance historicProcessInstance = processInstanceService.getHistoricProcessInstance(processInstanceId);
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceCopyController.java
@@ -53,7 +53,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得抄送流程分页列表")
    @PreAuthorize("@ss.hasPermission('bpm:process-instance-cc:query')")
    public CommonResult<PageResult<BpmProcessInstanceCopyRespVO>> getProcessInstanceCopyPage(
            @Valid BpmProcessInstanceCopyPageReqVO pageReqVO) {
        PageResult<BpmProcessInstanceCopyDO> pageResult = processInstanceCopyService.getProcessInstanceCopyPage(
yudao-module-bpm/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmTaskController.java
@@ -62,7 +62,6 @@
    @GetMapping("todo-page")
    @Operation(summary = "获取 Todo å¾…办任务分页")
    @PreAuthorize("@ss.hasPermission('bpm:task:query')")
    public CommonResult<PageResult<BpmTaskRespVO>> getTaskTodoPage(@Valid BpmTaskPageReqVO pageVO) {
        PageResult<Task> pageResult = taskService.getTaskTodoPage(getLoginUserId(), pageVO);
        if (CollUtil.isEmpty(pageResult.getList())) {
@@ -81,7 +80,6 @@
    @GetMapping("done-page")
    @Operation(summary = "获取 Done å·²åŠžä»»åŠ¡åˆ†é¡µ")
    @PreAuthorize("@ss.hasPermission('bpm:task:query')")
    public CommonResult<PageResult<BpmTaskRespVO>> getTaskDonePage(@Valid BpmTaskPageReqVO pageVO) {
        PageResult<HistoricTaskInstance> pageResult = taskService.getTaskDonePage(getLoginUserId(), pageVO);
        if (CollUtil.isEmpty(pageResult.getList())) {
@@ -124,7 +122,6 @@
    @GetMapping("/list-by-process-instance-id")
    @Operation(summary = "获得指定流程实例的任务列表", description = "包括完成的、未完成的")
    @Parameter(name = "processInstanceId", description = "流程实例的编号", required = true)
    @PreAuthorize("@ss.hasPermission('bpm:task:query')")
    public CommonResult<List<BpmTaskRespVO>> getTaskListByProcessInstanceId(
            @RequestParam("processInstanceId") String processInstanceId) {
        List<HistoricTaskInstance> taskList = taskService.getTaskListByProcessInstanceId(processInstanceId, true);
@@ -230,7 +227,6 @@
    @GetMapping("/list-by-parent-task-id")
    @Operation(summary = "获得指定父级任务的子任务列表") // ç›®å‰ç”¨äºŽï¼Œå‡ç­¾çš„æ—¶å€™ï¼ŒèŽ·å¾—å­ä»»åŠ¡åˆ—è¡¨
    @Parameter(name = "parentTaskId", description = "父级任务编号", required = true)
    @PreAuthorize("@ss.hasPermission('bpm:task:query')")
    public CommonResult<List<BpmTaskRespVO>> getTaskListByParentTaskId(@RequestParam("parentTaskId") String parentTaskId) {
        List<Task> taskList = taskService.getTaskListByParentTaskId(parentTaskId);
        if (CollUtil.isEmpty(taskList)) {
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessController.java
@@ -106,7 +106,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得商机")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:business:query')")
    public CommonResult<CrmBusinessRespVO> getBusiness(@RequestParam("id") Long id) {
        CrmBusinessDO business = businessService.getBusiness(id);
        return success(buildBusinessDetail(business));
@@ -160,7 +159,6 @@
    @GetMapping("/simple-all-list")
    @Operation(summary = "获得商机的精简列表")
    @PreAuthorize("@ss.hasPermission('crm:business:query')")
    public CommonResult<List<CrmBusinessRespVO>> getSimpleContactList() {
        CrmBusinessPageReqVO reqVO = new CrmBusinessPageReqVO();
        reqVO.setPageSize(PAGE_SIZE_NONE); // ä¸åˆ†é¡µ
@@ -173,7 +171,6 @@
    @GetMapping("/list-by-customer")
    @Operation(summary = "获得商机列表,基于指定客户")
    @Parameter(name = "customerId", description = "客户编号", required = true)
    @PreAuthorize("@ss.hasPermission('crm:business:query')")
    public CommonResult<List<CrmBusinessRespVO>> getBusinessListByCustomer(@RequestParam("customerId") Long customerId) {
        List<CrmBusinessDO> list = businessService.getBusinessListByCustomerId(customerId);
        return success(convertList(list, business -> // åªè¿”回 id、name å­—段
@@ -184,7 +181,6 @@
    @GetMapping("/list-by-contact")
    @Operation(summary = "获得商机列表,基于指定联系人")
    @Parameter(name = "contactId", description = "联系人编号", required = true)
    @PreAuthorize("@ss.hasPermission('crm:business:query')")
    public CommonResult<List<CrmBusinessRespVO>> getBusinessListByContact(@RequestParam("contactId") Long contactId) {
        List<CrmBusinessDO> list = businessService.getBusinessListByContact(contactId);
        return success(buildBusinessDetailList(list));
@@ -192,7 +188,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得商机分页")
    @PreAuthorize("@ss.hasPermission('crm:business:query')")
    public CommonResult<PageResult<CrmBusinessRespVO>> getBusinessPage(@Valid CrmBusinessPageReqVO pageVO) {
        PageResult<CrmBusinessDO> pageResult = businessService.getBusinessPage(pageVO, getLoginUserId());
        return success(new PageResult<>(buildBusinessDetailList(pageResult.getList()), pageResult.getTotal()));
@@ -210,7 +205,6 @@
    @GetMapping("/page-by-contact")
    @Operation(summary = "获得联系人的商机分页")
    @PreAuthorize("@ss.hasPermission('crm:business:query')")
    public CommonResult<PageResult<CrmBusinessRespVO>> getBusinessContactPage(@Valid CrmBusinessPageReqVO pageReqVO) {
        PageResult<CrmBusinessDO> pageResult = businessService.getBusinessPageByContact(pageReqVO);
        return success(new PageResult<>(buildBusinessDetailList(pageResult.getList()), pageResult.getTotal()));
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/business/CrmBusinessStatusController.java
@@ -73,7 +73,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得商机状态")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:business-status:query')")
    public CommonResult<CrmBusinessStatusRespVO> getBusinessStatusType(@RequestParam("id") Long id) {
        CrmBusinessStatusTypeDO statusType = businessStatusTypeService.getBusinessStatusType(id);
        if (statusType == null) {
@@ -86,7 +85,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得商机状态分页")
    @PreAuthorize("@ss.hasPermission('crm:business-status:query')")
    public CommonResult<PageResult<CrmBusinessStatusRespVO>> getBusinessStatusPage(@Valid PageParam pageReqVO) {
        // 1. æŸ¥è¯¢æ•°æ®
        PageResult<CrmBusinessStatusTypeDO> pageResult = businessStatusTypeService.getBusinessStatusTypePage(pageReqVO);
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/clue/CrmClueController.java
@@ -88,7 +88,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得线索")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:clue:query')")
    public CommonResult<CrmClueRespVO> getClue(@RequestParam("id") Long id) {
        CrmClueDO clue = clueService.getClue(id);
        return success(buildClueDetail(clue));
@@ -103,7 +102,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得线索分页")
    @PreAuthorize("@ss.hasPermission('crm:clue:query')")
    public CommonResult<PageResult<CrmClueRespVO>> getCluePage(@Valid CrmCluePageReqVO pageVO) {
        PageResult<CrmClueDO> pageResult = clueService.getCluePage(pageVO, getLoginUserId());
        return success(new PageResult<>(buildClueDetailList(pageResult.getList()), pageResult.getTotal()));
@@ -165,7 +163,6 @@
    @GetMapping("/follow-count")
    @Operation(summary = "获得分配给我的、待跟进的线索数量")
    @PreAuthorize("@ss.hasPermission('crm:clue:query')")
    public CommonResult<Long> getFollowClueCount() {
        return success(clueService.getFollowClueCount(getLoginUserId()));
    }
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contact/CrmContactController.java
@@ -91,7 +91,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得联系人")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:contact:query')")
    public CommonResult<CrmContactRespVO> getContact(@RequestParam("id") Long id) {
        CrmContactDO contact = contactService.getContact(id);
        return success(buildContactDetail(contact));
@@ -106,7 +105,6 @@
    @GetMapping("/simple-all-list")
    @Operation(summary = "获得联系人的精简列表")
    @PreAuthorize("@ss.hasPermission('crm:contact:query')")
    public CommonResult<List<CrmContactRespVO>> getSimpleContactList() {
        List<CrmContactDO> list = contactService.getContactList(getLoginUserId());
        return success(convertList(list, contact -> // åªè¿”回 id、name å­—段
@@ -117,7 +115,6 @@
    @GetMapping("/list-by-customer")
    @Operation(summary = "获得联系人列表,基于指定客户")
    @Parameter(name = "customerId", description = "客户编号", required = true)
    @PreAuthorize("@ss.hasPermission('crm:contact:query')")
    public CommonResult<List<CrmContactRespVO>> getContactListByCustomer(@RequestParam("customerId") Long customerId) {
        List<CrmContactDO> list = contactService.getContactListByCustomerId(customerId);
        return success(convertList(list, contact -> // åªè¿”回 id、name å­—段
@@ -127,7 +124,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得联系人分页")
    @PreAuthorize("@ss.hasPermission('crm:contact:query')")
    public CommonResult<PageResult<CrmContactRespVO>> getContactPage(@Valid CrmContactPageReqVO pageVO) {
        PageResult<CrmContactDO> pageResult = contactService.getContactPage(pageVO, getLoginUserId());
        return success(new PageResult<>(buildContactDetailList(pageResult.getList()), pageResult.getTotal()));
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contract/CrmContractConfigController.java
@@ -27,7 +27,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取合同配置")
    @PreAuthorize("@ss.hasPermission('crm:contract-config:query')")
    public CommonResult<CrmContractConfigRespVO> getCustomerPoolConfig() {
        CrmContractConfigDO config = contractConfigService.getContractConfig();
        return success(BeanUtils.toBean(config, CrmContractConfigRespVO.class));
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/contract/CrmContractController.java
@@ -118,7 +118,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得合同")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:contract:query')")
    public CommonResult<CrmContractRespVO> getContract(@RequestParam("id") Long id) {
        CrmContractDO contract = contractService.getContract(id);
        return success(buildContractDetail(contract));
@@ -148,7 +147,6 @@
    @GetMapping("/download-document")
    @Operation(summary = "按购销合同模板下载合同 Word æ–‡ä»¶")
    @PreAuthorize("@ss.hasPermission('crm:contract:query')")
    public void downloadDocument(@RequestParam("id") Long id, HttpServletResponse response) throws IOException {
        // getContract åŒ…含合同数据权限校验;沿用详情页的产品、单位和客户信息。
        CrmContractRespVO contract = buildContractDetail(contractService.getContract(id));
@@ -164,7 +162,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得合同分页")
    @PreAuthorize("@ss.hasPermission('crm:contract:query')")
    public CommonResult<PageResult<CrmContractRespVO>> getContractPage(@Valid CrmContractPageReqVO pageVO) {
        PageResult<CrmContractDO> pageResult = contractService.getContractPage(pageVO, getLoginUserId());
        return success(BeanUtils.toBean(pageResult, CrmContractRespVO.class).setList(buildContractDetailList(pageResult.getList())));
@@ -252,7 +249,6 @@
    @GetMapping("/approve-process-list")
    @Operation(summary = "获取合同审批流程列表")
    @PreAuthorize("@ss.hasPermission('crm:contract:query')")
    public CommonResult<List<Map<String, Object>>> getContractApproveProcessList() {
        return success(contractService.getContractApproveProcessDefinitionList());
    }
@@ -308,14 +304,12 @@
    @GetMapping("/audit-count")
    @Operation(summary = "获得待审核合同数量")
    @PreAuthorize("@ss.hasPermission('crm:contract:query')")
    public CommonResult<Long> getAuditContractCount() {
        return success(contractService.getAuditContractCount(getLoginUserId()));
    }
    @GetMapping("/remind-count")
    @Operation(summary = "获得即将到期(提醒)的合同数量")
    @PreAuthorize("@ss.hasPermission('crm:contract:query')")
    public CommonResult<Long> getRemindContractCount() {
        return success(contractService.getRemindContractCount(getLoginUserId()));
    }
@@ -323,7 +317,6 @@
    @GetMapping("/simple-list")
    @Operation(summary = "获得合同精简列表", description = "只包含的合同,主要用于前端的下拉选项")
    @Parameter(name = "customerId", description = "客户编号", required = true)
    @PreAuthorize("@ss.hasPermission('crm:contract:query')")
    public CommonResult<List<CrmContractRespVO>> getContractSimpleList(@RequestParam("customerId") Long customerId) {
        CrmContractPageReqVO pageReqVO = new CrmContractPageReqVO().setCustomerId(customerId);
        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); // ä¸åˆ†é¡µ
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerController.java
@@ -106,7 +106,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得客户")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:customer:query')")
    public CommonResult<CrmCustomerRespVO> getCustomer(@RequestParam("id") Long id) {
        // 1. èŽ·å–å®¢æˆ·
        CrmCustomerDO customer = customerService.getCustomer(id);
@@ -132,7 +131,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得客户分页")
    @PreAuthorize("@ss.hasPermission('crm:customer:query')")
    public CommonResult<PageResult<CrmCustomerRespVO>> getCustomerPage(@Valid CrmCustomerPageReqVO pageVO) {
        // 1. æŸ¥è¯¢å®¢æˆ·åˆ†é¡µ
        PageResult<CrmCustomerDO> pageResult = customerService.getCustomerPage(pageVO, getLoginUserId());
@@ -192,7 +190,6 @@
    @GetMapping("/put-pool-remind-page")
    @Operation(summary = "获得待进入公海客户分页")
    @PreAuthorize("@ss.hasPermission('crm:customer:query')")
    public CommonResult<PageResult<CrmCustomerRespVO>> getPutPoolRemindCustomerPage(@Valid CrmCustomerPageReqVO pageVO) {
        // 1. æŸ¥è¯¢å®¢æˆ·åˆ†é¡µ
        PageResult<CrmCustomerDO> pageResult = customerService.getPutPoolRemindCustomerPage(pageVO, getLoginUserId());
@@ -202,21 +199,18 @@
    @GetMapping("/put-pool-remind-count")
    @Operation(summary = "获得待进入公海客户数量")
    @PreAuthorize("@ss.hasPermission('crm:customer:query')")
    public CommonResult<Long> getPutPoolRemindCustomerCount() {
        return success(customerService.getPutPoolRemindCustomerCount(getLoginUserId()));
    }
    @GetMapping("/today-contact-count")
    @Operation(summary = "获得今日需联系客户数量")
    @PreAuthorize("@ss.hasPermission('crm:customer:query')")
    public CommonResult<Long> getTodayContactCustomerCount() {
        return success(customerService.getTodayContactCustomerCount(getLoginUserId()));
    }
    @GetMapping("/follow-count")
    @Operation(summary = "获得分配给我、待跟进的线索数量的客户数量")
    @PreAuthorize("@ss.hasPermission('crm:customer:query')")
    public CommonResult<Long> getFollowCustomerCount() {
        return success(customerService.getFollowCustomerCount(getLoginUserId()));
    }
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerLimitConfigController.java
@@ -70,7 +70,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得客户限制配置")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:customer-limit-config:query')")
    public CommonResult<CrmCustomerLimitConfigRespVO> getCustomerLimitConfig(@RequestParam("id") Long id) {
        CrmCustomerLimitConfigDO limitConfig = customerLimitConfigService.getCustomerLimitConfig(id);
        // æ‹¼æŽ¥æ•°æ®
@@ -84,7 +83,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得客户限制配置分页")
    @PreAuthorize("@ss.hasPermission('crm:customer-limit-config:query')")
    public CommonResult<PageResult<CrmCustomerLimitConfigRespVO>> getCustomerLimitConfigPage(@Valid CrmCustomerLimitConfigPageReqVO pageVO) {
        PageResult<CrmCustomerLimitConfigDO> pageResult = customerLimitConfigService.getCustomerLimitConfigPage(pageVO);
        if (CollUtil.isEmpty(pageResult.getList())) {
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/customer/CrmCustomerPoolConfigController.java
@@ -27,7 +27,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取客户公海规则设置")
    @PreAuthorize("@ss.hasPermission('crm:customer-pool-config:query')")
    public CommonResult<CrmCustomerPoolConfigRespVO> getCustomerPoolConfig() {
        CrmCustomerPoolConfigDO poolConfig = customerPoolConfigService.getCustomerPoolConfig();
        return success(BeanUtils.toBean(poolConfig, CrmCustomerPoolConfigRespVO.class));
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/invoice/CrmInvoiceController.java
@@ -105,7 +105,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得开票")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:invoice:query')")
    public CommonResult<CrmInvoiceRespVO> getInvoice(@RequestParam("id") Long id) {
        CrmInvoiceDO invoice = invoiceService.getInvoice(id);
        return success(buildInvoiceDetail(invoice));
@@ -120,7 +119,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得开票分页")
    @PreAuthorize("@ss.hasPermission('crm:invoice:query')")
    public CommonResult<PageResult<CrmInvoiceRespVO>> getInvoicePage(@Valid CrmInvoicePageReqVO pageReqVO) {
        PageResult<CrmInvoiceDO> pageResult = invoiceService.getInvoicePage(pageReqVO, getLoginUserId());
        return success(new PageResult<>(buildInvoiceDetailList(pageResult.getList()), pageResult.getTotal()));
@@ -220,7 +218,6 @@
    @GetMapping("/audit-count")
    @Operation(summary = "获得待审核开票数量")
    @PreAuthorize("@ss.hasPermission('crm:invoice:query')")
    public CommonResult<Long> getAuditInvoiceCount() {
        return success(invoiceService.getAuditInvoiceCount(getLoginUserId()));
    }
@@ -228,7 +225,6 @@
    @GetMapping("/simple-list")
    @Operation(summary = "获得开票精简列表", description = "只包含审核通过且已上传发票附件的开票,主要用于回款创建时选择关联开票")
    @Parameter(name = "contractId", description = "合同编号", required = true)
    @PreAuthorize("@ss.hasPermission('crm:invoice:query')")
    public CommonResult<List<CrmInvoiceRespVO>> getInvoiceSimpleList(@RequestParam("contractId") Long contractId) {
        List<CrmInvoiceDO> invoices = invoiceService.getInvoiceListByContractIdAndStatus(contractId,
                List.of(CrmAuditStatusEnum.APPROVE.getStatus()));
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/quotation/CrmSaleQuotationController.java
@@ -114,7 +114,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得销售报价单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:sale-quotation:query')")
    public CommonResult<CrmSaleQuotationRespVO> getSaleQuotation(@RequestParam("id") Long id) {
        CrmSaleQuotationDO saleQuotation = saleQuotationService.getSaleQuotation(id);
        if (saleQuotation == null) {
@@ -126,7 +125,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得销售报价单分页")
    @PreAuthorize("@ss.hasPermission('crm:sale-quotation:query')")
    public CommonResult<PageResult<CrmSaleQuotationRespVO>> getSaleQuotationPage(@Valid CrmSaleQuotationPageReqVO pageReqVO) {
        PageResult<CrmSaleQuotationDO> pageResult = saleQuotationService.getSaleQuotationPage(pageReqVO, getLoginUserId());
        return success(buildSaleQuotationRespVOPageResult(pageResult));
@@ -134,7 +132,6 @@
    @GetMapping("/page-by-customer")
    @Operation(summary = "获得销售报价单分页(基于客户)")
    @PreAuthorize("@ss.hasPermission('crm:sale-quotation:query')")
    public CommonResult<PageResult<CrmSaleQuotationRespVO>> getSaleQuotationPageByCustomerId(@Valid CrmSaleQuotationPageReqVO pageReqVO) {
        PageResult<CrmSaleQuotationDO> pageResult = saleQuotationService.getSaleQuotationPageByCustomerId(pageReqVO);
        return success(buildSaleQuotationRespVOPageResult(pageResult));
@@ -142,7 +139,6 @@
    @GetMapping("/page-by-business")
    @Operation(summary = "获得销售报价单分页(基于商机)")
    @PreAuthorize("@ss.hasPermission('crm:sale-quotation:query')")
    public CommonResult<PageResult<CrmSaleQuotationRespVO>> getSaleQuotationPageByBusinessId(@Valid CrmSaleQuotationPageReqVO pageReqVO) {
        PageResult<CrmSaleQuotationDO> pageResult = saleQuotationService.getSaleQuotationPageByBusinessId(pageReqVO);
        return success(buildSaleQuotationRespVOPageResult(pageResult));
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/CrmReceivableController.java
@@ -97,7 +97,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得回款")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:receivable:query')")
    public CommonResult<CrmReceivableRespVO> getReceivable(@RequestParam("id") Long id) {
        CrmReceivableDO receivable = receivableService.getReceivable(id);
        return success(buildReceivableDetail(receivable));
@@ -112,7 +111,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得回款分页")
    @PreAuthorize("@ss.hasPermission('crm:receivable:query')")
    public CommonResult<PageResult<CrmReceivableRespVO>> getReceivablePage(@Valid CrmReceivablePageReqVO pageReqVO) {
        PageResult<CrmReceivableDO> pageResult = receivableService.getReceivablePage(pageReqVO, getLoginUserId());
        return success(new PageResult<>(buildReceivableDetailList(pageResult.getList()), pageResult.getTotal()));
@@ -187,7 +185,6 @@
    @GetMapping("/audit-count")
    @Operation(summary = "获得待审核回款数量")
    @PreAuthorize("@ss.hasPermission('crm:receivable:query')")
    public CommonResult<Long> getAuditReceivableCount() {
        return success(receivableService.getAuditReceivableCount(getLoginUserId()));
    }
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/receivable/CrmReceivablePlanController.java
@@ -91,7 +91,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得回款计划")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:receivable-plan:query')")
    public CommonResult<CrmReceivablePlanRespVO> getReceivablePlan(@RequestParam("id") Long id) {
        CrmReceivablePlanDO receivablePlan = receivablePlanService.getReceivablePlan(id);
        return success(buildReceivablePlanDetail(receivablePlan));
@@ -106,7 +105,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得回款计划分页")
    @PreAuthorize("@ss.hasPermission('crm:receivable-plan:query')")
    public CommonResult<PageResult<CrmReceivablePlanRespVO>> getReceivablePlanPage(@Valid CrmReceivablePlanPageReqVO pageReqVO) {
        PageResult<CrmReceivablePlanDO> pageResult = receivablePlanService.getReceivablePlanPage(pageReqVO, getLoginUserId());
        return success(new PageResult<>(buildReceivableDetailList(pageResult.getList()), pageResult.getTotal()));
@@ -169,7 +167,6 @@
            @Parameter(name = "customerId", description = "客户编号", required = true),
            @Parameter(name = "contractId", description = "合同编号", required = true)
    })
    @PreAuthorize("@ss.hasPermission('crm:receivable-plan:query')")
    public CommonResult<List<CrmReceivablePlanRespVO>> getReceivablePlanSimpleList(@RequestParam("customerId") Long customerId,
                                                                                   @RequestParam("contractId") Long contractId) {
        CrmReceivablePlanPageReqVO pageReqVO = new CrmReceivablePlanPageReqVO().setCustomerId(customerId).setContractId(contractId);
@@ -182,7 +179,6 @@
    @GetMapping("/remind-count")
    @Operation(summary = "获得待回款提醒数量")
    @PreAuthorize("@ss.hasPermission('crm:receivable-plan:query')")
    public CommonResult<Long> getReceivablePlanRemindCount() {
        return success(receivablePlanService.getReceivablePlanRemindCount(getLoginUserId()));
    }
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/salesTarget/CrmSalesTargetController.java
@@ -71,14 +71,12 @@
    @GetMapping("/get")
    @Operation(summary = "获得销售目标", description = "含实际达成与达成率")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:sales-target:query')")
    public CommonResult<CrmSalesTargetRespVO> getSalesTarget(@RequestParam("id") Long id) {
        return success(salesTargetService.getSalesTarget(id));
    }
    @GetMapping("/page")
    @Operation(summary = "获得销售目标分页", description = "含实际达成与达成率")
    @PreAuthorize("@ss.hasPermission('crm:sales-target:query')")
    public CommonResult<PageResult<CrmSalesTargetRespVO>> getSalesTargetPage(@Valid CrmSalesTargetPageReqVO pageReqVO) {
        return success(salesTargetService.getSalesTargetPage(pageReqVO));
    }
@@ -96,7 +94,6 @@
    @GetMapping("/get-achievement-analysis")
    @Operation(summary = "获得销售目标达成分析", description = "按周期 + ç»´åº¦è¿‡æ»¤ç›®æ ‡ï¼Œè¿”回目标 vs å®žé™… + è¾¾æˆçއ")
    @PreAuthorize("@ss.hasPermission('crm:sales-target:query')")
    public CommonResult<List<CrmSalesTargetRespVO>> getSalesTargetAnalysis(@Valid CrmSalesTargetAnalysisReqVO reqVO) {
        return success(salesTargetService.getSalesTargetAnalysis(reqVO));
    }
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/statistics/CrmStatisticsCustomerController.java
@@ -28,84 +28,72 @@
    @GetMapping("/get-customer-summary-by-date")
    @Operation(summary = "获取客户总量分析(按日期)")
    @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
    public CommonResult<List<CrmStatisticsCustomerSummaryByDateRespVO>> getCustomerSummaryByDate(@Valid CrmStatisticsCustomerReqVO reqVO) {
        return success(customerService.getCustomerSummaryByDate(reqVO));
    }
    @GetMapping("/get-customer-summary-by-user")
    @Operation(summary = "获取客户总量分析(按用户)")
    @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
    public CommonResult<List<CrmStatisticsCustomerSummaryByUserRespVO>> getCustomerSummaryByUser(@Valid CrmStatisticsCustomerReqVO reqVO) {
        return success(customerService.getCustomerSummaryByUser(reqVO));
    }
    @GetMapping("/get-follow-up-summary-by-date")
    @Operation(summary = "获取客户跟进次数分析(按日期)")
    @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
    public CommonResult<List<CrmStatisticsFollowUpSummaryByDateRespVO>> getFollowupSummaryByDate(@Valid CrmStatisticsCustomerReqVO reqVO) {
        return success(customerService.getFollowUpSummaryByDate(reqVO));
    }
    @GetMapping("/get-follow-up-summary-by-user")
    @Operation(summary = "获取客户跟进次数分析(按用户)")
    @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
    public CommonResult<List<CrmStatisticsFollowUpSummaryByUserRespVO>> getFollowUpSummaryByUser(@Valid CrmStatisticsCustomerReqVO reqVO) {
        return success(customerService.getFollowUpSummaryByUser(reqVO));
    }
    @GetMapping("/get-follow-up-summary-by-type")
    @Operation(summary = "获取客户跟进次数分析(按类型)")
    @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
    public CommonResult<List<CrmStatisticsFollowUpSummaryByTypeRespVO>> getFollowUpSummaryByType(@Valid CrmStatisticsCustomerReqVO reqVO) {
        return success(customerService.getFollowUpSummaryByType(reqVO));
    }
    @GetMapping("/get-contract-summary")
    @Operation(summary = "获取客户的首次合同、回款信息列表", description = "用于【客户转化率】页面")
    @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
    public CommonResult<List<CrmStatisticsCustomerContractSummaryRespVO>> getContractSummary(@Valid CrmStatisticsCustomerReqVO reqVO) {
        return success(customerService.getContractSummary(reqVO));
    }
    @GetMapping("/get-pool-summary-by-date")
    @Operation(summary = "获取公海客户分析(按日期)")
    @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
    public CommonResult<List<CrmStatisticsPoolSummaryByDateRespVO>> getPoolSummaryByDate(@Valid CrmStatisticsCustomerReqVO reqVO) {
        return success(customerService.getPoolSummaryByDate(reqVO));
    }
    @GetMapping("/get-pool-summary-by-user")
    @Operation(summary = "获取公海客户分析(按用户)")
    @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
    public CommonResult<List<CrmStatisticsPoolSummaryByUserRespVO>> getPoolSummaryByUser(@Valid CrmStatisticsCustomerReqVO reqVO) {
        return success(customerService.getPoolSummaryByUser(reqVO));
    }
    @GetMapping("/get-customer-deal-cycle-by-date")
    @Operation(summary = "获取客户成交周期(按日期)")
    @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
    public CommonResult<List<CrmStatisticsCustomerDealCycleByDateRespVO>> getCustomerDealCycleByDate(@Valid CrmStatisticsCustomerReqVO reqVO) {
        return success(customerService.getCustomerDealCycleByDate(reqVO));
    }
    @GetMapping("/get-customer-deal-cycle-by-user")
    @Operation(summary = "获取客户成交周期(按用户)")
    @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
    public CommonResult<List<CrmStatisticsCustomerDealCycleByUserRespVO>> getCustomerDealCycleByUser(@Valid CrmStatisticsCustomerReqVO reqVO) {
        return success(customerService.getCustomerDealCycleByUser(reqVO));
    }
    @GetMapping("/get-customer-deal-cycle-by-area")
    @Operation(summary = "获取客户成交周期(按用户)")
    @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
    public CommonResult<List<CrmStatisticsCustomerDealCycleByAreaRespVO>> getCustomerDealCycleByArea(@Valid CrmStatisticsCustomerReqVO reqVO) {
        return success(customerService.getCustomerDealCycleByArea(reqVO));
    }
    @GetMapping("/get-customer-deal-cycle-by-product")
    @Operation(summary = "获取客户成交周期(按用户)")
    @PreAuthorize("@ss.hasPermission('crm:statistics-customer:query')")
    public CommonResult<List<CrmStatisticsCustomerDealCycleByProductRespVO>> getCustomerDealCycleByProduct(@Valid CrmStatisticsCustomerReqVO reqVO) {
        return success(customerService.getCustomerDealCycleByProduct(reqVO));
    }
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/statistics/CrmStatisticsFunnelController.java
@@ -33,35 +33,30 @@
    @GetMapping("/get-funnel-summary")
    @Operation(summary = "获取销售漏斗统计数据", description = "用于【销售漏斗】页面的【销售漏斗分析】")
    @PreAuthorize("@ss.hasPermission('crm:statistics-funnel:query')")
    public CommonResult<CrmStatisticFunnelSummaryRespVO> getFunnelSummary(@Valid CrmStatisticsFunnelReqVO reqVO) {
        return success(funnelService.getFunnelSummary(reqVO));
    }
    @GetMapping("/get-business-summary-by-end-status")
    @Operation(summary = "获取商机结束状态统计", description = "用于【销售漏斗】页面的【销售漏斗分析】")
    @PreAuthorize("@ss.hasPermission('crm:statistics-funnel:query')")
    public CommonResult<List<CrmStatisticsBusinessSummaryByEndStatusRespVO>> getBusinessSummaryByEndStatus(@Valid CrmStatisticsFunnelReqVO reqVO) {
        return success(funnelService.getBusinessSummaryByEndStatus(reqVO));
    }
    @GetMapping("/get-business-summary-by-date")
    @Operation(summary = "获取新增商机分析(按日期)", description = "用于【销售漏斗】页面")
    @PreAuthorize("@ss.hasPermission('crm:statistics-funnel:query')")
    public CommonResult<List<CrmStatisticsBusinessSummaryByDateRespVO>> getBusinessSummaryByDate(@Valid CrmStatisticsFunnelReqVO reqVO) {
        return success(funnelService.getBusinessSummaryByDate(reqVO));
    }
    @GetMapping("/get-business-inversion-rate-summary-by-date")
    @Operation(summary = "获取商机转化率分析(按日期)", description = "用于【销售漏斗】页面")
    @PreAuthorize("@ss.hasPermission('crm:statistics-funnel:query')")
    public CommonResult<List<CrmStatisticsBusinessInversionRateSummaryByDateRespVO>> getBusinessInversionRateSummaryByDate(@Valid CrmStatisticsFunnelReqVO reqVO) {
        return success(funnelService.getBusinessInversionRateSummaryByDate(reqVO));
    }
    @GetMapping("/get-business-page-by-date")
    @Operation(summary = "获得商机分页(按日期)", description = "用于【销售漏斗】页面的【新增商机分析】")
    @PreAuthorize("@ss.hasPermission('crm:business:query')")
    public CommonResult<PageResult<CrmBusinessRespVO>> getBusinessPageByDate(@Valid CrmStatisticsFunnelReqVO pageVO) {
        PageResult<CrmBusinessDO> pageResult = funnelService.getBusinessPageByDate(pageVO);
        return success(new PageResult<>(buildBusinessDetailList(pageResult.getList()), pageResult.getTotal()));
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/statistics/CrmStatisticsPerformanceController.java
@@ -30,21 +30,18 @@
    @GetMapping("/get-contract-count-performance")
    @Operation(summary = "合同数量统计", description = "用于【合同数量分析】页面")
    @PreAuthorize("@ss.hasPermission('crm:statistics-performance:query')")
    public CommonResult<List<CrmStatisticsPerformanceRespVO>> getContractCountPerformance(@Valid CrmStatisticsPerformanceReqVO performanceReqVO) {
        return success(performanceService.getContractCountPerformance(performanceReqVO));
    }
    @GetMapping("/get-contract-price-performance")
    @Operation(summary = "合同金额统计")
    @PreAuthorize("@ss.hasPermission('crm:statistics-performance:query')")
    public CommonResult<List<CrmStatisticsPerformanceRespVO>> getContractPriceStaffPerformance(@Valid CrmStatisticsPerformanceReqVO performanceReqVO) {
        return success(performanceService.getContractPricePerformance(performanceReqVO));
    }
    @GetMapping("/get-receivable-price-performance")
    @Operation(summary = "回款金额统计")
    @PreAuthorize("@ss.hasPermission('crm:statistics-performance:query')")
    public CommonResult<List<CrmStatisticsPerformanceRespVO>> getReceivablePriceStaffPerformance(@Valid CrmStatisticsPerformanceReqVO performanceReqVO) {
        return success(performanceService.getReceivablePricePerformance(performanceReqVO));
    }
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/statistics/CrmStatisticsPortraitController.java
@@ -32,28 +32,24 @@
    @GetMapping("/get-customer-area-summary")
    @Operation(summary = "获取客户地区统计数据", description = "用于【城市分布分析】页面")
    @PreAuthorize("@ss.hasPermission('crm:statistics-portrait:query')")
    public CommonResult<List<CrmStatisticCustomerAreaRespVO>> getCustomerAreaSummary(@Valid CrmStatisticsPortraitReqVO reqVO) {
        return success(statisticsPortraitService.getCustomerSummaryByArea(reqVO));
    }
    @GetMapping("/get-customer-industry-summary")
    @Operation(summary = "获取客户行业统计数据", description = "用于【客户行业分析】页面")
    @PreAuthorize("@ss.hasPermission('crm:statistics-portrait:query')")
    public CommonResult<List<CrmStatisticCustomerIndustryRespVO>> getCustomerIndustrySummary(@Valid CrmStatisticsPortraitReqVO reqVO) {
        return success(statisticsPortraitService.getCustomerSummaryByIndustry(reqVO));
    }
    @GetMapping("/get-customer-level-summary")
    @Operation(summary = "获取客户级别统计数据", description = "用于【客户级别分析】页面")
    @PreAuthorize("@ss.hasPermission('crm:statistics-portrait:query')")
    public CommonResult<List<CrmStatisticCustomerLevelRespVO>> getCustomerLevelSummary(@Valid CrmStatisticsPortraitReqVO reqVO) {
        return success(statisticsPortraitService.getCustomerSummaryByLevel(reqVO));
    }
    @GetMapping("/get-customer-source-summary")
    @Operation(summary = "获取客户来源统计数据", description = "用于【客户来源分析】页面")
    @PreAuthorize("@ss.hasPermission('crm:statistics-portrait:query')")
    public CommonResult<List<CrmStatisticCustomerSourceRespVO>> getCustomerSourceSummary(@Valid CrmStatisticsPortraitReqVO reqVO) {
        return success(statisticsPortraitService.getCustomerSummaryBySource(reqVO));
    }
yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/statistics/CrmStatisticsRankController.java
@@ -29,56 +29,48 @@
    @GetMapping("/get-contract-price-rank")
    @Operation(summary = "获得合同金额排行榜")
    @PreAuthorize("@ss.hasPermission('crm:statistics-rank:query')")
    public CommonResult<List<CrmStatisticsRankRespVO>> getContractPriceRank(@Valid CrmStatisticsRankReqVO rankingReqVO) {
        return success(rankService.getContractPriceRank(rankingReqVO));
    }
    @GetMapping("/get-receivable-price-rank")
    @Operation(summary = "获得回款金额排行榜")
    @PreAuthorize("@ss.hasPermission('crm:statistics-rank:query')")
    public CommonResult<List<CrmStatisticsRankRespVO>> getReceivablePriceRank(@Valid CrmStatisticsRankReqVO rankingReqVO) {
        return success(rankService.getReceivablePriceRank(rankingReqVO));
    }
    @GetMapping("/get-contract-count-rank")
    @Operation(summary = "获得签约合同数量排行榜")
    @PreAuthorize("@ss.hasPermission('crm:statistics-rank:query')")
    public CommonResult<List<CrmStatisticsRankRespVO>> getContractCountRank(@Valid CrmStatisticsRankReqVO rankingReqVO) {
        return success(rankService.getContractCountRank(rankingReqVO));
    }
    @GetMapping("/get-product-sales-rank")
    @Operation(summary = "获得产品销量排行榜")
    @PreAuthorize("@ss.hasPermission('crm:statistics-rank:query')")
    public CommonResult<List<CrmStatisticsRankRespVO>> getProductSalesRank(@Valid CrmStatisticsRankReqVO rankingReqVO) {
        return success(rankService.getProductSalesRank(rankingReqVO));
    }
    @GetMapping("/get-customer-count-rank")
    @Operation(summary = "获得新增客户数排行榜")
    @PreAuthorize("@ss.hasPermission('crm:statistics-rank:query')")
    public CommonResult<List<CrmStatisticsRankRespVO>> getCustomerCountRank(@Valid CrmStatisticsRankReqVO rankingReqVO) {
        return success(rankService.getCustomerCountRank(rankingReqVO));
    }
    @GetMapping("/get-contacts-count-rank")
    @Operation(summary = "获得新增联系人数排行榜")
    @PreAuthorize("@ss.hasPermission('crm:statistics-rank:query')")
    public CommonResult<List<CrmStatisticsRankRespVO>> getContactsCountRank(@Valid CrmStatisticsRankReqVO rankingReqVO) {
        return success(rankService.getContactsCountRank(rankingReqVO));
    }
    @GetMapping("/get-follow-count-rank")
    @Operation(summary = "获得跟进次数排行榜")
    @PreAuthorize("@ss.hasPermission('crm:statistics-rank:query')")
    public CommonResult<List<CrmStatisticsRankRespVO>> getFollowCountRank(@Valid CrmStatisticsRankReqVO rankingReqVO) {
        return success(rankService.getFollowCountRank(rankingReqVO));
    }
    @GetMapping("/get-follow-customer-count-rank")
    @Operation(summary = "获得跟进客户数排行榜")
    @PreAuthorize("@ss.hasPermission('crm:statistics-rank:query')")
    public CommonResult<List<CrmStatisticsRankRespVO>> getFollowCustomerCountRank(@Valid CrmStatisticsRankReqVO rankingReqVO) {
        return success(rankService.getFollowCustomerCountRank(rankingReqVO));
    }
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/ErpAccountController.java
@@ -78,7 +78,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得结算账户")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('erp:account:query')")
    public CommonResult<ErpAccountRespVO> getAccount(@RequestParam("id") Long id) {
        ErpAccountDO account = accountService.getAccount(id);
        return success(BeanUtils.toBean(account, ErpAccountRespVO.class));
@@ -94,7 +93,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得结算账户分页")
    @PreAuthorize("@ss.hasPermission('erp:account:query')")
    public CommonResult<PageResult<ErpAccountRespVO>> getAccountPage(@Valid ErpAccountPageReqVO pageReqVO) {
        PageResult<ErpAccountDO> pageResult = accountService.getAccountPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, ErpAccountRespVO.class));
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/ErpFinancePaymentController.java
@@ -88,7 +88,6 @@
    @GetMapping("/approve-process-list")
    @Operation(summary = "获取付款单审批流程列表")
    @PreAuthorize("@ss.hasPermission('erp:finance-payment:query')")
    public CommonResult<List<Map<String, Object>>> getApproveProcessList() {
        return success(financePaymentService.getFinancePaymentApproveProcessDefinitionList());
    }
@@ -105,7 +104,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得付款单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('erp:finance-payment:query')")
    public CommonResult<ErpFinancePaymentRespVO> getFinancePayment(@RequestParam("id") Long id) {
        ErpFinancePaymentDO payment = financePaymentService.getFinancePayment(id);
        if (payment == null) {
@@ -133,7 +131,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得付款单分页")
    @PreAuthorize("@ss.hasPermission('erp:finance-payment:query')")
    public CommonResult<PageResult<ErpFinancePaymentRespVO>> getFinancePaymentPage(@Valid ErpFinancePaymentPageReqVO pageReqVO) {
        PageResult<ErpFinancePaymentDO> pageResult = financePaymentService.getFinancePaymentPage(pageReqVO);
        return success(buildFinancePaymentVOPageResult(pageResult));
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/finance/ErpFinanceReceiptController.java
@@ -95,7 +95,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得收款单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('erp:finance-receipt:query')")
    public CommonResult<ErpFinanceReceiptRespVO> getFinanceReceipt(@RequestParam("id") Long id) {
        ErpFinanceReceiptDO receipt = financeReceiptService.getFinanceReceipt(id);
        if (receipt == null) {
@@ -109,7 +108,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得收款单分页")
    @PreAuthorize("@ss.hasPermission('erp:finance-receipt:query')")
    public CommonResult<PageResult<ErpFinanceReceiptRespVO>> getFinanceReceiptPage(@Valid ErpFinanceReceiptPageReqVO pageReqVO) {
        PageResult<ErpFinanceReceiptDO> pageResult = financeReceiptService.getFinanceReceiptPage(pageReqVO);
        return success(buildFinanceReceiptVOPageResult(pageResult));
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpPurchaseInvoiceController.java
@@ -96,7 +96,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得来票")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('erp:purchase-invoice:query')")
    public CommonResult<ErpPurchaseInvoiceRespVO> getPurchaseInvoice(@RequestParam("id") Long id) {
        ErpPurchaseInvoiceDO invoice = invoiceService.getPurchaseInvoice(id);
        return success(buildInvoiceDetail(invoice));
@@ -111,7 +110,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得来票分页")
    @PreAuthorize("@ss.hasPermission('erp:purchase-invoice:query')")
    public CommonResult<PageResult<ErpPurchaseInvoiceRespVO>> getPurchaseInvoicePage(@Valid ErpPurchaseInvoicePageReqVO pageReqVO) {
        PageResult<ErpPurchaseInvoiceDO> pageResult = invoiceService.getPurchaseInvoicePage(pageReqVO);
        return success(new PageResult<>(buildInvoiceDetailList(pageResult.getList()), pageResult.getTotal()));
@@ -172,7 +170,6 @@
    @Operation(summary = "获得来票精简列表", description = "只包含已上传发票附件的来票,主要用于付款创建时选择关联来票")
    @Parameter(name = "supplierId", description = "供应商编号", required = true)
    @Parameter(name = "purchaseOrderId", description = "采购订单编号(可选,用于按订单过滤)")
    @PreAuthorize("@ss.hasPermission('erp:purchase-invoice:query')")
    public CommonResult<List<ErpPurchaseInvoiceRespVO>> getInvoiceSimpleList(
            @RequestParam("supplierId") Long supplierId,
            @RequestParam(value = "purchaseOrderId", required = false) Long purchaseOrderId) {
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java
@@ -111,7 +111,6 @@
    @GetMapping("/approve-process-list")
    @Operation(summary = "获取采购订单审批流程列表")
    @PreAuthorize("@ss.hasPermission('erp:purchase-order:query')")
    public CommonResult<List<Map<String, Object>>> getApproveProcessList() {
        return success(purchaseOrderService.getPurchaseOrderApproveProcessDefinitionList());
    }
@@ -128,7 +127,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得采购订单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('erp:purchase-order:query')")
    public CommonResult<ErpPurchaseOrderRespVO> getPurchaseOrder(@RequestParam("id") Long id) {
        ErpPurchaseOrderDO purchaseOrder = purchaseOrderService.getPurchaseOrder(id);
        if (purchaseOrder == null) {
@@ -154,7 +152,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得采购订单分页")
    @PreAuthorize("@ss.hasPermission('erp:purchase-order:query')")
    public CommonResult<PageResult<ErpPurchaseOrderRespVO>> getPurchaseOrderPage(@Valid ErpPurchaseOrderPageReqVO pageReqVO) {
        PageResult<ErpPurchaseOrderDO> pageResult = purchaseOrderService.getPurchaseOrderPage(pageReqVO);
        return success(buildPurchaseOrderVOPageResult(pageResult));
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpPurchaseRequestController.java
@@ -99,7 +99,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得采购申请")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('erp:purchase-request:query')")
    public CommonResult<ErpPurchaseRequestRespVO> getPurchaseRequest(@RequestParam("id") Long id) {
        ErpPurchaseRequestDO purchaseRequest = purchaseRequestService.getPurchaseRequest(id);
        if (purchaseRequest == null) {
@@ -121,7 +120,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得采购申请分页")
    @PreAuthorize("@ss.hasPermission('erp:purchase-request:query')")
    public CommonResult<PageResult<ErpPurchaseRequestRespVO>> getPurchaseRequestPage(@Valid ErpPurchaseRequestPageReqVO pageReqVO) {
        PageResult<ErpPurchaseRequestDO> pageResult = purchaseRequestService.getPurchaseRequestPage(pageReqVO);
        return success(buildPurchaseRequestVOPageResult(pageResult));
@@ -183,7 +181,6 @@
    @GetMapping("/approve-process-list")
    @Operation(summary = "获取采购申请审批流程列表")
    @PreAuthorize("@ss.hasPermission('erp:purchase-request:query')")
    public CommonResult<List<Map<String, Object>>> getApproveProcessList() {
        return success(purchaseRequestService.getPurchaseRequestApproveProcessDefinitionList());
    }
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpSupplierController.java
@@ -70,7 +70,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得供应商")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('erp:supplier:query')")
    public CommonResult<ErpSupplierRespVO> getSupplier(@RequestParam("id") Long id) {
        ErpSupplierDO supplier = supplierService.getSupplier(id);
        return success(BeanUtils.toBean(supplier, ErpSupplierRespVO.class));
@@ -78,7 +77,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得供应商分页")
    @PreAuthorize("@ss.hasPermission('erp:supplier:query')")
    public CommonResult<PageResult<ErpSupplierRespVO>> getSupplierPage(@Valid ErpSupplierPageReqVO pageReqVO) {
        PageResult<ErpSupplierDO> pageResult = supplierService.getSupplierPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, ErpSupplierRespVO.class));
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/sale/ErpSaleOrderController.java
@@ -108,7 +108,6 @@
    @GetMapping("/approve-process-list")
    @Operation(summary = "获取销售订单审批流程列表")
    @PreAuthorize("@ss.hasPermission('erp:sale-order:query')")
    public CommonResult<List<Map<String, Object>>> getApproveProcessList() {
        return success(saleOrderService.getSaleOrderApproveProcessDefinitionList());
    }
@@ -143,7 +142,6 @@
    @GetMapping("/item/list-by-order-id")
    @Operation(summary = "查询销售订单的物料明细列表(用于发货通知单创建)")
    @Parameter(name = "orderId", description = "销售订单编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('erp:sale-order:query')")
    public CommonResult<List<ErpSaleOrderItemRespVO>> getSaleOrderItemListByOrderId(@RequestParam("orderId") Long orderId) {
        List<ErpSaleOrderItemDO> itemList = saleOrderService.getSaleOrderItemListByOrderId(orderId);
        Map<Long, MdmItemRespDTO> itemMap = mdmItemApi.getItemMap(
@@ -157,7 +155,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得销售订单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('erp:sale-order:query')")
    public CommonResult<ErpSaleOrderRespVO> getSaleOrder(@RequestParam("id") Long id) {
        ErpSaleOrderDO saleOrder = saleOrderService.getSaleOrder(id);
        if (saleOrder == null) {
@@ -192,7 +189,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得销售订单分页")
    @PreAuthorize("@ss.hasPermission('erp:sale-order:query')")
    public CommonResult<PageResult<ErpSaleOrderRespVO>> getSaleOrderPage(@Valid ErpSaleOrderPageReqVO pageReqVO) {
        PageResult<ErpSaleOrderDO> pageResult = saleOrderService.getSaleOrderPage(pageReqVO);
        return success(buildSaleOrderVOPageResult(pageResult));
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/statistics/ErpPurchaseStatisticsController.java
@@ -35,7 +35,6 @@
    @GetMapping("/summary")
    @Operation(summary = "获得采购统计")
    @PreAuthorize("@ss.hasPermission('erp:statistics:query')")
    public CommonResult<ErpPurchaseSummaryRespVO> getPurchaseSummary() {
        LocalDateTime today = LocalDateTimeUtils.getToday();
        LocalDateTime yesterday = LocalDateTimeUtils.getYesterday();
@@ -52,7 +51,6 @@
    @GetMapping("/time-summary")
    @Operation(summary = "获得采购时间段统计")
    @Parameter(name = "count", description = "时间段数量", example = "6")
    @PreAuthorize("@ss.hasPermission('erp:statistics:query')")
    public CommonResult<List<ErpPurchaseTimeSummaryRespVO>> getPurchaseTimeSummary(
            @RequestParam(value = "count", defaultValue = "6") Integer count) {
        List<ErpPurchaseTimeSummaryRespVO> summaryList = new ArrayList<>();
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/statistics/ErpSaleStatisticsController.java
@@ -35,7 +35,6 @@
    @GetMapping("/summary")
    @Operation(summary = "获得销售统计")
    @PreAuthorize("@ss.hasPermission('erp:statistics:query')")
    public CommonResult<ErpSaleSummaryRespVO> getSaleSummary() {
        LocalDateTime today = LocalDateTimeUtils.getToday();
        LocalDateTime yesterday = LocalDateTimeUtils.getYesterday();
@@ -52,7 +51,6 @@
    @GetMapping("/time-summary")
    @Operation(summary = "获得销售时间段统计")
    @Parameter(name = "count", description = "时间段数量", example = "6")
    @PreAuthorize("@ss.hasPermission('erp:statistics:query')")
    public CommonResult<List<ErpSaleTimeSummaryRespVO>> getSaleTimeSummary(
            @RequestParam(value = "count", defaultValue = "6") Integer count) {
        List<ErpSaleTimeSummaryRespVO> summaryList = new ArrayList<>();
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/approval/HrmLeaveApplicationController.java
@@ -63,14 +63,12 @@
    @GetMapping("/get")
    @Operation(summary = "获得请假申请详情")
    @Parameter(name = "id", description = "申请ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:leave:query')")
    public CommonResult<HrmLeaveApplicationRespVO> getLeaveApplication(@RequestParam("id") Long id) {
        return success(leaveApplicationService.getLeaveApplicationDetail(id));
    }
    @GetMapping("/page")
    @Operation(summary = "获得请假申请分页")
    @PreAuthorize("@ss.hasPermission('hrm:leave:query')")
    public CommonResult<PageResult<HrmLeaveApplicationRespVO>> getLeaveApplicationPage(@Valid HrmLeaveApplicationPageReqVO pageReqVO) {
        return success(leaveApplicationService.getLeaveApplicationPage(pageReqVO));
    }
@@ -89,7 +87,6 @@
    @GetMapping("/approve-process-definition-list")
    @Operation(summary = "获取可用的审批流程定义列表")
    @PreAuthorize("@ss.hasPermission('hrm:leave:query')")
    public CommonResult<List<Map<String, Object>>> getApproveProcessDefinitionList() {
        return success(leaveApplicationService.getApproveProcessDefinitionList());
    }
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/approval/HrmOvertimeApplicationController.java
@@ -39,7 +39,7 @@
    public CommonResult<Boolean> delete(@RequestParam Long id) {
        service.delete(id, SecurityFrameworkUtils.getLoginUserId()); return success(true);
    }
    @GetMapping("/get") @PreAuthorize("@ss.hasAnyPermissions('hrm:overtime:query', 'bpm:task:query')")
    @GetMapping("/get")
    public CommonResult<HrmOvertimeApplicationRespVO> get(@RequestParam Long id) {
        return success(service.getDetail(id, SecurityFrameworkUtils.getLoginUserId(), canManage()));
    }
@@ -47,7 +47,7 @@
    public CommonResult<HrmOvertimeApplicationRespVO> currentApplicant() {
        return success(service.getCurrentApplicant(SecurityFrameworkUtils.getLoginUserId()));
    }
    @GetMapping("/page") @PreAuthorize("@ss.hasPermission('hrm:overtime:query')")
    @GetMapping("/page")
    public CommonResult<PageResult<HrmOvertimeApplicationRespVO>> page(@Valid HrmOvertimeApplicationPageReqVO reqVO) {
        if (!canManage()) {
            reqVO.setUserId(SecurityFrameworkUtils.getLoginUserId());
@@ -62,7 +62,7 @@
    public CommonResult<Boolean> cancel(@RequestParam Long id) {
        service.cancel(id, SecurityFrameworkUtils.getLoginUserId()); return success(true);
    }
    @GetMapping("/approve-process-definition-list") @PreAuthorize("@ss.hasPermission('hrm:overtime:query')")
    @GetMapping("/approve-process-definition-list")
    public CommonResult<List<Map<String, Object>>> processes() { return success(service.getApproveProcessDefinitionList()); }
    private boolean canManage() {
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/approval/HrmResignationApplicationController.java
@@ -68,14 +68,12 @@
    @GetMapping("/get")
    @Operation(summary = "获得离职申请详情")
    @Parameter(name = "id", description = "申请ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:resignation:query')")
    public CommonResult<HrmResignationApplicationRespVO> getResignationApplication(@RequestParam("id") Long id) {
        return success(resignationApplicationService.getResignationApplicationDetail(id));
    }
    @GetMapping("/page")
    @Operation(summary = "获得离职申请分页")
    @PreAuthorize("@ss.hasPermission('hrm:resignation:query')")
    public CommonResult<PageResult<HrmResignationApplicationRespVO>> getResignationApplicationPage(@Valid HrmResignationApplicationPageReqVO pageReqVO) {
        return success(resignationApplicationService.getResignationApplicationPage(pageReqVO));
    }
@@ -94,7 +92,6 @@
    @GetMapping("/approve-process-definition-list")
    @Operation(summary = "获取可用的审批流程定义列表")
    @PreAuthorize("@ss.hasPermission('hrm:resignation:query')")
    public CommonResult<List<Map<String, Object>>> getApproveProcessDefinitionList() {
        return success(resignationApplicationService.getApproveProcessDefinitionList());
    }
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/approval/HrmTransferApplicationController.java
@@ -67,14 +67,12 @@
    @GetMapping("/get")
    @Operation(summary = "获得调岗申请详情")
    @Parameter(name = "id", description = "申请ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:transfer:query')")
    public CommonResult<HrmTransferApplicationRespVO> getTransferApplication(@RequestParam("id") Long id) {
        return success(transferApplicationService.getTransferApplicationDetail(id));
    }
    @GetMapping("/page")
    @Operation(summary = "获得调岗申请分页")
    @PreAuthorize("@ss.hasPermission('hrm:transfer:query')")
    public CommonResult<PageResult<HrmTransferApplicationRespVO>> getTransferApplicationPage(@Valid HrmTransferApplicationPageReqVO pageReqVO) {
        return success(transferApplicationService.getTransferApplicationPage(pageReqVO));
    }
@@ -93,7 +91,6 @@
    @GetMapping("/approve-process-definition-list")
    @Operation(summary = "获取可用的审批流程定义列表")
    @PreAuthorize("@ss.hasPermission('hrm:transfer:query')")
    public CommonResult<List<Map<String, Object>>> getApproveProcessDefinitionList() {
        return success(transferApplicationService.getApproveProcessDefinitionList());
    }
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceExceptionController.java
@@ -70,7 +70,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得考勤异常申请")
    @Parameter(name = "id", description = "申请ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:attendance-exception:query')")
    public CommonResult<HrmAttendanceExceptionRespVO> getAttendanceException(@RequestParam("id") Long id) {
        HrmAttendanceExceptionDO attendanceException = attendanceExceptionService.getAttendanceException(id);
        if (attendanceException == null) {
@@ -96,7 +95,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得考勤异常申请分页")
    @PreAuthorize("@ss.hasPermission('hrm:attendance-exception:query')")
    public CommonResult<PageResult<HrmAttendanceExceptionRespVO>> getAttendanceExceptionPage(@Valid HrmAttendanceExceptionPageReqVO pageReqVO) {
        PageResult<HrmAttendanceExceptionDO> pageResult = attendanceExceptionService.getAttendanceExceptionPage(pageReqVO);
        List<HrmAttendanceExceptionRespVO> list = BeanUtils.toBean(pageResult.getList(), HrmAttendanceExceptionRespVO.class);
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceHolidayController.java
@@ -63,7 +63,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得节假日配置")
    @Parameter(name = "id", description = "节假日ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:attendance-holiday:query')")
    public CommonResult<HrmAttendanceHolidayRespVO> getAttendanceHoliday(@RequestParam("id") Long id) {
        HrmAttendanceHolidayDO attendanceHoliday = attendanceHolidayService.getAttendanceHoliday(id);
        return success(BeanUtils.toBean(attendanceHoliday, HrmAttendanceHolidayRespVO.class));
@@ -71,7 +70,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得节假日配置分页")
    @PreAuthorize("@ss.hasPermission('hrm:attendance-holiday:query')")
    public CommonResult<PageResult<HrmAttendanceHolidayRespVO>> getAttendanceHolidayPage(@Valid HrmAttendanceHolidayPageReqVO pageReqVO) {
        PageResult<HrmAttendanceHolidayDO> pageResult = attendanceHolidayService.getAttendanceHolidayPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, HrmAttendanceHolidayRespVO.class));
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceRecordController.java
@@ -147,7 +147,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得考勤记录分页")
    @PreAuthorize("@ss.hasPermission('hrm:attendance-record:query')")
    public CommonResult<PageResult<HrmAttendanceRecordRespVO>> getAttendanceRecordPage(@Valid HrmAttendanceRecordPageReqVO pageReqVO) {
        PageResult<HrmAttendanceRecordDO> pageResult = attendanceRecordService.getAttendanceRecordPage(pageReqVO);
        // è½¬æ¢ä¸º VO
@@ -202,7 +201,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得考勤记录")
    @Parameter(name = "id", description = "记录ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:attendance-record:query')")
    public CommonResult<HrmAttendanceRecordRespVO> getAttendanceRecord(@RequestParam("id") Long id) {
        HrmAttendanceRecordDO attendanceRecord = attendanceRecordService.getAttendanceRecord(id);
        if (attendanceRecord == null) {
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceRuleController.java
@@ -69,7 +69,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得考勤规则")
    @Parameter(name = "id", description = "规则ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:attendance-rule:query')")
    public CommonResult<HrmAttendanceRuleRespVO> getAttendanceRule(@RequestParam("id") Long id) {
        HrmAttendanceRuleDO attendanceRule = attendanceRuleService.getAttendanceRule(id);
        if (attendanceRule == null) {
@@ -88,7 +87,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得考勤规则分页")
    @PreAuthorize("@ss.hasPermission('hrm:attendance-rule:query')")
    public CommonResult<PageResult<HrmAttendanceRuleRespVO>> getAttendanceRulePage(@Valid HrmAttendanceRulePageReqVO pageReqVO) {
        PageResult<HrmAttendanceRuleDO> pageResult = attendanceRuleService.getAttendanceRulePage(pageReqVO);
        List<HrmAttendanceRuleRespVO> list = BeanUtils.toBean(pageResult.getList(), HrmAttendanceRuleRespVO.class);
@@ -111,7 +109,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得考勤规则列表")
    @PreAuthorize("@ss.hasPermission('hrm:attendance-rule:query')")
    public CommonResult<List<HrmAttendanceRuleRespVO>> getAttendanceRuleList() {
        List<HrmAttendanceRuleDO> list = attendanceRuleService.getAttendanceRuleList();
        return success(BeanUtils.toBean(list, HrmAttendanceRuleRespVO.class));
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmAttendanceSummaryController.java
@@ -47,7 +47,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得考勤统计汇总分页")
    @PreAuthorize("@ss.hasPermission('hrm:attendance-summary:query')")
    public CommonResult<PageResult<HrmAttendanceSummaryRespVO>> getAttendanceSummaryPage(@Valid HrmAttendanceSummaryPageReqVO pageReqVO) {
        PageResult<HrmAttendanceSummaryDO> pageResult = attendanceSummaryService.getAttendanceSummaryPage(pageReqVO);
        List<HrmAttendanceSummaryRespVO> list = BeanUtils.toBean(pageResult.getList(), HrmAttendanceSummaryRespVO.class);
@@ -96,7 +95,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得员工月度考勤汇总")
    @PreAuthorize("@ss.hasPermission('hrm:attendance-summary:query')")
    public CommonResult<HrmAttendanceSummaryRespVO> getMonthlySummary(
            @RequestParam("userId") Long userId,
            @RequestParam("yearMonth") String yearMonth) {
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmEmployeeScheduleController.java
@@ -28,7 +28,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得某月员工排班列表")
    @PreAuthorize("@ss.hasPermission('hrm:employee-schedule:query')")
    public CommonResult<List<HrmEmployeeScheduleRespVO>> getEmployeeScheduleList(
            @Valid HrmEmployeeScheduleListReqVO reqVO) {
        return success(employeeScheduleService.getScheduleList(reqVO));
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/attendance/HrmShiftController.java
@@ -63,7 +63,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得班次")
    @Parameter(name = "id", description = "班次ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:shift:query')")
    public CommonResult<HrmShiftRespVO> getShift(@RequestParam("id") Long id) {
        HrmShiftDO shift = shiftService.getShift(id);
        return success(BeanUtils.toBean(shift, HrmShiftRespVO.class));
@@ -71,7 +70,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得班次分页")
    @PreAuthorize("@ss.hasPermission('hrm:shift:query')")
    public CommonResult<PageResult<HrmShiftRespVO>> getShiftPage(@Valid HrmShiftPageReqVO pageReqVO) {
        PageResult<HrmShiftDO> pageResult = shiftService.getShiftPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, HrmShiftRespVO.class));
@@ -79,7 +77,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得班次列表(启用状态)")
    @PreAuthorize("@ss.hasPermission('hrm:shift:query')")
    public CommonResult<List<HrmShiftRespVO>> getShiftList() {
        List<HrmShiftDO> list = shiftService.getShiftList();
        return success(BeanUtils.toBean(list, HrmShiftRespVO.class));
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/employee/HrmEmployeeContractController.java
@@ -73,21 +73,18 @@
    @GetMapping("/get")
    @Operation(summary = "获得员工合同详情")
    @Parameter(name = "id", description = "合同ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:employee-contract:query')")
    public CommonResult<HrmEmployeeContractRespVO> getContract(@RequestParam("id") Long id) {
        return success(contractService.getContract(id));
    }
    @GetMapping("/page")
    @Operation(summary = "获得员工合同分页")
    @PreAuthorize("@ss.hasPermission('hrm:employee-contract:query')")
    public CommonResult<PageResult<HrmEmployeeContractRespVO>> getContractPage(@Valid HrmEmployeeContractPageReqVO pageReqVO) {
        return success(contractService.getContractPage(pageReqVO));
    }
    @GetMapping("/expiring-count")
    @Operation(summary = "获得即将到期合同数量", description = "供 HRM å¾…办/首页提醒使用")
    @PreAuthorize("@ss.hasPermission('hrm:employee-contract:query')")
    public CommonResult<Long> getExpiringCount() {
        return success(contractService.getExpiringCount());
    }
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/employee/HrmEmployeeController.java
@@ -84,14 +84,12 @@
    @GetMapping("/get")
    @Operation(summary = "获得员工详情")
    @Parameter(name = "id", description = "员工ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:employee:query')")
    public CommonResult<HrmEmployeeRespVO> getEmployee(@RequestParam("id") Long id) {
        return success(employeeService.getEmployeeDetail(id));
    }
    @GetMapping("/page")
    @Operation(summary = "获得员工分页")
    @PreAuthorize("@ss.hasPermission('hrm:employee:query')")
    public CommonResult<PageResult<HrmEmployeeRespVO>> getEmployeePage(@Valid HrmEmployeePageReqVO pageReqVO) {
        PageResult<HrmEmployeeDO> pageResult = employeeService.getEmployeePage(pageReqVO);
        // è½¬æ¢ä¸º VO
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/employee/HrmEmployeeEducationController.java
@@ -29,7 +29,6 @@
    @GetMapping("/list")
    @Operation(summary = "获取教育经历列表")
    @Parameter(name = "employeeId", description = "员工ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:employee:query')")
    public CommonResult<List<HrmEmployeeEducationRespVO>> getEducationList(
            @RequestParam("employeeId") Long employeeId) {
        List<HrmEmployeeEducationDO> list = educationService.getEducationListByEmployeeId(employeeId);
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/employee/HrmEmployeeEmergencyContactController.java
@@ -29,7 +29,6 @@
    @GetMapping("/list")
    @Operation(summary = "获取紧急联系人列表")
    @Parameter(name = "employeeId", description = "员工ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:employee:query')")
    public CommonResult<List<HrmEmployeeEmergencyContactRespVO>> getEmergencyContactList(
            @RequestParam("employeeId") Long employeeId) {
        List<HrmEmployeeEmergencyContactDO> list = emergencyContactService.getEmergencyContactListByEmployeeId(employeeId);
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/employee/HrmEmployeeWorkHistoryController.java
@@ -29,7 +29,6 @@
    @GetMapping("/list")
    @Operation(summary = "获取工作经历列表")
    @Parameter(name = "employeeId", description = "员工ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:employee:query')")
    public CommonResult<List<HrmEmployeeWorkHistoryRespVO>> getWorkHistoryList(
            @RequestParam("employeeId") Long employeeId) {
        List<HrmEmployeeWorkHistoryDO> list = workHistoryService.getWorkHistoryListByEmployeeId(employeeId);
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmEmployeeSocialSecurityController.java
@@ -73,7 +73,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取员工社保公积金档案")
    @Parameter(name = "id", description = "档案ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:employee-social-security:query')")
    public CommonResult<HrmEmployeeSocialSecurityRespVO> getEmployeeSocialSecurity(@RequestParam("id") Long id) {
        HrmEmployeeSocialSecurityDO socialSecurity = employeeSocialSecurityService.getEmployeeSocialSecurity(id);
        if (socialSecurity == null) {
@@ -88,7 +87,6 @@
    @GetMapping("/page")
    @Operation(summary = "获取员工社保公积金档案分页")
    @PreAuthorize("@ss.hasPermission('hrm:employee-social-security:query')")
    public CommonResult<PageResult<HrmEmployeeSocialSecurityRespVO>> getEmployeeSocialSecurityPage(
            @Valid HrmEmployeeSocialSecurityPageReqVO pageReqVO) {
        PageResult<HrmEmployeeSocialSecurityDO> pageResult = employeeSocialSecurityService.getEmployeeSocialSecurityPage(pageReqVO);
@@ -157,7 +155,6 @@
    @GetMapping("/list-by-user")
    @Operation(summary = "获取员工社保公积金档案历史列表")
    @Parameter(name = "userId", description = "系统用户ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:employee-social-security:query')")
    public CommonResult<List<HrmEmployeeSocialSecurityRespVO>> getEmployeeSocialSecurityList(
            @RequestParam("userId") Long userId) {
        List<HrmEmployeeSocialSecurityDO> list = employeeSocialSecurityService.getEmployeeSocialSecurityList(userId);
@@ -174,7 +171,6 @@
    @GetMapping("/get-latest")
    @Operation(summary = "获取员工最新生效的社保公积金档案")
    @Parameter(name = "userId", description = "系统用户ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:employee-social-security:query')")
    public CommonResult<HrmEmployeeSocialSecurityRespVO> getLatestEmployeeSocialSecurity(
            @RequestParam("userId") Long userId) {
        HrmEmployeeSocialSecurityDO socialSecurity = employeeSocialSecurityService.getLatestEmployeeSocialSecurity(userId);
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmLeaveTypeConfigController.java
@@ -31,7 +31,6 @@
    @GetMapping("/list")
    @Operation(summary = "获取所有请假类型配置列表")
    @PreAuthorize("@ss.hasPermission('hrm:leave-type-config:query')")
    public CommonResult<List<HrmLeaveTypeConfigRespVO>> getLeaveTypeConfigList() {
        List<HrmLeaveTypeConfigDO> list = leaveTypeConfigService.getLeaveTypeConfigList();
        return success(BeanUtils.toBean(list, HrmLeaveTypeConfigRespVO.class));
@@ -40,7 +39,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取请假类型配置")
    @Parameter(name = "leaveType", description = "请假类型", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('hrm:leave-type-config:query')")
    public CommonResult<HrmLeaveTypeConfigRespVO> getLeaveTypeConfig(@RequestParam("leaveType") Integer leaveType) {
        HrmLeaveTypeConfigDO config = leaveTypeConfigService.getLeaveTypeConfig(leaveType);
        return success(BeanUtils.toBean(config, HrmLeaveTypeConfigRespVO.class));
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSalaryCalculationController.java
@@ -48,7 +48,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得薪酬核算分页")
    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:query')")
    public CommonResult<PageResult<HrmSalaryCalculationRespVO>> getSalaryCalculationPage(@Valid HrmSalaryCalculationPageReqVO pageReqVO) {
        PageResult<HrmSalaryCalculationDO> pageResult = salaryCalculationService.getSalaryCalculationPage(pageReqVO);
        // è½¬æ¢ä¸º VO
@@ -100,7 +99,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得薪酬核算")
    @Parameter(name = "id", description = "核算ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:query')")
    public CommonResult<HrmSalaryCalculationRespVO> getSalaryCalculation(@RequestParam("id") Long id) {
        HrmSalaryCalculationDO salaryCalculation = salaryCalculationService.getSalaryCalculation(id);
        if (salaryCalculation == null) {
@@ -183,7 +181,6 @@
    @Operation(summary = "预览部门下所有员工的薪资核算信息")
    @Parameter(name = "period", description = "核算周期", required = true, example = "2024-01")
    @Parameter(name = "deptId", description = "部门ID,为空则查询全部", example = "1")
    @PreAuthorize("@ss.hasPermission('hrm:salary-calculation:query')")
    public CommonResult<List<HrmSalaryCalculationRespVO>> previewSalaryCalculation(
            @RequestParam("period") String period,
            @RequestParam(value = "deptId", required = false) Long deptId) {
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSalaryPaymentController.java
@@ -47,7 +47,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得薪资发放分页")
    @PreAuthorize("@ss.hasPermission('hrm:salary-payment:query')")
    public CommonResult<PageResult<HrmSalaryPaymentRespVO>> getSalaryPaymentPage(@Valid HrmSalaryPaymentPageReqVO pageReqVO) {
        PageResult<HrmSalaryPaymentDO> pageResult = salaryPaymentService.getSalaryPaymentPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, HrmSalaryPaymentRespVO.class));
@@ -56,7 +55,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得薪资发放")
    @Parameter(name = "id", description = "发放ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:salary-payment:query')")
    public CommonResult<HrmSalaryPaymentRespVO> getSalaryPayment(@RequestParam("id") Long id) {
        HrmSalaryPaymentDO salaryPayment = salaryPaymentService.getSalaryPayment(id);
        HrmSalaryPaymentRespVO respVO = BeanUtils.toBean(salaryPayment, HrmSalaryPaymentRespVO.class);
@@ -110,7 +108,6 @@
    @GetMapping("/detail/page")
    @Operation(summary = "获得薪资发放明细分页")
    @PreAuthorize("@ss.hasPermission('hrm:salary-payment:query')")
    public CommonResult<PageResult<HrmSalaryPaymentDetailRespVO>> getSalaryPaymentDetailPage(@Valid HrmSalaryPaymentDetailPageReqVO pageReqVO) {
        PageResult<HrmSalaryPaymentDetailDO> pageResult = salaryPaymentService.getSalaryPaymentDetailPage(pageReqVO);
        List<HrmSalaryPaymentDetailRespVO> list = BeanUtils.toBean(pageResult.getList(), HrmSalaryPaymentDetailRespVO.class);
@@ -124,7 +121,6 @@
    @GetMapping("/detail/list")
    @Operation(summary = "获得薪资发放明细列表")
    @Parameter(name = "paymentId", description = "发放台账ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:salary-payment:query')")
    public CommonResult<List<HrmSalaryPaymentDetailRespVO>> getSalaryPaymentDetailList(@RequestParam("paymentId") Long paymentId) {
        List<HrmSalaryPaymentDetailDO> detailList = salaryPaymentService.getSalaryPaymentDetailListByPaymentId(paymentId);
        List<HrmSalaryPaymentDetailRespVO> list = BeanUtils.toBean(detailList, HrmSalaryPaymentDetailRespVO.class);
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSalaryStructureController.java
@@ -62,7 +62,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得薪酬结构")
    @PreAuthorize("@ss.hasPermission('hrm:salary-structure:query')")
    public CommonResult<HrmSalaryStructureRespVO> getSalaryStructure(@RequestParam("id") Long id) {
        return success(BeanUtils.toBean(salaryStructureService.getSalaryStructure(id),
                HrmSalaryStructureRespVO.class));
@@ -70,7 +69,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得薪酬结构列表")
    @PreAuthorize("@ss.hasPermission('hrm:salary-structure:query')")
    public CommonResult<List<HrmSalaryStructureRespVO>> getSalaryStructureList(
            @RequestParam(value = "name", required = false) String name,
            @RequestParam(value = "status", required = false) Integer status) {
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSocialSecurityConfigController.java
@@ -58,7 +58,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取社保公积金配置")
    @Parameter(name = "id", description = "配置ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:social-security:query')")
    public CommonResult<HrmSocialSecurityConfigRespVO> getSocialSecurityConfig(@RequestParam("id") Long id) {
        HrmSocialSecurityConfigDO config = socialSecurityConfigService.getSocialSecurityConfig(id);
        return success(BeanUtils.toBean(config, HrmSocialSecurityConfigRespVO.class));
@@ -66,7 +65,6 @@
    @GetMapping("/list")
    @Operation(summary = "获取社保公积金配置列表")
    @PreAuthorize("@ss.hasPermission('hrm:social-security:query')")
    public CommonResult<List<HrmSocialSecurityConfigRespVO>> getSocialSecurityConfigList() {
        List<HrmSocialSecurityConfigDO> list = socialSecurityConfigService.getSocialSecurityConfigList();
        return success(BeanUtils.toBean(list, HrmSocialSecurityConfigRespVO.class));
@@ -75,7 +73,6 @@
    @GetMapping("/get-effective")
    @Operation(summary = "获取生效的社保公积金配置")
    @Parameter(name = "effectiveDate", description = "生效日期", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:social-security:query')")
    public CommonResult<HrmSocialSecurityConfigRespVO> getEffectiveSocialSecurityConfig(
            @RequestParam("effectiveDate") LocalDate effectiveDate) {
        HrmSocialSecurityConfigDO config = socialSecurityConfigService.getEffectiveSocialSecurityConfig(effectiveDate);
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmSocialSecuritySchemeController.java
@@ -57,7 +57,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取社保公积金方案")
    @Parameter(name = "id", description = "方案ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:social-security-scheme:query')")
    public CommonResult<HrmSocialSecuritySchemeRespVO> getScheme(@RequestParam("id") Long id) {
        HrmSocialSecuritySchemeDO scheme = schemeService.getScheme(id);
        return success(BeanUtils.toBean(scheme, HrmSocialSecuritySchemeRespVO.class));
@@ -66,7 +65,6 @@
    @GetMapping("/list")
    @Operation(summary = "获取社保公积金方案列表")
    @Parameter(name = "status", description = "状态")
    @PreAuthorize("@ss.hasPermission('hrm:social-security-scheme:query')")
    public CommonResult<List<HrmSocialSecuritySchemeRespVO>> getSchemeList(
            @RequestParam(value = "status", required = false) Integer status) {
        List<HrmSocialSecuritySchemeDO> list = schemeService.getSchemeList(status);
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/controller/admin/salary/HrmTaxRateConfigController.java
@@ -59,7 +59,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取个税税率配置")
    @Parameter(name = "id", description = "配置ID", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:tax-rate-config:query')")
    public CommonResult<HrmTaxRateConfigRespVO> getTaxRateConfig(@RequestParam("id") Long id) {
        HrmTaxRateConfigDO config = taxRateConfigService.getTaxRateConfig(id);
        return success(BeanUtils.toBean(config, HrmTaxRateConfigRespVO.class));
@@ -67,7 +66,6 @@
    @GetMapping("/list")
    @Operation(summary = "获取个税税率配置列表")
    @PreAuthorize("@ss.hasPermission('hrm:tax-rate-config:query')")
    public CommonResult<List<HrmTaxRateConfigRespVO>> getTaxRateConfigList() {
        List<HrmTaxRateConfigDO> list = taxRateConfigService.getTaxRateConfigList();
        return success(BeanUtils.toBean(list, HrmTaxRateConfigRespVO.class));
@@ -76,7 +74,6 @@
    @GetMapping("/get-effective")
    @Operation(summary = "获取生效的个税税率配置列表(按级数排序)")
    @Parameter(name = "effectiveDate", description = "生效日期", required = true)
    @PreAuthorize("@ss.hasPermission('hrm:tax-rate-config:query')")
    public CommonResult<List<HrmTaxRateConfigRespVO>> getEffectiveTaxRateConfigList(
            @RequestParam("effectiveDate") LocalDate effectiveDate) {
        List<HrmTaxRateConfigDO> list = taxRateConfigService.getEffectiveTaxRateConfigList(effectiveDate);
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/channel/ImChannelManagerController.java
@@ -57,7 +57,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得频道分页")
    @PreAuthorize("@ss.hasPermission('im:manager:channel:query')")
    public CommonResult<PageResult<ImChannelRespVO>> getChannelPage(@Valid ImChannelPageReqVO pageReqVO) {
        PageResult<ImChannelDO> pageResult = channelService.getChannelPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, ImChannelRespVO.class));
@@ -66,7 +65,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得频道详情")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('im:manager:channel:query')")
    public CommonResult<ImChannelRespVO> getChannel(@RequestParam("id") Long id) {
        ImChannelDO channel = channelService.getChannel(id);
        return success(BeanUtils.toBean(channel, ImChannelRespVO.class));
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/channel/ImChannelMaterialManagerController.java
@@ -65,7 +65,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得素材分页;含频道名回填")
    @PreAuthorize("@ss.hasPermission('im:manager:channel-material:query')")
    public CommonResult<PageResult<ImChannelMaterialRespVO>> getMaterialPage(@Valid ImChannelMaterialPageReqVO pageReqVO) {
        PageResult<ImChannelMaterialDO> pageResult = channelMaterialService.getMaterialPage(pageReqVO);
        if (CollUtil.isEmpty(pageResult.getList())) {
@@ -82,7 +81,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得素材详情(含富文本正文)")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('im:manager:channel-material:query')")
    public CommonResult<ImChannelMaterialRespVO> getMaterial(@RequestParam("id") Long id) {
        ImChannelMaterialDO material = channelMaterialService.getMaterial(id);
        return success(BeanUtils.toBean(material, ImChannelMaterialRespVO.class));
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/face/ImFacePackItemManagerController.java
@@ -67,7 +67,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得表情分页")
    @PreAuthorize("@ss.hasPermission('im:manager:face-pack-item:query')")
    public CommonResult<PageResult<ImFacePackItemRespVO>> getFacePackItemPage(@Valid ImFacePackItemPageReqVO pageReqVO) {
        PageResult<ImFacePackItemDO> pageResult = facePackItemService.getFacePackItemPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, ImFacePackItemRespVO.class));
@@ -76,7 +75,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得表情详情")
    @Parameter(name = "id", description = "编号", required = true, example = "2048")
    @PreAuthorize("@ss.hasPermission('im:manager:face-pack-item:query')")
    public CommonResult<ImFacePackItemRespVO> getFacePackItem(@RequestParam("id") Long id) {
        ImFacePackItemDO item = facePackItemService.getFacePackItem(id);
        return success(BeanUtils.toBean(item, ImFacePackItemRespVO.class));
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/face/ImFacePackManagerController.java
@@ -67,7 +67,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得表情包分页")
    @PreAuthorize("@ss.hasPermission('im:manager:face-pack:query')")
    public CommonResult<PageResult<ImFacePackRespVO>> getFacePackPage(@Valid ImFacePackPageReqVO pageReqVO) {
        PageResult<ImFacePackDO> pageResult = facePackService.getFacePackPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, ImFacePackRespVO.class));
@@ -76,7 +75,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得表情包详情")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('im:manager:face-pack:query')")
    public CommonResult<ImFacePackRespVO> getFacePack(@RequestParam("id") Long id) {
        ImFacePackDO pack = facePackService.getFacePack(id);
        return success(BeanUtils.toBean(pack, ImFacePackRespVO.class));
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/face/ImFaceUserItemManagerController.java
@@ -37,7 +37,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得用户表情分页")
    @PreAuthorize("@ss.hasPermission('im:manager:face-user-item:query')")
    public CommonResult<PageResult<ImFaceUserItemManagerRespVO>> getFaceUserItemPage(
            @Valid ImFaceUserItemManagerPageReqVO pageReqVO) {
        PageResult<ImFaceUserItemDO> pageResult = faceUserItemService.getFaceUserItemPage(pageReqVO);
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/friend/ImFriendManagerController.java
@@ -41,7 +41,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得好友关系分页")
    @PreAuthorize("@ss.hasPermission('im:manager:friend:query')")
    public CommonResult<PageResult<ImFriendManagerRespVO>> getFriendPage(
            @Valid ImFriendManagerPageReqVO pageReqVO) {
        // 1. åˆ†é¡µæŸ¥è¯¢
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/friend/ImFriendRequestManagerController.java
@@ -41,7 +41,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得好友申请分页")
    @PreAuthorize("@ss.hasPermission('im:manager:friend-request:query')")
    public CommonResult<PageResult<ImFriendRequestManagerRespVO>> getFriendRequestPage(
            @Valid ImFriendRequestManagerPageReqVO pageReqVO) {
        // 1. åˆ†é¡µæŸ¥è¯¢
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/group/ImGroupManagerController.java
@@ -44,7 +44,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得群分页")
    @PreAuthorize("@ss.hasPermission('im:manager:group:query')")
    public CommonResult<PageResult<ImGroupManagerRespVO>> getGroupPage(@Valid ImGroupManagerPageReqVO pageReqVO) {
        // 1. åˆ†é¡µæŸ¥è¯¢ç¾¤
        PageResult<ImGroupDO> pageResult = groupService.getGroupPage(pageReqVO);
@@ -67,7 +66,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得群详情")
    @Parameter(name = "id", description = "群编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('im:manager:group:query')")
    public CommonResult<ImGroupManagerRespVO> getGroup(@RequestParam("id") Long id) {
        ImGroupDO group = groupService.getGroup(id);
        return success(BeanUtils.toBean(group, ImGroupManagerRespVO.class));
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/group/ImGroupMemberManagerController.java
@@ -41,7 +41,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得群成员列表(含已退群成员,由前端按需过滤)")
    @Parameter(name = "groupId", description = "群编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('im:manager:group:query')")
    public CommonResult<List<ImGroupMemberManagerRespVO>> getGroupMemberList(@RequestParam("groupId") Long groupId) {
        // 1. æŸ¥è¯¢ç¾¤å…¨éƒ¨æˆå‘˜ï¼ˆå«å·²é€€ç¾¤ï¼‰
        List<ImGroupMemberDO> members = groupMemberService.getGroupMemberListByGroupId(groupId);
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/group/ImGroupRequestManagerController.java
@@ -47,7 +47,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得加群申请分页")
    @PreAuthorize("@ss.hasPermission('im:manager:group-request:query')")
    public CommonResult<PageResult<ImGroupRequestManagerRespVO>> getGroupRequestPage(
            @Valid ImGroupRequestManagerPageReqVO pageReqVO) {
        // 1. åˆ†é¡µæŸ¥è¯¢
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/message/ImChannelMessageManagerController.java
@@ -59,7 +59,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得频道消息分页;回填频道名 / ç´ ææ ‡é¢˜")
    @PreAuthorize("@ss.hasPermission('im:manager:channel-message:query')")
    public CommonResult<PageResult<ImChannelMessageRespVO>> getMessagePage(@Valid ImChannelMessagePageReqVO pageReqVO) {
        PageResult<ImChannelMessageDO> pageResult = channelMessageService.getMessagePage(pageReqVO);
        if (CollUtil.isEmpty(pageResult.getList())) {
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/message/ImGroupMessageManagerController.java
@@ -51,7 +51,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得群聊消息分页")
    @PreAuthorize("@ss.hasPermission('im:manager:message:query')")
    public CommonResult<PageResult<ImGroupMessageManagerRespVO>> getGroupMessagePage(
            @Valid ImGroupMessageManagerPageReqVO pageReqVO) {
        // 1. åˆ†é¡µæŸ¥è¯¢
@@ -83,7 +82,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得群聊消息详情")
    @Parameter(name = "id", description = "消息编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('im:manager:message:query')")
    public CommonResult<ImGroupMessageManagerRespVO> getGroupMessage(@RequestParam("id") Long id) {
        ImGroupMessageDO message = groupMessageService.getGroupMessage(id);
        return success(BeanUtils.toBean(message, ImGroupMessageManagerRespVO.class));
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/message/ImPrivateMessageManagerController.java
@@ -42,7 +42,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得私聊消息分页")
    @PreAuthorize("@ss.hasPermission('im:manager:message:query')")
    public CommonResult<PageResult<ImPrivateMessageManagerRespVO>> getPrivateMessagePage(
            @Valid ImPrivateMessageManagerPageReqVO pageReqVO) {
        // 1. åˆ†é¡µæŸ¥è¯¢
@@ -63,7 +62,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得私聊消息详情")
    @Parameter(name = "id", description = "消息编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('im:manager:message:query')")
    public CommonResult<ImPrivateMessageManagerRespVO> getPrivateMessage(@RequestParam("id") Long id) {
        ImPrivateMessageDO message = privateMessageService.getPrivateMessage(id);
        return success(BeanUtils.toBean(message, ImPrivateMessageManagerRespVO.class));
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/rtc/ImRtcCallManagerController.java
@@ -50,7 +50,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得通话记录分页")
    @PreAuthorize("@ss.hasPermission('im:manager:rtc:query')")
    public CommonResult<PageResult<ImRtcCallManagerRespVO>> getCallPage(@Valid ImRtcCallManagerPageReqVO pageReqVO) {
        PageResult<ImRtcCallDO> pageResult = rtcCallService.getCallPage(pageReqVO);
        return success(buildCallRespVOPage(pageResult));
@@ -59,7 +58,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得通话记录详情")
    @Parameter(name = "id", description = "通话编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('im:manager:rtc:query')")
    public CommonResult<ImRtcCallManagerRespVO> getCall(@RequestParam("id") Long id) {
        ImRtcCallDO call = rtcCallService.getCall(id);
        if (call == null) {
@@ -71,7 +69,6 @@
    @GetMapping("/participant-list")
    @Operation(summary = "获得通话参与者列表")
    @Parameter(name = "id", description = "通话编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('im:manager:rtc:query')")
    public CommonResult<List<ImRtcParticipantManagerRespVO>> getCallParticipantList(@RequestParam("id") Long id) {
        List<ImRtcParticipantDO> participants = rtcCallService.getCallParticipantListByCallId(id);
        if (CollUtil.isEmpty(participants)) {
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/sensitiveword/ImSensitiveWordManagerController.java
@@ -77,7 +77,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得敏感词分页")
    @PreAuthorize("@ss.hasPermission('im:manager:sensitive-word:query')")
    public CommonResult<PageResult<ImSensitiveWordRespVO>> getSensitiveWordPage(
            @Valid ImSensitiveWordPageReqVO pageReqVO) {
        // 1. åˆ†é¡µæŸ¥è¯¢
@@ -97,7 +96,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得敏感词详情")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('im:manager:sensitive-word:query')")
    public CommonResult<ImSensitiveWordRespVO> getSensitiveWord(@RequestParam("id") Long id) {
        ImSensitiveWordDO word = sensitiveWordService.getSensitiveWord(id);
        return success(BeanUtils.toBean(word, ImSensitiveWordRespVO.class));
yudao-module-im/src/main/java/cn/iocoder/yudao/module/im/controller/admin/manager/statistics/ImStatisticsManagerController.java
@@ -53,7 +53,6 @@
    @GetMapping("/overview")
    @Operation(summary = "获得数据概览")
    @PreAuthorize("@ss.hasPermission('im:manager:statistics:query')")
    public CommonResult<ImStatisticsManagerOverviewRespVO> getOverview() {
        LocalDateTime todayBegin = LocalDate.now().atStartOfDay();
        LocalDateTime tomorrowBegin = todayBegin.plusDays(1);
@@ -78,7 +77,6 @@
    @GetMapping("/message-trend")
    @Operation(summary = "获得消息趋势(私聊 / ç¾¤èŠåŒçº¿ï¼‰")
    @Parameter(name = "days", description = "回看天数(含今日)", example = "7")
    @PreAuthorize("@ss.hasPermission('im:manager:statistics:query')")
    public CommonResult<ImStatisticsManagerTrendRespVO> getMessageTrend(
            @RequestParam(value = "days", defaultValue = "7") @Min(1) @Max(90) int days) {
        List<LocalDateTime> dates = LocalDateTimeUtils.getLatestDays(days);
@@ -96,7 +94,6 @@
    @GetMapping("/user-trend")
    @Operation(summary = "获得用户趋势(新增注册 / æ—¥æ´»åŒçº¿ï¼‰")
    @Parameter(name = "days", description = "回看天数(含今日)", example = "7")
    @PreAuthorize("@ss.hasPermission('im:manager:statistics:query')")
    public CommonResult<ImStatisticsManagerTrendRespVO> getUserTrend(
            @RequestParam(value = "days", defaultValue = "7") @Min(1) @Max(90) int days) {
        List<LocalDateTime> dates = LocalDateTimeUtils.getLatestDays(days);
@@ -113,7 +110,6 @@
    @GetMapping("/message-type-distribution")
    @Operation(summary = "获得内容类型分布(最近 30 å¤©ï¼‰")
    @PreAuthorize("@ss.hasPermission('im:manager:statistics:query')")
    public CommonResult<List<ImStatisticsManagerMessageTypeRespVO>> getMessageTypeDistribution() {
        LocalDateTime endTime = LocalDate.now().plusDays(1).atStartOfDay();
        LocalDateTime beginTime = endTime.minusDays(DISTRIBUTION_WINDOW_DAYS);
@@ -125,7 +121,6 @@
    @GetMapping("/group-size-distribution")
    @Operation(summary = "获得群规模分布")
    @PreAuthorize("@ss.hasPermission('im:manager:statistics:query')")
    public CommonResult<List<ImStatisticsManagerGroupSizeRespVO>> getGroupSizeDistribution() {
        Map<String, Long> groupSizeMap = statisticsService.getGroupSizeCountMap();
        // è½¬æ¢æ ¼å¼
@@ -135,7 +130,6 @@
    @GetMapping("/top-senders")
    @Operation(summary = "获得消息 TOP å‘送者(最近 30 å¤©ï¼‰")
    @PreAuthorize("@ss.hasPermission('im:manager:statistics:query')")
    public CommonResult<List<ImStatisticsManagerTopSenderRespVO>> getTopSenders() {
        LocalDateTime endTime = LocalDate.now().plusDays(1).atStartOfDay();
        LocalDateTime beginTime = endTime.minusDays(DISTRIBUTION_WINDOW_DAYS);
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/codegen/CodegenController.java
@@ -53,7 +53,6 @@
            @Parameter(name = "name", description = "表名,模糊匹配", example = "yudao"),
            @Parameter(name = "comment", description = "描述,模糊匹配", example = "超级管理员")
    })
    @PreAuthorize("@ss.hasPermission('infra:codegen:query')")
    public CommonResult<List<DatabaseTableRespVO>> getDatabaseTableList(
            @RequestParam(value = "dataSourceConfigId") Long dataSourceConfigId,
            @RequestParam(value = "name", required = false) String name,
@@ -64,7 +63,6 @@
    @GetMapping("/table/list")
    @Operation(summary = "获得表定义列表")
    @Parameter(name = "dataSourceConfigId", description = "数据源配置的编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('infra:codegen:query')")
    public CommonResult<List<CodegenTableRespVO>> getCodegenTableList(@RequestParam(value = "dataSourceConfigId") Long dataSourceConfigId) {
        List<CodegenTableDO> list = codegenService.getCodegenTableList(dataSourceConfigId);
        return success(BeanUtils.toBean(list, CodegenTableRespVO.class));
@@ -72,7 +70,6 @@
    @GetMapping("/table/page")
    @Operation(summary = "获得表定义分页")
    @PreAuthorize("@ss.hasPermission('infra:codegen:query')")
    public CommonResult<PageResult<CodegenTableRespVO>> getCodegenTablePage(@Valid CodegenTablePageReqVO pageReqVO) {
        PageResult<CodegenTableDO> pageResult = codegenService.getCodegenTablePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, CodegenTableRespVO.class));
@@ -81,7 +78,6 @@
    @GetMapping("/detail")
    @Operation(summary = "获得表和字段的明细")
    @Parameter(name = "tableId", description = "表编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('infra:codegen:query')")
    public CommonResult<CodegenDetailRespVO> getCodegenDetail(@RequestParam("tableId") Long tableId) {
        CodegenTableDO table = codegenService.getCodegenTable(tableId);
        List<CodegenColumnDO> columns = codegenService.getCodegenColumnListByTableId(tableId);
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/config/ConfigController.java
@@ -74,7 +74,6 @@
    @GetMapping(value = "/get")
    @Operation(summary = "获得参数配置")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('infra:config:query')")
    public CommonResult<ConfigRespVO> getConfig(@RequestParam("id") Long id) {
        return success(ConfigConvert.INSTANCE.convert(configService.getConfig(id)));
    }
@@ -95,7 +94,6 @@
    @GetMapping("/page")
    @Operation(summary = "获取参数配置分页")
    @PreAuthorize("@ss.hasPermission('infra:config:query')")
    public CommonResult<PageResult<ConfigRespVO>> getConfigPage(@Valid ConfigPageReqVO pageReqVO) {
        PageResult<ConfigDO> page = configService.getConfigPage(pageReqVO);
        return success(ConfigConvert.INSTANCE.convertPage(page));
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/db/DataSourceConfigController.java
@@ -64,7 +64,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得数据源配置")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('infra:data-source-config:query')")
    public CommonResult<DataSourceConfigRespVO> getDataSourceConfig(@RequestParam("id") Long id) {
        DataSourceConfigDO config = dataSourceConfigService.getDataSourceConfig(id);
        return success(BeanUtils.toBean(config, DataSourceConfigRespVO.class));
@@ -72,7 +71,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得数据源配置列表")
    @PreAuthorize("@ss.hasPermission('infra:data-source-config:query')")
    public CommonResult<List<DataSourceConfigRespVO>> getDataSourceConfigList() {
        List<DataSourceConfigDO> list = dataSourceConfigService.getDataSourceConfigList();
        return success(BeanUtils.toBean(list, DataSourceConfigRespVO.class));
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/demo/demo01/Demo01ContactController.java
@@ -72,7 +72,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得示例联系人")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('infra:demo01-contact:query')")
    public CommonResult<Demo01ContactRespVO> getDemo01Contact(@RequestParam("id") Long id) {
        Demo01ContactDO demo01Contact = demo01ContactService.getDemo01Contact(id);
        return success(BeanUtils.toBean(demo01Contact, Demo01ContactRespVO.class));
@@ -80,7 +79,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得示例联系人分页")
    @PreAuthorize("@ss.hasPermission('infra:demo01-contact:query')")
    public CommonResult<PageResult<Demo01ContactRespVO>> getDemo01ContactPage(@Valid Demo01ContactPageReqVO pageReqVO) {
        PageResult<Demo01ContactDO> pageResult = demo01ContactService.getDemo01ContactPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, Demo01ContactRespVO.class));
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/demo/demo02/Demo02CategoryController.java
@@ -61,7 +61,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得示例分类")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('infra:demo02-category:query')")
    public CommonResult<Demo02CategoryRespVO> getDemo02Category(@RequestParam("id") Long id) {
        Demo02CategoryDO demo02Category = demo02CategoryService.getDemo02Category(id);
        return success(BeanUtils.toBean(demo02Category, Demo02CategoryRespVO.class));
@@ -69,7 +68,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得示例分类列表")
    @PreAuthorize("@ss.hasPermission('infra:demo02-category:query')")
    public CommonResult<List<Demo02CategoryRespVO>> getDemo02CategoryList(@Valid Demo02CategoryListReqVO listReqVO) {
        List<Demo02CategoryDO> list = demo02CategoryService.getDemo02CategoryList(listReqVO);
        return success(BeanUtils.toBean(list, Demo02CategoryRespVO.class));
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/demo/demo03/erp/Demo03StudentErpController.java
@@ -74,7 +74,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得学生")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<Demo03StudentErpRespVO> getDemo03Student(@RequestParam("id") Long id) {
        Demo03StudentDO demo03Student = demo03StudentErpService.getDemo03Student(id);
        return success(BeanUtils.toBean(demo03Student, Demo03StudentErpRespVO.class));
@@ -82,7 +81,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得学生分页")
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<PageResult<Demo03StudentErpRespVO>> getDemo03StudentPage(@Valid Demo03StudentErpPageReqVO pageReqVO) {
        PageResult<Demo03StudentDO> pageResult = demo03StudentErpService.getDemo03StudentPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, Demo03StudentErpRespVO.class));
@@ -106,7 +104,6 @@
    @GetMapping("/demo03-course/page")
    @Operation(summary = "获得学生课程分页")
    @Parameter(name = "studentId", description = "学生编号")
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<PageResult<Demo03CourseDO>> getDemo03CoursePage(PageParam pageReqVO,
                                                                        @RequestParam("studentId") Long studentId) {
        return success(demo03StudentErpService.getDemo03CoursePage(pageReqVO, studentId));
@@ -148,7 +145,6 @@
    @GetMapping("/demo03-course/get")
    @Operation(summary = "获得学生课程")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<Demo03CourseDO> getDemo03Course(@RequestParam("id") Long id) {
        return success(demo03StudentErpService.getDemo03Course(id));
    }
@@ -158,7 +154,6 @@
    @GetMapping("/demo03-grade/page")
    @Operation(summary = "获得学生班级分页")
    @Parameter(name = "studentId", description = "学生编号")
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<PageResult<Demo03GradeDO>> getDemo03GradePage(PageParam pageReqVO,
                                                                      @RequestParam("studentId") Long studentId) {
        return success(demo03StudentErpService.getDemo03GradePage(pageReqVO, studentId));
@@ -200,7 +195,6 @@
    @GetMapping("/demo03-grade/get")
    @Operation(summary = "获得学生班级")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<Demo03GradeDO> getDemo03Grade(@RequestParam("id") Long id) {
        return success(demo03StudentErpService.getDemo03Grade(id));
    }
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/demo/demo03/inner/Demo03StudentInnerController.java
@@ -74,7 +74,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得学生")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<Demo03StudentInnerRespVO> getDemo03Student(@RequestParam("id") Long id) {
        Demo03StudentDO demo03Student = demo03StudentInnerService.getDemo03Student(id);
        return success(BeanUtils.toBean(demo03Student, Demo03StudentInnerRespVO.class));
@@ -82,7 +81,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得学生分页")
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<PageResult<Demo03StudentInnerRespVO>> getDemo03StudentPage(@Valid Demo03StudentInnerPageReqVO pageReqVO) {
        PageResult<Demo03StudentDO> pageResult = demo03StudentInnerService.getDemo03StudentPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, Demo03StudentInnerRespVO.class));
@@ -106,7 +104,6 @@
    @GetMapping("/demo03-course/list-by-student-id")
    @Operation(summary = "获得学生课程列表")
    @Parameter(name = "studentId", description = "学生编号")
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<List<Demo03CourseDO>> getDemo03CourseListByStudentId(@RequestParam("studentId") Long studentId) {
        return success(demo03StudentInnerService.getDemo03CourseListByStudentId(studentId));
    }
@@ -116,7 +113,6 @@
    @GetMapping("/demo03-grade/get-by-student-id")
    @Operation(summary = "获得学生班级")
    @Parameter(name = "studentId", description = "学生编号")
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<Demo03GradeDO> getDemo03GradeByStudentId(@RequestParam("studentId") Long studentId) {
        return success(demo03StudentInnerService.getDemo03GradeByStudentId(studentId));
    }
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/demo/demo03/normal/Demo03StudentNormalController.java
@@ -74,7 +74,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得学生")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<Demo03StudentNormalRespVO> getDemo03Student(@RequestParam("id") Long id) {
        Demo03StudentDO demo03Student = demo03StudentNormalService.getDemo03Student(id);
        return success(BeanUtils.toBean(demo03Student, Demo03StudentNormalRespVO.class));
@@ -82,7 +81,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得学生分页")
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<PageResult<Demo03StudentNormalRespVO>> getDemo03StudentPage(@Valid Demo03StudentNormalPageReqVO pageReqVO) {
        PageResult<Demo03StudentDO> pageResult = demo03StudentNormalService.getDemo03StudentPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, Demo03StudentNormalRespVO.class));
@@ -106,7 +104,6 @@
    @GetMapping("/demo03-course/list-by-student-id")
    @Operation(summary = "获得学生课程列表")
    @Parameter(name = "studentId", description = "学生编号")
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<List<Demo03CourseDO>> getDemo03CourseListByStudentId(@RequestParam("studentId") Long studentId) {
        return success(demo03StudentNormalService.getDemo03CourseListByStudentId(studentId));
    }
@@ -116,7 +113,6 @@
    @GetMapping("/demo03-grade/get-by-student-id")
    @Operation(summary = "获得学生班级")
    @Parameter(name = "studentId", description = "学生编号")
    @PreAuthorize("@ss.hasPermission('infra:demo03-student:query')")
    public CommonResult<Demo03GradeDO> getDemo03GradeByStudentId(@RequestParam("studentId") Long studentId) {
        return success(demo03StudentNormalService.getDemo03GradeByStudentId(studentId));
    }
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileConfigController.java
@@ -74,7 +74,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得文件配置")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('infra:file-config:query')")
    public CommonResult<FileConfigRespVO> getFileConfig(@RequestParam("id") Long id) {
        FileConfigDO config = fileConfigService.getFileConfig(id);
        return success(BeanUtils.toBean(config, FileConfigRespVO.class));
@@ -82,7 +81,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得文件配置分页")
    @PreAuthorize("@ss.hasPermission('infra:file-config:query')")
    public CommonResult<PageResult<FileConfigRespVO>> getFileConfigPage(@Valid FileConfigPageReqVO pageVO) {
        PageResult<FileConfigDO> pageResult = fileConfigService.getFileConfigPage(pageVO);
        return success(BeanUtils.toBean(pageResult, FileConfigRespVO.class));
@@ -90,7 +88,6 @@
    @GetMapping("/test")
    @Operation(summary = "测试文件配置是否正确")
    @PreAuthorize("@ss.hasPermission('infra:file-config:query')")
    public CommonResult<String> testFileConfig(@RequestParam("id") Long id) throws Exception {
        String url = fileConfigService.testFileConfig(id);
        return success(url);
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileController.java
@@ -75,7 +75,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得文件")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('infra:file:query')")
    public CommonResult<FileRespVO> getFile(@RequestParam("id") Long id) {
        return success(BeanUtils.toBean(fileService.getFile(id), FileRespVO.class));
    }
@@ -130,7 +129,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得文件分页")
    @PreAuthorize("@ss.hasPermission('infra:file:query')")
    public CommonResult<PageResult<FileRespVO>> getFilePage(@Valid FilePageReqVO pageVO) {
        PageResult<FileDO> pageResult = fileService.getFilePage(pageVO);
        return success(BeanUtils.toBean(pageResult, FileRespVO.class));
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/JobController.java
@@ -111,7 +111,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得定时任务")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('infra:job:query')")
    public CommonResult<JobRespVO> getJob(@RequestParam("id") Long id) {
        JobDO job = jobService.getJob(id);
        return success(BeanUtils.toBean(job, JobRespVO.class));
@@ -119,7 +118,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得定时任务分页")
    @PreAuthorize("@ss.hasPermission('infra:job:query')")
    public CommonResult<PageResult<JobRespVO>> getJobPage(@Valid JobPageReqVO pageVO) {
        PageResult<JobDO> pageResult = jobService.getJobPage(pageVO);
        return success(BeanUtils.toBean(pageResult, JobRespVO.class));
@@ -144,7 +142,6 @@
            @Parameter(name = "id", description = "编号", required = true, example = "1024"),
            @Parameter(name = "count", description = "数量", example = "5")
    })
    @PreAuthorize("@ss.hasPermission('infra:job:query')")
    public CommonResult<List<LocalDateTime>> getJobNextTimes(
            @RequestParam("id") Long id,
            @RequestParam(value = "count", required = false, defaultValue = "5") Integer count) {
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/job/JobLogController.java
@@ -41,7 +41,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得定时任务日志")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('infra:job:query')")
    public CommonResult<JobLogRespVO> getJobLog(@RequestParam("id") Long id) {
        JobLogDO jobLog = jobLogService.getJobLog(id);
        return success(BeanUtils.toBean(jobLog, JobLogRespVO.class));
@@ -49,7 +48,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得定时任务日志分页")
    @PreAuthorize("@ss.hasPermission('infra:job:query')")
    public CommonResult<PageResult<JobLogRespVO>> getJobLogPage(@Valid JobLogPageReqVO pageVO) {
        PageResult<JobLogDO> pageResult = jobLogService.getJobLogPage(pageVO);
        return success(BeanUtils.toBean(pageResult, JobLogRespVO.class));
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/ApiAccessLogController.java
@@ -41,7 +41,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得 API è®¿é—®æ—¥å¿—")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('infra:api-access-log:query')")
    public CommonResult<ApiAccessLogRespVO> getApiAccessLog(@RequestParam("id") Long id) {
        ApiAccessLogDO apiAccessLog = apiAccessLogService.getApiAccessLog(id);
        return success(BeanUtils.toBean(apiAccessLog, ApiAccessLogRespVO.class));
@@ -49,7 +48,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得API è®¿é—®æ—¥å¿—分页")
    @PreAuthorize("@ss.hasPermission('infra:api-access-log:query')")
    public CommonResult<PageResult<ApiAccessLogRespVO>> getApiAccessLogPage(@Valid ApiAccessLogPageReqVO pageReqVO) {
        PageResult<ApiAccessLogDO> pageResult = apiAccessLogService.getApiAccessLogPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, ApiAccessLogRespVO.class));
yudao-module-infra/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/logger/ApiErrorLogController.java
@@ -53,7 +53,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得 API é”™è¯¯æ—¥å¿—")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('infra:api-error-log:query')")
    public CommonResult<ApiErrorLogRespVO> getApiErrorLog(@RequestParam("id") Long id) {
        ApiErrorLogDO apiErrorLog = apiErrorLogService.getApiErrorLog(id);
        return success(BeanUtils.toBean(apiErrorLog, ApiErrorLogRespVO.class));
@@ -61,7 +60,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得 API é”™è¯¯æ—¥å¿—分页")
    @PreAuthorize("@ss.hasPermission('infra:api-error-log:query')")
    public CommonResult<PageResult<ApiErrorLogRespVO>> getApiErrorLogPage(@Valid ApiErrorLogPageReqVO pageReqVO) {
        PageResult<ApiErrorLogDO> pageResult = apiErrorLogService.getApiErrorLogPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, ApiErrorLogRespVO.class));
yudao-module-infra/src/main/resources/codegen/java/controller/controller.vm
@@ -94,7 +94,6 @@
    @Operation(summary = "获得${table.classComment}")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
#if ($sceneEnum.scene == 1)
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')")
#end
    public CommonResult<${respVOClass}> get${simpleClassName}(@RequestParam("id") ${primaryColumn.javaType} id) {
        ${table.className}DO ${classNameVar} = ${classNameVar}Service.get${simpleClassName}(id);
@@ -109,7 +108,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得${table.classComment}分页")
#if ($sceneEnum.scene == 1)
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')")
#end
    public CommonResult<PageResult<${respVOClass}>> get${simpleClassName}Page(@Valid ${sceneEnum.prefixClass}${table.className}PageReqVO pageReqVO) {
        PageResult<${table.className}DO> pageResult = ${classNameVar}Service.get${simpleClassName}Page(pageReqVO);
@@ -125,7 +123,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得${table.classComment}列表")
#if ($sceneEnum.scene == 1)
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')")
#end
    public CommonResult<List<${respVOClass}>> get${simpleClassName}List(@Valid ${sceneEnum.prefixClass}${table.className}ListReqVO listReqVO) {
        List<${table.className}DO> list = ${classNameVar}Service.get${simpleClassName}List(listReqVO);
@@ -204,7 +201,6 @@
    @Operation(summary = "获得${subTable.classComment}分页")
    @Parameter(name = "${subJoinColumn.javaField}", description = "${subJoinColumn.columnComment}")
#if ($sceneEnum.scene == 1)
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')")
#end
    public CommonResult<PageResult<${subTable.className}DO>> get${subSimpleClassName}Page(PageParam pageReqVO,
                                                                                        @RequestParam("${subJoinColumn.javaField}") ${subJoinColumn.javaType} ${subJoinColumn.javaField}) {
@@ -218,7 +214,6 @@
    @Operation(summary = "获得${subTable.classComment}列表")
    @Parameter(name = "${subJoinColumn.javaField}", description = "${subJoinColumn.columnComment}")
#if ($sceneEnum.scene == 1)
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')")
#end
    public CommonResult<List<${subTable.className}DO>> get${subSimpleClassName}ListBy${SubJoinColumnName}(@RequestParam("${subJoinColumn.javaField}") ${subJoinColumn.javaType} ${subJoinColumn.javaField}) {
        return success(${classNameVar}Service.get${subSimpleClassName}ListBy${SubJoinColumnName}(${subJoinColumn.javaField}));
@@ -229,7 +224,6 @@
    @Operation(summary = "获得${subTable.classComment}")
    @Parameter(name = "${subJoinColumn.javaField}", description = "${subJoinColumn.columnComment}")
#if ($sceneEnum.scene == 1)
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')")
#end
    public CommonResult<${subTable.className}DO> get${subSimpleClassName}By${SubJoinColumnName}(@RequestParam("${subJoinColumn.javaField}") ${subJoinColumn.javaType} ${subJoinColumn.javaField}) {
        return success(${classNameVar}Service.get${subSimpleClassName}By${SubJoinColumnName}(${subJoinColumn.javaField}));
@@ -286,7 +280,6 @@
    @Operation(summary = "获得${subTable.classComment}")
    @Parameter(name = "id", description = "编号", required = true)
#if ($sceneEnum.scene == 1)
    @PreAuthorize("@ss.hasPermission('${permissionPrefix}:query')")
#end
    public CommonResult<${subTable.className}DO> get${subSimpleClassName}(@RequestParam("id") ${subPrimaryColumn.javaType} id) {
        return success(${classNameVar}Service.get${subSimpleClassName}(id));
yudao-module-infra/src/main/resources/codegen/sql/sql.vm
@@ -1,10 +1,10 @@
## é€šç”¨å˜é‡å®šä¹‰
#if ($importEnable)
#set ($functionNames = ['查询', '创建', '更新', '删除', '导出', '导入'])
#set ($functionOps = ['query', 'create', 'update', 'delete', 'export', 'import'])
#set ($functionNames = ['创建', '更新', '删除', '导出', '导入'])
#set ($functionOps = ['create', 'update', 'delete', 'export', 'import'])
#else
#set ($functionNames = ['查询', '创建', '更新', '删除', '导出'])
#set ($functionOps = ['query', 'create', 'update', 'delete', 'export'])
#set ($functionNames = ['创建', '更新', '删除', '导出'])
#set ($functionOps = ['create', 'update', 'delete', 'export'])
#end
##
## å®å®šä¹‰ï¼šç”ŸæˆæŒ‰é’® SQL(通用部分)
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/brand/MdmBrandController.java
@@ -65,21 +65,18 @@
    @GetMapping("/get")
    @Operation(summary = "获得品牌")
    @Parameter(name = "id", description = "编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('mdm:brand:query')")
    public CommonResult<MdmBrandDO> getBrand(@RequestParam("id") Long id) {
        return success(brandService.getBrand(id));
    }
    @GetMapping("/page")
    @Operation(summary = "获得品牌分页")
    @PreAuthorize("@ss.hasPermission('mdm:brand:query')")
    public CommonResult<PageResult<MdmBrandDO>> getBrandPage(@Valid MdmBrandPageReqVO pageReqVO) {
        return success(brandService.getBrandPage(pageReqVO));
    }
    @GetMapping("/list")
    @Operation(summary = "获得品牌列表")
    @PreAuthorize("@ss.hasPermission('mdm:brand:query')")
    public CommonResult<List<MdmBrandDO>> getBrandList() {
        return success(brandService.getBrandList(null));
    }
@@ -87,7 +84,6 @@
    @GetMapping("/list-by-ids")
    @Operation(summary = "获得品牌列表")
    @Parameter(name = "ids", description = "编号列表", required = true, example = "1,2,3")
    @PreAuthorize("@ss.hasPermission('mdm:brand:query')")
    public CommonResult<List<MdmBrandDO>> getBrandListByIds(@RequestParam("ids") List<Long> ids) {
        return success(brandService.getBrandList(ids));
    }
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/category/MdmItemCategoryController.java
@@ -67,7 +67,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得物料分类")
    @Parameter(name = "id", description = "编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('mdm:item-category:query')")
    public CommonResult<MdmItemCategoryRespVO> getItemCategory(@RequestParam("id") Long id) {
        MdmItemCategoryDO itemCategory = itemCategoryService.getItemCategory(id);
        return success(BeanUtils.toBean(itemCategory, MdmItemCategoryRespVO.class));
@@ -75,7 +74,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得物料分类分页")
    @PreAuthorize("@ss.hasPermission('mdm:item-category:query')")
    public CommonResult<PageResult<MdmItemCategoryRespVO>> getItemCategoryPage(@Valid MdmItemCategoryPageReqVO pageReqVO) {
        PageResult<MdmItemCategoryDO> pageResult = itemCategoryService.getItemCategoryPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MdmItemCategoryRespVO.class));
@@ -83,7 +81,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得物料分类列表")
    @PreAuthorize("@ss.hasPermission('mdm:item-category:query')")
    public CommonResult<List<MdmItemCategoryRespVO>> getItemCategoryList() {
        List<MdmItemCategoryDO> list = itemCategoryService.getItemCategoryList(null);
        return success(BeanUtils.toBean(list, MdmItemCategoryRespVO.class));
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/item/MdmItemController.java
@@ -122,7 +122,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得物料")
    @Parameter(name = "id", description = "编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('mdm:item:query')")
    public CommonResult<MdmItemRespVO> getItem(@RequestParam("id") Long id) {
        MdmItemDO item = itemService.getItem(id);
        MdmItemRespVO resp = BeanUtils.toBean(item, MdmItemRespVO.class);
@@ -138,7 +137,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得物料分页")
    @PreAuthorize("@ss.hasPermission('mdm:item:query')")
    public CommonResult<PageResult<MdmItemRespVO>> getItemPage(@Valid MdmItemPageReqVO pageReqVO) {
        PageResult<MdmItemDO> pageResult = itemService.getItemPage(pageReqVO);
        // è½¬æ¢å¹¶è¡¥é½å…³è”名称
@@ -234,7 +232,6 @@
    @GetMapping("/list-by-ids")
    @Operation(summary = "获得物料列表")
    @Parameter(name = "ids", description = "编号列表", required = true, example = "1,2,3")
    @PreAuthorize("@ss.hasPermission('mdm:item:query')")
    public CommonResult<List<MdmItemRespVO>> getItemList(@RequestParam("ids") List<Long> ids) {
        List<MdmItemDO> list = itemService.getItemList(ids);
        return success(BeanUtils.toBean(list, MdmItemRespVO.class));
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/unit/MdmUnitMeasureController.java
@@ -81,21 +81,18 @@
    @GetMapping("/get")
    @Operation(summary = "获得计量单位")
    @Parameter(name = "id", description = "编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('mdm:unit:query')")
    public CommonResult<MdmUnitMeasureDO> getUnitMeasure(@RequestParam("id") Long id) {
        return success(unitMeasureService.getUnitMeasure(id));
    }
    @GetMapping("/page")
    @Operation(summary = "获得计量单位分页")
    @PreAuthorize("@ss.hasPermission('mdm:unit:query')")
    public CommonResult<PageResult<MdmUnitMeasureDO>> getUnitMeasurePage(@Valid MdmUnitMeasurePageReqVO pageReqVO) {
        return success(unitMeasureService.getUnitMeasurePage(pageReqVO));
    }
    @GetMapping("/list")
    @Operation(summary = "获得计量单位列表")
    @PreAuthorize("@ss.hasPermission('mdm:unit:query')")
    public CommonResult<List<MdmUnitMeasureDO>> getUnitMeasureList() {
        return success(unitMeasureService.getUnitMeasureList(null));
    }
@@ -103,7 +100,6 @@
    @GetMapping("/list-by-ids")
    @Operation(summary = "获得计量单位列表")
    @Parameter(name = "ids", description = "编号列表", required = true, example = "1,2,3")
    @PreAuthorize("@ss.hasPermission('mdm:unit:query')")
    public CommonResult<List<MdmUnitMeasureDO>> getUnitMeasureListByIds(@RequestParam("ids") List<Long> ids) {
        return success(unitMeasureService.getUnitMeasureList(ids));
    }
yudao-module-mdm/src/main/java/cn/iocoder/yudao/module/mdm/controller/admin/warehouse/MdmWarehouseController.java
@@ -63,7 +63,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得仓库")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mdm:warehouse:query')")
    public CommonResult<MdmWarehouseRespVO> getWarehouse(@RequestParam("id") Long id) {
        MdmWarehouseDO warehouse = warehouseService.getWarehouse(id);
        return success(BeanUtils.toBean(warehouse, MdmWarehouseRespVO.class));
@@ -71,7 +70,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得仓库分页")
    @PreAuthorize("@ss.hasPermission('mdm:warehouse:query')")
    public CommonResult<PageResult<MdmWarehouseRespVO>> getWarehousePage(@Valid MdmWarehousePageReqVO pageReqVO) {
        PageResult<MdmWarehouseDO> pageResult = warehouseService.getWarehousePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MdmWarehouseRespVO.class));
@@ -80,7 +78,6 @@
    @GetMapping("/list-by-ids")
    @Operation(summary = "获得仓库列表")
    @Parameter(name = "ids", description = "编号列表", required = true, example = "1,2,3")
    @PreAuthorize("@ss.hasPermission('mdm:warehouse:query')")
    public CommonResult<List<MdmWarehouseRespVO>> getWarehouseList(@RequestParam("ids") List<Long> ids) {
        List<MdmWarehouseDO> list = warehouseService.getWarehouseList(ids);
        return success(BeanUtils.toBean(list, MdmWarehouseRespVO.class));
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/address/AddressController.java
@@ -32,7 +32,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得用户收件地址列表")
    @Parameter(name = "userId", description = "用户编号", required = true)
    @PreAuthorize("@ss.hasPermission('member:user:query')")
    public CommonResult<List<AddressRespVO>> getAddressList(@RequestParam("userId") Long userId) {
        List<MemberAddressDO> list = addressService.getAddressList(userId);
        return success(AddressConvert.INSTANCE.convertList2(list));
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/config/MemberConfigController.java
@@ -36,7 +36,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得会员配置")
    @PreAuthorize("@ss.hasPermission('member:config:query')")
    public CommonResult<MemberConfigRespVO> getConfig() {
        MemberConfigDO config = memberConfigService.getConfig();
        return success(MemberConfigConvert.INSTANCE.convert(config));
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/group/MemberGroupController.java
@@ -56,7 +56,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得用户分组")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('member:group:query')")
    public CommonResult<MemberGroupRespVO> getGroup(@RequestParam("id") Long id) {
        MemberGroupDO group = groupService.getGroup(id);
        return success(MemberGroupConvert.INSTANCE.convert(group));
@@ -72,7 +71,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得用户分组分页")
    @PreAuthorize("@ss.hasPermission('member:group:query')")
    public CommonResult<PageResult<MemberGroupRespVO>> getGroupPage(@Valid MemberGroupPageReqVO pageVO) {
        PageResult<MemberGroupDO> pageResult = groupService.getGroupPage(pageVO);
        return success(MemberGroupConvert.INSTANCE.convertPage(pageResult));
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/MemberExperienceRecordController.java
@@ -34,7 +34,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得会员经验记录")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('member:experience-record:query')")
    public CommonResult<MemberExperienceRecordRespVO> getExperienceRecord(@RequestParam("id") Long id) {
        MemberExperienceRecordDO experienceLog = experienceLogService.getExperienceRecord(id);
        return success(MemberExperienceRecordConvert.INSTANCE.convert(experienceLog));
@@ -42,7 +41,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得会员经验记录分页")
    @PreAuthorize("@ss.hasPermission('member:experience-record:query')")
    public CommonResult<PageResult<MemberExperienceRecordRespVO>> getExperienceRecordPage(
            @Valid MemberExperienceRecordPageReqVO pageVO) {
        PageResult<MemberExperienceRecordDO> pageResult = experienceLogService.getExperienceRecordPage(pageVO);
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/MemberLevelController.java
@@ -54,7 +54,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得会员等级")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('member:level:query')")
    public CommonResult<MemberLevelRespVO> getLevel(@RequestParam("id") Long id) {
        MemberLevelDO level = levelService.getLevel(id);
        return success(MemberLevelConvert.INSTANCE.convert(level));
@@ -71,7 +70,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得会员等级列表")
    @PreAuthorize("@ss.hasPermission('member:level:query')")
    public CommonResult<List<MemberLevelRespVO>> getLevelList(@Valid MemberLevelListReqVO listReqVO) {
        List<MemberLevelDO> result = levelService.getLevelList(listReqVO);
        return success(MemberLevelConvert.INSTANCE.convertList(result));
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/level/MemberLevelRecordController.java
@@ -34,7 +34,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得会员等级记录")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('member:level-record:query')")
    public CommonResult<MemberLevelRecordRespVO> getLevelRecord(@RequestParam("id") Long id) {
        MemberLevelRecordDO levelLog = levelLogService.getLevelRecord(id);
        return success(MemberLevelRecordConvert.INSTANCE.convert(levelLog));
@@ -42,7 +41,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得会员等级记录分页")
    @PreAuthorize("@ss.hasPermission('member:level-record:query')")
    public CommonResult<PageResult<MemberLevelRecordRespVO>> getLevelRecordPage(
            @Valid MemberLevelRecordPageReqVO pageVO) {
        PageResult<MemberLevelRecordDO> pageResult = levelLogService.getLevelRecordPage(pageVO);
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/point/MemberPointRecordController.java
@@ -39,7 +39,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得用户积分记录分页")
    @PreAuthorize("@ss.hasPermission('point:record:query')")
    public CommonResult<PageResult<MemberPointRecordRespVO>> getPointRecordPage(@Valid MemberPointRecordPageReqVO pageVO) {
        // æ‰§è¡Œåˆ†é¡µæŸ¥è¯¢
        PageResult<MemberPointRecordDO> pageResult = pointRecordService.getPointRecordPage(pageVO);
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/MemberSignInConfigController.java
@@ -57,7 +57,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得签到规则")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('point:sign-in-config:query')")
    public CommonResult<MemberSignInConfigRespVO> getSignInConfig(@RequestParam("id") Long id) {
        MemberSignInConfigDO signInConfig = signInConfigService.getSignInConfig(id);
        return success(MemberSignInConfigConvert.INSTANCE.convert(signInConfig));
@@ -65,7 +64,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得签到规则列表")
    @PreAuthorize("@ss.hasPermission('point:sign-in-config:query')")
    public CommonResult<List<MemberSignInConfigRespVO>> getSignInConfigList() {
        List<MemberSignInConfigDO> list = signInConfigService.getSignInConfigList();
        return success(MemberSignInConfigConvert.INSTANCE.convertList(list));
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/signin/MemberSignInRecordController.java
@@ -39,7 +39,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得签到记录分页")
    @PreAuthorize("@ss.hasPermission('point:sign-in-record:query')")
    public CommonResult<PageResult<MemberSignInRecordRespVO>> getSignInRecordPage(@Valid MemberSignInRecordPageReqVO pageVO) {
        // æ‰§è¡Œåˆ†é¡µæŸ¥è¯¢
        PageResult<MemberSignInRecordDO> pageResult = signInRecordService.getSignInRecordPage(pageVO);
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/tag/MemberTagController.java
@@ -59,7 +59,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得会员标签")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('member:tag:query')")
    public CommonResult<MemberTagRespVO> getMemberTag(@RequestParam("id") Long id) {
        MemberTagDO tag = tagService.getTag(id);
        return success(MemberTagConvert.INSTANCE.convert(tag));
@@ -77,7 +76,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得会员标签列表")
    @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048")
    @PreAuthorize("@ss.hasPermission('member:tag:query')")
    public CommonResult<List<MemberTagRespVO>> getMemberTagList(@RequestParam("ids") Collection<Long> ids) {
        List<MemberTagDO> list = tagService.getTagList(ids);
        return success(MemberTagConvert.INSTANCE.convertList(list));
@@ -85,7 +83,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得会员标签分页")
    @PreAuthorize("@ss.hasPermission('member:tag:query')")
    public CommonResult<PageResult<MemberTagRespVO>> getTagPage(@Valid MemberTagPageReqVO pageVO) {
        PageResult<MemberTagDO> pageResult = tagService.getTagPage(pageVO);
        return success(MemberTagConvert.INSTANCE.convertPage(pageResult));
yudao-module-member/src/main/java/cn/iocoder/yudao/module/member/controller/admin/user/MemberUserController.java
@@ -79,7 +79,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得会员用户")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('member:user:query')")
    public CommonResult<MemberUserRespVO> getUser(@RequestParam("id") Long id) {
        MemberUserDO user = memberUserService.getUser(id);
        if (user == null) {
@@ -97,7 +96,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得会员用户分页")
    @PreAuthorize("@ss.hasPermission('member:user:query')")
    public CommonResult<PageResult<MemberUserRespVO>> getUserPage(@Valid MemberUserPageReqVO pageVO) {
        PageResult<MemberUserDO> pageResult = memberUserService.getUserPage(pageVO);
        if (CollUtil.isEmpty(pageResult.getList())) {
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/calendar/MesCalCalendarController.java
@@ -58,7 +58,6 @@
    @GetMapping("/list")
    @Operation(summary = "查询排班日历")
    @PreAuthorize("@ss.hasPermission('mes:cal-team-shift:query')")
    public CommonResult<List<MesCalCalendarRespVO>> getCalendarList(@Valid MesCalCalendarListReqVO reqVO) {
        // 1.1 æ ¹æ®æŸ¥è¯¢ç±»åž‹èŽ·å–ç­ç»„æŽ’ç­è®°å½•
        List<MesCalTeamShiftDO> teamShifts = getTeamShifts(reqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/holiday/MesCalHolidayController.java
@@ -42,7 +42,6 @@
    @GetMapping("/get-by-day")
    @Operation(summary = "根据日期获得假期设置")
    @Parameter(name = "day", description = "日期", required = true)
    @PreAuthorize("@ss.hasPermission('mes:cal-holiday:query')")
    public CommonResult<MesCalHolidayRespVO> getHolidayByDay(
            @RequestParam("day") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime day) {
        MesCalHolidayDO holiday = holidayService.getHolidayByDay(day);
@@ -51,7 +50,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得假期设置列表", description = "支持可选日期范围过滤,不传则返回全量数据")
    @PreAuthorize("@ss.hasPermission('mes:cal-holiday:query')")
    public CommonResult<List<MesCalHolidayRespVO>> getHolidayList(
            @RequestParam(value = "startDay", required = false)
            @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime startDay,
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/plan/MesCalPlanController.java
@@ -72,7 +72,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得排班计划")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:cal-plan:query')")
    public CommonResult<MesCalPlanRespVO> getPlan(@RequestParam("id") Long id) {
        MesCalPlanDO plan = planService.getPlan(id);
        return success(BeanUtils.toBean(plan, MesCalPlanRespVO.class));
@@ -80,7 +79,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得排班计划分页")
    @PreAuthorize("@ss.hasPermission('mes:cal-plan:query')")
    public CommonResult<PageResult<MesCalPlanRespVO>> getPlanPage(@Valid MesCalPlanPageReqVO pageReqVO) {
        PageResult<MesCalPlanDO> pageResult = planService.getPlanPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesCalPlanRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/plan/MesCalPlanShiftController.java
@@ -57,7 +57,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得计划班次")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:cal-plan:query')")
    public CommonResult<MesCalPlanShiftRespVO> getPlanShift(@RequestParam("id") Long id) {
        MesCalPlanShiftDO planShift = planShiftService.getPlanShift(id);
        return success(BeanUtils.toBean(planShift, MesCalPlanShiftRespVO.class));
@@ -65,7 +64,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得计划班次分页")
    @PreAuthorize("@ss.hasPermission('mes:cal-plan:query')")
    public CommonResult<PageResult<MesCalPlanShiftRespVO>> getPlanShiftPage(@Valid MesCalPlanShiftPageReqVO pageReqVO) {
        PageResult<MesCalPlanShiftDO> pageResult = planShiftService.getPlanShiftPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesCalPlanShiftRespVO.class));
@@ -74,7 +72,6 @@
    @GetMapping("/list-by-plan")
    @Operation(summary = "获得指定排班计划的班次列表")
    @Parameter(name = "planId", description = "排班计划编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:cal-plan:query')")
    public CommonResult<List<MesCalPlanShiftRespVO>> getPlanShiftListByPlan(@RequestParam("planId") Long planId) {
        List<MesCalPlanShiftDO> list = planShiftService.getPlanShiftListByPlanId(planId);
        return success(BeanUtils.toBean(list, MesCalPlanShiftRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/plan/MesCalPlanTeamController.java
@@ -54,7 +54,6 @@
    @GetMapping("/list-by-plan")
    @Operation(summary = "获得指定排班计划的班组列表")
    @Parameter(name = "planId", description = "排班计划编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:cal-plan:query')")
    public CommonResult<List<MesCalPlanTeamRespVO>> getPlanTeamListByPlan(@RequestParam("planId") Long planId) {
        List<MesCalPlanTeamDO> list = planTeamService.getPlanTeamListByPlanId(planId);
        List<MesCalPlanTeamRespVO> respList = BeanUtils.toBean(list, MesCalPlanTeamRespVO.class);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/team/MesCalTeamController.java
@@ -63,7 +63,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得班组")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:cal-team:query')")
    public CommonResult<MesCalTeamRespVO> getTeam(@RequestParam("id") Long id) {
        MesCalTeamDO team = teamService.getTeam(id);
        return success(BeanUtils.toBean(team, MesCalTeamRespVO.class));
@@ -71,7 +70,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得班组分页")
    @PreAuthorize("@ss.hasPermission('mes:cal-team:query')")
    public CommonResult<PageResult<MesCalTeamRespVO>> getTeamPage(@Valid MesCalTeamPageReqVO pageReqVO) {
        PageResult<MesCalTeamDO> pageResult = teamService.getTeamPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesCalTeamRespVO.class));
@@ -79,7 +77,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得班组列表")
    @PreAuthorize("@ss.hasPermission('mes:cal-team:query')")
    public CommonResult<List<MesCalTeamRespVO>> getTeamList() {
        List<MesCalTeamDO> list = teamService.getTeamList();
        return success(BeanUtils.toBean(list, MesCalTeamRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/team/MesCalTeamMemberController.java
@@ -60,7 +60,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得班组成员")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:cal-team:query')")
    public CommonResult<MesCalTeamMemberRespVO> getTeamMember(@RequestParam("id") Long id) {
        MesCalTeamMemberDO member = teamMemberService.getTeamMember(id);
        return success(BeanUtils.toBean(member, MesCalTeamMemberRespVO.class));
@@ -68,7 +67,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得班组成员分页")
    @PreAuthorize("@ss.hasPermission('mes:cal-team:query')")
    public CommonResult<PageResult<MesCalTeamMemberRespVO>> getTeamMemberPage(@Valid MesCalTeamMemberPageReqVO pageReqVO) {
        PageResult<MesCalTeamMemberDO> pageResult = teamMemberService.getTeamMemberPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesCalTeamMemberRespVO.class));
@@ -76,7 +74,6 @@
    @GetMapping("/list-by-team")
    @Operation(summary = "获得班组成员列表", description = "支持单个 teamId æˆ–多个 teamIds")
    @PreAuthorize("@ss.hasPermission('mes:cal-team:query')")
    public CommonResult<List<MesCalTeamMemberRespVO>> getTeamMemberListByTeam(
            @RequestParam(value = "teamId", required = false) Long teamId,
            @RequestParam(value = "teamIds", required = false) Collection<Long> teamIds) {
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/cal/team/MesCalTeamShiftController.java
@@ -44,7 +44,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得班组排班列表")
    @PreAuthorize("@ss.hasPermission('mes:cal-team-shift:query')")
    public CommonResult<List<MesCalTeamShiftRespVO>> getTeamShiftList(@Valid MesCalTeamShiftListReqVO reqVO) {
        List<MesCalTeamShiftDO> list = teamShiftService.getTeamShiftList(reqVO);
        if (CollUtil.isEmpty(list)) {
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/checkplan/MesDvCheckPlanController.java
@@ -81,7 +81,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得点检保养方案")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:dv-check-plan:query')")
    public CommonResult<MesDvCheckPlanRespVO> getCheckPlan(@RequestParam("id") Long id) {
        MesDvCheckPlanDO checkPlan = checkPlanService.getCheckPlan(id);
        return success(BeanUtils.toBean(checkPlan, MesDvCheckPlanRespVO.class));
@@ -89,7 +88,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得点检保养方案分页")
    @PreAuthorize("@ss.hasPermission('mes:dv-check-plan:query')")
    public CommonResult<PageResult<MesDvCheckPlanRespVO>> getCheckPlanPage(@Valid MesDvCheckPlanPageReqVO pageReqVO) {
        PageResult<MesDvCheckPlanDO> pageResult = checkPlanService.getCheckPlanPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesDvCheckPlanRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/checkplan/MesDvCheckPlanMachineryController.java
@@ -56,7 +56,6 @@
    @GetMapping("/list-by-plan")
    @Operation(summary = "获得指定方案的设备列表")
    @Parameter(name = "planId", description = "方案编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:dv-check-plan:query')")
    public CommonResult<List<MesDvCheckPlanMachineryRespVO>> getCheckPlanMachineryListByPlan(
            @RequestParam("planId") Long planId) {
        List<MesDvCheckPlanMachineryDO> list = checkPlanMachineryService.getCheckPlanMachineryListByPlanId(planId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/checkplan/MesDvCheckPlanSubjectController.java
@@ -54,7 +54,6 @@
    @GetMapping("/list-by-plan")
    @Operation(summary = "获得指定方案的项目列表")
    @Parameter(name = "planId", description = "方案编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:dv-check-plan:query')")
    public CommonResult<List<MesDvCheckPlanSubjectRespVO>> getCheckPlanSubjectListByPlan(
            @RequestParam("planId") Long planId) {
        List<MesDvCheckPlanSubjectDO> list = checkPlanSubjectService.getCheckPlanSubjectListByPlanId(planId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/checkrecord/MesDvCheckRecordController.java
@@ -90,7 +90,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得设备点检记录")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:dv-check-record:query')")
    public CommonResult<MesDvCheckRecordRespVO> getCheckRecord(@RequestParam("id") Long id) {
        MesDvCheckRecordDO checkRecord = checkRecordService.getCheckRecord(id);
        if (checkRecord == null) {
@@ -101,7 +100,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得设备点检记录分页")
    @PreAuthorize("@ss.hasPermission('mes:dv-check-record:query')")
    public CommonResult<PageResult<MesDvCheckRecordRespVO>> getCheckRecordPage(@Valid MesDvCheckRecordPageReqVO pageReqVO) {
        PageResult<MesDvCheckRecordDO> pageResult = checkRecordService.getCheckRecordPage(pageReqVO);
        return success(new PageResult<>(buildCheckRecordRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/checkrecord/MesDvCheckRecordLineController.java
@@ -66,7 +66,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得设备点检记录明细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:dv-check-record:query')")
    public CommonResult<MesDvCheckRecordLineRespVO> getCheckRecordLine(@RequestParam("id") Long id) {
        MesDvCheckRecordLineDO line = checkRecordLineService.getCheckRecordLine(id);
        if (line == null) {
@@ -77,7 +76,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得设备点检记录明细分页")
    @PreAuthorize("@ss.hasPermission('mes:dv-check-record:query')")
    public CommonResult<PageResult<MesDvCheckRecordLineRespVO>> getCheckRecordLinePage(@Valid MesDvCheckRecordLinePageReqVO pageReqVO) {
        PageResult<MesDvCheckRecordLineDO> pageResult = checkRecordLineService.getCheckRecordLinePage(pageReqVO);
        return success(new PageResult<>(buildCheckRecordLineRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/machinery/MesDvMachineryController.java
@@ -82,7 +82,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得设备")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:dv-machinery:query')")
    public CommonResult<MesDvMachineryRespVO> getMachinery(@RequestParam("id") Long id) {
        MesDvMachineryDO machinery = machineryService.getMachinery(id);
        if (machinery == null) {
@@ -93,7 +92,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得设备分页")
    @PreAuthorize("@ss.hasPermission('mes:dv-machinery:query')")
    public CommonResult<PageResult<MesDvMachineryRespVO>> getMachineryPage(@Valid MesDvMachineryPageReqVO pageReqVO) {
        PageResult<MesDvMachineryDO> pageResult = machineryService.getMachineryPage(pageReqVO);
        return success(new PageResult<>(buildMachineryRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -114,7 +112,6 @@
    @GetMapping("/simple-list")
    @Operation(summary = "获得设备精简列表", description = "主要用于前端的下拉选项")
    @PreAuthorize("@ss.hasPermission('mes:dv-machinery:query')")
    public CommonResult<List<MesDvMachineryRespVO>> getMachinerySimpleList() {
        List<MesDvMachineryDO> list = machineryService.getMachineryList();
        return success(BeanUtils.toBean(list, MesDvMachineryRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/machinery/MesDvMachineryTypeController.java
@@ -58,7 +58,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得设备类型")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:dv-machinery-type:query')")
    public CommonResult<MesDvMachineryTypeRespVO> getMachineryType(@RequestParam("id") Long id) {
        MesDvMachineryTypeDO machineryType = machineryTypeService.getMachineryType(id);
        return success(BeanUtils.toBean(machineryType, MesDvMachineryTypeRespVO.class));
@@ -66,7 +65,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得设备类型列表")
    @PreAuthorize("@ss.hasPermission('mes:dv-machinery-type:query')")
    public CommonResult<List<MesDvMachineryTypeRespVO>> getMachineryTypeList(@Valid MesDvMachineryTypeListReqVO listReqVO) {
        List<MesDvMachineryTypeDO> list = machineryTypeService.getMachineryTypeList(listReqVO);
        return success(BeanUtils.toBean(list, MesDvMachineryTypeRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/maintenrecord/MesDvMaintenRecordController.java
@@ -81,7 +81,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得设备保养记录")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:dv-mainten-record:query')")
    public CommonResult<MesDvMaintenRecordRespVO> getMaintenRecord(@RequestParam("id") Long id) {
        MesDvMaintenRecordDO maintenRecord = maintenRecordService.getMaintenRecord(id);
        if (maintenRecord == null) {
@@ -92,7 +91,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得设备保养记录分页")
    @PreAuthorize("@ss.hasPermission('mes:dv-mainten-record:query')")
    public CommonResult<PageResult<MesDvMaintenRecordRespVO>> getMaintenRecordPage(@Valid MesDvMaintenRecordPageReqVO pageReqVO) {
        PageResult<MesDvMaintenRecordDO> pageResult = maintenRecordService.getMaintenRecordPage(pageReqVO);
        return success(new PageResult<>(buildMaintenRecordRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/maintenrecord/MesDvMaintenRecordLineController.java
@@ -72,7 +72,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得设备保养记录明细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:dv-mainten-record:query')")
    public CommonResult<MesDvMaintenRecordLineRespVO> getMaintenRecordLine(@RequestParam("id") Long id) {
        MesDvMaintenRecordLineDO maintenRecordLine = maintenRecordLineService.getMaintenRecordLine(id);
        if (maintenRecordLine == null) {
@@ -83,7 +82,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得设备保养记录明细分页")
    @PreAuthorize("@ss.hasPermission('mes:dv-mainten-record:query')")
    public CommonResult<PageResult<MesDvMaintenRecordLineRespVO>> getMaintenRecordLinePage(@Valid MesDvMaintenRecordLinePageReqVO pageReqVO) {
        PageResult<MesDvMaintenRecordLineDO> pageResult = maintenRecordLineService.getMaintenRecordLinePage(pageReqVO);
        return success(new PageResult<>(buildMaintenRecordLineRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/metering/MesDvMeteringController.java
@@ -83,7 +83,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得计量器具")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:dv-metering:query')")
    public CommonResult<MesDvMeteringRespVO> getMetering(@RequestParam("id") Long id) {
        MesDvMeteringDO metering = meteringService.getMetering(id);
        if (metering == null) {
@@ -94,7 +93,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得计量器具分页")
    @PreAuthorize("@ss.hasPermission('mes:dv-metering:query')")
    public CommonResult<PageResult<MesDvMeteringRespVO>> getMeteringPage(@Valid MesDvMeteringPageReqVO pageReqVO) {
        PageResult<MesDvMeteringDO> pageResult = meteringService.getMeteringPage(pageReqVO);
        return success(new PageResult<>(buildMeteringRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -137,7 +135,6 @@
    @GetMapping("/simple-list")
    @Operation(summary = "获得计量器具精简列表", description = "主要用于前端的下拉选项")
    @PreAuthorize("@ss.hasPermission('mes:dv-metering:query')")
    public CommonResult<List<MesDvMeteringRespVO>> getMeteringSimpleList() {
        List<MesDvMeteringDO> list = meteringService.getMeteringList();
        return success(buildMeteringRespVOList(list));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/meteringcheck/MesDvMeteringCheckController.java
@@ -76,7 +76,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得计量检测记录")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:dv-metering-check:query')")
    public CommonResult<MesDvMeteringCheckRespVO> getMeteringCheck(@RequestParam("id") Long id) {
        MesDvMeteringCheckDO check = meteringCheckService.getMeteringCheck(id);
        if (check == null) {
@@ -87,7 +86,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得计量检测记录分页")
    @PreAuthorize("@ss.hasPermission('mes:dv-metering-check:query')")
    public CommonResult<PageResult<MesDvMeteringCheckRespVO>> getMeteringCheckPage(
            @Valid MesDvMeteringCheckPageReqVO pageReqVO) {
        PageResult<MesDvMeteringCheckDO> pageResult = meteringCheckService.getMeteringCheckPage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/repair/MesDvRepairController.java
@@ -81,7 +81,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得维修工单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:dv-repair:query')")
    public CommonResult<MesDvRepairRespVO> getRepair(@RequestParam("id") Long id) {
        MesDvRepairDO repair = repairService.getRepair(id);
        if (repair == null) {
@@ -92,7 +91,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得维修工单分页")
    @PreAuthorize("@ss.hasPermission('mes:dv-repair:query')")
    public CommonResult<PageResult<MesDvRepairRespVO>> getRepairPage(@Valid MesDvRepairPageReqVO pageReqVO) {
        PageResult<MesDvRepairDO> pageResult = repairService.getRepairPage(pageReqVO);
        return success(new PageResult<>(buildRepairRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/repair/MesDvRepairLineController.java
@@ -72,7 +72,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得维修工单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:dv-repair:query')")
    public CommonResult<MesDvRepairLineRespVO> getRepairLine(@RequestParam("id") Long id) {
        MesDvRepairLineDO repairLine = repairLineService.getRepairLine(id);
        if (repairLine == null) {
@@ -83,7 +82,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得维修工单行分页")
    @PreAuthorize("@ss.hasPermission('mes:dv-repair:query')")
    public CommonResult<PageResult<MesDvRepairLineRespVO>> getRepairLinePage(@Valid MesDvRepairLinePageReqVO pageReqVO) {
        PageResult<MesDvRepairLineDO> pageResult = repairLineService.getRepairLinePage(pageReqVO);
        return success(new PageResult<>(buildRepairLineRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/spare/MesDvSpareController.java
@@ -15,9 +15,9 @@
@RestController @RequestMapping("/mes/dv/spare") @Validated
public class MesDvSpareController {
    @Resource private MesDvSpareService service;
    @GetMapping("/page") @PreAuthorize("@ss.hasPermission('mes:dv-spare:query')")
    @GetMapping("/page")
    public CommonResult<PageResult<MesDvSparePartDO>> page(@Valid MesDvSparePageReqVO req) { return success(service.page(req)); }
    @GetMapping("/get") @PreAuthorize("@ss.hasPermission('mes:dv-spare:query')")
    @GetMapping("/get")
    public CommonResult<MesDvSparePartDO> get(@RequestParam Long id) { return success(service.get(id)); }
    @PostMapping("/create") @PreAuthorize("@ss.hasPermission('mes:dv-spare:create')")
    public CommonResult<Long> create(@Valid @RequestBody MesDvSparePartSaveReqVO req) {
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/dv/subject/MesDvSubjectController.java
@@ -63,7 +63,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得点检保养项目")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:dv-subject:query')")
    public CommonResult<MesDvSubjectRespVO> getSubject(@RequestParam("id") Long id) {
        MesDvSubjectDO subject = subjectService.getSubject(id);
        return success(BeanUtils.toBean(subject, MesDvSubjectRespVO.class));
@@ -71,7 +70,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得点检保养项目分页")
    @PreAuthorize("@ss.hasPermission('mes:dv-subject:query')")
    public CommonResult<PageResult<MesDvSubjectRespVO>> getSubjectPage(@Valid MesDvSubjectPageReqVO pageReqVO) {
        PageResult<MesDvSubjectDO> pageResult = subjectService.getSubjectPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesDvSubjectRespVO.class));
@@ -79,7 +77,6 @@
    @GetMapping("/simple-list")
    @Operation(summary = "获得点检保养项目精简列表", description = "主要用于前端的下拉选项")
    @PreAuthorize("@ss.hasPermission('mes:dv-subject:query')")
    public CommonResult<List<MesDvSubjectRespVO>> getSubjectSimpleList() {
        List<MesDvSubjectDO> list = subjectService.getSubjectList();
        return success(BeanUtils.toBean(list, MesDvSubjectRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/energy/EnergyAlertController.java
@@ -20,15 +20,15 @@
public class EnergyAlertController {
    @Resource private EnergyAlertService energyAlertService;
    @Resource private AdminUserService adminUserService;
    @GetMapping("/page") @PreAuthorize("@ss.hasPermission('energy:alert:query')")
    @GetMapping("/page")
    public CommonResult<PageResult<EnergyAlertRuleDO>> page(@Valid PageParam page) { return success(energyAlertService.page(page)); }
    @GetMapping("/logs") @PreAuthorize("@ss.hasPermission('energy:alert:query')")
    @GetMapping("/logs")
    public CommonResult<PageResult<EnergyAlertLogDO>> logs(@Valid PageParam page,
            @RequestParam(required=false) @DateTimeFormat(iso=DateTimeFormat.ISO.DATE) LocalDate date,
            @RequestParam(required=false) @Pattern(regexp="SENT|FAILED") String status) {
        return success(energyAlertService.logs(page, date, status));
    }
    @GetMapping("/recipients") @PreAuthorize("@ss.hasPermission('energy:alert:query')")
    @GetMapping("/recipients")
    public CommonResult<List<Map<String, Object>>> recipients() {
        return success(adminUserService.getUserListByStatus(0).stream()
                .map(user -> Map.<String,Object>of("id", user.getId(), "nickname", user.getNickname())).toList());
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/energy/EnergyRecordController.java
@@ -59,21 +59,18 @@
    @GetMapping("/get")
    @Operation(summary = "查看能耗记录")
    @PreAuthorize("@ss.hasPermission('energy:record:query')")
    public CommonResult<EnergyRecordRespVO> get(@RequestParam("id") Long id) {
        return success(BeanUtils.toBean(energyRecordService.get(id), EnergyRecordRespVO.class));
    }
    @GetMapping("/page")
    @Operation(summary = "分页查询能耗记录")
    @PreAuthorize("@ss.hasPermission('energy:record:query')")
    public CommonResult<PageResult<EnergyRecordRespVO>> page(@Valid EnergyRecordPageReqVO req) {
        return success(BeanUtils.toBean(energyRecordService.page(req), EnergyRecordRespVO.class));
    }
    @GetMapping("/analysis")
    @Operation(summary = "能耗数据分析(按能源分别汇总用量)")
    @PreAuthorize("@ss.hasPermission('energy:analysis:query')")
    public CommonResult<EnergyAnalysisRespVO> analysis(@Valid EnergyAnalysisReqVO req) {
        return success(energyRecordService.analysis(req));
    }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/home/MesHomeStatisticsController.java
@@ -33,14 +33,12 @@
    @GetMapping("/summary")
    @Operation(summary = "获得首页汇总统计")
    @PreAuthorize("@ss.hasPermission('mes:home:query')")
    public CommonResult<MesHomeSummaryRespVO> getHomeSummary() {
        return success(homeStatisticsService.getHomeSummary());
    }
    @GetMapping("/work-order-status")
    @Operation(summary = "获得工单状态分布")
    @PreAuthorize("@ss.hasPermission('mes:home:query')")
    public CommonResult<List<MesHomeWorkOrderStatusRespVO>> getWorkOrderStatusDistribution() {
        return success(homeStatisticsService.getWorkOrderStatusDistribution());
    }
@@ -48,7 +46,6 @@
    @GetMapping("/production-trend")
    @Operation(summary = "获得生产趋势")
    @Parameter(name = "days", description = "天数", example = "7")
    @PreAuthorize("@ss.hasPermission('mes:home:query')")
    public CommonResult<List<MesHomeProductionTrendRespVO>> getProductionTrend(
            @RequestParam(value = "days", defaultValue = "7") @Min(1) @Max(90) Integer days) {
        return success(homeStatisticsService.getProductionTrend(days));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/autocode/MesMdAutoCodePartController.java
@@ -55,7 +55,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得规则组成")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:auto-code-rule:query')")
    public CommonResult<MesMdAutoCodePartRespVO> getAutoCodePart(@RequestParam("id") Long id) {
        MesMdAutoCodePartDO part = partService.getAutoCodePart(id);
        return success(BeanUtils.toBean(part, MesMdAutoCodePartRespVO.class));
@@ -64,7 +63,6 @@
    @GetMapping("/list-by-rule-id")
    @Operation(summary = "根据规则 ID èŽ·å¾—è§„åˆ™ç»„æˆåˆ—è¡¨")
    @Parameter(name = "ruleId", description = "规则 ID", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('mes:auto-code-rule:query')")
    public CommonResult<List<MesMdAutoCodePartRespVO>> getAutoCodePartListByRuleId(@RequestParam("ruleId") Long ruleId) {
        List<MesMdAutoCodePartDO> list = partService.getAutoCodePartListByRuleId(ruleId);
        return success(BeanUtils.toBean(list, MesMdAutoCodePartRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/autocode/MesMdAutoCodeRuleController.java
@@ -65,7 +65,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得编码规则")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:auto-code-rule:query')")
    public CommonResult<MesMdAutoCodeRuleRespVO> getAutoCodeRule(@RequestParam("id") Long id) {
        MesMdAutoCodeRuleDO rule = ruleService.getAutoCodeRule(id);
        return success(BeanUtils.toBean(rule, MesMdAutoCodeRuleRespVO.class));
@@ -73,7 +72,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得编码规则分页")
    @PreAuthorize("@ss.hasPermission('mes:auto-code-rule:query')")
    public CommonResult<PageResult<MesMdAutoCodeRuleRespVO>> getAutoCodeRulePage(@Valid MesMdAutoCodeRulePageReqVO pageReqVO) {
        PageResult<MesMdAutoCodeRuleDO> pageResult = ruleService.getAutoCodeRulePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesMdAutoCodeRuleRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/MesMdItemBatchConfigController.java
@@ -29,7 +29,6 @@
    @GetMapping("/get-by-item-id")
    @Operation(summary = "根据物料编号获取批次属性配置")
    @Parameter(name = "itemId", description = "物料编号", required = true, example = "69")
    @PreAuthorize("@ss.hasPermission('mes:md-item:query')")
    public CommonResult<MesMdItemBatchConfigRespVO> getItemBatchConfigByItemId(
            @RequestParam("itemId") Long itemId) {
        MesMdItemBatchConfigDO config = itemBatchConfigService.getItemBatchConfigByItemId(itemId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/MesMdItemController.java
@@ -76,7 +76,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得物料产品")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:md-item:query')")
    public CommonResult<MesMdItemRespVO> getItem(@RequestParam("id") Long id) {
        MesMdItemDO item = itemService.getItem(id);
        return success(buildItemVO(item));
@@ -84,7 +83,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得物料产品分页")
    @PreAuthorize("@ss.hasPermission('mes:md-item:query')")
    public CommonResult<PageResult<MesMdItemRespVO>> getItemPage(@Valid MesMdItemPageReqVO pageReqVO) {
        PageResult<MesMdItemDO> pageResult = itemService.getItemPage(pageReqVO);
        return success(new PageResult<>(buildItemVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/MesMdItemTypeController.java
@@ -72,7 +72,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得物料产品分类")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:md-item-type:query')")
    public CommonResult<MesMdItemTypeRespVO> getItemType(@RequestParam("id") Long id) {
        MesMdItemTypeDO itemType = itemTypeService.getItemType(id);
        return success(BeanUtils.toBean(itemType, MesMdItemTypeRespVO.class));
@@ -80,7 +79,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得物料产品分类列表")
    @PreAuthorize("@ss.hasPermission('mes:md-item-type:query')")
    public CommonResult<List<MesMdItemTypeRespVO>> getItemTypeList(@Valid MesMdItemTypeListReqVO listReqVO) {
        List<MesMdItemTypeDO> list = itemTypeService.getItemTypeList(listReqVO);
        return success(BeanUtils.toBean(list, MesMdItemTypeRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/MesMdProductBomController.java
@@ -74,7 +74,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得产品BOM")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:md-item:query')")
    public CommonResult<MesMdProductBomRespVO> getProductBom(@RequestParam("id") Long id) {
        MesMdProductBomDO productBom = productBomService.getProductBom(id);
        return success(BeanUtils.toBean(productBom, MesMdProductBomRespVO.class));
@@ -82,7 +81,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得产品BOM分页")
    @PreAuthorize("@ss.hasPermission('mes:md-item:query')")
    public CommonResult<PageResult<MesMdProductBomRespVO>> getProductBomPage(@Valid MesMdProductBomPageReqVO pageReqVO) {
        PageResult<MesMdProductBomDO> pageResult = productBomService.getProductBomPage(pageReqVO);
        List<MesMdProductBomRespVO> voList = buildProductBomRespVOList(pageResult.getList());
@@ -92,7 +90,6 @@
    @GetMapping("/list-by-item-id")
    @Operation(summary = "根据物料产品编号获得产品BOM列表")
    @Parameter(name = "itemId", description = "物料产品编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('mes:md-item:query')")
    public CommonResult<List<MesMdProductBomRespVO>> getProductBomListByItemId(
            @RequestParam("itemId") Long itemId) {
        List<MesMdProductBomDO> list = productBomService.getProductBomListByItemId(itemId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/MesMdProductSipController.java
@@ -57,7 +57,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得产品SIP")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:md-item:query')")
    public CommonResult<MesMdProductSipRespVO> getProductSip(@RequestParam("id") Long id) {
        MesMdProductSipDO sip = productSipService.getProductSip(id);
        return success(BeanUtils.toBean(sip, MesMdProductSipRespVO.class));
@@ -65,7 +64,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得产品SIP分页")
    @PreAuthorize("@ss.hasPermission('mes:md-item:query')")
    public CommonResult<PageResult<MesMdProductSipRespVO>> getProductSipPage(@Valid MesMdProductSipPageReqVO pageReqVO) {
        PageResult<MesMdProductSipDO> pageResult = productSipService.getProductSipPage(pageReqVO);
        // TODO @芋艿:工序模块实现后,补充 processCode/processName çš„ JOIN é€»è¾‘
@@ -75,7 +73,6 @@
    @GetMapping("/list-by-item-id")
    @Operation(summary = "根据物料产品编号,获得产品SIP列表")
    @Parameter(name = "itemId", description = "物料产品编号", required = true, example = "69")
    @PreAuthorize("@ss.hasPermission('mes:md-item:query')")
    public CommonResult<List<MesMdProductSipRespVO>> getProductSipListByItemId(
            @RequestParam("itemId") Long itemId) {
        List<MesMdProductSipDO> list = productSipService.getProductSipListByItemId(itemId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/item/MesMdProductSopController.java
@@ -57,7 +57,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得产品SOP")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:md-item:query')")
    public CommonResult<MesMdProductSopRespVO> getProductSop(@RequestParam("id") Long id) {
        MesMdProductSopDO sop = productSopService.getProductSop(id);
        return success(BeanUtils.toBean(sop, MesMdProductSopRespVO.class));
@@ -65,7 +64,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得产品SOP分页")
    @PreAuthorize("@ss.hasPermission('mes:md-item:query')")
    public CommonResult<PageResult<MesMdProductSopRespVO>> getProductSopPage(@Valid MesMdProductSopPageReqVO pageReqVO) {
        PageResult<MesMdProductSopDO> pageResult = productSopService.getProductSopPage(pageReqVO);
        // TODO @芋艿:工序模块实现后,补充 processCode/processName çš„ JOIN é€»è¾‘
@@ -75,7 +73,6 @@
    @GetMapping("/list-by-item-id")
    @Operation(summary = "根据物料产品编号,获得产品SOP列表")
    @Parameter(name = "itemId", description = "物料产品编号", required = true, example = "69")
    @PreAuthorize("@ss.hasPermission('mes:md-item:query')")
    public CommonResult<List<MesMdProductSopRespVO>> getProductSopListByItemId(
            @RequestParam("itemId") Long itemId) {
        List<MesMdProductSopDO> list = productSopService.getProductSopListByItemId(itemId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/unitmeasure/MesMdUnitMeasureController.java
@@ -65,7 +65,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得计量单位")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:md-unit-measure:query')")
    public CommonResult<MesMdUnitMeasureRespVO> getUnitMeasure(@RequestParam("id") Long id) {
        MesMdUnitMeasureDO unitMeasure = unitMeasureService.getUnitMeasure(id);
        return success(BeanUtils.toBean(unitMeasure, MesMdUnitMeasureRespVO.class));
@@ -73,7 +72,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得计量单位分页")
    @PreAuthorize("@ss.hasPermission('mes:md-unit-measure:query')")
    public CommonResult<PageResult<MesMdUnitMeasureRespVO>> getUnitMeasurePage(@Valid MesMdUnitMeasurePageReqVO pageReqVO) {
        PageResult<MesMdUnitMeasureDO> pageResult = unitMeasureService.getUnitMeasurePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesMdUnitMeasureRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkshopController.java
@@ -74,7 +74,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得车间")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:md-workshop:query')")
    public CommonResult<MesMdWorkshopRespVO> getWorkshop(@RequestParam("id") Long id) {
        MesMdWorkshopDO workshop = workshopService.getWorkshop(id);
        if (workshop == null) {
@@ -86,7 +85,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得车间分页")
    @PreAuthorize("@ss.hasPermission('mes:md-workshop:query')")
    public CommonResult<PageResult<MesMdWorkshopRespVO>> getWorkshopPage(@Valid MesMdWorkshopPageReqVO pageReqVO) {
        PageResult<MesMdWorkshopDO> pageResult = workshopService.getWorkshopPage(pageReqVO);
        return success(new PageResult<>(buildWorkshopRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationController.java
@@ -77,7 +77,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得工作站")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:md-workstation:query')")
    public CommonResult<MesMdWorkstationRespVO> getWorkstation(@RequestParam("id") Long id) {
        MesMdWorkstationDO workstation = workstationService.getWorkstation(id);
        return success(BeanUtils.toBean(workstation, MesMdWorkstationRespVO.class));
@@ -85,7 +84,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得工作站分页")
    @PreAuthorize("@ss.hasPermission('mes:md-workstation:query')")
    public CommonResult<PageResult<MesMdWorkstationRespVO>> getWorkstationPage(@Valid MesMdWorkstationPageReqVO pageReqVO) {
        PageResult<MesMdWorkstationDO> pageResult = workstationService.getWorkstationPage(pageReqVO);
        return success(new PageResult<>(buildWorkstationRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationMachineController.java
@@ -56,7 +56,6 @@
    @GetMapping("/list-by-workstation")
    @Operation(summary = "获得设备资源列表")
    @Parameter(name = "workstationId", description = "工作站编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:md-workstation:query')")
    public CommonResult<List<MesMdWorkstationMachineRespVO>> getWorkstationMachineList(
            @RequestParam("workstationId") Long workstationId) {
        List<MesMdWorkstationMachineDO> list = workstationMachineService.getWorkstationMachineListByWorkstationId(workstationId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationToolController.java
@@ -64,7 +64,6 @@
    @GetMapping("/list-by-workstation")
    @Operation(summary = "获得工装夹具资源列表")
    @Parameter(name = "workstationId", description = "工作站编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:md-workstation:query')")
    public CommonResult<List<MesMdWorkstationToolRespVO>> getWorkstationToolList(
            @RequestParam("workstationId") Long workstationId) {
        List<MesMdWorkstationToolDO> list = workstationToolService.getWorkstationToolListByWorkstationId(workstationId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/md/workstation/MesMdWorkstationWorkerController.java
@@ -70,7 +70,6 @@
    @GetMapping("/list-by-workstation")
    @Operation(summary = "获得人力资源列表")
    @Parameter(name = "workstationId", description = "工作站编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:md-workstation:query')")
    public CommonResult<List<MesMdWorkstationWorkerRespVO>> getWorkstationWorkerList(
            @RequestParam("workstationId") Long workstationId) {
        List<MesMdWorkstationWorkerDO> list = workstationWorkerService.getWorkstationWorkerListByWorkstationId(workstationId);
@@ -80,7 +79,6 @@
    @GetMapping("/list-user-by-workstation")
    @Operation(summary = "获得工作站对应岗位的员工列表")
    @Parameter(name = "workstationId", description = "工作站编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:md-workstation:query')")
    public CommonResult<List<AdminUserRespDTO>> getUserListByWorkstation(
            @RequestParam("workstationId") Long workstationId) {
        List<MesMdWorkstationWorkerDO> list = workstationWorkerService.getWorkstationWorkerListByWorkstationId(workstationId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/archive/MesPdArchiveController.java
@@ -71,7 +71,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得归档台账")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pd-archive:query')")
    public CommonResult<MesPdArchiveRespVO> getArchive(@RequestParam("id") Long id) {
        MesPdArchiveDO archive = archiveService.getArchive(id);
        if (archive == null) {
@@ -82,7 +81,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得归档台账分页(按项目/产品聚合)")
    @PreAuthorize("@ss.hasPermission('mes:pd-archive:query')")
    public CommonResult<PageResult<MesPdArchiveRespVO>> getArchivePage(@Valid MesPdArchivePageReqVO pageReqVO) {
        // åˆ†é¡µå‚数只能从 pageReqVO å–:签名里再放一个 Page å‚数会被 Spring å•独按 current/size ç»‘定成默认的 1/10,
        // å‰ç«¯ä¼ çš„ pageNo/pageSize å…¨è¢«ä¸¢æŽ‰ï¼Œå°è´¦å°±æ°¸è¿œåªè¿”回前 10 æ¡ã€ç¿»é¡µä¹Ÿä¸åŠ¨ï¼ˆåˆ—è¡¨çœ‹ä¸å‡ºä»Ž 9/17 å¾€åŽçš„æ—¥æœŸï¼‰ã€‚
@@ -95,7 +93,6 @@
    @GetMapping("/detail-by-product")
    @Operation(summary = "获得归档台账详情(按产品)")
    @Parameter(name = "productCode", description = "产品编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('mes:pd-archive:query')")
    public CommonResult<List<MesPdArchiveDetailRespVO>> getArchiveDetailByProduct(@RequestParam("productCode") String productCode) {
        return success(archiveService.getArchiveDetailByProductCode(productCode));
    }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/document/MesPdDocumentController.java
@@ -78,7 +78,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得设计资料")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pd-document:query')")
    public CommonResult<MesPdDocumentRespVO> getDocument(@RequestParam("id") Long id) {
        MesPdDocumentDO document = documentService.getDocument(id);
        if (document == null) {
@@ -91,7 +90,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得设计资料分页")
    @PreAuthorize("@ss.hasPermission('mes:pd-document:query')")
    public CommonResult<PageResult<MesPdDocumentRespVO>> getDocumentPage(@Valid MesPdDocumentPageReqVO pageReqVO) {
        PageResult<MesPdDocumentDO> pageResult = documentService.getDocumentPage(pageReqVO);
        return success(new PageResult<>(buildDocumentRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/documentaudit/MesPdDocumentAuditController.java
@@ -79,7 +79,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得资料审核")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pd-document-audit:query')")
    public CommonResult<MesPdDocumentAuditRespVO> getDocumentAudit(@RequestParam("id") Long id) {
        MesPdDocumentAuditDO documentAudit = documentAuditService.getDocumentAudit(id);
        if (documentAudit == null) {
@@ -90,7 +89,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得资料审核分页")
    @PreAuthorize("@ss.hasPermission('mes:pd-document-audit:query')")
    public CommonResult<PageResult<MesPdDocumentAuditRespVO>> getDocumentAuditPage(@Valid MesPdDocumentAuditPageReqVO pageReqVO) {
        PageResult<MesPdDocumentAuditDO> pageResult = documentAuditService.getDocumentAuditPage(pageReqVO);
        return success(new PageResult<>(buildDocumentAuditRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/processparam/MesPdProcessParamController.java
@@ -73,7 +73,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得工艺参数")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pd-process-param:query')")
    public CommonResult<MesPdProcessParamRespVO> getProcessParam(@RequestParam("id") Long id) {
        MesPdProcessParamDO processParam = processParamService.getProcessParam(id);
        if (processParam == null) {
@@ -84,7 +83,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得工艺参数分页")
    @PreAuthorize("@ss.hasPermission('mes:pd-process-param:query')")
    public CommonResult<PageResult<MesPdProcessParamRespVO>> getProcessParamPage(@Valid MesPdProcessParamPageReqVO pageReqVO) {
        PageResult<MesPdProcessParamDO> pageResult = processParamService.getProcessParamPage(pageReqVO);
        return success(new PageResult<>(buildProcessParamRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/processparamtemplate/MesPdProcessParamTemplateController.java
@@ -73,7 +73,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得工艺参数模板")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pd-process-param-template:query')")
    public CommonResult<MesPdProcessParamTemplateRespVO> getProcessParamTemplate(@RequestParam("id") Long id) {
        MesPdProcessParamTemplateDO template = templateService.getProcessParamTemplate(id);
        if (template == null) {
@@ -84,7 +83,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得工艺参数模板分页")
    @PreAuthorize("@ss.hasPermission('mes:pd-process-param-template:query')")
    public CommonResult<PageResult<MesPdProcessParamTemplateRespVO>> getProcessParamTemplatePage(@Valid MesPdProcessParamTemplatePageReqVO pageReqVO) {
        PageResult<MesPdProcessParamTemplateDO> pageResult = templateService.getProcessParamTemplatePage(pageReqVO);
        List<MesPdProcessParamTemplateRespVO> voList = buildTemplateRespVOList(pageResult.getList());
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pd/project/MesPdProjectController.java
@@ -76,7 +76,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得设计项目")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pd-project:query')")
    public CommonResult<MesPdProjectRespVO> getProject(@RequestParam("id") Long id) {
        MesPdProjectDO project = projectService.getProject(id);
        if (project == null) {
@@ -87,7 +86,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得设计项目分页")
    @PreAuthorize("@ss.hasPermission('mes:pd-project:query')")
    public CommonResult<PageResult<MesPdProjectRespVO>> getProjectPage(@Valid MesPdProjectPageReqVO pageReqVO) {
        PageResult<MesPdProjectDO> pageResult = projectService.getProjectPage(pageReqVO);
        return success(new PageResult<>(buildProjectRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/ai/MesProAiController.java
@@ -22,28 +22,24 @@
    @PostMapping("/predict-material")
    @Operation(summary = "AI ç‰©æ–™çŸ­ç¼ºé¢„测")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<MesProAiMaterialPredictRespVO> predictMaterial(@Valid @RequestBody MesProAiMaterialPredictReqVO reqVO) {
        return success(proAiService.predictMaterial(reqVO));
    }
    @PostMapping("/predict-duration")
    @Operation(summary = "AI ç”Ÿäº§è®¡åˆ’时长预测")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<MesProAiDurationPredictRespVO> predictDuration(@Valid @RequestBody MesProAiDurationPredictReqVO reqVO) {
        return success(proAiService.predictDuration(reqVO));
    }
    @PostMapping("/predict-risk")
    @Operation(summary = "AI ç”Ÿäº§é£Žé™©é¢„测")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<MesProAiRiskPredictRespVO> predictRisk(@Valid @RequestBody MesProAiRiskPredictReqVO reqVO) {
        return success(proAiService.predictRisk(reqVO));
    }
    @PostMapping("/predict-delivery")
    @Operation(summary = "AI æ˜¯å¦èƒ½æŒ‰æ—¶äº¤ä»˜")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<MesProAiDeliveryPredictRespVO> predictDelivery(@Valid @RequestBody MesProAiDeliveryPredictReqVO reqVO) {
        return success(proAiService.predictDelivery(reqVO));
    }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/andon/MesProAndonConfigController.java
@@ -72,7 +72,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得安灯呼叫配置")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-andon-config:query')")
    public CommonResult<MesProAndonConfigRespVO> getAndonConfig(@RequestParam("id") Long id) {
        MesProAndonConfigDO config = andonConfigService.getAndonConfig(id);
        if (config == null) {
@@ -83,7 +82,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得安灯呼叫配置分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-andon-config:query')")
    public CommonResult<PageResult<MesProAndonConfigRespVO>> getAndonConfigPage(@Valid MesProAndonConfigPageReqVO pageReqVO) {
        PageResult<MesProAndonConfigDO> pageResult = andonConfigService.getAndonConfigPage(pageReqVO);
        return success(new PageResult<>(buildConfigRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -91,7 +89,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得安灯呼叫配置列表")
    @PreAuthorize("@ss.hasPermission('mes:pro-andon-config:query')")
    public CommonResult<List<MesProAndonConfigRespVO>> getAndonConfigList() {
        List<MesProAndonConfigDO> list = andonConfigService.getAndonConfigList();
        return success(buildConfigRespVOList(list));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/andon/MesProAndonRecordController.java
@@ -87,7 +87,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得安灯呼叫记录")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-andon-record:query')")
    public CommonResult<MesProAndonRecordRespVO> getAndonRecord(@RequestParam("id") Long id) {
        MesProAndonRecordDO record = andonRecordService.getAndonRecord(id);
        if (record == null) {
@@ -98,7 +97,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得安灯呼叫记录分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-andon-record:query')")
    public CommonResult<PageResult<MesProAndonRecordRespVO>> getAndonRecordPage(@Valid MesProAndonRecordPageReqVO pageReqVO) {
        PageResult<MesProAndonRecordDO> pageResult = andonRecordService.getAndonRecordPage(pageReqVO);
        return success(new PageResult<>(buildRecordRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/card/MesProCardController.java
@@ -108,7 +108,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得生产流转卡")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-card:query')")
    public CommonResult<MesProCardRespVO> getCard(@RequestParam("id") Long id) {
        MesProCardDO card = cardService.getCard(id);
        if (card == null) {
@@ -119,7 +118,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得生产流转卡分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-card:query')")
    public CommonResult<PageResult<MesProCardRespVO>> getCardPage(@Valid MesProCardPageReqVO pageReqVO) {
        PageResult<MesProCardDO> pageResult = cardService.getCardPage(pageReqVO);
        return success(new PageResult<>(buildCardRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/card/MesProCardProcessController.java
@@ -75,7 +75,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得流转卡工序记录")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-card:query')")
    public CommonResult<MesProCardProcessRespVO> getCardProcess(@RequestParam("id") Long id) {
        MesProCardProcessDO cardProcess = cardProcessService.getCardProcess(id);
        if (cardProcess == null) {
@@ -86,7 +85,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得流转卡工序记录分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-card:query')")
    public CommonResult<PageResult<MesProCardProcessRespVO>> getCardProcessPage(@Valid MesProCardProcessPageReqVO pageReqVO) {
        PageResult<MesProCardProcessDO> pageResult = cardProcessService.getCardProcessPage(pageReqVO);
        return success(new PageResult<>(buildCardProcessRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/feedback/MesProFeedbackController.java
@@ -146,7 +146,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得生产报工")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-feedback:query')")
    public CommonResult<MesProFeedbackRespVO> getFeedback(@RequestParam("id") Long id) {
        MesProFeedbackDO feedback = feedbackService.getFeedback(id);
        if (feedback == null) {
@@ -157,7 +156,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得生产报工分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-feedback:query')")
    public CommonResult<PageResult<MesProFeedbackRespVO>> getFeedbackPage(@Valid MesProFeedbackPageReqVO pageReqVO) {
        PageResult<MesProFeedbackDO> pageResult = feedbackService.getFeedbackPage(pageReqVO);
        return success(new PageResult<>(buildFeedbackRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -166,7 +164,6 @@
    @GetMapping("/list-by-task")
    @Operation(summary = "按任务获得报工历史列表")
    @Parameter(name = "taskId", description = "任务编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-feedback:query')")
    public CommonResult<List<MesProFeedbackRespVO>> getFeedbackListByTask(@RequestParam("taskId") Long taskId) {
        List<MesProFeedbackDO> list = feedbackService.getFeedbackListByTaskId(taskId);
        return success(buildFeedbackRespVOList(list));
@@ -237,7 +234,6 @@
    @GetMapping("/trace/{id}")
    @Operation(summary = "获得报工追溯信息", description = "报工 + äº§å‡º/产出明细 + æ¶ˆè€—/消耗明细 + IPQC检验")
    @Parameter(name = "id", description = "报工编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-feedback:query')")
    public CommonResult<MesProFeedbackTraceRespVO> getFeedbackTrace(@PathVariable("id") Long id) {
        MesProFeedbackDO feedback = feedbackService.getFeedback(id);
        if (feedback == null) {
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/mps/MesProMpsController.java
@@ -81,7 +81,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得生产主计划")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-mps:query')")
    public CommonResult<MesProMpsRespVO> getMps(@RequestParam("id") Long id) {
        MesProMpsDO mps = mpsService.getMps(id);
        if (mps == null) {
@@ -92,7 +91,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得生产主计划分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-mps:query')")
    public CommonResult<PageResult<MesProMpsRespVO>> getMpsPage(@Valid MesProMpsPageReqVO pageReqVO) {
        PageResult<MesProMpsDO> pageResult = mpsService.getMpsPage(pageReqVO);
        return success(new PageResult<>(buildMpsRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessContentController.java
@@ -55,7 +55,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得生产工序内容")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-process:query')")
    public CommonResult<MesProProcessContentRespVO> getProcessContent(@RequestParam("id") Long id) {
        MesProProcessContentDO content = processContentService.getProcessContent(id);
        return success(BeanUtils.toBean(content, MesProProcessContentRespVO.class));
@@ -64,7 +63,6 @@
    @GetMapping("/list-by-process")
    @Operation(summary = "获得生产工序内容列表(按工序编号)")
    @Parameter(name = "processId", description = "工序编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-process:query')")
    public CommonResult<List<MesProProcessContentRespVO>> getProcessContentListByProcessId(@RequestParam("processId") Long processId) {
        List<MesProProcessContentDO> list = processContentService.getProcessContentListByProcessId(processId);
        return success(BeanUtils.toBean(list, MesProProcessContentRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessController.java
@@ -65,7 +65,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得生产工序")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-process:query')")
    public CommonResult<MesProProcessRespVO> getProcess(@RequestParam("id") Long id) {
        MesProProcessDO process = processService.getProcess(id);
        return success(BeanUtils.toBean(process, MesProProcessRespVO.class));
@@ -73,7 +72,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得生产工序分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-process:query')")
    public CommonResult<PageResult<MesProProcessRespVO>> getProcessPage(@Valid MesProProcessPageReqVO pageReqVO) {
        PageResult<MesProProcessDO> pageResult = processService.getProcessPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesProProcessRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/process/MesProProcessParamController.java
@@ -50,7 +50,6 @@
    @GetMapping("/list-by-process")
    @Operation(summary = "获得工序绑定的工艺参数列表(按工序编号)")
    @Parameter(name = "processId", description = "工序编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-process:query')")
    public CommonResult<List<MesProProcessParamRespVO>> getProcessParamListByProcessId(@RequestParam("processId") Long processId) {
        List<MesProProcessParamDO> list = processParamService.getProcessParamListByProcessId(processId);
        return success(buildRespVOList(list));
@@ -67,7 +66,6 @@
    @GetMapping("/list-by-param")
    @Operation(summary = "获得工艺参数被绑定的工序列表(按工艺参数编号)")
    @Parameter(name = "paramId", description = "工艺参数编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-process:query')")
    public CommonResult<List<MesProProcessRespVO>> getProcessListByParamId(@RequestParam("paramId") Long paramId) {
        List<MesProProcessParamDO> list = processParamService.getProcessParamListByParamId(paramId);
        if (CollUtil.isEmpty(list)) {
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteController.java
@@ -91,7 +91,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得工艺路线")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-route:query')")
    public CommonResult<MesProRouteRespVO> getRoute(@RequestParam("id") Long id) {
        MesProRouteDO route = routeService.getRoute(id);
        return success(BeanUtils.toBean(route, MesProRouteRespVO.class));
@@ -99,7 +98,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得工艺路线分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-route:query')")
    public CommonResult<PageResult<MesProRouteRespVO>> getRoutePage(@Valid MesProRoutePageReqVO pageReqVO) {
        PageResult<MesProRouteDO> pageResult = routeService.getRoutePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesProRouteRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteProcessController.java
@@ -89,7 +89,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得工艺路线工序")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-route:query')")
    public CommonResult<MesProRouteProcessRespVO> getRouteProcess(@RequestParam("id") Long id) {
        MesProRouteProcessDO routeProcess = routeProcessService.getRouteProcess(id);
        return success(buildRouteProcessRespVO(routeProcess));
@@ -98,7 +97,6 @@
    @GetMapping("/list-by-product")
    @Operation(summary = "按产品获得工序列表", description = "根据产品查找关联的工艺路线,返回该路线的工序列表(含各工序的投料BOM)")
    @Parameter(name = "productId", description = "产品编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('mes:pro-route:query')")
    public CommonResult<List<MesProRouteProcessRespVO>> getRouteProcessListByProduct(@RequestParam("productId") Long productId) {
        List<MesProRouteProcessDO> list = routeProcessService.getRouteProcessListByProductId(productId);
        List<MesProRouteProcessRespVO> result = buildRouteProcessRespVOList(list);
@@ -163,7 +161,6 @@
    @GetMapping("/list-by-route")
    @Operation(summary = "按工艺路线获得工序列表")
    @Parameter(name = "routeId", description = "工艺路线编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('mes:pro-route:query')")
    public CommonResult<List<MesProRouteProcessRespVO>> getRouteProcessListByRoute(@RequestParam("routeId") Long routeId) {
        List<MesProRouteProcessDO> list = routeProcessService.getRouteProcessListByRouteId(routeId);
        return success(buildRouteProcessRespVOList(list));
@@ -173,7 +170,6 @@
    @Operation(summary = "按工艺路线+工序获得工序配置")
    @Parameter(name = "routeId", description = "工艺路线编号", required = true, example = "1")
    @Parameter(name = "processId", description = "工序编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('mes:pro-route:query')")
    public CommonResult<MesProRouteProcessRespVO> getRouteProcessByRouteAndProcess(
            @RequestParam("routeId") Long routeId,
            @RequestParam("processId") Long processId) {
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteProductBomController.java
@@ -71,7 +71,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得工艺路线产品 BOM")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-route:query')")
    public CommonResult<MesProRouteProductBomRespVO> getRouteProductBom(@RequestParam("id") Long id) {
        MesProRouteProductBomDO routeProductBom = routeProductBomService.getRouteProductBom(id);
        return success(buildRouteProductBomRespVO(routeProductBom));
@@ -84,7 +83,6 @@
            @Parameter(name = "processId", description = "工序编号", example = "1"),
            @Parameter(name = "productId", description = "产品物料编号", example = "1")
    })
    @PreAuthorize("@ss.hasPermission('mes:pro-route:query')")
    public CommonResult<List<MesProRouteProductBomRespVO>> getRouteProductBomList(
            @RequestParam("routeId") Long routeId,
            @RequestParam(value = "processId", required = false) Long processId,
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteProductController.java
@@ -82,7 +82,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得工艺路线产品")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-route:query')")
    public CommonResult<MesProRouteProductRespVO> getRouteProduct(@RequestParam("id") Long id) {
        MesProRouteProductDO routeProduct = routeProductService.getRouteProduct(id);
        return success(buildRouteProductRespVO(routeProduct));
@@ -91,7 +90,6 @@
    @GetMapping("/list-by-route")
    @Operation(summary = "按工艺路线获得产品列表")
    @Parameter(name = "routeId", description = "工艺路线编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('mes:pro-route:query')")
    public CommonResult<List<MesProRouteProductRespVO>> getRouteProductListByRoute(@RequestParam("routeId") Long routeId) {
        List<MesProRouteProductDO> list = routeProductService.getRouteProductListByRouteId(routeId);
        return success(buildRouteProductRespVOList(list));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/task/MesProTaskController.java
@@ -137,7 +137,6 @@
            @Parameter(name = "workstationId", description = "工作站编号", required = true),
            @Parameter(name = "quantity", description = "排产数量", required = true)
    })
    @PreAuthorize("@ss.hasPermission('mes:pro-task:query')")
    public CommonResult<java.util.Map<String, Object>> calculateDuration(
            @RequestParam("workstationId") Long workstationId,
            @RequestParam("quantity") BigDecimal quantity) {
@@ -190,7 +189,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得生产任务")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-task:query')")
    public CommonResult<MesProTaskRespVO> getTask(@RequestParam("id") Long id) {
        MesProTaskDO task = taskService.getTask(id);
        if (task == null) {
@@ -201,7 +199,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得生产任务分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-task:query')")
    public CommonResult<PageResult<MesProTaskRespVO>> getTaskPage(@Valid MesProTaskPageReqVO pageReqVO) {
        PageResult<MesProTaskDO> pageResult = taskService.getTaskPage(pageReqVO);
        return success(new PageResult<>(buildTaskRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -209,7 +206,6 @@
    @GetMapping("/pending-feedback-page")
    @Operation(summary = "获得待报工台账分页", description = "已排产且仍有待报工数量的任务(状态=进行中)")
    @PreAuthorize("@ss.hasPermission('mes:pro-task:query')")
    public CommonResult<PageResult<MesProTaskRespVO>> getPendingFeedbackPage(@Valid MesProTaskPageReqVO pageReqVO) {
        Long loginUserId = cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId();
        // å¦‚果当前登录人不是超级管理员,则仅查询分配给自己的生产工单
@@ -250,7 +246,6 @@
    @GetMapping("/gantt-list")
    @Operation(summary = "获得甘特图任务列表", description = "后端组装工单=project + ä»»åŠ¡=task åˆ—表")
    @PreAuthorize("@ss.hasPermission('mes:pro-task:query')")
    public CommonResult<List<GanttDataRespVO>> listGanttTaskList(@Valid MesProWorkOrderPageReqVO reqVO) {
        // 1.1 æŸ¥è¯¢åŒ¹é…çš„工单(不分页)
        reqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/task/MesProTaskIssueController.java
@@ -72,7 +72,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得生产任务投料")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-task-issue:query')")
    public CommonResult<MesProTaskIssueRespVO> getTaskIssue(@RequestParam("id") Long id) {
        MesProTaskIssueDO taskIssue = taskIssueService.getTaskIssue(id);
        if (taskIssue == null) {
@@ -83,7 +82,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得生产任务投料分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-task-issue:query')")
    public CommonResult<PageResult<MesProTaskIssueRespVO>> getTaskIssuePage(@Valid MesProTaskIssuePageReqVO pageReqVO) {
        PageResult<MesProTaskIssueDO> pageResult = taskIssueService.getTaskIssuePage(pageReqVO);
        return success(new PageResult<>(buildIssueRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -92,7 +90,6 @@
    @GetMapping("/list-by-task")
    @Operation(summary = "根据任务获得投料列表")
    @Parameter(name = "taskId", description = "任务编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:pro-task-issue:query')")
    public CommonResult<List<MesProTaskIssueRespVO>> getTaskIssueListByTask(@RequestParam("taskId") Long taskId) {
        List<MesProTaskIssueDO> list = taskIssueService.getTaskIssueListByTaskId(taskId);
        return success(buildIssueRespVOList(list));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderBomController.java
@@ -100,7 +100,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得工单 BOM")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<MesProWorkOrderBomRespVO> getWorkOrderBom(@RequestParam("id") Long id) {
        MesProWorkOrderBomDO workOrderBom = workOrderBomService.getWorkOrderBom(id);
        if (workOrderBom == null) {
@@ -111,7 +110,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得工单 BOM åˆ†é¡µ")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<PageResult<MesProWorkOrderBomRespVO>> getWorkOrderBomPage(@Valid MesProWorkOrderBomPageReqVO pageReqVO) {
        PageResult<MesProWorkOrderBomDO> pageResult = workOrderBomService.getWorkOrderBomPage(pageReqVO);
        return success(new PageResult<>(buildWorkOrderBomRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -120,7 +118,6 @@
    @GetMapping("/item-list-by-work-order-id")
    @Operation(summary = "获得工单物料需求列表")
    @Parameter(name = "workOrderId", description = "工单编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<List<MesProWorkOrderItemRespVO>> getWorkOrderBomItemListByWorkOrderId(
            @RequestParam("workOrderId") Long workOrderId) {
        // 1. èŽ·å–å·¥å•
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderController.java
@@ -95,7 +95,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得生产工单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<MesProWorkOrderRespVO> getWorkOrder(@RequestParam("id") Long id) {
        MesProWorkOrderDO workOrder = workOrderService.getWorkOrder(id);
        if (workOrder == null) {
@@ -106,7 +105,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得生产工单分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<PageResult<MesProWorkOrderRespVO>> getWorkOrderPage(@Valid MesProWorkOrderPageReqVO pageReqVO) {
        PageResult<MesProWorkOrderDO> pageResult = workOrderService.getWorkOrderPage(pageReqVO);
        return success(new PageResult<>(buildWorkOrderRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -114,14 +112,12 @@
    @GetMapping("/approve-process-list")
    @Operation(summary = "获取审批报工的流程定义列表")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<List<Map<String, Object>>> getWorkOrderApproveProcessDefinitionList() {
        return success(workOrderService.getWorkOrderApproveProcessDefinitionList());
    }
    @GetMapping("/schedule-page")
    @Operation(summary = "获得生产工单调度状态分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<PageResult<MesProWorkOrderRespVO>> getWorkOrderSchedulePage(@Valid MesProWorkOrderPageReqVO pageReqVO) {
        PageResult<MesProWorkOrderDO> pageResult = workOrderService.getWorkOrderSchedulePage(pageReqVO);
        return success(new PageResult<>(buildWorkOrderRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -169,7 +165,6 @@
    @GetMapping("/progress/{id}")
    @Operation(summary = "获取工单进度详情")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<MesProWorkOrderProgressRespVO> getWorkOrderProgress(@PathVariable("id") Long id) {
        return success(workOrderService.getWorkOrderProgress(id));
    }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderParamRecordController.java
@@ -71,7 +71,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得工单参数记录")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<MesProWorkOrderParamRecordRespVO> getParamRecord(@RequestParam("id") Long id) {
        MesProWorkOrderParamRecordDO record = paramRecordService.getParamRecord(id);
        if (record == null) {
@@ -82,7 +81,6 @@
    @GetMapping("/page-by-work-order")
    @Operation(summary = "按工单获得参数记录分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<PageResult<MesProWorkOrderParamRecordRespVO>> getParamRecordPageByWorkOrderId(
            @RequestParam("taskId") Long taskId,
            @Valid MesProWorkOrderParamRecordPageReqVO pageReqVO) {
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderProcessController.java
@@ -87,7 +87,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得工单工序")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<MesProWorkOrderProcessRespVO> getWorkOrderProcess(@RequestParam("id") Long id) {
        MesProWorkOrderProcessDO workOrderProcess = workOrderProcessService.getWorkOrderProcess(id);
        if (workOrderProcess == null) {
@@ -98,7 +97,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得工单工序分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<PageResult<MesProWorkOrderProcessRespVO>> getWorkOrderProcessPage(@Valid MesProWorkOrderProcessPageReqVO pageReqVO) {
        PageResult<MesProWorkOrderProcessDO> pageResult = workOrderProcessService.getWorkOrderProcessPage(pageReqVO);
        return success(new PageResult<>(buildWorkOrderProcessRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -107,7 +105,6 @@
    @GetMapping("/list-by-work-order-id")
    @Operation(summary = "获得工单的工序列表")
    @Parameter(name = "workOrderId", description = "工单编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<List<MesProWorkOrderProcessRespVO>> getWorkOrderProcessListByWorkOrderId(
            @RequestParam("workOrderId") Long workOrderId) {
        List<MesProWorkOrderProcessDO> list = workOrderProcessService.getWorkOrderProcessListByWorkOrderId(workOrderId);
@@ -117,7 +114,6 @@
    @GetMapping("/list-by-product-id")
    @Operation(summary = "根据产品获取工艺路线工序列表(用于工单预填)")
    @Parameter(name = "productId", description = "产品编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
    public CommonResult<List<MesProWorkOrderProcessRespVO>> getProcessListByProductId(
            @RequestParam("productId") Long productId) {
        List<MesProWorkOrderProcessDO> list = workOrderProcessService.getProcessListByProductId(productId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workrecord/MesProWorkRecordController.java
@@ -54,7 +54,6 @@
    @GetMapping("/log/page")
    @Operation(summary = "获得工作记录流水分页")
    @PreAuthorize("@ss.hasPermission('mes:pro-workrecord:query')")
    public CommonResult<PageResult<MesProWorkRecordLogRespVO>> getWorkRecordLogPage(
            @Valid MesProWorkRecordLogPageReqVO pageReqVO) {
        PageResult<MesProWorkRecordLogDO> pageResult = workRecordService.getWorkRecordLogPage(pageReqVO);
@@ -64,7 +63,6 @@
    @GetMapping("/log/get")
    @Operation(summary = "获得工作记录流水")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:pro-workrecord:query')")
    public CommonResult<MesProWorkRecordLogRespVO> getWorkRecordLog(@RequestParam("id") Long id) {
        MesProWorkRecordLogDO log = workRecordService.getWorkRecordLog(id);
        return success(buildWorkRecordLogRespVO(log));
@@ -99,7 +97,6 @@
    @GetMapping("/get-my")
    @Operation(summary = "获取当前用户绑定的工作站状态")
    @PreAuthorize("@ss.hasPermission('mes:pro-workrecord:query')")
    public CommonResult<MesProWorkRecordRespVO> getMyWorkRecord() {
        MesProWorkRecordDO record = workRecordService.getWorkRecord(getLoginUserId());
        return success(buildWorkRecordRespVO(record));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/defect/MesQcDefectController.java
@@ -63,7 +63,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得缺陷类型")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-defect:query')")
    public CommonResult<MesQcDefectRespVO> getDefect(@RequestParam("id") Long id) {
        MesQcDefectDO defect = defectService.getDefect(id);
        return success(BeanUtils.toBean(defect, MesQcDefectRespVO.class));
@@ -71,7 +70,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得缺陷类型分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-defect:query')")
    public CommonResult<PageResult<MesQcDefectRespVO>> getDefectPage(@Valid MesQcDefectPageReqVO pageReqVO) {
        PageResult<MesQcDefectDO> pageResult = defectService.getDefectPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesQcDefectRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/defectrecord/MesQcDefectRecordController.java
@@ -55,7 +55,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得质检缺陷记录")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-defect:query')")
    public CommonResult<MesQcDefectRecordRespVO> getDefectRecord(@RequestParam("id") Long id) {
        MesQcDefectRecordDO record = defectRecordService.getDefectRecord(id);
        return success(BeanUtils.toBean(record, MesQcDefectRecordRespVO.class));
@@ -63,7 +62,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得质检缺陷记录分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-defect:query')")
    public CommonResult<PageResult<MesQcDefectRecordRespVO>> getDefectRecordPage(@Valid MesQcDefectRecordPageReqVO pageReqVO) {
        PageResult<MesQcDefectRecordDO> pageResult = defectRecordService.getDefectRecordPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesQcDefectRecordRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicator/MesQcIndicatorController.java
@@ -68,7 +68,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得质检指标")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-indicator:query')")
    public CommonResult<MesQcIndicatorRespVO> getIndicator(@RequestParam("id") Long id) {
        MesQcIndicatorDO indicator = indicatorService.getIndicator(id);
        return success(BeanUtils.toBean(indicator, MesQcIndicatorRespVO.class));
@@ -76,7 +75,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得质检指标分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-indicator:query')")
    public CommonResult<PageResult<MesQcIndicatorRespVO>> getIndicatorPage(@Valid MesQcIndicatorPageReqVO pageReqVO) {
        PageResult<MesQcIndicatorDO> pageResult = indicatorService.getIndicatorPage(pageReqVO);
        PageResult<MesQcIndicatorRespVO> voPageResult = BeanUtils.toBean(pageResult, MesQcIndicatorRespVO.class);
@@ -86,7 +84,6 @@
    @GetMapping("/group-list")
    @Operation(summary = "获得分组项精简列表", description = "只包含分组项,主要用于「所属分组」的下拉选项")
    @PreAuthorize("@ss.hasPermission('mes:qc-indicator:query')")
    public CommonResult<List<MesQcIndicatorRespVO>> getIndicatorGroupList() {
        List<MesQcIndicatorDO> list = indicatorService.getIndicatorGroupList();
        return success(BeanUtils.toBean(list, MesQcIndicatorRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/indicatorresult/MesQcIndicatorResultController.java
@@ -86,7 +86,6 @@
            @Parameter(name = "qcId", description = "质检单ID", required = true, example = "1"),
            @Parameter(name = "qcType", description = "质检类型", required = true, example = "1")
    })
    @PreAuthorize("@ss.hasPermission('mes:qc-iqc:query')")
    public CommonResult<MesQcIndicatorResultRespVO> getIndicatorResultDetail(
            @RequestParam(value = "id", required = false) Long id,
            @RequestParam("qcId") Long qcId,
@@ -109,7 +108,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得检验结果分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-iqc:query')")
    public CommonResult<PageResult<MesQcIndicatorResultRespVO>> getIndicatorResultPage(@Valid MesQcIndicatorResultPageReqVO pageReqVO) {
        PageResult<MesQcIndicatorResultDO> pageResult = resultService.getIndicatorResultPage(pageReqVO);
        // å‰ç«¯åˆ—表只展示 code、sn、remark,无需关联查询
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ipqc/MesQcIpqcController.java
@@ -129,7 +129,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得过程检验单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-ipqc:query')")
    public CommonResult<MesQcIpqcRespVO> getIpqc(@RequestParam("id") Long id) {
        MesQcIpqcDO ipqc = ipqcService.getIpqc(id);
        return success(buildIpqcRespVOList(Collections.singletonList(ipqc)).get(0));
@@ -137,7 +136,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得过程检验单分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-ipqc:query')")
    public CommonResult<PageResult<MesQcIpqcRespVO>> getIpqcPage(@Valid MesQcIpqcPageReqVO pageReqVO) {
        PageResult<MesQcIpqcDO> pageResult = ipqcService.getIpqcPage(pageReqVO);
        return success(new PageResult<>(buildIpqcRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ipqc/MesQcIpqcLineController.java
@@ -48,7 +48,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得过程检验单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-ipqc:query')")
    public CommonResult<MesQcIpqcLineRespVO> getIpqcLine(@RequestParam("id") Long id) {
        MesQcIpqcLineDO line = ipqcLineService.getIpqcLine(id);
        return success(buildLineRespVOList(Collections.singletonList(line)).get(0));
@@ -56,7 +55,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得过程检验单行分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-ipqc:query')")
    public CommonResult<PageResult<MesQcIpqcLineRespVO>> getIpqcLinePage(@Valid MesQcIpqcLinePageReqVO pageReqVO) {
        PageResult<MesQcIpqcLineDO> pageResult = ipqcLineService.getIpqcLinePage(pageReqVO);
        return success(new PageResult<>(buildLineRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcController.java
@@ -122,7 +122,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得来料检验单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-iqc:query')")
    public CommonResult<MesQcIqcRespVO> getIqc(@RequestParam("id") Long id) {
        MesQcIqcDO iqc = iqcService.getIqc(id);
        return success(buildIqcRespVOList(Collections.singletonList(iqc)).get(0));
@@ -130,7 +129,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得来料检验单分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-iqc:query')")
    public CommonResult<PageResult<MesQcIqcRespVO>> getIqcPage(@Valid MesQcIqcPageReqVO pageReqVO) {
        PageResult<MesQcIqcDO> pageResult = iqcService.getIqcPage(pageReqVO);
        return success(new PageResult<>(buildIqcRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/iqc/MesQcIqcLineController.java
@@ -48,7 +48,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得来料检验单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-iqc:query')")
    public CommonResult<MesQcIqcLineRespVO> getIqcLine(@RequestParam("id") Long id) {
        MesQcIqcLineDO line = iqcLineService.getIqcLine(id);
        return success(buildLineRespVOList(Collections.singletonList(line)).get(0));
@@ -56,7 +55,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得来料检验单行分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-iqc:query')")
    public CommonResult<PageResult<MesQcIqcLineRespVO>> getIqcLinePage(@Valid MesQcIqcLinePageReqVO pageReqVO) {
        PageResult<MesQcIqcLineDO> pageResult = iqcLineService.getIqcLinePage(pageReqVO);
        return success(new PageResult<>(buildLineRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ledger/MesQcInspectionLedgerController.java
@@ -45,7 +45,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得检测结果台账分页(四类检验单统一查询)")
    @PreAuthorize("@ss.hasPermission('mes:qc-inspection-ledger:query')")
    public CommonResult<PageResult<MesQcInspectionLedgerRespVO>> getInspectionLedgerPage(
            @Valid MesQcInspectionLedgerPageReqVO pageReqVO) {
        return success(ledgerService.getInspectionLedgerPage(pageReqVO));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/ncr/MesQcNcrController.java
@@ -106,7 +106,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得不合格品处理单详情")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-ncr:query')")
    public CommonResult<MesQcNcrRespVO> getNcr(@RequestParam("id") Long id) {
        MesQcNcrDO ncr = ncrService.getNcr(id);
        return success(buildNcrRespVOList(Collections.singletonList(ncr)).get(0));
@@ -114,7 +113,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得不合格品处理单分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-ncr:query')")
    public CommonResult<PageResult<MesQcNcrRespVO>> getNcrPage(@Valid MesQcNcrPageReqVO pageReqVO) {
        PageResult<MesQcNcrDO> pageResult = ncrService.getNcrPage(pageReqVO);
        return success(new PageResult<>(buildNcrRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/MesQcOqcController.java
@@ -122,7 +122,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得出货检验单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-oqc:query')")
    public CommonResult<MesQcOqcRespVO> getOqc(@RequestParam("id") Long id) {
        MesQcOqcDO oqc = oqcService.getOqc(id);
        return success(buildOqcRespVOList(Collections.singletonList(oqc)).get(0));
@@ -130,7 +129,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得出货检验单分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-oqc:query')")
    public CommonResult<PageResult<MesQcOqcRespVO>> getOqcPage(@Valid MesQcOqcPageReqVO pageReqVO) {
        PageResult<MesQcOqcDO> pageResult = oqcService.getOqcPage(pageReqVO);
        return success(new PageResult<>(buildOqcRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/oqc/MesQcOqcLineController.java
@@ -48,7 +48,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得出货检验单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-oqc:query')")
    public CommonResult<MesQcOqcLineRespVO> getOqcLine(@RequestParam("id") Long id) {
        MesQcOqcLineDO line = oqcLineService.getOqcLine(id);
        return success(buildLineRespVOList(Collections.singletonList(line)).get(0));
@@ -56,7 +55,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得出货检验单行分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-oqc:query')")
    public CommonResult<PageResult<MesQcOqcLineRespVO>> getOqcLinePage(@Valid MesQcOqcLinePageReqVO pageReqVO) {
        PageResult<MesQcOqcLineDO> pageResult = oqcLineService.getOqcLinePage(pageReqVO);
        return success(new PageResult<>(buildLineRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/pendinginspect/MesQcPendingInspectController.java
@@ -58,7 +58,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得待检任务分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-pending-inspect:query')")
    public CommonResult<PageResult<MesQcPendingInspectRespVO>> getPendingInspectPage(
            @Valid MesQcPendingInspectPageReqVO pageReqVO) {
        PageResult<MesQcPendingInspectRespVO> pageResult = pendingInspectService.getPendingInspectPage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/rqc/MesQcRqcController.java
@@ -113,7 +113,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得退货检验单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-rqc:query')")
    public CommonResult<MesQcRqcRespVO> getRqc(@RequestParam("id") Long id) {
        MesQcRqcDO rqc = rqcService.getRqc(id);
        return success(buildRqcRespVOList(Collections.singletonList(rqc)).get(0));
@@ -121,7 +120,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得退货检验单分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-rqc:query')")
    public CommonResult<PageResult<MesQcRqcRespVO>> getRqcPage(@Valid MesQcRqcPageReqVO pageReqVO) {
        PageResult<MesQcRqcDO> pageResult = rqcService.getRqcPage(pageReqVO);
        return success(new PageResult<>(buildRqcRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/rqc/MesQcRqcLineController.java
@@ -48,7 +48,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得退货检验单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-rqc:query')")
    public CommonResult<MesQcRqcLineRespVO> getRqcLine(@RequestParam("id") Long id) {
        MesQcRqcLineDO line = rqcLineService.getRqcLine(id);
        return success(buildLineRespVOList(Collections.singletonList(line)).get(0));
@@ -56,7 +55,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得退货检验单行分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-rqc:query')")
    public CommonResult<PageResult<MesQcRqcLineRespVO>> getRqcLinePage(@Valid MesQcRqcLinePageReqVO pageReqVO) {
        PageResult<MesQcRqcLineDO> pageResult = rqcLineService.getRqcLinePage(pageReqVO);
        return success(new PageResult<>(buildLineRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateController.java
@@ -63,7 +63,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得质检方案")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-template:query')")
    public CommonResult<MesQcTemplateRespVO> getTemplate(@RequestParam("id") Long id) {
        MesQcTemplateDO template = templateService.getTemplate(id);
        return success(BeanUtils.toBean(template, MesQcTemplateRespVO.class));
@@ -71,7 +70,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得质检方案分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-template:query')")
    public CommonResult<PageResult<MesQcTemplateRespVO>> getTemplatePage(@Valid MesQcTemplatePageReqVO pageReqVO) {
        PageResult<MesQcTemplateDO> pageResult = templateService.getTemplatePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesQcTemplateRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateIndicatorController.java
@@ -70,7 +70,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得质检方案-检测指标项")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-template:query')")
    public CommonResult<MesQcTemplateIndicatorRespVO> getTemplateIndicator(@RequestParam("id") Long id) {
        MesQcTemplateIndicatorDO indicator = templateIndicatorService.getTemplateIndicator(id);
        return success(buildIndicatorRespVOList(Collections.singletonList(indicator)).get(0));
@@ -78,7 +77,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得质检方案-检测指标项分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-template:query')")
    public CommonResult<PageResult<MesQcTemplateIndicatorRespVO>> getTemplateIndicatorPage(
            @Valid MesQcTemplateIndicatorPageReqVO pageReqVO) {
        PageResult<MesQcTemplateIndicatorDO> pageResult = templateIndicatorService.getTemplateIndicatorPage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/qc/template/MesQcTemplateItemController.java
@@ -75,7 +75,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得质检方案-产品关联")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:qc-template:query')")
    public CommonResult<MesQcTemplateItemRespVO> getTemplateItem(@RequestParam("id") Long id) {
        MesQcTemplateItemDO item = templateItemService.getTemplateItem(id);
        return success(buildItemRespVOList(Collections.singletonList(item)).get(0));
@@ -83,7 +82,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得质检方案-产品关联分页")
    @PreAuthorize("@ss.hasPermission('mes:qc-template:query')")
    public CommonResult<PageResult<MesQcTemplateItemRespVO>> getTemplateItemPage(
            @Valid MesQcTemplateItemPageReqVO pageReqVO) {
        PageResult<MesQcTemplateItemDO> pageResult = templateItemService.getTemplateItemPage(pageReqVO);
@@ -92,7 +90,6 @@
    @GetMapping("/list-by-item-and-type")
    @Operation(summary = "根据物料或工单/任务和检测种类获取可用质检方案")
    @PreAuthorize("@ss.hasPermission('mes:qc-template:query')")
    public CommonResult<List<MesQcTemplateItemOptionRespVO>> getTemplateItemOptionList(
            @RequestParam(value = "qcType", required = false) Integer qcType,
            @RequestParam(value = "itemId", required = false) Long itemId,
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/tm/tool/MesTmToolController.java
@@ -73,7 +73,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得工具")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:tm-tool:query')")
    public CommonResult<MesTmToolRespVO> getTool(@RequestParam("id") Long id) {
        MesTmToolDO tool = toolService.getTool(id);
        MesTmToolRespVO respVO = BeanUtils.toBean(tool, MesTmToolRespVO.class);
@@ -89,7 +88,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得工具分页")
    @PreAuthorize("@ss.hasPermission('mes:tm-tool:query')")
    public CommonResult<PageResult<MesTmToolRespVO>> getToolPage(@Valid MesTmToolPageReqVO pageReqVO) {
        PageResult<MesTmToolDO> pageResult = toolService.getToolPage(pageReqVO);
        return success(new PageResult<>(buildToolRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -110,7 +108,6 @@
    @GetMapping("/simple-list")
    @Operation(summary = "获得工具精简列表")
    @PreAuthorize("@ss.hasPermission('mes:tm-tool:query')")
    public CommonResult<List<MesTmToolRespVO>> getToolSimpleList() {
        List<MesTmToolDO> list = toolService.getToolList();
        return success(BeanUtils.toBean(list, MesTmToolRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/tm/tool/MesTmToolTypeController.java
@@ -63,7 +63,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得工具类型")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:tm-tool-type:query')")
    public CommonResult<MesTmToolTypeRespVO> getToolType(@RequestParam("id") Long id) {
        MesTmToolTypeDO toolType = toolTypeService.getToolType(id);
        return success(BeanUtils.toBean(toolType, MesTmToolTypeRespVO.class));
@@ -71,7 +70,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得工具类型分页")
    @PreAuthorize("@ss.hasPermission('mes:tm-tool-type:query')")
    public CommonResult<PageResult<MesTmToolTypeRespVO>> getToolTypePage(@Valid MesTmToolTypePageReqVO pageReqVO) {
        PageResult<MesTmToolTypeDO> pageResult = toolTypeService.getToolTypePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesTmToolTypeRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/arrivalnotice/MesWmArrivalNoticeController.java
@@ -77,7 +77,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得到货通知单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-arrival-notice:query')")
    public CommonResult<MesWmArrivalNoticeRespVO> getArrivalNotice(@RequestParam("id") Long id) {
        MesWmArrivalNoticeDO notice = arrivalNoticeService.getArrivalNotice(id);
        if (notice == null) {
@@ -88,7 +87,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得到货通知单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-arrival-notice:query')")
    public CommonResult<PageResult<MesWmArrivalNoticeRespVO>> getArrivalNoticePage(
            @Valid MesWmArrivalNoticePageReqVO pageReqVO) {
        PageResult<MesWmArrivalNoticeDO> pageResult = arrivalNoticeService.getArrivalNoticePage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/arrivalnotice/MesWmArrivalNoticeLineController.java
@@ -77,7 +77,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得到货通知单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-arrival-notice:query')")
    public CommonResult<MesWmArrivalNoticeLineRespVO> getArrivalNoticeLine(@RequestParam("id") Long id) {
        MesWmArrivalNoticeLineDO line = arrivalNoticeLineService.getArrivalNoticeLine(id);
        if (line == null) {
@@ -88,7 +87,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得到货通知单行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-arrival-notice:query')")
    public CommonResult<PageResult<MesWmArrivalNoticeLineRespVO>> getArrivalNoticeLinePage(
            @Valid MesWmArrivalNoticeLinePageReqVO pageReqVO) {
        PageResult<MesWmArrivalNoticeLineDO> pageResult = arrivalNoticeLineService.getArrivalNoticeLinePage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/barcode/MesWmBarcodeConfigController.java
@@ -55,7 +55,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得条码配置")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-barcode-config:query')")
    public CommonResult<MesWmBarcodeConfigRespVO> getBarcodeConfig(@RequestParam("id") Long id) {
        MesWmBarcodeConfigDO config = barcodeConfigService.getBarcodeConfig(id);
        return success(BeanUtils.toBean(config, MesWmBarcodeConfigRespVO.class));
@@ -63,7 +62,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得条码配置分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-barcode-config:query')")
    public CommonResult<PageResult<MesWmBarcodeConfigRespVO>> getBarcodeConfigPage(
            @Valid MesWmBarcodeConfigPageReqVO pageReqVO) {
        PageResult<MesWmBarcodeConfigDO> pageResult = barcodeConfigService.getBarcodeConfigPage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/barcode/MesWmBarcodeController.java
@@ -65,7 +65,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得条码")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-barcode:query')")
    public CommonResult<MesWmBarcodeRespVO> getBarcode(@RequestParam("id") Long id) {
        MesWmBarcodeDO barcode = barcodeService.getBarcode(id);
        return success(BeanUtils.toBean(barcode, MesWmBarcodeRespVO.class));
@@ -73,7 +72,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得条码分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-barcode:query')")
    public CommonResult<PageResult<MesWmBarcodeRespVO>> getBarcodePage(@Valid MesWmBarcodePageReqVO pageReqVO) {
        PageResult<MesWmBarcodeDO> pageResult = barcodeService.getBarcodePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesWmBarcodeRespVO.class));
@@ -83,7 +81,6 @@
    @Operation(summary = "根据业务对象获取条码信息", description = "前端用于生成条码图片")
    @Parameter(name = "bizType", description = "业务类型", required = true, example = "102")
    @Parameter(name = "bizId", description = "业务编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-barcode:query')")
    public CommonResult<MesWmBarcodeRespVO> getBarcodeByBusiness(
            @RequestParam("bizType") Integer bizType,
            @RequestParam("bizId") Long bizId) {
@@ -95,7 +92,6 @@
    @Operation(summary = "生成条码内容")
    @Parameter(name = "bizType", description = "业务类型", required = true, example = "1")
    @Parameter(name = "bizCode", description = "业务编码", required = true, example = "WO202403070001")
    @PreAuthorize("@ss.hasPermission('mes:wm-barcode:query')")
    public CommonResult<String> generateBarcodeContent(@RequestParam("bizType") @NotNull(message = "业务类型不能为空") Integer bizType,
                                                        @RequestParam("bizCode") @NotBlank(message = "业务编码不能为空") String bizCode) {
        String content = barcodeService.generateBarcodeContent(bizType, bizCode);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/batch/MesWmBatchController.java
@@ -82,7 +82,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得批次详情")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-batch:query')")
    public CommonResult<MesWmBatchRespVO> getBatch(@RequestParam("id") Long id) {
        MesWmBatchDO batch = batchService.getBatch(id);
        return success(buildBatchRespVO(batch));
@@ -90,7 +89,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得批次分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-batch:query')")
    public CommonResult<PageResult<MesWmBatchRespVO>> getBatchPage(@Valid MesWmBatchPageReqVO pageReqVO) {
        PageResult<MesWmBatchDO> pageResult = batchService.getBatchPage(pageReqVO);
        return success(new PageResult<>(buildBatchRespVOList(pageResult.getList()), pageResult.getTotal()));
@@ -99,7 +97,6 @@
    @GetMapping("/forward-list")
    @Operation(summary = "批次向前追溯")
    @Parameter(name = "code", description = "批次编码", required = true, example = "BATCH20250314001")
    @PreAuthorize("@ss.hasPermission('mes:wm-batch:query')")
    public CommonResult<List<MesWmBatchRespVO>> getForwardList(@RequestParam("code") @Valid String code) {
        List<MesWmBatchDO> list = batchService.getForwardBatchList(code);
        return success(buildBatchRespVOList(list));
@@ -108,7 +105,6 @@
    @GetMapping("/backward-list")
    @Operation(summary = "批次向后追溯")
    @Parameter(name = "code", description = "批次编码", required = true, example = "BATCH20250314001")
    @PreAuthorize("@ss.hasPermission('mes:wm-batch:query')")
    public CommonResult<List<MesWmBatchRespVO>> getBackwardList(@RequestParam("code") @Valid String code) {
        List<MesWmBatchDO> list = batchService.getBackwardBatchList(code);
        return success(buildBatchRespVOList(list));
@@ -117,7 +113,6 @@
    @GetMapping("/purchase-sources")
    @Operation(summary = "批次采购来源(采购入库单 + IQC)")
    @Parameter(name = "code", description = "批次编码", required = true, example = "BATCH20250314001")
    @PreAuthorize("@ss.hasPermission('mes:wm-batch:query')")
    public CommonResult<List<MesWmBatchPurchaseSourceRespVO>> getPurchaseSourceList(@RequestParam("code") @Valid String code) {
        List<MesWmBatchPurchaseSourceRespVO> list = batchService.getPurchaseSourceList(code);
        return success(buildPurchaseSourceRespVOList(list));
@@ -126,7 +121,6 @@
    @GetMapping("/sales-targets")
    @Operation(summary = "批次销售去向(销售出库单 + OQC)")
    @Parameter(name = "code", description = "批次编码", required = true, example = "BATCH20250314001")
    @PreAuthorize("@ss.hasPermission('mes:wm-batch:query')")
    public CommonResult<List<MesWmBatchSalesTargetRespVO>> getSalesTargetList(@RequestParam("code") @Valid String code) {
        List<MesWmBatchSalesTargetRespVO> list = batchService.getSalesTargetList(code);
        return success(buildSalesTargetRespVOList(list));
@@ -135,7 +129,6 @@
    @GetMapping("/process-trace")
    @Operation(summary = "批次工序流转(产出/投入事件)")
    @Parameter(name = "code", description = "批次编码", required = true, example = "BATCH20250314001")
    @PreAuthorize("@ss.hasPermission('mes:wm-batch:query')")
    public CommonResult<List<MesWmBatchProcessTraceRespVO>> getProcessTraceList(@RequestParam("code") @Valid String code) {
        List<MesWmBatchProcessTraceRespVO> list = batchService.getProcessTraceList(code);
        return success(buildProcessTraceRespVOList(list));
@@ -144,7 +137,6 @@
    @GetMapping("/get-by-sn")
    @Operation(summary = "根据 SN ç åæŸ¥æ‰¹æ¬¡")
    @Parameter(name = "sn", description = "SN åºåˆ—号", required = true, example = "SN20250314001")
    @PreAuthorize("@ss.hasPermission('mes:wm-batch:query')")
    public CommonResult<MesWmBatchRespVO> getBatchBySn(@RequestParam("sn") @Valid String sn) {
        MesWmBatchDO batch = batchService.getBatchBySn(sn);
        return success(buildBatchRespVO(batch));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemconsume/MesWmItemConsumeLineController.java
@@ -28,7 +28,6 @@
    @GetMapping("/page")
    @Operation(summary = "根据报工编号分页获取消耗行列表")
    @PreAuthorize("@ss.hasPermission('mes:pro-feedback:query')")
    public CommonResult<PageResult<MesWmItemConsumeLineRespVO>> getItemConsumeLinePage(
            @Valid MesWmItemConsumeLinePageReqVO pageReqVO) {
        PageResult<MesWmItemConsumeLineRespVO> pageResult =
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/MesWmItemReceiptController.java
@@ -80,7 +80,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得采购入库单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-item-receipt:query')")
    public CommonResult<MesWmItemReceiptRespVO> getItemReceipt(@RequestParam("id") Long id) {
        MesWmItemReceiptDO receipt = itemReceiptService.getItemReceipt(id);
        if (receipt == null) {
@@ -91,7 +90,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得采购入库单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-item-receipt:query')")
    public CommonResult<PageResult<MesWmItemReceiptRespVO>> getItemReceiptPage(
            @Valid MesWmItemReceiptPageReqVO pageReqVO) {
        PageResult<MesWmItemReceiptDO> pageResult = itemReceiptService.getItemReceiptPage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/MesWmItemReceiptDetailController.java
@@ -83,7 +83,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得采购入库明细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-item-receipt:query')")
    public CommonResult<MesWmItemReceiptDetailRespVO> getItemReceiptDetail(@RequestParam("id") Long id) {
        MesWmItemReceiptDetailDO detail = itemReceiptDetailService.getItemReceiptDetail(id);
        if (detail == null) {
@@ -95,7 +94,6 @@
    @GetMapping("/list-by-line")
    @Operation(summary = "获得采购入库明细列表(按行编号)")
    @Parameter(name = "lineId", description = "行编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-item-receipt:query')")
    public CommonResult<List<MesWmItemReceiptDetailRespVO>> getItemReceiptDetailListByLineId(
            @RequestParam("lineId") Long lineId) {
        List<MesWmItemReceiptDetailDO> list = itemReceiptDetailService.getItemReceiptDetailListByLineId(lineId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/MesWmItemReceiptLineController.java
@@ -77,7 +77,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得采购入库单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-item-receipt:query')")
    public CommonResult<MesWmItemReceiptLineRespVO> getItemReceiptLine(@RequestParam("id") Long id) {
        MesWmItemReceiptLineDO line = itemReceiptLineService.getItemReceiptLine(id);
        if (line == null) {
@@ -88,7 +87,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得采购入库单行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-item-receipt:query')")
    public CommonResult<PageResult<MesWmItemReceiptLineRespVO>> getItemReceiptLinePage(
            @Valid MesWmItemReceiptLinePageReqVO pageReqVO) {
        PageResult<MesWmItemReceiptLineDO> pageResult = itemReceiptLineService.getItemReceiptLinePage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/materialstock/MesWmMaterialStockController.java
@@ -77,7 +77,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得库存记录")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-material-stock:query')")
    public CommonResult<MesWmMaterialStockRespVO> getMaterialStock(@RequestParam("id") Long id) {
        MesWmMaterialStockDO stock = materialStockService.getMaterialStock(id);
        if (stock == null) {
@@ -88,7 +87,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得库存台账分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-material-stock:query')")
    public CommonResult<PageResult<MesWmMaterialStockRespVO>> getMaterialStockPage(
            @Valid MesWmMaterialStockPageReqVO pageReqVO) {
        PageResult<MesWmMaterialStockDO> pageResult = materialStockService.getMaterialStockPage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscissue/MesWmMiscIssueController.java
@@ -65,7 +65,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得杂项出库单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-misc-issue:query')")
    public CommonResult<MesWmMiscIssueRespVO> getMiscIssue(@RequestParam("id") Long id) {
        MesWmMiscIssueDO issue = miscIssueService.getMiscIssue(id);
        if (issue == null) {
@@ -76,7 +75,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得杂项出库单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-misc-issue:query')")
    public CommonResult<PageResult<MesWmMiscIssueRespVO>> getMiscIssuePage(
            @Valid MesWmMiscIssuePageReqVO pageReqVO) {
        PageResult<MesWmMiscIssueDO> pageResult = miscIssueService.getMiscIssuePage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscissue/MesWmMiscIssueLineController.java
@@ -85,7 +85,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得杂项出库单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-misc-issue:query')")
    public CommonResult<MesWmMiscIssueLineRespVO> getMiscIssueLine(@RequestParam("id") Long id) {
        MesWmMiscIssueLineDO line = miscIssueLineService.getMiscIssueLine(id);
        if (line == null) {
@@ -96,7 +95,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得杂项出库单行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-misc-issue:query')")
    public CommonResult<PageResult<MesWmMiscIssueLineRespVO>> getMiscIssueLinePage(
            @Valid MesWmMiscIssueLinePageReqVO pageReqVO) {
        PageResult<MesWmMiscIssueLineDO> pageResult = miscIssueLineService.getMiscIssueLinePage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/MesWmMiscReceiptController.java
@@ -62,7 +62,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得杂项入库单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm:misc-receipt:query')")
    public CommonResult<MesWmMiscReceiptRespVO> getMiscReceipt(@RequestParam("id") Long id) {
        MesWmMiscReceiptDO receipt = miscReceiptService.getMiscReceipt(id);
        return success(BeanUtils.toBean(receipt, MesWmMiscReceiptRespVO.class));
@@ -70,7 +69,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得杂项入库单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm:misc-receipt:query')")
    public CommonResult<PageResult<MesWmMiscReceiptRespVO>> getMiscReceiptPage(@Valid MesWmMiscReceiptPageReqVO pageReqVO) {
        PageResult<MesWmMiscReceiptDO> pageResult = miscReceiptService.getMiscReceiptPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesWmMiscReceiptRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/miscreceipt/MesWmMiscReceiptLineController.java
@@ -85,7 +85,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得杂项入库单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm:misc-receipt:query')")
    public CommonResult<MesWmMiscReceiptLineRespVO> getMiscReceiptLine(@RequestParam("id") Long id) {
        MesWmMiscReceiptLineDO line = miscReceiptLineService.getMiscReceiptLine(id);
        if (line == null) {
@@ -97,7 +96,6 @@
    @GetMapping("/list-by-receipt-id")
    @Operation(summary = "获得杂项入库单行列表")
    @Parameter(name = "receiptId", description = "入库单编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm:misc-receipt:query')")
    public CommonResult<List<MesWmMiscReceiptLineRespVO>> getMiscReceiptLineListByReceiptId(@RequestParam("receiptId") Long receiptId) {
        List<MesWmMiscReceiptLineDO> list = miscReceiptLineService.getMiscReceiptLineListByReceiptId(receiptId);
        return success(buildRespVOList(list));
@@ -105,7 +103,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得杂项入库单行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm:misc-receipt:query')")
    public CommonResult<PageResult<MesWmMiscReceiptLineRespVO>> getMiscReceiptLinePage(@Valid MesWmMiscReceiptLinePageReqVO pageReqVO) {
        PageResult<MesWmMiscReceiptLineDO> pageResult = miscReceiptLineService.getMiscReceiptLinePage(pageReqVO);
        return success(new PageResult<>(buildRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourceissue/MesWmOutsourceIssueController.java
@@ -76,7 +76,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得外协发料单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-issue:query')")
    public CommonResult<MesWmOutsourceIssueRespVO> getOutsourceIssue(@RequestParam("id") Long id) {
        MesWmOutsourceIssueDO issue = outsourceIssueService.getOutsourceIssue(id);
        if (issue == null) {
@@ -87,7 +86,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得外协发料单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-issue:query')")
    public CommonResult<PageResult<MesWmOutsourceIssueRespVO>> getOutsourceIssuePage(
            @Valid MesWmOutsourceIssuePageReqVO pageReqVO) {
        PageResult<MesWmOutsourceIssueDO> pageResult = outsourceIssueService.getOutsourceIssuePage(pageReqVO);
@@ -145,7 +143,6 @@
    @GetMapping("/check-quantity")
    @Operation(summary = "校验外协发料单数量", description = "校验每行明细数量之和是否等于行发料数量")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-issue:query')")
    public CommonResult<Boolean> checkOutsourceIssueQuantity(@RequestParam("id") Long id) {
        return success(outsourceIssueService.checkOutsourceIssueQuantity(id));
    }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourceissue/MesWmOutsourceIssueDetailController.java
@@ -83,7 +83,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得外协发料单明细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-issue:query')")
    public CommonResult<MesWmOutsourceIssueDetailRespVO> getOutsourceIssueDetail(@RequestParam("id") Long id) {
        MesWmOutsourceIssueDetailDO detail = outsourceIssueDetailService.getOutsourceIssueDetail(id);
        if (detail == null) {
@@ -95,7 +94,6 @@
    @GetMapping("/list-by-line")
    @Operation(summary = "获得外协发料单明细列表(按行ID)")
    @Parameter(name = "lineId", description = "行ID", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-issue:query')")
    public CommonResult<List<MesWmOutsourceIssueDetailRespVO>> getOutsourceIssueDetailListByLineId(
            @RequestParam("lineId") Long lineId) {
        List<MesWmOutsourceIssueDetailDO> list = outsourceIssueDetailService.getOutsourceIssueDetailListByLineId(lineId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourceissue/MesWmOutsourceIssueLineController.java
@@ -79,7 +79,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得外协发料单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-issue:query')")
    public CommonResult<MesWmOutsourceIssueLineRespVO> getOutsourceIssueLine(@RequestParam("id") Long id) {
        MesWmOutsourceIssueLineDO line = outsourceIssueLineService.getOutsourceIssueLine(id);
        if (line == null) {
@@ -90,7 +89,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得外协发料单行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-issue:query')")
    public CommonResult<PageResult<MesWmOutsourceIssueLineRespVO>> getOutsourceIssueLinePage(
            @Valid MesWmOutsourceIssueLinePageReqVO pageReqVO) {
        PageResult<MesWmOutsourceIssueLineDO> pageResult = outsourceIssueLineService.getOutsourceIssueLinePage(pageReqVO);
@@ -100,7 +98,6 @@
    @GetMapping("/list-by-issue-id")
    @Operation(summary = "获得外协发料单行列表")
    @Parameter(name = "issueId", description = "发料单ID", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-issue:query')")
    public CommonResult<List<MesWmOutsourceIssueLineRespVO>> getOutsourceIssueLineListByIssueId(
            @RequestParam("issueId") Long issueId) {
        List<MesWmOutsourceIssueLineDO> list = outsourceIssueLineService.getOutsourceIssueLineListByIssueId(issueId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourcereceipt/MesWmOutsourceReceiptController.java
@@ -76,7 +76,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得外协入库单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-receipt:query')")
    public CommonResult<MesWmOutsourceReceiptRespVO> getOutsourceReceipt(@RequestParam("id") Long id) {
        MesWmOutsourceReceiptDO receipt = outsourceReceiptService.getOutsourceReceipt(id);
        if (receipt == null) {
@@ -87,7 +86,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得外协入库单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-receipt:query')")
    public CommonResult<PageResult<MesWmOutsourceReceiptRespVO>> getOutsourceReceiptPage(
            @Valid MesWmOutsourceReceiptPageReqVO pageReqVO) {
        PageResult<MesWmOutsourceReceiptDO> pageResult = outsourceReceiptService.getOutsourceReceiptPage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourcereceipt/MesWmOutsourceReceiptDetailController.java
@@ -83,7 +83,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得外协入库明细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-receipt:query')")
    public CommonResult<MesWmOutsourceReceiptDetailRespVO> getOutsourceReceiptDetail(@RequestParam("id") Long id) {
        MesWmOutsourceReceiptDetailDO detail = detailService.getOutsourceReceiptDetail(id);
        if (detail == null) {
@@ -95,7 +94,6 @@
    @GetMapping("/list-by-line")
    @Operation(summary = "获得外协入库明细列表(按行编号)")
    @Parameter(name = "lineId", description = "行编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-receipt:query')")
    public CommonResult<List<MesWmOutsourceReceiptDetailRespVO>> getOutsourceReceiptDetailListByLineId(
            @RequestParam("lineId") Long lineId) {
        List<MesWmOutsourceReceiptDetailDO> list = detailService.getOutsourceReceiptDetailListByLineId(lineId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourcereceipt/MesWmOutsourceReceiptLineController.java
@@ -73,7 +73,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得外协入库单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-receipt:query')")
    public CommonResult<MesWmOutsourceReceiptLineRespVO> getOutsourceReceiptLine(@RequestParam("id") Long id) {
        MesWmOutsourceReceiptLineDO line = receiptLineService.getOutsourceReceiptLine(id);
        if (line == null) {
@@ -84,7 +83,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得外协入库单行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-outsource-receipt:query')")
    public CommonResult<PageResult<MesWmOutsourceReceiptLineRespVO>> getOutsourceReceiptLinePage(
            @Valid MesWmOutsourceReceiptLinePageReqVO pageReqVO) {
        PageResult<MesWmOutsourceReceiptLineDO> pageResult = receiptLineService.getOutsourceReceiptLinePage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/packages/MesWmPackageController.java
@@ -78,7 +78,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得装箱单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-package:query')")
    public CommonResult<MesWmPackageRespVO> getPackage(@RequestParam("id") Long id) {
        MesWmPackageDO packageDO = packageService.getPackage(id);
        if (packageDO == null) {
@@ -89,7 +88,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得装箱单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-package:query')")
    public CommonResult<PageResult<MesWmPackageRespVO>> getPackagePage(
            @Valid MesWmPackagePageReqVO pageReqVO) {
        PageResult<MesWmPackageDO> pageResult = packageService.getPackagePage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/packages/MesWmPackageLineController.java
@@ -77,7 +77,6 @@
        @GetMapping("/get")
        @Operation(summary = "获得装箱明细")
        @Parameter(name = "id", description = "编号", required = true, example = "1024")
        @PreAuthorize("@ss.hasPermission('mes:wm-package:query')")
        public CommonResult<MesWmPackageLineRespVO> getPackageLine(@RequestParam("id") Long id) {
                MesWmPackageLineDO line = packageLineService.getPackageLine(id);
                if (line == null) {
@@ -88,7 +87,6 @@
        @GetMapping("/page")
        @Operation(summary = "获得装箱明细分页")
        @PreAuthorize("@ss.hasPermission('mes:wm-package:query')")
        public CommonResult<PageResult<MesWmPackageLineRespVO>> getPackageLinePage(
                        @Valid MesWmPackageLinePageReqVO pageReqVO) {
                PageResult<MesWmPackageLineDO> pageResult = packageLineService.getPackageLinePage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueController.java
@@ -85,7 +85,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得领料出库单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
    public CommonResult<MesWmProductIssueRespVO> getProductIssue(@RequestParam("id") Long id) {
        MesWmProductIssueDO issue = issueService.getProductIssue(id);
        if (issue == null) {
@@ -96,7 +95,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得领料出库单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
    public CommonResult<PageResult<MesWmProductIssueRespVO>> getProductIssuePage(
            @Valid MesWmProductIssuePageReqVO pageReqVO) {
        PageResult<MesWmProductIssueDO> pageResult = issueService.getProductIssuePage(pageReqVO);
@@ -154,7 +152,6 @@
    @GetMapping("/check-quantity")
    @Operation(summary = "校验领料出库单数量", description = "校验每行明细数量之和是否等于行领料数量")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
    public CommonResult<Boolean> checkProductIssueQuantity(@RequestParam("id") Long id) {
        return success(issueService.checkProductIssueQuantity(id));
    }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueDetailController.java
@@ -83,7 +83,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得领料出库明细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
    public CommonResult<MesWmProductIssueDetailRespVO> getProductIssueDetail(@RequestParam("id") Long id) {
        MesWmProductIssueDetailDO detail = issueDetailService.getProductIssueDetail(id);
        if (detail == null) {
@@ -95,7 +94,6 @@
    @GetMapping("/list-by-line")
    @Operation(summary = "获得领料出库明细列表(按行编号)")
    @Parameter(name = "lineId", description = "行编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
    public CommonResult<List<MesWmProductIssueDetailRespVO>> getProductIssueDetailListByLineId(
            @RequestParam("lineId") Long lineId) {
        List<MesWmProductIssueDetailDO> list = issueDetailService.getProductIssueDetailListByLineId(lineId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueLineController.java
@@ -87,7 +87,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得领料出库单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
    public CommonResult<MesWmProductIssueLineRespVO> getProductIssueLine(@RequestParam("id") Long id) {
        MesWmProductIssueLineDO line = issueLineService.getProductIssueLine(id);
        if (line == null) {
@@ -98,7 +97,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得领料出库单行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
    public CommonResult<PageResult<MesWmProductIssueLineRespVO>> getProductIssueLinePage(
            @Valid MesWmProductIssueLinePageReqVO pageReqVO) {
        PageResult<MesWmProductIssueLineDO> pageResult = issueLineService.getProductIssueLinePage(pageReqVO);
@@ -108,7 +106,6 @@
    @GetMapping("/list-by-issue")
    @Operation(summary = "获得领料出库单行列表(按领料单编号)")
    @Parameter(name = "issueId", description = "领料单编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
    public CommonResult<List<MesWmProductIssueLineRespVO>> getProductIssueLineListByIssueId(
            @RequestParam("issueId") Long issueId) {
        List<MesWmProductIssueLineDO> list = issueLineService.getProductIssueLineListByIssueId(issueId);
@@ -119,7 +116,6 @@
    @Operation(summary = "获得领料出库单可领物料列表",
            description = "仅返回当前领料单对应生产工单 BOM ä¸­çš„物料,用于新增行物料选择器过滤,避免选择 BOM ä¹‹å¤–的物料")
    @Parameter(name = "issueId", description = "领料单编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
    public CommonResult<List<MesWmProductIssueBomItemRespVO>> getBomItemList(@RequestParam("issueId") Long issueId) {
        // 1. æ ¡éªŒé¢†æ–™å•存在,获取关联工单
        MesWmProductIssueDO issue = issueService.validateProductIssueExists(issueId);
@@ -160,7 +156,6 @@
    @Operation(summary = "获得领料出库单可退料行列表",
            description = "返回指定工单下已完成领料单的可退料行,可退数量 = å·²é¢†æ•°é‡ - å·²é€€æ•°é‡")
    @Parameter(name = "workOrderId", description = "生产工单ID", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
    public CommonResult<List<MesWmProductIssueLineReturnableRespVO>> getReturnableList(@RequestParam("workOrderId") Long workOrderId) {
        return success(issueLineService.getReturnableList(workOrderId));
    }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productproduce/MesWmProductProduceLineController.java
@@ -49,7 +49,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得生产入库单行分页")
    // æŠ¥å·¥è¯¦æƒ…的产品产出页签复用此接口,查询范围由必填 feedbackId é™å®šã€‚
    @PreAuthorize("@ss.hasAnyPermissions('mes:wm-product-produce:query', 'mes:pro-feedback:query')")
    public CommonResult<PageResult<MesWmProductProduceLineRespVO>> getProductProduceLinePage(
            @Valid MesWmProductProduceLinePageReqVO pageReqVO) {
        PageResult<MesWmProductProduceLineDO> pageResult = productProduceLineService.getProductProduceLinePage(
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productreceipt/MesWmProductReceiptController.java
@@ -83,7 +83,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得产品收货单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-receipt:query')")
    public CommonResult<MesWmProductReceiptRespVO> getProductReceipt(@RequestParam("id") Long id) {
        MesWmProductReceiptDO receipt = productReceiptService.getProductReceipt(id);
        if (receipt == null) {
@@ -94,7 +93,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得产品收货单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-receipt:query')")
    public CommonResult<PageResult<MesWmProductReceiptRespVO>> getProductReceiptPage(
            @Valid MesWmProductReceiptPageReqVO pageReqVO) {
        PageResult<MesWmProductReceiptDO> pageResult = productReceiptService.getProductReceiptPage(pageReqVO);
@@ -152,7 +150,6 @@
    @GetMapping("/check-quantity")
    @Operation(summary = "校验产品收货单明细数量")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-product-receipt:query')")
    public CommonResult<Boolean> checkProductReceiptQuantity(@RequestParam("id") Long id) {
        return success(productReceiptService.checkProductReceiptQuantity(id));
    }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productreceipt/MesWmProductReceiptDetailController.java
@@ -83,7 +83,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得产品收货单明细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-receipt:query')")
    public CommonResult<MesWmProductReceiptDetailRespVO> getProductReceiptDetail(@RequestParam("id") Long id) {
        MesWmProductReceiptDetailDO detail = productReceiptDetailService.getProductReceiptDetail(id);
        if (detail == null) {
@@ -95,7 +94,6 @@
    @GetMapping("/list-by-line")
    @Operation(summary = "获得产品收货单明细列表(按行编号)")
    @Parameter(name = "lineId", description = "行编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-receipt:query')")
    public CommonResult<List<MesWmProductReceiptDetailRespVO>> getProductReceiptDetailListByLineId(
            @RequestParam("lineId") Long lineId) {
        List<MesWmProductReceiptDetailDO> list = productReceiptDetailService.getProductReceiptDetailListByLineId(lineId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productreceipt/MesWmProductReceiptLineController.java
@@ -73,7 +73,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得产品收货单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-receipt:query')")
    public CommonResult<MesWmProductReceiptLineRespVO> getProductReceiptLine(@RequestParam("id") Long id) {
        MesWmProductReceiptLineDO line = productReceiptLineService.getProductReceiptLine(id);
        if (line == null) {
@@ -84,7 +83,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得产品收货单行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-receipt:query')")
    public CommonResult<PageResult<MesWmProductReceiptLineRespVO>> getProductReceiptLinePage(
            @Valid MesWmProductReceiptLinePageReqVO pageReqVO) {
        PageResult<MesWmProductReceiptLineDO> pageResult = productReceiptLineService.getProductReceiptLinePage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/MesWmProductSalesController.java
@@ -75,7 +75,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得销售出库单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-sales:query')")
    public CommonResult<MesWmProductSalesRespVO> getProductSales(@RequestParam("id") Long id) {
        MesWmProductSalesDO sales = productSalesService.getProductSales(id);
        if (sales == null) {
@@ -86,7 +85,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得销售出库单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-sales:query')")
    public CommonResult<PageResult<MesWmProductSalesRespVO>> getProductSalesPage(
            @Valid MesWmProductSalesPageReqVO pageReqVO) {
        PageResult<MesWmProductSalesDO> pageResult = productSalesService.getProductSalesPage(pageReqVO);
@@ -117,7 +115,6 @@
    @GetMapping("/check-quantity")
    @Operation(summary = "校验销售出库单数量")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-product-sales:query')")
    public CommonResult<Boolean> checkProductSalesQuantity(@RequestParam("id") Long id) {
        return success(productSalesService.checkProductSalesQuantity(id));
    }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/MesWmProductSalesDetailController.java
@@ -83,7 +83,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得销售出库明细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-sales:query')")
    public CommonResult<MesWmProductSalesDetailRespVO> getProductSalesDetail(@RequestParam("id") Long id) {
        MesWmProductSalesDetailDO detail = productSalesDetailService.getProductSalesDetail(id);
        if (detail == null) {
@@ -95,7 +94,6 @@
    @GetMapping("/list-by-line")
    @Operation(summary = "获得销售出库明细列表(按行编号)")
    @Parameter(name = "lineId", description = "行编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-sales:query')")
    public CommonResult<List<MesWmProductSalesDetailRespVO>> getProductSalesDetailListByLineId(
            @RequestParam("lineId") Long lineId) {
        List<MesWmProductSalesDetailDO> list = productSalesDetailService.getProductSalesDetailListByLineId(lineId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/MesWmProductSalesLineController.java
@@ -76,7 +76,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得销售出库单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-sales:query')")
    public CommonResult<MesWmProductSalesLineRespVO> getProductSalesLine(@RequestParam("id") Long id) {
        MesWmProductSalesLineDO line = productSalesLineService.getProductSalesLine(id);
        if (line == null) {
@@ -87,7 +86,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得销售出库单行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-product-sales:query')")
    public CommonResult<PageResult<MesWmProductSalesLineRespVO>> getProductSalesLinePage(
            @Valid MesWmProductSalesLinePageReqVO pageReqVO) {
        PageResult<MesWmProductSalesLineDO> pageResult = productSalesLineService.getProductSalesLinePage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnissue/MesWmReturnIssueController.java
@@ -80,7 +80,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得生产退料单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-issue:query')")
    public CommonResult<MesWmReturnIssueRespVO> getReturnIssue(@RequestParam("id") Long id) {
        MesWmReturnIssueDO issue = issueService.getReturnIssue(id);
        if (issue == null) {
@@ -91,7 +90,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得生产退料单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-issue:query')")
    public CommonResult<PageResult<MesWmReturnIssueRespVO>> getReturnIssuePage(
            @Valid MesWmReturnIssuePageReqVO pageReqVO) {
        PageResult<MesWmReturnIssueDO> pageResult = issueService.getReturnIssuePage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnissue/MesWmReturnIssueDetailController.java
@@ -83,7 +83,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得生产退料明细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-issue:query')")
    public CommonResult<MesWmReturnIssueDetailRespVO> getReturnIssueDetail(@RequestParam("id") Long id) {
        MesWmReturnIssueDetailDO detail = issueDetailService.getReturnIssueDetail(id);
        if (detail == null) {
@@ -95,7 +94,6 @@
    @GetMapping("/list-by-line")
    @Operation(summary = "获得生产退料明细列表(按行编号)")
    @Parameter(name = "lineId", description = "行编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-issue:query')")
    public CommonResult<List<MesWmReturnIssueDetailRespVO>> getReturnIssueDetailListByLineId(
            @RequestParam("lineId") Long lineId) {
        List<MesWmReturnIssueDetailDO> list = issueDetailService.getReturnIssueDetailListByLineId(lineId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnissue/MesWmReturnIssueLineController.java
@@ -75,7 +75,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得生产退料单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-issue:query')")
    public CommonResult<MesWmReturnIssueLineRespVO> getReturnIssueLine(@RequestParam("id") Long id) {
        MesWmReturnIssueLineDO line = issueLineService.getReturnIssueLine(id);
        if (line == null) {
@@ -86,7 +85,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得生产退料单行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-issue:query')")
    public CommonResult<PageResult<MesWmReturnIssueLineRespVO>> getReturnIssueLinePage(
            @Valid MesWmReturnIssueLinePageReqVO pageReqVO) {
        PageResult<MesWmReturnIssueLinePageVO> pageResult = issueLineService.getReturnIssueLinePage(pageReqVO);
@@ -96,7 +94,6 @@
    @GetMapping("/list-by-issue")
    @Operation(summary = "获得生产退料单行列表(按退料单编号)")
    @Parameter(name = "issueId", description = "退料单编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-issue:query')")
    public CommonResult<List<MesWmReturnIssueLineRespVO>> getReturnIssueLineListByIssueId(
            @RequestParam("issueId") Long issueId) {
        List<MesWmReturnIssueLineDO> list = issueLineService.getReturnIssueLineListByIssueId(issueId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnsales/MesWmReturnSalesController.java
@@ -72,7 +72,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得销售退货单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-sales:query')")
    public CommonResult<MesWmReturnSalesRespVO> getReturnSales(@RequestParam("id") Long id) {
        MesWmReturnSalesDO returnSales = returnSalesService.getReturnSales(id);
        if (returnSales == null) {
@@ -83,7 +82,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得销售退货单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-sales:query')")
    public CommonResult<PageResult<MesWmReturnSalesRespVO>> getReturnSalesPage(
            @Valid MesWmReturnSalesPageReqVO pageReqVO) {
        PageResult<MesWmReturnSalesDO> pageResult = returnSalesService.getReturnSalesPage(pageReqVO);
@@ -141,7 +139,6 @@
    @GetMapping("/check-quantity")
    @Operation(summary = "校验销售退货单数量", description = "校验每行明细数量之和是否等于行退货数量")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-return-sales:query')")
    public CommonResult<Boolean> checkReturnSalesQuantity(@RequestParam("id") Long id) {
        return success(returnSalesService.checkReturnSalesQuantity(id));
    }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnsales/MesWmReturnSalesDetailController.java
@@ -83,7 +83,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得销售退货明细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-sales:query')")
    public CommonResult<MesWmReturnSalesDetailRespVO> getReturnSalesDetail(@RequestParam("id") Long id) {
        MesWmReturnSalesDetailDO detail = returnSalesDetailService.getReturnSalesDetail(id);
        if (detail == null) {
@@ -95,7 +94,6 @@
    @GetMapping("/list-by-line")
    @Operation(summary = "获得销售退货明细列表(按行编号)")
    @Parameter(name = "lineId", description = "行编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-sales:query')")
    public CommonResult<List<MesWmReturnSalesDetailRespVO>> getReturnSalesDetailListByLineId(
            @RequestParam("lineId") Long lineId) {
        List<MesWmReturnSalesDetailDO> list = returnSalesDetailService.getReturnSalesDetailListByLineId(lineId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnsales/MesWmReturnSalesLineController.java
@@ -73,7 +73,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得销售退货单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-sales:query')")
    public CommonResult<MesWmReturnSalesLineRespVO> getReturnSalesLine(@RequestParam("id") Long id) {
        MesWmReturnSalesLineDO line = returnSalesLineService.getReturnSalesLine(id);
        if (line == null) {
@@ -84,7 +83,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得销售退货单行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-sales:query')")
    public CommonResult<PageResult<MesWmReturnSalesLineRespVO>> getReturnSalesLinePage(
            @Valid MesWmReturnSalesLinePageReqVO pageReqVO) {
        PageResult<MesWmReturnSalesLineDO> pageResult = returnSalesLineService.getReturnSalesLinePage(pageReqVO);
@@ -94,7 +92,6 @@
    @GetMapping("/list-by-return-sales")
    @Operation(summary = "获得销售退货单行列表(按退货单编号)")
    @Parameter(name = "returnId", description = "退货单编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-sales:query')")
    public CommonResult<List<MesWmReturnSalesLineRespVO>> getReturnSalesLineListByReturnId(
            @RequestParam("returnId") Long returnId) {
        List<MesWmReturnSalesLineDO> list = returnSalesLineService.getReturnSalesLineListByReturnId(returnId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnvendor/MesWmReturnVendorController.java
@@ -72,7 +72,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得供应商退货单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-vendor:query')")
    public CommonResult<MesWmReturnVendorRespVO> getReturnVendor(@RequestParam("id") Long id) {
        MesWmReturnVendorDO returnVendor = returnVendorService.getReturnVendor(id);
        if (returnVendor == null) {
@@ -83,7 +82,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得供应商退货单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-vendor:query')")
    public CommonResult<PageResult<MesWmReturnVendorRespVO>> getReturnVendorPage(
            @Valid MesWmReturnVendorPageReqVO pageReqVO) {
        PageResult<MesWmReturnVendorDO> pageResult = returnVendorService.getReturnVendorPage(pageReqVO);
@@ -141,7 +139,6 @@
    @GetMapping("/check-quantity")
    @Operation(summary = "校验供应商退货单数量", description = "校验每行明细数量之和是否等于行退货数量")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-return-vendor:query')")
    public CommonResult<Boolean> checkReturnVendorQuantity(@RequestParam("id") Long id) {
        return success(returnVendorService.checkReturnVendorQuantity(id));
    }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnvendor/MesWmReturnVendorDetailController.java
@@ -83,7 +83,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得供应商退货明细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-vendor:query')")
    public CommonResult<MesWmReturnVendorDetailRespVO> getReturnVendorDetail(@RequestParam("id") Long id) {
        MesWmReturnVendorDetailDO detail = returnVendorDetailService.getReturnVendorDetail(id);
        if (detail == null) {
@@ -95,7 +94,6 @@
    @GetMapping("/list-by-line")
    @Operation(summary = "获得供应商退货明细列表(按行编号)")
    @Parameter(name = "lineId", description = "行编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-vendor:query')")
    public CommonResult<List<MesWmReturnVendorDetailRespVO>> getReturnVendorDetailListByLineId(
            @RequestParam("lineId") Long lineId) {
        List<MesWmReturnVendorDetailDO> list = returnVendorDetailService.getReturnVendorDetailListByLineId(lineId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnvendor/MesWmReturnVendorLineController.java
@@ -73,7 +73,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得供应商退货单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-vendor:query')")
    public CommonResult<MesWmReturnVendorLineRespVO> getReturnVendorLine(@RequestParam("id") Long id) {
        MesWmReturnVendorLineDO line = returnVendorLineService.getReturnVendorLine(id);
        if (line == null) {
@@ -84,7 +83,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得供应商退货单行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-vendor:query')")
    public CommonResult<PageResult<MesWmReturnVendorLineRespVO>> getReturnVendorLinePage(
            @Valid MesWmReturnVendorLinePageReqVO pageReqVO) {
        PageResult<MesWmReturnVendorLineDO> pageResult = returnVendorLineService.getReturnVendorLinePage(pageReqVO);
@@ -94,7 +92,6 @@
    @GetMapping("/list-by-return-vendor")
    @Operation(summary = "获得供应商退货单行列表(按退货单编号)")
    @Parameter(name = "returnId", description = "退货单编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-return-vendor:query')")
    public CommonResult<List<MesWmReturnVendorLineRespVO>> getReturnVendorLineListByReturnId(
            @RequestParam("returnId") Long returnId) {
        List<MesWmReturnVendorLineDO> list = returnVendorLineService.getReturnVendorLineListByReturnId(returnId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/salesnotice/MesWmSalesNoticeController.java
@@ -72,7 +72,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得发货通知单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-sales-notice:query')")
    public CommonResult<MesWmSalesNoticeRespVO> getSalesNotice(@RequestParam("id") Long id) {
        MesWmSalesNoticeDO notice = salesNoticeService.getSalesNotice(id);
        if (notice == null) {
@@ -83,7 +82,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得发货通知单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-sales-notice:query')")
    public CommonResult<PageResult<MesWmSalesNoticeRespVO>> getSalesNoticePage(
            @Valid MesWmSalesNoticePageReqVO pageReqVO) {
        PageResult<MesWmSalesNoticeDO> pageResult = salesNoticeService.getSalesNoticePage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/salesnotice/MesWmSalesNoticeLineController.java
@@ -71,7 +71,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得发货通知单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-sales-notice:query')")
    public CommonResult<MesWmSalesNoticeLineRespVO> getSalesNoticeLine(@RequestParam("id") Long id) {
        MesWmSalesNoticeLineDO line = salesNoticeLineService.getSalesNoticeLine(id);
        if (line == null) {
@@ -82,7 +81,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得发货通知单行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-sales-notice:query')")
    public CommonResult<PageResult<MesWmSalesNoticeLineRespVO>> getSalesNoticeLinePage(
            @Valid MesWmSalesNoticeLinePageReqVO pageReqVO) {
        PageResult<MesWmSalesNoticeLineDO> pageResult = salesNoticeLineService.getSalesNoticeLinePage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/sn/MesWmSnController.java
@@ -62,7 +62,6 @@
    @GetMapping("/group-page")
    @Operation(summary = "获得 SN ç åˆ†ç»„分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-sn:query')")
    public CommonResult<PageResult<MesWmSnGroupRespVO>> getSnGroupPage(@Valid MesWmSnPageReqVO reqVO) {
        PageResult<MesWmSnGroupRespVO> pageResult = snService.getSnGroupPage(reqVO);
        if (CollUtil.isEmpty(pageResult.getList())) {
@@ -75,7 +74,6 @@
    @GetMapping("/list-by-uuid")
    @Operation(summary = "获得批次 SN ç æ˜Žç»†åˆ—表")
    @Parameter(name = "uuid", description = "批次 UUID", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-sn:query')")
    public CommonResult<List<MesWmSnRespVO>> getSnListByUuid(
            @RequestParam("uuid") @NotBlank(message = "批次 UUID ä¸èƒ½ä¸ºç©º") String uuid) {
        List<MesWmSnRespVO> list = BeanUtils.toBean(snService.getSnListByUuid(uuid), MesWmSnRespVO.class);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/plan/MesWmStockTakingPlanController.java
@@ -76,7 +76,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得盘点方案")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-stock-taking-plan:query')")
    public CommonResult<MesWmStockTakingPlanRespVO> getStockTakingPlan(@RequestParam("id") Long id) {
        MesWmStockTakingPlanDO plan = stockTakingPlanService.getStockTakingPlan(id);
        return success(plan == null ? null : BeanUtils.toBean(plan, MesWmStockTakingPlanRespVO.class));
@@ -84,7 +83,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得盘点方案分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-stock-taking-plan:query')")
    public CommonResult<PageResult<MesWmStockTakingPlanRespVO>> getStockTakingPlanPage(@Valid MesWmStockTakingPlanPageReqVO pageReqVO) {
        PageResult<MesWmStockTakingPlanDO> pageResult = stockTakingPlanService.getStockTakingPlanPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesWmStockTakingPlanRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/plan/MesWmStockTakingPlanParamController.java
@@ -55,7 +55,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得盘点方案参数")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-stock-taking-plan:query')")
    public CommonResult<MesWmStockTakingPlanParamRespVO> getStockTakingPlanParam(@RequestParam("id") Long id) {
        MesWmStockTakingPlanParamDO param = stockTakingPlanParamService.getStockTakingPlanParam(id);
        return success(param == null ? null : BeanUtils.toBean(param, MesWmStockTakingPlanParamRespVO.class));
@@ -63,7 +62,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得盘点方案参数分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-stock-taking-plan:query')")
    public CommonResult<PageResult<MesWmStockTakingPlanParamRespVO>> getStockTakingPlanParamPage(
            @Valid MesWmStockTakingPlanParamPageReqVO pageReqVO) {
        PageResult<MesWmStockTakingPlanParamDO> pageResult = stockTakingPlanParamService.getStockTakingPlanParamPage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/task/MesWmStockTakingTaskController.java
@@ -84,7 +84,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得盘点任务")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-stock-taking-task:query')")
    public CommonResult<MesWmStockTakingTaskRespVO> getStockTakingTask(@RequestParam("id") Long id) {
        MesWmStockTakingTaskDO task = stockTakingTaskService.getStockTakingTask(id);
        if (task == null) {
@@ -95,7 +94,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得盘点任务分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-stock-taking-task:query')")
    public CommonResult<PageResult<MesWmStockTakingTaskRespVO>> getStockTakingTaskPage(@Valid MesWmStockTakingTaskPageReqVO pageReqVO) {
        PageResult<MesWmStockTakingTaskDO> pageResult = stockTakingTaskService.getStockTakingTaskPage(pageReqVO);
        return success(new PageResult<>(buildTaskRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/task/MesWmStockTakingTaskLineController.java
@@ -61,7 +61,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得盘点任务行")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-stock-taking-task:query')")
    public CommonResult<MesWmStockTakingTaskLineRespVO> getStockTakingTaskLine(@RequestParam("id") Long id) {
        MesWmStockTakingTaskLineDO line = stockTakingTaskLineService.getStockTakingTaskLine(id);
        if (line == null) {
@@ -72,7 +71,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得盘点任务行分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-stock-taking-task:query')")
    public CommonResult<PageResult<MesWmStockTakingTaskLineRespVO>> getStockTakingTaskLinePage(
            @Valid MesWmStockTakingTaskLinePageReqVO pageReqVO) {
        PageResult<MesWmStockTakingTaskLineDO> pageResult = stockTakingTaskLineService.getStockTakingTaskLinePage(pageReqVO);
@@ -105,7 +103,6 @@
    @GetMapping("/simple-list")
    @Operation(summary = "获得盘点任务行精简列表", description = "根据任务编号查询,主要用于前端的下拉选项")
    @PreAuthorize("@ss.hasPermission('mes:wm-stock-taking-task:query')")
    public CommonResult<List<MesWmStockTakingTaskLineRespVO>> getStockTakingTaskLineSimpleList(
            @RequestParam("taskId") Long taskId) {
        List<MesWmStockTakingTaskLineDO> list = stockTakingTaskLineService.getStockTakingTaskLineListByTaskId(taskId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/stocktaking/task/MesWmStockTakingTaskResultController.java
@@ -62,7 +62,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得盘点结果")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-stock-taking-task:query')")
    public CommonResult<MesWmStockTakingTaskResultRespVO> getStockTakingTaskResult(@RequestParam("id") Long id) {
        MesWmStockTakingTaskResultDO result = stockTakingTaskResultService.getStockTakingTaskResult(id);
        if (result == null) {
@@ -73,7 +72,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得盘点结果分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-stock-taking-task:query')")
    public CommonResult<PageResult<MesWmStockTakingTaskResultRespVO>> getStockTakingTaskResultPage(
            @Valid MesWmStockTakingTaskResultPageReqVO pageReqVO) {
        PageResult<MesWmStockTakingTaskResultDO> pageResult = stockTakingTaskResultService.getStockTakingTaskResultPage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/transaction/MesWmTransactionController.java
@@ -56,7 +56,6 @@
    @GetMapping("/page")
    @Operation(summary = "获取库存事务流水分页")
    @Parameter(name = "id", description = "编号", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('mes:wm-transaction:query')")
    public CommonResult<PageResult<MesWmTransactionRespVO>> getTransactionPage(@Valid MesWmTransactionPageReqVO pageReqVO) {
        PageResult<MesWmTransactionDO> pageResult = transactionService.getTransactionPage(pageReqVO);
        if (pageResult.getTotal() == 0) {
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/transfer/MesWmTransferController.java
@@ -62,7 +62,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得转移单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-transfer:query')")
    public CommonResult<MesWmTransferRespVO> getTransfer(@RequestParam("id") Long id) {
        MesWmTransferDO transfer = transferService.getTransfer(id);
        return success(BeanUtils.toBean(transfer, MesWmTransferRespVO.class));
@@ -70,7 +69,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得转移单分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-transfer:query')")
    public CommonResult<PageResult<MesWmTransferRespVO>> getTransferPage(
            @Valid MesWmTransferPageReqVO pageReqVO) {
        PageResult<MesWmTransferDO> pageResult = transferService.getTransferPage(pageReqVO);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/transfer/MesWmTransferDetailController.java
@@ -83,7 +83,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得调拨明细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-transfer:query')")
    public CommonResult<MesWmTransferDetailRespVO> getTransferDetail(@RequestParam("id") Long id) {
        MesWmTransferDetailDO detail = transferDetailService.getTransferDetail(id);
        if (detail == null) {
@@ -95,7 +94,6 @@
    @GetMapping("/list-by-line")
    @Operation(summary = "获得调拨明细列表(按行编号)")
    @Parameter(name = "lineId", description = "行编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-transfer:query')")
    public CommonResult<List<MesWmTransferDetailRespVO>> getTransferDetailListByLineId(
            @RequestParam("lineId") Long lineId) {
        List<MesWmTransferDetailDO> list = transferDetailService.getTransferDetailListByLineId(lineId);
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/transfer/MesWmTransferLineController.java
@@ -83,7 +83,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得转移单行")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-transfer:query')")
    public CommonResult<MesWmTransferLineRespVO> getTransferLine(@RequestParam("id") Long id) {
        MesWmTransferLineDO line = transferLineService.getTransferLine(id);
        if (line == null) {
@@ -95,7 +94,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得转移单行列表")
    @Parameter(name = "transferId", description = "转移单编号", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-transfer:query')")
    public CommonResult<List<MesWmTransferLineRespVO>> getTransferLineList(@RequestParam("transferId") Long transferId) {
        List<MesWmTransferLineDO> list = transferLineService.getTransferLineListByTransferId(transferId);
        return success(buildRespVOList(list));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseAreaController.java
@@ -70,7 +70,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得库位")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')")
    public CommonResult<MesWmWarehouseAreaRespVO> getWarehouseArea(@RequestParam("id") Long id) {
        MesWmWarehouseAreaDO area = areaService.getWarehouseArea(id);
        if (area == null) {
@@ -81,7 +80,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得库位分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')")
    public CommonResult<PageResult<MesWmWarehouseAreaRespVO>> getWarehouseAreaPage(@Valid MesWmWarehouseAreaPageReqVO pageReqVO) {
        PageResult<MesWmWarehouseAreaDO> pageResult = areaService.getWarehouseAreaPage(pageReqVO);
        return success(new PageResult<>(buildWarehouseAreaRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseController.java
@@ -57,7 +57,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得仓库")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')")
    public CommonResult<MesWmWarehouseRespVO> getWarehouse(@RequestParam("id") Long id) {
        MesWmWarehouseDO warehouse = warehouseService.getWarehouse(id);
        return success(BeanUtils.toBean(warehouse, MesWmWarehouseRespVO.class));
@@ -65,7 +64,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得仓库分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')")
    public CommonResult<PageResult<MesWmWarehouseRespVO>> getWarehousePage(@Valid MesWmWarehousePageReqVO pageReqVO) {
        PageResult<MesWmWarehouseDO> pageResult = warehouseService.getWarehousePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MesWmWarehouseRespVO.class));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/warehouse/MesWmWarehouseLocationController.java
@@ -69,7 +69,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得库区")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')")
    public CommonResult<MesWmWarehouseLocationRespVO> getWarehouseLocation(@RequestParam("id") Long id) {
        MesWmWarehouseLocationDO location = locationService.getWarehouseLocation(id);
        if (location == null) {
@@ -80,7 +79,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得库区分页")
    @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')")
    public CommonResult<PageResult<MesWmWarehouseLocationRespVO>> getWarehouseLocationPage(@Valid MesWmWarehouseLocationPageReqVO pageReqVO) {
        PageResult<MesWmWarehouseLocationDO> pageResult = locationService.getWarehouseLocationPage(pageReqVO);
        return success(new PageResult<>(buildWarehouseLocationRespVOList(pageResult.getList()), pageResult.getTotal()));
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wms/approval/WmsApprovalController.java
@@ -33,7 +33,6 @@
    @Operation(summary = "获取仓库审批配置")
    @Parameter(name = "warehouseId", description = "仓库ID", required = true)
    @Parameter(name = "bizType", description = "业务类型", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')")
    public CommonResult<WmsWarehouseApprovalConfigDO> getApprovalConfig(
            @RequestParam("warehouseId") Long warehouseId,
            @RequestParam("bizType") String bizType) {
@@ -43,7 +42,6 @@
    @GetMapping("/config/list")
    @Operation(summary = "获取仓库所有审批配置")
    @Parameter(name = "warehouseId", description = "仓库ID", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')")
    public CommonResult<List<WmsWarehouseApprovalConfigDO>> getApprovalConfigList(
            @RequestParam("warehouseId") Long warehouseId) {
        return success(approvalService.getApprovalConfigList(warehouseId));
@@ -61,7 +59,6 @@
    @Operation(summary = "获取可用的审批流程列表")
    @Parameter(name = "warehouseId", description = "仓库ID", required = true)
    @Parameter(name = "bizType", description = "业务类型", required = true)
    @PreAuthorize("@ss.hasPermission('mes:wm-warehouse:query')")
    public CommonResult<List<BpmProcessDefinitionInfoDO>> getAvailableProcessList(
            @RequestParam("warehouseId") Long warehouseId,
            @RequestParam("bizType") String bizType) {
yudao-module-qcreport/src/main/java/cn/iocoder/yudao/module/qcreport/controller/admin/instance/QcReportInstanceController.java
@@ -54,7 +54,6 @@
    @PostMapping("/preview")
    @Operation(summary = "预览报告(只渲染,不落库、不消耗报告编号)")
    @PreAuthorize("@ss.hasPermission('qc-report:instance:query')")
    public CommonResult<QcReportInstancePreviewRespVO> preview(@Valid @RequestBody QcReportInstanceGenerateReqVO reqVO) {
        RenderOutcome outcome = instanceService.preview(reqVO);
        QcReportInstancePreviewRespVO respVO = new QcReportInstancePreviewRespVO();
@@ -92,7 +91,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得报告实例(含渲染产物 HTML,不含数据快照)")
    @Parameter(name = "id", description = "实例编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('qc-report:instance:query')")
    public CommonResult<QcReportInstanceRespVO> getInstance(@RequestParam("id") Long id) {
        QcReportInstanceDO instance = instanceService.getInstance(id);
        return success(BeanUtils.toBean(instance, QcReportInstanceRespVO.class));
@@ -101,14 +99,12 @@
    @GetMapping("/snapshot")
    @Operation(summary = "获得报告实例冻结的数据快照")
    @Parameter(name = "id", description = "实例编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('qc-report:instance:query')")
    public CommonResult<Map<String, Object>> getSnapshot(@RequestParam("id") Long id) {
        return success(instanceService.getSnapshot(id));
    }
    @GetMapping("/page")
    @Operation(summary = "获得报告实例分页")
    @PreAuthorize("@ss.hasPermission('qc-report:instance:query')")
    public CommonResult<PageResult<QcReportInstanceRespVO>> getInstancePage(
            @Valid QcReportInstancePageReqVO pageReqVO) {
        PageResult<QcReportInstanceDO> pageResult = instanceService.getInstancePage(pageReqVO);
yudao-module-qcreport/src/main/java/cn/iocoder/yudao/module/qcreport/controller/admin/template/QcReportTemplateController.java
@@ -65,7 +65,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得报告模板")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('qc-report:template:query')")
    public CommonResult<QcReportTemplateRespVO> getTemplate(@RequestParam("id") Long id) {
        QcReportTemplateDO template = templateService.getTemplate(id);
        return success(BeanUtils.toBean(template, QcReportTemplateRespVO.class));
@@ -73,7 +72,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得报告模板分页")
    @PreAuthorize("@ss.hasPermission('qc-report:template:query')")
    public CommonResult<PageResult<QcReportTemplateRespVO>> getTemplatePage(@Valid QcReportTemplatePageReqVO pageReqVO) {
        PageResult<QcReportTemplateDO> pageResult = templateService.getTemplatePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, QcReportTemplateRespVO.class));
@@ -84,7 +82,6 @@
            description = "三个条件同时满足才会返回:报告类型一致、模板已启用、当前版本已发布且画布有可渲染的内容。"
                    + "最后一条挡的是「打开过设计器但没放组件」的版本——它渲染出来是一张白纸且不报错。")
    @Parameter(name = "reportType", description = "报告类型,即 mes_qc_type çš„æ•°å€¼å­—符串", required = true, example = "1")
    @PreAuthorize("@ss.hasPermission('qc-report:template:query')")
    public CommonResult<List<QcReportTemplateRespVO>> getSelectableTemplateList(
            @RequestParam("reportType") String reportType) {
        List<QcReportTemplateDO> list = templateService.getSelectableTemplates(reportType);
yudao-module-qcreport/src/main/java/cn/iocoder/yudao/module/qcreport/controller/admin/version/QcReportTemplateVersionController.java
@@ -85,7 +85,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得模板版本")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('qc-report:template:query')")
    public CommonResult<QcReportTemplateVersionRespVO> getVersion(@RequestParam("id") Long id) {
        QcReportTemplateVersionDO version = versionService.getVersion(id);
        return success(BeanUtils.toBean(version, QcReportTemplateVersionRespVO.class));
@@ -94,7 +93,6 @@
    @GetMapping("/list-by-template")
    @Operation(summary = "获得模板的所有版本")
    @Parameter(name = "templateId", description = "模板编号", required = true)
    @PreAuthorize("@ss.hasPermission('qc-report:template:query')")
    public CommonResult<List<QcReportTemplateVersionRespVO>> getVersionListByTemplateId(
            @RequestParam("templateId") Long templateId) {
        List<QcReportTemplateVersionDO> list = versionService.getVersionListByTemplateId(templateId);
@@ -103,7 +101,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得模板版本分页")
    @PreAuthorize("@ss.hasPermission('qc-report:template:query')")
    public CommonResult<PageResult<QcReportTemplateVersionRespVO>> getVersionPage(
            @Valid QcReportTemplateVersionPageReqVO pageReqVO) {
        PageResult<QcReportTemplateVersionDO> pageResult = versionService.getVersionPage(pageReqVO);
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/apply/SrmSupplierApplyController.java
@@ -57,14 +57,12 @@
    @GetMapping("/get")
    @Operation(summary = "获取准入申请详情")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('srm:supplier-apply:query')")
    public CommonResult<SrmSupplierApplyRespVO> getApply(@RequestParam("id") Long id) {
        return success(BeanUtils.toBean(applyService.getApply(id), SrmSupplierApplyRespVO.class));
    }
    @GetMapping("/page")
    @Operation(summary = "获取准入申请分页")
    @PreAuthorize("@ss.hasPermission('srm:supplier-apply:query')")
    public CommonResult<PageResult<SrmSupplierApplyRespVO>> getApplyPage(@Valid SrmSupplierApplyPageReqVO pageReqVO) {
        return success(BeanUtils.toBean(applyService.getApplyPage(pageReqVO), SrmSupplierApplyRespVO.class));
    }
@@ -80,7 +78,6 @@
    @GetMapping("/approve-process-list")
    @Operation(summary = "获取准入申请审批流程列表")
    @PreAuthorize("@ss.hasPermission('srm:supplier-apply:query')")
    public CommonResult<List<Map<String, Object>>> getApproveProcessList() {
        return success(applyService.getSupplierApplyApproveProcessDefinitionList());
    }
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/certificate/SrmSupplierCertificateController.java
@@ -66,7 +66,6 @@
    @GetMapping("/page")
    @Operation(summary = "获取资质证书分页")
    @PreAuthorize("@ss.hasPermission('srm:supplier-certificate:query')")
    public CommonResult<PageResult<SrmSupplierCertificateRespVO>> getCertificatePage(@Valid SrmSupplierCertificatePageReqVO pageReqVO) {
        var pageResult = certificateService.getCertificatePage(pageReqVO);
        var respList = BeanUtils.toBean(pageResult.getList(), SrmSupplierCertificateRespVO.class);
@@ -77,7 +76,6 @@
    @GetMapping("/list-by-supplier")
    @Operation(summary = "根据供应商ID获取资质列表")
    @PreAuthorize("@ss.hasPermission('srm:supplier-certificate:query')")
    public CommonResult<List<SrmSupplierCertificateRespVO>> getListBySupplier(@RequestParam("supplierId") Long supplierId) {
        var list = BeanUtils.toBean(certificateService.getCertificateListBySupplierId(supplierId), SrmSupplierCertificateRespVO.class);
        enrichSupplierNames(list);
@@ -87,7 +85,6 @@
    @GetMapping("/expiring-list")
    @Operation(summary = "获取即将到期的资质列表(30天内)")
    @PreAuthorize("@ss.hasPermission('srm:supplier-certificate:query')")
    public CommonResult<List<SrmSupplierCertificateRespVO>> getExpiringList() {
        var list = BeanUtils.toBean(certificateService.getExpiringCertificates(), SrmSupplierCertificateRespVO.class);
        enrichSupplierNames(list);
@@ -96,7 +93,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取资质证书详情")
    @PreAuthorize("@ss.hasPermission('srm:supplier-certificate:query')")
    public CommonResult<SrmSupplierCertificateRespVO> getCertificate(@RequestParam("id") Long id) {
        var resp = BeanUtils.toBean(certificateService.getCertificate(id), SrmSupplierCertificateRespVO.class);
        enrichSupplierName(resp);
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/evaluation/SrmSupplierEvaluationController.java
@@ -62,7 +62,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取绩效评价详情")
    @PreAuthorize("@ss.hasPermission('srm:supplier-evaluation:query')")
    public CommonResult<SrmSupplierEvaluationRespVO> getEvaluation(@RequestParam("id") Long id) {
        SrmSupplierEvaluationDO evaluation = evaluationService.getEvaluation(id);
        SrmSupplierEvaluationRespVO resp = BeanUtils.toBean(evaluation, SrmSupplierEvaluationRespVO.class);
@@ -73,7 +72,6 @@
    @GetMapping("/page")
    @Operation(summary = "获取绩效评价分页")
    @PreAuthorize("@ss.hasPermission('srm:supplier-evaluation:query')")
    public CommonResult<PageResult<SrmSupplierEvaluationRespVO>> getEvaluationPage(@Valid SrmSupplierEvaluationPageReqVO pageReqVO) {
        PageResult<SrmSupplierEvaluationDO> pageResult = evaluationService.getEvaluationPage(pageReqVO);
        List<SrmSupplierEvaluationRespVO> respList = BeanUtils.toBean(pageResult.getList(), SrmSupplierEvaluationRespVO.class);
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/statistics/SrmStatisticsController.java
@@ -23,7 +23,6 @@
    @GetMapping("/tender")
    @Operation(summary = "获取招标统计数据")
    @PreAuthorize("@ss.hasPermission('srm:statistics:query')")
    public CommonResult<SrmTenderStatisticsRespVO> getTenderStatistics(@RequestParam("year") String year) {
        return success(statisticsService.getTenderStatistics(year));
    }
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/supplier/SrmSupplierCategoryController.java
@@ -44,7 +44,6 @@
    @GetMapping("/list-by-supplier")
    @Operation(summary = "根据供应商ID获取分类列表")
    @PreAuthorize("@ss.hasPermission('srm:supplier:query')")
    public CommonResult<List<SrmSupplierCategoryDO>> getCategoryList(@RequestParam("supplierId") Long supplierId) {
        return success(supplierCategoryService.getCategoryListBySupplierId(supplierId));
    }
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/supplier/SrmSupplierContactController.java
@@ -54,7 +54,6 @@
    @GetMapping("/list-by-supplier")
    @Operation(summary = "获取供应商联系人列表")
    @Parameter(name = "supplierId", description = "供应商ID", required = true)
    @PreAuthorize("@ss.hasPermission('srm:supplier-contact:query')")
    public CommonResult<List<SrmSupplierContactRespVO>> getContactList(@RequestParam("supplierId") Long supplierId) {
        List<SrmSupplierContactDO> list = contactService.getContactListBySupplierId(supplierId);
        return success(BeanUtils.toBean(list, SrmSupplierContactRespVO.class));
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/supplier/SrmSupplierController.java
@@ -63,7 +63,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取供应商详情")
    @Parameter(name = "id", description = "编号", required = true)
    @PreAuthorize("@ss.hasPermission('srm:supplier:query')")
    public CommonResult<SrmSupplierRespVO> getSupplier(@RequestParam("id") Long id) {
        SrmSupplierDO supplier = supplierService.getSupplier(id);
        return success(BeanUtils.toBean(supplier, SrmSupplierRespVO.class));
@@ -71,7 +70,6 @@
    @GetMapping("/page")
    @Operation(summary = "供应商分页查询")
    @PreAuthorize("@ss.hasPermission('srm:supplier:query')")
    public CommonResult<PageResult<SrmSupplierRespVO>> getSupplierPage(@Valid SrmSupplierPageReqVO pageReqVO) {
        PageResult<SrmSupplierDO> pageResult = supplierService.getSupplierPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, SrmSupplierRespVO.class));
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmBidAwardController.java
@@ -34,14 +34,12 @@
    @GetMapping("/get")
    @Operation(summary = "获取定标详情")
    @PreAuthorize("@ss.hasPermission('srm:bid-award:query')")
    public CommonResult<SrmBidAwardRespVO> getAward(@RequestParam("id") Long id) {
        return success(BeanUtils.toBean(bidAwardService.getAward(id), SrmBidAwardRespVO.class));
    }
    @GetMapping("/get-by-project")
    @Operation(summary = "根据招标项目ID获取定标详情")
    @PreAuthorize("@ss.hasPermission('srm:bid-award:query')")
    public CommonResult<SrmBidAwardRespVO> getAwardByProject(@RequestParam("tenderProjectId") Long tenderProjectId) {
        SrmBidAwardDO award = bidAwardService.getAwardByProjectId(tenderProjectId);
        if (award == null) {
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmBidEvaluationController.java
@@ -50,7 +50,6 @@
    @GetMapping("/list-by-project")
    @Operation(summary = "按招标项目获取评标列表")
    @PreAuthorize("@ss.hasPermission('srm:bid-evaluation:query')")
    public CommonResult<List<SrmBidEvaluationRespVO>> getEvaluationList(@RequestParam("tenderProjectId") Long tenderProjectId) {
        List<SrmBidEvaluationRespVO> list = BeanUtils.toBean(bidEvaluationService.getEvaluationList(tenderProjectId), SrmBidEvaluationRespVO.class);
        enrichEvaluationSupplierNames(list);
@@ -88,7 +87,6 @@
    @GetMapping("/bid-open/get")
    @Operation(summary = "获取开标记录")
    @PreAuthorize("@ss.hasPermission('srm:bid-open:query')")
    public CommonResult<SrmBidOpenRespVO> getBidOpen(@RequestParam("id") Long id) {
        return success(BeanUtils.toBean(bidEvaluationService.getBidOpen(id), SrmBidOpenRespVO.class));
    }
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmTenderBidController.java
@@ -51,7 +51,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取投标详情")
    @PreAuthorize("@ss.hasPermission('srm:tender-bid:query')")
    public CommonResult<SrmTenderBidRespVO> getBid(@RequestParam("id") Long id) {
        SrmTenderBidRespVO resp = BeanUtils.toBean(tenderBidService.getBid(id), SrmTenderBidRespVO.class);
        enrichSupplierName(resp);
@@ -60,7 +59,6 @@
    @GetMapping("/list-by-project")
    @Operation(summary = "按招标项目获取投标列表")
    @PreAuthorize("@ss.hasPermission('srm:tender-bid:query')")
    public CommonResult<List<SrmTenderBidRespVO>> getBidListByProject(@RequestParam("tenderProjectId") Long tenderProjectId) {
        List<SrmTenderBidRespVO> list = BeanUtils.toBean(tenderBidService.getBidListByProject(tenderProjectId), SrmTenderBidRespVO.class);
        enrichSupplierNames(list);
@@ -106,7 +104,6 @@
    @GetMapping("/quote/list-by-bid")
    @Operation(summary = "按投标获取报价列表")
    @PreAuthorize("@ss.hasPermission('srm:supplier-quote:query')")
    public CommonResult<List<SrmSupplierQuoteRespVO>> getQuoteListByBid(@RequestParam("bidId") Long bidId) {
        List<SrmSupplierQuoteRespVO> list = BeanUtils.toBean(tenderBidService.getQuoteList(bidId), SrmSupplierQuoteRespVO.class);
        enrichQuoteMaterialInfo(list);
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmTenderConfigController.java
@@ -26,7 +26,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取招投标配置")
    @PreAuthorize("@ss.hasPermission('srm:tender-config:query')")
    public CommonResult<SrmTenderConfigRespVO> getConfig() {
        return success(BeanUtils.toBean(tenderConfigService.getConfig(), SrmTenderConfigRespVO.class));
    }
yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmTenderProjectController.java
@@ -57,7 +57,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取招标项目详情")
    @PreAuthorize("@ss.hasPermission('srm:tender-project:query')")
    public CommonResult<SrmTenderProjectRespVO> getTenderProject(@RequestParam("id") Long id) {
        var resp = BeanUtils.toBean(tenderProjectService.getTenderProject(id), SrmTenderProjectRespVO.class);
        enrichAttachments(List.of(resp));
@@ -66,7 +65,6 @@
    @GetMapping("/page")
    @Operation(summary = "获取招标项目分页")
    @PreAuthorize("@ss.hasPermission('srm:tender-project:query')")
    public CommonResult<PageResult<SrmTenderProjectRespVO>> getTenderProjectPage(@Valid SrmTenderProjectPageReqVO pageReqVO) {
        var pageResult = tenderProjectService.getTenderProjectPage(pageReqVO);
        var respList = BeanUtils.toBean(pageResult.getList(), SrmTenderProjectRespVO.class);
@@ -168,7 +166,6 @@
    @GetMapping("/material/list")
    @Operation(summary = "获取招标物料列表")
    @PreAuthorize("@ss.hasPermission('srm:tender-project:query')")
    public CommonResult<List<SrmTenderMaterialRespVO>> getMaterialList(@RequestParam("tenderProjectId") Long tenderProjectId) {
        return success(BeanUtils.toBean(tenderProjectService.getMaterialList(tenderProjectId), SrmTenderMaterialRespVO.class));
    }
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/DeptController.java
@@ -75,7 +75,6 @@
    @GetMapping("/list")
    @Operation(summary = "获取部门列表")
    @PreAuthorize("@ss.hasPermission('system:dept:query')")
    public CommonResult<List<DeptRespVO>> getDeptList(DeptListReqVO reqVO) {
        List<DeptDO> list = deptService.getDeptList(reqVO);
        return success(BeanUtils.toBean(list, DeptRespVO.class));
@@ -92,7 +91,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得部门信息")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:dept:query')")
    public CommonResult<DeptRespVO> getDept(@RequestParam("id") Long id) {
        DeptDO dept = deptService.getDept(id);
        return success(BeanUtils.toBean(dept, DeptRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/PostController.java
@@ -80,7 +80,6 @@
    @GetMapping(value = "/get")
    @Operation(summary = "获得岗位信息")
    @Parameter(name = "id", description = "岗位编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:post:query')")
    public CommonResult<PostRespVO> getPost(@RequestParam("id") Long id) {
        PostDO post = postService.getPost(id);
        return success(BeanUtils.toBean(post, PostRespVO.class));
@@ -98,7 +97,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得岗位分页列表")
    @PreAuthorize("@ss.hasPermission('system:post:query')")
    public CommonResult<PageResult<PostRespVO>> getPostPage(@Validated PostPageReqVO pageReqVO) {
        PageResult<PostDO> pageResult = postService.getPostPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, PostRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/DictDataController.java
@@ -83,7 +83,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得字典类型的分页")
    @PreAuthorize("@ss.hasPermission('system:dict:query')")
    public CommonResult<PageResult<DictDataRespVO>> getDictTypePage(@Valid DictDataPageReqVO pageReqVO) {
        PageResult<DictDataDO> pageResult = dictDataService.getDictDataPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, DictDataRespVO.class));
@@ -92,7 +91,6 @@
    @GetMapping(value = "/get")
    @Operation(summary = "/查询字典数据详细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:dict:query')")
    public CommonResult<DictDataRespVO> getDictData(@RequestParam("id") Long id) {
        DictDataDO dictData = dictDataService.getDictData(id);
        return success(BeanUtils.toBean(dictData, DictDataRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/DictTypeController.java
@@ -73,7 +73,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得字典类型的分页列表")
    @PreAuthorize("@ss.hasPermission('system:dict:query')")
    public CommonResult<PageResult<DictTypeRespVO>> pageDictTypes(@Valid DictTypePageReqVO pageReqVO) {
        PageResult<DictTypeDO> pageResult = dictTypeService.getDictTypePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, DictTypeRespVO.class));
@@ -82,7 +81,6 @@
    @Operation(summary = "/查询字典类型详细")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @GetMapping(value = "/get")
    @PreAuthorize("@ss.hasPermission('system:dict:query')")
    public CommonResult<DictTypeRespVO> getDictType(@RequestParam("id") Long id) {
        DictTypeDO dictType = dictTypeService.getDictType(id);
        return success(BeanUtils.toBean(dictType, DictTypeRespVO.class));
@@ -98,7 +96,6 @@
    @Operation(summary = "导出数据类型")
    @GetMapping("/export-excel")
    @PreAuthorize("@ss.hasPermission('system:dict:query')")
    @ApiAccessLog(operateType = EXPORT)
    public void export(HttpServletResponse response, @Valid DictTypePageReqVO exportReqVO) throws IOException {
        exportReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/LoginLogController.java
@@ -38,7 +38,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得登录日志")
    @PreAuthorize("@ss.hasPermission('system:login-log:query')")
    public CommonResult<LoginLogRespVO> getLoginLog(Long id) {
        LoginLogDO loginLog = loginLogService.getLoginLog(id);
        return success(BeanUtils.toBean(loginLog, LoginLogRespVO.class));
@@ -46,7 +45,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得登录日志分页列表")
    @PreAuthorize("@ss.hasPermission('system:login-log:query')")
    public CommonResult<PageResult<LoginLogRespVO>> getLoginLogPage(@Valid LoginLogPageReqVO pageReqVO) {
        PageResult<LoginLogDO> pageResult = loginLogService.getLoginLogPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, LoginLogRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/OperateLogController.java
@@ -52,7 +52,6 @@
    @GetMapping("/get")
    @Operation(summary = "查看操作日志")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:operate-log:query')")
    public CommonResult<OperateLogRespVO> getOperateLog(@RequestParam("id") Long id) {
        OperateLogDO operateLog = operateLogService.getOperateLog(id);
        if (operateLog == null) {
@@ -63,7 +62,6 @@
    @GetMapping("/page")
    @Operation(summary = "查看操作日志分页列表")
    @PreAuthorize("@ss.hasPermission('system:operate-log:query')")
    public CommonResult<PageResult<OperateLogRespVO>> pageOperateLog(@Valid OperateLogPageReqVO pageReqVO) {
        PageResult<OperateLogDO> pageResult = operateLogService.getOperateLogPage(pageReqVO);
        return success(new PageResult<>(buildResponses(pageResult.getList()), pageResult.getTotal()));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailAccountController.java
@@ -66,7 +66,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得邮箱账号")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:mail-account:query')")
    public CommonResult<MailAccountRespVO> getMailAccount(@RequestParam("id") Long id) {
        MailAccountDO account = mailAccountService.getMailAccount(id);
        return success(BeanUtils.toBean(account, MailAccountRespVO.class));
@@ -74,7 +73,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得邮箱账号分页")
    @PreAuthorize("@ss.hasPermission('system:mail-account:query')")
    public CommonResult<PageResult<MailAccountRespVO>> getMailAccountPage(@Valid MailAccountPageReqVO pageReqVO) {
        PageResult<MailAccountDO> pageResult = mailAccountService.getMailAccountPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MailAccountRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailLogController.java
@@ -31,7 +31,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得邮箱日志分页")
    @PreAuthorize("@ss.hasPermission('system:mail-log:query')")
    public CommonResult<PageResult<MailLogRespVO>> getMailLogPage(@Valid MailLogPageReqVO pageVO) {
        PageResult<MailLogDO> pageResult = mailLogService.getMailLogPage(pageVO);
        return success(BeanUtils.toBean(pageResult, MailLogRespVO.class));
@@ -40,7 +39,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得邮箱日志")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:mail-log:query')")
    public CommonResult<MailLogRespVO> getMailTemplate(@RequestParam("id") Long id) {
        MailLogDO log = mailLogService.getMailLog(id);
        return success(BeanUtils.toBean(log, MailLogRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/mail/MailTemplateController.java
@@ -67,7 +67,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得邮件模版")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:mail-template:query')")
    public CommonResult<MailTemplateRespVO> getMailTemplate(@RequestParam("id") Long id) {
        MailTemplateDO template = mailTempleService.getMailTemplate(id);
        return success(BeanUtils.toBean(template, MailTemplateRespVO.class));
@@ -75,7 +74,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得邮件模版分页")
    @PreAuthorize("@ss.hasPermission('system:mail-template:query')")
    public CommonResult<PageResult<MailTemplateRespVO>> getMailTemplatePage(@Valid MailTemplatePageReqVO pageReqVO) {
        PageResult<MailTemplateDO> pageResult = mailTempleService.getMailTemplatePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, MailTemplateRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notice/NoticeController.java
@@ -72,7 +72,6 @@
    @GetMapping("/page")
    @Operation(summary = "获取通知公告列表")
    @PreAuthorize("@ss.hasPermission('system:notice:query')")
    public CommonResult<PageResult<NoticeRespVO>> getNoticePage(@Validated NoticePageReqVO pageReqVO) {
        PageResult<NoticeDO> pageResult = noticeService.getNoticePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, NoticeRespVO.class));
@@ -81,7 +80,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得通知公告")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:notice:query')")
    public CommonResult<NoticeRespVO> getNotice(@RequestParam("id") Long id) {
        NoticeDO notice = noticeService.getNotice(id);
        return success(BeanUtils.toBean(notice, NoticeRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyMessageController.java
@@ -38,7 +38,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得站内信")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:notify-message:query')")
    public CommonResult<NotifyMessageRespVO> getNotifyMessage(@RequestParam("id") Long id) {
        NotifyMessageDO message = notifyMessageService.getNotifyMessage(id);
        return success(BeanUtils.toBean(message, NotifyMessageRespVO.class));
@@ -46,7 +45,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得站内信分页")
    @PreAuthorize("@ss.hasPermission('system:notify-message:query')")
    public CommonResult<PageResult<NotifyMessageRespVO>> getNotifyMessagePage(@Valid NotifyMessagePageReqVO pageVO) {
        PageResult<NotifyMessageDO> pageResult = notifyMessageService.getNotifyMessagePage(pageVO);
        return success(BeanUtils.toBean(pageResult, NotifyMessageRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/notify/NotifyTemplateController.java
@@ -74,7 +74,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得站内信模版")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:notify-template:query')")
    public CommonResult<NotifyTemplateRespVO> getNotifyTemplate(@RequestParam("id") Long id) {
        NotifyTemplateDO template = notifyTemplateService.getNotifyTemplate(id);
        return success(BeanUtils.toBean(template, NotifyTemplateRespVO.class));
@@ -82,7 +81,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得站内信模版分页")
    @PreAuthorize("@ss.hasPermission('system:notify-template:query')")
    public CommonResult<PageResult<NotifyTemplateRespVO>> getNotifyTemplatePage(@Valid NotifyTemplatePageReqVO pageVO) {
        PageResult<NotifyTemplateDO> pageResult = notifyTemplateService.getNotifyTemplatePage(pageVO);
        return success(BeanUtils.toBean(pageResult, NotifyTemplateRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2ClientController.java
@@ -66,7 +66,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得 OAuth2 å®¢æˆ·ç«¯")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:oauth2-client:query')")
    public CommonResult<OAuth2ClientRespVO> getOAuth2Client(@RequestParam("id") Long id) {
        OAuth2ClientDO client = oAuth2ClientService.getOAuth2Client(id);
        return success(BeanUtils.toBean(client, OAuth2ClientRespVO.class));
@@ -74,7 +73,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得 OAuth2 å®¢æˆ·ç«¯åˆ†é¡µ")
    @PreAuthorize("@ss.hasPermission('system:oauth2-client:query')")
    public CommonResult<PageResult<OAuth2ClientRespVO>> getOAuth2ClientPage(@Valid OAuth2ClientPageReqVO pageVO) {
        PageResult<OAuth2ClientDO> pageResult = oAuth2ClientService.getOAuth2ClientPage(pageVO);
        return success(BeanUtils.toBean(pageResult, OAuth2ClientRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/MenuController.java
@@ -68,7 +68,6 @@
    @GetMapping("/list")
    @Operation(summary = "获取菜单列表", description = "用于【菜单管理】界面")
    @PreAuthorize("@ss.hasPermission('system:menu:query')")
    public CommonResult<List<MenuRespVO>> getMenuList(MenuListReqVO reqVO) {
        List<MenuDO> list = menuService.getMenuList(reqVO);
        list.sort(Comparator.comparing(MenuDO::getSort));
@@ -88,7 +87,6 @@
    @GetMapping("/get")
    @Operation(summary = "获取菜单信息")
    @PreAuthorize("@ss.hasPermission('system:menu:query')")
    public CommonResult<MenuRespVO> getMenu(Long id) {
        MenuDO menu = menuService.getMenu(id);
        return success(BeanUtils.toBean(menu, MenuRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/RoleController.java
@@ -74,7 +74,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得角色信息")
    @PreAuthorize("@ss.hasPermission('system:role:query')")
    public CommonResult<RoleRespVO> getRole(@RequestParam("id") Long id) {
        RoleDO role = roleService.getRole(id);
        return success(BeanUtils.toBean(role, RoleRespVO.class));
@@ -82,7 +81,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得角色分页")
    @PreAuthorize("@ss.hasPermission('system:role:query')")
    public CommonResult<PageResult<RoleRespVO>> getRolePage(RolePageReqVO pageReqVO) {
        PageResult<RoleDO> pageResult = roleService.getRolePage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, RoleRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsChannelController.java
@@ -66,7 +66,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得短信渠道")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:sms-channel:query')")
    public CommonResult<SmsChannelRespVO> getSmsChannel(@RequestParam("id") Long id) {
        SmsChannelDO channel = smsChannelService.getSmsChannel(id);
        return success(BeanUtils.toBean(channel, SmsChannelRespVO.class));
@@ -74,7 +73,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得短信渠道分页")
    @PreAuthorize("@ss.hasPermission('system:sms-channel:query')")
    public CommonResult<PageResult<SmsChannelRespVO>> getSmsChannelPage(@Valid SmsChannelPageReqVO pageVO) {
        PageResult<SmsChannelDO> pageResult = smsChannelService.getSmsChannelPage(pageVO);
        return success(BeanUtils.toBean(pageResult, SmsChannelRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsLogController.java
@@ -40,7 +40,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得短信日志分页")
    @PreAuthorize("@ss.hasPermission('system:sms-log:query')")
    public CommonResult<PageResult<SmsLogRespVO>> getSmsLogPage(@Valid SmsLogPageReqVO pageReqVO) {
        PageResult<SmsLogDO> pageResult = smsLogService.getSmsLogPage(pageReqVO);
        return success(BeanUtils.toBean(pageResult, SmsLogRespVO.class));
@@ -49,7 +48,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得短信日志")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:sms-log:query')")
    public CommonResult<SmsLogRespVO> getSmsLog(@RequestParam("id") Long id) {
        SmsLogDO smsLog = smsLogService.getSmsLog(id);
        return success(BeanUtils.toBean(smsLog, SmsLogRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.java
@@ -76,7 +76,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得短信模板")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:sms-template:query')")
    public CommonResult<SmsTemplateRespVO> getSmsTemplate(@RequestParam("id") Long id) {
        SmsTemplateDO template = smsTemplateService.getSmsTemplate(id);
        return success(BeanUtils.toBean(template, SmsTemplateRespVO.class));
@@ -84,7 +83,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得短信模板分页")
    @PreAuthorize("@ss.hasPermission('system:sms-template:query')")
    public CommonResult<PageResult<SmsTemplateRespVO>> getSmsTemplatePage(@Valid SmsTemplatePageReqVO pageVO) {
        PageResult<SmsTemplateDO> pageResult = smsTemplateService.getSmsTemplatePage(pageVO);
        return success(BeanUtils.toBean(pageResult, SmsTemplateRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialClientController.java
@@ -66,7 +66,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得社交客户端")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:social-client:query')")
    public CommonResult<SocialClientRespVO> getSocialClient(@RequestParam("id") Long id) {
        SocialClientDO client = socialClientService.getSocialClient(id);
        return success(BeanUtils.toBean(client, SocialClientRespVO.class));
@@ -74,7 +73,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得社交客户端分页")
    @PreAuthorize("@ss.hasPermission('system:social-client:query')")
    public CommonResult<PageResult<SocialClientRespVO>> getSocialClientPage(@Valid SocialClientPageReqVO pageVO) {
        PageResult<SocialClientDO> pageResult = socialClientService.getSocialClientPage(pageVO);
        return success(BeanUtils.toBean(pageResult, SocialClientRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/socail/SocialUserController.java
@@ -65,7 +65,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得社交用户")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:social-user:query')")
    public CommonResult<SocialUserRespVO> getSocialUser(@RequestParam("id") Long id) {
        SocialUserDO socialUser = socialUserService.getSocialUser(id);
        return success(BeanUtils.toBean(socialUser, SocialUserRespVO.class));
@@ -73,7 +72,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得社交用户分页")
    @PreAuthorize("@ss.hasPermission('system:social-user:query')")
    public CommonResult<PageResult<SocialUserRespVO>> getSocialUserPage(@Valid SocialUserPageReqVO pageVO) {
        PageResult<SocialUserDO> pageResult = socialUserService.getSocialUserPage(pageVO);
        return success(BeanUtils.toBean(pageResult, SocialUserRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/storage/SystemStorageAttachmentController.java
@@ -33,7 +33,6 @@
    @GetMapping("/list")
    @Operation(summary = "查询附件列表")
    @PreAuthorize("@ss.hasPermission('system:storage-attachment:query')")
    public CommonResult<List<SystemStorageBlobRespVO>> listAttachments(
            @Valid SystemStorageAttachmentListReqVO reqVO) {
        if ("agent_import_session".equals(reqVO.getRecordType())) {
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/TenantController.java
@@ -111,7 +111,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得租户")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:tenant:query')")
    public CommonResult<TenantRespVO> getTenant(@RequestParam("id") Long id) {
        TenantDO tenant = tenantService.getTenant(id);
        return success(BeanUtils.toBean(tenant, TenantRespVO.class));
@@ -119,7 +118,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得租户分页")
    @PreAuthorize("@ss.hasPermission('system:tenant:query')")
    public CommonResult<PageResult<TenantRespVO>> getTenantPage(@Valid TenantPageReqVO pageVO) {
        PageResult<TenantDO> pageResult = tenantService.getTenantPage(pageVO);
        return success(BeanUtils.toBean(pageResult, TenantRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/TenantPackageController.java
@@ -68,7 +68,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得租户套餐")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:tenant-package:query')")
    public CommonResult<TenantPackageRespVO> getTenantPackage(@RequestParam("id") Long id) {
        TenantPackageDO tenantPackage = tenantPackageService.getTenantPackage(id);
        return success(BeanUtils.toBean(tenantPackage, TenantPackageRespVO.class));
@@ -76,7 +75,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得租户套餐分页")
    @PreAuthorize("@ss.hasPermission('system:tenant-package:query')")
    public CommonResult<PageResult<TenantPackageRespVO>> getTenantPackagePage(@Valid TenantPackagePageReqVO pageVO) {
        PageResult<TenantPackageDO> pageResult = tenantPackageService.getTenantPackagePage(pageVO);
        return success(BeanUtils.toBean(pageResult, TenantPackageRespVO.class));
yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java
@@ -120,7 +120,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得用户分页列表")
    @PreAuthorize("@ss.hasPermission('system:user:query')")
    public CommonResult<PageResult<UserRespVO>> getUserPage(@Valid UserPageReqVO pageReqVO) {
        // èŽ·å¾—ç”¨æˆ·åˆ†é¡µåˆ—è¡¨
        PageResult<AdminUserDO> pageResult = userService.getUserPage(pageReqVO);
@@ -137,7 +136,6 @@
    @GetMapping("/list")
    @Operation(summary = "获得用户详情列表")
    @Parameter(name = "ids", description = "编号列表", required = true, example = "[1024]")
    @PreAuthorize("@ss.hasPermission('system:user:query')")
    public CommonResult<List<UserRespVO>> getUserList(@RequestParam("ids") List<Long> ids) {
        List<AdminUserDO> list = userService.getUserList(ids);
        if (CollUtil.isEmpty(list)) {
@@ -195,7 +193,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得用户详情")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('system:user:query')")
    public CommonResult<UserRespVO> getUser(@RequestParam("id") Long id) {
        AdminUserDO user = userService.getUser(id);
        if (user == null) {
yudao-ui/yudao-ui-admin-vue3/src/views/srm/supplier/index.vue
@@ -61,7 +61,7 @@
      <el-table-column label="创建时间" align="center" prop="createTime" :formatter="dateFormatter" width="180px" />
      <el-table-column label="操作" align="center" width="200" fixed="right">
        <template #default="scope">
          <el-button link type="primary" @click="openDetail(scope.row.id)" v-hasPermi="['srm:supplier:query']">详情</el-button>
          <el-button link type="primary" @click="openDetail(scope.row.id)">详情</el-button>
          <el-button link type="primary" @click="openForm(scope.row.id)" v-hasPermi="['srm:supplier:update']">编辑</el-button>
          <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['srm:supplier:delete']">删除</el-button>
        </template>
yudao-ui/yudao-ui-admin-vue3/src/views/srm/supplierApply/index.vue
@@ -54,7 +54,7 @@
          <el-button v-if="scope.row.applyStatus === 20" link type="primary" @click="openReview(scope.row.id, 'quality')" v-hasPermi="['srm:supplier-apply:update']">质量审核</el-button>
          <el-button v-if="scope.row.applyStatus === 30" link type="primary" @click="openReview(scope.row.id, 'finance')" v-hasPermi="['srm:supplier-apply:update']">财务审核</el-button>
          <el-button v-if="scope.row.applyStatus === 0" link type="primary" @click="openForm(scope.row.id)" v-hasPermi="['srm:supplier-apply:update']">编辑</el-button>
          <el-button link type="primary" @click="openDetail(scope.row.id)" v-hasPermi="['srm:supplier-apply:query']">详情</el-button>
          <el-button link type="primary" @click="openDetail(scope.row.id)">详情</el-button>
          <el-button v-if="scope.row.applyStatus === 0" link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['srm:supplier-apply:delete']">删除</el-button>
        </template>
      </el-table-column>
yudao-ui/yudao-ui-admin-vue3/src/views/srm/supplierEvaluation/index.vue
@@ -50,7 +50,7 @@
      <el-table-column label="评价时间" align="center" prop="evaluationTime" :formatter="dateFormatter" width="160px" />
      <el-table-column label="操作" align="center" width="160" fixed="right">
        <template #default="scope">
          <el-button link type="primary" @click="openDetail(scope.row.id)" v-hasPermi="['srm:supplier-evaluation:query']">详情</el-button>
          <el-button link type="primary" @click="openDetail(scope.row.id)">详情</el-button>
          <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['srm:supplier-evaluation:delete']">删除</el-button>
        </template>
      </el-table-column>