lxw
2022-09-01 463fef1cba49ecdc6564fefc904a404e39b7bef7
src/main/java/com/whyc/controller/ProductController.java
@@ -1,18 +1,18 @@
package com.whyc.controller;
import com.whyc.dto.Response;
import com.whyc.pojo.ProductHistory;
import com.whyc.service.MaterialService;
import com.whyc.service.ProductBomService;
import com.whyc.service.ProductHistoryService;
import com.whyc.service.ProductService;
import com.whyc.pojo.Product;
import com.whyc.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Api(tags = "产品管理")
@RestController
@@ -26,6 +26,9 @@
    @Autowired
    private ProductBomService bomService;
    @Autowired
    private ProductBomHistoryService bomHistoryService;
    @Autowired
    private MaterialService meterService;
@@ -44,12 +47,45 @@
    }
    @ApiOperation(value = "产品详情查看版本信息",notes = "8.17修改后使用")
    @GetMapping("getProductVersion")
    public Response getProductVersion( @RequestParam String parentModel, String customCode){
        return historyService.getProductVersion(parentModel,customCode);
    public Response getProductVersion( @RequestParam String parentCode, String customCode){
        return historyService.getProductVersion(parentCode,customCode);
    }
    @ApiOperation(value = "根据产品id查询子件及其关联的物料信息",notes = "8.17修改后使用")
    @ApiOperation(value = "根据产品id和版本查询子件及其关联的物料信息",notes = "8.17修改后使用")
    @GetMapping("getBomAndMaterial")
    public Response getBomAndMaterial( @RequestParam int productId){
        return bomService.getBomAndMaterial(productId);
    public Response getBomAndMaterial( @RequestParam int productId, @RequestParam int version){
        return bomService.getBomAndMaterial(productId,version);
    }
    @ApiOperation(value = "产品下载(产品id和版本<当前最新版本>)",notes = "8.17修改后使用")
    @GetMapping("downloadProduct")
    public void downloadProduct(HttpServletRequest req, HttpServletResponse resp, @RequestParam int productId, @RequestParam int version){
         bomService.downloadProduct(req,resp,productId,version);
    }
    @ApiOperation(value = "历史产品信息查看(根据历史产品产品id和版本查询子件及其关联的物料信息)",notes = "8.17修改后使用")
    @GetMapping("getBomHistoryAndMaterial")
    public Response getBomHistoryAndMaterial( @RequestParam int productId, @RequestParam int version){
        return bomHistoryService.getBomHistoryAndMaterial(productId,version);
    }
    @ApiOperation(value = "历史产品下载(产品id和版本<下载的版本>)",notes = "8.17修改后使用")
    @GetMapping("downloadProductHistory")
    public void downloadProductHistory(HttpServletRequest req, HttpServletResponse resp, @RequestParam int productId, @RequestParam int version){
        bomHistoryService.downloadProductHistory(req,resp,productId,version);
    }
    @ApiOperation(value = "历史版本可用性设定",notes = "8.31修改后使用")
    @GetMapping("setpHistoryEnable")
    public Response setpHistoryEnable( @RequestParam String parentCode, @RequestParam String customCode, @RequestParam int version,@RequestParam int enabled) {
        return historyService.setpHistoryEnable(parentCode, customCode, version, enabled);
    }
    @PostMapping("zipParse")
    @ApiOperation("zip解析")
    public Response zipParse(@RequestParam("file") MultipartFile file) throws IOException, InvalidFormatException {
        return service.zipParse(file);
    }
    @PostMapping
    @ApiOperation(value = "新增",notes = "解析时返回的绝对路径,需要回传到字段fileUrl")
    public Response add(@RequestBody Product product){
        return service.add(product);
    }
}