BA模块 Controller PREFIX。

develop-QA
Tom Li 3 months ago
parent 029a164b13
commit d25ef291ba
  1. 57
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/constant/FlowConst.java
  2. 315
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/BatConfigController.java
  3. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/FormulaController.java
  4. 355
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/OemController.java
  5. 315
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/ProcessAbilityController.java
  6. 315
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/ProdMarkController.java
  7. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/TeamSetController.java
  8. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/TestPowerJobController.java
  9. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkCenterController.java
  10. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/controller/WorkTankController.java
  11. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/excel/OemExcel.java
  12. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/OemMapper.java
  13. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/dto/OemDTO.java
  14. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/entity/Oem.java
  15. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/pojo/vo/OemVO.java
  16. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/IOemService.java
  17. 15
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/impl/OemServiceImpl.java
  18. 1
      blade-service/blade-desk/src/main/java/org/springblade/desk/basic/wrapper/OemWrapper.java
  19. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/constant/InspectionTemplateConst.java
  20. 16
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/AuditFileController.java
  21. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/ProReTemplateController.java
  22. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/AuditFileMapper.xml
  23. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ProReTemplateServiceImpl.java

@ -0,0 +1,57 @@
package org.springblade.desk.basic.constant;
/**
* mes v1: copy from IFlowBusinessBean
*/
public interface FlowConst {
/**
* 初始状态(未发送审批)
*/
public static final short STATUS_NEW = -1;
/**
* 审批中(审批中)
*/
public static final short STATUS_CHECKING = 0;
/**
* 审批完毕(审批通过)
*/
public static final short STATUS_CHECKED = 1;
/**
* 变更待审中
*/
public static final short STATUS_CHANGE_WAITING_FOR_CHECKUP = 2;
/**
* 变更中
*/
public static final short STATUS_CHANGING = 3;
/**
* 打回
*/
public static final short STATUS_RETURN = 4;
/**
* 审批未通过
*/
public static final short STATUS_UNPASS = 10;
/**
* 已完成
*/
public static final short STATUS_COMPLETE = 20;
/**
* 已作废
*/
public static final short STATUS_CANCEL = 21;
/**
* 已变更
*/
public static final short STATUS_CHANGE_OK = 22;
}

@ -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.basic.constant.BAModuleConst;
import org.springblade.desk.basic.excel.BatConfigExcel; import org.springblade.desk.basic.excel.BatConfigExcel;
import org.springblade.desk.basic.pojo.entity.BatConfig; import org.springblade.desk.basic.pojo.entity.BatConfig;
import org.springblade.desk.basic.pojo.vo.BatConfigVO; import org.springblade.desk.basic.pojo.vo.BatConfigVO;
@ -45,7 +46,7 @@ import java.util.stream.Collectors;
* @since 2025-12-22 * @since 2025-12-22
*/ */
@RestController @RestController
@RequestMapping("/BA/BatConfig") @RequestMapping(BAModuleConst.CONTROLLER_PREFIX + "/BatConfig")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -54,184 +55,184 @@ import java.util.stream.Collectors;
public class BatConfigController extends BladeController { public class BatConfigController extends BladeController {
@Resource @Resource
private IBatConfigService service; private IBatConfigService service;
/** /**
* [批量配置] 详情 * [批量配置] 详情
*/ */
@GetMapping("/detail") @GetMapping("/detail")
@ApiOperationSupport(order = 10) @ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入BatConfig Obj") @Operation(summary = "详情", description = "传入BatConfig Obj")
public R<BatConfigVO> detail(BatConfig batConfig) { public R<BatConfigVO> detail(BatConfig batConfig) {
QueryWrapper<BatConfig> qw = Condition.getQueryWrapper(batConfig); QueryWrapper<BatConfig> qw = Condition.getQueryWrapper(batConfig);
BatConfig detail = service.getOne(qw); BatConfig detail = service.getOne(qw);
BatConfigVO detailVO = BatConfigWrapper.build().entityVO(detail); BatConfigVO detailVO = BatConfigWrapper.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 = "传入BatConfig Obj") @Operation(summary = "list分页", description = "传入BatConfig Obj")
public R<IPage<BatConfigVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> batConfig, public R<IPage<BatConfigVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> batConfig,
Query query) { Query query) {
QueryWrapper<BatConfig> qw = Condition.getQueryWrapper(batConfig, BatConfig.class); QueryWrapper<BatConfig> qw = Condition.getQueryWrapper(batConfig, BatConfig.class);
IPage<BatConfig> pages = service.page(Condition.getPage(query), qw); IPage<BatConfig> pages = service.page(Condition.getPage(query), qw);
IPage<BatConfigVO> pagesVO = BatConfigWrapper.build().pageVO(pages); IPage<BatConfigVO> pagesVO = BatConfigWrapper.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 = "传入BatConfig Obj") @Operation(summary = "page分页", description = "传入BatConfig Obj")
public R<IPage<BatConfigVO>> page(BatConfigVO batConfig, Query query) { public R<IPage<BatConfigVO>> page(BatConfigVO batConfig, Query query) {
IPage<BatConfigVO> pagesVO = service.selectBatConfigPage( IPage<BatConfigVO> pagesVO = service.selectBatConfigPage(
Condition.getPage(query), batConfig Condition.getPage(query), batConfig
); );
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<BatConfigVO>> listForSelect() { public R<List<BatConfigVO>> listForSelect() {
List<BatConfig> list = service.list(); List<BatConfig> list = service.list();
List<BatConfigVO> listVO = BatConfigWrapper.build().listVO(list); List<BatConfigVO> listVO = BatConfigWrapper.build().listVO(list);
return R.data(listVO); return R.data(listVO);
}
/**
* [批量配置] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入BatConfig Obj")
public R save(@Valid @RequestBody BatConfig addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
} }
/** /**
* [批量配置] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入BatConfig Obj")
public R save(@Valid @RequestBody BatConfig addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
}
/**
* [批量配置] 新增批量 * [批量配置] 新增批量
*/ */
@PostMapping("/saveBat") @PostMapping("/saveBat")
@ApiOperationSupport(order = 31) @ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入BatConfig List") @Operation(summary = "新增批量", description = "传入BatConfig List")
public R saveBat(@Valid @RequestBody List<BatConfig> addList) { public R saveBat(@Valid @RequestBody List<BatConfig> 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 = "传入BatConfig Obj") @Operation(summary = "修改一条", description = "传入BatConfig Obj")
public R update(@Valid @RequestBody BatConfig updateOne) { public R update(@Valid @RequestBody BatConfig 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 = "传入BatConfig List") @Operation(summary = "修改批量", description = "传入BatConfig List")
public R updateBat(@Valid @RequestBody List<BatConfig> updateList) { public R updateBat(@Valid @RequestBody List<BatConfig> 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 = "传入BatConfig Obj") @Operation(summary = "新增或修改一条", description = "传入BatConfig Obj")
public R submit(@Valid @RequestBody BatConfig mergeOne) { public R submit(@Valid @RequestBody BatConfig 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 = "传入BatConfig List") @Operation(summary = "新增或修改批量", description = "传入BatConfig List")
public R submitBat(@Valid @RequestBody List<BatConfig> mergeList) { public R submitBat(@Valid @RequestBody List<BatConfig> 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 = "传入BatConfig") @Operation(summary = "导出Excel", description = "传入BatConfig")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> batConfig, public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> batConfig,
BladeUser bladeUser, HttpServletResponse response) { BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<BatConfig> qw = Condition.getQueryWrapper(batConfig, BatConfig.class); QueryWrapper<BatConfig> qw = Condition.getQueryWrapper(batConfig, BatConfig.class);
//if (!AuthUtil.isAdministrator()) { //if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(BatConfig::getTenantId, bladeUser.getTenantId()); // queryWrapper.lambda().eq(BatConfig::getTenantId, bladeUser.getTenantId());
//} //}
//queryWrapper.lambda().eq(BatConfigEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); //queryWrapper.lambda().eq(BatConfigEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<BatConfigExcel> list = service.exportBatConfig(qw); List<BatConfigExcel> list = service.exportBatConfig(qw);
ExcelUtil.export(response, "[批量配置]数据" + DateUtil.time(), ExcelUtil.export(response, "[批量配置]数据" + DateUtil.time(),
"[批量配置]数据表", list, BatConfigExcel.class); "[批量配置]数据表", list, BatConfigExcel.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<BatConfig> importList = ExcelUtil.read( List<BatConfig> importList = ExcelUtil.read(
file, 0, 1, BatConfig.class file, 0, 1, BatConfig.class
); );
return R.status(service.saveBatch(importList)); return R.status(service.saveBatch(importList));
} }
} }

@ -23,6 +23,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.basic.constant.BAModuleConst;
import org.springblade.desk.basic.excel.FormulaExcel; import org.springblade.desk.basic.excel.FormulaExcel;
import org.springblade.desk.basic.pojo.entity.Formula; import org.springblade.desk.basic.pojo.entity.Formula;
import org.springblade.desk.basic.pojo.vo.FormulaVO; import org.springblade.desk.basic.pojo.vo.FormulaVO;
@ -43,7 +44,7 @@ import java.util.Map;
* @since 2025-12-16 * @since 2025-12-16
*/ */
@RestController @RestController
@RequestMapping("/BA/Formula") @RequestMapping(BAModuleConst.CONTROLLER_PREFIX + "/Formula")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -98,7 +99,7 @@ public class FormulaController extends BladeController {
*/ */
@GetMapping("/listForSelect") @GetMapping("/listForSelect")
@ApiOperationSupport(order = 22) @ApiOperationSupport(order = 22)
@Operation(summary = "list下拉选择", description = "") @Operation(summary = "list下拉选择", description = "")
public R<List<FormulaVO>> listForSelect( public R<List<FormulaVO>> listForSelect(
@Parameter(description = "formulaType", required = true) @RequestParam Integer formulaType) { @Parameter(description = "formulaType", required = true) @RequestParam Integer formulaType) {
List<Formula> list = service.list( List<Formula> list = service.list(

@ -3,50 +3,51 @@
*/ */
package org.springblade.desk.basic.controller; package org.springblade.desk.basic.controller;
import io.swagger.v3.oas.annotations.tags.Tag; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.core.boot.ctrl.BladeController;
import org.springblade.core.secure.annotation.IsAdmin; 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.springblade.desk.basic.constant.BAModuleConst;
import org.springframework.web.bind.annotation.*; import org.springblade.desk.basic.excel.OemExcel;
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.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;
import org.springblade.desk.basic.excel.OemExcel;
import org.springblade.desk.basic.wrapper.OemWrapper;
import org.springblade.desk.basic.service.IOemService; import org.springblade.desk.basic.service.IOemService;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.core.tool.utils.DateUtil; import org.springblade.desk.basic.wrapper.OemWrapper;
import org.springblade.core.excel.util.ExcelUtil; import org.springframework.http.ResponseEntity;
import org.springblade.core.tool.constant.BladeConstant; import org.springframework.web.bind.annotation.*;
import java.util.Map; import org.springframework.web.multipart.MultipartFile;
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_oem_customer
* *
* @author Tom Shuo * @author Tom Shuo
* @since 2026-01-04 * @since 2026-01-04
*/ */
@RestController @RestController
@RequestMapping("/Oem") @RequestMapping(BAModuleConst.CONTROLLER_PREFIX + "/Oem")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -55,184 +56,184 @@ import jakarta.servlet.http.HttpServletResponse;
public class OemController extends BladeController { public class OemController extends BladeController {
@Resource @Resource
private IOemService service; private IOemService service;
/** /**
* [外协厂家] 详情 * [外协厂家] 详情
*/ */
@GetMapping("/detail") @GetMapping("/detail")
@ApiOperationSupport(order = 10) @ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入Oem Obj") @Operation(summary = "详情", description = "传入Oem Obj")
public R<OemVO> detail(Oem oem) { public R<OemVO> detail(Oem oem) {
QueryWrapper<Oem> qw = Condition.getQueryWrapper(oem); QueryWrapper<Oem> qw = Condition.getQueryWrapper(oem);
Oem detail = service.getOne(qw); Oem detail = service.getOne(qw);
OemVO detailVO = OemWrapper.build().entityVO(detail); OemVO detailVO = OemWrapper.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 = "传入Oem Obj") @Operation(summary = "list分页", description = "传入Oem Obj")
public R<IPage<OemVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> oem, public R<IPage<OemVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> oem,
Query query) { Query query) {
QueryWrapper<Oem> qw = Condition.getQueryWrapper(oem, Oem.class); QueryWrapper<Oem> qw = Condition.getQueryWrapper(oem, Oem.class);
IPage<Oem> pages = service.page(Condition.getPage(query), qw); IPage<Oem> pages = service.page(Condition.getPage(query), qw);
IPage<OemVO> pagesVO = OemWrapper.build().pageVO(pages); IPage<OemVO> pagesVO = OemWrapper.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 = "传入Oem Obj") @Operation(summary = "page分页", description = "传入Oem Obj")
public R<IPage<OemVO>> page(OemVO oem, Query query) { public R<IPage<OemVO>> page(OemVO oem, Query query) {
IPage<OemVO> pagesVO = service.selectOemPage( IPage<OemVO> pagesVO = service.selectOemPage(
Condition.getPage(query), oem Condition.getPage(query), oem
); );
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<OemVO>> listForSelect() { public R<List<OemVO>> listForSelect() {
List<Oem> list = service.list(); List<Oem> list = service.list();
List<OemVO> listVO = OemWrapper.build().listVO(list); List<OemVO> listVO = OemWrapper.build().listVO(list);
return R.data(listVO); return R.data(listVO);
} }
/** /**
* [外协厂家] 新增一条 * [外协厂家] 新增一条
*/ */
@PostMapping("/save") @PostMapping("/save")
@ApiOperationSupport(order = 30) @ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入Oem Obj") @Operation(summary = "新增一条", description = "传入Oem Obj")
public R save(@Valid @RequestBody Oem addOne) { public R save(@Valid @RequestBody Oem addOne) {
addOne.setId(null); addOne.setId(null);
return R.status(service.save(addOne)); return R.status(service.save(addOne));
} }
/** /**
* [外协厂家] 新增批量 * [外协厂家] 新增批量
*/ */
@PostMapping("/saveBat") @PostMapping("/saveBat")
@ApiOperationSupport(order = 31) @ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入Oem List") @Operation(summary = "新增批量", description = "传入Oem List")
public R saveBat(@Valid @RequestBody List<Oem> addList) { public R saveBat(@Valid @RequestBody List<Oem> 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 = "传入Oem Obj") @Operation(summary = "修改一条", description = "传入Oem Obj")
public R update(@Valid @RequestBody Oem updateOne) { public R update(@Valid @RequestBody Oem 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 = "传入Oem List") @Operation(summary = "修改批量", description = "传入Oem List")
public R updateBat(@Valid @RequestBody List<Oem> updateList) { public R updateBat(@Valid @RequestBody List<Oem> 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 = "传入Oem Obj") @Operation(summary = "新增或修改一条", description = "传入Oem Obj")
public R submit(@Valid @RequestBody Oem mergeOne) { public R submit(@Valid @RequestBody Oem 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 = "传入Oem List") @Operation(summary = "新增或修改批量", description = "传入Oem List")
public R submitBat(@Valid @RequestBody List<Oem> mergeList) { public R submitBat(@Valid @RequestBody List<Oem> 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 = "传入Oem") @Operation(summary = "导出Excel", description = "传入Oem")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> oem, public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> oem,
BladeUser bladeUser, HttpServletResponse response) { BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<Oem> qw = Condition.getQueryWrapper(oem, Oem.class); QueryWrapper<Oem> qw = Condition.getQueryWrapper(oem, Oem.class);
//if (!AuthUtil.isAdministrator()) { //if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(Oem::getTenantId, bladeUser.getTenantId()); // queryWrapper.lambda().eq(Oem::getTenantId, bladeUser.getTenantId());
//} //}
//queryWrapper.lambda().eq(OemEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); //queryWrapper.lambda().eq(OemEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<OemExcel> list = service.exportOem(qw); List<OemExcel> list = service.exportOem(qw);
ExcelUtil.export(response, "[外协厂家]数据" + org.springblade.core.tool.utils.DateUtil.time(), ExcelUtil.export(response, "[外协厂家]数据" + DateUtil.time(),
"[外协厂家]数据表", list, OemExcel.class); "[外协厂家]数据表", list, OemExcel.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<Oem> importList = ExcelUtil.read( List<Oem> importList = ExcelUtil.read(
file, 0, 1, Oem.class file, 0, 1, Oem.class
); );
return R.status(service.saveBatch(importList)); return R.status(service.saveBatch(importList));
} }
} }

@ -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.basic.constant.BAModuleConst;
import org.springblade.desk.basic.excel.ProcessAbilityExcel; import org.springblade.desk.basic.excel.ProcessAbilityExcel;
import org.springblade.desk.basic.pojo.entity.ProcessAbility; import org.springblade.desk.basic.pojo.entity.ProcessAbility;
import org.springblade.desk.basic.pojo.vo.ProcessAbilityVO; import org.springblade.desk.basic.pojo.vo.ProcessAbilityVO;
@ -45,7 +46,7 @@ import java.util.stream.Collectors;
* @since 2025-12-22 * @since 2025-12-22
*/ */
@RestController @RestController
@RequestMapping("/ProcessAbility") @RequestMapping(BAModuleConst.CONTROLLER_PREFIX + "/ProcessAbility")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -54,184 +55,184 @@ import java.util.stream.Collectors;
public class ProcessAbilityController extends BladeController { public class ProcessAbilityController extends BladeController {
@Resource @Resource
private IProcessAbilityService service; private IProcessAbilityService service;
/** /**
* [工艺能力] 详情 * [工艺能力] 详情
*/ */
@GetMapping("/detail") @GetMapping("/detail")
@ApiOperationSupport(order = 10) @ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入ProcessAbility Obj") @Operation(summary = "详情", description = "传入ProcessAbility Obj")
public R<ProcessAbilityVO> detail(ProcessAbility processAbility) { public R<ProcessAbilityVO> detail(ProcessAbility processAbility) {
QueryWrapper<ProcessAbility> qw = Condition.getQueryWrapper(processAbility); QueryWrapper<ProcessAbility> qw = Condition.getQueryWrapper(processAbility);
ProcessAbility detail = service.getOne(qw); ProcessAbility detail = service.getOne(qw);
ProcessAbilityVO detailVO = ProcessAbilityWrapper.build().entityVO(detail); ProcessAbilityVO detailVO = ProcessAbilityWrapper.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 = "传入ProcessAbility Obj") @Operation(summary = "list分页", description = "传入ProcessAbility Obj")
public R<IPage<ProcessAbilityVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> processAbility, public R<IPage<ProcessAbilityVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> processAbility,
Query query) { Query query) {
QueryWrapper<ProcessAbility> qw = Condition.getQueryWrapper(processAbility, ProcessAbility.class); QueryWrapper<ProcessAbility> qw = Condition.getQueryWrapper(processAbility, ProcessAbility.class);
IPage<ProcessAbility> pages = service.page(Condition.getPage(query), qw); IPage<ProcessAbility> pages = service.page(Condition.getPage(query), qw);
IPage<ProcessAbilityVO> pagesVO = ProcessAbilityWrapper.build().pageVO(pages); IPage<ProcessAbilityVO> pagesVO = ProcessAbilityWrapper.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 = "传入ProcessAbility Obj") @Operation(summary = "page分页", description = "传入ProcessAbility Obj")
public R<IPage<ProcessAbilityVO>> page(ProcessAbilityVO processAbility, Query query) { public R<IPage<ProcessAbilityVO>> page(ProcessAbilityVO processAbility, Query query) {
IPage<ProcessAbilityVO> pagesVO = service.selectProcessAbilityPage( IPage<ProcessAbilityVO> pagesVO = service.selectProcessAbilityPage(
Condition.getPage(query), processAbility Condition.getPage(query), processAbility
); );
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<ProcessAbilityVO>> listForSelect() { public R<List<ProcessAbilityVO>> listForSelect() {
List<ProcessAbility> list = service.list(); List<ProcessAbility> list = service.list();
List<ProcessAbilityVO> listVO = ProcessAbilityWrapper.build().listVO(list); List<ProcessAbilityVO> listVO = ProcessAbilityWrapper.build().listVO(list);
return R.data(listVO); return R.data(listVO);
}
/**
* [工艺能力] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入ProcessAbility Obj")
public R save(@Valid @RequestBody ProcessAbility addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
} }
/** /**
* [工艺能力] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入ProcessAbility Obj")
public R save(@Valid @RequestBody ProcessAbility addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
}
/**
* [工艺能力] 新增批量 * [工艺能力] 新增批量
*/ */
@PostMapping("/saveBat") @PostMapping("/saveBat")
@ApiOperationSupport(order = 31) @ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入ProcessAbility List") @Operation(summary = "新增批量", description = "传入ProcessAbility List")
public R saveBat(@Valid @RequestBody List<ProcessAbility> addList) { public R saveBat(@Valid @RequestBody List<ProcessAbility> 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 = "传入ProcessAbility Obj") @Operation(summary = "修改一条", description = "传入ProcessAbility Obj")
public R update(@Valid @RequestBody ProcessAbility updateOne) { public R update(@Valid @RequestBody ProcessAbility 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 = "传入ProcessAbility List") @Operation(summary = "修改批量", description = "传入ProcessAbility List")
public R updateBat(@Valid @RequestBody List<ProcessAbility> updateList) { public R updateBat(@Valid @RequestBody List<ProcessAbility> 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 = "传入ProcessAbility Obj") @Operation(summary = "新增或修改一条", description = "传入ProcessAbility Obj")
public R submit(@Valid @RequestBody ProcessAbility mergeOne) { public R submit(@Valid @RequestBody ProcessAbility 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 = "传入ProcessAbility List") @Operation(summary = "新增或修改批量", description = "传入ProcessAbility List")
public R submitBat(@Valid @RequestBody List<ProcessAbility> mergeList) { public R submitBat(@Valid @RequestBody List<ProcessAbility> 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 = "传入ProcessAbility") @Operation(summary = "导出Excel", description = "传入ProcessAbility")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> processAbility, public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> processAbility,
BladeUser bladeUser, HttpServletResponse response) { BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<ProcessAbility> qw = Condition.getQueryWrapper(processAbility, ProcessAbility.class); QueryWrapper<ProcessAbility> qw = Condition.getQueryWrapper(processAbility, ProcessAbility.class);
//if (!AuthUtil.isAdministrator()) { //if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(ProcessAbility::getTenantId, bladeUser.getTenantId()); // queryWrapper.lambda().eq(ProcessAbility::getTenantId, bladeUser.getTenantId());
//} //}
//queryWrapper.lambda().eq(ProcessAbilityEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); //queryWrapper.lambda().eq(ProcessAbilityEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<ProcessAbilityExcel> list = service.exportProcessAbility(qw); List<ProcessAbilityExcel> list = service.exportProcessAbility(qw);
ExcelUtil.export(response, "[工艺能力]数据" + DateUtil.time(), ExcelUtil.export(response, "[工艺能力]数据" + DateUtil.time(),
"[工艺能力]数据表", list, ProcessAbilityExcel.class); "[工艺能力]数据表", list, ProcessAbilityExcel.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<ProcessAbility> importList = ExcelUtil.read( List<ProcessAbility> importList = ExcelUtil.read(
file, 0, 1, ProcessAbility.class file, 0, 1, ProcessAbility.class
); );
return R.status(service.saveBatch(importList)); return R.status(service.saveBatch(importList));
} }
} }

@ -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.basic.constant.BAModuleConst;
import org.springblade.desk.basic.excel.ProdMarkExcel; import org.springblade.desk.basic.excel.ProdMarkExcel;
import org.springblade.desk.basic.pojo.entity.ProdMark; import org.springblade.desk.basic.pojo.entity.ProdMark;
import org.springblade.desk.basic.pojo.vo.ProdMarkVO; import org.springblade.desk.basic.pojo.vo.ProdMarkVO;
@ -45,7 +46,7 @@ import java.util.stream.Collectors;
* @since 2025-12-22 * @since 2025-12-22
*/ */
@RestController @RestController
@RequestMapping("/BA/ProdMark") @RequestMapping(BAModuleConst.CONTROLLER_PREFIX + "/ProdMark")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -54,184 +55,184 @@ import java.util.stream.Collectors;
public class ProdMarkController extends BladeController { public class ProdMarkController extends BladeController {
@Resource @Resource
private IProdMarkService service; private IProdMarkService service;
/** /**
* [生产标识] 详情 * [生产标识] 详情
*/ */
@GetMapping("/detail") @GetMapping("/detail")
@ApiOperationSupport(order = 10) @ApiOperationSupport(order = 10)
@Operation(summary = "详情", description = "传入ProdMark Obj") @Operation(summary = "详情", description = "传入ProdMark Obj")
public R<ProdMarkVO> detail(ProdMark prodMark) { public R<ProdMarkVO> detail(ProdMark prodMark) {
QueryWrapper<ProdMark> qw = Condition.getQueryWrapper(prodMark); QueryWrapper<ProdMark> qw = Condition.getQueryWrapper(prodMark);
ProdMark detail = service.getOne(qw); ProdMark detail = service.getOne(qw);
ProdMarkVO detailVO = ProdMarkWrapper.build().entityVO(detail); ProdMarkVO detailVO = ProdMarkWrapper.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 = "传入ProdMark Obj") @Operation(summary = "list分页", description = "传入ProdMark Obj")
public R<IPage<ProdMarkVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> prodMark, public R<IPage<ProdMarkVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> prodMark,
Query query) { Query query) {
QueryWrapper<ProdMark> qw = Condition.getQueryWrapper(prodMark, ProdMark.class); QueryWrapper<ProdMark> qw = Condition.getQueryWrapper(prodMark, ProdMark.class);
IPage<ProdMark> pages = service.page(Condition.getPage(query), qw); IPage<ProdMark> pages = service.page(Condition.getPage(query), qw);
IPage<ProdMarkVO> pagesVO = ProdMarkWrapper.build().pageVO(pages); IPage<ProdMarkVO> pagesVO = ProdMarkWrapper.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 = "传入ProdMark Obj") @Operation(summary = "page分页", description = "传入ProdMark Obj")
public R<IPage<ProdMarkVO>> page(ProdMarkVO prodMark, Query query) { public R<IPage<ProdMarkVO>> page(ProdMarkVO prodMark, Query query) {
IPage<ProdMarkVO> pagesVO = service.selectProdMarkPage( IPage<ProdMarkVO> pagesVO = service.selectProdMarkPage(
Condition.getPage(query), prodMark Condition.getPage(query), prodMark
); );
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<ProdMarkVO>> listForSelect() { public R<List<ProdMarkVO>> listForSelect() {
List<ProdMark> list = service.list(); List<ProdMark> list = service.list();
List<ProdMarkVO> listVO = ProdMarkWrapper.build().listVO(list); List<ProdMarkVO> listVO = ProdMarkWrapper.build().listVO(list);
return R.data(listVO); return R.data(listVO);
}
/**
* [生产标识] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入ProdMark Obj")
public R save(@Valid @RequestBody ProdMark addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
} }
/** /**
* [生产标识] 新增一条
*/
@PostMapping("/save")
@ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入ProdMark Obj")
public R save(@Valid @RequestBody ProdMark addOne) {
addOne.setId(null);
return R.status(service.save(addOne));
}
/**
* [生产标识] 新增批量 * [生产标识] 新增批量
*/ */
@PostMapping("/saveBat") @PostMapping("/saveBat")
@ApiOperationSupport(order = 31) @ApiOperationSupport(order = 31)
@Operation(summary = "新增批量", description = "传入ProdMark List") @Operation(summary = "新增批量", description = "传入ProdMark List")
public R saveBat(@Valid @RequestBody List<ProdMark> addList) { public R saveBat(@Valid @RequestBody List<ProdMark> 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 = "传入ProdMark Obj") @Operation(summary = "修改一条", description = "传入ProdMark Obj")
public R update(@Valid @RequestBody ProdMark updateOne) { public R update(@Valid @RequestBody ProdMark 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 = "传入ProdMark List") @Operation(summary = "修改批量", description = "传入ProdMark List")
public R updateBat(@Valid @RequestBody List<ProdMark> updateList) { public R updateBat(@Valid @RequestBody List<ProdMark> 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 = "传入ProdMark Obj") @Operation(summary = "新增或修改一条", description = "传入ProdMark Obj")
public R submit(@Valid @RequestBody ProdMark mergeOne) { public R submit(@Valid @RequestBody ProdMark 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 = "传入ProdMark List") @Operation(summary = "新增或修改批量", description = "传入ProdMark List")
public R submitBat(@Valid @RequestBody List<ProdMark> mergeList) { public R submitBat(@Valid @RequestBody List<ProdMark> 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 = "传入ProdMark") @Operation(summary = "导出Excel", description = "传入ProdMark")
public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> prodMark, public void exportExcel(@Parameter(hidden = true) @RequestParam Map<String, Object> prodMark,
BladeUser bladeUser, HttpServletResponse response) { BladeUser bladeUser, HttpServletResponse response) {
QueryWrapper<ProdMark> qw = Condition.getQueryWrapper(prodMark, ProdMark.class); QueryWrapper<ProdMark> qw = Condition.getQueryWrapper(prodMark, ProdMark.class);
//if (!AuthUtil.isAdministrator()) { //if (!AuthUtil.isAdministrator()) {
// queryWrapper.lambda().eq(ProdMark::getTenantId, bladeUser.getTenantId()); // queryWrapper.lambda().eq(ProdMark::getTenantId, bladeUser.getTenantId());
//} //}
//queryWrapper.lambda().eq(ProdMarkEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED); //queryWrapper.lambda().eq(ProdMarkEntity::getIsDeleted, BladeConstant.DB_NOT_DELETED);
List<ProdMarkExcel> list = service.exportProdMark(qw); List<ProdMarkExcel> list = service.exportProdMark(qw);
ExcelUtil.export(response, "[生产标识]数据" + DateUtil.time(), ExcelUtil.export(response, "[生产标识]数据" + DateUtil.time(),
"[生产标识]数据表", list, ProdMarkExcel.class); "[生产标识]数据表", list, ProdMarkExcel.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<ProdMark> importList = ExcelUtil.read( List<ProdMark> importList = ExcelUtil.read(
file, 0, 1, ProdMark.class file, 0, 1, ProdMark.class
); );
return R.status(service.saveBatch(importList)); return R.status(service.saveBatch(importList));
} }
} }

@ -23,6 +23,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.basic.constant.BAModuleConst;
import org.springblade.desk.basic.excel.TeamSetExcel; import org.springblade.desk.basic.excel.TeamSetExcel;
import org.springblade.desk.basic.pojo.entity.TeamSet; import org.springblade.desk.basic.pojo.entity.TeamSet;
import org.springblade.desk.basic.pojo.vo.TeamSetVO; import org.springblade.desk.basic.pojo.vo.TeamSetVO;
@ -43,7 +44,7 @@ import java.util.Map;
* @since 2025-12-16 * @since 2025-12-16
*/ */
@RestController @RestController
@RequestMapping("/BA/TeamSet") @RequestMapping(BAModuleConst.CONTROLLER_PREFIX + "/TeamSet")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -10,6 +10,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.constant.BAModuleConst;
import org.springblade.desk.basic.service.TestPowerJobService; import org.springblade.desk.basic.service.TestPowerJobService;
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;
@ -21,7 +22,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@RestController @RestController
@RequestMapping("/BA/TestPowerJob") @RequestMapping(BAModuleConst.CONTROLLER_PREFIX + "/TestPowerJob")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -23,6 +23,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.basic.constant.BAModuleConst;
import org.springblade.desk.basic.excel.WorkCenterExcel; import org.springblade.desk.basic.excel.WorkCenterExcel;
import org.springblade.desk.basic.pojo.entity.WorkCenter; import org.springblade.desk.basic.pojo.entity.WorkCenter;
import org.springblade.desk.basic.pojo.vo.WorkCenterVO; import org.springblade.desk.basic.pojo.vo.WorkCenterVO;
@ -43,7 +44,7 @@ import java.util.Map;
* @since 2025-12-16 * @since 2025-12-16
*/ */
@RestController @RestController
@RequestMapping("/BA/WorkCenter") @RequestMapping(BAModuleConst.CONTROLLER_PREFIX + "/WorkCenter")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)

@ -23,6 +23,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.basic.constant.BAModuleConst;
import org.springblade.desk.basic.excel.WorkTankExcel; import org.springblade.desk.basic.excel.WorkTankExcel;
import org.springblade.desk.basic.pojo.entity.WorkTank; import org.springblade.desk.basic.pojo.entity.WorkTank;
import org.springblade.desk.basic.pojo.vo.WorkTankVO; import org.springblade.desk.basic.pojo.vo.WorkTankVO;
@ -43,7 +44,7 @@ import java.util.Map;
* @since 2025-12-16 * @since 2025-12-16
*/ */
@RestController @RestController
@RequestMapping("/BA/WorkTank") @RequestMapping(BAModuleConst.CONTROLLER_PREFIX + "/WorkTank")
@Data @Data
@AllArgsConstructor @AllArgsConstructor
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -99,7 +100,7 @@ public class WorkTankController extends BladeController {
*/ */
@GetMapping("/listForSelect") @GetMapping("/listForSelect")
@ApiOperationSupport(order = 22) @ApiOperationSupport(order = 22)
@Operation(summary = "list下拉选择", description = "") @Operation(summary = "list下拉选择", description = "")
public R<List<WorkTankVO>> listForSelect(@Parameter(hidden = true) @RequestParam Map<String, Object> workTank) { public R<List<WorkTankVO>> listForSelect(@Parameter(hidden = true) @RequestParam Map<String, Object> workTank) {
QueryWrapper<WorkTank> qw = Condition.getQueryWrapper(workTank, WorkTank.class); QueryWrapper<WorkTank> qw = Condition.getQueryWrapper(workTank, WorkTank.class);
List<WorkTank> list = service.list(qw); List<WorkTank> list = service.list(qw);

@ -4,15 +4,14 @@
package org.springblade.desk.basic.excel; package org.springblade.desk.basic.excel;
import lombok.Data;
import java.io.Serializable;
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;
/** /**

@ -3,13 +3,14 @@
*/ */
package org.springblade.desk.basic.mapper; package org.springblade.desk.basic.mapper;
import org.springblade.desk.basic.pojo.entity.Oem;
import org.springblade.desk.basic.pojo.vo.OemVO;
import org.springblade.desk.basic.excel.OemExcel;
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.basic.excel.OemExcel;
import org.springblade.desk.basic.pojo.entity.Oem;
import org.springblade.desk.basic.pojo.vo.OemVO;
import java.util.List; import java.util.List;
/** /**

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

@ -3,11 +3,12 @@
*/ */
package org.springblade.desk.basic.pojo.entity; package org.springblade.desk.basic.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 org.springblade.core.mp.base.BaseEntity; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial; import java.io.Serial;
/** /**

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

@ -4,11 +4,12 @@
package org.springblade.desk.basic.service; package org.springblade.desk.basic.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import org.springblade.desk.basic.pojo.entity.Oem;
import org.springblade.desk.basic.pojo.vo.OemVO;
import org.springblade.desk.basic.excel.OemExcel;
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.basic.excel.OemExcel;
import org.springblade.desk.basic.pojo.entity.Oem;
import org.springblade.desk.basic.pojo.vo.OemVO;
import java.util.List; import java.util.List;
/** /**

@ -3,22 +3,23 @@
*/ */
package org.springblade.desk.basic.service.impl; package org.springblade.desk.basic.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.basic.pojo.entity.Oem; import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.basic.pojo.vo.OemVO;
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.vo.OemVO;
import org.springblade.desk.basic.service.IOemService; import org.springblade.desk.basic.service.IOemService;
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.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;
import java.util.Objects; import java.util.Objects;
/** /**

@ -1,6 +1,6 @@
package org.springblade.desk.quality.constant; package org.springblade.desk.quality.constant;
public class InspectionTemplateConst { public interface InspectionTemplateConst {
String DICT_CATEGORY = ""; String DICT_CATEGORY = "";

@ -42,7 +42,7 @@ import java.util.stream.Collectors;
/** /**
* [工艺文件] 控制器 * [工艺文件] 控制器
* mes v1: * mes v1: ds_audit_file
* *
* @author Tom Shuo * @author Tom Shuo
* @since 2025-12-22 * @since 2025-12-22
@ -81,12 +81,18 @@ public class AuditFileController extends BladeController {
@Operation(summary = "list分页", description = "传入AuditFile Obj") @Operation(summary = "list分页", description = "传入AuditFile Obj")
public R<IPage<AuditFileVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> map, public R<IPage<AuditFileVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> map,
Query query) { Query query) {
QueryWrapper<AuditFile> qw = Condition.getQueryWrapper(map, AuditFile.class); // QueryWrapper<AuditFile> qw = Condition.getQueryWrapper(map, AuditFile.class);
AuditFileSearch search = new AuditFileSearch(); AuditFileSearch search = new AuditFileSearch();
// todo: Func 用法 // todo: Func 用法
search.setPpsId(Func.toLong(map.get(AuditFile.COL_PPS_ID))); if (map.containsKey(AuditFile.COL_PPS_ID)) {
search.setPqId(Func.toLong(map.get(AuditFile.COL_PQ_ID))); search.setPpsId(Func.toLong(map.get(AuditFile.COL_PPS_ID)));
search.setKeepUserRealName(Func.toStr(map.get(BaseRequest.KEEP_USER_REAL_NAME))); }
if (map.containsKey(AuditFile.COL_PQ_ID)) {
search.setPqId(Func.toLong(map.get(AuditFile.COL_PQ_ID)));
}
if (map.containsKey(BaseRequest.KEEP_USER_REAL_NAME)) {
search.setKeepUserRealName(Func.toStr(map.get(BaseRequest.KEEP_USER_REAL_NAME)));
}
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()

@ -41,6 +41,7 @@ import java.util.stream.Collectors;
/** /**
* [过程记录模板] 控制器 * [过程记录模板] 控制器
* mes v1: ds_rb_file_preserve
* *
* @author Tom Shuo * @author Tom Shuo
* @since 2025-12-22 * @since 2025-12-22
@ -122,9 +123,9 @@ public class ProReTemplateController extends BladeController {
@ApiOperationSupport(order = 30) @ApiOperationSupport(order = 30)
@Operation(summary = "新增一条", description = "传入ProReTemplate Obj") @Operation(summary = "新增一条", description = "传入ProReTemplate Obj")
public R save(@Valid @RequestBody ProReTemplate addOne) { public R save(@Valid @RequestBody ProReTemplate addOne) {
addOne.setId(null);
addOne.setStatus(ProReTemplateConst.STATUS_NEW); addOne.setStatus(ProReTemplateConst.STATUS_NEW);
addOne.setApprovalStatus(1); addOne.setApprovalStatus(ProReTemplateConst.APPROVAL_STATUS_1);
addOne.setId(null);
return R.status(service.save(addOne)); return R.status(service.save(addOne));
} }
@ -136,6 +137,8 @@ public class ProReTemplateController extends BladeController {
@Operation(summary = "新增批量", description = "传入ProReTemplate List") @Operation(summary = "新增批量", description = "传入ProReTemplate List")
public R saveBat(@Valid @RequestBody List<ProReTemplate> addList) { public R saveBat(@Valid @RequestBody List<ProReTemplate> addList) {
addList.forEach(one -> { addList.forEach(one -> {
one.setStatus(ProReTemplateConst.STATUS_NEW);
one.setApprovalStatus(ProReTemplateConst.APPROVAL_STATUS_1);
one.setId(null); one.setId(null);
}); });
return R.status(service.saveBatch(addList)); return R.status(service.saveBatch(addList));

@ -29,16 +29,16 @@
</select> </select>
<select id="listSearch" resultMap="auditFileResultMap"> <select id="listSearch" resultMap="auditFileResultMap">
SELECT DISTINCT t.* SELECT DISTINCT f.*
FROM QA_AUDIT_FILE f FROM QA_AUDIT_FILE f
LEFT JOIN BLADE_USER u LEFT JOIN BLADE_USER u
ON (f.CREATE_USER = u.ID OR f.UPDATE_USER = u.ID) ON (f.CREATE_USER = u.ID OR f.UPDATE_USER = u.ID)
WHERE (t.IS_DELETED = 0 AND u.IS_DELETED = 0) WHERE (f.IS_DELETED = 0 AND u.IS_DELETED = 0)
<if test="q.ppsId != null"> <if test="q.ppsId != null">
AND t.PPS_ID = #{q.ppsId} AND f.PPS_ID = #{q.ppsId}
</if> </if>
<if test="q.pqId != null"> <if test="q.pqId != null">
AND t.PQ_ID = #{q.pqId} AND f.PQ_ID = #{q.pqId}
</if> </if>
<if test="q.keepUserRealName != null and q.keepUserRealName != ''"> <if test="q.keepUserRealName != null and q.keepUserRealName != ''">
AND u.REAL_NAME LIKE '%' || #{q.keepUserRealName} || '%' AND u.REAL_NAME LIKE '%' || #{q.keepUserRealName} || '%'

@ -125,8 +125,9 @@ public class ProReTemplateServiceImpl extends EnBaseServiceImpl<ProReTemplateMap
ProReTemplate find = getById(id); ProReTemplate find = getById(id);
ProReTemplate copy = new ProReTemplate(); ProReTemplate copy = new ProReTemplate();
BeanUtil.copyProperties(find, copy, true); BeanUtil.copyProperties(find, copy, true);
copy.setId(null);
copy.setStatus(ProReTemplateConst.STATUS_NEW); copy.setStatus(ProReTemplateConst.STATUS_NEW);
copy.setApprovalStatus(ProReTemplateConst.APPROVAL_STATUS_1);
copy.setId(null);
return R.status(save(copy)); return R.status(save(copy));
} }

Loading…
Cancel
Save