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