From b069101e1bf347ceab11e33d73b2fbb7f37d4686 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期六, 25 四月 2026 17:15:53 +0800
Subject: [PATCH] feat(production): 生产订单的工艺路线和参数的增删改逻辑

---
 src/main/java/com/ruoyi/home/controller/HomeController.java |  334 ++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 193 insertions(+), 141 deletions(-)

diff --git a/src/main/java/com/ruoyi/home/controller/HomeController.java b/src/main/java/com/ruoyi/home/controller/HomeController.java
index 8d72113..41ae224 100644
--- a/src/main/java/com/ruoyi/home/controller/HomeController.java
+++ b/src/main/java/com/ruoyi/home/controller/HomeController.java
@@ -1,16 +1,17 @@
 package com.ruoyi.home.controller;
 
 import com.ruoyi.approve.pojo.ApproveProcess;
+import com.ruoyi.dto.MapDto;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.home.annotation.DefaultType;
 import com.ruoyi.home.dto.*;
 import com.ruoyi.home.service.HomeService;
-import com.ruoyi.dto.MapDto;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -25,248 +26,299 @@
  * @date : 2025/7/25 9:15
  */
 @RestController
-@Api(tags = "棣栭〉缁熻")
+@Tag(name = "棣栭〉缁熻")
 @RequestMapping("/home")
+@AllArgsConstructor
 public class HomeController extends BaseController {
 
-    @Autowired
-    private HomeService homeService;
+    private final HomeService homeService;
 
     /********************************************************鍩虹绫�*****************************************************/
     @GetMapping("/todos")
     @Log(title = "寰呭姙浜嬮」", businessType = BusinessType.OTHER)
-    @ApiOperation("寰呭姙浜嬮」")
+    @Operation(summary = "寰呭姙浜嬮」")
     public AjaxResult todos(ApproveProcess req) throws ParseException {
         List<ApproveProcess> approveProcessList = homeService.todos();
         return AjaxResult.success(approveProcessList);
     }
 
     @GetMapping("/approveAndDeviceTodos")
-    @ApiOperation("瀹℃壒鍗忓悓锛岃澶囨姤淇緟鍔炰簨椤�")
+    @Operation(summary = "瀹℃壒鍗忓悓锛岃澶囨姤淇緟鍔炰簨椤�")
     public AjaxResult approveAndDeviceTodos(){
         Map<String, Object> map = homeService.approveAndDeviceTodos();
         return AjaxResult.success(map);
     }
 
     @GetMapping("/noticesCount")
-    @ApiOperation("鏈繃鏈熺殑鍏憡鏁伴噺")
+    @Operation(summary = "鏈繃鏈熺殑鍏憡鏁伴噺")
     public AjaxResult noticesCount(){
         Long count = homeService.noticesCount();
         return AjaxResult.success(count);
     }
 
     @GetMapping("/deptStaffDistribution")
-    @ApiOperation("鍚勯儴闂ㄤ汉鍛樺垎甯�")
+    @Operation(summary = "鍚勯儴闂ㄤ汉鍛樺垎甯�")
     public AjaxResult deptStaffDistribution() {
         DeptStaffDistributionDto dto = homeService.deptStaffDistribution();
         return AjaxResult.success(dto);
     }
 
     @GetMapping("/summaryStatistics")
-    @ApiOperation("鍛樺伐-瀹㈡埛-渚涘簲鍟嗘�绘暟")
+    @Operation(summary = "鍛樺伐-瀹㈡埛-渚涘簲鍟嗘�绘暟")
     public AjaxResult summaryStatistics() {
         HomeSummaryDto homeSummaryDto = homeService.summaryStatistics();
         return AjaxResult.success(homeSummaryDto);
     }
 
+    /********************************************************钀ラ攢閲囪喘绫�**************************************************/
     @GetMapping("/supplierPurchaseRanking")
-    @ApiOperation("渚涘簲鍟嗛噰璐帓鍚�")
-    public AjaxResult supplierPurchaseRanking(@RequestParam(value = "type", defaultValue = "1") Integer type) {
+    @Operation(summary = "渚涘簲鍟嗛噰璐帓鍚�")
+    public AjaxResult supplierPurchaseRanking(@DefaultType Integer type) {
         List<SupplierPurchaseRankingDto> list = homeService.supplierPurchaseRanking(type);
         return AjaxResult.success(list);
     }
 
     @GetMapping("/customerRevenueAnalysis")
-    @ApiOperation("瀹㈡埛钀ユ敹璐$尞鏁板�煎垎鏋�")
-    public AjaxResult customerRevenueAnalysis(@RequestParam("customerId") Long customerId, @RequestParam(value = "type", defaultValue = "1") Integer type) {
+    @Operation(summary = "瀹㈡埛钀ユ敹璐$尞鏁板�煎垎鏋�")
+    public AjaxResult customerRevenueAnalysis(Long customerId, @DefaultType Integer type) {
         CustomerRevenueAnalysisDto dto = homeService.customerRevenueAnalysis(customerId, type);
         return AjaxResult.success(dto);
     }
 
-    @GetMapping("/productCategoryDistribution")
-    @ApiOperation("浜у搧澶х被鍒嗗竷")
-    public AjaxResult productCategoryDistribution() {
-        ProductCategoryDistributionDto dto = homeService.productCategoryDistribution();
-        return AjaxResult.success(dto);
-    }
-
     @GetMapping("/customerContributionRanking")
-    @ApiOperation("瀹㈡埛閲戦璐$尞鎺掑悕")
-    public AjaxResult customerContributionRanking(@RequestParam(value = "type", defaultValue = "1") Integer type) {
+    @Operation(summary = "瀹㈡埛閲戦璐$尞鎺掑悕")
+    public AjaxResult customerContributionRanking(@DefaultType Integer type) {
         List<CustomerContributionRankingDto> list = homeService.customerContributionRanking(type);
         return AjaxResult.success(list);
     }
 
     @GetMapping("/productSalesAnalysis")
-    @ApiOperation("鍚勪骇鍝侀攢鍞噾棰濆垎鏋�")
+    @Operation(summary = "鍚勪骇鍝侀攢鍞噾棰濆垎鏋�")
     public AjaxResult productSalesAnalysis() {
         List<MapDto> list = homeService.productSalesAnalysis();
         return AjaxResult.success(list);
     }
 
     @GetMapping("/rawMaterialPurchaseAmountRatio")
-    @ApiOperation("鍘熸潗鏂欓噰璐噾棰濆崰姣�")
+    @Operation(summary = "鍘熸潗鏂欓噰璐噾棰濆崰姣�")
     public AjaxResult rawMaterialPurchaseAmountRatio(){
         List<MapDto> list = homeService.rawMaterialPurchaseAmountRatio();
         return AjaxResult.success(list);
     }
 
-    @GetMapping("/salesPurchaseStorageProductCount")
-    @ApiOperation("閿�鍞�-閲囪喘-鍌ㄥ瓨浜у搧鏁�")
-    public AjaxResult salesPurchaseStorageProductCount(){
-        List<MapDto> list = homeService.salesPurchaseStorageProductCount();
+    @GetMapping("/business")
+    @Log(title = "閿�鍞�-閲囪喘-搴撳瓨鏁版嵁", businessType = BusinessType.OTHER)
+    @Operation(summary = "閿�鍞�-閲囪喘-搴撳瓨鏁版嵁")
+    public AjaxResult business(HomeBusinessDto req) {
+        HomeBusinessDto homeBusinessDto = homeService.business();
+        return AjaxResult.success(homeBusinessDto);
+    }
+
+    @GetMapping("/analysisCustomerContractAmounts")
+    @Log(title = "瀹㈡埛鍚堝悓閲戦鍒嗘瀽", businessType = BusinessType.OTHER)
+    @Operation(summary = "瀹㈡埛鍚堝悓閲戦鍒嗘瀽")
+    public AjaxResult analysisCustomerContractAmounts(AnalysisCustomerContractAmountsDto req) {
+        AnalysisCustomerContractAmountsDto analysisCustomerContractAmounts = homeService.analysisCustomerContractAmounts();
+        return AjaxResult.success(analysisCustomerContractAmounts);
+    }
+
+    /********************************************************鐢熶骇绫�*****************************************************/
+    @GetMapping("/inputOutputAnalysis")
+    @Operation(summary = "鎶曞叆浜у嚭鍒嗘瀽")
+    public AjaxResult inputOutputAnalysis(@DefaultType Integer type){
+      List<InputOutputAnalysisDto> list = homeService.inputOutputAnalysis(type);
         return AjaxResult.success(list);
     }
 
-    @GetMapping("/productInOutAnalysis")
-    @ApiOperation("浜у搧鍑哄叆搴撳垎鏋�")
-    public AjaxResult productInOutAnalysis(@RequestParam(value = "type", defaultValue = "1") Integer type){
-        List<Map<String, Object>> result = homeService.productInOutAnalysis(type);
-        return AjaxResult.success(result);
-    }
-
-    @GetMapping("/productTurnoverDays")
-    @ApiOperation("浜у搧鍛ㄨ浆澶╂暟")
-    public AjaxResult productTurnoverDays(){
-        List<MapDto> list = homeService.productTurnoverDays();
+    @GetMapping("/processOutputAnalysis")
+    @Operation(summary = "宸ュ簭浜у嚭鍒嗘瀽")
+    public AjaxResult processOutputAnalysis(@DefaultType Integer type){
+        List<MapDto> list = homeService.processOutputAnalysis(type);
         return AjaxResult.success(list);
     }
 
+    @GetMapping("/workOrderEfficiencyAnalysis")
+    @Operation(summary = "宸ュ崟鎵ц鏁堢巼鍒嗘瀽")
+    public AjaxResult workOrderEfficiencyAnalysis(@DefaultType Integer type){
+        List<WorkOrderEfficiencyDto> list = homeService.workOrderEfficiencyAnalysis(type);
+        return AjaxResult.success(list);
+    }
+
+    @GetMapping("/productionAccountingAnalysis")
+    @Operation(summary = "鐢熶骇鏍哥畻鍒嗘瀽")
+    public AjaxResult productionAccountingAnalysis(@DefaultType Integer type){
+        List<ProductionAccountingDto> list   = homeService.productionAccountingAnalysis(type);
+        return AjaxResult.success(list);
+    }
+
+    @GetMapping("/orderCount")
+    @Operation(summary = "璁㈠崟鏁�")
+    public AjaxResult orderCount(){
+        return AjaxResult.success(homeService.orderCount());
+    }
+
+    @GetMapping("/progressStatistics")
+    @Operation(summary = "鍚勭敓浜ц鍗曠殑瀹屾垚杩涘害缁熻")
+    public AjaxResult progressStatistics(){
+        ProductionProgressDto productionProgressDto = homeService.productionProgress();
+        return AjaxResult.success(productionProgressDto);
+    }
+
+    @GetMapping("/workInProcessTurnover")
+    @Operation(summary = "鍦ㄥ埗鍝佸懆杞儏鍐�")
+    public AjaxResult workInProcessTurnover(){
+        ProductionTurnoverDto productionTurnoverDto = homeService.workInProcessTurnover();
+        return AjaxResult.success(productionTurnoverDto);
+    }
+
+    @GetMapping("/processDataProductionStatistics")
+    @Operation(summary = "宸ュ簭鏁版嵁鐢熶骇缁熻鏁版嵁")
+    public AjaxResult processDataProductionStatistics(@DefaultType Integer type,@RequestParam(required = false) List<Long> processIds) {
+        List<processDataProductionStatisticsDto> list = homeService.processDataProductionStatistics(type, processIds);
+        return AjaxResult.success(list);
+    }
+
+    /********************************************************璐ㄩ噺绫�*****************************************************/
+    @GetMapping("/rawMaterialDetection")
+    @Operation(summary = "鍘熸潗鏂欐娴�")
+    public AjaxResult rawMaterialDetection(@DefaultType Integer type){
+        return AjaxResult.success(homeService.rawMaterialDetection(type));
+    }
+
+    @GetMapping("/processDetection")
+    @Operation(summary = "杩囩▼妫�娴�")
+    public AjaxResult processDetection(@DefaultType Integer type){
+        return AjaxResult.success(homeService.processDetection(type));
+    }
+
+    @GetMapping("/factoryDetection")
+    @Operation(summary = "鎴愬搧鍑哄巶妫�娴�")
+    public AjaxResult factoryDetection(@DefaultType Integer type){
+        return AjaxResult.success(homeService.factoryDetection(type));
+    }
+
+    @GetMapping("/qualityInspectionCount")
+    @Operation(summary = "璐ㄩ噺妫�楠屾暟閲�")
+    public AjaxResult qualityInspectionCount(){
+        QualityInspectionCountDto qualityInspectionCountDto = homeService.qualityInspectionCount();
+        return AjaxResult.success(qualityInspectionCountDto);
+    }
+
+    @GetMapping("/nonComplianceWarning")
+    @Operation(summary = "涓嶅悎鏍奸璀�")
+    public AjaxResult nonComplianceWarning(){
+        NonComplianceWarningDto nonComplianceWarningDto = homeService.nonComplianceWarning();
+        return AjaxResult.success(nonComplianceWarningDto);
+    }
+
+    @GetMapping("/completedInspectionCount")
+    @Operation(summary = "瀹屾垚妫�楠屾暟")
+    public AjaxResult completedInspectionCount(){
+        List<CompletedInspectionCountDto> list = homeService.completedInspectionCount();
+        return AjaxResult.success(list);
+    }
+
+    @GetMapping("/unqualifiedProductRanking")
+    @Operation(summary = "涓嶅悎鏍间骇鍝佹帓鍚�")
+    public AjaxResult unqualifiedProductRanking(){
+        List<UnqualifiedProductRankDto> list = homeService.unqualifiedProductRanking();
+        return AjaxResult.success(list);
+    }
+
+    @GetMapping("/unqualifiedProductProcessingAnalysis")
+    @Operation(summary = "涓嶅悎鏍兼鍝佸鐞嗗垎鏋�")
+    public AjaxResult unqualifiedProductProcessingAnalysis(){
+        List<MapDto> list = homeService.unqualifiedProductProcessingAnalysis();
+        return AjaxResult.success(list);
+    }
+
+    @GetMapping("/qualityStatistics")
+    @Log(title = "璐ㄩ噺鍒嗘瀽", businessType = BusinessType.OTHER)
+    @Operation(summary = "璐ㄩ噺鍒嗘瀽")
+    public AjaxResult qualityStatistics(QualityStatisticsDto req) {
+        QualityStatisticsDto qualityStatisticsDto = homeService.qualityStatistics();
+        return AjaxResult.success(qualityStatisticsDto);
+    }
+
+    @GetMapping("/qualityInspectionStatistics")
+    @Operation(summary = "璐ㄩ噺缁熻")
+    public AjaxResult qualityInspectionStatistics(@DefaultType Integer type) {
+       QualityStatisticsDto  dto = homeService.qualityInspectionStatistics(type);
+        return AjaxResult.success(dto);
+    }
+
+    /********************************************************璐㈠姟绫�*****************************************************/
     @GetMapping("/incomeExpenseAnalysis")
-    @ApiOperation("鏀敹瀵规瘮鍒嗘瀽")
-    public AjaxResult incomeExpenseAnalysis(@RequestParam(value = "type", defaultValue = "1") Integer type) {
+    @Operation(summary = "鏀敹瀵规瘮鍒嗘瀽")
+    public AjaxResult incomeExpenseAnalysis(@DefaultType Integer type) {
         List<Map<String, Object>> result = homeService.incomeExpenseAnalysis(type);
         return AjaxResult.success(result);
     }
 
     @GetMapping("/profitTrendAnalysis")
-    @ApiOperation("鍒╂鼎瓒嬪娍鍒嗘瀽")
+    @Operation(summary = "鍒╂鼎瓒嬪娍鍒嗘瀽")
     public AjaxResult profitTrendAnalysis(){
         List<MapDto> list = homeService.profitTrendAnalysis();
         return AjaxResult.success(list);
     }
 
     @GetMapping("/expenseCompositionAnalysis")
-    @ApiOperation("鏋勬垚鍒嗘瀽")
-    public AjaxResult expenseCompositionAnalysis(@RequestParam(value = "type", defaultValue = "1") Integer type) {
+    @Operation(summary = "鏋勬垚鍒嗘瀽")
+    public AjaxResult expenseCompositionAnalysis(@DefaultType Integer type) {
         List<MapDto> list = homeService.expenseCompositionAnalysis(type);
         return AjaxResult.success(list);
     }
 
     @GetMapping("/monthlyIncome")
-    @ApiOperation("鏈堝害鏀跺叆")
+    @Operation(summary = "鏈堝害鏀跺叆")
     public AjaxResult monthlyIncome(){
         MonthlyIncomeDto dto = homeService.monthlyIncome();
         return AjaxResult.success(dto);
     }
 
-   @GetMapping("/monthlyExpenditure")
-   @ApiOperation("鏈堝害鏀嚭")
-   public AjaxResult monthlyExpenditure(){
+    @GetMapping("/monthlyExpenditure")
+    @Operation(summary = "鏈堝害鏀嚭")
+    public AjaxResult monthlyExpenditure(){
         MonthlyExpenditureDto dto = homeService.monthlyExpenditure();
         return AjaxResult.success(dto);
-   }
-   
-
-    @GetMapping("/inputOutputAnalysis")
-    @ApiOperation("鎶曞叆浜у嚭鍒嗘瀽")
-    public AjaxResult inputOutputAnalysis(@RequestParam(value = "type", defaultValue = "1") Integer type){
-      List<InputOutputAnalysisDto> list = homeService.inputOutputAnalysis(type);
-        return AjaxResult.success(list);
     }
 
-    @GetMapping("/processOutputAnalysis")
-    @ApiOperation("宸ュ簭浜у嚭鍒嗘瀽") 
-    public AjaxResult processOutputAnalysis(@RequestParam(value = "type", defaultValue = "1") Integer type){
-        List<MapDto> list = homeService.processOutputAnalysis(type);
-        return AjaxResult.success(list);
-    }
-
-    @GetMapping("/workOrderEfficiencyAnalysis")
-    @ApiOperation("宸ュ崟鎵ц鏁堢巼鍒嗘瀽")
-    public AjaxResult workOrderEfficiencyAnalysis(@RequestParam(value = "type", defaultValue = "1") Integer type){
-        List<WorkOrderEfficiencyDto> list = homeService.workOrderEfficiencyAnalysis(type);
-        return AjaxResult.success(list);
-    }
-
-    @GetMapping("/productionAccountingAnalysis")
-    @ApiOperation("鐢熶骇鏍哥畻鍒嗘瀽")
-    public AjaxResult productionAccountingAnalysis(@RequestParam(value = "type", defaultValue = "1") Integer type){
-        List<ProductionAccountingDto> list   = homeService.productionAccountingAnalysis(type);
-        return AjaxResult.success(list);
-    }
-
-    @GetMapping("/orderCount")
-    @ApiOperation("璁㈠崟鏁�")
-    public AjaxResult orderCount(){
-        return AjaxResult.success(homeService.orderCount());
-    }
-
-    /********************************************************钀ラ攢閲囪喘绫�**************************************************/
-    @GetMapping("/business")
-    @Log(title = "閿�鍞�-閲囪喘-搴撳瓨鏁版嵁", businessType = BusinessType.OTHER)
-    @ApiOperation("閿�鍞�-閲囪喘-搴撳瓨鏁版嵁")
-    public AjaxResult business(HomeBusinessDto req) {
-        HomeBusinessDto homeBusinessDto = homeService.business();
-        return AjaxResult.success(homeBusinessDto);
-    }
-
-
-    @GetMapping("/analysisCustomerContractAmounts")
-    @Log(title = "瀹㈡埛鍚堝悓閲戦鍒嗘瀽", businessType = BusinessType.OTHER)
-    @ApiOperation("瀹㈡埛鍚堝悓閲戦鍒嗘瀽")
-    public AjaxResult analysisCustomerContractAmounts(AnalysisCustomerContractAmountsDto req) {
-        AnalysisCustomerContractAmountsDto analysisCustomerContractAmounts = homeService.analysisCustomerContractAmounts();
-        return AjaxResult.success(analysisCustomerContractAmounts);
-    }
-
-
-    /********************************************************鐢熶骇绫�*****************************************************/
-    @GetMapping("/progressStatistics")
-    @ApiOperation("鍚勭敓浜ц鍗曠殑瀹屾垚杩涘害缁熻")
-    public AjaxResult progressStatistics(){
-        ProductionProgressDto productionProgressDto = homeService.productionProgress();
-        return AjaxResult.success(productionProgressDto);
-    }
-    @GetMapping("/workInProcessTurnover")
-    @ApiOperation("鍦ㄥ埗鍝佸懆杞儏鍐�")
-    public AjaxResult workInProcessTurnover(){
-        ProductionTurnoverDto productionTurnoverDto = homeService.workInProcessTurnover();
-        return AjaxResult.success(productionTurnoverDto);
-    }
-
-
-    
-    /********************************************************璐ㄩ噺绫�*****************************************************/
-    @GetMapping("/qualityStatistics")
-    @Log(title = "璐ㄩ噺鍒嗘瀽", businessType = BusinessType.OTHER)
-    @ApiOperation("璐ㄩ噺鍒嗘瀽")
-    public AjaxResult qualityStatistics(QualityStatisticsDto req) {
-        QualityStatisticsDto qualityStatisticsDto = homeService.qualityStatistics();
-        return AjaxResult.success(qualityStatisticsDto);
-    }
-
-
-    /********************************************************璐㈠姟绫�*****************************************************/
     @GetMapping("/statisticsReceivablePayable")
     @Log(title = "搴旀敹搴斾粯缁熻", businessType = BusinessType.OTHER)
-    @ApiOperation("搴旀敹搴斾粯缁熻")
-    public AjaxResult statisticsReceivablePayable(StatisticsReceivablePayableDto req, @RequestParam(value = "type", defaultValue = "1") Integer type ) {
+    @Operation(summary = "搴旀敹搴斾粯缁熻")
+    public AjaxResult statisticsReceivablePayable(StatisticsReceivablePayableDto req, @DefaultType Integer type ) {
         StatisticsReceivablePayableDto statisticsReceivablePayable = homeService.statisticsReceivablePayable(type);
         return AjaxResult.success(statisticsReceivablePayable);
     }
 
-
     /********************************************************浠撳偍绫�*****************************************************/
 
+    @GetMapping("/productCategoryDistribution")
+    @Operation(summary = "浜у搧澶х被鍒嗗竷")
+    public AjaxResult productCategoryDistribution() {
+        ProductCategoryDistributionDto dto = homeService.productCategoryDistribution();
+        return AjaxResult.success(dto);
+    }
 
+    @GetMapping("/salesPurchaseStorageProductCount")
+    @Operation(summary = "閿�鍞�-閲囪喘-鍌ㄥ瓨浜у搧鏁�")
+    public AjaxResult salesPurchaseStorageProductCount(){
+        List<MapDto> list = homeService.salesPurchaseStorageProductCount();
+        return AjaxResult.success(list);
+    }
 
+    @GetMapping("/productInOutAnalysis")
+    @Operation(summary = "浜у搧鍑哄叆搴撳垎鏋�")
+    public AjaxResult productInOutAnalysis(@DefaultType Integer type){
+        List<Map<String, Object>> result = homeService.productInOutAnalysis(type);
+        return AjaxResult.success(result);
+    }
 
-
-
-
-
-
-
+    @GetMapping("/productTurnoverDays")
+    @Operation(summary = "浜у搧鍛ㄨ浆澶╂暟")
+    public AjaxResult productTurnoverDays(){
+        List<MapDto> list = homeService.productTurnoverDays();
+        return AjaxResult.success(list);
+    }
 
 }

--
Gitblit v1.9.3