CONTROLLER_PREFIX

develop-QA
Tom Li 3 months ago
parent dc5a30440c
commit d0c3dc24d7
  1. 238
      blade-ops/blade-develop/src/main/java/org/springblade/desk/quality/controller/NgController.java
  2. 100
      blade-ops/blade-develop/src/main/java/org/springblade/desk/quality/excel/NgExcel.java
  3. 39
      blade-ops/blade-develop/src/main/java/org/springblade/desk/quality/mapper/NgMapper.java
  4. 27
      blade-ops/blade-develop/src/main/java/org/springblade/desk/quality/mapper/NgMapper.xml
  5. 23
      blade-ops/blade-develop/src/main/java/org/springblade/desk/quality/pojo/dto/NgDTO.java
  6. 129
      blade-ops/blade-develop/src/main/java/org/springblade/desk/quality/pojo/entity/Ng.java
  7. 23
      blade-ops/blade-develop/src/main/java/org/springblade/desk/quality/pojo/vo/NgVO.java
  8. 43
      blade-ops/blade-develop/src/main/java/org/springblade/desk/quality/service/INgService.java
  9. 60
      blade-ops/blade-develop/src/main/java/org/springblade/desk/quality/service/impl/NgServiceImpl.java
  10. 35
      blade-ops/blade-develop/src/main/java/org/springblade/desk/quality/wrapper/NgWrapper.java
  11. 2
      blade-ops/blade-develop/src/test/java/org/springblade/test/CodeGeneratorVer2.java
  12. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/OemController.java
  13. 36
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/IOemService.java
  14. 41
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/OemServiceImpl.java
  15. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/QAModuleConst.java
  16. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/AuditFileController.java
  17. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestController.java
  18. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestItemController.java
  19. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestStandardController.java
  20. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/CycleTestTaskController.java
  21. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/IndicatorMonthController.java
  22. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/IndicatorYearController.java
  23. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/IndicatorYearDetailController.java
  24. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionItemController.java
  25. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionResultController.java
  26. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
  27. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTemplateController.java
  28. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/IotHardnessController.java
  29. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/IotThicknessController.java
  30. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankController.java
  31. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankReportConfigController.java
  32. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankReportController.java
  33. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskController.java
  34. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskCopyController.java
  35. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskHiController.java
  36. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankWaveController.java
  37. 368
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/NgController.java
  38. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/PlanTestController.java
  39. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ProReTemplateController.java
  40. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ProReTemplateDetailController.java
  41. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ProReTemplateTankController.java
  42. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RelInsTemplateItemController.java
  43. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RelTankReportItemController.java
  44. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RelTankWaveItemController.java
  45. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/RemindMsgController.java
  46. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/StandardController.java
  47. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/StandardParamController.java
  48. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/SupplyInspectionController.java
  49. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/TestController.java
  50. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/excel/NgExcel.java
  51. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/NgMapper.java
  52. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/dto/NgDTO.java
  53. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/entity/Ng.java
  54. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/pojo/vo/NgVO.java
  55. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/INgService.java
  56. 15
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/NgServiceImpl.java
  57. 1
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/NgWrapper.java

@ -0,0 +1,238 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.controller;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.annotation.IsAdmin;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.pojo.entity.Ng;
import org.springblade.desk.quality.pojo.vo.NgVO;
import org.springblade.desk.quality.excel.NgExcel;
import org.springblade.desk.quality.wrapper.NgWrapper;
import org.springblade.desk.quality.service.INgService;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.constant.BladeConstant;
import java.util.Map;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
/**
* [缺陷] 控制器
*
* @author Tom Shuo
* @since 2026-01-04
*/
@RestController
@RequestMapping("/Ng")
@Data
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Slf4j
@Tag(name = "[缺陷]", description = "[缺陷]接口")
public class NgController extends BladeController {
@Resource
private INgService service;
/**
* [缺陷] 详情
*/
@GetMapping("/detail")
@ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入Ng Obj")
public R<NgVO> detail(Ng ng) {
QueryWrapper<Ng> qw = Condition.getQueryWrapper(ng);
Ng detail = service.getOne(qw);
NgVO detailVO = NgWrapper.build().entityVO(detail);
service.setVOValue(detailVO);
return R.data(detailVO);
}
/**
* [缺陷] list分页
*/
@GetMapping("/list")
@ApiOperationSupport(order = 20)
@Operation(summary = "list分页", description = "传入Ng Obj")
public R<IPage<NgVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> ng,
Query query) {
QueryWrapper<Ng> qw = Condition.getQueryWrapper(ng, Ng.class);
IPage<Ng> pages = service.page(Condition.getPage(query), qw);
IPage<NgVO> pagesVO = NgWrapper.build().pageVO(pages);
pagesVO.getRecords()
.stream()
.peek(service::setVOValue)
.collect(Collectors.toList());
return R.data(pagesVO);
}
/**
* [缺陷] page分页
*/
@GetMapping("/page")
@ApiOperationSupport(order = 21)
@Operation(summary = "page分页", description = "传入Ng Obj")
public R<IPage<NgVO>> page(NgVO ng, Query query) {
IPage<NgVO> pagesVO = service.selectNgPage(
Condition.getPage(query), ng
);
return R.data(pagesVO);
}
/**
* [缺陷] list下拉选择
*/
@GetMapping("/listForSelect")
@ApiOperationSupport(order = 22)
@Operation(summary = "list下拉选择", description = "")
public R<List<NgVO>> listForSelect() {
List<Ng> list = service.list();
List<NgVO> listVO = NgWrapper.build().listVO(list);
return R.data(listVO);
}
/**
* [缺陷] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入Ng Obj")
public R save(@Valid @RequestBody Ng addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
}
/**
* [缺陷] 新增批量
*/
@PostMapping("/saveBat")
@ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入Ng List")
public R saveBat(@Valid @RequestBody List<Ng> addList) {
addList.forEach(one -> {
one.setId(null);
});
return R.status(service.saveBatch(addList));
}
/**
* [缺陷] 修改一条
*/
@PostMapping("/update")
@ApiOperationSupport(order = 40)
@Operation(summary = "修改一条", description = "传入Ng Obj")
public R update(@Valid @RequestBody Ng updateOne) {
return R.status(service.updateById(updateOne));
}
/**
* [缺陷] 修改批量
*/
@PostMapping("/updateBat")
@ApiOperationSupport(order = 41)
@Operation(summary = "修改批量", description = "传入Ng List")
public R updateBat(@Valid @RequestBody List<Ng> updateList) {
return R.status(service.updateBatchById(updateList));
}
/**
* [缺陷] 新增或修改一条
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 50)
@Operation(summary = "新增或修改一条", description = "传入Ng Obj")
public R submit(@Valid @RequestBody Ng mergeOne) {
return R.status(service.saveOrUpdate(mergeOne));
}
/**
* [缺陷] 新增或修改批量
*/
@PostMapping("/submitBat")
@ApiOperationSupport(order = 51)
@Operation(summary = "新增或修改批量", description = "传入Ng List")
public R submitBat(@Valid @RequestBody List<Ng> mergeList) {
return R.status(service.saveOrUpdateBatch(mergeList));
}
/**
* [缺陷] 逻辑删除
*/
@PostMapping("/remove")
@ApiOperationSupport(order = 61)
@Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return R.status(service.deleteLogic(Func.toLongList(ids)));
}
/**
* [缺陷] 导出Excel
*/
@GetMapping("/exportExcel")
@ApiOperationSupport(order = 70)
@Operation(summary = "导出Excel", description = "传入Ng")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> ng,
BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<Ng> qw = Condition.getQueryWrapper(ng, Ng.class);
//if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(Ng::getTenantId, bladeUser.getTenantId());
//}
//queryWrapper.lambda().eq(NgEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<NgExcel> list = service.exportNg(qw);
ExcelUtil.export(response, "[缺陷]数据" + org.springblade.core.tool.utils.DateUtil.time(),
"[缺陷]数据表", list, NgExcel.class);
}
/**
* [缺陷] 下载Excel模板
*/
@GetMapping("/downloadExcelTemplate")
@ApiOperationSupport(order = 71)
@Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<org.springframework.core.io.Resource> downloadExcelTemplate() {
return ExcelExtUtil.downloadXlsTemplate(
"Excel/QA/ImportTemplate-CycleTestItem.xls",
"导入模版-周期试验项目.xls");
}
/**
* [缺陷] 导入Excel
*/
@PostMapping("/importExcel")
@ApiOperationSupport(order = 72)
@Operation(summary = "导入Excel", description = "MultipartFile")
public R importExcel(@RequestParam("file") MultipartFile file) {
R checkR = ExcelExtUtil.importExcelCheck(file);
if (checkR != null) {
return checkR;
}
List<Ng> importList = ExcelUtil.read(
file, 0, 1, Ng.class
);
return R.status(service.saveBatch(importList));
}
}

@ -0,0 +1,100 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.excel;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import org.springblade.core.mp.base.BaseEntity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import java.io.Serial;
/**
* [缺陷] Excel实体类
*
* @author Tom Shuo
* @since 2026-01-04
*/
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class NgExcel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 编码
*/
@ColumnWidth(20)
@ExcelProperty("编码")
private String code;
/**
* 故障类型-[1]:故障特征;[2]:故障类别;[3]:问题大类;[4]:问题小类;
*/
@ColumnWidth(20)
@ExcelProperty("故障类型-[1]:故障特征;[2]:故障类别;[3]:问题大类;[4]:问题小类;")
private Long ngType;
/**
* 名称
*/
@ColumnWidth(20)
@ExcelProperty("名称")
private String name;
/**
* 父级[不良原因]id
*/
@ColumnWidth(20)
@ExcelProperty("父级[不良原因]id")
private BigDecimal parentId;
/**
* 排序
*/
@ColumnWidth(20)
@ExcelProperty("排序")
private Long sort;
/**
* 备注
*/
@ColumnWidth(20)
@ExcelProperty("备注")
private String remark;
/**
* 缺陷描述
*/
@ColumnWidth(20)
@ExcelProperty("缺陷描述")
private String desc;
/**
* [制品]id
*/
@ColumnWidth(20)
@ExcelProperty("[制品]id")
private BigDecimal productId;
/**
* [制品]编码
*/
@ColumnWidth(20)
@ExcelProperty("[制品]编码")
private String productCode;
/**
* [工序]id
*/
@ColumnWidth(20)
@ExcelProperty("[工序]id")
private BigDecimal processId;
/**
* [工序]编码
*/
@ColumnWidth(20)
@ExcelProperty("[工序]编码")
private String processCode;
}

@ -0,0 +1,39 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.mapper;
import org.springblade.desk.quality.pojo.entity.Ng;
import org.springblade.desk.quality.pojo.vo.NgVO;
import org.springblade.desk.quality.excel.NgExcel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* [缺陷] Mapper 接口
*
* @author Tom Shuo
* @since 2026-01-04
*/
public interface NgMapper extends BaseMapper<Ng> {
/**
* 自定义分页
*
* @param page 分页参数
* @param ng 查询参数
* @return List<NgVO>
*/
List<NgVO> selectNgPage(IPage page, NgVO ng);
/**
* 获取导出数据
*
* @param queryWrapper 查询条件
* @return List<NgExcel>
*/
List<NgExcel> exportNg(@Param("ew") Wrapper<Ng> queryWrapper);
}

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.desk.quality.mapper.NgMapper">
<!-- 通用查询映射结果 -->
<resultMap id="ngResultMap" type="org.springblade.desk.quality.pojo.entity.Ng">
<result column="CODE" property="code"/>
<result column="NG_TYPE" property="ngType"/>
<result column="NAME" property="name"/>
<result column="PARENT_ID" property="parentId"/>
<result column="SORT" property="sort"/>
<result column="REMARK" property="remark"/>
<result column="DESC" property="desc"/>
<result column="PRODUCT_ID" property="productId"/>
<result column="PRODUCT_CODE" property="productCode"/>
<result column="PROCESS_ID" property="processId"/>
<result column="PROCESS_CODE" property="processCode"/>
</resultMap>
<select id="selectNgPage" resultMap="ngResultMap">
SELECT * FROM QA_NG WHERE is_deleted = 0
</select>
<select id="exportNg" resultType="org.springblade.desk.quality.excel.NgExcel">
SELECT * FROM QA_NG ${ew.customSqlSegment}
</select>
</mapper>

@ -0,0 +1,23 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.pojo.dto;
import org.springblade.desk.quality.pojo.entity.Ng;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* [缺陷] 数据传输对象实体类
*
* @author Tom Shuo
* @since 2026-01-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class NgDTO extends Ng {
@Serial
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,129 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.pojo.entity;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import org.springblade.core.mp.base.BaseEntity;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* [缺陷] 实体类
*
* @author Tom Shuo
* @since 2026-01-04
*/
@Data
@TableName("QA_NG")
@Schema(description = "Ng Entity对象")
@EqualsAndHashCode(callSuper = true)
public class Ng extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 编码
*/
public static final String COL_CODE = "CODE";
/**
* 故障类型-[1]:故障特征;[2]:故障类别;[3]:问题大类;[4]:问题小类;
*/
public static final String COL_NG_TYPE = "NG_TYPE";
/**
* 名称
*/
public static final String COL_NAME = "NAME";
/**
* 父级[不良原因]id
*/
public static final String COL_PARENT_ID = "PARENT_ID";
/**
* 排序
*/
public static final String COL_SORT = "SORT";
/**
* 备注
*/
public static final String COL_REMARK = "REMARK";
/**
* 缺陷描述
*/
public static final String COL_DESC = "DESC";
/**
* [制品]id
*/
public static final String COL_PRODUCT_ID = "PRODUCT_ID";
/**
* [制品]编码
*/
public static final String COL_PRODUCT_CODE = "PRODUCT_CODE";
/**
* [工序]id
*/
public static final String COL_PROCESS_ID = "PROCESS_ID";
/**
* [工序]编码
*/
public static final String COL_PROCESS_CODE = "PROCESS_CODE";
/**
* 编码
*/
@Schema(description = "编码")
private String code;
/**
* 故障类型-[1]:故障特征;[2]:故障类别;[3]:问题大类;[4]:问题小类;
*/
@Schema(description = "故障类型-[1]:故障特征;[2]:故障类别;[3]:问题大类;[4]:问题小类;")
private Long ngType;
/**
* 名称
*/
@Schema(description = "名称")
private String name;
/**
* 父级[不良原因]id
*/
@Schema(description = "父级[不良原因]id")
private BigDecimal parentId;
/**
* 排序
*/
@Schema(description = "排序")
private Long sort;
/**
* 备注
*/
@Schema(description = "备注")
private String remark;
/**
* 缺陷描述
*/
@Schema(description = "缺陷描述")
private String desc;
/**
* [制品]id
*/
@Schema(description = "[制品]id")
private BigDecimal productId;
/**
* [制品]编码
*/
@Schema(description = "[制品]编码")
private String productCode;
/**
* [工序]id
*/
@Schema(description = "[工序]id")
private BigDecimal processId;
/**
* [工序]编码
*/
@Schema(description = "[工序]编码")
private String processCode;
}

@ -0,0 +1,23 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.pojo.vo;
import org.springblade.desk.quality.pojo.entity.Ng;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* [缺陷] 视图实体类
*
* @author Tom Shuo
* @since 2026-01-04
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class NgVO extends Ng {
@Serial
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,43 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.springblade.desk.quality.pojo.entity.Ng;
import org.springblade.desk.quality.pojo.vo.NgVO;
import org.springblade.desk.quality.excel.NgExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import java.util.List;
/**
* [缺陷] 服务类
*
* @author Tom Shuo
* @since 2026-01-04
*/
public interface INgService extends BaseService<Ng> {
/**
* 自定义分页
*
* @param page 分页参数
* @param ng 查询参数
* @return IPage<NgVO>
*/
IPage<NgVO> selectNgPage(IPage<NgVO> page, NgVO ng);
/**
* 导出数据
*
* @param queryWrapper 查询条件
* @return List<NgExcel>
*/
List<NgExcel> exportNg(Wrapper<Ng> queryWrapper);
/**
* VO
* @param vo
*/
void setVOValue(NgVO vo);
}

@ -0,0 +1,60 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.service.impl;
import jakarta.annotation.Resource;
import lombok.Data;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.springblade.desk.quality.pojo.entity.Ng;
import org.springblade.desk.quality.pojo.vo.NgVO;
import org.springblade.desk.quality.excel.NgExcel;
import org.springblade.desk.quality.mapper.NgMapper;
import org.springblade.desk.quality.service.INgService;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.feign.IDictClient;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import java.util.List;
/**
* [缺陷] 服务实现类
*
* @author Tom Shuo
* @since 2026-01-04
*/
@Service
@Data
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Slf4j
public class NgServiceImpl extends BaseServiceImpl<NgMapper, Ng> implements INgService {
@Resource
private IUserClient userClient;
@Resource
private IDictClient dictClient;
@Override
public IPage<NgVO> selectNgPage(IPage<NgVO> page, NgVO ng) {
return page.setRecords(baseMapper.selectNgPage(page, ng));
}
@Override
public List<NgExcel> exportNg(Wrapper<Ng> queryWrapper) {
List<NgExcel> ngList = baseMapper.exportNg(queryWrapper);
//ngList.forEach(ng -> {
// ng.setTypeName(DictCache.getValue(DictEnum.YES_NO, Ng.getType()));
//});
return ngList;
}
@Override
public void setVOValue(NgVO vo) {
}
}

@ -0,0 +1,35 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.quality.pojo.entity.Ng;
import org.springblade.desk.quality.pojo.vo.NgVO;
import java.util.Objects;
/**
* [缺陷] 包装类,返回视图层所需的字段
*
* @author Tom Shuo
* @since 2026-01-04
*/
public class NgWrapper extends BaseEntityWrapper<Ng, NgVO> {
public static NgWrapper build() {
return new NgWrapper();
}
@Override
public NgVO entityVO(Ng ng) {
NgVO VO = Objects.requireNonNull(BeanUtil.copyProperties(ng, NgVO.class));
//User createUser = UserCache.getUser(ng.getCreateUser());
//User updateUser = UserCache.getUser(ng.getUpdateUser());
//ngVO.setCreateUserName(createUser.getName());
//ngVO.setUpdateUserName(updateUser.getName());
return VO;
}
}

@ -65,7 +65,7 @@ public class CodeGeneratorVer2 {
* 需要生成的表名(两者只能取其一) * 需要生成的表名(两者只能取其一)
*/ */
public static String[] INCLUDE_TABLES = { public static String[] INCLUDE_TABLES = {
"QA_PLAN_TEST" "QA_NG"
}; };
/** /**
* 需要排除的表名(两者只能取其一) * 需要排除的表名(两者只能取其一)

@ -236,4 +236,14 @@ public class OemController extends BladeController {
); );
return R.status(service.saveBatch(importList)); return R.status(service.saveBatch(importList));
} }
/**
* [外协厂家] 设置密码
*/
@PostMapping("/setPassword")
@ApiOperationSupport(order = 40)
@Operation(summary = "设置密码", description = "传入Oem Obj")
public R setPassword(@Valid @RequestBody Oem updateOne) {
return service.setPassword(updateOne);
}
} }

@ -6,6 +6,7 @@ package org.springblade.desk.basic.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.excel.OemExcel; import org.springblade.desk.basic.excel.OemExcel;
import org.springblade.desk.basic.pojo.entity.Oem; import org.springblade.desk.basic.pojo.entity.Oem;
import org.springblade.desk.basic.pojo.vo.OemVO; import org.springblade.desk.basic.pojo.vo.OemVO;
@ -19,26 +20,29 @@ import java.util.List;
* @since 2026-01-04 * @since 2026-01-04
*/ */
public interface IOemService extends BaseService<Oem> { public interface IOemService extends BaseService<Oem> {
/** /**
* 自定义分页 * 自定义分页
* *
* @param page 分页参数 * @param page 分页参数
* @param oem 查询参数 * @param oem 查询参数
* @return IPage<OemVO> * @return IPage<OemVO>
*/ */
IPage<OemVO> selectOemPage(IPage<OemVO> page, OemVO oem); IPage<OemVO> selectOemPage(IPage<OemVO> page, OemVO oem);
/** /**
* 导出数据 * 导出数据
* *
* @param queryWrapper 查询条件 * @param queryWrapper 查询条件
* @return List<OemExcel> * @return List<OemExcel>
*/ */
List<OemExcel> exportOem(Wrapper<Oem> queryWrapper); List<OemExcel> exportOem(Wrapper<Oem> queryWrapper);
/** /**
* VO * VO
*
* @param vo * @param vo
*/ */
void setVOValue(OemVO vo); void setVOValue(OemVO vo);
R setPassword(Oem updateOne);
} }

@ -11,6 +11,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.excel.OemExcel; import org.springblade.desk.basic.excel.OemExcel;
import org.springblade.desk.basic.mapper.OemMapper; import org.springblade.desk.basic.mapper.OemMapper;
import org.springblade.desk.basic.pojo.entity.Oem; import org.springblade.desk.basic.pojo.entity.Oem;
@ -40,22 +41,32 @@ public class OemServiceImpl extends BaseServiceImpl<OemMapper, Oem> implements I
@Resource @Resource
private IDictClient dictClient; private IDictClient dictClient;
@Override @Override
public IPage<OemVO> selectOemPage(IPage<OemVO> page, OemVO oem) { public IPage<OemVO> selectOemPage(IPage<OemVO> page, OemVO oem) {
return page.setRecords(baseMapper.selectOemPage(page, oem)); return page.setRecords(baseMapper.selectOemPage(page, oem));
} }
@Override @Override
public List<OemExcel> exportOem(Wrapper<Oem> queryWrapper) { public List<OemExcel> exportOem(Wrapper<Oem> queryWrapper) {
List<OemExcel> oemList = baseMapper.exportOem(queryWrapper); List<OemExcel> oemList = baseMapper.exportOem(queryWrapper);
//oemList.forEach(oem -> { //oemList.forEach(oem -> {
// oem.setTypeName(DictCache.getValue(DictEnum.YES_NO, Oem.getType())); // oem.setTypeName(DictCache.getValue(DictEnum.YES_NO, Oem.getType()));
//}); //});
return oemList; return oemList;
} }
@Override @Override
public void setVOValue(OemVO vo) { public void setVOValue(OemVO vo) {
} }
@Override
public R setPassword(Oem updateOne) {
Oem find = getById(updateOne.getId());
if (find == null) {
return R.fail("没有找到对应外协厂商");
}
find.setOemPassword(updateOne.getOemPassword());
return R.success("设置密码成功");
}
} }

@ -9,4 +9,6 @@ public interface QAModuleConst {
* 模块前缀 * 模块前缀
*/ */
String PREFIX = "QA"; String PREFIX = "QA";
String CONTROLLER_PREFIX = "/QA";
} }

@ -24,8 +24,10 @@ import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.constant.BaseRequest; import org.springblade.desk.basic.constant.BaseRequest;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.AuditFileExcel; import org.springblade.desk.quality.excel.AuditFileExcel;
import org.springblade.desk.quality.pojo.entity.AuditFile; import org.springblade.desk.quality.pojo.entity.AuditFile;
import org.springblade.desk.quality.pojo.request.AuditFileSearch; import org.springblade.desk.quality.pojo.request.AuditFileSearch;
@ -48,7 +50,7 @@ import java.util.stream.Collectors;
* @since 2025-12-22 * @since 2025-12-22
*/ */
@RestController @RestController
@RequestMapping("/QA/AuditFile") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/AuditFile")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -93,6 +95,9 @@ public class AuditFileController extends BladeController {
if (map.containsKey(BaseRequest.KEEP_USER_REAL_NAME)) { if (map.containsKey(BaseRequest.KEEP_USER_REAL_NAME)) {
search.setKeepUserRealName(Func.toStr(map.get(BaseRequest.KEEP_USER_REAL_NAME))); search.setKeepUserRealName(Func.toStr(map.get(BaseRequest.KEEP_USER_REAL_NAME)));
} }
if (map.containsKey(BaseCol.STATUS)) {
search.setStatus(Func.toInt(map.get(BaseCol.STATUS)));
}
IPage<AuditFile> pages = service.listSearch(Condition.getPage(query), search); IPage<AuditFile> pages = service.listSearch(Condition.getPage(query), search);
IPage<AuditFileVO> pagesVO = AuditFileWrapper.build().pageVO(pages); IPage<AuditFileVO> pagesVO = AuditFileWrapper.build().pageVO(pages);
pagesVO.getRecords() pagesVO.getRecords()

@ -26,6 +26,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.CycleTestExcel; import org.springblade.desk.quality.excel.CycleTestExcel;
import org.springblade.desk.quality.excel.CycleTestExcelImport; import org.springblade.desk.quality.excel.CycleTestExcelImport;
import org.springblade.desk.quality.pojo.entity.CycleTest; import org.springblade.desk.quality.pojo.entity.CycleTest;
@ -55,7 +56,7 @@ import java.util.Map;
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Slf4j @Slf4j
@RequestMapping("/QA/CycleTest") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/CycleTest")
@Tag(name = "[QA][周期试验]", description = "[周期试验]接口") @Tag(name = "[QA][周期试验]", description = "[周期试验]接口")
public class CycleTestController extends BladeController { public class CycleTestController extends BladeController {

@ -24,6 +24,7 @@ import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.CycleTestItemExcel; import org.springblade.desk.quality.excel.CycleTestItemExcel;
import org.springblade.desk.quality.pojo.entity.CycleTestItem; import org.springblade.desk.quality.pojo.entity.CycleTestItem;
import org.springblade.desk.quality.pojo.request.CycleTestItemSubmit; import org.springblade.desk.quality.pojo.request.CycleTestItemSubmit;
@ -46,7 +47,7 @@ import java.util.Map;
* @since 2025-11-17 * @since 2025-11-17
*/ */
@RestController @RestController
@RequestMapping("/QA/CycleTestItem") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/CycleTestItem")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -24,6 +24,7 @@ import org.springblade.core.secure.annotation.IsAdmin;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.CycleTestStandardExcel; import org.springblade.desk.quality.excel.CycleTestStandardExcel;
import org.springblade.desk.quality.pojo.entity.CycleTestStandard; import org.springblade.desk.quality.pojo.entity.CycleTestStandard;
import org.springblade.desk.quality.pojo.vo.CycleTestStandardVO; import org.springblade.desk.quality.pojo.vo.CycleTestStandardVO;
@ -45,7 +46,7 @@ import java.util.Map;
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@RequestMapping("/QA/CycleTestStandard") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/CycleTestStandard")
@Tag(name = "[周期试验标准]", description = "[周期试验标准]接口") @Tag(name = "[周期试验标准]", description = "[周期试验标准]接口")
public class CycleTestStandardController extends BladeController { public class CycleTestStandardController extends BladeController {

@ -25,6 +25,7 @@ import org.springblade.core.secure.annotation.IsAdmin;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.CycleTestTaskExcel; import org.springblade.desk.quality.excel.CycleTestTaskExcel;
import org.springblade.desk.quality.pojo.entity.CycleTestTask; import org.springblade.desk.quality.pojo.entity.CycleTestTask;
import org.springblade.desk.quality.pojo.vo.CycleTestTaskVO; import org.springblade.desk.quality.pojo.vo.CycleTestTaskVO;
@ -45,7 +46,7 @@ import java.util.Map;
* @since 2025-11-17 * @since 2025-11-17
*/ */
@RestController @RestController
@RequestMapping("/QA/CycleTestTask") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/CycleTestTask")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.IndicatorMonthExcel; import org.springblade.desk.quality.excel.IndicatorMonthExcel;
import org.springblade.desk.quality.pojo.entity.IndicatorMonth; import org.springblade.desk.quality.pojo.entity.IndicatorMonth;
import org.springblade.desk.quality.pojo.vo.IndicatorMonthVO; import org.springblade.desk.quality.pojo.vo.IndicatorMonthVO;
@ -46,7 +47,7 @@ import java.util.stream.Collectors;
* @since 2025-12-22 * @since 2025-12-22
*/ */
@RestController @RestController
@RequestMapping("/QA/IndicatorMonth") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/IndicatorMonth")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -26,6 +26,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.IndicatorYearExcel; import org.springblade.desk.quality.excel.IndicatorYearExcel;
import org.springblade.desk.quality.pojo.entity.IndicatorMonth; import org.springblade.desk.quality.pojo.entity.IndicatorMonth;
import org.springblade.desk.quality.pojo.entity.IndicatorYear; import org.springblade.desk.quality.pojo.entity.IndicatorYear;
@ -51,7 +52,7 @@ import java.util.stream.Collectors;
* @since 2025-12-22 * @since 2025-12-22
*/ */
@RestController @RestController
@RequestMapping("/QA/IndicatorYear") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/IndicatorYear")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.IndicatorYearDetailExcel; import org.springblade.desk.quality.excel.IndicatorYearDetailExcel;
import org.springblade.desk.quality.pojo.entity.IndicatorYearDetail; import org.springblade.desk.quality.pojo.entity.IndicatorYearDetail;
import org.springblade.desk.quality.pojo.vo.IndicatorYearDetailVO; import org.springblade.desk.quality.pojo.vo.IndicatorYearDetailVO;
@ -45,7 +46,7 @@ import java.util.stream.Collectors;
* @since 2025-12-23 * @since 2025-12-23
*/ */
@RestController @RestController
@RequestMapping("/IndicatorYearDetail") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/IndicatorYearDetail")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -24,6 +24,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.InspectionItemExcel; import org.springblade.desk.quality.excel.InspectionItemExcel;
import org.springblade.desk.quality.pojo.entity.InspectionItem; import org.springblade.desk.quality.pojo.entity.InspectionItem;
import org.springblade.desk.quality.pojo.vo.InspectionItemVO; import org.springblade.desk.quality.pojo.vo.InspectionItemVO;
@ -43,7 +44,7 @@ import java.util.Map;
* @since 2025-12-16 * @since 2025-12-16
*/ */
@RestController @RestController
@RequestMapping("/QA/InspectionItem") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/InspectionItem")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.InspectionResultExcel; import org.springblade.desk.quality.excel.InspectionResultExcel;
import org.springblade.desk.quality.pojo.entity.InspectionResult; import org.springblade.desk.quality.pojo.entity.InspectionResult;
import org.springblade.desk.quality.pojo.vo.InspectionResultVO; import org.springblade.desk.quality.pojo.vo.InspectionResultVO;
@ -45,7 +46,7 @@ import java.util.stream.Collectors;
* @since 2025-12-23 * @since 2025-12-23
*/ */
@RestController @RestController
@RequestMapping("/InspectionResult") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/InspectionResult")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -23,6 +23,7 @@ import org.springblade.core.secure.annotation.IsAdmin;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.InspectionTaskExcel; import org.springblade.desk.quality.excel.InspectionTaskExcel;
import org.springblade.desk.quality.pojo.entity.InspectionTask; import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.request.InspectionTaskStartNew; import org.springblade.desk.quality.pojo.request.InspectionTaskStartNew;
@ -44,7 +45,7 @@ import java.util.Map;
@RestController @RestController
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@RequestMapping("/QA/InspectionTask") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/InspectionTask")
@Tag(name = "[QA][检验任务]", description = "[检验任务]接口") @Tag(name = "[QA][检验任务]", description = "[检验任务]接口")
public class InspectionTaskController extends BladeController { public class InspectionTaskController extends BladeController {

@ -27,6 +27,7 @@ import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.constant.BaseRequest; import org.springblade.desk.basic.constant.BaseRequest;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.util.RequestUtil; import org.springblade.desk.basic.util.RequestUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.InspectionTemplateExcel; import org.springblade.desk.quality.excel.InspectionTemplateExcel;
import org.springblade.desk.quality.pojo.entity.InspectionTemplate; import org.springblade.desk.quality.pojo.entity.InspectionTemplate;
import org.springblade.desk.quality.pojo.request.InspectionTemplateAdd; import org.springblade.desk.quality.pojo.request.InspectionTemplateAdd;
@ -52,7 +53,7 @@ import java.util.stream.Collectors;
* @since 2025-12-19 * @since 2025-12-19
*/ */
@RestController @RestController
@RequestMapping("/QA/InspectionTemplate") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/InspectionTemplate")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.IotHardnessExcel; import org.springblade.desk.quality.excel.IotHardnessExcel;
import org.springblade.desk.quality.pojo.entity.IotHardness; import org.springblade.desk.quality.pojo.entity.IotHardness;
import org.springblade.desk.quality.pojo.vo.IotHardnessVO; import org.springblade.desk.quality.pojo.vo.IotHardnessVO;
@ -45,7 +46,7 @@ import java.util.stream.Collectors;
* @since 2025-12-23 * @since 2025-12-23
*/ */
@RestController @RestController
@RequestMapping("/IotHardness") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/IotHardness")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.IotThicknessExcel; import org.springblade.desk.quality.excel.IotThicknessExcel;
import org.springblade.desk.quality.pojo.entity.IotThickness; import org.springblade.desk.quality.pojo.entity.IotThickness;
import org.springblade.desk.quality.pojo.vo.IotThicknessVO; import org.springblade.desk.quality.pojo.vo.IotThicknessVO;
@ -45,7 +46,7 @@ import java.util.stream.Collectors;
* @since 2025-12-23 * @since 2025-12-23
*/ */
@RestController @RestController
@RequestMapping("/IotThickness") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/IotThickness")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -24,6 +24,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.LiquidTankExcel; import org.springblade.desk.quality.excel.LiquidTankExcel;
import org.springblade.desk.quality.pojo.entity.LiquidTank; import org.springblade.desk.quality.pojo.entity.LiquidTank;
import org.springblade.desk.quality.pojo.vo.LiquidTankVO; import org.springblade.desk.quality.pojo.vo.LiquidTankVO;
@ -44,7 +45,7 @@ import java.util.stream.Collectors;
* @since 2025-12-16 * @since 2025-12-16
*/ */
@RestController @RestController
@RequestMapping("/QA/LiquidTank") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/LiquidTank")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.LiquidTankReportConfigExcel; import org.springblade.desk.quality.excel.LiquidTankReportConfigExcel;
import org.springblade.desk.quality.pojo.entity.LiquidTankReportConfig; import org.springblade.desk.quality.pojo.entity.LiquidTankReportConfig;
import org.springblade.desk.quality.pojo.vo.LiquidTankReportConfigVO; import org.springblade.desk.quality.pojo.vo.LiquidTankReportConfigVO;
@ -44,7 +45,7 @@ import java.util.Map;
* @since 2025-12-18 * @since 2025-12-18
*/ */
@RestController @RestController
@RequestMapping("/QA/LiquidTankReportConfig") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/LiquidTankReportConfig")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.LiquidTankReportExcel; import org.springblade.desk.quality.excel.LiquidTankReportExcel;
import org.springblade.desk.quality.pojo.entity.LiquidTankReport; import org.springblade.desk.quality.pojo.entity.LiquidTankReport;
import org.springblade.desk.quality.pojo.entity.LiquidTankTaskCopy; import org.springblade.desk.quality.pojo.entity.LiquidTankTaskCopy;
@ -45,7 +46,7 @@ import java.util.Map;
* @since 2025-12-18 * @since 2025-12-18
*/ */
@RestController @RestController
@RequestMapping("/QA/LiquidTankReport") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/LiquidTankReport")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -26,6 +26,7 @@ import org.springblade.core.tool.utils.DateUtil;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.constant.BaseCol; import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.quality.constant.LiquidTankTaskConst; import org.springblade.desk.quality.constant.LiquidTankTaskConst;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.LiquidTankTaskExcel; import org.springblade.desk.quality.excel.LiquidTankTaskExcel;
import org.springblade.desk.quality.pojo.entity.LiquidTankTask; import org.springblade.desk.quality.pojo.entity.LiquidTankTask;
import org.springblade.desk.quality.pojo.vo.LiquidTankTaskVO; import org.springblade.desk.quality.pojo.vo.LiquidTankTaskVO;
@ -46,7 +47,7 @@ import java.util.stream.Collectors;
* @since 2025-12-16 * @since 2025-12-16
*/ */
@RestController @RestController
@RequestMapping("/QA/LiquidTankTask") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/LiquidTankTask")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -28,6 +28,7 @@ import org.springblade.desk.basic.util.RequestUtil;
import org.springblade.desk.basic.constant.BaseCol; import org.springblade.desk.basic.constant.BaseCol;
import org.springblade.desk.basic.constant.BaseRequest; import org.springblade.desk.basic.constant.BaseRequest;
import org.springblade.desk.quality.constant.LiquidTankTaskConst; import org.springblade.desk.quality.constant.LiquidTankTaskConst;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.LiquidTankTaskCopyExcel; import org.springblade.desk.quality.excel.LiquidTankTaskCopyExcel;
import org.springblade.desk.quality.pojo.entity.LiquidTankTaskCopy; import org.springblade.desk.quality.pojo.entity.LiquidTankTaskCopy;
import org.springblade.desk.quality.pojo.vo.LiquidTankTaskCopyVO; import org.springblade.desk.quality.pojo.vo.LiquidTankTaskCopyVO;
@ -50,7 +51,7 @@ import java.util.stream.Collectors;
* @since 2025-12-18 * @since 2025-12-18
*/ */
@RestController @RestController
@RequestMapping("/QA/LiquidTankTaskCopy") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/LiquidTankTaskCopy")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.LiquidTankTaskHiExcel; import org.springblade.desk.quality.excel.LiquidTankTaskHiExcel;
import org.springblade.desk.quality.pojo.entity.LiquidTankTaskHi; import org.springblade.desk.quality.pojo.entity.LiquidTankTaskHi;
import org.springblade.desk.quality.pojo.vo.LiquidTankTaskHiVO; import org.springblade.desk.quality.pojo.vo.LiquidTankTaskHiVO;
@ -44,7 +45,7 @@ import java.util.Map;
* @since 2025-12-17 * @since 2025-12-17
*/ */
@RestController @RestController
@RequestMapping("/QA/LiquidTankTaskHi") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/LiquidTankTaskHi")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.LiquidTankWaveExcel; import org.springblade.desk.quality.excel.LiquidTankWaveExcel;
import org.springblade.desk.quality.pojo.entity.LiquidTankWave; import org.springblade.desk.quality.pojo.entity.LiquidTankWave;
import org.springblade.desk.quality.pojo.vo.LiquidTankWaveVO; import org.springblade.desk.quality.pojo.vo.LiquidTankWaveVO;
@ -44,7 +45,7 @@ import java.util.Map;
* @since 2025-12-19 * @since 2025-12-19
*/ */
@RestController @RestController
@RequestMapping("/QA/LiquidTankWave") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/LiquidTankWave")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -3,50 +3,56 @@
*/ */
package org.springblade.desk.quality.controller; package org.springblade.desk.quality.controller;
import io.swagger.v3.oas.annotations.tags.Tag; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import lombok.Data;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.core.secure.BladeUser; import org.springblade.common.constant.CommonConstant;
import org.springblade.core.secure.annotation.IsAdmin; import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.device.pojo.entity.MeasuringUpkeepEntity;
import org.springblade.desk.order.pojo.entity.YieldOrderCraft;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.NgExcel;
import org.springblade.desk.quality.pojo.entity.Ng; import org.springblade.desk.quality.pojo.entity.Ng;
import org.springblade.desk.quality.pojo.vo.NgVO; import org.springblade.desk.quality.pojo.vo.NgVO;
import org.springblade.desk.quality.excel.NgExcel;
import org.springblade.desk.quality.wrapper.NgWrapper;
import org.springblade.desk.quality.service.INgService; import org.springblade.desk.quality.service.INgService;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.desk.quality.wrapper.NgWrapper;
import org.springblade.core.tool.utils.DateUtil; import org.springframework.http.ResponseEntity;
import org.springblade.core.excel.util.ExcelUtil; import org.springframework.web.bind.annotation.*;
import org.springblade.core.tool.constant.BladeConstant; import org.springframework.web.multipart.MultipartFile;
import java.util.Map;
import java.util.List; import java.util.List;
import jakarta.servlet.http.HttpServletResponse; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* [缺陷] 控制器 * [缺陷] 控制器
* mes v1: bs_review_sheet_type
* *
* @author Tom Shuo * @author Tom Shuo
* @since 2026-01-04 * @since 2026-01-04
*/ */
@RestController @RestController
@RequestMapping("/Ng") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/Ng")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -55,184 +61,192 @@ import jakarta.servlet.http.HttpServletResponse;
public class NgController extends BladeController { public class NgController extends BladeController {
@Resource @Resource
private INgService service; private INgService service;
/** /**
* [缺陷] 详情 * [缺陷] 详情
*/ */
@GetMapping("/detail") @GetMapping("/detail")
@ApiOperationSupport(order = 10) @ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入Ng Obj") @Operation(summary = "详情", description = "传入Ng Obj")
public R<NgVO> detail(Ng ng) { public R<NgVO> detail(Ng ng) {
QueryWrapper<Ng> qw = Condition.getQueryWrapper(ng); QueryWrapper<Ng> qw = Condition.getQueryWrapper(ng);
Ng detail = service.getOne(qw); Ng detail = service.getOne(qw);
NgVO detailVO = NgWrapper.build().entityVO(detail); NgVO detailVO = NgWrapper.build().entityVO(detail);
service.setVOValue(detailVO); service.setVOValue(detailVO);
return R.data(detailVO); return R.data(detailVO);
} }
/** /**
* [缺陷] list分页 * [缺陷] list分页
*/ */
@GetMapping("/list") @GetMapping("/list")
@ApiOperationSupport(order = 20) @ApiOperationSupport(order = 20)
@Operation(summary = "list分页", description = "传入Ng Obj") @Operation(summary = "list分页", description = "传入Ng Obj")
public R<IPage<NgVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> ng, public R<IPage<NgVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> ng,
Query query) { Query query) {
QueryWrapper<Ng> qw = Condition.getQueryWrapper(ng, Ng.class); QueryWrapper<Ng> qw = Condition.getQueryWrapper(ng, Ng.class);
IPage<Ng> pages = service.page(Condition.getPage(query), qw); IPage<Ng> pages = service.page(Condition.getPage(query), qw);
IPage<NgVO> pagesVO = NgWrapper.build().pageVO(pages); IPage<NgVO> pagesVO = NgWrapper.build().pageVO(pages);
pagesVO.getRecords() pagesVO.getRecords()
.stream() .stream()
.peek(service::setVOValue) .peek(service::setVOValue)
.collect(Collectors.toList()); .collect(Collectors.toList());
return R.data(pagesVO); return R.data(pagesVO);
} }
/** /**
* [缺陷] page分页 * [缺陷] page分页
*/ */
@GetMapping("/page") @GetMapping("/page")
@ApiOperationSupport(order = 21) @ApiOperationSupport(order = 21)
@Operation(summary = "page分页", description = "传入Ng Obj") @Operation(summary = "page分页", description = "传入Ng Obj")
public R<IPage<NgVO>> page(NgVO ng, Query query) { public R<IPage<NgVO>> page(NgVO ng, Query query) {
IPage<NgVO> pagesVO = service.selectNgPage( IPage<NgVO> pagesVO = service.selectNgPage(
Condition.getPage(query), ng Condition.getPage(query), ng
); );
return R.data(pagesVO); return R.data(pagesVO);
} }
/** /**
* [缺陷] list下拉选择 * [缺陷] list下拉选择
*/ */
@GetMapping("/listForSelect") @GetMapping("/listForSelect")
@ApiOperationSupport(order = 22) @ApiOperationSupport(order = 22)
@Operation(summary = "list下拉选择", description = "") @Operation(summary = "list下拉选择", description = "")
public R<List<NgVO>> listForSelect() { public R<List<NgVO>> listForSelect(
List<Ng> list = service.list(); @Parameter(description = "ngType", required = true) @RequestParam Integer ngType,
List<NgVO> listVO = NgWrapper.build().listVO(list); @Parameter(description = "parentId", required = false) @RequestParam Integer parentId) {
return R.data(listVO); LambdaQueryWrapper<Ng> qw = Wrappers.lambdaQuery(Ng.class);
qw.eq(Ng::getNgType, ngType);
if (parentId != null) {
qw.eq(Ng::getParentId, parentId);
}
qw.eq(Ng::getIsDeleted, CommonConstant.DELETE_FALSE);
List<Ng> list = service.list(qw);
List<NgVO> listVO = NgWrapper.build().listVO(list);
return R.data(listVO);
}
/**
* [缺陷] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入Ng Obj")
public R save(@Valid @RequestBody Ng addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
} }
/** /**
* [缺陷] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入Ng Obj")
public R save(@Valid @RequestBody Ng addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
}
/**
* [缺陷] 新增批量 * [缺陷] 新增批量
*/ */
@PostMapping("/saveBat") @PostMapping("/saveBat")
@ApiOperationSupport(order = 31) @ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入Ng List") @Operation(summary = "新增批量", description = "传入Ng List")
public R saveBat(@Valid @RequestBody List<Ng> addList) { public R saveBat(@Valid @RequestBody List<Ng> addList) {
addList.forEach(one -> { addList.forEach(one -> {
one.setId(null); one.setId(null);
}); });
return R.status(service.saveBatch(addList)); return R.status(service.saveBatch(addList));
} }
/** /**
* [缺陷] 修改一条 * [缺陷] 修改一条
*/ */
@PostMapping("/update") @PostMapping("/update")
@ApiOperationSupport(order = 40) @ApiOperationSupport(order = 40)
@Operation(summary = "修改一条", description = "传入Ng Obj") @Operation(summary = "修改一条", description = "传入Ng Obj")
public R update(@Valid @RequestBody Ng updateOne) { public R update(@Valid @RequestBody Ng updateOne) {
return R.status(service.updateById(updateOne)); return R.status(service.updateById(updateOne));
} }
/** /**
* [缺陷] 修改批量 * [缺陷] 修改批量
*/ */
@PostMapping("/updateBat") @PostMapping("/updateBat")
@ApiOperationSupport(order = 41) @ApiOperationSupport(order = 41)
@Operation(summary = "修改批量", description = "传入Ng List") @Operation(summary = "修改批量", description = "传入Ng List")
public R updateBat(@Valid @RequestBody List<Ng> updateList) { public R updateBat(@Valid @RequestBody List<Ng> updateList) {
return R.status(service.updateBatchById(updateList)); return R.status(service.updateBatchById(updateList));
} }
/** /**
* [缺陷] 新增或修改一条 * [缺陷] 新增或修改一条
*/ */
@PostMapping("/submit") @PostMapping("/submit")
@ApiOperationSupport(order = 50) @ApiOperationSupport(order = 50)
@Operation(summary = "新增或修改一条", description = "传入Ng Obj") @Operation(summary = "新增或修改一条", description = "传入Ng Obj")
public R submit(@Valid @RequestBody Ng mergeOne) { public R submit(@Valid @RequestBody Ng mergeOne) {
return R.status(service.saveOrUpdate(mergeOne)); return R.status(service.saveOrUpdate(mergeOne));
} }
/** /**
* [缺陷] 新增或修改批量 * [缺陷] 新增或修改批量
*/ */
@PostMapping("/submitBat") @PostMapping("/submitBat")
@ApiOperationSupport(order = 51) @ApiOperationSupport(order = 51)
@Operation(summary = "新增或修改批量", description = "传入Ng List") @Operation(summary = "新增或修改批量", description = "传入Ng List")
public R submitBat(@Valid @RequestBody List<Ng> mergeList) { public R submitBat(@Valid @RequestBody List<Ng> mergeList) {
return R.status(service.saveOrUpdateBatch(mergeList)); return R.status(service.saveOrUpdateBatch(mergeList));
} }
/** /**
* [缺陷] 逻辑删除 * [缺陷] 逻辑删除
*/ */
@PostMapping("/remove") @PostMapping("/remove")
@ApiOperationSupport(order = 61) @ApiOperationSupport(order = 61)
@Operation(summary = "逻辑删除", description = "传入ids") @Operation(summary = "逻辑删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) { public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return R.status(service.deleteLogic(Func.toLongList(ids))); return R.status(service.deleteLogic(Func.toLongList(ids)));
} }
/** /**
* [缺陷] 导出Excel * [缺陷] 导出Excel
*/ */
@GetMapping("/exportExcel") @GetMapping("/exportExcel")
@ApiOperationSupport(order = 70) @ApiOperationSupport(order = 70)
@Operation(summary = "导出Excel", description = "传入Ng") @Operation(summary = "导出Excel", description = "传入Ng")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> ng, public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> ng,
BladeUser bladeUser, HttpServletResponse response) { BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<Ng> qw = Condition.getQueryWrapper(ng, Ng.class); QueryWrapper<Ng> qw = Condition.getQueryWrapper(ng, Ng.class);
//if (!AuthUtil.isAdministrator()) { //if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(Ng::getTenantId, bladeUser.getTenantId()); // queryWrapper.lambda().eq(Ng::getTenantId, bladeUser.getTenantId());
//} //}
//queryWrapper.lambda().eq(NgEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); //queryWrapper.lambda().eq(NgEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<NgExcel> list = service.exportNg(qw); List<NgExcel> list = service.exportNg(qw);
ExcelUtil.export(response, "[缺陷]数据" + org.springblade.core.tool.utils.DateUtil.time(), ExcelUtil.export(response, "[缺陷]数据" + DateUtil.time(),
"[缺陷]数据表", list, NgExcel.class); "[缺陷]数据表", list, NgExcel.class);
} }
/** /**
* [缺陷] 下载Excel模板 * [缺陷] 下载Excel模板
*/ */
@GetMapping("/downloadExcelTemplate") @GetMapping("/downloadExcelTemplate")
@ApiOperationSupport(order = 71) @ApiOperationSupport(order = 71)
@Operation(summary = "下载Excel模板", description = "") @Operation(summary = "下载Excel模板", description = "")
public ResponseEntity<org.springframework.core.io.Resource> downloadExcelTemplate() { public ResponseEntity<org.springframework.core.io.Resource> downloadExcelTemplate() {
return ExcelExtUtil.downloadXlsTemplate( return ExcelExtUtil.downloadXlsTemplate(
"Excel/QA/ImportTemplate-CycleTestItem.xls", "Excel/QA/ImportTemplate-CycleTestItem.xls",
"导入模版-周期试验项目.xls"); "导入模版-周期试验项目.xls");
} }
/** /**
* [缺陷] 导入Excel * [缺陷] 导入Excel
*/ */
@PostMapping("/importExcel") @PostMapping("/importExcel")
@ApiOperationSupport(order = 72) @ApiOperationSupport(order = 72)
@Operation(summary = "导入Excel", description = "MultipartFile") @Operation(summary = "导入Excel", description = "MultipartFile")
public R importExcel(@RequestParam("file") MultipartFile file) { public R importExcel(@RequestParam("file") MultipartFile file) {
R checkR = ExcelExtUtil.importExcelCheck(file); R checkR = ExcelExtUtil.importExcelCheck(file);
if (checkR != null) { if (checkR != null) {
return checkR; return checkR;
} }
List<Ng> importList = ExcelUtil.read( List<Ng> importList = ExcelUtil.read(
file, 0, 1, Ng.class file, 0, 1, Ng.class
); );
return R.status(service.saveBatch(importList)); return R.status(service.saveBatch(importList));
} }
} }

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.PlanTestExcel; import org.springblade.desk.quality.excel.PlanTestExcel;
import org.springblade.desk.quality.pojo.entity.PlanTest; import org.springblade.desk.quality.pojo.entity.PlanTest;
import org.springblade.desk.quality.pojo.vo.PlanTestVO; import org.springblade.desk.quality.pojo.vo.PlanTestVO;
@ -45,7 +46,7 @@ import java.util.stream.Collectors;
* @since 2025-12-24 * @since 2025-12-24
*/ */
@RestController @RestController
@RequestMapping("/QA/PlanTest") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/PlanTest")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -26,6 +26,7 @@ import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.ProReTemplateConst; import org.springblade.desk.quality.constant.ProReTemplateConst;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.ProReTemplateExcel; import org.springblade.desk.quality.excel.ProReTemplateExcel;
import org.springblade.desk.quality.pojo.entity.ProReTemplate; import org.springblade.desk.quality.pojo.entity.ProReTemplate;
import org.springblade.desk.quality.pojo.vo.ProReTemplateVO; import org.springblade.desk.quality.pojo.vo.ProReTemplateVO;
@ -47,7 +48,7 @@ import java.util.stream.Collectors;
* @since 2025-12-22 * @since 2025-12-22
*/ */
@RestController @RestController
@RequestMapping("/QA/ProReTemplate") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/ProReTemplate")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -20,6 +20,7 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -48,7 +49,7 @@ import jakarta.servlet.http.HttpServletResponse;
* @since 2025-12-30 * @since 2025-12-30
*/ */
@RestController @RestController
@RequestMapping("/ProReTemplateDetail") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/ProReTemplateDetail")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -20,6 +20,7 @@ import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -48,7 +49,7 @@ import jakarta.servlet.http.HttpServletResponse;
* @since 2025-12-30 * @since 2025-12-30
*/ */
@RestController @RestController
@RequestMapping("/ProReTemplateTank") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/ProReTemplateTank")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.RelInsTemplateItemExcel; import org.springblade.desk.quality.excel.RelInsTemplateItemExcel;
import org.springblade.desk.quality.pojo.entity.RelInsTemplateItem; import org.springblade.desk.quality.pojo.entity.RelInsTemplateItem;
import org.springblade.desk.quality.pojo.vo.RelInsTemplateItemVO; import org.springblade.desk.quality.pojo.vo.RelInsTemplateItemVO;
@ -44,7 +45,7 @@ import java.util.Map;
* @since 2025-12-19 * @since 2025-12-19
*/ */
@RestController @RestController
@RequestMapping("/QA/RelInsTemplateItem") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/RelInsTemplateItem")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.RelTankReportItemExcel; import org.springblade.desk.quality.excel.RelTankReportItemExcel;
import org.springblade.desk.quality.pojo.entity.RelTankReportItem; import org.springblade.desk.quality.pojo.entity.RelTankReportItem;
import org.springblade.desk.quality.pojo.vo.RelTankReportItemVO; import org.springblade.desk.quality.pojo.vo.RelTankReportItemVO;
@ -44,7 +45,7 @@ import java.util.Map;
* @since 2025-12-18 * @since 2025-12-18
*/ */
@RestController @RestController
@RequestMapping("/QA/RelTankReportItem") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/RelTankReportItem")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.RelTankWaveItemExcel; import org.springblade.desk.quality.excel.RelTankWaveItemExcel;
import org.springblade.desk.quality.pojo.entity.RelTankWaveItem; import org.springblade.desk.quality.pojo.entity.RelTankWaveItem;
import org.springblade.desk.quality.pojo.vo.RelTankWaveItemVO; import org.springblade.desk.quality.pojo.vo.RelTankWaveItemVO;
@ -44,7 +45,7 @@ import java.util.Map;
* @since 2025-12-19 * @since 2025-12-19
*/ */
@RestController @RestController
@RequestMapping("/QA/RelTankWaveItem") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/RelTankWaveItem")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.RemindMsgExcel; import org.springblade.desk.quality.excel.RemindMsgExcel;
import org.springblade.desk.quality.pojo.entity.RemindMsg; import org.springblade.desk.quality.pojo.entity.RemindMsg;
import org.springblade.desk.quality.pojo.vo.RemindMsgVO; import org.springblade.desk.quality.pojo.vo.RemindMsgVO;
@ -45,7 +46,7 @@ import java.util.stream.Collectors;
* @since 2025-12-22 * @since 2025-12-22
*/ */
@RestController @RestController
@RequestMapping("/QA/RemindMsg") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/RemindMsg")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -24,6 +24,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.StandardExcel; import org.springblade.desk.quality.excel.StandardExcel;
import org.springblade.desk.quality.pojo.entity.Standard; import org.springblade.desk.quality.pojo.entity.Standard;
import org.springblade.desk.quality.pojo.vo.StandardVO; import org.springblade.desk.quality.pojo.vo.StandardVO;
@ -44,7 +45,7 @@ import java.util.stream.Collectors;
* @since 2025-12-15 * @since 2025-12-15
*/ */
@RestController @RestController
@RequestMapping("/QA/Standard") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/Standard")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.StandardParamExcel; import org.springblade.desk.quality.excel.StandardParamExcel;
import org.springblade.desk.quality.pojo.entity.StandardParam; import org.springblade.desk.quality.pojo.entity.StandardParam;
import org.springblade.desk.quality.pojo.vo.StandardParamVO; import org.springblade.desk.quality.pojo.vo.StandardParamVO;
@ -45,7 +46,7 @@ import java.util.stream.Collectors;
* @since 2025-12-23 * @since 2025-12-23
*/ */
@RestController @RestController
@RequestMapping("/StandardParam") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/StandardParam")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -25,6 +25,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.SupplyInspectionExcel; import org.springblade.desk.quality.excel.SupplyInspectionExcel;
import org.springblade.desk.quality.pojo.entity.SupplyInspection; import org.springblade.desk.quality.pojo.entity.SupplyInspection;
import org.springblade.desk.quality.pojo.vo.SupplyInspectionVO; import org.springblade.desk.quality.pojo.vo.SupplyInspectionVO;
@ -45,7 +46,7 @@ import java.util.stream.Collectors;
* @since 2025-12-23 * @since 2025-12-23
*/ */
@RestController @RestController
@RequestMapping("/QA/SupplyInspection") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/SupplyInspection")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -8,6 +8,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.service.CycleTestTaskService2; import org.springblade.desk.quality.service.CycleTestTaskService2;
import org.springblade.desk.quality.service.TestService; import org.springblade.desk.quality.service.TestService;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -15,7 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
@RequestMapping("/QA/Test") @RequestMapping(QAModuleConst.CONTROLLER_PREFIX + "/Test")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -4,16 +4,15 @@
package org.springblade.desk.quality.excel; package org.springblade.desk.quality.excel;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import org.springblade.core.mp.base.BaseEntity;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
/** /**

@ -3,13 +3,14 @@
*/ */
package org.springblade.desk.quality.mapper; package org.springblade.desk.quality.mapper;
import org.springblade.desk.quality.pojo.entity.Ng;
import org.springblade.desk.quality.pojo.vo.NgVO;
import org.springblade.desk.quality.excel.NgExcel;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springblade.desk.quality.excel.NgExcel;
import org.springblade.desk.quality.pojo.entity.Ng;
import org.springblade.desk.quality.pojo.vo.NgVO;
import java.util.List; import java.util.List;
/** /**

@ -3,9 +3,10 @@
*/ */
package org.springblade.desk.quality.pojo.dto; package org.springblade.desk.quality.pojo.dto;
import org.springblade.desk.quality.pojo.entity.Ng;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.Ng;
import java.io.Serial; import java.io.Serial;
/** /**

@ -3,13 +3,14 @@
*/ */
package org.springblade.desk.quality.pojo.entity; package org.springblade.desk.quality.pojo.entity;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal; import io.swagger.v3.oas.annotations.media.Schema;
import org.springblade.core.mp.base.BaseEntity; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial; import java.io.Serial;
import java.math.BigDecimal;
/** /**
* [缺陷] 实体类 * [缺陷] 实体类
@ -90,7 +91,7 @@ public class Ng extends BaseEntity {
* 父级[不良原因]id * 父级[不良原因]id
*/ */
@Schema(description = "父级[不良原因]id") @Schema(description = "父级[不良原因]id")
private BigDecimal parentId; private Long parentId;
/** /**
* 排序 * 排序
*/ */
@ -110,7 +111,7 @@ public class Ng extends BaseEntity {
* [制品]id * [制品]id
*/ */
@Schema(description = "[制品]id") @Schema(description = "[制品]id")
private BigDecimal productId; private Long productId;
/** /**
* [制品]编码 * [制品]编码
*/ */
@ -120,10 +121,10 @@ public class Ng extends BaseEntity {
* [工序]id * [工序]id
*/ */
@Schema(description = "[工序]id") @Schema(description = "[工序]id")
private BigDecimal processId; private Long processId;
/** /**
* [工序]编码 * [工序]编码
*/ */
@Schema(description = "[工序]编码") @Schema(description = "[工序]编码")
private String processCode; private Long processCode;
} }

@ -3,9 +3,10 @@
*/ */
package org.springblade.desk.quality.pojo.vo; package org.springblade.desk.quality.pojo.vo;
import org.springblade.desk.quality.pojo.entity.Ng;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.Ng;
import java.io.Serial; import java.io.Serial;
/** /**

@ -4,11 +4,12 @@
package org.springblade.desk.quality.service; package org.springblade.desk.quality.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.springblade.desk.quality.pojo.entity.Ng;
import org.springblade.desk.quality.pojo.vo.NgVO;
import org.springblade.desk.quality.excel.NgExcel;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService; import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.quality.excel.NgExcel;
import org.springblade.desk.quality.pojo.entity.Ng;
import org.springblade.desk.quality.pojo.vo.NgVO;
import java.util.List; import java.util.List;
/** /**

@ -3,22 +3,23 @@
*/ */
package org.springblade.desk.quality.service.impl; package org.springblade.desk.quality.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.Data;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.desk.quality.pojo.entity.Ng; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.quality.pojo.vo.NgVO;
import org.springblade.desk.quality.excel.NgExcel; import org.springblade.desk.quality.excel.NgExcel;
import org.springblade.desk.quality.mapper.NgMapper; import org.springblade.desk.quality.mapper.NgMapper;
import org.springblade.desk.quality.pojo.entity.Ng;
import org.springblade.desk.quality.pojo.vo.NgVO;
import org.springblade.desk.quality.service.INgService; import org.springblade.desk.quality.service.INgService;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.feign.IDictClient; import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import java.util.List; import java.util.List;
/** /**

@ -7,6 +7,7 @@ import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.quality.pojo.entity.Ng; import org.springblade.desk.quality.pojo.entity.Ng;
import org.springblade.desk.quality.pojo.vo.NgVO; import org.springblade.desk.quality.pojo.vo.NgVO;
import java.util.Objects; import java.util.Objects;
/** /**

Loading…
Cancel
Save