package com.ruoyi.quality.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
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.quality.pojo.QualityTestStandard;
import com.ruoyi.quality.pojo.QualityTestStandardParam;
import com.ruoyi.quality.service.IQualityTestStandardService;
import com.ruoyi.quality.service.QualityTestStandardParamService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Nonnull;
import javax.annotation.Resource;
import java.util.List;
/**
*
* 检测标准主表 前端控制器
*
*
* @author 芯导软件(江苏)有限公司
* @since 2026-01-13 03:40:24
*/
@RestController
@RequestMapping("/qualityTestStandard")
@Api(tags = "检测标准")
public class QualityTestStandardController {
@Resource
private IQualityTestStandardService qualityTestStandardService;
@Resource
private QualityTestStandardParamService qualityTestStandardParamService;
/**
* 新增检测标准主表
* @param qualityTestStandard
* @return
*/
@PostMapping("/add")
@ApiOperation("新增检测标准")
@Log(title = "新增检测标准", businessType = BusinessType.INSERT)
public AjaxResult add(@RequestBody QualityTestStandard qualityTestStandard) {
return AjaxResult.success(qualityTestStandardService.save(qualityTestStandard));
}
/**
* 删除检测标准主表
* @param ids
* @return
*/
@DeleteMapping("/del")
@ApiOperation("删除检测标准")
@Log(title = "删除检测标准", businessType = BusinessType.DELETE)
public AjaxResult delQualityTestStandard(@RequestBody List ids) {
if(CollectionUtils.isEmpty(ids)){
return AjaxResult.error("请选择至少一条数据");
}
return AjaxResult.success(qualityTestStandardService.delQualityTestStandard(ids));
}
/**
* 检测标准主表修改
* @param qualityTestStandard
* @return
*/
@PostMapping("/update")
@ApiOperation("修改检测标准")
@Log(title = "修改检测标准", businessType = BusinessType.UPDATE)
public AjaxResult update(@RequestBody QualityTestStandard qualityTestStandard) {
return AjaxResult.success(qualityTestStandardService.updateById(qualityTestStandard));
}
/**
*检测标准主表分页查询
* @param page
* @param qualityTestStandard
* @return
*/
@GetMapping("/listPage")
@ApiOperation("检测标准分页查询")
@Log(title = "检测标准分页查询", businessType = BusinessType.OTHER)
public AjaxResult qualityTestStandardListPage(Page page, QualityTestStandard qualityTestStandard) {
return AjaxResult.success(qualityTestStandardService.qualityTestStandardListPage(page, qualityTestStandard));
}
/**
* 检测标准复制参数
* @param qualityTestStandard
* @return
*/
@PostMapping("/copyParam")
@ApiOperation("复制检测标准参数")
@Log(title = "复制检测标准参数", businessType = BusinessType.OTHER)
public AjaxResult copyParam(@RequestBody QualityTestStandard qualityTestStandard) {
return AjaxResult.success(qualityTestStandardService.copyParam(qualityTestStandard));
}
/**
* 检测标准批量审核
* @param qualityTestStandards
* @return
*/
@PostMapping("/qualityTestStandardAudit")
@ApiOperation("批量审核检测标准")
@Log(title = "批量审核检测标准", businessType = BusinessType.OTHER)
public AjaxResult qualityTestStandardAudit(@RequestBody List qualityTestStandards) {
return AjaxResult.success(qualityTestStandardService.updateBatchById(qualityTestStandards));
}
/**
* 根据产品id查询相关的检验标准
* @return
*/
@GetMapping("/getQualityTestStandardByProductId")
@ApiOperation("根据产品id查询相关的检验标准")
@Log(title = "根据产品id查询相关的检验标准", businessType = BusinessType.OTHER)
public AjaxResult getQualityTestStandardByProductId(@Nonnull Long productId, @Nonnull Integer inspectType, String process) {
return AjaxResult.success(qualityTestStandardService.getQualityTestStandardByProductId(productId,inspectType,process));
}
/**
* 根据检测标准id查询相关的检验标准参数
* @return
*/
@GetMapping("/getQualityTestStandardParamByTestStandardId")
@ApiOperation("根据检测标准id查询相关的检验标准参数")
@Log(title = "根据检测标准id查询相关的检验标准参数", businessType = BusinessType.OTHER)
public AjaxResult getQualityTestStandardParamByTestStandardId(Long testStandardId) {
return AjaxResult.success(qualityTestStandardParamService.list(Wrappers.lambdaQuery().eq(QualityTestStandardParam::getTestStandardId, testStandardId)));
}
}