package com.ruoyi.basic.controller;
|
|
|
import com.alibaba.excel.EasyExcel;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.basic.dto.ProductDto;
|
import com.ruoyi.basic.dto.StructureTestObjectDto;
|
import com.ruoyi.basic.excel.ExcelMultiSheetImporter;
|
import com.ruoyi.common.core.domain.Result;
|
import com.ruoyi.system.service.ISysDictTypeService;
|
import com.ruoyi.basic.dto.PageTestObjectDto;
|
import com.ruoyi.basic.dto.ProductDTO1;
|
import com.ruoyi.basic.excel.StructureTestObjectData;
|
import com.ruoyi.basic.excel.StructureTestObjectListener;
|
import com.ruoyi.basic.pojo.Product;
|
import com.ruoyi.basic.pojo.StructureItemParameter;
|
import com.ruoyi.basic.pojo.StructureTestObject;
|
import com.ruoyi.basic.service.CapacityScopeService;
|
import com.ruoyi.basic.service.ProductService;
|
import com.ruoyi.basic.service.StandardTemplateService;
|
import com.ruoyi.basic.service.StructureItemParameterService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.AllArgsConstructor;
|
import org.apache.commons.codec.digest.DigestUtils;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* 检验项目参数(StructureItemParameter)表控制层
|
*
|
* @author makejava
|
* @since 2024-02-26 16:21:17
|
*/
|
@Api(tags = "能力范围")
|
@AllArgsConstructor
|
@RestController
|
@RequestMapping("/capacityScope")
|
public class CapacityScopeController {
|
|
private CapacityScopeService capacityScopeService;
|
|
private ProductService productService;
|
|
private StructureItemParameterService structureItemParameterService;
|
|
private ISysDictTypeService dictTypeService;
|
|
private StandardTemplateService standardTemplateService;
|
|
@ApiOperation(value = "获取项目检验参数列表")
|
@GetMapping("/selectItemParameterList")
|
public Result selectItemParameterList(Page page, StructureItemParameter itemParameter) {
|
return Result.success(capacityScopeService.selectItemParameterList(page, itemParameter));
|
}
|
|
@ApiOperation(value = "添加项目检验参数")
|
@PostMapping("/addItemParameter")
|
public Result addItemParameter(@RequestBody StructureItemParameter itemParameter) {
|
return Result.success(capacityScopeService.addItemParameter(itemParameter));
|
}
|
|
@ApiOperation(value = "删除项目检验参数")
|
@DeleteMapping("/delItemParameter")
|
public Result<?> delItemParameter(Integer id) {
|
return Result.success(capacityScopeService.delItemParameter(id));
|
}
|
|
@ApiOperation(value = "修改项目检验参数")
|
@PostMapping("/upItemParameter")
|
public Result<?> upItemParameter(@RequestBody StructureItemParameter itemParameter) {
|
return Result.success(capacityScopeService.upItemParameter(itemParameter));
|
}
|
|
@ApiOperation(value = "获取检验对象")
|
@GetMapping("/selectTestObjectList")
|
public Result selectTestObjectList(Page page, PageTestObjectDto pageTestObjectDto) {
|
return Result.success(capacityScopeService.selectTestObjectList(page, pageTestObjectDto));
|
}
|
|
@ApiOperation(value = "添加检验对象")
|
@PostMapping("/addTestObject")
|
public Result addTestObject(@RequestBody StructureTestObject testObject) {
|
return Result.success(capacityScopeService.addTestObject(testObject));
|
}
|
|
@ApiOperation(value = "删除检验对象")
|
@DeleteMapping("/delTestObject")
|
public Result<?> delTestObject(Integer id) {
|
return Result.success(capacityScopeService.delTestObject(id));
|
}
|
|
@ApiOperation(value = "修改检验对象")
|
@PostMapping("/upTestObject")
|
public Result upTestObject(@RequestBody StructureTestObject testObject) {
|
return Result.success(capacityScopeService.upTestObject(testObject));
|
}
|
|
@ApiOperation(value = "获取检验对象枚举")
|
@GetMapping("/selectTestObjectByName")
|
public Result selectTestObjectByName() {
|
return Result.success(capacityScopeService.selectTestObjectByName());
|
}
|
|
@ApiOperation(value = "设备里面选择检验项目(树形结构)")
|
@GetMapping("/getInsProduction")
|
public Result getInsProduction() {
|
return Result.success(capacityScopeService.getInsProduction());
|
}
|
|
@ApiOperation(value = "维护检验对象的产品")
|
@GetMapping("/selectProductListByObjectId")
|
public Result selectProductListByObjectId(Page page, ProductDTO1 productDTO) {
|
return Result.success(productService.selectProductListByObjectId(page, productDTO));
|
}
|
|
@ApiOperation(value = "添加产品")
|
@PostMapping("/addProduct")
|
public Result addProduct(@RequestBody Product product) {
|
return Result.success(productService.addProduct(product));
|
}
|
|
@ApiOperation(value = "修改产品")
|
@PostMapping("/upProduct")
|
public Result upProduct(@RequestBody Product product) {
|
return Result.success(productService.upProduct(product));
|
}
|
|
@ApiOperation(value = "删除产品")
|
@DeleteMapping("/delProduct")
|
public Result delProduct(Integer id) {
|
return Result.success(productService.delProduct(id));
|
}
|
|
@ApiOperation(value = "获取检验对象树")
|
@GetMapping("/getItemTree")
|
public Result getItemTree() {
|
return Result.success(capacityScopeService.getItemTree());
|
}
|
|
/**
|
* 成品/原辅材
|
*/
|
@ApiOperation(value = "获取检验对象树")
|
@GetMapping("/getItemTreeProduct")
|
public Result getItemTreeProduct(StructureTestObjectDto structureTestObjectDto) {
|
return Result.success(capacityScopeService.getItemTreeProduct(structureTestObjectDto));
|
}
|
|
@PostMapping("/importEquipData")
|
public Result importData(@RequestParam("file") MultipartFile file) {
|
// 调用导入工具
|
String result = ExcelMultiSheetImporter.importExcel(file, structureItemParameterService, standardTemplateService, dictTypeService);
|
return Result.success(result);
|
}
|
|
@ApiOperation(value = "导入检验对象")
|
@PostMapping("/importExcel")
|
public Result importExcel(@RequestParam("file") MultipartFile file) {
|
List<String> processedFiles = new ArrayList<>();
|
try (InputStream inputStream = file.getInputStream()) {
|
String fileHash = DigestUtils.md5Hex(inputStream);
|
if (processedFiles.contains(fileHash)) {
|
return Result.success(); // 已处理过的文件直接跳过
|
}
|
processedFiles.add(fileHash);
|
|
EasyExcel.read(file.getInputStream(), StructureTestObjectData.class, new StructureTestObjectListener(capacityScopeService)).sheet().doRead();
|
} catch (IOException e) {
|
// 这里可以根据实际情况进行更完善的错误处理,比如记录日志等
|
System.err.println("读取文件时发生错误: " + e.getMessage());
|
}
|
return Result.success();
|
}
|
|
@ApiOperation(value = "更新产品车间")
|
@PostMapping("/updateWorkShop")
|
public Result updateWorkShop(@RequestBody ProductDto productDto) {
|
return Result.success(productService.updateWorkShop(productDto.getId(), productDto.getWorkShopId(), productDto.getWorkShopName()));
|
}
|
|
@ApiOperation(value = "更新检测对象车间")
|
@PostMapping("/updateObjectWorkShop")
|
public Result updateObjectWorkShop(@RequestBody StructureTestObjectDto structureTestObjectDto) {
|
return Result.success(productService.updateObjectWorkShop(structureTestObjectDto));
|
}
|
}
|