From ef7458a6eb8ad72f45b65a4e417a9d04f5015246 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期六, 14 三月 2026 11:47:08 +0800
Subject: [PATCH] feat: 根据宜搭表单 ID 获取数据工具类
---
src/main/java/com/ruoyi/productionPlan/controller/ProductionPlanController.java | 93 ++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 89 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ruoyi/productionPlan/controller/ProductionPlanController.java b/src/main/java/com/ruoyi/productionPlan/controller/ProductionPlanController.java
index 443929a..9c18183 100644
--- a/src/main/java/com/ruoyi/productionPlan/controller/ProductionPlanController.java
+++ b/src/main/java/com/ruoyi/productionPlan/controller/ProductionPlanController.java
@@ -1,15 +1,23 @@
package com.ruoyi.productionPlan.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.productionPlan.dto.ProductionPlanDto;
+import com.ruoyi.productionPlan.dto.ProductionPlanImportDto;
+import com.ruoyi.productionPlan.dto.ProductionPlanSummaryDto;
import com.ruoyi.productionPlan.service.ProductionPlanService;
-import com.ruoyi.staff.dto.StaffLeaveDto;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
+import java.util.List;
/**
* <br>
@@ -23,12 +31,89 @@
@RestController
@RequestMapping("/productionPlan")
+@Api(tags = "涓荤敓浜ц鍒�")
public class ProductionPlanController {
@Resource
private ProductionPlanService productionPlanService;
@GetMapping("/listPage")
+ @ApiOperation("鑾峰彇鐢熶骇璁″垝鍒楄〃")
public AjaxResult productionPlanListPage(Page page, ProductionPlanDto productionPlanDto) {
return AjaxResult.success(productionPlanService.listPage(page, productionPlanDto));
}
+
+ @GetMapping("/loadProdData")
+ @ApiOperation("鎷夊彇閿�鍞敓浜ц鍒�")
+ @Log(title = "鎷夊彇閿�鍞敓浜ц鍒�", businessType = BusinessType.INSERT)
+ public AjaxResult loadProdData() {
+ productionPlanService.loadProdData();
+ return AjaxResult.success();
+ }
+
+ @PostMapping("/combine")
+ @Log(title = "鍚堝苟鐢熶骇璁″垝", businessType = BusinessType.INSERT)
+ @ApiOperation("鍚堝苟鐢熶骇璁″垝")
+ public AjaxResult combine(@RequestBody ProductionPlanDto productionPlanDto) {
+ if (productionPlanDto.getIds() == null || productionPlanDto.getIds().isEmpty()) {
+ return AjaxResult.error("璇烽�夋嫨瑕佷笅鍙戠殑鐢熶骇璁″垝");
+ }
+
+ if (productionPlanDto.getTotalAssignedQuantity() == null || productionPlanDto.getTotalAssignedQuantity().compareTo(BigDecimal.ZERO) <= 0) {
+ return AjaxResult.error("璇疯緭鍏ヤ笅鍙戞暟閲�");
+ }
+ return AjaxResult.success(productionPlanService.combine(productionPlanDto));
+ }
+
+ @PostMapping("")
+ @Log(title = "鍒涘缓鐢熶骇璁″垝", businessType = BusinessType.INSERT)
+ @ApiOperation("鍒涘缓鐢熶骇璁″垝")
+ public AjaxResult add(@RequestBody ProductionPlanDto productionPlanDto) {
+ return AjaxResult.success(productionPlanService.add(productionPlanDto));
+ }
+
+ @PutMapping("")
+ @Log(title = "鏇存柊鐢熶骇璁″垝", businessType = BusinessType.UPDATE)
+ @ApiOperation("鏇存柊鐢熶骇璁″垝")
+ public AjaxResult update(@RequestBody ProductionPlanDto productionPlanDto) {
+ return AjaxResult.success(productionPlanService.update(productionPlanDto));
+ }
+
+ @DeleteMapping("")
+ @Log(title = "鍒犻櫎鐢熶骇璁″垝", businessType = BusinessType.DELETE)
+ @ApiOperation("鍒犻櫎鐢熶骇璁″垝")
+ public AjaxResult delete(@RequestBody List<Long> ids) {
+ return AjaxResult.success(productionPlanService.removeByIds(ids));
+ }
+
+ @GetMapping("/summaryByProductType")
+ @ApiOperation("鎸夌収浜у搧绫诲埆姹囨�荤粺璁¢渶姹傞噺")
+ @Log(title = "鎸夌収浜у搧绫诲埆姹囨�荤粺璁¢渶姹傞噺", businessType = BusinessType.OTHER)
+ public AjaxResult summaryByProductType(ProductionPlanSummaryDto query) {
+ List<ProductionPlanSummaryDto> list = productionPlanService.summaryByProductType(query);
+ return AjaxResult.success(list);
+ }
+
+ @PostMapping("/downloadTemplate")
+ @Log(title = "涓嬭浇涓荤敓浜ц鍒掑鍏ユā鏉�", businessType = BusinessType.EXPORT)
+ @ApiOperation("涓嬭浇涓荤敓浜ц鍒掑鍏ユā鏉�")
+ public void importTemplate(HttpServletResponse response) {
+ ExcelUtil<ProductionPlanImportDto> excelUtil = new ExcelUtil<>(ProductionPlanImportDto.class);
+ excelUtil.importTemplateExcel(response, "涓荤敓浜ц鍒掑鍏ユā鏉�");
+ }
+
+ @PostMapping("/import")
+ @ApiOperation("涓荤敓浜ц鍒掓暟鎹鍏�")
+ @Log(title = "涓荤敓浜ц鍒掓暟鎹鍏�", businessType = BusinessType.IMPORT)
+ public AjaxResult importProdData(@RequestParam("file") MultipartFile file) {
+ productionPlanService.importProdData(file);
+ return AjaxResult.success("瀵煎叆鎴愬姛");
+ }
+
+ @PostMapping("/export")
+ @ApiOperation("涓荤敓浜ц鍒掓暟鎹鍑�")
+ @Log(title = "涓荤敓浜ц鍒掓暟鎹鍑�", businessType = BusinessType.EXPORT)
+ public void exportProdData(HttpServletResponse response, @RequestBody(required = false) List<Long> ids) {
+ productionPlanService.exportProdData(response, ids);
+ }
+
}
--
Gitblit v1.9.3